Редактор - Пример скрипта - Проверка наличия/отсутствия объекта инвентаря у юнита
Для такой проверки понадобится выставить на карту какой-нибудь юнит и предмет инвентаря.
В данном случае это будет пехотинец и ящик.
После этого - пехотинцу надо задать тег (ссылка удалена) (читай общее управление редактором (ссылка удалена)).
(Сначала задаётся тег (ссылка удалена), после этого - в скриптах его можно просто выбрать из перечня доступных (ссылка удалена)).
Далее будет создано два триггера (ссылка удалена):
Один триггер будет срабатывать, когда в инвентаре пехотинца будет ящик;
Другой - когда ящика в инвентаре не будет.
В условиях триггеров (ссылка удалена) нужно добавить условие Inventory (ссылка удалена):
В триггере, срабатывающем при наличии предмета инвентаря у юнита, условие нужно отредактировать так:
В селекторе юнита указывается следующее:
В графе типа селектора (ссылка удалена) нужно выбрать расширенный селектор.
В нём нужно создать одну группу.
В блоке выбора нужно создать параметр тега (ссылка удалена), где нужно выбрать тег нашего пехотинца.
В блоке включений нужно создать параметр проп (ссылка удалена), в котором выбрать тип "Пехотинец".
В блоке исключений нужно выбрать следующее:
Т.к. проверяется пехотинец, то нужно создать два параметра состояния (ссылка удалена), где исключить мёртвых и не появившихся на сцене.
Примените настройку и вернитесь в саму команду.
В графе Where (ссылка удалена) нужно выбрать Box;
В графе Item нужно вписать Stuff (ссылка удалена) предмета;
В графе Compare (ссылка удалена) нужно оставить Greater;
В графе Amount нужно оставить 0;
Примените настройки условия.
- Такое условие будет срабатывать, если в инвентаре живого бойца с указанным тегом будет больше нуля ящиков.
Триггер, срабатывающий при отсутствии бойца с ящиком - нужно заполнить точно т.ж.
Но в в поле логики (ссылка удалена) этого триггера, перед идентификатором условия нужно поставить символ НЕ:
- Такое условие будет срабатывать, если на сцене не будет живого бойца с указанным тегом и ящиком.
Таким образом получается два показательных триггера, где один будет срабатывать, если боец с ящиком будет:
А другой - если нет:
Обращаю внимание, что это лишь упрощённый шаблон скрипта.
А в скачиваемом примере - я использовал цикличную перезагрузку триггера в целях показательности и наглядности проверки.
Скачать:
(ссылка удалена)
пример 20