SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] DS Usando Dialog List

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031978
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] DS Usando Dialog List Empty [Tutorial] DS Usando Dialog List

    Mensagem por Weslley_Script Ter 23 maio 2023 - 10:07

    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 Код:

    Código:
    enum di{
        DIALOG_SKIN
    }
    new DIALOGINFO[MAX_PLAYERS][di];


    PHP код:
    Código:
    Exemplo de uso
    ShowPlayerDialog(playerid, DIALOGINFO[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 Код:

    Código:
    #define DIALOG_SKIN                  800


    Porque desta definiзгo [Tutorial] DS Usando Dialog List Confused
    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 Код:

    Código:
    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 код:
    Código:
    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 Код:

    Código:
    [left]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;
    }[/left]


    Explicaзгo rapida
    PHP код:
    Código:
    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 код:
    Código:
    switch(listitem)
              {
                  case 0:SetPlayerSkin(playerid, 125);
                  case 1:SetPlayerSkin(playerid, 110);
                  case 2:SetPlayerSkin(playerid, 119);
              } 
    switch e uma abreviaзгo para que possa usar case , utilizando case e melhor pra codar , no meu ponto de vista.

    PHP код:
    Código:
    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[Tutorial] DS Usando Dialog List Confused
    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



    [Tutorial] DS Usando Dialog List D07Xwqb
    [Tutorial] DS Usando Dialog List Yjab9HN

      Data/hora atual: Qui 9 maio 2024 - 15:27