点券充值与独立礼包
| 类型 | 命令 | 配置文件 |
|---|---|---|
| 点券充值 | /gtpay buy <金额> [渠道] | topup.yml |
| 固定礼包 | /gtpay gift <礼包ID> [渠道] | gifts.yml |
点券充值 topup.yml
默认配置:
yaml
name: "点券充值"
enabled: true
scaled: 1.0
integer_only: false
min_amount: 0.01
max_amount: 1000000
permission: ""
commands:
- "[console] points give {player} {scaled_amount}"字段说明:
| 配置 | 说明 |
|---|---|
name | 点券充值显示名称 |
enabled | 是否允许创建点券订单 |
scaled | 充值金额转换倍率 |
integer_only | 是否只允许整数金额 |
min_amount | 最低充值金额 |
max_amount | 最高充值金额 |
permission | 创建点券订单需要的权限,留空不限制 |
commands | 支付成功后执行的命令 |
充值倍率
1 元发 1 点券:
yaml
scaled: 1.0
commands:
- "[console] points give {player} {scaled_amount}"1 元发 10 点券:
yaml
scaled: 10.0
commands:
- "[console] points give {player} {scaled_amount}"玩家充值 30 元时,{scaled_amount} 为 300。
只允许整数充值
yaml
integer_only: true
min_amount: 1
max_amount: 1000允许:
text
/gtpay buy 1 wechat
/gtpay buy 10 wechat
/gtpay buy 100 alipay不允许:
text
/gtpay buy 1.5 wechat自定义充值范围示例
yaml
min_amount: 1
max_amount: 500这只是一个自定义示例。默认 max_amount 为 1000000,GUI 中显示的 500 元按钮也只是快捷金额,不是系统上限。
点券命令示例
PlayerPoints:
yaml
commands:
- "[console] points give {player} {scaled_amount}"自定义点券插件:
yaml
commands:
- "[console] coin add {player} {scaled_amount}"同时发放点券和全服公告:
yaml
commands:
- "[console] points give {player} {scaled_amount}"
- "[console] broadcast &6{player} &f完成充值 &e{amount} 元"点券命令变量
| 变量 | 内容 |
|---|---|
{player} | 玩家名 |
{uuid} | 玩家 UUID |
{order_id} | GTPay 订单号 |
{trade_no} | 支付流水号 |
{reward} | topup |
{type} | topup |
{purchase_type} | topup |
{amount} | 玩家输入的基础金额 |
{pay_amount} | 实际支付金额,可能包含分币识别金额 |
{scaled_amount} | 基础金额乘 scaled 后的结果 |
奖励发放应使用 {amount} 或 {scaled_amount},不要使用 {pay_amount}。分币只用于区分待支付订单,不应多发点券。
礼包 gifts.yml
默认示例:
yaml
vip_30:
name: "VIP 30 天"
enabled: true
category: "vip"
price: 30.00
limit: -1
global_limit: -1
permission: ""
refresh_time: "0"
commands:
- "[console] lp user {player} parent addtemp vip 30d"
- "[console] tellraw {player} {\"text\":\"GTPay 礼包到账\",\"color\":\"green\"}"vip_30 是礼包 ID,命令中使用:
text
/gtpay gift vip_30 wechat礼包字段
| 配置 | 说明 |
|---|---|
name | 礼包显示名称 |
enabled | 是否启用 |
category | 礼包分类,可在 GUI 中显示 |
price | 固定价格 |
limit | 每个玩家最多完成多少次,-1 不限制 |
global_limit | 全服最多完成多少次,-1 不限制 |
permission | 购买权限,留空不限制 |
refresh_time | 玩家购买次数的冷却周期 |
commands | 到账后执行的奖励命令 |
多个礼包
yaml
vip_7:
name: "VIP 7 天"
enabled: true
category: "vip"
price: 10.00
limit: -1
global_limit: -1
permission: ""
refresh_time: "0"
commands:
- "[console] lp user {player} parent addtemp vip 7d"
vip_30:
name: "VIP 30 天"
enabled: true
category: "vip"
price: 30.00
limit: -1
global_limit: -1
permission: ""
refresh_time: "0"
commands:
- "[console] lp user {player} parent addtemp vip 30d"
starter_pack:
name: "新手补给包"
enabled: true
category: "items"
price: 6.00
limit: 1
global_limit: -1
permission: ""
refresh_time: "0"
commands:
- "[console] give {player} diamond 16"
- "[console] give {player} golden_apple 8"限购
每个玩家只能购买一次:
yaml
limit: 1全服只能完成 100 次:
yaml
global_limit: 100限购只统计已经完成发放的订单。取消、过期和异常订单不占用购买次数。
冷却时间
每天一次:
yaml
refresh_time: "1d"每周一次:
yaml
refresh_time: "7d"支持单位:
text
d 天
h 小时
m 分钟
s 秒组合写法:
yaml
refresh_time: "1d12h"奖励执行身份
控制台执行:
yaml
- "[console] give {player} diamond 1"玩家身份执行:
yaml
- "[player] warp vip"临时 OP 执行:
yaml
- "[op] kit vip"没有前缀时按控制台命令处理。
需要玩家在线的 [player]、[op] 命令会等待玩家上线再发放。纯控制台奖励不要求玩家在线。
礼包命令变量
礼包支持与点券相同的订单变量,其中:
text
{reward} 礼包 ID
{type} gift
{purchase_type} gift
{amount} 礼包基础价格
{pay_amount} 实际支付金额
{scaled_amount} 基础价格乘 scaled 后的结果礼包通常不需要设置 scaled,默认按 1.0 处理。
修改 topup.yml 或 gifts.yml 后执行 /gtpay reload,新订单会使用重载后的配置。
