当前位置:首页 > 引擎 > 翎风引擎

传奇QF英雄攻击触发脚本详解 物理魔法攻击触发配置教程

admin7小时前3
在传奇服务端定制开发中,英雄攻防触发脚本是实现个性化玩法、伤害提示、状态判定、专属buff触发的核心核心模块。多数GM在配置英雄攻击、被攻击事件时,常会遇到触发区分不精准、目标识别混乱、怪物名称显示异常等问题。本文基于QFunction-0功能文件,完整解析传奇英雄四大核心攻击触发事件,附带可直接套…


在传奇服务端定制开发中,英雄攻防触发脚本是实现个性化玩法、伤害提示、状态判定、专属buff触发的核心核心模块。多数GM在配置英雄攻击、被攻击事件时,常会遇到触发区分不精准、目标识别混乱、怪物名称显示异常等问题。本文基于QFunction-0功能文件,完整解析传奇英雄四大核心攻击触发事件,附带可直接套用的成品脚本、层级解析以及名称变量使用说明,适配主流引擎版本,可直接复制导入服务端使用。

一、传奇英雄四大攻击触发事件概述

英雄攻击相关触发分为四大核心标签,分别对应被魔法攻击、魔法攻击、被物理攻击、物理攻击四种场景,所有触发事件均内置判定规则:仅攻击目标为怪物时生效,部分无伤害类魔法(如魔法盾)不会触发对应魔法攻击事件,这是脚本配置的基础前提。

四大核心触发标签汇总:

1. [@HeroMagicStruck]:英雄被魔法攻击触发

2. [@HeroMagicAttack]:英雄释放魔法攻击触发

3. [@HeroStruck]:英雄被物理攻击触发

4. [@HeroAttack]:英雄发起物理攻击触发

二、QFunction-0完整成品脚本(可直接复制)

以下为规整后的无报错成品脚本,适配所有主流传奇GOM、GEE引擎,直接复制粘贴至服务端QFunction-0文本中即可生效,内置目标种族精准判定,区分人物、英雄、分身、怪物四大目标类型。

;=====================英雄攻防全场景触发脚本【QFunction-0】=====================

;生效说明:所有触发仅攻击目标为怪物时生效,魔法盾等无伤害魔法不触发魔法类事件

;作者适配:通用全引擎版本,无需额外挂载补丁

[@HeroMagicStruck]

;被人物魔法攻击

#IF

H.CHECKCURRTARGETRACE = 0

#ACT

SENDMSG 6 你的英雄被人物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;被敌方英雄魔法攻击

#IF

H.CHECKCURRTARGETRACE = 1

#ACT

SENDMSG 6 你的英雄被英雄【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;被玩家分身魔法攻击

#IF

H.CHECKCURRTARGETRACE = 151

#ACT

SENDMSG 6 你的英雄被分身【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;被怪物魔法攻击

#IF

#ACT

SENDMSG 6 你的英雄被怪物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;======================魔法攻击触发模块==========================

[@HeroMagicAttack]

;英雄攻击人物(魔法)

#IF

H.CHECKCURRTARGETRACE = 0

#ACT

SENDMSG 6 你的英雄攻击了人物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249

BREAK

;英雄攻击敌方英雄(魔法)

#IF

H.CHECKCURRTARGETRACE = 1

#ACT

SENDMSG 6 你的英雄攻击了英雄【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249

BREAK

;英雄攻击怪物(魔法)

#IF

#ACT

SENDMSG 6 你的英雄攻击了怪物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249

BREAK

;======================被物理攻击触发模块==========================

[@HeroStruck]

;英雄被人物物理攻击

#IF

H.CHECKCURRTARGETRACE = 0

#ACT

SENDMSG 6 你的英雄被人物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;英雄被敌方英雄物理攻击

#IF

H.CHECKCURRTARGETRACE = 1

#ACT

SENDMSG 6 你的英雄被英雄【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;英雄被分身物理攻击

#IF

H.CHECKCURRTARGETRACE = 151

#ACT

SENDMSG 6 你的英雄被分身【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;英雄被怪物物理攻击

#IF

#ACT

SENDMSG 6 你的英雄被怪物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253

BREAK

;======================物理攻击触发模块==========================

[@HeroAttack]

;英雄攻击人物(物理)

#IF

H.CHECKCURRTARGETRACE = 0

#ACT

SENDMSG 6 你的英雄攻击了人物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249

BREAK

;英雄攻击敌方英雄(物理)

#IF

H.CHECKCURRTARGETRACE = 1

#ACT

SENDMSG 6 你的英雄攻击了英雄【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249

BREAK

;英雄攻击怪物(物理)

#IF

#ACT

SENDMSG 6 你的英雄攻击了怪物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249

BREAK

三、脚本核心判定规则解析

3.1 目标种族参数说明

脚本中H.CHECKCURRTARGETRACE为目标种族判定参数,是区分攻击对象的核心,不同数值对应不同目标类型,精准规避触发混乱问题:

数值0:对应普通玩家人物目标

数值1:对应敌方英雄目标

数值151:对应玩家分身目标

无参数判定:默认匹配所有怪物目标

3.2 消息弹窗颜色参数

脚本尾部255 253、255 249为传奇游戏内消息字体颜色参数,255为全局高亮底色,253代表被攻击提示色,249代表主动攻击提示色,可根据服内UI风格自行修改。

四、怪物名称变量使用区分(重点)

很多GM配置脚本时会遇到怪物后缀数字丢失的问题,核心是未区分目标名称变量,脚本内置两种变量,可根据需求自由选用,无需额外编写定义代码。

变量1:$H.CURRRTARGETNAME

基础目标名称变量,默认过滤怪物名称后方的数字后缀,例如怪物名为【魔龙教主123】,调用后仅显示【魔龙教主】,适合简洁提示场景。

变量2:$H.CURRRTARGETFULLNAME

完整目标名称变量,保留怪物名称所有后缀数字、符号,完整还原怪物原始命名,适合精准溯源、专属怪物判定等精细化玩法配置。

五、脚本导入与常见问题排查

1. 导入路径:打开传奇服务端文件夹,找到MirServer\Mir200\Envir\QuestDiary,打开QFunction-0文本,将上述脚本粘贴至文件末尾,保存后重启引擎即可生效。

2. 无触发提示排查:首先检查是否为魔法盾类无伤害魔法,此类魔法本身不触发事件;其次核对引擎版本是否匹配,老旧复古引擎需同步更新英雄变量补丁。

3. 名称显示异常排查:按需切换完整名称变量与基础名称变量,避免变量拼写错误,所有变量前缀H.不可省略。

通过以上完整脚本和配置解析,可快速完成传奇英雄全场景攻防触发配置,无论是制作攻击提示、英雄专属buff,还是目标差异化判定,都能依托该基础脚本二次开发,适配复古、微变、超变等所有版本的传奇服务器。

扫描二维码推送至手机访问。

本文章九路游发布,如需转载请注明出处。如有侵权请联系站长删除。

本文链接:https://www.9luu.com/735.html

分享给朋友:

相关文章