• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

kick

Предвестник
Administrator
За веру и верность форуму
Отец-основатель
Сообщения
6 968
Розыгрыши
22
Решения
1
Репутация
6 045
Реакции
6 828
Баллы
2 688
В этом мануале мы научимся делать собственно 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:
<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"
 
туда куда ты ему скажешь,туда и обращается
и reply может просто совпадать числом с мультиселлом,но не обязательно
такое можно юзать для того,что бы открывать мультиселл через reply,а не цифру

C#:
if(ask == -303)
{
    if(reply == 696)
    {
        ShowMultisell(reply);
    }
}

можно упрощать до этого, если нет нужнды ветвить
C#:
if(ask == -303 && reply == 693)
{
    ShowMultisell(reply);
}
 
  • Мне нравится
Реакции: kick

    kick

    Баллов: 30
    30

честно говоря не понял... можно пожалуйста конкретнее...
в какой скрипт отправляется ask=-303 из html?
 
в АИ,который указан у нпц,с которым идёт взаимодействие
npc_ai{} в нпцдате
 
  • Мне нравится
Реакции: kick
не нашел в ai значение (-303) может его нужно декомпилировать сначала?

я запутался..) разъясните плиз)
как одинаковый идентификатор ответа reply=1 может направлять в разные мультиселы?

как понять в какой мультисел направлен данный html байпас:
<a action="bypass -h menu_select?ask=-4&reply=1">Купить предметы.</a><br>

искал в multisell значение -4, без результатов. 1, тоже не туда.)
в ai нет.
в npcdata глянул -4 ну нет ничего и там)

сори за трибл пост)
<a action="bypass -h menu_select?ask=-4&reply=1">Купить предметы.</a><br>
это даже посыл еще не в multisell а перенаправление в соседний html^:)
но в любом случае, как я должен был это понять?)
(возможно ли применять команды байпасов от Явы? там как-то более интуитивно(логически) понятно это реализовано)
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Посидите еще недельку и покопайтесь в этом - станет так же понятно как и в Java
 
это работает настолько примитивно,насколько возможно
в хтмлке указывается аск и репли,а в классе АИ этот хендлер,что их отлавливает
циферка,это просто идентификатор,что бы нпц мог отличить,какую ссылку вы нажали в хтмл и чё надо сделать
C#:
EventHandler MENU_SELECTED(talker, ask, reply )
    {
        if (ask == 1)
        {
            if (reply == 2)
            {
                //действие
            }
        }
        super;
    }

по тем же примерам и бафферы работают и телепортеры и кто угодно,где нужно нажать строчку в хтмл,что бы чтото произошло
 
  • Мне нравится
Реакции: kick
в чем разница между ai BuySellList и multisell?)
 
в чем разница между ai BuySellList и multisell?)
BuySellList в АИ - это формат продажи вещей в городах, где цена покупки\продажи предопределена параметром default_price в itemdata, и продажа работает только в адене. Multisell - в любой валюте, по любой цене(люксор\маммон\все гмшопы)
 
предопределена параметром default_price
но может быть скорректирована,по средствам первого интового параметра:
{"advdeluxe_food_for_strider"; 10; 0.000000; 0};

где 10 - % от default_price,который будет к ней прибавлен
в итоге при дефолт_цене 10.000, товар в определённом магазине начнёт стоит 11.000
 
Xeonc, default_npc спасибо за ответы.)
полный треш) оочень паутинная структура) никогда бы не подумал что это только для Адена) что оно еще лезет в itemdata default_price, что 00000 это проценты)...
не понятно какие предметы нужно прописывать в ai, какие в multisell...
попробовал удалить buysellist из ai и с npc теперь даже не поговорить, к html нет доступа.)
 
еще некоторые очень странные явления в ai buysellList:
{{"adena";0} - что это значит?) покупка адены в Адене?))))

так же встречаются случаи когда предмет банально дублируется в ai buysellList, это вообще нормально? или кто-то из создателей заэ@лся и упоролся пока эти таблицы прописывал?...)
 
вот пример:
 
Xeonc, default_npc спасибо за ответы.)
полный треш) оочень паутинная структура) никогда бы не подумал что это только для Адена) что оно еще лезет в itemdata default_price, что 00000 это проценты)...
не понятно какие предметы нужно прописывать в ai, какие в multisell...
попробовал удалить buysellist из ai и с npc теперь даже не поговорить, к html нет доступа.)
а что непонятного? Если вам нужно какие-то предметы донести существующим трейдерам - модифицируете бай-селл лист, если нужно сделать шоп с нуля - мультиселл, т.к. там все проще
 
Xeonc, default_npc спасибо за ответы.)
полный треш) оочень паутинная структура) никогда бы не подумал что это только для Адена) что оно еще лезет в itemdata default_price, что 00000 это проценты)...
не понятно какие предметы нужно прописывать в ai, какие в multisell...
попробовал удалить buysellist из ai и с npc теперь даже не поговорить, к html нет доступа.)
ну это для нас (вас) путано

а когда ты сам для себя пишешь методы (в случаях с корейцами) и знаешь,куда какой параметр ведёт и что делает- для тебя всё ясно как день
видимо таким образом им было удобно
 
  • Мне нравится
Реакции: kick
Привет. А можно как то заставить NPC баффера сделаного по этому гайду стоять на месте?
Если я прокликлаю и начну убегать, он начинает за мной по городу бегать пока бафф не выдаст (c4 pts)
 
Назад
Сверху Снизу