脚本本质:服务端运行的逻辑指令集
传奇脚本是纯文本文件(.txt),由一系列条件判断与执行指令构成。它运行于服务端(Mir200\Envir目录),而非客户端。当玩家在游戏中触发特定动作(如点击NPC、使用物品、升级)时,服务端引擎(M2Server)读取并解析对应脚本,执行预设逻辑(如扣除金币、传送地图、发放装备)。
脚本分类:从NPC到全局触发
传奇脚本按功能分为四大类,均位于服务端MirServer\Mir200\Envir目录下:
1.NPC交互脚本(Market_Def目录)
这是最常见的脚本类型,控制游戏内所有NPC的功能。
-文件位置:Envir\Market_Def\目录下,文件名与Merchant.txt中登记的NPC一一对应。
-功能示例:传送NPC的坐标传送、商店NPC的物品买卖、任务NPC的对话与奖励发放。
2.系统触发脚本(QFunction-0.txt)
处理非NPC触发的全局事件,是脚本的“总控中心”。
-文件位置:Envir\Market_Def\QFunction-0.txt。
•触发场景:
◦升级触发:[@PlayLevelUp],玩家升级时自动执行(如送装备)。
-物品使用:[@StdModeFuncX],双击物品触发(如经验卷轴)。
◦死亡触发:[@PlayDie],玩家死亡时执行(如爆装备)。
3.登录脚本(QManage.txt)
处理玩家上线时的初始化逻辑。
•文件位置:Envir\Market_Def\QManage.txt。
-典型应用:[@Login]标签,玩家登录时自动检测并发放首充奖励、设置每日签到状态、初始化变量。
4.地图与任务脚本(MapQuest_def目录)
绑定于特定地图的触发事件。
•文件位置:Envir\MapQuest_def\。
-应用场景:进入地图自动触发剧情、怪物死亡触发任务进度更新、区域触发陷阱(如掉血)。
脚本与插件的区别
玩家常混淆“脚本”与“插件”,二者本质不同:
•脚本:明文文本,无需编译,通过引擎直接解析。功能限于游戏内逻辑(给物、传送、检测)。修改后热加载(Reload)即可生效。
-插件:编译后的程序(.dll或.exe),需嵌入引擎。功能可扩展至硬件层(如封挂、多线程处理)。修改需重启服务端。
脚本基础语法结构
所有脚本均遵循“条件→动作”(IF-ACT)结构:
[@Main];标签,NPC对话入口
#IF;条件判断开始
CHECKLEVELEX>35;检测等级是否大于35
CHECKGOLD10000;检测金币是否够1万
#ACT;条件成立执行的动作
TAKE金币10000;扣除金币
GIVE屠龙1;给予屠龙
SENDMSG6兑换成功!
BREAK;终止脚本,防止继续执行
核心指令:
•#IF:条件分支(检测等级、物品、金币)。
•#ACT:执行动作(GIVE给物、TAKE扣物、MAPMOVE传送)。
•#SAY:显示对话文字。
•BREAK:必须添加,防止逻辑穿透。
脚本的修改与生效流程
1.定位文件:根据功能需求找到对应目录下的.txt文件(如修改老兵传送,找Market_Def\盟重省\老兵-3.txt)。
2.编辑脚本:使用Notepad++等工具修改,保存为ANSI编码(避免乱码)。
3.重载生效:在M2Server控制台点击“重新加载NPC”或输入@reloadnpc,无需重启服务端。
脚本是传奇版本功能的逻辑载体,本质是服务端响应玩家操作的自动化规则集。
传奇脚本是纯文本文件(.txt),由一系列条件判断与执行指令构成。它运行于服务端(Mir200\Envir目录),而非客户端。当玩家在游戏中触发特定动作(如点击NPC、使用物品、升级)时,服务端引擎(M2Server)读取并解析对应脚本,执行预设逻辑(如扣除金币、传送地图、发放装备)。
脚本分类:从NPC到全局触发
传奇脚本按功能分为四大类,均位于服务端MirServer\Mir200\Envir目录下:
1.NPC交互脚本(Market_Def目录)
这是最常见的脚本类型,控制游戏内所有NPC的功能。
-文件位置:Envir\Market_Def\目录下,文件名与Merchant.txt中登记的NPC一一对应。
-功能示例:传送NPC的坐标传送、商店NPC的物品买卖、任务NPC的对话与奖励发放。
2.系统触发脚本(QFunction-0.txt)
处理非NPC触发的全局事件,是脚本的“总控中心”。
-文件位置:Envir\Market_Def\QFunction-0.txt。
•触发场景:
◦升级触发:[@PlayLevelUp],玩家升级时自动执行(如送装备)。
-物品使用:[@StdModeFuncX],双击物品触发(如经验卷轴)。
◦死亡触发:[@PlayDie],玩家死亡时执行(如爆装备)。
3.登录脚本(QManage.txt)
处理玩家上线时的初始化逻辑。
•文件位置:Envir\Market_Def\QManage.txt。
-典型应用:[@Login]标签,玩家登录时自动检测并发放首充奖励、设置每日签到状态、初始化变量。
4.地图与任务脚本(MapQuest_def目录)
绑定于特定地图的触发事件。
•文件位置:Envir\MapQuest_def\。
-应用场景:进入地图自动触发剧情、怪物死亡触发任务进度更新、区域触发陷阱(如掉血)。
脚本与插件的区别
玩家常混淆“脚本”与“插件”,二者本质不同:
•脚本:明文文本,无需编译,通过引擎直接解析。功能限于游戏内逻辑(给物、传送、检测)。修改后热加载(Reload)即可生效。
-插件:编译后的程序(.dll或.exe),需嵌入引擎。功能可扩展至硬件层(如封挂、多线程处理)。修改需重启服务端。
脚本基础语法结构
所有脚本均遵循“条件→动作”(IF-ACT)结构:
[@Main];标签,NPC对话入口
#IF;条件判断开始
CHECKLEVELEX>35;检测等级是否大于35
CHECKGOLD10000;检测金币是否够1万
#ACT;条件成立执行的动作
TAKE金币10000;扣除金币
GIVE屠龙1;给予屠龙
SENDMSG6兑换成功!
BREAK;终止脚本,防止继续执行
核心指令:
•#IF:条件分支(检测等级、物品、金币)。
•#ACT:执行动作(GIVE给物、TAKE扣物、MAPMOVE传送)。
•#SAY:显示对话文字。
•BREAK:必须添加,防止逻辑穿透。
脚本的修改与生效流程
1.定位文件:根据功能需求找到对应目录下的.txt文件(如修改老兵传送,找Market_Def\盟重省\老兵-3.txt)。
2.编辑脚本:使用Notepad++等工具修改,保存为ANSI编码(避免乱码)。
3.重载生效:在M2Server控制台点击“重新加载NPC”或输入@reloadnpc,无需重启服务端。
脚本是传奇版本功能的逻辑载体,本质是服务端响应玩家操作的自动化规则集。

