Exports
Exports
四个客户端导出(Exports),供其他需要读取或修改载具燃油的资源(Resource)使用。本页面仅记录资源中实际存在的接口。
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.0–100.0 |
SetFuel |
vehicle, level (number) |
无返回值 |
GetFuelType |
vehicle (entity handle) |
燃油类型键字符串 —— 'gasoline'、'diesel'、'premium'、'electric' |
IsElectric |
vehicle (entity handle) |
true 或 false |
Notes
对于无效或不存在的实体,GetFuel 会返回 0.0。如果该载具从未被记录过,调用此方法将会根据 Config.Consumption.SpawnFuel 生成初始油量并写入状态包(State Bag)—— 因此,读取一辆全新载具的油量即会为其初始化油量。
SetFuel 会将数值限制在 0.0–100.0 之间。对于联网载具,它会写入实体状态包并同步至所有客户端;对于本地载具,它仅设置原生油量。这是一个百分比,而非升数 —— 若需获取升数,请乘以该载具类别的油箱容量。
GetFuelType 的解析顺序与油泵一致:电动车列表、Config.VehicleFuel.Model,然后是类别表,若均未匹配则回退至 'gasoline'。
IsElectric 是 GetFuelType(vehicle) == 'electric' 的简写形式。
ℹ
燃油数据通过载具实体上的 fuel 状态包进行同步。任何想要监听燃油变化而无需轮询的资源,都可以添加自定义的 AddStateBagChangeHandler('fuel', ...),而不是在循环中调用 GetFuel。
Inventory item handler
bupa-fuel.useJerryCan 是针对 jerrycan 物品的 ox_inventory 物品使用处理器(item-use handler)。你只需在物品定义中引用它 —— 无需手动调用。
client = { export = 'bupa-fuel.useJerryCan' }在 QBox、QB-Core 和 ESX 上,可用物品由资源内部自动注册,因此无需额外的导出配置。