Quote:
Originally Posted by Sloww
Eu apertei esc 2 vezes e sumiu o Dialog e o player ficou no msm lugar
PS: tipo nгo sei se da pra fazer , mais toda vez que apertar esc voltar a DIALOG, tipo um boolean
|
Ah sim, entendi.
Exemplo, vocк digitou /menu ai apareceu lб: Lanches, Sucos. Abriu Lanches nгo quis nada apertou esc e voltou para o menu inicial.
Faзa isto:
PHP код:
if(!response)
{
ShowPlayerDialog(.....) // aqui vai ficar o ultimo dialog.
Exemplo:
PHP код:
CMD:menu(playerid)
{
ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "Menu de lanches", "Lanches\nSucos", "Prуximo", "Cancelar");
return 1;
}
PHP код:
public OnDialogResponse(playerid, dialogid)
{
if(dialogid == DIALOG_MENU)
{
if(response)
{
swith(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, DIALOG_LANCHES, DIALOG_STYLE_LIST, "Menu de lanches", "Hamburguer\nCachorro quente", "Comprar", "Voltar");
}
case 1:
{
ShowPlayerDialog(playerid, DIALOG_SUCOS, DIALOG_STYLE_LIST, "Menu de sucos", "Suco de morango\nSuco de laranja", "Comprar", "Voltar");
}
}
}
return 1;
}
if(dialogid == DIALOG_LANCHES)
{
if(!response)
{
ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "Menu de lanches", "Lanches\nSucos", "Prуximo", "Cancelar");
}
if(response)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, 0xFF0000AA, "| LANCHE | Vocк comprou um hamburguer");
}
case 1:
{
SendClientMessage(playerid, 0xFF0000AA, "| LANCHE | Vocк comprou um cachorro quente.");
}
}
}
return 1;
}
if(dialogid == DIALOG_SUCOS)
{
if(!response)
{
ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "Menu de lanches", "Lanches\nSucos", "Prуximo", "Cancelar");
}
if(response)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, 0xFF0000AA, "| LANCHE | Vocк comprou um suco de morango");
}
case 1:
{
SendClientMessage(playerid, 0xFF0000AA, "| LANCHE | Vocк comprou um suco de laranja.");
}
}
}
return 1;
}
Sу adaptar em sua GM. Feito agora, nгo testei.