Сколько не делал триггер, все равно не проверяется нормально, уже делал и через if, then, else и через wait until condition, но область вокруг героя не проверяется. Пехота выполняет команду атаки но дальше ничего не происходит
UPD>Вопрос почему-то закрылся, но проблема не решилась. Триггер не работает и лучшее решение сработает только если все юниты из группы будут в регионе, а мне нужно чтобы достаточно было проверить одного из них, первого кто пришел в регион.Админ красава, конечно...

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

ScorpioT1000, мне кажется, регионы он там не должен создавать =) вот точки да, а регионы же обычно берут из ныне существующих регионов. если создадим его в редакторе, его же и указывают в функции. ниче не создает.
такая гуи-команда странная, не помню такую в boolean. Типа ПРОВЕРКА что все юниты группы в регионе?

в скрине мб локалки не обнулены. там BJ-функции, раскрой и посмотри нет ли их. пример
советовал бы строить по-другому конструкцию.
если честно, не понятно, что за карту ты скинул. я тебе просто пример оптимизации на гуи показал. Но не решения ваших проблем. на jass этого бы не потребовалось, ибо на гуи приходится изворачиваться из-за ограничении команд и утечности bj-функции. там группы утекают, где-то не обнуляют/не удаляют.

Я короче более менее понял вашу ситуацию. 4триггер у вас не будет работать из-за переменной. там надо в фильтре вместо Picked unit ставить Matching Unit. С 4 примером я кажется ошибся. Там у меня по другому работает: выделяю всех из группы и нахожу рандомного юнита, а надо выделить вокруг гг, которые состоят в группе.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 года назад
0
Похожие вопросы:

ответ
Утечка - это когда не удаляются ненужные объекты. Здесь регион нельзя удалять, потому что без него событие не будет работать. Но если у вас много таких событий, то лучше использовать один регион для всех событий, при условии, что размеры региона не будут изменяться в процессе игры, потому что это может нарушить работу других событий, привязанных к данному региону.
А функция TriggerRegisterEnterRectSimple в теории не утечна, но на практике может утекать, например, если в потоке триггера будет вызвано её уничтожение RemoveRegion(GetTriggeringRegion()).

1
37
4 года назад
Отредактирован ScorpioT1000
1
Ты не правильно понимаешь операцию pick random unit.
Она буквально прямо в момент выполнения берет одного рандомного юнита, и это не всегда может быть тот, что тебе нужен.
0
1
4 года назад
0
ScorpioT1000:
Ты не правильно понимаешь операцию pick random unit.
Она буквально прямо в момент выполнения берет одного рандомного юнита, и это не всегда может быть тот, что тебе нужен.
Я пытаюсь сделать скрипт, чтобы при энном событии, все юниты из группы атаковали героя и когда любой из них был обнаружен в области - происходило действие. Перед этим делал триггер чтобы каждые 5 секунд создавать юнита и посылать его на героя, пользуясь last created unit, тогда все работало, но если он не успевал до него добежать то создавался новый и теперь старый уже не last created unit. А если делать через переменную, то заносится только один конкретный юнит. Не понимаю как это сделать
1
37
4 года назад
Отредактирован ScorpioT1000
1
unit group conditon

стоит помнить, что твой код каждую секунду создает и не удаляет регион - грубейшая утечка
0
2
4 года назад
Отредактирован JableNine
0
Можно еще раз точно объяснить что требуется (если то, что написано ниже не требовалось или не подходит)
Так как работал с пустой картой создал переменную типа Unit (uAdmiral).
Для работы с группой юнитов, лучше создать переменную типа Unit Group (ugUnitGroup).
Сперва при создании Пехотинца, заносим его в группу ugUnitGroup.
Далее при любых проверках или событиях с юнитами в условиях ставим проверку, является ли выбранный юнит членом группы, если хотим взаимодействовать только с юнитами из этой группы. Как например выбрать юнитов около другого (uAdmiral).
Нужно так же понимать что взаимодействовать с группой нужно перебором - то есть выбрать каждого юнита из группы и выполнить действия.
Далее можно добавлять любые проверки, например как проверить находится ли юнит из группы рядом с uAdmiral и выбирать случайного юнита из группы юнитов ugUnitGroup только если они рядом с ним (что бы не взорвать тех, кто еще бежит где то далеке)
p.s. к посту приложил карту с триггерами, если нужно.
Загруженные файлы
0
27
4 года назад
Отредактирован MpW
0
ScorpioT1000, мне кажется, регионы он там не должен создавать =) вот точки да, а регионы же обычно берут из ныне существующих регионов. если создадим его в редакторе, его же и указывают в функции. ниче не создает.
такая гуи-команда странная, не помню такую в boolean. Типа ПРОВЕРКА что все юниты группы в регионе?

в скрине мб локалки не обнулены. там BJ-функции, раскрой и посмотри нет ли их. пример
советовал бы строить по-другому конструкцию.
если честно, не понятно, что за карту ты скинул. я тебе просто пример оптимизации на гуи показал. Но не решения ваших проблем. на jass этого бы не потребовалось, ибо на гуи приходится изворачиваться из-за ограничении команд и утечности bj-функции. там группы утекают, где-то не обнуляют/не удаляют.

Я короче более менее понял вашу ситуацию. 4триггер у вас не будет работать из-за переменной. там надо в фильтре вместо Picked unit ставить Matching Unit. С 4 примером я кажется ошибся. Там у меня по другому работает: выделяю всех из группы и нахожу рандомного юнита, а надо выделить вокруг гг, которые состоят в группе.
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.