SA-MP Forums Archive
Криво сохраняет в файл - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Криво сохраняет в файл (/showthread.php?tid=469344)



Криво сохраняет в файл - Mass_Deboose - 12.10.2013

Написал систему сохранения рангов, в итоге она не пашет должным образом.
Работает некоторое время нормально, но патом начинает сохранять в файл полную белиберду и все перестает работать!
Подскажите пожалуйста в чем м.б. проблема? Я себе уже весь мозг сломал.

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 
Filefile fopen("infogroup.cfg"io_read);
    if (
file)
    {
        new 
idx;
        while (
idx sizeof(InfoGroup))
        {
            
fread(filestrFromFile2);
            
split(strFromFile2arrCoords'|');
            
InfoGroup[idx][iGroupNumber] = strval(arrCoords[0]);
            
InfoGroup[idx][iMaxRang] = strval(arrCoords[1]);
            
strmid(InfoGroup[idx][iRang1], arrCoords[2], 0strlen(arrCoords[2]), 255);
            
strmid(InfoGroup[idx][iRang2], arrCoords[3], 0strlen(arrCoords[3]), 255);
            
strmid(InfoGroup[idx][iRang3], arrCoords[4], 0strlen(arrCoords[4]), 255);
            
strmid(InfoGroup[idx][iRang4], arrCoords[5], 0strlen(arrCoords[5]), 255);
            
strmid(InfoGroup[idx][iRang5], arrCoords[6], 0strlen(arrCoords[6]), 255);
            
strmid(InfoGroup[idx][iRang6], arrCoords[7], 0strlen(arrCoords[7]), 255);
            
strmid(InfoGroup[idx][iRang7], arrCoords[8], 0strlen(arrCoords[8]), 255);
            
strmid(InfoGroup[idx][iRang8], arrCoords[9], 0strlen(arrCoords[9]), 255);
            
strmid(InfoGroup[idx][iRang9], arrCoords[10], 0strlen(arrCoords[10]), 255);
            
strmid(InfoGroup[idx][iRang10], arrCoords[11], 0strlen(arrCoords[11]), 255);
            
strmid(InfoGroup[idx][iRang11], arrCoords[12], 0strlen(arrCoords[12]), 255);
            
strmid(InfoGroup[idx][iRang12], arrCoords[13], 0strlen(arrCoords[13]), 255);
            
strmid(InfoGroup[idx][iRang13], arrCoords[14], 0strlen(arrCoords[14]), 255);
            
strmid(InfoGroup[idx][iRang14], arrCoords[15], 0strlen(arrCoords[15]), 255);
            
strmid(InfoGroup[idx][iRang15], arrCoords[16], 0strlen(arrCoords[16]), 255);
            
strmid(InfoGroup[idx][iRang16], arrCoords[17], 0strlen(arrCoords[17]), 255);
            
strmid(InfoGroup[idx][iRang17], arrCoords[18], 0strlen(arrCoords[18]), 255);
            
strmid(InfoGroup[idx][iRang18], arrCoords[19], 0strlen(arrCoords[19]), 255);
            
idx++;
        }
        
fclose(file);
    }
    return 
1;

stock SaveInfoGroup()
{
    new 
idx 0;
    new 
Filefile2;
    while (
idx sizeof(InfoGroup))
    {
        new 
coordsstring[256];
        
format(coordsstringsizeof(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(file2coordsstring);
        
idx++;
        
fclose(file2);
    }
    return 
1;

Чат:
PHP код:
if(Player[playerid][pGroup] == 1// Grove Street Gang
    
{
        for(new 
=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(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang1], GetPlayerNameEx(playerid), message); }
                 if(
Player[playerid][pRank] == 2) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang2], GetPlayerNameEx(playerid), message); }
                  if(
Player[playerid][pRank] == 3) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang3], GetPlayerNameEx(playerid), message); }
                   if(
Player[playerid][pRank] == 4) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang4], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 5) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang5], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 6) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang6], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 7) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang7], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 8) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang8], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 9) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang9], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 10) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang10], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 11) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang11], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 12) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang12], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 13) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang13], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 14) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang14], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 15) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang15], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 16) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang16], GetPlayerNameEx(playerid), message); }
                    if(
Player[playerid][pRank] == 17) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang17], GetPlayerNameEx(playerid), message); }
                if(
Player[playerid][pRank] == 18) { format(stringsizeof(string), "** [F] %s %s: {ffffff}%s. {0d9f29}**"InfoGroup[i][iRang18], GetPlayerNameEx(playerid), message); }
                
SendGroupMessage(Player[playerid][pGroup], GROVECOLORstring);
            }
        }
    } 
Файл infogroup.cfg:
Код:
0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0
1|10|Homie|Young Gangster|Psycho|Hustla|Old Gangster|Authority|Playa|Big Joe|Legend|Father|11th rang|12th rang|13th rang|14th rang|15th rang|16th rang|17th rang|18th rang
2|10|Novato|Probado|Bandito|Asesino|Soldato|Respetado|Veterano|Autoridad|Adjunto|Padre|11th rang|12th rang|13th rang|14th rang|15th rang|16th rang|17th rang|18th rang
3|10|Novato|Ordinario|Amigo|Bandido|Mercenario|Soldado|Inteligente|Autoridad|Adjunto Padre|Supreme Padre|11th rang|12th rang|13th rang|14th rang|15th rang|16th rang|17th rang|18th rang
4|10|Younger|Wolf|Fighter|Bastard|Ghetto Soldier|Old Gangster|Front Yard Killa|Daddy|E.S. Legend|Pac|11th rang|12th rang|13th rang|14th rang|15th rang|16th rang|17th rang|18th rang
5|10|1th rang|2th rang|3th rang|4th rang|5th rang|6th rang|7th rang|8th rang|9th rang|10th rang|11th rang|12th rang|13th rang|14th rang|15th rang|16th rang|17th rang|18th rang
6|18|Кадет|Младший Офицер|Офицер|Младший Сержант|Сержант|Старший Сержант|Прапорщик|Младший Лейтенант|Лейтенант|Старший Лейтенант|Капитан|Майор|Подполковник|Полковник|Шериф Лос Сантоса|Шериф Сан Фиерро|Шериф Лас Вентураса|Генерал Полиции