Última zona segura

Configuración

Configuración básica

Ajustes Valor predeterminado Valor mínimo Valor máximo
Número de equipos 3 1 3
Número de jugadores 3 1 4
Número de rondas 4 1 7
Munición ilimitada true - -
Muros Gloo ilimitados false - -
Arrojables ilimitados false - -

Cambiar los valores anteriores es posible, pero puede romper algunas interfaces o lógicas si se superan los valores máximos o se baja de los mínimos.

Ajustar la ubicación del mapa

Para mover el mapa a una nueva ubicación, es necesario mover los siguientes objetos del nivel a otra posición.
Por defecto, estos objetos están ubicados en Katulistiwa.
katulistiwa-location

Simplemente mueve estos objetos a otra ubicación para trasladar todo el mapa.

Objeto del nivel Imagen Cantidad
Zona segura safe-zone 1
Puntos de aparición y máquina expendedora spawn-point 1 por equipo

Además, para cambiar el nombre de la ubicación en la interfaz de usuario:
location-name

Esto puede ajustarse desde Ajustes de propiedad -> Reglas generales -> Nombre del lugar
change-location-name

Configuración de la Zona Segura

La Zona Segura tiene 2 etapas:

  1. La primera reducción ocurre durante una duración determinada, con el centro permaneciendo en la misma posición.
  2. La segunda reducción ocurre moviéndose del primer centro hacia otro, reduciendo su radio hasta 0.

Etapa 1 de la Zona Segura

La mayoría de los ajustes de esta etapa pueden modificarse a través de los objetos de Zona Segura en el nivel.
safe-zone-stage-one-settings

Los siguientes ajustes pueden modificarse con ciertas limitaciones:

Propiedades Valor predeterminado Valor mínimo Valor máximo
Radio inicial 35.00 - -
Radio final 15.00 - -
Tiempo inicial (s) 0 - Menor que la duración del mapa
Inicio de reducción (s) 5 - Menor que la duración del mapa
Tiempo de reducción (s) 30 - Menor que la duración del mapa
Intervalo de daño (s) 2 - -
Daño 20 - -
Tiempo final (s) 40 - Menor que la duración del mapa

Si el tiempo inicial o el tiempo final son mayores o iguales que la duración del mapa, la segunda etapa de la Zona Segura no existirá.

Etapa 2 de la Zona Segura

Todas las propiedades de la Etapa 2 pueden configurarse desde Reglas generales en Ajustes de propiedad. Los ajustes disponibles son los siguientes:

Propiedades Valor predeterminado Valor mínimo Valor máximo
SZMoveMin Vector3{30, 0, 30} Vector3{0, 0, 0} -
SZMoveMax Vector3{50, 0, 50} Vector3{0, 0, 0} -
SZMoveDuration(s) 100 0 Menor que la duración del mapa
SZDamage 40 1 -

SZMoveMin y SZMoveMax determinan hacia dónde se moverá el centro de la segunda etapa de la Zona Segura. Por defecto, la zona se desplazará entre 30 y 50 unidades en los ejes X y Z.

SZMoveDuration controla la duración del movimiento y la contracción de la zona.

Ajustar el equipamiento del jugador

Equipamiento inicial del jugador

El equipamiento inicial del jugador se puede cambiar en el script del jugador, dentro de la función Configurar.

player-starting-equipment

Cantidad de objetos arrojadizos

El número de objetos arrojadizos se puede ajustar en Ajustes de propiedad, específicamente en las Reglas del jugador:

  • GlooWallNum: Número de Paredes Gloo por ronda.
  • GrenadeNum: Número de granadas por ronda.
  • GlooMelterNum: Número de Granadas Gloo por ronda.
  • FlashFreezeNum: Número de Destello de Hielo por ronda.
  • InhalerNum: Número de Inhaladores por ronda.
  • MedKitNum: Número de botiquines por ronda.
  • SuperMedKitNum: Número de Superbotiquines por ronda.

player-rules

Ajustar la tienda del jugador

Por defecto, todas las máquinas expendedoras de las plantillas usan la misma tienda. El contenido de esta puede modificarse de la siguiente manera: Haz clic en Más, luego en Tienda y economía:
access-shop-step-1-2

Después, haz clic en el siguiente icono para acceder a la interfaz de edición de la tienda:
access-shop-step-3

Desde esta interfaz podrás editar el contenido de la tienda.
access-shop-result

Configurar la aleatorización de puntos de aparición

Por defecto, la ubicación de aparición de cada equipo cambiará al inicio de cada ronda.
Esto puede alternarse desde el componente de Entidad de juego.
toggle-spawn-randomization

La lista de posibles puntos de aparición usados para la aleatorización se encuentra en la función Configurar del Script global.
Solo agregando o eliminando puntos definidos allí, se puede controlar cuáles estarán disponibles.
spawn-point-config-global-script

Por defecto, la lista incluye 4 puntos de aparición, como se muestra a continuación:
spawn-point-location

Explicación del Script

Script Global

Cuando comienza la ronda, algunas configuraciones se realizan mediante la función Configurar. Las variables TeamAcedCnt (utilizada para almacenar el número de equipos eliminados en esta ronda) y TeamWon (utilizada para almacenar el equipo que gana la ronda) se reinician. Además, la zona segura y su ubicación final también se actualizan en este momento a través de las funciones ResetBorder y RandBorderEndLoc.

global-on-round-start

Durante este periodo, todos los puntos de reaparición se agregan a una lista para mezclarse aleatoriamente. Esta lista puede ser utilizada por el Script de Equipo para aleatorizar el punto de aparición de cada equipo al inicio de cada ronda.
global-configure-randomize-spawn

Luego, RandBorderEndLoc ejecutará sus funciones:

global-randborderendloc

  1. Obtiene todas las propiedades necesarias de la primera fase de la Zona Segura y luego calcula la posición final de la segunda fase.
  2. La función esperará hasta que la primera fase haya terminado antes de comenzar la segunda fase.

Durante la partida, cuando un equipo es eliminado, el juego verifica si todos los equipos han sido eliminados. Esta función actualiza el valor de TeamWon para uso posterior. También actualiza la puntuación del equipo ganador.
global-on-team-ace
global-check-end-round

Al restablecer el borde, la Zona Segura de la ronda anterior se apaga manualmente para asegurarse de que no se creen dos Zonas Seguras a partir de la segunda ronda.

global-reset-border

Script de Equipo

Cuando comienza la ronda, la lista de puntos de reaparición almacenada en el Script Global se baraja. Luego, el Script de Equipo utiliza esta lista aleatoria para determinar a qué punto de reaparición se teletransporta cada jugador.

team-on-round-start

Para activar o desactivar esta función, consulta el tutorial de configuración.

Script de Jugador

Cuando un jugador se une al juego, se ejecutan las siguientes funciones para configurarlo:
player-on-awake

En Configurar, se encuentran las configuraciones relacionadas con el arma inicial del jugador. SetProperty controla las propiedades del jugador (PV, objetos que deja al ser eliminado, etc.). Como indica su nombre, PreloadEquipment y PreloadAccessory añaden el equipo esencial para el modo de juego (mochila, armas, etc.).

Cuando comienza la ronda, el equipo del jugador se restablece mediante la función ResetWeapon. Esta función restablece los objetos arrojadizos (granadas, etc.) y los consumibles (botiquines). En esta fase, también se crea y actualiza la interfaz de Estado del Juego (Game Status UI) según el número de equipos, jugadores, estados de los jugadores y puntuaciones de los equipos.
player-on-round-start

Cuando un jugador es eliminado, todos los jugadores deben actualizar la interfaz del Estado del Juego para mostrar el número correcto de jugadores restantes por equipo.
player-on-player-eliminated
player-updateplayernum

La función UpdatePlayerNum realiza lo siguiente para actualizar el número de jugadores por equipo:

  1. Cuenta cuántos jugadores siguen vivos en cada equipo.
  2. Actualiza la UI correspondiente.

Esta función también se actualiza al inicio de cada fase, asegurando que el número de jugadores siga siendo preciso durante toda la partida.
player-on-phase-start

La eliminación de la UI se gestiona de varias maneras: la primera, cuando un jugador abandona o la partida termina; la segunda, si un jugador sale a mitad de partida; y la tercera, comprobando si el juego termina mediante el ID de la fase.
player-destroy-ui

Script de HUD

Script de MatchStatus

La interfaz de estado del partido (Match Status UI) no depende del jugador, pero se actualiza automáticamente, en particular el temporizador y la ubicación en el mapa. Ambas tareas comienzan automáticamente al inicio de una fase y se detienen al finalizar la fase.
matchstatus-on-phase-start-end

Al configurar la ubicación mediante la función SetLocation, el nombre del lugar se obtiene directamente de la Entidad de juego en el menú Gestionar componentes.
matchstatus-set-location

El temporizador se actualiza cada segundo para cada jugador calculando los valores de minutos y segundos desde la entidad de la fase.
matchstatus-starttimer