Skip to content

Exports

Exports

四个客户端导出(Exports),供其他需要读取或修改载具燃油的资源(Resource)使用。本页面仅记录资源中实际存在的接口。

client-side
local fuel = exports['bupa-fuel']:GetFuel(vehicle)
exports['bupa-fuel']:SetFuel(vehicle, 75.0)
local kind = exports['bupa-fuel']:GetFuelType(vehicle)
local ev   = exports['bupa-fuel']:IsElectric(vehicle)
Export Arguments Returns
GetFuel vehicle (entity handle) 燃油余量(数字),范围 0.0100.0
SetFuel vehicle, level (number) 无返回值
GetFuelType vehicle (entity handle) 燃油类型键字符串 —— 'gasoline''diesel''premium''electric'
IsElectric vehicle (entity handle) truefalse

Notes

对于无效或不存在的实体,GetFuel 会返回 0.0。如果该载具从未被记录过,调用此方法将会根据 Config.Consumption.SpawnFuel 生成初始油量并写入状态包(State Bag)—— 因此,读取一辆全新载具的油量即会为其初始化油量。

SetFuel 会将数值限制在 0.0100.0 之间。对于联网载具,它会写入实体状态包并同步至所有客户端;对于本地载具,它仅设置原生油量。这是一个百分比,而非升数 —— 若需获取升数,请乘以该载具类别的油箱容量。

GetFuelType 的解析顺序与油泵一致:电动车列表、Config.VehicleFuel.Model,然后是类别表,若均未匹配则回退至 'gasoline'

IsElectricGetFuelType(vehicle) == 'electric' 的简写形式。

燃油数据通过载具实体上的 fuel 状态包进行同步。任何想要监听燃油变化而无需轮询的资源,都可以添加自定义的 AddStateBagChangeHandler('fuel', ...),而不是在循环中调用 GetFuel

Inventory item handler

bupa-fuel.useJerryCan 是针对 jerrycan 物品的 ox_inventory 物品使用处理器(item-use handler)。你只需在物品定义中引用它 —— 无需手动调用。

ox_inventory/data/items.lua
client = { export = 'bupa-fuel.useJerryCan' }

在 QBox、QB-Core 和 ESX 上,可用物品由资源内部自动注册,因此无需额外的导出配置。