La plantilla de detonación de Verse muestra cómo crear un juego de batalla entre dos equipos para armar y desarmar sitios de bomba.
En este tutorial, se usan el dispositivo de Verse y dispositivos básicos, como el dispositivo indicador de mapa, para ejecutar la mecánica del juego, como hacer una presentación de balizas, según las condiciones.
En esta plantilla, se demuestran conceptos de Verse como los siguientes:
-
Enums (enumeradores)
-
Concurrencia
-
Race (carrera)
-
Await (espera)
-
Resumen
A continuación, encontrarás un resumen con los pasos que tendrás que seguir para recrear esta isla en la secuencia ideal:
-
Crea un nuevo proyecto y modifica los ajustes de isla para configurar el juego.
-
Configura los dispositivos.
-
Añade la secuencia de comandos de Verse.
Cómo crear un nuevo proyecto y configurar el juego
-
Abre UEFN y crea un nuevo proyecto vacío.
-
Selecciona el dispositivo Configuración de la isla en el esquematizador y busca Opciones de usuario: Reglas del juego.
-
Modifica las opciones de usuario como se muestra a continuación.
Opción | Valor | Explicación |
---|---|---|
Equipos | Índice de equipo 2 | Los jugadores se dividirán en equipos de dos. |
Rondas totales | 5 | Habrá cinco rondas antes de que finalice el juego. |
Permitir observar a otros equipos | Falso | Los jugadores no podrán observar a otros equipos. |
Recursos infinitos | Falso | Los jugadores no tendrán materiales de construcción infinitos durante el juego. |
Las construcciones pueden destruir el entorno | Falso | Colocar estructuras creadas por el jugador no puede destruir ninguna parte del entorno que se superponga con ellas. |
Daño al entorno | Desactivado | Los jugadores no pueden dañar el entorno durante el juego. |
Destrucción con pico | No | Los picos no provocarán daños en el entorno ni en los edificios. |
Permitir la reaparición manual | Falso | Los jugadores no pueden usar la opción de menú Reaparecer durante el juego. |
Usar puntaje del equipo | Verdadero | Cada equipo en el juego obtiene estadísticas a través de una suma de sus jugadores. |
Cómo configurar los dispositivos
En este tutorial, se usan los siguientes dispositivos:
-
1 x Verse
Dispositivo explosivo

Usa el dispositivo explosivo para causar la explosión para cronómetros detonados. En lados opuestos del mapa, copia y coloca un grupo de cuatro dispositivos explosivos.
Para configurar este dispositivo, establece las Opciones de usuario tal y como se indica a continuación:
Opción | Valor | Explicación |
---|---|---|
Puede recibir daño | Falso | Este dispositivo no recibirá daño de otros jugadores. |
Objetivo cronometrado

El dispositivo de objetivo cronometrado cumple la función de detonador para cada sitio. Coloca un dispositivo de objetivo cronometrado en los dos grupos de dispositivos explosivos.
Para configurar este dispositivo, establece las Opciones de usuario tal y como se indica a continuación:
Opción | Valor | Explicación |
---|---|---|
Tiempo | 30 | Determina la duración del cronómetro para el objetivo. |
Puntaje al iniciar | 2 | Establece la cantidad de puntaje que se recibirá por iniciar un cronómetro detenido con éxito. |
Puntaje al detener | 5 | Determina la cantidad de puntaje que se recibirá después de detener un cronómetro activo con éxito. |
Puntaje al completar | 3 | Establece la cantidad de puntaje que se recibirá cuando termina el cronómetro. |
Estilo de texto de etiqueta del cronómetro | Naranja intenso | Establece el estilo de la cuenta regresiva y el texto personalizado. |
Filtro de equipo al iniciar | Índice de equipo 1 | Determina qué equipo puede iniciar un cronómetro detenido. |
Texto de interacción al iniciar | Armar bomba | Define el texto personalizado que se mostrará como mensaje para un jugador que puede iniciar un cronómetro detenido. |
Tiempo de interacción al iniciar | 5 | Determina la duración de la interacción requerida para iniciar un cronómetro detenido. |
Filtro de equipo al detener | Índice de equipo 2 | Determina qué equipo puede detener un cronómetro activo. |
Texto de interacción al detener | Desarmar bomba | Define el texto personalizado que se mostrará como mensaje para un jugador que puede detener un cronómetro activo. |
Tiempo de interacción al detener | 5.0 | Determina la duración de la interacción requerida para detener un cronómetro activo. |
Distancia de sonido del cronómetro | Todo el mapa | Determina si el sonido del cronómetro está localizado o si se puede oír desde cualquier parte en el mapa. |
Dispositivo indicador de mapa

Usa el dispositivo indicador de mapa para crear marcadores personalizados en el minimapa. Para cada sitio de explosivos, coloca dos dispositivos indicadores de mapa encima, uno para cada equipo.
Para configurar este dispositivo, establece las Opciones de usuario tal y como se indica a continuación:
Opción | Valor | Explicación |
---|---|---|
Color del ícono | Escoge un color | Establece el color para el ícono que se muestra. Elige un color que represente a cada equipo. |
Texto | Explosivo A - Explosivo B | Nombra a un par de dispositivos indicadores de mapa Bomba A y, al otro par, Bomba B. |
Dispositivo de terminar la partida

Usa el dispositivo de terminar la partida para finalizar la ronda tras el desarmado exitoso de la bomba, o bien usa la secuencia de comandos de Verse si se cumplen los 30 segundos y explota.
Para configurar este dispositivo, establece las Opciones de usuario tal y como se indica a continuación:
Opción | Valor | Explicación |
---|---|---|
Equipo ganador | Equipo de activación | El equipo que active el dispositivo ganará el juego. |
Cómo terminar | Terminar ronda | Este dispositivo terminará la ronda de juego. |
Dispositivo de aparición de jugador

Agrupa las plataformas de aparición de jugador del equipo en lados opuestos del mapa. El Equipo 1 armará la bomba, y el Equipo 2 la desarmará. Los equipos cambiarán en cada ronda.
Para configurar este dispositivo, establece las Opciones de usuario tal y como se indica a continuación:
Opción | Valor | Explicación |
---|---|---|
Equipo del jugador | Índice de equipos 1 - 2 | Se establecerá un conjunto de dispositivos de aparición para el índice de equipos 1, mientras que el otro se establecerá para el índice de equipos 2. |
Cómo agregar las secuencias de comandos de Verse
Añade las siguientes secuencias de comandos de Verse. Para empezar, haz referencia a los dispositivos con la función @editable.
Puedes copiar el código en el orden en que está escrito. Los comentarios se agregan dentro de la secuencia de comandos para brindar mayor claridad.
# Enumeración para determinar el estado de las bombas.
bomb_state<public>:= enum {AllUnarmed, BombAArmed, BombBArmed}
El código de arriba define una enumeración para rastrear el estado de las bombas.
search_and_destroy := class(creative_device):
Logger:log = log{Channel:=log_search_and_destroy}
@editable
TimedObjectiveA: timed_objective_device = timed_objective_device{}
@editable
TimedObjectiveB: timed_objective_device = timed_objective_device{}
@editable
ExplosiveBarrelsA: []explosive_device = array{}
@editable
ExplosiveBarrelsB: []explosive_device = array{}
@editable
EndGameDevice: end_game_device = end_game_device{}
@editable
BombAMapIndicators: []map_indicator_device = array{}
@editable
BombBMapIndicators: []map_indicator_device = array{}
@editable
BombABeaconArm: beacon_device = beacon_device{}
@editable
BombABeaconDisarm: beacon_device = beacon_device{}
@editable
BombBBeaconArm: beacon_device = beacon_device{}
@editable
BombBBeaconDisarm: beacon_device = beacon_device{}
var BombState:bomb_state = bomb_state.AllUnarmed
Puedes usar la función @editable para hacer referencia a los dispositivos.
# Se ejecuta cuando el dispositivo se inicia en un juego en ejecución
OnBegin<override>()<suspends>:void=
# La expresión de carrera se usa para ejecutar un bloque de dos o más expresiones asíncronas de manera concurrente (simultáneamente). Cuando se completa la expresión más rápida, "gana la carrera".
# https://www.fortnite.com/es-MX/creative/docs/uefn/race-in-verse
race:
block:
# Espera a que se arme la Bomba A
ArmingPlayer:= TimedObjectiveA.StartedEvent.Await()
Print("Bomba A armada.",?Duration:=5.0)
# Se usa para saber qué balizas se deben habilitar y qué barriles tienen que explotar
set BombState = bomb_state.BombAArmed
# Deshabilita el otro dispositivo de objetivo cronometrado.
TimedObjectiveB.Disable(ArmingPlayer)
# Deshabilita los indicadores de mapa para la Bomba B
for (MapIndicator : BombBMapIndicators):
MapIndicator.Disable()
La primera sección del código muestra concurrencia mediante la carrera para determinar si se armó primero la Bomba A o la Bomba B.
block:
# Espera a que se arme la Bomba B
ArmingPlayer:= TimedObjectiveB.StartedEvent.Await()
Print("Bomba B armada.",?Duration:=5.0)
# Se usa para saber qué balizas se deben habilitar y qué barriles tienen que explotar
set BombState = bomb_state.BombBArmed
# Deshabilita el otro dispositivo de objetivo cronometrado.
TimedObjectiveA.Disable(ArmingPlayer)
# Deshabilita los indicadores de mapa para la Bomba A
for (MapIndicator : BombAMapIndicators):
MapIndicator.Disable()
# Habilita los dispositivos de baliza correctos ahora que se armó una bomba.
UpdateBeacons()
# Espera que se complete o se detenga TimedObjective
race:
block:
BombDetonated(TimedObjectiveA.CompletedEvent.Await())
block:
BombDetonated(TimedObjectiveB.CompletedEvent.Await())
block:
DisarmingPlayer:= TimedObjectiveA.StoppedEvent.Await()
Print("Bomba desarmada.", ?Duration:=5.0)
EndGameDevice.Activate(DisarmingPlayer)
block:
DisarmingPlayer:= TimedObjectiveB.StoppedEvent.Await()
Print("Bomba desarmada.", ?Duration:=5.0)
EndGameDevice.Activate(DisarmingPlayer)
El código de arriba muestra concurrencia donde la secuencia de comandos espera a que se complete o se detenga el dispositivo objetivo cronometrado.
# Deshabilita las balizas desarmadas y habilita la baliza por encima de la bomba armada
UpdateBeacons():void=
BombABeaconArm.Disable()
BombBBeaconArm.Disable()
if:
BombState = bomb_state.BombAArmed
then:
BombABeaconDisarm.Enable()
else:
BombBBeaconDisarm.Enable()
El código de arriba actualiza el estado de las balizas según qué bomba se arma.
BombDetonated(Agent:agent):void=
Print("Bomba detonada.", ?Duration:=5.0)
# Determina qué barriles establecidos deben explotar
if:
BombState = bomb_state.BombAArmed
then:
ExplodeBarrels(ExplosiveBarrelsA, Agent)
else:
ExplodeBarrels(ExplosiveBarrelsB, Agent)
EndGameDevice.Activate(Agent)
Se llama al método anterior cuando el objetivo cronometrado se completa. Determina qué barriles deben explotar y termina la partida.
ExplodeBarrels(Barrels:[]explosive_device, Agent:agent):void=
for (Barrel : Barrels):
Barrel.Explode(Agent)
El bucle for anterior que hará explotar cada barril en el sitio de bomba correcto.
Dispositivo de Verse

Compila la secuencia de comandos de Verse; luego, busca el dispositivo en el cajón de contenido. Arrastra el dispositivo de Verse hasta un área invisible de tu mapa para personalizar la configuración.
Utiliza este dispositivo para conectar la vinculación directa de eventos a los dispositivos necesarios para que la secuencia de comandos de Verse pueda hacer referencia a ellos.

En el panel de detalles del dispositivo, configura los ajustes para que cada dispositivo referenciado coincida con la foto de arriba.
Para configurar este dispositivo, establece las Opciones de usuario tal y como se indica a continuación:
Opción | Valor | Explicación |
---|---|---|
TimeObjectiveA | Objetivo cronometrado BombSiteA | Vincula el dispositivo objetivo cronometrado con el sitio explosivo. |
TimeObjectiveB | Objetivo cronometrado BombSiteB | Vincula el dispositivo objetivo cronometrado con el sitio explosivo. |
ExplosiveBarrelsA | 0 - BarrelBombSiteA_1 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsA | 1 - BarrelBombSiteA_2 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsA | 2 - BarrelBombSiteA_3 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsA | 3 - BarrelBombSiteA_4 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsB | 0 - BarrelBombSiteB_1 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsB | 1 - BarrelBombSiteB_2 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsB | 2 - BarrelBombSiteB_3 | Vincula el dispositivo explosivo. |
ExplosiveBarrelsB | 3 - BarrelBombSiteB_4 | Vincula el dispositivo explosivo. |
EndGameDevice | Dispositivo de terminar partida 2 | Vincula el dispositivo de terminar partida. |
BombAMapIndicators | 0 - Map_Team1_BombsiteA | Vincula el dispositivo indicador de mapa con el sitio explosivo. |
BombAMapIndicators | 1 - Map_Team2_BombsiteA | Vincula el dispositivo indicador de mapa con el sitio explosivo. |
BombBMapIndicators | 0 - Map_Team1_BombsiteB | Vincula el dispositivo indicador de mapa con el sitio explosivo. |
BombBMapIndicators | 1 - Map_Team2_BombsiteB | Vincula el dispositivo indicador de mapa con el sitio explosivo. |
BombABeaconArm | BeaconArmBombSiteA | Arma el explosivo para el sitio A. |
BombABeaconDisarm | BeaconDisarmBombSiteA | Desarma el explosivo para el sitio A. |
BombBBeaconArm | BeaconArmBombSiteB | Arma el explosivo para el sitio B. |
BombBBeaconDisarm | BeaconDisarmBombSiteB | Desarma el explosivo para el sitio B. |
Selecciona Comenzar sesión para probar que completaste tu nivel.