CMD:cardapio(playerid)
{
ShowPlayerDialog(playerid, D_COMIDAS, DIALOG_STYLE_LIST, "Comidas", "Arroz\nFeijao", "Comprar", "Fechar");
return 1;
}
if(dialogid == D_COMIDAS)
{
if(response) //Ao Clickar no primeiro botгo
{
if(listitem == 0) //Ao clickar no primeiro item
{
SetProgressBarValue(PGFOME, 100);
UpdateProgressBar(PGFOME, playerid);
SetPVarInt(playerid,"FOME", 100);
GivePlayerMoney(playerid, -5);
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0);
SendClientMessage(playerid, 0x1E90FFFF, "| INFO | Vocк estб comendo um Hot Dog, e foi gasto 5$");
SetPlayerHealth(playerid,100);
}
if(listitem == 1) //Ao clickar no segundo item
{
SetProgressBarValue(PGFOME, 100);
UpdateProgressBar(PGFOME, playerid);
SetPVarInt(playerid,"FOME", 100);
GivePlayerMoney(playerid, -5);
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0);
SendClientMessage(playerid, 0x1E90FFFF, "| INFO | Vocк estб comendo um Hot Dog, e foi gasto 5$");
SetPlayerHealth(playerid,100);
}
}
return 0;
}
return 0;
return 1;
|
Eu jб tinha feito essa alteraзгo. Porйm, continua o mesmo problema.
|
|
Em sua OnDialogResponse sу tem isso? E lembre-se que essa funзгo publica tambйm deve retornar 1.
|
|
A callback OnDialogResponse sу й chamada quando alguma DIALOG deve ter a funзгo de ser respondida, e por fim, a callback й chamada.
Retire esse 'return 0;' no final. |
if(!response) return SendClientMessage(playerid, -1, "Vocк fechou o cardбpio!");
if(listitem == 0) // jб estб dizendo que o jogador selecionou o primeiro item da lista
|
Desnecessбrio verificar se o jogador clicou no primeiro botгo, sу era necessбrio verificar se ele apertasse o segundo:
Код:
if(!response) return SendClientMessage(playerid, -1, "Vocк fechou o cardбpio!"); Код:
if(listitem == 0) // jб estб dizendo que o jogador selecionou o primeiro item da lista |