[CLOSED]Copy the avatar of the player joined into a custom Startercharacter

  1. What do you want to achieve?
    So basically I have a custom rig as StarterCharacter, it is almost like R15 but smoother. I would like for whatever player to join, to have the same rig as the StarterCharacter but still with the body colors, clothes, accessory’s, etc… (It does not have to be by StarterCharacter, if their is an easier or more efficient way, I am down for whatever.)

  2. What is the issue?
    The issue is I just don’t know where to even begin in the script, I just can’t seem to understand it.

Explorer
image

StarterCharacter
image

2 Likes

I’m not an expert at this, but I would just customize the rig to however you want it to look, and then look up tutorials on how to make everyone spawn as that character by using a script. I’m sure there are some out there on Youtube, etc.

The problem isnt making a StarterCharacter the problem is I want the StarterCharacter to look exactly like the player, except without the R15 or R6 part.

Oh, then you would just have to make a script that will convert the rig to the player’s avatar. Once again there are probably multiple tutorials on this.

So, remove it from starter character, then when the player joins loop thru the original character, clone all accessories and parent them to the custom character then set player.Character to the new one.

local Players = game:GetService("Players")

local StarterCharacterVar = script.StarterCharacter

Players.PlayerAdded:Connect(function(player)
	
	player.CharacterAdded:Connect(function(char)
		
		for i, v in pairs(char) do
			
			if i:IsA("Accessory") then
				
				i.Parent = script.StarterCharacter
				
			end
			
		end
		
	end)
	
end)

image

Hey so uh I am kinda new when it comes to using the For i, v thing. And I am not experienced with any kind of character changing and what not, so could you please guide me through this.

You need to do char:GetChildren()

And you need to put v not i. v is the value and i is the index. You cannot clone indexes.

1 Like

try this:

game.Players.PlayerAdded:Connect(function(plr)
local id = plr.UserId
local rig = (REPLACE THIS WITH THE LOCATION OF THE RIG)
local Models = game.Players:GetCharacterAppearanceAsync(id)
Models.Parent = rig
task.wait()
for i,v in pairs(Models:GetChildren()) do
	v.Parent = rig
	task.wait()
end
end)
1 Like
local Players = game:GetService("Players")

local StarterCharacterVar = script.StarterCharacter

Players.PlayerAdded:Connect(function(player)
	
	player.CharacterAdded:Connect(function(char)
        local customCharClone = script:WaitForChild("StarterCharacter"):Clone()
		
		for i, v in pairs(char:GetChildren()) do
			
			if v:IsA("Accessory") then
				
                local accessoryClone = v:Clone()
				accessoryClone.Parent = customCharClone
				
			end
			
		end
        char = customCharClone
		
	end)
	
end)
2 Likes

Thank you so very much but now how would I set it as their character?

1 Like

Name the rig “StarterCharacter” and put it in the StarterPlayer folder. Doing that essentially “overrides” the StarterCharacter

But wouldnt it put StarterCharacter as everyones player?

Oh you mean for specific players only… So couldn’t you just find the player by name in the Workspace, then you could loop through it and destroy all their parts, and then clone your rigs ones in?

Simply change the player’s character to be your custom character.

How though? The only way I know is to change the StarterCharacter. Any tutorial I look up its always about StarterCharacters

Should I make a local script and make it put the StarterCharacter in starterPlayers but in the local script?

I edited my post. Check that now.

2 Likes

Thanks but now what if the Character doesnt have accessory’s? How would I still run the part of the script