# Counter-Strike 2 Update Adds Hostage Scripting Events

_2026-10-23 | by Editorial Team_

> Valve's October 23 update expands Counter-Strike 2's map scripting API with hostage events, asset-loading controls, and new ways to manage console settings and round rules.

- Valve's October 23 Counter-Strike 2 update expands the map scripting API without changing weapons or matchmaking. Map creators get hostage events, asset-loading controls, and new ways to manage console settings and round rules. ## Hostage events and asset loading Scripts can now track a hostage from pickup through carrying, dropping, and rescue. New `CSHostage` methods let scripts check whether a hostage is being picked up, carried, or rescued, identify the rescuer, and track when pickup starts and finishes. `CSPlayerPawn.GetHostage` lets a script check which hostage a player has. Valve also added `Instance` events for when pickup starts, is aborted, or finishes, as well as for hostage drops, rescues, and kills. Custom hostage maps can respond to those events directly instead of repeatedly checking each hostage's state. For assets, `Instance.Precache` returns a `CSPrecache` object. Its methods report server and client loading status, including whether loading has finished for everyone. Scripts can then release the object with `CSPrecache.Release`. ## Console controls, round rules, and fixes The new top-level `Console` export groups methods for reading convars as booleans, numbers, strings, vectors, QAngles, or colors. `Console.SetConvar` runs synchronously and is not restricted by `sv_cheats`. Valve renamed `Instance.Msg` to `Console.Log` and moved client commands, server commands, and cheat-command registration to `Console`. A separate `GameRules` export adds controls for warmup, querying and changing team scores, and ending rounds. Existing methods for checking match phases, reading or changing round time, and adding team money have moved there too. They still work in their old locations, but Valve has deprecated them. Custom Counter-Strike 2 modes get a few smaller changes: `radar_element` can now appear in every game mode, not just Rush, while custom HUD layouts gain `HUD_TEAMMENU_VISIBLE` and `HUD_CHAT_VISIBLE`. Valve also fixed a crash when `GameRules.AddTeamMoney` used `CSTeamMoneyReason.NONE`, corrected two enum mismatches with `point_script.d.ts`, and changed two visibility checks to return booleans instead of numbers. Logged warnings now include the JavaScript call stack and details of invalid argument values. --- ## Full changelog (Valve patch notes) \[ MAP SCRIPTING ] - Added Instance.Precache - Returns a CSPrecache object - Added CSPrecache.IsServerLoading - Added CSPrecache.IsServerLoaded - Added CSPrecache.IsClientLoading - Added CSPrecache.IsClientLoaded - Added CSPrecache.IsLoadedForAll - Added CSPrecache.Release - Added CSHostage - Added CSHostage.IsBeingPickedUp - Added CSHostage.IsBeingCarried - Added CSHostage.IsRescued - Added CSHostage.GetRescuer - Added CSHostage.GetPickUpStartTime - Added CSHostage.GetPickUpFinishTime - Added CSPlayerPawn.GetHostage - Added Instance.OnHostagePickUpStart - Added Instance.OnHostagePickUpAbort - Added Instance.OnHostagePickUp - Added Instance.OnHostageDrop - Added Instance.OnHostageRescue - Added Instance.OnHostageKill - Added new top level export Console - Added Console.GetConvarBoolean - Added Console.GetConvarNumber - Added Console.GetConvarString - Added Console.GetConvarVector - Added Console.GetConvarQAngle - Added Console.GetConvarColor - Added Console.SetConvar - Console.SetConvar is not restricted by sv_cheats and executes synchronously - Renamed Instance.Msg to Console.Log - Moved Instance.ClientCommand, ServerCommand and RegisterCheatCommand to Console - Added new top level export GameRules - Added GameRules.StartWarmup - Added GameRules.EndWarmup - Added GameRules.GetTeamScore - Added GameRules.AddTeamScore - Added GameRules.TerminateRound - Moved Instance.IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod, GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime and AddTeamMoney to GameRules - Moved and renamed methods are still available in their original location, deprecated - Added top-level custom_hud_layout classes HUD_TEAMMENU_VISIBLE and HUD_CHAT_VISIBLE - radar_element can now appear on the radar in every game mode, not just Rush - Added support for GameRules.AddTeamMoney with CSTeamMoneyReason.NONE and an amount - Fixed a crash in GameRules.AddTeamMoney with CSTeamMoneyReason.NONE - Fixed CSTeamMoneyReason enum values not matching point_script.d.ts - Fixed CSWeaponAttackType enum values not matching point_script.d.ts - Fixed CSRadarPoint.IsVisibleToTeam returning a number instead of a boolean - Fixed CSObservablePoint.IsObservableForTeam returning a number instead of a boolean - Logged warnings now include the JS call stack - Logged warnings now include details about bad argument values - Logged warnings now count arguments from 0 instead of 1 - Improved auto complete of the map_workshop command

---

Source: [Counter-Strike 2 Update Adds Hostage Scripting Events](https://getskin.pl/en/articles/counter-strike-2-update-adds-hostage-scripting-events) - GetSkin.pl