In my game i have a simple game loop 1v1 but I have no idea how to code it so when a player dies or leaves the other player in the game wins how would i accomplish this?
local PlayersService = game:GetService(“Players”)
local intermissionMusic = workspace.Music.IntermissionMusic
local fightMusic = workspace.Music.FightMusic
local buildMusic = workspace.Music.BuildMusiclocal tickSound = workspace.Sounds.Tick
local gameTick = workspace.Sounds.GameTicklocal classicSword = game.ReplicatedStorage.ClassicSword
local lobby = workspace.Lobby
local maps = game.ReplicatedStorage.maps:GetChildren()
local status = game.ReplicatedStorage.Statuslocal gameTime = 60
local intermissionTime = 5
local minPlayer = 1local function musictransition(off,on)
for i = 1, 10 do
off.Volume -= 0.005
task.wait(0.1)
end
on.Playing = true
on.TimePosition = 0
off.TimePosition = 0
off.Playing = false
for i = 1, 10 do
on.Volume += 0.005
task.wait(0.1)
end
endwhile true do
for i = intermissionTime, 0, -1 do
status.Value = "intermission: " … i
tickSound:Play()
task.wait(1)
endlocal numPlayers = #PlayersService:GetPlayers()
if numPlayers < minPlayer then
status.Value = “need more players :(”
task.wait(3)for i = 10, 1, -1 do status.Value = "waiting for more players: " .. i tickSound:Play() task.wait(1) end continue
end
local pickedMap = maps[math.random(1, #maps)]
local clonedMap = pickedMap:Clone()musictransition(intermissionMusic,buildMusic)
for i = 5, 0, -1 do
status.Value = "generating map: " … i
tickSound:Play()
task.wait(1)
endstatus.Value = "map generated: " … clonedMap.Name
clonedMap.Parent = game.Workspacemusictransition(buildMusic,fightMusic)
for i = 5,1, -1 do
status.Value = i
tickSound:Play()
task.wait(0.7)
end
status.Value = “GO!”task.wait(1)
local tps = pickedMap.Spawns:GetChildren()
local spawnedPlayers = {}for _, player in pairs(PlayersService:GetPlayers()) do
local character = player.Characterif character and #spawnedPlayers < 2 then print(#spawnedPlayers) local hrp = character.HumanoidRootPart local randomSpawn classicSword.Parent = player.Backpack repeat randomSpawn = tps[math.random(1, #tps)] until not spawnedPlayers[randomSpawn] spawnedPlayers[randomSpawn] = true hrp.CFrame = randomSpawn.CFrame end
end
for i = gameTime, 0, -1 do
if i < 6 then
status.Value = "Fight >:D : " … i
gameTick:Play()
else
status.Value = "Fight >:D : " … i
endtask.wait(1)
end
for i, player in pairs(PlayersService:GetPlayers()) do
local character = player.Characterif character then classicSword.Parent = player.Backpack local hrp = character.HumanoidRootPart hrp.CFrame = lobby.Spawn.CFrame end
end
musictransition(fightMusic,intermissionMusic)
spawnedPlayers = {}
clonedMap:Destroy()
end