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

Morph not appearing?

Asked by 8 years ago

I was testing a morph script so I can put unions in it, but it failed. I have no idea what I did wrong, I've tried multiple ways to put in IsA. Heres a sample of it:

function onTouched(hit)
    if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Arm1") == nil then
        local g = script.Parent.Parent.Arm1:clone()
        g.Parent = hit.Parent
        local C = g:GetChildren()
        for i=1, #C do
            if C[i].IsA("BasePart") 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["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
            if h[i].className == "Part" then
                h[i].Anchored = false
                h[i].CanCollide = false
            end
        end

    end

end

script.Parent.Touched:connect(onTouched)

1 answer

Log in to vote
-1
Answered by 8 years ago
function onTouched(hit)
    if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Arm1") == nil then
        local g = script.Parent.Parent.Arm1:clone()
        g.Parent = hit.Parent
        local C = g:GetChildren()
        for i=1, #C do
            if C[i].IsA("BasePart") or C[i].IsA("UnionOperation")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["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
            if h[i].className == "Part" then
                h[i].Anchored = false
                h[i].CanCollide = false
            end
        end

    end

end

script.Parent.Touched:connect(onTouched)

0
Uh, Connor, that didn't work Danielch1234 20 — 8y
0
So you down vote me, after i try and help you... ConnorVIII 448 — 8y
0
Dude, I didn't downvote you. I don't have enough reputation, Danielch1234 20 — 8y
Ad

Answer this question