GuiLabelAddEffect: Difference between revisions
Jump to navigation
Jump to search
X1AhMeD,-09 (talk | contribs) (→Code) |
X1AhMeD,-09 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{Useful Function}} | |||
__NOTOC__ | |||
This function add an effect to any gui-label.<br> | |||
* '''NOTE:''' This is made to be used clientside!. | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua">bool guiLabelAddEffect ( gui-element label, string effect )</syntaxhighlight> | <syntaxhighlight lang="lua">bool guiLabelAddEffect ( gui-element label, string effect )</syntaxhighlight> |
Revision as of 08:24, 30 April 2018
This function add an effect to any gui-label.
- NOTE: This is made to be used clientside!.
Syntax
bool guiLabelAddEffect ( gui-element label, string effect )
Required Arguments
- label: The label you want to add effects to it.
- effect: The effect you want ( now the function support 2 effects only ( outline , shadow )
Returns
Returns the label that created as an effect if the effect labels have created, false otherwise.
Code
Click to collapse [-]
Clientside scriptfunction guiLabelAddEffect(label, effect) local nlab = {} local checkTimer = {} if label and getElementType(label) == "gui-label" then if effect and tostring(effect) and effect:len() > 3 then local position = { guiGetPosition(label, false) } local size = { guiGetSize(label, false) } if effect:lower() == "shadow" then nlab[1] = guiCreateLabel(position[1] + 1, position[2] + 1, size[1] + 1, size[2] + 1, guiGetText(label), false, getElementParent(label) and getElementParent(label) or nil) guiLabelSetColor(nlab[1], 0, 0, 0) elseif effect:lower() == "outline" then for i = 1, 4 do x, y, w, h = (i == 1 or i == 2 and 1 or -1), (i == 1 or i == 3 and 1 or -1), (i == 1 or i == 2 and 1 or -1), (i == 1 or i == 3 and 1 or -1) nlab[i] = guiCreateLabel(position[1] + x, position[2] + y, size[1] + w, size[2] + h, guiGetText(label), false, getElementParent(label) and getElementParent(label) or nil) guiLabelSetColor(nlab[i], 0, 0, 0) end end end end if #nlab > 0 then if label then if isTimer(checkTimer[label]) then killTimer(checkTimer[label]) end checkTimer[label] = setTimer(function() for _,nlabel in ipairs(nlab) do guiSetVisible(nlabel, guiGetVisible(label)) end if not isElement(label) then killTimer(checkTimer[label]) for i = 1, #nlab do destroyElement(nlab[i]) end end end, 100, 0) end if #nlab == 1 then return nlab[1] elseif #nlab == 4 then return nlab[1], nlab[2], nlab[3], nlab[4] end else return false end end
Author: #x1AhMeD,-09
Example
This example add shadow effect to the label.
addEventHandler("onClientResourceStart", resourceRoot, function() myLabel = guiCreateLabel(350, 100, 50, 50, "Hello World", false) end ) addCommandHandler("effect", function() if myLabel then guiLabelAddEffect(myLabel, "shadow") end end )