传奇游戏触发脚本设置方法详解

来源: 作者: 点击:
触发脚本是传奇服务端实现自动化功能的核心,通过特定条件自动执行预设动作。主要类型包括穿戴触发、拾取触发、使用触发、攻击触发、地图触发等。以下为各类触发脚本的详细设置方法。

一、穿戴触发脚本设置
穿戴触发指人物佩戴或卸下指定装备时自动执行脚本。配置文件位于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
CHANGESPEED 2 2 300
SENDMSG 6 攻击速度提升2点,持续5分钟!
BREAK

此脚本检测佩戴的项链是否为“狂风项链”,若是则增加2点攻击速度持续300秒。

二、拾取触发脚本设置
拾取触发指人物从地面捡起物品时执行脚本。触发字段为@PickUpItem。

脚本示例:拾取金条增加金币

[@PickUpItem]
#IF
EQUAL <$CURRTEMNAME> 金条
#ACT
GOLD + 1000000
SENDMSG 6 拾取金条,获得100万金币!
BREAK


三、使用触发脚本设置
使用触发指人物使用特定物品时执行脚本。触发字段为@StdModeFuncX,其中X为物品的StdMode值。

设置步骤
1. 在数据库设置物品的StdMode值(如31、40等)。
2. 在QFunction-0.txt中创建对应字段。

脚本示例:使用回城卷传送

[@StdModeFunc31]
#IF
#ACT
MAPMOVE 0 330 330
SENDMSG 6 使用回城卷返回比奇城!
BREAK


四、攻击触发脚本设置
攻击触发包括攻击他人、被攻击、击杀怪物等事件。

触发字段
• @Attack:主动攻击时触发

• @UnderAttack:被攻击时触发

• @KillMon:击杀怪物时触发

• @KillHuman:击杀玩家时触发

脚本示例:击杀怪物获得经验加成

[@KillMon]
#IF
#ACT
CHANGEEXP + <$MONKILLEXP>
SENDMSG 6 击杀怪物,获得额外经验!
BREAK


五、地图触发脚本设置
地图触发包括进入地图、离开地图、在地图内移动等事件。

触发字段
• @EnterMap:进入地图时触发

• @LeaveMap:离开地图时触发

• @RunMap:在地图内移动时触发

脚本示例:进入危险区域提示

[@EnterMap]
#IF
EQUAL <$MAP> D515
#ACT
SENDMSG 6 警告:你已进入危险区域!
BREAK


六、等级触发脚本设置
等级触发指人物达到指定等级时执行脚本。触发字段为@LevelUp。

脚本示例:升级奖励属性点

[@LevelUp]
#IF
CHECKLEVEL 35
#ACT
CREDITPOINT + 5
SENDMSG 6 恭喜达到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. 日志输出:在脚本中使用SENDMSG 6发送提示信息,确认触发是否执行。
2. 逐步测试:先编写简单脚本(如发送提示),确认触发机制正常后再添加复杂逻辑。
3. 引擎报错:触发脚本错误通常会在M2Server控制台显示错误信息,根据提示定位问题行。

十、注意事项
1. 触发字段准确性:必须使用引擎支持的触发字段名称,大小写敏感。
2. 条件逻辑严谨:避免条件冲突或死循环,特别是攻击触发和移动触发。
3. 性能影响:频繁触发的脚本(如攻击触发)应保持简洁,避免复杂计算影响服务器性能。
4. 变量清理:使用临时变量后及时清理,防止内存累积。

掌握上述触发脚本设置方法,可实现装备特效、任务系统、活动功能等复杂游戏机制。实际应用时需结合具体引擎版本说明进行调整。