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

Как добавить слоты для авто?

FrostLike548

Умник
Здравствуйте.
Подскажите, пожалуйста, как добавить слоты для авто.
Просто когда захожу в /car там сразу кнопки.
"1.Отметить точку на карте, где находиться ваш Т/С"
"2.Загрузить ваше Т/C"
Сам скрипт:


C++:
stock BuyOwnableCar(playerid, marketid, ownablecar, color_1, color_2)
{
    printf("player_cars: %d / player_slots: %d", GetPlayerOwnableCars(playerid), GetPlayerCarSlots(playerid));

    printf("BuyOwnableCar(%d, %d, %d, %d, %d)", playerid, marketid, ownablecar, color_1, color_2);

    ExitPlayerBuyCarMarket(playerid);

    if((GetPlayerOwnableCars(playerid) + 1) > GetPlayerCarSlots(playerid))
    {
        SendClientMessage(playerid, 0x3399FFFF, "Все слоты для транспорта заняты. Вы можете увеличить их: {FFFF00}/menu > Дополнительно");
            return -1;
         }
        new modelid;
       
        if(ownablecar < 1000)
        modelid = car_market_data[marketid][ownablecar][0];
        else
        modelid = ownablecar - 1000;

        printf("modelid = %d | ownablecar = %d", modelid, ownablecar);

        if(marketid != 0 && marketid != 2)
        {
        if(GetPlayerHouse(playerid, HOUSE_TYPE_HOME) == -1 &&
        GetPlayerHouse(playerid, HOUSE_TYPE_HOTEL) == -1 &&
        GetPlayerHouse(playerid, HOUSE_TYPE_ROOM) == -1)
        {
            SendClientMessage(playerid, 0x999999FF, "Для покупки транспорта этого класса нужно иметь недвижимость");
            return -1;
      }
       }
    if(GetPlayerOwnableCar(playerid) != INVALID_VEHICLE_ID)
    {
        SendClientMessage(playerid, 0x999999FF, "Для покупки транспорта нужно выгрузить уже загруженный транспорт с сервера");
        return -1;
    }
    if(GetPlayerMoneyEx(playerid) < GetVehicleInfo(modelid - 400, VI_PRICE))
    {
        SendClientMessage(playerid, 0x999999FF, "Недостаточно денег для покупки этого транспорта");
        return -1;
    }

    GivePlayerMoneyEx(playerid, -GetVehicleInfo(modelid - 400, VI_PRICE), "Покупка ТС в автосалоне", true, true);

    new biz_id = marketid,
        take_prods = random(5) + 6;

    if(GetBusinessData(biz_id, B_PRODS) >= take_prods)
    {
        AddBusinessData(biz_id, B_PRODS, -, take_prods);
        new cena = GetVehicleInfo(modelid - 400, VI_PRICE) / 100;
        AddBusinessData(biz_id, B_BALANCE, +, cena);
    }

    new buy_cars_count = cars_after_purchase_count[marketid]++;

    if(buy_cars_count >= 4)
        cars_after_purchase_count[marketid] = 0;

    new Float: pos_x = cars_pos_after_purchase[marketid][buy_cars_count][0];
    new Float: pos_y = cars_pos_after_purchase[marketid][buy_cars_count][1];
    new Float: pos_z = cars_pos_after_purchase[marketid][buy_cars_count][2];
    new Float: angle = cars_pos_after_purchase[marketid][buy_cars_count][3];

    new query[220],
        Cache: result,
        idx;

    idx = GetFreeOwnableCarID();

    SetOwnableCarData(idx, OC_OWNER_ID,     GetPlayerAccountID(playerid));

    SetOwnableCarData(idx, OC_MODEL_ID,     modelid);
    SetOwnableCarData(idx, OC_COLOR_1,         color_1);
    SetOwnableCarData(idx, OC_COLOR_2,         color_2);

    SetOwnableCarData(idx, OC_POS_X,         pos_x);
    SetOwnableCarData(idx, OC_POS_Y,         pos_y);
    SetOwnableCarData(idx, OC_POS_Z,         pos_z);
    SetOwnableCarData(idx, OC_ANGLE,         angle);

    strmid(g_ownable_car[idx][OC_NUMBER], "------", 0, 8, 8);

    SetOwnableCarData(idx, OC_ALARM,         false);
    SetOwnableCarData(idx, OC_KEY_IN,         false);

    SetOwnableCarData(idx, OC_CREATE,         gettime());

    format(g_ownable_car[idx][OC_OWNER_NAME], 21, GetPlayerNameEx(playerid));
    // ----------------------------------------------------------------------------------------

    new vehicleid = CreateVehicle
    (
        GetOwnableCarData(idx, OC_MODEL_ID),
        GetOwnableCarData(idx, OC_POS_X),
        GetOwnableCarData(idx, OC_POS_Y),
        GetOwnableCarData(idx, OC_POS_Z),
        GetOwnableCarData(idx, OC_ANGLE),
        GetOwnableCarData(idx, OC_COLOR_1),
        GetOwnableCarData(idx, OC_COLOR_2),
        -1,
        0,
        VEHICLE_ACTION_TYPE_OWNABLE_CAR,
        idx
    );
    if(vehicleid != INVALID_VEHICLE_ID)
    {
        CreateVehicleLabel(vehicleid, GetOwnableCarData(idx, OC_NUMBER), 0xFFFF00EE, 0.0, 0.0, 1.3, 20.0);
        SetVehicleParam(vehicleid, V_LOCK, false);

        SetVehicleData(vehicleid, V_MILEAGE, 0.0);
    }

    SetPlayerData(playerid, P_OWNABLE_CAR, vehicleid);

    format
    (
        query, sizeof query,
        "INSERT INTO ownable_cars \
        (owner_id,model_id,color_1,color_2,pos_x,pos_y,pos_z,angle,create_time) \
        VALUES \
        ('%d','%d','%d','%d','%f','%f','%f','%f','%d')",
        GetPlayerAccountID(playerid),
        modelid,
        color_1,
        color_2,
        pos_x,
        pos_y,
        pos_z,
        angle,
        gettime()
    );
    result = mysql_query(mysql, query, true);

    SetOwnableCarData(idx, OC_SQL_ID, cache_insert_id());

    cache_delete(result);

    SendClientMessage(playerid, 0x66CC00FF, "Поздравляем с покупкой нового транспорта!");
    SendClientMessage(playerid, 0x66CC00FF, "Напишите {0099FF}/car {66CC00}чтобы узнать о возможностях");
    SendClientMessage(playerid, 0x3399FFFF, "Документы на транспорт будут оформлены в течении нескольких минут");

    return 1;
}
 
Последнее редактирование модератором:
Сверху Снизу