La parte principal del parche se centra en el modo con rehenes. Ahora cada rehén es un objeto independiente, CSHostage, y el mapa puede seguir todos sus movimientos: desde el primer intento de recogerlo hasta su rescate o muerte.
Si solo juegas al matchmaking, no notarás cambios dentro del juego: la lista de cambios del 22 de octubre tiene una sola sección, MAP SCRIPTING. Las nuevas funciones llegarán a los mapas del Workshop y a los modos personalizados cuando sus creadores actualicen los scripts.
El rehén ya no es un modelo sin vida
CSHostage incorpora los métodos IsBeingPickedUp, IsBeingCarried e IsRescued. El script puede saber si alguien está recogiendo al rehén, si lo lleva o si ya lo ha rescatado. GetRescuer identifica a quien lo rescata, y GetPickUpStartTime y GetPickUpFinishTime indican cuándo empieza y termina la acción de recogerlo. También está CSPlayerPawn.GetHostage, así que se puede comprobar la relación desde el jugador.
Junto con los métodos llegan eventos a los que el mapa puede reaccionar al instante.
- OnHostagePickUpStart se activa cuando un jugador empieza a recoger a un rehén.
- OnHostagePickUpAbort detecta cuando se interrumpe la acción de recogerlo.
- OnHostagePickUp se activa cuando el jugador ya ha recogido al rehén.
- OnHostageDrop indica que han soltado al rehén.
- OnHostageRescue registra el rescate.
- OnHostageKill se activa cuando muere el rehén.
Por ejemplo, quien crea el mapa puede otorgar puntos por rescatar a un rehén o activar una alarma en la base terrorista en cuanto los antiterroristas lo recojan.
Console y GameRules asumen parte del trabajo de Instance
Valve añadió dos secciones nuevas en el nivel superior. Console reúne todo lo relacionado con las variables de consola. Permite consultar su valor en el tipo necesario (GetConvarBoolean, GetConvarNumber, GetConvarString, GetConvarVector, GetConvarQAngle, GetConvarColor) y cambiarlo con SetConvar. Este último método no está limitado por sv_cheats y se ejecuta de forma síncrona: el nuevo valor ya está activo en la siguiente línea del script.
| Antes | Ahora |
|---|---|
| Instance.Msg | Console.Log |
| Instance.ClientCommand, ServerCommand, RegisterCheatCommand | Los mismos métodos en Console |
| Instance.IsWarmupPeriod, IsFreezePeriod, IsTeamIntroPeriod | Los mismos métodos en GameRules |
| Instance.GetRoundsPlayed, GetRoundRemainingTime, SetRoundRemainingTime | Los mismos métodos en GameRules |
| Instance.AddTeamMoney | GameRules.AddTeamMoney |
GameRules también suma métodos propios. StartWarmup y EndWarmup activan y desactivan el calentamiento; GetTeamScore y AddTeamScore permiten consultar y cambiar la puntuación del equipo, y TerminateRound termina la ronda. Ahora, el script del mapa puede decidir por sí mismo cuándo acaba.
Los nombres antiguos siguen funcionando, pero ahora están marcados como obsoletos. El cambio de nombre es mecánico, así que conviene actualizar las llamadas cuanto antes, mientras el proyecto aún es pequeño.
El script puede comprobar si todos los jugadores han cargado los recursos
Instance.Precache devuelve un objeto CSPrecache. IsServerLoading e IsServerLoaded indican si el recurso se está cargando en el servidor o ya está cargado; IsClientLoading e IsClientLoaded hacen lo mismo en el cliente. IsLoadedForAll permite comprobar si ya está listo para todos los participantes. Cuando deja de hacer falta, Release lo libera.
Interfaz, radar y correcciones
El resto del parche incluye pequeños ajustes y correcciones. El diseño de interfaz personalizado (custom_hud_layout) suma dos clases de nivel superior, HUD_TEAMMENU_VISIBLE y HUD_CHAT_VISIBLE, que permiten cambiarlo cuando está abierto el menú de selección de equipo o el chat. El elemento radar_element ahora aparece en el radar en cualquier modo, no solo en Rush.
- GameRules.AddTeamMoney ya no hace que el juego se cierre si se le pasa CSTeamMoneyReason.NONE como motivo.
- Los valores de las enumeraciones CSTeamMoneyReason y CSWeaponAttackType ahora coinciden con la descripción de tipos de point_script.d.ts.
- CSRadarPoint.IsVisibleToTeam y CSObservablePoint.IsObservableForTeam ahora devuelven un valor booleano en lugar de un número.
- Las advertencias del registro muestran la pila de llamadas de JavaScript y detalles sobre los argumentos no válidos. Además, los argumentos empiezan a numerarse desde 0, no desde 1.
- Convar
- Variable de consola del juego, como un ajuste del servidor o del cliente, que se puede consultar y modificar.
- sv_cheats
- Ajuste del servidor que debe estar activado para usar algunos comandos de consola.
- Precache
- Carga anticipada de modelos, sonidos y otros recursos antes de que hagan falta en el juego.
Guías















