
Descripción general del mapa
Mecánica del juego (reeditable) es una de las plantillas oficiales de juego preinstaladas en el editor Free Fire CraftLand. Proporciona a los desarrolladores un modelo reutilizable para las características básicas del juego, que comprende principalmente tres componentes principales: escenas del mapa, configuración de reglas y scripts de sprites.
Dentro de esta plantilla, puedes experimentar y aprender la metodología básica de edición del juego, interactuando con mecanismos prediseñados y experimentando sus bucles de retroalimentación.
Al mismo tiempo, puedes comprender rápidamente y profundizar en otros mecanismos interactivos comunes dentro del juego. Estos incluyen la activación de desencadenantes personalizados, el aumento o la disminución de la salud de los jugadores, la aparición de monstruos (zombis), el movimiento de objetos, el teletransporte de jugadores a ubicaciones designadas, la visualización de texto personalizado, el cambio de la apariencia de los personajes y la interacción con interfaces HUD personalizadas. A partir de estas lógicas de scripting fundamentales, puedes ampliarlas y reeditarlas para crear tus propias obras únicas.
Escenario del mapa
En primer lugar, una introducción al diseño de escenas: el área general se basa en la escena en blanco predeterminada, con un espacio cuadrado sencillo y cerrado construido y mecanismos interactivos repartidos por toda la escena (dentro del recuadro rojo en la parte superior de la imagen siguiente). Los jugadores se pueden dividir en tres equipos y aparecerán en un lado del mapa al entrar en el juego (cuadro rojo en la parte inferior de la imagen siguiente), participando libremente en la experiencia de juego principal.

Además de realizar ajustes rápidos en los objetos directamente dentro de la escena, también puedes gestionar todos los objetos de la escena de forma integral haciendo clic en Más - Administrador de objetos

Funcionalidad relacionada
Reglas
Para configurar las reglas del juego, vaya a Configuración > Configuración del juego > Editor de reglas del juego

Aquí puedes editar reglas detalladas específicas de esta plantilla, incluyendo: Modo, Configuración de atributos, Economía y Cámara.
La configuración de reglas de la plantilla actual difiere principalmente de la configuración predeterminada en las siguientes áreas: Modo y Economía. A continuación se enumeran las entradas de reglas específicas que difieren de las predeterminadas.
Modo
Configuración de turnos: Configura los parámetros relacionados con los turnos.
Configuración del equipo: determina el número de jugadores por sesión, las plazas disponibles en el equipo y el número mínimo de jugadores necesarios para comenzar el juego.

Economía
Edición de la tienda: determina los artículos que los jugadores pueden comprar con fichas en lugares específicos y sus precios
Nota: dado que la mecánica de juego principal de esta plantilla se centra en las experiencias mecánicas, las máquinas expendedoras no están preconfiguradas. Si es necesario, se pueden arrastrar desde la biblioteca de objetos a la escena y crearlas


Interfaz de usuario
Para crear una interfaz de usuario personalizada, haz clic en Más - HUD personalizado

Aquí puede editar la interfaz HUD personalizada con la que los jugadores pueden interactuar durante las partidas y navegar a los diseños de script correspondientes
La interfaz HUD personalizada de la plantilla actual solo sirve para mecanismos de puerta activada por botón
Para editar controles específicos, seleccione Editar diseño y, a continuación, elija el control deseado de la lista de la izquierda


Aquí puedes ajustar varias propiedades de controles específicos, tales como: tamaño, posición, ángulo de rotación, visibilidad, transparencia, color, contenido mostrado, etc.
Salta al diseño del script del elemento gráfico correspondiente:
Haz clic en Editar script: salta a la interfaz de edición del script HUD. Los métodos específicos de creación de scripts se detallarán a continuación.

Descripción general de la interfaz HUD del juego: (Se muestra automáticamente cuando el personaje del jugador entra en el rango de activación personalizado de la puerta de botón)

Este botón controla la apertura y el cierre de la puerta dentro del mecanismo de la puerta con botón.
Metaprogramación
Las mecánicas de juego adicionales requieren el editor de metaprogramación, al que se accede de la siguiente manera:
Haga clic en Más - Scripts de elementos y, a continuación, seleccione el script específico que desea editar en la esquina superior derecha de la interfaz.


Esta sección presenta principalmente las mecánicas de juego básicas en «Mecánicas de juego» y cómo se implementan otras reglas específicas mediante scripts.
Aquí puedes editar scripts específicos y ajustar los parámetros relevantes.
Para las funciones de script que requieran una mayor comprensión, haz clic en el script específico para ver los detalles.
Scripts de activación personalizados
Esta sección detalla los efectos y el contenido del script para cada mecanismo.
N.º | Nombre del mecanismo |
---|---|
① | Zona de curación |
② | Zona de daño |
③ | Zona de aparición de monstruos |
④ | Zona de trampas |
⑤ | Zona de teletransporte |
⑥ | Zona de visualización de texto |
⑦ | Zona de cambio de vestuario |
⑧ | Ascensor |
⑨ | Puerta automática |
⑩ | Puerta con botón |
Zona de curación

- Al entrar, los personajes de los jugadores recuperan salud continuamente a un ritmo de 15 HP por segundo, acompañado de efectos visuales de curación.
Resumen:

- La función principal de este mecanismo, curar a los jugadores (aumentar sus puntos de salud), se resume en la siguiente función, que se ejecuta para cada jugador elegible que entra en el mecanismo. A continuación se muestra la implementación específica del script:
Área 2-3
Función «Updatetreat»
- Si «ListOfTreat» > 0 y el resultado de GameTime - variable personalizada «LastUpDateTime» es mayor que 1000, establece la variable personalizada «LastUpDateTime» igual a GameTime
- Indexa el elemento «Player» dentro del contenedor de datos «ListOfTreat». Si la salud actual del jugador es inferior a su salud máxima, aumenta la salud de ese jugador en 15

- Cuando un jugador recibe curación, también queremos proporcionar información visual a través de efectos especiales para indicar que la función está activa. Esta funcionalidad está encapsulada en la siguiente función; a continuación se muestra la implementación específica del script:
Área 2-2
Función «CreateEffects»
- Añade el jugador a la lista «ListOfTreat»
- Crear un efecto de corriente de aire ascendente sobre el jugador, con un tipo de bucle establecido en «Loop», «Play Immediately» establecido en «True» y devolver un «SpecialEffect»
- Insertar el «SpecialEffect» en la lista «SpecialEffect» en el índice correspondiente a su primera aparición en el jugador
- Crear un «Tween» para que el «SpecialEffect» siga al objetivo del jugador, sin desplazamiento en los ejes XYZ, sin sistema de coordenadas de referencia y establecido en «Play Immediately», devolviendo un «Tween»
- Establece el color del efecto «SpecialEffect» en verde.
- Establece la escala del efecto «SpecialEffect» en 0,5x a lo largo de todos los ejes XYZ.
- Inserta «Tween» en la lista «Tween» en el índice correspondiente a su primera aparición en el reproductor.

- Esta sección define principalmente las variables para determinar el momento de ejecución de los eventos, gestiona los mecanismos de entrada y salida de los jugadores e invoca funciones en los momentos adecuados. A continuación se muestra la implementación específica del script:
Área 2-1
- Al inicio de la fase, establece la variable personalizada «LastUpdateTime» en el tiempo de juego
- Cuando el personaje del jugador entre en este disparador personalizado, llama a la función «CreateEffects»
- Cuando el personaje del jugador salga de este disparador personalizado, destruye y elimina por lotes los valores de destino (algunos destinos requieren indexación mediante una lista)
- Tras la actualización, llama a la función «UpdateTreat»

Apéndice: Variables y funciones personalizadas necesarias para este script. Puede verlas y gestionarlas haciendo clic en Variables y Funciones.
Zonas de daño

- Al entrar, los personajes de los jugadores sufren una pérdida continua de salud a un ritmo de 15 puntos de vida por segundo.
Resumen:

- La función principal de este mecanismo, infligir daño a los jugadores (reducir su salud), se encapsula en la siguiente función, que se ejecuta cada vez que un jugador elegible entra en la zona. La implementación específica del script es la siguiente:
Área 3-2
Función «UpdateInjure»
- Si la longitud de «ListOfInjure» > 0
- Si el resultado del tiempo de juego menos la variable personalizada «LastUpdateTime» supera 1000, establece la variable personalizada «LastUpdateTime» igual al tiempo de juego y, a continuación, indexa el elemento «Player» dentro del contenedor de datos «ListOfInjure»
- Si la salud actual del jugador ≠ 0, infligir 15 puntos de daño a ese jugador.

- Esta sección define principalmente las variables para determinar el momento de ejecución del evento, gestiona la entrada y salida de los jugadores del mecanismo e invoca las funciones según sea necesario. La implementación específica del script es la siguiente:
Área 3-1
- Al comenzar la fase, establece la variable personalizada «LastUpdateTime» en la hora actual del juego.
- Cuando un personaje jugador entre o salga de este disparador personalizado, añade o elimina al jugador de la «ListOfInjure».
- Tras la actualización, invoca la función «UpdateInjure».

Apéndice: Variables y funciones personalizadas necesarias para este script. Puede verlas y gestionarlas haciendo clic en Variables y Funciones
Zona de aparición de monstruos

- Genera un zombi cerca de esta zona cuando un personaje jugador entra en ella
- La función principal de este mecanismo (la aparición de zombis) se puede activar cada vez que un jugador entra en ella, acompañada de los efectos de sonido correspondientes. A continuación se muestra la implementación específica del script:
- Cuando un personaje jugador entra en este disparador personalizado, crea un zombi en las coordenadas: XYZ = (coordenada X del jugador - 2, coordenada Y del jugador, coordenada Z del jugador - 2). El zombi será de tipo normal, con el objetivo automático establecido en verdadero, tipo de comportamiento pasivo y sin ruta asignada.
- Crea un efecto de sonido de alerta no dirigido con un tipo de bucle «una vez» y «reproducir inmediatamente» establecido en verdadero.

Área de trampa


- Cuando un personaje jugador entra, la jaula trampa situada sobre su cabeza caerá, confinando al jugador dentro de esa zona.
- Después de que caiga la jaula trampa, se mostrará una cuenta atrás de 10 segundos y la trampa se restablecerá al finalizar la cuenta atrás.
Resumen:

- La funcionalidad principal de este mecanismo (la caída de la jaula trampa y el atrapamiento de los jugadores) se encuentra encapsulada en la siguiente función, que se ejecuta cada vez que un jugador elegible entra en el mecanismo
- Al mismo tiempo, la inicialización del mecanismo se encapsula como una función, que abarca la agrupación unificada de los objetos trampa de la escena y el ocultamiento previo del texto de la cuenta atrás. La implementación específica del script es la siguiente:
Área 4-2
Función «TrapFalls»
- Si «TrapState» es verdadero, mueve el objeto de nivel «Trap» (elemento «Trap» dentro del contenedor de datos de índice «Trap») a las coordenadas XYZ = («Trap» coordenada X, «Trap» coordenada Y - 2, «Trap» coordenada Z)
- Establecer «TrapState» en falso
Función «Initialisation»
- Añadir «Iron Fence1-4» a «Trap»
- Establecer la variable personalizada «TrapTime» en verdadero
- Crear un objeto de texto en las coordenadas XYZ = (coordenada X de la entidad de escena «Bloque», coordenada Y de la entidad de escena «Bloque» + 3, coordenada Z de la entidad de escena «Bloque»), devolver «Texto»
- Establecer la variable personalizada «Time» en «Text»
- Establecer la posición de «Text» en las coordenadas: XYZ = (coordenada X de la entidad de escena «Block», coordenada Y de la entidad de escena «Block» + 3, coordenada Z de la entidad de escena «Block»)
- Establecer el contenido de «Text» en la cadena «10»
- Establecer el factor de escala de «Text» en 0 en todas las direcciones XYZ

- Al desplegar la trampa, muestra una cuenta atrás de 10 segundos al jugador. Una vez finalizada la cuenta atrás, retrae la trampa y oculta el texto de la cuenta atrás. Esta funcionalidad está parcialmente encapsulada en la siguiente función; la implementación específica del script es la siguiente:
Área 4-3
Función «UpdateInjure»
- Si «TrapState» es falso y el resultado del tiempo de juego menos la variable personalizada «LastUpDateTime» supera 1000, establece la variable personalizada «LastUpDateTime» igual al tiempo de juego. Convierte la cadena «Time» en un entero y devuelve « Result», establece el contenido de «Time» en «Result»-1
- Si el contenido de «Time» es 0, establece el factor de escala de «Text» en 0 en todas las direcciones XYZ, establece el contenido de «Text» en la cadena «10», llama a la función «TrapRecovery» y establece «TrapState» en verdadero

Área 4-4
- Si «TrapState» es falso, indexa el elemento «Each» en el contenedor de datos «Trap», moviendo el objeto de nivel «Each» a las coordenadas XYZ = (coordenada X de «Each», coordenada Y de «Each» + 2, coordenada Z de «Each»).
- Establece el factor de escala «Time» en 2 en todas las direcciones XYZ.

- Esta sección determina principalmente el momento en que se invoca cada función; a continuación se muestra la implementación específica del script:
Área 4-1
- Al comenzar el juego, invoca la función «Initialisation».
- Cuando el personaje del jugador entre en este disparador personalizado, espera 0,3 segundos antes de invocar las funciones «TrapFalls» y «CountDown».
- Durante las actualizaciones, invoca la función «UpdateInjure».

Apéndice: Variables y funciones personalizadas necesarias para este script. Puedes verlas y gestionarlas haciendo clic en Variables y Funciones, respectivamente.
### Zona de transmisión


- Mostrar una cuenta atrás de 3 segundos cuando el personaje del jugador entre, reproduciendo simultáneamente un efecto de teletransporte sobre el personaje.
- Una vez completada la cuenta atrás, el personaje se teletransporta a la ubicación designada
Descripción general:

- La funcionalidad principal de este mecanismo (teletransportar a los jugadores que entran a una ubicación designada después de 3 segundos) se encuentra encapsulada en la siguiente función, que se puede ejecutar para cada jugador elegible que entre en el mecanismo. A continuación se muestra la implementación específica del script:
Área 5-2
Función «MyUpdate»
- Recupera el elemento «Player» del contenedor de datos de índice «PlayerList».
- Establece la variable temporal «State» en el valor «index» de «PlayerStateList».
- Si «state» = 1, establecer la variable temporal «enter_tick» en el «índice» de «EnterTickList», establecer la variable temporal «stay_tick» en el tiempo de juego menos «enter_tick» y establecer la variable temporal «countdown» en el valor (3000 - «stay_tick») * 0,001 redondeado al alza
- Si «countdown» > 0, establece el contenido de «index» en «TextEntityList» en la cadena «countdown». De lo contrario, establece la variable temporal «target_pos» en la posición del objeto de escena «TeleportTar» y, a continuación, teletransporta al jugador a las coordenadas XYZ = (coordenada X de «target_pos», coordenada Y de «target_pos» + 2, coordenada Z de «target_pos»). , gira con ángulos de Euler XYZ = (0, 0, 0)

- Cuando el jugador está a punto de ser teletransportado, también queremos alertarle visualmente mediante efectos especiales de que la función está activa, al tiempo que se muestra una cuenta atrás de 3 segundos para la teletransportación. Esta funcionalidad está encapsulada en la siguiente función; a continuación se muestra la implementación específica del script:
Área 5-3
Función «InitPlayerData»
- Añadir el jugador a «PlayerList», añadir 0 a «PlayerStateList», añadir 0 a «EnterTickList»
- Crear un objeto de texto en las coordenadas XYZ = (0, 0, 0), devolver «TextEntity»
- Crear «TextEntity» para seguir al jugador, desplazado de su sistema de coordenadas por XYZ = (0, 1,5, 0) y reproducirlo inmediatamente
- Añadir «TextEntity» a «TextEntityList»
- Crear un efecto visual de chispas en el jugador, establecer el tipo de bucle en bucle, establecer la reproducción inmediata en verdadero, devolver «VisualEffectEnti»
- Establecer el color del efecto visual «VisualEffectEnti» en azul
- Crear « VisualEffectEnti» para que siga el objetivo del jugador, sin desplazamiento a lo largo de los ejes XYZ en relación con su sistema de coordenadas, y reproducir inmediatamente.
- Añadir «VisualEffectEnti» a «VisualEffectList»

Área 5-4
Función «ReadyToTeleport»
- Establece el «índice» de «PlayerStateList» en 1
- Establece el «índice» de «EnterTickList» en el tiempo de juego
- Establece el contenido del «índice» en «TextEntityList» en vacío
- Establece el factor de escala del «índice» en «TextEntityList» en 1 en todas las direcciones de los ejes XYZ
- Establecer el factor de escala para el «índice» en «VisualEffectList» en 1 en todas las direcciones XYZ

- Al cancelar el teletransporte del jugador, se realizan las siguientes acciones: Ocultar el texto de la cuenta atrás y los efectos de teletransporte. Esta funcionalidad está encapsulada en la siguiente función; la implementación específica del script es la siguiente:
Área 5-5
Función «AbortTeleport»
- Establecer el «índice» de «PlayerStateList» en 0
- Establecer el factor de escala del «índice» en «TextEntityList» en 0 en todas las direcciones XYZ
- Establecer el factor de escala del «índice» en «VisualEffectList» en 0 en todas las direcciones XYZ

- Esta sección determina principalmente el momento de invocación de la función; la implementación específica del script es la siguiente:
Área 5-1
- Comenzar la ejecución del bucle: esperar 0,2 segundos y, a continuación, invocar la función «MyUpdate».
- Cuando el personaje del jugador entre en este disparador personalizado, establece la variable temporal «index» en la posición en la que «Player» aparece por primera vez en «PlayerList». Si index=-1, llama a la función «InitPlayerData»; llama a la función «ReadyToTeleport».
- Cuando el personaje del jugador salga de este disparador personalizado, llama a la función «AbortTeleport».

Apéndice: Variables y funciones personalizadas necesarias para este script. Puedes verlas y gestionarlas haciendo clic en Variables y Funciones
Área de visualización de texto

- Mostrar el texto «HelloWorld» cuando el personaje del jugador entre
- Ocultar el texto «HelloWorld» cuando el personaje del jugador salga
- La funcionalidad principal de este mecanismo (mostrar y ocultar el texto «HelloWorld» en los momentos adecuados) se encapsula en la siguiente función
- Este contenido también determina el momento de invocación de la función mencionada anteriormente; la implementación específica del script es la siguiente:
- Cuando el personaje del jugador entra/sale de este disparador personalizado, añade/elimina «Player» de la lista «ListOfPlayer».
- En la posición de la entidad de escena «CueArea» (registrada como Location), llama a la función «CreateTips»/llama a la función «DeleteTips».
Función «CreateTips»
- Crea un objeto de texto en las coordenadas de posición XYZ = (coordenada X de «Location», coordenada Y de «Location» + 2, coordenada Z de «Location»), devolviendo «Tips».
- Establece la variable personalizada «Tips» = «Tips».
- Establece el contenido de «Tips» en «Hello World».
Función «DeleteTips»
Si la longitud de «PlayerList» ≤ 0, destruye «Tips».

Apéndice: Variables y funciones personalizadas necesarias para este script. Puede verlas y gestionarlas haciendo clic en Variables y Funciones
Área de cambio de vestuario

- Al entrar, la apariencia del personaje del jugador cambia según su género
- La función principal de este mecanismo, cambiar a los jugadores a un atuendo apropiado para su género, puede activarse cada vez que un jugador entra en él; la implementación específica del script es la siguiente:
El script de esta área muestra cómo cambiar aleatoriamente el personaje del jugador que entra al atuendo correspondiente a su género al activar este disparador personalizado
- Al inicio del juego, añade los siguientes atuendos al «Armario de mujer» y al « Men’sWardrobe"
- Cuando un personaje entre en este activador personalizado, si su género es 2, baraja «Men’sWardrobe» y establece su atuendo en el conjunto del índice 0 de «Men’sWardrobe».
- De lo contrario, baraja «Women’sWardrobe» y establece su atuendo en el conjunto del índice 0 de «Women’sWardrobe».

Apéndice: Variables personalizadas necesarias para este script. Puedes verlas y gestionarlas haciendo clic en Variables
Elevador

- Cuando el personaje del jugador entra en el ascensor, este ascenderá gradualmente hasta alcanzar la altura máxima establecida
- Cuando el personaje del jugador sale del ascensor, este descenderá gradualmente hasta volver a su posición inicial
Resumen:

- La funcionalidad principal de este mecanismo, que hace que el objeto ascensor suba cuando un jugador entra y baje cuando sale, está encapsulada en la siguiente función. Esta función se ejecuta cada vez que un jugador elegible entra en el mecanismo. A continuación se muestra la implementación específica del script:
Área 6-2, 6-3
Función «CreateAnElevator»
- Establece la variable personalizada «ElevatorsLocation» en la posición de «Elevator».
- Ejecutar bucle cuando se cumpla la condición: longitud de
PlayerList
> 0. Esperar 0,5 segundos, establecer la coordenada Y deElevatorsLocation
en el valor actual + 0,2, actualizar la variable personalizadaElevatorsLocation
, establecer la posición deElevator
enElevatorsLocation
, establecer la posición de este disparador personalizado enElevatorsLocation
- Continuar el bucle hasta que la longitud de «PlayerList» sea ≤ 0 o la variable personalizada «Mark» sea ≥ 20; de lo contrario, incrementar «Mark» en 1.
Función «DescendElevator»
- Condición cumplida: Ejecutar bucle cuando la longitud de «PlayerList» = 0: Esperar 0,5 segundos, establecer la variable temporal «Time» en la posición «Elevator», establecer la coordenada Y de «Time» en el valor actual - 0,2, actualizar la variable personalizada «Time», establecer la posición «Elevator» en «Time», establecer la posición de este disparador personalizado en «Time»
- Hasta que «PlayerList» longitud > 0 o «Time» coordenada Y ≤ 2,8, de lo contrario, continuar el bucle y establecer el valor «Mark» en el valor actual menos 1


- Esta sección determina principalmente el momento en que se realizan las llamadas a las funciones y define las variables para asignar valores a los objetos de la escena. A continuación se muestra la implementación específica del script:
Área 6-1
- Cuando el personaje del jugador entre en este disparador personalizado, añádalo a «ListOfInjure» y llame a la función «CreateAnElevator».
- Cuando el personaje del jugador salga de este disparador personalizado, elimínelo de «ListOfInjure». Si la longitud de « PlayerList» ≤ 0, llama a la función «DescendElevator»
- Al inicio del juego, establece la variable personalizada «Elevator» en el objeto de escena «High-Tech Platform A1»

Apéndice: Variables y funciones personalizadas requeridas por este script. Puedes verlas y gestionarlas haciendo clic en Variables y Funciones.
Puertas automáticas

- Cuando un personaje jugador se acerca a la puerta (entrando en el rango del disparador personalizado), la puerta se abre automáticamente.
- Cuando el personaje se aleja de la puerta (saliendo del rango del disparador personalizado), la puerta se cerrará automáticamente.
Descripción general:

- La funcionalidad principal de este mecanismo (abrir la puerta cuando el jugador se acerca y cerrarla cuando se aleja) se resume en la siguiente función, que se ejecuta cada vez que un jugador elegible entra en el mecanismo. La implementación específica del script es la siguiente:
Secciones 7-3 y 7-4
Función «OpenTheDoor»
Si la longitud de «PlayerList» ≥ 0, se cumple la condición: comienza a ejecutar el bucle cuando «Mark» ≤ 5 hasta que la longitud de «PlayerList» = 0 o «Mark» > 5; de lo contrario, continúa el bucle:
- Esperar 0,5 segundos
- Establecer las coordenadas de posición XYZ de «Plataforma de estilo japonés A1» = (coordenada X de «Plataforma de estilo japonés A1» + 0,2, coordenada Y de «Plataforma de estilo japonés A1», coordenada Z de «Plataforma de estilo japonés A1»)
- Establecer las coordenadas de posición XYZ de «Plataforma de estilo japonés A1(1)» en: (coordenada X de «Plataforma de estilo japonés A1(1)» - 0,2, coordenada Y de «Plataforma de estilo japonés A1(1)», coordenada Z de «Plataforma de estilo japonés A1(1)»)
- Incrementar el valor de «Marca» en 1
Función «CloseTheDoor»
Si la longitud de «PlayerList» es igual a 0, ejecuta el bucle cuando «Mark» ≥ 0 hasta que la longitud de «PlayerList» > 0 o «Mark» = 0; de lo contrario, continúa el bucle:
- Espera 0,5 segundos
- Establece el valor de «Mark» en 1 menos que su valor actual
- Establece las coordenadas de posición XYZ de «Plataforma de estilo japonés A1» en: (coordenada X de la plataforma de estilo japonés A1 - 0,2, coordenada Y de la plataforma de estilo japonés A1, coordenada Z de la plataforma de estilo japonés A1).
- Establecer las coordenadas de posición XYZ de «Plataforma de estilo japonés A1(1)» en: XY = (coordenada X de «Plataforma de estilo japonés A1(1)» + 0,2), Y = (coordenada Y de «Plataforma de estilo japonés A1(1)»), Z = (coordenada Z de «Plataforma de estilo japonés A1(1)») coordenada Z de «Plataforma de estilo japonés A1(1)»)


- Esta sección se centra principalmente en definir variables para determinar el momento de ejecución de los eventos, procesar los mecanismos de entrada/salida de los jugadores e invocar funciones en los momentos adecuados. A continuación se muestra la implementación específica del script:
Zona 7-1, 7-2
- Al comenzar el juego, establece la variable personalizada «Mark» en 0
- Cuando el personaje del jugador entre o salga de este disparador personalizado, espera hasta el siguiente fotograma, añade o elimina al jugador de «PlayerList», espera hasta el siguiente fotograma y, a continuación, llama a la función «OpenTheDoor»/«CloseTheDoor»


Apéndice: Variables y funciones personalizadas necesarias para este script. Puede verlas y gestionarlas haciendo clic en Variables y Funciones
Botón Gate


- Cuando el personaje del jugador se acerca a la puerta (entrando en el rango del activador), la interfaz de usuario mostrará un botón
. Al hacer clic en este botón, se abre la puerta; al volver a hacer clic, se cierra
. Cuando el personaje se aleja de la puerta (saliendo del alcance del activador), el botón de la interfaz de usuariodesaparece, mientras que la puerta permanece en su estado actual de abierta/cerrada.
- La funcionalidad principal de este mecanismo (abrir la puerta al pulsar el botón del jugador y cerrarla al pulsarlo de nuevo) se encuentra encapsulada en la siguiente función, ejecutable para todos los jugadores elegibles que entren en el mecanismo:
- Esto también incluye el procesamiento de los jugadores que entran/salen del mecanismo y la invocación oportuna de la función. La implementación específica del script es la siguiente:
-
Cuando un jugador entre en este disparador personalizado, establece la propiedad de visibilidad de la interfaz de usuario personalizada «HudList» en verdadero.
-
Cuando un jugador se una al juego, invoca la función «CreateHUD».
-
La función «CreateHUD».
Añade el jugador a «PlayerList»
Crea un «botón» HUD personalizado para el jugador y devuelve el «Ui»
Insertar el «Ui» en la «HudList» en la posición correspondiente a la primera aparición del «Player» en la «PlayerList»
Establecer la propiedad de visibilidad de la «HudList» (como la interfaz de usuario personalizada) en falso
- Cuando el jugador abandone este disparador personalizado, establece la propiedad de visibilidad de la interfaz de usuario personalizada «HudList» en falso

Apéndice: Variables y funciones personalizadas necesarias para este script. Puede verlas y gestionarlas haciendo clic en Variables y Funciones
! 76
Script global
- Para optimizar el contenido del script y facilitar la supervisión del estado de varios mecanismos a través de una sola variable (por ejemplo, la duración de la operación de elevación del mecanismo ⑧ o el estado de la puerta con botón del mecanismo ⑩), necesitamos una variable global (denominada Mark).
Al inicio del juego, establezca la variable personalizada «Mark» en 0

Nota: Las variables personalizadas necesarias para este script se pueden ver y gestionar haciendo clic en Variables
Script del jugador
- Para garantizar que los jugadores puedan disfrutar sin problemas de la jugabilidad principal, se les debe permitir reaparecer tras morir. A continuación se muestra la implementación específica del script:
- Cuando un jugador se une al juego, establece la variable personalizada «DamageDetermina» en falso
- Cuando un jugador muere, espera 3 segundos y haz que reaparezca en el siguiente fotograma

Apéndice: Variables personalizadas necesarias para este script. Puedes verlas y gestionarlas haciendo clic en Variables
Script HUD
Descripción general:

- Dado que al hacer clic en el botón los jugadores activarán diferentes comportamientos en función del estado actual de la puerta, es necesario evaluar las propiedades de la entidad y el valor de la variable personalizada Mark, para posteriormente invocar la función correspondiente. A continuación se muestra la implementación específica del script:
Área 1-1
- Cuando se pulsa el botón!
, si la posición del eje X de la entidad «Frozen Steel Panel A1» es ≥2 y la variable personalizada «Mark» ≠ 1, se llama a la función «CloseTheDoor»
- De lo contrario, se llama a la función «OpenTheDoor»

- La funcionalidad principal del mecanismo ⑩Puerta con botón (abrir/cerrar y mantener la puerta abierta) se encuentra encapsulada en la siguiente función, ejecutable para todos los jugadores elegibles que entren en este mecanismo. A continuación se muestra la implementación específica del script:
Zonas 1-2, 1-3
Función «OpenTheDoor»
- Si la variable personalizada «Mark» = 0, establece «Mark» = 1
- Comienza el bucle: espera 0,5 segundos, mueve el objeto 0,2 unidades a lo largo del eje X. Continúa hasta que la coordenada X del objeto sea ≥ 2, luego establece «Mark» = 2 y rompe el bucle
Función «CloseTheDoor»
- Si la variable personalizada «Mark» = 2, establecer «Mark» = 1
- Comenzar el bucle: esperar 0,5 segundos, mover el objeto a lo largo del eje X en -0,2 hasta que su posición X sea ≤ 1, establecer «Mark» = 0 y romper el bucle


Apéndice: Funciones personalizadas requeridas por este script. Puede verlas y gestionarlas haciendo clic en Funciones
Script de punto de reaparición
- Una vez que los jugadores entran en el juego y comienzan a experimentar la jugabilidad principal, el punto de reaparición se convierte en un componente no funcional que puede interrumpir la actividad de los jugadores. Por lo tanto, debe establecerse en estado inactivo.
- Cuando comience la ronda, establezca el estado activo de esta entidad en verdadero
- Espere 2 segundos
- Establezca el estado activo de esta entidad en falso

Recomendaciones de edición secundarias
- Ajustar los valores dentro de scripts específicos para configurar comportamientos de trampas más exagerados y aleatorios, mejorando el impacto dramático del juego.
- Integrar con la mecánica de la tienda e introducir el juego de combate PVP, utilizando las trampas como parte del sistema de obstáculos.
- Ampliar o profundizar la funcionalidad de las trampas, explorando e implementando nuevas aplicaciones de diversos mecanismos de scripting.