[AJUDA] Autorizaзгo
#1

Eae galerinha,tudo beleza ?
Eu to querendo fazer o seguinte: pra um admin level menor que 1340 usar /trabalhar para entrar em modo jogo.Precisar da permissao de admin level maior que 1340,como que eu faзo isso ? Valeu ae.

Cmd: /trabalhar
pawn Код:
if(strcmp(cmd, "/trabalhar", true) == 0)
    {
        if(PlayerInfo[playerid][pJailed] != 0)
        {
            SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode trabalhar na cadeia!");
            return true;
        }
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            if(admtrampando[playerid] > 0)
            {
                admtrampando[playerid] = 0;
                if(PlayerInfo[playerid][pAdmin] >= 1340)
                {
                        SendClientMessage(playerid,COLOR_WHITE,"Vocк entrou em modo jogo.");
                        SetTimerEx("Administrador", 100, true, "i", playerid);
                }
                else
                {
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
                        format(string, 128, "{00BFFF}Admin: %s estб Jogando, Veja mais  em {E0EEE0}/admins",sendername, playerid);
                        SendClientMessageToAll(0xFFFBF8AA, string);
                        KillTimer(TempoAdministrador);
                        SetPlayerToTeamColor(playerid);
                        ResetPlayerWeaponsEx(playerid);
                        SetPlayerHealth(playerid,100);
                        getdate(year, month, day);
                        gettime(hour,minute,second);
                        format(gstring, sizeof(gstring), "%s esta jogando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
                        AdminLog(gstring);
                }
            }
            else
            {
                admtrampando[playerid] = 1;
                if(PlayerInfo[playerid][pAdmin] >= 1340)
                {
                        SendClientMessage(playerid,COLOR_WHITE,"Vocк entrou em modo trabalho.");
                        SetTimerEx("Administrador", 100, true, "i", playerid);
                }
                else
                {
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
                        format(string, 128, "{00BFFF}Admin: %s estб Trabalhando, veja mais em {E0EEE0}/admins",sendername, playerid);
                        SendClientMessageToAll(0xFFFBF8AA, string);
                        SetPlayerToTeamColor(playerid);
                        TempoAdministrador = SetTimerEx("Administrador", 100, true, "i", playerid);
                        getdate(year, month, day);
                        gettime(hour,minute,second);
                        format(gstring, sizeof(gstring), "%s esta trabalhando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
                        AdminLog(gstring);
                }
           }
        }
        return true;
    }
Reply
#2

Tenta ae . Abraзo.

pawn Код:
new AutorizadoT[MAX_PLAYERS];
pawn Код:
if(strcmp(cmd, "/autorizartrampo", true) == 0)
{
    new PlayerB, Adm[MAX_PLAYER_NAME], AdmB[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] < 1340) return SendClientMessage(playerid, -1, "Vocк nгo tem permissгo!");
    if(sscanf(params, "d", PlayerB))
    {
        AutorizadoT[PlayerB] = 1;
        return 1;
    }
    GetPlayerName(playerid, Adm, sizeof(Adm));
    GetPlayerName(PlayerB, AdmB, sizeof(AdmB));
    format(sStr, sizeof(sStr), "O admin %d %s[%d] autorizou o admin %d %s[%d] a trabalhar!", PlayerInfo[playerid][pAdmin], Adm, playerid, PlayerInfo[playerid][pAdmin], AdmB, PlayerB);
    return 1;
}
pawn Код:
if(strcmp(cmd, "/trabalhar", true) == 0)
    {
        if(PlayerInfo[playerid][pJailed] != 0)
        {
            SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode trabalhar na cadeia!");
            return true;
        }
        if(PlayerInfo[playerid][pAdmin] < 1340)
        {
             if(AutorizadoT[playerid] == 0)
             {
                SendClientMessage(playerid, -1, "Vocк nгo tem autorizaзгo para trabalhar!");
             }
             else
             {
                AutorizadoT[playerid] = 0;
             }
             return 1;
        }
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            if(admtrampando[playerid] > 0)
            {
                admtrampando[playerid] = 0;
                if(PlayerInfo[playerid][pAdmin] >= 1340)
                {
                        SendClientMessage(playerid,COLOR_WHITE,"Vocк entrou em modo jogo.");
                        SetTimerEx("Administrador", 100, true, "i", playerid);
                }
                else
                {
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
                        format(string, 128, "{00BFFF}Admin: %s estб Jogando, Veja mais  em {E0EEE0}/admins",sendername, playerid);
                        SendClientMessageToAll(0xFFFBF8AA, string);
                        KillTimer(TempoAdministrador);
                        SetPlayerToTeamColor(playerid);
                        ResetPlayerWeaponsEx(playerid);
                        SetPlayerHealth(playerid,100);
                        getdate(year, month, day);
                        gettime(hour,minute,second);
                        format(gstring, sizeof(gstring), "%s esta jogando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
                        AdminLog(gstring);
                }
            }
            else
            {
                admtrampando[playerid] = 1;
                if(PlayerInfo[playerid][pAdmin] >= 1340)
                {
                        SendClientMessage(playerid,COLOR_WHITE,"Vocк entrou em modo trabalho.");
                        SetTimerEx("Administrador", 100, true, "i", playerid);
                }
                else
                {
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
                        format(string, 128, "{00BFFF}Admin: %s estб Trabalhando, veja mais em {E0EEE0}/admins",sendername, playerid);
                        SendClientMessageToAll(0xFFFBF8AA, string);
                        SetPlayerToTeamColor(playerid);
                        TempoAdministrador = SetTimerEx("Administrador", 100, true, "i", playerid);
                        getdate(year, month, day);
                        gettime(hour,minute,second);
                        format(gstring, sizeof(gstring), "%s esta trabalhando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
                        AdminLog(gstring);
                }
           }
        }
        return true;
    }
Reply
#3

Valeu amigo,+rep
mas deu isso aki:
pawn Код:
C:\Users\Markos\Documents\SAMP\RPG\gamemodes\PlayLag.pwn(31680) : error 017: undefined symbol "sscanf"
C:\Users\Markos\Documents\SAMP\RPG\gamemodes\PlayLag.pwn(31687) : error 017: undefined symbol "sStr"
C:\Users\Markos\Documents\SAMP\RPG\gamemodes\PlayLag.pwn(31687) : error 017: undefined symbol "sStr"
C:\Users\Markos\Documents\SAMP\RPG\gamemodes\PlayLag.pwn(31687) : error 029: invalid expression, assumed zero
C:\Users\Markos\Documents\SAMP\RPG\gamemodes\PlayLag.pwn(31687) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
Reply
#4

no topo
pawn Код:
#include sscanf
no cmd
pawn Код:
new sStr[80];
Reply
#5

Tem como converter para strtok(ou seja la o que for o nome) ?
Reply
#6

Sim, й possнvel. Sу que й mais recomendado usar sscanf do que strtok.

pawn Код:
if(strcmp(cmd, "/autorizartrampo", true) == 0)
{
    new PlayerB, Adm[MAX_PLAYER_NAME], AdmB[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] < 1340) return SendClientMessage(playerid, -1, "Vocк nгo tem permissгo!");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, -1, "/autorizartrampo [playerid]");
    PlayerB = ReturnUser(tmp);
    AutorizadoT[PlayerB] = 1;
    GetPlayerName(playerid, Adm, sizeof(Adm));
    GetPlayerName(PlayerB, AdmB, sizeof(AdmB));
    format(sStr, sizeof(sStr), "O admin %d %s[%d] autorizou o admin %d %s[%d] a trabalhar!", PlayerInfo[playerid][pAdmin], Adm, playerid, PlayerInfo[playerid][pAdmin], AdmB, PlayerB);
    return 1;
}
Reply
#7

Funciono,valeu ae
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)