1. Что возвращает функция ModuloInteger()?
  1. Что возвращает функция GetTriggerExecCount() ?
  1. И менее странная третья функция GetTriggerEvalCount(t) правильно ли я понял что эта функция работает примерно так:
if GetTriggerEvalCount(t) >100 (это условие подсчитывает сколько раз было успешное выполнение триггера true, например 100 - это 10 секунд)
правильно ли я понял третью функцию
и стоит ли обнулять эти выше сказанные функции?

Принятый ответ

огромная инфа
GetTriggerEvalCount - сколько раз условие сработает (если триггер выключен, то событие с условием все равно работают, и будет прибавлять без конца). Еще понял, что, если выключен (через галочку), то это не будет работать. Есть специальная команда TriggerEvaluate, можно проверить с помощью нее. Это короче сколько раз прокатывает условие (см. TriggerEvaluate)
GetTriggerExecCount - сколько раз сработал триггер (если триггер выключен, то счетчик GetTriggerExecCount не засчитает это). Вроде это за поток отвечает, например Execute. Мне вот интересно, а вот в ForGroup проверить можно сколько потоков стало? вроде ничего не будет
TriggerEvaluate - проверка, проверяет есть ли у триггера условие. Проверяет скорее всего, то что прокатывает ли условие (пример функции ConditionalTriggerExecute). Можно на любом триггере проверить это. Если триггер выключен (не в самих триггерах, а в разделе редактора триггеров через галочку - если снять включен, то не работает проверка), то это не проверишь. Некоторые хитрецы используют функцию условия, это будет быстрее, а точнее раньше выполняется. С этим можно использовать TriggerEvaluate
TriggerExecute - запускает поток функции (действие триггера запускает), игнорируя условие и событие. Однако, не используйте варкрафтовские переменные вроде GetTriggerUnit(), так как они не будут работать, ибо они пусты и зависят от события.
TriggerExecuteWait - то же самое, что и TriggerExecute. В чем разница между двумя мне неизвестно. Проверял маленько.
ResetTrigger - перезапускает триггер и обнуляет значения GetTriggerEvalCount и GetTriggerExecCount
TriggerSleepAction - он же вэйт, паузит на время поток (не паузит весь триггер), короче действие (action). В условии эта штука не работает, обрывает поток. В некоторых функциях он также не работает, например ForGroup, В ForGroup видимо отдельные потоки создает и шлет, на каждого свой поток, если вставит там вэйт, то он обрубает поток и все. А то что внизу осталось, он до конца не обработает уже никогда. Это пример.
раскрыть
Вот результаты:
  1. Вызов TriggerSleepAction внутри TriggerEvaluate убивает поток, и он никогда не возобновляется.
  2. Вызов TriggerSleepAction внутри TriggerExecute работает.
  3. Вызов TriggerSleepAction внутри TriggerExecuteWait выполняет то же самое, что и TriggerExecute.
  4. Иногда может обрывать поток в неожиданных местах. Например, ForGroup. А иногда работает.
IsTriggerWaitOnSleeps, - эта особая проверка триггера, проверяет включена ли пауза (короче вэйт TriggerSleepAction будет работать, иначе нет). С этой функцией связана другая функция TriggerWaitOnSleeps. IsTriggerWaitOnSleeps возвращает истину true - значит вэйт включен, false - вэйт выключен. Кстати я долго мучался, оказывается, что, если все в первый раз, то функция вернет false, даже, если вэйт работает.
TriggerWaitOnSleeps - функция которая включает вэйт (true) и выключает вэйт (false). Короче пропускает время ожидания вэйта. У меня эта функция работает не сразу, или вообще не работала, тыкал пока не заработало.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
18
7 лет назад
Отредактирован dave_wwid
1
рискну предположить что
первая возвращает значение по модулю
вторая число выполнений триггера
третья - число событий при которых проводилась проверка условия триггера (при отсутствии условия третья=вторая)
Обнулять нет смысла.
0
32
7 лет назад
0
Эмм, есть такая прекрастная штука как JASS_API
Берем и смотрим что к чему. Так же на случай незнания игнлиша, гугл переводчик - translate.google.ru
0
15
7 лет назад
0
  1. Деление целого числа с остатком
  2. Вроде, количество текущих потоков, работающих с данным триггером. Используется для создания МУИ.
0
18
7 лет назад
Отредактирован dave_wwid
0
Деление целого числа с остатком
modulo -арифметический оператор, возвращающий остаток от деления двух целых чисел (с чем полностью согласен, первое предположение оказалось ошибочным)
JackFastGame:
Вроде, количество текущих потоков, работающих с данным триггером.
Позвольте не согласиться - это число исполнений триггера
5
27
7 лет назад
Отредактирован MpW
5
огромная инфа
GetTriggerEvalCount - сколько раз условие сработает (если триггер выключен, то событие с условием все равно работают, и будет прибавлять без конца). Еще понял, что, если выключен (через галочку), то это не будет работать. Есть специальная команда TriggerEvaluate, можно проверить с помощью нее. Это короче сколько раз прокатывает условие (см. TriggerEvaluate)
GetTriggerExecCount - сколько раз сработал триггер (если триггер выключен, то счетчик GetTriggerExecCount не засчитает это). Вроде это за поток отвечает, например Execute. Мне вот интересно, а вот в ForGroup проверить можно сколько потоков стало? вроде ничего не будет
TriggerEvaluate - проверка, проверяет есть ли у триггера условие. Проверяет скорее всего, то что прокатывает ли условие (пример функции ConditionalTriggerExecute). Можно на любом триггере проверить это. Если триггер выключен (не в самих триггерах, а в разделе редактора триггеров через галочку - если снять включен, то не работает проверка), то это не проверишь. Некоторые хитрецы используют функцию условия, это будет быстрее, а точнее раньше выполняется. С этим можно использовать TriggerEvaluate
TriggerExecute - запускает поток функции (действие триггера запускает), игнорируя условие и событие. Однако, не используйте варкрафтовские переменные вроде GetTriggerUnit(), так как они не будут работать, ибо они пусты и зависят от события.
TriggerExecuteWait - то же самое, что и TriggerExecute. В чем разница между двумя мне неизвестно. Проверял маленько.
ResetTrigger - перезапускает триггер и обнуляет значения GetTriggerEvalCount и GetTriggerExecCount
TriggerSleepAction - он же вэйт, паузит на время поток (не паузит весь триггер), короче действие (action). В условии эта штука не работает, обрывает поток. В некоторых функциях он также не работает, например ForGroup, В ForGroup видимо отдельные потоки создает и шлет, на каждого свой поток, если вставит там вэйт, то он обрубает поток и все. А то что внизу осталось, он до конца не обработает уже никогда. Это пример.
раскрыть
Вот результаты:
  1. Вызов TriggerSleepAction внутри TriggerEvaluate убивает поток, и он никогда не возобновляется.
  2. Вызов TriggerSleepAction внутри TriggerExecute работает.
  3. Вызов TriggerSleepAction внутри TriggerExecuteWait выполняет то же самое, что и TriggerExecute.
  4. Иногда может обрывать поток в неожиданных местах. Например, ForGroup. А иногда работает.
IsTriggerWaitOnSleeps, - эта особая проверка триггера, проверяет включена ли пауза (короче вэйт TriggerSleepAction будет работать, иначе нет). С этой функцией связана другая функция TriggerWaitOnSleeps. IsTriggerWaitOnSleeps возвращает истину true - значит вэйт включен, false - вэйт выключен. Кстати я долго мучался, оказывается, что, если все в первый раз, то функция вернет false, даже, если вэйт работает.
TriggerWaitOnSleeps - функция которая включает вэйт (true) и выключает вэйт (false). Короче пропускает время ожидания вэйта. У меня эта функция работает не сразу, или вообще не работала, тыкал пока не заработало.
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.