触发脚本是传奇服务端实现自动化功能的核心,通过特定条件自动执行预设动作。主要类型包括穿戴触发、拾取触发、使用触发、攻击触发、地图触发等。以下为各类触发脚本的详细设置方法。
一、穿戴触发脚本设置
穿戴触发指人物佩戴或卸下指定装备时自动执行脚本。配置文件位于MirServer\Mir200\Envir\market_def\QFunction-0.txt。
触发字段格式
•佩戴触发:@TakeOn后接装备位置代码和物品名称。
•卸下触发:@TakeOff后接装备位置代码和物品名称。
装备位置代码
•1:武器
•3:项链
•5:左手镯
•6:右手镯
•7:左戒指
•8:右戒指
•10:衣服
•11:头盔
•12:腰带
•13:鞋子
•15:宝石
脚本示例:佩戴狂风项链增加攻击速度
[@TakeOn3]
#IF
EQUAL<$CURRTEMNAME>狂风项链
#ACT
CHANGESPEED22300
SENDMSG6攻击速度提升2点,持续5分钟!
BREAK
此脚本检测佩戴的项链是否为“狂风项链”,若是则增加2点攻击速度持续300秒。
二、拾取触发脚本设置
拾取触发指人物从地面捡起物品时执行脚本。触发字段为@PickUpItem。
脚本示例:拾取金条增加金币
[@PickUpItem]
#IF
EQUAL<$CURRTEMNAME>金条
#ACT
GOLD+1000000
SENDMSG6拾取金条,获得100万金币!
BREAK
三、使用触发脚本设置
使用触发指人物使用特定物品时执行脚本。触发字段为@StdModeFuncX,其中X为物品的StdMode值。
设置步骤
1.在数据库设置物品的StdMode值(如31、40等)。
2.在QFunction-0.txt中创建对应字段。
脚本示例:使用回城卷传送
[@StdModeFunc31]
#IF
#ACT
MAPMOVE0330330
SENDMSG6使用回城卷返回比奇城!
BREAK
四、攻击触发脚本设置
攻击触发包括攻击他人、被攻击、击杀怪物等事件。
触发字段
•@Attack:主动攻击时触发
•@UnderAttack:被攻击时触发
•@KillMon:击杀怪物时触发
•@KillHuman:击杀玩家时触发
脚本示例:击杀怪物获得经验加成
[@KillMon]
#IF
#ACT
CHANGEEXP+<$MONKILLEXP>
SENDMSG6击杀怪物,获得额外经验!
BREAK
五、地图触发脚本设置
地图触发包括进入地图、离开地图、在地图内移动等事件。
触发字段
•@EnterMap:进入地图时触发
•@LeaveMap:离开地图时触发
•@RunMap:在地图内移动时触发
脚本示例:进入危险区域提示
[@EnterMap]
#IF
EQUAL<$MAP>D515
#ACT
SENDMSG6警告:你已进入危险区域!
BREAK
六、等级触发脚本设置
等级触发指人物达到指定等级时执行脚本。触发字段为@LevelUp。
脚本示例:升级奖励属性点
[@LevelUp]
#IF
CHECKLEVEL35
#ACT
CREDITPOINT+5
SENDMSG6恭喜达到35级,获得5点属性!
BREAK
七、脚本触发通用结构
所有触发脚本遵循相同逻辑结构:
[@触发字段]
#IF
;条件检测部分
;可使用CHECK、EQUAL、RANDOM等命令
#ACT
;条件满足时执行的动作
;可使用GIVE、TAKE、MAPMOVE、SENDMSG等命令
#ELSESAY
;条件不满足时显示的对话
#ELSEACT
;条件不满足时执行的动作
BREAK
八、配置文件与引擎加载
1.主配置文件:QFunction-0.txt是核心触发脚本文件,位于Envir\market_def\目录。
2.扩展配置文件:可通过#CALL命令调用外部脚本文件,实现模块化管理。
3.引擎加载:修改触发脚本后,需在M2Server控制台执行“重读QF脚本”命令,或重启服务端使修改生效。
九、调试与测试方法
1.日志输出:在脚本中使用SENDMSG6发送提示信息,确认触发是否执行。
2.逐步测试:先编写简单脚本(如发送提示),确认触发机制正常后再添加复杂逻辑。
3.引擎报错:触发脚本错误通常会在M2Server控制台显示错误信息,根据提示定位问题行。
十、注意事项
1.触发字段准确性:必须使用引擎支持的触发字段名称,大小写敏感。
2.条件逻辑严谨:避免条件冲突或死循环,特别是攻击触发和移动触发。
3.性能影响:频繁触发的脚本(如攻击触发)应保持简洁,避免复杂计算影响服务器性能。
4.变量清理:使用临时变量后及时清理,防止内存累积。
掌握上述触发脚本设置方法,可实现装备特效、任务系统、活动功能等复杂游戏机制。实际应用时需结合具体引擎版本说明进行调整。
一、穿戴触发脚本设置
穿戴触发指人物佩戴或卸下指定装备时自动执行脚本。配置文件位于MirServer\Mir200\Envir\market_def\QFunction-0.txt。
触发字段格式
•佩戴触发:@TakeOn后接装备位置代码和物品名称。
•卸下触发:@TakeOff后接装备位置代码和物品名称。
装备位置代码
•1:武器
•3:项链
•5:左手镯
•6:右手镯
•7:左戒指
•8:右戒指
•10:衣服
•11:头盔
•12:腰带
•13:鞋子
•15:宝石
脚本示例:佩戴狂风项链增加攻击速度
[@TakeOn3]
#IF
EQUAL<$CURRTEMNAME>狂风项链
#ACT
CHANGESPEED22300
SENDMSG6攻击速度提升2点,持续5分钟!
BREAK
此脚本检测佩戴的项链是否为“狂风项链”,若是则增加2点攻击速度持续300秒。
二、拾取触发脚本设置
拾取触发指人物从地面捡起物品时执行脚本。触发字段为@PickUpItem。
脚本示例:拾取金条增加金币
[@PickUpItem]
#IF
EQUAL<$CURRTEMNAME>金条
#ACT
GOLD+1000000
SENDMSG6拾取金条,获得100万金币!
BREAK
三、使用触发脚本设置
使用触发指人物使用特定物品时执行脚本。触发字段为@StdModeFuncX,其中X为物品的StdMode值。
设置步骤
1.在数据库设置物品的StdMode值(如31、40等)。
2.在QFunction-0.txt中创建对应字段。
脚本示例:使用回城卷传送
[@StdModeFunc31]
#IF
#ACT
MAPMOVE0330330
SENDMSG6使用回城卷返回比奇城!
BREAK
四、攻击触发脚本设置
攻击触发包括攻击他人、被攻击、击杀怪物等事件。
触发字段
•@Attack:主动攻击时触发
•@UnderAttack:被攻击时触发
•@KillMon:击杀怪物时触发
•@KillHuman:击杀玩家时触发
脚本示例:击杀怪物获得经验加成
[@KillMon]
#IF
#ACT
CHANGEEXP+<$MONKILLEXP>
SENDMSG6击杀怪物,获得额外经验!
BREAK
五、地图触发脚本设置
地图触发包括进入地图、离开地图、在地图内移动等事件。
触发字段
•@EnterMap:进入地图时触发
•@LeaveMap:离开地图时触发
•@RunMap:在地图内移动时触发
脚本示例:进入危险区域提示
[@EnterMap]
#IF
EQUAL<$MAP>D515
#ACT
SENDMSG6警告:你已进入危险区域!
BREAK
六、等级触发脚本设置
等级触发指人物达到指定等级时执行脚本。触发字段为@LevelUp。
脚本示例:升级奖励属性点
[@LevelUp]
#IF
CHECKLEVEL35
#ACT
CREDITPOINT+5
SENDMSG6恭喜达到35级,获得5点属性!
BREAK
七、脚本触发通用结构
所有触发脚本遵循相同逻辑结构:
[@触发字段]
#IF
;条件检测部分
;可使用CHECK、EQUAL、RANDOM等命令
#ACT
;条件满足时执行的动作
;可使用GIVE、TAKE、MAPMOVE、SENDMSG等命令
#ELSESAY
;条件不满足时显示的对话
#ELSEACT
;条件不满足时执行的动作
BREAK
八、配置文件与引擎加载
1.主配置文件:QFunction-0.txt是核心触发脚本文件,位于Envir\market_def\目录。
2.扩展配置文件:可通过#CALL命令调用外部脚本文件,实现模块化管理。
3.引擎加载:修改触发脚本后,需在M2Server控制台执行“重读QF脚本”命令,或重启服务端使修改生效。
九、调试与测试方法
1.日志输出:在脚本中使用SENDMSG6发送提示信息,确认触发是否执行。
2.逐步测试:先编写简单脚本(如发送提示),确认触发机制正常后再添加复杂逻辑。
3.引擎报错:触发脚本错误通常会在M2Server控制台显示错误信息,根据提示定位问题行。
十、注意事项
1.触发字段准确性:必须使用引擎支持的触发字段名称,大小写敏感。
2.条件逻辑严谨:避免条件冲突或死循环,特别是攻击触发和移动触发。
3.性能影响:频繁触发的脚本(如攻击触发)应保持简洁,避免复杂计算影响服务器性能。
4.变量清理:使用临时变量后及时清理,防止内存累积。
掌握上述触发脚本设置方法,可实现装备特效、任务系统、活动功能等复杂游戏机制。实际应用时需结合具体引擎版本说明进行调整。

