Nikolay37
Дебютант
Здравствуйте, есть проблема - 20 домов загружаются в нормальных местах, а остальные в одной точке, а именно есть файл houses.txt, где записаны все координаты, так же есть файл home.cfg в нем написано AllHouse = 141 и вот код
Как я понял вся проблема в house.cfg, там правильные координаты до 20 дома идут, остальные в 1 точке остаются. Но в чем тогда может быть проблема - незнаю. Заглянул в houses.txt, там координаты идут таким образом -
И много раз так повторяются, а если быть точным, эта цифра 19 в конце, мне интересно, что она может обозначать?
Удалил тот house.cfg, запустил сервер, дома прогрузились, конфиг новый сохранился, проблема теперь такая - все дома в одной точке. Теперь так понимаю - проблема в цикле?
В общем, вопрос такой - как сделать так, чтобы координаты которые вносятся в house.cfg брались из houses.txt?
public LoadHouse()
{
new iniOpens = ini_openFile("home.cfg");
ini_getInteger(iniOpens, "AllHouse", AllHouse);
ini_closeFile(iniOpens);
new arrCoords[34][64];
new strFromFile2[256];
new File: file = fopen("ImmortaL/house.cfg", io_read);
if (file)
{
new idx;
while (idx < AllHouse)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
HouseInfo[idx][hHealthx] = strval(arrCoords[6]);
HouseInfo[idx][hHealthy] = strval(arrCoords[7]);
HouseInfo[idx][hHealthz] = strval(arrCoords[8]);
HouseInfo[idx][hArmourx] = strval(arrCoords[9]);
HouseInfo[idx][hArmoury] = strval(arrCoords[10]);
HouseInfo[idx][hArmourz] = strval(arrCoords[11]);
strmid(HouseInfo[idx][hOwner], arrCoords[12], 0, strlen(arrCoords[12]), 255);
strmid(HouseInfo[idx][hDiscription], arrCoords[13], 0, strlen(arrCoords[13]), 255);
HouseInfo[idx][hValue] = strval(arrCoords[14]);
HouseInfo[idx][hHel] = strval(arrCoords[15]);
HouseInfo[idx][hArm] = strval(arrCoords[16]);
HouseInfo[idx][hInt] = strval(arrCoords[17]);
HouseInfo[idx][hLock] = strval(arrCoords[18]);
HouseInfo[idx][hOwned] = strval(arrCoords[19]);
HouseInfo[idx][hRooms] = strval(arrCoords[20]);
HouseInfo[idx][hRent] = strval(arrCoords[21]);
HouseInfo[idx][hRentabil] = strval(arrCoords[22]);
HouseInfo[idx][hTakings] = strval(arrCoords[23]);
HouseInfo[idx][hVec] = strval(arrCoords[24]);
HouseInfo[idx][hVcol1] = strval(arrCoords[25]);
HouseInfo[idx][hVcol2] = strval(arrCoords[26]);
HouseInfo[idx][hDate] = strval(arrCoords[27]);
HouseInfo[idx][hLevel] = strval(arrCoords[28]);
HouseInfo[idx][hsX] = floatstr(arrCoords[29]);
HouseInfo[idx][hsY] = floatstr(arrCoords[30]);
HouseInfo[idx][hsZ] = floatstr(arrCoords[31]);
HouseInfo[idx][hsAn] = floatstr(arrCoords[32]);
idx++;
}
fclose(file);
printf("House: [%d]",idx);
}
return true;
}
{
new iniOpens = ini_openFile("home.cfg");
ini_getInteger(iniOpens, "AllHouse", AllHouse);
ini_closeFile(iniOpens);
new arrCoords[34][64];
new strFromFile2[256];
new File: file = fopen("ImmortaL/house.cfg", io_read);
if (file)
{
new idx;
while (idx < AllHouse)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
HouseInfo[idx][hEntrancex] = floatstr(arrCoords[0]);
HouseInfo[idx][hEntrancey] = floatstr(arrCoords[1]);
HouseInfo[idx][hEntrancez] = floatstr(arrCoords[2]);
HouseInfo[idx][hExitx] = floatstr(arrCoords[3]);
HouseInfo[idx][hExity] = floatstr(arrCoords[4]);
HouseInfo[idx][hExitz] = floatstr(arrCoords[5]);
HouseInfo[idx][hHealthx] = strval(arrCoords[6]);
HouseInfo[idx][hHealthy] = strval(arrCoords[7]);
HouseInfo[idx][hHealthz] = strval(arrCoords[8]);
HouseInfo[idx][hArmourx] = strval(arrCoords[9]);
HouseInfo[idx][hArmoury] = strval(arrCoords[10]);
HouseInfo[idx][hArmourz] = strval(arrCoords[11]);
strmid(HouseInfo[idx][hOwner], arrCoords[12], 0, strlen(arrCoords[12]), 255);
strmid(HouseInfo[idx][hDiscription], arrCoords[13], 0, strlen(arrCoords[13]), 255);
HouseInfo[idx][hValue] = strval(arrCoords[14]);
HouseInfo[idx][hHel] = strval(arrCoords[15]);
HouseInfo[idx][hArm] = strval(arrCoords[16]);
HouseInfo[idx][hInt] = strval(arrCoords[17]);
HouseInfo[idx][hLock] = strval(arrCoords[18]);
HouseInfo[idx][hOwned] = strval(arrCoords[19]);
HouseInfo[idx][hRooms] = strval(arrCoords[20]);
HouseInfo[idx][hRent] = strval(arrCoords[21]);
HouseInfo[idx][hRentabil] = strval(arrCoords[22]);
HouseInfo[idx][hTakings] = strval(arrCoords[23]);
HouseInfo[idx][hVec] = strval(arrCoords[24]);
HouseInfo[idx][hVcol1] = strval(arrCoords[25]);
HouseInfo[idx][hVcol2] = strval(arrCoords[26]);
HouseInfo[idx][hDate] = strval(arrCoords[27]);
HouseInfo[idx][hLevel] = strval(arrCoords[28]);
HouseInfo[idx][hsX] = floatstr(arrCoords[29]);
HouseInfo[idx][hsY] = floatstr(arrCoords[30]);
HouseInfo[idx][hsZ] = floatstr(arrCoords[31]);
HouseInfo[idx][hsAn] = floatstr(arrCoords[32]);
idx++;
}
fclose(file);
printf("House: [%d]",idx);
}
return true;
}
1273, 219.711242, -1250.425537, 78.332633, 33.503372, 19, 1 ; // dugi
1273, 2449.662353, 714.210693, 11.468292, 274.666778, 19, 1 ; // LV House
1273, 2346.375732, 656.261230, 11.460479, 23.631895, 19, 1 ; // LV house Zero
1273, 2449.662353, 714.210693, 11.468292, 274.666778, 19, 1 ; // LV House
1273, 2346.375732, 656.261230, 11.460479, 23.631895, 19, 1 ; // LV house Zero
Удалил тот house.cfg, запустил сервер, дома прогрузились, конфиг новый сохранился, проблема теперь такая - все дома в одной точке. Теперь так понимаю - проблема в цикле?
В общем, вопрос такой - как сделать так, чтобы координаты которые вносятся в house.cfg брались из houses.txt?
Последнее редактирование:
