Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do I fix this issue (I believe it's a welding issue)?

Asked by
orcazate 170
4 years ago

I'm trying to make it so when you click on a GUI thing a hat comes on. When I do this the pin badge on the hat goes miles away from the head where the main hat is. I will show you my script and an image to help you picture this.

game.ReplicatedStorage.hat.OnServerEvent:Connect(function(player,name)
    local d = game.Workspace[player.Name]:GetChildren() -- start of hat remover
    for i=1, #d do 
        if (d[i].className == "Accessory") then 
            d[i]:remove() 
        end 
    end
    local g = game.ServerStorage.Hats[name].Face:Clone()
    g.Parent = game.Workspace[player.Name].Head
    local C = g:GetChildren()
    for i=1, #C do
            if C[i].className == "Part" or C[i].className == "UnionOperation" or C[i].className == "MeshPart" 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
                g.Middle.Transparency = 1
                C[i].Parent = g
            end
                local Y = Instance.new("Weld")
                Y.Part0 = game.Workspace[player.Name].Head
                Y.Part1 = g.Middle
                Y.C0 = CFrame.new(0, 0, 0)
                Y.Parent = Y.Part0
        local h = g:GetChildren()
        for i = 1, # h do
            h[i].Anchored = false
            h[i].CanCollide = false
        end
        end
end)

The problem photo

0
any errors in output? proqrammed 285 — 4y
0
No orcazate 170 — 4y
0
Is it just one part with a mesh or is it multiple parts as a model? killerbrenden 1537 — 4y
0
Multiple parts as a model orcazate 170 — 4y
View all comments (7 more)
0
I think I have a solution. I'll write it as an answer, you test it, tell me if it works. killerbrenden 1537 — 4y
0
Ok orcazate 170 — 4y
0
Can't you use Humanoid:AddAccessory to add the hat? I can't tell what you're trying to achieve. y3_th 176 — 4y
0
Im trying to put the hat on like it is on the workspace orcazate 170 — 4y
0
Instead of using welds, have you considered using WeldConstraints? Those are much cleaner and easier to work with. Just set the hat's CFrame to the head's CFrame, and then create a WeldConstraint connecting the two parts together. y3_th 176 — 4y
0
the problem is the bit that comes off has more than 1 part orcazate 170 — 4y
0
The script that I made a while back was outdated. killerbrenden 1537 — 4y

Answer this question