[STK] CvarToColor
Posted: Sun Sep 06, 2026 5:23 am
.: 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 :.
.: Example :.
.: Stock :.
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 :.
Code: Select all
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
*******/ Code: Select all
Cvar | Stock
255103204 | 255, 103, 204
255 0 100 | 255, 0, 100
000 020 255 | 0, 20, 255Code: Select all
/*******
* 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;
}