VScript

From Team Fortress Wiki
Jump to: navigation, search

VScript é uma máquina virtual para a criação de scripts em alguns jogos do Engine Source que permite que desenvolvedores e criadores de mapas escrevam e apliquem scripts personalizados que interajam com o mundo do jogo e suas entidades (em inglês). VScript foi implementado no Team Fortress 2 na atualização de 1º de dezembro de 2022 e foi usado em vários mapas e modos de jogo desde então.

Histórico de atualizações

Atualização de 1º de dezembro de 2022

Atualização de 7 de dezembro de 2022

  • Atualização do VScript:
    • Atualização do bot da SourceTV para não ser considerado uma entidade de script válida. Isso corrige o não funcionamento de alguns scripts em servidores dedicados devido ao não tratamento do bot da SourceTV.

Atualização de 5 de janeiro de 2023

  • Expansão do VScript:
    • Correção da consideração de arquivos ".nut" como arquivos válidos para transferência.
    • Correção da possibilidade de clientes executarem certos comandos de depuração script_* no lado do servidor.
    • Adição da função EmitSoundEx.
    • Correção de travamentos causados pela transmissão de cadeias de caracteres nulas (null strings) a funções.
    • Exposição da função MaxClients, que permite obter o valor da variável do console maxplayers.
    • Correção da limpeza de ganchos de scripts (script hooks) ao trocar de nível.

Atualização de 27 de outubro de 2023

  • Adição de um novo sinalizador HIDEHUD para mapas que usam vscript(sic) (HIDEHUD_TARGET_ID).

Atualização de 18 de julho de 2024 (Atualização das Férias de 2024)

  • Expansão do VScript:
    • Adição das variáveis de console "mp_tournament_redteamname", "mp_tournament_blueteamname" e "tf_mvm_max_connected_players" à lista de variáveis permitidas.
    • Correção da substituição do arquivo "vscript_convar_allowlist.cfg" quando empacotado em um mapa.
    • Classe "BaseEntity": adição dos métodos "AcceptInput" e "IsAlive".
    • Classe "EconEntity": adição do método "GetAttribute".
    • Classe "TFPlayer": adição dos métodos "GetCustomAttribute" e "StunPlayer".
    • Classe "TFBot": adição dos métodos "GetAllBotTags", "SetMission", "SetPrevMission", "GetMission", "GetPrevMission", "HasMission", "IsOnAnyMission", "SetMissionTarget", "GetMissionTarget", "SetBehaviorFlag", "ClearBehaviorFlag", "IsBehaviorFlagSet", "SetActionPoint" e "GetActionPoint".

Atualização de 10 de outubro de 2024 (Scream Fortress XVI)

  • Exposição do método CTFBaseBoss::SetResolvePlayerCollisions() para usuários de VScript.

Atualização de 18 de fevereiro de 2025

  • Adição de compatibilidade do VScript com o sinalizador "HIDEHUD_MATCH_STATUS" para ocultar o painel de estado da partida.

Atualização de 1º de maio de 2025

  • correção dos seguintes métodos da classe TFBot, que incorretamente usavam "unsigned int" (inteiro sem sinal): SetBehaviorFlag, ClearBehaviorFlag, IsBehaviorFlagSet, SetMission, SetPrevMission, GetMission, GetPrevMission e HasMission.

Veja também