05.01.2012, 04:23
Try this:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[128];
cmd = strtok(cmdtext, idx);
if(strcmp("/pay", cmd, true, 10) ==0 )
{
new tmp[128], tmp2[128];
tmp = strtok(cmd, idx);
tmp2 = strtok(cmd, idx); //money
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "Usage: /pay [playerid] [amount]");
return 1;
}
if(strlen(tmp2))
{
SendClientMessage(playerid, COLOR_GREY, "Usage: /pay [playerid] [amount]");
return 1;
}
new reciever, money;
reciever = strval(tmp);
money = strval(tmp2);
if(GetPlayerMoney(playerid) < money)
{
SendClientMessage(playerid, COLOR_GREY, "You don't have that much!");
return 1;
}
new string[128];
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
format(string, sizeof(string), "You recieved &%d from %s.", money, playername);
SendClientMessage(playerid, COLOR_GREY, string);
format(string, sizeof(string), "You gave &%d to %s.", money, playername);
SendClientMessage(playerid, COLOR_GREY, string);
GivePlayerMoney(playerid, (0 - money));
GivePlayerMoney(reciever, money);
return 1;
}
return 0;
}
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;
}