[MANUAL] Как установить Buffer'a на PTS сервер?

Тема в разделе "Установка и настройка (Setup and configuration)", создана пользователем root, 24 авг 2014.

  1. root

    root Administrator Команда форума Administrator Moderator Developers Team

    Регистрация:
    23 авг 2014
    Сообщения:
    253
    Симпатии:
    56
    Баллы:
    11
    В этом мануале научимся ставить баффера на свой сервер ПТС:
    Сначала открываем AI.obj и добавляем в самый них, следующий код:
    Код:
    class 1 buffer_npc : default_npcparameter_define_begin
    string fnHi "buffer_npc001.htm"
    string fnYouAreChaotic "buffer_npc002.htm"
    string fnNotEnoughAdena "buffer_npc003.htm"
    string fnWait "buffer_npc004.htm"
    int ItemBuff 57
    int Amount 1000
    int Delay 500
    parameter_define_end
    
    
    handler 13 11 // CREATED
    variable_begin
    "myself"
    "_choiceN"
    "_code"
    "_from_choice"
    variable_end
    
    
    push_event // myself
    push_const 704
    add
    fetch_i // i_ai0
    push_const 308
    add
    push_reg_sp
    fetch_i
    push_const 0
    assign4
    shift_sp -1
    handler_end
    
    
    handler 3 38 // TALKED
    variable_begin
    "talker"
    "myself"
    "_choiceN"
    "_code"
    "_from_choice"
    variable_end
    
    
    push_event // talker
    push_const 40
    add
    fetch_i // karma
    push_const 468
    add
    fetch_i4
    push_const 0
    greater
    branch_false L2
    L1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter fnYouAreChaotic
    func_call 184680516 // func[ShowPage]
    shift_sp -2
    shift_sp -1
    jump L3
    L2
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter fnHi
    func_call 184680516 // func[ShowPage]
    shift_sp -2
    shift_sp -1
    L3
    handler_end
    
    
    handler 32 134 // MENU_SELECTED
    variable_begin
    "talker"
    "ask"
    "reply"
    "myself"
    "_choiceN"
    "_code"
    "_from_choice"
    variable_end
    
    
    push_event // ask
    push_const 160
    add
    fetch_i4
    push_const 201
    negate
    equal
    push_reg_sp
    fetch_i
    branch_false L4
    shift_sp 1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter ItemBuff
    func_call 184680579 // func[OwnItemCount]
    shift_sp -2
    push_parameter Amount
    greater_equal
    and
    L4
    branch_false L5
    L6
    push_event // myself
    push_const 704
    add
    fetch_i // i_ai0
    push_const 308
    add
    fetch_i4
    push_const 0
    equal
    branch_false L8
    L7
    push_event // myself
    push_const 704
    add
    fetch_i // i_ai0
    push_const 308
    add
    push_reg_sp
    fetch_i
    push_const 1
    assign4
    shift_sp -1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter ItemBuff
    push_parameter Amount
    func_call 184746114 // func[DeleteItem1]
    shift_sp -3
    shift_sp -1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_event // reply
    push_const 164
    add
    fetch_i
    push_const 1
    push_const 1
    push_const 1000000
    func_call 184877074 // func[AddUseSkillDesire]
    shift_sp -5
    shift_sp -1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter fnHi
    func_call 184680516 // func[ShowPage]
    shift_sp -2
    shift_sp -1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_const 1
    push_parameter Delay
    func_call 184680487 // func[AddTimerEx]
    shift_sp -2
    shift_sp -1
    jump L9
    L8
    shift_sp 1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter fnWait
    func_call 184680516 // func[ShowPage]
    shift_sp -2
    shift_sp -1
    L9
    jump L10
    L5
    shift_sp 1
    push_event // myself
    push_const 704
    add
    fetch_i
    push_event // talker
    push_const 40
    add
    fetch_i
    push_parameter fnNotEnoughAdena
    func_call 184680516 // func[ShowPage]
    shift_sp -2
    shift_sp -1
    L10
    handler_end
    
    
    handler 12 20 // TIMER_FIRED_EX
    variable_begin
    "timer_id"
    "myself"
    "_choiceN"
    "_code"
    "_from_choice"
    variable_end
    
    
    push_event // timer_id
    push_const 236
    add
    fetch_i4
    push_const 1
    equal
    branch_false L12
    L11
    push_event // myself
    push_const 704
    add
    fetch_i // i_ai0
    push_const 308
    add
    push_reg_sp
    fetch_i
    push_const 0
    assign4
    shift_sp -1
    L12
    handler_end
    
    
    class_end
    Затем открываем npcdata.txt и добавляем в самый низ, следующий код:
    Код:
    npc_begin citizen 14003 [buffer_npc] level=70 acquire_exp_rate=0 acquire_sp=0 unsowing=1 clan={} ignore_clan_list={} clan_help_range=300 slot_chest=[] slot_rhand=[] slot_lhand=[] shield_defense_rate=0 shield_defense=0 skill_list={@s_race_undead;@s_npc_weakness_holy3;@ s_evil_attack;@s_npc_weakness_fire1} npc_ai={[buffer_npc];{[fnHi]=[buffer_npc001.htm]}} category={} race=human sex=female undying=1 can_be_attacked=0 corpse_time=1 no_sleep_mode=0 agro_range=0 ground_high={120;0;0} ground_low={50;0;0} exp=429634528 org_hp=2444.5 org_hp_regen=7.5 org_mp=10000 org_mp_regen=200 collision_radius={8;8} collision_height={24;24} str=60 int=90 dex=50 wit=90 con=60 men=40 base_attack_type=sword base_attack_range=40 base_damage_range={0;0;80;120} base_rand_dam=30 base_physical_attack=688.86373 base_critical=4 physical_hit_modify=4.75 base_attack_speed=253 base_reuse_delay=0 base_magic_attack=470.4 base_defend=295.91 base_magic_defend=216.53 physical_avoid_modify=0 soulshot_count=0 spiritshot_count=0 hit_time_factor=0.6 item_make_list={} corpse_make_list={} additional_make_list={} additional_make_multi_list={} hp_increase=0 mp_increase=0 safe_height=100 npc_end
    Далее открываем NPC_PCH.txt и добавляем:
    Код:
    [buffer_npc] = 1014003
    Далее создаем диалог HTML:
    Код:
    <html><body>Buffer NPC:<br>
    Por solo <font color="LEVEL">1000 adenas</font> te podemos dar auras! Elije aquellas que prefieras!<br>
    <table><tr><td width=80>
    <a action="bypass -h menu_select?ask=-201&reply=273411">[Might]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=266243">[Shield]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=275715">[Focus]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=308226">[Windwalk]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=317443">[Guidance]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=278275">[Agility]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=265218">[Magic Barrier]</a>
    </td><td width=100>
    <a action="bypass -h menu_select?ask=-201&reply=277763">[Acumen]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=271107">[Empower]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=268294">[Bless the Soul]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=271874">[Berserker Spirit]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=267009">[Holy Weapon]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=264964">[Mental Shield]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=275974">[Concrentrarion]</a>
    </td><td width=100>
    <a action="bypass -h menu_select?ask=-201&reply=267267">[Regeneration]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=316931">[Freezing Skin]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=267526">[Bless the Body]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=318214">[Bless the Shield]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=278018">[Haste]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=317955">[Death Wisper]</a><br>
    <a action="bypass -h menu_select?ask=-201&reply=274690">[Kiss Of Eva]</a>
    </td></tr></table>
    </body></html>
    В клиент добавляйте нпс уже сами!
     
  2. Lirik

    Lirik Member User

    Регистрация:
    2 сен 2015
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    6
    Пол:
    Мужской
    Род занятий:
    GM начинающий
    А мануал по добавлению в клиент был?
    Не получилось найти =(
     
  3. singleton

    singleton New Member User

    Регистрация:
    20 янв 2016
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Пол:
    Мужской
    Род занятий:
    Dev
    а есть где-то дока по ai.obj?
     
  4. monami

    monami Member User

    Регистрация:
    16 янв 2016
    Сообщения:
    113
    Симпатии:
    12
    Баллы:
    18
    Пол:
    Мужской
    Последнее редактирование модератором: 20 янв 2016
    singleton нравится это.
  5. root

    root Administrator Команда форума Administrator Moderator Developers Team

    Регистрация:
    23 авг 2014
    Сообщения:
    253
    Симпатии:
    56
    Баллы:
    11
    Или вот
     

    Вложения:

    singleton нравится это.
  6. Kenya

    Kenya Member User

    Регистрация:
    20 янв 2016
    Сообщения:
    42
    Симпатии:
    1
    Баллы:
    8
    Пол:
    Мужской
    а как сделать такого бафера бесплатно до 40-го уровня?
     
  7. Kenya

    Kenya Member User

    Регистрация:
    20 янв 2016
    Сообщения:
    42
    Симпатии:
    1
    Баллы:
    8
    Пол:
    Мужской
  8. monami

    monami Member User

    Регистрация:
    16 янв 2016
    Сообщения:
    113
    Симпатии:
    12
    Баллы:
    18
    Пол:
    Мужской
    а этот до какого лвл бафает?
     
  9. root

    root Administrator Команда форума Administrator Moderator Developers Team

    Регистрация:
    23 авг 2014
    Сообщения:
    253
    Симпатии:
    56
    Баллы:
    11
    для этого нужно декомпилировать и добавлять условие я поищу для вас готового
     
  10. Kenya

    Kenya Member User

    Регистрация:
    20 янв 2016
    Сообщения:
    42
    Симпатии:
    1
    Баллы:
    8
    Пол:
    Мужской
    Этот все лвлы бафает, по цене 1000 аден, а я хочу чтоб до 40 бесплатно было, а с 41 по 1000.
    Буду очень признателен!