当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

HERO引擎传奇问题汇总与对应修法

热度:
脚本不生效
M2里“选项-功能设置-脚本设置”没勾启用QFunction/物品触发/脱装触发,脚本写得再对也不跑。
QFunction-0.txt放错目录:HERO里一般放Mir200\Envir\QuestDiary\,不是Market_Def,也不是Envir根目录。
编码用UTF-8或带BOM,HERO老版本只吃ANSI/GBK,[@main]被BOM头吃掉,NPC点开空白。
Main.txt里没#INCLUDEQFunction-0.txt,主脚本不加载子脚本。
物品不触发:StdItems.DB里StdMode错,回城卷不是2、金条不是18,Anicount和[@StdModeFuncxxx]对不上。
改完别只点保存,QManage/QFunction改完最稳关M2重启;HERO有“刷新NPC脚本缓存/刷新功能脚本缓存”就先刷缓存。
日志看Mir200\Log\M2Server-日期.log、ScriptError.log,格式是文件名Line行号:Unknowncommand/Syntaxerror,Notepad++按Ctrl+G跳行改。

NPC点不开
MerChant.txt里地图号、坐标、脚本名对不上。
Market_Def里没这个NPC文件,或文件里[@main]下面没#ACT#SAY。
NPC坐标在墙里/地图没加载,进了图也点不到。
文件名大小写:QFunction-0.TXT和QFunction-0.txt在某些系统不是同一个。
客户端Data/Magic.wzl/StateHead.wzl补丁没打,NPC形象空着,点了像没反应。

怪物不攻击/不追人
Monster.DB的Race/RaceImg错:鸡鹿是被动,主动怪RaceImg填0就变木头人(沃玛战士类19、祖玛卫士类47这种按库里同类型抄)。
M2-参数设置-怪物设置:“怪物主动攻击”没开,视野0,反应时间写成几万毫秒。
MonGen.txt刷怪坐标在阻挡层,怪刷出来卡墙角,像不攻击。
AIMap.txt丢了/坏了,怪物寻路失效。
地图是安全区/禁战图,怪被地图参数压住。
自己GM隐身/管理员权限,怪不咬管理号,建普通号再测。

攻速不生效
!setup.txt里AttackSpeedLimit=5、AttackSpeedLimitLevel=33,低等级攻速被压死,改AttackSpeedLimit=100、AttackSpeedLimitLevel=0。
LevelGrowth.DB里AttackSpeedMax把某等级前攻速上限卡成5。
QFunction-0.txt里CHECKLEVELEX<34就清/限制攻速,条件写反。
武器DB的AttackSpeed字段方向反了:数值小才快,升级加错成更大=更慢。
M2战斗参数攻击延迟300ms、移动延迟200ms正常,设成2000就像没攻速。
封挂/网关限速没关,服务端出了刀客户端被丢包,体感空刀。

英雄/合击放不出
M2功能设置里“允许召唤英雄/开启合击”没勾,GameConfig.txt里OpenHeroHeth=0要改1。
英雄在“休息”状态,Ctrl+E切攻击/跟随。
怒气没满、火龙之心没戴在英雄装备位、主号或英雄蓝不够,合击键按死也没用。
HeroDB里HumHero表结构坏掉,英雄召出来属性全0,用引擎自带数据库修复工具重建。
合击技能文件在Mir200\Envir\Skill\里参数坏了(冷却-1、蓝耗几万),技能学了也放不出。
地图禁战/安全区,合击属于攻击行为直接被拦。

任务卡流程
ISACCEPT/COMPLETEQUEST没配对,接了没记、完了没结。
进度变量用中文名、空格名,<$HUMAN(任务1)>存不进去。
杀怪回调里怪物名和MonGen/MonItems不一致,计数永远不满。
IF后没条件直接#ACT,HERO有的版本整段跳过。

任务NPC没#CALL到QuestDiary\任务\xxx.txt,点NPC只说欢迎。
客户端没任务栏UI插件,服务端发完了左边也不弹分类页。

装备属性不显示/乱码
StdItems.DB的Looks图标编号在客户端Data里没有对应wzl帧。
登录器和引擎不配套,属性字段新引擎有、老客户端不画。
绑定/极品字段错,发出来持久0、重量0、名字空。
装备升级脚本@SuperMake把“攻速”加成写进“防御”字段,面板当然没攻速。

登录/数据异常
账号库里没这号,或HERO配MD5但库里是明文密码。
DBServer没起,LoginSrv能进但选角色后卡死。
自动保存关了,掉线不写盘,再上物品/金币回退。
HeroDB权限不够,引擎读不了Accounts/Chars/HumData。

网关/进游戏卡顿
7000/7100/7200端口被占用,netstat-ano查完改网关配置。
单机填127.0.0.1,外网填公网IP,引擎/网关/登录器列表三处不一致就一直“服务器维护中”。
CenterServer没起,跨服/多线数据不同步。
Redis/缓存异常、在线人数超机器负载,M2报内存溢出、玩家瞬退。

CALL/#GOTO跳转失效

CALL路径写中文、双斜杠、中括号乱加;HERO是#CALL路径\文件@标签或按自己版本手册来。

GOTO@xxx但文件里没[@xxx],M2报GOTO@xxx不存在。
ScriptGotoCountLimit默认小,复杂菜单多层跳转被截,死循环改CALL拆分。
Linux跑HERO区分大小写,Market_Def和market_def两回事。

HERO专属坑
HERO用lua的地方Human:XXX()首字母大写别抄成human:xxx()。
HERO物品触发看Anicount+StdMode,不是光写[@UseItem]就灵。
老HERO不支持新GOM命令(MapMoveToPlayer、ChangeModeEx等),照抄必Unknowncommand。
脚本加密验证开了,没加密的QFunction-0.txt直接不执行,关“强制验证脚本加密”。

排错顺序(HERO专用)
1.M2日志先读红字:文件名+行号+命令名
2.看文件在不在对目录:Market_Def/QuestDiary/MapQuest_def别混
3.编码转ANSI,去BOM,去全角标点,去行尾空格
4.M2里脚本开关全勾:QFunction、QM、物品触发、脱装触发
5.数据库对齐:StdItems/Monster/Magic/HeroDB名字一字不差
6.最小测试:NPC里写#SAY你好,能出字=加载链通;不出=路径/编码/开关
7.攻速/合击/英雄再查M2参数和HeroDB,不全信脚本
8.改QManage/QFunction/MonGen/MapInfo后,不确定就关M2重启,别跟缓存赌命

HERO引擎的问题90%不是“命令不会写”,是开关没开、编码坏了、路径放错、数据库名对不上、合击/英雄功能在M2里没勾。先把M2参数、HeroDB、ANSI编码、QuestDiary路径这四件事坐实,再谈写复杂脚本。
[顶部]