Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Данные для парсера НПС
#1
Добрый день, есть следующий вопрос: пишу парсер НПС из файлов оффсервера и есть небольшая загвоздка, не все параметры мне понятны. Кто может подскажите что за что отвечает.

Вот данные из файла ПТС для НПС:

PHP код:
<?php 
npc_begin warrior 20001
[gremlin] category={} level=1 exp=0 ex_crt_effect=0 unique=0 s_npc_prop_hp_rate=1
race
=fairy sex=male skill_list={} slot_chest=[] slot_rhand=[] slot_lhand=[] collision_radius={10;10}
collision_height={15;15} hit_time_factor=0.37 hit_time_factor_skill=-1 ground_high={50;0;0}
ground_low={20;0;0} str=40 int=21 dex=30 wit=20 con=43 men=20 org_hp=39.74519 org_hp_regen=2 org_mp=40
org_mp_regen
=0.9 base_attack_type=sword base_attack_range=40 base_damage_range={0;0;80;120} base_rand_dam=30
base_physical_attack
=8.47458 base_critical=4 physical_hit_modify=4.75 base_attack_speed=253 base_reuse_delay=0
base_magic_attack
=5.78704 base_defend=44.44444 base_magic_defend=29.5916164000214 base_attribute_attack={none;0}
base_attribute_defend={20;20;53;20;20;20;0} physical_avoid_modify=0 shield_defense_rate=0 shield_defense=0
safe_height
=100 soulshot_count=0 spiritshot_count=0 clan={} ignore_clan_list={} clan_help_range=300 undying=0
can_be_attacked
=1 corpse_time=7 no_sleep_mode=0 agro_range=1000 passable_door=0 can_move=1 flying=0
has_summoner
=0 targetable=1 show_name_tag=1 npc_ai={[gremlin];{[MoveAroundSocial]=0};{[MoveAroundSocial1]=0};{[MoveAroundSocial2]=0}}
event_flag={0} unsowing=0 private_respawn_log=0 acquire_exp_rate=29.39 acquire_sp=2 acquire_rp=0
corpse_make_list
={} additional_make_list={} additional_make_multi_list={} ex_item_drop_list={}
fake_class_id=-1 npc_end

Вот список соответствий, знаками вопроса выделено то что я не знаю откуда брать:

PHP код:
<?php 
ordinal
-> ???????????
id -> 20001
name
-> npc_ai
title
-> пусто, значение null
class -> ???????????
collision_radius -> collision_radius
collision_height
-> collision_height
level
-> level
sex
-> sex
type
-> ???????????
ai_type -> npc_ai
attackrange
-> base_attack_range
hp
-> org_hp
base_hp_regen
-> org_hp_regen
mp
-> org_mp
base_mp_regen
-> org_mp_regen
str
-> str
con
-> con
dex
-> dex
int
-> int
wit
-> wit
men
-> men
exp
-> exp
sp
-> acquire_sp
patk
-> base_physical_attack
pdef
-> base_defend
matk
-> base_magic_attack
mdef
-> base_magic_defend
atkspd
-> base_attack_speed
aggro
-> ???????????
matkspd -> ???????????
rhand -> slot_rhand
lhand
-> slot_lhand
armor
-> ???????????
walkspd -> ???????????
runspd -> ???????????
faction_id -> ???????????
faction_range -> ???????????
displayId -> ???????????
shield_defense_rate -> shield_defense_rate
shield_defense
-> shield_defense
corpse_time
-> corpse_time
base_rand_dam
-> base_rand_dam
base_critical
-> base_critical
physical_hit_modify
-> physical_hit_modify
base_reuse_delay
-> base_reuse_delay
physical_avoid_modify
-> physical_avoid_modify
hit_time_factor
-> hit_time_factor
isDropHerbs
-> ???????????
shots -> (if (soulshot_count=1 spiritshot_count=0) then shot=SOUL, if (soulshot_count=0 spiritshot_count=0) then shot=SPIRIT, if (soulshot_count=1 spiritshot_count=1) then shot=SOUL_SPIRIT else shot=NONE)
map_flag -> ???????????
boss_flag -> ???????????

Так же прошу проверить остальные соответствия, все ли верно
Ответ
#2
Код:
name -> [gremlin]
class -> \ type -> warrior (врятли)
aggro -> no_sleep_mode (возможно)
Остальное скорее всего дефолт\не отсюда.
Ответ
#3
vitlav Написал:
PHP код:
<?php 
hp
-> org_hp
mp
-> org_mp
patk
-> base_physical_attack
pdef
-> base_defend
matk
-> base_magic_attack
mdef
-> base_magic_defend
как минимум это все не верно - ибо тупое копирование данных значений будет неправильным - чтобы получить корректные значения - надо будет высчитывать их по формулам, в которых кроме этих данных завязаны коэффициенты, значение которых зависит от уровня моба, а так же его базовых стат (str, con и т.д.)

формулы и модификаторы можно взять в prima guide c1 + файл pc_parameter.txt из оффскриптов или тут - http://l2p.l2wh.com/
Ответ
#4
Кто нибудь разобрался с agro_range?

В офф скриптах стоит agro_range=1000 почти на всех мобах. А вот где определяется - агрессивный моб или нет так и не нашёл.
Ответ
#5
в аи или в параметрах в npcdata
[Изображение: l2nextgen.gif]
Ответ
#6
Аггрорендж зависит от типа Аи. Так же как упомянул товарищ Gaikotsu, в npcdata используются базовые характеристики нпц (эксп\сп\хп и т.д.). Лыжа уже давно привела состояние формул расчета статов в близкое к официальным состояние, курите их движок - и все станет ясно.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  За что отвечают данные конфиги из Lucera SoniPro 1 2,143 04-18-2013, 08:23 PM
Последний пост: RaRus

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)