[FilterScript] Sistema de Registro Simples em Dof2 e Foreach
#1

pawn Код:
/*
 Sistema de Registro Simples em Dof2 e Foreach.

*/

#include a_samp
#include DOF2
#include foreach

enum informacoes
{
    Senha,
    Dinheiro
}
static ContasInfo[MAX_PLAYERS][informacoes];

new Senha_Invalida[MAX_PLAYERS];
new bool: Logado[MAX_PLAYERS];
new celula[128];

#define     DIALOG_REGISTRO             (0)
#define     DIALOG_LOGAR                (1)

#define     MAX_SENHA                   (20)
#define     MIN_SENHA                   (4)

#define     PastaContas                 "Contas/%s.ini"

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" KS Registro Feito por Kevinho.007 / Nick: Kevin_Santos");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    foreach(Player,x) SalvarContas(x);
    DOF2_Exit();
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid,-1,"[KS REGISTRO] Bem Vindo ao Nosso Servidor.");
    if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logando", "{FFFFFF}Olб seja Bem Vindo\nVocк possue uma conta no nosso Banco de Dados\nDigite sua senha para Conectar", "Conectar", "Cancelar");
    else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registrando", "{FFFFFF}Olб seja Bem Vindo\nVocк nгo possue uma conta no nosso Banco de Dados\nDigite uma Senha Abaixo Para se Cadastrar.", "Cadastrar", "Cancelar");
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    if(Logado[playerid]) SalvarContas(playerid);
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_REGISTRO:
        {
            if(strlen(inputtext) < MIN_SENHA || strlen(inputtext) > MAX_SENHA)
            {
                format(celula, sizeof(celula), "[INFO] A senha deve ter entre %d e %d caracteres!", MIN_SENHA, MAX_SENHA);
                SendClientMessage(playerid, -1, celula);
                ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registrando", "{FFFFFF}Olб seja Bem Vindo\nVocк nгo possue uma conta no nosso Banco de Dados\nDigite uma Senha Abaixo Para se Cadastrar.", "Cadastrar", "Cancelar");
                return 1;
            }
            if(!response) return Kick(playerid);
            else
            {
                ContasInfo[playerid][Senha] = strval(inputtext);
                RegistrarConta(playerid);
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logando", "{FFFFFF}Olб seja Bem Vindo\nVocк possue uma conta no nosso Banco de Dados\nDigite sua senha para Conectar", "Conectar", "Cancelar");
            }
        }
        case DIALOG_LOGAR:
        {
            if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logando", "{FFFFFF}Olб seja Bem Vindo\nVocк possue uma conta no nosso Banco de Dados\nDigite sua senha para Conectar", "Conectar", "Cancelar");
            if(!response) return Kick(playerid);
            else
            {
                if(!strcmp(inputtext,DOF2_GetString(Contas(playerid),"Senha"),false))
                {
                    CarregarContas(playerid);
                    SpawnPlayer(playerid);
                    Logado[playerid] = true;
                }
                else
                {
                    SendClientMessage(playerid,-1 ,"Senha Incorreta , Informe a senha correta por favor!");
                    ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logando", "{FFFFFF}Olб seja Bem Vindo\nVocк possue uma conta no nosso Banco de Dados\nDigite sua senha para Conectar", "Conectar", "Cancelar");
                    Senha_Invalida[playerid]++;
                    if(Senha_Invalida[playerid] == 4) return Kick(playerid), SendClientMessage(playerid, -1, "{FFFFFF}Vocк foi Kikado por Errar a Senha 4 Vezes.");
                }
            }
        }
    }
    return 1;
}
stock Contas(playerid)
{
    new Dados[40], Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, 32);
    format(Dados, 40,PastaContas, Nome);
    return Dados;
}
stock RegistrarConta(playerid)
{
    DOF2_CreateFile(Contas(playerid));
    ContasInfo[playerid][Dinheiro] = GetPlayerMoney(playerid);
    DOF2_SetInt(Contas(playerid), "Senha", ContasInfo[playerid][Senha]);
    DOF2_SetInt(Contas(playerid), "Dinheiro", ContasInfo[playerid][Dinheiro]);
    DOF2_SaveFile();
    return 1;
}
stock CarregarContas(playerid)
{
    ContasInfo[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
    GivePlayerMoney(playerid, ContasInfo[playerid][Dinheiro]);
    return 1;
}
stock SalvarContas(playerid)
{
    ContasInfo[playerid][Dinheiro] = GetPlayerMoney(playerid);
    DOF2_SetInt(Contas(playerid), "Dinheiro", ContasInfo[playerid][Dinheiro]);
    DOF2_SaveFile();
    return 1;
}

Download Include DOF2 : http://www.solidfiles.com/d/683f55e67a/
Download Include FOREACH : http://pastebin.com/Seseuh2x
Reply


Messages In This Thread
Sistema de Registro Simples em Dof2 e Foreach - by kevinho.007 - 18.01.2014, 21:18

Forum Jump:


Users browsing this thread: 1 Guest(s)