传奇门派系统入门脚本标注只能hero引擎使用,通常是因为原脚本调用了hero专有判断、变量或属性命令。拿到脚本先不急着全服放,按引擎类型拆开看哪些命令可保留、哪些必须重写。
hero引擎门派脚本基础结构
门派NPC放在MirServer\Mir200\Envir\Market_Def,文件名按“门派大使-3.txt”这类格式,数字为地图编号。NPC是否在地图显示,还要在刷新配置里写地图号、坐标、NPC编号;hero可在NpcTalk相关配置绑定对话,修改后通过M2控制台重新加载NpcTalk脚本即可生效。
入门逻辑一般分三段:
1. 判断有无门派
hero可用Check[门派]""检测空值,用Check[门派]某某派检测已入派。若原脚本写Check[变量名],基本就是hero语法,换引擎要改条件命令。
2. 入派发属性
hero常用SET[门派]派名、USEBONUSPOINT给附加点,配合CALCVARHUMAN写个人变量,SAVEVARHUMAN落盘到QuestDiary子目录dat文件。防重复加属性可用个人变量标记,例如首次入派置1,再次判断变量为0才发奖。
3. 通知和查询
SENDMSG发系统提示,OPENMERCHANTBIG或普通对话做门派面板。若原脚本用OpenBigDialogBox大对话框,迁到GOM/GEE要改成OPENMERCHANTBIGDLG并补WIL序号、图片序号、坐标等参数。
hero专属点排查清单
打开脚本全文搜这些特征,命中越多越难直接挪到其他引擎:
• Check[xxx]、Set[xxx]、CalVarHuman、SaveVarHuman、LoadVarHuman
• USEBONUSPOINTxx+n 直接调附加属性点
• HeroM2机器人目录Robot专属假人/定时逻辑
• 大对话框OpenBigDialogBox、某些hero封装命令
• 脚本里引用QuestDiary相对路径 .\ 或 ..\ 混合,且依赖hero目录规范
只用了GIVE、TAKE、SENDMSG、SET、CHECKLEVEL、CHECKITEM、GOTO、#IF/#ACT/#SAY,理论上不算hero独占,可往其他引擎改;但变量名、标签格式、路径仍要重调。
迁GOM/GEE思路
GOM/GEE条件常写成#IF CheckVarHuman或CheckItem,不按hero的Check[xxx]裸写。路径上GOM/GEE很多QuestDiary引用要把hero的 .\ 改成 ..\,否则报找不到文件。大对话框替换成OPENMERCHANTBIGDLG;输入框若原hero用@@InPutString1这类,GOM/GEE常改为@InPutString1并按引擎文档取变量。个人变量如在QManage登录段未声明,GOM可能不生效,需要在[@Login]做初始化。
迁LEGEND思路
LEGEND常用[@MAIN]、#CALL结构,hero的(@main)小写标签要改大写中括号标签;跳转若原hero写goto@标签,LEGEND按自身#ACT goto规则处理。物品、技能名回Data里的Item.txt、Skill.txt对齐,门派奖励用LEGEND支持的条件命令重写,不要保留Check[门派]这种hero式判断。
迁3K思路
3K输入框与原hero差异明显,hero用@@InPutString存INPUTSTR,3K部分版本用@@InPutString93存S变量,全局变量作用域也不同;简单门派起名、入派记录可重做,复杂用S变量暂存再写库。在线检测、GOTO大小写、变量范围都要按3K手册对照,直接抄hero脚本会无响应。
迁BLUE思路
BLUE脚本目录和hero不同,NPC可走Envir\Script\NpcScript集中管理,也可按blue版本放对应脚本目录。hero的QuestDiary多子目录、Robot假人、专用大对话框在BLUE不一定有对应模块;门派只做入派、发奖、记录、查询可重画,若原系统依赖hero假人自动跑门派任务,换BLUE要另写机器人或定时脚本。
入门脚本最小可运行改法(不挑引擎的原则)
把“门派”抽象成三个数据:门派名、入派条件、入派奖励。
NPC对话只做:
• 检测角色是否已记录门派名
• 未入派且满足条件则写记录、扣资源、发经验/金币/物品/基础属性
• 已入派则展示门派信息和每日任务入口
• 用登录触发初始化门派变量,用退出/换派逻辑清旧记录
属性奖励别硬绑USEBONUSPOINT,如果目标引擎不支持,就用该引擎的附加属性命令或写数据库字段,由M2属性模块读取。这样同一套玩法可复用到GOM/GEE/LEGEND/BLUE,只是命令名不同。
排错顺序
先开M2看脚本加载日志,报路径错误查QuestDiary/Market_Def相对路径;报命令未知就搜该命令是否属于hero专有;NPC不说话查编号、地图刷新、NpcTalk加载;入派后无属性查变量作用域和属性命令返回值;换引擎后大对话框空白查OPENMERCHANTBIGDLG参数和WIL补丁。每次只改一类命令,重新加载后进游戏点NPC验证,避免多处同时改导致分不清哪行出错。
门派系统要不要继续用hero,看原脚本深度:只做入派发奖可任意换引擎重写;若用了hero变量落盘、Robot假人、USEBONUSPOINT批量调点、专有大对话框,保留hero最省事,换引擎按上面分模块重做更稳。
传奇门派系统入门脚本hero引擎限制原因及其他引擎改法
来源:
作者:
点击:

