Blue引擎QFunction杀怪触发脚本教程 - 攻击被攻击事件配置与报错修复
摘要:基于Blue引擎打造QFunction杀怪触发脚本实操教程,详细拆解攻击、被攻击核心事件原理与格式,搭配初高阶差异化案例,提供完整实操步骤、避坑要点与报错修复方案,助力零基础玩家调试传奇版本攻防交互功能。…
QFunction杀怪触发脚本是Blue引擎专属的核心交互脚本,主要包含攻击触发、被攻击触发两大核心事件,适配本地版本技术调试与脚本定制学习场景,可精准监控玩家、随从与怪物的攻防交互行为。
很多零基础学习者调试攻防脚本时,经常出现触发失效、判断错乱、提示信息异常的问题,该脚本可精准落地攻防逻辑判定、血量联动、文字提示功能,帮助新手快速完成传奇版本攻防交互功能调试。

命令原理
QFunction杀怪触发脚本依托Blue引擎内置的两大核心事件标签实现功能联动,分别为[@Attack]攻击触发事件和[@UnderAttack]被攻击触发事件。
[@Attack]事件主要监听玩家、随从对指定怪物的攻击行为,可通过参数判定怪物名称、剩余血量、攻击者身份,执行对应扣血、弹窗提示等操作。
[@UnderAttack]事件用于监听自身、随从被怪物攻击的行为,精准识别攻击者身份,区分怪物攻击玩家、怪物攻击随从两种场景,触发对应的血量扣除和信息提示逻辑。
命令格式
本脚本分为攻击触发、被攻击触发两套标准格式,格式固定无自定义修改空间,新手可直接对照套用调试。
标准攻击触发格式
[@Attack]
#IF
// 条件判定语句
#ACT
// 触发执行操作
标准被攻击触发格式
[@UnderAttack]
#IF
// 条件判定语句
#ACT
// 触发执行操作
#ELSEIF
// 分支条件判定
#ACT
// 分支执行操作
#ELSEACT
// 默认执行操作
完整实操示例
[@Attack]
#IF
COMPVAL <$TARINFO_FNAME> = 蜈蚣
COMPVAL <$T.HP> > 50
#ACT
T.HUMANHP - 50
SENDMSG 7 目标【<$TARINFO_NAME>】血量<$T.HP>
#IF
COMPVAL <$ATTINFO_RACE> ! 1
#ACT
SENDMSG 7 你的随从<$ATTINFO_NAME>正在攻击<$TARINFO_NAME>
[@UnderAttack]
#IF
COMPVAL <$ATTINFO_FNAME> = 蜈蚣
#ACT
HUMANHP - 50
#IF
COMPVAL <$ATTINFO_MNAME> ! ""
#ACT
SENDMSG 7 【<$ATTINFO_MNAME>】的随从<$ATTINFO_NAME>正在攻击你
#ELSEIF
COMPVAL <$TARINFO_RACE> ! 1
#ACT
SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你的随从【<$TARINFO_NAME>】
#ELSEACT
SENDMSG 7 【<$ATTINFO_NAME>】正在攻击你
参数详解
脚本核心参数均为Blue引擎专属内置变量,每个参数对应固定功能,以下表格清晰拆解实操用法,适配零基础调试。
| 参数内容 | 参数释义 | 实操用法 |
|---|---|---|
| $TARINFO_FNAME | 目标怪物标准名称,匹配怪物数据库固定名称 | 用于精准锁定指定怪物,避免所有怪物触发逻辑,精准筛选蜈蚣等特定目标 |
| $T.HP | 当前目标怪物剩余血量数值 | 搭配大小符号使用,设置血量阈值,实现残血、满血差异化触发效果 |
| $ATTINFO_RACE | 攻击者身份类型,1为玩家,非1为随从 | 区分玩家攻击、随从攻击行为,实现两种场景的不同提示与效果 |
| $ATTINFO_MNAME | 攻击者所属主人名称,随从专属参数 | 判断攻击单位是否为玩家随从,精准展示随从归属信息 |
| SENDMSG 7 | 客户端弹窗文字提示指令 | 向玩家客户端推送实时攻防提示,可视化展示脚本触发状态 |
拓展案例
以下三阶差异化案例为全新增量内容,独立于基础实操代码,适配不同学习阶段的调试需求,丰富脚本玩法。
初级入门案例(新手零基础套用)
简化攻防触发逻辑,仅保留基础判定和提示,去除复杂多分支判断,适合新手熟悉脚本触发机制。
[@Attack]
#IF
COMPVAL <$TARINFO_FNAME> = 稻草人
#ACT
SENDMSG 7 你正在攻击训练怪物【稻草人】
[@UnderAttack]
#IF
COMPVAL <$ATTINFO_FNAME> = 稻草人
#ACT
SENDMSG 7 你被训练怪物【稻草人】攻击了
该案例无血量判定、无随从区分,逻辑简洁,新手可快速测试脚本是否正常加载触发。
中级优化案例(功能升级调试)
增加多怪物判定、血量区间判定,实现不同怪物差异化扣血、差异化提示,优化基础脚本单一逻辑的短板。
[@Attack]
#IF
COMPVAL <$TARINFO_FNAME> = 蜈蚣
COMPVAL <$T.HP> BETWEEN 20 80
#ACT
T.HUMANHP - 30
SENDMSG 7 攻击蜈蚣中血量目标,自身扣除30点血量
#IF
COMPVAL <$TARINFO_FNAME> = 毒蜈蚣
COMPVAL <$T.HP> < 20
#ACT
T.HUMANHP - 80
SENDMSG 7 击杀残血毒蜈蚣,触发剧毒反伤效果
通过BETWEEN区间判定实现精准血量筛选,区分普通怪物和精英怪物的触发效果,提升脚本实用性。
高阶定制案例(自定义玩法修改)
增加随从攻防增益、次数统计功能,实现定制化玩法,适配版本个性化调试需求,属于全网稀缺实操玩法。
[@Attack]
#IF
COMPVAL <$ATTINFO_RACE> ! 1
COMPVAL <$TARINFO_FNAME> = 蜈蚣
#ACT
ADDCOUNT 随从攻怪次数 +1 0 999
SENDMSG 7 随从攻击蜈蚣,累计攻击次数:<$COUNT(随从攻怪次数)>
[@UnderAttack]
#IF
COMPVAL <$ATTINFO_FNAME> = 蜈蚣
COMPVAL <$TARINFO_RACE> ! 1
#ACT
CHANGEHPMOD 10 随从
SENDMSG 7 随从受到蜈蚣攻击,触发10%减伤buff
新增计数变量和随从属性修改指令,实现攻防数据统计、随从buff联动,适合进阶学习者定制专属版本玩法。
零基础实操步骤
全程零跳过、零省略,新手照搬即可完成脚本部署与生效测试,适配Blue引擎本地测试版本。
第一步:打开本地服务端版本目录,找到路径「D:\本地传奇版本\Mir200\Envir\QuestDiary」,新建或打开已有的QFunction功能脚本文件。
第二步:将上文完整基础实操代码复制粘贴至脚本文件末尾,确保无代码重复、无字符缺失、无格式错乱。
第三步:核对脚本标签完整性,确认[@Attack]、[@UnderAttack]两个核心事件无遗漏,参数名称与引擎内置变量完全一致。
第四步:保存脚本文件,返回传奇版本M2版本管理面板,点击「脚本重载」功能,选择「重载全部脚本」,完成脚本更新生效。
第五步:进入本地测试版本,召唤随从、找到蜈蚣怪物,分别执行攻击怪物、被怪物攻击操作,测试血量扣除、弹窗提示功能是否正常触发。
新手避坑指南
汇总新手调试QFunction杀怪触发脚本的高频误区,规避适配冲突与功能失效问题。
第一,禁止修改内置变量名称,$TARINFO_FNAME、$ATTINFO_RACE等变量为引擎固定参数,字符写错会直接导致判定失效,无任何触发效果。
第二,怪物名称必须匹配数据库原名,脚本内填写的「蜈蚣」必须和怪物数据库中的标准名称完全一致,简体繁体、字符差异都会导致判定不生效。
第三,多条件判定需分层书写,多个#IF条件独立排布,禁止合并堆叠,否则会出现逻辑冲突,导致部分触发功能异常。
第四,脚本重载必须完整,修改代码后仅保存文件不重载脚本,新版本逻辑无法生效,这是新手最常见的操作失误。
报错修复模块
针对脚本调试中三大高频报错问题,按「现象-成因-排查-修复」标准流程落地解决。
报错一:脚本无任何触发效果
问题现象:攻击怪物、被怪物攻击后,无血量扣除、无弹窗提示,脚本完全不生效。
核心成因:脚本标签书写错误、内置变量拼写错误、未重载脚本、怪物名称不匹配。
分步排查:首先核对事件标签是否完整,再检查变量字符是否无误,最后确认是否执行脚本重载操作、怪物名称是否一致。
落地修复:修正错误变量与标签,统一怪物数据库名称,重新保存文件并重载全部脚本,重启本地程序即可恢复正常。
报错二:所有怪物攻击都触发逻辑
问题现象:不仅蜈蚣,其他怪物攻击、被攻击也会触发扣血和提示,判定筛选失效。
核心成因:缺失怪物名称判定条件,或判定符号书写错误,导致条件筛选失效。
分步排查:检查#IF条件内是否包含COMPVAL怪物名称判定,核对等于符号、参数格式是否规范。
落地修复:补全怪物精准判定语句,修正错误判定符号,重新重载脚本即可实现指定怪物单独触发。
报错三:随从攻击无提示信息
问题现象:玩家攻击怪物有提示,随从攻击怪物无任何弹窗反馈,分支逻辑失效。
核心成因:随从身份判定参数写错,或分支#IF条件层级错乱,导致分支语句无法执行。
落地修复:核对$ATTINFO_RACE参数拼写,调整分支条件顺序,确保随从判定逻辑独立有效,重载脚本后测试生效。
FAQ问答
Q1:QFunction杀怪触发脚本支持自定义怪物吗?
A:支持,只需将脚本内怪物名称替换为自定义怪物数据库标准名称,即可实现指定自定义怪物的攻防触发逻辑。
Q2:脚本修改后必须重载全部脚本吗?
A:是的,QFunction属于核心功能脚本,局部重载无效,必须重载全部脚本才能更新逻辑。
Q3:如何关闭脚本的血量扣除功能?
A:直接删除脚本内T.HUMANHP - 50、HUMANHP - 50扣血语句,保留SENDMSG提示语句即可。
Q4:为什么血量大于50的判定不生效?
A:需核对判定符号格式,Blue引擎脚本仅支持标准>、<、=符号,禁止使用中文符号,同时确认怪物初始血量符合判定阈值。
Q5:能否同时监听多个怪物的攻防行为?
A:可以,新增多组独立#IF判定语句,分别对应不同怪物名称,即可实现多怪物差异化触发效果。
Q6:随从攻击判定失效是什么原因?
A:大概率是$ATTINFO_RACE参数书写错误,或条件层级混乱,优先核对参数拼写和代码排版顺序即可修复。
Q7:弹窗提示文字出现乱码怎么解决?
A:使用记事本以ANSI编码保存脚本文件,删除多余特殊符号,重新重载脚本即可解决乱码问题。
全文总结
本文完整讲解了QFunction杀怪触发脚本的全部实操内容,核心依托[@Attack]、[@UnderAttack]两大事件,实现玩家与随从攻防行为的精准监控、血量联动与文字提示。
从基础原理、标准格式、参数释义,到三阶差异化案例、零基础实操步骤、报错修复方案,全方位覆盖脚本调试核心要点,适配Blue引擎本地版本学习与技术调试场景。
新手可直接套用全文代码落地功能,同时结合避坑指南和排错技巧,快速解决脚本失效、判定异常等常见问题,高效掌握传奇攻防交互脚本的定制方法。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。













