Разбор птс данных

да, интерлюд что мне попался там этого файла нет, буду признателен если приатачите в ветку
 
В интерлюде (с4 с экстом, как я понимаю) его вроде как раз и нет - его роль superpoint.bin и выполняет.

А superpointinfo.txt с читабельными маршрутами в виде простого текста уже только в птс грации и выше.
 
Реакции: kick
In the interlude (c4 with ext, as I understand it), it seems to be just not there - its role is superpoint.bin and performs.

And superpointinfo.txt with readable routes in the form of plain text is already only in pts graces and above.
In PTS GF I've added a custom route in superpoint.bin and it works flawlessly, without having to add it to superpointinfo.txt .

It's probably used for fstring / social animation on node arrival, but then again such stuff is also present in AI ( node_arrived handler).
 
how did you solve the issue with fstring, when NPC got to the handler node_arrived and said some text.
As far as i understood fstring we can manage in the file superpointinfo.txt for each point, but how does it work without superpointinfo
 
how did you solve the issue with fstring, when NPC got to the handler node_arrived and said some text.
As far as i understood fstring we can manage in the file superpointinfo.txt for each point, but how does it work without superpointinfo
porter remy:

EventHandler NODE_ARRIVED(script_event_arg1, script_event_arg2) {
select (script_event_arg1) {
case 15:
Say(MakeFString(1010201, "", "", "", "", ""));
break;
case 3:
Say(MakeFString(1010202, "", "", "", "", ""));
break;
case 7:
Say(MakeFString(1010203, "", "", "", "", ""));
break;
}

You can basically do whatever you want when npc arrives at specific node (script_event_arg1 is the index of the node).

But koreans also reference it in superpointinfo.txt:
node_begin // -86352 243207 -3720
node_id=7
fstring_index=1010203
social_number=-1
delay=5

Node delay is also used in superpoint.bin and I think overwrites the value in superpointinfo.txt (not tested).

Strange stuff.
 
А еще есть freewayinfo.txt, где тоже есть маршруты движения, но уже без привязок к конкретным нпс.
Юзаются через AddMoveFreewayDesire в AI

К примеру в семени бессмертия вроде как раз монстры юзают маршруты из этого файла.
 
Реакции: kick
Кому нужно - держите распарс с ПТСки. С некоторыми правками, что бы НПЦ и некоторые мобы нормально ходили. Не совсем понял баг почему некоторые НПЦ просто застрявали, там их около 3х. Видимо на ПТСке они вообще игнорят Z оффсет
 

Вложения

  • superpointinfo.zip
    58,9 КБ · Просмотры: 41
Пытаюсь разобрать фаил areadata.txt, он содержит разные зоны с координатами, water, mother tree, peace, однако в нем нет таких зон как arena, town, castle кто знает где эти данные по зонам с координатами искать?
 
castledata.txt ? )

areadata:



 
замки\форты отдельно в castledata
всё остальное должно быть в ареадате
 
Спасибо, когда персонаж заходит в область например mother tree или в воду, то эти координаты в файле areadata, т.е при старте сервера эти зоны загружаются и когда персонаж заходит в зону то сервер уже знает куда зашел персонаж, когда персонаж заходит в город или деревню, где эти координаты? или такие зоны как то по другому обрабатываются?
 
датапаки грузятся при загрузке л2сервера (итемдата кешируется ещё и в кешед)
 
эти зоны в setting.txt
 
Как рассчитать значение физической атаки если прописано так

effect={{i_p_percent_attack;100;5;0;0}} - что за цифры
 
powerPercent - павер
prob - шанс крита
ignoreDefence - режим игнорирования дефа
physicalprob - количество игнорируемого дефа

В целом все то же самое что и i_p_attack, только вместо павера % от текущей П.атаки.
Там на самом деле немного сложнее все. Но глобально тупо % от патаки, в данном случае power = значению твоей патаки (100%)
 
Реакции: Gigi
Код:
effect={{i_sp;256000;diff};{i_create_item_random}}
Добрый день, не подскажите, где лежит тот самый i_create_item_random из skilldata.txt?
Эффект скилла Мешочка Кладоискателя.

Код:
skill_begin    skill_name=[s_item_lucky_pocket_lv5_ep1_3]    /* [포츈 포켓 - 5단계] */    skill_id=18023    level=2    sub_level=0    operate_type=A1    magic_level=1    special_level=0    automatic_use=0    magic_critical_rate=5    change_skill_id=0    self_effect={}    effect={{i_sp;256000;diff};{i_create_item_random}}    operate_cond={{op_encumbered;10;10};{op_alignment;lawful;self};{check_level;85;130;self}}    is_magic=2    is_double=0    mp_consume2=0    item_consume={[lucky_pocket_lv5_ep1];1}    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=1    reuse_delay_lock=1    attribute={attr_none;0}    trait={trait_none}    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none;@ride_strider;@ride_wyvern;@ride_wolf}    multi_class=0    olympiad_use=1    npc_notice=0    skill_end
 
Он банально распаковывает итемы из того итема, к которому прикреплен:

Код:
item_begin    etcitem    39633    [lucky_pocket_lv5_ep1]    item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=scroll    delay_share_group=-1    item_multi_skill_list={}    is_locked=0    recipe_id=0    blessed=0    weight=0    default_action=action_skill_reduce_on_skill_success    consume_type=consume_type_stackable    initial_count=1    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=0    ex_immediate_effect=0    drop_period=10    duration=-1    use_skill_distime=0    period=0    equip_reuse_delay=0    price=0    item_skill=[s_item_lucky_pocket_lv5_ep1_3]    critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    capsuled_items={}    material_type=paper    crystal_type=crystal_free    crystal_count=0    random_damage=0    weapon_type=none    dual_fhit_rate=0    attack_range=0    damage_range={}    reuse_delay=0    mp_consume=0    durability=-1    damaged=0    mp_bonus=0    category={}    enchanted=0    base_attribute_attack={none;0}    base_attribute_defend={0;0;0;0;0;0}    html=[item_default.htm]    magic_weapon=0    enchant_enable=0    elemental_enable=0    unequip_skill={}    for_npc=0    item_equip_option={}    use_condition={{uc_level;{85;130}}}    equip_condition={}    is_olympiad_can_use=0    can_move=1    is_premium=1    /*description=[포츈 포켓 - 5단계] drop_dp=4040404*/    crystal_item={}    validate_params={{pattack;0};{pcritical;0};{phit;0};{pavoid;0};{shielddefense;0};{shielddefenserate;0};{pattackspeed;0};{mattack;0};{pdefense;0};{mdefense;0}}    property_params={}    is_attribution=0    general_itemtype=0    equip_skill={}    is_pledgegame_can_use=0    is_hero_entry=0    attr_groupid=0    create_items={{[lv4_wind_dye_luc];1;0.1217};{[lv5_wind_dye_luc];1;0.0408};{[adena];100000;88.8055};{[adena];1000000;8.8806};{[adena];10000000;0.8881};{[adena];100000000;0.0888};{[adena];1000000000;0.0089};{[lucky_pocket_lv5_ep1];10;0.2775};{[instant_lucky_potion_ep1];1;0.8881}}    create_item_groups={}    shape_shiftable={}    is_hp_limit_break=0    ensoul_slot_cnt={}    item_option={1;1;1;1;7;0}    default_price=80000    auction_itemtype=etc_item    is_npctrade=1    item_end

Код:
create_items={{[lv4_wind_dye_luc];1;0.1217};{[lv5_wind_dye_luc];1;0.0408};{[adena];100000;88.8055};{[adena];1000000;8.8806};{[adena];10000000;0.8881};{[adena];100000000;0.0888};{[adena];1000000000;0.0089};{[lucky_pocket_lv5_ep1];10;0.2775};{[instant_lucky_potion_ep1];1;0.8881}}
 
Подскажите, как высчитывается логика таймера: instantzonedata.txt

delete_no_user
=0 - закрываем инсту если никого нет, по истечении времени.
duration=60 - длительность инсты (60 минут типа)
time_limit=1440 - лимит чего? если есть duration
*если это в минутах, то 24ч получается

Пример Картии

 
100% не скажу, т.к. по всё по памяти - но:

Если ресет происходит 7 раз в неделю - стоит 1440
Если ресет происходит 1 раз в неделю - стоит 10080

Закономерность найти не сложно. Ниже ещё есть блок с группами, где следует учитывать откаты внутри зоны, иначе база поплывёт и инстансы без вмешательства уже не откатятся.
 
time_limit=1440 - лимит чего? если есть duration
может time_limit это все таки лимит, через какое время возможно повторное посещение данного инста? 1440 = сутки
можно проверить, пройдя инст и повторно попробовать зайти в него. какое время покажет, через которое можно зайти