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] Usando DIALOGS

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] Usando DIALOGS Empty [Tutorial] Usando DIALOGS

    Mensagem por Weslley_Script Sáb 3 Jun 2023 - 10:17

    I NTRODUÇÃO
    Iae manolada! Suaves? Bom, neste tutorial, eu vou ensinar a usar os diálogos, todos os estilos! Que sãoMSGBOX, LIST, INPUT e PASSWORD. Eu quis criá-lo porque eu realmente não tinha nada para fazer agora e me deu uma vontade de criar um tuto ' >_<. Bom, prestem atenção porque eu vou tentar ser o mais claro possível.

    T UTORIAL
    Bom, para iniciar o tutorial, devo explicar que para criar uma caixa de diálogo, precisa-se definir oIDdela notopo do GM/FS! Da seguinte maneira:
    peão Код:

    Código:
    #define DIALOG_NOME [ID]


    Função da caixa de diálogo:
    peão Код:

    Código:
    ShowPlayerDialog ( playerid,DIALOG_ID,ESTILO_DA_DIALOG, "TITULO" , "MENSAGEM" , "BOTAO 1" , "BOTAO 2" ) ;


    Certo, então vamos começar o tutorial...

    Para começar, vou ensinar a criar o estilo de diálogo mais simples e fácil de todas.

    DIALOG_STYLE_MSGBOX

    Bom, esta dialog é aquela dialog símples, com uma mensagem e os botхes. Vamos fazer um exemplo desta caixa de diálogo:
    peão Код:

    Código:
    // TOPO:
    #define DIALOG_CREDITOS 1

    CMD : creditos ( playerid )
    {
         ShowPlayerDialog ( playerid,DIALOG_CREDITOS,DIALOG_STYLE_MSGBOX, "CRÉDITOS DO TUTORIAL" , "Tutorial foi criado por HeyHoLetsGo" , "OK" , "Sair" )
    }


    Explicando

    ShowPlayerDialog = Função para chamar uma caixa de diálogo;
    playerid = ID do jogador que vai ver um diálogo;
    DIALOG_CREDITOS = ID da caixa de diálogo;
    DIALOG_STYLE_MSGBOX = Estilo da caixa de diálogo, neste caso é a MSGBOX;
    "CRÉDITOS DO TUTORIAL" = Esta primeira string é para o título;
    "Tutorial foi criado por HeyHoLetsGo" = Menságem que vai aparecer dentro da caixa de diálogo!

    Simples! Esta é a mais fácil de todas, mas caso você queira que os botхes tenham alguma função, então faz o seguinte:

    Na callback OnDialogResponse , faremos o seguinte:
    peão Код:

    Código:
    public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
    {
        if ( dialogid == DIALOG_CREDITOS )
        {
            if ( response )
            {
                 SendClientMessage ( playerid, - 1 , "[ ! ] Você clicou em OK!" ) ;
            }
            else
            {
                 SendClientMessage ( playerid, - 1 , "[ ! ] Você clicou em Sair!" ) ;
            }
        }
        retorno 1 ;
    }



    Explicando


    public On‌DialogResponse = Chamamos um callback que para fazer as funções das caixas de diálogo;
    if(dialogid == DIALOG_CREDITOS) = Chamamos as funções da DIALOG_CREDITOS;
    if(response) = Se clicar no primeiro botão, no caso, OK;
    else = Se clicar no segundo, no caso, Sair.

    Pronto! Agora os botхes desta dialogs, quando apertados, mostrarгo as funзхes que vocк colocou, no caso deste exemplo, mostrarб uma mensбgem ao jogador.

    OBS: Caso você queira que os dialogs tenham apenas UM botáo , deixe a string do botáo 2 em branco ! Exemplo:
    peão Код:

    Código:
    ShowPlayerDialog ( playerid,DIALOG_ID,DIALOG_STYLE, "TITULO" , "MENSAGEM" , "BOTÃO 1" , "" ) ;


    Símples esta dialog... prestando atenção neste tutorial você vai aprender sem problemas!

    DIALOG_STYLE_LIST

    Bom, este estilo de diálogo é daqueles que mostram uma lista de opções ao jogador. Este nгoй tгo sнmples quanto ao MSGBOX . Então vamos ver como funciona, veja o exemplo abaixo:
    peão Код:

    Código:
    // TOPO:
    #define DIALOG_LISTA ID

    CMD : dialoglist ( playerid )
    {
         ShowPlayerDialog ( playerid,DIALOG_LISTA,DIALOG_STYLE_LIST, "ESCOLHA UMA OPÇÃO" , "Crйditos \n Fуrum \n Mensбgem" , "VER" , "Sair" ) ;
    }


    Explicando

    ShowPlayerDialog = Função para chamar uma caixa de diálogo;
    playerid = ID do player que vai ver um diálogo;
    DIALOG_LISTA = ID do diálogo;
    DIALOG_STYLE_LIST = Estilo da caixa de diálogo, neste caso é a LIST;
    "ESCOLHA UMA OPÇÃO" = Esta primeira corda é para o título;
    "Crйditos\nFуrum\nMensбgem" = Lista de opзхes

    Bem, como vocкs podem ver, na segunda string da funзгo , tem umas palavras separadas por \n , bem, estes carбcteres nesta funзгo servem para separar as linhas, ou seja, separar as opзхes , no caso, estas palavras ficariam uma em baixo da outra, formando 3 opções para escolher.

    Agora vamos adicionar funções a esta lista:

    Na callback OnDialogResponse :
    peão Код:

    Código:
    [size=13][size=13]public OnDialogResponse ( playerid, dialogid, response, listitem, inputtext [ ] )
    {
        if ( dialogid == DIALOG_LISTA )
        {
            if ( response )
            {
                if ( listitem ==  0 )
                {
                     SendClientMessage ( playerid, - 1 , "[ ! ] Tutorial foi criado por HeyHoLetsGo" ) ;
                }
                if ( item da lista ==  1 )
                {
                    SendClientMessage ( playerid, - 1 , "[!] forum.sa-mp.com" ) ;
                }
                if ( listitem ==  2 )
                {
                     ShowPlayerMessage ( playerid, - 1 , "[ ! ] Olá! Você escolheu a 3° opção da lista!" ) ;
                }
            }
            else
            {
                 SendClientMessage ( playerid, - 1 , "[ ! ] Você clicou em sair e o diálogo desapareceu!" ) ;
        }
        retorna  1 ;
    }[/size][/size]

    Explicando

    if(dialogid == DIALOG_LISTA) = Chamamos as funções da DIALOG_CREDITOS;
    if(response) = Se clicar no primeiro botão, no caso VER;
    if(listitem == 0) = Se selecionar o primeiro item da lista;
    if(listitem == 1) = Se selecionar o segundo item da lista;
    if(listitem == 2) = Se selecionar o terceiro item da lista;
    else = Se clicar no segundo botão, no caso Sair.

    Como vocкs podem notar, o listitem comeзa do ZERO , e nгo do 1, entгo se comeзarem do 1, vocк estarб pulando o primeiro нtem...

    Então, esta caixa de diálogo também não tem complicações! Basta pegar o jeito e você faz qualquer coisa com ela fácil fácil! Agora, o prуximo estilo de dialog, aliбs, os prуximos, serгm um pouco mais complicados, recomendo prestar muita atenзгo nas explicaзхes para entender!

    DIALOG_STYLE_INPUT / DIALOG_STYLE_PASSWORD


    Estes estilos de diálogo são aqueles que têm um espaço para o jogador escrever. Como vocês podem perceber, eu vou ensinar estas duas conversas ao mesmo tempo, mas porque? Porque elas são a mesma coisa , a diferença entre elas é porque a INPUT aparece o que o player está digitando, e a SENHA aparece aquelas bolinhas "•" no lugar do texto. Eu vou ensinar com os exemplos do INPUT , mas você pode substituir porPASSWORD se nгo quiser que apareça o texto que estб sendo digitado.
    peão Код:

    Código:
    // TOPO:
    #define DIALOG_POR_TEXTO ID

    CMD : dialoglist ( playerid )
    {
         ShowPlayerDialog ( playerid,DIALOG_POR_TEXTO,DIALOG_STYLE_INPUT, "ESCREVER NOME" , "Escreva seu nome para mostrar em uma mensбgem!" , "OK" , "Sair" ) ;
    }

    Explicando

    ShowPlayerDialog = Função para chamar uma caixa de diálogo;
    playerid = ID do player que vai ver um diálogo;
    DIALOG_POR_TEXTO = ID da caixa de diálogo;
    DIALOG_STYLE_INPUT = Estilo da caixa de diálogo, neste caso é a INPUT;
    "ESCREVER NOME" = Esta primeira string é para o título;
    "Escreva seu nome para mostrar em uma menságem!" = Texto da dialog.

    Muito bem, aqui está fácil, mas agora vamos ver como utilizamos o que foi escrito na caixa de escrever :
    peão Код:

    Código:
    [size=13][size=13]public OnDialogResponse ( playerid, dialogid, resposta, listitem, inputtext [ ] )
    {
        if ( dialogid == DIALOG_POR_TEXTO )
        {
            if ( response )
            {
                new Mensagem [ 128 ] ;
                format ( Mensagem, sizeof ( Mensagem ) , "[ ! ] Você escreveu: %s " ,inputtext ) ;
                SendClientMessage ( playerid, - 1 ,Mensagem );
            }
            else
            {
                 SendClientMessage ( playerid, - 1 , "[ ! ] Você clicou em sair e o diálogo desapareceu!" ) ;
            }
        }
        retorna  1 ;
    }[/size][/size]


    Explicando


    if(dialogid == DIALOG_POR_TEXTO) = Chamamos as funções da DIALOG_INPUT;
    if(response) = Se clicar no primeiro botão, no caso VER;
    new Mensagem = Var criada para formatar o texto que irá aparecer;
    format(Mensagem,sizeof(Mensagem),"[ ! ] Vocк escreveu: %s",inputtext = Formatamos o texto que irá aparecer, repare que eu coloquei o %s, serve para que no lugar disto apareça a mensagem, também repare que depois desta string eu coloquei inputtext, isso significa que eu quero que apareça o que foi escrito na dialog no lugar do %s; else = Se
    clicar no segundo boto, no caso Sair.

    , você precisa usar inputtext, e caso o local de escrever seja para escrever apenas nъmeros , use strval(inputtext) , que irá pegar os nъmeros que foram escritos. Então, se quiser colocar o inputtext numa string, use format , ou se quiser colocar o inputtext numa Variável , use variavel = strval(inputtext) . Nгo й trгo dificil, basta treinar!

    C OMENTÁRIOS
    Bem, para ser sincero, diálogos não é uma coisa difícil, isso requer treino e estudo, crie diálogos e vá treinando que você conseguirá fazer qualquer coisa com elas. Como diálogos são muito importantes, é uma das coisas que você mais precisa saber para criar um bom sistema! Espero que vocês tenham gostado, se tiverem perguntas deixem nos comentários! Também aceito críticas, deixe-nos comentários também. Se você acha que eu expliquei alguma coisa errada, também fale nos comentários que consertarei o mais breve possível! Obrigado a todos, e bons trabalhos!


    Creditos: HeyHoLetsGo



    [Tutorial] Usando DIALOGS D07Xwqb
    [Tutorial] Usando DIALOGS Yjab9HN

      Data/hora atual: Sáb 27 Abr 2024 - 13:53