一、传奇脚本核心文件格式与分类
传奇脚本核心格式为纯文本格式,后缀以.txt为主,部分引擎支持.cfg配置格式,无复杂二进制编码,可通过普通文本编辑器直接打开编辑。按功能场景可分为脚本文件、配置文件两类,格式规范随引擎差异略有调整,但核心结构一致。
所有脚本文件均需遵循“指令+参数”的基础格式,一行对应一条核心逻辑,特殊符号用于区分条件、执行动作与对话内容,格式错误会导致脚本无法执行或逻辑紊乱。
二、主流引擎脚本格式规范(分引擎详解)
1.GOM/GEE引擎(主流版本适配)
(1)核心文件格式
脚本文件统一为.txt后缀,存储于Mir200\Envir\market_def、Mir200\Envir\MapQuest_def目录,核心文件包括QFunction-0.txt(全局功能脚本)、NpcDialog.txt(NPC对话脚本)、QuestDiary.txt(任务脚本)。配置文件为.cfg后缀,用于引擎参数预设,无需手动编辑。
(2)脚本内容格式
基础结构分为条件段(#IF)、执行段(#ACT)、对话段(#SAY)、否则执行段(#ELSEACT),指令与参数用空格分隔,大小写不敏感,示例格式:
[NPC编号]//绑定NPC的标识,需与数据库一致
#IF//条件判断开始
CHECKITEM道具名称数量//条件1:持有指定道具及数量
CHECKLEVEL等级值//条件2:角色等级达标
#ACT//条件满足时执行动作
TAKE道具名称数量//扣除道具
GIVE奖励道具数量//发放奖励
SENDMSG5提示内容//发送系统提示
#SAY//对话内容展示
对话文本/SCOLOR=颜色编号//颜色编号控制文字颜色
<功能选项/@指令名称>//绑定功能指令
#ELSEACT//条件不满足时执行
SENDMSG5条件不满足提示//错误提示
Break//终止脚本执行
补充规范:注释用//标注,仅在单行生效;颜色编号范围0-255,常用253(红色)、254(蓝色);指令需完整书写,不可缩写,如TAKE不可写为TK。
2.HEROM2引擎(传统经典版本)
(1)核心文件格式
脚本文件同样为.txt后缀,路径与GOM引擎相近,核心文件为AutoPlay.txt(全局交互脚本)、NpcTalk.txt(NPC对话脚本)、MapQuest.txt(地图触发脚本)。部分老旧版本会将配置与脚本整合,无单独.cfg文件。
(2)脚本内容格式
结构与GOM引擎一致,仅部分指令格式有差异,支持简化条件写法,示例格式:
NPC编号NPC名称//头部直接标注NPC信息,无需中括号
#SAY
欢迎光临!/SCOLOR=254
<购买物品/@Buy><出售物品/@Sell>
(@Buy)
#IF
CHECKLEVEL>10
#ACT
OPENMERCHANT商店编号
#ELSEACT
SENDMSG5等级不足10级,无法购买!
Break
补充规范:HEROM2引擎支持多条件合并书写,用“AND”连接,如CHECKLEVEL>10ANDCHECKJOB0;对话文本不可换行,需在同一行内完成,换行需用特殊符号分隔。
3.BLUE引擎(特色版本适配)
(1)核心文件格式
脚本文件统一存储于Mirserver\BLUE\Envir\Script目录,后缀为.txt,核心文件为NpcScript.txt(整合NPC对话与功能)、ChatScript.txt(聊天控制脚本),无分散文件,格式更简洁。
(2)脚本内容格式
支持整合式写法,将NPC基础信息、对话、功能逻辑合并于同一脚本块,示例格式:
NPC_编号名称地图编号X坐标Y坐标数量//基础信息一行完成
#SAY
功能说明文本/SCOLOR=253
<功能触发/@Cmd>
#IF
CHECKVAR变量名数值//变量条件校验
#ACT
LEVEL+1//等级提升指令,格式更简化
SENDMSG5操作成功提示
SET变量名数值//变量赋值
Break
补充规范:BLUE引擎支持等级、属性等指令简化写法,如LEVEL+1、ATT+2;变量无需提前定义,直接赋值即可使用,全局变量与个人变量用不同前缀区分。
三、脚本文件属性与编码格式要求
1.编码格式规范
所有传奇脚本均需采用ANSI编码格式,部分版本支持GBK编码,禁止使用UTF-8编码(会导致脚本乱码、指令失效)。用Notepad++编辑时,可通过“格式”选项切换编码,保存前需确认编码正确。
补充说明:若脚本导入后出现乱码,多为编码格式错误,重新转换为ANSI编码并保存,重新加载脚本即可恢复正常。
2.文件命名与路径规范
(1)命名规范:文件名仅支持字母、数字、下划线,禁止使用中文、特殊符号(如@、#、&),核心脚本文件名不可修改(如QFunction-0.txt、NpcDialog.txt),自定义脚本可按“功能-名称.txt”命名(如Task-Main.txt)。
(2)路径规范:脚本文件需放置于对应引擎指定目录,不可随意更改路径,否则引擎无法读取。路径中不可包含中文文件夹,建议保留默认服务端目录结构(如Mirserver\Mir200\Envir)。
3.脚本注释格式
(1)单行注释:用//标注,注释内容需在//后,仅对当前行生效,示例://这是单行注释,不影响脚本执行。
(2)多行注释:部分引擎支持/**/标注多行注释,示例:/*这是多行注释,可跨越多行,适用于批量说明脚本功能*/,但HEROM2引擎不支持此格式,需用单行注释替代。
注意:注释不可插入指令中间,否则会导致指令断裂,脚本执行异常。
四、特殊脚本格式说明
1.定时器脚本格式
用于设置定时触发逻辑,格式统一为“[@OnTimer编号]”,绑定对应定时器指令,示例(GOM引擎):
[@OnTimer7]//绑定7号定时器
#IF
CHECKMAP地图编号//仅指定地图触发
#ACT
SENDMSG0定时提示内容//发送全服提示
DEC变量名1//变量递减
#IF
EQUAL变量名0
SETOffTimer7//关闭定时器
Break
2.地图触发脚本格式
绑定地图事件(如进入地图、离开地图),格式以“[@MapEvent事件名]”开头,示例:
[@MapEventEnter]//进入地图触发
#ACT
SENDMSG5欢迎进入指定地图!
SET变量名1//标记进入状态
Break
3.物品触发脚本格式
绑定物品使用、拾取事件,格式以“[@StdModeFunc编号]”开头,编号对应物品数据库ANICount字段,示例:
[@StdModeFunc1]//对应物品ANICount=1
#IF
CHECKITEM物品名称1
#ACT
TAKE物品名称1
GIVE奖励物品1
SENDMSG5物品使用成功!
Break
五、脚本格式常见错误与规避
1.格式错误类型及影响
(1)指令拼写错误:如将TAKE写为TAK,导致道具扣除失败,脚本执行中断。规避:对照引擎指令手册书写,批量复制通用指令。
(2)编码格式错误:UTF-8编码导致脚本乱码,引擎无法识别指令。规避:编辑后确认编码为ANSI,保存时勾选“保持编码格式”。
(3)结构缺失错误:缺少#IF、#ACT等核心标识,导致逻辑混乱。规避:按“条件-执行-对话”结构书写,每段逻辑完整闭合。
(4)路径/命名错误:文件名含中文、路径更改,导致引擎无法读取。规避:严格遵循命名与路径规范,不随意修改默认设置。
2.格式校验技巧
(1)逐行核对:编写完成后逐行检查指令格式、参数数量,确保无拼写、遗漏错误。
(2)分段测试:将脚本分段加载测试,定位格式错误段落,避免整体脚本失效。
(3)参考模板:以对应引擎默认脚本为模板,复制基础格式后修改内容,降低格式错误概率。
六、总结
传奇脚本核心为ANSI编码的.txt纯文本格式,结构遵循“条件-执行-对话”逻辑,不同引擎在指令写法、文件整合上略有差异,但基础格式与属性规范一致。关键在于遵循对应引擎的格式要求,确保编码正确、路径规范、指令完整,规避拼写、结构缺失等常见错误。掌握脚本格式规范后,可灵活编写NPC对话、任务触发、定时事件等各类功能逻辑,适配不同版本传奇的玩法需求。
传奇脚本核心格式为纯文本格式,后缀以.txt为主,部分引擎支持.cfg配置格式,无复杂二进制编码,可通过普通文本编辑器直接打开编辑。按功能场景可分为脚本文件、配置文件两类,格式规范随引擎差异略有调整,但核心结构一致。
所有脚本文件均需遵循“指令+参数”的基础格式,一行对应一条核心逻辑,特殊符号用于区分条件、执行动作与对话内容,格式错误会导致脚本无法执行或逻辑紊乱。
二、主流引擎脚本格式规范(分引擎详解)
1.GOM/GEE引擎(主流版本适配)
(1)核心文件格式
脚本文件统一为.txt后缀,存储于Mir200\Envir\market_def、Mir200\Envir\MapQuest_def目录,核心文件包括QFunction-0.txt(全局功能脚本)、NpcDialog.txt(NPC对话脚本)、QuestDiary.txt(任务脚本)。配置文件为.cfg后缀,用于引擎参数预设,无需手动编辑。
(2)脚本内容格式
基础结构分为条件段(#IF)、执行段(#ACT)、对话段(#SAY)、否则执行段(#ELSEACT),指令与参数用空格分隔,大小写不敏感,示例格式:
[NPC编号]//绑定NPC的标识,需与数据库一致
#IF//条件判断开始
CHECKITEM道具名称数量//条件1:持有指定道具及数量
CHECKLEVEL等级值//条件2:角色等级达标
#ACT//条件满足时执行动作
TAKE道具名称数量//扣除道具
GIVE奖励道具数量//发放奖励
SENDMSG5提示内容//发送系统提示
#SAY//对话内容展示
对话文本/SCOLOR=颜色编号//颜色编号控制文字颜色
<功能选项/@指令名称>//绑定功能指令
#ELSEACT//条件不满足时执行
SENDMSG5条件不满足提示//错误提示
Break//终止脚本执行
补充规范:注释用//标注,仅在单行生效;颜色编号范围0-255,常用253(红色)、254(蓝色);指令需完整书写,不可缩写,如TAKE不可写为TK。
2.HEROM2引擎(传统经典版本)
(1)核心文件格式
脚本文件同样为.txt后缀,路径与GOM引擎相近,核心文件为AutoPlay.txt(全局交互脚本)、NpcTalk.txt(NPC对话脚本)、MapQuest.txt(地图触发脚本)。部分老旧版本会将配置与脚本整合,无单独.cfg文件。
(2)脚本内容格式
结构与GOM引擎一致,仅部分指令格式有差异,支持简化条件写法,示例格式:
NPC编号NPC名称//头部直接标注NPC信息,无需中括号
#SAY
欢迎光临!/SCOLOR=254
<购买物品/@Buy><出售物品/@Sell>
(@Buy)
#IF
CHECKLEVEL>10
#ACT
OPENMERCHANT商店编号
#ELSEACT
SENDMSG5等级不足10级,无法购买!
Break
补充规范:HEROM2引擎支持多条件合并书写,用“AND”连接,如CHECKLEVEL>10ANDCHECKJOB0;对话文本不可换行,需在同一行内完成,换行需用特殊符号分隔。
3.BLUE引擎(特色版本适配)
(1)核心文件格式
脚本文件统一存储于Mirserver\BLUE\Envir\Script目录,后缀为.txt,核心文件为NpcScript.txt(整合NPC对话与功能)、ChatScript.txt(聊天控制脚本),无分散文件,格式更简洁。
(2)脚本内容格式
支持整合式写法,将NPC基础信息、对话、功能逻辑合并于同一脚本块,示例格式:
NPC_编号名称地图编号X坐标Y坐标数量//基础信息一行完成
#SAY
功能说明文本/SCOLOR=253
<功能触发/@Cmd>
#IF
CHECKVAR变量名数值//变量条件校验
#ACT
LEVEL+1//等级提升指令,格式更简化
SENDMSG5操作成功提示
SET变量名数值//变量赋值
Break
补充规范:BLUE引擎支持等级、属性等指令简化写法,如LEVEL+1、ATT+2;变量无需提前定义,直接赋值即可使用,全局变量与个人变量用不同前缀区分。
三、脚本文件属性与编码格式要求
1.编码格式规范
所有传奇脚本均需采用ANSI编码格式,部分版本支持GBK编码,禁止使用UTF-8编码(会导致脚本乱码、指令失效)。用Notepad++编辑时,可通过“格式”选项切换编码,保存前需确认编码正确。
补充说明:若脚本导入后出现乱码,多为编码格式错误,重新转换为ANSI编码并保存,重新加载脚本即可恢复正常。
2.文件命名与路径规范
(1)命名规范:文件名仅支持字母、数字、下划线,禁止使用中文、特殊符号(如@、#、&),核心脚本文件名不可修改(如QFunction-0.txt、NpcDialog.txt),自定义脚本可按“功能-名称.txt”命名(如Task-Main.txt)。
(2)路径规范:脚本文件需放置于对应引擎指定目录,不可随意更改路径,否则引擎无法读取。路径中不可包含中文文件夹,建议保留默认服务端目录结构(如Mirserver\Mir200\Envir)。
3.脚本注释格式
(1)单行注释:用//标注,注释内容需在//后,仅对当前行生效,示例://这是单行注释,不影响脚本执行。
(2)多行注释:部分引擎支持/**/标注多行注释,示例:/*这是多行注释,可跨越多行,适用于批量说明脚本功能*/,但HEROM2引擎不支持此格式,需用单行注释替代。
注意:注释不可插入指令中间,否则会导致指令断裂,脚本执行异常。
四、特殊脚本格式说明
1.定时器脚本格式
用于设置定时触发逻辑,格式统一为“[@OnTimer编号]”,绑定对应定时器指令,示例(GOM引擎):
[@OnTimer7]//绑定7号定时器
#IF
CHECKMAP地图编号//仅指定地图触发
#ACT
SENDMSG0定时提示内容//发送全服提示
DEC变量名1//变量递减
#IF
EQUAL变量名0
SETOffTimer7//关闭定时器
Break
2.地图触发脚本格式
绑定地图事件(如进入地图、离开地图),格式以“[@MapEvent事件名]”开头,示例:
[@MapEventEnter]//进入地图触发
#ACT
SENDMSG5欢迎进入指定地图!
SET变量名1//标记进入状态
Break
3.物品触发脚本格式
绑定物品使用、拾取事件,格式以“[@StdModeFunc编号]”开头,编号对应物品数据库ANICount字段,示例:
[@StdModeFunc1]//对应物品ANICount=1
#IF
CHECKITEM物品名称1
#ACT
TAKE物品名称1
GIVE奖励物品1
SENDMSG5物品使用成功!
Break
五、脚本格式常见错误与规避
1.格式错误类型及影响
(1)指令拼写错误:如将TAKE写为TAK,导致道具扣除失败,脚本执行中断。规避:对照引擎指令手册书写,批量复制通用指令。
(2)编码格式错误:UTF-8编码导致脚本乱码,引擎无法识别指令。规避:编辑后确认编码为ANSI,保存时勾选“保持编码格式”。
(3)结构缺失错误:缺少#IF、#ACT等核心标识,导致逻辑混乱。规避:按“条件-执行-对话”结构书写,每段逻辑完整闭合。
(4)路径/命名错误:文件名含中文、路径更改,导致引擎无法读取。规避:严格遵循命名与路径规范,不随意修改默认设置。
2.格式校验技巧
(1)逐行核对:编写完成后逐行检查指令格式、参数数量,确保无拼写、遗漏错误。
(2)分段测试:将脚本分段加载测试,定位格式错误段落,避免整体脚本失效。
(3)参考模板:以对应引擎默认脚本为模板,复制基础格式后修改内容,降低格式错误概率。
六、总结
传奇脚本核心为ANSI编码的.txt纯文本格式,结构遵循“条件-执行-对话”逻辑,不同引擎在指令写法、文件整合上略有差异,但基础格式与属性规范一致。关键在于遵循对应引擎的格式要求,确保编码正确、路径规范、指令完整,规避拼写、结构缺失等常见错误。掌握脚本格式规范后,可灵活编写NPC对话、任务触发、定时事件等各类功能逻辑,适配不同版本传奇的玩法需求。

