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

CFrame isn't working properly and the vest accessories are going all over the place?

Asked by 3 years ago
Edited 3 years ago

So I am trying to make armor loadouts when you spawn in and I am trying to start learning by first making it to where I can use PlayerAdded to weld the vests to the characters. The problem is, is that when I spawn in, the model's parts are everywhere and I can't seem to fix it. So far it worked when I used it for testing with Touched functions.

So far the issue seems to lie in the part where I return the vest accessories to the middle part but so far in this new code, all accessories have instead gone all over the place.

game.Players.PlayerAdded:Connect(function(hit)
hit.CharacterAdded:wait()
wait()
if hit.Character:findFirstChild("Humanoid") ~= nil and hit.Character:findFirstChild("Chest") == nil then
    local g = game.ReplicatedStorage.Chest:clone()
    g.Parent = hit.Character
    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.C0 = C1
            W.Parent = g.Middle
        end
            local Y = Instance.new("Weld")
            Y.Part0 = hit.Character.UpperTorso
            Y.Part1 = g.Middle
            Y.C0 = CFrame.new(0, 0.2, 0)
            Y.Parent = Y.Part0
    end

    local h = g:GetChildren()
    for i = 1, # h do
        h[i].Anchored = false
        h[i].CanCollide = false
    end

end

end)

Answer this question