I have a script that replicates an R15 mesh rig (My player) exactly but it just makes the MeshParts into normal parts and inserts a special mesh in them with the same MeshId so that it still has a custom shape. For some reason, the Shirts and Pants don’t work on it, any ideas on how to fix it?
What the rig looks like:
What the rig is in Workspace:
It has a bunch of stuff like animate and health because I’m taking it from a player so just ignore that.
Also please tell me why the arm and head are a different color than the rest of it. Also I put this in Scripting Support because it uses a script to replicate it.
This is the code that makes the rig from your own player rig:
script.Parent.ClickDetector.MouseClick:Connect(function(player)
print(player.Character.Name)
local display = game.ReplicatedStorage.PlayerDummy:Clone()
local parts = player.Character:GetChildren()
for i, part in pairs(parts) do
local playerPart
if part:IsA("MeshPart") then
local childParts = part:GetChildren()
playerPart = Instance.new("Part")
local meshId = part.MeshId
local mesh = Instance.new("SpecialMesh")
mesh.MeshId = meshId
mesh.Parent = playerPart
playerPart.Size = part.Size
playerPart.Position = part.Position
for i, childPart in pairs(childParts) do
if childPart:IsA("BaseWrap") then
else
local newPart = childPart:Clone()
newPart.Parent = playerPart
end
end
else
playerPart = part:Clone()
end
playerPart.Name = part.Name
playerPart.Parent = display
end
display.Name = player.Name
display.HumanoidRootPart.Position = Vector3.new(-19.5, 4, -2.5)
display.HumanoidRootPart.Anchored = true
display.HumanoidRootPart.Orientation = Vector3.new(0, 0, 0)
display.Parent = script.Parent.Parent
end)
Now looking back at it it is probably the fact I didn’t include BaseWrap as a child of the mesh part, thats because they HAVE to be parented to a mesh part for some reason but idk what BaseWrap does so maybe not.
What’s the point of converting meshparts into normal parts? I don’t really see a practical use for this, it seems like you’re just making the job harder for yourself. Why not just clone the character directly?
script.Parent.ClickDetector.MouseClick:Connect(function(player)
local charClone = player.Character:Clone()
charClone.Parent = workspace
end)
It’s because I have to be able to change the Mesh of the parts on the rig via a script and you can’t change the “MeshId” property of a mesh part through a script but you can change that property in a Special Mesh. That’s why I made it like that