SA-MP Forums Archive
[Tutorial] DS Usando Dialog List - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] DS Usando Dialog List (/showthread.php?tid=442017)



DS Usando Dialog List - Don_Speed - 05.06.2013


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
(playeridDIALOGINFO[playerid][DIALOG_SKIN], DIALOG_STYLE_LIST"Escolha sua skin:""Skin 01/nSkin 02\nSkin03""Selecionar","Cancelar"); 
Neste caso nгo usaria numeros .
E o melhor metodo para evitar conflito com outras dialogs

Maneira 2:
pawn Код:
#define DIALOG_SKIN                  800
Porque desta definiзгo
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");
Isto e a parte mais facil. Olha onde e titulo etc:
PHP код:
ShowPlayerDialog(JogadorNomeDialogEstilo 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;
}
Explicaзгo rapida
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 2Quando possui e quando ele seleciona o segundo Botton 
PHP код:
switch(listitem)
          {
              case 
0:SetPlayerSkin(playerid125);
              case 
1:SetPlayerSkin(playerid110);
              case 
2:SetPlayerSkin(playerid119);
          } 
switch e uma abreviaзгo para que possa usar case , utilizando case e melhor pra codar , no meu ponto de vista.

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 
Porque comeзar do case 0
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



Re: DS Usando Dialog List - vitere - 05.06.2013

Bom tutorial me ajudo muito sabia nada de dialog vlw!


Respuesta: DS Usando Dialog List - Wendell - 05.06.2013

Bom tutorial .

@Edit: Nгo posso dar +REP



Re: DS Usando Dialog List - ProKillerpa - 05.06.2013

Dei a REP porйm ela nгo aumenta...


Re: DS Usando Dialog List - Don_Speed - 05.06.2013

Quote:
Originally Posted by ProKillerpa
Посмотреть сообщение
Dei a REP porйm ela nгo aumenta...

Rep nгo faz difereзa nenhuma pra mim , mas como posso ajudar alguem seu rep agora e possitivo!
E legal ter bastante rep e , mas nгo muda minha vida , meus rep nгo me dгo dinheiro.



Re: DS Usando Dialog List - ProKillerpa - 05.06.2013

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение

Rep nгo faz difereзa nenhuma pra mim , mas como posso ajudar alguem seu rep agora e possitivo!
E legal ter bastante rep e , mas nгo muda minha vida , meus rep nгo me dгo dinheiro.
Eu dou REP pra incendivar, atй esses dias eu conseguia, agora nгo mais..

Parabйns pelo tutorial, й de grande importвncia para quem quer aprender <3


Re: DS Usando Dialog List - Don_Speed - 05.06.2013

Vlw '-'



Re: DS Usando Dialog List - Jason` - 05.06.2013

Poderia falar sobre o uso de enumeradores para os ids.

pawn Код:
enum {
    DIALOG_REGISTRO,
    DIALOG_LOGIN,
    DIALOG_SEILAOQ
}



Re: DS Usando Dialog List - Don_Speed - 05.06.2013

Quote:
Originally Posted by Jason`
Посмотреть сообщение
Poderia falar sobre o uso de enumeradores para os ids.

pawn Код:
enum {
    DIALOG_REGISTRO,
    DIALOG_LOGIN,
    DIALOG_SEILAOQ
}
E mesmo irei editar jaja.



Re: DS Usando Dialog List - vitorvlv - 05.06.2013

Bem legal,gostei..
Ensinou atй a usar o Enum um pouco