В этом мануале мы научимся делать собственно Gate Kepeer'a (ГК), а начнем мы с того, что откроем scripts -> AI.obj Там ищем класс teleporter_multi_list. Код: class 1 clavier : teleporter_multi_list property_define_begin telposlist_begin Position1 {"Aden"; 146705; 25840; -2000; 1500; 5 } {"Coliseum"; 146440; 46723; -3400; 1500; 0 } {"Dark Elven Village"; 9716; 15502; -4500; 1500; 0 } {"Dion"; 15744; 142928; -2704; 1500; 2 } {"Dwarven Village"; 115120; -178112; -916; 1500; 0 } {"Elven Village"; 46890; 51531; -2976; 1500; 0 } {"Floran Village"; 17953; 170234; -3504; 1500; 2 } {"Giran"; 83458; 148012; -3400; 1500; 3 } {"Giran Harbor"; 47935; 186810; -3420; 1500; 0 } {"Gludin"; -80826; 149775; -3043; 1500; 0 } {"Gludio"; -12694; 122776; -3114; 1500; 1 } {"Goddard"; 148024; -55281; -2728; 1500; 7 } {"Hardins Academy"; 105846; 109762; -3170; 1500; 3 } {"Heine"; 111333; 219345; -3546; 1500; 6 } {"Hunter Village"; 117156; 76878; -2670; 1500; 0 } {"Ivory Tower"; 85343; 16267; -3640; 1500; 4 } {"Orc Village"; -45186; -112459; -236; 1500; 0 } {"Oren"; 82956; 53162; -1470; 1500; 4 } {"Rune Town"; 43835; -47749; -792; 1500; 0 } {"Talking Island"; -84141; 244623; -3729; 1500; 0 } telposlist_end telposlist_begin Position2 {"Elven Fortress (10-25)"; 29280; 74942; -3776; 1500; 0 } {"Elven Ruins (10-20)"; -112802; 234963; -3688; 1500; 0 } {"Ruins of Despair (20-25)"; -20152; 137254; -3896; 1500; 0 } {"Wastelands (25-35)"; -16510; 209226; -3664; 1500; 0 } {"Execution Grounds (30-40)"; 44691; 148454; -3696; 1500; 0 } {"Cruma Tower (40-52)"; 16580; 114178; -3480; 1500; 0 } {"Death Pass (35-52)"; 71521; 118056; -3672; 1500; 0 } {"Dragon Valley (55-62)"; 122589; 111117; -3760; 1500; 0 } {"Dragon Valley Caves (60-78)"; 130816; 114429; -3720; 1500; 0 } {"Enchanted Valley (45-55)"; 124798; 61741; -3992; 1500; 0 } {"Cemetery (45-58)"; 166612; 20315; -3328; 1500; 0 } {"Forbidden GateWay (58-67)"; 185326; 20299; -3272; 1500; 0 } {"The Front of Anghel Waterfall (50-60)"; 163341; 91374; -3320; 1500; 0 } {"Giants Cave (55-67)"; 174465; 52672; -4368; 1500; 0 } {"Forsaken Plains (55-65)"; 167285; 37109; -4008; 1500; 0 } {"Toi Enterance (58-78)"; 114645; 21491; -5128; 1500; 0 } {"Blazing Swamp (65-77)"; 159546; -13085; -2872; 1500; 0 } {"Rune Town Hunting Grounds (58-74)"; 59106; -67593; -3384; 1500; 0 } {"Hot Springs (70-78)"; 153889; -101027; -2936; 1500; 0 } {"Ketra Orc Outpost (76-87)"; 146600; -68003; -3688; 1500; 0 } {"Imperial Tomb (76-82+)"; 186896; -75557; -2832; 1500; 0 } {"Forge Of God (78-82+)"; 169453; -116244; -2360; 1500; 0 } {"Varka Silenos Outpost (76-87)"; 125809; -40781; -3744; 1500; 0 } {"Patriots Necropolis"; -25472; 77728; -3446; 15500; 0 } {"Ascetics Necropolis"; -56064; 78720; -3011; 18600; 0 } {"Saints Necropolis"; 79296; 209584; -3709; 9800; 0 } {"Catacomb of Dark Omens"; -22480; 13872; -3174; 20400; 0 } telposlist_end telposlist_begin PositionNoblessNeedItemTown {"Talking Island Village"; -84141; 244623; -3729; 1; 0 } {"The Elven Village"; 46951; 51550; -2976; 1; 0 } {"The Dark Elven Village"; 9709; 15566; -4500; 1; 0 } {"Orc Village"; -45158; -112583; -236; 1; 0 } {"Dwarven Village"; 115120; -178224; -917; 1; 0 } {"The Village of Gludin"; -80826; 149775; -3043; 1; 0 } {"The Town of Gludio"; -12694; 122776; -3114; 1; 0 } {"The Town of Dion"; 15671; 142994; -2704; 1; 0 } {"Heine"; 111455; 219400; -3546; 1; 0 } {"Town of Oren"; 83011; 53207; -1470; 1; 0 } {"Hunters Village"; 117088; 76931; -2670; 1; 0 } {"Town of Aden"; 146783; 25808; -2000; 1; 0 } {"Rune Castle Town"; 43826; -47688; -792; 1; 0 } {"Goddard Castle Town"; 147978; -55408; -2728; 1; 0 } {"Hardin's Academy"; 105918; 109759; -3170; 1; 0 } {"Giran Harbor"; 47935; 186810; -3420; 1; 0 } {"Arena (Gludin Harbor)"; -87328; 142266; -3640; 1; 0 } {"Arena (Giran Castle Town)"; 73579; 142709; -3768; 1; 0 } {"Coliseum"; 146440; 46723; -3400; 1; 0 } telposlist_end telposlist_begin PositionNoblessNeedItemField {"Dragon Valley"; 122824; 110836; -3727; 1; 0 } {"Dragon Valley Death Pass"; 73024; 118485; -3720; 1; 0 } {"Brekas Stronghold"; 85389; 131366; -3707; 1; 0 } {"Gorgons Flower Garden"; 113553; 134813; -3668; 1; 0 } {"Tanor Canyon"; 69373; 155208; -3746; 1; 0 } {"Devils Isle Entrance"; 43408; 206881; -3752; 1; 0 } {"Lairs of Antharas Entrance"; 131131; 114597; -3720; 1; 0 } {"Lairs of Antharas 1"; 147071; 120156; -4520; 1; 0 } {"Lairs of Antharas 2"; 151689; 112615; -5520; 1; 0 } {"Lairs of Antharas Bridge"; 146425; 109898; -3424; 1; 0 } {"Lairs of Antharas Heart"; 154396; 121235; -3808; 1; 0 } telposlist_end telposlist_begin PositionNoblessNeedItemSSQ {"Necropolis Of Sacrifice"; -41184; 206752; -3357; 1; 0 } {"Heretics Catacomb"; 39232; 143568; -3651; 1; 0 } {"Pilgrims Necropolis"; 45600; 126944; -3686; 1; 0 } {"Catacomb Of The Branded"; 43200; 170688; -3251; 1; 0 } {"Worshipers Necropolis"; 107514; 174329; -3704; 1; 0 } {"Catacomb Of The Apostate"; 74672; 78032; -3398; 1; 0 } {"Patriots Necropolis"; -25472; 77728; -3446; 1; 0 } {"Catacomb Of The Witch"; 136672; 79328; -3702; 1; 0 } {"Ascetics Necropolis"; -56064; 78720; -3011; 1; 0 } {"Martyr's Necropolis"; 114496; 132416; -3101; 1; 0 } {"Disciples Necropolis"; 168560; -17968; -3174; 1; 0 } {"Saints Necropolis"; 79296; 209584; -3709; 1; 0 } {"Catacomb of Dark Omens"; -22480; 13872; -3174; 1; 0 } {"Catacomb of the Forbidden Path"; 110912; 84912; -4816; 1; 0 } telposlist_end telposlist_begin PositionNoblessNoItemTown {"Talking Island Village"; -84141; 244623; -3729; 1000; 0 } {"The Elven Village"; 46951; 51550; -2976; 1000; 0 } {"The Dark Elven Village"; 9709; 15566; -4500; 1000; 0 } {"Orc Village"; -45158; -112583; -236; 1000; 0 } {"Dwarven Village"; 115120; -178224; -917; 1000; 0 } {"The Village of Gludin"; -80826; 149775; -3043; 1000; 0 } {"The Town of Gludio"; -12694; 122776; -3114; 1000; 0 } {"The Town of Dion"; 15671; 142994; -2704; 1000; 0 } {"Heine"; 111455; 219400; -3546; 1000; 0 } {"Town of Oren"; 83011; 53207; -1470; 1000; 0 } {"Hunters Village"; 117088; 76931; -2670; 1000; 0 } {"Town of Aden"; 146783; 25808; -2000; 1000; 0 } {"Rune Castle Town"; 43826; -47688; -792; 1000; 0 } {"Goddard Castle Town"; 147978; -55408; -2728; 1000; 0 } {"Hardin's Academy"; 105918; 109759; -3170; 1000; 0 } {"Giran Harbor"; 47935; 186810; -3420; 1000; 0 } {"Arena (Gludin Harbor)"; -87328; 142266; -3640; 1000; 0 } {"Arena (Giran Castle Town)"; 73579; 142709; -3768; 1000; 0 } {"Coliseum"; 146440; 46723; -3400; 1000; 0 } telposlist_end telposlist_begin PositionNoblessNoItemField {"Dragon Valley"; 122824; 110836; -3727; 1000; 0 } {"Dragon Valley Death Pass"; 73024; 118485; -3720; 1000; 0 } {"Brekas Stronghold"; 85389; 131366; -3707; 1000; 0 } {"Gorgons Flower Garden"; 113553; 134813; -3668; 1000; 0 } {"Tanor Canyon"; 69373; 155208; -3746; 1000; 0 } {"Devils Isle Entrance"; 43408; 206881; -3752; 1000; 0 } {"Lairs of Antharas Entrance"; 131131; 114597; -3720; 1000; 0 } {"Lairs of Antharas 1"; 147071; 120156; -4520; 1000; 0 } {"Lairs of Antharas 2"; 151689; 112615; -5520; 1000; 0 } {"Lairs of Antharas Bridge"; 146425; 109898; -3424; 1000; 0 } {"Lairs of Antharas Heart"; 154396; 121235; -3808; 1000; 0 } telposlist_end telposlist_begin PositionNoblessNoItemSSQ {"Necropolis Of Sacrifice"; -41184; 206752; -3357; 1000; 0 } {"Heretics Catacomb"; 39232; 143568; -3651; 1000; 0 } {"Pilgrims Necropolis"; 45600; 126944; -3686; 1000; 0 } {"Catacomb Of The Branded"; 43200; 170688; -3251; 1000; 0 } {"Worshipers Necropolis"; 107514; 174329; -3704; 1000; 0 } {"Catacomb Of The Apostate"; 74672; 78032; -3398; 1000; 0 } {"Patriots Necropolis"; -25472; 77728; -3446; 1000; 0 } {"Catacomb Of The Witch"; 136672; 79328; -3702; 1000; 0 } {"Ascetics Necropolis"; -56064; 78720; -3011; 1000; 0 } {"Martyr's Necropolis"; 114496; 132416; -3101; 1000; 0 } {"Disciples Necropolis"; 168560; -17968; -3174; 1000; 0 } {"Saints Necropolis"; 79296; 209584; -3709; 1000; 0 } {"Catacomb of Dark Omens"; -22480; 13872; -3174; 1000; 0 } {"Catacomb of the Forbidden Path"; 110912; 84912; -4816; 1000; 0 } telposlist_end property_define_end class_end Где Код: {"Catacomb of Dark Omens"; -22480; 13872; -3174; 1000; 0 } {"Имя локации"; x; y; z; Стоимость; 0 (налог)} Html Gate Kepeer'a: Код: <html> <head> <body> Gatekeeper Clarissa: <br> We Gatekeepers use the will of the Gods to open the doors to time and space and teleport others. Which door would you like to open? <br><a action="bypass -h menu_select?ask=-8&reply=1"> Teleport </a> <br><a action="bypass -h menu_select?ask=-8&reply=2"> Hunting Grounds </a> <br><a action="bypass -h menu_select?ask=-303&reply=518"> Exchange with the Dimension Diamond</a> <br><a action="bypass -h menu_select?ask=-19&reply=0"> [Noblesse Only] teleport</a> <br><a action="bypass -h menu_select?ask=255&reply=4" msg="811;Monster Derby Track"> Move to Monster Derby Track (Free of Charge)</a> <br><a action="bypass -h talk_select">Quest </a> </body> </html> Где reply=1 - это лист локаций в АИ, которые покажет вам ГК. В данном случае это telposlist_begin Position1, то есть: Код: {"Aden"; 146705; 25840; -2000; 1500; 5 } {"Coliseum"; 146440; 46723; -3400; 1500; 0 } {"Dark Elven Village"; 9716; 15502; -4500; 1500; 0 } {"Dion"; 15744; 142928; -2704; 1500; 2 } {"Dwarven Village"; 115120; -178112; -916; 1500; 0 } {"Elven Village"; 46890; 51531; -2976; 1500; 0 } {"Floran Village"; 17953; 170234; -3504; 1500; 2 } {"Giran"; 83458; 148012; -3400; 1500; 3 } {"Giran Harbor"; 47935; 186810; -3420; 1500; 0 } {"Gludin"; -80826; 149775; -3043; 1500; 0 } {"Gludio"; -12694; 122776; -3114; 1500; 1 } {"Goddard"; 148024; -55281; -2728; 1500; 7 } {"Hardins Academy"; 105846; 109762; -3170; 1500; 3 } {"Heine"; 111333; 219345; -3546; 1500; 6 } {"Hunter Village"; 117156; 76878; -2670; 1500; 0 } {"Ivory Tower"; 85343; 16267; -3640; 1500; 4 } {"Orc Village"; -45186; -112459; -236; 1500; 0 } {"Oren"; 82956; 53162; -1470; 1500; 4 } {"Rune Town"; 43835; -47749; -792; 1500; 0 } {"Talking Island"; -84141; 244623; -3729; 1500; 0 } То есть, в любой лист можете добавить нужные локации. Не слишком обременяя себя мыслительной деятельностью, но обладая усидчивостью и трудолюбием, вы можете сделать глобал ГК всего за несколько часов. Делаем GMshop: Открываем multisell.txt (папка scripts), там видим следующее: Код: MultiSell_begin [blackmerchant_weapon] 1is_dutyfree = 1 selllist={ {{{[flamberge];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[stormbringer];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[sword_of_delusion];1}};{{[crystal_c];1075};{[crystal_d];5375}}}; {{{[war_pick];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[war_axe];1}};{{[crystal_c];1075};{[crystal_d];5375}}}; {{{[crystal_staff];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[sage's_staff];1}};{{[crystal_c];1075};{[crystal_d];5375}}}; {{{[cursed_dagger];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[dark_screamer];1}};{{[crystal_c];1075};{[crystal_d];5375}}}; {{{[chakram];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[fist_blade];1}};{{[crystal_c];1075};{[crystal_d];5375}}}; {{{[crystallized_ice_bow];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[akat_long_bow];1}};{{[crystal_c];1075};{[crystal_d];5375}}}; {{{[orcish_glaive];1}};{{[crystal_c];573};{[crystal_d];2865}}}; {{{[poleaxe];1}};{{[crystal_c];1075};{[crystal_d];5375}}} } MultiSell_end По такому же принципу сделаем наш GMshop. Только вместо кристалов у нас будет адена. Открываем самый конец мультиселла, Пропускаем 2 строчки, и пишем следующее: Код: MultiSell_begin [Пишем тут любое не использованное название] 575 (любое чило, главное, что бы второго такого не было в мультиселле)is_dutyfree = 1 is_show_all = 1 selllist={ {{{[ring_of_aurakyria];1}};{{[coin_of_luck];5325000}}}; {{{[ring_of_baium];1}};{{[coin_of_luck];6450000}}}; {{{[sanddragon's_earing];1}};{{[coin_of_luck];5950000}}}; {{{[earring_of_antaras];1}};{{[coin_of_luck];8200000}}}; {{{[earring_of_zaken];1}};{{[coin_of_luck];7520000}}}; {{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}}; {{{[necklace_of_valakas];1}};{{[coin_of_luck];12600000}}} } MultiSell_end Где вместо ring_of_aurakyria любой предмет, прописанный в itemdata.txt, после названия итема идет количество,затем мы видим coin_of_luck. Вместо коинов могут быть опять же любые предметы из itemdata.txt, adena, например. Потом идет количество вещей, на которые обменивается наш итем. Хочу предостеречь от распространенной ошибки: после самой последней строчки не должно быть ;. То есть, все строчки у нас выглядят вот так: Код: {{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}};Последняя должна быть такой: {{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}} Наш мультиселл готов. Теперь остается только привязать НПС к этому мультиселлу. Для этого подходим к желаемому нпс в игре на правах гма и разговариваем с ним. В чате пашишут имя его хтмлки. Например, galladuchi0001. Лезем в папку хтмл, ищем искомую хтмл-ку, открываем ее блокнотом. Там видим следующую срочку: Код: <a action="bypass -h menu_select?ask=-303&reply=1">Buy weapon</a> Где 1 - это номер мультиселла, который мы указали рядом с именем мультиселла. Вот и все, при должном рвении хороший гм шоп (или любой другой обменник) самому. Или скачать готовый, и поправить в нем цены. Делаем баффера: Открываем свой 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, туда вставляем: Код: 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: Код: [buffer_npc] = 1014003 Далее хтмл: Код: <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> Вам остается написать только хтмлки для функций и добавить NPC в клиент. Код: string fnYouAreChaotic "buffer_npc002.htm" string fnNotEnoughAdena "buffer_npc003.htm"