Counter-Strike 2 Update erweitert Scripting-API für Map- und Mode-Entwickler

Counter-Strike 2 Update erweitert die Scripting-API
Dieses Update betrifft vor allem das point_script-System, das für benutzerdefinierte Spielmodi und Maps genutzt wird. Es bringt neue Top-Level-Exporte, ordnet bestehende Funktionen neu und behebt mehrere Inkonsistenzen in der API.
Precache-System
Der neue Aufruf Instance.Precache liefert ein CSPrecache-Objekt, mit dem Scripts das Laden von Assets präziser verfolgen können:
IsServerLoading/IsServerLoadedIsClientLoading/IsClientLoadedIsLoadedForAllRelease
Dadurch erhalten Map-Autoren mehr Kontrolle darüber, wann Assets auf Server und Client bereitstehen, bevor Gameplay-Events ausgelöst werden.
Geisel-Scripting
Eine neue CSHostage-Klasse macht den Geisel-Status direkt für Scripts zugänglich:
IsBeingPickedUp,IsBeingCarried,IsRescuedGetRescuerGetPickUpStartTime/GetPickUpFinishTime
CSPlayerPawn.GetHostage verknüpft einen Spieler mit der Geisel, die er trägt. Zusätzlich gibt es neue Events für den gesamten Geisel-Lebenszyklus: OnHostagePickUpStart, OnHostagePickUpAbort, OnHostagePickUp, OnHostageDrop, OnHostageRescue und OnHostageKill. Damit lassen sich eigene geiselbasierte Spielmodi mit sauberem Scripted Feedback umsetzen.
Neuer Console-Export
Ein neuer Top-Level-Export namens Console bündelt den Zugriff auf Konsole und Convars:
GetConvarBoolean,GetConvarNumber,GetConvarString,GetConvarVector,GetConvarQAngle,GetConvarColorSetConvar, das synchron ausgeführt wird und nicht durchsv_cheatseingeschränkt ist
Instance.Msg wurde in Console.Log umbenannt, und ClientCommand, ServerCommand sowie RegisterCheatCommand wurden von Instance zu Console verschoben. Die ursprünglichen Instance-Varianten funktionieren weiterhin, gelten aber als veraltet.
Neuer GameRules-Export
Ein neuer Top-Level-Export GameRules bündelt Runden- und Match-Steuerung:
StartWarmup/EndWarmupGetTeamScore/AddTeamScoreTerminateRound
Mehrere bestehende Funktionen wurden ebenfalls von Instance hierher verschoben, darunter IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod, GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime und AddTeamMoney. Wie bei den Console-Änderungen bleiben die alten Instance-Zugänge nutzbar, sind aber veraltet.
HUD- und Radar-Updates
Zwei neue custom_hud_layout-Klassen, HUD_TEAMMENU_VISIBLE und HUD_CHAT_VISIBLE, geben Scripts mehr Kontrolle über die Sichtbarkeit von HUD-Elementen. Außerdem kann radar_element nun in jedem Spielmodus auf dem Radar erscheinen, nicht mehr nur im Rush-Modus.
Fehlerbehebungen und Verbesserungen
Das Update behebt außerdem mehrere Scripting-Bugs und bringt Komfortverbesserungen:
- Unterstützung für
GameRules.AddTeamMoneymitCSTeamMoneyReason.NONEplus Betrag hinzugefügt, zugehöriger Absturz behoben. - Abweichungen zwischen den Enums
CSTeamMoneyReasonundCSWeaponAttackTypeund ihren Definitionen inpoint_script.d.tskorrigiert. CSRadarPoint.IsVisibleToTeamundCSObservablePoint.IsObservableForTeamgaben zuvor fälschlich Zahlen statt booleschen Werten zurück – das wurde behoben.- Protokollierte Warnungen enthalten nun den JavaScript-Call-Stack sowie Details zu ungültigen Argumentwerten; die Argumentzählung beginnt jetzt bei 0 statt bei 1.
- Die Autovervollständigung für den Befehl
map_workshopwurde verbessert.
Insgesamt geben diese Änderungen Community-Entwicklern tiefere und zuverlässigere Kontrolle über Spiellogik, Geisel-Mechaniken, HUD-Verhalten und Konsoleninteraktion über die Scripting-API.
