Никак не могу собрать системку:
Есть два типа юнитов: осадные орудия, которые считаются неразумными. И остальные, которые могут управлять ими.
Как должно быть: осадные орудия принадлежат тому игроку, юниты которого есть около них. Если около них появляется вражеские юниты, то осадные орудия стают нейтральными, до выяснения отношений между игроками. Когда один игрок убьет всех юнитов вражеского игрока, то его юниты захватят осадное орудие.
Если около осадного орудия не осталось ни одного юнита, оно стает нейтральным.
То есть на карте осадные катапульты, могут захватываться другими игроками, и перехватываться обратно. Чтобы осадные орудия не смогли участвовать в бое, если около них крутятся враги. Задавайте вопросы, если не поняли мой вопрос (тавтология). Благодарю за адекватные и полезные ответы.

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

Для этого есть переменные, делаем две переменные: игрок и логическую, перед перебором ближайших зануляем, нашли игрока проверяем записан ли игрок, если нет записываем его, если уже есть ставим логическую истина.
После перебора проверяем логическую, если истина делаем нейтральным, если ложь отдаем игроку из переменной.
Нагрузки особой не должно быть, и создаваемые группы при переборе ближайших юнитов надо конечно удалять.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
7 лет назад
0
Похожие вопросы:

ответ
Мне пришла идея делать проверку
if GetLocalPlayer() == GetOwningPlayer(<YourUnit>) then
...
ответ
События
Юнит приводит способность в действие
условие
Юнит применил способность "Пехотинец"
золото у владельца триггерного юнита больше или равно 10
действие
заменить юнита (триггерный юнит) на пехотинец,старая связка боевой единици
боже ну чего невидно
ресурсы это целое число,значит интежер(целочисленная)
нужно написать статью:учимся искать названия функций в гуи
вопрос закрыть незабудь
и вобще статьи прочитай
ответ
Да, время возвращения охраны (сек) - через 5 секунд после начала преследования противника юниты возвращаются назад. Расстояние охраны - расстояние, которое они могут отойти от своей точки во время погони. Т.е. монстры возвращаются либо через 5 секунд, либо через 600 "метров", дальше они не побегут.
ответ
ИИ стандартный, полагаю? Стандартному ИИ вроде как вижн не важен, он и так знает где все находятся, если мне не изменяет память. Как от него не прячься, найдет сразу. Если уж очень хочется - давать юнитов нейтралам и делать их союзным всем ботам. (игроков 16, если не изменяет память). Или давать союзным игрокам, при наличии. По крайней мере не будут мчаться в след за армией. Однако вполне могут быть более качественные решения проблемы, я стандартный ИИ не изучал, не могу быть уверен в офигительности предложенного решения. :)
ответ
Ну только триггерные системы отрядов, была такая...
Вот пример ссылочка
Были и другие, поиск в помощь.
Вот еще ссылка

0
21
7 лет назад
0
Занести все катапульты в группу и каждую секунду проверять юнитов неподалеку?
0
11
7 лет назад
0
Делал. Так каждую секунду можно просчитывать есть ли около катапульты кто-нибудь или враг. Если есть, сделать ее нейтральной. Но как просчитать есть ли около нее юнит игрока, и нет юнитов других игроков. И потом сделать игрока владельцем катапульты. На мое мнение, это будет нагрузка системы. Катапульт и войск ведь много.
0
21
7 лет назад
0
Для этого есть переменные, делаем две переменные: игрок и логическую, перед перебором ближайших зануляем, нашли игрока проверяем записан ли игрок, если нет записываем его, если уже есть ставим логическую истина.
После перебора проверяем логическую, если истина делаем нейтральным, если ложь отдаем игроку из переменной.
Нагрузки особой не должно быть, и создаваемые группы при переборе ближайших юнитов надо конечно удалять.
Принятый ответ
0
5
7 лет назад
0
есть близардская карта конфетные войны (candy war ) там горный великан двигается когда рядом есть союзники посмотри как там сделано !
Чтобы оставить комментарий, пожалуйста, войдите на сайт.