传奇服务端的脚本不靠双击运行,全部由M2Server.exe(引擎主程序)在启动和运行中按事件调用。英雄脚本位置随引擎版本不同有差异,但都钉在Mir200\Envir底下,普通玩家脚本和英雄脚本是两套目录,混放不生效。
一、英雄脚本在各引擎的真实存放点
GOM引擎:英雄合击与行为脚本多在Mir200\Envir\QuestDiary\Hero或Mir200\Envir\Hero下,文件如HeroMain.txt、HeroSkill.txt、HeroAttr.txt;英雄合击触发段也可能写在Envir\MapQuest_def里以HeroHj、HeroTask开头的文件。
GEE引擎:独立目录Mir200\Envir\HeroScript,核心文件HeroControl.txt、HeroLevel.txt、HeroCall.txt;技能与控制也可能直接放Envir根目录如HeroSkill.txt、HeroFollow.txt,合击机器人段在Envir\Robot_def\HeroHjRobot.txt。
HERO引擎:英雄NPC与指令脚本集中在Mir200\Envir\Market_Def(如英雄导师-3.txt),行为触发在QFunction-0.txt([@HeroDeath]、[@HeroLevelUp]、[@HeroAttack]、[@HeroMagTagFuncX]),登录加载在MapQuest_def\QManage.txt的[@Login]段。
部分端另立Mir200\Envir\HeroQuestDiary、HeroMarket_def、HeroNpc_def做完全隔离,并在Envir\Hero.ini或Hero.txt里写HeroEnable=1/HERO_ENABLE=1才加载。
二、普通脚本与英雄脚本的目录边界
玩家功能脚本:Envir\QuestDiary(任务/功能)、Envir\Market_Def(NPC对话)、Envir\MapQuest_def(地图触发QManage/QFunction)、Envir\Robot_def(定时机器人)。
英雄脚本:必须进带Hero标识的平行目录(QuestDiary\Hero、HeroScript、HeroQuestDiary等),把英雄逻辑写进普通QuestDiary不会被识别。
NPC脚本本体在Market_Def\地图名\NPC名-编号.txt,Merchant.txt只登记NPC坐标与脚本名,不写逻辑。
三、脚本在哪“运行”、怎么被调用
启动加载:开引擎控制器→启动LoginSrv/DBSrv/GameSrv/M2Server,M2Server.exe读Config下的M2Server.ini、Setup.txt,扫Envir各目录把txt编译进内存,HeroEnable开关决定英雄脚本是否进调用表。
事件触发:玩家点英雄导师NPC→引擎读Market_Def对应txt的#IF/#ACT段;英雄升级/死亡/攻击→QFunction-0.txt里[@HeroLevelUp]等标签被实时调用;合击怒满按Ctrl+S→Robot_def或HeroHj段算伤害;登录建英雄→QManage.txt[@Login]初始化。
定时脚本:Robot_def\RobotManage.txt配执行间隔,自动喝药、自动练功、合击机器人走这块,不是独立程序。
数据库配合:英雄等级/技能/属性存HeroDB(DBC2000管),脚本只做逻辑跳转和变量读写,改DB结构要重启M2,改txt逻辑热重载即可。
四、改完脚本怎么让它生效
QuestDiary或Hero下功能脚本改完:M2控制台“控制→重新加载→重新加载脚本”或命令行.reloadscript/reloadquest。
NPC脚本改完:控制台“重新加载所有NPC”或reloadnpc。
QFunction/QManage改完:reloadqf/重新加载QF,涉及登录逻辑建议重启M2。
Robot_def改完:重新加载机器人脚本。
路径搬过家:在Setup.txt查HeroScriptPath字段同步新路径,否则引擎按旧路径扫不到。
编码用ANSI/GBK,记事本别存UTF-8BOM,中文变乱码直接断解析。
五、找不准位置时的定位法
服务端根目录搜“Hero”关键词,把Hero.ini、HeroScript文件夹、HeroSkill.txt、QFunction-0.txt里[@Hero开头标签抓出来对照。
开M2看启动日志,会打印“加载英雄脚本:Mir200\Envir\HeroScript\HeroControl.txt”这类行,路径直接告诉你。
引擎控制器“脚本设置”页有英雄脚本默认路径按钮,点“打开目录”跳的就是本服真实位置。
英雄脚本不在exe同级、不在客户端、不在DB文件夹,只在Mir200\Envir内部;脚本本身不会“自己跑”,是M2Server在玩家操作、战斗计算、定时节拍里按标签调它,HeroEnable没开或放错普通QuestDiary目录,改一万次也不生效。
一、英雄脚本在各引擎的真实存放点
GOM引擎:英雄合击与行为脚本多在Mir200\Envir\QuestDiary\Hero或Mir200\Envir\Hero下,文件如HeroMain.txt、HeroSkill.txt、HeroAttr.txt;英雄合击触发段也可能写在Envir\MapQuest_def里以HeroHj、HeroTask开头的文件。
GEE引擎:独立目录Mir200\Envir\HeroScript,核心文件HeroControl.txt、HeroLevel.txt、HeroCall.txt;技能与控制也可能直接放Envir根目录如HeroSkill.txt、HeroFollow.txt,合击机器人段在Envir\Robot_def\HeroHjRobot.txt。
HERO引擎:英雄NPC与指令脚本集中在Mir200\Envir\Market_Def(如英雄导师-3.txt),行为触发在QFunction-0.txt([@HeroDeath]、[@HeroLevelUp]、[@HeroAttack]、[@HeroMagTagFuncX]),登录加载在MapQuest_def\QManage.txt的[@Login]段。
部分端另立Mir200\Envir\HeroQuestDiary、HeroMarket_def、HeroNpc_def做完全隔离,并在Envir\Hero.ini或Hero.txt里写HeroEnable=1/HERO_ENABLE=1才加载。
二、普通脚本与英雄脚本的目录边界
玩家功能脚本:Envir\QuestDiary(任务/功能)、Envir\Market_Def(NPC对话)、Envir\MapQuest_def(地图触发QManage/QFunction)、Envir\Robot_def(定时机器人)。
英雄脚本:必须进带Hero标识的平行目录(QuestDiary\Hero、HeroScript、HeroQuestDiary等),把英雄逻辑写进普通QuestDiary不会被识别。
NPC脚本本体在Market_Def\地图名\NPC名-编号.txt,Merchant.txt只登记NPC坐标与脚本名,不写逻辑。
三、脚本在哪“运行”、怎么被调用
启动加载:开引擎控制器→启动LoginSrv/DBSrv/GameSrv/M2Server,M2Server.exe读Config下的M2Server.ini、Setup.txt,扫Envir各目录把txt编译进内存,HeroEnable开关决定英雄脚本是否进调用表。
事件触发:玩家点英雄导师NPC→引擎读Market_Def对应txt的#IF/#ACT段;英雄升级/死亡/攻击→QFunction-0.txt里[@HeroLevelUp]等标签被实时调用;合击怒满按Ctrl+S→Robot_def或HeroHj段算伤害;登录建英雄→QManage.txt[@Login]初始化。
定时脚本:Robot_def\RobotManage.txt配执行间隔,自动喝药、自动练功、合击机器人走这块,不是独立程序。
数据库配合:英雄等级/技能/属性存HeroDB(DBC2000管),脚本只做逻辑跳转和变量读写,改DB结构要重启M2,改txt逻辑热重载即可。
四、改完脚本怎么让它生效
QuestDiary或Hero下功能脚本改完:M2控制台“控制→重新加载→重新加载脚本”或命令行.reloadscript/reloadquest。
NPC脚本改完:控制台“重新加载所有NPC”或reloadnpc。
QFunction/QManage改完:reloadqf/重新加载QF,涉及登录逻辑建议重启M2。
Robot_def改完:重新加载机器人脚本。
路径搬过家:在Setup.txt查HeroScriptPath字段同步新路径,否则引擎按旧路径扫不到。
编码用ANSI/GBK,记事本别存UTF-8BOM,中文变乱码直接断解析。
五、找不准位置时的定位法
服务端根目录搜“Hero”关键词,把Hero.ini、HeroScript文件夹、HeroSkill.txt、QFunction-0.txt里[@Hero开头标签抓出来对照。
开M2看启动日志,会打印“加载英雄脚本:Mir200\Envir\HeroScript\HeroControl.txt”这类行,路径直接告诉你。
引擎控制器“脚本设置”页有英雄脚本默认路径按钮,点“打开目录”跳的就是本服真实位置。
英雄脚本不在exe同级、不在客户端、不在DB文件夹,只在Mir200\Envir内部;脚本本身不会“自己跑”,是M2Server在玩家操作、战斗计算、定时节拍里按标签调它,HeroEnable没开或放错普通QuestDiary目录,改一万次也不生效。

