Мануал Skilldata.txt - формат и описание параметров

kick

Магистр Йода
Administrator
#1
skill_begin skill_name=[s_silence1] /* [사쁼냰삤] */ skill_id=1064 level=1 operate_type=A2 magic_level=40 effect={{p_block_spell}} is_magic=1 mp_consume1=7 mp_consume2=28 cast_range=600 effective_range=1100 skill_hit_time=4 skill_cool_time=0 skill_hit_cancel_time=0.5 reuse_delay=60 activate_rate=50 lv_bonus_rate=2 basic_property=men abnormal_time=30 abnormal_lv=1 abnormal_type=silence attribute=attr_derangement effect_point=-379 target_type=enemy_only affect_scope=single affect_limit={0;0} next_action=none abnormal_visual_effect=ave_silence debuff=1 ride_state={@ride_none;@ride_wind;@ride_star;@ride_twilight} skill_end
Описание параметров:
  • skill_begin - начало скилла
  • skill_name = [s_wyvern_breath] - название скилла (на которое ссылаются извне, например из itemdata)
  • /* [와이번 브레스] */ - Комментарий на корейском языке
  • skill_id = 4289 - ID Скилла
  • level = 1 - Уровень скилла
  • operate_type = P - пассивный, А1 или А2 - активный скилл.
  • magic_level = 60 - Уровень с которого персонаж может использовать данный скил
  • effect = - Что умеет скилл. Список эффектов.
  • operate_cond = {{op_wyvern}} - условия использования скилла
  • is_magic = 0 - скорость каста скилла и откат зависят от каст спида
  • is_magic = 1 - скорость каста скилла и откат зависят от атак спида
  • is_magic = 2 - фиксированые скорость каста скилла и откат ни от чего не зависят aka SOE, свиток воскрешения etc.
  • mp_consume2 = 400 - Сколько требует MP
  • cast_range = 700 - Дальность выстрела данным скиллом
  • effective_range = 1200 - Эффективная "дальность" атаки
  • skill_hit_time = 3.6 - Время каста скилла
  • skill_cool_time = 0 - фриз после каста, если поставить параметр "3" это будет значить что после каста скилла чар будет 3 секунды стоять как бы заморожен, нельзя будет двигаться, кастовать
  • skill_hit_cancel_time = 3.6 - в течении которого времени можно отменить каст скилла кнопкой Esc
  • reuse_delay = 6 - Откат скила
  • attribute = attr_fire - тип скилла (водяной, ветряной, темная атака например..)
  • effect_point = -1500 - используется для повышения эффективности аггра у мобов
  • target_type = wyvern_target - тип цели, на которую кастуется скилл. В данном случае только на другую виверну
  • affect_scope = wyvern_scope - как выбирается цель (одиночная, на себя, диапазон, аура)
  • affect_range = 200 - как выбирается цель (одиночная, на себя, диапазон, аура)
  • affect_object = wyvern_object - как выбирается цель (одиночная, на себя, диапазон, аура)
  • affect_limit = {0;0} - минимальное и максимальное количество обрабатываемых целей, если 0;0 то нет ограничения.
  • next_action = none - Выполнение команды после использовании скила
  • ride_state = {@ride_wyvern} - описывает, можно ли юзать скилл сидя на страйдере/виверне и так далее
  • skill_end - окончание скила
 
Последнее редактирование:

kick

Магистр Йода
Administrator
#5
К тому же открываешь СОЕР или же функции птски и смотрим
void CSkillEffect_i_p_attack(); //physical
void CSkillEffect_i_p_attack_over_hit(); //physical
void CSkillEffect_i_death_link();
void CSkillEffect_i_fatal_blow(); //physical
void CSkillEffect_i_hp_drain();
void CSkillEffect_i_m_attack();
void CSkillEffect_i_backstab();
void CSkillEffect_i_energy_attack(); //physical
void CSkillEffect_i_cub_m_attack();
void CSkillEffect_i_cub_hp_drain();
void CSkillEffect_t_hp__Tick();
void CSkillEffect_t_cub_hp__Tick();
0x0084CFC8 bool CSkillEffect_p_physical_defence_by_material::CheckPumpCondition(class CCreature *) - или вот
Как минимум я уже выкладывал вам список функций и GF и C4:
Open Source Interlude Extender, based on Gracia Final
C4_Function_List
Так что достать вы сможете без проблем и найти инфу по эффектам
 

monami

Интересующийся
Местный
#6
Благодарю kick и правда инфа есть.
Единственное что смутило в C4_Function_List не нашел данных функции i_target_cancel(снимает таргет, трюк и свитч) и i_target_me(агр на себя) хотя в skilldata с4 у некоторых НПС есть скиллы с данными функциями, и они без проблем интегрировались в трюк,свитч и агр но значения для них выставить не могу. Например чтоб трюк и свитч срабатывали в 80%

И да в Open Source Interlude Extender, based on Gracia Final есть и i_target_cancel и i_target_me
 

*Immortal Pony*

Бывалый
Проверенный
#7
effect = {{i_fatal_blow;5773;300;20};{i_death;0;15}}
можно поподробней для всего что в {{ }} (очень нужно и я кое какие моменты не понимаю)
 

melcor

Интересующийся
Местный
#8
effect = {{i_fatal_blow;5773;300;20};{i_death;0;15}}
можно поподробней для всего что в {{ }} (очень нужно и я кое какие моменты не понимаю)
i_fatal_blow - название эффекта,
5773, мощность
300 blow-rate, мод на шанс удачной абилки
20 шанс критануть
i_death; название эффекта,(летал)
0; шанс на фулл летал
15 шанс на летал полхп
 

*Immortal Pony*

Бывалый
Проверенный
#9
  • affect_limit = {0;0} -??? дайте ответ что это
 

*Immortal Pony*

Бывалый
Проверенный
#11
kick может твой запас инфы пополнился, доделай топик (выдай всю инфу)
 

GoGLiKK

Бог Cмерти
Легенда
#12
в чем отличие
operate_type = A1
operate_type = A2
operate_type = DA1
operate_type = DA2

skill_begin skill_name=[s_hf_rush_impact1] /* [?? ???] */ skill_id=995 level=1 operate_type: DA2 magic_level=78 self_effect={} effect={{i_p_soul_attack;4224;0;0};{p_block_act}} end_effect={} operate_cond={{equip_weapon;{sword;blunt;dagger;dualdagger;dualfist;dual;pole}};{op_check_cast_range;200}} is_magic=0 mp_consume1=83 mp_consume2=0 consume_etc={0;5} cast_range=600 effective_range=800 skill_hit_time=0.8 skill_cool_time=0.2 skill_hit_cancel_time=0.5 reuse_delay=20 activate_rate=60 lv_bonus_rate=1 basic_property=con abnormal_time=9 abnormal_lv=1 abnormal_type=stun abnormal_instant=0 irreplaceable_buff=0 attribute={attr_none;0} trait={trait_shock} effect_point=-669 target_type=enemy affect_scope=fan affect_object=not_friend fan_range={0;0;600;60} affect_limit={5;12} next_action=attack abnormal_visual_effect=ave_stun debuff=1 ride_state={@ride_none} multi_class=0 olympiad_use=1 skill_end
 
Последнее редактирование:

Diagod

Пляшущий с бубном
Местный
#13
в чем отличие
operate_type = A1
operate_type = A2
operate_type = DA1
operate_type = DA2

skill_begin skill_name=[s_hf_rush_impact1] /* [?? ???] */ skill_id=995 level=1 operate_type: DA2 magic_level=78 self_effect={} effect={{i_p_soul_attack;4224;0;0};{p_block_act}} end_effect={} operate_cond={{equip_weapon;{sword;blunt;dagger;dualdagger;dualfist;dual;pole}};{op_check_cast_range;200}} is_magic=0 mp_consume1=83 mp_consume2=0 consume_etc={0;5} cast_range=600 effective_range=800 skill_hit_time=0.8 skill_cool_time=0.2 skill_hit_cancel_time=0.5 reuse_delay=20 activate_rate=60 lv_bonus_rate=1 basic_property=con abnormal_time=9 abnormal_lv=1 abnormal_type=stun abnormal_instant=0 irreplaceable_buff=0 attribute={attr_none;0} trait={trait_shock} effect_point=-669 target_type=enemy affect_scope=fan affect_object=not_friend fan_range={0;0;600;60} affect_limit={5;12} next_action=attack abnormal_visual_effect=ave_stun debuff=1 ride_state={@ride_none} multi_class=0 olympiad_use=1 skill_end
A1 - скилы с эффектами однократного(i_) действия
A2 - скилы с временными(p_ которые висят на чаре) эффектами, так же возможны в паре и однократные эффекты.
DA1 - тоже, что и A1, только в начале каста, чар подлетает к целе
DA2 - тоже, что и A2, только в начале каста, чар подлетает к целе
 

GoGLiKK

Бог Cмерти
Легенда
#14
  • effect_point = -1500 - ???
??? а за что это отвечает?

  • affect_scope = wyvern_scope - ???
и это тоже если можете сказать напишите плиз.
 

Diagod

Пляшущий с бубном
Местный
#15

  • effect_point = -1500 - ???
??? а за что это отвечает?


  • affect_scope = wyvern_scope - ???
и это тоже если можете сказать напишите плиз.
effect_point - используется в АИ мобов, для агра. по АИ искать метод Skill_GetEffectPoint
Код:
if(myself.Skill_GetEffectPoint(skill_name_id) > 0)
        {
            if(myself.IsInCombatMode(myself.sm) != 0)
            {
                f1 = myself.Skill_GetEffectPoint(skill_name_id);
                f0 = DefaultHate;
                if(HateRace1 > -1)
                {
                    if(HateRace1 == speller.getRace().ordinal())
                    {
                        f0 = (f0 + HateRace1Boost);
                    }
                }
                if(HateRace2 > -1)
                {
                    if(HateRace2 == speller.getRace().ordinal())
                    {
                        f0 = (f0 + HateRace2Boost);
                    }
                }
                if(HateClass1 > -1)
                {
                    if(speller.getActiveClassId() == HateClass1)
                    {
                        f0 = (f0 + HateClass1Boost);
                    }
                }
                if(HateClass2 > -1)
                {
                    if(speller.getActiveClassId() == HateClass2)
                    {
                        f0 = (f0 + HateClass2Boost);
                    }
                }
                if(HateClass3 > -1)
                {
                    if(speller.getActiveClassId() == HateClass3)
                    {
                        f0 = (f0 + HateClass3Boost);
                    }
                }
                if(HateClassGroup1 > -1)
                {
                    if(myself.IsInCategory(HateClassGroup1,speller.getActiveClassId()) > 0)
                    {
                        f0 = (f0 + HateClassGroup1Boost);
                    }
                }
                if(HateClassGroup2 > -1)
                {
                    if(myself.IsInCategory(HateClassGroup2,speller.getActiveClassId()) > 0)
                    {
                        f0 = (f0 + HateClassGroup2Boost);
                    }
                }
                if((f0 + 1) < 0)
                {
                    f0 = 0;
                }
                else
                {
                    f0 = (f1 * (f0 + 1));
                }
                myself.AddAttackDesire(speller,1,(f0 * SEE_SPELL_Weight_Point));
            }
        }
affect_scope - как правильно сказать...зона действия эффекта: одна цель из таргета, пати, клан, в определенном радиусе, зоне и т.д.
 

Diagod

Пляшущий с бубном
Местный
#17
Еще есть не верные описания:
  • magic_level = 60 - Используется для расчета шанса прохождения скила(разница маджик лвл и уровня цели)
  • effective_range = 1200 - максимальная дистанция цели. тоесть если каст_ренж=700, а этот параметр 1200 - при начале каста, дистанция к цели должна быть менее 700, для того что бы в конце каста сработал скил, цель должна находится не далее 1200.
  • skill_hit_cancel_time = 3.6 - не совсем так, это время до окончания каста когда, когда уже нельзя отменить каст скила и когда нельзя скрытся от скила...время зависит от скорости каста скила.
  • affect_range = 200 - радиус действия эффекта от цели каста, юзается в массовых скилах.
  • affect_object - отношение между целью: друг, фраг, клан, на всех, труп моба и т.д.
 

*Immortal Pony*

Бывалый
Проверенный
#18
Код:
reuse_delay_lock = 1
Статический откат скила (даже если у скила: reuse_delay = 0)
п.с. если я не прав то поправте
 

*Immortal Pony*

Бывалый
Проверенный
#19
lv_bonus_rate = 20 - за что отвечает?

basic_property = physical_abnormal_resist - а вот тут я вовсе присел (вот хз даж почему так пишет)
 

Mangol

Участник
Пользователь
#20
lv_bonus_rate = 20 - за что отвечает?

basic_property = physical_abnormal_resist - а вот тут я вовсе присел (вот хз даж почему так пишет)
lv_bonus_rate - дополнительный бонус к модификатору шанса от маг. уровня скилла(он же lvlDependMod в явах)


basic_property; // основной модификатор для скилла (con, men, dex и т.п.)
 

Gaikotsu

яжпрограммист
Легенда
#20
lv_bonus_rate = 20 - за что отвечает?

basic_property = physical_abnormal_resist - а вот тут я вовсе присел (вот хз даж почему так пишет)
lv_bonus_rate
влияет на шанс прохождения при случаях когда мэджик уровень скилла и уровень цели отличаются

basic_property
в ГоД упразднили указание зависимости прохождения от men, con и т.п. - вместо этовго ввели вот привзку к двум общим резистам - психическая устойчивость и физическая устойчивость.

как их применять в расчетах на прохождение не очень понятно если честно.
а так у каждой расы они свои
Код:
//PC 이상상태 내성 육체계 / 정신계 순임
abnormal_resist_begin
    human_fighter={10;10}
    human_magician={10;10}
    elf_fighter={10;15}
    elf_magician={10;15}
    darkelf_fighter={10;15}
    darkelf_magician={10;15}
    orc_fighter={15;10}
    orc_shaman={15;10}
    dwarf_apprentice={15;10}
    dwarf_mage={15;10}
    kamael_m_soldier={10;10}
    kamael_f_soldier={10;10}
abnormal_resist_end
 
Сверху Снизу