game_text

Объект game_text используется для вывода любого текста в любой точке на экране игроков.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- Этот объект может выводить только английский текст.
- На экране игроков допускается выводить до 6 текстовых каналов одновременно.
- Если игрок подключится к игре после того как этот объект выведет свой текст, но в то время пока текст ещё может быть виден, то игрок не увидит текста.

Ошибки:
не обнаружены.

Заметки:
Для того чтобы объект game_text работал на компьютерах игроков, у них должен быть "установлен" шрифт "CenterPrintText", с помощью которого будет выводиться текст. Соответственно, те игроки, у которых нет этого шрифта, не смогут увидеть текст, выводимый объектом game_text. Чтобы "установить" этот шрифт, нужно просто добавить несколько строк в файл:
/cstrike/resource/ClientScheme.res
Содержимое этого файла может быть различаться для разных игроков, и обычно его изменяют для настройки внешнего вида игры.
Откройте этот файл при помощи блокнота. Найдите блок "Fonts" и добавьте в него новых шрифт:
            CenterPrintText
            {
                  "1"
                  {
                        "name"          "Trebuchet MS"
                        "tall"          "24"
                        "weight"        "900"
                        "range"         "0x0000 0x007F"    //    Basic Latin
                        "antialias"     "1"
                        "additive"      "1"
                  }
            }
Кстати, если у вас в игре CS:S не отображаются имена игроков на мини-радаре, то чтобы это исправить нужно так же добавить ещё один новый шрифт "MapNames" в файл "ClientScheme.res". В том же самом блоке "Fonts" добавьте ещё один новый шрифт:
            MapNames
            {
                  "1"
                  {
                        "name"            "Verdana"
                        "tall"            "12"
                        "weight"    "0"
                        "range"           "0x0000 0x017F"
                        "antialias" "1"
                        "yres"            "480 10000"
                  }
            }

Советы:
Этому объекту можно найти множество применений, но наиболее правильно использовать этот объект для отображения названия карты, автора, года создания и т.д. Это лучше всего делать в каком-нибудь одном раунде. Чтобы текст не надоедал игрокам в каждом раунде, можно использовать объект env_global.
Не используйте этот объект для вывода подсказок и прочей информации, потому что текст этого объекта может отображаться не у всех игроков. Для подсказок лучше всего подходит объект env_hudhint.

Свойства:
Master – имя объекта multisource, который будет разрешать/запрещать работу этого объекта; если объект multisource будет "включен" то этот объект game_text будет работать точно так же, как и обычно; если объект multisource будет "выключен" то этот объект game_text не будет работать;
Message Text – текст сообщения, которое будет выводиться на экран игроков; тест сообщения может содержать только английские буквы и прочие общие символы, такие как:  цифры, скобки, знаки препинания и т.д., - иначе текст не будет выведен на экран; длина текстового сообщения не должна быть больше допустимого значения; для надёжности, длина текстового сообщения не должна превышать длину 200 символов;
Text Channel – номер текстового канала, в который будет выводить текст этот объект game_text; на экране игроков одновременно может выводиться до 6 текстовых каналов; текстовый канал – это целое число; если разные объекты game_text попытаются одновременно вывести в один и тот же текстовый канал свой текст, то на экране игрока(-ов) будет отображён текст только какого-то одного объекта game_text; чтобы разные объекты game_text могли одновременно выводить на экран свой собственный текст, укажите для этих объектов game_text разные значения этого свойства; значение этого свойства может быть любым целым числом, но рекомендуется выбирать значения от 0 до 255;
Text Effect – тип эффекта, применяемого к тексту во время его вывода на экран:
Fade In/Out – весь текст сначала плавно появится в течение времени "Fade In Time", затем будет оставаться на экране в течение времени "Hold Time", и затем плавно исчезнет с экрана в течение времени "Fade Out Time";
Scan Out – текст будет выводится по одной букве/символу, в порядке следования букв в сообщении "Message Text"; каждая последующая буква будет выводиться через интервал времени "Fade In Time", затем будет ждать, пока все остальные буквы полностью не появятся, затем весь текст будет оставаться на экране в течение времени "Hold Time", и затем плавно исчезнет с экрана в течение времени "Fade Out Time"; каждая буква, при своём появлении, будет плавно менять свой цвет от "Scan Text Color" до "Text Color" в течение времени "Scan Time";
Screen Pos X (0.0 - 1.0) – горизонтальная позиция на экране игрока(-ов), в которой будет выводиться текст "Message Text"; от 0.0 до 1.0 или -1; 0.0 – это самая правая часть экрана; 1.0 – это самая левая часть экрана; 0.5 – это середина экрана, текст выравнивается по левому краю; -1 – это середина экрана, текст выравнивается по центру и т.д.;
Screen Pos Y (0.0 - 1.0) – вертикальная позиция на экране игрока(-ов), в которой будет выводиться текст "Message Text"; от 0.0 до 1.0 или -1; 0.0 – это самая верхняя часть экрана; 1.0 – это самая нижняя часть экрана; 0.5 – это середина экрана, текст выравнивается по верху; -1 – это середина экрана, текст выравнивается по центру и т.д.;
Fade In Time – время, в течение которого текст будет плавно появляться на экране игроков; если значение свойства "Text Effect" равно "Scan Out", то это пауза между выводом каждой последующей буквы;
Hold Time – пауза, по истечение времени "Fade In Time", в течение которой текст неизменно будет отображаться на экране игроков; по истечении этой паузы, текст начнёт плавно исчезать в течение времени "Fade Out Time"; если значение свойства "Text Effect" равно "Scan Out", то эта пауза начинает действовать только после вывода самой последней буквы сообщения "Message Text";
Fade Out Time – время, в течение которого текст будет плавно исчезать с экран игроков по истечении времени "Hold Time";
Scan Time – время, в течение которого каждая буква сообщения "Message Text" будет менять свой цвет от "Scan Text Color" до "Text Color" с момента начала своего появления; используется только если значение свойства "Text Effect" равно "Scan Out";
Text Color – цвет текста;
Scan Text Color – начальный цвет букв; используется только если значение свойства "Text Effect" равно "Scan Out".

Флажки:
All Players – текстовое сообщение будет выводиться для всех игроков на карте; если  не установлен этот флажок, то текстовое сообщение будет выводиться только для игрока, активировавшего цепочку событий (!activator).

Inputs:
Display – начать отображение текста на экране игрока(-ов).

game_score

Объект game_score используется для изменения игровых очков для игроков (фраги).

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.

Ошибки:
При использовании флажка "Team Points" командные очки начисляются только на срок до конца текущего раунда. Количество побед команд контролируется игрой CS:S и не может изменяться этим объектом.

Свойства:
Master – имя объекта multisource, который будет разрешать/запрещать работу этого объекта; если объект multisource будет "включен" то этот объект game_score будет работать точно так же, как и обычно; если объект multisource будет "выключен" то этот объект game_score не будет работать;
Points to add (+/-) – количество изменяемых игровых очков; положительное значение будет добавлять очки, а отрицательное – отнимать их.

Флажки:
Allow Negative – разрешать очкам игрока быть ниже 0; используется только при использовании отрицательного значения свойства "Points to add";
Team Points – очки начисляются не для игрока (фраги), а для всей команды (количество побед команды); (у этого флажка есть баг, см. пункт "Ошибки").

Inputs:
ApplyScore – добавить/отнять игровые очки у игрока, активировавшего цепочку событий (!activator).

game_end

Объект game_end используется для завершения игры на текущей карте и перехода к следующей карте.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте достаточно одного такого объекта.

Ошибки:
не обнаружены.

Свойства:
Master – имя объекта multisource, который будет разрешать/запрещать работу этого объекта; если объект multisource будет "включен" то этот объект game_end будет работать точно так же, как и обычно; если объект multisource будет "выключен" то, при вызове функции "Use", игра на карте не будет завершена.

Inputs:
EndGame – завершить игру на карте; свойство "Master" не используется;
Use – тоже самое что и "EndGame", но используется свойство "Master" для определения возможности использовать этот объект.

game_player_equip

Объект game_player_equip используется для создания обмундирования для игроков.
Прямое назначение этого объекта – это выдавать игроку только то оружие, которое запланировано картой. Можно отнять всё оружие, имеющееся у игроков, и выдать им ножи, тем самым создав карту на которой можно будет сражаться только на ножах.
Для того, чтобы заставить объект выдавать нужное обмундирование для игроков, обычно добавляют для объекта game_player_equip новое свойство (keyvalue) и называют это свойство именем класса, которых необходимо создать. Например, чтобы объект game_player_equip создал автомат Калашникова, необходимо добавить свойство weapon_ak47 и присвоить этому свойству значение "1" - чтобы объект game_player_equip создал всего один автомат. Если нужно создать три автомата, то значение свойства ставится равным "3" и т.д.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- Если на карте есть хотя бы один объект game_player_equip, то в начале каждого раунда у всех игроков будет отниматься всё оружие и прочее обмундирование.
- Этот объект может выдавать максимум 32 типа обмундирования.

Ошибки:
не обнаружены.

Заметки:
Объект game_player_equip может создавать абсолютно любой класс объектов. Например, можно создать дополнительные точки появления игроков info_player_terrorist прямо во время игры. Так как такие точки не обновляются, то в следующем раунде на месте этой точки может появиться Террорист, если конечно точка поставлена правильно (проверить можно консольной командой "map_showspawnpoints 1"). Таким образом объекту game_player_equip безразлично какие объекты он будет создавать.
Все невидимые объекты с именем класса, начинающегося с "item_" или "ammo_", будут удаляться автоматически как только игрок заденет их.

Свойства:
Master – имя объекта multisource, который будет разрешать/запрещать работу этого объекта; если объект multisource будет "включен" то этот объект game_player_equip будет работать точно так же, как и обычно; если объект multisource будет "выключен" то этот объект game_player_equip будет работать точно так же, как если был установлен флажок "Use Only";
<Weapon/Ammo List> - список того, что можно купить в игре CS:S для использования в игре.

Флажки:
Use Only – объект можно активировать только функцией "Use", то есть объект не активируется автоматически в начале каждого раунда.

Inputs:
Use – использовать объект; на том месте где находится игрок, активировавший цепочку событий (!activator), будут созданы объекты запланированные этим объектом game_player_equip; работает даже тогда, когда НЕ установлен флажок "Use Only".

game_ui

Объект game_ui используется для отслеживания нажатий клавиш управления игрока, когда игрок смотрит на этот объект.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов.
- Объект не может контролировать сразу двух игроков. Необходимо деактивировать объект прежде чем снова можно будет его снова активировать.
- Одного игрока могут контролировать сразу несколько таких объектов. При этом их действия накладываются друг на друга.
- Объект учитывает случай когда активировавший его игрок отключается от игры. Ошибки при этом не происходит.

Ошибки:
(!!!) Если установлен хотя бы один из флажков "Freeze Player" или "Hide Weapon", то нельзя вызывать функцию "Deactivate" если объект game_ui не был перед этим активирован. Повторный вызов функции "Deactivate" для неактивного объекта game_ui, приведёт к краху игры! Для объекта game_ui возможны два способа его деактивации: автоматический (свойство "Field Of View" и флажки "+USE Deactivates", "+JUMP Deactivates") и вручную (функция "Deactivate"). Используя автоматический способ деактивации можно полностью обезопасить карту от подобной ошибки. При использовании способа "вручную" невозможно дать гарантии на правильность работы объекта game_ui, но вы можете использовать событие "PlayerOff" для контроля его активности, а так же можно использовать дополнительные средства для контроля активности объекта, например: объект logic_branch. Использование одновременно двух этих методов практически всегда приводят к краху игры, поэтому выберите какой-нибудь один и используйте только его.

Заметки:
Объект game_ui удобно использовать вместе с объектом trigger_look.

Свойства:
Field Of View – под каким углом игрок должен смотреть на объект game_ui, чтобы можно было активировать его и поддерживать его активным; если игрок отвернётся от объекта game_ui на угол больше этого значения, то объект game_ui будет автоматически деактивирован; 1.0 - игрок должен смотреть прямо на объект; 0.5 - игрок может смотреть на объект под углом до 45 градусов; 0.0 – игрок может смотреть на объект под углом до 90 градусов; -1.0 – игрок может смотреть в любом направлении.

Флажки:
Freeze Player – запретить игроку двигаться после активации объекта game_ui; при этом игрок сможет только прыгать, приседать и вращать "головой"; (у этого флажка есть баг, см. пункт "Ошибки");
Hide Weapon – скрыть оружие у игрока после активации объекта game_ui; игрок не сможет стрелять; (у этого флажка есть баг, см. пункт "Ошибки");
+USE Deactivates – использовать клавишу "Использовать", чтобы деактивировать объект game_ui; использование этого флажка не даёт гарантии, что объект деактивируется при первом же нажатии на клавиши "Использовать"; возможно, игроку придётся неоднократно нажимать на эту клавишу, чтобы деактивировать объект;
+JUMP Deactivates - использовать клавишу "Прыжок", чтобы деактивировать объект game_ui; использование этого флажка не даёт гарантии, что объект деактивируется при первом же прыжке игрока; возможно, игроку придётся неоднократно подпрыгнуть, чтобы деактивировать объект.

Inputs:
Activate – активировать объект; только игрок может активировать этот объект, иначе вызов это функции приводит к ошибке в консоли "InputActivate: invalid or missing !activator!".
Deactivate – деактивировать объект; (у этой функции есть баг, см. пункт "Ошибки").

Outputs:
PlayerOn – выполняется при вызове функции "Activate"; выполняется даже тогда, когда объект game_ui уже активен;
PlayerOff - выполняется тогда, когда объект деактивируется;
PressedAttack – выполняется тогда, когда игрок нажимает клавишу "Атака1";
PressedAttack2 – выполняется тогда, когда игрок нажимает клавишу "Атака2";
PressedBack – выполняется тогда, когда игрок нажимает клавишу "Назад";
PressedForward – выполняется тогда, когда игрок нажимает клавишу "Вперёд";
PressedMoveLeft – выполняется тогда, когда игрок нажимает клавишу "Влево";
PressedMoveRight – выполняется тогда, когда игрок нажимает клавишу "Вправо";
UnpressedAttack – выполняется тогда, когда игрок отжимает клавишу "Атака1"; НЕ выполняется когда объект деактивируется;
UnpressedAttack2 – выполняется тогда, когда игрок отжимает клавишу "Атака2"; НЕ выполняется когда объект деактивируется;
UnpressedBack – выполняется тогда, когда игрок отжимает клавишу "Назад"; НЕ выполняется когда объект деактивируется;
UnpressedForward – выполняется тогда, когда игрок отжимает клавишу "Вперёд"; НЕ выполняется когда объект деактивируется;
UnpressedMoveLeft – выполняется тогда, когда игрок отжимает клавишу "Влево"; НЕ выполняется когда объект деактивируется;
UnpressedMoveRight – выполняется тогда, когда игрок отжимает клавишу "Вправо"; НЕ выполняется когда объект деактивируется;
AttackAxis <float> - возвращает значение больше 0, когда игрок удерживает нажатой клавишу "Атака1"; возвращает значение равное 0, если игрок отжимает клавишу "Атака1"; выполняется когда объект деактивируется;
Attack2Axis <float> - возвращает значение больше 0, когда игрок удерживает нажатой клавишу "Атака2"; возвращает значение равное 0, если игрок отжимает клавишу "Атака2"; выполняется когда объект деактивируется;
XAxis <float> - возвращает значение больше 0, когда игрок удерживает нажатой клавишу "Вправо"; возвращает значение меньше 0, когда игрок удерживает нажатой клавишу "Влево"; возвращает значение равное 0, если игрок отжимает клавиши "Вправо" и "Влево"; выполняется когда объект деактивируется;
YAxis <float> - возвращает значение больше 0, когда игрок удерживает нажатой клавишу "Вверх"; возвращает значение меньше 0, когда игрок удерживает нажатой клавишу "Вниз"; возвращает значение равное 0, если игрок отжимает клавиши "Вверх" и "Вниз"; выполняется когда объект деактивируется.

game_weapon_manager

Объект game_weapon_manager используется для удаления с карты излишков определённого типа оружия.

ВНИМАНИЕ! Возможно, в игре CS:S объект game_weapon_manager может работать не корректно и приводить к краху игры в тех случаях когда на карте установлено больше одного такого объекта. Эта ошибка имела место быть, но была исправлена разработчиками, однако вы всегда должны тщательно тестировать вашу карту, если вы используете объект game_weapon_manager.
Известно, что на версии сервера 1.0.0.34 объект работает без ошибок. На версиях сервера ниже этой объект ещё не тестировался. Вы можете узнать версию вашей игры, выполнив в консоли команду "version".

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- Объект работает только с тем оружием, которое было выброшено или выпало из рук убитого игрока.

Свойства:
Weapon Classname – имя класса оружия, которое будет контролироваться; имя классов оружия начинается на "weapon_";
Max Pieces – максимальное количество оружия "Weapon Classname" на карте.

Inputs:
SetMaxPieces <integer> - установить новое значение свойства "Max Pieces".

Ошибки:
не обнаружены.