Создать аккаунт

Редактор - Пример скрипта - Проверка захвата техники пользовательским юнитом

505
0
Загружено: 20 янв 2024, 10:19
Опубликовал: TonaTor
Редактор - Пример скрипта - Проверка захвата техники пользовательским юнитом

Этот пример демонстрирует работу селекторной (ССЫЛКА УДАЛЕНА) птички ignore_captured_by_user.
Суть примера заключается в том, чтобы показать эффект от забывания существования этой галочки.

Для этого примера я использовал один технический юнит и одного пехотинца, которых заранее выставил на карту.

Машине был задан тег (ССЫЛКА УДАЛЕНА) (читай общее управление редактором (ССЫЛКА УДАЛЕНА)).

(Сначала задаётся тег (ССЫЛКА УДАЛЕНА), после этого -  в скриптах его можно просто выбрать из перечня доступных (ССЫЛКА УДАЛЕНА)).

Пехотинцу же был назначен юзер-контроль (ССЫЛКА УДАЛЕНА):

Тогда-как у машины по умолчанию остался AI-контроль (ССЫЛКА УДАЛЕНА):

Далее был создан триггер (ССЫЛКА УДАЛЕНА), который будет циклично проверять отсутствие фактора captured_by_user у машины:

Триггер не имеет условий, а в его теле прописана следующая последовательность команд:

Команда 1 - Entity_state (ССЫЛКА УДАЛЕНА):

В селекторе выбираемых юнитов настроено следующее:

В графе типа селектора (ССЫЛКА УДАЛЕНА) оставлен стандартный селектор, т.к его достаточно для демонстрации;
Параметр ignore_captured_by_user был оставлен включенным для целенаправленного выбора не захваченных юнитов;
В графе тега (ССЫЛКА УДАЛЕНА) был выбран тег (ССЫЛКА УДАЛЕНА) проверяемой машины;
В графе типа юнита (ССЫЛКА УДАЛЕНА) был указан - Vehicle.

В графе Tag_add (ССЫЛКА УДАЛЕНА) самой команды вписан тег (ССЫЛКА УДАЛЕНА) ne_user.

(Эта команда будет назначать тег ne_user машине лишь в том случае, если она не была захвачена юзер-юнитом (ССЫЛКА УДАЛЕНА)).

Команда 2 - Delay (ССЫЛКА УДАЛЕНА):

В графе времени (ССЫЛКА УДАЛЕНА) указана 0.1-секунды.

(Это сделано, чтобы перед следующей проверкой игра успела назначить тег (ССЫЛКА УДАЛЕНА)).

Команда 3 - Switch (ССЫЛКА УДАЛЕНА).

В ней был создан один Case, в чьём параметре Type (ССЫЛКА УДАЛЕНА) было выбрано и настроено условие Entities (ССЫЛКА УДАЛЕНА):

В графе типа селектора (ССЫЛКА УДАЛЕНА) оставлен стандартный селектор;
Параметр ignore_captured_by_user был отключен для чистоты проведения теста;
В графе тега (ССЫЛКА УДАЛЕНА) было выбрано наличие тега (ССЫЛКА УДАЛЕНА) ne_user, который машина может получить только в процессе теста;
В графе типа юнита (ССЫЛКА УДАЛЕНА) был указан - Vehicle.

В графе типа операции сравнения (ССЫЛКА УДАЛЕНА) выбирается - ">".
В графе количества указываете 0.

(Такое условие сработает только если на карте будет больше нуля машин с тестовым тегом (ССЫЛКА УДАЛЕНА) ne_user)

В случае истинности этого условия - Case сработает и выведет сообщение о наличии не захваченной машины.
Если Case не сработал, то сработает созданный после Case Default, выведя сообщение об отсутствии не захваченной машины.

Команда 4 - Entity_state (ССЫЛКА УДАЛЕНА):

В селекторе выбираемых юнитов настроено следующее:

В графе типа селектора (ССЫЛКА УДАЛЕНА) оставлен стандартный селектор;
Параметр ignore_captured_by_user был отключен для удаления тега ne_user у любой техники;
В графе типа юнита (ССЫЛКА УДАЛЕНА) был указан - Vehicle.

В графе Tag_remove (ССЫЛКА УДАЛЕНА) самой команды вписан тег (ССЫЛКА УДАЛЕНА) ne_user.

(Эта команда подчистит результаты проверки, для возможности её повторного проведения).

Команда 5 - Delay (ССЫЛКА УДАЛЕНА):

В графе времени (ССЫЛКА УДАЛЕНА) указано 0.9-секунды.

(Это сделано, чтобы время выполнения триггера составляло примерно 1 секунду).

Команда 6 - Trigger (ССЫЛКА УДАЛЕНА):

В графе триггера (ССЫЛКА УДАЛЕНА) нужно указать сам наш триггер.

(Перезагрузка триггера для повторного выполнения теста)

После старта симуляции триггер будет выдавать сообщения о наличии не захваченной юзер-юнитом (ССЫЛКА УДАЛЕНА) машине:

Если посадить в неё нашего бойца, то уже будет выводиться сообщение об отсутствии не захваченной машины:

А теперь высадим нашего пехотинца из машины:

- Сообщения не изменились.
Они не изменятся даже если вы вручную измените тип контроля (ССЫЛКА УДАЛЕНА) машины, обратно на AI (ССЫЛКА УДАЛЕНА):

А всё просто.
Скопируйте эту машину, откройте блокнот и вставьте её туда.
Получите похожую картину:

И с помощью самого редактора - этот параметр уже не убрать.

Будьте внимательнее к параметрам по умолчанию.


Видео-демонстрация:


Скачать:

(ССЫЛКА УДАЛЕНА)

пример 226

Смотрите также:

Комментарии
Без политики и матов. Комментарии проходят модерацию.