Wtf is going on here. the save fuctions or the load function? -
When I restart the mode. Everything is confused. Some factions doesn't have a name anymore. The Member amount is 0. I don't get it.
Код:
public SaveDynamicFactions()
{
new idx;
new File: file2;
while (idx < sizeof(DynamicFactions))
{
new coordsstring[512];
format(coordsstring, sizeof(coordsstring), "%s|%f|%f|%f|%d|%d|%d|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%s|%d|%s|%d|%d|%d|%d|%d|%d\n",
DynamicFactions[idx][fName],
DynamicFactions[idx][fX],
DynamicFactions[idx][fY],
DynamicFactions[idx][fZ],
DynamicFactions[idx][fMaterials],
DynamicFactions[idx][fDrugs],
DynamicFactions[idx][fBank],
DynamicFactions[idx][fRank1],
DynamicFactions[idx][fRank2],
DynamicFactions[idx][fRank3],
DynamicFactions[idx][fRank4],
DynamicFactions[idx][fRank5],
DynamicFactions[idx][fRank6],
DynamicFactions[idx][fRank7],
DynamicFactions[idx][fRank8],
DynamicFactions[idx][fRank9],
DynamicFactions[idx][fRank10],
DynamicFactions[idx][fSkin1],
DynamicFactions[idx][fSkin2],
DynamicFactions[idx][fSkin3],
DynamicFactions[idx][fSkin4],
DynamicFactions[idx][fSkin5],
DynamicFactions[idx][fSkin6],
DynamicFactions[idx][fSkin7],
DynamicFactions[idx][fSkin8],
DynamicFactions[idx][fSkin9],
DynamicFactions[idx][fSkin10],
DynamicFactions[idx][fJoinRank],
DynamicFactions[idx][fUseSkins],
DynamicFactions[idx][fType],
DynamicFactions[idx][fRankAmount],
DynamicFactions[idx][fColor],
DynamicFactions[idx][fUseColor],
DynamicFactions[idx][fColorName],
DynamicFactions[idx][fInvites],
DynamicFactions[idx][fUninvites],
DynamicFactions[idx][fKills],
DynamicFactions[idx][fDeaths],
DynamicFactions[idx][fMembers],
DynamicFactions[idx][fCasinos]);
if(idx == 0)
{
file2 = fopen("Factions/factions.cfg", io_write);
}
else
{
file2 = fopen("Factions/factions.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
public LoadDynamicFactions()
{
new arrCoords[40][64];
new strFromFile2[256];
new File: file = fopen("Factions/factions.cfg", io_read);
if (file)
{
new idx;
while (idx < sizeof(DynamicFactions))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
strmid(DynamicFactions[idx][fName], arrCoords[0], 0, strlen(arrCoords[0]), 255);
DynamicFactions[idx][fX] = floatstr(arrCoords[1]);
DynamicFactions[idx][fY] = floatstr(arrCoords[2]);
DynamicFactions[idx][fZ] = floatstr(arrCoords[3]);
DynamicFactions[idx][fMaterials] = strval(arrCoords[4]);
DynamicFactions[idx][fDrugs] = strval(arrCoords[5]);
DynamicFactions[idx][fBank] = strval(arrCoords[6]);
strmid(DynamicFactions[idx][fRank1], arrCoords[7], 0, strlen(arrCoords[7]), 255);
strmid(DynamicFactions[idx][fRank2], arrCoords[8], 0, strlen(arrCoords[8]), 255);
strmid(DynamicFactions[idx][fRank3], arrCoords[9], 0, strlen(arrCoords[9]), 255);
strmid(DynamicFactions[idx][fRank4], arrCoords[10], 0, strlen(arrCoords[10]), 255);
strmid(DynamicFactions[idx][fRank5], arrCoords[11], 0, strlen(arrCoords[11]), 255);
strmid(DynamicFactions[idx][fRank6], arrCoords[12], 0, strlen(arrCoords[12]), 255);
strmid(DynamicFactions[idx][fRank7], arrCoords[13], 0, strlen(arrCoords[13]), 255);
strmid(DynamicFactions[idx][fRank8], arrCoords[14], 0, strlen(arrCoords[14]), 255);
strmid(DynamicFactions[idx][fRank9], arrCoords[15], 0, strlen(arrCoords[15]), 255);
strmid(DynamicFactions[idx][fRank10], arrCoords[16], 0, strlen(arrCoords[16]), 255);
DynamicFactions[idx][fSkin1] = strval(arrCoords[17]);
DynamicFactions[idx][fSkin2] = strval(arrCoords[18]);
DynamicFactions[idx][fSkin3] = strval(arrCoords[19]);
DynamicFactions[idx][fSkin4] = strval(arrCoords[20]);
DynamicFactions[idx][fSkin5] = strval(arrCoords[21]);
DynamicFactions[idx][fSkin6] = strval(arrCoords[22]);
DynamicFactions[idx][fSkin7] = strval(arrCoords[23]);
DynamicFactions[idx][fSkin8] = strval(arrCoords[24]);
DynamicFactions[idx][fSkin9] = strval(arrCoords[25]);
DynamicFactions[idx][fSkin10] = strval(arrCoords[26]);
DynamicFactions[idx][fJoinRank] = strval(arrCoords[27]);
DynamicFactions[idx][fUseSkins] = strval(arrCoords[28]);
DynamicFactions[idx][fType] = strval(arrCoords[29]);
DynamicFactions[idx][fRankAmount] = strval(arrCoords[30]);
strmid(DynamicFactions[idx][fColor], arrCoords[31], 0, strlen(arrCoords[31]), 255);
DynamicFactions[idx][fUseColor] = strval(arrCoords[32]);
strmid(DynamicFactions[idx][fColorName], arrCoords[33], 0, strlen(arrCoords[33]), 255);
DynamicFactions[idx][fInvites] = strval(arrCoords[34]);
DynamicFactions[idx][fUninvites] = strval(arrCoords[35]);
DynamicFactions[idx][fKills] = strval(arrCoords[36]);
DynamicFactions[idx][fDeaths] = strval(arrCoords[37]);
DynamicFactions[idx][fMembers] = strval(arrCoords[38]);
DynamicFactions[idx][fCasinos] = strval(arrCoords[39]);
printf("[DYNAMIC FACTIONS:] Faction Name: %s, Type: %d, ID: %d",DynamicFactions[idx][fName],DynamicFactions[idx][fType],idx);
idx++;
}
fclose(file);
}
return 1;
}