/facpay bug
#1

Hi guys. I've got a bug that needs to be fixed, but I don't know how. I'm the server owner, and the faction moderator, but yet, as the script says, I'm still unauthorized
PHP код:
CMD:facpay(playeridparams[]) {
    if(
PlayerInfo[playerid][pAdmin] < && PlayerInfo[playerid][pFactionModerator] == 0) {
        new
            
iFactionID,
            
iRankValue,
            
iPayValue;
        if(
sscanf(params"ddd"iFactionIDiRankValueiPayValue)) {
            return 
SendClientMessageEx(playeridCOLOR_WHITE"USAGE: /facpay [faction ID] [rank] [pay amount]");
        }
        --
iFactionID;
        if(!(
<= iFactionID sizeof(FactionPay))) {
            return 
SendClientMessageEx(playeridCOLOR_WHITE"Valid faction IDs run from 1 to 12.");
        }
        else if(!(
<= iRankValue <= 6)) {
            return 
SendClientMessageEx(playeridCOLOR_WHITE"Valid ranks are 0 to 6.");
        }
        else if(!(
<= iPayValue <= 100000)) {
            return 
SendClientMessageEx(playeridCOLOR_GRAD1"The specified pay amount must be between $1 and $100,000.");
        }
        
FactionPay[iFactionID][iRankValue] = iPayValue;
        new
            
szMessage[46 MAX_PLAYER_NAME];
        
format(szMessagesizeof(szMessage), "You have set faction %d's pay for rank %d to $%d."iFactionID 1iRankValueiPayValue);
        
SendClientMessageEx(playeridCOLOR_WHITEszMessage);
        
format(szMessagesizeof(szMessage), "%s has set faction %i's pay for rank %i to %i."GetPlayerNameEx(playerid), iFactionID 1iRankValueiPayValue);
        
Log("logs/admin.log"szMessage);
        
SaveThePay();
    }
    else 
SendClientMessageEx(playeridCOLOR_GRAD1"You are not authorized to use this command.");
    return 
1;

Reply
#2

A little help might do.
Reply
#3

Код:
if(PlayerInfo[playerid][pAdmin] < 4 && PlayerInfo[playerid][pFactionModerator] == 0)
The counterpart to the above is:
Код:
if the player using the command is less than admin level 4 and is not faction moderator
I am presuming that pFactionModerator = 1 makes you a faction moderator.

Try:
Код:
if(PlayerInfo[playerid][pAdmin] > 4 && PlayerInfo[playerid][pFactionModerator] == 1)
If you use the suggested then you have to be higher than admin level 4 and a faction moderator. If there is more than 1 faction moderator rank, then change the == to >= OR == 1 to > 0.

See:
https://sampwiki.blast.hk/wiki/Control_Structures
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)