Как отследить событие изменения здоровья при получении урона?

Ninbous

Новичок
20 Сен 2015
2
0
Создаю Абилку при опускании здоровья ниже 400 будет срабатывать бафф. (как ульта Абадона)
Как написать условие если здоровье меньше 400 то сделать действие?
B вообще можно ли использовать ифы в файле npc_abilities_custom.txt?
я так понимаю есть lua а есть datadriven разница в том что в datadriven нельзя писать ifы b другие методы?
Код:
"sven_frenzy_ability"
{
  "BaseClass"       "ability_datadriven"
  "AbilityBehavior"    "DOTA_ABILITY_BEHAVIOR_PASSIVE"
  "Modifiers"
  {
    "sven_frenzy_modifier"
    {
      "Passive" "1"
      "OnTakeDamage"
      {
         if(Текущее здоровье меньше 400) then действие  <<--- вот тут не знаю ключевых слов (доступ к здоровью)
      }
    }
  }
 
Последнее редактирование модератором:

M@G

Пользователь
1 Авг 2015
63
0
Создаю Абилку при опускании здоровья ниже 400 будет срабатывать бафф. (как ульта Абадона)
Как написать условие если здоровье меньше 400 то сделать действие?
B вообще можно ли использовать ифы в файле npc_abilities_custom.txt?
я так понимаю есть lua а есть datadriven разница в том что в datadriven нельзя писать ifы b другие методы?
"Datadriven" это kv-файл. Key-value. В нем может быть только дерево с парами ключ-значение. Любая кастомная логика прописывается в lua. Найди на гитхабе SpellLibrary, или если у тебя стоит D2ModKit, то в нем то же самое.
У абилки ты можешь прописать путь к тому самому луа-файлу, который будет выполняться и учитывать прописанные условия.
 
Последнее редактирование модератором:

CryDeS

Друзья CG
14 Июл 2015
1,210
11
Создаю Абилку при опускании здоровья ниже 400 будет срабатывать бафф. (как ульта Абадона)
Как написать условие если здоровье меньше 400 то сделать действие?
B вообще можно ли использовать ифы в файле npc_abilities_custom.txt?
я так понимаю есть lua а есть datadriven разница в том что в datadriven нельзя писать ifы b другие методы?
Как сказали выше, datadriven это лишь конфиг. Вызывай функцию из lua в которой проверяй caster:GetHealth()
 
Последнее редактирование модератором:

Adam Smith

Друзья CG
4 Окт 2014
473
2
If keys.caster:GetHealth < 400 then
keys.ability:AddDataDrivenModifier()
else
return nil
End
 
Последнее редактирование модератором:

Ninbous

Новичок
20 Сен 2015
2
0
У абилки ты можешь прописать путь к тому самому луа-файлу, который будет выполняться и учитывать прописанные условия.
Как?) И вообще где есть очень подробный гайд по созданию способностей и вообще скриптинга
 
Последнее редактирование модератором:
Реклама: