Вот смотрите: есть юнит (пехотинец) и есть паладин игрока красный. Как сделать так (точнее, как сформулировать условие в триггере) что бы пехотинец (и только он, не весь клан пехотинца, а только определённый юнит) становился враждебен к паладину, если последний пехотинца ударит/заденет заклинанием (и при этом пехот обозначался как враг, то есть не мог бы, скажем, продавать паладину предметы, лечить и т.к далее, то есть что бы вражда становилась взаимной). Заранее благодарю.

Три параллельных массива: массив торговцев, ректов и групп. Каждому торговцу соответствует рект, то есть область, в которой он торгует, и группа, назовем ее черный список, - юниты, на которых торговец агрится. Четвертый клан, агрессивный красному игроку.
Юнит входит в область торговца, если юнит в черном списке, торговец становится четвертым кланом.
Вошедший юнит из черного списка покидает область, торговец снова становится торговцем.
В итоге: если к торговцу зайдет юнит красного, вне черного списка, торговец будет продавать предметы. Если зайдет юнит, до этого атаковавший его, торговец сагрится. Если менять владельца не меняя цвет игрока, то в игре будет выглядеть, будто четвертого клана и нет вовсе. Единственное, если к торговцу зайдут два юнита, один в черном списке, другой нет, торговец все равно сагрится. Но, ИМХО, это даже хорошо, потому что логично. Какой смысл торговцу работать с человеком, который пришел вместе с тем, кто пытался его убить. Чтобы не было абуза, можно при входе "черного" юнита дать торговцу приказ атаковать его.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
20
Ограничить продажи можно только до множеств (), (сам игрок), (союзные игроки), (любой игрок). В пределах одного игрока такие манипуляции невозможны. Если в карте 2-3 игрока, тогда можно создать костыльный вариант с 4 игроком враждебным первому, но союзным 2 и 3; 7 враждебен 1 и 2, но дружелюбен к 3. Хотя такие сложности все-равно не нужны.
Можно, правда, сделать полностью триггерную эмуляцию, но вы вряд ли такое потянете :>
14
Diaboliko, я уже придумал как убрать продажу. Вы не могли бы подсказать как сделать их враждебными? (именно этих двух)
20
Fly123:
Diaboliko, я уже придумал как убрать продажу. Вы не могли бы подсказать как сделать их враждебными? (именно этих двух)
К вашим услугам, опять же, костыли со сменами владельца пехотинца или триггерная имплементация.
Простейшая триггерная имплементация:
юнит в радиусе N от пехотинца. Если входящий находится в группе G[X], то приказать triggeringUnit(или что там вернет пехотинца) атаковать его. При этом G - массив групп юнитов. X - индекс массива, сохраняемый в UnitUserData юнита. Не забудьте инициализировать значение G[X] через создание группы.
после успешного выстреливания события имеет смысл добавить отслеживание дистанции, на которую убежал этот пехотинец. Либо пусть преследует в пределах региона, тут уж сами решайте. Первое реализуется через таймер с проверкой расстояния между старой и новой позицией вашего пехотинца. Старую можете записывать в момент выстреливания триггера в некие переменную r[X] и r[X+4096] (X и Y координаты). 4096 т.к. массивы в вц3 всегда имеют размер в 8192 элемента.
20
Fly123:
Diaboliko, а без переменных это нельзя осуществить?
Можете агрить при приближении и деагрить при выходе из региона. Но это не является отсутствием переменных.
26
Diaboliko, простейшая триггерная имплементация не меняет цвет курсора на красный над враждебным юнитом, потому и простейшая)
Fly123, лучше и правда менять владельца, в этом нет ничего сложного, если в категории действий Игрок немного покопаться.

Кстати, цвет курсора будет становится красным над враждебным юнитом в таком случае, если все твои юниты принадлежат не тебе, а союзнику, которым можешь управлять.
Поясни, что вообще это должно быть? Просто карта, где можешь нанимать себе юнитов, либо какая-то сюжетная карта, где управляешь лишь героем, а все обычные юниты просто стоят, как декорации?
14
8gabriel8, Короче, вот такая тема: есть Враг. Враг для всех. Злодейский клан. Он враждует со всеми, но речь не о нём. Есть игрок - красный клан.(может быть, в будующем получется сделать мультиплеер). И есть союзный клан - типо как сторона торговцев. Так вот, надо сделать так, что бы если игрок обнаглел и решил напасть на торговца, то торгаш становился враждебным. Но фишка в том, что каждый торговец как бы сам за себя. Если бы в игре можно было ставить 100500 кланов, то каждому сделал бы отдельный, а так, что бы слоты не занимать, вот думаю как сделать манипуляцию выше. Рпг-карта в стиле Dark Solus (насколько это, конечно возможно)
26
Fly123, в таком случае обязательно ли, чтобы все юниты твоего клана не считали атакованного торговца врагом, если один на него нападёт? Всё-таки одноклановцы, должны быть все, как один, если один повздорил с торгашом, то торговец враг всему клану.
14
8gabriel8, Торговец агрится только на того, кто на него напал. Если есть три клана,допустим - 1 клан (торговец) два других это два разных клана игроков союзников. Если клан 2 атакует торговца, то торговец становится врагом только к клану 2, но не к клану три. При этом третий клан может продолжать покупать предметы у торговца.
22
есть такой валяет в хайве
игрок все 1 но между рассы врагами можете по своему настроить
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.