
Visão geral do mapa
Mecânica do jogo (reeditável) é um dos modelos oficiais de jogabilidade pré-instalados no editor Free Fire CraftLand. Ele fornece aos desenvolvedores um plano reutilizável para recursos básicos de jogabilidade, composto principalmente por três componentes principais: cenas do mapa, configurações de regras e scripts de sprites.
Neste modelo, você pode experimentar e aprender a metodologia básica de edição da jogabilidade, interagindo com mecanismos pré-projetados e experimentando seus loops de feedback.
Simultaneamente, você pode compreender rapidamente e se aprofundar em outros mecanismos interativos comuns dentro do jogo. Isso inclui ativar gatilhos personalizados, aumentar/diminuir a saúde do jogador, gerar monstros (zumbis), mover objetos, teletransportar jogadores para locais designados, exibir texto personalizado, alterar a aparência dos personagens e interagir com interfaces HUD personalizadas. Com base nessas lógicas de script fundamentais, você pode expandi-las e reeditá-las para criar ainda mais seus próprios trabalhos exclusivos.
Cenário do mapa
Primeiro, uma introdução ao design de cenas: a área geral é baseada na cena em branco padrão, com um espaço quadrado simples construído e mecanismos interativos espalhados por toda parte (dentro da caixa vermelha na parte superior da imagem abaixo). Os jogadores podem ser divididos em três equipes e aparecerão em um lado do mapa ao entrar no jogo (caixa vermelha na parte inferior da imagem abaixo), participando livremente da experiência central do jogo.

Além de fazer ajustes rápidos nos objetos diretamente na cena, você também pode gerenciar todos os objetos da cena de forma abrangente clicando em Mais - Gerenciador de Objetos

Relacionado à funcionalidade
Regras
Para configurar as regras do jogo, navegue até Configurações > Configurações do jogo > Editor de regras do jogo

Aqui você pode editar regras detalhadas específicas para este modelo, incluindo: Modo, Configurações de Atributos, Economia e Câmera.
As configurações de regras do modelo atual diferem principalmente das configurações padrão nas seguintes áreas: Modo e Economia. As entradas de regras específicas que diferem dos padrões estão listadas abaixo.
Modo
Configurações de Turnos: Configure parâmetros relacionados aos turnos.
Configuração da equipe: determina o número de jogadores por sessão, vagas disponíveis na equipe e número mínimo de jogadores necessários para iniciar o jogo

Economia
Edição da loja: determina os itens que os jogadores podem comprar com fichas em locais específicos e seus preços
Observação: como a jogabilidade principal deste modelo se concentra em experiências mecânicas, as máquinas de venda automática não são pré-configuradas. Se necessário, elas podem ser arrastadas da biblioteca de objetos para a cena e criadas


Interface do usuário
Para construir uma interface de usuário personalizada, clique em Mais - HUD personalizado

Aqui você pode editar a interface HUD personalizada com a qual os jogadores podem interagir durante as partidas e navegar até os designs de script correspondentes
A interface HUD personalizada do modelo atual serve exclusivamente para mecanismos de porta ativada por botão
Para editar controles específicos, selecione Editar layout e escolha o controle desejado na lista à esquerda


Aqui você pode ajustar várias propriedades de controles específicos, tais como: tamanho, posição, ângulo de rotação, visibilidade, transparência, cor, conteúdo exibido, etc.
Ir para o design do script do elemento gráfico correspondente:
Clique em Editar Script - Ir para a interface de edição do script HUD. Os métodos específicos de criação de scripts serão detalhados abaixo.

Visão geral da interface HUD no jogo: (Exibida automaticamente quando o personagem do jogador entra no alcance do gatilho personalizado da porta com botão)

Este botão controla a abertura/fechamento da porta dentro do mecanismo da porta com botão
Metaprogramação
Mecânicas de jogo adicionais requerem o Editor de Metaprogramação, acessado por:
Clique em Mais - Scripts de Elementos e selecione o script específico que deseja editar no canto superior direito da interface


Esta seção apresenta principalmente a mecânica central do jogo em “Mecânica do jogo” e como outras regras específicas são implementadas por meio de scripts.
Você pode editar scripts específicos e ajustar parâmetros relevantes aqui
Para funções de script que exigem maior compreensão, clique no script específico para ver os detalhes
Scripts de acionamento personalizados
Esta seção detalha os efeitos e o conteúdo do script para cada mecanismo
Nº. | Nome do mecanismo |
---|---|
① | Zona de cura |
② | Zona de dano |
③ | Zona de spawn de monstros |
④ | Zona de armadilha |
⑤ | Zona de teletransporte |
⑥ | Zona de exibição de texto |
⑦ | Zona de troca de roupa |
⑧ | Elevador |
⑨ | Porta automática |
⑩ | Porta com botão |
Zona de Cura

- Ao entrar, os personagens dos jogadores recuperam saúde continuamente a uma taxa de 15 HP por segundo, acompanhada por efeitos visuais de cura
Visão geral:

- A função principal desse mecanismo — curar jogadores (aumentar seus pontos de saúde) — está encapsulada na seguinte função, que é executada para cada jogador elegível que entra no mecanismo. Abaixo está a implementação específica do script:
Área 2-3
Função “Updatetreat”
- Se “ListOfTreat” > 0 e o resultado do tempo de jogo menos a variável personalizada “LastUpDateTime” for maior que 1000, defina a variável personalizada “LastUpDateTime” igual ao tempo de jogo
- Indexe o elemento “Player” dentro do contêiner de dados “ListOfTreat”. Se a saúde atual do jogador for < sua saúde máxima, aumente a saúde desse jogador em 15

- Quando um jogador recebe cura, também queremos fornecer feedback visual por meio de efeitos especiais para indicar que a função está ativa. Essa funcionalidade está encapsulada na seguinte função; abaixo está a implementação específica do script:
Área 2-2
Função “CreateEffects”
- Adicione o jogador à lista “ListOfTreat”
- Crie um efeito de corrente de ar ascendente no jogador, com um tipo de loop definido como “Loop”, “Play Immediately” definido como “True” e retorne um “SpecialEffect”
- Insira o “SpecialEffect” na lista “SpecialEffect” no índice correspondente à sua primeira aparição no jogador
- Crie um “Tween” para o “SpecialEffect” seguir o alvo do jogador, sem deslocamento nos eixos XYZ, sem sistema de coordenadas de referência e definido como “Play Immediately”, retornando um “Tween”
- Defina a cor do efeito “SpecialEffect” como verde
- Defina a escala do efeito “SpecialEffect” como 0,5x ao longo de todos os eixos XYZ
- Insira o “Tween” na lista “Tween” no índice correspondente à sua primeira ocorrência no player

- Esta seção define principalmente variáveis para determinar o tempo de execução do evento, lida com os mecanismos de entrada/saída dos jogadores e invoca funções nos momentos apropriados. Abaixo está a implementação específica do script:
Área 2-1
- No início da fase, defina a variável personalizada “LastUpdateTime” para o tempo de jogo
- Quando o personagem do jogador entrar neste gatilho personalizado, chame a função “CreateEffects”
- Quando o personagem do jogador sair deste gatilho personalizado, destrua e exclua em lote os valores-alvo (alguns alvos exigem indexação por meio de uma lista)
- Após a atualização, chame a função “UpdateTreat”

Apêndice: variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções.
Zonas de dano

- Ao entrar, os personagens dos jogadores sofrem perda contínua de saúde a uma taxa de 15 HP por segundo
Visão geral:

- A função principal desse mecanismo — causar danos aos jogadores (reduzindo sua saúde) — está encapsulada na seguinte função, que é executada para todos os jogadores elegíveis que entram na área. A implementação específica do script é a seguinte:
Área 3-2
Função “UpdateInjure”
- Se o comprimento de “ListOfInjure” > 0
- Se o resultado do tempo de jogo menos a variável personalizada “LastUpdateTime” exceder 1000, defina a variável personalizada “LastUpdateTime” igual ao tempo de jogo e, em seguida, indexe o elemento “Player” dentro do contêiner de dados “ListOfInjure”
- Se a saúde atual do jogador ≠ 0, infligir 15 de dano a esse jogador

- Esta seção define principalmente variáveis para determinar o tempo de execução do evento, lida com jogadores que entram/saem do mecanismo e invoca funções conforme necessário. A implementação específica do script é a seguinte:
Área 3-1
- No início da fase, defina a variável personalizada “LastUpdateTime” para o tempo atual do jogo
- Quando um personagem jogador entrar/sair deste gatilho personalizado, acrescente/remova o jogador da “ListOfInjure”
- Após a atualização, invoque a função “UpdateInjure”

Apêndice: variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções
Zona de Spawn de Monstros

- Gera um zumbi perto desta zona quando um personagem jogador entra
- A função principal desse mecanismo — gerar zumbis — pode ser acionada por todos os jogadores que entrarem nela, acompanhada dos efeitos sonoros correspondentes. Abaixo está a implementação específica do script:
- Quando um personagem do jogador entra neste gatilho personalizado, crie um zumbi nas coordenadas: XYZ = (coordenada X do jogador - 2, coordenada Y do jogador, coordenada Z do jogador - 2). O zumbi deve ser do tipo normal, com o alvo automático definido como verdadeiro, tipo de comportamento passivo e sem caminho atribuído.
- Crie um efeito sonoro de alerta não direcionado com um tipo de loop de “uma vez” e “reproduzir imediatamente” definido como verdadeiro.

Área de armadilha


- Quando um personagem jogador entra, a gaiola armadilha acima de sua cabeça cai, confinando o jogador dentro dessa área
- Após a gaiola armadilha cair, uma contagem regressiva de 10 segundos será exibida, e a armadilha será restaurada ao final da contagem regressiva
Visão geral:

- A funcionalidade principal deste mecanismo — a queda da gaiola e a captura dos jogadores — está encapsulada na seguinte função, que é executada para cada jogador elegível que entra no mecanismo
- Simultaneamente, a inicialização do mecanismo é encapsulada como uma função, abrangendo o agrupamento unificado de objetos de armadilha da cena e a pré-ocultação do texto da contagem regressiva. A implementação específica do script é a seguinte:
Área 4-2
Função “TrapFalls”
- Se “TrapState” for verdadeiro, mova o objeto de nível “Trap” (elemento “Trap” dentro do contêiner de dados de índice “Trap”) para as coordenadas XYZ = (“Trap” coordenada X, “Trap” coordenada Y - 2, “Trap” coordenada Z)
- Defina “TrapState” como falso
Função “Initialisation”
- Acrescente “Iron Fence1-4” a “Trap”
- Defina a variável personalizada “TrapTime” como verdadeira
- Crie um objeto de texto nas coordenadas XYZ = (entidade da cena “Bloco” coordenada X, entidade da cena “Bloco” coordenada Y + 3, entidade da cena “Bloco” coordenada Z), retorne “Texto”
- Defina a variável personalizada “Time” como “Text”
- Defina a posição “Text” nas coordenadas: XYZ = (coordenada X da entidade da cena “Block”, coordenada Y da entidade da cena “Block” + 3, coordenada Z da entidade da cena “Block”)
- Defina o conteúdo “Text” como a string “10”
- Defina o fator de escala “Text” como 0 em todas as direções XYZ

- Ao ativar a armadilha, exiba uma contagem regressiva de 10 segundos para o jogador. Após o término da contagem regressiva, retraia a armadilha e oculte o texto da contagem regressiva. Essa funcionalidade está parcialmente encapsulada na seguinte função; a implementação específica do script é a seguinte:
Área 4-3
Função “UpdateInjure”
- Se “TrapState” for falso e o resultado do tempo de jogo menos a variável personalizada “LastUpDateTime” exceder 1000, defina a variável personalizada “LastUpDateTime” igual ao tempo de jogo. Converta a string “Time” em um número inteiro e retorne “ Result", define o conteúdo de “Time” como “Result”-1
- Se o conteúdo de “Time” for 0, defina o fator de escala de “Text” como 0 em todas as direções XYZ, defina o conteúdo de “Text” como a string “10”, chame a função “TrapRecovery” e defina “TrapState” como verdadeiro

Área 4-4
- Se “TrapState” for falso, indexe o elemento “Each” no contêiner de dados “Trap”, movendo o objeto de nível “Each” para as coordenadas XYZ = (coordenada X de “Each”, coordenada Y de “Each” + 2, coordenada Z de “Each”)
- Defina o fator de escala “Time” como 2 em todas as direções XYZ

- Esta seção determina principalmente o momento para invocar cada função; abaixo está a implementação específica do script:
Área 4-1
- Ao iniciar o jogo, invoque a função “Inicialização”
- Quando o personagem do jogador entrar neste gatilho personalizado, aguarde 0,3 segundos antes de invocar as funções “TrapFalls” e “CountDown”
- Durante as atualizações, invoque a função “UpdateInjure”

Apêndice: Variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções, respectivamente.
### Zona de Transmissão


- Exiba uma contagem regressiva de 3 segundos quando o personagem do jogador entrar, reproduzindo simultaneamente um efeito de teletransporte no personagem
- Após a conclusão da contagem regressiva, o personagem é teletransportado para o local designado
Visão geral:

- A funcionalidade principal desse mecanismo — teletransportar os jogadores que entram para um local designado após 3 segundos — está encapsulada na seguinte função, que pode ser executada para todos os jogadores elegíveis que entram no mecanismo. Abaixo está a implementação específica do script:
Área 5-2
Função “MyUpdate”
- Recupere o elemento “Player” do contêiner de dados de índice “PlayerList”
- Defina a variável temporária “State” para o valor “index” de “PlayerStateList”
- Se “state” = 1, defina a variável temporária “enter_tick” como “index” em “EnterTickList”, defina a variável temporária “stay_tick” como tempo de jogo - “enter_tick”, defina a variável temporária “countdown” como (3000 - “stay_tick”) * 0,001 arredondado para cima
- Se “countdown” > 0, defina o conteúdo de “index” em “TextEntityList” como a string “countdown”. Caso contrário, defina a variável temporária “target_pos” como a posição do objeto de cena “TeleportTar” e, em seguida, teletransporte o jogador para as coordenadas XYZ = (coordenada X de “target_pos”, coordenada Y de “target_pos” + 2, coordenada Z de “target_pos”). , gire com ângulos de Euler XYZ = (0, 0, 0)

- Quando o jogador está prestes a ser teletransportado, também queremos alertá-lo visualmente por meio de efeitos especiais de que a função está ativa, enquanto exibimos uma contagem regressiva de 3 segundos para o teletransporte. Essa funcionalidade está encapsulada na seguinte função; abaixo está a implementação específica do script:
Área 5-3
Função “InitPlayerData”
- Anexe o jogador à “PlayerList”, anexe 0 à “PlayerStateList”, anexe 0 à “EnterTickList”
- Crie um objeto de texto nas coordenadas XYZ = (0, 0, 0), retorne “TextEntity”
- Crie “TextEntity” para seguir o jogador, deslocado de seu sistema de coordenadas por XYZ = (0, 1,5, 0) e reproduza imediatamente
- Adicione “TextEntity” a “TextEntityList”
- Crie um efeito visual de faísca no jogador, defina o tipo de loop como looping, defina a reprodução imediata como verdadeira, retorne “VisualEffectEnti”
- Defina a cor do efeito visual “VisualEffectEnti” como azul
- Crie “ VisualEffectEnti“ para seguir o alvo do jogador, sem deslocamento ao longo dos eixos XYZ em relação ao seu sistema de coordenadas, e reproduzir imediatamente.
- Anexar ‘VisualEffectEnti’ a ”VisualEffectList"

Área 5-4
Função “ReadyToTeleport”
- Defina o “índice” de “PlayerStateList” como 1
- Defina o “índice” de “EnterTickList” como o tempo do jogo
- Defina o conteúdo do “índice” em “TextEntityList” como vazio
- Defina o fator de escala do “índice” em “TextEntityList” como 1 em todas as direções dos eixos XYZ
- Defina o fator de escala para o “índice” em “VisualEffectList” como 1 em todas as direções XYZ

- Ao cancelar o teletransporte do jogador, as seguintes ações são realizadas: Ocultar o texto da contagem regressiva e os efeitos de teletransporte. Essa funcionalidade está encapsulada na seguinte função; a implementação específica do script é a seguinte:
Área 5-5
Função “AbortTeleport”
- Defina o “índice” de “PlayerStateList” como 0
- Defina o fator de escala do “índice” em “TextEntityList” como 0 em todas as direções XYZ
- Defina o fator de escala do “índice” em “VisualEffectList” como 0 em todas as direções XYZ

- Esta seção determina principalmente o tempo de invocação da função; a implementação específica do script segue:
Área 5-1
- Inicie a execução do loop: aguarde 0,2 segundos e invoque a função “MyUpdate”
- Quando o personagem do jogador entrar neste gatilho personalizado, defina a variável temporária “index” para a posição em que “Player” aparece pela primeira vez em “PlayerList”. Se index=-1, chame a função “InitPlayerData”; chame a função “ReadyToTeleport”
- Quando o personagem do jogador sair deste gatilho personalizado, chame a função “AbortTeleport”

Apêndice: variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções
Área de exibição de texto

- Exibir o texto “HelloWorld” quando o personagem do jogador entrar
- Ocultar o texto “HelloWorld” quando o personagem do jogador sair
- A funcionalidade principal desse mecanismo — exibir e ocultar o texto “HelloWorld” nos momentos apropriados — está encapsulada na seguinte função
- Esse conteúdo também determina o momento de invocação da função mencionada acima; a implementação específica do script é a seguinte:
- Quando o personagem do jogador entrar/sair deste gatilho personalizado, acrescente/remova “Player” da lista “ListOfPlayer”
- Na posição da entidade da cena “CueArea” (registrada como Localização), chame a função “CreateTips”/chame a função “DeleteTips”
Função “CreateTips”
- Crie um objeto de texto nas coordenadas de posição XYZ = (coordenada X de “Location”, coordenada Y de “Location” + 2, coordenada Z de “Location”), retornando “Tips”
- Defina a variável personalizada “Tips” = “Tips”
- Defina o conteúdo de “Dicas” como “Olá, mundo”
Função “DeleteTips”
Se o comprimento de “PlayerList” ≤ 0, destrua “Dicas”

Apêndice: Variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções
Área de troca de roupas

- Ao entrar, a aparência do personagem do jogador muda de acordo com seu gênero
- A função principal desse mecanismo — mudar os jogadores para roupas apropriadas ao gênero — pode ser acionada por todos os jogadores que entrarem nele; a implementação específica do script é a seguinte:
O script desta área demonstra como mudar aleatoriamente o personagem do jogador que entra para a roupa do gênero correspondente ao acionar este gatilho personalizado
- No início do jogo, acrescente as seguintes roupas ao “Guarda-roupa feminino” e ao “ Guarda-roupa masculino“
- Quando um personagem entra neste gatilho personalizado, se seu gênero for 2, embaralhe o ”Guarda-roupa masculino“ e defina sua roupa para o conjunto no índice 0 do ”Guarda-roupa masculino“
- Caso contrário, embaralhe o ”Guarda-roupa feminino“ e defina sua roupa para o conjunto no índice 0 do ”Guarda-roupa feminino"

Apêndice: Variáveis personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis
Elevador

- Quando o personagem do jogador entra no elevador, ele sobe gradualmente até atingir a altura máxima definida
- Quando o personagem do jogador sai do elevador, ele desce gradualmente até retornar à sua posição inicial
Visão geral:

- A funcionalidade principal desse mecanismo — fazer com que o objeto elevador suba quando um jogador entra e desça quando ele sai — está encapsulada na seguinte função. Essa função é executada para cada jogador elegível que entra no mecanismo. Abaixo está a implementação específica do script:
Área 6-2, 6-3
Função “CreateAnElevator”
- Defina a variável personalizada “ElevatorsLocation” para a posição de “Elevator”
- Execute o loop quando a condição for atendida: comprimento da
PlayerList
> 0. Aguarde 0,5 segundos, defina a coordenada Y deElevatorsLocation
para o valor atual + 0,2, atualize a variável personalizadaElevatorsLocation
, defina a posição doElevator
paraElevatorsLocation
, defina a posição deste gatilho personalizado paraElevatorsLocation
- Continue o loop até que o comprimento de “PlayerList” ≤ 0 ou a variável personalizada “Mark” ≥ 20, caso contrário, incremente “Mark” em 1
Função “DescendElevator”
- Condição atendida: Execute o loop quando o comprimento de “PlayerList” = 0: Aguarde 0,5 segundos, defina a variável temporária “Time” para a posição “Elevator”, defina a coordenada Y de “Time” para o valor atual - 0,2, atualize a variável personalizada “Time”, defina a posição “Elevator” para “Time”, defina a posição deste gatilho personalizado para “Time”
- Até “PlayerList” comprimento > 0 ou coordenada Y de “Time” ≤ 2,8, caso contrário, continue o loop e defina o valor de “Mark” para o valor atual menos 1.


- Esta seção determina principalmente o tempo das chamadas de função e define variáveis para atribuir valores aos objetos da cena. Abaixo está a implementação específica do script:
Área 6-1
- Quando o personagem do jogador entrar neste gatilho personalizado, acrescente o jogador à “ListOfInjure” e chame a função “CreateAnElevator”
- Quando o personagem do jogador sair deste gatilho personalizado, remova o jogador da “ListOfInjure”. Se o comprimento de “ PlayerList“ ≤ 0, chame a função ”DescendElevator“
- No início do jogo, defina a variável personalizada ‘Elevator’ para o objeto da cena ”High-Tech Platform A1"

Apêndice: Variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções.
Portas automáticas

- Quando um personagem jogador se aproxima da porta (entrando no alcance do gatilho personalizado), a porta se abre automaticamente
- Quando o personagem se afasta da porta novamente (saindo do alcance do gatilho personalizado), a porta se fecha automaticamente.
Visão geral:

- A funcionalidade principal desse mecanismo — abrir a porta quando o jogador se aproxima e fechá-la quando ele se afasta — está encapsulada na seguinte função, que é executada para cada jogador elegível que entra no mecanismo. Abaixo está a implementação específica do script:
Áreas 7-3 e 7-4
Função “OpenTheDoor”
Se o comprimento de “PlayerList” ≥ 0, a condição é satisfeita: comece a executar o loop quando “Mark” ≤ 5 até que o comprimento de “PlayerList” = 0 ou “Mark” > 5; caso contrário, continue o loop:
- Aguarde 0,5 segundos
- Defina as coordenadas de posição XYZ da “Plataforma de estilo japonês A1” = (coordenada X da “Plataforma de estilo japonês A1” + 0,2, coordenada Y da “Plataforma de estilo japonês A1”, coordenada Z da “Plataforma de estilo japonês A1”)
- Defina as coordenadas de posição XYZ da “Plataforma de estilo japonês A1(1)” para: (coordenada X da “Plataforma de estilo japonês A1(1)” - 0,2, coordenada Y da “Plataforma de estilo japonês A1(1)”, coordenada Z da “Plataforma de estilo japonês A1(1)”)
- Incremente o valor de “Marca” em 1
Função “CloseTheDoor”
Se o comprimento de “PlayerList” for igual a 0, execute o loop quando “Mark” ≥ 0 até que o comprimento de “PlayerList” > 0 ou “Mark” = 0; caso contrário, continue o loop:
- Aguarde 0,5 segundos
- Defina o valor de “Mark” como 1 a menos que seu valor atual
- Defina as coordenadas de posição XYZ da “Plataforma de estilo japonês A1” para: (coordenada X da plataforma de estilo japonês A1 - 0,2, coordenada Y da plataforma de estilo japonês A1, coordenada Z da plataforma de estilo japonês A1)
- Defina as coordenadas de posição XYZ da “Plataforma de estilo japonês A1(1)” para: XY = (coordenada X da “Plataforma de estilo japonês A1(1)” + 0,2), Y = (coordenada Y da “Plataforma de estilo japonês A1(1)”), Z = (coordenada Z da “Plataforma de estilo japonês A1(1)”) coordenada Z da “Plataforma de estilo japonês A1(1)”)


- Esta seção envolve principalmente a definição de variáveis para determinar o tempo de execução do evento, processar jogadores entrando/saindo dos mecanismos e invocar funções nos momentos apropriados. Abaixo está a implementação específica do script:
Zona 7-1, 7-2
- Ao iniciar o jogo, defina a variável personalizada “Mark” como 0
- Quando o personagem do jogador entrar/sair deste gatilho personalizado, espere até o próximo quadro, adicione/remova o jogador da “PlayerList”, espere até o próximo quadro e, em seguida, chame a função ‘OpenTheDoor’/“CloseTheDoor”


Apêndice: Variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções
Botão Gate


- Quando o personagem do jogador se aproxima da porta (entrando no alcance do gatilho), a interface da IU exibe um botão
. Clicar neste botão abre a porta; clicar novamente fecha a porta
. Quando o personagem se afasta da porta (saindo do alcance do gatilho), o botão da interface do usuáriodesaparece, enquanto a porta permanece em seu estado atual aberto/fechado.
- A funcionalidade principal desse mecanismo — abrir a porta quando o jogador pressiona o botão e fechá-la quando ele pressiona novamente — está encapsulada na seguinte função, executável para todos os jogadores elegíveis que entram no mecanismo:
- Isso também inclui o processamento para jogadores que entram/saem do mecanismo e a invocação oportuna da função. A implementação específica do script é a seguinte:
-
Quando um jogador entrar neste gatilho personalizado, defina a propriedade de visibilidade da IU personalizada “HudList” como verdadeira
-
Quando um jogador entrar no jogo, invoque a função “CreateHUD”
-
A função “CreateHUD”
Adiciona o jogador à “PlayerList”
Cria um “Botão” HUD personalizado para o jogador e retorna o “Ui”
Insira o “Ui” na “HudList” na posição correspondente à primeira ocorrência do “Player” na “PlayerList”
Defina a propriedade de visibilidade da “HudList” (como a interface personalizada) como falsa
- Quando o jogador sair deste gatilho personalizado, defina a propriedade de visibilidade da IU personalizada “HudList” como falsa

Apêndice: Variáveis e funções personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis e Funções
Script global
- Para otimizar o conteúdo do script e facilitar o monitoramento de vários status de mecanismos por meio de uma única variável (por exemplo, a duração da operação de elevação do mecanismo ⑧ ou o status da porta do botão do mecanismo ⑩), precisamos de uma variável global (designada como Mark).
Ao iniciar o jogo, defina a variável personalizada “Marcação” como 0

Observação: as variáveis personalizadas necessárias para este script podem ser visualizadas e gerenciadas clicando em Variáveis
Script do jogador
- Para garantir que os jogadores possam desfrutar da jogabilidade principal sem problemas, eles devem poder reaparecer após a morte. Abaixo está a implementação específica do script:
- Quando um jogador entra no jogo, defina a variável personalizada “DamageDetermina” como falsa
- Quando um jogador é morto, aguarde 3 segundos e faça-o reaparecer no próximo quadro

Apêndice: Variáveis personalizadas necessárias para este script. Você pode visualizá-las e gerenciá-las clicando em Variáveis
Script HUD
Visão geral:

- Como os jogadores que clicam no botão acionarão diferentes comportamentos com base no estado atual da porta, é necessário avaliar as propriedades da entidade e o valor da variável personalizada Mark, invocando subsequentemente a função correspondente. Abaixo está a implementação específica do script:
Área 1-1
- Quando o botão!
é clicado, se a posição do eixo X da entidade “Frozen Steel Panel A1” for ≥2 e a variável personalizada “Mark” ≠ 1, então chame a função “CloseTheDoor”
- Caso contrário, chame a função “OpenTheDoor”

- A funcionalidade principal do Mecanismo ⑩Botão Porta — abrir/fechar e segurar a porta — está encapsulada na seguinte função, executável para todos os jogadores elegíveis que entram neste mecanismo. Abaixo está a implementação específica do script:
Zonas 1-2, 1-3
Função “OpenTheDoor”
- Se a variável personalizada “Mark” = 0, defina “Mark” = 1
- Inicie o loop: aguarde 0,5 segundos, mova o objeto 0,2 unidades ao longo do eixo X. Continue até que a coordenada X do objeto seja ≥ 2, depois defina “Mark” = 2 e interrompa o loop
Função “CloseTheDoor”
- Se a variável personalizada “Marca” = 2, defina “Marca” = 1
- Inicie o loop: aguarde 0,5 segundos, mova o objeto ao longo do eixo X em -0,2 até que sua posição X ≤ 1, defina “Marca” = 0 e interrompa o loop


Apêndice: Funções personalizadas exigidas por este script. Você pode visualizá-las e gerenciá-las clicando em Funções
Script do ponto de respawn
- Quando os jogadores entram no jogo e começam a experimentar a jogabilidade principal, o ponto de respawn se torna um componente não funcional que pode atrapalhar a atividade dos jogadores. Portanto, ele deve ser definido como inativo.
- Quando a rodada começar, defina o status ativo desta entidade como verdadeiro
- Aguarde 2 segundos
- Defina o status ativo desta entidade como falso

Recomendações de edição secundária
- Ajuste os valores em scripts específicos para configurar comportamentos de armadilhas mais exagerados e aleatórios, aumentando o impacto dramático do jogo
- Integre com a mecânica da loja e introduza a jogabilidade de combate PVP, utilizando armadilhas como parte do sistema de obstáculos
- Expanda ou aprofunde a funcionalidade das armadilhas, explorando e implementando novas aplicações de diversos mecanismos de script