SA-MP Forums Archive
[Ajuda] admin abusando - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] admin abusando (/showthread.php?tid=364467)



admin abusando - GhosT_[] - 30.07.2012

tipo tenho uns comando de admin aqui mais eles podem usar os comandos em admin nivel maior
EXEMPLO:
O admin level 1 pode puxar o level3 queria que nгo pudesse acontecer isso alguem me ajuda

Aqui estб o meu code como exemplo:

pawn Код:
if (strcmp(cmd, "/trazer", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            new tmp[256], jogador, admin, veiculo, string1[256], string2[256], nomejogador[MAX_PLAYER_NAME], nomeadmin[MAX_PLAYER_NAME], Float:x, Float:y, Float:z, Float:angulo;
            tmp = strtok(cmdtext, idx);
            if (!strlen(tmp)) return SendClientMessage(playerid, VERMELHO1, "Use: /trazer [ID].");
            jogador = strval(tmp);
            admin = playerid;
            veiculo = GetPlayerVehicleID(jogador);
            if (strval(tmp) == admin) return SendClientMessage(playerid, VERMELHO1, "Nгo pode trazer vocк mesmo.");
            GetPlayerName(jogador, nomejogador, sizeof(nomejogador));
            GetPlayerName(admin, nomeadmin, sizeof(nomeadmin));
            GetPlayerPos(admin, Float:x, Float:y, Float:z);
            GetPlayerFacingAngle(admin, Float:angulo);
            if (IsPlayerConnected(jogador))
            {
                format(string1, sizeof(string1), "Vocк teleportou %s atй vocк.", nomejogador);
                format(string2, sizeof(string2), "O admin %s teleportou vocк atй ele.", nomeadmin);
                SendClientMessage(admin, AZULFORTE, string1);
                SendClientMessage(jogador, AZULFORTE, string2);
                PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                PlayerPlaySound(jogador, 1057, 0.0, 0.0, 0.0);
                SetPlayerPos(jogador, Float:x+2, Float:y, Float:z);
                SetPlayerInterior(jogador, GetPlayerInterior(admin));
                if(IsPlayerInAnyVehicle(jugador))
                {
                    SetVehiclePos(veiculo, Float:x+2, Float:y, Float:z);
                    PutPlayerInVehicle(jogador, veiculo, 0);
                }
                SetPlayerFacingAngle(jogador, Float:angulo);
            }
            else return SendClientMessage(playerid, VERMELHO1, "ID Invбlido.");
        }
        else return SendClientMessage(playerid, VERMELHO1, "[INFO]: Vocк mгo pode usar este comando.");
        return 1;
    }
acho que isso deve ser uma ou duas linhas por favor me ajudem


Re: admin abusando - EduardoRFS - 30.07.2012

Como assim vocк queria que os adm level 3 pudesem usar cmd de level 1? ou o contrario?


Re: admin abusando - leonardo1434 - 30.07.2012

Caso nгo seja jugador a var que determina a vнtima, apenas muda-la.

pawn Код:
if(PlayerInfo[playerid][pAdmin] < PlayerInfo[jugador][pAdmin]) return SendClientMessage(playerid,-1,"Vocк nгo pode trazer um admin com mais poderes que o seu");



Re: admin abusando - GhosT_[] - 30.07.2012

nгo que adm's nivel 1 nгo pudessem usar o comando em um adm superior ao nivel dele

@EDIT
leo vou testar aqui tava respondendo oque o outro pergunto -q


Re: admin abusando - GhosT_[] - 30.07.2012

coloquei assim
pawn Код:
if (strcmp(cmd, "/trazer", true) == 0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            new tmp[256], jugador, admin, vehiculo, string1[256], string2[256], nombrejugador[MAX_PLAYER_NAME], nombreadmin[MAX_PLAYER_NAME], Float:x, Float:y, Float:z, Float:angulo;
            [COLOR="Red"]if(PlayerInfo[playerid][pAdmin] < PlayerInfo[jugador][pAdmin]) return SendClientMessage(playerid,-1,"Vocк nгo pode trazer um admin com mais poderes que o seu");[/COLOR]
            if (!strlen(tmp)) return SendClientMessage(playerid, VERMELHO1, "Use: /trazer [ID].");
            jugador = strval(tmp);
            admin = playerid;
            vehiculo = GetPlayerVehicleID(jugador);
            if (strval(tmp) == admin) return SendClientMessage(playerid, VERMELHO1, "Nгo pode trazer vocк mesmo.");
            GetPlayerName(jugador, nombrejugador, sizeof(nombrejugador));
            GetPlayerName(admin, nombreadmin, sizeof(nombreadmin));
            GetPlayerPos(admin, Float:x, Float:y, Float:z);
            GetPlayerFacingAngle(admin, Float:angulo);
            if (IsPlayerConnected(jugador))
            {
                format(string1, sizeof(string1), "Vocк teleportou %s atй vocк.", nombrejugador);
                format(string2, sizeof(string2), "O admin %s teleportou vocк atй ele.", nombreadmin);
                SendClientMessage(admin, AZULFORTE, string1);
                SendClientMessage(jugador, AZULFORTE, string2);
                PlayerPlaySound(admin, 1057, 0.0, 0.0, 0.0);
                PlayerPlaySound(jugador, 1057, 0.0, 0.0, 0.0);
                SetPlayerPos(jugador, Float:x+2, Float:y, Float:z);
                SetPlayerInterior(jugador, GetPlayerInterior(admin));
                if(IsPlayerInAnyVehicle(jugador))
                {
                    SetVehiclePos(vehiculo, Float:x+2, Float:y, Float:z);
                    PutPlayerInVehicle(jugador, vehiculo, 0);
                }
                SetPlayerFacingAngle(jugador, Float:angulo);
            }
            else return SendClientMessage(playerid, VERMELHO1, "ID Invбlido.");
        }
        else return SendClientMessage(playerid, VERMELHO1, "[INFO]: Vocк mгo pode usar este comando.");
        return 1;
    }
mais aparece "/trazer [id]" -q

@EDIT MALS DOUBLE POST


Re: admin abusando - leonardo1434 - 30.07.2012

Claro, a suposiзгo nunca vai ser verdade pelo simples fato dele nгo ter definido a vнtima.

Colocar embaixo desta linha.
pawn Код:
if (strval(tmp) == admin)



Re: admin abusando - GhosT_[] - 30.07.2012

Obrigado!