Jump to content

Recommended Posts

Posted (edited)

Since i see many people request some npcs etc and noone gives the required info or help,i would like to make this guide for them so they can develop and improve their skills on creating these by themselves.It's a very usefull guide for people to learn how to make them.

In this guide/tutorial we will learn how to do the Teleporter(gk),Gmshop,Buffer and you can start with opening the scripts.I wish my guide to be understandable to you and wish you the best results following it

 
Teleporter/Gatekeeper:
                     AI.obj, You must look for class 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

Where

{"Catacomb of Dark Omens"; -22480; 13872; -3174; 1000; 0 }

{"name positioning"; X; Y; Z; value; 0 (Tax)}

Html Gatekeeper:

<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>

Where the reply=1 - this sheet mod contains in AI, which will show you the HK. In this case telposlist_begin Position1, that is:

{"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 }

That's it,in any field you can add the desired location,with patience and time you can make a completegk in just a few hours.

 

Gm-Shop:

Open multisell.txt (folder scripts), see the following:

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

Open the end of multisell, skip 2 lines and write the following:

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

Where instead of the ring_of_aurakyria any object, the full prescribed in the itemdata.txt, after the name of the item is the number of,then we see the coin_of_luck. Instead of coin may again be the same any objects from the itemdata.txt, adena, for example. It is the number of things to which communicates our item. I would like to caution against the common error: after the last line should not be ;. That is, all lines we look like this:

{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}};Последняя должна быть такой:
{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}}
<a action="bypass -h menu_select?ask=-303&reply=1">Buy weapon</a>

Buffer:

             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

Further opening npcdata, there straight

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>

You will write only hml for functions and add the NPC in to the client.

string fnYouAreChaotic "buffer_npc002.htm"
string fnNotEnoughAdena "buffer_npc003.htm"

Be carefull,be patient and spend some time on it so you can alone develop and imrove your personal skills on the issue.Wish you the best possible results.Best Of Luck!

 

Do not forget to leave me your feedback.

Edited by Mr.Parker
  • Upvote 4
Posted

that's some sick stuff..for real.Thnx for tutorial.Stay focused and continue like this.. +1

Thank you,i really appreciate this.

 

good job

Thank you Administrator,i will try better and for more ;)

  • 5 months later...
Posted (edited)

for how long this buffer gives buffs ? 20 min ? 

how to change f.e. might 273411   for 1h?

In file SkillData.txt change parametr:

abnormal_time=3600

Edited by Pastorious
  • 7 months later...
Posted (edited)
On 2/19/2018 at 10:33 AM, cronos93 said:

hola, buenos dias yo quiero agregar cov gatito y pony y no me deja, uso el id del skillpch en la html y no lo tira!

 

 

If you translate in English, for sure you will get an answer!!

Edited by Pulentolento
  • 2 years later...
Posted
12 hours ago, QurczakSfarmy said:

Thx for great guide.

I've checked the script for NPC buffer with small modyfications and everything is fine but Songs and Dances' buffs doesn't work. Any idea how to change this?

maybe requires duals condition..

Posted (edited)
5 hours ago, guytis said:

maybe requires duals condition..

 

This wasn’t so simple. I’ve found the solution but … (I’ll get back to this)

 

I’ve changed skilldata.txt from

 

skill_begin	skill_name = [s_song_of_vitality_cost_30]	/* [송 오브 바이탈리티] */	skill_id = 304	level = 170	operate_type = A2	magic_level = 85	effect = {{p_max_hp;30;per}}	is_magic = 0	mp_consume2 = 22	cast_range = -1	effective_range = -1	skill_hit_time = 2.5	skill_cool_time = 0	skill_hit_cancel_time = 0.5	reuse_delay = 10	activate_rate = -1	lv_bonus_rate = 0	basic_property = none	abnormal_time = 120	abnormal_lv = 1	abnormal_type = song_of_vitality	attribute = attr_none	effect_point = 655	target_type = self	affect_scope = party	affect_range = 1000	affect_object = friend	affect_limit = {0;0}	next_action = none	debuff = 0	ride_state = {@ride_none}	skill_end

 

to

 

skill_begin	skill_name = [s_song_of_vitality_cost_30]	/* [송 오브 바이탈리티] */	skill_id = 304	level = 170	operate_type = A2	magic_level = 85	effect = {{p_max_hp;30;per}}	is_magic = 0	mp_consume2 = 22	cast_range = 400	effective_range = 900	skill_hit_time = 2.5	skill_cool_time = 0	skill_hit_cancel_time = 0.5	reuse_delay = 10	activate_rate = -1	lv_bonus_rate = 0	basic_property = none	abnormal_time = 10800	abnormal_lv = 1	abnormal_type = song_of_vitality	attribute = attr_none	effect_point = 655	target_type = target	affect_scope = single	affect_limit = {0;0}	next_action = none	debuff = 0	ride_state = {@ride_none}	skill_end

 

 

Cast range, effective range, target type, affect scope were changed but it didn’t work until I had modified the line in skill_pch2.txt from

 

77994 -1 0 22 0 655 34 71 1 3 8 0 -12345

 

to

 

77994 400 0 0 1 0 34 15 4 0 0 1 -12345

 

But … I still don’t know what the numbers mean. The first is an id number of skill, secound is a cast range? And the next one is … I’ve no idea I copied this from a different buff 😄 It works but I think something is wrong here.

 

 

 

 

 

Edited by QurczakSfarmy
Posted
1 hour ago, QurczakSfarmy said:

 

This wasn’t so simple. I’ve found the solution but … (I’ll get back to this)

 

I’ve changed skilldata.txt from

 


skill_begin	skill_name = [s_song_of_vitality_cost_30]	/* [송 오브 바이탈리티] */	skill_id = 304	level = 170	operate_type = A2	magic_level = 85	effect = {{p_max_hp;30;per}}	is_magic = 0	mp_consume2 = 22	cast_range = -1	effective_range = -1	skill_hit_time = 2.5	skill_cool_time = 0	skill_hit_cancel_time = 0.5	reuse_delay = 10	activate_rate = -1	lv_bonus_rate = 0	basic_property = none	abnormal_time = 120	abnormal_lv = 1	abnormal_type = song_of_vitality	attribute = attr_none	effect_point = 655	target_type = self	affect_scope = party	affect_range = 1000	affect_object = friend	affect_limit = {0;0}	next_action = none	debuff = 0	ride_state = {@ride_none}	skill_end

 

to

 


skill_begin	skill_name = [s_song_of_vitality_cost_30]	/* [송 오브 바이탈리티] */	skill_id = 304	level = 170	operate_type = A2	magic_level = 85	effect = {{p_max_hp;30;per}}	is_magic = 0	mp_consume2 = 22	cast_range = 400	effective_range = 900	skill_hit_time = 2.5	skill_cool_time = 0	skill_hit_cancel_time = 0.5	reuse_delay = 10	activate_rate = -1	lv_bonus_rate = 0	basic_property = none	abnormal_time = 10800	abnormal_lv = 1	abnormal_type = song_of_vitality	attribute = attr_none	effect_point = 655	target_type = target	affect_scope = single	affect_limit = {0;0}	next_action = none	debuff = 0	ride_state = {@ride_none}	skill_end

 

 

Cast range, effective range, target type, affect scope were changed but it didn’t work until I had modified the line in skill_pch2.txt from

 


77994 -1 0 22 0 655 34 71 1 3 8 0 -12345

 

to

 


77994 400 0 0 1 0 34 15 4 0 0 1 -12345

 

But … I still don’t know what the numbers mean. The first is an id number of skill, secound is a cast range? And the next one is … I’ve no idea I copied this from a different buff 😄 It works but I think something is wrong here.

 

 

 

 

 

 

Did you use the PCH generator? As long as you modify some of these parameters, you must generate the pch file again

https://www.mediafire.com/file/fwmxuwf3o31fog0/PchMaker.rar/file
 

 

  • Thanks 1
Posted
1 hour ago, guytis said:

 

Did you use the PCH generator? As long as you modify some of these parameters, you must generate the pch file again

https://www.mediafire.com/file/fwmxuwf3o31fog0/PchMaker.rar/file
 

 


I didn’t use the PCH generator before. I was changing everything manually. Thanks to you now I know how to do it properly.

  • 1 month later...
Posted (edited)
On 1/21/2017 at 12:54 AM, Mr.Parker said:

Since i see many people request some npcs etc and noone gives the required info or help,i would like to make this guide for them so they can develop and improve their skills on creating these by themselves.It's a very usefull guide for people to learn how to make them.

In this guide/tutorial we will learn how to do the Teleporter(gk),Gmshop,Buffer and you can start with opening the scripts.I wish my guide to be understandable to you and wish you the best results following it

 
Teleporter/Gatekeeper:
                     AI.obj, You must look for class 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

Where







{"Catacomb of Dark Omens"; -22480; 13872; -3174; 1000; 0 }

{"name positioning"; X; Y; Z; value; 0 (Tax)}

Html Gatekeeper:







<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>

Where the reply=1 - this sheet mod contains in AI, which will show you the HK. In this case telposlist_begin Position1, that is:







{"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 }

That's it,in any field you can add the desired location,with patience and time you can make a completegk in just a few hours.

 

Gm-Shop:

Open multisell.txt (folder scripts), see the following:







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

Open the end of multisell, skip 2 lines and write the following:







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

Where instead of the ring_of_aurakyria any object, the full prescribed in the itemdata.txt, after the name of the item is the number of,then we see the coin_of_luck. Instead of coin may again be the same any objects from the itemdata.txt, adena, for example. It is the number of things to which communicates our item. I would like to caution against the common error: after the last line should not be ;. That is, all lines we look like this:







{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}};Последняя должна быть такой:
{{{[dragon_necklace];1}};{{[coin_of_luck];8150000}}}






<a action="bypass -h menu_select?ask=-303&reply=1">Buy weapon</a>

Buffer:

             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

Further opening npcdata, there straight







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>

You will write only hml for functions and add the NPC in to the client.







string fnYouAreChaotic "buffer_npc002.htm"
string fnNotEnoughAdena "buffer_npc003.htm"

Be carefull,be patient and spend some time on it so you can alone develop and imrove your personal skills on the issue.Wish you the best possible results.Best Of Luck!

 

Do not forget to leave me your feedbacfeed

Edit.

Edited by girogius

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...