02.06.2013, 17:35
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;
}