25.10.2016, 08:55
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:
It saves some data mutliple times... Here's the script:
Loading the data:
On player disconnect:
On player register dialog:
Please help...
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 =
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; }
Код:
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); }
Код:
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);