传奇引擎多货币关联功能完整使用教程
一、功能概述传奇引擎中的多货币关联使用功能,是针对游戏内多元代币体系设计的核心脚本功能,可将多种游戏货币归为同一货币组别,按照预设优先级实现自动检测、合并统计与顺位扣除,简化版本开发中代币管控逻辑,适配火龙、复古、单职业等各类传奇版本的货币运营需求。二、基础配置方法2.1 配置数据表功能配置依托核心…
一、功能概述
传奇引擎中的多货币关联使用功能,是针对游戏内多元代币体系设计的核心脚本功能,可将多种游戏货币归为同一货币组别,按照预设优先级实现自动检测、合并统计与顺位扣除,简化版本开发中代币管控逻辑,适配火龙、复古、单职业等各类传奇版本的货币运营需求。
二、基础配置方法
2.1 配置数据表
功能配置依托核心数据表:cfg_item.xls,所有货币组别分类、扣除优先级参数均在此表格中定义。
2.2 字段设置规则
通过Reserved预留字段完成货币组与扣除顺序设置,格式语法:货币组分类(数字)#优先扣除顺序
示例:10#1
上述参数含义:数字10为专属货币组别编号,数字1为该货币在组内的扣除优先级。
2.3 分组与优先级说明

图示参数:10#3、10#1、10#2
10代表三个货币归属同一个货币组别,后缀数字1、2、3为组内扣除优先级,数字越小,扣除优先级越高。引擎执行扣除指令时,会优先消耗优先级数值最小的货币。
三、核心脚本指令格式
多货币关联功能专属三类基础脚本指令,分别用于数据检测、数值获取、数量扣除,指令仅对已关联组别货币生效。
3.1 关联货币检测指令
语法格式:CheckBindMoney 货币名称 检测符(> < =) 数量
功能说明:检测指定关联货币组的合并总数量是否满足判定条件
3.2 关联货币数值获取指令
语法格式:GetBindMoney 货币名称 存入变量
功能说明:将指定货币所属组别内所有货币的总数量,存入自定义脚本变量,用于弹窗展示、条件二次判定等场景
3.3 关联货币数量扣除指令
语法格式:ChangeBindMoney 货币名称 数量
功能说明:按照预设优先级,顺位扣除关联货币组内的货币数量
四、系统限制与基础说明
4.1 固定关联货币限制
货币ID2(元宝)、ID4(绑定元宝)为引擎系统默认关联货币,固定归属同一组别,开发者不可修改这两个货币的分组,也不可将其关联至其他货币组别。
4.2 功能权限限制
多货币关联功能仅支持货币扣除操作,不支持批量增加。若需给玩家增加货币,需使用原生基础指令:GAMEGOLD(金币)、MONEY(自定义货币)。
错误示例(关联货币不可直接增加):MONEY 火龙币 + 100
正确示例(关联货币合规扣除):ChangeBindMoney 游戏点 100
五、关联货币运行原则
5.1 检测与扣除逻辑
货币完成分组关联后,检测判定时:顺序号大的货币数值自动并入顺序号小的货币,合并计算总量;执行扣除操作时:严格优先扣除组内顺序号最小、优先级最高的货币,耗尽后自动顺延下一级货币。
5.2 货币名称自定义规则
关联货币支持自定义改名,不影响分组与优先级逻辑。常见应用:金刚石自定义命名为火龙币、灵符自定义命名为绑定火龙币,适配版本专属代币体系。
5.3 数值统计规则示例
场景:金刚石(100个)、游戏点(200个)归属同一关联组别
1. 检测货币名为游戏点:合并总量=200+100=300
2. 检测货币名为金刚石:仅统计本位数量=100
3. 精准检测单一货币:如需单独检测组内某一种货币,禁用关联检测指令,使用原生CHECKMONEY指令。
六、完整脚本案例
6.1 关联货币条件检测扣除脚本
[@MAIN]
#IF
CheckBindMoney 游戏点 > 299
#ACT
ChangeBindMoney 游戏点 300
SENDMSG 7 当前游戏点<$MONEY(游戏点)>
#ELSEACT
SENDMSG 7 游戏点不足
6.2 原生MONEY全货币操作脚本
原生指令适用于所有货币,支持精准检测、增减、数值输出,不受关联分组限制
基础语法:
1. 检测指令:CHECKMONEY 货币名称 检测符(> < = ?) 数量
2. 操作指令:MONEY 货币名称 检测符(+ - =) 数量
3. 数值输出:<$MONEY(货币名称)>
实战案例:
[@MAIN]
#IF
CHECKMONEY 元宝 ? 100
#ACT
sendmsg 7 大于100
MONEY 元宝 - 100
#IF
CHECKMONEY 元宝 > 1000
#ACT
sendmsg 7 小于1000
MONEY 元宝 - 1000
6.3 关联货币专项操作脚本
;关联货币扣除
[@扣除关联货币]
#IF
#ACT
ChangeBindMoney 元宝 300
SENDMSG 6 你扣除了和元宝关联的货币300个
;关联货币数值获取
[@获取多货币]
#IF
#ACT
GetBindMoney 元宝 S1
SENDMSG 6 你当前关联元宝的货币有:<$STR(S1)>个。
;关联货币充足判定
[@多货币]
#IF
CheckBindMoney 元宝 > 300
#ACT
SENDMSG 6 你的元宝关联货币足够
#ELSEACT
SENDMSG 6 你的元宝关联货币不足够


