[Ajuda] Trocar tag
#1

Olб pessoal do fуrum, bom eu queria saber o que tem de errado com meu codigo, pois, estou fazendo uma comando para que um player que seja adm e vip ao mesmo tempo possa escolher a tag que vai ficar na frente do seu nick no chat global, por exemplo

Caso queira a tag [ADM]:
PHP код:
[ADM]DarthVader [ID0]: Olб mundo // hehe 
Caso queira a tag [VIP]:
PHP код:
[VIP]DarthVader [ID0]: Olб mundo // hehe 
Eu fiz esse cуdigo com uma booleana para usar apenas valor verdadeiros e falsos

PHP код:
new bool:MudarTag;
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if (
dialogid == DIALOG_MUDARTAG)
    {
         if(
response)
         {
             if(
listitem == 0)
             {
                new 
Str[800];
                if(
APlayerData[playerid][PlayerLevel] > && APlayerData[playerid][VIP] > 0strcat(Str"[{006400}ADMIN{ffffff}]\n");
                if(
APlayerData[playerid][PlayerLevel] > && APlayerData[playerid][VIP] > 0strcat(Str"[{FF0000}VIP{ffffff}]\n");
                
ShowPlayerDialog(playeridDIALOG_TAGDIALOG_STYLE_LIST"Mudar Tag"Str"Selecionar""Cancelar");
            }
         }
    }
    if(
dialogid == DIALOG_TAG)
    {
        if (
response)
        {
            if(
listitem == 0)
            {
                
MudarTag[playerid] = true;
            }
            if(
listitem == 1)
            {
                
MudarTag[playerid] = false;
            }
         }
    }
    return 
1;
}
public 
OnPlayerText(playeridtext[])
{
    if(
APlayerData[playerid][PlayerLevel] > && APlayerData[playerid][VIP] && MudarTag[playerid] == true)
    {
        
SetPlayerChatBubble(playeridtext0xFFFDE8AA100.010000);
        
format(MessageTextsizeof(MessageText), "{FFFFFF}[{006400}ADMIN{ffffff}]{FF9900}%s {FFFFFF}[ID:%d]: %s"rNome(playerid), playeridtext);
        
SendClientMessageToAll(GetPlayerColor(playerid), MessageText);
    }
    else if(
APlayerData[playerid][PlayerLevel] > && APlayerData[playerid][VIP] && MudarTag[playerid] == false)
    {
        
SetPlayerChatBubble(playeridtext0xFFFDE8AA100.010000);
        
format(MessageTextsizeof(MessageText), "{FFFFFF}[{FF0000}VIP{ffffff}]{FF9900}%s {FFFFFF}[ID:%d]: %s"rNome(playerid), playeridtext);
        
SendClientMessageToAll(GetPlayerColor(playerid), MessageText);
    }
    return 
0;
}
CMD:hud(playeridparams[])
{
    
SendAdminText(playerid"/hud"params);
    if(
PlayerInfo[playerid][NoEvento] == 1) return SendClientMessage(playerid, -1"{ff0000}Vocк estб no evento!");
    if (
APlayerData[playerid][LoggedIn] == true)
    {
        new 
Str[800];
         if(
pVeloci[playerid] == truestrcat(Str"Velocimetro[{00ff00}Ativar{ffffff}]\n");
             else 
strcat(Str"Velocimetro[{FF0000}Desativar{FFFFFF}]\n");
         if(
Jobing[playerid] == truestrcat(Str"Informaзхe de Trabalho[{00ff00}Ativar{ffffff}]\n");
             else 
strcat(Str"Informaзхe de Trabalho[{FF0000}Desativar{FFFFFF}]\n");
         if(
SPF[playerid] == true)strcat(Str"Score, Ping, Fps[{00ff00}Ativar{ffffff}]\n");
             else 
strcat(Str"Score, Ping, Fps[{FF0000}Desativar{FFFFFF}]\n");
         if(
HeD[playerid] == truestrcat(Str"Hora e Data[{00ff00}Ativar{ffffff}]\n");
             else 
strcat(Str"Hora e Data[{FF0000}Desativar{FFFFFF}]\n");
         if(
APlayerData[playerid][PlayerLevel] > && APlayerData[playerid][VIP] > 0strcat(Str"Trocar Tag");
         
ShowPlayerDialog(playeridDIALOG_HUDDIALOG_STYLE_LIST"{FF0000}# {FFFFFF}HUD - Brasil Real Truck"Str"Selecionar""Cancelar");
    }
    return 
1;

Sу quando o player escolhe a tag VIP que no caso seria o valor falso nao aparece nada no chat, Mas quando ele escolhe novamente a tag ADM ele volta a falar no chat com a tag na frente de seu nick, espero que me ajudem, desde jб agradeзo.
Reply
#2

Tente mudar

Код:
new bool:MudarTag;
por

Код:
new bool:MudarTag[MAX_PLAYERS];
pra poder usar corretamente no formato "MudarTag[playerid]", como vocк fez no resto do cуdigo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)