礼包码与推荐码系统使用说明¶
1. 系统概述¶
礼包码与推荐码系统是一个综合性的奖励分发平台,旨在通过多种渠道激励玩家。系统集成了一次性 CDK、可重复使用礼包码、推荐人返利以及充值奖励四大核心模块。
系统支持灵活的配置方式,既可以使用本地 CSV 文件进行简单管理,也支持通过 HTTP API 对接外部运营平台进行验证。
2. 功能模块详解¶
2.1 CDK 系统 (一次性兑换码)¶
CDK (Card Key) 是传统的“一码一用”兑换码,适用于发号、媒体礼包等场景。 * 特性:每个 CDK 仅能使用一次,使用后立即失效。 * 生成:由运营人员通过后台或工具批量生成。 * 验证:本地 CSV 校验,确保唯一性。
2.2 礼包码系统 (通用兑换码)¶
礼包码是可配置使用次数的兑换码,适用于节日活动、直播口令等场景。
* 特性:
* 多人通用:同一个码可以被无数玩家领取(如 VIP666)。
* 使用限制:可配置总使用次数上限。
* 角色限领:可配置每个角色/账号是否只能领取一次。
* 有效期:支持设置开始和结束时间。
2.3 推荐人系统 (推广返利)¶
通过绑定推荐关系,激励老玩家邀请新玩家,并共享充值收益。 * 推荐码:每个账号都有唯一的推广代码(PCode)。 * 绑定机制:新玩家在注册或首次登录时填写推荐码,建立永久绑定关系。 * 返利机制:被推荐人充值时,推荐人按配置比例获得“推广点”。 * 推广点:推广点可用于兑换游戏内珍稀道具或货币。
2.4 充值奖励系统¶
自动化的充值回馈机制,无需人工干预。 * 单次充值奖励:每次充值达到特定金额即可获得(如首充礼包)。 * 累计充值奖励:历史总充值达到特定额度即可获得(如累充豪礼)。
3. 玩家指南¶
3.1 如何领取礼包/CDK¶
玩家可以通过以下两种方式领取:
1. 聊天框命令:
* 使用 CDK:@使用CDK [CDK码]
* 领取礼包:@领取礼包码 [礼包码]
2. NPC 对话:
* 前往指定 NPC(如福利大使),点击“兑换礼包”选项,在弹出的输入框中输入代码即可。
3.2 推荐系统使用¶
- 查询我的推广码:输入命令
@查询推广点,系统将显示您的推广代码和当前的推广点余额。 - 兑换推广奖励:输入命令
@兑换推广奖励 [奖励编号],消耗推广点兑换物品。
4. 管理员配置指南¶
4.1 核心配置文件¶
所有配置文件位于 System/Data/GiftCode/ 目录下(需确认实际路径)。
(1) GiftCodeConfig.csv (礼包码配置)¶
| 字段 | 说明 | 示例 |
|---|---|---|
| Code | 礼包码字符串 | VIP888 |
| Gold | 奖励金币 | 10000 |
| GameGold | 奖励元宝 | 100 |
| ItemName | 奖励物品名 | 屠龙刀 |
| ItemCount | 物品数量 | 1 |
| IsBound | 是否绑定 | true |
| MaxUsage | 总最大使用次数 (-1为无限) | -1 |
| OnePerRole | 每角色限领一次 | true |
| ValidFrom | 有效期开始时间 | 2023-01-01 00:00:00 |
| ValidTo | 有效期结束时间 | 2025-12-31 23:59:59 |
(2) RechargeReward.csv (充值奖励配置)¶
| 字段 | 说明 | 示例 |
|---|---|---|
| Type | 类型 (0=单次, 1=累计) | 1 |
| Amount | 需求金额 (元) | 100 |
| RewardItems | 奖励物品 (物品:数量|物品:数量) | 元宝:1000|超级金创药:5 |
| MailTitle | 邮件标题 | 累计充值奖励 |
| MailContent | 邮件内容 | 感谢您的支持... |
4.2 推荐系统配置¶
在 System/Config/Settings.conf (或相应配置文件) 中设置:
* ReferralRate: 推广返点比例 (例如 0.1 表示 10% 返点)。
* EnableReferral: 是否开启推荐系统。
4.3 外部验证模式 (高级)¶
若需对接外部 Web 平台验证礼包码:
1. 在配置中开启 EnableExternalVerify = true。
2. 设置 ExternalVerifyUrl 为验证接口地址。
3. 系统将通过 HTTP POST 请求发送 code, player_name, account 等参数到接口。
5. NPC 脚本开发¶
开发者可以在 NPC 脚本中使用以下新增命令来集成礼包功能。
5.1 检查与操作命令¶
-
USEGIFTCODE [礼包码]
- 作用:尝试使用指定的礼包码。
- 示例:
USEGIFTCODE VIP666
-
USECDK [CDK码]
- 作用:尝试使用指定的 CDK。
- 示例:
USECDK A1B2C3D4
-
CHECKPOINTS [操作符] [数量]
- 作用:检测玩家的推广点余额。
- 示例:
CHECKPOINTS >= 100
-
DEDUCTPOINTS [数量]
- 作用:扣除玩家的推广点。
- 示例:
DEDUCTPOINTS 100
-
BINDREFERRAL [推荐码]
- 作用:强制绑定推荐人(通常用于手动补录)。
- 示例:
BINDREFERRAL P12345
5.2 脚本示例:福利大使¶
[@Main]
#SAY
欢迎来到福利中心!\
<[ 输入礼包码 ]/@@InputGift>\
<[ 查询推广点 ]/@CheckPoints>\
<[ 兑换推广奖励 ]/@ExchangePoints>
[@@InputGift]
#ACT
; 弹出输入框,输入内容将传递给 @GiftHandler
INPUTBOX 请输入您的礼包码或CDK: @GiftHandler
[@GiftHandler]
#OR
; 尝试作为礼包码使用
USEGIFTCODE <$STR(S0)>
; 或者尝试作为 CDK 使用
USECDK <$STR(S0)>
#ACT
SENDMSG 6 "兑换成功!奖励已发放。"
BREAK
#ELSEACT
SENDMSG 5 "兑换失败:无效的兑换码或已过期。"
BREAK
[@CheckPoints]
#SAY
您的推广代码是:{Color=Green <$MYCODE>}\
当前推广点余额:{Color=Red <$POINTS>} 点\
\
<[ 返回 ]/@Main>
[@ExchangePoints]
#IF
CHECKPOINTS >= 1000
#ACT
DEDUCTPOINTS 1000
GIVE 屠龙刀 1
SENDMSG 6 "消耗1000推广点,兑换屠龙刀一把!"
BREAK
#ELSEACT
SENDMSG 5 "推广点不足1000,无法兑换。"
BREAK
6. 常见问题 (FAQ)¶
Q: 礼包码和 CDK 有什么区别? A: CDK 是唯一的,用一次就废;礼包码是通用的,可以配置让全服玩家每人领一次。
Q: 充值奖励没有到账怎么办?
A: 检查 RechargeReward.csv 配置是否正确加载。系统会在玩家充值回调触发时自动检测,若当时玩家离线,奖励通常会通过邮件补发(需确认邮件系统支持)。
Q: 如何批量生成 CDK? A: 请使用 GM 工具或管理后台的“生成 CDK”功能,生成的 CDK 会自动追加到服务器的 CDK 列表中。