Issues with Character cloning

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want to clone the players character when they press a UI. I it to only be a client sided cloning
  2. What is the issue? Include screenshots / videos if possible!
    Even if the script registers the players character being Archivable, It wont clone.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I tried a server script that set the characters archivable true as soon as the character joined but even that wouldnt work
    After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!
--Server script
local Players = game.Players

Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		character.Archivable = true
               print(player.Character) -- prints true
	end)
end)

--client 
object.MouseButton1Click:Connect(function()
	local Char = game.Players.LocalPlayer
	print(Char.Archivable) -- true
	Char.Archivable = true
	print(Char.Archivable) -- true
	local Clone = Char:Clone()
	print(Clone.Name) -- nil
end)

Thanks in advanced for the help!
Please do not ask people to write entire scripts or design entire systems for you. If you can’t answer the three questions above, you should probably pick a different category.

1 Like

Try checking if the parts are set to Archivable as well.

If they are, try something like:

for i, v in pairs(character:GetChildren()) do
if v:IsA(“BasePart”) then
v.Archivable = false
end
end
1 Like

The output is nil because your not actually cloning your players character. You’re attempting to clone your player instance.

check your local script it should be,
local char = game.Players.LocalPlayer.Character

1 Like

avatar > rig builder > block rig

put it in the client script

--client 
local Players = game:GetService("Players")

local object = script.Parent
local dummy = script.Dummy

local player = Players.LocalPlayer
local humanoidDescription = Players:GetHumanoidDescriptionFromUserId(player.UserId)

object.MouseButton1Click:Connect(function()
	local Character = player.Character

	if Character then
		local Clone = dummy:Clone()

		Clone.Parent = workspace
		Clone.Name = player.Name
		Clone:PivotTo(Character:GetPivot())
		Clone:WaitForChild("Humanoid"):ApplyDescription(humanoidDescription)
	end
end)
1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.