[Вопрос] Запуск триггера TriggerExecute
|
|
kapa6acvlk | Дата: Суббота, 16 Июня 2012, 14:28:44 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Вопрос к знатокам, подскажите, вызов call TriggerExecute(trg) запустит триггер в новом потоке или в том, откуда он был запущен?? Смысл в том, что мне надо вызвать функцию расположенную ниже места вызова, ExecuteFunc не предлагать, т.к. оно сейчас именно так и реализовано. Хочу отказаться от него по мере возможности, ибо при прогоне через Wc3mapoptimizer названия функций меняются в стринги нет, и получается ошибка во время вызова. Вызываемая функция используется довольно редко, но она запускает таймер на 3 сек., грубо говоря навсегда, для каждого игрока.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
Ty3uK | Дата: Суббота, 16 Июня 2012, 14:43:48 | Сообщение # 2 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| да, запускается в новом потоке
|
|
|
|
SirNikolas | Дата: Суббота, 16 Июня 2012, 19:17:47 | Сообщение # 3 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (kapa6acvlk) Хочу отказаться от него по мере возможности, ибо при прогоне через Wc3mapoptimizer названия функций меняются, а стринги нет, и получается ошибка во время вызова. Скачай последнюю версию оптимизатора. Там это учтено. Не помню, правда, как, то ли названия функций не меняются, то ли строки редактируются.Добавлено (16 Июнь 2012, 19:17:47) --------------------------------------------- А поток новый создает, да.
|
|
|
|
kapa6acvlk | Дата: Воскресенье, 17 Июня 2012, 02:02:36 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Нашел ссылку по теме на hiveworkshop, судья по ней, TriggerExecute работает быстрее чем ExecuteFunc.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
Ty3uK | Дата: Воскресенье, 17 Июня 2012, 09:50:34 | Сообщение # 5 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| у них назначение разное лол
|
|
|
|
kapa6acvlk | Дата: Воскресенье, 17 Июня 2012, 15:04:37 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Один вызывает триггер, другой функцию. Вот моя функция которую нужно запустить: Code function Timer takes nothing returns nothing call TimerStart(udg_Timer,3.0,true,function Rules) endfunction Мне в принципе без разницы как я его буду запускать, главное что бы работало. Да и в моем случае различия между TriggerExecute и ExecuteFunc незначительный. Да и вообще если судить по результату, то функции выполняют одни и те же действия, только TriggerExecute требуется глобальная переменная с именем триггера, а ExecuteFunc мы напрямую вызовем нужную функцию, но как мне кажется (и судья по hiveworkshop), потратим время на преобразование String -> имя функции.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|