Jump to content

setMarkerColor to markers in a table


Recommended Posts

My script seems simple, but i'm under a size restraint so i'm trying to do the code as clean and efficient as possible. Anyways I have 18 markers, split into 3 tables, and im trying to set the color of all the markers in the table with setMarkerColor. Here's my script:

server.lua

function intHelveteLights() 
    local s = 2 
    local yP = 2411 
    m_1 = createMarker(2564.4,yP,23.3, "corona",s,0,0,255,255) 
    m_4 = createMarker(2571.4,yP,23.3, "corona",s,0,0,255,255) 
    m_7 = createMarker(2578.4,yP,23.3, "corona",s,0,0,255,255) 
    m_10 = createMarker(2585,yP,23.3,  "corona",s,0,0,255,255) 
    m_13 = createMarker(2592.4,yP,23.3,"corona",s,0,0,255,255) 
    m_16 = createMarker(2599,yP,23.3,  "corona",s,0,0,255,255) 
  
    m_2 = createMarker(2566.4,yP,23.3, "corona",s,255,0,0,255) 
    m_5 = createMarker(2573.4,yP,23.3, "corona",s,255,0,0,255) 
    m_8 = createMarker(2580.4,yP,23.3, "corona",s,255,0,0,255) 
    m_11 = createMarker(2587,yP,23.3,  "corona",s,255,0,0,255) 
    m_14 = createMarker(2594.4,yP,23.3,"corona",s,255,0,0,255) 
    m_17 = createMarker(2601,yP,23.3,  "corona",s,255,0,0,255) 
  
    m_3 = createMarker(2568.4,yP,23.3, "corona",s,0,255,0,255) 
    m_6 = createMarker(2575.4,yP,23.3, "corona",s,0,255,0,255) 
    m_9 = createMarker(2582.4,yP,23.3, "corona",s,0,255,0,255) 
    m_12 = createMarker(2589,yP,23.3,  "corona",s,0,255,0,255) 
    m_15 = createMarker(2596.4,yP,23.3,"corona",s,0,255,0,255) 
    m_18 = createMarker(2603,yP,23.3,  "corona",s,0,255,0,255) 
  
    e_1 = createMarker(2581.3,2409.7,35.1, "corona",s,255,0,0,255) 
    e_2 = createMarker(2585.3,2409.7,35.1, "corona",s,255,0,0,255) 
     
tier1 = { 
    {m_1}, 
    {m_4}, 
    {m_7}, 
    {m_10}, 
    {m_13}, 
    {m_16}   
} 
tier2 = { 
    {m_2}, 
    {m_5}, 
    {m_8}, 
    {m_11}, 
    {m_14}, 
    {m_17} 
} 
tier3 = { 
    {m_3}, 
    {m_6}, 
    {m_9}, 
    {m_12}, 
    {m_15}, 
    {m_18} 
} 
helveteStageLights = setTimer( 
    function(tier1,tier2,tier3) 
        local a = 255 
        randCol = math.random(1,10) 
        outputChatBox("randCol: "..randCol) 
        if randCol == 1 then 
        --RED-- 
            setMarkerColor(tier1,255,0,0,a) 
            setMarkerColor(tier2,255,0,0,a) 
            setMarkerColor(tier3,255,0,0,a) 
        elseif randCol == 2 then 
        --GREEN-- 
            setMarkerColor(tier1,0,255,0,a) 
            setMarkerColor(tier2,0,255,0,a) 
            setMarkerColor(tier3,0,255,0,a) 
        elseif randCol == 3 then 
        --BLUE-- 
            setMarkerColor(tier1,0,0,255,a) 
            setMarkerColor(tier2,0,0,255,a) 
            setMarkerColor(tier3,0,0,255,a) 
        elseif randCol == 4 then 
        --HELVETE-- 
            setMarkerColor(tier1,0,102,107,a) 
            setMarkerColor(tier2,0,102,107,a) 
            setMarkerColor(tier3,0,102,107,a) 
        elseif randCol == 5 then 
        --YELLOW-- 
            setMarkerColor(tier1,255,255,0,a) 
            setMarkerColor(tier2,255,255,0,a) 
            setMarkerColor(tier3,255,255,0,a) 
        elseif randCol == 6 then 
        --WHITE-- 
            setMarkerColor(tier1,255,255,255,a) 
            setMarkerColor(tier2,255,255,255,a) 
            setMarkerColor(tier3,255,255,255,a) 
        elseif randCol == 7 then 
        --2 TONE 1-- red/blue/red 
            setMarkerColor(tier1,255,0,0,a) 
            setMarkerColor(tier2,0,0,255,a) 
            setMarkerColor(tier3,255,0,0,a) 
        elseif randCol == 8 then 
        --2 TONE 2-- yellow/green/yellow 
            setMarkerColor(tier1,255,255,0,a) 
            setMarkerColor(tier2,0,255,0,a) 
            setMarkerColor(tier3,255,255,0,a) 
        elseif randCol == 9 then 
        --3 TONE 1-- red/green/blue 
            setMarkerColor(tier1,255,0,0,a) 
            setMarkerColor(tier2,0,255,0,a) 
            setMarkerColor(tier3,0,0,255,a) 
        elseif randCol == 10 then 
        --3 TONE 2-- yellow/pink/? 
            setMarkerColor(tier1,255,255,0,a) 
            setMarkerColor(tier2,255,0,255,a) 
            setMarkerColor(tier3,0,255,255,a) 
        end 
    end,1000,0) 
end 
addEventHandler("onResourceStart",getRootElement(),intHelveteLights) 

any help would be greatly appreciated. Thanks!

Edited by Guest
Link to comment

To put them in a table, you can do:

    tier1 = 
    { 
        createMarker(2564.4,yP,23.3, "corona",s,0,0,255,255), 
        createMarker(2571.4,yP,23.3, "corona",s,0,0,255,255), 
        createMarker(2578.4,yP,23.3, "corona",s,0,0,255,255), 
        createMarker(2585,yP,23.3,  "corona",s,0,0,255,255), 
        createMarker(2592.4,yP,23.3,"corona",s,0,0,255,255), 
        createMarker(2599,yP,23.3,  "corona",s,0,0,255,255) 
    } 
  
    tier2 = 
    { 
        m_2 = createMarker(2566.4,yP,23.3, "corona",s,255,0,0,255), 
        m_5 = createMarker(2573.4,yP,23.3, "corona",s,255,0,0,255), 
        m_8 = createMarker(2580.4,yP,23.3, "corona",s,255,0,0,255), 
        m_11 = createMarker(2587,yP,23.3,  "corona",s,255,0,0,255), 
        m_14 = createMarker(2594.4,yP,23.3,"corona",s,255,0,0,255), 
        m_17 = createMarker(2601,yP,23.3,  "corona",s,255,0,0,255) 
    } 
  
    tier3 = 
    { 
        createMarker(2568.4,yP,23.3, "corona",s,0,255,0,255), 
        createMarker(2575.4,yP,23.3, "corona",s,0,255,0,255), 
        createMarker(2582.4,yP,23.3, "corona",s,0,255,0,255), 
        createMarker(2589,yP,23.3,  "corona",s,0,255,0,255), 
        createMarker(2596.4,yP,23.3,"corona",s,0,255,0,255), 
        createMarker(2603,yP,23.3,  "corona",s,0,255,0,255) 
    } 

Link to comment

tested and working. thanks guys makes a lot more sense to me now

function intHelveteLights() 
    local s = 2 
    local yP = 2411 
    m_1 = createMarker(2564.4,yP,23.3, "corona",s,0,0,255,255) 
    m_4 = createMarker(2571.4,yP,23.3, "corona",s,0,0,255,255) 
    m_7 = createMarker(2578.4,yP,23.3, "corona",s,0,0,255,255) 
    m_10 = createMarker(2585,yP,23.3,  "corona",s,0,0,255,255) 
    m_13 = createMarker(2592.4,yP,23.3,"corona",s,0,0,255,255) 
    m_16 = createMarker(2599,yP,23.3,  "corona",s,0,0,255,255) 
        m_2 = createMarker(2566.4,yP,23.3, "corona",s,255,0,0,255) 
        m_5 = createMarker(2573.4,yP,23.3, "corona",s,255,0,0,255) 
        m_8 = createMarker(2580.4,yP,23.3, "corona",s,255,0,0,255) 
        m_11 = createMarker(2587,yP,23.3,  "corona",s,255,0,0,255) 
        m_14 = createMarker(2594.4,yP,23.3,"corona",s,255,0,0,255) 
        m_17 = createMarker(2601,yP,23.3,  "corona",s,255,0,0,255) 
            m_3 = createMarker(2568.4,yP,23.3, "corona",s,0,255,0,255) 
            m_6 = createMarker(2575.4,yP,23.3, "corona",s,0,255,0,255) 
            m_9 = createMarker(2582.4,yP,23.3, "corona",s,0,255,0,255) 
            m_12 = createMarker(2589,yP,23.3,  "corona",s,0,255,0,255) 
            m_15 = createMarker(2596.4,yP,23.3,"corona",s,0,255,0,255) 
            m_18 = createMarker(2603,yP,23.3,  "corona",s,0,255,0,255) 
                e_1 = createMarker(2581.3,2409.7,35.1, "corona",s,255,0,0,255) 
                e_2 = createMarker(2585.3,2409.7,35.1, "corona",s,255,0,0,255) 
     
local tier1 = { 
    [m_1] = true, 
    [m_4] = true, 
    [m_7] = true, 
    [m_10] = true, 
    [m_13] = true, 
    [m_16] = true 
} 
local tier2 = { 
    [m_2] = true, 
    [m_5] = true, 
    [m_8] = true, 
    [m_11] = true, 
    [m_14] = true, 
    [m_17] = true 
} 
local tier3 = { 
    [m_3] = true, 
    [m_6] = true, 
    [m_9] = true, 
    [m_12] = true, 
    [m_15] = true, 
    [m_18] = true 
} 
  
helveteStageLights = setTimer( 
    function() 
        local a = 255 
        randCol = math.random(1,10) 
        if randCol == 1 then 
        --RED-- 
            for v in pairs ( tier1 and tier2 and tier3 ) do 
                setMarkerColor(v,255,0,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,255,0,0,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,255,0,0,a) 
            end 
        elseif randCol == 2 then 
        --GREEN-- 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,0,255,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,0,255,0,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,0,255,0,a) 
            end 
        elseif randCol == 3 then 
        --BLUE-- 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,0,0,255,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,0,0,255,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,0,0,255,a) 
            end 
        elseif randCol == 4 then 
        --HELVETE-- 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,0,102,107,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,0,102,107,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,0,102,107,a) 
            end 
        elseif randCol == 5 then 
        --YELLOW-- 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,255,255,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,255,255,0,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,255,255,0,a) 
            end 
        elseif randCol == 6 then 
        --WHITE-- 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,255,255,255,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,255,255,255,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,255,255,255,a) 
            end 
        elseif randCol == 7 then 
        --2 TONE 1-- red/blue/red 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,255,0,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,0,255,0,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,0,0,255,a) 
            end 
        elseif randCol == 8 then 
        --2 TONE 2-- yellow/green/yellow 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,255,255,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,0,255,0,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,255,255,0,a) 
            end 
        elseif randCol == 9 then 
        --3 TONE 1-- red/green/blue 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,255,0,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,0,255,0,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,0,0,255,a) 
            end 
        elseif randCol == 10 then 
        --3 TONE 2-- yellow/pink/? 
            for v in pairs ( tier1 ) do 
                setMarkerColor(v,255,255,0,a) 
            end 
            for v in pairs ( tier2 ) do 
                setMarkerColor(v,255,0,255,a) 
            end 
            for v in pairs ( tier3 ) do 
                setMarkerColor(v,0,255,255,a) 
            end 
        end 
    end,1000,0) 
end 
addEventHandler("onResourceStart",getRootElement(),intHelveteLights) 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...