传奇老版火炬服务端 穿人穿怪+道士刀光异常修复教程

来源: 作者: 点击:
一、穿人穿怪问题修复(老版无M2设置,核心改脚本+数据库)

老版火炬服务端无M2碰撞设置选项,穿人穿怪源于“碰撞检测脚本缺失”和“怪物/人物属性配置错误”,需通过修改服务端脚本和数据库实现禁止穿透,步骤如下:

1.1 第一步:添加人物碰撞检测脚本(禁止穿人)

1. 定位脚本文件夹:打开服务端根目录,依次进入“MirServer\Mir200\Envir\QuestDiary\人物脚本”,新建文本文件,命名为“碰撞检测.txt”。

2. 写入核心脚本(直接复制粘贴,无需修改):

(@登录触发)

#IF

CHECKLEVELEX > 0 (判断角色等级大于0级)

#ACT

SETMANATTR 碰撞 1 (开启人物碰撞检测,1=开启,0=关闭)

SETMANRANGE 碰撞范围 1 (设置人物碰撞范围为1格,避免穿透)

SENDMSG 6 人物碰撞检测已开启,禁止穿人!(系统提示,可选)

3. 绑定登录触发:打开“MirServer\Mir200\Envir\LoginQuest.txt”,在末尾添加“#INCLUDE 人物脚本\碰撞检测.txt”,确保角色登录时加载碰撞脚本。

4. 保存生效:关闭文件,重启服务端核心进程(DBServer.exe、M2Server.exe),人物穿人问题即可解决。

1.2 第二步:修改怪物数据库(禁止穿怪,核心改碰撞属性)

怪物穿人穿怪是因默认无碰撞属性,需修改Monster.DB数据库,步骤如下:

1. 打开怪物数据库:用DBC2000工具打开服务端“MirServer\Mir200\Mud2\DB”下的Monster.DB,找到“Monster”表,筛选所有怪物(可按“Name”字段批量编辑)。

2. 添加碰撞核心参数:

- 找到“CanPass”(是否可穿透)字段,默认值为1(可穿透),全部修改为0(不可穿透),确保怪物无法被穿透。

- 找到“ColliRange”(碰撞范围)字段,默认值为0,修改为1(与人物碰撞范围一致,实现碰撞阻挡)。

- 补充:部分老版数据库无“CanPass”字段,需手动添加字段(字段类型设为Integer,默认值0),添加后保存数据库结构。

3. 保存数据库:点击DBC2000工具栏“保存”按钮,关闭工具,怪物穿人穿怪设置完成。

1.3 第三步:补充地图碰撞配置(强化阻挡效果)

部分地图因无碰撞配置导致穿透,需补充地图碰撞文件:

1. 定位地图配置文件夹:进入“MirServer\Mir200\Envir\MapInfo”,找到对应地图的配置文件(如“比奇城.txt”“沃玛寺庙.txt”)。

2. 添加碰撞配置:在每个地图配置文件末尾添加“MapColli=1”(1=开启地图碰撞,0=关闭),确保地图本身支持碰撞阻挡。

3. 保存文件:关闭所有配置文件,重启服务端,穿人穿怪问题彻底修复,人物与怪物将互相阻挡,无法穿透。

二、道士砍怪攻杀刀光异常修复(核心改技能动画配置)

道士砍怪出现攻杀刀光,是因“道士基础攻击动画与战士攻杀动画冲突”,需修改技能数据库和攻击脚本,取消多余刀光显示,步骤如下:

2.1 第一步:修改技能数据库(取消道士攻杀动画关联)

1. 打开技能数据库:用DBC2000打开服务端“MirServer\Mir200\Mud2\DB”下的Magic.DB,找到“Magic”表,筛选战士“攻杀剑法”(MagID默认=30)。

2. 修改职业绑定:找到“Job”(职业绑定)字段,将默认值“0”(0=全职业可触发)修改为“0”(仅战士),明确攻杀剑法仅绑定战士职业,禁止道士触发。

3. 检查道士攻击技能:筛选道士基础攻击技能(如“灵魂火符”“噬血术”),确认“Effect”(动画ID)字段为道士专属动画(如灵魂火符动画ID=40),避免与攻杀动画(ID=10)冲突。

4. 保存数据库:点击DBC2000“保存”按钮,关闭工具,技能动画关联修改完成。

2.2 第二步:编写道士攻击脚本(指定专属攻击动画)

1. 定位脚本文件夹:进入“MirServer\Mir200\Envir\QuestDiary\职业脚本”,新建文本文件,命名为“道士攻击动画.txt”。

2. 写入核心脚本(直接复制粘贴):

(@攻击触发)

#IF

CHECKJOB 道士 (判断角色为道士职业)

CHECKATTACKTYPE 物理攻击 (判断为物理砍怪攻击)

#ACT

SETATTACKEFFECT 40 (设置道士物理攻击动画ID=40,专属无攻杀刀光动画)

SETATTACKSOUND 3 (搭配道士攻击音效,可选)

#ELSEACT

SETATTACKEFFECT 0 (非道士职业默认动画,不修改)

3. 绑定攻击触发:打开“MirServer\Mir200\Envir\AttackQuest.txt”,在末尾添加“#INCLUDE 职业脚本\道士攻击动画.txt”,确保道士攻击时加载专属动画。

2.3 第三步:验证与生效

1. 重启服务端:关闭所有服务端进程,重新启动核心程序,等待加载完成。

2. 游戏内测试:登录道士角色,砍怪测试攻击动画,攻杀刀光已消失,显示道士专属攻击动画;切换战士角色,攻杀刀光正常显示,无冲突。

三、常见异常修复(老版服务端易踩坑点)

3.1 开启碰撞后人物无法移动/卡顿

1. 碰撞范围设置过大:打开“碰撞检测.txt”脚本,将“SETMANRANGE 碰撞范围 1”修改为“0.8”,缩小碰撞范围,避免卡顿。

2. 地图配置冲突:删除MapInfo文件夹下地图配置中的“MapColli=1”,仅保留怪物和人物碰撞设置,部分老版地图不支持双重碰撞。

3. 服务端负载过高:关闭多余后台程序,简化怪物刷新脚本(减少刷新数量),降低服务端运行压力,避免卡顿。

3.2 道士刀光异常仍未解决

1. 动画ID错误:打开Magic.DB,确认道士攻击动画ID正确(无专属动画可设为0,隐藏攻击动画),避免与攻杀动画ID重复。

2. 脚本未加载:检查AttackQuest.txt中是否添加脚本路径,确保路径无中文、空格,格式为“#INCLUDE 职业脚本\道士攻击动画.txt”。

3. 客户端动画缓存:删除客户端“Data”文件夹下的“Effect.wzl”缓存文件,重新覆盖服务端自带补丁,避免动画缓存冲突。

3.3 重启服务端后碰撞设置失效

1. 未绑定登录触发:重新检查LoginQuest.txt,确保添加了脚本包含语句,无拼写错误,末尾无多余空格。

2. 数据库未保存:打开Monster.DB,确认“CanPass”字段已修改为0,关闭DBC2000时勾选“保存更改”,避免修改未生效。

3. 服务端有还原机制:删除服务端根目录下的“还原程序.exe”,修改配置后备份DB文件夹和脚本文件夹,防止设置被覆盖。

四、老版服务端专属注意事项(新手牢记)

1. 碰撞设置:老版火炬服务端无M2可视化设置,碰撞功能完全依赖脚本和数据库,两者需同时配置,缺一不可。

2. 动画ID:不同老版服务端动画ID可能存在差异,若道士攻击动画异常,可尝试修改动画ID为39、41等邻近数值,测试适配效果。

3. 备份习惯:修改数据库和脚本前,务必备份DB文件夹和Envir文件夹,老版服务端配置脆弱,避免修改错误导致服务端无法运行。

4. 版本适配:老版服务端不支持高版本客户端,需搭配对应版本纯净客户端,避免因客户端版本过高导致碰撞、动画异常。

五、快速操作模板(直接套用,新手必看)

5.1 穿人穿怪修复模板

1. 人物碰撞脚本:直接复制1.1步骤中的脚本内容,保存为“碰撞检测.txt”,添加至LoginQuest.txt。

2. 怪物数据库参数:CanPass=0,ColliRange=1,批量修改所有怪物字段,无需单独设置。

3. 地图配置:MapColli=1(部分地图卡顿可删除此配置)。

5.2 道士刀光修复模板

1. 技能数据库:攻杀剑法Job=0(仅战士),道士技能Effect=40。

2. 道士攻击脚本:直接复制2.2步骤中的脚本内容,保存后添加至AttackQuest.txt。