DgsMenuGetItemColor
Jump to navigation
Jump to search
This function gets the color of a specific menu item. You can retrieve the colors either as separate RGBA components or as color values.
Syntax
int r, int g, int b, int a, int hr, int hg, int hb, int ha dgsMenuGetItemColor ( element menu, int uniqueID ) int normalColor, int hoverColor dgsMenuGetItemColor ( element menu, int uniqueID, bool notSplitColor )
Required Arguments
- menu: The DGS menu element containing the item
- uniqueID: The unique ID of the menu item (returned by dgsMenuAddItem)
Optional Arguments
- notSplitColor: If set to true, returns the color values as they are stored (two color values). If false or not specified, returns 8 separate RGBA components
Returns
When notSplitColor is false or not specified: Returns 8 integers representing the RGBA components: normal red, normal green, normal blue, normal alpha, hover red, hover green, hover blue, hover alpha. Returns false if the operation failed.
When notSplitColor is true: Returns two color values: normalColor, hoverColor. Returns false if the operation failed.
Examples
Example 1: Getting RGBA Components
loadstring(exports.dgs:dgsImportFunction())()-- load functions -- Create a menu with items local menu = dgsCreateMenu(200, 200, 200, 150, false) local item1 = dgsMenuAddItem(menu, "Red Item", "red") local item2 = dgsMenuAddItem(menu, "Custom Item", "custom") -- Set colors for the items dgsMenuSetItemColor(menu, item1, 255, 0, 0, 200) -- Red with alpha local normalColor = tocolor(100, 150, 200) local hoverColor = tocolor(200, 255, 100) dgsMenuSetItemColor(menu, item2, {normalColor, hoverColor}) -- Get the colors as RGBA components local r, g, b, a, hr, hg, hb, ha = dgsMenuGetItemColor(menu, item1) if r then outputChatBox("Item 1 - Normal: R=" .. r .. " G=" .. g .. " B=" .. b .. " A=" .. a) outputChatBox("Item 1 - Hover: R=" .. hr .. " G=" .. hg .. " B=" .. hb .. " A=" .. ha) end local r2, g2, b2, a2, hr2, hg2, hb2, ha2 = dgsMenuGetItemColor(menu, item2) if r2 then outputChatBox("Item 2 - Normal: R=" .. r2 .. " G=" .. g2 .. " B=" .. b2 .. " A=" .. a2) outputChatBox("Item 2 - Hover: R=" .. hr2 .. " G=" .. hg2 .. " B=" .. hb2 .. " A=" .. ha2) end -- Show the menu dgsMenuShow(menu)
Example 2: Getting Color Values
loadstring(exports.dgs:dgsImportFunction())()-- load functions -- Create a menu with items local menu = dgsCreateMenu(200, 200, 200, 150, false) local item1 = dgsMenuAddItem(menu, "Blue Item", "blue") local item2 = dgsMenuAddItem(menu, "Yellow Item", "yellow") -- Set colors for the items dgsMenuSetItemColor(menu, item1, tocolor(0, 0, 255)) -- Blue for both states local normalYellow = tocolor(255, 255, 0) local hoverYellow = tocolor(255, 255, 150) dgsMenuSetItemColor(menu, item2, {normalYellow, hoverYellow}) -- Get the colors as color values local normalColor1, hoverColor1 = dgsMenuGetItemColor(menu, item1, true) if normalColor1 then outputChatBox("Item 1 - Normal Color: " .. normalColor1) outputChatBox("Item 1 - Hover Color: " .. hoverColor1) end local normalColor2, hoverColor2 = dgsMenuGetItemColor(menu, item2, true) if normalColor2 then outputChatBox("Item 2 - Normal Color: " .. normalColor2) outputChatBox("Item 2 - Hover Color: " .. hoverColor2) end -- Show the menu dgsMenuShow(menu)
Example 3: Color Inspection and Modification
loadstring(exports.dgs:dgsImportFunction())()-- load functions -- Create a menu with items local menu = dgsCreateMenu(200, 200, 200, 150, false) local item1 = dgsMenuAddItem(menu, "Inspectable Item", "inspect") -- Set initial color dgsMenuSetItemColor(menu, item1, 128, 128, 128, 255) -- Gray -- Function to inspect and modify colors function inspectAndModifyColor(menu, uniqueID) -- Get current colors as RGBA components local r, g, b, a, hr, hg, hb, ha = dgsMenuGetItemColor(menu, uniqueID) if r then outputChatBox("Current colors:") outputChatBox("Normal - R:" .. r .. " G:" .. g .. " B:" .. b .. " A:" .. a) outputChatBox("Hover - R:" .. hr .. " G:" .. hg .. " B:" .. hb .. " A:" .. ha) -- Modify the colors (make them brighter) local newR = math.min(255, r + 50) local newG = math.min(255, g + 50) local newB = math.min(255, b + 50) -- Set the new colors dgsMenuSetItemColor(menu, uniqueID, newR, newG, newB, a) outputChatBox("Colors have been brightened!") else outputChatBox("Failed to get item colors") end end -- Show the menu dgsMenuShow(menu) -- Inspect and modify colors after 3 seconds setTimer(inspectAndModifyColor, 3000, 1, menu, item1)