• A atualização do CS2 traz novas ferramentas para scripts de mapas. Agora, eles podem acompanhar reféns, controlar regras de partida e verificar o carregamento de recursos. O pacote também corrige problemas em enums, valores retornados por funções e operações com o dinheiro das equipes.

Novas ferramentas para scripts de mapas

A nova função Instance.Precache retorna um objeto CSPrecache. Com ele, o script consegue verificar separadamente se o servidor e o cliente ainda estão carregando recursos, se cada um já terminou e se o carregamento foi concluído para todos. CSPrecache.Release completa esse conjunto de funções.

Os reféns ganharam a classe CSHostage. Ela permite saber se um refém está sendo recolhido, carregado ou se já foi resgatado. Também identifica o jogador responsável e registra os horários de início e fim da coleta. Já CSPlayerPawn.GetHostage permite consultar o refém associado a um jogador. A Valve adicionou ainda eventos para o início e a interrupção da coleta, o transporte, a soltura, o resgate e a morte de reféns.

Console, regras de partida e correções

O novo export Console reúne funções para ler convars em diferentes tipos, executar comandos e registrar comandos de trapaça. Console.SetConvar é executado de forma síncrona e não está sujeito à restrição de sv_cheats. Já GameRules oferece funções para iniciar e encerrar o aquecimento, consultar e somar pontos das equipes e terminar rodadas. Funções antes disponíveis em Instance foram movidas para esses exports. Elas continuam acessíveis nos locais antigos, mas agora estão marcadas como obsoletas.

No HUD, custom_hud_layout recebeu HUD_TEAMMENU_VISIBLE e HUD_CHAT_VISIBLE. O radar_element agora pode aparecer no radar em qualquer modo de jogo, não apenas no Rush.

A Valve corrigiu uma falha em GameRules.AddTeamMoney causada pelo uso de CSTeamMoneyReason.NONE e passou a aceitar essa opção com um valor definido. Também alinhou os valores de CSTeamMoneyReason e CSWeaponAttackType ao arquivo point_script.d.ts. Duas consultas de visibilidade, CSRadarPoint.IsVisibleToTeam e CSObservablePoint.IsObservableForTeam, agora retornam valores booleanos em vez de números. Os avisos registrados no log passaram a incluir a pilha de chamadas JavaScript e detalhes sobre argumentos inválidos.


Lista completa de mudanças (Valve)

[ SCRIPT DE MAPA ]

  • Adicionado Instance.Precache

  • Retorna um objeto CSPrecache

  • Adicionado CSPrecache.IsServerLoading

  • Adicionado CSPrecache.IsServerLoaded

  • Adicionado CSPrecache.IsClientLoading

  • Adicionado CSPrecache.IsClientLoaded

  • Adicionado CSPrecache.IsLoadedForAll

  • Adicionado CSPrecache.Release

  • Adicionado CSHostage

  • Adicionado CSHostage.IsBeingPickedUp

  • Adicionado CSHostage.IsBeingCarried

  • Adicionado CSHostage.IsRescued

  • Adicionado CSHostage.GetRescuer

  • Adicionado CSHostage.GetPickUpStartTime

  • Adicionado CSHostage.GetPickUpFinishTime

  • Adicionado CSPlayerPawn.GetHostage

  • Adicionado Instance.OnHostagePickUpStart

  • Adicionado Instance.OnHostagePickUpAbort

  • Adicionado Instance.OnHostagePickUp

  • Adicionado Instance.OnHostageDrop

  • Adicionado Instance.OnHostageRescue

  • Adicionado Instance.OnHostageKill

  • Adicionado nova exportação de nível superior Console

  • Adicionado Console.GetConvarBoolean

  • Adicionado Console.GetConvarNumber

  • Adicionado Console.GetConvarString

  • Adicionado Console.GetConvarVector

  • Adicionado Console.GetConvarQAngle

  • Adicionado Console.GetConvarColor

  • Adicionado Console.SetConvar

  • Console.SetConvar não é restrito por sv_cheats e executa de forma síncrona

  • Renomeado Instance.Msg para Console.Log

  • Movido Instance.ClientCommand, ServerCommand e RegisterCheatCommand para Console

  • Adicionado nova exportação de nível superior GameRules

  • Adicionado GameRules.StartWarmup

  • Adicionado GameRules.EndWarmup

  • Adicionado GameRules.GetTeamScore

  • Adicionado GameRules.AddTeamScore

  • Adicionado GameRules.TerminateRound

  • Movido Instance.IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod, GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime e AddTeamMoney para GameRules

  • Métodos movidos e renomeados ainda estão disponíveis em sua localização original, obsoletos

  • Adicionadas classes custom_hud_layout de nível superior HUD_TEAMMENU_VISIBLE e HUD_CHAT_VISIBLE

  • radar_element agora pode aparecer no radar em todos os modos de jogo, não apenas em Rush

  • Adicionado suporte para GameRules.AddTeamMoney com CSTeamMoneyReason.NONE e um valor

  • Corrigido um crash em GameRules.AddTeamMoney com CSTeamMoneyReason.NONE

  • Corrigidos valores do enum CSTeamMoneyReason que não correspondiam a point_script.d.ts

  • Corrigidos valores do enum CSWeaponAttackType que não correspondiam a point_script.d.ts

  • Corrigido CSRadarPoint.IsVisibleToTeam retornando um número em vez de um booleano

  • Corrigido CSObservablePoint.IsObservableForTeam retornando um número em vez de um booleano

  • Avisos registrados agora incluem a pilha de chamadas JS

  • Avisos registrados agora incluem detalhes sobre valores de argumentos inválidos

  • Avisos registrados agora contam argumentos a partir de 0 em vez de 1

  • Melhorada a autocompletação do comando map_workshop