So i reverse engineered a morph giver to be GUI controlled instead of a button you touch, i made it work but it doesnt show the welded parts on other players screens, you can see it welded to you on your screen but others can't see it welded on you. I don't know what to do lol please help
wait(1)
local Plr = game.Players.LocalPlayer
script.Parent.MouseButton1Click:connect(function(r)
if Plr.Character.UsingMorph.Value == true then
Plr.Character.Leg2:remove()
Plr.Character.Leg1:remove()
Plr.Character.Chest:remove()
Plr.Character.Arm2:remove()
Plr.Character.Arm1:remove()
Plr.Character:findFirstChild("Torso").Transparency = 0
Plr.Character:findFirstChild("Left Arm").Transparency = 0
Plr.Character:findFirstChild("Right Arm").Transparency = 0
Plr.Character:findFirstChild("Left Leg").Transparency = 0
Plr.Character:findFirstChild("Right Leg").Transparency = 0
Plr.Character.UsingMorph.Value = false
Plr.Character.Head.Transparency = 0
else
local modelname = script.Parent.Morphy
local Player = game.Players.LocalPlayer
Player.Character:findFirstChild("Head").Transparency = 0
Player.Character:findFirstChild("Torso").Transparency = 0
Player.Character:findFirstChild("Left Arm").Transparency = 0
Player.Character:findFirstChild("Right Arm").Transparency = 0
Player.Character:findFirstChild("Left Leg").Transparency = 0
Player.Character:findFirstChild("Right Leg").Transparency = 0
if Player.Character:findFirstChild("Humanoid") ~= nil and Player.Character:findFirstChild("Morphy") == nil then
local g = modelname.Chest:Clone()
g.Parent = Player.Character
Plr.Character.UsingMorph.Value = true
local C = g:GetChildren()
for i=1, #C do
if C[i].className == "Costume" or "Union" 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 = Player.Character.Torso
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
if Player.Character:findFirstChild("Humanoid") ~= nil and Player.Character:findFirstChild("Leg1") == nil then
local g = modelname.Leg1:Clone()
g.Parent = Player.Character
local C = g:GetChildren()
for i=1, #C do
if C[i].className == "Costume" 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 = Player.Character["Left Leg"]
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
if Player.Character:findFirstChild("Humanoid") ~= nil and Player.Character:findFirstChild("Leg2") == nil then
local g = modelname.Leg2:Clone()
g.Parent = Player.Character
local C = g:GetChildren()
for i=1, #C do
if C[i].className == "Costume" 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 = Player.Character["Right Leg"]
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
if Player.Character:findFirstChild("Humanoid") ~= nil and Player.Character:findFirstChild("Arm1") == nil then
local g = modelname.Arm1:Clone()
g.Parent = Player.Character
local C = g:GetChildren()
for i=1, #C do
if C[i].className == "Costume" 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 = Player.Character["Left Arm"]
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
if Player.Character:findFirstChild("Humanoid") ~= nil and Player.Character:findFirstChild("Arm2") == nil then
local g = modelname.Arm2:Clone()
g.Parent = Player.Character
local C = g:GetChildren()
for i=1, #C do
if C[i].className == "Costume" 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 = Player.Character["Right Arm"]
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
local d = Player.Character:GetChildren()
for i=1, #d do
if (d[i].className == "Accessory") then
d[i].Handle.Transparency = 0
end
end
end
end
end
end
end
end
end
end
end
end
end
end)

7 comments
How do i do that?
I shall edit the answer accordingly to help you.
Try this, should work.
Thank you so much!
It says "- Infinite yield possible on 'ReplicatedStorage:WaitForChild" I'm not quite sure how to fix that i'm not use to doing remote events.
Have you created a RemoteEvent and named it 'MorphRemote'?
Yeah