Чтение из файла в PAWN - PullRequest
       7

Чтение из файла в PAWN

0 голосов
/ 28 мая 2018

У меня проблема с чтением файла из PAWN в моем игровом режиме для многопользовательского сервера San Andreas, проблема выглядит следующим образом:

enum vInfo
{
    vID,
    vFaction,
    Float: vPosX,
    Float: vPosY,
    Float: vPosZ,
    vCash,
    vDrugs,
    vVW
}
new VaultInfo[7][vInfo];

Выше есть данные для хранилищаsystem на моем сервере.

forward LoadVaults();
public LoadVaults()
{
    new
        arrCoords[9][64],
        strFromFile2[256],
    File: file = fopen("vaults.cfg", io_read);

    if (file)
    {
        new idx;
        while (idx < sizeof(VaultInfo))
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            VaultInfo[idx][vID] = strval(arrCoords[0]);
            VaultInfo[idx][vFaction] = strval(arrCoords[1]);
            VaultInfo[idx][vPosX] = floatstr(arrCoords[2]);
            VaultInfo[idx][vPosY] = floatstr(arrCoords[3]);
            VaultInfo[idx][vPosZ] = floatstr(arrCoords[4]);
            VaultInfo[idx][vCash] = strval(arrCoords[5]);
            VaultInfo[idx][vDrugs] = strval(arrCoords[6]);
            VaultInfo[idx][vVW] = strval(arrCoords[7]);
            printf("VaultID %d FactionNUM %d, PosX %f, PosY %f, PosZ %f, Cash %d, Drugs %d, VW %d", VaultInfo[idx][vID], VaultInfo[idx][vFaction],VaultInfo[idx] [vPosX], VaultInfo[idx][vPosY], VaultInfo[idx][vPosZ], VaultInfo[idx][vCash], VaultInfo[idx][vDrugs], VaultInfo[idx][vVW]);
            idx++;
        }
        fclose(file);
    }
    return 1;
}

Выше есть функция для чтения vaults.cfg, который я создал для своих 7 хранилищ, а также печати значений для каждого элемента, чтобы проверить, правильно ли они прочитаны, к сожалению, онимоя функция неправильно читается, как вы можете видеть на этом изображении: https://imgur.com/4vpJU60. Вот что я написал в vaults.cfg:

0,4,2492.2615, -1702.3912,1018.3438,0, 0,21,5,2332,6660, -1142,7737,1054,2969,0,0,32,6, 508,3405, -81,3647,998,9609,0,0,13,7508,3405, -81,3647,998,9609,0,0,44,8,-223,3711,1411,0023,27,7734,0,0,15,9, -223,3711,1411,0023,27,7734,0,0,26,10,508.3405, -81,3647,998,9609,0,0,3

послемного часов в поисках решения моей проблемы, я думал о том, чтобы ввести другие данные в мой vaults.cfg, и это сработало, моя функция читала каждый элементпрямо как вы можете видеть на этом изображении: https://imgur.com/a/zFJv4mP Вот что я написал в vaults.cfg:

0,1,231.1267,79.3089,1005.0391,0,0, -11,2,233.6864,111,30,1003,2257,0,0, -12,3,1714,7601, -1670,1362,20,2247,0,0, -13,4,2546,9341, -1281,5876,1060,9844,0,0,14, 5,2546,9341, -1281,5876 ,60,9844, 0,0,25,12,2546,9341, -1281,5876,1060,9844,0,0,36,13,2546.9341, -1281.5876,1060.9844,0,0,4

Все читается правильно сэти данные, так что плохого в моих начальных элементах?Почему моя функция неправильно читает элементы?Я был бы очень признателен за небольшую помощь от кого-то, кто знает больше меня.

...