Канистра
Канистра
Переносимая канистра, которую можно заправить на колонке и залить в машину. Это обычный предмет инвентаря, а не оружие.
Стандартный weapon_petrolcan намеренно не используется. Эта модель обладает поведением огнемета — игроки могут проливать топливо по земле и поджигать его. Предмет здесь выполняет ровно одну задачу: заправляет бак транспорта.
Как это работает в игре
- Используйте предмет. Канистра появится у вас в руке и покажет, сколько в ней литров.
- Подойдите к транспорту и наведитесь на бензобак, либо встаньте рядом и нажмите
[E]. - Топливо заливается со скоростью
Config.JerryCan.PourRateлитров за тик, а поступающее топливо подчиняется правилам неправильного топлива, как и при любой другой заправке. - Отойдите дальше, чем на
Config.JerryCan.MaxDistance, и канистра вернется в инвентарь. - На заправке клавиша
[G]пополняет канистру. Если у вас ее нет, на станции можно сразу купить полную канистру заConfig.JerryCan.FullPrice.
Каждая канистра хранит свой собственный уровень топлива, поэтому в каждой записи инвентаря ниже она отмечена как уникальная / несуммируемая. Объединение двух канистр объединило бы два разных количества в один слот.
Config.JerryCan = {
Enabled = true,
Item = 'jerrycan',
Prop = 'prop_jerrycan_01a',
Capacity = 20,
SellFull = true,
FullPrice = 60,
}Если у вас уже используется топливная канистра под другим именем, измените Config.JerryCan.Item вместо переименования вашего предмета.
Что поставляется в папке install/
| Путь | Содержимое |
|---|---|
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/, затем добавьте предмет.
['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.
['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 выше. Различается только папка для изображений:
| Инвентарь | Папка для изображений |
|---|---|
| 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 — после чего добавьте предмет.
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`)
VALUES ('jerrycan', 'Jerry Can', 4, 0, 1);Для старых схем ESX без этих колонок используется сокращенный вариант:
INSERT INTO `items` (`name`, `label`) VALUES ('jerrycan', 'Jerry Can');Ресурс сам вызывает ESX.RegisterUsableItem, поэтому дополнительная регистрация используемых предметов не требуется.
Тестирование
/giveitem <id> jerrycan 1После этого перезапустите инвентарь и bupa-fuel.
Аккумулятор электромобиля
Для зарядки электромобилей используется собственный предмет ev_battery, который настраивается аналогично канистре — это обычный предмет, не требующий обработчика использования, так как он продается и потребляется самой зарядной станцией. Смотрите раздел Электрическая зарядка.