Сейчас 12:11:58 Пятница, 29 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Локальные триггеры (Удаление.)
Локальные триггеры
DarkVaderДата: Пятница, 19 Ноября 2010, 01:21:47 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Вопрос: насколько критично будет разрушение триггера, без удаления его действий? Везде вижу что сначала удаляют его действия, а потом разрушают триггер.
 

[DUОS]Дата: Пятница, 19 Ноября 2010, 08:39:26 | Сообщение # 2
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
DarkVader,
Сначала делаешь TriggerClearAcitions(trig), затем TriggerClearConditions(trig), а уж потом DestroyTrigger(trig).

P.S.: Жаль, что события невозможно очистить...


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

Banzay89Дата: Пятница, 19 Ноября 2010, 12:20:09 | Сообщение # 3
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
Хм... а разве DestroyTrigger не уничтожает триггер со всеми условиями и действиями??? А??Оо
 

EdiTTORRДата: Пятница, 19 Ноября 2010, 18:04:30 | Сообщение # 4
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Quote (Banzay89)
Хм... а разве DestroyTrigger не уничтожает триггер со всеми условиями и действиями??? А??Оо

Нет.Это разрушает триггер.(т.е.type trigger extends handle)
Но действия это type triggeraction extends handle
а условия это type triggercondition extends handle
так что ДУОС Сказал правильно:
Quote (|DUОS|)
Сначала делаешь TriggerClearAcitions(trig), затем TriggerClearConditions(trig), а уж потом DestroyTrigger(trig).


Местами здесь.


Сообщение отредактировал EdiTTORR - Пятница, 19 Ноября 2010, 18:05:22
 

DarkVaderДата: Пятница, 19 Ноября 2010, 19:00:20 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 357
Награды: 0
Репутация: 95
Блокировки:
Quote (|DUОS|)
Сначала делаешь TriggerClearAcitions(trig), затем TriggerClearConditions(trig), а уж потом DestroyTrigger(trig).

это я все знаю=) мне интересно то насколько критично будет разрушать триггер без удаления его действий и условий.

Добавлено (19-11-2010, 19:00)
---------------------------------------------
в общем я так понимаю если не удалять действия и условия то они просто напросто утекают?

 

[DUОS]Дата: Суббота, 04 Июня 2011, 13:00:41 | Сообщение # 6
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Аргх.
Я поискал по Интернету и корректирую свой ответ.
Отсоединение действия от триггера не уничтожает это действие © DioD
Это значит, что Clear не подходят, они являются зачищальщиками. Можно попробовать написать Близзам сюда, т.к. native-функции могут разбросать по полочкам только они. Я ещё попробую Handle Counter посмотреть, т.к. интересно уже самому.

Добавлено (04-06-2011, 13:00)
---------------------------------------------
Да, презабавная история.
Локальный триггер при полной своей записи создаёт до 20 хэндлов. Посмотрите основные сами:

trigger - При создании триггера от функции CreateTrigger()
  Способ уничтожения: функция DestroyTrigger(trig) и последующее обнуление локальной переменной-триггера.
event - При регистрации события триггера
  Способ уничтожения: не установлен
triggercondition - При регистрации условия триггера
  Способ уничтожения: не установлен
conditionfunc - Создаётся в условии функцией Condition(func)
  Способ уничтожения: функция DestroyCondition(cond)
triggercondition - При регистрации условия триггера
  Способ уничтожения: не установлен
triggercondition - При регистрации действия триггера
  Способ уничтожения: не установлен

А если триггеры создавать циклом, это ещё хуже.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

SirNikolasДата: Суббота, 04 Июня 2011, 14:20:52 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (|DUОS|)
triggercondition - При регистрации условия триггера
Способ уничтожения: не установлен
Code
native TriggerRemoveCondition takes trigger whichTrigger, triggercondition whichCondition returns nothing
Quote (|DUОS|)
triggeraction - При регистрации действия триггера
Способ уничтожения: не установлен
Code
native TriggerRemoveAction  takes trigger whichTrigger, triggeraction whichAction returns nothing


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Локальные триггеры (Удаление.)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz