Редактор - Пример скрипта - Проверка захвата техники пользовательским юнитом
![Редактор - Пример скрипта - Проверка захвата техники пользовательским юнитом Редактор - Пример скрипта - Проверка захвата техники пользовательским юнитом](/uploads/posts/2024-01/226_1.jpg)
Этот пример демонстрирует работу селекторной (ССЫЛКА УДАЛЕНА) птички 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
Смотрите также:
![Редактор - Пример скрипта - Проверка применения пехотинцем кулачного боя](/uploads/posts/2024-01/1704219342_bez-imeni.png)
![Редактор - Пример скрипта - Отступление юнитов с низким уровнем здоровья](/uploads/posts/2024-01/223_1.jpg)