Update de código25 de ago. de 2026, 16:58 BRT
Assinar updates

Atualização do CS2 (25 de ago. de 2026)

CS2 adiciona um addon de demonstração oficial `cs_script`, referência completa da API JavaScript e suporte a layouts de HUD Panorama controlados por scripts, oferecendo novas ferramentas poderosas para criadores de mapas.

Resumo rápido

  • Addon oficial de demonstração `cs_script` com mapa exemplo, scripts e UI customizada.
  • Arquivo de declarações TypeScript documenta a API JavaScript `cs_script` para entidades `point_script`.
  • Vários scripts de exemplo mostram tracing, treino de granadas, mudanças de modelos, debug de input e UI de boas-vindas.
  • Suporte a HUD Panorama customizada habilitado e novos caminhos de busca para layouts e estilos customizados.
  • Tooltips do editor e a tela de boas-vindas do zoo foram atualizados para direcionar criadores ao `cs_script_demo`.
  • Ajustes nas ferramentas e visibilidade de assets de script para melhorar integração com o editor.
  • Builds cliente/servidor atualizados com pequenas mudanças internas de engine e schema.

Uma nova build de Counter-Strike 2 foca em scripting e UI personalizada: a Valve disponibilizou um addon de demonstração oficial cs_script, uma referência completa da API JavaScript para scripts de mapa e suporte a layouts personalizados de HUD Panorama controlados por scripts. A atualização é claramente direcionada a mapeadores, modders e criadores do Workshop, com mudanças visíveis mínimas para jogadores comuns.

Addon de demonstração oficial cs_script e mapa exemplo

  • Novo addon de demonstração: Um addon chamado cs_script_demo foi definido em csgo_addons, com um addoninfo.txt apontando para um mapa cs_script_demo. Parece ser um pacote de exemplo oficial feito para acompanhar as ferramentas.
  • Conteúdo do mapa de demonstração: O manifesto do addon lista um mapa cs_script_demo.vmap, vários arquivos de script compilados (.vjs) e um layout/estilo Panorama customizados. Isso indica que o mapa demonstrará as capacidades do cs_script de ponta a ponta: lógica de jogo, utilitários de trace, HUD customizado e interações scriptadas.
  • Como acessar: O texto do welcome diz explicitamente que "The cs_script demo has moved to csgo_addons/cs_script_demo" e instrui a "launch with workshop tools." Isso sugere fortemente que a demo deve ser aberta a partir do ambiente Workshop/Ferramentas, não via matchmaking padrão.

Para jogadores que não usam as ferramentas, esse conteúdo pode não aparecer na jogabilidade normal, mas deve facilitar o aprendizado do sistema de scripting e a criação de mapas personalizados de maior qualidade.

Referência completa da API JavaScript para cs_script

  • Declarações TypeScript para point_script: Um grande arquivo point_script.d.ts foi adicionado em cs_script_demo/maps/scripts. Ele documenta a API JavaScript exposta a scripts ligados a entidades point_script via o módulo "cs_script/point_script".

  • Integração com editores: Comentários explicam que colocar point_script.d.ts e um tsconfig.json ao lado dos seus scripts permite que editores ofereçam IntelliSense, checagem de tipos e ferramentas para JavaScript visando o runtime atual do CS2. Isso deve melhorar bastante o fluxo de trabalho de quem cria scripts.

  • Escopo principal da API: As declarações expõem um objeto central Instance com callbacks e helpers para:

    • Ciclo de vida do jogo: OnActivate, OnPlayerConnect, OnPlayerActivate, OnPlayerDisconnect, OnRoundStart, OnRoundEnd, hooks de reinício de round, eventos de planta/desarme da bomba, e mais.
    • Combate e dano: OnModifyPlayerDamage (com capacidade de alterar dano, flags ou cancelar hits), OnPlayerDamage, OnPlayerKill, OnGunFire, OnGunReload, OnBulletImpact, ataques de faca, lançamentos e ricochetes de granadas.
    • Interação com jogadores: chat (OnPlayerChat), pings (OnPlayerPing), pulos e pousos, pickups e drops de armas.
    • Traces e queries físicas: TraceLine, TraceSphere, TraceBox, TracePlayer e TraceBullet, com tipos de resultado estruturados.
    • Interação com o mundo: disparar inputs de entidade (EntFireAtName, EntFireAtTarget), ouvir outputs via ConnectOutput / DisconnectOutput, e helpers de busca de entidade (FindEntityByName, FindEntitiesByClass, etc.).
    • Utilitários de tempo: sistema de think (SetThink, SetNextThink), Promises Delay, e QueueAfterThinks para modificações seguras pós-física.
    • Consultas de estado do jogo: tempo de round, warmup/freeze, tipo/modo de jogo, nome do mapa e contagem de rounds, além de controle sobre o tempo restante do round.
    • Comandos: ClientCommand, ServerCommand e RegisterCheatCommand para utilitários de console via script.
    • Dados persistentes: SetSaveData e GetSaveData para strings de save associadas ao addon.
  • Classes de entidade e jogador: As declarações incluem classes como Entity, BaseModelEntity, CSWeaponBase, CSPlantedC4, CSGrenadeProjectileBase, CSPlayerPawn, CSPlayerController, CSObserverPawn, CustomHudLayout, CSPlayerCamera e PointTemplate, cada uma com APIs focadas em movimento, modelos, vida, armas, armadura, dinheiro, controle de câmera e comportamento de HUD customizado.

  • Enums e estruturas de dados: Uma ampla gama de enums (tipo de movimento, tipo de arma, tipos e flags de dano, hitgroups, flags de input, tipo de granada, slots de loadout, etc.) e interfaces de dados (para traces de bala, traces de jogador, eventos de dano, ricochetes de granada e eventos da bomba) estão formalmente documentados.

  • Deprecações sinalizadas: Vários métodos e overloads estão marcados com @deprecated e indicados como removidos em atualizações futuras, dando aviso antecipado para autores de script migrarem de helpers legados como OnBeforePlayerDamage e overloads antigos de debug drawing.

No geral, esse arquivo formaliza a superfície de scripting que muitos mapeadores vinham experimentando e deve tornar o cs_script menos baseado em tentativa e erro e mais estável para projetos sérios do Workshop.

Novos scripts de exemplo: traces, inputs, granadas, modelos e UI

Vários scripts JavaScript concretos agora vêm no cs_script_demo. Eles mostram como usar a API na lógica real de mapas e servem como referência prática.

Tracing e visualização de balas (trace.js)

  • Comando cheat para traces de debug: Um comando script_zoo_trace alterna modos de trace: line, sphere, box, player ou bullet.
  • Traces de linha/esfera/caixa: O script:
    • Obtém a posição do olho e a direção de visão do primeiro jogador.
    • Realiza diferentes tipos de trace conforme o modo (linha, esfera, ou uma caixa alinhada aos eixos), ignorando o jogador quando necessário.
    • Usa DebugSphere, DebugBox e DebugLine para desenhar pontos de impacto e normais da superfície.
  • Traces de colisão de jogador: Um exemplo TracePlayer mostra como a colisão se comporta conforme o jogador se move, usando a altura agachada do pawn para dimensionar a caixa.
  • Simulação de bala: Um exemplo TraceBullet usa alcance, dano, modificador de alcance e valores de penetração da arma ativa para simular o trajeto e penetração da bala. Ele:
    • Colore impactos de forma distinta para acertos no mundo, dano baixo, dano normal e dano muito alto.
    • Marca headshots com uma pequena esfera e outros acertos com uma pequena caixa.

Esse script demonstra como criar visualizadores para movimento, colisão e comportamento de balas, úteis para mapas de treino e debug de mecânicas personalizadas.

Mini-modo de treino de granadas (grenadetraining.js)

  • Seleção rotativa de alvos: O script rastreia rounds, acertos e um índice de alvo atual e:
    • Seleciona aleatoriamente entre múltiplos alvos com uma regra simples anti-repetição.
    • Ajusta a dificuldade com base no número de rounds.
    • Usa inputs de entidade (cover.*, tele.* e entidades de texto do mundo) para revelar o próximo alvo e resetar o jogador.
  • Fluxo de treino: Inputs de script gerenciam a máquina de estados:
    • ResetAndCleanUp reseta triggers, timers, texto, sons e props de cover, desliga munição infinita, destrói as armas do jogador e força o slot de granada.
    • StartTraining arma o modo: habilita munição infinita, dá uma granada HE ao jogador, inicia contagens e timers, e reseta rounds/acertos.
    • GrenadeHit incrementa um contador de acertos, toca um som, atualiza texto na UI e remove projétil rastreado se existir.
    • SetNextTarget é acionado por timer, rotacionando para um novo alvo por até 10 rounds e então limpando e tocando um som final.
  • Desenho ao vivo da trajetória de granada: Usando OnGrenadeThrow, o script rastreia o projétil lançado e desenha uma linha de debug contínua atrás dele a cada tick até desaparecer, ajudando a visualizar a trajetória.

Isso demonstra como construir um modo de treino scriptado, com UI, que reage a ações do jogador e entidades do jogo sem depender apenas de cadeias lógicas tradicionais do Hammer.

Manipulação de modelos e efeitos de glow (mdlchange.js)

  • Modelos dinâmicos: O script encontra um prop nomeado (mdlchange.prop_dyn) e mostra como:
    • Mudar seu modelo em runtime via SetModel para um entre vários exemplos.
    • Escalar o prop ao longo do tempo com SetModelScale e um multiplicador simples.
  • Alternar glow: Um input GlowToggle usa Glow, Unglow e IsGlowing para destacar o prop, ilustrando como mapas customizados podem evidenciar objetos interativos ou alvos.

Inspeção de input do jogador (input.js)

  • Comando de debug de input: Um comando script_zoo_showinput alterna qual pawn de jogador é observado (o pawn do primeiro controller).
  • Status de input na tela: A cada tick, o script imprime três linhas de debug HUD para o pawn observado:
    • Inputs atualmente pressionados (IsInputPressed).
    • Inputs pressionados neste tick (WasInputJustPressed).
    • Inputs liberados neste tick (WasInputJustReleased).

Esse exemplo mostra como inspecionar e visualizar flags de input em tempo real, útil para análise de movimento ou mapas didáticos.

Fluxo de boas-vindas, bots e ajustes de dano (setup.js)

  • Comandos de setup do servidor: Ao carregar, a demo:
    • Habilita sv_cheats, warmup offline e pausa o timer de warmup, criando um ambiente seguro para experimentos.
  • Auto-configuração do primeiro jogador: No primeiro OnPlayerActivate, o script:
    • Força o jogador para o time 2.
    • Para bots existentes e adiciona um bot como alvo de treino.
    • Mostra uma UI de boas-vindas para esse jogador.
  • Modificações de dano: Usando OnModifyPlayerDamage e OnPlayerDamage:
    • Dano contra bots recebe a flag CSDamageFlags.PREVENT_DEATH, tornando bots imortais para fins de treino.
    • Dano por corte (ex.: faca) causa um efeito adicional: após o dano, o script agenda ajuste de velocidade que impulsiona a vítima para cima via Teleport com um vetor de velocidade modificado.
  • Diálogo de boas-vindas customizado: O script conecta uma entidade CustomHudLayout chamada welcome_layout para:
    • Mostrar um diálogo a jogadores que entram via SetHasClassForPlayer e SetInputCaptureEnabled.
    • Ocultá-lo quando o jogador clicar num botão com id dismiss_button, detectado via OnCustomHudClicked.
  • Comando para reexibir manualmente: Um comando script_zoo_show_welcome reexibe o diálogo para todos os controllers conectados.

Esse exemplo combina eventos do ciclo de vida do jogador, hooks de dano, movimento de entidades, bots e controles de HUD customizados em uma experiência estilo tutorial.

Script mínimo hello-world (hello.js)

  • Saída básica: O exemplo mais simples apenas importa Instance e imprime "Hello cs_script!" no console, servindo como primeiro passo para quem verifica a configuração.

Suporte a HUD customizado e UI de jogo

  • UI de jogo customizada habilitada: A configuração principal do jogo agora define AllowCustomGameUI como 1. Isso indica que o motor permite que UI Panorama customizada para jogos/mapas fique ativa, algo que antes estava desabilitado.

  • Caminhos de busca para layouts customizados: A configuração gameinfo inclui novos caminhos de recurso:

    • "panorama/layout/custom_game"
    • "panorama/styles/custom_game"

    Isso significa que layouts e estilos colocados nessas pastas podem ser carregados pelo jogo.

  • Documentação da entidade de HUD customizado: A definição csgo.fgd para custom_hud_layout (a entidade que conecta cs_script a layouts Panorama) continua descrita como "Panorama UI that can be controlled by cs_script." Uma pequena alteração remove uma referência de ajuda no editor ao comando dev_report_info_hud_layout, simplificando o texto da tooltip. A entidade continua usando um campo layout(resource:xml) para especificar um layout Panorama.

  • Atualização do conteúdo da tela de boas-vindas: Os arquivos do editor zoo welcome.xml e welcome.css foram ajustados:

    • A caixa de diálogo agora é mais larga e um pouco mais alta (520x220 em vez de 350x200), deixando mais espaço para texto.
    • O texto agora informa que "The cs_script demo has moved to csgo_addons/cs_script_demo. Launch with workshop tools to view." Redirecionando mapeadores ao novo addon e afastando-os do mapa embutido antigo.

Criadores provavelmente poderão projetar HUDs e diálogos mais expressivos controlados diretamente por scripts, usando a classe CustomHudLayout junto com layouts e CSS Panorama nas novas pastas.

Editor e mudanças nas ferramentas para assets de script

  • Visibilidade de tipos de asset: A configuração compartilhada de tipos de asset não esconde mais certos tipos de asset relacionados a scripts do ambiente retail CS:GO/CS2. Especificamente, referências a m_HideForRetailMods = [ "csgo" ] foram removidas para alguns recursos KV3-based de layout/estilo Panorama. Isso pode permitir que esses assets sejam mais amplamente reconhecidos nas ferramentas em vez de serem estritamente somente-editor.
  • Arquivos atualizados do editor zoo: Recursos compilados do layout/estilo welcome (welcome.vxml_c / welcome.vcss_c) estão relistados no manifesto do pacote do mapa do editor zoo, indicando que continuam parte das ferramentas e foram atualizados junto ao novo texto e dimensões.
  • Limpeza de enums de movimento em stubs do editor: A versão do point_script.d.ts usada no mapa zoo teve duas entradas de enum de movimento (FLY, PUSH) removidas de CSMoveType, alinhando-a com a API canônica do novo demo. Isso deve reduzir confusão entre o stub do editor e a versão oficial do addon.

Essas alterações afetam principalmente como assets aparecem e se comportam nas ferramentas, não a jogabilidade normal, mas ajudam a manter pipelines de scripting e UI consistentes.

Mudanças internas e versionamento

  • Bump de build cliente/servidor: O arquivo steam.inf mostra as versões cliente e servidor mudando de 2000888 para 2000891, com revisão de origem e build time atualizados. Isso indica uma nova build lançada, embora o comportamento de jogo fora de scripting/UI não aparente mudanças óbvias.
  • Ajustes menores de engine e schema: Há pequenas mudanças em tabelas de string da engine e em dois headers de schema internos relacionados a pitch/volume dinâmicos (dynpitchvol_*). Parecem ajustes de base, não recursos novos voltados ao usuário.

Impacto geral

Para jogadores comuns, a atualização é discreta: dificilmente haverá mudanças de jogabilidade ou balance. A mudança mais visível é que o painel de boas-vindas do editor zoo agora orienta a usar o novo addon cs_script_demo.

Para mapeadores, modders e criadores do Workshop, esta build é significativa:

  • Recebem uma referência oficial fortemente tipada da API cs_script, facilitando a escrita e manutenção de lógica em JavaScript.
  • Ganham um addon de demonstração completo com múltiplos scripts de exemplo mostrando hooks de dano, tracing, balas, granadas, bots, HUDs customizados, manipulação de modelos e input de jogador.
  • O motor agora parece suportar layouts Panorama de HUD customizados controlados por cs_script, abrindo portas para mapas de treino, cenários e UIs sob medida.

No conjunto, a atualização eleva o cs_script de uma funcionalidade ainda experimental para algo bem mais próximo de um ambiente de scripting de primeira classe para conteúdo customizado do CS2, e provavelmente prepara o caminho para criações comunitárias mais sofisticadas.

Voltar aos updates

Updates recentes

Update de código8 de out. de 2026, 19:39 BRT

Atualização do CS2 (8 de out. de 2026)

Reload de uma arma ficou mais justo, limites de rede em servidores relaxados, mixagem de áudio de armas ajustada e ampla limpeza de protocolos, shaders e ferramentas — com pequenos polimentos na UI de mascotes e ferramentas de criação.

  • Janela de ataque após reload reduzida para uma arma específica, fazendo os reloads parecerem um pouco mais rápidos.
  • Limites de CPU para processamento de mensagens de cliente e tamanho do recv buffer relaxados e promovidos para configuração `release` para reduzir desconexões espúrias.
  • Modificadores de mix de áudio de armas atualizados para que os disparos possam sobressair mais claramente na mixagem.
  • Grande limpeza de mensagens e schemas do Game Coordinator econ, depreciando muitas operações legadas de item e adicionando operações genéricas de gerenciamento de itens.
  • Um novo campo `m_flModifier0` tipo `float` agora é replicado em pawns de jogador CS, provavelmente para um modificador de jogabilidade ou visual sincronizado no futuro.
  • Tooltip da cabine fotográfica de mascotes movido para localização e múltiplos arquivos de idioma e assets do livro de mascotes foram repacotados.
  • Numerosos arquivos de shader Vulkan atualizados para consistência de nomes e bindings corretos de parâmetros, melhorando robustez para VFX e ferramentas de criação de conteúdo.
  • ModelDoc ganha operação de mesh `Strip Morphs` e o Asset Browser recebe atalho para explorar o asset selecionado no disco.
  • Pacote e miniaturas de `rush_001` foram reconstruídos, sugerindo ajustes visuais ou de empacotamento menores, não mudanças de layout.
  • Binaries do cliente, servidor, matchmaking e engine recompilados com a nova versão `1.41.9.0`, indicando estabilidade geral e atualizações de protocolo.
Ver detalhes
Update oficial8 de out. de 2026, 19:36 BRT

Atualização do Counter-Strike 2 (8 de out. de 2026)

Pequenas correções e ajustes: ícone de ping para kits de desarme, ajuste de recarga do `AUG`, correções de áudio, clipping em mapas `Rush`, atualizações de localização e estabilidade.

  • Adicionado um ícone de ping para kits de desarme descartados
  • Reduzido o tempo de recarga do `AUG` em meio segundo
  • Corrigido o evento sonoro durante a recarga silenciosa do `Desert Eagle`
  • Corrigido um caso de zumbido em paisagens sonoras durante a reprodução de demos
  • Correções de clipping para mapas `Rush`
  • Atualizações de localização
  • Atualizações de estabilidade
Ver detalhes