Здравствуйте! мне нужно использовать юнита как снаряд(некликабельный, но выбирался через триггеры "добавить юнитов в отряд по области") как это можно реализовать? я читал что можно через москиты, но в итоге у меня получалось только вернуть юнита в прежнюю форму (с хп баром, кликабельностью)

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

//call GroupEnumUnitsInRange(g, x, y, 400., f) //ловит всех юнитов, находящихся в радиусе от точке, но москитов не ловит
//call GroupEnumUnitsInRangeCounted(g, x, y, 400., f, 4) //аналогична GroupEnumUnitsInRange, но берет определенное кол-во юнитов. Москитов не ловит
//call GroupEnumUnitsInRangeOfLoc(g, loc,400., f) //аналогична GroupEnumUnitsInRange. Москитов не ловит.
//call GroupEnumUnitsInRangeOfLocCounted(g, loc,400., f, 4) //аналогична GroupEnumUnitsInRangeCounted. Москитов не ловит.
//call GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea ,f1) //ловит всех юнитов в области. Москитов не ловит.
//call GroupEnumUnitsInRectCounted(g,bj_mapInitialPlayableArea ,f1, 4) //ловит определенное кол-во юнитов в области. Москитов не ловит. 
//call GroupEnumUnitsSelected(g,GetTriggerPlayer(),f) //ловит юнитов. выделенным игроком. Москитов. очевидно. не ловит.
call GroupEnumUnitsOfPlayer(g,GetTriggerPlayer(),f1) //ловит всех-всех юнитов игрока на карте. Москитов ловит нормально.
//call GroupEnumUnitsOfType(g,"Peasant", f) //ловит всех-всех юнитов с этим именем. Нужно писать английский аналог название (например работник = Peasant). Ловит москитов.
//call GroupEnumUnitsOfTypeCounted(g,"Peasant", f, 4) //ловит опреденное кол-во юнитов группу. Ловит Москитов.
Если вам нужно столкновение снарядов, то можете посмотреть в этом заклинании.
стоит стена (стена может двигаться, она может быть любого типа, она тоже москит) в нее ударяется снаряд
Добавляете стену в группу и при переборе сверяете расстояние.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
29
5 лет назад
2
Extremator, вместо одного перебора группы и сравнения расстояния, вы предлагаете три. Экономично)
2
26
5 лет назад
2
8gabriel8, упомянуть-то упомянули, а решения простого там так и не объявили... А перебор всех юнитов со сравнением дистанций (или принадлежности к области) - я за простое решение принять НЕ могу, ибо это целый само-свал новых действий... А так - всё по старинке, только добавляется "обезвреживание" и детект даммиков.
NazarPunk, как это ТРИ ?
Вот как у тебя идет триггер:
...ничего...
Выбор юнитов в радиусе Х от точка А
...ничего...
А теперь будет так:
...обращение к группе - remove Aloc...
Выбор юнитов в радиусе Х от точки А
...обращение к группе - add Aloc...
0
26
5 лет назад
0
Плодить удаление/добавление Aloc - это самосвал новых действий.
0
29
5 лет назад
Отредактирован nazarpunk
0
как это ТРИ ?
  • Перебор группы снарядов и снятие Aloc
  • Пик снарядов в области и совершение над ними действий
  • Перебор группы снарядов и выдача Aloc
вместо
  • Перебор группы снарядов, сравнение расстояния и совершение действия прям в этом переборе.
0
28
5 лет назад
0
Aloc просто так удалить нельзя, насколько я знаю.
0
26
5 лет назад
0
PT153, можно. Просто от него остаются некоторые последсвия (на самом юните, специфика такая). Но на работоспособности отлова отрядов таких юнитов это никак не сказывается.
1
30
5 лет назад
1
Тред не читаю@отвечаю
А что насчёт хранения всех снарядов в группе и выбора уже из неё только тех, которые в нужной области?
Тогда сложности, связанные с москитами исчезают
0
29
5 лет назад
0
А что насчёт хранения всех снарядов в группе и выбора уже из неё только тех, которые в нужной области?
Уже несколько человек несколько раз предлагали. Автор хочет использовать GroupEnumUnitsInRange() для пика юнитов по удалённости от точки.
0
9
5 лет назад
Отредактирован antonpoganui
0
NazarPunk, 8gabriel8, Extremator, спасибо вам за активное обсуждение, благодаря вам я решил через что буду работать, каждое из предложенных вариантов были полезны. Для себя я понял что мне нужно, а вот людям которым понадобится подобная тема должны будут почитать все что было написано, т.к. здесь множество решений. Ещё раз спасибо :)
0
28
5 лет назад
0
antonpoganui, Я устал повторять это людям, задающим вопросы, ответ должен отражать хотя бы одно решение, это создаётся не для ваших хотелок, а для формирования базы решений на популярные вопросы.
Поэтому не выбирайте в качестве ответа своё спасибо или "я решил сделать по-другому".
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.