#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
dcmd_setskin(playerid,params[])
{
new player, skin;
if(sscanf(params,"dd",player,skin)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setskin [playerid] [skinid]");
if(!IsPlayerConnected(player)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid Player ID.");
if(IsInvalidSkin(skin)) return SendClientMessage(playerid, COLOR_GREY, "* Invalid Skin ID");
SetPlayerSkin(player, skin);
SendClientMessage(player, COLOR_WHITE, "An Admin has changed your skin.");
return 1;
}
THIS
dcmd(setskin,6,cmdtext);
Originally Posted by MenaceX^
Even I'm a dcmd noob I guess this is your problem.
You don't have a varieble which named 'IsInvalidSkin' And it doesn't find the dcmd_setskin becuase you didn't put pawn Код:
|
dcmd(setskin,7,cmdtext);
dcmd_setskin(playerid,params[])
{
new player, skin;
dcmd(setskin,7,cmdtext);
if(sscanf(params,"dd",player,skin)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setskin [playerid] [skinid]");
if(!IsPlayerConnected(player)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid Player ID.");
if(IsInvalidSkin(skin)) return SendClientMessage(playerid, COLOR_GREY, "* Invalid Skin ID");
SetPlayerSkin(player, skin);
SendClientMessage(player, COLOR_WHITE, "An Admin has changed your skin.");
return 1;
}
Originally Posted by MenaceX^
Even I'm a dcmd noob I guess this is your problem.
You don't have a varieble which named 'IsInvalidSkin' And it doesn't find the dcmd_setskin becuase you didn't put pawn Код:
|
if(strcmp(cmd, "/setskin", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] < 2)
{
SendClientMessage(playerid, COLOR_GREY, "You are not authorized to change skins");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "USAGE: /setskin [player/PartOfName] [skin]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(giveplayerid == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Invalid user or user is not online");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREY, "USAGE: /setskin [player/PartOfName] [skin]");
return 1;
}
new skinid = strval(tmp);
if (skinid<0 || skinid > 299)
{
SendClientMessage(playerid, COLOR_GREY, "Invalid skin ID, must be between 0 and 299");
return 1;
}
PlayerInfo[giveplayerid][pModel] = skinid;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s's Skin was set to %d", giveplayer, skinid);
SendClientMessage(playerid, COLOR_WHITE, string);
OnPlayerUpdate(giveplayerid);
SetPlayerSkin(giveplayerid, skinid);
return 1;
}