方法一:使用物体编辑器调整技能参数

适用于快速实现固定数值的何游持续伤害,无需编写触发器。戏中血效

1. 打开物体编辑器(Object Editor)

  • 进入地图编辑器,利用选择 物体编辑器>能力(Abilities)。魔兽每秒
  • 2. 复制并修改技能

  • 找到基础技能(如“慢速”或“酸性”),争霸增加右键复制并重命名(如“自定义”)。何游
  • 调整以下参数:
  • 持续时间(Duration):设置总时长(例如10秒)。戏中血效
  • 伤害间隔(Damage Interval):设为1秒。利用
  • 每间隔伤害(Damage per Interval):设为需要的魔兽每秒数值(例如每秒10点伤害)。
  • 效果类型(Effect Type):根据需要选择是争霸增加否显示视觉效果。
  • 3. 将技能赋予单位

  • 在单位属性中添加此技能,何游单位攻击或施法时会自动触发持续伤害。戏中血效
  • 方法二:使用触发器与哈希表

    适用于动态控制伤害数值和持续时间,利用支持多单位独立效果。魔兽每秒

    1. 初始化哈希表与单位组

    plaintext

    事件:地图初始化

    动作:

  • 创建哈希表:Hashtable
  • 创建哈希表,争霸增加保存为变量 Hash
  • 设置单位组:Set DamageGroup = 空单位组
  • 2. 应用持续伤害的触发器

    plaintext

    事件:单位

  • 任意单位被攻击
  • 条件:攻击单位拥有技能“自定义”

    动作:

  • 设置目标单位 TargetUnit = 被攻击单位
  • 哈希表操作:保存初始持续时间(如5秒)到 Hash,键为 TargetUnit 的句柄
  • 如果 TargetUnit 不在 DamageGroup 中,则添加到 DamageGroup
  • 3. 周期触发伤害的触发器

    plaintext

    事件:时间

  • 每1.00秒触发
  • 动作:

  • 遍历 DamageGroup 中的每个单位:
  • 获取单位 TempUnit
  • 从 Hash 中读取 TempUnit 的剩余时间 CurrentDuration
  • 如果 CurrentDuration >0:
  • 造成伤害:单位
  • 对 TempUnit 造成10点伤害
  • 更新剩余时间:CurrentDuration -= 1,并保存到 Hash
  • 否则:
  • 从 DamageGroup 移除 TempUnit
  • 清除 Hash 中 TempUnit 的数据
  • 注意事项

  • 技能选择:推荐使用“酸性”(Acid Bomb)作为基础技能,因其支持区域伤害和周期性效果。
  • 哈希表冲突:确保每个单位的唯一标识(如自定义值或句柄)正确存储。
  • 多人游戏兼容性:使用本地玩家触发器(Local Trigger)避免同步问题。
  • 通过以上方法,可灵活实现自定义的每秒减血效果。如需更复杂的逻辑(如叠加伤害),可在哈希表中存储额外参数(如伤害值、叠加层数)。