**Префиксы и постфиксы переключения состояний (target) объектов** ---- В первоначальной реализации вы уже могли наблюдать данную систему в моде Spirit of Half-Life. Суть её заключалась в возможности явным образом определить поведение активируемоей цели. Это означает, что объекты, которые могут находится в двух-трёх устойчивых состояниях, могут быть переведены в эти состояния явным образом. Классический пример — дверь, **func_door**. Если дверь находится в режиме «toggle», то каждая последущая активация либо открывает её либо закрывает (в зависимости от текущего состояния), однако у маппера нет возможности всегда активировать дверь только на открытие и, как следствие, игнорировать сигнал открывания двери, если последняя уже открыта. Основное назначение префикс-системы как раз и призвано восполнить данный пробел и значительно расширить возможности маппера, попутно сделав его скрипты более стабильными и независимыми от поведения игрока, который может блокировать те или иные объекты, нарушая правильную работу скриптов. Итак, поле активации объектов (обычно называется **target**), может содержать следующие префиксы: | + | Активация цели, включение | | - | Деактивация цели, выключение | | < | Установка объекту какого-либо числового параметра через постфикс (параметр зависит от объекта) | | > | Сброс вышеустановленного параметра у объекта либо пользовательское действие (зависит от объекта) | | ! | Удаление объекта с карты | Параметры + и - работают одинаково на всех энтитях, за исключением тех объектов, активация которых не предусмотрена в принципе, например **worldspawn** или **player**. Аналогичным образом работает параметр !, удаляющий объекты с карты, кроме тех объектов, которые защищены движком от случайного удаления. Это игроки и worldspawn. Параметры < и >, напротив, глубоко индивидуальны для каждой энтити, поскольку в данной реализации отсутствует принципиальная возможность настройки абсолютно любого параметра у любого объекта. Как следствие, для каждой энтити производится настройка лишь его наиболее приоритетного параметра (если таковой вообще имеется). Так, например, у **func_rotating** данные префиксы позволяют менять скорость вращения и направление движения, для [[xashxt:ru:энтити:func_screenmovie|func_screenmovie]] — устанавливать воспроизведение видеофайла, в произвольно выбранное место, и т. д. Более подробная информация о тех или иных префиксах расписана в документации на сами энтити. Постфикс в виде числового значения как правило является дополнением к тому или иному префиксу, однако некоторые логические энтити в состоянии пересылать данное числовое значение своим целям без изменения, т. е. пропускать его через себя, не реагируя на него и не внося в него изменения. О подобных особенностях также подробно написано в документации по конкретным объектам. **Ограничения системы** ---- * Основным ограничением является непредсказуемость поведения части префиксов, что в свою очередь несколько снижает ценность системы как глобальной.