So i am trying to figure out how to use this script in my game to put a R15, body part/Package on my character but i don't understand how to use it? Can someone clarify what i should do?
http://wiki.roblox.com/index.php?title=R15_Compatibility_Guide#Package_Parts
local function buildJoint(parentAttachment, partForJointAttachment)
local jointName = parentAttachment.Name:gsub("RigAttachment", "")
local motor = partForJointAttachment.Parent:FindFirstChild(jointName)
if not motor then
motor = Instance.new("Motor6D")
end
motor.Name = jointName
motor.Part0 = parentAttachment.Parent
motor.Part1 = partForJointAttachment.Parent
motor.C0 = parentAttachment.CFrame
motor.C1 = partForJointAttachment.CFrame
motor.Parent = partForJointAttachment.Parent
end
-- Removes old Motor6Ds and builds the rig from the attachments in the parts
-- Call this with nil, HumanoidRootPart
function buildRigFromAttachments(last, part)
for _, attachment in pairs(part:GetChildren()) do
if attachment:IsA("Attachment") and string.find(attachment.Name, "RigAttachment") then
for _, sibling in pairs(part.Parent:GetChildren()) do
if sibling ~= part and sibling ~= last then
local matchingAttachment = sibling:FindFirstChild(attachment.Name)
if matchingAttachment then
buildJoint(attachment, matchingAttachment)
-- Continue the recursive tree traversal building joints
buildRigFromAttachments(part, matchingAttachment.Parent)
end
end
end
end
end
end
local function getOldCharacterMesh(character, newCharacterMesh)
for _, obj in pairs(character:GetChildren()) do
if obj:IsA("CharacterMesh") and obj.BodyPart == newCharacterMesh.BodyPart then
return obj
end
end
return nil
end
-- Will apply a body part given the r15Folder and the r6Folder for that body part.
function applyBodyPart(character, r15Folder, r6Folder)
local humanoid = character:FindFirstChild("Humanoid")
if humanoid.RigType == Enum.HumanoidRigType.R15 then
for _, part in pairs(r15Folder:GetChildren()) do
local oldPart = character:FindFirstChild(part.Name)
part:Clone().Parent = character
oldPart.Name = ""
oldPart:Destroy()
end
-- Rebuild the rig
-- Note: if applying many body parts at once it is more efficient to call this after applying them all
buildRigFromAttachments(nil, character.HumanoidRootPart)
else
for _, characterMesh in pairs(r6Folder:GetChildren()) do
local oldCharacterMesh = getOldCharacterMesh(character, characterMesh)
if oldCharacterMesh then
oldCharacterMesh:Destroy()
end
characterMesh.Parent = character
end
end
end

1 comment
If you want the player's character to spawn with the R15 player model you can go into Develop > Game > Configure this Game > Basic Settings > Avatar Options > Morph to R15 (BETA) or Player Choice (BETA)