Hi, I wanted to know how to fix this script for my bomb survival game (Yes, I know it's a copy of Super Bomb Survival, I'm only doing this for practice and I won't be releasing it to the public) I have tried using teams and loading the player using LoadCharacter() to put them back into the lobby, but for some reason it didn't work. For some reason though, the player won't teleport back to the spawn area. (By the way, this only happens if a player survives a whole round, if they die, they still get sent back to the lobby.) Anyways, here's the script:
~~~~~~~~~~~~~~~~~ local Bomb = game.ServerStorage.Bomb local Coin = game.ServerStorage.Coin local intermission = 30 local gameTime = 60 local InRound = game.ReplicatedStorage.InRound
InRound.Changed:Connect(function()
for _, players in pairs(game.Players:GetChildren()) do local char = players.Character local playingTeam = game:GetService("Teams")["Playing"] players.Team = playingTeam if InRound.Value == true then local MapSpawnsFolder = game.Workspace.MapSpawns local MapSpawn1 = MapSpawnsFolder.MapSpawn1 local MapSpawn2 = MapSpawnsFolder.MapSpawn2 local MapSpawn3 = MapSpawnsFolder.MapSpawn3 local MapSpawn4 = MapSpawnsFolder.MapSpawn4 local MapSpawn5 = MapSpawnsFolder.MapSpawn5 local MapSpawn6 = MapSpawnsFolder.MapSpawn6 local MapSpawn7 = MapSpawnsFolder.MapSpawn7 local MapSpawn8 = MapSpawnsFolder.MapSpawn8 local spawnPicker = math.random(1, 8) -- pick a spawn on the MAP to send the player to if spawnPicker == 1 then local MapSpawnsFolder = game.Workspace.MapSpawns local MapSpawn1 = MapSpawnsFolder.MapSpawn1 local MapSpawn2 = MapSpawnsFolder.MapSpawn2 local MapSpawn3 = MapSpawnsFolder.MapSpawn3 local MapSpawn4 = MapSpawnsFolder.MapSpawn4 local MapSpawn5 = MapSpawnsFolder.MapSpawn5 local MapSpawn6 = MapSpawnsFolder.MapSpawn6 local MapSpawn7 = MapSpawnsFolder.MapSpawn7 local MapSpawn8 = MapSpawnsFolder.MapSpawn8 char.HumanoidRootPart.CFrame = MapSpawn1.CFrame elseif spawnPicker == 2 then char.HumanoidRootPart.CFrame = MapSpawn2.CFrame elseif spawnPicker == 3 then char.HumanoidRootPart.CFrame = MapSpawn3.CFrame elseif spawnPicker == 4 then char.HumanoidRootPart.CFrame = MapSpawn4.CFrame elseif spawnPicker == 5 then char.HumanoidRootPart.CFrame = MapSpawn5.CFrame elseif spawnPicker == 6 then char.HumanoidRootPart.CFrame = MapSpawn6.CFrame elseif spawnPicker == 7 then char.HumanoidRootPart.CFrame = MapSpawn7.CFrame elseif spawnPicker == 8 then char.HumanoidRootPart.CFrame = MapSpawn8.CFrame end end if InRound == false then for _, competitor in pairs(game.Players:GetChildren()) do competitor:LoadCharacter() end end end
end)
while true do
local bannerTextValue = game:GetService("ReplicatedStorage").Status local IntermissionMusic = game.Workspace.Music.IntermissionMusic IntermissionMusic.Playing = true --Intermission repeat InRound.Value = false intermission = intermission - 1 wait(1) bannerTextValue.Value = "Intermission: ".. intermission until intermission == 0 IntermissionMusic.Playing = false --Game starts if intermission == 0 then repeat InRound.Value = true spawn(function() local BombCopy = Bomb:Clone() BombCopy.Parent = game.Workspace.Bombs local xPosition = math.random(-64, 64) local zPosition = math.random(-64, 64) BombCopy.Position = Vector3.new(xPosition, 100, zPosition) wait(4) end) spawn(function() local CoinCopy = Coin:Clone() CoinCopy.Parent = game.Workspace.Coins local xPosition = math.random(-64, 64) local zPosition = math.random(-64, 64) CoinCopy.Position = Vector3.new(xPosition, 100, zPosition) wait(6) end) wait(1) gameTime = gameTime - 1 bannerTextValue.Value = "Game Time left: " .. gameTime until gameTime == 0 end local function CleanUpGame() local TerrainRegenerationPart = game.Workspace.TerrainRegenerationPart local MapBackup = game.ServerStorage.MapBackup game.Workspace.Map:Destroy() for _, coinObject in pairs(game.Workspace.Coins:GetChildren()) do coinObject:Destroy() end for _, Bomb in pairs(game.Workspace.Bombs:GetChildren()) do Bomb:Destroy() end game.Workspace.Terrain:FillBlock( TerrainRegenerationPart.CFrame, TerrainRegenerationPart.Size, Enum.Material.Grass ) local MapClone = MapBackup:Clone() MapClone.Parent = game.Workspace MapClone.Name = "Map" end --reset intermission and gameTime to their regular values and clean up map intermission = 30 gameTime = 60 CleanUpGame()
end
~~~~~~~~~~~~~~~~
Closed as Not Constructive by JesseSong
This question has been closed because it is not constructive to others or the asker. Most commonly, questions that are requests with no attempt from the asker to solve their problem will fall into this category.
Why was this question closed?