Skip to content

Каністра для пального

The jerry can

Каністра, яку ви наповнюєте на колонці та заливаєте в автомобіль. Це звичайний предмет інвентарю, а не зброя.

Стандартний weapon_petrolcan навмисно не використовується. Ця модель має поведінку вогнемета — гравці можуть залишати слід палива на землі та підпалювати його. Предмет тут виконує лише одну функцію: заправляє бак транспортного засобу.

How it behaves in game

  • Використайте предмет. Каністра з'явиться у вашій руці, і на ній буде вказано, скільки літрів у ній залишилося.
  • Підійдіть до транспортного засобу та наведіть курсор на його паливний бак, або станьте поруч і натисніть [E].
  • Паливо заливається зі швидкістю Config.JerryCan.PourRate літрів за тік, а додане паливо підпорядковується правилам неправильного палива, як і під час звичайної заправки.
  • Відійдіть на відстань, що перевищує Config.JerryCan.MaxDistance, і каністра повернеться до вашої кишені.
  • Біля колонки клавіша [G] поповнює каністру. Якщо у вас її немає, заправка може продати вам повну каністру за ціною Config.JerryCan.FullPrice.

Кожна каністра має власний рівень палива, тому кожен запис в інвентарі нижче позначений як унікальний / не стакується. Об'єднання двох каністр об'єднало б дві різні кількості в один слот.

config.lua
Config.JerryCan = {
    Enabled  = true,
    Item     = 'jerrycan',
    Prop     = 'prop_jerrycan_01a',
    Capacity = 20,
    SellFull  = true,
    FullPrice = 60,
}

Якщо ви вже використовуєте каністру для палива під іншою назвою, змініть Config.JerryCan.Item замість перейменування вашого предмета.

What ships in install/

Path Contents
install/README.txt Коротка версія всього, що є на цій сторінці
install/img/jerrycan.png Іконка, готова для додавання у ваш інвентар
install/inv/ox_inventory.txt ox_inventory
install/inv/qb_inventory.txt qb-inventory, lj-inventory, ps-inventory
install/inv/qs_codem_tgiann.txt qs-inventory, codem-inventory, tgiann-inventory
install/inv/esx.txt класичні інвентарі ESX

ox_inventory

Скопіюйте зображення в ox_inventory/web/images/, а потім додайте предмет.

ox_inventory/data/items.lua
['jerrycan'] = {
    label = 'Jerry Can',
    weight = 4000,
    stack = false,
    close = true,
    description = 'Holds 20 litres of fuel. Use it, then pour it into a car.',
    client = {
        export = 'bupa-fuel.useJerryCan'
    }
},

ox_inventory не має функції CreateUseableItem, тому рядок client.export використовується для того, щоб ресурс дізнався про використання каністри. Параметр stack = false є обов'язковим.

qb-inventory, lj-inventory, ps-inventory

Скопіюйте зображення в qb-inventory/html/images/ (lj та ps використовують ту саму папку), а потім додайте предмет у qb-core/shared/items.lua.

qb-core/shared/items.lua
['jerrycan'] = {
    ['name'] = 'jerrycan',
    ['label'] = 'Jerry Can',
    ['weight'] = 4000,
    ['type'] = 'item',
    ['image'] = 'jerrycan.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Holds 20 litres of fuel. Use it, then pour it into a car.'
},

Ресурс самостійно реєструє обробник використання через CreateUseableItem, тому нічого не потрібно додавати в qb-core/server/main.lua.

qs-inventory, codem-inventory, tgiann-inventory

Усі три використовують той самий опис предмета, що й qb-core вище. Відрізняється лише папка для зображень:

Inventory Image folder
qs-inventory qs-inventory/html/images/
codem-inventory codem-inventory/html/itemimages/
tgiann-inventory tgiann-inventory/html/images/

Користувачі tgiann, які ведуть окремий список, натомість додають предмет у tgiann-inventory/shared/items.lua.

ESX

Скопіюйте зображення в папку зображень вашого інвентарю — esx_inventoryhud/html/img/items/ для класичного HUD або ox_inventory/web/images/ для збірок ESX на базі ox — а потім додайте предмет.

SQL
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`)
VALUES ('jerrycan', 'Jerry Can', 4, 0, 1);

Старіші схеми ESX без цих стовпців використовують коротку форму:

SQL
INSERT INTO `items` (`name`, `label`) VALUES ('jerrycan', 'Jerry Can');

Ресурс сам викликає ESX.RegisterUsableItem, тому жодну іншу реєстрацію використаних предметів додавати не потрібно.

Testing

code
/giveitem <id> jerrycan 1

Після цього перезапустіть свій інвентар і bupa-fuel.

The EV battery

Електрична зарядка має власний предмет ev_battery, який визначається так само, як і каністра — звичайний предмет, що не потребує обробника використання, оскільки він продається та споживається зарядним пристроєм. Дивіться Електрична зарядка.