Última Zona Segura

Configuração

Configuração Básica

Configurações Valor Padrão Valor Mínimo Valor Máximo
Número de equipes 3 1 3
Número de jogadores 3 1 4
Número de rodadas 4 1 7
Munição infinita true - -
Paredes de Gel infinitas false - -
Arremessáveis infinitos false - -

Alterar os valores acima é possível, mas pode causar erros em algumas interfaces e lógicas caso ultrapassem o valor máximo ou fiquem abaixo do mínimo.

Ajustando a localização do mapa

Para mover o mapa para uma nova localização, é necessário mover os seguintes objetos de nível para outro local. Por padrão, esses objetos estão posicionados em Katulistiwa.
katulistiwa-location

Mova esses objetos para a nova localização para mover todo o mapa.

Objeto de Nível Imagem Quantidade
Zona Segura safe-zone 1
Pontos de Surgimento e Máquina de Vendas spawn-point 1 por equipe

Além disso, para mudar o nome da localização na interface:
location-name

Isso pode ser ajustado em Configurações de propriedades -> Regras Gerais -> Nome do Local
change-location-name

Configurando a Zona Segura

A Zona Segura possui 2 estágios:

  1. A primeira diminuição ocorre durante um tempo específico, com o centro permanecendo na mesma posição.
  2. A segunda diminuição ocorre movendo o centro da primeira posição para outra, enquanto reduz o raio até 0.

Estágio 1 da Zona Segura

A maioria das configurações desse estágio pode ser alterada através dos objetos de Zona Segura no nível.
safe-zone-stage-one-settings

As seguintes configurações podem ser modificadas, com certas limitações:

Propriedades Valor Padrão Valor Mínimo Valor Máximo
Raio Inicial 35.00 - -
Raio Final 15.00 - -
Tempo Inicial (s) 0 - Menor que a duração do mapa
Tempo de Início da Diminuição (s) 5 - Menor que a duração do mapa
Duração da Diminuição (s) 30 - Menor que a duração do mapa
Intervalo de Dano (s) 2 - -
Dano 20 - -
Tempo Final (s) 40 - Menor que a duração do mapa

Se o tempo inicial ou o tempo final for maior ou igual à duração total do mapa, o segundo estágio da Zona Segura não existirá.

Estágio 2 da Zona Segura

Todas as propriedades do Estágio 2 da Zona Segura podem ser configuradas em Regras Gerais, dentro de Configurações de Propriedade.
Você pode ajustar as seguintes opções:

Propriedades Valor Padrão 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 a duração do mapa
SZDamage 40 1 -

SZMoveMin e SZMoveMax determinam a distância que o centro da segunda fase da Zona Segura se moverá. Por padrão, o centro se moverá entre 30 e 50 nas direções dos eixos X e Z.

SZMoveDuration controla o tempo de movimento e diminuição da zona.

Ajustando os Equipamentos do Jogador

Equipamento inicial do jogador.

O equipamento inicial pode ser alterado no script do jogador, especificamente na função Configurar.

player-starting-equipment

Quantidade de Arremessáveis

A quantidade de itens arremessáveis pode ser configurada em Configurações de Propriedade, dentro de Regras do Jogador.
As opções disponíveis são:

  • GlooWallNum: Número de Paredes de Gel por rodada.
  • GrenadeNum: Número de granadas por rodada.
  • GlooMelterNum: Número de Quebra-Gel por rodada.
  • FlashFreezeNum: Número de Bombas Congelantes por rodada.
  • InhalerNum: Número de inaladores por rodada.
  • MedKitNum: Número de kits médicos por rodada.
  • SuperMedKitNum: Número de super kits por rodada.

player-rules

Ajustando a Loja do Jogador

Por padrão, todas as máquinas de vendas dos modelos utilizam a mesma loja. O conteúdo dessa loja pode ser alterado seguindo o processo a seguir:
Clique em Mais, depois em Loja e economia:
access-shop-step-1-2

Em seguida, clique neste ícone para acessar o editor da loja:
access-shop-step-3

A partir desta interface, é possível editar o conteúdo atual da loja.
access-shop-result

Configurando a aleatorização de pontos de surgimento

Por padrão, a localização de surgimento de cada equipe muda no início de cada rodada. Isso pode ser ativado ou desativado no componente Entidade do Jogo.
toggle-spawn-randomization

A lista de possíveis pontos de surgimento usados na aleatorização pode ser encontrada na função Configurar do script global. Basta adicionar ou remover os pontos de surgimento definidos nessa função para ajustar os que serão usados.
spawn-point-config-global-script

Por padrão, há 4 pontos de surgimento, conforme mostrado abaixo:
spawn-point-location

Explicação do Script

Script Global

Quando a rodada começa, algumas configurações são definidas através da função Configurar. As variáveis TeamAcedCnt (usada para armazenar o número de equipes eliminadas nesta rodada) e TeamWon (usada para armazenar a equipe vencedora da rodada) são redefinidas. Além disso, a zona segura e sua posição final também são atualizadas neste momento por meio das funções ResetBorder e RandBorderEndLoc.

global-on-round-start

Durante esse período, todos os pontos de surgimento são adicionados a uma lista para serem embaralhados. Essa lista pode ser usada pelo Script de Equipe para aleatorizar o ponto de surgimento de cada equipe no início de cada rodada.
global-configure-randomize-spawn

Em seguida, RandBorderEndLoc executa suas funções:

global-randborderendloc

  1. Obtém todas as propriedades necessárias do primeiro estágio da Zona Segura e então calcula a posição final do segundo estágio.
  2. A função aguarda o término do primeiro estágio antes de iniciar a segunda.

Durante a partida, quando uma equipe é eliminada, o jogo verifica se todas as equipes foram eliminadas. Essa função atualiza o valor de TeamWon para uso posterior e também atualiza a pontuação da equipe vencedora.
global-on-team-ace
global-check-end-round

Ao redefinir a borda, a Zona Segura da rodada anterior é desativada manualmente para garantir que não sejam criadas duas Zonas Seguras a partir da segunda rodada.

global-reset-border

Script de Equipe

Quando a rodada começa, a lista de pontos de surgimento armazenada no Script Global é embaralhada. Em seguida, o Script de Equipe usa essa lista embaralhada para determinar para qual ponto de surgimento cada jogador será teleportado.

team-on-round-start

Para ativar ou desativar esse recurso, consulte o tutorial de configuração.

Script de Jogador

Quando um jogador entra no jogo, as seguintes funções são executadas para configurá-lo:
player-on-awake

Na função Configurar, é possível encontrar configurações relacionadas à arma inicial do jogador. SetProperty controla as propriedades do jogador (Vida, itens que caem ao ser eliminado, etc.). Como o nome sugere, PreloadEquipment e PreloadAccessory pré-carregam os equipamentos essenciais para o modo de jogo (mochila, armas, etc.).

Quando a rodada começa, o equipamento do jogador é redefinido por meio da função ResetWeapon. Essa função reinicia os itens arremessáveis (granadas, etc.) e os consumíveis (kits médicos). A interface de status do jogo também é criada e atualizada com base no número de equipes, jogadores, estados dos jogadores e pontuação das equipes nessa fase.
player-on-round-start

Quando um jogador é eliminado, todos os jogadores precisam atualizar a interface de status do jogo para exibir corretamente o número de jogadores restantes em cada equipe.
player-on-player-eliminated
player-updateplayernum

A função UpdatePlayerNum faz o seguinte para atualizar o número de jogadores de cada equipe:

  1. Conta quantos jogadores ainda estão vivos em cada equipe.
  2. Atualiza a interface correspondente.

Essa função também é atualizada no início de cada fase, garantindo que o número de jogadores permaneça preciso durante toda a partida.
player-on-phase-start

A exclusão da interface UI é tratada de várias formas. A primeira é quando o jogador sai ou a partida termina. A segunda é quando o jogador sai no meio da partida. E a terceira é verificando o término da partida por meio do ID da fase.
player-destroy-ui

Script de HUD

Script MatchStatus

A interface de status da partida não depende do jogador, mas se atualiza automaticamente — especificamente o cronômetro e a localização no mapa. Ambas as tarefas começam automaticamente no início de uma fase e terminam ao final da fase.
matchstatus-on-phase-start-end

Ao definir a localização por meio da função SetLocation, o nome do local é obtido diretamente da Entidade Jogo no menu Gerenciar Componente.
matchstatus-set-location

O cronômetro é atualizado a cada segundo para cada jogador, calculando os valores de segundo e minuto a partir da entidade da fase.
matchstatus-starttimer