20.07.2014, 16:04
And using "u" makes no difference anyways. It just tells sscanf what names to search. "u" means it'll search NPCs and players, which I don't want.
That's the code but it likely isn't going to help. I'm using sscanf 2.8.1 and I remember a long time ago it worked but when I updated, it stopped working. Now I can't find any older versions and I don't know what version worked because it could have stopped working from a different update and not necessarily 2.8.1
Code:
YCMD:agive(playerid, params[], help) { if(PlayerData[playerid][LoggedIn] == 0 || PlayerData[playerid][Admin] == 0) { return 0; } else { new id, money; if(sscanf(params, "ir", money, id) || money == 0) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /give [Amount] [Player ID]"); } else if(!IsPlayerConnected(id) || PlayerData[id][LoggedIn] == 0 || id == INVALID_PLAYER_ID) { SendClientMessage(playerid, COLOR_WHITE, "ERROR: Player not found."); } else { new Message[52]; GivePlayerMoney(id, money); if(money > 0) { if(id == playerid) { format(Message, sizeof(Message), "You have given yourself $%i.", money); SendClientMessage(playerid, COLOR_YELLOW, Message); } else { format(Message, sizeof(Message), "You have given %s $%i.", PlayerData[id][Username], money); SendClientMessage(playerid, COLOR_YELLOW, Message); format(Message, sizeof(Message), "%s has given you $%i.", PlayerData[playerid][Username], money); SendClientMessage(id, COLOR_YELLOW, Message); } } else { if(id == playerid) { format(Message, sizeof(Message), "You have taken $%i from yourself.", money); SendClientMessage(playerid, COLOR_YELLOW, Message); } else { format(Message, sizeof(Message), "You have taken $%i from %s.", money, PlayerData[id][Username]); SendClientMessage(playerid, COLOR_YELLOW, Message); format(Message, sizeof(Message), "%s has taken $%i from you.", PlayerData[playerid][Username], money); SendClientMessage(id, COLOR_YELLOW, Message); } } } return 1; } }