Weapons Saving help.
#1

Hello people, today I am having a problem with the weapons saving I am using. I am using a Y_ini system, I have it on a timer, every few seconds, it saves into the file, but every time it saves, it creates a new set under the old set and does not edit the old set.

My code.
pawn Код:
forward save(playerid);
public save(playerid)
{
          new INI:File = INI_Open(WepPath(playerid));
          INI_SetTag(File,"data");
          GetPlayerWeaponData(playerid, 1, weaponinfo[playerid][Weapon1], weaponinfo[playerid][Weapon1a]);
          GetPlayerWeaponData(playerid, 2, weaponinfo[playerid][Weapon2], weaponinfo[playerid][Weapon2a]);
          GetPlayerWeaponData(playerid, 3, weaponinfo[playerid][Weapon3], weaponinfo[playerid][Weapon3a]);
          GetPlayerWeaponData(playerid, 4, weaponinfo[playerid][Weapon4], weaponinfo[playerid][Weapon4a]);
          GetPlayerWeaponData(playerid, 5, weaponinfo[playerid][Weapon5], weaponinfo[playerid][Weapon5a]);
          GetPlayerWeaponData(playerid, 6, weaponinfo[playerid][Weapon6], weaponinfo[playerid][Weapon6a]);
          GetPlayerWeaponData(playerid, 7, weaponinfo[playerid][Weapon7], weaponinfo[playerid][Weapon7a]);
          GetPlayerWeaponData(playerid, 8, weaponinfo[playerid][Weapon8], weaponinfo[playerid][Weapon8a]);
          GetPlayerWeaponData(playerid, 9, weaponinfo[playerid][Weapon9], weaponinfo[playerid][Weapon9a]);
          GetPlayerWeaponData(playerid, 10, weaponinfo[playerid][Weapon10], weaponinfo[playerid][Weapon10a]);
          GetPlayerWeaponData(playerid, 11, weaponinfo[playerid][Weapon11], weaponinfo[playerid][Weapon11a]);
          GetPlayerWeaponData(playerid, 12, weaponinfo[playerid][Weapon12], weaponinfo[playerid][Weapon12a]);
          INI_WriteInt(File, "Weapon 1",weaponinfo[playerid][Weapon1]);
          INI_WriteInt(File,"Weapon 1 ammo",weaponinfo[playerid][Weapon1a]);
          INI_WriteInt(File, "Weapon 2",weaponinfo[playerid][Weapon2]);
          INI_WriteInt(File,"Weapon 2 ammo",weaponinfo[playerid][Weapon2a]);
          INI_WriteInt(File, "Weapon 3",weaponinfo[playerid][Weapon3]);
          INI_WriteInt(File,"Weapon 3 ammo",weaponinfo[playerid][Weapon3a]);
          INI_WriteInt(File, "Weapon 4",weaponinfo[playerid][Weapon4]);
          INI_WriteInt(File,"Weapon 4 ammo",weaponinfo[playerid][Weapon4a]);
          INI_WriteInt(File, "Weapon 5",weaponinfo[playerid][Weapon5]);
          INI_WriteInt(File,"Weapon 5 ammo",weaponinfo[playerid][Weapon5a]);
          INI_WriteInt(File, "Weapon 6",weaponinfo[playerid][Weapon6]);
          INI_WriteInt(File,"Weapon 6 ammo",weaponinfo[playerid][Weapon6a]);
          INI_WriteInt(File, "Weapon 7",weaponinfo[playerid][Weapon7]);
          INI_WriteInt(File,"Weapon 7 ammo",weaponinfo[playerid][Weapon7a]);
          INI_WriteInt(File, "Weapon 8",weaponinfo[playerid][Weapon8]);
          INI_WriteInt(File,"Weapon 8 ammo",weaponinfo[playerid][Weapon8a]);
          INI_WriteInt(File, "Weapon 9",weaponinfo[playerid][Weapon9]);
          INI_WriteInt(File,"Weapon 9 ammo",weaponinfo[playerid][Weapon9a]);
          INI_WriteInt(File, "Weapon 10",weaponinfo[playerid][Weapon10]);
          INI_WriteInt(File,"Weapon 10 ammo",weaponinfo[playerid][Weapon10a]);
          INI_WriteInt(File, "Weapon 11",weaponinfo[playerid][Weapon11]);
          INI_WriteInt(File,"Weapon 11 ammo",weaponinfo[playerid][Weapon11a]);
          INI_WriteInt(File, "Weapon 12",weaponinfo[playerid][Weapon12]);
          INI_WriteInt(File,"Weapon 12 ammo",weaponinfo[playerid][Weapon12a]);
          INI_Close(File);
          return 1;
}
Any solutions? It would be appreciated
Reply
#2

Just remove the spaces, like this :

"Weapon 5 ammo" to => "Weapon5ammo" or "W5Ammo".

Suggestion: You can use a loop for saving all weapon data, and use "format" to convert it to INI Key names.
Reply
#3

Thank you , but I have another problem now, when they disconnect the file stays the same, when they rejoin, the file resets.
My code for it, I have this, if the file does not exist for them, it creates a new file.
pawn Код:
if(!fexist(WepPath(playerid)))
    {
        new INI:File = INI_Open(WepPath(playerid));
        INI_SetTag(File,"data");
        INI_WriteInt(File, "Weapon1",weaponinfo[playerid][Weapon1] = 0);
          INI_WriteInt(File,"Weapon1ammo",weaponinfo[playerid][Weapon1a] = 0);
          INI_WriteInt(File, "Weapon2",weaponinfo[playerid][Weapon2] = 0);
          INI_WriteInt(File,"Weapon2ammo",weaponinfo[playerid][Weapon2a] = 0);
          INI_WriteInt(File, "Weapon3",weaponinfo[playerid][Weapon3] = 0);
          INI_WriteInt(File,"Weapon3ammo",weaponinfo[playerid][Weapon3a] = 0);
          INI_WriteInt(File, "Weapon4",weaponinfo[playerid][Weapon4] = 0);
          INI_WriteInt(File,"Weapon4ammo",weaponinfo[playerid][Weapon4a] = 0);
          INI_WriteInt(File, "Weapon5",weaponinfo[playerid][Weapon5] = 0);
          INI_WriteInt(File,"Weapon5ammo",weaponinfo[playerid][Weapon5a] = 0);
          INI_WriteInt(File, "Weapon6",weaponinfo[playerid][Weapon6] = 0);
          INI_WriteInt(File,"Weapon6ammo",weaponinfo[playerid][Weapon6a] = 0);
          INI_WriteInt(File, "Weapon7",weaponinfo[playerid][Weapon7] = 0);
          INI_WriteInt(File,"Weapon7ammo",weaponinfo[playerid][Weapon7a] = 0);
          INI_WriteInt(File, "Weapon8",weaponinfo[playerid][Weapon8] = 0);
          INI_WriteInt(File,"Weapon8ammo",weaponinfo[playerid][Weapon8a] = 0);
          INI_WriteInt(File, "Weapon9",weaponinfo[playerid][Weapon9] = 0);
          INI_WriteInt(File,"Weapon9ammo",weaponinfo[playerid][Weapon9a] = 0);
          INI_WriteInt(File, "Weapon10",weaponinfo[playerid][Weapon10] = 0);
          INI_WriteInt(File,"Weapon10ammo",weaponinfo[playerid][Weapon10a] = 0);
          INI_WriteInt(File, "Weapon11",weaponinfo[playerid][Weapon11] = 0);
          INI_WriteInt(File,"Weapon11ammo",weaponinfo[playerid][Weapon11a] = 0);
          INI_WriteInt(File, "Weapon12",weaponinfo[playerid][Weapon12] = 0);
          INI_WriteInt(File,"Weapon12ammo",weaponinfo[playerid][Weapon12a] = 0);
          INI_Close(File);
          return 1;
    }
So what should I do to make it stay the same when they login, instead of resetting it?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)