lmao do you mean like "black" and then getting black in hex? dont bother
|
stock ShiftRGBAToABGR(color) { new r, g, b, a, value = color; r = (value >>> 24); g = (value >>> 16 & 0xFF); b = (value >>> 8 & 0xFF); a = (value & 0xFF); value = (a & 0xFF) | ((b & 0xFF) << 8) | ((g & 0xFF) << 16) | (r << 24); return value; } stock HexToInt(string[]) { if (string[0]==0) return 0; new i; new cur=1; new res=0; for (i=strlen(string);i>0;i--) { if (string[i-1]<58) res=res+cur*(string[i-1]-48); else res=res+cur*(string[i-1]-65+10); cur=cur*16; } return res; }
// ** INCLUDES
#include <a_samp>
#include <sscanf>
// ** DEFINES
// *** GENERAL
#define HEX_VALUE "0xFFFFFFFF"
#define INTEGER_VALUE -1
// *** FUNCTIONS
#define strcpy(%0,%1,%2) strcat((%0[0] = '\0', %0), %1, %2)
// ** MAIN
main()
{
print("Loaded \"color_hex_int.amx\".");
new string[11], answer[12];
printf("%s to integer: %i", HEX_VALUE, HexToInt(HEX_VALUE));
printf("%d to hexadecimal: %s", INTEGER_VALUE, IntToHex(INTEGER_VALUE));
strcpy(string, HEX_VALUE, 11);
answer = (IsHexOrInt(string)) ? ("Hexadecimal") : ("Integer");
printf("Is %s an integer or a hexadecimal value? %s.", string, answer);
valstr(string, INTEGER_VALUE);
answer = (IsHexOrInt(string)) ? ("Hexadecimal") : ("Integer");
printf("Is %s an integer or a hexadecimal value? %s.", string, answer);
}
// ** CALLBACKS
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
// ** FUNCTIONS
stock HexToInt(hex[])
{
new int;
sscanf(hex, "x", int);
return int;
}
stock IntToHex(int)
{
new string[7];
format(string, sizeof(string), "%06x", int >>> 8);
return string;
}
stock IsNumeric(const string[])
{
return !sscanf(string, "{d}");
}
stock IsHexOrInt(hex[])
{
if(IsNumeric(hex))
{
return false;
}
return true;
}
sscanf( string, "x", hexcol)
GetColor(0xFF0000FF); //Return {FF0000}