Tocolor: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}  
{{Server client function}}
This function retrieves the hex number of a specified color, useful for the dx functions.
This function retrieves the hex number of a specified color, useful for the dx functions.
{{New feature/item|3.0156|1.5.5|13977|Added server-side.}}


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
int tocolor ( int red, int green, int blue [, int alpha = 255] )
int tocolor ( int red, int green, int blue [, int alpha = 255 ] )
</syntaxhighlight>
</syntaxhighlight>


Line 19: Line 20:
Returns a single value representing the color.
Returns a single value representing the color.


==Example==  
==Example==
<section name="Client" class="client" show="true">
This example displays the text "Tuna" in small at the top left side of your screen. The color of this text can be changed using the command /tunaColor.
This example displays the text "Tuna" in small at the top left side of your screen. The color of this text can be changed using the command /tunaColor.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 51: Line 53:
-- Example /setcoloroftuna 255 0 0 255 - for red.
-- Example /setcoloroftuna 255 0 0 255 - for red.
</syntaxhighlight>
</syntaxhighlight>
</section>


==The opposite function==  
==Changelog==
This function is the opposite of tocolor, it turns a color back into R, G, B, A components.
{{ChangelogHeader}}
<syntaxhighlight lang="lua">
{{ChangelogItem|1.5.5-r13977|Added server-side}}
function colorToRGBA( color )
 
local str = string.format( "%x", color )
return
tonumber( "0x" .. str:sub( 3, 4 ) ),
tonumber( "0x" .. str:sub( 5, 6 ) ),
tonumber( "0x" .. str:sub( 7, 8 ) ),
tonumber( "0x" .. str:sub( 1, 2 ) )
end
 
-- or
 
function colorToRGBA( color )
 
local a, r, g, b = getColorFromString( string.format( "#%x", color ) )
return r, g, b, a
 
end
 
 
local myColor = tocolor( 110, 180, 230 )
 
local R, G, B, A = colorToRGBA( myColor )
-- R is 110, G is 180, B is 230, A is 255
</syntaxhighlight>


==See Also==
==See Also==
{{Client_utility_functions}}
{{Utility_functions}}

Latest revision as of 13:49, 6 August 2018

This function retrieves the hex number of a specified color, useful for the dx functions. Added server-side.

Syntax

int tocolor ( int red, int green, int blue [, int alpha = 255 ] )

Required Arguments

  • red: The amount of red in the color (0-255).
  • green: The amount of green in the color (0-255).
  • blue: The amount of blue in the color (0-255).

Optional Arguments

  • alpha: The amount of alpha in the color (0-255).

Returns

Returns a single value representing the color.

Example

Click to collapse [-]
Client

This example displays the text "Tuna" in small at the top left side of your screen. The color of this text can be changed using the command /tunaColor.

local tunaColor = tocolor(255, 0, 0, 255) -- Default color

-- This function draws the text
local function drawTuna()
	dxDrawText("Tuna", 5, 5, 100, 100, tunaColor)
end
addEventHandler("onClientRender", root, drawTuna)

--This function handles the /tunaColor command, allowing players to set the color of tuna
local function tunaColorCommand(command, red, green, blue, alpha)
	red, green, blue, alpha = tonumber(red), tonumber(green), tonumber(blue), tonumber(alpha) -- Convert all the args to numbers. NOTE: tonumber will return false if the arg is not provided/is not valid.
	
	-- Remind the user of the proper syntax if they failed to provide all the args
	if not red or not green or not blue then
		outputChatBox("* USAGE: /tunaColor [red] [green] [blue] [alpha]", 255, 0, 0)
		return
	end
	
	-- Make the alpha arg optional
	if not alpha then
		alpha = 255
	end
	
	-- Update the color
	tunaColor = tocolor(red, green, blue, alpha)
end
addCommandHandler("tunaColor", tunaColorCommand)
-- Example /setcoloroftuna 255 0 0 255 - for red.

Changelog

Version Description
1.5.5-r13977 Added server-side

See Also