VScript

From Team Fortress Wiki
Jump to: navigation, search

VScript — это виртуальная машина для написания сценариев, используемая в некоторых играх Source Engine, которая позволяет разработчикам и создателям карт писать и встраивать собственные сценарии, взаимодействующие с игровым миром и его сущностями. VScript был реализован в Team Fortress 2 в Обновление от 1 декабря 2022; с тех пор официально используется в определённых картах.

Предыдущие изменения

Обновление от 1 декабря 2022
  • Внедрение VScript.
    • VScript позволяет разработчикам карт встраивать код сценария (Squirrel3) в карты. Эта система уже используется для карт L4D2 и CS:GO.
      • Взаимодействие с сущностями и миром как обычная логика Hammer.
      • Упрощение того, что раньше было невероятно сложным и трудоемким в логике Hammer.
      • Взаимодействие и управление ботами, боссами, атрибутами игрока, сущностями и состоянием игры, что позволяет расширить, изменить или полностью создать собственные режимы игры.
      • Реагировать на игровые события и изменять результаты определенных действий, таких как расчет урона.
    • Более подробная техническая информация о VScript для Team Fortress 2 доступна на сайте Valve Developer Community.

Обновление от 7 декабря 2022

  • Обновлен VScript.
    • Обновлен проигрыватель-заполнитель HLTV, чтобы он не был допустимым объектом сценария. Это исправляет некоторые сбои скриптов на выделенных серверах из-за того, что не учитывается проигрыватель-заполнитель HLTV.

Обновление от 5 января 2023

  • Расширенная поддержка VScript.
    • Исправлены файлы .nut, являющиеся допустимыми файлами для загрузки/выгрузки
    • Исправлена ​​ошибка, из-за которой клиенты могли запускать определенные команды отладки script_* на сервере
    • Добавлен EmitSoundEx
    • Исправлены сбои, связанные с передачей нулевых строк в функции
    • Открыта функция MaxClients для получения текущего значения maxplayers
    • Исправлена ​​очистка хуков скрипта при переходе уровня

Обновление от 27 октября 2023

  • Добавлен дополнительный флаг HIDEHUD для карт vscript(sic) (HIDEHUD_TARGET_ID).

Обновление от 18 июля 2024 (Лето 2024)

  • Расширенная поддержка VScript.
    • Добавлены mp_tournament_redteamname, mp_tournament_blueteamname и tf_mvm_max_connected_players в список ConVars, занесенных в белый список
    • Исправлена ​​ошибка, из-за которой vscript_convar_allowlist.cfg переопределялся при упаковке в карту.
    • BaseEntity: AcceptInput, IsAlive
    • EconEntity: GetAttribute
    • TFPlayer: GetCustomAttribute, StunPlayer
    • TFBot: GetAllBotTags, SetMission, SetPrevMission, GetMission, GetPrevMission, HasMission, IsOnAnyMission, SetMissionTarget, GetMissionTarget, SetBehaviorFlag, ClearBehaviorFlag, IsBehaviorFlagSet, SetActionPoint, GetActionPoint

Обновление от 10 октября 2024 (Вииизг Фортресс XVI)

  • Разоблачено CTFBaseBoss::SetResolvePlayerCollisions() для VScript пользователей.

Обновление от 18 февраля 2025

  • Добавлена ​​поддержка VScript для флага HIDEHUD_MATCH_STATUS, позволяющего скрыть панель статуса матча.

Обновление от 1 мая 2025

  • Исправлены методы TFBot VScript SetBehaviorFlag, ClearBehaviorFlag, IsBehaviorFlagSet, SetMission, SetPrevMission, GetMission, GetPrevMission и HasMission, которые по ошибке использовали «unsigned int».

См. также