22.02.2015, 17:33
I'm having problems using sscanf again, this command doesn't work. If you type the command properly (i.e. /makedonator 23 bronze) it doesn't send the messages nor does it set the pDonator, it just sets it as 0.
pawn Код:
CMD:makedonator(playerid, params[])
{
if (PlayerData[playerid][pAdmin] < 5)
return SendErrorMessage(playerid, "You don't have permission to use this command!");
static
userid,
type[16],
message[128];
if (sscanf(params, "u", userid))
return SendSyntaxMessage(playerid, "/makedonator [playerid/name] [bronze/silver/gold/none]");
if (userid == INVALID_PLAYER_ID)
return SendErrorMessage(playerid, "You have specified an invalid player.");
if (strcmp(type, "bronze", true))
{
format(message, sizeof(message), "You have sed &s's donator rank to Bronze.", ReturnName(userid, 0));
SendClientMessage(playerid, COLOR_RED, message);
format(message, sizeof(message), "Your donator rank has been set to Bronze by %s.", ReturnName(playerid, 0));
SendClientMessage(userid, COLOR_RED, message);
PlayerData[userid][pDonator] = 1;
}
else if (strcmp(type, "silver", true))
{
format(message, sizeof(message), "You have sed &s's donator rank to Silver.", ReturnName(userid, 0));
SendClientMessage(playerid, COLOR_RED, message);
format(message, sizeof(message), "Your donator rank has been set to Silver by %s.", ReturnName(playerid, 0));
SendClientMessage(userid, COLOR_RED, message);
PlayerData[userid][pDonator] = 2;
}
else if (strcmp(type, "gold", true))
{
format(message, sizeof(message), "You have sed &s's donator rank to Gold.", ReturnName(userid, 0));
SendClientMessage(playerid, COLOR_RED, message);
format(message, sizeof(message), "Your donator rank has been set to Gold by %s.", ReturnName(playerid, 0));
SendClientMessage(userid, COLOR_RED, message);
PlayerData[userid][pDonator] = 3;
}
return 1;
}