# Guardar Nivel #
#4

vai em DCMD
pawn Code:
//topo

new gPlayerLogged[MAX_PLAYERS];
forward OnPlayerLogin(playerid,password[]);
forward OnPlayerRegister(playerid, password[]);


//COMANDOS
dcmd_login(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        new tmppass[64];
        if(gPlayerLogged[playerid] == 1)
        {
            SendClientMessage(playerid, COLOR_WHITE, "Ja estas logado");
            return 1;
        }
        if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[Uso]: /login [password]");
        strmid(tmppass, params, 0, strlen(params), 255);
        OnPlayerLogin(playerid,tmppass);
    }
    return 1;
}

dcmd_registar(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(gPlayerLogged[playerid] == 1)
        {
            SendClientMessage(playerid, COLOR_WHITE, "Ja estas logado");
            return 1;
        }
        new sendername[MAX_PLAYER_NAME];
        new string[256];
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "%s.ini", sendername);
        new File: hFile = fopen(string, io_read);
        if (hFile)
        {
            SendClientMessage(playerid, COLOR_YELLOW, "Este nome ja esta em uso!");
            fclose(hFile);
            return 1;
        }
        new tmppass[64];
        if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[Uso]: /registar [password]");
        strmid(tmppass, params, 0, strlen(params), 255);
        OnPlayerRegister(playerid,tmppass);
    }
    return 1;
}

public OnPlayerLogin(playerid,password[])
{
    new StringC[256];
    new string2[256];
    new tmp2[256];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(st,sizeof(st),"%s.ini",name);
    StringC = dini_Get((st), "Password");
    if (udb_hash(password) != strval(StringC))
    {
        SendClientMessage(playerid, COLOR_WHITE, "SERVIDOR: Password Incorrecta.");
    gPlayerLogged[playerid] = 0;
    }
    else
    {
        dini_Set((st),"Key",password);
        new playername2[MAX_PLAYER_NAME];
        GetPlayerName(playerid, playername2, sizeof(playername2));
        format(StringC, sizeof(StringC), "%s.ini", playername2);
        new File: UserFile = fopen(StringC, io_read);
        if ( UserFile )
        {
            new PassData[256];
            new keytmp[256];
            fread( UserFile , PassData , sizeof( PassData ) );
            keytmp = ini_GetKey( PassData );
            {
                new key[ 256 ] , val[ 256 ];
                new Data[ 256 ];
                while ( fread( UserFile , Data , sizeof( Data ) ) )
                {
                    key = ini_GetKey( Data );
                    if( strcmp( key , "NIVEL" , true ) == 0 ) { val = ini_GetValue( Data ); nivel[playerid] = strval( val ); }
                }
                gPlayerLogged[playerid] = 1;
        fclose(UserFile);
                ResetPlayerMoney(playerid);
                format(string2, sizeof(string2), "SERVIDOR: Bem-Vindo %s",playername2);
                SendClientMessage(playerid, COLOR_WHITE,string2);
                printf("%s has logged in.",playername2);
                SpawnPlayer(playerid);
                format(tmp2, sizeof(tmp2), "~w~Bem-Vindo ~n~~y~  %s", playername2);
                GameTextForPlayer(playerid, tmp2, 5000, 1);
                return 1;
            }

        }
        else
        {
          SendClientMessage(playerid, COLOR_CYAN, "Tu ainda nгo tens conta usa /registar [Password]");
          return 1;
        }
    }
    return 1;
}

public OnPlayerRegister(playerid, password[])
{
    if(IsPlayerConnected(playerid))
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
    format(st,sizeof(st),"%s.ini",name);
        dini_Create((st));
        dini_IntSet((st), "Password", udb_hash(password));
        dini_Set((st),"Key",password);
        dini_IntSet((st), "NIVEL", 0);
        SendClientMessage(playerid, COLOR_YELLOW, "Conta registada podes agora fazer login utiliza /login [password]");
    }
    return 1;
}
tenta nao tenho a certeza ke funcione ate pk pode conter erros e eu nao testei...
Reply


Messages In This Thread
# Guardar Nivel # - by _COTTA_ - 12.03.2010, 14:10
Re: # Guardar Nivel # - by noobzord - 12.03.2010, 15:18
Re: # Guardar Nivel # - by _COTTA_ - 12.03.2010, 15:34
Re: # Guardar Nivel # - by SlashPT - 12.03.2010, 21:19
Re: # Guardar Nivel # - by _COTTA_ - 14.03.2010, 17:24
Re: # Guardar Nivel # - by russo666 - 14.03.2010, 18:35
Re: # Guardar Nivel # - by SlashPT - 14.03.2010, 20:05
Re: # Guardar Nivel # - by russo666 - 14.03.2010, 21:26
Re: # Guardar Nivel # - by andmeida10 - 15.03.2010, 16:14
Re: # Guardar Nivel # - by selular - 18.04.2010, 00:52
Re: # Guardar Nivel # - by Ambrуsio - 18.04.2010, 00:56
Re: # Guardar Nivel # - by selular - 18.04.2010, 04:15
Re: # Guardar Nivel # - by russo666 - 18.04.2010, 04:25
Re: # Guardar Nivel # - by selular - 18.04.2010, 19:03
Re: # Guardar Nivel # - by russo666 - 18.04.2010, 19:21
Re: # Guardar Nivel # - by selular - 18.04.2010, 20:18
Re: # Guardar Nivel # - by SuB_ZeRo0_ - 18.04.2010, 20:21
Re: # Guardar Nivel # - by Link_ - 12.07.2010, 12:31
Re: # Guardar Nivel # - by Data_Base - 12.07.2010, 12:33
Re: # Guardar Nivel # - by [VGS]Protioso - 12.07.2010, 22:58
Re: # Guardar Nivel # - by ipsBruno - 13.07.2010, 01:40

Forum Jump:


Users browsing this thread: 5 Guest(s)