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

Help with BrickColor and some other questions,help?

Asked by 10 years ago

Ok,so I was bored and decided to copy Stickmasterlukes's button script and rewrote it myself in order to learn new functions.

The problem with this script is that if you stand on the Part for a few seconds and leave it won't fire the function UnTouched properly(It will just stay green),why? Oh,and I don't know what Line 27 is and its purpose( is it a for loop with two variables assigned?).

CurrentlyHitting = {}
------Vairibles------
    Part = script.Parent
        On = BrickColor.new("Bright green")
        Off = BrickColor.new("Bright red")
        ------Functions-----
        function FindInTable(Table,Item)--Finds items in a table
            for Number,ItemInTable in pairs (CurrentlyHitting) do--Loops to get all of the objects
                if Item ==ItemInTable--If it finds the object with the excat name return it
                    then
                    return Item,Number
                end
            end
        end
        ----------------------
        function OnTouch(Hit)-- For the Hit Event
            if Hit then--It hit something!
                if not FindInTable(CurrentlyHitting.Hit)--Finds if the that it just hit is on the table,if not then do the following
                    then
                    table.insert(CurrentlyHitting,Hit)--Inserts it in the table
                    Part.BrickColor = On
                end
            end
        end
        ----------------------
        function UnTouched(UnHit)--For TouchEnded Event
            local Item,ItemNumber = FindInTable(CurrentlyHitting,UnHit)
                if Item and ItemNumber
                    then
                    table.remove(CurrentlyHitting,Itemnumber)--Removes it off the Table
                    if #CurrentlyHitting == 0--If the table is empty
                        then
                        Part.BrickColor = Off
                    end
                end
            end
        ----------------------
        Part.BrickColor = Off   
            ------Events-----
            Part.Touched:connect(OnTouch)
            Part.TouchEnded:connect(UnTouched)



Answer this question