I am making a sword fighting game, I have the main script set up which handles mostly everything, except data saving, which is in a separate script. The game works perfectly, except for one thing; when there is a tie, meaning when the last people both die at the same time, the game just continues, without saying a winner, removing the map, giving winners points etc.
I have no idea where to start on trying to fix this unfortunately, so any help would be appreciated.
Code;
local replicatedstorage = game:GetService('ReplicatedStorage') local status = replicatedstorage:WaitForChild('InfoValue') local mapstorage = game.Workspace:WaitForChild('MapStorage') while true do while game.Players.NumPlayers < 2 do status.Value = 'There needs to be 2 or more players to begin!' repeat wait(2) until game.Players.NumPlayers == 2 end for i = 30,0,-1 do status.Value = 'Intermission: '..i wait(1) end _G.gameplayers = {} for i,v in pairs(game.Players:GetPlayers()) do if v then table.insert(_G.gameplayers, v.Name) end end local mapsinserverstorage = game:GetService('ServerStorage'):GetChildren() local chosenmap = mapsinserverstorage[math.random(1, #mapsinserverstorage)] chosenmap:Clone().Parent = mapstorage status.Value = 'Loading assets...' wait(3) local spawns = chosenmap:WaitForChild('Spawns'):GetChildren() for _, player in pairs(game.Players:GetPlayers()) do if player and #spawns > 0 then local torso = player.Character:WaitForChild('Torso') local allspawns = math.random(1, #spawns) local randomspawn = spawns[allspawns] if randomspawn and torso then table.remove(spawns, allspawns) torso.CFrame = CFrame.new(randomspawn.Position + Vector3.new(0,2,0)) local sword = game.ReplicatedStorage.Sword local newsword = sword:Clone() newsword.Parent = player.Backpack end end end for i = 180,0,-1 do if i == 0 then status.Value = 'Time up!' break end wait(1) if #_G.gameplayers == 1 then for i,v in pairs(_G.gameplayers) do if v ~= nil then status.Value = v..' is the winner!' game.Players[v].leaderstats.Gems.Value = game.Players[v].leaderstats.Gems.Value + 10 break end end break else status.Value = 'Time remaining: '..i end end mapstorage:ClearAllChildren() wait(5) end