• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Баг с загрузкой домов

Статус
В этой теме нельзя размещать новые ответы.

Gasilator

Изучающий
Пользователь
Регистрация
2 Мар 2012
Сообщения
112
Лучшие ответы
0
Репутация
33
Всем привет!:bs: Решил добавить систему домов в свой мод с данного мануала: Всё вроде работает хорошо, но обнаружил баг при перезапуске мода, а именно в одном и том же месте спавнятся 2 дома.


Код загрузки дома:

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;
}
Как можно исправить?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу