SA-MP Forums Archive
Stats saving problem - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Stats saving problem (/showthread.php?tid=441367)



Stats saving problem - [..MonTaNa..] - 02.06.2013

Removed.


Re: Stats saving problem - IceBilizard - 02.06.2013

You have stock for PlayerName? and problem are not saving stats?


Re: Stats saving problem - [..MonTaNa..] - 02.06.2013

Removed.


Respuesta: Stats saving problem - Parka - 02.06.2013

pawn Код:
#include a_samp
#include Dini

stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof name);
    return name;
}


stock Pach( playerid )
{
    new str[128];
    format( str, sizeof str, "%s.ini", PlayerName(playerid));
    return str;
}

stock SetPlayerMoney(playerid, money)
{
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, money);
}

enum PlayerStats
{
    Score,
    Kills,
    Deaths,
    Money
}
new pStats[MAX_PLAYERS][PlayerStats];

public OnPlayerConnect(playerid)
{
    //Variable reset until player file is detected
    pStats[playerid][Score]  = 0;
    pStats[playerid][Kills]  = 0;
    pStats[playerid][Deaths] = 0;
    pStats[playerid][Money]  = 0;

    if(!dini_Exists( Pach( playerid ) ) )
    {
        dini_Create(Pach( playerid ));
        dini_IntSet(Pach( playerid ), "Score",  0);
        dini_IntSet(Pach( playerid ), "Kills",  0);
        dini_IntSet(Pach( playerid ), "Deaths", 0);
        dini_IntSet(Pach( playerid ), "Money",  0);
    }
    else
    {
        pStats[playerid][Score]  = dini_Int(Pach( playerid ), "Score");
        pStats[playerid][Kills]  = dini_Int(Pach( playerid ), "Kills");
        pStats[playerid][Deaths] = dini_Int(Pach( playerid ), "Deaths");
        pStats[playerid][Money]  = dini_Int(Pach( playerid ), "Money");
        SetPlayerScore(playerid, pStats[playerid][Score]);
        SetPlayerMoney(playerid, pStats[playerid][Money]);
    }
   
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    if(dini_Exists(Pach( playerid )))
    {
        dini_IntSet(Pach( playerid ), "Score", GetPlayerScore(playerid));
        dini_IntSet(Pach( playerid ), "Kills", pStats[playerid][Kills]);
        dini_IntSet(Pach( playerid ), "Deaths", pStats[playerid][Deaths]);
        dini_IntSet(Pach( playerid ), "Money", GetPlayerMoney(playerid));
    }
    return 1;
}


public OnPlayerDeath(playerid, killerid, reason)
{
    pStats[killerid][Kills]++;
    pStats[playerid][Deaths]++;
    return 1;
}



Re: Stats saving problem - [..MonTaNa..] - 02.06.2013

Removed.


Respuesta: Stats saving problem - Parka - 02.06.2013

add
pawn Код:
stock Pach( playerid )
{
    new str[128];
    format( str, sizeof str, "save/%s.ini", PlayerName(playerid));
    return str;
}