Hello,
I have a morphing script/UI that gives players a morph depending on their rank. The morphs themselves are stored in serverstorage and welded to the player when they click a button (simple rundown).
The problem now is that, for some reason: when you try to jump down or walk down from for example, a platform or a staircase while wearing a morph that is affected: you become stuck in midair.
Important to note however, is that this only seems to happen to people wearing a morph with accessories other than a helmet. I compared all the items in the affected morphs with a morph that only wears a helmet. I have not been able to find any major issues.
Other things I have tried:
- Setting the unionparts’ colission fidelity from box to default (worked at first, but then stopped for a reason not known)
- Making sure all the parts cancollides were disabled prior to testing.
- Ensured “massless” was checked.
A picture of the problem can be seen here:
Morph script:
local Players = game:GetService('Players')
local Morphs = game:GetService('ServerStorage'):WaitForChild('Morphs')
local event = game:GetService("ReplicatedStorage").ChangeMesh
event.OnServerEvent:Connect(function(player, name)
if Morphs:FindFirstChild(name)then
local char = player.Character
for _,v in next,char:GetChildren()do
if v:IsA('Folder')then
v:Destroy()
elseif v:IsA('Accessory')and v:FindFirstChild('Handle')then
v.Handle.Transparency=1
if not v.Handle:FindFirstChild('HairAttachment')and not v.Handle:FindFirstChild('FaceFrontAttachment')then
v:Destroy()
end
end
end
local morph = Morphs[name]:Clone()
morph.Parent = char
for _,v in next,morph:GetChildren()do
if char:FindFirstChild(v.Name)then
if v:IsA('BasePart')then
local Weld=Instance.new('ManualWeld',v)
Weld.Name='Weld'
Weld.Part1=v
Weld.Part0=char[v.Name]
Weld.C0=CFrame.new(0,0,0)
char[v.Name].Transparency=v.Transparency
v.Transparency=1
elseif v:IsA('Shirt')or v:IsA('Pants')then
char[v.Name]:Destroy()
v.Parent=char
end
elseif v:IsA('Humanoid')then
v:Destroy()
end
end
end
end)
Should anyone have any idea about what could be the issue and/or how to fix it, I would be very grateful.