I'm working on a RP game and I want the gui I have to work differently than before. This gui I have allows one to switch skins/forms based on the character they're playing as (Example: Samus, Zero Suit Samus; Zelda, Sheik)
The problem I have with the gui is that the player has to use a button to remove the morph as apposed to clicking on the other skin and have the skins swap automatically.
Here's the script I have for the Morphing:
Speed = 25 -- This is the character's speed! 16 is normal walkspeed.
debounce = false
script.Parent.MouseButton1Click:connect(function()
if debounce == false then
local player = script.Parent.Parent.Parent.Parent.Parent
local c = player.Character:GetChildren()
if player ~= nil then
debounce = true
for i = 1, #c do
if (c[i].ClassName == "Hat") then
c[i]:Destroy()
end
wait()
end
player.Character.Torso.Transparency = 1
player.Character.Head.Transparency = .99
if(player.Character.Head:FindFirstChild("face"))then
player.Character.Head.face.Parent = player.Character
end
player.Character:FindFirstChild("Left Arm").Transparency = 1
player.Character:FindFirstChild("Left Leg").Transparency = 1
player.Character:FindFirstChild("Right Arm").Transparency = 1
player.Character:FindFirstChild("Right Leg").Transparency = 1
player.Character.Humanoid.WalkSpeed = Speed
local p = game.Lighting:FindFirstChild("Peach"):Clone()
p.Parent = player.Character
p.CFrame = CFrame.new(player.Character.Torso.Position)
p.Anchored = false
local Y = Instance.new("Weld")
Y.Part0 = player.Character.Torso
Y.Part1 = p
Y.Parent = Y.Part0
itemlist = script.Parent:FindFirstChild("StartTools"):GetChildren()
if #itemlist ~= 0 then
for i= 1, #itemlist do
local itemc = itemlist[i]:Clone()
itemc.Parent = player.Backpack
wait()
end
end
wait(1)
debounce = false
end
end
end)
and here's the remove button:
script.Parent.MouseButton1Click:connect(function()
local player = script.Parent.Parent.Parent.Parent
player.Character.Torso.Transparency = 1
player.Character:FindFirstChild("Left Arm").Transparency = 1
player.Character:FindFirstChild("Left Leg").Transparency = 1
player.Character:FindFirstChild("Right Arm").Transparency = 1
player.Character:FindFirstChild("Right Leg").Transparency = 1
player.Character.Head.Transparency = 0.99
if(player.Character:FindFirstChild("fac") ~= nil)then
player.Character.face.Parent = player.Character.Head
end
g = player.Character:GetChildren()
for i = 1,#g do
if(g[i].ClassName == "Part")then
if(g[i].Size == Vector3.new(1, 1, 1))then
g[i]:Destroy()
end
end
end
end)

2 comments
Can you fix your code block please? It's much easier to read if you do so.
Yeah.