Добавлен Vadik29
Вопрос касательно событий. Предположим сделать 1 из вариантов:
- 1 событие на все (ну или но большинство) спелы "Юнит применил способность" и уже от туда проверять нажатую абилку и запускать действие. В таком случае мы будет создавать намного меньше событий и условий триггера, но сделаем большой каскад условий (+ это может быть крайне неудобно)
- 1 событие на каждого героя. Тоже что и в первом, но мы будет подгружать это только в момент пика героя, т.е. герои которыми не играют, не будут занимать память.
- Просто подгружать события и действия для каждого героя.
Какой из трех вариантов, наиболее оптимальный? Вопрос чисто гипотетический и хочется узнать ответ.
Принятый ответ
Похожие вопросы:
ответ
Есть, триггер для триггерных скиллов 1, 3 ивента, кастанул, завершил каст, выучил - все, далее условие что абилка в базе данных и собственно действие екзикут функции взятой из базы данных.
ответ
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
Используйте хэш-таблицу. С помощью нее делаете базу данных при инициализации. В ней сохраняете строку, название функции. Вызываете через ExecuteFunc. Выводы какие:
действие........
endfunction
Оптимизация здесь важна исключительно с целью ускорить загрузку карты, экономить память на единоразовом действии абсолютно бессмысленно.