Copy player character when join

I want to:
When a player joins the game, the character was copied
But i can’t make it, and idk why

ServerScriptService - Script

game.Players.PlayerAdded:Connect(function(plr)
local char = plr.Character
local copy = char:Clone()
copy.Parent = workspace
end)
1 Like
game.Players.PlayerAdded:Connect(function(plr)
    plr.CharacterAdded:Connect(function(char)
        local clone = char:Clone()
        clone.Parent = workspace
    end)
end)

You need to set Archivable to true.

game.Players.PlayerAdded:Connect(function(plr)
	local char = plr.Character or plr.CharacterAdded:Wait()
	char.Archivable = true
	local copy = char:Clone()
	copy.Parent = workspace
end)
1 Like

@lluckvy @beneathwintersky no one of these codes worked, and @beneathwintersky the character is with Archivable disabled, the script didnt make it true

Worked perfectly fine for me. Did you copy the script exactly?

Some times character may take time to load so just add

game.Players.PlayerAdded:Connect(function(plr)
	local char = plr.Character or plr.CharacterAdded:Wait()
    wait(char) --// added from @Noti_fied code
	char.Archivable = true
	local copy = char:Clone()
	copy.Parent = workspace
end)

The long way to do it, say in the case you want the player’s character but you’re using a custom rig as a starter character.

You could keep R6 or R15 rigs somewhere in either ReplicatedStorage or ServerStorage. Get the player’s description. Copy a rig and then apply the players description to it.

This allows you to do whatever you want with the players “character” without having it assigned to the player.