Ahora que todos los dispositivos están preparados, es hora de configurar la forma en que interactúan.
El vínculo directo de evento permite a los dispositivos comunicarse directamente entre sí por medio de eventos y funciones. Puedes obtener más información aquí.
Dispositivo A | Función | Dispositivo B | Evento | Explicación |
---|---|---|---|---|
Barreras huecas 1 y 2 ![]() |
Desactivar | Cronómetro ![]() |
Al completarse | Cuando termine el cronómetro, las barreras desaparecerán. |
Barrera opaca ![]() |
Desactivar | Cronómetro ![]() |
Al completarse | Cuando termine el cronómetro, las barreras desaparecerán. |
Aquí tienes una captura de pantalla del aspecto que tendrá una vez establecida la vinculación:

Vínculo directo de evento con Verse
También puedes utilizar Verse para programar la lógica del dispositivo.
El primer paso es crear tu propio dispositivo con Verse. Para obtener más información, puedes seguir la guía Aprende los aspectos básicos de la escritura de código en Verse y luego regresar aquí para aplicar esos conceptos.
Ahora tendrás que referenciar los dispositivos que controlarás con Verse en tu secuencia de comandos.
Necesitarás 3 barrier_device
y 1 timer_device
:
box_fight_manager := clase<concrete>(dispositivo Creativo):
Logger:log = log{Channel:=box_fight_log}
@editable
Barrier1:barrier_device = barrier_device{}
@editable
Barrier2:barrier_device = barrier_device{}
@editable
MidBarrier:barrier_device = barrier_device{}
@editable
Timer:timer_device = timer_device{}
Compila tu código y arrastra el box_fight_manager
hasta el nivel. A continuación, selecciona los dispositivos correspondientes:

En este ejemplo, el Timer
debería empezar por sí solo al empezar la partida. Una vez transcurrido el tiempo establecido, el Timer
termina con resultado positivo y se desactivan las barreras.
Vamos a suscribirnos al SuccessEvent
o resultado positivo del Timer
cuando comience la partida:
OnBegin<override>()<suspends>:void=
Timer.SuccessEvent.Subscribe(DropBarriers)
Se llamará la función DropBarriers
, que desactivará las tres barreras:
DropBarriers(Player:?agent):void=
Barrier1.Disable()
Barrier2.Disable()
MidBarrier.Disable()
Ten en cuenta que SuccessEvent
espera llamar una función que acepte el argumento agent
.
¡Compila tu código y listo! Ya estás a punto para poner a prueba tu isla.
Aquí tienes la secuencia de comandos completa como referencia:
using { /Fortnite.com/Devices }
using { /Verse.org/Native }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
box_fight_log:=class(log_channel){}
box_fight_manager := clase<concrete>(dispositivo Creativo):
Logger:log = log{Channel:=box_fight_log}
@editable
Barrier1:barrier_device = barrier_device{}
@editable
Barrier2:barrier_device = barrier_device{}
@editable
MidBarrier:barrier_device = barrier_device{}
@editable
Timer:timer_device = timer_device{}
OnBegin<override>()<suspends>:void=
Timer.SuccessEvent.Subscribe(DropBarriers)
DropBarriers(Player:?agent):void=
Barrier1.Disable()
Barrier2.Disable()
MidBarrier.Disable()
Cómo probar tu isla
¡Lo has conseguido!
Una vez que esté todo configurado y listo para funcionar, prueba tu isla para asegurarte de que funciona del modo esperado en Fortnite.
Para publicar el proyecto, consulta la página Cómo publicar proyectos.