I want to check every time a player spawns in the game and then teleport them to their "campsite".
The code I have right now is this:
game.Workspace.ChildAdded:connect(function(child) if game.Players:GetPlayerFromCharacter(child) then player = game.Players:GetPlayerFromCharacter(child) if workspace:findFirstChild("Home"..player.Name) then x = workspace:findFirstChild("Home"..player.Name) player.Character.Torso.CFrame = CFrame.new(Vector3.new(x.Home.spawnbrick.Position)) end end end)
Output is returning no errors, and I can't find any either.
Can someone please kindly help?
Everytime the character itself is changed, which in otherwords "Respawns" then it would execute the following.
function Respawn(prop,player) if prop == "Character" then x = workspace:findFirstChild("Home"..player.Name) player.Character.Torso.CFrame = CFrame.new(Vector3.new(x.Home.spawnbrick.Position)) end end game.Workspace.ChildAdded:connect(function(child) if game.Players:GetPlayerFromCharacter(child) then player = game.Players:GetPlayerFromCharacter(child) if workspace:findFirstChild("Home"..player.Name) then x = workspace:findFirstChild("Home"..player.Name) player.Changed:connect(function(prop) Respawn(prop,player) end) player.Character.Torso.CFrame = CFrame.new(Vector3.new(x.Home.spawnbrick.Position)) end end end)
This should work.
I wouldn't recommend looking inside Workspace for an added character. Insted, try doing it this way.
function Character(p) p.CharacterAdded:connect(function(char) char:WaitForChild("Torso") local x = Workspace:findFirstChild("Home"..player.Name) player.Character.Torso.CFrame = CFrame.new(Vector3.new(x.Home.spawnbrick.Position)) end) end game.Players.PlayerAdded:connect(function(p) Character(p) end) all=game.Players:getChildren() for a=1,#all do Character(all[a]) end
Edit: Script missing something, fixed.