Создание Npc
Пожалуйсто напишите ктото такую полезную вещ::: как создать NPC чтоб он продовал точнее менял медальки на всякие итемы, допустим я подхожу к NPC даю ему 10 Festival_adena а он мне 1 банку HP.
я примерно знаю.. пробовал но неполучается, напишите поподробнее:: что делать с npcpos,npcdata,multisell и.т.д.
БУДУ ООЧЕНЬ БЛАГОДАРЕН КАК И МНОГО ДРУГИХ НАЧИНАЮЩИХ АДМИНОВ!!!
Для этого создавать НПСа не обязательно.
для начала необходимо определится с тем НПСом - которого ты будешь использовать (в моем примере это будет "event_elf")
NPCDATA.txt
Ставим его к примеру в Гиране:
npcpos.txt
npcmaker_begin [Giran_NPC] initial_spawn=all maximum_npc=10
npc_begin [event_elf] pos = {83688;148384;-3400;32768} total = 1 respawn = 1min npc_end
npcmaker_end
multisel.txt
is_dutyfree = 1
selllist={
{{{[soulshot_d];1000}};{{[adena];35000}}};
{{{[soulshot_c];1000}};{{[adena];62000}}};
{{{[soulshot_b];1000}};{{[adena];100000}}};
{{{[blessed_spiritshot_d];1000}};{{[adena];145000}}};
{{{[blessed_spiritshot_c];1000}};{{[adena];260000}}};
{{{[blessed_spiritshot_b];1000}};{{[adena];370000}}}
}
MultiSell_end
html (test.htm согласно нашей нпсдате)
<head>
<body>
<br>
Здравствуйте. Добро пожаловать в наш магазин.
<br>
<a action="bypass -h menu_select?ask=-303&reply=1000">Купить Заряды</a><br>
</body>
</html>
(ид 1000 согласно нашему ИД в мультиселе)
guest000000: Для этого создавать НПСа не обязательно.
multisel.txtКодMultiSell_begin [SoulShot] 1000
is_dutyfree = 1
selllist={
{{{[soulshot_d];1000}};{{[adena];35000}}};
{{{[soulshot_c];1000}};{{[adena];62000}}};
{{{[soulshot_b];1000}};{{[adena];100000}}};
{{{[blessed_spiritshot_d];1000}};{{[adena];145000}}};
{{{[blessed_spiritshot_c];1000}};{{[adena];260000}}};
{{{[blessed_spiritshot_b];1000}};{{[adena];370000}}}
}
MultiSell_end
Вот у меня проблемка. У меня в ГМшопе не хочет заходить на страничку списка луков... Как моно исправить?
MultiSell_begin [gm_shop_weapon_bow] 605
is_dutyfree = 1
selllist={
{{{[carnium_bow];1}};{{[coin_of_luck];30}}};
{{{[soul_bow];1}};{{[coin_of_luck];50}}};
{{{[shining_bow];1}};{{[coin_of_luck];80}}};
{{{[draconic_bow];1}};{{[coin_of_luck];90}}};
{{{[the_infinity_bow];1}};{{[coin_of_luck];140}}};
{{{[carnium_bow_light];1}};{{[coin_of_luck];40}}};
{{{[carnium_bow_crt.bleed];1}};{{[coin_of_luck];40}}};
{{{[carnium_bow_manaup];1}};{{[coin_of_luck];40}}};
{{{[soul_bow_cheapshot];1}};{{[coin_of_luck];60}}}
{{{[soul_bow_quickrecovery];1}};{{[coin_of_luck];60}}}
{{{[soul_bow_crt.poison];1}};{{[coin_of_luck];60}}}
{{{[shining_bow_cheapshot];1}};{{[coin_of_luck];100}}}
{{{[shining_bow_focus];1}};{{[coin_of_luck];100}}}
{{{[shining_bow_crt.slow];1}};{{[coin_of_luck];100}}}
{{{[draconic_bow_cheapshot];1}};{{[coin_of_luck];120}}}
{{{[draconic_bow_focus];1}};{{[coin_of_luck];120}}}
{{{[draconic_bow_crt.slow];1}};{{[coin_of_luck];120}}}
}
MultiSell_end
До того как я вбил сюда луки, тут были другие вещи и с ними работало все норм.
{{{[soul_bow_cheapshot];1}};{{[coin_of_luck];60}}}
{{{[soul_bow_quickrecovery];1}};{{[coin_of_luck];60}}}
{{{[soul_bow_crt.poison];1}};{{[coin_of_luck];60}}}
{{{[shining_bow_cheapshot];1}};{{[coin_of_luck];100}}}
{{{[shining_bow_focus];1}};{{[coin_of_luck];100}}}
{{{[shining_bow_crt.slow];1}};{{[coin_of_luck];100}}}
{{{[draconic_bow_cheapshot];1}};{{[coin_of_luck];120}}}
{{{[draconic_bow_focus];1}};{{[coin_of_luck];120}}}
{{{[draconic_bow_crt.slow];1}};{{[coin_of_luck];120}}}
}
точек сзапятой нету..)))
— Php+Mysql+JS
v0vCh1k: Хорошо, а как тогда настроить дроп конкретной вещи с конкретного моба, это реально? и что тогда в нпцдате нужно менять? или это уже надо в АИ лазать?
реально в npsdata
npc_begin warrior 3 [goblin] level=5 acquire_exp_rate=7.12656 acquire_sp=5 unsowing=0 clan={@goblin_clan} ignore_clan_list={} clan_help_range=300 slot_chest=[] slot_rhand=[club] slot_lhand=[] shield_defense_rate=0 shield_defense=0 skill_list={@s_race_humanoid} npc_ai={[goblin];{[MoveAroundSocial]=42};{[MoveAroundSocial1]=42};{[MoveAroundSo
cial2]=42}} category={} race=humanoid sex=male undying=0 can_be_attacked=1 corpse_time=7 no_sleep_mode=0 agro_range=1000 ground_high={110;0;0} ground_low={40;0;0} exp=2885 org_hp=80.17319 org_hp_regen=2 org_mp=69.6 org_mp_regen=0.9 collision_radius={10;10} collision_height={16.5;16.5} str=40 int=21 dex=30 wit=20 con=43 men=10 base_attack_type=blunt base_attack_range=40 base_damage_range={0;0;80;120} base_rand_dam=50 base_physical_attack=12.34006 base_critical=1 physical_hit_modify=9 base_attack_speed=253 base_reuse_delay=0 base_magic_attack=8.42666 base_defend=51.60553 base_magic_defend=37.76269 physical_avoid_modify=0 soulshot_count=0 spiritshot_count=0 hit_time_factor=0.32 item_make_list={} corpse_make_list={{[charcoal];1;1;5.6617};{[magic_ring];1;1;34.3131};{[rp_broad_
sword];1;1;4.5293}} additional_make_list={} additional_make_multi_list={{{{[adena];30;42;100}};100};{{{[apprentice's_earing];1;1;30.9859};{[necklace_of_magic];1;1;23.0047};{[magic_ring];1;1;46.0094}};25.7009};{{{[stem];1;1;29.1262};{[varnish];1;1;14.5631};{[suede]
;1;1;9.7087};{[silver_nugget];1;1;5.8252};{[thread];1;1;29.1262};{[rp_bow];1;1;1
1
.6506}};6.6988}} hp_increase=0 mp_increase=0 safe_height=100 npc_end
};{[necklace_of_magic];1;1;23.0047};{[magic_ring];1;1;46.0094}};25.7009};{{{[stem];1;1;29.1262};{[varnish];1;1;14.
5631};{[suede]
;1;1;9.7087};{[silver_nugget];1;1;5.8252};{[thread];1;1;29.1262};{[rp_bow];1;1;1
1
.6506}};6.6988}
за что эти значения отвечают (мои предположения (последнее дропрейты?)
Всем привет =)
У меня вот есть несколько вопросов по написанию NPCа, может кто разъяснить плиз...
1.
Как написать чтобы при нажатии на строку делался рэндом и давалась какая-либо вещь в зависимости от результатов рэндома???
Приведите плз пример.
2.
вот есть такие строки в npcpos
типа где стоит NPC...... (??)
npcmaker_begin [gmshop_giran] initial_spawn = all maximum_npc=1
npc_begin [SHOP] pos = {115077;-178282;-880;0} total=1 respawn=1min npc_end
npcmaker_end
почему 4 кординаты?? - {114877;-178482;-900;-680}
Объясните плиз откуда берётся и о чём это вобще??
3.
а как сделать чтобы вещь продавалась не за 1 вид чего-то?? ну например как в люксоре за крисы - 2 вида, что-то типа:
{{{[Item_namr];1}};{{[Cristal_C];450}}{{[Cristal_D];100}}}; ??? как правельно?
[Добавленно после]
отвечу сам себе на вопрос =)
пример покупки предметов за буквы:
is_dutyfree = 1
selllist={
{{{[hyeed_s_bow_cheapshot];1}};{{[alphabet_n];1};{[alphabet_c];1};{[alphabet_s];1};{[alphabet_o];1};{[alphabet_f];1};{[alphabet_t];1}}};
{{{[draconic_leather_armor];1}};{{[alphabet_l];1};{[alphabet_i];1};{[alphabet_n];1};{[alphabet_e];1};{[alphabet_a];1};{[alphabet_g];1};{[alphabet_e];1};{[alphabet_ii];1}}};
}
MultiSell_end
т.е. покупка 1 за несколько =)
[Добавленно после]
спасибо заранее за помощь =)
v0vCh1k: };{[necklace_of_magic];1;1;23.0047};{[magic_ring];1;1;46.0094}};25.7009};{{{[stem];1;1;29.1262};{[varnish];1;1;14.
5631};{[suede]
;1;1;9.7087};{[silver_nugget];1;1;5.8252};{[thread];1;1;29.1262};{[rp_bow];1;1;1
1
.6506}};6.6988}
за что эти значения отвечают (мои предположения (последнее дропрейты?)
да, причём в % минимум 1, максимум 1 шанс 23.0047%
OffLine: 2.
вот есть такие строки в npcpos
типа где стоит NPC...... (??)Кодterritory_begin [gmshop_giran] {{114877;-178482;-900;-680};{115277;-178482;-900;-680};{115277;-178082;-900;-680};{114877;-178082;-900;-680}} territory_end
npcmaker_begin [gmshop_giran] initial_spawn = all maximum_npc=1
npc_begin [SHOP] pos = {115077;-178282;-880;0} total=1 respawn=1min npc_end
npcmaker_end
почему 4 кординаты?? - {114877;-178482;-900;-680}
Объясните плиз откуда берётся и о чём это вобще??
Если неошибаюсь это сторона куда нпс смотрит! //show_loc
вопрос по теме, значит есть multisell i html с определенным id , где устанавливается привязка multisell / html и Npc?
Litosha: я понял , что есть :) я спросил где по теме вроди сам разобрался
npc_pch, npcdata, npcpos / ai
если Вы хотите использовать multisell, то для этого можно использовать стандартные классы аи.
в частности все классы, которые наследуют класс citizen могут использовать multisell.
для этого в htm файлах нужно прописать конструкции вида:
<button action="bypass -h menu_select?ask=-303&reply=N" value="Здесь пишем то, что будут видеть игроки" width=220 height=21 back="sek.cbui36" fore="sek.cbui168">
где N номер записи в multisell.txt
P.S. этя запись для кнопки, можно сделать проще.
<html><head><body><center>
<center><font color="ff0000">-= shop test =-</font></center><br>
<br>
<a action="bypass -h menu_select?ask=-303&reply=984">armor</a><br>
<br>
</center>
</body>
</html>
для примера :) , но ты непонял , как привязывть multisell и htm я знаю , я пока недопонимаю, откуда какойнибудь нпц привязывется к multisely i htm ;)
Litosha: <html><head><body><center>
<center><font color="ff0000">-= shop test =-</font></center><br>
<br>
<a action="bypass -h menu_select?ask=-303&reply=984">armor</a><br>
<br>
</center>
</body>
</html>
для примера :) , но ты непонял , как привязывть multisell и htm я знаю , я пока недопонимаю, откуда какойнибудь нпц привязывется к multisely i htm ;)
нет, это ты не понял.
читай внимательно.
любой нпц, который наследует класс....
т.е., берем гейткипера, смотрим нпцдату, находим параметр fnHi и в этом htm файле добавляем строку.
теперь гейткипер бедет продавать твой армор.
если ты хочешь создать нового нпц, читай тему сначала.





