Author
|
Message
|
Retired AMX Mod X Moderator
|
06-24-2009
, 04:48
[STK] CvarToColor
|
#1
|
CvarToColor
.: Description :. I saw many plugins where coders getting colors from cvar, but some coders dont know how to do that, so i dedicated to make this simple stock .: Usage :.
PHP Code:
new szColorCvar[ 10 ], iColor[ 3 ];
get_pcvar_string( g_Cvar_mycolors, szColorCvar, charsmax( szColorCvar ) );
CvarToColor( szColorCvar, iColor );
/*******
* Output:
*
* iColor[ 0 ] - RED
* iColor[ 1 ] - GREEN
* iColor[ 2 ] - BLUE
*******/
.: Example :.
PHP Code:
Cvar | Stock
255103204 | 255, 103, 204
255 0 100 | 255, 0, 100
000 020 255 | 0, 20, 255
.: Stock :.
PHP Code:
/*******
* Example usage:
*
* new szColorCvar[ 10 ], iColor[ 3 ];
* get_pcvar_string( g_Cvar_mycolors, szColorCvar, charsmax( szColorCvar ) );
*
* CvarToColor( szColorCvar, iColor );
*******
* Output:
*
* iColor[ 0 ] - RED
* iColor[ 1 ] - GREEN
* iColor[ 2 ] - BLUE
*******/
stock CvarToColor( szColor[ 13 ], iColorsOut[ 3 ] ) {
if( ContainSpaces( szColor ) ) {
new szRGB[ 3 ][ 4 ];
parse( szColor, szRGB[ 0 ], 3, szRGB[ 1 ], 3, szRGB[ 2 ], 3 );
iColorsOut[ 0 ] = clamp( str_to_num( szRGB[ 0 ] ), 0, 255 );
iColorsOut[ 1 ] = clamp( str_to_num( szRGB[ 1 ] ), 0, 255 );
iColorsOut[ 2 ] = clamp( str_to_num( szRGB[ 2 ] ), 0, 255 );
return 1;
} else {
new iColor = str_to_num( szColor );
// Credits goes to jim_yang
iColorsOut[ 0 ] = clamp( ( iColor / 1000000 ), 0, 255 );
iColor %= 1000000;
iColorsOut[ 1 ] = clamp( ( iColor / 1000 ), 0, 255 );
iColorsOut[ 2 ] = clamp( ( iColor % 1000 ), 0, 255 );
return 1;
}
return 0;
}
bool:ContainSpaces( szString[ 13 ] ) {
new iLen = strlen( szString );
for( new i = 0; i < iLen; i++ )
if( szString[ i ] == ' ' )
return true;
return false;
}
__________________
Last edited by xPaw; 05-07-2012 at 06:00.
|
|
|
|