找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 98|回复: 0

与攻击有关的触发标签

[复制链接]

44

主题

2

回帖

291

积分

版主

元宝
42
金币
198
金刚石
0

宣传达人灌水之王荣誉管理论坛元老

发表于 2026-7-7 00:05:11 | 显示全部楼层 |阅读模式
攻击有关的触发全部在 QFunction-0.txt 文件内技能使用触发说明: 默认技能触发脚本功能没有开启,在功能设置\其他控制中开启之后才有效.
增加魔法触发功能.自身技能触发.[@MagSelfFuncX]`段(其中X表示要触发的魔法ID)
增加魔法触发功能.对目标人物使用时自身触发.[@MagTagFuncX]` 段(其中X表示要触发的魔法ID)
增加魔法触发功能.目标人物技能触发.[@MagTagFuncExX]` 段(其中X表示要触发的魔法ID)
增加魔法触发功能.目标怪物技能触发. [@MagMonFuncX]` 段(其中X表示要触发的魔法ID)
例子:使用治愈术时触发脚本 2代表MAGIC.DB数据库内技能ID
  1. [@MagSelfFunc2]
  2. #ACT
  3. SendMsg 5 自己加血
  4. [@MagTagFunc2]
  5. #ACT
  6. SendMsg 5 给别人加血
  7. [@MagMonFunc2]
  8. #ACT
  9. SendMsg 5 给怪物加血.
复制代码
英雄魔法触发功能
英雄使用技能时自身触发
[@HeroMagSelfFuncX]
英雄对目标人物使用时自身触发
[@HeroMagTagFuncX]
英雄对目标人物使用技能时目标触发
[@HeroMagTagFuncExX]
英雄对目标怪物使用技能时触发自身触发
[@HeroMagMonFuncX]
当人物使用技能前,自身触发
;触发字段
[@BeginMagic]
;变量
<$MagicID>
<$MagicName>
<$MagicTarget>
<$MagicTargetRace>
中断技能使用命令:StopMagic
范例:
  1. [@BeginMagic]
  2. #IF
  3. EQUAL <$MagicName> 野蛮冲撞
  4. EQUAL <$MagicTargetRace> 0
  5. <$MagicTarget>.CheckFenghao 不动如山
  6. #ACT
  7. StopMagic
  8. Sendmsg 7 目标拥有称号不动如山,无法对其释放野蛮冲撞.
复制代码
英雄使用技能前,自身触发:
[@H.BeginMagic]
变量:
<$H.MagicID>
<$H.MagicName>
<$H.MagicTarget>
<$H.MagicTargetRace>
;操作命令
中断技能使用命令:H.StopMagic支持
范例:
  1. [@H.BeginMagic]
  2. #if
  3. equal <$H.MagicName> 英雄雷电术
  4. #act
  5. H.StopMagic
  6. #elseact
  7. sendmsg 6 英雄技能(ID:<$H.MagicID>;技能:<$H.MagicName>;目标:<$H.MagicTarget>;目标类型:<$H.MagicTargetRace>)
复制代码
致命一击触发,暴击触发说明:致命一击打出触发,暴击打出触发
命令:
  1. [@BlastAttack]
  2. #ACT
  3. SENDMSG 6 物理攻击触发暴击

  4. [@BlastMagicAttack]
  5. #ACT
  6. SENDMSG 6 魔法攻击触发暴击

  7. [@FatalAttack]
  8. #ACT
  9. SENDMSG 6 物理攻击触发致命一击

  10. [@FatalMagicAttack]
  11. #ACT
  12. SENDMSG 6 魔法攻击触发致命一击

  13. [@HeroBlastAttack]
  14. #ACT
  15. SENDMSG 6 英雄物理攻击触发暴击

  16. [@HeroBlastMagicAttack]
  17. #ACT
  18. SENDMSG 6 英雄魔法攻击触发暴击

  19. [@HeroFatalAttack]
  20. #ACT
  21. SENDMSG 6 英雄物理攻击触发致命一击

  22. [@HeroFatalMagicAttack]
  23. #ACT
  24. SENDMSG 6 英雄魔法攻击触发致命一击
复制代码
人物攻击触发/被攻击触发所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾
  1. [@Attack]
  2. #IF
  3. CHECKCURRTARGETRACE = 0
  4. #ACT
  5. SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
  6. BREAK

  7. #IF
  8. #ACT
  9. SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。<$ATTACKMONSTER_NAME>,锁定目标<$ATTACKMONSTER_NAMEEX>。<$ATTACKMONSTER_MAXHP> 使用魔法ID=<$CURRRUSEMAGICID> 255 249
  10. BREAK
复制代码
  1. ;======================魔法攻击触发==========================

  2. [@MagicAttack]
  3. #IF
  4. CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID> 255 249
  7. BREAK


  8. #IF
  9. #ACT
  10. SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。<$ATTACKMONSTER_NAME>,锁定目标<$ATTACKMONSTER_NAMEEX>。<$ATTACKMONSTER_MAXHP> 使用魔法ID=<$CURRRUSEMAGICID> 255 249
  11. BREAK
复制代码
  1. ;======================被魔法攻击触发==========================
  2. [@MagicStruck]
  3. #IF
  4. CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  7. BREAK
  8. #IF
  9. CHECKCURRTARGETRACE = 1
  10. #ACT
  11. SENDMSG 6 你被英雄【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  12. BREAK
  13. #IF
  14. CHECKCURRTARGETRACE = 151
  15. #ACT
  16. SENDMSG 6 你被分身【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  17. BREAK


  18. #IF
  19. #ACT
  20. SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  21. BREAK
复制代码
  1. ;======================被物理攻击触发==========================
  2. [@Struck]
  3. #IF
  4. CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  7. BREAK
  8. #IF
  9. CHECKCURRTARGETRACE = 1
  10. #ACT
  11. SENDMSG 6 你被英雄【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  12. BREAK
  13. #IF
  14. CHECKCURRTARGETRACE = 151
  15. #ACT
  16. SENDMSG 6 你被分身【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  17. BREAK

  18. #IF
  19. #ACT
  20. SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID> 255 253
  21. BREAK
复制代码
;======================下面变量获取怪物完整名字==========================
增加技能锁定目标名(有可能为空,比倚天辟地等 等无鼠标指向 、点击、魔法锁定的目标时)
<$ATTACKMONSTER_NAMEEX>
增加变量以显示完整名(不去数字):<$CURRRTARGETFULLNAME>
上面演示脚本中变量不获取怪物名字后面的数字:<$CURRRTARGETNAME>
提供2种变量大家自己按需使用!

英雄攻击触发:
[@HeroAttack]
[@HeroMagicAttack]
[@HeroStruck]
[@HeroMagicStruck]
所有触发只有攻击到怪物才会触发,有些魔法不会触发,如魔法盾
  1. ;======================物理攻击触发==========================
  2. [@HeroAttack]
  3. #IF
  4. H.CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你的英雄攻击了人物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249
  7. BREAK

  8. #IF
  9. H.CHECKCURRTARGETRACE = 1
  10. #ACT
  11. SENDMSG 6 你的英雄攻击了英雄【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249
  12. BREAK

  13. #IF
  14. #ACT
  15. SENDMSG 6 你的英雄攻击了怪物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249
  16. BREAK
复制代码
  1. ;======================魔法攻击触发==========================
  2. [@HeroMagicAttack]
  3. #IF
  4. H.CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你的英雄攻击了人物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249
  7. BREAK

  8. #IF
  9. H.CHECKCURRTARGETRACE = 1
  10. #ACT
  11. SENDMSG 6 你的英雄攻击了英雄【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249
  12. BREAK

  13. #IF
  14. #ACT
  15. SENDMSG 6 你的英雄攻击了怪物【<$H.CURRRTARGETNAME>】。使用魔法ID=<$H.CURRRUSEMAGICID> 255 249
  16. BREAK
复制代码
  1. ;======================被物理攻击触发==========================
  2. [@HeroStruck]
  3. #IF
  4. H.CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你的英雄被人物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  7. BREAK

  8. #IF
  9. H.CHECKCURRTARGETRACE = 1
  10. #ACT
  11. SENDMSG 6 你的英雄被英雄【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  12. BREAK

  13. #IF
  14. H.CHECKCURRTARGETRACE = 151
  15. #ACT
  16. SENDMSG 6 你的英雄被分身【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  17. BREAK

  18. #IF
  19. #ACT
  20. SENDMSG 6 你的英雄被怪物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  21. BREAK
复制代码
  1. ;======================被魔法攻击触发==========================
  2. [@HeroMagicStruck]
  3. #IF
  4. H.CHECKCURRTARGETRACE = 0
  5. #ACT
  6. SENDMSG 6 你的英雄被人物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  7. BREAK

  8. #IF
  9. H.CHECKCURRTARGETRACE = 1
  10. #ACT
  11. SENDMSG 6 你的英雄被英雄【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  12. BREAK

  13. #IF
  14. H.CHECKCURRTARGETRACE = 151
  15. #ACT
  16. SENDMSG 6 你的英雄被分身【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  17. BREAK

  18. #IF
  19. #ACT
  20. SENDMSG 6 你的英雄被怪物【<$H.CURRRTARGETNAME>】攻击了。使用魔法ID=<$H.CURRRUSEMAGICID> 255 253
  21. BREAK
复制代码
===========下面变量获取怪物完整名字==========================
增加变量以显示完整名(不去数字):<$H.CURRRTARGETFULLNAME>
上面演示脚本中变量不获取怪物名字后面的数字:<$H.CURRRTARGETNAME>
提供2种变量大家自己按需使用!

人物攻击和被攻击掉血前触发、修改当前伤害血量格式:ChangeDamageValue 类型(0=值,1=百分比) 操作符(+,-,=) 值
注意:当前伤害血量仅用于以下触发
增加伤害前触发:
人物攻击目标掉血前:@AttackDamage
英雄攻击目标掉血前:@HeroAttackDamage
人物被攻击掉血前:@StruckDamage
英雄被攻击掉血前:@HeroStruckDamage
增加NPC变量,当前伤害掉血量(仅用于以下触发):<$DamageValue> <$H.DamageValue>
  1. [@AttackDamage]
  2. #ACT
  3. SENDMSG 6 人物攻击目标,掉血量为<$DamageValue>,攻击加成10点血量
  4. ChangeDamageValue 0 + 10

  5. [@HeroAttackDamage]
  6. #ACT
  7. SENDMSG 6 英雄攻击目标,掉血量为<$H.DamageValue>,攻击加成10点血量
  8. H.ChangeDamageValue 0 + 10

  9. [@StruckDamage]
  10. #ACT
  11. SENDMSG 6 人物被攻击,掉血量为<$DamageValue>,抵御掉血量的50%
  12. ChangeDamageValue 1 - 50

  13. [@HeroStruckDamage]
  14. #ACT
  15. SENDMSG 6 英雄被攻击,掉血量为<$H.DamageValue>,抵御掉血量的50%
  16. H.ChangeDamageValue 1 - 50
复制代码
分身攻击触发:
@CloneStruck人物分身被物理攻击
@CloneMagicStruck人物分身被魔法攻击
@CloneAttack人物分身物理攻击别人
@CloneMagicAttack人物分身魔法攻击别人
@HeroCloneStruck英雄分身被物理攻击
@HeroCloneMagicStruck英雄分身被魔法攻击
@HeroCloneAttack英雄分身物理攻击别人
@HeroCloneMagicAttack英雄分身魔法攻击别人

宝宝攻击触发
  1. [@SlaveMagicStruck]
  2. #ACT
  3. SENDMSG 6 你的宝宝被魔法攻击了
  4. BREAK

  5. [@SlaveMagicAttack]
  6. #ACT
  7. SENDMSG 6 你的宝宝魔法攻击了目标
  8. BREAK

  9. [@SlaveStruck]
  10. #ACT
  11. SENDMSG 6 你的宝宝被物理攻击了
  12. BREAK

  13. [@SlaveAttack]
  14. #ACT
  15. SENDMSG 6 你的宝宝物理攻击目标
  16. BREAK
复制代码
宝宝攻击触发和魔法攻击触发中获取本次触发的宝宝名称
增加变量<$CurSlaveName>,仅用于[@SlaveAttack]及[@SlaveMagicAttack]中
  1. [@SlaveAttack]
  2. #ACT
  3. SendMsg 5 当前攻击宝宝名为<$CurSlaveName>

  4. [@SlaveAttack]
  5. #IF
  6. EQUAL <$CurSlaveName> 蜈蚣
  7. #ACT
  8. SENDMSG 6 你的蜈蚣宝宝在攻击目标

  9. #IF
  10. EQUAL <$CurSlaveName> 骷髅
  11. #ACT
  12. 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>
  1. [@GamePetStruckDamage]
  2. #ACT
  3. ;****** 宠物
  4. SENDMSG 6 宠物被攻击,掉血量为<$Pet.DamageValue>,抵御掉血量的50%
  5. Pet.ChangeDamageValue 1 - 50


  6. [@SlaveStruckDamage ]
  7. #ACT
  8. ;****** 宝宝不像宠物或英雄,只有一个,可以用H.或Pet.直接访问到这个宠物;而宝宝可能存在多个,多级脚本中就不好处理,所以宝宝用人物的
  9. ;SENDMSG 6 宝宝被攻击,掉血量为<$DamageValue>,抵御掉血量的50%
  10. ChangeDamageValue 1 - 50


  11. [@SlaveAttackDamage ]
  12. #ACT
  13. ;****** 宝宝不像宠物或英雄,只有一个,可以用H.或Pet.直接访问到这个宠物;而宝宝可能存在多个,多级脚本中就不好处理,所以宝宝用人物的
  14. ;SENDMSG 6 宝宝攻击目标,掉血量为<$DamageValue>,攻击加成10点血量
  15. ChangeDamageValue 0 + 10
复制代码
英雄宝宝攻击触发英雄宝宝攻击触发和人物宝宝攻击触发用法一致,只是触发命令不同
@HeroSlaveMagicStruck
@HeroSlaveStruck
@HeroSlaveMagicAttack
@HeroSlaveAttack
增加变量<$H.CurSlaveName> 英雄当前宝宝名 。 仅用于 [@HeroSlaveMagicAttack] 及 [@HeroSlaveAttack]中
增加英雄的宝宝死亡触发 @OnHeroSlaveDie
增加变量<H.DIESLAVENAME> 英雄当前死亡宝宝名(不去数字)
  1. [@HeroSlaveMagicStruck]
  2. #act
  3. sendmsg 5 英雄宝宝被魔法攻击

  4. [@HeroSlaveStruck]
  5. #act
  6. sendmsg 5 英雄宝宝被物理攻击

  7. [@HeroSlaveMagicAttack]
  8. #act
  9. sendmsg 5 英雄的宝宝 <$H.CurSlaveName> 正在用魔法攻击目标

  10. [@HeroSlaveAttack]
  11. #act
  12. sendmsg 5 英雄的宝宝 <$H.CurSlaveName> 正在砍目标
复制代码
秒杀保护格式:ProtectHP 检测血量 保留血量 有效时间 是否为百分比
  1. [@防秒杀百分比]
  2. #act
  3. ProtectHP 90 10 360 1
  4. SENDMSG 6 该脚本的意思是,你的血量在大于等于90%的情况下,如果有人可以一刀秒杀你,你不会被秒杀,而是把你的血量降低到10%,并且触发QF字段[@ProtectHP],有效期360秒

  5. [@防秒杀]
  6. #act
  7. ProtectHP 100 10 360 0
  8. SENDMSG 6 该脚本的意思是,你的血量在大于等于100的情况下,如果有人可以一刀秒杀你,你不会被秒杀,而是把你的血量降低到10,并且触发QF字段[@ProtectHP],有效期360秒
复制代码
英雄操作命令:H.ProtectHP连击完成触发,连击释放触发
  1. [@ContinueMagicFinished]
  2. #ACT
  3. SENDMSG 6 连击施展完成
复制代码





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|八·二单机论坛 ( 冀ICP备2026022037号-1 )

GMT+8, 2026-7-15 16:24 , Processed in 0.067462 second(s), 26 queries .

Powered by Discuz! X3.5

© 2026-2026 八二论坛.