21.04.2013, 03:52
A hex is just a number so you would use sscanf(params,"h",color) if your syntax is 0xFFFFFFFF it's a good to make sure the STRING being supplied is a valid hex I did just that a few weeks ago try this stock function.
You can also make it accept integer value inputs as well by checking if your color string in the command text is number with this stock.
pawn Код:
// Is string a hexvalue
stock IsHexValue(const hstring[])
{
printf("%i",strlen(hstring));
if(strlen(hstring) < 10) return 0;
if(hstring[0] == 48 && hstring[1] == 120)
{
for(new i = 2; i < 10; i++)
{
if(hstring[i] == 48 || hstring[i] == 49 || hstring[i] == 50 || hstring[i] == 51 || hstring[i] == 52 ||
hstring[i] == 53 || hstring[i] == 54 || hstring[i] == 55 || hstring[i] == 56 || hstring[i] == 57 ||
hstring[i] == 65 || hstring[i] == 66 || hstring[i] == 67 || hstring[i] == 68 || hstring[i] == 69 ||
hstring[i] == 70) continue;
else return 0;
}
}
else return 0;
return 1;
}
pawn Код:
IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string[i] > '9' || string[i] < '0') return 0;
}
return 1;
}