Problema com resposta do dialog - SvCross. -  10/04/2021
 
 
Código: CMD:creditos(playerid, params[]) 
{ 
        new string[700]; 
        strins(string, "{FFFFFF}  a\n", strlen(string)); 
        strins(string, " \n", strlen(string)); 
        strins(string, "{104E8B}» a\", strlen(string)); 
        strins(string, "{FFFFFF}  a\n", strlen(string)); 
        strins(string, " \n", strlen(string)); 
        strins(string, "{104E8B}» a\n", strlen(string)); 
        strins(string, "{FFFFFF}  * \n", strlen(string)); 
        strins(string, "{FFFFFF}  * \n", strlen(string)); 
        strins(string, "{FFFFFF}  * \n", strlen(string)); 
        strins(string, "{FFFFFF}  * \n", strlen(string)); 
        strins(string, "  \n", strlen(string)); 
        strins(string, "{104E8B}» \n", strlen(string)); 
        strins(string, "{FFFFFF}  a\n", strlen(string)); 
        strins(string, "\n", strlen(string)); 
        strins(string, "{FFFFFF} a\n", strlen(string)); 
        strins(string, "{FFFFFF}  a®", strlen(string)); 
        return ShowPlayerDialog(playerid, DIALOG_CREDITOS, DIALOG_STYLE_MSGBOX, "{104E8B}# {FFFFFF}Créditos do servidor:", string, "Ok", ""); 
}
  
Estou com um problema, meu dialog DIALOG_CREDITOS está retornando errado, ao clicar no botão 1(Ok), ele saí normalmente, porém, ao pressionar ESC, ele está retornando outro dialog, o DIALOG_MCOMANDOS, help.  
 
Código:     if (dialogid == DIALOG_MCOMANDOS) // DIALOG 4 
    { 
           if(response) 
         { 
            switch(listitem) 
            { 
                case 0: 
                { 
                    ShowPlayerDialog(playerid, DIALOG_CMDGERAIS, DIALOG_STYLE_TABLIST, "# Comandos gerais do servidor:",  
                    "/creditos\t \tMostra os créditos do servidor\n\ 
                    /hud\t \tManejo das textdraws do servidor\n\ 
                    /clima\t \tAltera o clima próprio do servidor", 
                    "Cancelar", "Voltar"); 
                } 
                case 1: 
                { 
                    ShowPlayerDialog(playerid, DIALOG_CMDPROF, DIALOG_STYLE_TABLIST, "# Comandos da profissão:",  
                    "/trabalhar\t \tInicia um trabalho\n\ 
                    /comboio\t \tInicia um comboio\n\ 
                    /resgate\t \tRetorna à base da profissão", 
                    "Cancelar", "Voltar"); 
                } 
                case 2: 
                { 
                    ShowPlayerDialog(playerid, DIALOG_CMDVIP, DIALOG_STYLE_TABLIST, "# Comandos VIPS:",  
                    "/reparar\t \tRepara um veículo\n\ 
                    /nos\t \tAdiciona nitro em um veículo\n\ 
                    /savepos\t \tSalva sua posição em um local", 
                    "Cancelar", "Voltar"); 
                }      
            }  
         } 
        return 0; 
    } 
 
    if (dialogid == DIALOG_CMDGERAIS || DIALOG_CMDPROF || DIALOG_CMDVIP) // RESPONSE DIALOGS 5, 6 E 7 
    { 
        if(!response)  
        { 
            ShowPlayerDialog(playerid, DIALOG_MCOMANDOS, DIALOG_STYLE_LIST, "Comandos do servidor:", "Comandos gerais\nComandos da profissão\nComandos VIPS", "Ok", "Cancelar"); 
        } 
        else  
            return 0; 
    } 
 
    return 0; 
}
  
Separo os dialogs por um enum, não há interferência entre eles.
 
 
 
RE: Problema com resposta do dialog - k2bi_YT -  10/04/2021
 
 
Teste ae amigo. apenas corrigi uns return e o uso do dialogid. 
 
Código PHP: if (dialogid == DIALOG_MCOMANDOS) // DIALOG 4     {            if(response)          {             switch(listitem)             {                 case 0:                 {                     ShowPlayerDialog(playerid, DIALOG_CMDGERAIS, DIALOG_STYLE_TABLIST, "# Comandos gerais do servidor:",                     "/creditos\t \tMostra os créditos do servidor\n\                     /hud\t \tManejo das textdraws do servidor\n\                     /clima\t \tAltera o clima próprio do servidor",                     "Cancelar", "Voltar");                     return 1;                 }                 case 1:                 {                     ShowPlayerDialog(playerid, DIALOG_CMDPROF, DIALOG_STYLE_TABLIST, "# Comandos da profissão:",                     "/trabalhar\t \tInicia um trabalho\n\                     /comboio\t \tInicia um comboio\n\                     /resgate\t \tRetorna à base da profissão",                     "Cancelar", "Voltar");                     return 1;                 }                 case 2:                 {                     ShowPlayerDialog(playerid, DIALOG_CMDVIP, DIALOG_STYLE_TABLIST, "# Comandos VIPS:",                     "/reparar\t \tRepara um veículo\n\                     /nos\t \tAdiciona nitro em um veículo\n\                     /savepos\t \tSalva sua posição em um local",                     "Cancelar", "Voltar");                     return 1;                 }                  }          }         return 1;     }
      if (dialogid == DIALOG_CMDGERAIS || dialogid == DIALOG_CMDPROF || dialogid == DIALOG_CMDVIP) // RESPONSE DIALOGS 5, 6 E 7     {         if(!response)         {             ShowPlayerDialog(playerid, DIALOG_MCOMANDOS, DIALOG_STYLE_LIST, "Comandos do servidor:", "Comandos gerais\nComandos da profissão\nComandos VIPS", "Ok", "Cancelar");         }         else             return 1;     }
      return 1; } 
 
  
 
 
 
RE: Problema com resposta do dialog - SvCross. -  10/04/2021
 
 
Tudo certo agora, valeu!
 
 
 
 |