Command problem - help! :) -
Chrillzen - 17.10.2013
Hey, again. This time I'm having issues with a command of mine. It's probably a really easy fix but my brain can't get it together.
The problem: If you're an admin you can see the commands fine. But if you're a cop and an admin then you can only see the police commands. I want it to work so you can see both if you're a cop and an admin.
pawn Код:
CMD:commands(playerid, params[])
{
SCM(playerid, COLOR_GREEN, "_________________________[Server Commands]_________________________");
SendClientMessage(playerid,COLOR_WHITE,"[GENERAL]: /smoke /pay /consume /stats /giverespect /dice /animlist /call");
SendClientMessage(playerid,COLOR_WHITE,"[GENERAL]: /report /stats /placeboombox /setboombox /pickupboombox");
if(IsACop(playerid))
{
SendClientMessage(playerid,COLOR_WHITE,"[POLICE]: /arrest /cuff /uncuff /dooropen /doorclose /cellopen /cellclose");
}
else if(PlayerInfo[playerid][pAdmin] == 1)
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
}
else if(PlayerInfo[playerid][pAdmin] == 2)
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 2]: /kick /setskin /setvw /veh /sethp /setweather /ajail");
}
else if(PlayerInfo[playerid][pAdmin] == 3)
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 2]: /kick /setskin /setvw /veh /sethp /setweather /ajail");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 3]: /agivegun /givemoney /ban /unbanip");
}
return 1;
}
Re: Command problem - help! :) - Patrick - 17.10.2013
Try these, using switch statement would be more easier.
pawn Код:
CMD:commands(playerid, params[])
{
SCM(playerid, COLOR_GREEN, "_________________________[Server Commands]_________________________");
SendClientMessage(playerid,COLOR_WHITE,"[GENERAL]: /smoke /pay /consume /stats /giverespect /dice /animlist /call");
SendClientMessage(playerid,COLOR_WHITE,"[GENERAL]: /report /stats /placeboombox /setboombox /pickupboombox");
if(IsACop(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"[POLICE]: /arrest /cuff /uncuff /dooropen /doorclose /cellopen /cellclose");
switch(PlayerInfo[playerid][pAdmin])
{
case 1:
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
}
case 2:
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 2]: /kick /setskin /setvw /veh /sethp /setweather /ajail");
}
case 3:
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 2]: /kick /setskin /setvw /veh /sethp /setweather /ajail");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 3]: /agivegun /givemoney /ban /unbanip");
}
}
return 1;
}
Re: Command problem - help! :) -
EiresJason - 17.10.2013
pawn Код:
CMD:commands(playerid, params[])
{
SCM(playerid, COLOR_GREEN, "_________________________[Server Commands]_________________________");
SendClientMessage(playerid,COLOR_WHITE,"[GENERAL]: /smoke /pay /consume /stats /giverespect /dice /animlist /call");
SendClientMessage(playerid,COLOR_WHITE,"[GENERAL]: /report /stats /placeboombox /setboombox /pickupboombox");
if(IsACop(playerid))
{
SendClientMessage(playerid,COLOR_WHITE,"[POLICE]: /arrest /cuff /uncuff /dooropen /doorclose /cellopen /cellclose");
}
if(PlayerInfo[playerid][pAdmin] == 1)
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
}
else if(PlayerInfo[playerid][pAdmin] == 2)
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 2]: /kick /setskin /setvw /veh /sethp /setweather /ajail");
}
else if(PlayerInfo[playerid][pAdmin] == 3)
{
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /acceptreport /markfalse /warn /mute /unmute /freeze /unfreeze /spec /specoff");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 1]: /gethere /goto /gethere /clearchat /adminduty");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 2]: /kick /setskin /setvw /veh /sethp /setweather /ajail");
SendClientMessage(playerid,COLOR_WHITE,"[ADMIN 3]: /agivegun /givemoney /ban /unbanip");
}
return 1;
}
Re: Command problem - help! :) -
Chrillzen - 17.10.2013
Still only showing the police commands if both police and admin. :/
Re: Command problem - help! :) -
Konstantinos - 17.10.2013
If you used pds2k12's code, then it'd only show police commands because he used
return.
Though, EiresJason's code should work because it sends the first message and then it checks if they're admins. Your code actually used else if and if the player was cop, the rest of the else if statements were not even called.
Re: Command problem - help! :) -
Chrillzen - 17.10.2013
Yup. Jason's code works fine, noticed the problem now. Thanks!