A parte principal do patch é dedicada ao modo com reféns. Agora, cada refém é um objeto CSHostage, e o mapa acompanha todos os seus passos, desde a primeira tentativa de pegá-lo até o resgate ou a morte.
Se você só joga matchmaking, nada mudou no jogo para você: a lista de alterações de 22 de outubro tem uma única seção, MAP SCRIPTING. As novidades vão chegar aos mapas da Oficina e aos modos personalizados quando seus criadores atualizarem os scripts.
O refém deixou de ser só um modelo sem interação
CSHostage ganhou os métodos IsBeingPickedUp, IsBeingCarried e IsRescued. Com eles, o script sabe se alguém está pegando o refém, carregando-o ou se ele chegou ao ponto de resgate. GetRescuer identifica quem fez o resgate, enquanto GetPickUpStartTime e GetPickUpFinishTime informam o início e o fim da ação de pegar o refém. Também dá para consultar essa relação pelo jogador, com CSPlayerPawn.GetHostage.
Os métodos vieram acompanhados de eventos que permitem ao mapa reagir na hora.
- OnHostagePickUpStart é acionado quando um jogador começa a pegar o refém.
- OnHostagePickUpAbort detecta quando a tentativa de pegar o refém é interrompida.
- OnHostagePickUp é acionado quando o refém é pego.
- OnHostageDrop indica que o refém foi solto.
- OnHostageRescue registra o resgate.
- OnHostageKill é acionado quando o refém morre.
Por exemplo, quem cria o mapa pode dar pontos pelo resgate ou acionar um alarme na base dos terroristas quando um CT pegar o refém.
Console e GameRules assumiram parte das funções de Instance
A Valve adicionou duas novas seções no nível superior. Console reúne tudo o que envolve as variáveis de console. Dá para ler valores no tipo desejado (GetConvarBoolean, GetConvarNumber, GetConvarString, GetConvarVector, GetConvarQAngle, GetConvarColor) e gravá-los com SetConvar. Esse último método não depende de sv_cheats e é executado de forma síncrona. Ou seja, o novo valor já passa a valer na linha seguinte do script.
| Antes | Agora |
|---|---|
| Instance.Msg | Console.Log |
| Instance.ClientCommand, ServerCommand, RegisterCheatCommand | os mesmos métodos em Console |
| Instance.IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod | os mesmos métodos em GameRules |
| Instance.GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime | os mesmos métodos em GameRules |
| Instance.AddTeamMoney | GameRules.AddTeamMoney |
GameRules também ganhou métodos próprios. StartWarmup e EndWarmup iniciam e encerram o aquecimento; GetTeamScore e AddTeamScore consultam e alteram a pontuação da equipe; e TerminateRound encerra o round. Agora, o script do mapa pode decidir por conta própria quando o round termina.
Os nomes antigos ainda funcionam, mas agora estão marcados como obsoletos. Como a mudança de nome é mecânica, vale atualizar as chamadas antes que elas se acumulem no projeto.
O script verifica se os recursos foram carregados para todos os jogadores
Instance.Precache retorna um objeto CSPrecache. IsServerLoading e IsServerLoaded informam se o recurso está sendo carregado ou já foi carregado no servidor; IsClientLoading e IsClientLoaded fazem o mesmo no cliente. IsLoadedForAll verifica se o recurso está pronto para todos os jogadores. Quando ele deixa de ser necessário, Release o libera.
Interface, radar e correções
O restante do patch traz pequenos ajustes e correções. O layout personalizado da interface (custom_hud_layout) ganhou duas classes de nível superior, HUD_TEAMMENU_VISIBLE e HUD_CHAT_VISIBLE. Com elas, o layout pode mudar quando o menu de seleção de equipe ou o chat está aberto. O elemento radar_element agora aparece no radar em qualquer modo, não só no Rush.
- GameRules.AddTeamMoney não trava mais o jogo se receber o motivo CSTeamMoneyReason.NONE.
- Os valores dos enums CSTeamMoneyReason e CSWeaponAttackType agora correspondem à descrição dos tipos em point_script.d.ts.
- CSRadarPoint.IsVisibleToTeam e CSObservablePoint.IsObservableForTeam agora retornam um valor booleano, não um número.
- Os avisos no log agora mostram a pilha de chamadas do JavaScript e detalhes sobre argumentos inválidos. Além disso, a numeração dos argumentos começa em 0, não em 1.
- Convar
- Variável de console do jogo, como uma configuração do servidor ou do cliente, que pode ser lida e alterada.
- sv_cheats
- Configuração do servidor necessária para liberar algumas comandos do console.
- Precache
- Carregamento antecipado de modelos, sons e outros recursos antes que sejam necessários no jogo.
Guias















