[Ajuda] OnPlayerText
#1

Boa noite, estou arrumando o meu OnPlayerText, e depois de tanto mexer e deixar melhor, percebi que tinha uma falha, mas to sem ideia pra corregir

O que acontece й o seguinte

PHP Code:
hook OnPlayerText(playerid,text[])
{
    new 
Celulas[128];
    if(
calado[playerid] == true)
    {
    
SendClientMessage(playerid,lk,"Vocк foi calado por um membro da staff, sу podera falar apуs ser descalado !");
    return 
0;
    }
    
//TAG STAFF
    
if(PlayerInfo[playerid][pAdmin] >= 0){
    
format(Celulas, sizeof(Celulas), "%s[%d]%s {FFFFFF}: %s", NomePlayer(playerid),playerid, CargoFala(playerid), text);
    
ProxDetector(20.0, playerid, Celulas, GetPlayerColor(playerid), GetPlayerColor(playerid), GetPlayerColor(playerid), GetPlayerColor(playerid), GetPlayerColor(playerid));
    return 
false;
  }
  return 
0;
  } 
Como da pra ver, essa funзгo ai substitui 5 cargos, Ajudante Mod Admin Sub dono, Staff e Player que nгo tem cargo, sу que quando seta o vip, o chat fica duplo, em player sem cargo e com a tag vip, eu queria colocar que quando o player fosse vip esse chat ai de cima fosse desabilitado pra ele, e sу fosse habilitado quando o vip acabasse ... aqui й o OnPlayerText com o vip

PHP Code:
hook OnPlayerText(playerid, text[])
{
    if(
IsPlayerVIP(playerid))
    {
        
format(Str2, sizeof(Str2), "/Vips/Users/%s.ini", PlayerName(playerid));
        
//format ( Str2, sizeof Str2, VIP_USERS, PlayerName);
        
new cor = DOF2_GetInt(Str2, "CorVIP");
        
format(Str2, sizeof(Str2), "%s: {FFFFFF}[%d] [{%s}VIP{FFFFFF}] %s", PlayerName(playerid), playerid, cor == 1 ? ("FF00FF") : cor == 2 ? ("FFFF00") : cor == 3 ? ("FFA500") : cor == 4 ? ("00FF00") : cor == 5 ? ("00FFFF") : cor == 6 ? ("0000FF") : cor == 7 ? ("B5B5B5") : cor == 8 ? ("FF0000") : ("FFFFFF"), text);
        
SendClientMessageToAll(GetPlayerColor(playerid), Str2);
        return 
0;
    }
    return 
1;
} 
Sem cargo e sem vip fica assim >> https://imgur.com/a/RbywMdJ

E com VIP fica assim >> https://imgur.com/a/yKCVQnS

Eu gostaria que nгo ficasse esse chat duplo, e que ficasse normal tipo Ryuzaki[0][VIP]: Opa boa noite !
Reply
#2

PHP Code:
hook OnPlayerText(playerid, text[]) 
{ 
    if(
IsPlayerVIP(playerid)) 
    { 
        
format(Str2, sizeof(Str2), "/Vips/Users/%s.ini", PlayerName(playerid)); 
        
//format ( Str2, sizeof Str2, VIP_USERS, PlayerName); 
        
new cor = DOF2_GetInt(Str2, "CorVIP"); 
        
format(Str2, sizeof(Str2), "%s: {FFFFFF}[%d] [{%s}VIP{FFFFFF}] %s", PlayerName(playerid), playerid, cor == 1 ? ("FF00FF") : cor == 2 ? ("FFFF00") : cor == 3 ? ("FFA500") : cor == 4 ? ("00FF00") : cor == 5 ? ("00FFFF") : cor == 6 ? ("0000FF") : cor == 7 ? ("B5B5B5") : cor == 8 ? ("FF0000") : ("FFFFFF"), text); 
        
SendClientMessageToAll(GetPlayerColor(playerid), Str2); 
        return 
0; 
    } 
    return 
1; 
} 
Pela segunda vez: A public OnPlayerText deve retornar a 0... Altere o ultimo return
Reply
#3

Quote:
Originally Posted by NWDMadara
View Post
PHP Code:
hook OnPlayerText(playerid, text[]) 
{ 
    if(
IsPlayerVIP(playerid)) 
    { 
        
format(Str2, sizeof(Str2), "/Vips/Users/%s.ini", PlayerName(playerid)); 
        
//format ( Str2, sizeof Str2, VIP_USERS, PlayerName); 
        
new cor = DOF2_GetInt(Str2, "CorVIP"); 
        
format(Str2, sizeof(Str2), "%s: {FFFFFF}[%d] [{%s}VIP{FFFFFF}] %s", PlayerName(playerid), playerid, cor == 1 ? ("FF00FF") : cor == 2 ? ("FFFF00") : cor == 3 ? ("FFA500") : cor == 4 ? ("00FF00") : cor == 5 ? ("00FFFF") : cor == 6 ? ("0000FF") : cor == 7 ? ("B5B5B5") : cor == 8 ? ("FF0000") : ("FFFFFF"), text); 
        
SendClientMessageToAll(GetPlayerColor(playerid), Str2); 
        return 
0; 
    } 
    return 
1; 
} 
Pela segunda vez: A public OnPlayerText deve retornar a 0... Altere o ultimo return
Mesmo alterando o return o problema ainda nгo й esse, o chat continua multiplicado ...
Reply
#4

Criando umas variбvel consegui, Tуpico resolvido
Reply
#5

era sу usar else if

PHP Code:
if(IsPlayerVIP(playerid)) Aqui vocк da preferкncia pra vip ou staff, ou seja, caso o staff seja VIP, primeiro apareзa a tag vip
{
}
else if(
IsPlayerStaff(playerid))
{
}
else 
// Chat Normal, para jogadores que nгo sгo staffs ou vips
{
} 
Reply
#6

Quote:
Originally Posted by NWDMadara
View Post
era sу usar else if

PHP Code:
if(IsPlayerVIP(playerid)) Aqui vocк dar preferкncia pra vip ou staff, ou seja, caso o staff seja VIP, primeiro apareзa a tag vip
{
}
else if(
IsPlayerStaff(playerid))
{
}
else 
// Chat Normal, para jogadores que nгo sгo staffs ou vips
{
} 
Bom, funcionou, nгo tem mais conflito entre Player Admin e VIP obrigado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)