Give skins to all players in a team

Skins are a bit laggy since i used teleport.

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/Game }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Playspaces }
using { /Verse.org/Verse }
using { /Verse.org/Native }
using { /Verse.org/Random }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Fortnite.com/Teams }
using { /Verse.org/Simulation }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.

# A Verse-authored creative device that can be placed in a level
test := class(creative_device):
    @editable ZombieSkin1 : creative_prop = creative_prop{}
    @editable ZombieSkin2 : creative_prop = creative_prop{}
    
    
    Updatemodel1(Agent : agent):void =
        if(FortCharacter := Agent.GetFortCharacter[],tp:=ZombieSkin1.TeleportTo[FortCharacter.GetTransform().Translation,FortCharacter.GetTransform().Rotation]):
            FortCharacter.Hide()
            tp


    Updatemodel2(Agent : agent)<suspends>:void =
        if(FortCharacter := Agent.GetFortCharacter[],tp:=ZombieSkin2.TeleportTo[FortCharacter.GetTransform().Translation,FortCharacter.GetTransform().Rotation]):
            FortCharacter.Hide()
            tp
    
    GetSkin()<suspends>:void =
        loop:
            Sleep(0.0)
            TeamCollection := GetPlayspace().GetTeamCollection()
            TeamsArray := TeamCollection.GetTeams()
            for (TeamNumber->Team : TeamsArray):
                if (TeamNumber = 0):
                    if(TeamZombie := TeamCollection.GetAgents[Team]):
                        if(Z1:=TeamZombie[0]):
                            Updatemodel1(Z1)
                        if (Z2:=TeamZombie[1]):
                            Updatemodel2(Z2)

                
    GetTeams():[]team =
        TeamCollection := GetPlayspace().GetTeamCollection()
        TeamsArray := TeamCollection.GetTeams()
        return TeamsArray


            

    # Runs when the device is started in a running game
    OnBegin<override>()<suspends>:void=
        Sleep(0.5)
        var Players : []player = array{}
        set Players = GetPlayspace().GetPlayers()
        for (elt : Players):
            if (FortniteChara := elt.GetFortCharacter[]):
                FortniteChara.Show()

        GetSkin()