Когда я делал свой префаб "суперлифта", у меня возникла проблема с кнопкой: необходимо было отключить возможность нажатий на неё. Можно её заблокировать командой
Lock, но в заблокированном состоянии она тоже занята, при нажатии на заблокированную кнопку тоже происходит некоторое событие. Тогда я решил проверить, возможно ли вообще отключить возможность нажатия на кнопку, всего лишь сняв флаг
Use Activates прямо во время игры. Результатом получился этот урок и плюс к опыту в создании механизмов.
Так как пример с кнопкой немного сложен и не так необходим, мы рассмотрим объект
func_breakable. У меня есть некая неразрушаемая стена в виде
func_breakable (чтобы сделать стену неразрушаемой, надо параметр
Strenth поставить на 0), флагов у неё, естественно, никаких не стоит:
Но в какой-то момент времени мне надо сделать стену разрушаемой от прикосновения. Допустим, когда кто-то нажал на определённую кнопку. Для этого нужен специальный Output. Чтобы узнать, какой он должен быть, идём к нашей стене и выставляем флаги, которые должны быть после нажатия кнопки:
Затем идём к параметрам, отжимаем кнопку
Smart Edit и смотрим значение параметра
spawnflags. Запомните его, оно нам пригодится.
Теперь добавляем у кнопки Outputs:
OnPressed — wall — AddOutput — spawnflags 2
И когда кто-то нажмёт на кнопку, стена станет разрушаемой от прикосновения. Аналогично можно снимать, ставить флаги абсолютно у любого энтити-объекта, изменяться будет только эта цифра. Кроме флагов можно изменять и другие значения параметров, которые можно увидеть, если отжать кнопку
Smart Edit.