Имяname=[20_23_water1]
Квадратmap_no={20;23}
Типtype=water
Координаты, аналог x y z, только тут сразу описывается мин и макс описав целый квадрат. А не как по глупому описывать каждую точку каждый разwater_range={Min0.000000 163840.000000 -7780.000000) Max 32768.000000 196608.000000 -3780.000000)}
private static Pattern min_pattern = Pattern.compile("Min:\\((\\S+)\\s(\\S+)\\s(\\S+)\\)");
private static Pattern max_pattern = Pattern.compile("Max:\\((\\S+)\\s(\\S+)\\s(\\S+)\\)");
else if(col.contains("water_range"))
{
// дикий 3.14здец.....
int minX = 0, minY = 0, minZ = 0;
int maxX = 0, maxY = 0, maxZ = 0;
final Matcher min = min_pattern.matcher(col);
if(min.find())
{
minX = (int) Double.parseDouble(min.group(1));
minY = (int) Double.parseDouble(min.group(2));
minZ = (int) Double.parseDouble(min.group(3));
}
final Matcher max = max_pattern.matcher(col);
if(max.find())
{
maxX = (int) Double.parseDouble(max.group(1));
maxY = (int) Double.parseDouble(max.group(2));
maxZ = (int) Double.parseDouble(max.group(3));
}
zone.minX_maxY = String.valueOf(minX) + " " + String.valueOf(minY) + " " + String.valueOf(minZ) + " " + String.valueOf(maxZ);
zone.maxX_maxY = String.valueOf(maxX) + " " + String.valueOf(minY) + " " + String.valueOf(minZ) + " " + String.valueOf(maxZ);
zone.maxX_maxX = String.valueOf(maxX) + " " + String.valueOf(maxY) + " " + String.valueOf(minZ) + " " + String.valueOf(maxZ);
zone.minX_minY = String.valueOf(minX) + " " + String.valueOf(maxY) + " " + String.valueOf(minZ) + " " + String.valueOf(maxZ);
zone.chek = true;
}
принтим ( овер )
if(z.minX_maxY != null && z.maxX_maxY != null && z.maxX_maxX != null && z.minX_minY != null)
{
// Просто зверский Затык //TODO:
Element polygon = zone.addElement("polygon");
Element minX_maxY = polygon.addElement("coords");
minX_maxY.addAttribute("loc", String.valueOf(z.minX_maxY));
Element loc_Water = polygon.addElement("coords");
loc_Water.addAttribute("loc", String.valueOf(z.maxX_maxY));
Element maxX_maxX = polygon.addElement("coords");
maxX_maxX.addAttribute("loc", String.valueOf(z.maxX_maxX));
Element minX_minY = polygon.addElement("coords");
minX_minY.addAttribute("loc", String.valueOf(z.minX_minY));
}
(фактически вся инфа там имеется, чего нет - можно найти на ммокоме.)area_begin name=[20_23_water1] map_no={20;23} type=water water_range={Min0.000000 163840.000000 -7780.000000) Max 32768.000000 196608.000000 -3780.000000)} area_end
Про сию штуку можно узнать?
npc_begin\\s\\w+\\s([\\d]+)\\s\\[([\\w]+)\\]\\slevel=([\\d]+)\\sacquire_exp_rate=([\\d\\.]+)\\sacquire_sp=([\\d\\.]+)\\sunsowing=([\\d]+)\\sclan=\\{([@\\w;\\-\\.]*)}\\signore_clan_list=\\{([@\\w;\\.]*)}\\sclan_help_range=([\\d]+)\\sslot_chest=\\[([\\w;_\\.@\\{}\\[\\]\\-\\*]*)\\]\\sslot_rhand=\\[([@\\w;\\-\\.\\*]*)\\]\\sslot_lhand=\\[([@\\w;\\-\\.\\*]*)\\]\\sshield_defense_rate=([\\d\\.]+)\\sshield_defense=([\\d\\.]+)\\sskill_list=\\{([@\\w;])*}\\snpc_ai=\\{([\\[\\w\\];\\{=@}\\-\\.:]*)}\\scategory=\\{([\\w;_\\.\\{}\\[\\]@-]*)}\\srace=([@\\w]+)\\ssex=(male|female|etc)\\sundying=([\\d]+)\\scan_be_attacked=([\\d]+)\\scorpse_time=([\\d]+)\\sno_sleep_mode=([\\d]+)\\sagro_range=([\\d]+)\\sground_high=\\{([\\d\\.;-]*)}\\sground_low=\\{([\\d\\.;]*)}\\sexp=([\\d\\.]+)\\sorg_hp=([\\d\\.]+)\\sorg_hp_regen=([\\d\\.]+)\\sorg_mp=([\\d\\.]+)\\sorg_mp_regen=([\\d\\.]+)\\scollision_radius=\\{([\\d\\.;]*)}\\scollision_height=\\{([\\d\\.;]*)}\\sstr=([\\d]+)\\sint=([\\d]+)\\sdex=([\\d]+)\\swit=([\\d]+)\\scon=([\\d]+)\\smen=([\\d]+)\\sbase_attack_type=([\\w@;-]*)\\sbase_attack_range=([\\d\\.]+)\\sbase_damage_range=\\{([\\d\\.;]*)}\\sbase_rand_dam=([\\d\\.]+)\\sbase_physical_attack=([\\d\\.]+)\\sbase_critical=([\\d\\.]+)\\sphysical_hit_modify=([\\d\\-\\.]+)\\sbase_attack_speed=([\\d\\.]+)\\sbase_reuse_delay=([\\d\\.]+)\\sbase_magic_attack=([\\d\\.]+)\\sbase_defend=([\\d\\.]+)\\sbase_magic_defend=([\\d\\.]+)\\sphysical_avoid_modify=([\\d\\.-]+)\\ssoulshot_count=([\\d]+)\\sspiritshot_count=([\\d]+)\\shit_time_factor=([\\d\\.-]+)\\sitem_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\scorpse_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\sadditional_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\sadditional_make_multi_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\shp_increase=([\\d\\.-]+)\\smp_increase=([\\d\\.-]+)\\ssafe_height=([\\d\\.-]+)\\snpc_end([ \\t]*)
Немного наркомании
Оффтоп:
NPC
Код:npc_begin\\s\\w+\\s([\\d]+)\\s\\[([\\w]+)\\]\\slevel=([\\d]+)\\sacquire_exp_rate=([\\d\\.]+)\\sacquire_sp=([\\d\\.]+)\\sunsowing=([\\d]+)\\sclan=\\{([@\\w;\\-\\.]*)}\\signore_clan_list=\\{([@\\w;\\.]*)}\\sclan_help_range=([\\d]+)\\sslot_chest=\\[([\\w;_\\.@\\{}\\[\\]\\-\\*]*)\\]\\sslot_rhand=\\[([@\\w;\\-\\.\\*]*)\\]\\sslot_lhand=\\[([@\\w;\\-\\.\\*]*)\\]\\sshield_defense_rate=([\\d\\.]+)\\sshield_defense=([\\d\\.]+)\\sskill_list=\\{([@\\w;])*}\\snpc_ai=\\{([\\[\\w\\];\\{=@}\\-\\.:]*)}\\scategory=\\{([\\w;_\\.\\{}\\[\\]@-]*)}\\srace=([@\\w]+)\\ssex=(male|female|etc)\\sundying=([\\d]+)\\scan_be_attacked=([\\d]+)\\scorpse_time=([\\d]+)\\sno_sleep_mode=([\\d]+)\\sagro_range=([\\d]+)\\sground_high=\\{([\\d\\.;-]*)}\\sground_low=\\{([\\d\\.;]*)}\\sexp=([\\d\\.]+)\\sorg_hp=([\\d\\.]+)\\sorg_hp_regen=([\\d\\.]+)\\sorg_mp=([\\d\\.]+)\\sorg_mp_regen=([\\d\\.]+)\\scollision_radius=\\{([\\d\\.;]*)}\\scollision_height=\\{([\\d\\.;]*)}\\sstr=([\\d]+)\\sint=([\\d]+)\\sdex=([\\d]+)\\swit=([\\d]+)\\scon=([\\d]+)\\smen=([\\d]+)\\sbase_attack_type=([\\w@;-]*)\\sbase_attack_range=([\\d\\.]+)\\sbase_damage_range=\\{([\\d\\.;]*)}\\sbase_rand_dam=([\\d\\.]+)\\sbase_physical_attack=([\\d\\.]+)\\sbase_critical=([\\d\\.]+)\\sphysical_hit_modify=([\\d\\-\\.]+)\\sbase_attack_speed=([\\d\\.]+)\\sbase_reuse_delay=([\\d\\.]+)\\sbase_magic_attack=([\\d\\.]+)\\sbase_defend=([\\d\\.]+)\\sbase_magic_defend=([\\d\\.]+)\\sphysical_avoid_modify=([\\d\\.-]+)\\ssoulshot_count=([\\d]+)\\sspiritshot_count=([\\d]+)\\shit_time_factor=([\\d\\.-]+)\\sitem_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\scorpse_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\sadditional_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\sadditional_make_multi_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\shp_increase=([\\d\\.-]+)\\smp_increase=([\\d\\.-]+)\\ssafe_height=([\\d\\.-]+)\\snpc_end([ \\t]*)
Описание имеют только некоторые вещи, которые его требуют, там где нет описания - все интуитивно понятно. Знаки вопросов - неизвестно.
1. id
2. name
3. level
4. acquire_exp_rate - количество получаемого опыта за убийство, работает как модификатор, формулу потом дам, если нужно будет
5. acquire_sp - количество получаемого SP за убийство
6. unsowing - ???
7. clan - фракции, в которых состоит непись
8. ignore_clan_list - ???
9. clan_help_range - радиус сферы помощи софрактийцу
10. slot_chest
11. slot_rhand
12. slot_lhand
13. shield_defense_rate
14. shield_defense
15. skill_list
16. npc_ai
17. category - ???
18. race
19. sex
20. undying - ???
21. can_be_attacked
22. corpse_time - время от смерти до исчезновения трупа.
23. no_sleep_mode - всегда тикающее АИ.
24. agro_range - небольшая заметка: радиус сферы берется только для прописанной территории непися и на другие территории не распространяется.
25. ground_high - скорее всего эдакий максимальный оффсет от земли.
26. ground_low - аналогично ground_high, но нижний предел; очень высокая вероятность, что используется, что бы большие неписи (например ангелы) визуально не стояли в полу.
27. exp - количество экспы у непися
28. org_hp
29. org_hp_regen
30. org_mp
31. org_mp_regen
32. collision_radius - не знаю зачем два значения, но на ум приходит только одно: x & y оси а-ля прямоугольник, я просто взял максимальные значения, т.к. мне пофигу на коллизии неписей.
33. collision_height - аналогично
34. str
35. int
36. dex
37. wit
38. con
39. men
40. base_attack_type
41. base_attack_range
42. base_damage_range - предположения: {a, b, c, d}Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрацияили {offset?;roll;pitch;yaw}. Скорее всего не используется, либо используется для просчета оффсета при подбегании к врагу.
43. base_rand_dam
44. base_physical_attack
45. base_critical
46. physical_hit_modify
47. base_attack_speed
48. base_reuse_delay
49. base_magic_attack
50. base_defend
51. base_magic_defend
52. physical_avoid_modify - ???
53. soulshot_count
54. spiritshot_count
//Drop start
55. hit_time_factor - см. attack speed multiplier, но могу ошибаться, т.к. не использую этот параметр.
56. item_make_list - без групп
57. corpse_make_list - свип
58. additional_make_list - ???
59. additional_make_multi_list - мультигруппы
//Drop end
60. hp_increase
61. mp_increase
62. safe_height - ???
Немного наркомании
Оффтоп:
NPC
Код:npc_begin\\s\\w+\\s([\\d]+)\\s\\[([\\w]+)\\]\\slevel=([\\d]+)\\sacquire_exp_rate=([\\d\\.]+)\\sacquire_sp=([\\d\\.]+)\\sunsowing=([\\d]+)\\sclan=\\{([@\\w;\\-\\.]*)}\\signore_clan_list=\\{([@\\w;\\.]*)}\\sclan_help_range=([\\d]+)\\sslot_chest=\\[([\\w;_\\.@\\{}\\[\\]\\-\\*]*)\\]\\sslot_rhand=\\[([@\\w;\\-\\.\\*]*)\\]\\sslot_lhand=\\[([@\\w;\\-\\.\\*]*)\\]\\sshield_defense_rate=([\\d\\.]+)\\sshield_defense=([\\d\\.]+)\\sskill_list=\\{([@\\w;])*}\\snpc_ai=\\{([\\[\\w\\];\\{=@}\\-\\.:]*)}\\scategory=\\{([\\w;_\\.\\{}\\[\\]@-]*)}\\srace=([@\\w]+)\\ssex=(male|female|etc)\\sundying=([\\d]+)\\scan_be_attacked=([\\d]+)\\scorpse_time=([\\d]+)\\sno_sleep_mode=([\\d]+)\\sagro_range=([\\d]+)\\sground_high=\\{([\\d\\.;-]*)}\\sground_low=\\{([\\d\\.;]*)}\\sexp=([\\d\\.]+)\\sorg_hp=([\\d\\.]+)\\sorg_hp_regen=([\\d\\.]+)\\sorg_mp=([\\d\\.]+)\\sorg_mp_regen=([\\d\\.]+)\\scollision_radius=\\{([\\d\\.;]*)}\\scollision_height=\\{([\\d\\.;]*)}\\sstr=([\\d]+)\\sint=([\\d]+)\\sdex=([\\d]+)\\swit=([\\d]+)\\scon=([\\d]+)\\smen=([\\d]+)\\sbase_attack_type=([\\w@;-]*)\\sbase_attack_range=([\\d\\.]+)\\sbase_damage_range=\\{([\\d\\.;]*)}\\sbase_rand_dam=([\\d\\.]+)\\sbase_physical_attack=([\\d\\.]+)\\sbase_critical=([\\d\\.]+)\\sphysical_hit_modify=([\\d\\-\\.]+)\\sbase_attack_speed=([\\d\\.]+)\\sbase_reuse_delay=([\\d\\.]+)\\sbase_magic_attack=([\\d\\.]+)\\sbase_defend=([\\d\\.]+)\\sbase_magic_defend=([\\d\\.]+)\\sphysical_avoid_modify=([\\d\\.-]+)\\ssoulshot_count=([\\d]+)\\sspiritshot_count=([\\d]+)\\shit_time_factor=([\\d\\.-]+)\\sitem_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\scorpse_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\sadditional_make_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\sadditional_make_multi_list=\\{([\\w@;\\.\\{}\\[\\]\\-\\*]*)}\\shp_increase=([\\d\\.-]+)\\smp_increase=([\\d\\.-]+)\\ssafe_height=([\\d\\.-]+)\\snpc_end([ \\t]*)
Описание имеют только некоторые вещи, которые его требуют, там где нет описания - все интуитивно понятно. Знаки вопросов - неизвестно.
1. id
2. name
3. level
4. acquire_exp_rate - количество получаемого опыта за убийство, работает как модификатор, формулу потом дам, если нужно будет
5. acquire_sp - количество получаемого SP за убийство
6. unsowing - ???
7. clan - фракции, в которых состоит непись
8. ignore_clan_list - ???
9. clan_help_range - радиус сферы помощи софрактийцу
10. slot_chest
11. slot_rhand
12. slot_lhand
13. shield_defense_rate
14. shield_defense
15. skill_list
16. npc_ai
17. category - ???
18. race
19. sex
20. undying - ???
21. can_be_attacked
22. corpse_time - время от смерти до исчезновения трупа.
23. no_sleep_mode - всегда тикающее АИ.
24. agro_range - небольшая заметка: радиус сферы берется только для прописанной территории непися и на другие территории не распространяется.
25. ground_high - скорость бега.
26. ground_low - скорость ходьбы.
27. exp - количество экспы у непися
28. org_hp
29. org_hp_regen
30. org_mp
31. org_mp_regen
32. collision_radius - не знаю зачем два значения, но на ум приходит только одно: x & y оси а-ля прямоугольник, я просто взял максимальные значения, т.к. мне пофигу на коллизии неписей.
33. collision_height - аналогично
34. str
35. int
36. dex
37. wit
38. con
39. men
40. base_attack_type
41. base_attack_range
42. base_damage_range - предположения: {a, b, c, d}Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрацияили {offset?;roll;pitch;yaw}. Скорее всего не используется, либо используется для просчета оффсета при подбегании к врагу.
43. base_rand_dam
44. base_physical_attack
45. base_critical
46. physical_hit_modify
47. base_attack_speed
48. base_reuse_delay
49. base_magic_attack
50. base_defend
51. base_magic_defend
52. physical_avoid_modify - ???
53. soulshot_count
54. spiritshot_count
//Drop start
55. hit_time_factor - см. attack speed multiplier, но могу ошибаться, т.к. не использую этот параметр.
56. item_make_list - без групп
57. corpse_make_list - свип
58. additional_make_list - ???
59. additional_make_multi_list - мультигруппы
//Drop end
60. hp_increase
61. mp_increase
62. safe_height - ???
Конды скилов на птс, попоже сделаю их описание:
operate_cond = equip_weapon;{значения} - проверка нужного оружия (даггер для бэкстаба к примеру)
operate_cond = {{equip_shield}} - проверка наличия надетого щита
operate_cond = {{possess_holything}} - ?
operate_cond = {{op_skill_acquire;1013;0}} - проверка наличия скилла речардж (защита от залива батареек, раньше можно было делать бесконечный пул маны через кларити + саморечардж)
target_operate_cond = {{target_race;race_undead}} - проверка расы {target_race - раса цели;race_%раса%}, юзается к примеру для всяких баниш пюрити и прочих скилов)
operate_cond = {{target_my_party;include_me}} - кондей для партийных баффов и скиллов (баффы варка, хилы, ещё куча всякого говна)
operate_cond = {{can_summon}} - проверка возможности саммона. не могу сказать точно саммон это в зону или саммон персонажа (отсутствие боевого режима etc.)
operate_cond = {{build_camp}} - проверка для постройки палатки\флага (осадная зона)
operate_cond = {{op_unlock}} - анлок дверей и честов походу
operate_cond = {{op_energy_max;1}} - хз, но есть ощущение что зарядки глада\тира заливающиеся до фулла 80+ скиллом.
operate_cond = {{energy_saved;1}} - хз, но есть ощущение что это зарядки глада\тира для массух. рили хз.
operate_cond = {{remain_hp_per;30;down}} - кондей юза скиллов френзи, гатс, зил, икона.
operate_cond = {{op_resurrection}} - и так понятно, рес.
operate_cond = {{consume_body}} - хз, возможно кондей для камаэлей, но почему тогда потребление (consume)?
operate_cond = {{op_sweeper}} - сбор спойла, кондей для проверки чего-то вроде
operate_cond = {{can_summon_cubic}} - кондей для саммона кубика (не более одного\двух\трёх при лвле скилла \ без лвла скилла)
operate_cond = {{remain_hp_per;10;down}} - кондей для ресторейшна варлорда.
operate_cond = {{op_can_escape};{op_not_territory;{{-115727;-251652;-3050;-2850};{-113365;-251655;-3050;-2850}};t_self}
operate_cond = {{can_summon_siege_golem}}
operate_cond = {{remain_mp_per;25;down}}
operate_cond = {{op_2h_weapon;{значения}}}
operate_cond = {{op_encumbered;20;10}}
operate_cond = {{{op_fishing_cast}}
operate_cond = {{op_fishing_pumping}}
operate_cond = {{op_fishing_reeling}}
operate_cond = {{remain_cp_per;50;up};{can_use_in_battlefield}}
perate_cond = {{target_my_party;except_me};{op_call_pc}}
operate_cond = {{target_my_party;except_me}}
operate_cond = {{op_exist_npc;{skill_defence_up;skill_anti_song_dance;skill_abnormal_resist;skill_cp_regen;skill_energy_up;skill_bow_hit_up;skill_avoid_up};200;0}}
operate_cond = {{op_check_cast_range;200}}
target_operate_cond = {{op_check_abnormal;bleeding;1;1}}
operate_cond = {{op_soul_max}}
operate_cond = {{op_blink;_back;400}}
operate_cond = {{soul_saved;1}}
operate_cond = {{op_exist_npc;{explosion_trap1};150;0}}
operate_cond = {{op_exist_npc;{slow_trap1};150;0}}
operate_cond = {{op_exist_npc;{flash_trap1};150;0}}
operate_cond = {{op_exist_npc;{binding_trap1};150;0}}
operate_cond = {{op_check_abnormal;multi_debuff_fire;1;1}}
operate_cond = {{op_check_abnormal;multi_debuff_water;1;1}}
operate_cond = {{op_check_abnormal;multi_debuff_wind;1;1}}
operate_cond = {{op_check_class;29;target;0};{op_check_class;42;target;0}}
operate_cond = {{can_transform;251}}
operate_cond = {{op_change_weapon}}
target_operate_cond = {{op_target_npc;{event_search_thing}}}
Выше есть мой пост с этими параметрами.undying=0
can_be_attacked=1
corpse_time=7
no_sleep_mode=0
unsowing=0
Кто популярно из ПТС ребят опишет за что отвечает выше представленное ....
Выше есть мой пост с этими параметрами.
undying - бессмертие.
can_be_attacked - возможно ли атаковать непися
corpse_time - время от смерти до исчезновения трупа
no_sleep_mode - глобальное АИ
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?