Добрый день. В карте планируется 160+ способностей. Какой оптимальный метод реализации триггеров заклинаний?
  1. Создать один глобальный триггер с событием каста заклинания и добавлять в качестве действий функции, выполняющие код каждой способности, а в этом коде сверять айди спелла.
  2. Создавать локальный триггер на каждую абилку, как это делают в спеллпаках.
Или, может, существует ещё какой-то метод получше? Язык Lua.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Этот комментарий удален
16
один триггер, вызывающий через ExecuteFunc строку-функцию, сохраненную для конкретного ID в таблице вида SpellData,SPELL_EFFECT,ID
24
один триггер, вызывающий через ExecuteFunc строку-функцию, сохраненную для конкретного ID в таблице вида SpellData,SPELL_EFFECT,ID
В вопросе четко указано - Lua. На луа можно хранить функции в ассоциативном массиве и даже передавать в них параметры при вызове - не нужен ExecuteFunc.
16
да на здоровье, чем бы дитя не тешилось, лишь бы было с кем играть в официалах)
24
DracoL1ch, как люди сидящие по своим причинам на классике протестуют против ответов основанных на функциях рефоржа, так и я протестую когда на вопрос, в котором четко указан язык реализации, дают устаревший ответ.
Этот комментарий удален
33
newuser, зачем тебе дота под рефордж? у д2 системные требования ниже чем у рефорджа
16
в смысле устаревший ответ? один триггер лучше, чем несколько, а то, что у тебя реализация теперь чутка по-другому не значит, что ответ неверный
рефоржеду никакая дота не светит)
24
DracoL1ch, ответ верный, но устаревший в контексте Lua. От такого ответа может быть больше вреда чем пользы, если кто-то прочитав его пойдет на луа использовать жассовую ExecuteFunc и строки. Если бы вопрос был по жассу - я бы и слова не сказал.
9
А если они будут не локальными это будет сильно не оптимизировано?
Допустим больше 160 обычных гуи спелов.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.