Это для значений массива, то есть у способности на каждом уровне одна настройка имеет несколько real значений. Вот с помощью этой функции их можно удалять. Правда, переменных для самих параметров пока не завезли.
Указанный параметр способности, Какой именно параметр, указываешь сам. Использование тривиально, если просмотреть common.j, скачать который можно в шапке. Там указаны абсолютно все параметры способности.
Если кеширование не работает (или не работает только в lua), то без уничтожения булэкпры будут утекать. Потому либо уничтожаем их после использования, либо заносим в глобалки.
Плюс от занесения булэкспров и code в глобалки весьма очевиден: переменные можно использовать в местах до определения самой функции. Актуально для Jass.
а ещё круче был бы флаговый фильтр, который возращал не true\false (nil, not nil), а тип int (number) и этим числом можно было бы запускать любую функцию из functable() в луа. А вот джассер посредством executefunc("fname+id").
DracoL1ch, слово Filter короче Condition, потому на них и пересел. ScopteRectuS, я все булэкспры заношу в переменные (и code тоже иногда), рекомендую делать также.
abatyr, у твоих способностей одинаковый id приказа. Нужно создать способность на основе "Канала", дать им разные id приказа, а настоящие способности кастовать даммиками.
Удалять утечки нужно, например, если через 20 минут игры карта начинает сильно тормозить.
Удалять нужно всё то, что дальше не будет использоваться. А если будет использоваться, то удалять не нужно в большинстве случаев.
Можно каждый раз создавать диалог, а после нажатия на него удалять. А можно создать один раз и его постоянно чистить. В первом случае будет меньше потребляться памяти, чем во втором, но на создание и удаление будет тратиться больше времени, чем на очистку во втором. Потому нужно смотреть по ситуации. С учётом того, что вряд ли кто-то будет делать n диалогов k раз в секунду, а сам диалог занимает не так много места, то оба варианта подходят.
Создание объекта не является утечкой. Утечкой является создания объекта и его дальнейшее неиспользование. Если же объект будет дальше использоваться, то это не утечка.
Centyrion, ты создал 1 диалог, его не нужно уничтожать, если ты собираешься его дальше использовать.
Вот карта, где я сделал аналогичный триггер. 8gabriel8, да одно и тоже, только после уничтожения триггера не будет.
Centyrion, после очистки диалога, все кнопки удаляются, и ты можешь добавить новые.
Зачем ты уничтожаешь диалог?
Зачем ты перебираешь игроков для того, чтобы показать диалог только владельцу вошедшего юнита?
Триггер лучше сразу отключать, а не уничтожать через 2 секунды.
» WarCraft 3 / Механика архонта
» WarCraft 3 / Механика архонта
» WarCraft 3 / Мгновенный поворот юнита
» WarCraft 3 / Мгновенный поворот юнита
Ред. PT153
» WarCraft 3 / Мгновенный поворот юнита
» WarCraft 3 / Официально стал доступен PTR 1.31
Ред. PT153
» WarCraft 3 / Официально стал доступен PTR 1.31
» WarCraft 3 / Официально стал доступен PTR 1.31
» WarCraft 3 / Официально стал доступен PTR 1.31
Ред. PT153
» WarCraft 3 / Проблема с иконками
» WarCraft 3 / Как определить что рабочий с мешком золота?
Ред. PT153
» WarCraft 3 / Официально стал доступен PTR 1.31
» WarCraft 3 / Одновременно используются 3 способности на основе одной
» WarCraft 3 / Одновременно используются 3 способности на основе одной
Ред. PT153
» WarCraft 3 / Официально стал доступен PTR 1.31
KingMaximax:
Плюс от занесения булэкспров и code в глобалки весьма очевиден: переменные можно использовать в местах до определения самой функции. Актуально для Jass.
» StarCraft 2 / Hots и LOTV
» WarCraft 3 / Официально стал доступен PTR 1.31
ScopteRectuS, я все булэкспры заношу в переменные (и code тоже иногда), рекомендую делать также.
» WarCraft 3 / Диалог, Кнопка и утечки памяти
» WarCraft 3 / Одновременно используются 3 способности на основе одной
Ред. PT153
» WarCraft 3 / Диалог, Кнопка и утечки памяти
Можно каждый раз создавать диалог, а после нажатия на него удалять. А можно создать один раз и его постоянно чистить. В первом случае будет меньше потребляться памяти, чем во втором, но на создание и удаление будет тратиться больше времени, чем на очистку во втором. Потому нужно смотреть по ситуации. С учётом того, что вряд ли кто-то будет делать n диалогов k раз в секунду, а сам диалог занимает не так много места, то оба варианта подходят.
Ред. PT153
» WarCraft 3 / Диалог, Кнопка и утечки памяти
» WarCraft 3 / Диалог, Кнопка и утечки памяти
Ред. PT153
» WarCraft 3 / Диалог, Кнопка и утечки памяти
Вот карта, где я сделал аналогичный триггер.
8gabriel8, да одно и тоже, только после уничтожения триггера не будет.
» WarCraft 3 / Диалог, Кнопка и утечки памяти
Ред. PT153
» WarCraft 3 / Диалог, Кнопка и утечки памяти
Зачем ты уничтожаешь диалог?
Зачем ты перебираешь игроков для того, чтобы показать диалог только владельцу вошедшего юнита?
Триггер лучше сразу отключать, а не уничтожать через 2 секунды.