SA-MP Forums Archive
A little help! (Y_INI not saving properly) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: A little help! (Y_INI not saving properly) (/showthread.php?tid=661573)



A little help! (Y_INI not saving properly) - GameOvr - 08.12.2018

Hello I made a Zone capture system it's also saving zone data on gamemode exit. But the problem is it's not saving the correct data on the file at gamemode exit plz someone help me here's the code

pawn Код:
//OnGameModeInit
new fstr[50];
    for(new i = 0; i < sizeof(ZONEINFO); i++)
    {
        ZONEID[i] = GangZoneCreate( ZONEINFO[i][zminx], ZONEINFO[i][zminy], ZONEINFO[i][zmaxx], ZONEINFO[i][zmaxy]);
        DZONEID[i] = CreateDynamicRectangle( ZONEINFO[i][zminx], ZONEINFO[i][zminy], ZONEINFO[i][zmaxx], ZONEINFO[i][zmaxy]);
        format(fstr, sizeof(fstr), ZONEPATH, i + 1);
        if(!fexist(fstr))
        {
            new INI:zfile = INI_Open(fstr);
            INI_SetTag(zfile, "Zone data");
            INI_WriteString(zfile, "Zone_Name", ZONEINFO[i][zname]);
            INI_WriteBool(zfile, "Zone_Owned", false);
            INI_WriteHex(zfile, "Zone_Color", 0xC0C0C066);
            INI_WriteInt(zfile, "Zone_Owned_Team_ID", -1);
            INI_WriteString(zfile, "Zone_Owned_Team", "No_Team");
            INI_Close(zfile);

            INI_ParseFile(fstr, "LoadZoneData", .bExtra = true, .extra = i);
        }
        else
        {
            INI_ParseFile(fstr, "LoadZoneData", .bExtra = true, .extra = i);
        }
    }

//loading data from file (Im not loading zone name because it's not changing [Zone names are in the script])
forward LoadZoneData(i, name[], value[]);
public LoadZoneData(i, name[], value[])
{
    INI_Bool("Zone_Owned", ZONEINFO[i][zowned]);
    INI_Hex("Zone_Color", ZONEINFO[i][zcolor]);
    INI_Int("Zone_Owned_Team_ID", ZONEINFO[i][zteamid]);
    INI_String("Zone_Owned_Team", ZONEINFO[i][zteam], 45);
    return 1;
}

//When someone captured the zone
    ZONEINFO[i][zteamid] = ZoneAttacker[i];
    ZONEINFO[i][zcolor] = GetTeamZoneColor(ZoneAttacker[i]);
    ZONEINFO[i][zteam] = GetTeamName(ZoneAttacker[i]);
    ZONEINFO[i][zowned] = true;

//and when exiting gamemode
new fstr[128];
    for(new i = 0; i < sizeof(ZONEINFO); i++)
    {
        format(fstr, sizeof(fstr), ZONEPATH, i + 1);

        new INI:zfile = INI_Open(fstr);
        INI_SetTag(zfile, "Zone data");
        INI_WriteBool(zfile, "Zone_Owned", ZONEINFO[i][zowned]);
        INI_WriteHex(zfile, "Zone_Color", ZONEINFO[i][zcolor]);
        INI_WriteInt(zfile, "Zone_Owned_Team_ID", ZONEINFO[i][zteamid]);
        INI_WriteString(zfile, "Zone_Owned_Team", ZONEINFO[i][zteam]);
        INI_Close(zfile);
    }
I can't find anything wrong it save all zones like this(in default way)

Код:
[Zone data]
Zone_Name = //Zone name is here
Zone_Owned = false
Zone_Color = 0xC0C0C066
Zone_Owned_Team_ID = -1
Zone_Owned_Team = No_Team



Re: A little help! (Y_INI not saving properly) - GameOvr - 09.12.2018

Bump..
Plz help


Re: A little help! (Y_INI not saving properly) - Logic_ - 09.12.2018

Why do still people use INI - just make use of SQLite here.


Re: A little help! (Y_INI not saving properly) - GameOvr - 09.12.2018

Thanks,
And yes if I won't able to figure out what is the error
I will change it to sqlite