У меня такой вопрос, если в триггер можно добавить событие, то есть ли возможность его удалить (аналогичный вопрос по условиям и действиям)?

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

TriggerRemoveAction
TriggerRemoveCondition
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
19
6 лет назад
1
Похожие вопросы:

ответ
Это давно обсуждалось. вопрос удаление события
Создание триггер события — 3 утечки. Стереть переменный триггер, и минус 1. Получается остается 2 утечки.
Вот если удалить юнита (Remove unit), то он стирается из события другого триггера?
Ответ: Да есть способ: вот шпаргалка
ответ
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
ответ
События триггера никак нельзя удалить, можно только удалить триггер (с кондишенами и акшенами).
А кстати вот - xgm.guru/p/wc3/venomanser
Будет несомненно полезно, как правильно удалять триггеры.
Да и вовсе полезно для общего развития.
ответ
нет понятия "подчиненный". Destroy триггера не чистит ни условия, ни действия, если вручную их не разбить через DestroyTriggerAction/Condition. Только вот те же Condition кэшируются и переиспользуются, а Action висят в памяти мертвым грузом при каждом создании.

4
16
6 лет назад
4
TriggerRemoveAction
TriggerRemoveCondition
Принятый ответ
1
14
6 лет назад
1
Событие удалить нелизя
Удалить можно тока то событие которое привязано к юниту потому что удаляя юнита удаляеца событие
3
32
6 лет назад
3
События никак не удаляются, они связаны с обьектами на которые они рассчитаны, у триггера можно удалять только условия и действия, напишите что хотите сделать?
2
28
6 лет назад
2
событие автоматически удаляется когда удаляются связанные с ним объекты
занимаемый событием хэндл очищается только тогда когда удаляется триггер
0
5
6 лет назад
0
quq_CCCP, Отвечая на твой вопрос. Хотелось сделать функцию с периодом примерно в 0.25 секунд и счётчиком реального значения. При достижении реального определённого значения, период должен поменяться на более высокое значение функции подсчёта были не нужны. Исходя из положения придётся написать 2 похожих триггера, которые различаются несколькими действиями.
1
25
6 лет назад
1
Lp666:
Используй таймеры.
1
28
6 лет назад
Отредактирован PT153
1
Lp666:
quq_CCCP, Отвечая на твой вопрос. Хотелось сделать функцию с периодом примерно в 0.25 секунд и счётчиком реального значения. При достижении реального определённого значения, период должен поменяться на более высокое значение функции подсчёта были не нужны. Исходя из положения придётся написать 2 похожих триггера, которые различаются несколькими действиями.
Используй таймеры. Они лучше, так как их легче удалить и настроить.
0
25
6 лет назад
0
Если принципиально гуи, то можешь вызывать свой триггер из таймера через Execut.
0
5
6 лет назад
0
Насчёт таймеров не подумал, в целом идея неплоха. В целом Гуи не принципиально, но в большинстве случаев предпочитаю его. Я конечно извиняюсь за свою неграмотность, но чтобы добавить событие нужно будет написать команду "TriggerAddAction".
0
28
6 лет назад
0
Я конечно извиняюсь за свою неграмотность, но чтобы добавить событие нужно будет написать команду "TriggerAddAction".
Это чтобы добавить действие. Событие регистрируется через TriggerRegister<event type>Event().
0
5
6 лет назад
0
PT153, Слегка описался, вопрос был про действия.
8
32
6 лет назад
8
Lp666:
PT153, Слегка описался, вопрос был про действия.
Нам вот очень интересно слушать такие подробности вашего эмоционального потрясения, в следующий раз пишите что "я ошибся" или "проклятый T9, заменил слово".
Действия триггера могут быть удалены как обьект, так и очищены из триггера (но в памяти висеть они останутся), TriggerRemoveAction - удалит указанное действие, требует ссылку на действие (handle triggeraction), так же TriggerClearActions уберет у триггера все действия, но они будут существовать как хендлы, и потребуется их последущее удаление действием TriggerRemoveAction чтобы не плодить утечки.
Еще вопросы?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.