/makeadmin Fail? -
Sasoft - 16.12.2011
I just made this command but it doesen't work, i can only use it on myself. But not on others.
pawn Код:
CMD:setadmin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new giveplayerid, level;
new sendername[32], string[128];
if(sscanf(params, "ud", giveplayerid, level))
{
SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setadmin <playerid> <level>");
return 1;
}
if(level > 5 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "> Don't go below 0 or higher then 5!"); return 1; }
if(IsPlayerConnected(giveplayerid))
{
new ranktext[32];
if(PlayerInfo[giveplayerid][pAdmin] == 1) { ranktext = "Trial Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 2) { ranktext = "Basic Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 3) { ranktext = "Lead Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 4) { ranktext = "Head Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 5) { ranktext = "Owner"; }
else { return 1; }
PlayerInfo[giveplayerid][pAdmin] = level;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string),"> Admin %s has promoted you to a %s", sendername, ranktext);
SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
}
}
else return SendClientMessage(playerid, 0xFFFFFFFF, "Only Admins can perform this action.");
return 1;
}
Re: /makeadmin Fail? -
PlayHard - 16.12.2011
I think it's because of this
pawn Код:
if(PlayerInfo[playerid][pAdmin] >= 1)
It should be
pawn Код:
if(PlayerInfo[playerid][pAdmin] = 5)
pawn Код:
CMD:setadmin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] == 5)
{
new giveplayerid, adminlevel;
new sendername[32], string[128];
if(sscanf(params, "ud", giveplayerid, adminlevel))
{
SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setadmin <playerid> <level>");
return 1;
}
if(adminlevel > 5 || adminlevel < 0) { SendClientMessage(playerid, COLOR_GREY, "> You can't go below 0, nor above 5."); return 1; }
if(IsPlayerConnected(giveplayerid))
{
new ranktext[32];
if(PlayerInfo[giveplayerid][pAdmin] == 1) { ranktext = "Trial Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 2) { ranktext = "Basic Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 3) { ranktext = "Lead Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 4) { ranktext = "Head Admin"; }
else if(PlayerInfo[giveplayerid][pAdmin] == 5) { ranktext = "Owner"; }
else { return 1; }
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string),"> Admin %s has promoted you to a %s", sendername, ranktext);
SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
PlayerInfo[playerid][pAdmin] = adminlevel;
}
}
else return SendClientMessage(playerid, 0xFFFFFFFF, "Only Admins can perform this action.");
return 1;
}
EDIT: That one should work.
Re: /makeadmin Fail? -
Sasoft - 16.12.2011
@PlayHard, it isn't man.
Re: /makeadmin Fail? -
PlayHard - 16.12.2011
Yes. It didn't work.
Re: /makeadmin Fail? -
Sasoft - 16.12.2011
Changed it to this but still doesen't work
pawn Код:
CMD:setadmin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new targetid, level;
new sendername[32], string[128];
if(sscanf(params, "ui", targetid, level))
{
SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setadmin <playerid> <level>");
return 1;
}
if(level > 5 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "> Don't go below 0 or higher then 5!"); return 1; }
if(IsPlayerConnected(targetid))
{
new ranktext[32];
if(PlayerInfo[targetid][pAdmin] == 1) { ranktext = "Trial Admin"; }
else if(PlayerInfo[targetid][pAdmin] == 2) { ranktext = "Basic Admin"; }
else if(PlayerInfo[targetid][pAdmin] == 3) { ranktext = "Lead Admin"; }
else if(PlayerInfo[targetid][pAdmin] == 4) { ranktext = "Head Admin"; }
else if(PlayerInfo[targetid][pAdmin] == 5) { ranktext = "Owner"; }
else { return 1; }
PlayerInfo[targetid][pAdmin] = level;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string),"> Admin %s has promoted you to a %s", sendername, ranktext);
SendClientMessage(targetid, 0xFFFFFFFF, string);
}
}
else return SendClientMessage(playerid, 0xFFFFFFFF, "Only Admins can perform this action.");
return 1;
}
Re: /makeadmin Fail? -
Storm203 - 16.12.2011
Try this
pawn Код:
CMD:setadmin(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new targetid, level;
new sendername[32], string[128];
if(sscanf(params, "ui", targetid, level))
{
SendClientMessage(playerid, 0xFFFFFFFF, "Usage: /setadmin <playerid> <level>");
return 1;
}
if(level > 5 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "> Don't go below 0 or higher then 5!"); return 1; }
if(IsPlayerConnected(targetid))
{
new ranktext[32];
PlayerInfo[targetid][pAdmin] = level;
if(level == 1) { ranktext = "Trial Admin"; }
else if(level == 2) { ranktext = "Basic Admin"; }
else if(level == 3) { ranktext = "Lead Admin"; }
else if(level == 4) { ranktext = "Head Admin"; }
else if(level == 5) { ranktext = "Owner"; }
else { return 1; }
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string),"> Admin %s has promoted you to a %s", sendername, ranktext);
SendClientMessage(targetid, 0xFFFFFFFF, string);
}
}
else return SendClientMessage(playerid, 0xFFFFFFFF, "Only Admins can perform this action.");
return 1;
}
Also, why all the return 1s? You only need to do it once, at the end, so that the script knows that it was a valid command.
Re: /makeadmin Fail? -
Phantomkiller - 16.12.2011
Ill give u mine MakeAdmin, try if it works:
Код:
if(strcmp(cmd, "/makeadmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Koriscenje: /makeadmin [ID Igraca/Dio Imena] [level(1-3)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
level = strval(tmp);
if(PlayerInfo[playerid][pAdmin] >= 1337)
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pAdmin] = level;
printf("AdmCmd: Admin je %s-u dao odredjeni admin level.", sendername, giveplayer, level);
format(string, sizeof(string), " Admin vam je dao/oduzeo admin level ", level, sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), " Dali/oduzeli ste %s-u admin level .", giveplayer,level);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Niste ovlasteni da koristite tu komandu!");
}
}
return 1;
}