Mecánica del juego

1

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.

2

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

3

Funcionalidad relacionada

Reglas

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

4

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.

5

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

6 7

Interfaz de usuario

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

8

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

9 10

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.

11

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)

12

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.

13 14

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

15
  1. 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:

16
  • 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»

  1. Si «ListOfTreat» > 0 y el resultado de GameTime - variable personalizada «LastUpDateTime» es mayor que 1000, establece la variable personalizada «LastUpDateTime» igual a GameTime
  2. 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
17
  • 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»

  1. Añade el jugador a la lista «ListOfTreat»
  2. 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»
  3. Insertar el «SpecialEffect» en la lista «SpecialEffect» en el índice correspondiente a su primera aparición en el jugador
  4. 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»
  5. Establece el color del efecto «SpecialEffect» en verde.
  6. Establece la escala del efecto «SpecialEffect» en 0,5x a lo largo de todos los ejes XYZ.
  7. Inserta «Tween» en la lista «Tween» en el índice correspondiente a su primera aparición en el reproductor.
18
  • 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

  1. Al inicio de la fase, establece la variable personalizada «LastUpdateTime» en el tiempo de juego
  2. Cuando el personaje del jugador entre en este disparador personalizado, llama a la función «CreateEffects»
  3. 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)
  4. Tras la actualización, llama a la función «UpdateTreat»
19

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

20 21

Zonas de daño

«22»
  1. 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:

23
  • 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»

  1. Si la longitud de «ListOfInjure» > 0
  2. 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»
  3. Si la salud actual del jugador ≠ 0, infligir 15 puntos de daño a ese jugador.
24
  • 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

  1. Al comenzar la fase, establece la variable personalizada «LastUpdateTime» en la hora actual del juego.
  2. Cuando un personaje jugador entre o salga de este disparador personalizado, añade o elimina al jugador de la «ListOfInjure».
  3. Tras la actualización, invoca la función «UpdateInjure».
26

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

27 28

Zona de aparición de monstruos

29
  1. 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:
  1. 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.
  2. Crea un efecto de sonido de alerta no dirigido con un tipo de bucle «una vez» y «reproducir inmediatamente» establecido en verdadero.
«30»

Área de trampa

31 32
  1. Cuando un personaje jugador entra, la jaula trampa situada sobre su cabeza caerá, confinando al jugador dentro de esa zona.
  2. 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:

33
  • 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»

  1. 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)
  2. Establecer «TrapState» en falso

Función «Initialisation»

  1. Añadir «Iron Fence1-4» a «Trap»
  2. Establecer la variable personalizada «TrapTime» en verdadero
  3. 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»
  4. Establecer la variable personalizada «Time» en «Text»
  5. 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»)
  6. Establecer el contenido de «Text» en la cadena «10»
  7. Establecer el factor de escala de «Text» en 0 en todas las direcciones XYZ
34
  • 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»

  1. 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
  2. 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
35

Área 4-4

  1. 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»).
  2. Establece el factor de escala «Time» en 2 en todas las direcciones XYZ.
36
  • 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

  1. Al comenzar el juego, invoca la función «Initialisation».
  2. Cuando el personaje del jugador entre en este disparador personalizado, espera 0,3 segundos antes de invocar las funciones «TrapFalls» y «CountDown».
  3. Durante las actualizaciones, invoca la función «UpdateInjure».
37

Apéndice: Variables y funciones personalizadas necesarias para este script. Puedes verlas y gestionarlas haciendo clic en Variables y Funciones, respectivamente.

38 39

### Zona de transmisión

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

Descripción general:

42
  • 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»

  1. Recupera el elemento «Player» del contenedor de datos de índice «PlayerList».
  2. Establece la variable temporal «State» en el valor «index» de «PlayerStateList».
  3. 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
  4. 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)
43
  • 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»

  1. Añadir el jugador a «PlayerList», añadir 0 a «PlayerStateList», añadir 0 a «EnterTickList»
  2. Crear un objeto de texto en las coordenadas XYZ = (0, 0, 0), devolver «TextEntity»
  3. Crear «TextEntity» para seguir al jugador, desplazado de su sistema de coordenadas por XYZ = (0, 1,5, 0) y reproducirlo inmediatamente
  4. Añadir «TextEntity» a «TextEntityList»
  5. 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»
  6. Establecer el color del efecto visual «VisualEffectEnti» en azul
  7. 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.
  8. Añadir «VisualEffectEnti» a «VisualEffectList»
44

Área 5-4

Función «ReadyToTeleport»

  1. Establece el «índice» de «PlayerStateList» en 1
  2. Establece el «índice» de «EnterTickList» en el tiempo de juego
  3. Establece el contenido del «índice» en «TextEntityList» en vacío
  4. Establece el factor de escala del «índice» en «TextEntityList» en 1 en todas las direcciones de los ejes XYZ
  5. Establecer el factor de escala para el «índice» en «VisualEffectList» en 1 en todas las direcciones XYZ
45
  • 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»

  1. Establecer el «índice» de «PlayerStateList» en 0
  2. Establecer el factor de escala del «índice» en «TextEntityList» en 0 en todas las direcciones XYZ
  3. Establecer el factor de escala del «índice» en «VisualEffectList» en 0 en todas las direcciones XYZ
46
  • 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

  1. Comenzar la ejecución del bucle: esperar 0,2 segundos y, a continuación, invocar la función «MyUpdate».
  2. 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».
  3. Cuando el personaje del jugador salga de este disparador personalizado, llama a la función «AbortTeleport».
47

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

48 49

Área de visualización de texto

50
  1. Mostrar el texto «HelloWorld» cuando el personaje del jugador entre
  2. 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:
  1. Cuando el personaje del jugador entra/sale de este disparador personalizado, añade/elimina «Player» de la lista «ListOfPlayer».
  2. 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»

  1. 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».
  2. Establece la variable personalizada «Tips» = «Tips».
  3. Establece el contenido de «Tips» en «Hello World».

Función «DeleteTips»

Si la longitud de «PlayerList» ≤ 0, destruye «Tips».

51

Apéndice: Variables y funciones personalizadas necesarias para este script. Puede verlas y gestionarlas haciendo clic en Variables y Funciones
52 53

Área de cambio de vestuario

54
  1. 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

  1. Al inicio del juego, añade los siguientes atuendos al «Armario de mujer» y al « Men’sWardrobe"
  2. 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».
  3. De lo contrario, baraja «Women’sWardrobe» y establece su atuendo en el conjunto del índice 0 de «Women’sWardrobe».
55

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

56

Elevador

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

Resumen:

58
  • 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»

  1. Establece la variable personalizada «ElevatorsLocation» en la posición de «Elevator».
  2. Ejecutar bucle cuando se cumpla la condición: longitud de PlayerList > 0. Esperar 0,5 segundos, establecer la coordenada Y de ElevatorsLocation en el valor actual + 0,2, actualizar la variable personalizada ElevatorsLocation, establecer la posición de Elevator en ElevatorsLocation, establecer la posición de este disparador personalizado en ElevatorsLocation
  3. 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»

  1. 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»
  2. 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
«59» 60
  • 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

  1. Cuando el personaje del jugador entre en este disparador personalizado, añádalo a «ListOfInjure» y llame a la función «CreateAnElevator».
  2. 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»
  3. Al inicio del juego, establece la variable personalizada «Elevator» en el objeto de escena «High-Tech Platform A1»
61

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

62 63

Puertas automáticas

64
  1. Cuando un personaje jugador se acerca a la puerta (entrando en el rango del disparador personalizado), la puerta se abre automáticamente.
  2. Cuando el personaje se aleja de la puerta (saliendo del rango del disparador personalizado), la puerta se cerrará automáticamente.

Descripción general:

65
  • 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:

  1. Esperar 0,5 segundos
  2. 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»)
  3. 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)»)
  4. 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:

  1. Espera 0,5 segundos
  2. Establece el valor de «Mark» en 1 menos que su valor actual
  3. 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).
  4. 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)»)
66 67
  • 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

  1. Al comenzar el juego, establece la variable personalizada «Mark» en 0
  2. 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»
68 69

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

70 71

Botón Gate

72 73
  1. Cuando el personaje del jugador se acerca a la puerta (entrando en el rango del activador), la interfaz de usuario mostrará un botón XX. 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 usuario XX desaparece, 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:
  1. Cuando un jugador entre en este disparador personalizado, establece la propiedad de visibilidad de la interfaz de usuario personalizada «HudList» en verdadero.

  2. Cuando un jugador se una al juego, invoca la función «CreateHUD».

  3. La función «CreateHUD».

Añade el jugador a «PlayerList»

Crea un «botón» HUD personalizado para el jugador XX 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

  1. Cuando el jugador abandone este disparador personalizado, establece la propiedad de visibilidad de la interfaz de usuario personalizada «HudList» en falso
74

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

75 ! 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

77

Nota: Las variables personalizadas necesarias para este script se pueden ver y gestionar haciendo clic en Variables

78

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:
  1. Cuando un jugador se une al juego, establece la variable personalizada «DamageDetermina» en falso
  2. Cuando un jugador muere, espera 3 segundos y haz que reaparezca en el siguiente fotograma
79

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

80

Script HUD

Descripción general:

81
  • 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

  1. Cuando se pulsa el botón!XX, 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»
  2. De lo contrario, se llama a la función «OpenTheDoor»
82
  • 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»

  1. Si la variable personalizada «Mark» = 0, establece «Mark» = 1
  2. 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»

  1. Si la variable personalizada «Mark» = 2, establecer «Mark» = 1
  2. 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
83 84

Apéndice: Funciones personalizadas requeridas por este script. Puede verlas y gestionarlas haciendo clic en Funciones

85

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.
  1. Cuando comience la ronda, establezca el estado activo de esta entidad en verdadero
  2. Espere 2 segundos
  3. Establezca el estado activo de esta entidad en falso
86

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.