Вопросы

Привет, мне друг добавил команду для создания домов, и я решил её проверить!

Создаю дом всё как надо, /addhouse [ТИП] [СТОИМОСТЬ] [ЦЕНА АРЕНДЫ]

Создаю так: /addhouse (2-Высокий) 50000000 100000

Дом создался под ID 0

 

Я пере захожу, создаю ещё один дом, а он начал создаваться опять с 0 ID.

Посмотрел то место где я создавал дом, того дома нет он просто переместился!

Купил дом который создал, потом вышел из него, а вышел в другом месте где создавал дом в первый раз!

Что делать кто знает?

 

Спойлер

CMD:addhouse(playerid, params[])
{
    if(GetPlayerAdminEx(playerid) != 6) return 1;

    extract params -> new type, price, rent_price; else return SendClientMessage(playerid, 0xCECECEFF, "Используйте: /addhouse [тип] [стоимость] [цена аренды]");

    new fmt_text[300];

    if(!(0 <= type <= sizeof g_house_type - 1))
    {
        SendClientMessage(playerid, 0x999999FF, "Типы домов:");

        for(new i; i < sizeof g_house_type; i ++)
        {
            format(fmt_text, sizeof fmt_text, "%d. %s", i, GetHouseTypeInfo(i, HT_NAME));

            SendClientMessage(playerid, 0xCECECEFF, fmt_text);
        }

        return 1;
    }

    if(price < 1) return SendClientMessage(playerid, 0x999999FF, "Стоимость дома не может быть меньше 1");

    if(rent_price < 1) return SendClientMessage(playerid, 0x999999FF, "Стоимость аренды не может быть меньше 1");

    new Cache: result,
        idx = g_house_loaded;

    GetPlayerPos(playerid, g_house[idx][H_POS_X], g_house[idx][H_POS_Y], g_house[idx][H_POS_Z]);

    new buffer[2];

    buffer[0] = Get2DCity(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));
    buffer[1] = Get2DZone(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));

    SetHouseData(idx, H_CITY,            buffer[0]);
    SetHouseData(idx, H_ZONE,            buffer[1]);

    SetHouseData(idx, H_PRICE,            price);
    SetHouseData(idx, H_RENT_PRICE,        rent_price);
    SetHouseData(idx, H_TYPE,            type);

    SetHouseData(idx, H_ENTRACE,        -1);

    format
    (
        fmt_text, sizeof fmt_text,
        "INSERT INTO houses \
        (city, zone, type, price, rent_price, x, y, z)\
        VALUES ('%d', '%d', '%d', '%d', '%f', '%f', '%f', '%f')",
        GetHouseData(idx, H_CITY),
        GetHouseData(idx, H_ZONE),
        type, price, rent_price,
        GetHouseData(idx, H_POS_X),
        GetHouseData(idx, H_POS_Y),
        GetHouseData(idx, H_POS_Z)
    );

    result = mysql_query(mysql, fmt_text, true);

    SetHouseData(idx, H_SQL_ID,         cache_insert_id());

    cache_delete(result);

    g_house_loaded ++;

    UpdateHouse(idx);

    format(fmt_text, sizeof fmt_text, "[A] %s[%d] создал дом ¹%d (%s / %s)", GetPlayerNameEx(playerid), playerid, idx, GetCityName(GetHouseData(idx, H_CITY)), GetZoneName(GetHouseData(idx, H_ZONE)));

    SendMessageToAdmins(fmt_text, 0x66CC33FF);

    SendClientMessage(playerid, 0x3399FFFF, "Используйте {FFFF00}/setexitpos и /setcarpos{3399FF}, чтобы завершить создание дома");

    return 1;
}

 

CMD:setexitpos(playerid, params[])
{
    if(GetPlayerAdminEx(playerid) != 6) return 1;

    extract params -> new house_id; else return SendClientMessage(playerid, 0xCECECEFF, "Используйте: /setexitpos [id дома]");

    if(!(0 <= house_id <= g_house_loaded - 1)) return SendClientMessage(playerid, 0x999999FF, "Данного дома не существует на сервере");

    GetPlayerPos(playerid, g_house[house_id][H_EXIT_POS_X], g_house[house_id][H_EXIT_POS_Y], g_house[house_id][H_EXIT_POS_Z]);
    GetPlayerFacingAngle(playerid, g_house[house_id][H_EXIT_ANGLE]);

    new fmt_text[144];

    format
    (
        fmt_text, sizeof fmt_text,
        "UPDATE houses SET exit_x='%f', exit_y='%f', exit_z='%f', exit_angle='%f' WHERE id=%d",
        GetHouseData(house_id, H_EXIT_POS_X),
        GetHouseData(house_id, H_EXIT_POS_Y),
        GetHouseData(house_id, H_EXIT_POS_Z),
        GetHouseData(house_id, H_EXIT_ANGLE),
        GetHouseData(house_id, H_SQL_ID)
    );

    mysql_query(mysql, fmt_text, false);

    format(fmt_text, sizeof fmt_text, "Вы успешно изменили координаты выхода у дома №%d", house_id);

    SendClientMessage(playerid, 0x66CC33FF, fmt_text);

    return 1;
}

 

CMD:setcarpos(playerid, params[])
{
    if(GetPlayerAdminEx(playerid) != 6) return 1;

    extract params -> new house_id; else return SendClientMessage(playerid, 0xCECECEFF, "Используйте: /setcarpos [id дома]");

    if(!(0 <= house_id <= g_house_loaded - 1)) return SendClientMessage(playerid, 0x999999FF, "Данного дома не существует на сервере");

    GetPlayerPos(playerid, g_house[house_id][H_CAR_POS_X], g_house[house_id][H_CAR_POS_Y], g_house[house_id][H_CAR_POS_Z]);
    GetPlayerFacingAngle(playerid, g_house[house_id][H_CAR_ANGLE]);

    new fmt_text[144];

    format
    (
        fmt_text, sizeof fmt_text,
        "UPDATE houses SET car_x='%f', car_y='%f', car_z='%f', car_angle='%f' WHERE id=%d",
        GetHouseData(house_id, H_CAR_POS_X),
        GetHouseData(house_id, H_CAR_POS_Y),
        GetHouseData(house_id, H_CAR_POS_Z),
        GetHouseData(house_id, H_CAR_ANGLE),
        GetHouseData(house_id, H_SQL_ID)
    );

    mysql_query(mysql, fmt_text, false);

    format(fmt_text, sizeof fmt_text, "Вы успешно изменили координаты спавна авто у дома №%d", house_id);

    SendClientMessage(playerid, 0x66CC33FF, fmt_text);

    return 1;
}

 

Отредактировано пользователем SendFo RP

Поделиться сообщением


Ссылка на сообщение

18 ответов на этот вопрос

  • 0

Приветствую, возможно у вас не идет сохранение в базу данных, mysql.log файл покажите.

Поделиться сообщением


Ссылка на сообщение
  • 0

Файл сильно большой

Так что только ZIP

mysql.zip

Поделиться сообщением


Ссылка на сообщение
  • 0

Когда вы создали дом, в базе данных он появился, в таблице я так понимаю `houses`?

Поделиться сообщением


Ссылка на сообщение
  • 0
1 час назад, danya_white сказал:

Когда вы создали дом, в базе данных он появился, в таблице я так понимаю `houses`?

Да

 

Только что, SendFo RP сказал:

Да

 

Когда начинаешь создавать с самого начала создаются дома поп порядку 0.1.2.3 и т.д.

Но когда пере заходишь и начинаешь продолжать расстановку домов, то всё начинается с самого начала опять с 0 ид

а те дома просто переносятся даже если он купленый

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@SendFo RP В базе запись появляется после того, как дом создан? 

Если да, то нужно смотреть код загрузки домов, с ним что-то не то скорее всего. 

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, DEST сказал:

@SendFo RP В базе запись появляется после того, как дом создан? 

Если да, то нужно смотреть код загрузки домов, с ним что-то не то скорее всего. 

Я создал дом, он появился в бд.

потом пере захожу, всё как надо работает.

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@SendFo RPТак в чем проблема тогда?

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, danya_white сказал:

@SendFo RPТак в чем проблема тогда?

я создал пару домов, они шли по порядку с 0 ид по 3 ид.

Пере захожу что бы до расставлять дома, а они почему то с 0 ид опять начали создаваться.

купил дом под 0 ид для примера, пере зашёл создал дом, а он опять под 0 ид и перенесся мой дом в другое место, а место выхода осталось там где у его указал при первом создании дома!

Поделиться сообщением


Ссылка на сообщение
  • 0

Код загрузки домов покажи

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, danya_white сказал:

Код загрузки домов покажи

где их найти? Я не знаю просто

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

LoadHouses должно быть, возможно у вас как-то по другому

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, danya_white сказал:

LoadHouses должно быть, возможно у вас как-то по другому

Спойлер

    LoadHouses();
    LoadHousesRenters();

 

public: LoadHouses()
{
    new idx;
    new query[85], buffer[2];
    new Cache: result;

    result = mysql_query(mysql, "SELECT * FROM `houses`", true);

    for(idx = 0; idx < MAX_HOUSES; idx++)
    {
        cache_get_value_name(idx, "h_owner", g_house[idx][H_OWNER_NAME]);

        cache_get_value_name(idx, "name", g_house[idx][H_NAME]);

        cache_get_value_name_int(idx, "city", GetHouseData(idx, H_CITY));
        cache_get_value_name_int(idx, "zone", GetHouseData(idx, H_ZONE));
        cache_get_value_name_int(idx, "improvements", GetHouseData(idx, H_IMPROVEMENTS));

        cache_get_value_name_int(idx, "rent_time", GetHouseData(idx, H_RENT_DATE));
        cache_get_value_name_int(idx, "price", GetHouseData(idx, H_PRICE));
        cache_get_value_name_int(idx, "rent_price", GetHouseData(idx, H_RENT_PRICE));
        cache_get_value_name_int(idx, "type", GetHouseData(idx, H_TYPE));
        cache_get_value_name_int(idx, "lock", bool: GetHouseData(idx, H_LOCK_STATUS));

        cache_get_value_name_float(idx, "x", GetHouseData(idx, H_POS_X));
        cache_get_value_name_float(idx, "y", GetHouseData(idx, H_POS_Y));
        cache_get_value_name_float(idx, "z", GetHouseData(idx, H_POS_Z));

        cache_get_value_name_float(idx, "exit_x", GetHouseData(idx, H_EXIT_POS_X));
        cache_get_value_name_float(idx, "exit_y", GetHouseData(idx, H_EXIT_POS_Y));
        cache_get_value_name_float(idx, "exit_z", GetHouseData(idx, H_EXIT_POS_Z));
        cache_get_value_name_float(idx, "exit_angle", GetHouseData(idx, H_EXIT_ANGLE));

        cache_get_value_name_float(idx, "car_x", GetHouseData(idx, H_CAR_POS_X));
        cache_get_value_name_float(idx, "car_y", GetHouseData(idx, H_CAR_POS_Y));
        cache_get_value_name_float(idx, "car_z", GetHouseData(idx, H_CAR_POS_Z));
        cache_get_value_name_float(idx, "car_angle", GetHouseData(idx, H_CAR_ANGLE));

        cache_get_value_name_float(idx, "helicopter_x", GetHouseData(idx, H_HELI_POS_X));
        cache_get_value_name_float(idx, "helicopter_y", GetHouseData(idx, H_HELI_POS_Y));
        cache_get_value_name_float(idx, "helicopter_z", GetHouseData(idx, H_HELI_POS_Z));
        cache_get_value_name_float(idx, "helicopter_angle", GetHouseData(idx, H_HELI_ANGLE));

        cache_get_value_name_float(idx, "store_x", GetHouseData(idx, H_STORE_X));
        cache_get_value_name_float(idx, "store_y", GetHouseData(idx, H_STORE_Y));
        cache_get_value_name_float(idx, "store_z", GetHouseData(idx, H_STORE_Z));

        cache_get_value_name_int(idx, "store_metall", GetHouseData(idx, H_STORE_METALL));
        cache_get_value_name_int(idx, "store_drugs", GetHouseData(idx, H_STORE_DRUGS));
        cache_get_value_name_int(idx, "store_weapon", GetHouseData(idx, H_STORE_WEAPON));
        cache_get_value_name_int(idx, "store_ammo", GetHouseData(idx, H_STORE_AMMO));
        cache_get_value_name_int(idx, "store_skin", GetHouseData(idx, H_STORE_SKIN));

        // -------------------------
        SetHouseData(idx, H_STORE_LABEL, Text3D:-1);

        buffer[0] = GetHouseData(idx, H_TYPE);
        if(!strlen(GetHouseData(idx, H_NAME)))
            format(g_house[idx][H_NAME], 20, GetHouseTypeInfo(buffer[0], HT_NAME), 0);

        if(GetHouseData(idx, H_CITY) == -1 || GetHouseData(idx, H_ZONE) == -1)
        {
            buffer[0] = Get2DCity(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));
            buffer[1] = Get2DZone(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));

            SetHouseData(idx, H_CITY, buffer[0]);
            SetHouseData(idx, H_ZONE, buffer[1]);

            mysql_format(mysql, query, sizeof query, "UPDATE houses SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], idx);
            mysql_tquery(mysql, query);
        }

        if(!IsHouseOwned(idx))
        {
            SetHouseData(idx, H_IMPROVEMENTS,     0);
            SetHouseData(idx, H_LOCK_STATUS,     false);
        }
        UpdateHouse(idx);

        HouseHealthInit(idx);
        HouseStoreInit(idx);
    }

    cache_delete(result);

    printf("[Houses]: Домов загружено: %d", MAX_HOUSES);
}

public: LoadHousesRenters()
{
    new house_id;
    new room_id;
    new rent_time;
    new time;
    new owner_name[MAX_PLAYER_NAME];

    new Cache: result, rows;

    result = mysql_query(mysql, "SELECT * FROM houses_renters", true);
    rows = cache_num_rows();

    for(new i; i < MAX_HOUSES; i++) for(new x; x < MAX_HOUSE_ROOMS; x++) format(GetHouseRenterInfo(i, x, HR_OWNER_NAME), MAX_PLAYER_NAME, "null");

    for(new idx; idx < rows; idx ++)
    {
        cache_get_value_name(idx, "owner_name", owner_name);

        cache_get_value_name_int(idx, "house_id", house_id);
        cache_get_value_name_int(idx, "room_id", room_id);
        cache_get_value_name_int(idx, "rent_time", rent_time);
        cache_get_value_name_int(idx, "time", time);

        if(!strlen(owner_name))
            owner_name[0] = '\1';

        HouseRenterInit(owner_name, house_id, room_id, rent_time, time);
    }

    cache_delete(result);

    printf("[Houses]: Арендаторов загружено: %d", rows);
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

public: LoadHouses()
{
    new idx;
    new query[85], buffer[2];
    new Cache: result;

    result = mysql_query(mysql, "SELECT * FROM `houses`", true);

    for(idx = 0; idx < MAX_HOUSES; idx++)
    {

        cache_get_value_name_int(idx, "house_id", house_id);
        cache_get_value_name(idx, "h_owner", g_house[idx][H_OWNER_NAME]);

        cache_get_value_name(idx, "name", g_house[idx][H_NAME]);

        cache_get_value_name_int(idx, "city", GetHouseData(idx, H_CITY));
        cache_get_value_name_int(idx, "zone", GetHouseData(idx, H_ZONE));
        cache_get_value_name_int(idx, "improvements", GetHouseData(idx, H_IMPROVEMENTS));

        cache_get_value_name_int(idx, "rent_time", GetHouseData(idx, H_RENT_DATE));
        cache_get_value_name_int(idx, "price", GetHouseData(idx, H_PRICE));
        cache_get_value_name_int(idx, "rent_price", GetHouseData(idx, H_RENT_PRICE));
        cache_get_value_name_int(idx, "type", GetHouseData(idx, H_TYPE));
        cache_get_value_name_int(idx, "lock", bool: GetHouseData(idx, H_LOCK_STATUS));

        cache_get_value_name_float(idx, "x", GetHouseData(idx, H_POS_X));
        cache_get_value_name_float(idx, "y", GetHouseData(idx, H_POS_Y));
        cache_get_value_name_float(idx, "z", GetHouseData(idx, H_POS_Z));

        cache_get_value_name_float(idx, "exit_x", GetHouseData(idx, H_EXIT_POS_X));
        cache_get_value_name_float(idx, "exit_y", GetHouseData(idx, H_EXIT_POS_Y));
        cache_get_value_name_float(idx, "exit_z", GetHouseData(idx, H_EXIT_POS_Z));
        cache_get_value_name_float(idx, "exit_angle", GetHouseData(idx, H_EXIT_ANGLE));

        cache_get_value_name_float(idx, "car_x", GetHouseData(idx, H_CAR_POS_X));
        cache_get_value_name_float(idx, "car_y", GetHouseData(idx, H_CAR_POS_Y));
        cache_get_value_name_float(idx, "car_z", GetHouseData(idx, H_CAR_POS_Z));
        cache_get_value_name_float(idx, "car_angle", GetHouseData(idx, H_CAR_ANGLE));

        cache_get_value_name_float(idx, "helicopter_x", GetHouseData(idx, H_HELI_POS_X));
        cache_get_value_name_float(idx, "helicopter_y", GetHouseData(idx, H_HELI_POS_Y));
        cache_get_value_name_float(idx, "helicopter_z", GetHouseData(idx, H_HELI_POS_Z));
        cache_get_value_name_float(idx, "helicopter_angle", GetHouseData(idx, H_HELI_ANGLE));

        cache_get_value_name_float(idx, "store_x", GetHouseData(idx, H_STORE_X));
        cache_get_value_name_float(idx, "store_y", GetHouseData(idx, H_STORE_Y));
        cache_get_value_name_float(idx, "store_z", GetHouseData(idx, H_STORE_Z));

        cache_get_value_name_int(idx, "store_metall", GetHouseData(idx, H_STORE_METALL));
        cache_get_value_name_int(idx, "store_drugs", GetHouseData(idx, H_STORE_DRUGS));
        cache_get_value_name_int(idx, "store_weapon", GetHouseData(idx, H_STORE_WEAPON));
        cache_get_value_name_int(idx, "store_ammo", GetHouseData(idx, H_STORE_AMMO));
        cache_get_value_name_int(idx, "store_skin", GetHouseData(idx, H_STORE_SKIN));

        // -------------------------
        SetHouseData(idx, H_STORE_LABEL, Text3D:-1);

        buffer[0] = GetHouseData(idx, H_TYPE);
        if(!strlen(GetHouseData(idx, H_NAME)))
            format(g_house[idx][H_NAME], 20, GetHouseTypeInfo(buffer[0], HT_NAME), 0);

        if(GetHouseData(idx, H_CITY) == -1 || GetHouseData(idx, H_ZONE) == -1)
        {
            buffer[0] = Get2DCity(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));
            buffer[1] = Get2DZone(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));

            SetHouseData(idx, H_CITY, buffer[0]);
            SetHouseData(idx, H_ZONE, buffer[1]);

            mysql_format(mysql, query, sizeof query, "UPDATE houses SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], idx);
            mysql_tquery(mysql, query);
        }

        if(!IsHouseOwned(idx))
        {
            SetHouseData(idx, H_IMPROVEMENTS,     0);
            SetHouseData(idx, H_LOCK_STATUS,     false);
        }
        UpdateHouse(idx);

        HouseHealthInit(idx);
        HouseStoreInit(idx);
    }

    cache_delete(result);

    printf("[Houses]: Домов загружено: %d", MAX_HOUSES);
}

Попробуйте так. 

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, danya_white сказал:

 


public: LoadHouses()
{
    new idx;
    new query[85], buffer[2];
    new Cache: result;

    result = mysql_query(mysql, "SELECT * FROM `houses`", true);

    for(idx = 0; idx < MAX_HOUSES; idx++)
    {

        cache_get_value_name_int(idx, "house_id", house_id);
        cache_get_value_name(idx, "h_owner", g_house[idx][H_OWNER_NAME]);

        cache_get_value_name(idx, "name", g_house[idx][H_NAME]);

        cache_get_value_name_int(idx, "city", GetHouseData(idx, H_CITY));
        cache_get_value_name_int(idx, "zone", GetHouseData(idx, H_ZONE));
        cache_get_value_name_int(idx, "improvements", GetHouseData(idx, H_IMPROVEMENTS));

        cache_get_value_name_int(idx, "rent_time", GetHouseData(idx, H_RENT_DATE));
        cache_get_value_name_int(idx, "price", GetHouseData(idx, H_PRICE));
        cache_get_value_name_int(idx, "rent_price", GetHouseData(idx, H_RENT_PRICE));
        cache_get_value_name_int(idx, "type", GetHouseData(idx, H_TYPE));
        cache_get_value_name_int(idx, "lock", bool: GetHouseData(idx, H_LOCK_STATUS));

        cache_get_value_name_float(idx, "x", GetHouseData(idx, H_POS_X));
        cache_get_value_name_float(idx, "y", GetHouseData(idx, H_POS_Y));
        cache_get_value_name_float(idx, "z", GetHouseData(idx, H_POS_Z));

        cache_get_value_name_float(idx, "exit_x", GetHouseData(idx, H_EXIT_POS_X));
        cache_get_value_name_float(idx, "exit_y", GetHouseData(idx, H_EXIT_POS_Y));
        cache_get_value_name_float(idx, "exit_z", GetHouseData(idx, H_EXIT_POS_Z));
        cache_get_value_name_float(idx, "exit_angle", GetHouseData(idx, H_EXIT_ANGLE));

        cache_get_value_name_float(idx, "car_x", GetHouseData(idx, H_CAR_POS_X));
        cache_get_value_name_float(idx, "car_y", GetHouseData(idx, H_CAR_POS_Y));
        cache_get_value_name_float(idx, "car_z", GetHouseData(idx, H_CAR_POS_Z));
        cache_get_value_name_float(idx, "car_angle", GetHouseData(idx, H_CAR_ANGLE));

        cache_get_value_name_float(idx, "helicopter_x", GetHouseData(idx, H_HELI_POS_X));
        cache_get_value_name_float(idx, "helicopter_y", GetHouseData(idx, H_HELI_POS_Y));
        cache_get_value_name_float(idx, "helicopter_z", GetHouseData(idx, H_HELI_POS_Z));
        cache_get_value_name_float(idx, "helicopter_angle", GetHouseData(idx, H_HELI_ANGLE));

        cache_get_value_name_float(idx, "store_x", GetHouseData(idx, H_STORE_X));
        cache_get_value_name_float(idx, "store_y", GetHouseData(idx, H_STORE_Y));
        cache_get_value_name_float(idx, "store_z", GetHouseData(idx, H_STORE_Z));

        cache_get_value_name_int(idx, "store_metall", GetHouseData(idx, H_STORE_METALL));
        cache_get_value_name_int(idx, "store_drugs", GetHouseData(idx, H_STORE_DRUGS));
        cache_get_value_name_int(idx, "store_weapon", GetHouseData(idx, H_STORE_WEAPON));
        cache_get_value_name_int(idx, "store_ammo", GetHouseData(idx, H_STORE_AMMO));
        cache_get_value_name_int(idx, "store_skin", GetHouseData(idx, H_STORE_SKIN));

        // -------------------------
        SetHouseData(idx, H_STORE_LABEL, Text3D:-1);

        buffer[0] = GetHouseData(idx, H_TYPE);
        if(!strlen(GetHouseData(idx, H_NAME)))
            format(g_house[idx][H_NAME], 20, GetHouseTypeInfo(buffer[0], HT_NAME), 0);

        if(GetHouseData(idx, H_CITY) == -1 || GetHouseData(idx, H_ZONE) == -1)
        {
            buffer[0] = Get2DCity(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));
            buffer[1] = Get2DZone(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));

            SetHouseData(idx, H_CITY, buffer[0]);
            SetHouseData(idx, H_ZONE, buffer[1]);

            mysql_format(mysql, query, sizeof query, "UPDATE houses SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], idx);
            mysql_tquery(mysql, query);
        }

        if(!IsHouseOwned(idx))
        {
            SetHouseData(idx, H_IMPROVEMENTS,     0);
            SetHouseData(idx, H_LOCK_STATUS,     false);
        }
        UpdateHouse(idx);

        HouseHealthInit(idx);
        HouseStoreInit(idx);
    }

    cache_delete(result);

    printf("[Houses]: Домов загружено: %d", MAX_HOUSES);
}

Попробуйте так. 

Сейчас попробую

 

4 минуты назад, danya_white сказал:

 


public: LoadHouses()
{
    new idx;
    new query[85], buffer[2];
    new Cache: result;

    result = mysql_query(mysql, "SELECT * FROM `houses`", true);

    for(idx = 0; idx < MAX_HOUSES; idx++)
    {

        cache_get_value_name_int(idx, "house_id", house_id);
        cache_get_value_name(idx, "h_owner", g_house[idx][H_OWNER_NAME]);

        cache_get_value_name(idx, "name", g_house[idx][H_NAME]);

        cache_get_value_name_int(idx, "city", GetHouseData(idx, H_CITY));
        cache_get_value_name_int(idx, "zone", GetHouseData(idx, H_ZONE));
        cache_get_value_name_int(idx, "improvements", GetHouseData(idx, H_IMPROVEMENTS));

        cache_get_value_name_int(idx, "rent_time", GetHouseData(idx, H_RENT_DATE));
        cache_get_value_name_int(idx, "price", GetHouseData(idx, H_PRICE));
        cache_get_value_name_int(idx, "rent_price", GetHouseData(idx, H_RENT_PRICE));
        cache_get_value_name_int(idx, "type", GetHouseData(idx, H_TYPE));
        cache_get_value_name_int(idx, "lock", bool: GetHouseData(idx, H_LOCK_STATUS));

        cache_get_value_name_float(idx, "x", GetHouseData(idx, H_POS_X));
        cache_get_value_name_float(idx, "y", GetHouseData(idx, H_POS_Y));
        cache_get_value_name_float(idx, "z", GetHouseData(idx, H_POS_Z));

        cache_get_value_name_float(idx, "exit_x", GetHouseData(idx, H_EXIT_POS_X));
        cache_get_value_name_float(idx, "exit_y", GetHouseData(idx, H_EXIT_POS_Y));
        cache_get_value_name_float(idx, "exit_z", GetHouseData(idx, H_EXIT_POS_Z));
        cache_get_value_name_float(idx, "exit_angle", GetHouseData(idx, H_EXIT_ANGLE));

        cache_get_value_name_float(idx, "car_x", GetHouseData(idx, H_CAR_POS_X));
        cache_get_value_name_float(idx, "car_y", GetHouseData(idx, H_CAR_POS_Y));
        cache_get_value_name_float(idx, "car_z", GetHouseData(idx, H_CAR_POS_Z));
        cache_get_value_name_float(idx, "car_angle", GetHouseData(idx, H_CAR_ANGLE));

        cache_get_value_name_float(idx, "helicopter_x", GetHouseData(idx, H_HELI_POS_X));
        cache_get_value_name_float(idx, "helicopter_y", GetHouseData(idx, H_HELI_POS_Y));
        cache_get_value_name_float(idx, "helicopter_z", GetHouseData(idx, H_HELI_POS_Z));
        cache_get_value_name_float(idx, "helicopter_angle", GetHouseData(idx, H_HELI_ANGLE));

        cache_get_value_name_float(idx, "store_x", GetHouseData(idx, H_STORE_X));
        cache_get_value_name_float(idx, "store_y", GetHouseData(idx, H_STORE_Y));
        cache_get_value_name_float(idx, "store_z", GetHouseData(idx, H_STORE_Z));

        cache_get_value_name_int(idx, "store_metall", GetHouseData(idx, H_STORE_METALL));
        cache_get_value_name_int(idx, "store_drugs", GetHouseData(idx, H_STORE_DRUGS));
        cache_get_value_name_int(idx, "store_weapon", GetHouseData(idx, H_STORE_WEAPON));
        cache_get_value_name_int(idx, "store_ammo", GetHouseData(idx, H_STORE_AMMO));
        cache_get_value_name_int(idx, "store_skin", GetHouseData(idx, H_STORE_SKIN));

        // -------------------------
        SetHouseData(idx, H_STORE_LABEL, Text3D:-1);

        buffer[0] = GetHouseData(idx, H_TYPE);
        if(!strlen(GetHouseData(idx, H_NAME)))
            format(g_house[idx][H_NAME], 20, GetHouseTypeInfo(buffer[0], HT_NAME), 0);

        if(GetHouseData(idx, H_CITY) == -1 || GetHouseData(idx, H_ZONE) == -1)
        {
            buffer[0] = Get2DCity(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));
            buffer[1] = Get2DZone(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));

            SetHouseData(idx, H_CITY, buffer[0]);
            SetHouseData(idx, H_ZONE, buffer[1]);

            mysql_format(mysql, query, sizeof query, "UPDATE houses SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], idx);
            mysql_tquery(mysql, query);
        }

        if(!IsHouseOwned(idx))
        {
            SetHouseData(idx, H_IMPROVEMENTS,     0);
            SetHouseData(idx, H_LOCK_STATUS,     false);
        }
        UpdateHouse(idx);

        HouseHealthInit(idx);
        HouseStoreInit(idx);
    }

    cache_delete(result);

    printf("[Houses]: Домов загружено: %d", MAX_HOUSES);
}

Попробуйте так. 

Спойлер

C:\Users\admin\Desktop\Friendly rp (Nikitos)\gamemodes\new.pwn(25954) : error 017: undefined symbol "house_id"
Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
 

 

Строка 

cache_get_value_name_int(idx, "house_id", house_id);

 

Поделиться сообщением


Ссылка на сообщение
  • 0
16 минут назад, danya_white сказал:

 


public: LoadHouses()
{
    new idx;
    new query[85], buffer[2];
    new Cache: result;

    result = mysql_query(mysql, "SELECT * FROM `houses`", true);

    for(idx = 0; idx < MAX_HOUSES; idx++)
    {

        cache_get_value_name_int(idx, "house_id", house_id);
        cache_get_value_name(idx, "h_owner", g_house[idx][H_OWNER_NAME]);

        cache_get_value_name(idx, "name", g_house[idx][H_NAME]);

        cache_get_value_name_int(idx, "city", GetHouseData(idx, H_CITY));
        cache_get_value_name_int(idx, "zone", GetHouseData(idx, H_ZONE));
        cache_get_value_name_int(idx, "improvements", GetHouseData(idx, H_IMPROVEMENTS));

        cache_get_value_name_int(idx, "rent_time", GetHouseData(idx, H_RENT_DATE));
        cache_get_value_name_int(idx, "price", GetHouseData(idx, H_PRICE));
        cache_get_value_name_int(idx, "rent_price", GetHouseData(idx, H_RENT_PRICE));
        cache_get_value_name_int(idx, "type", GetHouseData(idx, H_TYPE));
        cache_get_value_name_int(idx, "lock", bool: GetHouseData(idx, H_LOCK_STATUS));

        cache_get_value_name_float(idx, "x", GetHouseData(idx, H_POS_X));
        cache_get_value_name_float(idx, "y", GetHouseData(idx, H_POS_Y));
        cache_get_value_name_float(idx, "z", GetHouseData(idx, H_POS_Z));

        cache_get_value_name_float(idx, "exit_x", GetHouseData(idx, H_EXIT_POS_X));
        cache_get_value_name_float(idx, "exit_y", GetHouseData(idx, H_EXIT_POS_Y));
        cache_get_value_name_float(idx, "exit_z", GetHouseData(idx, H_EXIT_POS_Z));
        cache_get_value_name_float(idx, "exit_angle", GetHouseData(idx, H_EXIT_ANGLE));

        cache_get_value_name_float(idx, "car_x", GetHouseData(idx, H_CAR_POS_X));
        cache_get_value_name_float(idx, "car_y", GetHouseData(idx, H_CAR_POS_Y));
        cache_get_value_name_float(idx, "car_z", GetHouseData(idx, H_CAR_POS_Z));
        cache_get_value_name_float(idx, "car_angle", GetHouseData(idx, H_CAR_ANGLE));

        cache_get_value_name_float(idx, "helicopter_x", GetHouseData(idx, H_HELI_POS_X));
        cache_get_value_name_float(idx, "helicopter_y", GetHouseData(idx, H_HELI_POS_Y));
        cache_get_value_name_float(idx, "helicopter_z", GetHouseData(idx, H_HELI_POS_Z));
        cache_get_value_name_float(idx, "helicopter_angle", GetHouseData(idx, H_HELI_ANGLE));

        cache_get_value_name_float(idx, "store_x", GetHouseData(idx, H_STORE_X));
        cache_get_value_name_float(idx, "store_y", GetHouseData(idx, H_STORE_Y));
        cache_get_value_name_float(idx, "store_z", GetHouseData(idx, H_STORE_Z));

        cache_get_value_name_int(idx, "store_metall", GetHouseData(idx, H_STORE_METALL));
        cache_get_value_name_int(idx, "store_drugs", GetHouseData(idx, H_STORE_DRUGS));
        cache_get_value_name_int(idx, "store_weapon", GetHouseData(idx, H_STORE_WEAPON));
        cache_get_value_name_int(idx, "store_ammo", GetHouseData(idx, H_STORE_AMMO));
        cache_get_value_name_int(idx, "store_skin", GetHouseData(idx, H_STORE_SKIN));

        // -------------------------
        SetHouseData(idx, H_STORE_LABEL, Text3D:-1);

        buffer[0] = GetHouseData(idx, H_TYPE);
        if(!strlen(GetHouseData(idx, H_NAME)))
            format(g_house[idx][H_NAME], 20, GetHouseTypeInfo(buffer[0], HT_NAME), 0);

        if(GetHouseData(idx, H_CITY) == -1 || GetHouseData(idx, H_ZONE) == -1)
        {
            buffer[0] = Get2DCity(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));
            buffer[1] = Get2DZone(GetHouseData(idx, H_POS_X), GetHouseData(idx, H_POS_Y));

            SetHouseData(idx, H_CITY, buffer[0]);
            SetHouseData(idx, H_ZONE, buffer[1]);

            mysql_format(mysql, query, sizeof query, "UPDATE houses SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], idx);
            mysql_tquery(mysql, query);
        }

        if(!IsHouseOwned(idx))
        {
            SetHouseData(idx, H_IMPROVEMENTS,     0);
            SetHouseData(idx, H_LOCK_STATUS,     false);
        }
        UpdateHouse(idx);

        HouseHealthInit(idx);
        HouseStoreInit(idx);
    }

    cache_delete(result);

    printf("[Houses]: Домов загружено: %d", MAX_HOUSES);
}

Попробуйте так. 

удаляю строку еррора нет

 

Поделиться сообщением


Ссылка на сообщение
  • 0
H_OWNER_ID есть у вас переменная?

Поделиться сообщением


Ссылка на сообщение
  • 0
29 минут назад, danya_white сказал:

H_OWNER_ID есть у вас переменная?
enum E_HOTEL_STRUCT
{
	H_SQL_ID,
	H_OWNER_ID,
	H_RENT_DATE,
	bool: H_STATUS,
	H_OWNER_NAME[21]
};

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Talex
      От Talex
      Всем привет, сливаю первый мод!
      Информация о моде:

      — Основа Gamenix.
      — Мод переведен на Mysql R39, теперь ни каких слётов нет, мод работает стабильно с онлайном 160+.
      — Новый автосалон на TextDraw.
      — Система 3-х автомобилей (1 можно купить по дефолту, 2 и 3 за донат).
      — Автомобили у игроков теперь не пропадают (Id'ы авто сбивались, с номерами теперь тоже всё в порядке).
      — Оформление сервера полностью переработано, теперь оно более красивое.
      — Защита от копирования карты.
      — в меню сервера добавлен пункт визуальных настроек.
      — Номера на транспорт теперь можно приобрести в /donate.
      — Сделан новый красивый спидометр.
      — При получении номера, добавлен выбор региона.
      — Сделана система радаров и промокодов, создание прямо из игры.
      — Новый интерьер казино.
      — Магазин скинов теперь на TextDraw.
      — Автошкола полностью функционирует.
      — Добавлена информация после коннекта о последнем входе в собственный аккаунт.
      — Приватная защита от всех видов DDoS атак и DoS атак.                                                                                                                                    
      — пароль от АП (/alog) теперь у каждого администратора индивидуальный.
      — Изменено оформление самого мода
      Это не все изменения мода, их ещё очень много. все не упомнишь. 
      Автор мода: Неизвестен
      CUNBERS RP 8.4.3.rar