传奇 LEG 引擎架设:摆摊功能货币修改教程

来源: 作者: 点击:
在传奇 LEG 引擎架设私人服务器过程中,摆摊功能的货币类型(如金币、元宝、绑定元宝)可通过配置文件、数据库及脚本调整实现修改。默认情况下,LEG 引擎摆摊默认使用金币交易,但通过针对性设置,可切换为其他货币类型,满足私人服务器不同的经济体系设计。本文将详细拆解货币修改的完整流程,覆盖基础设置、关联配置及问题验证,帮助架设者快速完成调整。
一、核心结论:LEG 引擎摆摊货币可修改
LEG 引擎对摆摊货币的控制通过 “配置文件参数 + 数据库字段 + 交易脚本” 三重关联实现,支持修改为以下常见货币类型:
基础货币:金币(默认)
进阶货币:元宝、绑定元宝
自定义货币:如 “声望值”“荣誉点”(需额外配置货币体系)
修改的核心逻辑是:指定摆摊交易的货币标识→关联角色数据库对应的货币字段→调整交易结算脚本,确保货币正常流转。
二、前期准备:文件备份与工具准备
修改前需做好两项基础准备,避免操作失误导致功能异常:
核心文件备份:
复制服务端MirServer\Mir200\Envir目录(含摆摊配置文件),重命名为Envir_摆摊备份;
备份角色数据库:若使用 SQL 数据库,导出RoleData表(含角色货币字段);若为 Access 数据库,复制MirServer\DB\RoleData.mdb文件。
必备工具:
文本编辑器:Notepad++(用于修改配置文件,需确保保存编码为 ANSI);
数据库管理工具:Navicat(SQL 数据库)或 Access(本地数据库,用于调整货币字段关联);
LEG 引擎官方工具包:含 “货币类型定义工具”(部分版本需从引擎安装包的Tool目录提取)。
三、货币修改核心步骤
1. 第一步:修改摆摊配置文件,指定货币类型
摆摊货币的基础类型由ShopConfig.txt文件控制,路径为MirServer\Mir200\Envir\ShopConfig.txt:
用 Notepad++ 打开文件,按Ctrl+F搜索 “StallCurrencyType”(摆摊货币类型参数);
查看参数默认值:StallCurrencyType=1(1 代表金币,为默认值),不同货币对应标识如下:
金币:1
元宝:2
绑定元宝:3
自定义货币(如声望):需先在CurrencyDefine.txt中定义,标识从 4 开始(如声望 = 4);
根据需求修改参数值,示例:若改为元宝交易,设置StallCurrencyType=2;
同步修改 “货币显示名称”:搜索 “StallCurrencyName”,对应参数改为目标货币名,如StallCurrencyName=元宝(确保客户端显示与实际货币一致);
保存文件,编码选择 “ANSI”,避免中文乱码导致参数失效。
2. 第二步:关联角色数据库的货币字段
摆摊交易后,货币需存入角色对应的数据库字段,需确保配置文件的货币标识与数据库字段匹配:
(1)明确数据库货币字段
不同货币对应的RoleData表字段如下(以 SQL 数据库为例):
货币类型
数据库字段名
字段类型
示例值
金币
Gold
整数
10000
元宝
YuanBao
整数
50
绑定元宝
BindYuanBao
整数
30
声望值
Reputation
整数
10

(2)修改货币字段关联配置
进入MirServer\Mir200\Envir目录,打开DBLink.txt(数据库关联配置文件):
搜索 “StallCurrencyField”(摆摊货币关联字段参数);
按第一步设置的货币类型,填写对应字段名,示例:
若第一步设StallCurrencyType=2(元宝),则设置StallCurrencyField=YuanBao;
若设为绑定元宝(类型 3),则设置StallCurrencyField=BindYuanBao;
保存文件,确保字段名与数据库RoleData表中的字段完全一致(区分大小写,如 “YuanBao” 不可写为 “YuanBao1”)。
3. 第三步:调整摆摊交易结算脚本
交易完成后的货币结算由脚本控制,需修改ShopTrade.txt(摆摊交易脚本),路径为MirServer\Mir200\Envir\QuestDiary\ShopTrade.txt:
打开文件,找到 “摆摊交易成功” 的脚本段,默认代码如下(金币结算示例):
(@StallTradeSuccess)
#IF
CheckStallTradeFinish
#ACT
GiveGold %StallTradeMoney% # 给卖家金币,%StallTradeMoney%为交易金额变量
SendMsg 6 摆摊交易成功,获得%StallTradeMoney%金币!

根据目标货币类型修改脚本指令,示例(改为元宝结算):
(@StallTradeSuccess)
#IF
CheckStallTradeFinish
#ACT
GiveYuanBao %StallTradeMoney% # 替换为元宝发放指令
SendMsg 6 摆摊交易成功,获得%StallTradeMoney%元宝!

不同货币对应的脚本指令:
金币:GiveGold
元宝:GiveYuanBao
绑定元宝:GiveBindYuanBao
自定义货币(如声望):需使用ChangeReputation %StallTradeMoney%(需确保引擎支持该指令);
同步修改 “买家扣钱脚本”:找到@StallTradeBuy段,将扣金币指令TakeGold %StallTradeMoney%改为对应货币的扣除指令(如TakeYuanBao %StallTradeMoney%);
保存脚本文件,无需重启服务端,脚本实时生效。
4. 第四步:客户端货币显示适配(可选)
若客户端摆摊界面仍显示 “金币”,需修改客户端语言配置文件,路径为客户端根目录\Data\ClientLang.txt:
搜索 “摆摊货币显示” 相关条目,如 “摊位价格(金币)”;
将 “金币” 改为目标货币名,如 “摊位价格(元宝)”;
保存文件后,替换所有玩家客户端的ClientLang.txt,确保显示一致。
四、常见问题解决
1. 修改后摆摊界面无货币显示(空白或 “0”)
原因:ShopConfig.txt中 “StallCurrencyName” 参数未修改,或编码错误;
解决:重新打开文件,确认StallCurrencyName已改为目标货币名(如 “元宝”),保存时选择 “编码 - ANSI”,关闭后重启 M2 服务器。
2. 交易成功后货币未到账(卖家没收到,买家没扣钱)
原因 1:DBLink.txt中 “StallCurrencyField” 字段名错误(如元宝字段写为 “YuanBao1”);
解决:核对RoleData表的实际字段名,修正StallCurrencyField参数,确保完全一致。
原因 2:交易脚本指令错误(如元宝结算用了 “GiveGold” 指令);
解决:检查ShopTrade.txt中的@StallTradeSuccess和@StallTradeBuy段,替换为对应货币的指令(如GiveYuanBao和TakeYuanBao)。
3. 自定义货币(如声望)无法使用
原因:未在引擎中定义自定义货币类型;
解决:
进入MirServer\Mir200\Envir目录,打开CurrencyDefine.txt;
按格式添加自定义货币:4 声望值 Reputation 1(4 为标识,Reputation 为数据库字段,1 为可交易);
重新设置StallCurrencyType=4和StallCurrencyField=Reputation,同步修改脚本指令为ChangeReputation。
4. 摆摊时提示 “货币类型不支持”
原因:LEG 引擎版本过低,不支持高阶货币(如部分旧版不支持绑定元宝);
解决:从官方渠道获取 LEG 引擎最新补丁,更新M2Server.exe和StallSystem.dll(摆摊系统插件),重启服务端后重新配置。
五、验证方法:确保货币修改生效
修改完成后,通过三步验证功能是否正常:
基础显示验证:
启动服务端和客户端,创建测试账号,开启摆摊功能;
查看摊位价格输入框后的货币名称(如显示 “元宝”),确认与设置一致。
交易流程验证:
用两个测试账号操作:账号 A 摆摊出售物品(定价 10 元宝),账号 B 购买;
交易完成后,查看账号 A 的元宝是否增加 10,账号 B 的元宝是否减少 10。
数据库验证:
用数据库工具打开RoleData表,查询两个测试账号的YuanBao字段(或对应货币字段);
确认字段数值变化与交易金额一致,无异常(如负数、未变化)。
六、注意事项总结
版本兼容性:优先确认 LEG 引擎版本,旧版(如 V1.80 前)仅支持金币和元宝,绑定元宝需更新至后续版本;
字段大小写:数据库字段名区分大小写(如 “YuanBao”≠“yuanbao”),需完全匹配;
脚本指令对应:不同货币的 “发放 / 扣除” 指令需正确,避免混用(如元宝不能用金币指令);
客户端同步:若修改货币显示名称,需将ClientLang.txt同步至所有玩家客户端,避免显示混乱;
多货币切换:若需支持 “金币 / 元宝” 双货币摆摊,需额外开发切换功能(通过脚本或插件实现),基础设置仅支持单一货币类型。
通过以上步骤,可顺利完成 LEG 引擎私人服务器摆摊功能的货币修改。核心在于确保 “配置文件 - 数据库 - 脚本” 三者的货币标识一致,同时做好前期备份与后期验证,避免因参数不匹配导致的交易异常。若遇到复杂问题(如自定义货币),可参考 LEG 引擎官方文档的 “货币体系配置” 章节,或社区中的同类修改案例。