The Ritheked Version of Ending Battle Royales (See Post 35 For Team Adjustment)

This guide will guide you on using an different approach of ending a battle royale than other guides do it. Other guides count the number of players at the beginning and then subtract players from that count to determine the number of players left. This approach, however, will count up, so even if a person has joined, the count will not be shaken off.

Guide

Make a lifecycle listen for a player knocked out. It should broadcast on “Player Dead”. Make a global number property named “Num Players Left”. Make a trigger receive on “Player Dead”. In the blocks, it should set “Num Players Left” to 0. After that, place a block that broadcasts on “Start Count Players”. Make a relay that receives on “Start Count Players”. The audience should be everyone, and it should broadcast on “Count Players”.

Make a trigger receive on “Count Players”. In the blocks, make it increment “Num Players Left” by 1, and broadcast on “Check If End”. Make a trigger with a DELAY of 1 second. Make a checker. Wire the trigger to the checker. The check should be property, and the property in question is “Num Players Left”. It should check if the property is less than 2 (accounting for the fact that the last person might die to a stray bullet at the end). If the check passes, it should broadcast on “End Game”.

Adjustment for Teams

Make the relay broadcast to single player on each team instead of all players.

Conclusion
You don’t have to use this just for battle royales. You can also use this for other games. This uses the relatively simple concept of broadcasting to all players to see how many are left.

Difficulty
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
0 voters
9 Likes

Nice job! A lot of people have been needing this, so it’s a great battle-royale guide!

2 Likes

Thank you!

3 Likes

No problem!

3 Likes

Great idea @getrithekd ! Awesome guide!

2 Likes

For the last trigger, do you need to set it to trigger when receiving check if end?

1 Like

Are you talking about the wire from the trigger to the checker?

1 Like

No, the trigger itself before the wire.

1 Like

It should receive on “Count Players”.

2 Likes

The team adjustment should also make the checker check for less than 1.

1 Like

By,

Which block do I use for this step?

Add one to itself and then the broadcast on block.

Wait i think i got it nevermind

Screenshot 2024-01-17 10.51.44 AM
this?

Yes.

My only problem is when someone dies, the game ends. Maybe I’m wiring wrong?

Did you add the delay?

I did, i still have no idea what’s wrong.

I tried this and i’m having the same issue as cool Caden

Sorry for getting back to you so late. I think I have a system that works better than this one. Here’s the picture:

image

The trigger all the way on the left should be triggered whenever you want to start keeping track if all teams have been knocked out. That trigger needs to be triggered by something of global scope, like an all player relay. The delay on it is 1 second. That trigger should broadcast on “Check Game End”.

Make the counter on that trigger’s right increase on “Check Game End”. This counter team scoped. Make that counter’s target be 1 and broadcast on “teamAlive”.

The next counter should increase on “teamAlive” and is global scope. The target should be 2 and it should broadcast on “noGameEnd” when the target is reached.

Trigger 2 should receive on “Check Game End” and have a delay of .5 seconds. Trigger 2 needs to trigger Trigger 3. Trigger 3 should deactivate on “noGameEnd” and broadcast to the end game device.

Trigger 4 should receive on “Check Game End” and have a delay of .7 seconds and broadcast on “resetLogicEnd”. Make both counters reset on “resetLogicEnd”. Make Trigger 3 activate on “resetLogicEnd”.

Hope this works for you!