Как отключить триггер действием так, чтобы все действия этого триггера, идущие (перемещается камера в этот момент, например) и которые будут в нём запущены после? Желательно GUI, но можно JASS.

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

nvc123, ну можно тогда после каждого действия вставлять иф с проверкой логической, и если условие = да, то скип следующие действия.
так ролики вроде близы делали, которые можно было пропускать
4 комментария удалено
0
23
9 лет назад
Отредактирован Тимур
0
потоки параллельны и чтобы прервать выполнение 1 потока из другого нужны ифы перед каждым действием
Я не буду спорить о теории, но на практике выполнение действия "skip remaining actions" может прервать только wait. Будь там хоть 9000 действий - ни одно из них не сработает, если перед первым из них стоит команда "skip remaining actions".
Этот комментарий удален
0
11
9 лет назад
0
То есть выполнение действия "skip remaining actions" останавливает только действие wait. Или останавливает только то действие, которое стоит сразу после "skip remaining actions", а все остальные идут на очередь?
Немного меня сбили с толку)
2
28
9 лет назад
Отредактирован nvc123
2
Dragonear, "skip remaining actions" это return
тоесть он завершает триггер(функцию) в том месте где был вызван и то что идёт после него вызываться не будет
0
11
9 лет назад
0
ясно... и невозможно сделать функцию в триггере, которая сама будет проверять "skip remaining actions". Надо самому ставить ифы. Больше вариантов нет более легких?
0
24
9 лет назад
0
Dragonear, можно написать на нормальном языке программирования внешний постпроцессор, который будет обрабатывать jass-код при сохранении карты и добавлять условие с командой на завершение триггера, но я бы не сказал что это проще.
0
11
9 лет назад
0
Я бы тоже не сказал, что это проще. Нормальный язык программирования это jass? Или какой? Я jass не хочу учить так, как это не мировой язык. Я собственно учу язык java/
0
24
9 лет назад
0
Dragonear, C/C++, C#, java и так далее. Интересно, как можно было прийти к предположению, что на jass можно написать внешний модуль, который работал бы в момент сохранения карты?
0
11
9 лет назад
0
prog, это я затупил. Но написать внешнюю программу, которая будет работать с синтаксисом jass. Я не знаю примет ли варик эту прогу. Да и проблем много)
Варик на каком языке написан? C, C+, C++, C#?
0
24
9 лет назад
0
Dragonear, внешнему парсеру вовсе не обязательно идеально знать jass чтобы выполнять такое простое действие, как добавление кода по шаблону. Предложил бы по копаться в моем коде от проекта xgm.guru/p/fly-data но не уверен что найду его. Что касается понимания варом - сам вар о внешнем модуле ничего знать не должен - все делается на уровне редактора карт, а модуль является плагином к JNGP.
0
11
9 лет назад
0
Хитро.
Я вообще плохо в этом разбираюсь)
Так что не могу говорить на техническом уровне)
0
28
9 лет назад
0
prog, Dragonear, зачем внешняя прога
я же сказал
на cjass пишем небольшую либу и подключаем её к нашей карте
и она сама добавляет проверки
0
24
9 лет назад
0
nvc123, может потому что добавлять проверки для каждого вызова в карте это немного лишнее? define из cjass ведь не дает полноценные фильтры настроить. И да, cjass парсер это тоже "внешняя прога", просто он уже написан и подключен к JNGP.
0
14
9 лет назад
0
Ладно, закрываю, раз никто не может предложить без "Если". Но в таком случае, я пошёл чистить свои триггеры от "Ждать", переделаю на таймеры.
0
24
9 лет назад
0
Хозяин Миров, переделать на таймеры лучший вариант, если честно, особенно если на jass делать - можно написать систему, инкапсулирующую в себе работу с таймерами и прерываниями. Постпроцессор, конечно, намного лучше, но по балансу сложности и полезности проигрывает.
2
33
9 лет назад
2
Ладно, закрываю, раз никто не может предложить без "Если". Но в таком случае, я пошёл чистить свои триггеры от "Ждать", переделаю на таймеры.
Если вы о роликах и ESC - я в морлоках делал один таймер, который вызывает следующую функцию, которая запускает его-же, и отдельно функцию прерывания ролика, которая устанавливала все так, как оно должно быть после него. И эта финальная функция вызывалась как и по промотке ролика, так и по его окончанию.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.