La parte principale della patch riguarda la modalità con ostaggi. Ora l’ostaggio è un oggetto CSHostage a sé stante e la mappa può seguirne ogni azione: dal primo tentativo di raccolta fino al salvataggio o alla morte.
Se giochi solo al matchmaking, non cambia nulla: le note dell’aggiornamento del 22 ottobre contengono una sola sezione, MAP SCRIPTING. Le nuove funzioni arriveranno nelle mappe del Workshop e nelle modalità personalizzate quando i rispettivi autori aggiorneranno gli script.
L’ostaggio non è più un modello muto
CSHostage aggiunge i metodi IsBeingPickedUp, IsBeingCarried e IsRescued. Lo script può sapere se un ostaggio viene raccolto, è trasportato o è stato portato al punto di salvataggio. GetRescuer restituisce chi lo salva, mentre GetPickUpStartTime e GetPickUpFinishTime indicano l’inizio e la fine della raccolta. Anche CSPlayerPawn.GetHostage permette di verificare il legame partendo dal giocatore.
Insieme ai metodi arrivano eventi a cui la mappa può reagire subito.
- OnHostagePickUpStart si attiva quando un giocatore inizia a raccogliere un ostaggio.
- OnHostagePickUpAbort rileva un tentativo di raccolta interrotto.
- OnHostagePickUp si attiva quando l’ostaggio viene raccolto.
- OnHostageDrop indica che l’ostaggio è stato lasciato.
- OnHostageRescue segnala il salvataggio.
- OnHostageKill si attiva quando l’ostaggio muore.
Per esempio, chi crea la mappa può assegnare punti per un salvataggio o far scattare un allarme alla base dei Terroristi quando gli Antiterroristi raccolgono un ostaggio.
Console e GameRules si occupano di alcune funzioni prima gestite da Instance
Valve ha aggiunto due nuove sezioni di primo livello. Console raccoglie tutto ciò che riguarda le variabili della console. Puoi leggere un valore nel tipo che ti serve (GetConvarBoolean, GetConvarNumber, GetConvarString, GetConvarVector, GetConvarQAngle, GetConvarColor) e modificarlo con SetConvar. Quest’ultimo metodo non è limitato da sv_cheats e viene eseguito in modo sincrono: il nuovo valore è attivo già alla riga successiva dello script.
| Prima | Dopo |
|---|---|
| Instance.Msg | Console.Log |
| Instance.ClientCommand, ServerCommand, RegisterCheatCommand | gli stessi metodi in Console |
| Instance.IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod | gli stessi metodi in GameRules |
| Instance.GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime | gli stessi metodi in GameRules |
| Instance.AddTeamMoney | GameRules.AddTeamMoney |
GameRules aggiunge anche metodi propri. StartWarmup e EndWarmup avviano e terminano il riscaldamento, GetTeamScore e AddTeamScore leggono e modificano il punteggio della squadra, mentre TerminateRound chiude il round. Ora uno script della mappa può decidere da sé quando il round è finito.
I vecchi nomi funzionano ancora, ma sono contrassegnati come obsoleti. Il cambio di nome è semplice, quindi conviene aggiornare le chiamate in anticipo, finché il progetto ne contiene poche.
Lo script può controllare se tutti i giocatori hanno caricato le risorse
Instance.Precache restituisce un oggetto CSPrecache. IsServerLoading e IsServerLoaded indicano se una risorsa è in caricamento sul server o è già stata caricata; IsClientLoading e IsClientLoaded fanno lo stesso per il client. IsLoadedForAll controlla che sia tutto pronto per ogni partecipante. Quando la risorsa non serve più, Release la libera.
Interfaccia, radar e correzioni
Il resto della patch consiste in piccoli ritocchi e correzioni. Nei layout personalizzati dell’interfaccia (custom_hud_layout) sono state aggiunte due classi di primo livello, HUD_TEAMMENU_VISIBLE e HUD_CHAT_VISIBLE. Il layout può così cambiare quando è aperto il menu di scelta della squadra o la chat. L’elemento radar_element ora appare sul radar in tutte le modalità, non solo in Rush.
- GameRules.AddTeamMoney non manda più in crash il gioco se gli passi CSTeamMoneyReason.NONE come motivo.
- I valori degli enum CSTeamMoneyReason e CSWeaponAttackType ora corrispondono alla descrizione dei tipi in point_script.d.ts.
- CSRadarPoint.IsVisibleToTeam e CSObservablePoint.IsObservableForTeam ora restituiscono un valore booleano invece di un numero.
- Gli avvisi nel log mostrano lo stack delle chiamate JavaScript e dettagli sugli argomenti non validi. Gli argomenti sono numerati a partire da 0, non da 1.
- Convar
- Variabile della console di gioco, per esempio un’impostazione del server o del client, che puoi leggere e modificare.
- sv_cheats
- Impostazione del server che sblocca alcuni comandi della console.
- Precache
- Caricamento anticipato di modelli, audio e altre risorse, prima che servano in gioco.
Guide















