| 
 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!
 
 
 
 |