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

Help please, how do I fix the scipt? (morph giver script doesn't work after)

Asked by 3 years ago

I have hair morph giver and morph remover, both have scripts The remover works good at the first time But after I touch the remover the morph giver doesn't work Is it problem in one of the scripts?

The morph remover script:

function onTouched(hit) 
    local d = hit.Parent:GetChildren() 
    for i=1, #d do 
        if (d[i].className == "Model") then 
            d[i]:remove() 
        end 
    end
end 

script.Parent.Touched:connect(onTouched) 

The morph giver script:

function onTouched(hit)
    if hit.Parent ~= nil then
        if hit.Parent:findFirstChild("Humanoid") then
            if hit.Parent:findFirstChild("IsPony") == nil then
                string = Instance.new("StringValue")
                string.Name = "IsPony"
                string.Parent = hit.Parent
                --Headz
                if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Headz") == nil then
                    local g = script.Parent.Parent.Headz: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)

1 answer

Log in to vote
0
Answered by 3 years ago

First, you're supposed to be using RBXScriptSignal:Connect instead of RBXScriptSignal:connect. :connect is deprecated. Secondly, did you actually delete the StringValue "IsPony" in the MorphRemover script?

If this helped you, please upvote this. Thanks!

0
How do I delete the string? LynnSKim 5 — 3y
Ad

Answer this question