01客户端导出
| 导出 | 说明 |
|---|---|
IsRepairing() | 在本地玩家维修载具期间返回 true,例如可用来保持你自己的菜单关闭。 |
GetVehicleCondition(vehicle) | 以 % 为单位的发动机、车身和油箱状态,以及轮胎、脏污程度、损坏等级和油箱是否漏油。不传参数时,读取玩家当前所在的载具。 |
OpenMenu() | 打开 /arepairkit 菜单,例如通过手机应用或轮盘菜单调用。 |
CloseMenu() | 关闭菜单,并将鼠标控制权交还给游戏。 |
IsMenuOpen() | 菜单打开期间返回 true。 |
02服务端导出
| 导出 | 说明 |
|---|---|
UseKit(source, kit) | 为玩家启动一个维修包,效果如同该道具已被使用,并执行全部检查。返回 true,或返回 false 及失败原因。适用于自定义库存和商店。 |
GiveKit(source, kit, amount) | 通过检测到的库存,将维修包添加到玩家的库存中。成功时返回 true。 |
IsRepairing(source) | 该玩家正在维修载具时为 true。 |
GetKits() | 所有已配置的维修包,包括其道具、标签、工作类型和持续时间。 |
useKit(event, item, inventory, slot, data) | 供 ox_inventory 道具使用的导出函数。install/ox_inventory.lua 中的道具条目会指向它,不应被直接调用。 |
03事件
| 名称 | 端 | 说明 |
|---|---|---|
agency-repairkit:repaired | 服务端 | 维修完成且维修包用尽后,会在服务器端触发,参数为 (source, netId, kit)。适合用于日志记录、支付或工作进度。 |
agency-repairkit:client:repaired | 客户端 | 维修完成时,会在执行维修的玩家客户端触发,参数为 (netId, kit)。 |
agency-repairkit:client:damageLevel | 客户端 | 每当损坏等级发生变化时,会在驾驶者客户端触发,参数为 (level, vehicle):ok、light、medium、heavy 或 critical。 |
+值得了解
其他资源可以启动工具包、发放工具包、查询玩家是否正在作业,以及读取车辆状态。三个事件会分别报告维修完成和损坏等级的变化。
- 在你自己的代码中启动工具包
- UseKit(source, kit) 会执行与库存物品相同的检查:距离、职业、冷却时间以及物品本身。这是对接自定义库存系统或商店 NPC 的方式。
- 响应维修事件
- 工具包被消耗后,服务器端会触发 agency-repairkit:repaired 事件,并附带玩家、车辆的网络 ID 和工具包信息,例如可用于支付机械师报酬或记录日志。
?常见问题
我的 HUD 能显示损坏等级吗?
可以。在客户端监听 agency-repairkit:client:damageLevel 事件,或者随时调用 GetVehicleCondition,获取发动机、车身、油箱、轮胎的状态以及损坏等级。
