玩家互传插件(Player to player teleport request),基于 LegacyScriptEngine QuickJS。
- 双向传送请求:
我传送到TA与TA传送到我 - 弹窗 / 聊天框请求通知,可一键同意或拒绝
- 自动同意、屏蔽请求等玩家个人设置
- 待处理请求管理(GUI 或聊天列表,支持按玩家名 / 编号批量处理)
- 请求超时失效、冷却与频率限制
- 可选金币扣费(需安装 LLMoney)
| 依赖 | 说明 |
|---|---|
| legacy-script-engine-quickjs | 必需,LSE QuickJS 脚本引擎 |
| LegacyMoney (LLMoney) | 可选,仅在启用传送扣费时需要 |
将 TPA 文件夹放入服务端 plugins/ 目录,重启服务器即可。
| 命令 | 说明 |
|---|---|
/tpa |
打开传送请求面板 |
/tpa <玩家名> |
发起「我传送到TA」请求 |
/tpa <被传送玩家> <目标玩家> |
指定传送方向,任一方可写 @s 代表自己 |
/tpay [玩家名/编号] |
同意传送请求,不填参数则全部同意 |
/tpan [玩家名/编号] |
拒绝传送请求,不填参数则全部拒绝 |
/tpaset |
打开通知 / 自动同意 / 屏蔽设置面板 |
/tpal [c] |
打开待处理请求管理面板,加 c 显示为聊天列表 |
说明:
@s表示自己,如/tpa @s Steve表示传送到 Steve,/tpa Steve @s表示让 Steve 传送过来。- 玩家名含空格时需用英文双引号包裹,如
/tpa "Foo Bar"。 - 请求在
requestTimeoutSeconds秒内有效,超时自动失效。
位于 plugins/TPA/config.json:
| 配置项 | 默认值 | 说明 |
|---|---|---|
moneyCost |
50 | 传送消耗金币,0 表示不扣费 |
cooldownSeconds |
30 | 传送成功后冷却时间(秒) |
requestTimeoutSeconds |
60 | 请求有效期(秒) |
rateLimitWindowSeconds |
15 | 频率限制时间窗口(秒) |
rateLimitMaxRequests |
2 | 窗口内向同一玩家最多发起的请求数 |
includeSimulatedPlayers |
false | 是否允许对模拟玩家发起传送 |
玩家通过 /tpaset 保存个人设置,存储于 plugins/TPA/data/settings.json:
- 收到请求时的通知方式(弹窗 / 仅聊天框)
- 自动同意:TA 传送到我
- 自动同意:我传送到 TA
- 屏蔽请求:TA 传送到我(开启后对应自动同意失效)
- 屏蔽请求:我传送到 TA(开启后对应自动同意失效)