Configuración
Añadir nuevos mapas
Para añadir un nuevo mapa al mapa, primero debes construir el mapa. El mapa debe constar de 2 puntos de aparición, uno para cada equipo, y un terreno en el que pueda situarse el jugador.
Es importante tener en cuenta que cada punto de aparición debe renombrarse para facilitar su identificación y que el valor Equipo debe establecerse en 4.
A continuación, navega hasta el Script global de la siguiente manera:
Aquí encontrarás la ubicación para añadir un nuevo mapa. A través de la función Init en el Script global, puedes encontrar dónde puedes usar la función AddMap.
Para explicar brevemente los parámetros de la función AddMap:
- MapName: define el nombre del nuevo mapa (debe ser único)
- SpawnPointT1: define la entidad del punto de aparición del equipo 1
- SpawnPointT2: define la entidad del punto de aparición del equipo 2
El nombre del mapa puede ser cualquier texto que desees. El punto de aparición debe elegirse e introducirse correctamente. Puedes ver un ejemplo en el conjunto de imágenes que aparece a continuación.
Haz clic en el cuentagotas para elegir los puntos de aparición del mapa correspondiente.
El resultado final debería ser similar a este.
Con esto concluye la sección lógica de añadir nuevos mapas al conjunto. Puedes decorar el mapa tanto como quieras para construir el mapa de tus sueños.
Configuración de muros Gloo ilimitados
Configurar si el mapa tiene muros Gloo ilimitados es muy sencillo.
En primer lugar, ve a Configuración, luego a Configuración del juego y, a continuación, simplemente activa o desactiva la opción Muros Gloo ilimitados para activar o desactivar la función.
Configurar solo disparos a la cabeza y soltar objetos al eliminar.
Para activar o desactivar las opciones Solo disparos a la cabeza y Soltar objetos al eliminar, ve a Configuración, luego a Configuración del juego y, a continuación, a Editar reglas del juego.
Desde allí, ve a Configuración de propiedades para encontrar las opciones Solo disparos a la cabeza y Soltar objeto.
Ajusta estas funciones como desees para activarlas o desactivarlas.
Explicación del script
Toda la lógica del proyecto se encuentra en la entidad Global y Player.
Script global
La lógica de todo el mapa gira en torno a dos eventos principales: «On Game Start» y «On Round Start». La función principal de este script es distribuir correctamente a los jugadores entre cada punto de aparición, aleatorizar los mapas y configurar el nuevo mapa que se añadirá al juego.
Al inicio del juego
Cuando se inicia el juego, se debe inicializar el mapa. Esto se hace a través de la función «Init».
Esta función también permite a los usuarios añadir mapas a través de las funciones
AddMap
.
Esta función funciona añadiendo una etiqueta a los puntos de aparición de cada mapa. Este mapa se introduce a través del parámetro «MapName». A continuación, todos los puntos de aparición se añaden a las listas de puntos de aparición para su uso posterior.
Por lo tanto, cada nombre de mapa debe ser único para que el sistema funcione correctamente.
Al inicio de la ronda
Cada ronda se debe elegir un nuevo mapa. La entidad del juego debe elegir primero un nombre de mapa (MapTag) de un conjunto de mapas en la función ChooseRandomMap
.
A continuación, la etiqueta se registraría como mapa utilizado. Si el número de elementos de la lista de etiquetas utilizadas supera el número de elementos de la lista total de etiquetas, la lista de etiquetas utilizadas se restablecerá.
Los puntos de aparición del jugador se determinarían entonces utilizando la misma etiqueta. En concreto, se registrarían los puntos de aparición del equipo 1 y del equipo 2 para su uso posterior.
Script del jugador
El script del jugador es el principal responsable de la lógica Solo disparos a la cabeza, GlooWall ilimitado, Equipo e Interfaz de usuario.
Al despertar
Al crear el jugador por primera vez, se ejecutan inmediatamente algunas funciones.
La primera de la lista es la función Init
. Esta función activa la invencibilidad del jugador en el vestíbulo y registra el ID del equipo del jugador para su uso posterior.
SetPlayerSetting
es una función que se utiliza para configurar a los jugadores, evitando que suelten objetos cuando son eliminados y activando la lógica Solo disparos a la cabeza para el jugador. El «solo disparo en la cabeza» se consigue estableciendo el valor Porcentaje de daño recibido del jugador en un valor extremadamente pequeño, lo que prácticamente anula cualquier daño al jugador. Dado que queremos dañar al jugador con un disparo en la cabeza, debemos ajustar la Reducción de daño por disparo en la cabeza del jugador en la misma cantidad para contrarrestar el efecto del Porcentaje de daño recibido.
A continuación, InitEquipment
añadirá GlooWall al inventario del jugador. Si la opción Gloo Wall ilimitado no está activada en la configuración, este Gloo seguiría estando disponible en el inventario del jugador. Elimina esto si es necesario.
Para reducir la confusión cuando el jugador se encuentra en el vestíbulo, se crea una notificación a través de la función «CreateStartNoti».
Al inicio de la ronda
Cuando comienza una nueva ronda, el jugador es teletransportado al mapa correspondiente y se ajusta su interfaz de usuario.
Como su nombre indica, TPToSpawn
teletransportará al jugador al punto de aparición correcto obtenido a través del script global.
A continuación, «CreateHSOnlyNoti» notificará al jugador si el modo actual es «Solo disparos a la cabeza» o no. Si el mapa está configurado como normal, esta notificación no aparecerá.
Al mismo tiempo, se debe eliminar la notificación creada desde el vestíbulo.
Al equipar un arma
A partir de este evento, se aplica una lógica importante para el modo Solo disparos a la cabeza a las armas.
Normalmente, si solo se ajustan la reducción del daño por disparo en la cabeza y el porcentaje de daño recibido del jugador, el daño por disparo en la cabeza solo será de 1 a 5 puntos por disparo. Por lo tanto, el factor de daño en la cabeza del arma debe ser específicamente 55000 para que coincida con el daño original por disparo en la cabeza del arma. Este valor se puede ajustar si se desea un valor de daño diferente.
Al final de la fase
El único propósito de este evento es eliminar la notificación «Solo disparo en la cabeza» del jugador al final de la fase de combate.
Al salir el usuario o al finalizar la partida
Este evento sirve para garantizar que el HUD se elimine correctamente cuando finaliza la partida.