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

  • Автор темы Автор темы Ninbous
  • Дата начала Дата начала

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 действие  <<--- вот тут не знаю ключевых слов (доступ к здоровью)
      }
    }
  }
 
Последнее редактирование модератором:
Создаю Абилку при опускании здоровья ниже 400 будет срабатывать бафф. (как ульта Абадона)
Как написать условие если здоровье меньше 400 то сделать действие?
B вообще можно ли использовать ифы в файле npc_abilities_custom.txt?
я так понимаю есть lua а есть datadriven разница в том что в datadriven нельзя писать ifы b другие методы?
"Datadriven" это kv-файл. Key-value. В нем может быть только дерево с парами ключ-значение. Любая кастомная логика прописывается в lua. Найди на гитхабе SpellLibrary, или если у тебя стоит D2ModKit, то в нем то же самое.
У абилки ты можешь прописать путь к тому самому луа-файлу, который будет выполняться и учитывать прописанные условия.
 
Последнее редактирование модератором:
Создаю Абилку при опускании здоровья ниже 400 будет срабатывать бафф. (как ульта Абадона)
Как написать условие если здоровье меньше 400 то сделать действие?
B вообще можно ли использовать ифы в файле npc_abilities_custom.txt?
я так понимаю есть lua а есть datadriven разница в том что в datadriven нельзя писать ifы b другие методы?
Как сказали выше, datadriven это лишь конфиг. Вызывай функцию из lua в которой проверяй caster:GetHealth()
 
Последнее редактирование модератором:
If keys.caster:GetHealth < 400 then
keys.ability:AddDataDrivenModifier()
else
return nil
End
 
Последнее редактирование модератором:
У абилки ты можешь прописать путь к тому самому луа-файлу, который будет выполняться и учитывать прописанные условия.
Как?) И вообще где есть очень подробный гайд по созданию способностей и вообще скриптинга
 
Последнее редактирование модератором:
Реклама: