I WANT MAKE THE hud RED LIGHT AND GREEN LIGHT HID ONCE NextStageTeleporter.Teleport(Player)

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Random }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Fortnite.com/Characters }

redlight_greenlight := class(creative_device):

var FinishedPlayerArray : []player = array{}
var GreenLight : logic = true
var OldPosAgentMap : [agent]vector3 = map{}
var NewPosAgentMap : [agent]vector3 = map{}
@editable
StartTime : timer_device = timer_device{}
@editable
StartBarrier : barrier_device = barrier_device{}
@editable
EndGameTimer : timer_device = timer_device{}
@editable
GreenLightHud : hud_message_device = hud_message_device{}
@editable
RedLightHud : hud_message_device = hud_message_device{}
@editable
EndBarrier : barrier_device = barrier_device{}
@editable
MutatorZoneEndGame : mutator_zone_device = mutator_zone_device{}
@editable
FinishMutator: mutator_zone_device = mutator_zone_device{}
@editable
NextStageTeleporter : teleporter_device = teleporter_device{}
@editable
DollAnim : cinematic_sequence_device = cinematic_sequence_device{}
@editable
TimeMin : int = 2
@editable
TimeMax : int = 7
var RandomInt : int = 0
var GameStarted : logic = false

OnBegin<override>()<suspends> : void =
    StartTime.SuccessEvent.Subscribe(GameStart)
    EndGameTimer.SuccessEvent.Subscribe(EndGame)
    for (Player: GetPlayspace().GetPlayers(), FC := Player.GetFortCharacter[], NewAgent:= FC.GetAgent[]):
        FinishMutator.AgentEntersEvent.Subscribe(PlayerFinished)

GameStart(Agent: ?agent): void =
    StartBarrier.Disable()
    for (Player: GetPlayspace().GetPlayers(), FC := Player.GetFortCharacter[], NewAgent:= FC.GetAgent[]):
        EndBarrier.AddToIgnoreList(NewAgent)
    spawn:
        GameFunctionality()
    Print("Green Light")
    GreenLightHud.Show()
    RedLightHud.Hide()
    spawn:
        LightChanger()

LightChanger()<suspends>: void =
    loop:
        set RandomInt = GetRandomInt(TimeMin,TimeMax)
        Sleep(RandomInt * 1.0)
        Print("Red Light")
        RedLightHud.Show()
        GreenLightHud.Hide()
        DollAnim.Play()
        Sleep(1.0)
        set GreenLight = false
        spawn:
            GameFunctionality()
        set RandomInt = GetRandomInt(TimeMin,TimeMax)
        Sleep(RandomInt * 1.0)
        set GreenLight = true
        Print("Green Light")
        GreenLightHud.Show()
        RedLightHud.Hide()
        DollAnim.Stop()
        spawn:
            CheckEndGameCondition()

PlayerFinished(Agent:agent):void =
    EndBarrier.RemoveFromIgnoreList(Agent)
    if (Player := player[Agent]):
        set FinishedPlayerArray += array{Player}

EndGame(Agent: ?agent): void =
    for (Player: GetPlayspace().GetPlayers(), FC := Player.GetFortCharacter[], NewAgent:= FC.GetAgent[]):
        if (MutatorZoneEndGame.IsInVolume[NewAgent]):
            FC.Damage(200.0)

GameFunctionality()<suspends>: void =
    loop:
        if (GreenLight?):
            break
        for (Player: GetPlayspace().GetPlayers(), FC := Player.GetFortCharacter[], Agent:= FC.GetAgent[]):
            if (set OldPosAgentMap[Agent] = FC.GetTransform().Translation):
        Sleep(0.5)
        for (Player: GetPlayspace().GetPlayers(), FC := Player.GetFortCharacter[], Agent:= FC.GetAgent[]):
            if (set NewPosAgentMap[Agent] = FC.GetTransform().Translation):
                CheckDistance(Agent)

CheckDistance(Agent:agent): void =
    if:
        OldPosAgentMap[Agent] <> NewPosAgentMap[Agent]
        FC := Agent.GetFortCharacter[]
        Player := player[Agent]
        not FinishedPlayerArray.Find[Player]
    then:
        FC.Damage(200.0)

CheckEndGameCondition()<suspends>: void =
    AllPlayers := GetPlayspace().GetPlayers()
    if:
        AllPlayers.Length = FinishedPlayerArray.Length
    then:
        Sleep(3.0)
        for (Player : AllPlayers):
            NextStageTeleporter.Teleport(Player)