传奇合击服务端改数据实操:升级送装/金牛宝箱/元宝店铺/新技能书全改法

来源: 作者: 点击:
改数据前先停M2,备份 MirServer\Mir200\Envir 整个目录和 Mud2\DB 里的 StdItems.DB、Magic.DB,改崩了直接覆盖回滚。Hero/GOM/GEE引擎路径大同小异,下面以Hero引擎合击端为例。

一、升级送装备
升级触发走 QFunction-0.txt(路径 Mir200\Envir\Market_Def\QFunction-0.txt),找 [@PlayLevelUp] 段,没有就自己加。
例:35级送骨玉权杖+恶魔长袍,40级送开天:
[@PlayLevelUp]
IF CHECKLEVELEX = 35

ACT

GIVE 骨玉权杖 1
GIVE 恶魔长袍(男) 1
SENDMSG 0 恭喜达到35级获赠法师装备
BREAK

IF CHECKLEVELEX = 40

ACT

GIVE 开天 1
SENDMSG 0 恭喜达到40级获赠开天一把
BREAK
CHECKLEVELEX 是“等于”,CHECKLEVELEX > 39 是“大于等于40”。要分段送(比如40-49每次升一级都送绑金)用变量记录,新手先写死等级点最稳。改完M2点“重新加载QF脚本”生效,不用重启。

二、金牛宝箱价格和开出内容
1. 价格改法分两种:
• 若是“钥匙+宝箱”双击开启型:金牛钥匙是个物品,改 Mud2\DB\StdItems.DB(DBC2000打开HeroDB里的StdItems表),找到金牛钥匙那行,Price 字段填新元宝价,或者把 NeedLevel/NeedJob 不动、直接让NPC收元宝开。更常见是写个NPC宝箱:

- NPC型金牛宝箱:在 Market_Def\盟重省\金牛宝箱-3.txt 里写
[@main]
金牛宝箱开启需 88 元宝
<开启/@open>
[@open]
IF CHECKGAMEGOLD >= 88

ACT

TAKE 元宝 88
GOTO @rand
ELSESAY

元宝不足

2. 开出物品改法:
双击型宝箱走 QFunction-0.txt 的 [@GetBoxsItemX](X=宝箱Shape值),或宝箱NPC里用 RANDOM 配 [@reward1] 段:
[@rand]
ACT RANDOM 100

IF RANDOM 100 < 5

GOTO @r1
IF RANDOM 100 < 15

GOTO @r2
GOTO @r3
[@r1]
ACT GIVE 屠龙 1

SENDMSG 6 开出屠龙!
[@r2]
ACT GIVE 雷霆战甲 1

[@r3]
ACT GIVE 金疮药(大) 5

概率自己调,RANDOM 100 下行数对应分段。开箱触发文件也可能在 Envir\Boxs 目录下有个 TXT 专门列掉落表,按行改物品名和数量即可。

三、元宝店铺加新道具(装备/仇杀道具/技能书)
最简路径:M2启动→查看→列表信息二(或“列表信息→其他设置→商铺物品列表”)→右侧选物品→设类别、价格、货币类型选“元宝”、写描述→增加→保存→重读商铺列表。类别0装饰1补给2强化3好友4限量5奇珍,对应商铺分页。
手动改文件:Envir\ShopItemList.txt,格式
物品ID物品名 售价 描述
排序
例:
2101擒拿手技能书 288 新控场技
3
60001仇人追杀令 50 标记仇人全服追杀
4
60002雷霆战甲 999 元宝店特供
2
物品ID必须在 StdItems.DB 里真实存在,名字一字不差,不然商铺显示空白。改完M2重读商铺,小退重登可见。

仇人追杀道具本身不是引擎原生功能,要自己加物品+脚本:StdItems.DB加“仇人追杀令”StdMode=31 AniCount=66,QFunction-0.txt写 [@StdModeFunc66] 用 GetName 输名字→SetKillFlag 或写全局变量让刺客NPC优先传送追杀,这块要写机器人脚本配合,纯改DB出不来效果。

四、新增技能书(擒拿手/乾坤大挪移/群毒/解毒)
1. Magic.DB(Mud2\DB\Magic.DB)加技能行:
找空白行,MagID 不能和原技能重复(火墙11、冰咆哮33这种别碰),MagName填“擒拿手”,Job(职业1战2法3道)按你要的填,Level 1-3 伤害公式改 DefSpell/DefPower 字段,Effect 动画编号对应客户端 wil 里的动作帧,不配动画放出来是透明球。合击技要额外在 HeroSkill 表里挂主副职组合,单纯加书不放合击槽。
2. StdItems.DB 加技能书物品:
Index 用未占用的(2101起),Name“擒拿手技能书”,Type=18(技能书类),StdMode=18,AniCount 填对应 MagID,NeedLevel 填可学等级。客户端 Data\Magic.wil 没这技能图标就显示空书,要打补丁。
3. 技能书进商铺/宝箱/NPC:
商铺按第三节加一行;宝箱按第二节 RANDOM 段加 GIVE 擒拿手技能书 1;NPC卖书改 Market_Def 里书店老板脚本,[@buy] 段加 <擒拿手技能书/@buy_qn>
[@buy_qn]
IF CHECKGAMEGOLD >= 188

ACT TAKE 元宝 188

GIVE 擒拿手技能书 1
BREAK

群毒=道士群体施毒,复制原施毒术行改 Range 和 TargetCount;解毒=新被动或道具触发,StdMode=31双击解 buff,QFunction 里 [@StdModeFuncXX] 写 RecvBuff 清毒状态。乾坤大挪移做成战士位移技,Magic.DB 里 Effect 设传送帧,脚本端加 TeleportPos 偏移。

五、还能改什么新东西
• 新装备:StdItems.DB 加行,Shape 套现有外观或自己加 wil 帧,AC/DC/MAC/幸运/攻速字段照抄同档装备改数值,客户端 Item.wil 补图。

• 新怪物:Monster.DB 加行,MonGen.txt 写“地图 X Y 怪物名 范围 数量 间隔”刷怪。

• 新地图:Map 目录扔 .map 文件,MapInfo.txt 注册地图号+名字+属性(安全/战斗/可飞)。

• 新NPC功能:Merchant.txt 加刷新行,Market_Def 下建“名字-地图.txt”写对话和 GIVE/TAKE/CHANGEEXP 等命令。

- 新合击:HeroSkill.DB 加主职+副职→合击MagID映射,Magic.DB 里合击技伤害公式独立一段,客户端补合击特效 wil。
• 新BUFF/状态:Magic.DB 里设 BuffType,QFunction 用 AddBuff 命令挂,配合 RobotManage.txt 做持续时间扣血扣蓝。

- 新货币:GlobalVal 或自定义变量做“荣誉点”“帮贡”,NPC用 CHECKVAR 判余额 TAKE/ADD 变动。
• 新任务线:QuestDiary 建目录写 [@main] 对话树,GOTO 分段发奖,机器人 AutoRunRobot.txt 定时发全服任务。

改完一类就重载对应模块(QF/QM/NPC/商铺/DB用 @ReloadItemDb @ReloadMagicDb 或M2菜单),别一次性全改完再起服,报错定位不到哪行。客户端不显图先查 wil 索引除以1200的 Shape 值对不对,再查登录器是否带了版本补丁。