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

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

492
0
Загружено: 05 янв 2024, 16:35
Опубликовал: TonaTor
Редактор - Пример скрипта - Отступление юнитов с низким уровнем здоровья

В данном примере будет проверяться состояние здоровья нациков.
Если у них будет меньше 70% здоровья, то они будут уползать на вейпоинт.

Для начала - на карту понадобится выставить одного советского бойца с неуязвимостью (в качестве тестового источника урона);
А т.ж. пачку расходных нациков.

На отдалении нужно поставить тот самый вейпоинт (ССЫЛКА УДАЛЕНА):

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


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

Далее я создал триггер (ССЫЛКА УДАЛЕНА):

Триггер, для примера, не будет иметь условий, он просто будет всё время работать по кругу;
Ища и посылая на вейпоинт раненых фрицев.

Пояснение:
Т.к. скриптовые команды могут выбирать только юнитов, чьё здоровье больше или равно указанному коэф-у, то для выбора юнитов без определённого коэф-а здоровья - придётся действовать через вспомогательный тег.
Таким тегом будет test_tag2, который будет назначаться лишь юнитам с определённым уровнем здоровья.
Соответственно, нужно будет обрабатывать юнитов с тегом test_tag, но без тегов test_tag2 и test_tag3 (описание ниже).

Для упрощения селекции эльфов - я использую предварительно настраиваемый фильтр-селектр.

Чтобы пораненные представители высшей расы отступали, и делали это быстро и относительно безопасно для себя - им нужно временно отключать ИИ, менять положение на лежачее, отменять ограничение на высокую скорость передвижения, и собственно - выставлять высокую скорость передвижения.

Чтобы не повторять команду на отступление для уже отступающих нацистов - отступающим нужно задать тег test_tag3.
Это поможет избежать дёрганья болванчиков-нацистов от поступления новых приказов.

К концу триггера - временный тег test_tag2 будет удаляться с его носителей, а временный тег test_tag3 - только с его денацифицированных переносчиков.
А после небольшой паузы - триггер будет перезагружаться и выполняться вновь.

Т.ж. на самом вейпоинте (ССЫЛКА УДАЛЕНА) нужно прописать команду для включения ИИ пришедших на него фрицев;
И команду на удаление у них тега test_tag3.

В блоке команд триггера нужно задать такую последовательность команд:

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

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать расширенный селектор (ССЫЛКА УДАЛЕНА).
В нём нужно создать одну группу.

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

В блоке включений нужно:
Создать параметр hp (ССЫЛКА УДАЛЕНА) и прописать в нём 0.7;
Создать параметр проп (ССЫЛКА УДАЛЕНА), в котором выбрать Human.

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

Примените настройку и вернитесь в саму команду.

В графу Tag_add (ССЫЛКА УДАЛЕНА) нужно вписать test_tag2.

Примените настройки команды.
(Назначаем test_tag2 тем, у кого 70+% здоровья).

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

Эта команда не особо нужна.
Она используется только для показательности применения тега test_tag2.
Чтобы можно было визуально заметить его применение.

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

Примените настройки команды.

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать расширенный селектор (ССЫЛКА УДАЛЕНА).
В нём нужно создать одну группу.

В блоке выбора нужно создать параметр тега (ССЫЛКА УДАЛЕНА), в котором выбрать тег (ССЫЛКА УДАЛЕНА) test_tag.

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

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

Примените настройки команды.
(Это и будут будущие отступающие подранки).

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать контекстный селектор (ССЫЛКА УДАЛЕНА);
В графе ИИ (ССЫЛКА УДАЛЕНА) нужно выбрать Disable;
В графе скорости (ССЫЛКА УДАЛЕНА) нужно выбрать Fast;
В графе разрешения скорости передвижения (ССЫЛКА УДАЛЕНА) нужно выбрать Fast;
В графе положения (ССЫЛКА УДАЛЕНА) нужно выбрать Crawl.

Примените настройки команды.
(Этой командой одновременно заставляем немцев отступать лёжа и быстро, а т.ж. подчиняться следующей команде).

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать контекстный селектор (ССЫЛКА УДАЛЕНА);
В графе вейпоинта (ССЫЛКА УДАЛЕНА) указываем выставленный вейпоинт (ССЫЛКА УДАЛЕНА).

Примените настройки команды.
(Приказываем отступать на вейпоинт).

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать контекстный селектор (ССЫЛКА УДАЛЕНА);
В графу Tag_add (ССЫЛКА УДАЛЕНА) нужно вписать test_tag3.

Примените настройки команды.
(Назначаем отступленцам test_tag3)

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

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать расширенный селектор (ССЫЛКА УДАЛЕНА).
В нём нужно создать одну группу.

В блоке выбора нужно:
Создать параметр тега (ССЫЛКА УДАЛЕНА), в котором выбрать тег (ССЫЛКА УДАЛЕНА) test_tag2;
Создать параметр проп (ССЫЛКА УДАЛЕНА), в котором выбрать Human.

Примените настройку и вернитесь в саму команду.

В графу Tag_remove (ССЫЛКА УДАЛЕНА) нужно вписать test_tag2.

Примените настройки команды.
(Удаляем test_tag2 у его владельцев).

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

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

В графе типа селектора (ССЫЛКА УДАЛЕНА) нужно выбрать расширенный селектор (ССЫЛКА УДАЛЕНА).
В нём нужно создать одну группу.

В блоке выбора нужно:
Создать параметр тега (ССЫЛКА УДАЛЕНА), в котором выбрать тег (ССЫЛКА УДАЛЕНА) test_tag3;
Создать параметр проп (ССЫЛКА УДАЛЕНА), в котором выбрать Human;
Создать параметр состояния (ССЫЛКА УДАЛЕНА), где исключить дохлых нациков.

Примените настройку и вернитесь в саму команду.

В графу Tag_remove (ССЫЛКА УДАЛЕНА) нужно вписать test_tag3.

Примените настройки команды.
(Удаляем test_tag3 у его денацифицированных переносчиков).

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

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

Примените настройки команды.
(Команда нужна, чтобы не сильно нагружать скриптовый обработчик движка игры).

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

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

Примените настройки команды.
(Собственно - это и есть перезагрузка триггера)

Теперь нужно настроить блок триггеров на выставленном ранее вейпоинте (ССЫЛКА УДАЛЕНА):

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

В графу Tag_remove (ССЫЛКА УДАЛЕНА) нужно вписать test_tag3.

Примените настройки команды.
(Удаляем test_tag3 у дошедших).

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

В графе ИИ (ССЫЛКА УДАЛЕНА) нужно выбрать Enable.

Примените настройки команды.
(Включаем им обратно ИИ).

Таким образом - получается показательный триггер на отступление раненых пехотинцев.


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


Скачать:
(Нужен MoW2)

Пример 223

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

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