[Ajuda] Salvar Grana
#1

Bom no GM que to criando fiz o sistema de login porйm so salva a senha e skin, eu criei a enum com dinheiro mas nao ta salvando vou dexar abaixo algumas coisas...

A Enum
pawn Код:
enum pInfo
{
    pSkin,
    pSenha[MAX_SENHA+1],
    pDinheiro
};
new PlayerInfo[MAX_PLAYERS][pInfo];
new Erro[MAX_PLAYERS]
OnPlayerConnected
pawn Код:
PlayerPlaySound(playerid, 1097, 0.0, 0.0, 10.0);
    new str[128];
    new name[MAX_PLAYER_NAME];
    new file[40];
    GetPlayerName(playerid, name, 32);
    format(str,sizeof(str), "»{FFFFFF} Olб %s, seja bem vindo ao GTA Brasil Vida Virtual, aguarde enquanto o servidor estб sendo carregado...", name);
    SendClientMessage(playerid, Vermelho, str);
    format(file, 40, PASTA_CONTAS, name);
    if(DOF2_FileExists(file))
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");

    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "\n» Informe uma senha para se registrar:", "Registrar", "Cancelar");
    }
    StuntSuperSpeed[playerid] = false;
    return 1;
}
OnPlayerDisconnected
pawn Код:
new file[40], name[MAX_PLAYER_NAME]; // cria a variavel name com 40 celulas e a variavel Name
    GetPlayerName(playerid, name, 32); // Pega o nome do player
    format(file, 40, PASTA_CONTAS, name); // Formata o file que existe na pasta Jogadores
    if(DOF2_FileExists(file)) // se o file existir
    {
        DOF2_SetInt(file, "Senha", PlayerInfo[playerid][pSenha]); // seta a senha do player para o que ele digitou
        DOF2_SetInt(file, "Skin", PlayerInfo[playerid][pSkin]); // seta a skin para o id da skin atual
        DOF2_SetInt(file,"Dinheiro",PlayerInfo[playerid][pDinheiro]);
        DOF2_SaveFile(); // finalmente salvando o file
    }
OnPlayerSpawn

pawn Код:
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); // Seta a skin do player quando ele spawnar para a skin salva
    GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
OnDialogResponse

pawn Код:
new file[40], name[MAX_PLAYER_NAME], str[128]; // criando a string file com 40 celulas e criando a variavel name
    GetPlayerName(playerid, name, 32); // pegando o nome do player
    format(file, 40, PASTA_CONTAS, name); // formatando o file para a pasta Jogadores
    if(dialogid == DIALOG_REGISTRO) // Dialog registro
    {
        if(strlen(inputtext) < MIN_SENHA || strlen(inputtext) > MAX_SENHA)
    {
        format(str, sizeof(str), "| ERRO | A senha deve ter entre %d e %d caracteres!", MIN_SENHA, MAX_SENHA);
        SendClientMessage(playerid, Vermelho, str);
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "/n» Informe uma senha para se registrar:", "Registrar", "Cancelar");
        return 1;
        }
        if(!strval(inputtext)) // se ele nao digitar numeros da erro e volta no dialog de registro
        {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro", "/n» Informe uma senha para se registrar:", "Registrar", "Cancelar");
        SendClientMessage(playerid, -1, "{FF7F24}| ERRO | Digite apenas nъmeros para se registrar");
        return 1;
        }
        if(!response) //se ele apertar o botao Cancelar, kicka ele !
        {
            Kick(playerid);
            return 1;
        }
        else // se ele colocar a senha certa cria os files
        {
            PlayerInfo[playerid][pSenha] = strval(inputtext); // pega a senha que ele digitou no campo do dialog
            DOF2_CreateFile(file); // cria o file na pasta Jogadores
            DOF2_SetInt(file, "Senha", PlayerInfo[playerid][pSenha]); // seta a senha para a que ele digitou no dialog
            DOF2_SetInt(file, "Skin",38); // seta a skin dele para 38, podendo mudar para qualquer numero.
            DOF2_SetInt(file, "Dinheiro",PlayerInfo[playerid][pDinheiro]);
            DOF2_SaveFile(); // salva o file
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "                                     ");
            SendClientMessage(playerid, -1, "{B9D3EE}| INFO | Conta registrada com sucesso");
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");
        }
    }
    if(dialogid == DIALOG_LOGAR)
    {
        if(!strval(inputtext)) // se ele nao digitar apenas numeros volta o dialog de login
        {
            SendClientMessage(playerid, -1, "{FF7F24}| ERRO | Digite apenas nъmeros para se logar.");
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");
            return 1;
        }
        if(!response) // se ele clickar em Cancelar kicka ele !
        {
            Kick(playerid);
            return 1;
        }
        else // Se ele colocar a senha certa
        {
            PlayerInfo[playerid][pSenha] = DOF2_GetInt(file, "Senha"); // pega a senha salva dele
            if(strval(inputtext) == PlayerInfo[playerid][pSenha]) // pega a senha que ele digitou
            {

                PlayerInfo[playerid][pSkin] = DOF2_GetInt(file, "Skin"); // pega a skin do player
                SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); // seta a skin do player para a skin salva
                PlayerInfo[playerid][pDinheiro] = DOF2_GetInt(file,"Dinheiro");
                GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
                SpawnPlayer(playerid); // em seguida, spawna o player
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, -1, "                           ");
                SendClientMessage(playerid, closed, "| INFO | Logado com sucesso");
            }
            else // se ele errar a senha mostra o dialog denovo
            {
               
                SendClientMessage(playerid, Vermelho, "| ERRO | Vocк errou a senha, tente novamente. ( Se errar 3 vezes й kickado )");
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", "\n» Informe sua senha para logar:", "Logar", "Cancelar");
                Erro[playerid]++;
                if(Erro[playerid] == 3) // se ele errar 3 vezes ele serб kickado !
                {
                    SendClientMessage(playerid, Vermelho, "| INFO | Vocк foi kickado por errar a senha 3 vezes");
                    Kick(playerid);
                    return 1;
                }
            }
        }
    }

Obs: Se vcs verem alguns bugs que nao esta relacionado ao topico tbn por favor me falem
Espero ajudas, vlw xD
Reply


Messages In This Thread
Salvar Grana - by ArthurxD - 01.04.2014, 00:56
Re: Salvar Grana - by ArthurxD - 01.04.2014, 02:07
Re: Salvar Grana - by Lipe_Stronda - 01.04.2014, 02:18
Re: Salvar Grana - by ArthurxD - 01.04.2014, 15:16
Re: Salvar Grana - by ArthurxD - 01.04.2014, 15:40
Re: Salvar Grana - by ArthurxD - 01.04.2014, 16:08
Re: Salvar Grana - by Lipe_Stronda - 01.04.2014, 16:27
Re: Salvar Grana - by ArthurxD - 01.04.2014, 16:35
Re: Salvar Grana - by Lipe_Stronda - 01.04.2014, 16:40
Re: Salvar Grana - by Schocc - 01.04.2014, 16:40

Forum Jump:


Users browsing this thread: 1 Guest(s)