Скрипт переводит числа из двоичной системы счисления в десятичную. Если в переменной sub будет не бинарное число, то скрипт прекратит работу с оповещением об ошибке.
PHP код:
CMD:binary(playerid, params[])
{
if (isnull(params))
return SendClientMessage(playerid, 0xAA3333AA, !"[Подсказка]: /b [двоичный код]");
static const
str[] = "Result: %i";
new
string[sizeof(str) + 11 - 2],
result;
Binary(params, result);
if (!result)
return SendClientMessage(playerid, -1, !"Error");
format(string, sizeof(string), str, result);
SendClientMessage(playerid, -1, string);
return 1;
}
PHP код:
stock Binary(const sub[], &result)
{
static
n,
i,
c;
result = i = 0;
n = strlen(sub);
while ((c = sub[i++]))
{
switch (c)
{
case 48, 49:
{
result += (c == 49) ? (1 << n - i) : (0);
}
default:
{
return 0;
}
}
}
return result;
}