Привет всем.
Крч, сделал триггер на GUI, чтобы юнит, используя спелл, отправлял в точку каста другого юнита( аля артиллерия) которая прилетая туда ставит мину(юнита) и пропадает, и вот, это всё в принципе очень легко, но если этот спелл юзается сразу несколько раз, то условие Wait until слетает на новую точку и юнит(артиллерия) который был первее вызван не заканчивает триггер ибо условие прилететь в область поменялось под следующего юнита(артилллерия) . Собственно вот, как сделать Идентификатор для нового запуска если уже запущен триггер и он на стадии 'Wait until" ?
P.S: Крч я полный дурак не наю как это реализовать на GUI, делал через две переменные с массивами но это всё сильно нагромождает, пытался делать через условия если триггер уже запущен но тогда если первый прилетел то он не пропадёт пока второй не прилетит и пропадают уже вместе и т.д. На джассе думаю через локалки бы это всё было легко отлавливать и застаивать, но я его уже забыл :D

MoreDoPass, для этого и нужны массивы, чтобы было MUI
  1. первый триггер сохраняет все нужные данные на один общий индекс, например PlantmineCount, и увеличивает этот индекс на один.
  2. второй триггер каждые 0,0Х секунд пробегается по массиву от нуля до PlantmineCount, проверяет расстояние и если оно подходит, делает нужные действия. После этого, чтобы тот же элемент не обрабатывался заново, нужно заменить его во всех массивах на последний и уменьшить PlantmineCount на 1. И счетчик цикла тоже уменьшить на 1, иначе этот последний элемент будет пропущен тк индекс по циклу уйдет дальше.
`
ОЖИДАНИЕ РЕКЛАМЫ...
22
скинь скриншоты своих триггеров чтобы было видно где ты накосячил с переменными
26
Если сильно не отходить от переменных, то можно либо через массивы переменных делать, либо как-то через Custom Value мутить. Но было бы лучше вспомнить локалки в jass.
2
Это уже не канон, но работает так же.
Загруженные файлы
22
Бред какой-то сделал. Зачем в качестве индекса массивов используется массив plantmineX[plantminey]?
С массивами можно нормально сделать и без локалок, но надо понимать что и куда идет, а тут просто как попало наложены массивы. Области какие-то создаются. Используйте Distance between points.
ну и утечки тут еще докучи, надо удалять location'ы, но сперва конечно надо саму логику починить. для начала переделать все. Использовать отдельный триггер с таймером который будет пробегаться по массиву циклом и проверять что снаряд долетел до цели.
2
Ибо пытался разделить когда кто-то запускает триггер.
За Distance between points спасиб, не знал. Но в целом проблему не решило :D Проблема в том шо при запуске триггера второй раз пока ещё первый не прошёл, убивает очередь в первом.
22
MoreDoPass, для этого и нужны массивы, чтобы было MUI
  1. первый триггер сохраняет все нужные данные на один общий индекс, например PlantmineCount, и увеличивает этот индекс на один.
  2. второй триггер каждые 0,0Х секунд пробегается по массиву от нуля до PlantmineCount, проверяет расстояние и если оно подходит, делает нужные действия. После этого, чтобы тот же элемент не обрабатывался заново, нужно заменить его во всех массивах на последний и уменьшить PlantmineCount на 1. И счетчик цикла тоже уменьшить на 1, иначе этот последний элемент будет пропущен тк индекс по циклу уйдет дальше.
Принятый ответ
26
Там (Last created unit) сбивается, нужно создать закреплённую пару юнит-область, например, задав custom value юниту, которое указывать в индексе массивов юнитов и областей.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.