在魔兽争霸编辑器中,何魔通过草丛实现快速撤退的兽争速撤核心思路是利用触发器检测单位进入草丛区域,并触发加速或传送效果。霸编以下是辑器两种常见实现方式的详细步骤:

方案一:草丛加速

当单位进入草丛时增加移动速度,离开后恢复原速。中通

步骤设置:

1. 创建草丛区域:

  • 在场景编辑器中,过草使用区域工具(Region)覆盖所有草丛的丛实位置,命名为`Grass_1`、现快`Grass_2`等。何魔
  • 2. 设置哈希表变量:

  • 创建两个哈希表变量:
  • `GrassCountHash`:记录单位所在的兽争速撤草丛区域数量。
  • `UnitSpeedHash`:存储单位的霸编原始移动速度。
  • 3. 触发器:进入草丛加速

  • 事件:
  • 单位进入 `Grass_1`
  • 单位进入 `Grass_2`(添加所有相关区域)
  • 条件:
  • `(触发单位) 是辑器 英雄`(可选,根据需求调整)
  • 动作:
  • 设置 TempUnit = (触发单位)

    设置 TempHandle = (TempUnit 的中通句柄ID)

    设置 TempCount = (从 GrassCountHash 中载入 TempHandle 对应的值,默认 0)

    如果 TempCount == 0:

    保存 (TempUnit 的过草当前移动速度) 到 UnitSpeedHash,键为 TempHandle

    设置 TempUnit 的丛实移动速度 = (默认速度 × 1.5)

    保存 (TempCount + 1) 到 GrassCountHash,键为 TempHandle

    4. 触发器:离开草丛恢复速度

  • 事件:
  • 单位离开 `Grass_1`
  • 单位离开 `Grass_2`(添加所有相关区域)
  • 条件:同上
  • 动作:
  • 设置 TempUnit = (触发单位)

    设置 TempHandle = (TempUnit 的句柄ID)

    设置 TempCount = (从 GrassCountHash 中载入 TempHandle 对应的值,默认 0)

    设置 TempCount = TempCount

  • 1
  • 如果 TempCount < 0:

    TempCount = 0

    保存 TempCount 到 GrassCountHash,键为 TempHandle

    如果 TempCount == 0:

    设置 OriginalSpeed = (从 UnitSpeedHash 中载入 TempHandle 对应的值)

    设置 TempUnit 的移动速度 = OriginalSpeed

    删除 UnitSpeedHash 中键为 TempHandle 的数据

    方案二:草丛传送

    当单位在草丛中时,可使用技能立即传送回基地。

    步骤设置:

    1. 创建区域与技能:

  • 草丛区域:同上,用区域覆盖草丛。
  • 基地区域:创建一个区域`Region_Base`作为传送目标点。
  • 自定义技能:新建一个技能(如通魔技能),命名为“紧急撤退”。
  • 2. 触发器:进入草丛添加技能

  • 事件:单位进入所有草丛区域。
  • 条件:单位是英雄。
  • 动作:
  • 添加技能“紧急撤退”给 (触发单位)

    3. 触发器:离开草丛移除技能

  • 事件:单位离开所有草丛区域。
  • 条件:单位是英雄。
  • 动作:
  • 如果 (触发单位) 拥有技能“紧急撤退”:

    移除技能“紧急撤退”从 (触发单位)

    4. 触发器:使用技能传送

  • 事件:单位发动技能效果。
  • 条件:施放的技能等于“紧急撤退”。
  • 动作:
  • 立即移动 (触发单位) 到 Region_Base 的中心点

    移除技能“紧急撤退”从 (触发单位)

    注意事项:

  • 区域覆盖:确保草丛区域与模型位置匹配,避免触发不准确。
  • 技能平衡:传送类技能需设置合理冷却和魔法消耗,避免滥用。
  • 哈希表清理:单位死亡时,可在相关触发器中清除哈希表数据,防止内存泄漏。
  • 通过上述方法,你可以灵活实现草丛加速或传送的快速撤退机制,增强游戏策略性。