y_ini saving problem -
iamjems - 25.10.2016
Hey,
I have a problem with saving player statistics with y_ini. When I delete the files, register and log-in, log-in into my admin system, give myself some stats and I log off it saves the stats perfectly. But when i do /rcon gmx, or log off the second time this is what happens in my user file:
Код:
[data]
Cash = 0
Admin = 0
Helper = 0
Kills = 0
Deaths = 0
Score = 0
Warnings = 1
Global mute = 1
Report mute = 0
Help mute = 0
Accepted reports = 0
Accepted help requests = 0
Admin name = James
Normal name = James_Tyson
Global mute = 0
Report mute = 0
Help mute = 0
Accepted reports = 0
Accepted help requests = 0
Admin name =
Normal name =
It saves some data mutliple times... Here's the script:
Loading the data:
Код:
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Helper",PlayerInfo[playerid][pHelper]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
INI_Int("Score",PlayerInfo[playerid][pScore]);
INI_Int("Warnings",PlayerInfo[playerid][pWarnings]);
INI_Int("Global mute",PlayerInfo[playerid][pGMute]);
INI_Int("Report mute",PlayerInfo[playerid][pRMute]);
INI_Int("Help mute",PlayerInfo[playerid][pHMute]);
INI_Int("Accepted reports",PlayerInfo[playerid][pAcceptedReports]);
INI_Int("Accepted help requests",PlayerInfo[playerid][pAcceptedHelps]);
INI_String("Admin name",PlayerInfo[playerid][pAdminName], 24);
INI_String("Normal name",PlayerInfo[playerid][pNormalName], 24);
return 1;
}
On player disconnect:
Код:
if(!IsPlayerNPC(playerid))
{
if(!isnull(PlayerInfo[playerid][pAdminName])) SetPlayerName(playerid, PlayerInfo[playerid][pNormalName]);
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File, "Cash",GetPlayerMoney(playerid));
INI_WriteInt(File, "Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File, "Helper",PlayerInfo[playerid][pHelper]);
INI_WriteInt(File, "Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File, "Deaths",PlayerInfo[playerid][pDeaths]);
INI_WriteInt(File, "Score",GetPlayerScore(playerid));
INI_WriteInt(File, "Warnings",PlayerInfo[playerid][pWarnings]);
INI_WriteInt(File, "Global mute",PlayerInfo[playerid][pGMute]);
INI_WriteInt(File, "Report mute",PlayerInfo[playerid][pRMute]);
INI_WriteInt(File, "Help mute",PlayerInfo[playerid][pHMute]);
INI_WriteInt(File, "Accepted reports",PlayerInfo[playerid][pAcceptedReports]);
INI_WriteInt(File, "Accepted help requests",PlayerInfo[playerid][pAcceptedHelps]);
INI_WriteString(File, "Admin name",PlayerInfo[playerid][pAdminName]);
INI_WriteString(File, "Normal name",PlayerInfo[playerid][pNormalName]);
INI_Close(File);
}
On player register dialog:
Код:
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File, "Cash",0);
INI_WriteInt(File, "Admin",0);
INI_WriteInt(File, "Helper",0);
INI_WriteInt(File, "Kills",0);
INI_WriteInt(File, "Deaths",0);
INI_WriteInt(File, "Score",0);
INI_WriteInt(File, "Warnings",0);
INI_WriteInt(File, "Global mute",0);
INI_WriteInt(File, "Report mute",0);
INI_WriteInt(File, "Help mute",0);
INI_WriteInt(File, "Accepted reports",0);
INI_WriteInt(File, "Accepted help requests",0);
INI_WriteString(File, "Admin name","");
INI_WriteString(File, "Normal name","");
INI_Close(File);
Please help...
Re: y_ini saving problem -
iamjems - 25.10.2016
bump
Re: y_ini saving problem -
Skimmer - 25.10.2016
Are you sure you're loading the stats properly?
Re: y_ini saving problem -
Yaa - 25.10.2016
Show us OnPlayerConnect Callback
Re: y_ini saving problem -
iamjems - 25.10.2016
I have fixed it.
Fix: don't use spaces in this example:
INI_WriteInt(File, "Global mute",0);
INI_Int("Global mute",PlayerInfo[playerid][pGMute]);
Replace Global mute by Globalmute.