Portal SAMP
[Ajuda] me ajudem chat de profissao - 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] me ajudem chat de profissao (/showthread.php?tid=4716)



me ajudem chat de profissao - Sr_Nublein - 23/04/2024

entao eu tentei  fazer um chat de profissao deu certo mas só tinha um problema que tentei resolver e nao consegui que é mesmo que voce seja de outra profissao e voce enviar uma mensagem no chat da profissao os outros via os outros da outro profissao tipo só policia ae dei "/cp ola" ae as outras profissoes tipo lixeiro bombeiro ect conseguia ver oque eu escrevi mesmo ele nao sendo da policia nao sei se vcs  vao entender mas vo passar o meu codigo

Código:
CMD:cp(playerid, params[])
{
    new str[150], Texto[160];
    if(Admin[playerid][pEmprego] == Desempregado)
    {
        SendClientMessage(playerid, 0xFF0000FF, "Voce nao tem um emprego");
    }
    
       for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == PizzaBoy)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{FAAC58}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }


    }
       for(new i = 0; i < MAX_PLAYERS; i++)
    {

        if(Admin[i][pEmprego] == MotoBoy)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{6E6E6E}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }

    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Dnit)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{088A85}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Jornalista)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{04B431}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Petroleiro)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{424242}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Minerador)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{585858}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Transportadordedrogas)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{FA5858}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Transportadordemaconha)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{F5A9A9}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Assaltante)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{B40404}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


      return 1;
}
ta ae eu nao sei no que eu errei por isso que postei este topico


RE: me ajudem chat de profissao - White_Blue - 23/04/2024

(23/04/2024 18:30)Sr_Nublein Escreveu: entao eu tentei  fazer um chat de profissao deu certo mas só tinha um problema que tentei resolver e nao consegui que é mesmo que voce seja de outra profissao e voce enviar uma mensagem no chat da profissao os outros via os outros da outro profissao tipo só policia ae dei "/cp ola" ae as outras profissoes tipo lixeiro bombeiro ect conseguia ver oque eu escrevi mesmo ele nao sendo da policia nao sei se vcs  vao entender mas vo passar o meu codigo

Código:
CMD:cp(playerid, params[])
{
    new str[150], Texto[160];
    if(Admin[playerid][pEmprego] == Desempregado)
    {
        SendClientMessage(playerid, 0xFF0000FF, "Voce nao tem um emprego");
    }
    
       for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == PizzaBoy)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{FAAC58}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }


    }
       for(new i = 0; i < MAX_PLAYERS; i++)
    {

        if(Admin[i][pEmprego] == MotoBoy)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{6E6E6E}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }

    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Dnit)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{088A85}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Jornalista)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{04B431}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Petroleiro)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{424242}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Minerador)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{585858}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Transportadordedrogas)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{FA5858}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Transportadordemaconha)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{F5A9A9}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(Admin[i][pEmprego] == Assaltante)
        {
               if(sscanf(params, "s[160]", Texto)) return SendClientMessage(playerid, 0xFF0000FF, "Use /cp [Texto]");
            format(str, 200, "{B40404}Chat-Profissao: %s: Diz: %s", pName(playerid), Texto);
            SendClientMessage(i, -1, str);
        }
    }


      return 1;
}
ta ae eu nao sei no que eu errei por isso que postei este topico

Tente com a função:

Código PHP:
stock SendProfMessage(profidcolor, const content[]) {
      for(new 
0MAX_PLAYERSi++) {
         if(!
IsPlayerConnected(i)) continue;

         if(
Admin[i][pEmprego] == profid) {
            
SendClientMessage(icolorcontent);
         }
      }
}

// Exemplo de uso:
CMD:cp(playeridparams[]) {
    new 
message[128], string[128], name[MAX_PLAYER_NAME+1];

    if(
sscanf(params"s[128]"message)) return SendClientMessage(playerid, -1"/cp [mensagem]");
    if(
Admin[playerid][pEmprego] == Desempregado) return SendClientMessage(playerid, -1"Você não tem um emprego");

    
GetPlayerName(playeridnamesizeof(name));
    
format(stringsizeof(string), "Chat-Profissão: %s diz %s"namemessage);

    
SendProfMessage(Admin[playerid][pEmprego], -1string);
    return 
1;




RE: me ajudem chat de profissao - Sr_Nublein - 23/04/2024

ta voce me ajudou muito valeu mas man tipo e se eu quissese colocar cor nas mensagens depedendo da prof que ele é? como que eu faria isso?


RE: me ajudem chat de profissao - White_Blue - 23/04/2024

(23/04/2024 19:26)Sr_Nublein Escreveu: ta voce me ajudou muito valeu mas man tipo e se eu quissese colocar cor nas mensagens depedendo da prof que ele é? como que eu faria isso?

Se a cor da profissão é a cor do jogador, é bem simples:

Código PHP:
format(stringsizeof(string), "Chat-Profissão: {%06x}%s diz %s"GetPlayerColor(playerid) >>> 8namemessage); 



RE: me ajudem chat de profissao - Sr_Nublein - 23/04/2024

valeu pela dica e eu tambei descobri o jeito


if(Admin[playerid][pEmprego] == PizzaBoy)
{
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Chat-Profissão: %s diz %s", name, message);

SendProfMessage(Admin[playerid][pEmprego], -1, string);
}
if(Admin[playerid][pEmprego] == MotoBoy)
{
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "{6E6E6E}Chat-Profissão: %s diz %s", name, message);

SendProfMessage(Admin[playerid][pEmprego], -1, string);
}