Dynamic Dutymenu doenst save.
#1

As the title says..

When i re-start, i have to recreate it all..

Код:
LoadDutyMenus()
{
	for(new i = 1; i < MAX_DUTYMENUS; i++)
	{
	    new command[17];
	    new file[100];
	    new var[32];
	    format(file, sizeof(file), "DutyMenus/%d.ini", i);
	    if(fexist(file) && INI_Open(file))
	    {
	        INI_ReadString(command, "DutyMenuCommand");
	        DutyMenuStatistics[i][DutyMenuX] = INI_ReadFloat("DutyMenuX");
	        DutyMenuStatistics[i][DutyMenuY] = INI_ReadFloat("DutyMenuY");
	        DutyMenuStatistics[i][DutyMenuZ] = INI_ReadFloat("DutyMenuZ");
			DutyMenuStatistics[i][DutyMenuFaction] = INI_ReadInt("DutyMenuFaction");
			for(new g = 0; g < 47; g++)
			{
				format(var, sizeof(var), "DutyMenuGun%d", g);
				DutyMenuStatistics[i][DutyMenuGuns][g] = INI_ReadInt(var);

				format(var, sizeof(var), "DutyMenuGunRank%d", g);
				DutyMenuStatistics[i][DutyMenuGunRank][g] = INI_ReadInt(var);
			}
			DutyMenuStatistics[i][DutyMenuMask] = INI_ReadInt("DutyMenuMask");
			DutyMenuStatistics[i][DutyMenuMaskRank] = INI_ReadInt("DutyMenuMaskRank");
			DutyMenuStatistics[i][DutyMenuVirtual] = INI_ReadInt("DutyMenuVirtual");
			DutyMenuStatistics[i][DutyMenuPickup] = CreateDynamicPickup(1239, 23, DutyMenuStatistics[i][DutyMenuX], DutyMenuStatistics[i][DutyMenuY], DutyMenuStatistics[i][DutyMenuZ], DutyMenuStatistics[i][DutyMenuVirtual]);
			strmid(DutyMenuStatistics[i][DutyMenuCommand], command, 0, strlen(command), 255);
			DutyMenuIDTaken[i] = 1;
			INI_Close();
		}
	}
	return 1;
}
Код:
SaveDutyMenus()
{
	for(new i = 1; i < MAX_DUTYMENUS; i++)
	{
	    if(DutyMenuIDTaken[i] == 0) continue;
	    new file[100];
	    new var[32];
	    format(file, sizeof(file), "DutyMenus/%d.ini", i);
	    if(INI_Open(file))
	    {
	        INI_WriteString("DutyMenuCommand", DutyMenuStatistics[i][DutyMenuCommand]);
	        INI_WriteFloat("DutyMenuX", DutyMenuStatistics[i][DutyMenuX]);
	        INI_WriteFloat("DutyMenuY", DutyMenuStatistics[i][DutyMenuY]);
	        INI_WriteFloat("DutyMenuZ", DutyMenuStatistics[i][DutyMenuZ]);
			INI_WriteInt("DutyMenuFaction", DutyMenuStatistics[i][DutyMenuFaction]);
			for(new g = 0; g < 47; g++)
			{
				format(var, sizeof(var), "DutyMenuGun%d", g);
				INI_WriteInt(var, DutyMenuStatistics[i][DutyMenuGuns][g]);

				format(var, sizeof(var), "DutyMenuGunRank%d", g);
				INI_WriteInt(var, DutyMenuStatistics[i][DutyMenuGunRank][g]);
 			}
			INI_WriteInt("DutyMenuMask", DutyMenuStatistics[i][DutyMenuMask]);
			INI_WriteInt("DutyMenuMaskRank", DutyMenuStatistics[i][DutyMenuMaskRank]);
			INI_WriteInt("DutyMenuVirtual", DutyMenuStatistics[i][DutyMenuVirtual]);
			INI_Save();
			INI_Close();
		}
	}
	return 1;
}
I cannot see the error..
Full code is here

im trying to edit UG:RP Script in order to understand and learn codes and find errors.
Reply
#2

Are you using a outdated y_ini version?
Because the current one does not have
pawn Код:
INI_ReadString
Also for loading you don't need to
pawn Код:
INI_Open
INI_Close
Check ****** tutorial on y_ini.
Especially the part on
pawn Код:
INI_ParseFile
EDIT: You are also checking if a file exists on loading.. but not on saving?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)