I wonder if anyone can help me with this. Players are getting trapped in my morph mannequins when they touch them so I would like to change the script so they can morph when they click the part instead of touch?
function onTouched(hit)
if hit.Parent ~= nil then
if hit.Parent:findFirstChild("Humanoid") then
if hit.Parent:findFirstChild("Player") == nil then
string = Instance.new("StringValue")
string.Name = "Player"
string.Parent = hit.Parent
--Headz
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].className == "Part" 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 = hit.Parent["Head"]
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
if h[i].className == "Part" or "Union" then
h[i].Anchored = false
h[i].CanCollide = false
end
end
end
--Remove limbs
local human = hit.Parent:findFirstChild("Humanoid")
if human ~= nil then
hit.Parent:findFirstChild("Head").Transparency = 0
hit.Parent:findFirstChild("Torso").Transparency = 0
hit.Parent:findFirstChild("Left Arm").Transparency = 0
hit.Parent:findFirstChild("Right Arm").Transparency = 0
hit.Parent:findFirstChild("Left Leg").CanCollide = true
hit.Parent:findFirstChild("Left Leg").Transparency = 0
hit.Parent:findFirstChild("Right Leg").CanCollide = true
hit.Parent:findFirstChild("Right Leg").Transparency = 0
end
end
end
end
end
script.Parent.Touched:connect(onTouched)

2 comments
use ClickDetectors instead. https://www.youtube.com/watch?v=yJglWQM0h5A
This doesn't help for this script, thank you though