Portal SAMP
[Ajuda] /aviso com cada cargo administrativo - 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] /aviso com cada cargo administrativo (/showthread.php?tid=2377)



/aviso com cada cargo administrativo - jnXX - 10/05/2022

Opa, eu tava tentando fazer um /avisar com que aparecesse o cargo administrativo do admin antes do nick mas não tava conseguindo, ai achei um da net mas deu muitos erros. Poderiam me ajudar porfavor?
Codigo abaixo
Código:
    CMD:avisar(playerid, params[])  return ForT:av(playerid, params);
    CMD:av(playerid, result[])
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COR_GRAD1, "Você não tem autorização para usar este Comando!");
                return 1;
            }
            if(AdminTrabalhando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1340) if(AdminTrabalhando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1341) if(AdminTrabalhando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                SendClientMessage(playerid, COR_GRAD1, "Você não está trabalhando! (/trabalhar)");
                return 1;
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            if(isnull(result))
            {
                SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: (/av)isar [texto]");
                return 1;
            }
            if(TentouDivulgar(result) && PlayerInfo[playerid][pAdmin] != 1340 && PlayerInfo[playerid][pAdmin] != 1341 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                GetPlayerName(playerid, playernameZCMD, MAX_PLAYER_NAME);
                format(stringZCMD, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,playernameZCMD,result);
                ABroadCast(COR_AMARELO,stringZCMD,1);
                DivulgouLog(stringZCMD);
                return 1;
   }
   if(dialogid == 9948)
        {
        if(!response) { return 1; }
        switch(listitem)
        {
            case 0:
            {
                if(!strcmp(NomePlayer(playerid), "jnX", true))
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Scripter, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1342
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Fundador, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1341)
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Dono, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1340)
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Diretor-Geral, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1339)
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Diretor, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1338
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Gerente, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1337
                   {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Master, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 4
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Administrador, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                   else if(PlayerInfo[playerid][pAdmin] == 3
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Adm Aprendiz, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 2)
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Moderador, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1)
                {
                    SendClientMessageToAll(0xFF1493FF, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(string, sizeof(string), "Helper, {19EA65}%s{ffffff}: Está precisando de ajuda? Não sabe como começar? Digite: /duvida ou /relatorio", PlayerName(playerid));
                    SendClientMessageToAll(0xFF1493FF, string);
                 }
        return 1;
}



RE: /aviso com cada cargo administrativo - xbruno1000x - 10/05/2022

Se você não postar os erros, não temos como saber a solução.


RE: /aviso com cada cargo administrativo - White_Blue - 10/05/2022

Posta os erros que o compilador printou.


RE: /aviso com cada cargo administrativo - jnXX - 10/05/2022

C:\servidor\pawno\include\evf.inc(842) : error 017: undefined symbol "EVF_OnPlayerUpdate"
C:\servidor\gamemodes\teste.pwn(5252) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5274) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5296) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5319) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5341) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5364) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5387) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5410) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5432) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(5457) : error 017: undefined symbol "ClearChatbox"
C:\servidores\gamemodes\teste.pwn(7999) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8025) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8052) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8070) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8084) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8098) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8113) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8129) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8145) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8170) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8187) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8200) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8213) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8226) : error 017: undefined symbol "ProxDetector"
C:\servidores\gamemodes\teste.pwn(8240) : error 017: undefined symbol "ProxDetector"

Fiz algumas mudanças é deu somente 6 erros agora.
Código:
    CMD:avisar(playerid, params[])  return ForT:av(playerid, params);
    CMD:av(playerid, result[])
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pAdmin] < 1)
            {
                SendClientMessage(playerid, COR_GRAD1, "Você não tem autorização para usar este Comando!");
                return 1;
            }
            if(AdminTrabalhando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1340) if(AdminTrabalhando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1341) if(AdminTrabalhando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                SendClientMessage(playerid, COR_GRAD1, "Você não está trabalhando! (/trabalhar)");
                return 1;
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            if(isnull(result))
            {
                SendClientMessage(playerid, COR_GRAD2, "{0099ff}×{ffffff} USE: (/av)isar [texto]");
                return 1;
            }
            if(TentouDivulgar(result) && PlayerInfo[playerid][pAdmin] != 1340 && PlayerInfo[playerid][pAdmin] != 1341 && PlayerInfo[playerid][pAdmin] != 1342)
            {
                GetPlayerName(playerid, playernameZCMD, MAX_PLAYER_NAME);
                format(stringZCMD, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,playernameZCMD,result);
                ABroadCast(COR_AMARELO,stringZCMD,1);
                DivulgouLog(stringZCMD);
                return 1;
                   }
                if(!strcmp(NomePlayer(playerid), "jnX", true))
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Scripter, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1342
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Fundador, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1341)
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Dono, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1340)
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Diretor-Geral, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1339)
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Diretor, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1338
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Gerente, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1337
                   {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Master, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 4
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Administrador, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                   else if(PlayerInfo[playerid][pAdmin] == 3
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Adm Aprendiz, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 2)
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Moderador, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                }
                else if(PlayerInfo[playerid][pAdmin] == 1)
                {
                    SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
                    format(stringZCMD, sizeof(stringZCMD), "Helper, {19EA65}%s{ffffff}: %s", sendername, result);
                    SendClientMessageToAll(COR_BRANCO, stringZCMD);
                 }
        return 1;
}
C:\testando servidores\gamemodes\teste.pwn(76150) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76150) : error 017: undefined symbol "NomePlayer"
C:\testando servidores\gamemodes\teste.pwn(76157) : error 029: invalid expression, assumed zero
C:\testando servidores\gamemodes\teste.pwn(76181) : error 029: invalid expression, assumed zero
C:\testando servidores\gamemodes\teste.pwn(76187) : error 029: invalid expression, assumed zero
C:\testando servidores\gamemodes\teste.pwn(76193) : error 029: invalid expression, assumed zero
C:\testando servidores\gamemodes\teste.pwn(76199) : error 029: invalid expression, assumed zero
C:\testando servidores\gamemodes\teste.pwn(76204) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76216) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76218) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76221) : warning 209: function "cmd_av" should return a value

Agora ta dando somente 1 warning

C:\testando servidores\gamemodes\teste.pwn(76150) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76210) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76212) : loose indentation
C:\testando servidores\gamemodes\teste.pwn(76215) : warning 209: function "cmd_av" should return a value

Agora quando eu tiro o codigo base q usei no servidor que é esse:
Código:
   }
            SendClientMessageToAll(COR_BRANCO, "× × {19EA65}AVISO ADMINISTRATIVO{FFFFFF} × ×");
            format(stringZCMD, sizeof(stringZCMD), "Staff {19EA65}%s{FFFFFF}: %s", sendername, result);
            SendClientMessageToAll(COR_BRANCO, stringZCMD);
}

Ele dá 26 erros .-.

C:\testando servidores\gamemodes\teste.pwn(7999) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8025) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8052) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8070) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8084) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8098) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8113) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8129) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8145) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8170) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8187) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8200) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8213) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8226) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8240) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8254) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8298) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8314) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8326) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8338) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8350) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8362) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8375) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8422) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8438) : error 017: undefined symbol "ProxDetector"
C:\testando servidores\gamemodes\teste.pwn(8450) : error 017: undefined

O que poderia ser? não entendo quase nada de pawno é to querendo aprender.


RE: /aviso com cada cargo administrativo - White_Blue - 10/05/2022

Verifica se você errou algum caractere das funções que printaram o erro "Undefined Symbol" Se não errou nenhum caractere refaça seus passos até a compilação do script pois você pode ter esquecido de fechar alguma chave no código pois isso é oque geralmente dá os 26 erros no script, e os warnings "loose indentation" é que o código das linhas printadas no warning não estão devidamente alinhados com o return da função.


RE: /aviso com cada cargo administrativo - xbruno1000x - 10/05/2022

Você precisa pegar as stocks do GM que retirou o código. Tá faltando a stock ProxDetector.


RE: /aviso com cada cargo administrativo - Luiz - 10/05/2022

Recomendo que aprenda a fazer seu próprio, uma vez que não é nada muito complexo.

Código PHP:
Cargo(playerid)
{
    new 
string[128];
    if(
pInfo[playerid][Admin] == 1) { string "Ajudante"; }
    else if(
pInfo[playerid][Admin] == 2) { string "Moderador"; }
    else if(
pInfo[playerid][Admin] == 3) { string "Administrador"; }
    return 
string;


Forma de uso:
Código PHP:
new string[128], pname[MAX_PLAYER_NAME];
GetPlayerName(playeridpnameMAX_PLAYER_NAME);
format(string128"O %s %s executou esse comando."Cargo(playerid), pname);
SendClientMessageToAll(-1string);