Код:
#define PATH "/Users/%s.ini"I
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
INI_Int("Level",PlayerInfo[playerid][pLevel]);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Age",PlayerInfo[playerid][pAge]);
INI_Int("Origin",PlayerInfo[playerid][pOrigin]);
INI_Int("Sex",PlayerInfo[playerid][pSex]);
INI_Int("Model",PlayerInfo[playerid][pModel]);
INI_Int("DriveLic",PlayerInfo[playerid][pDriveLic]);
INI_Int("Place",PlayerInfo[playerid][pPlace]);
INI_Int("Exp",PlayerInfo[playerid][pExp]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Number",PlayerInfo[playerid][pNumber]);
INI_Int("Tester",PlayerInfo[playerid][pTester]);
INI_Int("Warns",PlayerInfo[playerid][pWarns]);
INI_Int("Selected",PlayerInfo[playerid][pSelected]);
INI_Int("Muted",PlayerInfo[playerid][pMuted]);
INI_Int("MuteTime",PlayerInfo[playerid][pMuteTime]);
INI_Int("FirstJoined",PlayerInfo[playerid][pFirstJoined]);
INI_Int("Vip",PlayerInfo[playerid][pVip]);
INI_Int("Spawn",PlayerInfo[playerid][pSpawn]);
INI_Int("Locked",PlayerInfo[playerid][pLocked]);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File, "Level",PlayerInfo[playerid][pLevel]);
INI_WriteInt(File, "Money",PlayerInfo[playerid][pCash]);
INI_WriteInt(File, "Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File, "Tester",PlayerInfo[playerid][pTester]);
INI_WriteInt(File, "Vip",PlayerInfo[playerid][pVip]);
INI_WriteInt(File, "Spawn",PlayerInfo[playerid][pSpawn]);
INI_WriteInt(File, "Model",PlayerInfo[playerid][pModel]);
INI_WriteInt(File, "Locked",PlayerInfo[playerid][pLocked]);
INI_WriteInt(File, "FirstJoined", PlayerInfo[playerid][pFirstJoined]);
INI_WriteInt(File, "Sex", PlayerInfo[playerid][pSex]);
INI_WriteInt(File, "Age", PlayerInfo[playerid][pAge]);
INI_WriteInt(File, "Origin", PlayerInfo[playerid][pOrigin]);
INI_WriteInt(File, "Respect", PlayerInfo[playerid][pExp]);
INI_WriteInt(File, "Warns", PlayerInfo[playerid][pWarns]);
INI_WriteInt(File, "Selected", PlayerInfo[playerid][pSelected]);
INI_WriteInt(File, "Continent", PlayerInfo[playerid][pPlace]);
INI_WriteInt(File, "Muted", PlayerInfo[playerid][pMuted]);
INI_WriteInt(File, "MuteTime", PlayerInfo[playerid][pMuteTime]);
INI_WriteInt(File, "Ph", PlayerInfo[playerid][pNumber]);
INI_WriteInt(File, "DriveLic", PlayerInfo[playerid][pDriveLic]);
INI_Close(File);
return 1;
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1234)
{
if(!response) return Kick(playerid);
if(response)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
}
else
}
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
}
}
}
}