Hello!
I have a basic rounds script that I converted from a team deathmatch to traditional, but having some quirks.
Currently, after experimenting with Bindable Events, I've brought it back to a Script inside ServerScriptService. Now, the countdown clock has gone from decreasing at one digit at a time to verrrrrrry fast. Also, even if one player wins, and is declared the winner, the countdown clock continues until it hits zero and declares no winner, before sending players back to the Lobby.
Below is the Rounds script, which is housed under ServerScriptService. I've cut out the parts that aren't needed. I know the parts I've left out do work, as they work on my team deathmatch scripts without an issue.
local WinnerCheckEvent = Events:WaitForChild("WinnerCheckEvent")
while true do
--Lobby Clone
--Map selecting
--Spawning/Teleporting
--Round info
local maxscoredisplay = replicatedstorage:WaitForChild('MaxScore')
local maxscore = 2
maxscoredisplay.Value = maxscore
local roundtime = 60
for i = roundtime, 0, -1 do
if i == 0 then
wait(2)
status.Value = 'Time Up! No Winner!'
break
else end
wait()
for p, player in pairs(game.Players:GetPlayers()) do
if player.leaderstats.Roundkills.Value >= maxscore then
WinnerCheckEvent:Fire(player) --BindableEvent
break
else end
status.Value = i..' seconds remaining!'
end
end
-- Kills Battle Map, Loads Lobby, Teleports players back to Lobby
end -- closes out the original while true do loop on Line1
Below is my BindableEvent:
WinnerCheckEvent.Event:Connect(function(player)
if player.leaderstats.Roundkills.Value >= MaxScore.Value then
wait(2)
status.Value = player.name..' is the Winner!'
wait(1)
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value +5
end
end)
Thank you for taking the time to read over this! :)

6 comments
Don't use _G, use ModuleScripts or Bindables
incapaz - Thanks for the response! Can you elaborate more?
He means dont use shared variables and values, if you have a list of players dont do _G.ListOfPlayers use a module to keep track of it
I appreciate the clarification, and I've tried to adapt the above to a bindable event, but have various errors when doing so. Generally, the Countdown timer no longer stops. Can you provide some example code? Or I can post what I've attempted and failed to fix.
^ I edited the script in my first post to show my most recent attempts to take it back from Bindable to a Script in ServerStorageScript.
^ Edited again, with my BindableEvent to handle the winner declaration, but the Countdown Clock doesn't stop, and once it hits 0 it declares no winner, despite having already declared a winner.