01客户端导出
| 导出 | 说明 |
|---|---|
OpenMenu() | 打开 /ablackmarket 的菜单,例如从轮盘菜单或手机应用中打开。检查规则与命令相同。 |
CloseMenu() | 关闭菜单,并将鼠标控制权交还给游戏。 |
IsMenuOpen() | 只要黑市菜单处于打开状态(无论是在贩子处还是在任何地方),就返回 true。 |
02服务端导出
| 导出 | 说明 |
|---|---|
GetReputation(source) | 玩家的名声点数,还没有名声的玩家返回 0。 |
SetReputation(source, value) | 把玩家的名声设为固定值,最低为 0。成功时返回 true。 |
AddReputation(source, amount) | 增加名声,传入负数时则扣除名声。升到新等级时会通知玩家和 Companion 应用。成功时返回 true。 |
GetLevel(source) | 返回两个值:玩家等级的编号(默认 1 到 5)和等级名称。 |
AddCredit(source, amount) | 增加贩子额度,玩家可在下一次购买或订单中使用。成功时返回 true。 |
RelocateDealer(dealerId) | 立即把贩子移到他的另一个地点。移动成功时返回 true。 |
SendDealerAway(dealerId, minutes) | 贩子消失指定的分钟数,然后出现在他的另一个地点,就像警察来过之后一样。 |
IsDealerPresent(dealerId) | 只要贩子站在他的某个地点且没有离开,就返回 true。 |
StartFlashSale(minutes) | 开始一场限时特卖,随机商品打折出售。不传分钟数时使用 Config.FlashSale 中的时长。 |
03事件
| 名称 | 端 | 说明 |
|---|---|---|
agency-blackmarket:deal | 服务端 | 每笔交易之后在服务器端触发,参数为 (source, kind, data)。kind 为 buy、sell、launder、order、pickup 或 job,data 包含交易详情,例如贩子、物品和总额。 |
agency-blackmarket:dealerMoved | 服务端 | 贩子更换地点时在服务器端触发,参数为 (dealerId, pos, reason)。reason 为 rotate、return、admin 或 export。 |
agency-blackmarket:flashSale | 服务端 | 限时特卖开始时在服务器端触发,参数为 (items, minutes)。items 把每件打折物品对应到它的折扣百分比。 |
+值得了解
Agency-Blackmarket V2 提供导出函数和事件,让你自己的脚本可以发放名声和额度、控制贩子,并对交易作出反应。
- 名声与额度
- GetReputation、SetReputation、AddReputation 和 GetLevel 用于读取和修改玩家的地位,AddCredit 用于发放贩子额度。它们接收在线玩家的服务器 id。
- 贩子与限时特卖
- RelocateDealer、SendDealerAway 和 IsDealerPresent 通过 Config.Dealers 中的 id 控制贩子,StartFlashSale 可从你自己的事件中开始特卖。
- 事件
- agency-blackmarket:deal 在每笔交易后触发,agency-blackmarket:dealerMoved 在每次移动后触发,agency-blackmarket:flashSale 在特卖开始时触发。这三个事件都只在服务器端触发,可用于日志、警用工具或你自己的任务。
?常见问题
如何从我的轮盘菜单打开菜单?
在客户端调用 exports['Agency-Blackmarket']:OpenMenu()。检查规则与命令相同,包括 Config.Menu.item 中要求的物品。
