Skip to content

제리캔

The jerry can

주유소에서 채우고 차량에 주유할 수 있는 휴대용 제리캔입니다. 무기가 아닌 일반 인벤토리 아이템입니다.

바닐라 weapon_petrolcan은 의도적으로 사용되지 않습니다. 해당 모델은 화염방사기 기능을 포함하고 있어 플레이어가 바닥에 연료를 흘리고 불을 붙일 수 있습니다. 본 아이템은 오직 한 가지 기능만 수행합니다: 바로 차량의 연료 탱크를 채우는 것입니다.

How it behaves in game

  • 아이템을 사용하세요. 손에 제리캔이 나타나고 내부에 남은 리터 수가 표시됩니다.
  • 차량으로 걸어가 주유구를 타겟팅하거나, 차량 근처에 서서 [E]를 누르세요.
  • 틱당 Config.JerryCan.PourRate 리터 속도로 주유되며, 주입되는 연료는 다른 주유 방식과 동일하게 wrong fuel 규칙을 따릅니다.
  • Config.JerryCan.MaxDistance 이상 멀어지면 제리캔이 다시 인벤토리로 들어갑니다.
  • 주유소에서 [G]를 누르면 제리캔을 다시 채울 수 있습니다. 제리캔이 없는 경우, 주유소에서 Config.JerryCan.FullPrice를 지불하고 가득 찬 제리캔을 바로 구매할 수 있습니다.

각 제리캔은 고유의 연료량을 유지하므로, 아래의 모든 인벤토리 항목에서 **unique / non-stackable(고유/중첩 불가)**로 설정되어 있습니다. 두 개의 제리캔을 중첩하면 서로 다른 양이 하나의 슬롯으로 합쳐지게 됩니다.

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

이미지를 인벤토리의 이미지 폴더에 복사하고(클래식 HUD의 경우 esx_inventoryhud/html/img/items/, ox를 사용하는 ESX 설정의 경우 ox_inventory/web/images/), 아이템을 삽입하세요.

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는 제리캔과 동일한 방식으로 정의됩니다. 충전기에서 판매 및 소모되므로 별도의 사용 핸들러가 필요 없는 일반 아이템입니다. Electric charging을 참고하세요.