Объект 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, если игрок отжимает клавиши "Вверх" и "Вниз"; выполняется когда объект деактивируется.
Источник: http://www.virte.clan.su/publ/kartostroenie/game/game_ui/5-1-0-30
Добавил: Le-Satan-Pirate
11.05.2024 Просмотров: 2445
Комментарии