Okay, so I'm making an RPG and I just can't seem to get the scripting right. So far you can only morph into one of the many parts to build your animal in which all parts are required to play the game. I have about 10 so far, but you can only select one of those parts and it wont let you change into another part without resetting and choosing another part. I have two problems in particular.

  1. I need players to be able to choose multiple parts freely(I don't care if they have to reset to re-make their character, I just want them to be able to choose how to make their character)
  2. I want players to be able to save their built character and I have no clue even where to start to make that. Here's my script to far. This can already make players invisible and change them into a permanent character (Which I don't want):

script.Parent.Touched:connect(function(part) local human = part.Parent:findFirstChild("Humanoid") for i, v in pairs(part.Parent:GetChildren()) do if v.ClassName == "MeshPart" or v.ClassName == "Part" then v.Transparency = 1 end end if part.Parent:WaitForChild("Head"):findFirstChild("face") ~= nil then part.Parent:findFirstChild("Head"):findFirstChild("face"):remove() end end) script.Parent.Touched:connect(function(touchie) local d = touchie.Parent:GetChildren() for i=1, #d do if (d[i].className == "Accessory") then d[i]:remove() end end end) script.Parent.Touched:connect(function(hit) if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Morph") == nil then local g = script.Parent.Parent.Morph:clone() g.Parent = hit.Parent local C = g:GetChildren() for i=1, #C do if C[i]:IsA("BasePart") then local W = Instance.new("Weld") W.Part0 = g.Middle W.Part1 = C[i] local CJ = CFrame.new(g.Middle.Position) local C0 = g.Middle.CFrame:inverse()*CJ local C1 = C[i].CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = g.Middle end local Y = Instance.new("Weld") Y.Part0 = hit.Parent.HumanoidRootPart Y.Part1 = g.Middle Y.C0 = CFrame.new(0, 0, 0) Y.Parent = Y.Part0 end local h = g:GetChildren() for i = 1, # h do h[i].Anchored = false h[i].CanCollide = false end end end)


This script does work at the moment and morphs the player. If your confused and want to know what I want my morphing to look like go play the game "Dog Days" and that's what I want my morphing to look like. (It has no emojis next to it, and it has a 82% rating)

Thanks!