например создаются много локальных триггеров
при инициализации карты и работают постоянно
local trigger trigger1 = CreateTrigger()
или
при инициализации создаются много глобальных
и изначально выключенных триггеров которые включаются только если условия выполнены
какой триггер лучше глоб или лок?

Принятый ответ

Zeuz:
DazzleFirst, возможно ли как то создать локальный триггер при применении способности и уничтожить обратно?
ведь обычно локальные триггеры как правило при применении способности создаются в инициализации карты...
нет нужды выделять еще один триггер (помимо отлова) на заклинание, если оно не слишком громоздкое в плане исполнения.
Как сообщает товарищ nvc123:
Zeuz, лучше не использовать много триггеров
вообще нету такой ситуации в которой надо много триггеров
стоит обратить на это внимание.
Везде и всюду есть свои нюансы которые нужно учитывать. Если не выполнить задуманное с помощью одного триггера, то делаем два.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
9 лет назад
0
Одинакого, триггеры как висели в памяти так и висят, че бы вы не делали...
А переменная это ссылка, пустая она или со значением уже неважно, вар выделил под неё память и отнимать не собирается.
Если у вас уж так много триггеров мб стоит попытаться уменьшить их количество если это вас беспокоит?
0
4
9 лет назад
0
Zeuz:
DazzleFirst, возможно ли как то создать локальный триггер при применении способности и уничтожить обратно?
ведь обычно локальные триггеры как правило при применении способности создаются в инициализации карты...
нет нужды выделять еще один триггер (помимо отлова) на заклинание, если оно не слишком громоздкое в плане исполнения.
Как сообщает товарищ nvc123:
Zeuz, лучше не использовать много триггеров
вообще нету такой ситуации в которой надо много триггеров
стоит обратить на это внимание.
Везде и всюду есть свои нюансы которые нужно учитывать. Если не выполнить задуманное с помощью одного триггера, то делаем два.
Принятый ответ
0
28
9 лет назад
0
помимо отлова
тоже не надо
достаточно 1 триггера на карту для отлова всех триггерных кастов а потом просто через экзекьют нужные функции вызываем(имя функции берём из хэша/массива по равкоду спела)
0
4
9 лет назад
0
достаточно 1 триггера на карту для отлова всех триггерных кастов а потом просто через экзекьют нужные функции вызываем(имя функции берём из хэша/массива по равкоду спела)
тоже верно, ибо за каждое использование сразу варчик пытается запустить N-ое количество триггеров с сия отловом. От чего происходят лаги на старых машинах или\и какой триггер может не запуститься.
nvc123, я лично делаю только тестовые карты способностей, поэтому разницы не вижу. Однако играл как-то раз в карту The Blood Way, использовав любую способность на основе "Громовая поступь" у меня происходили лаги (от 0.5 до 4 сек.) на моей старой машинке 2001 года. А на основе сия способности очень много других способностей, в силу этого я очень долго плакал, когда какой Маг или Паладин использует такие способности.
К чему это я... у меня нет желания прям до 0 оптимизировать способности, ибо скачавшие мною воплощенную идею должны что-нибудь додумывать сами, те же дебаги. Иначе когда же они научаться хоть чему-то?
0
17
9 лет назад
0
nvc123, DazzleFirst, экзекьют?
nvc123, пример есть?
0
4
9 лет назад
0
nvc123, DazzleFirst, экзекьют?
call ExecuteFunc("my_func")
0
17
9 лет назад
0
DazzleFirst, а как вызвать триггер для отлова всех
триггерных кастов а потом просто через экзекьют
нужные функции вызывать и имя функции взять из хэша/
массива по равкоду?
мой метод не универсален потому что минус в том что здесь есть ограничения вызова функции толи 15 или 20 вызовов и все, нужен новый триггер
if GetSpellAbilityId == равкод then
call Myfunction()
endif
и так 15 раз и все нужен новый триггер
0
28
9 лет назад
0
Zeuz, заносим имена функций в хэш по равкоду
а потом когда юнит применил способность просто делаем
ExecuteFunc(LoadString(hash,GetSpellAbilityId(),0));
заносить вот так
SaveString(hash,'A000',0,"MyFunc")
где A000 это равкод спелла
MyFunc имя функции которая должна вызываться при касте этой способности
0
17
9 лет назад
0
nvc123, пример карту можно пожалуста...
0
28
9 лет назад
0
Zeuz, нет
я скинул тебе готовое решение
если ты не можешь заюзать мозг и вставить этот код в указанные мной места то забей на джасс и иди гопать мобилки
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.