Bug no login da Box
#1

Olб.

Estou a usar a Login Box do Falcon.. Passei ela pro GM. Quase tudo funcionando..

Sу tem um pequeno ou grande bug, hehe..

Na hora do login se digita a senha errada com mais de 6 caracteres, ele reseta a senha..
Sendo possivel registrar o nick novamente sem perder os dados..

Ou sejб. й possivel roubar uma conta apenas digitando uma senha com mais de 6 caracteres errados..

Aqui estб o cуdigo de salvar e carregar dados:

pawn Код:
stock SalvarDadosPlayer(playerid)
{
    static Float:PosX, Float:PosY, Float:PosZ, Float:Vida, Float:Colete;
    GetPlayerHealth(playerid, Vida);
    GetPlayerArmour(playerid, Colete);
    GetPlayerPos(playerid, PosX, PosY, PosZ);
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo)) dini_Create(arquivo);
   
    dini_FloatSet(arquivo, "Level", Level[playerid]);
    dini_FloatSet(arquivo, "Exp", Respeito[playerid]);
    dini_IntSet(arquivo, "Dinheiro", GetPlayerMoney(playerid));
    dini_IntSet(arquivo, "LevelProcurado", GetPlayerWantedLevel(playerid));
    dini_IntSet(arquivo, "SkinAtual", GetPlayerSkin(playerid));
    dini_FloatSet(arquivo, "Vida", Vida);
    dini_FloatSet(arquivo, "Colete", Colete);
    #if defined ContinuarUltimaPosicao
    dini_FloatSet(arquivo, "PosX", PosX);
    dini_FloatSet(arquivo, "PosY", PosY);
    dini_FloatSet(arquivo, "PosZ", PosZ);
    dini_IntSet(arquivo, "Interior", GetPlayerInterior(playerid));
    dini_IntSet(arquivo, "VirtualWorld", GetPlayerVirtualWorld(playerid));
    #endif
    dini_IntSet(arquivo, "TotalDeVezesMorreu", TotalDeVezesMorreu[playerid]);
    dini_IntSet(arquivo, "TotalDeVezesMatou", TotalDeVezesMatou[playerid]);
    return 0x1;
}
pawn Код:
stock CarregarDadosPlayer(playerid)
{
    GetPlayerName(playerid, nome, sizeof(nome));
    format(arquivo, sizeof(arquivo), ContasPlayers, nome);
    if(!dini_Exists(arquivo)) return 0x1;
   
    SetPlayerScore(playerid, dini_Int(arquivo, "Level"));
    GivePlayerMoney(playerid, dini_Int(arquivo, "Dinheiro"));
    SetPlayerWantedLevel(playerid, dini_Int(arquivo, "LevelProcurado"));
    TotalDeVezesMorreu[playerid] = dini_Int(arquivo, "TotalDeVezesMorreu");
    TotalDeVezesMatou[playerid] = dini_Int(arquivo, "TotalDeVezesMatou");
    return 0x1;
}
pawn Код:
public OnGameModeExit()
{
    for(new ii, ff = GetMaxPlayers(); ii < ff; ii++)
        {
        if(!IsPlayerConnected(ii)) continue;
        SalvarDadosPlayer(ii);
    }
    return 1;
}
Acho que isso й tudo que vocкs precisam para me ajudar.
Reply
#2

Manda a OnDialogResponse, na parte do dialog do login...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)