Poblema com OnPlayerText - Cifra Modder - 10/10/2023
Alguém me ajuda com isso:
Código: //SE ELE NAO FOR ADMIN E NAO FOR VIP↓
if(InfoConta[playerid][Admin] == 0 || InfoConta[playerid][Vips] == 0)
{
new string[256];
format(string, sizeof(string),"%s[%d]: %s", PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
//AGORA SE ELE NAO FOR ADMIN TBM E ELE FOR VIP↓
else if(InfoConta[playerid][Admin] == 0 || InfoConta[playerid][Vips] > 0)
{
new string[256];
format(string, sizeof(string),"[%s{FFFFFF}]%s[%d]: %s", NomeTagVip(InfoConta[playerid][Vips]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
//AGORA SE ELE FOR ADMIN E ELE NAO TIVER VIP↓
else if(InfoConta[playerid][Admin] > 0 && InfoConta[playerid][Vips] == 0)
{
new string[256];
format(string, sizeof(string),"[%s{FFFFFF}]%s[%d]: %s", NomeCargoAdmin(InfoConta[playerid][Admin]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
//AGORA SE ELE TIVER ADMIN E TIVER VIP↓
else if(InfoConta[playerid][Admin] > 0 || InfoConta[playerid][Vips] > 0)
{
new string[256];
format(string, sizeof(string),"[%s{FFFFFF}][%s{FFFFFF}]%s[%d]: %s", NomeCargoAdmin(InfoConta[playerid][Admin]), NomeTagVip(InfoConta[playerid][Vips]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
//AGORA SE ELE TIVER ADMIN E NAO TIVER TRABALHANDO E NAO TIVER VIP↓
else if(InfoConta[playerid][Admin] > 0 || AdminTrabalhando[playerid] == 0 || InfoConta[playerid][Vips] == 0)
{
new string[256];
format(string, sizeof(string),"[%s{FFFFFF}]%s[%d]: %s", NomeCargoAdmin(InfoConta[playerid][Admin]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
//AGORA SE ELE FOR ADMIN E NAO TIVER TRABALHANDO E TIVER VIP↓
else if(InfoConta[playerid][Admin] > 0 || AdminTrabalhando[playerid] == 0 || InfoConta[playerid][Vips] > 0)
{
new string[256];
format(string, sizeof(string),"[%s{FFFFFF}][%s{FFFFFF}]%s[%d]: %s", NomeCargoAdmin(InfoConta[playerid][Admin]), NomeTagVip(InfoConta[playerid][Vips]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
//AGORA SE ELE FOR ADMIN E SE ELE TIVER TRABALHANDO E ELE NAO TIVER VIP↓
else if(InfoConta[playerid][Admin] > 0 && AdminTrabalhando[playerid] == 1 || InfoConta[playerid][Vips] == 0)
{
new string[256];
format(string, sizeof(string),"{EE82EE}[%s{EE82EE}]%s[%d]:{FFFFFF} %s", NomeCargoAdmin(InfoConta[playerid][Admin]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN);
return 0;
}
//AGORA SE ELE FOR ADMIN E TIVER TRABALHANDO E TIVER VIP↓
else if(InfoConta[playerid][Admin] > 0 && AdminTrabalhando[playerid] == 1 || InfoConta[playerid][Vips] > 0)
{
new string[256];
format(string, sizeof(string),"{EE82EE}[%s{EE82EE}][%s{EE82EE}]{EE82EE}%s[%d]:{FFFFFF} %s", NomeCargoAdmin(InfoConta[playerid][Admin]), NomeTagVip(InfoConta[playerid][Vips]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN);
}
Mesmo eu sendo administrador do servidor minha TAG não aparece
RE: Poblema com OnPlayerText - leonardos08bt - 10/10/2023
Você pode fazer isso usando strcat fica muito mais simples do que ficar verificando condição por condição.
Código simplificado:
Código: public OnPlayerText(playerid, text[])
{
if(!IsPlayerConnected(playerid)) return 0; //Substitua a verificacao e verifique se o jogador acertou a senha da conta e logou.
new string[256], fmat_str[64];
//Admin Trabalhando + tem vip
if(InfoConta[playerid][Admin] > 0 && AdminTrabalhando[playerid] == 1 && InfoConta[playerid][Vips] > 0)
{
format(string, sizeof(string),"[%s][%s] %s[%d]: %s", NomeCargoAdmin(InfoConta[playerid][Admin]), NomeTagVip(InfoConta[playerid][Vips]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN);
return 0;
}
//Admin Trabalhando + tem vip
if(InfoConta[playerid][Admin] > 0 && AdminTrabalhando[playerid] == 1)
{
format(string, sizeof(string),"[%s] %s[%d]: %s", NomeCargoAdmin(InfoConta[playerid][Admin]), PlayerName(playerid), playerid, text);
JogadoresProximo(6.0, playerid, string, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN, COR_ADMIN);
return 0;
}
//Conta ADMIN
if(InfoConta[playerid][Admin] > 0) {
format(fmat_str, sizeof(fmat_str),"[%s]", NomeCargoAdmin(InfoConta[playerid][Admin])); //Formata a TAG ADMIN
strcat(string, fmat_str); //Coloca na 'string' o armazenado do 'fmat_str'
}
//Conta VIP
if(InfoConta[playerid][Vips] > 0) {
format(fmat_str, sizeof(fmat_str),"[%s]", NomeTagVip(InfoConta[playerid][Vips])); //Formata a TAG VIP
strcat(string, fmat_str); //Coloca na 'string' o armazenado do 'fmat_str'
}
format(fmat_str, sizeof(fmat_str)," %s[%d]: %s", PlayerName(playerid), playerid, text); //Formata a mensagem.
strcat(string, fmat_str); //Coloca na 'string' o armazenado do 'fmat_str'
JogadoresProximo(6.0, playerid, string, -1, -1, -1, -1, -1);
return 0;
}
RE: Poblema com OnPlayerText - pushline - 10/10/2023
Tenha em mente que o output máximo do OnPlayerText é 144 caracteres, então se você quiser quebrar as mensagens em linhas, use esta include: https://github.com/Open-GTO/zmessage
Inclua-a antes de qualquer include que mexa com texto (tal como y_va)
|