Вопросы

Спойлер

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

    result = mysql_query(mysql, "SELECT b.*, IFNULL(a.name, 'Государство') AS owner_name FROM business b LEFT JOIN accounts a ON a.id=b.owner_id"true);
    rows = cache_num_rows();

    if(rows > MAX_BUSINESS)
    {
        rows = MAX_BUSINESS;
        print("[Business]: DB rows > MAX_BUSINESS");
    }
    for(new idx; idx < rows; idx ++)
    {
        SetBusinessData(idx, B_SQL_ID,      cache_get_field_content_int(idx, "id"));
        SetBusinessData(idx, B_OWNER_ID,    cache_get_field_content_int(idx, "owner_id"));

        cache_get_field_content(idx, "name", g_business[idx][B_NAME], mysql, 24);

        SetBusinessData(idx, B_CITY,            cache_get_field_content_int(idx, "city"));
        SetBusinessData(idx, B_ZONE,            cache_get_field_content_int(idx, "zone"));
        SetBusinessData(idx, B_IMPROVEMENTS,    cache_get_field_content_int(idx, "improvements"));
        SetBusinessData(idx, B_PRODS,           cache_get_field_content_int(idx, "products"));
        SetBusinessData(idx, B_PROD_PRICE,      cache_get_field_content_int(idx, "prod_price"));
        SetBusinessData(idx, B_ARENDA_PRICE,        cache_get_field_content_int(idx, "arenda_price"));
        SetBusinessData(idx, B_BALANCE,         cache_get_field_content_int(idx, "balance"));
        SetBusinessData(idx, B_RENT_DATE,       cache_get_field_content_int(idx, "rent_time"));
        SetBusinessData(idx, B_PRICE,           cache_get_field_content_int(idx, "price"));
        SetBusinessData(idx, B_RENT_PRICE,      cache_get_field_content_int(idx, "rent_price"));

        SetBusinessData(idx, B_TYPE,            cache_get_field_content_int(idx, "type"));
        SetBusinessData(idx, B_INTERIOR,        cache_get_field_content_int(idx, "interior"));

        SetBusinessData(idx, B_ENTER_PRICE,     cache_get_field_content_int(idx, "enter_price"));
        SetBusinessData(idx, B_ENTER_MUSIC,     cache_get_field_content_int(idx, "enter_music"));

        SetBusinessData(idx, B_LOCK_STATUS,     bool: cache_get_field_content_int(idx, "lock"));

        SetBusinessData(idx, B_POS_X,           cache_get_field_content_float(idx, "x"));
        SetBusinessData(idx, B_POS_Y,           cache_get_field_content_float(idx, "y"));
        SetBusinessData(idx, B_POS_Z,           cache_get_field_content_float(idx, "z"));

        SetBusinessData(idx, B_EXIT_POS_X,      cache_get_field_content_float(idx, "exit_x"));
        SetBusinessData(idx, B_EXIT_POS_Y,      cache_get_field_content_float(idx, "exit_y"));
        SetBusinessData(idx, B_EXIT_POS_Z,      cache_get_field_content_float(idx, "exit_z"));
        SetBusinessData(idx, B_EXIT_ANGLE,      cache_get_field_content_float(idx, "exit_angle"));

        SetBusinessData(idx, B_EVICTION,        cache_get_field_content_int(idx, "eviction"));
        SetBusinessData(idx, B_TK_TRUCK,        cache_get_field_content_int(idx, "tk_truck"));

        SetBusinessData(idx, B_GANG,            cache_get_field_content_int(idx, "gang"));
        SetBusinessData(idx, B_ROOF,            cache_get_field_content_int(idx, "roof"));

        cache_get_field_content(idx, "owner_name", g_business[idx][B_OWNER_NAME], mysql, 21);
        // -------------------------

        SetBusinessData(idx, B_ORDER_ID, -1);
        SetBusinessData(idx, B_LABEL, CreateDynamic3DTextLabel(GetBusinessData(idx, B_NAME), 0xFFFF00FF, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z) + 1.06.50));
        
        mysql_format(mysql, query, sizeof query, "UPDATE business SET id=%d WHERE id=%d", idx, cache_get_field_content_int(idx, "id"));
        mysql_query(mysql, query, false);

        if(GetBusinessData(idx, B_CITY) == -1 || GetBusinessData(idx, B_ZONE) == -1)
        {
            buffer[0] = Get2DCity(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y));
            buffer[1] = Get2DZone(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y));

            SetBusinessData(idx, B_CITY, buffer[0]);
            SetBusinessData(idx, B_ZONE, buffer[1]);

            mysql_format(mysql, query, sizeof query, "UPDATE business SET city=%d,zone=%d WHERE id=%d", buffer[0], buffer[1], GetBusinessData(idx, B_SQL_ID));
            mysql_query(mysql, query, false);
        }

        if(IsBusinessOwned(idx) && !strcmp(GetBusinessData(idx, B_OWNER_NAME), "Государство"true))
        {
            SetBusinessData(idx, B_OWNER_ID, 0);

            mysql_format(mysql, query, sizeof query, "UPDATE business SET owner_id=0,improvements=0 WHERE id=%d", GetBusinessData(idx, B_SQL_ID));
            mysql_query(mysql, query, false);
        }

        if(!IsBusinessOwned(idx))
        {
            SetBusinessData(idx, B_PRODS,       0);
            SetBusinessData(idx, B_PROD_PRICE,  0);
            SetBusinessData(idx, B_LOCK_STATUS, false);

            SetBusinessData(idx, B_ENTER_MUSIC, 0);
            SetBusinessData(idx, B_ENTER_PRICE, 0);

            if(GetBusinessData(idx, B_IMPROVEMENTS) >= 6)
            {
                mysql_format(mysql, query, sizeof query, "DELETE FROM business_gps WHERE bid=%d", idx);
                mysql_query(mysql, query, false);
            }
        }

        CallLocalFunction("UpdateBusinessLabel""i", idx);

        BusinessHealthPickupInit(idx); //Иконки для бизов

        if(GetBusinessData(idx, B_TYPE) == 1)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 40000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 2)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 49000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 3 || GetBusinessData(idx, B_TYPE) == 4)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 28000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 5)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 45000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 8)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 25000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 9)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 26000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 11)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 6000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 12)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 52000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 14)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 54000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 17 || GetBusinessData(idx, B_TYPE) == 26 || GetBusinessData(idx, B_TYPE) == 23)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 23)
        {
            CreatePickup(127525, GetBusinessData(idx, B_EXIT_POS_X), GetBusinessData(idx, B_EXIT_POS_Y), GetBusinessData(idx, B_EXIT_POS_Z), 0, PICKUP_ACTION_TYPE_SHIN, idx);
        }
        if(GetBusinessData(idx, B_TYPE) == 24)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 38000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 25)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 39000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 27)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 18000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 30)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 46000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 31)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 10000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 32)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 21000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 33)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 17000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 20)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 34)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 35)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 55000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
        }
        if(GetBusinessData(idx, B_TYPE) == 36)
        {
            CreateDynamicMapIcon(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 51000, -1, STREAMER_MAP_ICON_SD, MAPICON_LOCAL);
            CreatePickup(127525, GetBusinessData(idx, B_EXIT_POS_X), GetBusinessData(idx, B_EXIT_POS_Y), GetBusinessData(idx, B_EXIT_POS_Z), 0, BUSINESS_TYPE_TK, idx);
        }
        if(GetBusinessData(idx, B_TYPE) == 16 || GetBusinessData(idx, B_TYPE) == 17 || GetBusinessData(idx, B_TYPE) == 18 || GetBusinessData(idx, B_TYPE) == 19 || GetBusinessData(idx, B_TYPE) == 21 || GetBusinessData(idx, B_TYPE) == 23 || GetBusinessData(idx, B_TYPE) == 36)
        {
            if(GetBusinessData(idx, B_TYPE) == 21)
            {
                CreatePickup(1863125, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);
            }
            else
            {
                CreatePickup(127425, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);
            }
        }
        else
        {
            CreatePickup(1913225, GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 0, PICKUP_ACTION_TYPE_BIZ_ENTER, idx);
        }
        biz_area[idx] = CreateDynamicSphere(GetBusinessData(idx, B_POS_X), GetBusinessData(idx, B_POS_Y), GetBusinessData(idx, B_POS_Z), 3.000, -1);
    }
    g_business_loaded = rows;
    cache_delete(result);

    for(new idx; idx < sizeof g_business_interiors; idx ++)
    {
        CreatePickup(1913223, GetBusinessInteriorInfo(idx, BT_EXIT_POS_X), GetBusinessInteriorInfo(idx, BT_EXIT_POS_Y), GetBusinessInteriorInfo(idx, BT_EXIT_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_EXIT, idx);
        buffer[0] = -1;

        switch(idx)
        {
            case BUSINESS_INTERIOR_SHOP_24_7:
            {
                CreateDynamic3DTextLabel
                (
                    "Список товаров\n"\
                    "{FFD83D}Используйте H (/buy)",
                    0x00CC00EE,
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_X),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,
                    8.0
                );
                CreatePickup(1027023, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_SHOP_247, idx);
            }
            case BUSINESS_INTERIOR_ZAKUS:
            {
                CreatePickup(1027023, -1852.5448,1276.9109,1115.8447, -1, PICKUP_ACTION_TYPE_BIZ_ZAKYSKA, idx);
            }
            case BUSINESS_INTERIOR_APTEKA:
            {
                CreatePickup(124023, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_APTEKA, idx);
            }
            case BUSINESS_INTERIOR_KONDITER:
            {
                CreateDynamic3DTextLabel
                (
                    "{6699FF}Кондитерская\n\n"\
                    "{"#cGold"}/eat {"#cW"}- Съесть купленную еду\n"\
                    "{"#cGold"}/put {"#cW"}- Положить поднос\n"\
                    "{"#cGold"}/pick {"#cW"}- Поднять поднос",
                    0xFFFFFFCC,
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),
                    9.0
                );
                CreateDynamic3DTextLabel
                (
                    "Список\n"\
                    "товаров\n"\
                    "{FFD83D}Введите /buy",
                    0x00CC00EE,
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_X),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,
                    8.0
                );
                CreatePickup(1027023, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_KONDITER, idx);
            }
            case BUSINESS_INTERIOR_SHOP_GARDEN:
            {
                CreatePickup(1913423, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_GARDEN, idx);
                CreateDynamicCP(-1038.3335,687.4626,1001.00001.5);
            }
            case BUSINESS_INTERIOR_AVTOZAP:
            {
                CreatePickup(1913423, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_AVTOZAP, idx);
                CreateDynamicCP(1555.7836,-2400.7815,1001.00001.0);
            }
            case BUSINESS_INTERIOR_PARIK:
            {
                CreateDynamic3DTextLabel
                (
                    "Покупка аксессуаров",
                    0x00CC00EE,
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_X),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,
                    8.0
                );
                CreatePickup(127623, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BARBER, idx);
            }
            case BUSINESS_INTERIOR_CLUB, BUSINESS_INTERIOR_CASINO:
            {
                CreateDynamic3DTextLabel
                (
                    "Меню бара:\n\n"\
                    "{6699FF}1. Лимонад\n"\
                    "2. Пиво\n"\
                    "3. Вино\n"\
                    "4. Шампанское\n"\
                    "5. Водка\n"\
                    "6. Коньяк\n"\
                    "7. Виски\n"\
                    "8. Абсент\n"\
                    "{00CC66}9. Закуска\n"\
                    "10. Сигара",
                    0xFFFFFFCC,
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),
                    9.0
                );
                buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z)1.0, _, _, _, 8.0);
            }
            case BUSINESS_INTERIOR_REALTOR_BIZ:
            {
                g_business_realtor_label = CreateDynamic3DTextLabel
                (
                    "Состояние бизнеса",
                    0xCCFF66FF,
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),
                    10.0
                );
                CreatePickup(123923, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1);
                buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) - 1.01.2, _, _, _, 10.0);

                CallLocalFunction("UpdateRealtorBizInfo""");
            }
            case BUSINESS_INTERIOR_REALTOR_HOME:
            {
                g_house_realtor_label = CreateDynamic3DTextLabel
                (
                    "Состояние недвижимости",
                    0xCCFF66FF,
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_X),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_LABEL_POS_Z),
                    10.0
                );
                CreatePickup(127323158.4875745.818425.8272, -1, PICKUP_ACTION_TYPE_REALTOR_HOME, idx);
                CreatePickup(127223156.3270746.595825.8272, -1, PICKUP_ACTION_TYPE_REALTOR_HOME, idx);

                CreatePickup(123923, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1);
                buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z)0.7, _, _, _, 5.0);

                CallLocalFunction("UpdateRealtorHomeInfo""");
            }
            case BUSINESS_INTERIOR_CLOTHING_SHOP:
            {
                CreatePickup(127523, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_CLOTHING, idx);
            }
            case BUSINESS_INTERIOR_HOTEL:
            {
                CreatePickup(127723, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1);

                CreateDynamic3DTextLabel("Услуги\n{FFFFFF}гост. комплекса"0x3399FFFF, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.85.0);
                buffer[0] = CreateDynamicCP(GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z)1.2, _, _, _, 20.0);
            }
            case BUSINESS_INTERIOR_CAR_MARKET:
            {
            }
            case BUSINESS_INTERIOR_CELL_SALON:
            {
                CreateDynamic3DTextLabel
                (
                    "Сотовый\n"\
                    "салон\n"\
                    "{FFD83D}Введите /buy",
                    0x00CC00EE,
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_X),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Y),
                    GetBusinessInteriorInfo(idx, BT_BUY_POS_Z) + 0.8,
                    8.0
                );
                CreatePickup(1913423, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_CELL_SALON, idx);
            }
            case BUSINESS_INTERIOR_COMP_CLUB:
            {
                CreatePickup(131423652.1079,-15.6575,1001.4328, -1, PICKUP_ACTION_TYPE_BIZ_PC_GAME, idx);
                CreatePickup(158123, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_PC_CLUB, idx);
            }
            case BUSINESS_INTERIOR_TIR:
            {
                CreatePickup(123923, -2729.8062,2918.2976,998.4515, -1, PICKUP_ACTION_TYPE_BIZ_TIR, idx);
            }
            case BUSINESS_INTERIOR_BUY_GUN:
            {
                CreatePickup(34823, GetBusinessInteriorInfo(idx, BT_BUY_POS_X), GetBusinessInteriorInfo(idx, BT_BUY_POS_Y), GetBusinessInteriorInfo(idx, BT_BUY_POS_Z), -1, PICKUP_ACTION_TYPE_BIZ_GUN, idx);
            }
        }
        SetBusinessInteriorInfo(idx, BT_BUY_CHECK_ID, buffer[0]);
    }
    printf("[Business]: Бизнесов загружено: %d", g_business_loaded);
}

 

 

 

Спойлер

public: UpdateBusinessLabel(businessid)
{
    new fmt_str[229 + 1];

    new linkov = GetBusinessData(businessid, B_ROOF);

    if(!IsBusinessOwned(businessid))
    {
        if(GetBusinessData(businessid, B_TYPE) == BUSINESS_TYPE_STO || GetBusinessData(businessid, B_TYPE) == BUSINESS_TYPE_DETEYLING )
        {
            if(linkov != -1)
            {
                format
                (
                    fmt_str, sizeof fmt_str,
                    "%s\n"\
                    "{66CC00}Бизнес продается\n"\
                    "Используйте /buybiz\n"\
                    "Цена: %s руб\n"\
                    "{FFFFFF}Крыша:{3399FF} %s",
                    GetBusinessData(businessid, B_NAME),
                    formatInt(GetBusinessData(businessid, B_PRICE)),
                    GetFamilyData(linkov, F_NAME)
                );
            }
            else
            {
                format
                (
                    fmt_str, sizeof fmt_str,
                    "%s\n"\
                    "{66CC00}Бизнес продается\n"\
                    "Используйте /buybiz\n"\
                    "Цена: %s руб\n"\
                    "{FFFFFF}Крыша:{3399FF} Отсутствует",
                    GetBusinessData(businessid, B_NAME),
                    formatInt(GetBusinessData(businessid, B_PRICE))
                );
            }
        }
        else
        {
            if(linkov != -1)
            {
                format
                (
                    fmt_str, sizeof fmt_str,
                    "%s\n"\
                    "{66CC00}Бизнес продается\n"\
                    "Используйте /buybiz\n"\
                    "Цена: %s руб\n"\
                    "{FFFFFF}Крыша:{3399FF} %s",
                    GetBusinessData(businessid, B_NAME),
                    formatInt(GetBusinessData(businessid, B_PRICE)),
                    GetFamilyData(linkov, F_NAME)
                );
            }
            else
            {
                format
                (
                    fmt_str, sizeof fmt_str,
                    "%s\n"\
                    "{66CC00}Бизнес продается\n"\
                    "Используйте /buybiz\n"\
                    "Цена: %s руб\n"\
                    "{FFFFFF}Крыша:{3399FF} Отсутствует",
                    GetBusinessData(businessid, B_NAME),
                    formatInt(GetBusinessData(businessid, B_PRICE))
                );
            }
        }
    }
    else
    {
        if(linkov != -1)
        {
            format
            (
                fmt_str, sizeof fmt_str,
                "%s\n"\
                "{FFFFFF}Владелец: {3399FF}%s\n"\
                "{FFFFFF}Крыша:{3399FF} Отсутствует\n",
                GetBusinessData(businessid, B_NAME),
                GetBusinessData(businessid, B_OWNER_NAME)
            );
        }
        else
        {
            format
            (
                fmt_str, sizeof fmt_str,
                "%s\n"\
                "{FFFFFF}Владелец: {3399FF}%s\n"\
                "{FFFFFF}Крыша:{3399FF} %s\n",
                GetBusinessData(businessid, B_NAME),
                GetBusinessData(businessid, B_OWNER_NAME),
                GetFamilyData(linkov, F_NAME)
            );
        }
        if(!GetBusinessData(businessid, B_LOCK_STATUS))
        {
            if(GetBusinessData(businessid, B_ENTER_PRICE) > 0)
            {
                if(GetBusinessData(businessid, B_TYPE) == BUSINESS_TYPE_STO || GetBusinessData(businessid, B_TYPE) == BUSINESS_TYPE_DETEYLING )
                {
                format(fmt_str, sizeof fmt_str, "%s{66CC00}Цена услуг: {FF9900}%s руб\n", fmt_str, formatInt(GetBusinessData(businessid, B_ENTER_PRICE)));
                }
                else format(fmt_str, sizeof fmt_str, "%s{66CC00}Вход: {FF9900}%s руб\n", fmt_str, formatInt(GetBusinessData(businessid, B_ENTER_PRICE)));
            }
            else strcat(fmt_str, "{66CC00}Вход свободный\n");
        }
        else strcat(fmt_str, "{FF6600}Закрыто\n");
        if(GetBusinessData(businessid, B_TYPE) == BUSINESS_TYPE_STO || GetBusinessData(businessid, B_TYPE) == BUSINESS_TYPE_DETEYLING)
        {
            strcat(fmt_str, "{FFFFFF}Чтобы заехать на тюнинг нажмите H\n");
        }
    }
    UpdateDynamic3DTextLabelText(GetBusinessData(businessid, B_LABEL), 0xFFFF00FF, fmt_str);
}

 

Инофрмация обновляеть только после смены допустим цены за вход, а после пререзагрузки сервера пусто в крыше

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

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


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

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

  • 0
Спойлер

код ужасен

 

Заметка от Cawfee , создано

2.17. Запрещено флудить, оффтопить, заниматься флеймом. 

Устное предупреждение.

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


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

После окончания кода , сделай тайм-аут сохранения базы данных 5-10 минут. Должно все заработать.

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


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

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.