[Ajuda] qual o problema com o comando?
#1

Os players podem mandar a particular pros admins, mas os admins nгo podem mandar, inverteu, o que tem de errado?

pawn Код:
if(strcmp(cmd, "/particular", true) == 0 || strcmp(cmd, "/par", true) == 0)
    {
        if(PlayerInfo[playerid][pMuted] == 1)
        {
            SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
            return 1;
        }
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pAdmin] >= 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "Voce nгo й um admin!");
                return 1;
            }
           /* if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/work)");
                return 1;
            }*/

            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: (/par)ticular [id] [texto]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[giveplayerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "Voce nгo й um admin ou o player que vocк digitou nгo й admin!");
                return 1;
            }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    new length = strlen(cmdtext);
                    while ((idx < length) && (cmdtext[idx] <= ' '))
                    {
                        idx++;
                    }
                    new offset = idx;
                    new result[64];
                    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                    {
                        result[idx - offset] = cmdtext[idx];
                        idx++;
                    }
                    result[idx - offset] = EOS;
                    if(!strlen(result))
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "USE: (/par)ticular [id] [texto] ");
                        return 1;
                    }
                    if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
                    {
                        format(string, sizeof(string), "Admin_Server particular: %s ", (result));
                        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
                    }
                    else
                    {
                        format(string, sizeof(string), "%s(ID: %d) particular: %s ", sendername, playerid, (result));
                        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
                    }
                    print(string);
                    format(string, sizeof(string), "PM enviada para %s(ID: %d).", giveplayer, giveplayerid);
                    SendClientMessage(playerid,  COLOR_YELLOW, string);
                    format(string, sizeof(string), "[%d/%d/%d] [%d:%d:%d] PM: %s para %s: %s.", v[2], v[1], v[0], v[3], v[4], v[5] , PlayerName(playerid), PlayerName(giveplayerid), (result));
                    AChatLog(string);
                    return 1;
                }
            }
            else
            {
                    SendClientMessage(playerid, COLOR_GRAD1, "   Esse jogador estб off-line.");
            }
        }
        return 1;
    }
Reply
#2

#Edit
pawn Код:
if(strcmp(cmd, "/particular", true) == 0 || strcmp(cmd, "/par", true) == 0)
    {
        if(PlayerInfo[playerid][pMuted] == 1)
        {
            SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
            return 1;
        }
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: (/par)ticular [id] [texto]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(PlayerInfo[giveplayerid][pAdmin] < 1 )return SendClientMessage(playerid, COLOR_GREY, "Voce nгo й um admin ou o player que vocк digitou nгo й admin!");
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    new length = strlen(cmdtext);
                    while ((idx < length) && (cmdtext[idx] <= ' '))
                    {
                        idx++;
                    }
                    new offset = idx;
                    new result[64];
                    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                    {
                        result[idx - offset] = cmdtext[idx];
                        idx++;
                    }
                    result[idx - offset] = EOS;
                    if(!strlen(result))
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "USE: (/par)ticular [id] [texto] ");
                        return 1;
                    }
                    if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
                    {
                        format(string, sizeof(string), "Admin_Server particular: %s ", (result));
                        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
                    }
                    else
                    {
                        format(string, sizeof(string), "%s(ID: %d) particular: %s ", sendername, playerid, (result));
                        SendClientMessage(giveplayerid, COLOR_YELLOW, string);
                    }
                    print(string);
                    format(string, sizeof(string), "PM enviada para %s(ID: %d).", giveplayer, giveplayerid);
                    SendClientMessage(playerid,  COLOR_YELLOW, string);
                    format(string, sizeof(string), "[%d/%d/%d] [%d:%d:%d] PM: %s para %s: %s.", v[2], v[1], v[0], v[3], v[4], v[5] , PlayerName(playerid), PlayerName(giveplayerid), (result));
                    AChatLog(string);
                    return 1;
                }
            }
            else
            {
                    SendClientMessage(playerid, COLOR_GRAD1, "   Esse jogador estб off-line.");
            }
        }
        return 1;
    }
Reply
#3

acho q o problema esta aki:
pawn Код:
if(PlayerInfo[playerid][pAdmin] >= 1)
nao seria?
pawn Код:
if(PlayerInfo[playerid][pAdmin] < 1)
Reply
#4

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
pawn Код:
if(PlayerInfo[playerid][pAdmin] >= 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "Voce nгo й um admin!");
                return 1;
            }
isto esta errado .
porque? outros comandos estгo >= 1 tambйm e funcionam
Reply
#5

Nгo tem nada haver, o cуdigo atual diz o seguinte:

pawn Код:
se o level_de_admin for MAIOR OU IGUAL A 1: manda a mensagem que ele nгo й um admin!
O correto seria usar < 1

pawn Код:
se o level_de_admin for MENOR QUE 1: manda a mensagem que ele nгo й um admin!
Aqui no fуrum tem alguns tutoriais de operadores, dк uma lida neles que vocк entenderб mais sobre o assunto.
Reply
#6

ok, obrigado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)