Agency Docs
QBESXStandalone

Agency-Vehiclekeys V2 导出 & API

适用于 QBCore、Qbox、ESX 或完全独立运行的 FiveM 通用车辆钥匙。按 G 可用手中的钥匙遥控器锁定或解锁你有钥匙的最近车辆,并伴有短促的喇叭声和车灯闪烁,按 U 可启动引擎。按 F5.

v2.0.0付费5 页面

01客户端导出

导出说明
HasKeys(plate)当玩家持有该车牌的钥匙时返回 true:车主钥匙、共享钥匙或临时钥匙。工作车辆通过车型解锁,不计入此处。
GetKeys()玩家持有的所有钥匙列表,格式为 { plate, kind }。kind 可以是 owner、shared 或 temp。
ToggleLock(vehicle)锁定或解锁玩家持有钥匙的车辆,使用与 G 相同的动画和检查。若玩家未在车辆内,则使用范围内最近的车辆。
ToggleEngine()启动或停止玩家当前驾驶车辆的引擎,功能类似 U。
OpenMenu()打开钥匙环,例如从环形菜单或手机应用中打开。
CloseMenu()关闭钥匙环,并将鼠标控制权交还给游戏。
IsMenuOpen()钥匙环打开时返回 true。
useLockpick()开始尝试撬开玩家前方的车辆,或在驾驶座上尝试热启动。适用于 ox_inventory 物品:client = { export = 'Agency-Vehiclekeys.useLockpick' }。

02服务端导出

导出说明
GiveKeys(source, plate, mode, hours)发放一把钥匙。mode 为 'temp'(默认值)时发放临时钥匙,可选设置有效小时数;'perm' 则发放已保存的钥匙。可以使用 source 或 identifier。
RemoveKeys(source, plate)移除共享钥匙或临时钥匙。若成功移除钥匙,则返回 true。
HasKeys(source, plate)当玩家持有该车牌的钥匙时返回 true,包括附近车辆的工作车辆钥匙。
SetOwner(source, plate)将玩家设为某个车牌的车主,适用于独立服务器上的车库和商店。之前的车主将失去钥匙。
RemoveOwner(plate)移除此脚本为某个车牌保存的车主信息。
GetOwner(plate)车主的 identifier 及其来源:对于 QBCore、Qbox 或 ESX 的自有车辆,来源为 'framework';对于由此脚本保存的车主,来源为 'store'。
GetKeyHolders(plate)所有持有该车牌钥匙的其他玩家,以 { identifier, kind, name, expires } 列表形式返回。
SetVehicleLocked(vehicle, locked)为所有人锁定或解锁车辆,不检查钥匙。供需要打开车辆的脚本使用。
IsVehicleLocked(vehicle)车辆已锁定时为 True。
GetFramework()脚本检测到的框架:qbcore、esx 或 standalone。

03事件

名称端说明
Agency:Keys:GiveServer服务端为某个车牌申请临时钥匙,Agency Garage 和 Agency Vehicleshop 也会这样做。通过客户端传入车牌触发。车辆必须在玩家旁边,或属于该玩家。
qb-vehiclekeys:server:AcquireVehicleKeys服务端以相同方式处理 qb-vehiclekeys 的钥匙事件,使为 qb-vehiclekeys 制作的车库和商店继续正常工作。
vehiclekeys:client:SetOwner客户端许多车库和商店在生成车辆后触发的客户端事件。服务器执行相同检查后,会为该车牌发放临时钥匙。
qb-vehiclekeys:client:AddKeys客户端以相同方式处理 qb-vehiclekeys 用于发放钥匙的客户端事件。
simple_carkeys:client:toggleEngine客户端使用钥匙启动或关闭引擎时在客户端触发,使 Agency-Hud 等 HUD 能够跟踪引擎状态。

+值得了解

Agency-Vehiclekeys V2 提供 exports,并支持常见的钥匙事件,因此车库、商店、职业和抢劫脚本都可以发放、检查和收回钥匙。

发放和检查钥匙
GiveKeys 会发放临时钥匙或已保存的钥匙,RemoveKeys 会收回钥匙,HasKeys 会检查是否持有钥匙。这些功能可在服务器端通过 source 或标识符使用,也可在客户端为玩家本人使用。
独立车库的车主设置
独立服务器没有用于记录已拥有车辆的框架数据表。SetOwner 可将玩家设为某个车牌的车主,RemoveOwner 可移除车主,GetOwner 可读取车主信息。
其他脚本使用的事件
Agency:Keys:GiveServer、qb-vehiclekeys:server:AcquireVehicleKeys、vehiclekeys:client:SetOwner 和 qb-vehiclekeys:client:AddKeys 都会在通过相同检查后发放临时钥匙:车辆必须在玩家旁边,或归玩家所有。

?常见问题

如何从我的车库脚本中发放钥匙?

车辆生成后,在服务器端调用 exports['Agency-Vehiclekeys']:GiveKeys(source, plate),或在客户端触发 TriggerServerEvent('Agency:Keys:GiveServer', plate)。为 qb-vehiclekeys 编写的脚本无需更改。

看完本页仍未解决?接下来由我们的支持团队接手。