[pwn]public OnPlayerCommandText(playerid,cmdtext[])
{
new index, cmd[128];
cmd = strtok(cmdtext, index);
if (!strcmp("/givescore", cmd, true, 10))
{
new tmp[128];
tmp = strtok(cmdtext, index);
if(!strlen(tmp) || !IsNumeric(tmp))
{
return SendClientMessage(playerid, 0xAAFF00AA," •Usage: /givescore [scories]");
}
else
{
SetPlayerScore(playerid, GetPlayerScore(playerid)+strval(tmp));
}
return 1;
}[/pwn] и вниз
[pwn]strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
//-----
stock IsNumeric(const string[])
{
new length=strlen(string);
if (length==0) return false;
for (new i = 0; i < length; i++)
{
if((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') || (string[i]=='-' && i!=0) || (string[i]=='+' && i!=0))
{
return false;
}
}
if (length==1 && (string[0]=='-' || string[0]=='+'))
{
return false;
}
return true;
}[/pwn]
Добавлено (04.01.2009, 18:50)
---------------------------------------------
Вводишь например "/givescore 100" и тебе прибавляется 100 фрагов, вводишь 200 прибавится 200