05.05.2017, 05:50
INI_Int is for an integer, INI_String is for a string and INI_Float is for a float
I suggest you to create a new function like 'SaveUser', so that if you want to save players data you can easily use SaveUser(playerid) on it, I code this for you. And also I've added how to solve your problem with that saving system
PHP код:
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("BankCash",PlayerInfo[playerid][pBankCash]);
INI_Int("Score",PlayerInfo[playerid][pScore]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
INI_Int("Helmets",Helmets[playerid]);
INI_Int("Vests",Vests[playerid]);
INI_Int("Medikits",Medikits[playerid]);
INI_Float("Health",PlayerInfo[playerid][pHealth]); //This is a float, you need to use INI_Float
INI_Float("Armour",PlayerInfo[playerid][pArmour]); //This is a float, you need to use INI_Float
INI_Int("Mats",PlayerInfo[playerid][pMats]);
INI_Int("Skin",PlayerInfo[playerid][pSkin]);
INI_Int("Job",PlayerInfo[playerid][pJob]);
INI_Int("SalaryDate",PlayerInfo[playerid][SalaryDate]);
INI_Int("JobLevel",PlayerInfo[playerid][JobLevel]);
INI_Float("PosX",PlayerInfo[playerid][PosX]); //This is a float, you need to use INI_Float
INI_Float("PosY",PlayerInfo[playerid][PosY]); //This is a float, you need to use INI_Float
INI_Float("PosZ",PlayerInfo[playerid][PosZ]); //This is a float, you need to use INI_Float
OldMats[playerid] = PlayerInfo[playerid][pMats];
return 1;
}
PHP код:
forward SaveUser(playerid);
public SaveUser(playerid)
{
new float:x,float:y,float:z;
GetPlayerPos(playerid,x,y,z);
new float:health,float:armour;
GetPlayerHealth(playerid,health);
GetPlayerArmour(playerid,armour);
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"BankCash",BankCash[playerid]);
INI_WriteInt(File,"Score",GetPlayerScore(playerid));
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
INI_WriteInt(File,"Helmets",Helmets[playerid]);
INI_WriteInt(File,"Vests",Vests[playerid]);
INI_WriteInt(File,"Medikits",Medikits[playerid]);
INI_WriteFloat(File,"Health",health); //This is a float, you need to use INI_WriteFloat
INI_WriteFloat(File,"Armour",armour); //This is a float, you need to use INI_WriteFloat
INI_WriteInt(File,"Mats",PlayerInfo[playerid][pMats]);
INI_WriteInt(File,"Skin",GetPlayerSkin(playerid));
INI_WriteInt(File,"Job",PlayerInfo[playerid][pJob]);
INI_WriteInt(File,"SalaryDate",PlayerInfo[playerid][SalaryDate]);
INI_WriteInt(File,"JobLevel",PlayerInfo[playerid][JobLevel]);
INI_WriteFloat(File,"PosX",x); //This is a float, you need to use INI_WriteFloat
INI_WriteFloat(File,"PosY",y); //This is a float, you need to use INI_WriteFloat
INI_WriteFloat(File,"PosZ",z); //This is a float, you need to use INI_WriteFloat
INI_Close(File);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SaveUser(playerid);
return 1;
}
CMD:savemydataplz(playerid, params[])
{
SaveUser(playerid);
return 1;
}