Приступим к написанию.
Система довольно таки простая, ничего сложного я в работе не увидел. В начале мода вписываем:
#include <mxINI>
Потом переходим в самый конец мода, и вписываем:
stock GetMoney(playerid)
{
new money = GetPlayerMoney(playerid);
if(PlayerInfo[playerid][pCash] > money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
return true;
}
else if(PlayerInfo[playerid][pCash] < money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
return true;
}
} Далее ищем enum с функциями игрока. Как обычно, enum'ы располагаются в начале мода для удобства поиска и смены переменных параметров игрока. У меня он обьявлен, как "pInfo":
enum pInfo
{
pKey[32],
pLevel
}
new PlayerInfo[MAX_PLAYERS][pInfo]; Ищем такой-же, или похожий enum, и вписываем туда:
pCash,
Если у вас его все еще нету, мы должны создать его. Для этого вписываем в начало мода:
enum pInfo
{
pCash
}
new PlayerInfo[MAX_PLAYERS][pInfo]; Теперь мы должны создать функцию загрузки, сохранение и обновления параметров игрока. Для этого идем в конец мода и вписываем:
stock LoadAccount(playerid)
{
new name[MAX_PLAYER_NAME];
new string;
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s.ini", name);
if(fexist(string))
{
format(string, sizeof(string), "Files/Players/%s.ini", name);
new File = ini_openFile(string);
ini_getInteger(File,"Cash",PlayerInfo[playerid][pCash]);
ini_closeFile(File);
}
else if(!fexist(string))
{
format(string, sizeof(string), "%s.ini", name);
new File = ini_createFile(string);
ini_setInteger(File,"Cash",0);
ini_closeFile(File);
}
SpawnPlayer(playerid);
}
stock SaveAccount(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string2, sizeof(string2), "%s.ini", name);
new File = ini_openFile(string2);
ini_setInteger(File,"Cash",PlayerInfo[playerid][pCash]);
ini_closeFile (File);
} В public OnPlayerUpdate(playerid) вписываем:
GetMoney(playerid);
Если у вас уже есть паблик с загрузкой аккаунта, вписываем туда:
ini_getInteger(File,"Cash",PlayerInfo[playerid][pCash] );
И в паблик с сохранением вписываем:
ini_setInteger(File,"Cash",PlayerInfo[playerid][pCash] );
Ах да, чуть не забыл. В public OnPlayerRequestClass:
LoadAccount(playerid);
В public OnPlayerDisconnect:
SaveAccount(playerid);
Автор: Неизвестен.