XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:25.