Command problem - help! :)
#1

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;
}
Reply
#2

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;
}
Reply
#3

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;
}
Reply
#4

Still only showing the police commands if both police and admin. :/
Reply
#5

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.
Reply
#6

Yup. Jason's code works fine, noticed the problem now. Thanks!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)