VScript
< VScript
![]() | Este tópico é coberto melhor por outros sites ou wikis. Considere consultar os seguintes links:
|
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
- Implementação do VScript (em inglês):
- O VScript permite que criadores de mapas incluam scripts (na linguagem Squirrel3) em mapas. Esse sistema já é usado em mapas dos jogos Left 4 Dead 2 e Counter-Strike: Global Offensive.
- Interaja com entidades e o mundo como as entidades lógicas oferecidas pelo editor Hammer.
- Simplifique recursos cujo desenvolvimento com as entidades lógicas do editor Hammer era complexo e/ou cansativo.
- Interaja e controle os mínimos detalhes de bots, chefões, atributos de jogadores, entidades e o estado da partida, permitindo a personalização de modos de jogo existentes ou a criação de novos.
- Reaja aos eventos da partida e mude o resultado de certas coisas, como os cálculos de dano.
- Mais informações técnicas sobre a versão do VScript implementada no Team Fortress 2 estão disponíveis na comunidade de desenvolvedores da Valve (em inglês) (links em inglês):
- O VScript permite que criadores de mapas incluam scripts (na linguagem Squirrel3) em mapas. Esse sistema já é usado em mapas dos jogos Left 4 Dead 2 e Counter-Strike: Global Offensive.
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 consolemaxplayers
. - Correção da limpeza de ganchos de scripts (script hooks) ao trocar de nível.
- Correção da consideração de arquivos "
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
".
- Adição das variáveis de console "
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
eHasMission
.
Veja também
|