|
攻击有关的触发全部在 QFunction-0.txt 文件内技能使用触发说明: 默认技能触发脚本功能没有开启,在功能设置\其他控制中开启之后才有效. 增加魔法触发功能.自身技能触发.[@MagSelfFuncX]`段(其中X表示要触发的魔法ID) 增加魔法触发功能.对目标人物使用时自身触发.[@MagTagFuncX]` 段(其中X表示要触发的魔法ID) 增加魔法触发功能.目标人物技能触发.[@MagTagFuncExX]` 段(其中X表示要触发的魔法ID) 增加魔法触发功能.目标怪物技能触发. [@MagMonFuncX]` 段(其中X表示要触发的魔法ID) 例子:使用治愈术时触发脚本 2代表MAGIC.DB数据库内技能ID - [@MagSelfFunc2]
- #ACT
- SendMsg 5 自己加血
- [@MagTagFunc2]
- #ACT
- SendMsg 5 给别人加血
- [@MagMonFunc2]
- #ACT
- SendMsg 5 给怪物加血.
复制代码英雄魔法触发功能 英雄使用技能时自身触发
[@HeroMagSelfFuncX] 英雄对目标人物使用时自身触发
[@HeroMagTagFuncX] 英雄对目标人物使用技能时目标触发
[@HeroMagTagFuncExX] 英雄对目标怪物使用技能时触发自身触发
[@HeroMagMonFuncX] 当人物使用技能前,自身触发;触发字段
[@BeginMagic]
;变量
<$MagicID>
<$MagicName>
<$MagicTarget>
<$MagicTargetRace> 中断技能使用命令:StopMagic 范例: - [@BeginMagic]
- #IF
- EQUAL <$MagicName> 野蛮冲撞
- EQUAL <$MagicTargetRace> 0
- <$MagicTarget>.CheckFenghao 不动如山
- #ACT
- StopMagic
- Sendmsg 7 目标拥有称号不动如山,无法对其释放野蛮冲撞.
复制代码 英雄使用技能前,自身触发:[@H.BeginMagic] 变量:
<$H.MagicID>
<$H.MagicName>
<$H.MagicTarget>
<$H.MagicTargetRace> ;操作命令
中断技能使用命令:H.StopMagic支持 范例: - [@H.BeginMagic]
- #if
- equal <$H.MagicName> 英雄雷电术
- #act
- H.StopMagic
- #elseact
- sendmsg 6 英雄技能(ID:<$H.MagicID>;技能:<$H.MagicName>;目标:<$H.MagicTarget>;目标类型:<$H.MagicTargetRace>)
复制代码 致命一击触发,暴击触发说明:致命一击打出触发,暴击打出触发命令: - [@BlastAttack]
- #ACT
- SENDMSG 6 物理攻击触发暴击
- [@BlastMagicAttack]
- #ACT
- SENDMSG 6 魔法攻击触发暴击
- [@FatalAttack]
- #ACT
- SENDMSG 6 物理攻击触发致命一击
- [@FatalMagicAttack]
- #ACT
- SENDMSG 6 魔法攻击触发致命一击
- [@HeroBlastAttack]
- #ACT
- SENDMSG 6 英雄物理攻击触发暴击
- [@HeroBlastMagicAttack]
- #ACT
- SENDMSG 6 英雄魔法攻击触发暴击
- [@HeroFatalAttack]
- #ACT
- SENDMSG 6 英雄物理攻击触发致命一击
- [@HeroFatalMagicAttack]
- #ACT
- SENDMSG 6 英雄魔法攻击触发致命一击
复制代码 人物攻击触发/被攻击触发所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾
- [@Attack]
- #IF
- CHECKCURRTARGETRACE = 0
- #ACT
- SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
- BREAK
- #IF
- #ACT
- SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。<$ATTACKMONSTER_NAME>,锁定目标<$ATTACKMONSTER_NAMEEX>。<$ATTACKMONSTER_MAXHP> 使用魔法ID=<$CURRRUSEMAGICID> 255 249
- BREAK
复制代码- ;======================魔法攻击触发==========================
- [@MagicAttack]
- #IF
- CHECKCURRTARGETRACE = 0
- #ACT
- SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
- BREAK
- #IF
- #ACT
- SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。<$ATTACKMONSTER_NAME>,锁定目标<$ATTACKMONSTER_NAMEEX>。<$ATTACKMONSTER_MAXHP> 使用魔法ID=<$CURRRUSEMAGICID> 255 249
- BREAK
复制代码- ;======================被魔法攻击触发==========================
- [@MagicStruck]
- #IF
- CHECKCURRTARGETRACE = 0
- #ACT
- SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
- #IF
- CHECKCURRTARGETRACE = 1
- #ACT
- SENDMSG 6 你被英雄【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
- #IF
- CHECKCURRTARGETRACE = 151
- #ACT
- SENDMSG 6 你被分身【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
- #IF
- #ACT
- SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
复制代码- ;======================被物理攻击触发==========================
- [@Struck]
- #IF
- CHECKCURRTARGETRACE = 0
- #ACT
- SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
- #IF
- CHECKCURRTARGETRACE = 1
- #ACT
- SENDMSG 6 你被英雄【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
- #IF
- CHECKCURRTARGETRACE = 151
- #ACT
- SENDMSG 6 你被分身【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
- #IF
- #ACT
- SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
- BREAK
复制代码;======================下面变量获取怪物完整名字========================== 增加技能锁定目标名(有可能为空,比倚天辟地等 等无鼠标指向 、点击、魔法锁定的目标时)
<$ATTACKMONSTER_NAMEEX> 增加变量以显示完整名(不去数字):<$CURRRTARGETFULLNAME> 上面演示脚本中变量不获取怪物名字后面的数字:<$CURRRTARGETNAME> 提供2种变量大家自己按需使用! 英雄攻击触发:[@HeroAttack]
[@HeroMagicAttack]
[@HeroStruck]
[@HeroMagicStruck] 所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾
- ;======================物理攻击触发==========================
- [@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
复制代码- ;======================魔法攻击触发==========================
- [@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
复制代码- ;======================被魔法攻击触发==========================
- [@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
复制代码===========下面变量获取怪物完整名字========================== 增加变量以显示完整名(不去数字):<$H.CURRRTARGETFULLNAME> 上面演示脚本中变量不获取怪物名字后面的数字:<$H.CURRRTARGETNAME> 提供2种变量大家自己按需使用! 人物攻击和被攻击掉血前触发、修改当前伤害血量格式:ChangeDamageValue 类型(0=值,1=百分比) 操作符(+,-,=) 值注意:当前伤害血量仅用于以下触发 增加伤害前触发:
人物攻击目标掉血前:@AttackDamage
英雄攻击目标掉血前:@HeroAttackDamage
人物被攻击掉血前:@StruckDamage
英雄被攻击掉血前:@HeroStruckDamage 增加NPC变量,当前伤害掉血量(仅用于以下触发):<$DamageValue> <$H.DamageValue> - [@AttackDamage]
- #ACT
- SENDMSG 6 人物攻击目标,掉血量为<$DamageValue>,攻击加成10点血量
- ChangeDamageValue 0 + 10
- [@HeroAttackDamage]
- #ACT
- SENDMSG 6 英雄攻击目标,掉血量为<$H.DamageValue>,攻击加成10点血量
- H.ChangeDamageValue 0 + 10
- [@StruckDamage]
- #ACT
- SENDMSG 6 人物被攻击,掉血量为<$DamageValue>,抵御掉血量的50%
- ChangeDamageValue 1 - 50
- [@HeroStruckDamage]
- #ACT
- SENDMSG 6 英雄被攻击,掉血量为<$H.DamageValue>,抵御掉血量的50%
- H.ChangeDamageValue 1 - 50
复制代码 分身攻击触发:@CloneStruck人物分身被物理攻击
@CloneMagicStruck人物分身被魔法攻击
@CloneAttack人物分身物理攻击别人
@CloneMagicAttack人物分身魔法攻击别人 @HeroCloneStruck英雄分身被物理攻击
@HeroCloneMagicStruck英雄分身被魔法攻击
@HeroCloneAttack英雄分身物理攻击别人
@HeroCloneMagicAttack英雄分身魔法攻击别人 宝宝攻击触发
- [@SlaveMagicStruck]
- #ACT
- SENDMSG 6 你的宝宝被魔法攻击了
- BREAK
- [@SlaveMagicAttack]
- #ACT
- SENDMSG 6 你的宝宝魔法攻击了目标
- BREAK
- [@SlaveStruck]
- #ACT
- SENDMSG 6 你的宝宝被物理攻击了
- BREAK
- [@SlaveAttack]
- #ACT
- SENDMSG 6 你的宝宝物理攻击目标
- BREAK
复制代码 宝宝攻击触发和魔法攻击触发中获取本次触发的宝宝名称增加变量<$CurSlaveName>,仅用于[@SlaveAttack]及[@SlaveMagicAttack]中 - [@SlaveAttack]
- #ACT
- SendMsg 5 当前攻击宝宝名为<$CurSlaveName>
- [@SlaveAttack]
- #IF
- EQUAL <$CurSlaveName> 蜈蚣
- #ACT
- SENDMSG 6 你的蜈蚣宝宝在攻击目标
- #IF
- EQUAL <$CurSlaveName> 骷髅
- #ACT
- SENDMSG 6 你的骷髅宝宝在攻击目标
复制代码显示完整宝宝名称不去数字的变量:<$CurSlaveFullName> 按需使用 宝宝攻击前\掉血前触发(含分身)@SlaveAttackDamage 宝宝(含分身)
@SlaveStruckDamage 宝宝(含分身) 宠物攻击触发[@GamePetAttack]宠物攻击触发
[@GamePetMagicAttack]宠物魔法攻击触发 [@GamePetStruck]宠物被攻击触发
[@GamePetMagicStruck]宠物被魔法攻击触发 宠物攻击目标名称:
<$Pet.CurTargetName> 不带数字
<$Pet.CurTargetFullName> 宠物当前攻击目标坐标
<$Pet.CurTargetX>
<$Pet.CurTargetY> 宠物当前击中目标HP
<$Pet.CurTargetHP>
<$Pet.CurTargetMaxHP> 宠物攻击目标掉血量
<$Pet.DamageValue> 宠物杀死的怪物名称
<$Pet.KillMonName> - [@GamePetStruckDamage]
- #ACT
- ;****** 宠物
- SENDMSG 6 宠物被攻击,掉血量为<$Pet.DamageValue>,抵御掉血量的50%
- Pet.ChangeDamageValue 1 - 50
- [@SlaveStruckDamage ]
- #ACT
- ;****** 宝宝不像宠物或英雄,只有一个,可以用H.或Pet.直接访问到这个宠物;而宝宝可能存在多个,多级脚本中就不好处理,所以宝宝用人物的
- ;SENDMSG 6 宝宝被攻击,掉血量为<$DamageValue>,抵御掉血量的50%
- ChangeDamageValue 1 - 50
- [@SlaveAttackDamage ]
- #ACT
- ;****** 宝宝不像宠物或英雄,只有一个,可以用H.或Pet.直接访问到这个宠物;而宝宝可能存在多个,多级脚本中就不好处理,所以宝宝用人物的
- ;SENDMSG 6 宝宝攻击目标,掉血量为<$DamageValue>,攻击加成10点血量
- ChangeDamageValue 0 + 10
复制代码 英雄宝宝攻击触发英雄宝宝攻击触发和人物宝宝攻击触发用法一致,只是触发命令不同@HeroSlaveMagicStruck
@HeroSlaveStruck
@HeroSlaveMagicAttack
@HeroSlaveAttack 增加变量<$H.CurSlaveName> 英雄当前宝宝名 。 仅用于 [@HeroSlaveMagicAttack] 及 [@HeroSlaveAttack]中 增加英雄的宝宝死亡触发 @OnHeroSlaveDie 增加变量<H.DIESLAVENAME> 英雄当前死亡宝宝名(不去数字) - [@HeroSlaveMagicStruck]
- #act
- sendmsg 5 英雄宝宝被魔法攻击
- [@HeroSlaveStruck]
- #act
- sendmsg 5 英雄宝宝被物理攻击
- [@HeroSlaveMagicAttack]
- #act
- sendmsg 5 英雄的宝宝 <$H.CurSlaveName> 正在用魔法攻击目标
- [@HeroSlaveAttack]
- #act
- sendmsg 5 英雄的宝宝 <$H.CurSlaveName> 正在砍目标
复制代码 秒杀保护格式:ProtectHP 检测血量 保留血量 有效时间 是否为百分比
- [@防秒杀百分比]
- #act
- ProtectHP 90 10 360 1
- SENDMSG 6 该脚本的意思是,你的血量在大于等于90%的情况下,如果有人可以一刀秒杀你,你不会被秒杀,而是把你的血量降低到10%,并且触发QF字段[@ProtectHP],有效期360秒
- [@防秒杀]
- #act
- ProtectHP 100 10 360 0
- SENDMSG 6 该脚本的意思是,你的血量在大于等于100的情况下,如果有人可以一刀秒杀你,你不会被秒杀,而是把你的血量降低到10,并且触发QF字段[@ProtectHP],有效期360秒
复制代码 英雄操作命令:H.ProtectHP连击完成触发,连击释放触发- [@ContinueMagicFinished]
- #ACT
- SENDMSG 6 连击施展完成
复制代码
|