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] » Sistema de Registro e Login com Diálogos - DOF2

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] » Sistema de Registro e Login com Diálogos - DOF2 Empty [Tutorial] » Sistema de Registro e Login com Diálogos - DOF2

    Mensagem por Weslley_Script Qui 26 Ago 2021 - 17:57

    Sistema de registro e login com diálogos - DOF2
    Introdução
    Neste tutorial, mostrarei como criar um sistema de registro e login, com diálogos, usando DOF2.
    O que é DOF2?
    DOF2 = Double-O-Files2, leitor e gravador de arquivos rápido!
    Etapa 1
    Crie uma pasta chamada "Usuários" em sua scriptfiles!

    Código PHP:
    Código:
    / scriptfiles / Usuários 

    Etapa 2
    No início do seu script, inclua a include DOF2 em sua GM!

    Código PHP:
    Código:
    #include <DOF2> 


    Certifique-se de criar alguns IDs de diálogo também no topo.

    Código PHP:
    Código:
    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2 

    Etapa 3
    Agora, no topo do script em algum lugar após as includes, temos que salvar algumas variáveis, então criamos um enum. Enums, também conhecidos como Enumerações, são úteis para representar grandes grupos de dados e modificar constantes rapidamente.
    Portanto, vamos armazenar nossos Kills, Deaths, Money e Admin Level.
    Código PHP:
    Código:
    enum pInfo
    {
        pKills,
        pDeaths,
        pMoney,
        pAdmin
    }
    new PlayerInfo[MAX_PLAYERS][pInfo]; 

    Etapa 4
    Adicionar 'DOF2_Exit ();' na 'OnGameModeInit()'.
    Código PHP:
    Código:
    public OnGameModeInit()
    {
            DOF2_Exit();
        return 1;


    Role para baixo até a public chamada de 'OnPlayerConnect'.

    Código PHP:
    Código:
    public OnPlayerConnect (playerid)
    {
        new arquivo [64]; // Declaramos o tamanho do arquivo
            GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo
            format (file, sizeof (file), DOF2_File (file)); // Aqui obtemos o caminho de DOF2_File (/ Users)
        if (DOF2_FileExists (file)) // Verificamos se o jogador está registrado
        {
            ShowPlayerDialog (playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Welcome.Please log-in", "{FFFFFF} Digite sua {00FF22} senha {FFFFFF} aqui para log-in", "Log-in", "Quit");
            // A caixa de diálogo de login aparecerá 
        }    
        else // Se não for registrado
        {
            ShowPlayerDialog (playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Por favor, registre-se!", "{FFFFFF} Digite sua {00FF22} senha {FFFFFF} aqui para se registrar.", "Registrar", "Sair");
            // A caixa de diálogo de registro aparecerá
        }
        return 1;



    Então verificamos se o jogador está cadastrado, se estiver terá que se logar, caso contrário terá que se cadastrar.
    Etapa 5
    Agora, vamos rolar para baixo até a public chamada de 'OnDialogResponse'.


    Código PHP:
    Código:
    public OnDialogResponse (playerid, dialogid, response, listitem, inputtext [])
    {
        switch (dialogid) // Nós trocamos nossos ids de diálogo
        {
            case DIALOG_REGISTER: // Se o dialog_register aparecer (id 1111)
            {
                if (! resposta) Kick (playerid); // Se ele clicar em Sair, ele será chutado
                if (! strlen (inputtext)) return ShowPlayerDialog (playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registre-se!", "{FFFFFF} Digite sua {00FF22} senha {FFFFFF} aqui para se registrar.", "Registrar", "Sair") ;
                // Se ele não digitar nada, a caixa de diálogo será exibida novamente.
                if (resposta) // Se ele clicar em Registrar
                {
                    new arquivo [64]; // Declaramos o tamanho do arquivo
                    GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo
                    formato (arquivo, sizeof (arquivo), DOF2_File (arquivo)); // Pegamos o nome do caminho de DOF2_File, que significa da pasta Usuários.
                    DOF2_CreateFile (arquivo, texto de entrada); // Cria o arquivo e a senha.
                    DOF2_SetInt (arquivo, "Kills", 0); // Quando o jogador registrar suas mortes será definido como 0, você pode alterar
                    DOF2_SetInt (arquivo, "Mortes", 0); // Suas mortes serão definidas como 0, você pode mudar
                    DOF2_SetInt (arquivo, "Money", 1000); // Seu dinheiro será definido para 1000, você pode alterar
                    DOF2_SetInt (arquivo, "AdminLevel", 0); // Seu nível de administrador será definido como 0, você pode alterar
                    DOF2_SaveFile (); // Salva o arquivo.
                    SetSpawnInfo (playerid, 0, 0, 1722,5123, -1912,7931, 13,5647, 269,15, 0, 0, 0, 0, 0, 0); // Define onde o jogador irá desovar, estas coordenadas são da Estação Unity em Los Santos
                    SpawnPlayer (playerid); // Depois de se registrar, o jogador irá aparecer.
                }
            }
            case DIALOG_LOGIN: // Se dialog_login (id 2222) aparecer
            {
                if (! resposta) Kick (playerid); // Se ele clicar em Sair, ele será chutado.
                if (resposta) // Se ele clicar em Log-in
                {
                    new arquivo [64]; // Declaramos o tamanho do arquivo
                    GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo
                    formato (arquivo, sizeof (arquivo), DOF2_File (arquivo)); // Pegamos o caminho do usuário em DOF2_File (pasta Usuários)
                    if (DOF2_FileExists (file)) // Se ele está registrado
                    {
                        if (DOF2_CheckLogin (file, inputtext)) // Verificamos se a senha corresponde
                        {
                            PlayerInfo [playerid] [pKills] = DOF2_GetInt (arquivo, "Kills"); // Carregamos nossas configurações
                            PlayerInfo [playerid] [pDeaths] = DOF2_GetInt (arquivo, "Deaths");
                            PlayerInfo [playerid] [pMoney] = DOF2_GetInt (arquivo, "Money");
                            PlayerInfo [playerid] [pAdmin] = DOF2_GetInt (arquivo, "AdminLevel");
                            SetSpawnInfo (playerid, 0, 0, 1722,5123, -1912,7931, 13,5647, 269,15, 0, 0, 0, 0, 0, 0); // Definimos o spawn (Estação Unity)
                            SpawnPlayer (playerid); // O jogador surge após o login
                            GivePlayerMoney (playerid, PlayerInfo [playerid] [pMoney]); // Damos ao jogador seu dinheiro
                            return 1;
                        }
                        else // Se a senha não corresponder, eles obterão um erro
                        {
                            ShowPlayerDialog (playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Senha errada!", "{F81414} Você digitou uma senha errada \ n {FFFFFF} Digite sua senha aqui para fazer login!", "Entrar", "Sair") ;
                            return 1;
                        }
                    }
                }
            }
        }
        return 1;


    Etapa 6
    Agora, temos que rolar para baixo até a public chamada de 'OnPlayerDisconnect' para que, quando o jogador se desconectar do servidor, suas estatísticas sejam salvas.
    Código PHP:
    Código:
    public OnPlayerDisconnect (playerid, reason)
    {
        new arquivo [64]; // Declaramos o tamanho do arquivo
            GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo
            format (file, sizeof (file), DOF2_File (file)); // Pegamos o caminho do usuário em DOF2_File (pasta Usuários)
        DOF2_SetInt (arquivo, "Kills", PlayerInfo [playerid] [pKills]); // Definimos / atualizamos as configurações dos jogadores.
        DOF2_SetInt (arquivo, "Mortes", PlayerInfo [playerid] [pDeaths]);
        DOF2_SetInt (arquivo, "Money", PlayerInfo [playerid] [pMoney]);
        DOF2_SetInt (arquivo, "AdminLevel", PlayerInfo [playerid] [pAdmin]);
        return 1;


    Etapa 7
    Também precisamos adicionar valores em Kills and Deaths, então vamos a public OnPlayerDeath.


    Código PHP:
    Código:
    public OnPlayerDeath (playerid, killerid, reason)
    {
        PlayerInfo [killerid] [pKills] ++; // Aumentará as mortes de assassinos
            PlayerInfo [playerid] [pDeaths] ++; // Aumentará o playerid (aquele que morreu) as mortes.
        return 1;



    Bom não foi eu que fiz o tutorial, apenas traduzi, vi que estava faltando algo do tipo por aqui!
    Criador -> Jafet_Macario
    Tradutor -> MatheuzPatoo
    [ Viu algum erro de traduçao? Me corrija! quero deixar esse tutorial o mais certo possivel! ]


    6 meses de conhecimento em pawno!



    [Tutorial] » Sistema de Registro e Login com Diálogos - DOF2 D07Xwqb
    [Tutorial] » Sistema de Registro e Login com Diálogos - DOF2 Yjab9HN

      Data/hora atual: Sex 26 Abr 2024 - 14:51