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

So when I run this script I get "ClickDetector is not a valid member of union operation"?

Asked by
wehosh -1
5 years ago

The script functions fine. Despite line 91 being highlighed reading ClickDetector is not a valid member of unionoperation it doesn't actually seem to impair the model. It works as intended. HOWEVER, I have like 40 of these scripts floating around in 40 different models, so when ever I need to test the game's mechanics for another model, I have to exit out of 40 bloody scripts. Its getting really annoying really fast.

function onClicked()
    script.Parent.Parent.L1.Script.Disabled = false
    script.Parent.Parent.L1.Transparency = 0.7
    script.Parent.Parent.L1.CanCollide = true
    script.Parent.Parent.L2.Script.Disabled = false
    script.Parent.Parent.L2.Transparency = 0.7
    script.Parent.Parent.L2.CanCollide = true
    script.Parent.Parent.L3.Script.Disabled = false
    script.Parent.Parent.L3.Transparency = 0.7
    script.Parent.Parent.L3.CanCollide = true
    script.Parent.Parent.L4.Script.Disabled = false
    script.Parent.Parent.L4.Transparency = 0.7
    script.Parent.Parent.L4.CanCollide = true
    script.Parent.Parent.L5.Script.Disabled = false
    script.Parent.Parent.L5.Transparency = 0.7
    script.Parent.Parent.L5.CanCollide = true
    script.Parent.Parent.L6.Script.Disabled = false
    script.Parent.Parent.L6.Transparency = 0.7
    script.Parent.Parent.L6.CanCollide = true
    script.Parent.Parent.L7.Script.Disabled = false
    script.Parent.Parent.L7.Transparency = 0.7
    script.Parent.Parent.L7.CanCollide = true
    script.Parent.Parent.L8.Script.Disabled = false
    script.Parent.Parent.L8.Transparency = 0.7
    script.Parent.Parent.L8.CanCollide = true
    script.Parent.Parent.L9.Script.Disabled = false
    script.Parent.Parent.L9.Transparency = 0.7
    script.Parent.Parent.L9.CanCollide = true
    script.Parent.Parent.L10.Script.Disabled = false
    script.Parent.Parent.L10.Transparency = 0.7
    script.Parent.Parent.L10.CanCollide = true
    script.Parent.Parent.L11.Script.Disabled = false
    script.Parent.Parent.L11.Transparency = 0.7
    script.Parent.Parent.L11.CanCollide = true
    script.Parent.Parent.L12.Script.Disabled = false
    script.Parent.Parent.L12.Transparency = 0.7
    script.Parent.Parent.L12.CanCollide = true
    script.Parent.Parent.L13.Script.Disabled = false
    script.Parent.Parent.L13.Transparency = 0.7
    script.Parent.Parent.L13.CanCollide = true
    script.Parent.Parent.L14.Script.Disabled = false
    script.Parent.Parent.L14.Transparency = 0.7
    script.Parent.Parent.L14.CanCollide = true
    script.Parent.Parent.L15.Script.Disabled = false
    script.Parent.Parent.L15.Transparency = 0.7
    script.Parent.Parent.L15.CanCollide = true
    script.Parent.Parent.L16.Script.Disabled = false
    script.Parent.Parent.L16.Transparency = 0.7
    script.Parent.Parent.L16.CanCollide = true
    script.Parent.Parent.L17.Script.Disabled = false
    script.Parent.Parent.L17.Transparency = 0.7
    script.Parent.Parent.L17.CanCollide = true
    script.Parent.Parent.L18.Script.Disabled = false
    script.Parent.Parent.L18.Transparency = 0.7
    script.Parent.Parent.L18.CanCollide = true
    script.Parent.Parent.L19.Script.Disabled = false
    script.Parent.Parent.L19.Transparency = 0.7
    script.Parent.Parent.L19.CanCollide = true
    script.Parent.Parent.L20.Script.Disabled = false
    script.Parent.Parent.L20.Transparency = 0.7
    script.Parent.Parent.L20.CanCollide = true
    script.Parent.Parent.L21.Script.Disabled = false
    script.Parent.Parent.L21.Transparency = 0.7
    script.Parent.Parent.L21.CanCollide = true
    script.Parent.Parent.L22.Script.Disabled = false
    script.Parent.Parent.L22.Transparency = 0.7
    script.Parent.Parent.L22.CanCollide = true
    script.Parent.Parent.L23.Script.Disabled = false
    script.Parent.Parent.L23.Transparency = 0.7
    script.Parent.Parent.L23.CanCollide = true
    script.Parent.Parent.L24.Script.Disabled = false
    script.Parent.Parent.L24.Transparency = 0.7
    script.Parent.Parent.L24.CanCollide = true
    script.Parent.Parent.L25.Script.Disabled = false
    script.Parent.Parent.L25.Transparency = 0.7
    script.Parent.Parent.L25.CanCollide = true
    script.Parent.Parent.L26.Script.Disabled = false
    script.Parent.Parent.L26.Transparency = 0.7
    script.Parent.Parent.L26.CanCollide = true
    script.Parent.Parent.L27.Script.Disabled = false
    script.Parent.Parent.L27.Transparency = 0.7
    script.Parent.Parent.L27.CanCollide = true
    script.Parent.Parent.F1.Transparency = 0
    script.Parent.Parent.F1.CanCollide = true
    script.Parent.Parent.F2.Transparency = 0
    script.Parent.Parent.F2.CanCollide = true
    script.Parent.Parent.F3.Transparency = 0
    script.Parent.Parent.F3.CanCollide = true
end

script.Parent.ClickDetector.MouseClick:connect(onClicked)
2
This......this is why we have loops, please learn some basic control structures first https://developer.roblox.com/articles/Roblox-Coding-Basics-Loops Vulkarin 581 — 5y
0
^ Crazycat4360 115 — 5y
2
And as for the error itself, you don't have a ClickDetector in whatever script.Parent is Vulkarin 581 — 5y
0
Please do a for loop theking48989987 2147 — 5y

1 answer

Log in to vote
2
Answered by 5 years ago
Edited 5 years ago

For your actual question, either you renamed the click detector, or you parented it to something else, or it was destroyed somewhere else. But you also have to know to use for loops to prevent massive chunks of code like the one you have.

Instead of :

function onClicked()
    script.Parent.Parent.L1.Script.Disabled = false
    script.Parent.Parent.L1.Transparency = 0.7
    script.Parent.Parent.L1.CanCollide = true
    script.Parent.Parent.L2.Script.Disabled = false
    script.Parent.Parent.L2.Transparency = 0.7
    script.Parent.Parent.L2.CanCollide = true
    script.Parent.Parent.L3.Script.Disabled = false
    script.Parent.Parent.L3.Transparency = 0.7
    script.Parent.Parent.L3.CanCollide = true
    script.Parent.Parent.L4.Script.Disabled = false
    script.Parent.Parent.L4.Transparency = 0.7
    script.Parent.Parent.L4.CanCollide = true
    script.Parent.Parent.L5.Script.Disabled = false
    script.Parent.Parent.L5.Transparency = 0.7
    script.Parent.Parent.L5.CanCollide = true
    script.Parent.Parent.L6.Script.Disabled = false
    script.Parent.Parent.L6.Transparency = 0.7
    script.Parent.Parent.L6.CanCollide = true
    script.Parent.Parent.L7.Script.Disabled = false
    script.Parent.Parent.L7.Transparency = 0.7
    script.Parent.Parent.L7.CanCollide = true
    script.Parent.Parent.L8.Script.Disabled = false
    script.Parent.Parent.L8.Transparency = 0.7
    script.Parent.Parent.L8.CanCollide = true
    script.Parent.Parent.L9.Script.Disabled = false
    script.Parent.Parent.L9.Transparency = 0.7
    script.Parent.Parent.L9.CanCollide = true
    script.Parent.Parent.L10.Script.Disabled = false
    script.Parent.Parent.L10.Transparency = 0.7
    script.Parent.Parent.L10.CanCollide = true
    script.Parent.Parent.L11.Script.Disabled = false
    script.Parent.Parent.L11.Transparency = 0.7
    script.Parent.Parent.L11.CanCollide = true
    script.Parent.Parent.L12.Script.Disabled = false
    script.Parent.Parent.L12.Transparency = 0.7
    script.Parent.Parent.L12.CanCollide = true
    script.Parent.Parent.L13.Script.Disabled = false
    script.Parent.Parent.L13.Transparency = 0.7
    script.Parent.Parent.L13.CanCollide = true
    script.Parent.Parent.L14.Script.Disabled = false
    script.Parent.Parent.L14.Transparency = 0.7
    script.Parent.Parent.L14.CanCollide = true
    script.Parent.Parent.L15.Script.Disabled = false
    script.Parent.Parent.L15.Transparency = 0.7
    script.Parent.Parent.L15.CanCollide = true
    script.Parent.Parent.L16.Script.Disabled = false
    script.Parent.Parent.L16.Transparency = 0.7
    script.Parent.Parent.L16.CanCollide = true
    script.Parent.Parent.L17.Script.Disabled = false
    script.Parent.Parent.L17.Transparency = 0.7
    script.Parent.Parent.L17.CanCollide = true
    script.Parent.Parent.L18.Script.Disabled = false
    script.Parent.Parent.L18.Transparency = 0.7
    script.Parent.Parent.L18.CanCollide = true
    script.Parent.Parent.L19.Script.Disabled = false
    script.Parent.Parent.L19.Transparency = 0.7
    script.Parent.Parent.L19.CanCollide = true
    script.Parent.Parent.L20.Script.Disabled = false
    script.Parent.Parent.L20.Transparency = 0.7
    script.Parent.Parent.L20.CanCollide = true
    script.Parent.Parent.L21.Script.Disabled = false
    script.Parent.Parent.L21.Transparency = 0.7
    script.Parent.Parent.L21.CanCollide = true
    script.Parent.Parent.L22.Script.Disabled = false
    script.Parent.Parent.L22.Transparency = 0.7
    script.Parent.Parent.L22.CanCollide = true
    script.Parent.Parent.L23.Script.Disabled = false
    script.Parent.Parent.L23.Transparency = 0.7
    script.Parent.Parent.L23.CanCollide = true
    script.Parent.Parent.L24.Script.Disabled = false
    script.Parent.Parent.L24.Transparency = 0.7
    script.Parent.Parent.L24.CanCollide = true
    script.Parent.Parent.L25.Script.Disabled = false
    script.Parent.Parent.L25.Transparency = 0.7
    script.Parent.Parent.L25.CanCollide = true
    script.Parent.Parent.L26.Script.Disabled = false
    script.Parent.Parent.L26.Transparency = 0.7
    script.Parent.Parent.L26.CanCollide = true
    script.Parent.Parent.L27.Script.Disabled = false
    script.Parent.Parent.L27.Transparency = 0.7
    script.Parent.Parent.L27.CanCollide = true
    script.Parent.Parent.F1.Transparency = 0
    script.Parent.Parent.F1.CanCollide = true
    script.Parent.Parent.F2.Transparency = 0
    script.Parent.Parent.F2.CanCollide = true
    script.Parent.Parent.F3.Transparency = 0
    script.Parent.Parent.F3.CanCollide = true
end

script.Parent.ClickDetector.MouseClick:Connect(onClicked)

you can have something much more compact like:

local function onClicked ()
    for i = 1, 27 do
        local thing = script.Parent.Parent["L"..i]
        local thing2 = script.Parent.Parent["F"..i]
        if thing then
            thing.Transparency = 0.7
            thing.CanCollide = true
            thing.Script.Disabled = false
        end
        if thing2 then
            thing2.Transparency = 0
            thing2.CanCollide = true
        end
    end
end)

which is a whole 76 lines shorter and easier to modify.

Ad

Answer this question