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