Написал систему сохранения рангов, в итоге она не пашет должным образом.
Работает некоторое время нормально, но патом начинает сохранять в файл полную белиберду и все перестает работать!
Подскажите пожалуйста в чем м.б. проблема? Я себе уже весь мозг сломал.
PHP код:
enum iGroup
{
iGroupNumber,
iMaxRang,
iRang1[MAX_PLAYER_NAME],
iRang2[MAX_PLAYER_NAME],
iRang3[MAX_PLAYER_NAME],
iRang4[MAX_PLAYER_NAME],
iRang5[MAX_PLAYER_NAME],
iRang6[MAX_PLAYER_NAME],
iRang7[MAX_PLAYER_NAME],
iRang8[MAX_PLAYER_NAME],
iRang9[MAX_PLAYER_NAME],
iRang10[MAX_PLAYER_NAME],
iRang11[MAX_PLAYER_NAME],
iRang12[MAX_PLAYER_NAME],
iRang13[MAX_PLAYER_NAME],
iRang14[MAX_PLAYER_NAME],
iRang15[MAX_PLAYER_NAME],
iRang16[MAX_PLAYER_NAME],
iRang17[MAX_PLAYER_NAME],
iRang18[MAX_PLAYER_NAME]
};
new InfoGroup[7][iGroup];
stock LoadInfoGroup()
{
new arrCoords[24][64];
new strFromFile2[400];
new File: file = fopen("infogroup.cfg", io_read);
if (file)
{
new idx;
while (idx < sizeof(InfoGroup))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
InfoGroup[idx][iGroupNumber] = strval(arrCoords[0]);
InfoGroup[idx][iMaxRang] = strval(arrCoords[1]);
strmid(InfoGroup[idx][iRang1], arrCoords[2], 0, strlen(arrCoords[2]), 255);
strmid(InfoGroup[idx][iRang2], arrCoords[3], 0, strlen(arrCoords[3]), 255);
strmid(InfoGroup[idx][iRang3], arrCoords[4], 0, strlen(arrCoords[4]), 255);
strmid(InfoGroup[idx][iRang4], arrCoords[5], 0, strlen(arrCoords[5]), 255);
strmid(InfoGroup[idx][iRang5], arrCoords[6], 0, strlen(arrCoords[6]), 255);
strmid(InfoGroup[idx][iRang6], arrCoords[7], 0, strlen(arrCoords[7]), 255);
strmid(InfoGroup[idx][iRang7], arrCoords[8], 0, strlen(arrCoords[8]), 255);
strmid(InfoGroup[idx][iRang8], arrCoords[9], 0, strlen(arrCoords[9]), 255);
strmid(InfoGroup[idx][iRang9], arrCoords[10], 0, strlen(arrCoords[10]), 255);
strmid(InfoGroup[idx][iRang10], arrCoords[11], 0, strlen(arrCoords[11]), 255);
strmid(InfoGroup[idx][iRang11], arrCoords[12], 0, strlen(arrCoords[12]), 255);
strmid(InfoGroup[idx][iRang12], arrCoords[13], 0, strlen(arrCoords[13]), 255);
strmid(InfoGroup[idx][iRang13], arrCoords[14], 0, strlen(arrCoords[14]), 255);
strmid(InfoGroup[idx][iRang14], arrCoords[15], 0, strlen(arrCoords[15]), 255);
strmid(InfoGroup[idx][iRang15], arrCoords[16], 0, strlen(arrCoords[16]), 255);
strmid(InfoGroup[idx][iRang16], arrCoords[17], 0, strlen(arrCoords[17]), 255);
strmid(InfoGroup[idx][iRang17], arrCoords[18], 0, strlen(arrCoords[18]), 255);
strmid(InfoGroup[idx][iRang18], arrCoords[19], 0, strlen(arrCoords[19]), 255);
idx++;
}
fclose(file);
}
return 1;
}
stock SaveInfoGroup()
{
new idx = 0;
new File: file2;
while (idx < sizeof(InfoGroup))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d|%d|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s\n",
InfoGroup[idx][iGroupNumber],
InfoGroup[idx][iMaxRang],
InfoGroup[idx][iRang1],
InfoGroup[idx][iRang2],
InfoGroup[idx][iRang3],
InfoGroup[idx][iRang4],
InfoGroup[idx][iRang5],
InfoGroup[idx][iRang6],
InfoGroup[idx][iRang7],
InfoGroup[idx][iRang8],
InfoGroup[idx][iRang9],
InfoGroup[idx][iRang10],
InfoGroup[idx][iRang11],
InfoGroup[idx][iRang12],
InfoGroup[idx][iRang13],
InfoGroup[idx][iRang14],
InfoGroup[idx][iRang15],
InfoGroup[idx][iRang16],
InfoGroup[idx][iRang17],
InfoGroup[idx][iRang18]);
if(idx == 0)
{
file2 = fopen("infogroup.cfg", io_write);
}
else
{
file2 = fopen("infogroup.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
PHP код:
if(Player[playerid][pGroup] == 1) // Grove Street Gang
{
for(new i =0;i<sizeof(InfoGroup);i++)
{
if(InfoGroup[i][iGroupNumber] == 1)
{
if(Player[playerid][pRank] == InfoGroup[i][iMaxRang] && Player[playerid][pLeader] != 1) { Player[playerid][pRank] -= 1; }
if(Player[playerid][pRank] > InfoGroup[i][iMaxRang] && Player[playerid][pLeader] != 1) { Player[playerid][pRank] -= InfoGroup[i][iMaxRang]-1; }
if(Player[playerid][pRank] == 1) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang1], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 2) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang2], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 3) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang3], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 4) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang4], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 5) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang5], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 6) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang6], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 7) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang7], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 8) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang8], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 9) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang9], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 10) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang10], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 11) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang11], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 12) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang12], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 13) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang13], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 14) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang14], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 15) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang15], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 16) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang16], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 17) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang17], GetPlayerNameEx(playerid), message); }
if(Player[playerid][pRank] == 18) { format(string, sizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**", InfoGroup[i][iRang18], GetPlayerNameEx(playerid), message); }
SendGroupMessage(Player[playerid][pGroup], GROVECOLOR, string);
}
}
}