How do I make a respawn system like in Horde Rush?

I believe I got it working now. I had the settings configured to work with the reboot vans initially, but then I turned off the drop reboot card option.

I had game start spawn pads that are disabled 10 seconds after a game start by hooking up their disable function with the timer completing. I had another set of 3 spawn pads for each storm phase that are initially disabled. The island setting are set to use Spawn Pads by default for spawning, so I figured in order for this to work I had to only enable the spawn pads that are associated with a specific storm phase.

I created a verse device respawn_zone_device for each storm phase that I wanted players to spawn at.

respawn_zone_device := class(creative_device):

    @editable
    StormPhase<public> : int = 0

    @editable
    RaspawnPoints<public> : []player_spawner_device = array{}

    RespawnEliminatedPlayers<public>():void=
        var PointIndex : int = 0
        for(Player : GetPlayspace().GetPlayers(), Character := Player.GetFortCharacter[]):
            if(Character.IsActive[]):
            else if(RaspawnPoint := RaspawnPoints[PointIndex]):
                RaspawnPoint.Enable()
                Player.Respawn(RaspawnPoint.GetTransform().Translation, RaspawnPoint.GetTransform().Rotation)
                RaspawnPoint.Disable()
                set PointIndex += 1

If anyone can clean up my code that would be nice. For example, I am not sure how to do a not boolean for the inner if statement, but also I have these weird if else checks in that function above.

Anyways, there is one respawn_zone_device instance per desired storm phase. Then in the other code that monitors the storm phases I put each of these devices in a map keyed on storm phase integer and valued on the respawn_zone_device object. Then if there is a respawn_zone_device for that phase I get it and call the RespawnEliminatedPlayers.

Anyways, it appears to work so far given the tests that I’ve done. But so far only tested this using a duos match. I am not sure if this works with more players yet. It looks hopeful.

1 Like