So I am making a final boss battle with waves of robots attacking the player. Once all robots are dead, they have access to two buttons. They must press these two buttons within 15 seconds otherwise the wave will be repeated. To do this, I simply clone the same folder from serverstorage back into the workspace again. However, this doesn't work. Please help!
local debounce = false
local leftbutton = game.Workspace.FinalRoom.ButtonL
local leftlightning = game.Workspace.FinalRoom.LightningL
local rightbutton = game.Workspace.FinalRoom.ButtonR
local rightlightning = game.Workspace.FinalRoom.LightningR
local robotboss1 = game.ServerStorage.RobotBoss1:Clone()
local robot1reattempt = game.ServerStorage.RobotBoss1Attempt2:Clone()
local robotboss2 = game.ServerStorage.RobotBoss2:Clone()
local robotboss3 = game.ServerStorage.RobotBoss3:Clone()
local robotarmy = game.ServerStorage.RobotArmy:Clone()
local fakerobots = game.ServerStorage.FakeRobots:Clone()
game.ServerScriptService.Round1Handler.Disabled = false
game.Workspace.FinalRoom.Barrier:Destroy()
function startround1()
if debounce == false then
debounce = true
game.Workspace.CurrentRound.Value = 1
game.ServerStorage.FinalRoomBarrier.Parent = game.Workspace
game.Workspace.DiedBefore.Value = true
game.Workspace.FinalBossMusic:Play()
game.Workspace.FinalRoom.Vincent.Animate.Disabled = false
wait(3)
game.Workspace.Teleporter:Play()
robotboss1.Parent = game.Workspace
end
end
function startround2()
if script.Round1Deaths.Value == 2 then
--Open the buttons!
leftbutton.Head.ProximityPromptL.Enabled = true
rightbutton.Head.ProximityPromptR.Enabled = true
leftlightning.LightningLL.Parent = game.ServerStorage
leftlightning.ButtonBarrier.CanCollide = false
rightlightning.LightningRR.Parent = game.ServerStorage
rightlightning.ButtonBarrier.CanCollide = false
wait(15)
if game.Workspace.CurrentRound.Left.Value == true and game.Workspace.CurrentRound.Right.Value == true then
wait(2)
game.Workspace.CurrentRound.Value = 2
game.Workspace.CurrentRound.Left.Value = false
game.Workspace.CurrentRound.Right.Value = false
game.ServerScriptService.Round2Handler.Disabled = false
game.Workspace.FinalRoom.Light1.Light.LightPart.Beam.Attachment1 = game.Workspace.FinalRoom.Light1.Light.LightPart.End2
game.Workspace.TurningLights:Play()
wait(3)
--RESET BUTTONS
leftbutton.Head.ProximityPromptL.Enabled = false
rightbutton.Head.ProximityPromptR.Enabled = false
game.ServerStorage:WaitForChild("LightningLL").Parent = leftlightning
leftlightning.ButtonBarrier.CanCollide = true
game.ServerStorage:WaitForChild("LightningRR").Parent = rightlightning
rightlightning.ButtonBarrier.CanCollide = true
--
game.Workspace.Teleporter:Play()
robotboss2.Parent = game.Workspace
else
--Too late! Restart the round
leftbutton.Head.ProximityPromptL.Enabled = false
rightbutton.Head.ProximityPromptR.Enabled = false
game.ServerStorage:WaitForChild("LightningLL").Parent = leftlightning
leftlightning.ButtonBarrier.CanCollide = true
game.ServerStorage:WaitForChild("LightningRR").Parent = rightlightning
rightlightning.ButtonBarrier.CanCollide = true
script.Round1Deaths.Value = 0
wait(1)
game.Workspace.Teleporter:Play()
robotboss1.Parent = game.Workspace
end
end
end
This is a sample of one of the functions. robot1reattempt is the backup option because it is the same as robotboss1 but a different folder which works. However, this is not good enough as this breaks when it tries to clone again as well.

3 comments
Nevermind, I figured it out myself
Yeah remember, you have to parent the thing you wanted it to clone.
No that wasnt the reason, turns out I didnt need to refer to "robotboss1". I just wrote game.ServerStorage.RobotBoss1:Clone(game.Workspace) whenever I needed to use it