The same issue as "FORT-943674" which seems to not been solved .

Summary

The bug present in “FORT-943674” (End of round issue breaking round-based games) has been happening to me since i first launched my map in august . When the last player remains he is either auto-killed instantly or just “falls” to his death. . I don’t know what triggers or why it happens but i simply cannot think of a cause , i tried players spawners with no priority , setting the enabled on phase always , gameplay only , island start on and off but nothing seemed to fix this. It is also present in any published version i made. Observation : When I end the round by using the debug command - end round the bug doesn’t happen.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Other

Steps to Reproduce

Be the last player.

Expected Result

Player should transition normally to the next round without dying.

Observed Result

I remain the last player and I get auto eliminated or fall of the map and get eliminated. (NOTE : ON THE PUBLISHED ISLAND code the “auto-elimination” was hidden by using the uefn’s post round settings “score display time” this was my attempt to hide when the player dies. What Is seen in the video currently in the editor is when the “score display time” is set to 0 , in the published island is set to 1 second to “mask” the elimination ( that still occurs)

Platform(s)

UEFN laptop

Island Code

4610-5634-5438

Video

Watch dying | Streamable . and here is the video of triggering round end by using the debug command ( case in which the bug doesn’t happen) . Watch debug end | Streamable

Additional Notes

The island code is not relevant to showcase the bug as currently the island has post round “show score time” set to 1 second which kind of hides the elimination happening ( but it still occurs as the text “noped out” “bailed early” can still be seen in the elimination feed hud.

I trigger round end with this code "using { /Fortnite.com/Devices }
using { /Fortnite.com/Game }
using { /Fortnite.com/Characters }
using { /Verse.org/Simulation }

last_winner:= class(creative_device):
@editable
EndGameDevice : end_game_device = end_game_device{}

var RemainingPlayers : []player = array{}

OnBegin<override>()<suspends>:void =
    # Initialize player list
    set RemainingPlayers = GetPlayspace().GetPlayers()
    
    # Subscribe to player elimination events
    for (Player : RemainingPlayers):
        if (Character := Player.GetFortCharacter[]):
            Character.EliminatedEvent().Subscribe(OnPlayerEliminated)

    # Subscribe to new players joining
    GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)

OnPlayerEliminated(Result : elimination_result):void =
    if (EliminatedChar := Result.EliminatedCharacter, Agent := EliminatedChar.GetAgent[]):
        if (PlayerAgent := player[Agent]):
            # Remove eliminated player from remaining players
            set RemainingPlayers = for (P : RemainingPlayers, P <> PlayerAgent) do P
            
            # Check if only one player remains
            if (RemainingPlayers.Length = 1):
                if (LastPlayer := RemainingPlayers[0]):
                    EndGameDevice.Activate(LastPlayer)

OnPlayerAdded(NewPlayer : player):void =
    set RemainingPlayers = RemainingPlayers + array{NewPlayer}
    if (Character := NewPlayer.GetFortCharacter[]):
        Character.EliminatedEvent().Subscribe(OnPlayerEliminated)

This is from the published island before I’ve set post round settings “display score time” to 1 second . Watch bad transition | Streamable