在《魔兽争霸III》地图编辑器中,何通获得或金可以通过触发器(Trigger)实现单位复活时给予玩家额外经验或金币的过魔效果。以下是兽争分步实现方案:

核心思路

1. 捕捉单位死亡事件,记录死亡单位信息。霸编币

2. 检测单位是辑器经验否被复活(通过技能、物品或触发器)。复活

3. 复活成功后触发奖励机制,单位为玩家增加经验或金币。额外

详细步骤

1. 创建变量记录死亡单位

  • 新建 单位类型变量(如 `ReviveUnitType`)和 点变量(如 `RevivePoint`),何通获得或金用于存储死亡单位的过魔信息。
  • 可选:使用 哈希表单位自定义值管理多个单位复活(适合高级操作)。兽争
  • 2. 捕捉单位死亡事件

    plaintext

    触发器:Unit Dies

    事件:

  • 单位
  • 任意单位 死亡
  • 条件:

  • 需要复活的霸编币单位类型(可选,例如:单位类型等于 步兵)
  • 动作:

  • 设置 ReviveUnitType = (触发单位) 的辑器经验类型
  • 设置 RevivePoint = (触发单位) 的位置
  • 等待 X 秒(复活允许的延迟时间,例如10秒)
  • 如果:
  • 条件:(触发单位) 是复活存活的 等于 FALSE
  • 则:跳过后续动作(单位未被复活)
  • 否则:无动作
  • 单位
  • 删除 (触发单位)
  • 删除 RevivePoint
  • 3. 通过技能/物品复活单位并给予奖励

    plaintext

    触发器:Revive with Reward

    事件:

  • 单位
  • 任意单位 发动技能效果
  • 条件:

  • (施放技能) 等于 复活(如圣骑士的复活技能)
  • 动作:

  • 设置 TempUnit = (技能施放目标)
  • 设置 TempPlayer = (触发单位) 的所有者
  • 单位
  • 立即复活 TempUnit 在 RevivePoint, 生命值设为 100%
  • 玩家
  • 增加 100 金币 给 TempPlayer
  • 英雄
  • 增加 200 经验值 给 TempPlayer 的英雄 1, 显示 经验值获取提示
  • 4. 通用复活检测(无需技能)

    plaintext

    触发器:Check Revive

    事件:

  • 时间
  • 每 1.00 秒触发事件
  • 条件:

  • 动作:

  • 遍历所有已死亡的单位(需预先记录到单位组变量 DeadUnits)
  • 如果单位被复活(通过触发器或游戏机制):
  • 玩家
  • 增加金币/经验
  • 从 DeadUnits 中移除该单位
  • 注意事项

    1. 位置泄露:务必用 `点

  • 删除` 清理临时点变量。
  • 2. 多人游戏兼容性:确保通过 `(触发玩家)` 或单位所有者分配奖励,单位避免错误玩家受益。

    3. 技能匹配:修改条件中的技能名称以匹配你地图中的复活技能(如自定义技能)。

    4. 经验分配:若奖励对象是英雄,使用 `英雄

  • 增加经验` 动作;非英雄单位需通过其他方式转换经验。
  • 扩展功能

  • 随机奖励:使用 `随机整数` 函数让金币/经验浮动。
  • 复活次数限制:通过整型变量记录单位复活次数,超过后不再给予奖励。
  • 特效提示:在复活时创建特效(如 `AbilitiesSpellsHumanResurrectResurrectCaster.mdl`)增强视觉效果。
  • 通过以上方法,你可以灵活控制单位复活时的奖励机制,提升地图的策略性和趣味性。