Portal SAMP
[Ajuda] Está sunstituindo o acima - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Está sunstituindo o acima (/showthread.php?tid=4825)



Está sunstituindo o acima - Whaispe - 04/07/2024

Rapaziada eu tentei criar um sistema para quando admin estiver em trabalho no chat aparece o cargo dele mas todos estao como "ajudante" quando entra em trabalho aqui esta o codigo



concerteza deve ser algo bem simples mas nao faco menor ideia...


por algum motivo ficou tudo colorido foi mal ;-;




Código PHP:
if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 1)

    {

        new string[500];

        format(string500"{ffffff}[{c4f808}Aprendiz{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    }

    else if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 2)

    {

        new string[500];

        format(string500"{ffffff}[{ecfd00}Ajudante{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    }

    else if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 3)

    {

        new string[500];

        format(string500"{ffffff}[{d400e7}Moderador{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    }

    else if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 4)

    {

        new string[500];

        format(string500"{ffffff}[{00ff15}Administrador{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    



Consegui resolver já


RE: Está sunstituindo o acima - White_Blue - 04/07/2024

(04/07/2024 17:50)Whaispe Escreveu: Rapaziada eu tentei criar um sistema para quando admin estiver em trabalho no chat aparece o cargo dele mas todos estao como "ajudante" quando entra em trabalho aqui esta o codigo



concerteza deve ser algo bem simples mas nao faco menor ideia...


por algum motivo ficou tudo colorido foi mal ;-;




Código PHP:
if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 1)

    {

        new string[500];

        format(string500"{ffffff}[{c4f808}Aprendiz{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    }

    else if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 2)

    {

        new string[500];

        format(string500"{ffffff}[{ecfd00}Ajudante{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    }

    else if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 3)

    {

        new string[500];

        format(string500"{ffffff}[{d400e7}Moderador{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    }

    else if (Trabalhando[playerid] > && GetPlayerAdmin(playerid) < 4)

    {

        new string[500];

        format(string500"{ffffff}[{00ff15}Administrador{ffffff}]{ffffff}%s(%d): %s"PlayerName(playerid), playeridtext);

        SendClientMessageInRange(10.0playeridstring, -1, -1, -1, -1, -1);

        return 0;

    



Consegui resolver já

Citar:
Código:
if (Trabalhando[playerid] > 0 && GetPlayerAdmin(playerid) < 1)

Há alguns problemas de lógica no seu código. Acontece que você está verificando se o valor retornado por `GetPlayerAdmin` é menor que 1 (ou seja, todo valor que seja menor ou igual a 0) para que tenha a tag de aprendiz, o que não faz sentido nesse caso, pois todos os jogadores terão a tag de aprendiz segundo essa lógica. Você deve verificar se é igual a um, não menor que 1.


RE: Está sunstituindo o acima - xbruno1000x - 04/07/2024

Tem um problema grande de lógica no seu código que considera o admin nível 0 como admin aprendiz. O correto seria o nível 0 não ser admin, começar a partir do level 1.

Fiz algumas mudanças no código:

Código:
if (Trabalhando[playerid] > 0)
{
    new string[500];
    switch (GetPlayerAdmin(playerid))
    {
        case 1:
        {
            format(string, 500, "{ffffff}[{c4f808}Aprendiz{ffffff}]{ffffff}%s(%d): %s", PlayerName(playerid), playerid, text);
            break;
        }
        case 2:
        {
            format(string, 500, "{ffffff}[{ecfd00}Ajudante{ffffff}]{ffffff}%s(%d): %s", PlayerName(playerid), playerid, text);
            break;
        }
        case 3:
        {
            format(string, 500, "{ffffff}[{d400e7}Moderador{ffffff}]{ffffff}%s(%d): %s", PlayerName(playerid), playerid, text);
            break;
        }
        case 4:
        {

            format(string, 500, "{ffffff}[{00ff15}Administrador{ffffff}]{ffffff}%s(%d): %s", PlayerName(playerid), playerid, text);
            break;
        }
    }
    SendClientMessageInRange(10.0, playerid, string, -1, -1, -1, -1, -1);
    return 0;
}