Bornikkeny
Silenced by Bornikkeny
offline
Опыт:
24,410Активность: |
Как правильно удалять триггеры?
Привет, пожалуй сразу отпишусь что поиск юзал (вообще поиск норм, всем советую), вот только четкого ответа никак не мог найти. Везде разногласия, одни пишут что надо выключить триггер, подождать 2-3.00 сек, и смело удалять, а некоторые пишут что сначала надо удалять все условия, события(лолчто?) и действия, буду очень благодарен четкому и аргументированному ответу ;) |
30.04.2013, 19:18 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Карточка
Kicked by SSrunX
offline
Опыт:
2,017Активность: |
пустой байтодрочинг |
01.05.2013, 00:36 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,258Активность: |
Bornikkeny, события чистятся в тот момент, когда исчезают все триггеры, их использующие, при этом на сколько угодно большое количество триггеров по факту работает одно событие, если они реагируют на одно и то же. Условия удаляются через RemoveBoolexpr (могу ошибаться).
А вообще триггеры нет смысла удалять, если они не создаются по 30 штук в секунду. |
01.05.2013, 01:09 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
не выйдет удалять целиком, утекает память, тестил много раз |
01.05.2013, 01:36 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,258Активность: |
ScorpioT1000, остаётся только ссылка в памяти, так что по сути статичные триггеры не удаляют |
01.05.2013, 02:12 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,598Активность: |
Bornikkeny, Bornikkeny:
И верно, удалить событие нельзя, нету такой функции в jass как удалить у триггера событие... поэтому и утекает память ScorpioT1000, (с) Условие и действия можно очистить у триггера (удалять условие особой нужды как правило нет, в норм алгоритмах оно будет использоваться часто) Удаляют только динамические триггеры, которые создаются для 1 кратного (иногда многократного) фиксированного события, самый яркий пример это получение юнитом урона, где при каждом ударе по юниту будет создаваться триггер, чтобы отследить факт попадания по юниту, так сделано в доте... В некоторых системах используется 1 триггер с разными условиями и действиями, ну и естественно ему по мере надобности добавляются события, очищаются условия и действия... |
01.05.2013, 03:26 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Bornikkeny
Silenced by Bornikkeny
offline
Опыт:
24,410Активность: |
Все ясно, мне собственно, надо для EventDamage ;) quq_CCCP, вот сейчас изучаю твою систему, думаю взять кусок кода ;D |
01.05.2013, 06:33 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|