Counter-Strike 2: a atualização de 24 de agosto não afeta suas partidas — ela dá aos mapas da comunidade uma interface, uma câmera e o direito de cancelar uma colocação de bomba
Crédito: Valve
Mapa

Counter-Strike 2: a atualização de 24 de agosto não afeta suas partidas — ela dá aos mapas da comunidade uma interface, uma câmera e o direito de cancelar uma colocação de bomba

Fabian Fabian Lainé
Siga-nos no

Resumo

A atualização de 24 de agosto do Counter-Strike 2 não mexe em nada nas suas partidas — zero mudanças de armas, mapas jogáveis ou gameplay. Em compensação, ela abre portas enormes para os criadores: interfaces personalizadas na tela, controle de câmera sem deslocamento do jogador e, principalmente, a possibilidade de cancelar uma plantada de bomba em andamento. Mecânicas que pareciam impossíveis se tornam realidade.

A Valve lançou uma atualização de Counter-Strike 2 em 24 de agosto, e se você foi procurar o que ela muda nas suas partidas, a resposta é: nada. Nenhuma arma retocada, nenhum mapa modificado, nenhuma correção de gameplay. A totalidade das linhas está reunida sob um único título: MAP SCRIPTING.

Isso não significa, porém, que seja uma atualização sem consequências. Ela dá aos mapas comunitários duas coisas que eles não tinham — uma interface própria e o controle da câmera do jogador — e abre a porta para modos de jogo que até agora só podiam existir fora de Counter-Strike 2.

Veja aqui o que ela contém, e o que isso significa para o que você vai encontrar no Workshop nos próximos meses.

As notas dessa atualização não foram publicadas em português pela Valve. Os trechos entre aspas neste artigo são nossa tradução: não são termos oficiais do cliente em português.

Primeira novidade: os mapas podem exibir sua própria interface

A Valve adiciona uma entidade chamada custom_hud_layout, descrita como "o ponto de entrada que permite que mapas com script forneçam uma interface personalizada".

O que ela permite, nos termos exatos das notas:

  • quatro tipos de elementos: Panel, Label, Image e Button;
  • a formatação em CSS;
  • a manutenção do estado durante os recarregamentos no modo de ferramentas — uma conveniência de desenvolvimento, não uma funcionalidade de jogo.

Até agora, um mapa comunitário que quisesse exibir uma pontuação, um cronômetro ou um objetivo precisava posicioná-lo no mundo em 3D, ou desviar a exibição existente. Agora ele pode construir uma verdadeira interface na tela, com botões clicáveis — o evento Instance.OnCustomHudClicked aparece na mesma atualização.

O limite que é preciso ler com atenção

A Valve impõe imediatamente uma barreira: "Eventos e scripts do lado do cliente não são suportados." Toda a lógica permanece no servidor. Isso significa que essas interfaces não poderão reagir instantaneamente a uma ação local do jogador: cada interação faz uma ida e volta. Para um menu ou um painel, isso não faz diferença. Para um elemento que precisa acompanhar o tiro no milissegundo, não vai funcionar bem.

Segunda novidade: controlar a visão sem mover o jogador

A segunda entidade se chama cs_player_camera, e sua descrição é curta, mas carregada de consequências: ela "dá o controle da visão de um jogador sem mover seu personagem". Ela também pode "ser configurada para deixar o jogador olhar ao redor a partir da posição definida pelo script".

Em outras palavras: um mapa agora pode assumir o controle dos olhos do jogador — cinemática de introdução, visão de cima, câmera de espectador imposta, plano fixo sobre um objetivo — mantendo seu corpo onde está. Três funções acompanham essa entidade: CSPlayerCamera.IsEnabled, SetEnabled e SetIsControllingAngles.

É a peça que faltava para toda uma categoria de conteúdos: mapas narrativos, tutoriais guiados, modos com fases. Agora é possível mostrar algo a um jogador sem teletransportá-lo.

Uma instalação de bomba em Counter-Strike 2
Os scripts de mapa agora detectam o início e a interrupção de uma plantada, e podem cancelá-la. Crédito: Valve

O bloco da bomba: quatro novos momentos observáveis, e um poder de cancelamento

É a parte mais interessante para quem projeta um modo de jogo. Antes desta atualização, um script sabia que uma bomba havia sido plantada ou desarmada. Agora ele sabe que um plantio ou um desarme começa e que ele é interrompido:

  • Instance.OnBombPlantStart — o plantio começa;
  • Instance.OnBombPlantAbort — o plantio é interrompido;
  • Instance.OnBombDefuseStart — o desarme começa;
  • Instance.OnBombDefuseAbort — o desarme é interrompido.

A isso se somam três funções do lado do C4: C4.GetPlantStartTime, C4.GetPlantFinishTime e sobretudo C4.AbortPlant. Esta última não observa nada: ela age. Um script pode cancelar um plantio em andamento.

Na prática, isso torna possíveis regras que não existiam: uma zona onde plantar é proibido, uma contagem regressiva que cancela o plantio caso expire, um objetivo a cumprir antes de poder armar a bomba. É o tipo de mecânica que diferencia um modo de jogo de um simples mapa.

Por fim, três funções dão ao script uma leitura direta do estado de um jogador: CSPlayerPawn.GetC4 (quem carrega a bomba), CSPlayerPawn.GetDefuseTarget (o que ele está desarmando) e CSPlayerPawn.IsBuyMenuOpen (se ele tem o menu de compra aberto).

A movimentação das entidades se torna controlável

Três adições completam o quadro: Entity.Move, Entity.GetMoveType, Entity.SetMoveType, acompanhadas de um novo enumerador CSMoveType. Um mapa pode, portanto, alterar a forma como um objeto se move durante a partida, e não apenas teletransportá-lo.

A isso se soma Instance.Delay, que permite programar uma ação adiada sem improvisar um temporizador, e Instance.IsDedicatedServer, que permite a um script saber se ele está rodando em um servidor dedicado ou localmente — útil para desativar corretamente o que não faz sentido offline.

Duas depreciações: os scripts existentes precisam ser verificados

A atualização remove dois parâmetros:

  • planter desaparece do evento Instance.OnBombPlant;
  • defuser desaparece do evento Instance.OnBombDefuse.

Isso não é irrelevante: esses dois parâmetros identificavam o jogador responsável pela ação. Qualquer mapa que os utilizasse — para atribuir uma pontuação, disparar uma recompensa, exibir um nome — precisa ser revisado. As novas funções CSPlayerPawn.GetC4 e GetDefuseTarget atendem à necessidade de outra forma, mas é preciso reescrever essa parte.

O conforto de desenvolvimento, tratado melhor que de costume

Quatro linhas dizem respeito ao diagnóstico de erros, e elas revelam algo sobre a maturidade da ferramenta:

  • os erros encontrados na primeira execução de um script agora aparecem no console;
  • as rejeições de promessa não tratadas também são registradas ali;
  • o número da coluna é adicionado aos erros detectados na compilação de um módulo;
  • os tipos de vários eventos foram corrigidos, «nos casos em que parâmetros podiam ser indefinidos».

Uma depuração que passa do silêncio à mensagem de erro localizada contribui mais para a quantidade de conteúdo publicado do que qualquer nova entidade.

O que é preciso lembrar como jogador

  1. Sua partida de hoje à noite não muda. Nenhuma arma, nenhum mapa, nenhuma economia é afetada por essa atualização.
  2. Os mapas comunitários vão ganhar interfaces. Placares, objetivos, menus clicáveis: o que era gambiarra se torna uma funcionalidade oficial.
  3. Modos de jogo com regras próprias se tornam possíveis, especialmente em torno da bomba, graças aos quatro novos momentos observáveis e à possibilidade de cancelar uma plantada.
  4. Alguns mapas existentes vão quebrar até que seus autores substituam os parâmetros planter e defuser.

Uma nota sobre o idioma

A Valve costuma traduzir suas notas de atualização para o francês: as do 19 de agosto, que tratavam de Boulder, Poseidon e da velocidade dos modelos contra as paredes, saíram sim sob o título « Mise à jour de Counter-Strike 2 ». As do 24 de agosto permaneceram em inglês, inclusive para um jogador cujo cliente está em francês.

Os nomes de entidades e de funções citados aqui são identificadores de código: eles não são traduzidos em nenhum idioma, e não serão. Eles se escrevem tal como estão em um script, e é assim que devem ser procurados.

Compartilhar este artigo

O que mais te empolga nessa atualização é…

Perguntas frequentes

Essa atualização muda algo nas minhas partidas normais?
Absolutamente nada. Zero mudanças de armas, mapas, economia ou gameplay. É puro scripting voltado para os criadores de conteúdo comunitário.
O que vai ser possível fazer de novo com os mapas?
Muito mais coisas: interfaces limpas na tela, cinemáticas sem teletransporte e, principalmente, modos de jogo com regras personalizadas em torno da bomba. Coisas que antes só existiam via hack agora se tornam oficiais.
Por que alguns mapas vão quebrar depois dessa atualização?
A Valve removeu os parâmetros planter e defuser dos eventos de bomba. Os criadores que os utilizavam precisam reescrever seu código para usar as novas funções CSPlayerPawn.GetC4 e GetDefuseTarget no lugar.
Eu consigo reagir ao clique de um botão da interface em tempo real?
Não, toda a lógica continua do lado do servidor — cada interação faz uma ida e volta. Isso funciona muito bem para menus e painéis, mas é inviável para elementos que precisam acompanhar o tiro na milésima de segundo.
Por que as notas não estão em português desta vez?
A Valve as deixou em inglês. Isso é excepcional — normalmente ela traduz. Os nomes de entidades e funções do código não são traduzidos de qualquer forma, independentemente do idioma do seu cliente.

Destaques

  • Os mapas comunitários finalmente podem exibir sua própria interface na tela com botões clicáveis, substituindo as gambiarras 3D de antes.
  • Um script agora pode controlar a visão do jogador sem deslocá-lo, abrindo caminho para cinemáticas e tutoriais guiados.
  • A bomba ganha quatro momentos observáveis (início/interrupção da plantada e da desarmação), além do poder de cancelar uma plantada em andamento — isso cria mecânicas de jogo antes impossíveis.
  • Os scripts agora conseguem ver quem carrega a bomba e quem a desarma, mas é preciso refazer os mapas que usavam os antigos parâmetros planter e defuser.
  • A depuração melhorou: os erros agora aparecem na tela em vez de desaparecer silenciosamente no vazio.

Comentários

Nenhum comentário por enquanto. Seja o primeiro a comentar!

Deixar um comentário

Últimas notícias