05.06.2013, 13:52
(
Последний раз редактировалось Don_Speed; 05.06.2013 в 18:03.
)
Ola a pedido de alguns venho trazendo um tutorial de como utilizar um dialog list!
entгo vamos lб
Crie uma abreviaзгo para seu dialog - Podemos fazer de duas maneiras:
Maneira 1:
Podemos usar enum EX:
pawn Код:
enum di{
DIALOG_SKIN
}
new DIALOGINFO[MAX_PLAYERS][di];
PHP код:
Exemplo de uso
ShowPlayerDialog(playerid, DIALOGINFO[playerid][DIALOG_SKIN], DIALOG_STYLE_LIST, "Escolha sua skin:", "Skin 01/nSkin 02\nSkin03", "Selecionar","Cancelar");
E o melhor metodo para evitar conflito com outras dialogs
Maneira 2:
pawn Код:
#define DIALOG_SKIN 800
Simples para que vocк possa trocar o numero da dialog facilmente sem que ocorra erros!
Claro jamais voce usarб o mesmo numero ou o mesmo nome para duas dialogґs
FICAREMOS USANDO O METODO 2
pawn Код:
ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_LIST, "Escolha sua skin:", "Skin 01/nSkin 02\nSkin03", "Selecionar","Cancelar");
PHP код:
ShowPlayerDialog(Jogador, NomeDialog, Estilo de Dialog, "Titulo", "Opзoes para ser escolhido", "Botton 1","Botton 2");
Vamos fazer a resposta da dialog ( Dialog sendo list )
Procure pela callback OnDialogResponse :
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_SKIN)
{
if(!response) return true;
switch(listitem)
{
case 0:SetPlayerSkin(playerid, 125);
case 1:SetPlayerSkin(playerid, 110);
case 2:SetPlayerSkin(playerid, 119);
default:SetPlayerSkin(playerid, 0);
}
}
return true;
}
PHP код:
if(dialogid == DIALOG_SKIN) - Esta e a chamada para a resposta da dialog
if(!response) return true; - Isto envolve os botoes da dialog (Botton 1 - Botton 2) Quando possui ! e quando ele seleciona o segundo Botton
PHP код:
switch(listitem)
{
case 0:SetPlayerSkin(playerid, 125);
case 1:SetPlayerSkin(playerid, 110);
case 2:SetPlayerSkin(playerid, 119);
}
PHP код:
o que o default???
Caso tenha mais opзoes do que a numeraaзгo da dialog!
Porisso existe esta funзгo caso tenha mais opзoes doq a resposta ele setara neste exemplo a kin a zero
Pois comeзa do zero os numeros ...
Depois dos : vocк coloca o que que a dialog responda para cada opзгo.
LEMBRANDO ESSA RESPOSTA SEMPRE TARA EM ORDEM DAS OPЗOES QUE VOCК ACRESCENTOU AO DIALOG.
Creditos
DonSpeed e wiki sa-mp