Portal SAMP
[Ajuda] Sistema de tag no Chat Para VIPs - 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] Sistema de tag no Chat Para VIPs (/showthread.php?tid=1083)

Páginas: 1 2


Sistema de tag no Chat Para VIPs - LeleziiN - 13/04/2021

Bom Galera eu estou fazendo um sistema de tag no chat para os jogadores VIPs tipo:
Código PHP:
Lelezin:[01 VIPAssunto 
Dessa fome ("Nome do player:[ID do player / Cor do VIP] e o assunto que ele falar").
Bom ai estou tentando fazer com que mude a cor do tag, já fiz todo o sistema mais não está mudando de cor a tag. Poderiam mim ajuda por favor?

Callback OnPlayerText
Código PHP:
if(Vip[playerid] != 0)
    {
        new string[256];
     
/*new pName[MAX_PLAYER_NAME];
        GetPlayerName(playerid,pName,sizeof(pName));*/
    //GetPlayerName(playerid, string, sizeof(string));
        //printf("[CHAT] %s: [%d] %s", PlayerName(playerid), playerid, text);
        //format(string, sizeof(string), "[%02d {1E90FF}VIP{FFFFFF}] %s", playerid, text);
        format(stringsizeof(string), "%s"PlayerName(playerid));
    
    new cor ZN_GetInt(string"CorVIP");
        if(
cor == 1)
        {
            
format(stringsizeof(string), "[%02d {1E90FF}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 2)
        {
            
format(stringsizeof(string), "[%02d {008B00}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if ( 
cor == 3)
        {
            
format(stringsizeof(string), "[%02d {FF00FF}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if( 
cor == 4)
        {
            
format(stringsizeof(string), "[%02d {A020F0}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if( 
cor == 5)
        {
            
format(stringsizeof(string), "[%02d {FF0000}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if( 
cor == 6)
        {
            
format(stringsizeof(string), "[%02d {FF8C00}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 7)
        {
            
format(stringsizeof(string), "[%02d {FFD700}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 8)
        {
            
format(stringsizeof(string), "[%02d {363636}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 9)
        {
            
format(stringsizeof(string), "[%02d {FFFFFF}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 10)
        {
            
format(stringsizeof(string), "[%02d {0504B9}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 11)
        {
            
format(stringsizeof(string), "[%02d {EE6363}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 12)
        {
            
format(stringsizeof(string), "[%02d {5CACEE}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
        else if(
cor == 13)
        {
            
format(stringsizeof(string), "[%02d {00EE76}VIP{FFFFFF}] %s"playeridtext);
            
SendClientMessageToAll(GetPlayerColor(playerid), string);
        }
    } 

Comando em DIALOG para muda a cor
Código PHP:
if(strcmp("/cortvip"cmdtexttrue10) == 0)
    {
        if(
Vip[playerid] != 0)
        {
                        new blogs[500];
            
strins(blogs"{1E90FF}Azul\n",strlen(blogs));
            
strins(blogs"{008B00}Verde\n",strlen(blogs));
            
strins(blogs"{FF00FF}Rosa\n",strlen(blogs));
            
strins(blogs"{A020F0}Roxo\n",strlen(blogs));
            
strins(blogs"{FF0000}Vermelho\n",strlen(blogs));
            
strins(blogs"{FF8C00}Laranja\n",strlen(blogs));
            
strins(blogs"{FFD700}Amarelo\n",strlen(blogs));
            
strins(blogs"{363636}Preto\n",strlen(blogs));
            
strins(blogs"{FFFFFF}Branco\n",strlen(blogs));
            
strins(blogs"{0504B9}Azul Escuro\n",strlen(blogs));
            
strins(blogs"{EE6363}Vermelho Escuro\n",strlen(blogs));
            
strins(blogs"{5CACEE}Azul Claro\n",strlen(blogs));
                        strins(blogs"{00EE76}Verde Claro\n",strlen(blogs));
            
ShowPlayerDialog(playeridDIALOG_COR_VIPDIALOG_STYLE_LIST"{00FF00}» Cores VIP"blogs"Continuar""Fechar");
            return 
1;
        }
        else 
SendClientMessage(playeridCORX1"| ERRO | Você não tem permissão!");
        return 
1;
    } 



RE: Sistema de tag no Chat Para VIPs - zBL4CK - 13/04/2021

não seria melhor vc salvar a cor em si ou seja FFFFFF, 00FF00, ... ou seja
ZN_SetString(string"CorVIP", "00FF00");

EM ONPLAYER TEXT


Código:
format(string, sizeof(string), "[%02d {%s}VIP{FFFFFF}] %s", playerid, ZN_GetInt(string, "CorVIP"), text);
SendClientMessageToAll(GetPlayerColor(playerid), string);



RE: Sistema de tag no Chat Para VIPs - LeleziiN - 13/04/2021

(13/04/2021 18:03)zBL4CK Escreveu: não seria melhor vc salvar a cor em si ou seja FFFFFF, 00FF00, ... ou seja
ZN_SetString(string"CorVIP", "00FF00");

EM ONPLAYER TEXT


Código:
format(string, sizeof(string), "[%02d {%s}VIP{FFFFFF}] %s", playerid, ZN_GetInt(string, "CorVIP"), text);
SendClientMessageToAll(GetPlayerColor(playerid), string);

Mais eu fazendo dessa forma vai funcionar?
____________________________________________
Esse meu sistema tirei como base um que vi na net mano, ai estou tentando desenvolver o meu, pq o resto do sistema VIP já está pronto


RE: Sistema de tag no Chat Para VIPs - zBL4CK - 14/04/2021

(13/04/2021 19:53)LeleziiN Escreveu:
(13/04/2021 18:03)zBL4CK Escreveu: não seria melhor vc salvar a cor em si ou seja FFFFFF, 00FF00, ... ou seja
ZN_SetString(string"CorVIP", "00FF00");

EM ONPLAYER TEXT


Código:
format(string, sizeof(string), "[%02d {%s}VIP{FFFFFF}] %s", playerid, ZN_GetInt(string, "CorVIP"), text);
SendClientMessageToAll(GetPlayerColor(playerid), string);

Mais eu fazendo dessa forma vai funcionar?
____________________________________________
Esse meu sistema tirei como base um que vi na net mano, ai estou tentando desenvolver o meu, pq o resto do sistema VIP já está pronto

sim no meu ta assim e ta funfando


RE: Sistema de tag no Chat Para VIPs - LeleziiN - 14/04/2021

a parte de cima ficaria aonde?


RE: Sistema de tag no Chat Para VIPs - LeleziiN - 14/04/2021

(14/04/2021 00:32)zBL4CK Escreveu:
(13/04/2021 19:53)LeleziiN Escreveu:
(13/04/2021 18:03)zBL4CK Escreveu: não seria melhor vc salvar a cor em si ou seja FFFFFF, 00FF00, ... ou seja
ZN_SetString(string"CorVIP", "00FF00");

EM ONPLAYER TEXT


Código:
format(string, sizeof(string), "[%02d {%s}VIP{FFFFFF}] %s", playerid, ZN_GetInt(string, "CorVIP"), text);
SendClientMessageToAll(GetPlayerColor(playerid), string);

Mais eu fazendo dessa forma vai funcionar?
____________________________________________
Esse meu sistema tirei como base um que vi na net mano, ai estou tentando desenvolver o meu, pq o resto do sistema VIP já está pronto

sim no meu ta assim e ta funfando

Amigo eu não sei como ta seu code ai mais esse exemplo que vc mandou não funfou no meu não, continua mesma coisa ainda sem mudar a cor da tag no chat


RE: Sistema de tag no Chat Para VIPs - k2bi_YT - 14/04/2021

Cara não testei esse code, mas vê se funciona.
Como eu só sei usar a include DOF2, então creio que a ZN deve ser o mesmo esquema, então fiz ela para pegar um valor hexadecimal.
ZN_GetHex (caso não for GetHex, consulte a lista da include para obter um valor hexadecimal).

Código PHP:
if(Vip[playerid] != 0)
{
    new 
string[256];
    new 
cor ZN_GetHex(string"CorVIP");
    
printf("[CHAT] %s: [%d] %s"PlayerName(playerid), playeridtext);
    
format(stringsizeof(string), "%s:[%02d {%06x}VIP{FFFFFF}] %s"PlayerName(playerid), playeridcor>>>8text);
    
SendClientMessageToAll(-1string);


Relembrando, para que a cor funcione corretamente, ela deve ser salva no formato correto. Exemplo: 0xFFFFFFAA (Branco)


RE: Sistema de tag no Chat Para VIPs - LeleziiN - 14/04/2021

(14/04/2021 11:36)k2bi_YT Escreveu: Cara não testei esse code, mas vê se funciona.
Como eu só sei usar a include DOF2, então creio que a ZN deve ser o mesmo esquema, então fiz ela para pegar um valor hexadecimal.
ZN_GetHex (caso não for GetHex, consulte a lista da include para obter um valor hexadecimal).

Código PHP:
if(Vip[playerid] != 0)
{
    new string[256];
    new cor ZN_GetHex(string"CorVIP");
    printf("[CHAT] %s: [%d] %s"PlayerName(playerid), playeridtext);
    format(stringsizeof(string), "%s:[%02d {%06x}VIP{FFFFFF}] %s"PlayerName(playerid), playeridcor>>>8text);
    SendClientMessageToAll(-1string);


Relembrando, para que a cor funcione corretamente, ela deve ser salva no formato correto. Exemplo: 0xFFFFFFAA (Branco)

Então na parte da dialog né eu ponho o formato todo, o correto?

Código PHP:
if(strcmp("/cortvip"cmdtexttrue10) == 0)
    {
        if(
Vip[playerid] != 0)
        {
            new blogs[500];
            
strins(blogs"{1E90FF}Azul\n",strlen(blogs));
            
strins(blogs"{008B00}Verde\n",strlen(blogs));
            
strins(blogs"{FF00FF}Rosa\n",strlen(blogs));
            
strins(blogs"{A020F0}Roxo\n",strlen(blogs));
            
strins(blogs"{FF0000}Vermelho\n",strlen(blogs));
            
strins(blogs"{FF8C00}Laranja\n",strlen(blogs));
            
strins(blogs"{FFD700}Amarelo\n",strlen(blogs));
            
strins(blogs"{363636}Preto\n",strlen(blogs));
            
strins(blogs"{FFFFFF}Branco\n",strlen(blogs));
            
strins(blogs"{0504B9}Azul Escuro\n",strlen(blogs));
            
strins(blogs"{EE6363}Vermelho Escuro\n",strlen(blogs));
            
strins(blogs"{5CACEE}Azul Claro\n",strlen(blogs));
            strins(blogs"{00EE76}Verde Claro\n",strlen(blogs));
            
ShowPlayerDialog(playeridDIALOG_COR_VIPDIALOG_STYLE_LIST"{00FF00}» Cores VIP"blogs"Continuar""Fechar");
            return 
1;
        }
        else 
SendClientMessage(playeridCORX1"| ERRO | Você não tem permissão!");
        return 
1;
    } 

Código PHP:
if(dialogid == DIALOG_COR_VIP)
    {
        if(
response)
        {
            new string[256];
               ZN_SetInt(string"CorVIP", (listitem 1) );
               ZN_SaveFile();
               SendClientMessage(playerid, -1"Cor alterada com sucesso!");
        }
    } 



RE: Sistema de tag no Chat Para VIPs - k2bi_YT - 14/04/2021

Fiz aqui como exemplo para você ver, caso queira adicionar mais cores.... será facil de entender

Código PHP:
if(strcmp("/cortvip"cmdtexttrue10) == 0)
    {
        if(Vip[playerid] != 0)
        {
            new blogs[500];
            strins(blogs"{1E90FF}Azul\n",strlen(blogs));
            strins(blogs"{008B00}Verde\n",strlen(blogs));
            strins(blogs"{FF00FF}Rosa\n",strlen(blogs));
            strins(blogs"{A020F0}Roxo\n",strlen(blogs));
            strins(blogs"{FF0000}Vermelho\n",strlen(blogs));
            strins(blogs"{FF8C00}Laranja\n",strlen(blogs));
            strins(blogs"{FFD700}Amarelo\n",strlen(blogs));
            strins(blogs"{363636}Preto\n",strlen(blogs));
            strins(blogs"{FFFFFF}Branco\n",strlen(blogs));
            strins(blogs"{0504B9}Azul Escuro\n",strlen(blogs));
            strins(blogs"{EE6363}Vermelho Escuro\n",strlen(blogs));
            strins(blogs"{5CACEE}Azul Claro\n",strlen(blogs));
            strins(blogs"{00EE76}Verde Claro\n",strlen(blogs));
            ShowPlayerDialog(playeridDIALOG_COR_VIPDIALOG_STYLE_LIST"{00FF00}» Cores VIP"blogs"Continuar""Fechar");
            return 1;
        }
        else SendClientMessage(playeridCORX1"| ERRO | Você não tem permissão!");
        return 1;
    

if(
dialogid == DIALOG_COR_VIP)
{
    if(response)
    {
        new str[128];
        new cor;
        switch(listitem)
        {
          case 0cor 0x1E90FFAA;//Azul
case 1cor 0x008B00AA;//Verde
case 2cor 0xFF00FFAA;//Rosa
case 3cor 0xA020F0AA;//Roxo
case 4cor 0xFF0000AA;//Vermelho
case 5cor 0xFF8C00AA;//Laranja
case 6cor 0xFFD700AA;//Amarelo
case 7cor 0x363636AA;//Preto
case 8cor 0xFFFFFFAA;//Branco
case 9cor 0x0504B9AA;//Azul Escuro
case 10cor 0xEE6363AA;//Vermelho Escuro
case 11cor 0x5CACEEAA;//Azul Claro
case 12cor 0x00EE76AA;//Verde Claro
        }
        ZN_SetHex(string"CorVIP"cor);
            ZN_SaveFile();
            format(str128"[COR VIP]:{%06x}Essa é a nova cor VIP."cor>>>8);
  SendClientMessage(playerid, -1str);
    }




RE: Sistema de tag no Chat Para VIPs - LeleziiN - 14/04/2021

(14/04/2021 11:54)k2bi_YT Escreveu: Fiz aqui como exemplo para você ver, caso queira adicionar mais cores.... será facil de entender

Código PHP:
if(strcmp("/cortvip"cmdtexttrue10) == 0)
    {
        if(Vip[playerid] != 0)
        {
            new blogs[500];
            strins(blogs"{1E90FF}Azul\n",strlen(blogs));
            strins(blogs"{008B00}Verde\n",strlen(blogs));
            strins(blogs"{FF00FF}Rosa\n",strlen(blogs));
            strins(blogs"{A020F0}Roxo\n",strlen(blogs));
            strins(blogs"{FF0000}Vermelho\n",strlen(blogs));
            strins(blogs"{FF8C00}Laranja\n",strlen(blogs));
            strins(blogs"{FFD700}Amarelo\n",strlen(blogs));
            strins(blogs"{363636}Preto\n",strlen(blogs));
            strins(blogs"{FFFFFF}Branco\n",strlen(blogs));
            strins(blogs"{0504B9}Azul Escuro\n",strlen(blogs));
            strins(blogs"{EE6363}Vermelho Escuro\n",strlen(blogs));
            strins(blogs"{5CACEE}Azul Claro\n",strlen(blogs));
            strins(blogs"{00EE76}Verde Claro\n",strlen(blogs));
            ShowPlayerDialog(playeridDIALOG_COR_VIPDIALOG_STYLE_LIST"{00FF00}» Cores VIP"blogs"Continuar""Fechar");
            return 1;
        }
        else SendClientMessage(playeridCORX1"| ERRO | Você não tem permissão!");
        return 1;
    

if(
dialogid == DIALOG_COR_VIP)
{
    if(response)
    {
        new str[128];
        new cor;
        switch(listitem)
        {
          case 0cor 0x1E90FFAA;//Azul
case 1cor 0x008B00AA;//Verde
case 2cor 0xFF00FFAA;//Rosa
case 3cor 0xA020F0AA;//Roxo
case 4cor 0xFF0000AA;//Vermelho
case 5cor 0xFF8C00AA;//Laranja
case 6cor 0xFFD700AA;//Amarelo
case 7cor 0x363636AA;//Preto
case 8cor 0xFFFFFFAA;//Branco
case 9cor 0x0504B9AA;//Azul Escuro
case 10cor 0xEE6363AA;//Vermelho Escuro
case 11cor 0x5CACEEAA;//Azul Claro
case 12cor 0x00EE76AA;//Verde Claro
        }
        ZN_SetHex(string"CorVIP"cor);
            ZN_SaveFile();
            format(str128"[COR VIP]:{%06x}Essa é a nova cor VIP."cor>>>8);
  SendClientMessage(playerid, -1str);
    }


Mano não mudou a cor do tag no chat não, mais nessa parte a cor muda
Código PHP:
format(str128"[COR VIP]:{%06x}Essa é a nova cor VIP."cor>>>8);