I want to make it so that everytime the map/round ends, I want the player to respawn character. Any help? Thank you!
local MapsFolder = game.ReplicatedStorage.Maps
local Maps = MapsFolder:GetChildren()
local RoundTime = script.RoundTime
local IntermermissionTime = script.IntermissionTime
while true do
local ChosenMap = Maps[math.random(1,#Maps)]
local MapClone = ChosenMap:Clone()
wait(IntermermissionTime.Value)
MapClone.Parent = game.Workspace
MapClone:MakeJoints()
wait(RoundTime.Value)
MapClone:Destroy()
end
I tried implemnting it. It somewhat works but it is buggy, Iām not entirely sure where I should put it. I want the character to reset once the next map is chosen.
local MapsFolder = game.ReplicatedStorage.Maps
local Maps = MapsFolder:GetChildren()
local RoundTime = script.RoundTime
local IntermermissionTime = script.IntermissionTime
game.Players.PlayerAdded:Connect(function(player)
while true do
local ChosenMap = Maps[math.random(1,#Maps)]
local MapClone = ChosenMap:Clone()
wait(IntermermissionTime.Value)
MapClone.Parent = game.Workspace
MapClone:MakeJoints()
wait(RoundTime.Value)
MapClone:Destroy()
player:LoadCharacter()
end
end)
Maybe writing player:LoadCharacter() before the MapClone:Destroy().
Another thing that is missing in your code: wait is a deprecated function, better use task.wait(), it is also more optimized.
local MapsFolder = game.ReplicatedStorage.Maps
local Maps = MapsFolder:GetChildren()
local RoundTime = script.RoundTime
local IntermermissionTime = script.IntermissionTime
game.Players.PlayerAdded:Connect(function(player)
while true do
local ChosenMap = Maps[math.random(1,#Maps)]
local MapClone = ChosenMap:Clone()
task.wait(IntermermissionTime.Value)
MapClone.Parent = game.Workspace
MapClone:MakeJoints()
player:LoadCharacter()
task.wait(RoundTime.Value)
MapClone:Destroy()
end
end)
local MapsFolder = game.ReplicatedStorage.Maps
local Maps = MapsFolder:GetChildren()
local RoundTime = script.RoundTime
local IntermermissionTime = script.IntermissionTime
local Players = game:GetService("Players")
while true do
local ChosenMap = Maps[math.random(1,#Maps)]
local MapClone = ChosenMap:Clone()
task.wait(IntermermissionTime.Value)
MapClone.Parent = game.Workspace
MapClone:MakeJoints()
for _, player in Players:GetPlayers() do
task.spawn(player.LoadCharacter, player)
end
task.wait(RoundTime.Value)
MapClone:Destroy()
end