Добавлен Madness
Поясню то что мне нужно на примере:
Есть игрок красный он уничтожает ратушу игрока синего, синий ставит союз красному (насильно), а также он должен триггерно поставить союз всем другим игрокам, которых до этого момента таким же образом “Захватил” красный игрок. Пробовал сделать что-то вроде этого через группу игроков, но кажется совсем не получилось. [Готово]
Есть игрок красный он уничтожает ратушу игрока синего, синий ставит союз красному (насильно), а также он должен триггерно поставить союз всем другим игрокам, которых до этого момента таким же образом “Захватил” красный игрок. Пробовал сделать что-то вроде этого через группу игроков, но кажется совсем не получилось. [Готово]
Принятый ответ
Создай изначально массив групп игроков, каждая из которых будет содержать лишь каждого игрока в соответствии с его порядковым номером. То есть для первого Force[1], для второго Force[2] и так далее.
События и условия триггера такие же. Для определения групп, к которым принадлежат игроки, если вдруг они уже сменили свои первоначальные группы, нужно циклом проходиться по массиву групп и устанавливать целочисленные:
События и условия триггера такие же. Для определения групп, к которым принадлежат игроки, если вдруг они уже сменили свои первоначальные группы, нужно циклом проходиться по массиву групп и устанавливать целочисленные:
Цикл по А от 1 до количества_игроков
Если (Владелец (Убивающий юнит)) состоит в Force[A] равно Да,
То Overlord=A, Иначе пусто
Если (Владелец (Умирающий юнит)) состоит в Force[A] равно Да,
То Vassal=A, Иначе пусто
Если (Владелец (Убивающий юнит)) состоит в Force[A] равно Да,
То Overlord=A, Иначе пусто
Если (Владелец (Умирающий юнит)) состоит в Force[A] равно Да,
То Vassal=A, Иначе пусто
Потом действия с группами игроков:
Выбрать всех игроков группы Force[Overlord] и сделать действия
Player=(Выбранный игрок)
Выбрать всех игроков группы Force[Vassal] и сделать действия:
Заставить Player быть союзником (Выбранный игрок)
Заставить (Выбранный игрок) быть союзником Player
Player=(Выбранный игрок)
Выбрать всех игроков группы Force[Vassal] и сделать действия:
Заставить Player быть союзником (Выбранный игрок)
Заставить (Выбранный игрок) быть союзником Player
После действий внутри групп последними отдельно ставишь действия:
Добавить Force[Vassal] в Force[Overlord]
Уничтожить Force[Vassal]
Уничтожить Force[Vassal]
Ещё надо цвет изменить Force[Vassal] на Force[Overlord], но чего-то не соображу, как оптимальнее. Если что, перед последними двумя действиями ставь Выбрать всех игроков в Force[Vassal] и сменить им цвет на (Номер игрока Overlord). Просто мы уже перебирали группу игроков, можно было бы сразу там назначать цвет, когда назначаешь союзы. Только устанавливаться цвет будет столько раз, сколько игроков в Force[Overlord], в целом конкретно этот случай на нагрузку процессора никак не влияет, потому можешь делать так, как будет удобнее.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован 8gabriel8
События и условия триггера такие же. Для определения групп, к которым принадлежат игроки, если вдруг они уже сменили свои первоначальные группы, нужно циклом проходиться по массиву групп и устанавливать целочисленные:
Если (Владелец (Убивающий юнит)) состоит в Force[A] равно Да,
То Overlord=A, Иначе пусто
Если (Владелец (Умирающий юнит)) состоит в Force[A] равно Да,
То Vassal=A, Иначе пусто
Player=(Выбранный игрок)
Выбрать всех игроков группы Force[Vassal] и сделать действия:
Заставить Player быть союзником (Выбранный игрок)
Заставить (Выбранный игрок) быть союзником Player
Уничтожить Force[Vassal]