- Регистрация
- 2 Мар 2012
- Сообщения
- 112
- Лучшие ответы
- 0
- Репутация
- 33
Всем привет!:bs: Решил добавить систему домов в свой мод с данного мануала:
Всё вроде работает хорошо, но обнаружил баг при перезапуске мода, а именно в одном и том же месте спавнятся 2 дома.
Код загрузки дома:
OnGameModeInit:
Как можно исправить?
Код загрузки дома:
OnGameModeInit:
Код:
LoadHouses();//????????? ????.
for(new h = 0; h < AllHouse; h++)
{
new string[256];
if(HousesInfo[h][hOwned] == 0)
{
format(string,sizeof(string), "{FF9900}*** Продаётся ***\n\n{ffffff}Номер: {AFAFAF}%d\n{FFFFFF}Стоимость: {AFAFAF}%d {FFFFFF}[$]\nУровень: {AFAFAF}%d{ffffff}\n\nЧтобы купить, введите {AFAFAF}/buyhouse",h,HousesInfo[h][hPrice],HousesInfo[h][hLevel]);
houses_text[h] = Create3DTextLabel(string, 0xFFFFFFFF, HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ]+0.5, 10.0, 0, 1);
HousesInfo[h][hIcon] = CreateDynamicMapIcon(HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ], 31, 0xFAFAFA, 0, -1, -1, 400.0);
HousesInfo[h][hPickup] = CreateDynamicPickup(1273, 23, HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ]);
}
else if(HousesInfo[h][hOwned] == 1)
{
format(string,sizeof(string), "Дом № %d\n\nУровень: %d\nВладелец: %s",h,HousesInfo[h][hLevel],HousesInfo[h][hOwner]);
houses_text[h] = Create3DTextLabel(string, 0xFFFFFFFF, HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ]+0.5, 10.0, 0, 1);
HousesInfo[h][hIcon] = CreateDynamicMapIcon(HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ], 32, 0xFAFAFA, 0, -1, -1, 400.0);
HousesInfo[h][hPickup] = CreateDynamicPickup(1272, 23, HousesInfo[h][hX], HousesInfo[h][hY], HousesInfo[h][hZ]);
}
}
Код:
stock LoadHouses()
{
new File = ini_openFile("House/config.ini");
ini_getInteger(File,"Houses",AllHouse);
ini_closeFile(File);
new arrCoords[10][64];
new strFromFile2[256];
new File: file = fopen("House/houses.cfg", io_read);
if(file)
{
new idx;
while (idx < AllHouse)
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, ',');
HousesInfo[idx][hOwned] = strval(arrCoords[0]);
strmid(HousesInfo[idx][hOwner], arrCoords[1], 0, strlen(arrCoords[1]), 255);
HousesInfo[idx][hX] = floatstr(arrCoords[2]);
HousesInfo[idx][hY] = floatstr(arrCoords[3]);
HousesInfo[idx][hZ] = floatstr(arrCoords[4]);
HousesInfo[idx][hInterior] = strval(arrCoords[5]);
HousesInfo[idx][hVirtWorld] = strval(arrCoords[6]);
HousesInfo[idx][hPrice] = strval(arrCoords[7]);
HousesInfo[idx][hLock] = strval(arrCoords[8]);
HousesInfo[idx][hLevel] = strval(arrCoords[9]);
idx++;
}
printf("[ Загрузка ... ] Домов загружено - %d",idx);
fclose(file);
}
return true;
}