🎮 双击选英雄 — 演示图实战
演示图:双击选英雄.w3x
触发器数:2
📁 本地路径:
F:\AI\AI-machine\W3演示图\
📑 触发器目录
- 初始化
- 双击选英雄
📜 触发器代码
初始化
text
触发器: 初始化 (初始化) [✓]
───────────────────────────────────────────────────────
事件
└─ 地图初始化
条件
└─ 无
动作
├─ CreateFogModifierRectBJ: EnabledDisabledEnabled, Player00, FogStateVisible, 可用地图区域()
├─ ── 设置可以选择的英雄 ──
├─ 保存数据到哈希表: [单位类型.gg_unit_Hpal_0001."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Hamg_0002."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Hmkg_0003."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Obla_0004."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Ofar_0005."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Otch_0006."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Udea_0007."可选"] = 1
├─ 保存数据到哈希表: [单位类型.gg_unit_Ulic_0008."可选"] = 1
└─ 保存数据到哈希表: [单位类型.gg_unit_Udre_0009."可选"] = 1双击选英雄
text
触发器: 双击选英雄 (初始化) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册玩家选择事件(PlayerALL, 选择)
条件
├─ 检查哈希表有数据(单位类型, 触发单位(), 整数, "可选") == TRUE
└─ 检查哈希表有数据(玩家, 触发玩家(), 单位类型, "英雄") == TRUE
动作
└─ 如果
├─ 条件: 检查哈希表有数据(玩家, 触发玩家(), 单位类型, "选择英雄") == TRUE
├─ 则
│ ── 第一次点击 记录玩家点击的英雄 并且在0.5秒后清除 ──
│ 保存数据到哈希表: [玩家.触发玩家()."选择英雄"] = 触发单位()
│ 启动计时器: 创建计时器(), 0.50s (一次性)
└─ 否则
── 第二次点击 点击的英雄=记录的英雄 完成双击选英雄 ──
如果
├─ 条件: 从哈希表读取数据(玩家, 触发玩家(), "选择英雄") == 触发单位()
├─ 则
│ ── 记录玩家的英雄 以便后期操作 ──
│ 保存数据到哈希表: [玩家.触发玩家()."英雄"] = 触发单位()
│ ── 清空双击选英雄时产生的逆天自定义值 ──
│ 清除哈希表: [单位类型.触发单位().整数]
│ 清除哈希表: [玩家.触发玩家().单位类型]
│ ── 对选择的英雄做归属更改的操作 ──
│ 设置单位归属: 触发单位(), 触发玩家(), 改变颜色
│ 移动单位: 触发单位(), 0.00, 0
│ 如果
│ ├─ 条件: 触发玩家() == GetLocalPlayer()
│ ├─ 则
│ │ PanCameraToTimed: 单位X坐标(触发单位()), 单位Y坐标(触发单位()), 0
│ └─ 否则: (无)
└─ 否则: (无)