🎮 锤石 — 演示图实战
演示图:守护污染者锤石(开源版).w3x
触发器数:169
📁 本地路径:
F:\AI\AI-machine\W3演示图\守护污染者锤石(开源版).w3x
📑 触发器目录
- 写在前面的话
- 初始化CSH
- 初始化单位CSHDW
- 初始化设置CSHSZ
- 初始化物品CSHWP
- 初始化物品2CSHWP2
- 难度选择NDXZ
- 自动选择难度ZDXZ
- 选择英雄XZYX
- 随机英雄SJYX
- 时间过去60秒
- 界-先知JXZ
- 谋-圣骑士MSQ
- SP-守望者SWZ
- 神狗头SGT
- 神阿克SAK
- 游戏胜利存档YXSL
- 游戏失败存档YXSB
- BOSS创建CJ
- BOSS技能JN
- BOSS死亡存档SW
- 关于技能
- 大魔法师-暴风雪BFX
- 大魔法师-水元素SYS
- 大魔法师-天辉TH
- 山丘之王-风暴之锤FBZC
- 山丘之王-雷霆一击LTYJ
- 山丘之王-天神下凡TSXF
- 圣骑士-圣光SG
- 圣骑士-圣盾SH
- 圣骑士-庇护之光BHZG
- 血魔法师-烈焰风暴LYFB
- 血魔法师-虚无XW
- 血魔法师-魔瘾MY
- 血魔法师-凤凰FH
- 地精-临时箭塔LSJT
- 地精-火箭HJ
- 暗影猎手-医疗波YLB
- 暗影猎手-妖术YS
- 暗影猎手-蛇棒SB
- 暗影猎手-巫毒WD
- 剑圣-疾风步JFB
- 剑圣-剑刃风暴JRFB
- 牛头人-冲击波CJB
- 牛头人-战争践踏ZZJT
- 先知-闪电链SDL
- 先知-探视TS
- 先知-雷霆风暴LTFB
- 斧王-嘲讽CF
- 斧王-跳斩TZ
- 斧王-无敌斩WDZ
- 地狱行者-无敌斩WDZ
- 恐惧魔王-腐臭蜂群FCFQ
- 恐惧魔王-睡眠SM
- 死亡骑士-死亡缠绕SWCR
- 死亡骑士-尸爆SBS
- 死亡骑士-死亡路径SWLJ
- 地穴领主-穿刺CC
- 巫妖-霜冻新星SDXX
- 巫妖-霜冻护甲SDHJ
- 巫妖-霜冻领域SDLY
- 巫妖-死亡一指SWYZ
- 娜迦-叉状闪电CZSD
- 娜迦-潮涌CY
- 娜迦-龙卷风LJF
- 白虎-猫头鹰MTY
- 白虎-月华YH
- 白虎-流星雨LXY
- 恶魔猎手-法力燃烧FLRS
- 恶魔猎手-变身BS
- 老鹿-缠绕CR
- 老鹿-宁静NJ
- 守望者-刀阵旋风DZXF
- 守望者-残影CY
- 守望者-毒镖DB
- 守望者-复仇天神FCTS
- 兽王-召唤熊ZHX
- 兽王-召唤豪猪ZHHZ
- 兽王-召唤战鹰ZHZY
- 兽王-惊吓JX
- 特殊英雄技能
- 谋圣骑-群体圣光QTSG
- 谋圣骑-无敌WD
- SP守望者-刃舞RW
- SP守望者-飞瞬FS
- SP守望者-漫天飞羽MTFY
- 狗头人-丢网DW
- 狗头人-无情连敲WQLQ
- 狗头人-查看Q-CK
- 阿克蒙德-黑暗之门HAZM
- 单位技能
- 熊技能-狂怒KN
- 猪技能-狂热KR
- 宝宝-拾取物品SQWP
- 宝宝-合成物品HCWP
- 宝宝-出售物品CSWP
- 随机技能
- 天赋神通-淬炼生机CLSJ
- 天赋神通-禁法止戈JFZG
- 天赋神通-无言恐惧WYKJ
- 天赋神通-真言咒令ZYZL
- 天赋神通-驱祸避凶QHBX
- 天赋神通-神机百炼SJBL
- 天赋神通-我血化身WXHS
- D冲锋DCF
- F2回城
- F3英雄数据YXSJ
- ESC切换背包QHBB
- 右键双击给予物品1
- 宝宝移动BBYD
- 翅膀移动CBYD
- 查看怨种值YZZ
- 玩家退出WJTC
- 左键双击物品事件ZJSJWP
- 获得物品HDWP
- 丢弃物品DQWP
- 彩蛋物品CDWP
- 精品商店JPSD
- 黑心商店HXSD
- 挑战者商店TZZSD
- 泉水物品QSWP
- 物品技能
- 物品技能-剥夺BD
- 物品技能-盗贼手套DZST
- 物品技能-吸血鬼XXG
- 物品技能-金币JB
- 物品技能-生命值药水SMYS
- 物品技能-魔法药水MFYS
- 物品技能-岩石傀儡YSKL
- 物品技能-偷盗手套TDSTS
- 物品技能-死亡一指SWYZ
- 物品技能-变羊BY
- 物品技能-有一说一YYSY
- 物品技能-一念一界YNYJ
- 物品技能-嘲讽CF
- 物品技能-诱捕YB
- 物品技能-复制FZ
- 物品技能-重铸CZ
- 物品技能-吞噬TS
- 物品技能-恶毒药剂EDYJ
- 兵种升级BZSJ
- 敌人进攻DRJG
- 练功房LGF
- BOSS技能BSJN
- 伤害事件
- 任意单位伤害事件RYDWSHSL
- 伤害计算SHJS
- 马甲伤害MJSH
- 其他事件
- 敌人单位死亡DRDWSW
- 玩家单位死亡WJDWSW
- 中立单位死亡ZLDWSS
- 学习技能事件XXJN
- 任意单位攻击事件RYDWGJ
- 召唤单位事件ZHDWSJ
- 任意单位施法事件RYDWSF
- 每秒事件MMSJ
- 污染者锤石控制WRZCS
- 低生命值提示DSMZTS
- 选取XQ
- 能量提升物品排泄NLTSWP
- 野外商店随机移动SJYD
- 中立单位设置ZLDW
- 玩家离开挑战区域WJLKTZQY
- 随机事件SJSJ
- 天雷TL
- 排泄检测PX
📜 触发器代码
写在前面的话
text
触发器: 写在前面的话 (初始化) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)初始化CSH
text
触发器: 初始化CSH (初始化) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册计时器单次事件(0.00)
条件
└─ 无
动作
├─ ── 这个触发只使用一次,因此我选择在这个触发运行之后删除这个触发。 ──
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ ── 开启全图 ──
├─ 战争迷雾开关: EnabledDisabledDisabled
├─ 迷雾遮罩开关: EnabledDisabledDisabled
├─ 执行区域代码块: "游戏开始提示"
├─ 执行区域代码块: "敌人玩家设置"
├─ 执行区域代码块: "单位设置"
└─ 执行区域代码块: "启动其他触发"初始化单位CSHDW
text
触发器: 初始化单位CSHDW (初始化) [✓] — 我在这里初始化设置了敌人进攻单位和玩家的马甲单位。后续触发可以直接调用这些单位。
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 执行区域代码块: "敌人单位设置"
├─ 执行区域代码块: "敌人BOSS设置"
├─ 执行区域代码块: "精英部队"
├─ 执行区域代码块: "背包马甲设置"
└─ 执行区域代码块: "召唤部队"初始化设置CSHSZ
text
触发器: 初始化设置CSHSZ (初始化) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 执行区域代码块: "多面板"
├─ 执行区域代码块: "区域设置"
├─ 执行区域代码块: "对话框创建"
├─ 执行区域代码块: "掉落物品池设置"
├─ 执行区域代码块: "随机技能设置"
└─ 执行区域代码块: "计时器设置"初始化物品CSHWP
text
触发器: 初始化物品CSHWP (初始化) [✓] — 这里我使用了自定义值来给各个物品赋值,方便我后续触发读取使用这些自定义值
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 执行区域代码块: "堆叠物品设置"
├─ 执行区域代码块: "晋阶物品设置"
├─ 执行区域代码块: "史诗级物品"
└─ 执行区域代码块: "物品合成"初始化物品2CSHWP2
text
触发器: 初始化物品2CSHWP2 (初始化) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
└─ 执行区域代码块: "合成物品"难度选择NDXZ
text
触发器: 难度选择NDXZ (玩家/英雄) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册对话框事件(dkh/*难度对话框*/)
条件
└─ 无
动作
├─ ── 玩家选择了难度就关闭删除自动选择难度触发 ──
├─ 关闭触发器 gg_trg___________________ZDXZ
├─ 销毁触发器(自身)
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ ── 读取玩家选取难度,赋予相应的难度科技 ──
├─ 循环整数A 1→8
│ └─ 如果
│ ├─ 条件: 对话框按钮比较(被点击的对话框按钮(), OperatorEqualENE, dkkan/*对话框按钮*/[循环整数A])
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "当前已选择难度" + (循环整数A()转字符串)
│ │ SetPlayerTechResearchedSwap: Rhme, OperatorIntegerSubtract(循环整数A, 1), 玩家8(粉)
│ │ SetPlayerTechResearchedSwap: Rhme, OperatorIntegerSubtract(循环整数A, 1), 玩家9(灰)
│ │ SetPlayerTechResearchedSwap: Rhme, OperatorIntegerSubtract(循环整数A, 1), 玩家10(淡蓝)
│ │ SetPlayerTechResearchedSwap: Rhme, OperatorIntegerSubtract(循环整数A, 1), 玩家11(暗绿)
│ │ SetPlayerTechResearchedSwap: Rhme, OperatorIntegerSubtract(循环整数A, 1), PlayerNA
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 对话框按钮比较(被点击的对话框按钮(), OperatorEqualENE, dkkan/*对话框按钮*/[0])
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "当前已选择难度" + ":休闲模式。当前模式下,敌人不会进攻。玩家也不会获得游戏胜利。"
│ │ 暂停计时器 jsq/*计时器*/
│ │ 关闭触发器 gg_trg_____________BZSJ
│ │ 销毁触发器(自身)
│ └─ 否则: (无)
├─ ── 开启随机事件 ──
├─ 设置局部变量:"nd"=玩家科技等级(Rhme, 玩家11(暗绿))
├─ 如果
│ ├─ 条件: 读取局部变量("nd") OperatorGreater 3
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2350"
│ │ YDWETimerRunTrigger: 300.00, gg_trg_____________SJSJ
│ └─ 否则: (无)
├─ ── 开启BOSS技能 ──
└─ 如果
├─ 条件: 读取局部变量("nd") OperatorGreater 4
├─ 则
│ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2483"
│ 开启触发器 gg_trg_BOSS______BSJN
└─ 否则
关闭触发器 gg_trg_BOSS______BSJN
销毁触发器(自身)自动选择难度ZDXZ
text
触发器: 自动选择难度ZDXZ (玩家/英雄) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册计时器单次事件(60.00)
条件
└─ 无
动作
├─ ── 如果玩家没有选取难度,就自动选择难度1 ──
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 关闭触发器 gg_trg_____________NDXZ
├─ 销毁触发器(自身)
├─ DialogDisplay: Player00, dkh/*难度对话框*/, ShowHideHide
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeAlwaysHint, "TRIGSTR_050"
├─ 关闭触发器 gg_trg_BOSS______BSJN
└─ 销毁触发器(自身)选择英雄XZYX
text
触发器: 选择英雄XZYX (剧情/任务) [✓] — 简单的自定义值双击选英雄
───────────────────────────────────────────────────────
事件
├─ 注册玩家选择事件(Player00, 选择)
├─ 注册玩家选择事件(玩家1(红), 选择)
├─ 注册玩家选择事件(玩家2(蓝), 选择)
├─ 注册玩家选择事件(玩家3(青), 选择)
├─ 注册玩家选择事件(玩家4(紫), 选择)
└─ 注册玩家选择事件(玩家5(黄), 选择)
条件
├─ 单位在区域内(gg_rct_____________XRQY, 触发单位()) == TRUE
├─ 单位归属玩家(触发单位(), 非玩家) == TRUE
├─ 玩家属性值(触发玩家(), 人口上限) != 10
└─ 触发单位() == gg_unit_Nsjs_0040
动作
├─ ── 先捕捉玩家和选取的单位 ──
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"d"=触发单位()
├─ ── 选择英雄 ──
├─ 如果
│ ├─ 条件: 检查哈希表有数据(单位类型, 读取局部变量("d"), 布尔, "选择英雄") == TRUE
│ ├─ 则
│ │ ── 移动英雄到指定区域 ──
│ │ 设置单位归属: 读取局部变量("d"), 读取局部变量("w"), 改变颜色
│ │ 设置局部变量:"q"=gg_rct_____________QSQY
│ │ 设置局部变量:"1"=(区域读取局部变量("q")中心)
│ │ 移动单位: 读取局部变量("d"), 读取局部变量("1")
│ │ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
│ │ ── 给与初始物品 ──
│ │ 添加物品: esaz, 读取局部变量("d")
│ │ 添加物品: jpnt, 读取局部变量("d")
│ │ ── 创建宝宝 ──
│ │ 如果
│ │ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ │ ├─ 则
│ │ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ │ └─ 否则
│ │ 如果
│ │ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ │ ├─ 则
│ │ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ │ └─ 否则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
│ │ ── 排泄点 ──
│ │ 清除点 读取局部变量("1")
│ │ 清除哈希表: [单位类型.读取局部变量("d").布尔]
│ │ ── 设置玩家属性 ──
│ │ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
│ │ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1500
│ │ ── 保存玩家英雄和宝宝 ──
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
│ │ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")
│ │ ── ----- ──
│ └─ 否则: (无)
├─ ── 用逆天自定义值来判定玩家双击 ──
├─ 保存数据到哈希表: [单位类型.读取局部变量("d")."选择英雄"] = true
└─ 启动计时器: 创建计时器(), 0.30s (一次性)随机英雄SJYX
text
触发器: 随机英雄SJYX (剧情/任务) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-sj"
条件
└─ 玩家属性值(触发玩家(), 人口上限) != 10
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"dwz"=区域内符合条件的单位(gg_rct_____________XRQY, (玩家比较((过滤单位()的所有者), OperatorEqualENE, 非玩家) 且 (布尔比较(单位类型判断(过滤单位(), 英雄), OperatorEqualENE, true) 且 布尔比较(单位类型判断(过滤单位(), UnitTypeDead), OperatorEqualENE, false))))
├─ 设置局部变量:"d"=随机选取单位组单位(读取局部变量("dwz"))
├─ ── 移动英雄到指定区域 ──
├─ 设置单位归属: 读取局部变量("d"), 读取局部变量("w"), 改变颜色
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
├─ ── 给与初始物品 ──
├─ 添加物品: esaz, 读取局部变量("d")
├─ 添加物品: jpnt, 读取局部变量("d")
├─ ── 创建宝宝 ──
├─ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ └─ 否则
│ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ └─ 否则
│ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除哈希表: [单位类型.读取局部变量("d").布尔]
├─ ── 设置玩家属性 ──
├─ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
├─ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1800
├─ ── 保存玩家英雄和宝宝 ──
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
├─ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")
├─ ── 排泄 ──
├─ GroupClear: 读取局部变量("dwz")
└─ 删除单位组 读取局部变量("dwz")时间过去60秒
text
触发器: 时间过去60秒 (剧情/任务) [✓] — 60秒后删除多余触发
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 执行区域代码块: "关闭删除多余触发"
├─ 执行区域代码块: "删除多余单位"
├─ 执行区域代码块: "游戏提示"
└─ 执行区域代码块: "判定玩家人数"-----------
text
触发器: ----------- (剧情/任务) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)界-先知JXZ
text
触发器: 界-先知JXZ (剧情/任务) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-xz"
条件
└─ 玩家属性值(触发玩家(), 人口上限) != 10
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"d"=创建单位(指定坐标)(读取局部变量("w"), Naka, 0, 0, 0)
├─ ── 移动英雄到指定区域 ──
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
├─ 设置魔法百分比: 读取局部变量("d"), 100
├─ ── 给与初始物品 ──
├─ 添加物品: esaz, 读取局部变量("d")
├─ 添加物品: jpnt, 读取局部变量("d")
├─ ── 创建宝宝 ──
├─ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ └─ 否则
│ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ └─ 否则
│ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除哈希表: [单位类型.读取局部变量("d").布尔]
├─ ── 设置玩家属性 ──
├─ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
├─ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1800
├─ ── 保存玩家英雄和宝宝 ──
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
└─ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")谋-圣骑士MSQ
text
触发器: 谋-圣骑士MSQ (剧情/任务) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-sq"
条件
└─ 玩家属性值(触发玩家(), 人口上限) != 10
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"d"=创建单位(指定坐标)(读取局部变量("w"), Huth, 0, 0, 0)
├─ ── 移动英雄到指定区域 ──
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
├─ 设置魔法百分比: 读取局部变量("d"), 100
├─ ── 给与初始物品 ──
├─ 添加物品: esaz, 读取局部变量("d")
├─ 添加物品: jpnt, 读取局部变量("d")
├─ ── 创建宝宝 ──
├─ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ └─ 否则
│ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ └─ 否则
│ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除哈希表: [单位类型.读取局部变量("d").布尔]
├─ ── 设置玩家属性 ──
├─ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
├─ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1800
├─ ── 保存玩家英雄和宝宝 ──
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
└─ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")SP-守望者SWZ
text
触发器: SP-守望者SWZ (剧情/任务) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-sw"
条件
├─ 玩家属性值(触发玩家(), 人口上限) != 10
└─ DzAPI_Map_HasMallItem(触发玩家(), "YZ9") == TRUE
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"d"=创建单位(指定坐标)(读取局部变量("w"), Ewrd, 0, 0, 0)
├─ ── 移动英雄到指定区域 ──
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
├─ 设置魔法百分比: 读取局部变量("d"), 100
├─ ── 给与初始物品 ──
├─ 添加物品: esaz, 读取局部变量("d")
├─ 添加物品: jpnt, 读取局部变量("d")
├─ ── 创建宝宝 ──
├─ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ └─ 否则
│ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ └─ 否则
│ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除哈希表: [单位类型.读取局部变量("d").布尔]
├─ ── 设置玩家属性 ──
├─ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
├─ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1800
├─ ── 保存玩家英雄和宝宝 ──
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
└─ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")神狗头SGT
text
触发器: 神狗头SGT (剧情/任务) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "支持坤坤对战平台"
条件
└─ 玩家属性值(触发玩家(), 人口上限) != 10
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"d"=创建单位(指定坐标)(读取局部变量("w"), Osam, 0, 0, 0)
├─ ── 移动英雄到指定区域 ──
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
├─ 设置魔法百分比: 读取局部变量("d"), 100
├─ ── 给与初始物品 ──
├─ 添加物品: esaz, 读取局部变量("d")
├─ 添加物品: jpnt, 读取局部变量("d")
├─ ── 创建宝宝 ──
├─ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ └─ 否则
│ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ └─ 否则
│ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除哈希表: [单位类型.读取局部变量("d").布尔]
├─ ── 设置玩家属性 ──
├─ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
├─ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1800
├─ ── 保存玩家英雄和宝宝 ──
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
└─ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")神阿克SAK
text
触发器: 神阿克SAK (剧情/任务) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-ak"
条件
└─ 玩家属性值(触发玩家(), 人口上限) != 10
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"d"=创建单位(指定坐标)(读取局部变量("w"), Uwar, 0, 0, 0)
├─ ── 移动英雄到指定区域 ──
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
├─ 设置魔法百分比: 读取局部变量("d"), 100
├─ ── 给与初始物品 ──
├─ 添加物品: esaz, 读取局部变量("d")
├─ 添加物品: jpnt, 读取局部变量("d")
├─ ── 创建宝宝 ──
├─ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "HY") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u002, 读取局部变量("1"), 0)
│ └─ 否则
│ 如果
│ ├─ 条件: 平台存储整数(读取局部变量("w"), "JQ") OperatorGreater 0
│ ├─ 则
│ │ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), u001, 读取局部变量("1"), 0)
│ └─ 否则
│ 设置局部变量:"u"=创建单位(指定点)(读取局部变量("w"), uaco, 读取局部变量("1"), 0)
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除哈希表: [单位类型.读取局部变量("d").布尔]
├─ ── 设置玩家属性 ──
├─ 设置玩家属性: 读取局部变量("w"), 人口上限, 10
├─ 设置玩家属性: 读取局部变量("w"), PlayerStateGold, 1800
├─ ── 保存玩家英雄和宝宝 ──
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置 wanjiayingx/*玩家英雄*/[读取局部变量("n")] = 读取局部变量("d")
└─ 设置 wanjbaobao/*玩家宝宝*/[读取局部变量("n")] = 读取局部变量("u")游戏胜利存档YXSL
text
触发器: 游戏胜利存档YXSL (技能/物品) [✓]
───────────────────────────────────────────────────────
事件
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
└─ 玩家单位 - 单位死亡
条件
└─ (死亡单位()类型ID) == Ecen
动作
├─ 设置局部变量:"dwz"=区域内符合条件的单位(可用地图区域(), (单位类型比较((过滤单位()类型ID), OperatorEqualENE, Ecen) 且 布尔比较(单位存活判断(过滤单位()), OperatorEqualENE, true)))
├─ 设置局部变量:"n"=(读取局部变量("dwz")中的单位数)
├─ GroupClear: 读取局部变量("dwz")
├─ 删除单位组 读取局部变量("dwz")
└─ 如果
├─ 条件: 读取局部变量("n") == 0
├─ 则
│ 设置局部变量:"z"=玩家科技等级(Rhme, 玩家11(暗绿))
│ 如果
│ ├─ 条件: 读取局部变量("z") OperatorGreaterEq 6
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2815"
│ │ ConditionalTriggerExecute: gg_trg_BOSS______CJ
│ └─ 否则
│ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeCompleted, "TRIGSTR_2814"
│ 启动计时器: 创建计时器(), 30.00s (一次性)
│ 关闭触发器 当前触发器()
│ 销毁触发器(自身)
└─ 否则: (无)游戏失败存档YXSB
text
触发器: 游戏失败存档YXSB (技能/物品) [✓]
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_Nsjs_0025 - 单位死亡
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeFailed, "TRIGSTR_066"
├─ 显示文本→GetPlayersAll(): "TRIGSTR_2716"
└─ 启动计时器: 创建计时器(), 30.00s (一次性)-----------
text
触发器: ----------- (技能/物品) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)BOSS创建CJ
text
触发器: BOSS创建CJ (技能/物品) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 设置局部变量:"u"=创建单位(指定坐标)(玩家11(暗绿), Hant, 0, 0, 0)
├─ 设置 maidiwen/*麦迪文*/ = 读取局部变量("u")
├─ YDWEForLoopLocVarMultiple: "i", 1, 6
├─ 添加事件到 gg_trg_BOSS______JN: 注册单位事件(读取局部变量("u"), UnitEventAttacked)
├─ 添加事件到 gg_trg_BOSS____________SW: 注册单位事件(读取局部变量("u"), 单位死亡)
└─ YDWEExecuteTriggerMultiple: gg_trg_BOSS______JN, tirggerexecute_notconditionBOSS技能JN
text
触发器: BOSS技能JN (技能/物品) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 设置局部变量:"u"=maidiwen/*麦迪文*/
├─ 设置局部变量:"q"=gg_rct_____________CS
├─ 设置局部变量:"1"=区域内随机点(读取局部变量("q"))
├─ 移动单位: 读取局部变量("u"), 读取局部变量("1")
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl, 读取局部变量("u"), "overhead")
├─ 清除点 读取局部变量("1")
├─ 设置局部变量:"1"=区域内随机点(读取局部变量("q"))
├─ 设置局部变量:"d"=创建单位(指定点)(玩家10(淡蓝), nwgt, 读取局部变量("1"), 0)
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl, 读取局部变量("d"), "overhead")
├─ 清除点 读取局部变量("1")
├─ 启动计时器: 创建计时器(), 40.00s (一次性)
├─ 设置局部变量:"sj"=随机[1~11]
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 1
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2816"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 2
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2817"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 3
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2818"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 4
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2819"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 5
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2821"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 6
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2822"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 7
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2823"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 8
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2824"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 9
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2825"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 10
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_2826"
│ │ 启动计时器: 创建计时器(), 2.00s (一次性)
│ └─ 否则: (无)
└─ 如果
├─ 条件: 读取局部变量("sj") == 11
├─ 则
│ 显示文本→GetPlayersAll(): "TRIGSTR_2827"
│ 启动计时器: 创建计时器(), 2.00s (一次性)
└─ 否则: (无)BOSS死亡存档SW
text
触发器: BOSS死亡存档SW (技能/物品) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ YDWEForLoopLocVarMultiple: "i", 1, 6
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeCompleted, "TRIGSTR_2847"
└─ 启动计时器: 创建计时器(), 30.00s (一次性)关于技能
text
触发器: 关于技能 (区域/禁地) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)大魔法师-暴风雪BFX
text
触发器: 大魔法师-暴风雪BFX (区域/禁地) [✓] — 原本大法师的暴风雪需持续施法,过于羸弱。我希望可以移动施法,并且和其他技能有关联。于是制作了这个可以移动施法带有属性伤害的暴风雪。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHbz)
动作
├─ ── 首先需要捕捉施法单位 ──
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算这次暴风雪的伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHbz)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.20)
├─ 设置局部变量:"s"=(读取局部变量("s") + YDWEOperatorReal3((读取局部变量("j")转实数), YOperatorMultiply, 10.00, YOperatorAdd, 10.00))
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 11.00
├─ 添加技能: 读取局部变量("m"), ACbz
├─ 设置技能等级: 读取局部变量("m"), ACbz, 读取局部变量("j")
├─ ── 用自定义值记录上面我们计算出来的伤害,和施法单位。在其他触发中,赋予伤害。 ──
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ IssuePointOrderById: 读取局部变量("m"), OrderCodeBlizzard, 读取局部变量("x"), 读取局部变量("y")
├─ ── 读取辉煌光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHab)
├─ ── 创建等级相关的水元素在目标地点。 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), hwat, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), hwt2, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 3
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), hwt3, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ ── 读取英雄属性 ──
│ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ ── 读取水元素属性 ──
│ 设置局部变量:"u"=读取局部变量("m")
│ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
│ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
│ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
│ ── 赋予水元素额外属性 ──
│ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 12.00)
│ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.20)
│ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 0.70)
│ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
│ 设置生命百分比: 读取局部变量("u"), 100
│ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
│ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))
│ ── 设置水元素持续时间 ──
│ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeWaterElemental, 60.00
└─ 否则: (无)大魔法师-水元素SYS
text
触发器: 大魔法师-水元素SYS (区域/禁地) [✓] — 原本水元素技能只能召唤一个固定属性的水元素。现在我们加强一下,使得这个技能在召唤属性加成的水元素的时候,还能释放一次和辉煌光环等级相关的暴风雪技能。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHwe)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法单位坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 读取辉煌光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHab)
├─ ── 计算这次暴风雪的伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHbz)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.20)
├─ 设置局部变量:"s"=(读取局部变量("s") + YDWEOperatorReal3((读取局部变量("j")转实数), YOperatorMultiply, 10.00, YOperatorAdd, 10.00))
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ ── 创建马甲 ──
│ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
│ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 11.00
│ 添加技能: 读取局部变量("m"), ACbz
│ 设置技能等级: 读取局部变量("m"), ACbz, 读取局部变量("j")
│ ── 用自定义值记录上面我们计算出来的伤害,和施法单位。在其他触发中,赋予伤害。 ──
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
│ IssuePointOrderById: 读取局部变量("m"), OrderCodeBlizzard, 读取局部变量("x"), 读取局部变量("y")
└─ 否则: (无)大魔法师-天辉TH
text
触发器: 大魔法师-天辉TH (区域/禁地) [✓] — 这是一个简单的刷新自身技能CD的技能。如果使用重置全部技能CD的话,自身物品的CD也会被刷新。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00P)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ YDWESetUnitAbilityState: 读取局部变量("d"), AHbz, ABILITY_STATE_COOLDOWN, 0.00
└─ YDWESetUnitAbilityState: 读取局部变量("d"), AHwe, ABILITY_STATE_COOLDOWN, 0.00山丘之王-风暴之锤FBZC
text
触发器: 山丘之王-风暴之锤FBZC (区域/禁地) [✓] — 经典群锤技能。值得注意的是,马甲的施法前后摇为0,并且这个马甲技能的施法CD和魔法消耗也是0,所以只用一个马甲就可以快速对多个目标施法。最好使得马甲的风暴之锤技能施法距离比英雄远一些,这样可以造成一个圆形的伤害区域。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHtb)
动作
├─ ── 首先需要捕捉施法单位 ──
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 首先需要捕捉施法目标单位 ──
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHtb)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 100.00)
├─ ── 读取施法目标的坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 5.00
├─ 添加技能: 读取局部变量("m"), ANsb
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ ── 读取重击的技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHbh)
├─ ── 计算伤害范围 ──
├─ 设置局部变量:"l"=YDWEOperatorReal3(300.00, YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 以施法目标为圆心选取敌人释放风暴之锤 ──
└─ YDWEEnumUnitsInRangeMultiple: 单位X坐标(读取局部变量("u")), 单位Y坐标(读取局部变量("u")), 读取局部变量("l")山丘之王-雷霆一击LTYJ
text
触发器: 山丘之王-雷霆一击LTYJ (区域/禁地) [✓] — 这是一个属性加成的雷霆一击技能,也是最简单的属性加成伤害技能
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHtc)
动作
├─ ── 首先需要捕捉施法单位 ──
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHtc)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 计算伤害范围 ──
├─ 设置局部变量:"l"=YDWEOperatorReal3(200.00, YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取重击的技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHbh)
├─ ── 计算伤害范围 ──
├─ 设置局部变量:"l"=YDWEOperatorReal3(读取局部变量("l"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 选取范围内敌人,造成伤害 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 读取局部变量("l")山丘之王-天神下凡TSXF
text
触发器: 山丘之王-天神下凡TSXF (区域/禁地) [✓] — 现在天神下凡会赋予额外力量属性。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHav)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取英雄力量值 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=(读取局部变量("sx") / 2)
├─ ── 赋予额外力量 ──
├─ 修改 读取局部变量("d") 的HeroStatStr: ModifyMethodAdd读取局部变量("s")
└─ 启动计时器: 创建计时器(), 40.00s (一次性)圣骑士-圣光SG
text
触发器: 圣骑士-圣光SG (区域/禁地) [✓] — 现在圣光可以伤害治疗目标周围敌人。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHhb)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHhb)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
├─ ── 赋予伤害和特效 ──
├─ SetUnitState: 读取局部变量("u"), UnitStateLifeSec, (单位状态(读取局部变量("u"), UnitStateLife) + 读取局部变量("s"))
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 600.00圣骑士-圣盾SH
text
触发器: 圣骑士-圣盾SH (区域/禁地) [✓] — 这是一个可以持续伤害附近敌人的圣盾术。伤害数值与圣光术挂钩。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHds)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHds)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.20)
├─ ── 计算圣盾术时间 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHds)
├─ 设置局部变量:"t"=(读取局部变量("j") x 5)
├─ ── 逆天计时器循环造成伤害 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)圣骑士-庇护之光BHZG
text
触发器: 圣骑士-庇护之光BHZG (区域/禁地) [✓] — 这个是我用自定义做的一个技能,自定义本身只是数值,需要我们使用触发赋予效果。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AIdb)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 设置数值 ──
├─ 设置局部变量:"s"=100.00
├─ ── 选取附近友军英雄单位,添加自定义值 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 500.00血魔法师-烈焰风暴LYFB
text
触发器: 血魔法师-烈焰风暴LYFB (区域/禁地) [✓] — 释放烈焰风暴的时候,还会向四周释放一次冲击波。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHfs)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHfs)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 读取技能释放点位置 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 计算伤害范围 ──
├─ 设置局部变量:"l"=YDWEOperatorReal3(100.00, YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 100.00)
├─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 读取局部变量("l")
├─ ── 在技能释放点向四面八方释放冲击波 ──
├─ ── 计算冲击波伤害 ──
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.50)
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 4.00
├─ 添加技能: 读取局部变量("m"), ACc2
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ ── 在6个角度释放冲击波 ──
├─ ── 在这里我们使用逆天循环来完成6个角度施法 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 6血魔法师-虚无XW
text
触发器: 血魔法师-虚无XW (区域/禁地) [✓] — 一个简单的属性加成技能。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHbn)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害或者回血数值 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AHbn)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 判定单位是不是敌人 ──
└─ 如果
├─ 条件: 是敌方单位(读取局部变量("u"), (读取局部变量("d")的所有者)) == TRUE
├─ 则
│ ── 对敌人造成伤害 ──
│ 伤害目标: 读取局部变量("d"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS
└─ 否则
── 友军则是回血 ──
SetUnitState: 读取局部变量("u"), UnitStateLifeSec, (单位状态(读取局部变量("u"), UnitStateLife) + 读取局部变量("s"))血魔法师-魔瘾MY
text
触发器: 血魔法师-魔瘾MY (区域/禁地) [✓] — 简单的回蓝技能。这个技能是用通魔模拟的。通魔技能是作者用来模拟技能的最好模板,请自行打开这个技能学习物编。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00O)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算回蓝数值 ──
├─ 设置局部变量:"m1"=单位状态(读取局部变量("d"), UnitStateMana)
├─ 设置局部变量:"m2"=单位状态(读取局部变量("d"), UnitStateMaxMana)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00O)
├─ 设置局部变量:"m"=(读取局部变量("m2") - 读取局部变量("m1"))
├─ 设置局部变量:"m"=YDWEOperatorReal3((读取局部变量("m2") - 读取局部变量("m1")), YOperatorMultiply, 0.05, YOperatorMultiply, (读取局部变量("j")转实数))
├─ 设置局部变量:"m"=YDWEOperatorReal3(读取局部变量("m"), YOperatorAdd, 40.00, YOperatorMultiply, (读取局部变量("j")转实数))
├─ ── 恢复魔法 ──
├─ SetUnitState: 读取局部变量("d"), UnitStateManaSec, (读取局部变量("m1") + 读取局部变量("m"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 确定施法单位位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 对附近造成伤害 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 400.00血魔法师-凤凰FH
text
触发器: 血魔法师-凤凰FH (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AHpx)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ ── 确定施法单位位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 杀死之前的凤凰 ──
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"dwz"=玩家符合条件的单位(读取局部变量("w"), (单位类型比较((过滤单位()类型ID), OperatorEqualENE, hphx) 且 布尔比较(单位类型判断(过滤单位(), UnitTypeDead), OperatorEqualENE, false)))
├─ 单位组: 选取 读取局部变量("dwz") 中所有单位
│ └─ 杀死 选取单位()
├─ GroupClear: 读取局部变量("dwz")
├─ 删除单位组 读取局部变量("dwz")
├─ ── 召唤凤凰 ──
├─ 设置局部变量:"u"=创建单位(指定坐标)(读取局部变量("w"), hphx, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
├─ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
├─ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
├─ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
├─ ── 赋予属性 ──
├─ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 25.00)
├─ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.20)
├─ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 1.00)
├─ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
├─ 设置生命百分比: 读取局部变量("u"), 100
├─ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
├─ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))
├─ 保存数据到哈希表: [单位类型.读取局部变量("u")."主人"] = 读取局部变量("d")
└─ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeGeneric, 100.00地精-临时箭塔LSJT
text
触发器: 地精-临时箭塔LSJT (区域/禁地) [✓] — 额外召唤几个地精。这里我计算了投掷弹道速度,使得召唤单位时间和弹道到达时间一致。(如果不是为了演示,我是懒得计算这个弹道时间的。)
之所以做这个技能,就是为了给萌新作者推荐一下魔兽自带技能中,最强的对点模拟弹道技能:地精工厂。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANsy)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ 设置局部变量:"x1"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y1"=单位Y坐标(读取局部变量("d"))
├─ ── 计算距离 ──
├─ 设置局部变量:"jd"=Atan2BJ((读取局部变量("y") - 读取局部变量("y1")), (读取局部变量("x") - 读取局部变量("x1")))
├─ 设置局部变量:"l"=((读取局部变量("y") - 读取局部变量("y1")) x 正弦(读取局部变量("jd")))
├─ ── 计算弹道时间 ──
├─ 设置局部变量:"t"=(读取局部变量("l") / 1000.00)
├─ ── 记得加上单位施法前摇。这里标准写法应该是先读取单位施法前摇,然后在加上。但是我懒得写了。 ──
├─ 设置局部变量:"t"=(读取局部变量("t") + 0.53)
├─ ── 逆天计时器运行 ──
└─ 启动计时器: 创建计时器(), 读取局部变量("t")s (一次性)地精-火箭HJ
text
触发器: 地精-火箭HJ (区域/禁地) [✓] — 持续释放火箭弹的技能,非常简单。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00H)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00H)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.10)
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, 10.00, YOperatorMultiply, (读取局部变量("j")转实数))
├─ ── 循环读秒释放技能 ──
└─ 启动计时器: 创建计时器(), 0.20s (循环)暗影猎手-医疗波YLB
text
触发器: 暗影猎手-医疗波YLB (区域/禁地) [✓] — 额外恢复首个目标生命值,并且召唤一个蛇棒。
萌新问题:在这个触发中,我们的医疗波只能给第一个单位额外回血。那么怎么才能做到给医疗波治疗到的每一个单位都额外回血呢?
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOhw)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算额外恢复数值 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOhw)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ SetUnitState: 读取局部变量("u"), UnitStateLifeSec, (单位状态(读取局部变量("u"), UnitStateLife) + 读取局部变量("s"))
├─ ── 读取蛇棒等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsw)
├─ ── 读取技能目标坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
├─ ── 召唤对应蛇棒 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osp1, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osp2, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 3
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osp3, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ ── 读取英雄属性 ──
│ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ ── 读取蛇棒属性 ──
│ 设置局部变量:"u"=读取局部变量("m")
│ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
│ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
│ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
│ ── 赋予蛇棒额外属性 ──
│ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 4.00)
│ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.05)
│ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 0.40)
│ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
│ 设置生命百分比: 读取局部变量("u"), 100
│ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
│ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))
│ ── 设置蛇棒持续时间 ──
│ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeGeneric, 40.00
└─ 否则: (无)暗影猎手-妖术YS
text
触发器: 暗影猎手-妖术YS (区域/禁地) [✓] — 造成额外伤害,并且召唤一个蛇棒。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOhx)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOhx)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 赋予伤害 ──
├─ 伤害目标: 读取局部变量("d"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS
├─ ── 读取技能目标坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
├─ ── 读取蛇棒等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsw)
├─ ── 召唤对应蛇棒 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osp1, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osp2, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 3
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osp3, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ ── 读取英雄属性 ──
│ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ ── 读取蛇棒属性 ──
│ 设置局部变量:"u"=读取局部变量("m")
│ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
│ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
│ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
│ ── 赋予蛇棒额外属性 ──
│ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 4.00)
│ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.05)
│ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 0.40)
│ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
│ 设置生命百分比: 读取局部变量("u"), 100
│ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
│ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))
│ ── 设置蛇棒持续时间 ──
│ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeGeneric, 40.00
└─ 否则: (无)暗影猎手-蛇棒SB
text
触发器: 暗影猎手-蛇棒SB (区域/禁地) [✓] — 召唤一个蛇棒实在是太少了,这里我做了一个根据另外两个技能的等级,可以额外召唤蛇棒数量的效果。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOsw)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 读取医疗波技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOhw)
├─ 设置局部变量:"n"=读取局部变量("j")
├─ ── 读取妖术技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOhx)
├─ 设置局部变量:"n"=(读取局部变量("j") + 读取局部变量("n"))
├─ ── 读取蛇棒等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsw)
├─ ── 确定召唤的蛇棒等级 ──
├─ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 设置局部变量:"dw"=osp1
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 设置局部变量:"dw"=osp2
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("j") == 3
│ ├─ 则
│ │ 设置局部变量:"dw"=osp3
│ └─ 否则: (无)
├─ ── 在技能释放点周围额外召唤蛇棒 ──
└─ 如果
├─ 条件: 读取局部变量("n") OperatorGreater 0
├─ 则
│ ── 读取英雄属性 ──
│ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ ── 计算角度 ──
│ 设置局部变量:"jd"=OperatorDegreeDivide(360.00, (读取局部变量("n")转实数))
│ ── 循环放置蛇棒 ──
│ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("n")
└─ 否则: (无)暗影猎手-巫毒WD
text
触发器: 暗影猎手-巫毒WD (区域/禁地) [✓] — 持续时间内回血,并且对周围敌人造成伤害。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOvd)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x 1.00)
├─ ── 这个字符串是持续巫毒施法的动作命令ID ──
├─ 设置局部变量:"zf"="voodoo"
├─ ── 开启循环,每秒做动作 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)剑圣-疾风步JFB
text
触发器: 剑圣-疾风步JFB (区域/禁地) [✓] — 这是一个可以产生幻象的疾风步。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOwk)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 读取技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOwk)
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 3.00
├─ 添加技能: 读取局部变量("m"), AIil
├─ ── 根据技能等级,循环施法 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("j")剑圣-剑刃风暴JRFB
text
触发器: 剑圣-剑刃风暴JRFB (区域/禁地) [✓] — 一个简单的属性加成剑刃风暴。
萌新问题:请问,同样是一个逆天循环计时器持续对附近敌人造成伤害,为生什么圣骑士的圣盾技能和暗影猎手的巫毒技能不需要判定施法单位死亡就停止伤害呢?
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOww)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算剑刃风暴伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x 0.20)
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s1"=((读取局部变量("ll")转实数) x 0.20)
├─ ── 循环读秒造成伤害 ──
└─ 启动计时器: 创建计时器(), 0.10s (循环)牛头人-冲击波CJB
text
触发器: 牛头人-冲击波CJB (区域/禁地) [✓] — 这是一个多段伤害的冲击波。在这个技能中我使用了很多点辅助施法,用了点就记得排泄。在我们平时作图的时候,记住一点,能使用坐标就不要用点,因为点需要排泄,而且坐标需要的运算量更低。
萌新问题:本技能完全可以在不使用任何点的情况下制作完成,请自行修改。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOsh)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 还是计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsh)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 读取施法单位位置 ──
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ ── 读取施法点位置 ──
├─ 设置局部变量:"2"=技能目标点()
├─ ── 计算角度 ──
├─ 设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
├─ ── 读取耐久光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOae)
├─ ── 根据等级向不同角度释放多个冲击波 ──
├─ 如果
│ ├─ 条件: 读取局部变量("j") OperatorGreater 0
│ ├─ 则
│ │ ── 创建马甲 ──
│ │ 设置局部变量:"m"=创建单位(指定点)((读取局部变量("d")的所有者), e000, 读取局部变量("1"), 0)
│ │ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 4.00
│ │ 添加技能: 读取局部变量("m"), ACcv
│ │ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
│ │ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
│ │ 如果
│ │ ├─ 条件: 读取局部变量("j") == 1
│ │ ├─ 则
│ │ │ ── 计算角度 ──
│ │ │ 设置局部变量:"jd1"=读取局部变量("jd")
│ │ │ ── 计算技能释放点 ──
│ │ │ 设置局部变量:"3"=PolarProjectionBJ(读取局部变量("1"), 200.00, 读取局部变量("jd1"))
│ │ │ ── 对目标点施法 ──
│ │ │ IssuePointOrderByIdLoc: 读取局部变量("m"), OrderCodeCarrionSwarm, 读取局部变量("3")
│ │ │ ── 排泄点 ──
│ │ │ 清除点 读取局部变量("3")
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("j") == 2
│ │ ├─ 则
│ │ │ ── 释放两个不同角度的冲击波 ──
│ │ │ YDWEForLoopLocVarMultiple: "i", 0, 1
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("j") == 3
│ │ ├─ 则
│ │ │ ── 释放三个不同角度的冲击波 ──
│ │ │ YDWEForLoopLocVarMultiple: "i", -1, 1
│ │ └─ 否则: (无)
│ └─ 否则: (无)
├─ ── 排泄点,避免游戏卡顿 ──
├─ 清除点 读取局部变量("1")
└─ 清除点 读取局部变量("2")牛头人-战争践踏ZZJT
text
触发器: 牛头人-战争践踏ZZJT (区域/禁地) [✓] — 这是一个践踏之后还会释放冲击波的技能。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOws)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 捕捉位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOws)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 计算范围 ──
├─ 设置局部变量:"l"=YDWEOperatorReal3(200.00, YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 造成伤害 ──
├─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 读取局部变量("l")
├─ ── 读取耐久光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOae)
├─ ── 根据等级额外释放冲击波次数 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ ── 计算角度 ──
│ 设置局部变量:"jd"=单位朝向角度(读取局部变量("d"))
│ 设置局部变量:"jd1"=OperatorDegreeDivide(360.00, (读取局部变量("j")转实数))
│ ── 计算冲击波的伤害 ──
│ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsh)
│ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
│ ── 创建马甲 ──
│ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
│ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 4.00
│ 添加技能: 读取局部变量("m"), ACcv
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
│ ── 循环施法 ──
│ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("j")
└─ 否则: (无)先知-闪电链SDL
text
触发器: 先知-闪电链SDL (区域/禁地) [✓] — 简单的属性加成闪电链,顺便召唤一个狼。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOcl)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOcl)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 80.00)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 6.00
├─ 添加技能: 读取局部变量("m"), ACcl
├─ 设置技能等级: 读取局部变量("m"), ACcl, 读取局部变量("j")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ 按ID发布目标命令: 读取局部变量("m"), OrderCodeChainLightning, 读取局部变量("u")
├─ ── 读取幽魂狼技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsf)
├─ ── 额外召唤相同等级的幽魂狼 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ ── 读取技能释放点坐标 ──
│ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
│ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
│ ── 读取单位类型 ──
│ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osw1, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osw2, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 3
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osw3, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ ── 读取英雄属性 ──
│ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ ── 读取召唤物属性 ──
│ 设置局部变量:"u"=读取局部变量("m")
│ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
│ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
│ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
│ ── 赋予额外属性 ──
│ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 10.00)
│ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.20)
│ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 0.70)
│ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
│ 设置生命百分比: 读取局部变量("u"), 100
│ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
│ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))
│ ── 设置持续时间 ──
│ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeGeneric, 60.00
│ ── 设定自定义值。 ──
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."主人"] = 读取局部变量("d")
└─ 否则: (无)先知-探视TS
text
触发器: 先知-探视TS (区域/禁地) [✓] — 透视现在有属性加成伤害,破甲,以及额外召唤一只狼。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOfs)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOfs)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 6.00
├─ 添加技能: 读取局部变量("m"), ACff
├─ 设置技能等级: 读取局部变量("m"), ACff, 读取局部变量("j")
├─ ── 对范围内敌人减甲并且造成伤害 ──
├─ 设置局部变量:"x1"=GetSpellTargetX()
├─ 设置局部变量:"y1"=GetSpellTargetY()
├─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x1"), 读取局部变量("y1"), 400.00
├─ ── 读取幽魂狼技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOsf)
├─ ── 额外召唤相同等级的幽魂狼 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ ── 读取单位类型 ──
│ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osw1, 读取局部变量("x1"), 读取局部变量("y1"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osw2, 读取局部变量("x1"), 读取局部变量("y1"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ 如果
│ ├─ 条件: 读取局部变量("j") == 3
│ ├─ 则
│ │ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), osw3, 读取局部变量("x1"), 读取局部变量("y1"), 单位朝向角度(读取局部变量("d")))
│ └─ 否则: (无)
│ ── 读取英雄属性 ──
│ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
│ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
│ ── 读取召唤物属性 ──
│ 设置局部变量:"u"=读取局部变量("m")
│ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
│ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
│ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
│ ── 赋予额外属性 ──
│ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 10.00)
│ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.20)
│ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 0.70)
│ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
│ 设置生命百分比: 读取局部变量("u"), 100
│ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
│ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))
│ ── 设置持续时间 ──
│ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeGeneric, 60.00
│ ── 设定自定义值。 ──
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."主人"] = 读取局部变量("d")
└─ 否则: (无)先知-雷霆风暴LTFB
text
触发器: 先知-雷霆风暴LTFB (区域/禁地) [✓] — 这个是群体闪电链。和群体风暴之锤不同的是,闪电链必须是闪电跳跃完成后,才能再次释放。所以在这里我们得创建多个马甲释放闪电链。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AOeq)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AOcl)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 80.00)
├─ ── 施法点位置 ──
├─ 设置局部变量:"x1"=GetSpellTargetX()
├─ 设置局部变量:"y1"=GetSpellTargetY()
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x1"), 读取局部变量("y1"), 250.00斧王-嘲讽CF
text
触发器: 斧王-嘲讽CF (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00L)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算恢复 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00L)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 100.00)
├─ ── 回血 ──
└─ SetUnitState: 读取局部变量("d"), UnitStateLifeSec, (单位状态(读取局部变量("d"), UnitStateLife) + 读取局部变量("s"))斧王-跳斩TZ
text
触发器: 斧王-跳斩TZ (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00M)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 先计算跳跃函数需要的数据 ──
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ 设置局部变量:"2"=技能目标点()
├─ 设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
├─ 设置局部变量:"l"=两点间距(读取局部变量("1"), 读取局部变量("2"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00M)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 11.00
├─ 添加技能: 读取局部变量("m"), ACif
├─ 设置技能等级: 读取局部变量("m"), ACif, 读取局部变量("j")
├─ ── 获得心灵火效果 ──
├─ 按ID发布目标命令: 读取局部变量("m"), OrderCodeInnerFire, 读取局部变量("d")
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除点 读取局部变量("2")
├─ ── 跳跃 ──
├─ YDWETimerPatternJumpAttack: 读取局部变量("d"), 读取局部变量("jd"), 读取局部变量("l"), 0.50, 0.03, 100, 0, "chest", Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
├─ ── 造成伤害 ──
└─ 启动计时器: 创建计时器(), 0.50s (一次性)斧王-无敌斩WDZ
text
触发器: 斧王-无敌斩WDZ (区域/禁地) [✓] — 这个无敌斩是我从网上找到演示图触发。现在看看还能再优化一下,但是对于萌新而言,是可以直接使用的。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00S)
动作
├─ 设置局部变量:"u"=触发单位()
├─ 设置局部变量:"u3"=技能目标单位()
├─ 设置局部变量:"d"=(技能目标单位()的位置)
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("u"), InclusionInclude)
├─ 设置局部变量:"s"=(读取局部变量("sx")转实数)
├─ ── 修改施法单位状态 ──
├─ 设置无敌: 读取局部变量("u"), InvulnerabilityInvulnerable
├─ SetUnitPathing: 读取局部变量("u"), PathingOff
├─ 设置单位颜色: 读取局部变量("u"), 255, 255, 255, 120
├─ SetUnitTimeScale: 读取局部变量("u"), 10.00
├─ ── 创建特效,附着在施法单位手上 ──
├─ 设置局部变量:"tx"=创建特效(附着单位)(Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl, 读取局部变量("u"), "weapon")
├─ ── 使用0秒计时器,这样移动不会打断当前动作,可以让技能正确进入CD。 ──
└─ 启动计时器: 创建计时器(), 0.00s (一次性)地狱行者-无敌斩WDZ
text
触发器: 地狱行者-无敌斩WDZ (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 单位类型判断(GetSpellAbilityUnit(), 英雄) == TRUE
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANsb)
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"u"=触发单位()
├─ 设置局部变量:"u3"=技能目标单位()
├─ 设置局部变量:"d"=(技能目标单位()的位置)
├─ 设置无敌: 读取局部变量("u"), InvulnerabilityInvulnerable
├─ SetUnitPathing: 读取局部变量("u"), PathingOff
├─ 设置单位颜色: 读取局部变量("u"), 255, 255, 255, 120
├─ SetUnitTimeScale: 读取局部变量("u"), 10.00
├─ 设置局部变量:"tx"=创建特效(附着单位)(Abilities\Weapons\ZigguratMissile\ZigguratMissile.mdl, 读取局部变量("u"), "weapon")
├─ 移动单位: 读取局部变量("u"), 读取局部变量("d")
├─ 清除点 读取局部变量("d")
├─ 设置局部变量:"j"=(单位技能等级(读取局部变量("u"), ANsb) + 1)
├─ 设置局部变量:"s"=(单位状态(读取局部变量("u"), UnitStateDamageBase) + 单位状态(读取局部变量("u"), UnitStateDamageBonus))
├─ 伤害目标: 读取局部变量("u"), 读取局部变量("u3"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeHero, DamageTypeNormal, WeaponTypeMetalHeavySlice
├─ 启动计时器: 创建计时器(), 0.33s (循环)
└─ YDWESetUnitAbilityState: 读取局部变量("u"), ANsb, ABILITY_STATE_COOLDOWN, 15.00恐惧魔王-腐臭蜂群FCFQ
text
触发器: 恐惧魔王-腐臭蜂群FCFQ (区域/禁地) [✓] — 原本技能和牛头人冲击波实在是太像了。于是我改为向四面八方释放。
AllenGB(默契之战作者)大佬提醒:逆天局部变量用在高频触发中不太行,逆天单条触发应该有个上限的,超过上限就会出问题。可以使用全局变量来做这个触发。
但是,我懒得改了,嘻嘻。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AUcs)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AUcs)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.10)
├─ ── 读取位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"x1"=GetSpellTargetX()
├─ 设置局部变量:"y1"=GetSpellTargetY()
├─ ── 读取角度 ──
├─ 设置局部变量:"s1"=(读取局部变量("y1") - 读取局部变量("y"))
├─ 设置局部变量:"s2"=(读取局部变量("x1") - 读取局部变量("x"))
├─ 设置局部变量:"jd"=Atan2BJ(读取局部变量("s2"), 读取局部变量("s1"))
├─ ── 逆天计时器循环施法 ──
└─ 启动计时器: 创建计时器(), 0.05s (循环)恐惧魔王-睡眠SM
text
触发器: 恐惧魔王-睡眠SM (区域/禁地) [✓] — 一个简单的技能,不再赘述
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AUsl)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AUsl)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
└─ SetUnitState: 读取局部变量("d"), UnitStateLifeSec, (单位状态(读取局部变量("d"), UnitStateLife) + 读取局部变量("s"))死亡骑士-死亡缠绕SWCR
text
触发器: 死亡骑士-死亡缠绕SWCR (区域/禁地) [✓] — 命中目标后再次向四周发射一次死亡缠绕。后续触发部分在马甲伤害事件中。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00I)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害和回血 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00I)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 100.00)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 4.00
├─ 添加技能: 读取局部变量("m"), A00J
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."技能"] = A00I
├─ 按ID发布目标命令: 读取局部变量("m"), OrderCodeShadowStrike, 读取局部变量("u")
├─ ── 读取邪恶光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AUau)
├─ ── 设置尸体数量 ──
├─ 设置局部变量:"z"=YDWEOperatorInt3(2, YOperatorAdd, 读取局部变量("j"), YOperatorMultiply, 2)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
├─ 设置局部变量:"q"=YDWEGetRect(读取局部变量("x"), 读取局部变量("y"), 600.00, 600.00)
├─ ── 创建尸体 ──
├─ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("z")
├─ ── 排泄 ──
└─ RemoveRect: 读取局部变量("q")死亡骑士-尸爆SBS
text
触发器: 死亡骑士-尸爆SBS (区域/禁地) [✓] — 大家都喜欢的尸爆术,伤害敌人恢复友军的生命值。
萌新问题:触发单位,选取单位,匹配单位有什么区别?触发单位对应事件,是事件中的主语,比如任意单位发动技能这个事件中,触发单位就是施法单位。匹配单位用在单位组条件中,代指用于比较的单位。选取单位用在选取单位组做动作,或者是逆天选取单位做动作中,代指被选取的单位。萌新切记不可以弄混哦。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00K)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害和回血 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00K)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorMultiply, 0.20, YOperatorAdd, ((读取局部变量("j")转实数) x 20.00))
├─ ── 读取邪恶光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AUau)
├─ ── 设置尸爆次数 ──
├─ 设置局部变量:"z"=YDWEOperatorInt3(4, YOperatorAdd, 读取局部变量("j"), YOperatorMultiply, 2)
├─ ── 开始尸爆 ──
└─ 启动计时器: 创建计时器(), 0.20s (循环)死亡骑士-死亡路径SWLJ
text
触发器: 死亡骑士-死亡路径SWLJ (区域/禁地) [✓] — 简简单单的燃烧路径,修改一下模型就行。死亡骑士拥有三个通魔技能,所以我在物编里面修改了通魔技能的基础命令ID,避免使用一个技能的时候会触发其他技能。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A012)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x 1.00)
├─ ── 改变施法单位颜色,绑定特效 ──
├─ 设置单位颜色: 读取局部变量("d"), 128, 0, 128, 255
├─ 设置局部变量:"tx"=创建特效(附着单位)(Abilities\Spells\Undead\Unsummon\UnsummonTarget.mdl, 读取局部变量("d"), "overhead")
├─ ── 逆天计时器创建马甲路径 ──
└─ 启动计时器: 创建计时器(), 0.50s (循环)地穴领主-穿刺CC
text
触发器: 地穴领主-穿刺CC (区域/禁地) [✓] — 原版穿刺会让目标在空中无敌。于是我用通魔做了这个穿刺。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A001)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A001)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取施法单位位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 造成穿刺效果和伤害 ──
├─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 400.00
├─ ── 光有击飞可不行,这里我使用马甲释放一次战争践踏,造成击晕效果。这样就可以群体击飞加击晕了。 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 2.00
├─ 添加技能: 读取局部变量("m"), Awrs
└─ IssueImmediateOrderById: 读取局部变量("m"), OrderCodeStomp巫妖-霜冻新星SDXX
text
触发器: 巫妖-霜冻新星SDXX (区域/禁地) [✓] — 巫妖的招牌技能,如果只是加上属性伤害,那么就太单调了。在这里我做一个大范围多段爆炸的霜冻新星。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AUfn)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 读取伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AUfn)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3((读取局部变量("s") x 1.00), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
├─ ── 创建马甲,单纯提供减速效果 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 4.00
├─ 添加技能: 读取局部变量("m"), ACfn
├─ ── 创建空白单位组,用来预防多次伤害。 ──
├─ 设置局部变量:"dwz"=CreateGroup()
├─ ── 计时器爆破伤害,一共4次 ──
└─ 启动计时器: 创建计时器(), 0.50s (循环)巫妖-霜冻护甲SDHJ
text
触发器: 巫妖-霜冻护甲SDHJ (区域/禁地) [✓] — 增加护甲的同时恢复部分魔法值,不再赘述。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AUfu)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AUfu)
├─ 设置局部变量:"s"=(0.05 x (读取局部变量("j")转实数))
├─ 设置局部变量:"mf1"=单位状态(读取局部变量("u"), UnitStateMana)
├─ 设置局部变量:"mf2"=单位状态(读取局部变量("u"), UnitStateMaxMana)
├─ 设置局部变量:"mf"=(读取局部变量("mf2") - 读取局部变量("mf1"))
├─ 设置局部变量:"s"=(读取局部变量("mf") x 读取局部变量("s"))
└─ SetUnitState: 读取局部变量("u"), UnitStateManaSec, (读取局部变量("mf1") + 读取局部变量("s"))巫妖-霜冻领域SDLY
text
触发器: 巫妖-霜冻领域SDLY (区域/禁地) [✓] — 在一个区域内进行范围减速。
萌新问题:在这个技能里面,我是通过马甲范围持续施法从而达到持续减速效果的。那么还有没有其他方法可以做到在10秒内持续减速一个范围的敌人呢?请自己尝试做一下吧。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A014)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A014)
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 读取伤害值 ──
├─ 设置局部变量:"s"=(10.00 x (读取局部变量("j")转实数))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 11.00
├─ 添加技能: 读取局部变量("m"), ACsw
├─ 设置技能等级: 读取局部变量("m"), ACsw, 读取局部变量("j")
├─ ── 修改马甲模型 ──
├─ DzSetUnitModel: 读取局部变量("m"), "Abilities\Spells\Undead\FreezingBreath\FreezingBreathTargetArt.mdl"
├─ 设置局部变量:"size"=(YDWEGetObjectPropertyReal(objecttype02_unitcode, (读取局部变量("m")类型ID), "modelScale") + 3.00)
├─ 设置缩放: 读取局部变量("m"), 读取局部变量("size"), 读取局部变量("size"), 读取局部变量("size")
├─ ── 逆天计时器循环施法 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)巫妖-死亡一指SWYZ
text
触发器: 巫妖-死亡一指SWYZ (区域/禁地) [✓] — 简单的属性伤害加成技能,不再赘述。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANfd)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=YDWEOperatorReal3((读取局部变量("ll")转实数), YOperatorAdd, (读取局部变量("mj")转实数), YOperatorAdd, (读取局部变量("zl")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 3.00)
├─ 伤害目标: 读取局部变量("d"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS
├─ ── 追加伤害 ──
├─ 设置局部变量:"m"=单位状态(读取局部变量("d"), UnitStateMana)
├─ 设置局部变量:"s"=(读取局部变量("m") x 0.50)
├─ SetUnitState: 读取局部变量("d"), UnitStateManaSec, 读取局部变量("s")
└─ 伤害目标: 读取局部变量("d"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS娜迦-叉状闪电CZSD
text
触发器: 娜迦-叉状闪电CZSD (区域/禁地) [✓] — 非常简单的属性伤害加成技能。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANfl)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ANfl)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 80.00)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 2.00
├─ 添加技能: 读取局部变量("m"), ACfl
├─ 设置技能等级: 读取局部变量("m"), ACfl, 读取局部变量("j")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
└─ 按ID发布目标命令: 读取局部变量("m"), OrderCodeForkedLightning, 读取局部变量("u")娜迦-潮涌CY
text
触发器: 娜迦-潮涌CY (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00T)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00T)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取位置 ──
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ 设置局部变量:"2"=技能目标点()
├─ ── 计算角度 ──
├─ 设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
├─ 设置局部变量:"jd1"=AngleBetweenPoints(读取局部变量("2"), 读取局部变量("1"))
├─ ── 计算浪潮产生点 ──
├─ 设置局部变量:"3"=PolarProjectionBJ(读取局部变量("1"), 600.00, 读取局部变量("jd1"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定点)((读取局部变量("d")的所有者), e001, 读取局部变量("3"), 读取局部变量("jd"))
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 9.00
├─ 添加技能: 读取局部变量("m"), A00U
├─ ── 改变马甲大小,从而修改冲击波大小(冲击波动画大小和施法单位大小相关)。 ──
├─ 设置局部变量:"size"=(YDWEGetObjectPropertyReal(objecttype02_unitcode, (读取局部变量("m")类型ID), "modelScale") + 1.00)
├─ 设置缩放: 读取局部变量("m"), 读取局部变量("size"), 读取局部变量("size"), 读取局部变量("size")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ IssuePointOrderByIdLoc: 读取局部变量("m"), OrderCodeCarrionSwarm, 读取局部变量("1")
├─ ── 读取英雄三维 ──
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ ── 召唤暗礁元素 ──
├─ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("j")
├─ ── 排泄点 ──
├─ 清除点 读取局部变量("1")
├─ 清除点 读取局部变量("2")
└─ 清除点 读取局部变量("3")娜迦-龙卷风LJF
text
触发器: 娜迦-龙卷风LJF (区域/禁地) [✓] — 利用好环绕函数,就可以很简单的做出龙卷风
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANto)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x 1.00)
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 创建马甲特效 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 9.00
├─ ── 替换马甲模型 ──
├─ DzSetUnitModel: 读取局部变量("m"), "Abilities\Spells\Other\Tornado\TornadoElemental.mdl"
├─ ── 逆天计时器动作 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)白虎-猫头鹰MTY
text
触发器: 白虎-猫头鹰MTY (区域/禁地) [✓] — 这是封装的环绕函数的一个使用展示。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEst)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AEst)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x 0.50)
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 12.00)
├─ ── 读取强击光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AEar)
├─ ── 计算猫头鹰数量 ──
├─ 设置局部变量:"a"=YDWEOperatorInt3(2, YOperatorAdd, 读取局部变量("j"), YOperatorMultiply, 2)
├─ ── 根据技能等级,召唤猫头鹰 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("a")白虎-月华YH
text
触发器: 白虎-月华YH (区域/禁地) [✓] — 这个技能利用到了新建区域,所以记得删除新建区域。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00V)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00V)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取强击光环等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AEar)
├─ ── 计算月光数量 ──
├─ 设置局部变量:"a"=YDWEOperatorInt3(8, YOperatorAdd, 读取局部变量("j"), YOperatorMultiply, 2)
├─ ── 逆天计时器动作 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)白虎-流星雨LXY
text
触发器: 白虎-流星雨LXY (区域/禁地) [✓] — 简简单单的可移动流星雨。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEsf)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) + 50.00)
├─ ── 创建特效 ──
├─ 设置局部变量:"tx"=创建特效(附着单位)(Abilities\Spells\NightElf\Starfall\StarfallCaster.mdl, 读取局部变量("d"), "chest")
├─ ── 循环读秒造成伤害 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)恶魔猎手-法力燃烧FLRS
text
触发器: 恶魔猎手-法力燃烧FLRS (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00N)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00N)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("u"))
├─ ── 对范围单位削蓝 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 250.00恶魔猎手-变身BS
text
触发器: 恶魔猎手-变身BS (区域/禁地) [✓] — 模仿3C澄海的恶魔变身,同时演示一下佣兵封装函数的用法。温馨提示,恶魔猎手大招的变身是会在变身开始和结束的时候,各变身一次。
萌新问题:这个技能中,我展示了佣兵封装函数的用法,利用这个模仿了3C澄海的恶魔变身。其实可以利用地穴领主大招来制作这个技能,请自行尝试制作。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEme)
└─ (GetSpellAbilityUnit()类型ID) == Edem
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=YDWEOperatorReal3((读取局部变量("ll")转实数), YOperatorAdd, (读取局部变量("mj")转实数), YOperatorAdd, (读取局部变量("zl")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.10)
├─ ── 召唤恶魔气息 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 15老鹿-缠绕CR
text
触发器: 老鹿-缠绕CR (区域/禁地) [✓] — 简简单单群体缠绕,不再赘述,自己看。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEer)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AEer)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 60.00)
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 5.00
├─ 添加技能: 读取局部变量("m"), Aenr
└─ YDWEEnumUnitsInRangeMultiple: 单位X坐标(读取局部变量("u")), 单位Y坐标(读取局部变量("u")), 400.00老鹿-宁静NJ
text
触发器: 老鹿-宁静NJ (区域/禁地) [✓] — 同白虎可移动流星雨。不再赘述。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEtq)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) + 20.00)
├─ 设置局部变量:"tx"=创建特效(附着单位)(Abilities\Spells\NightElf\Tranquility\Tranquility.mdl, 读取局部变量("d"), "chest")
├─ ── 计算属性 ──
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
└─ 启动计时器: 创建计时器(), 1.00s (循环)守望者-刀阵旋风DZXF
text
触发器: 守望者-刀阵旋风DZXF (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEfk)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), AEfk)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.50)
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 75.00)
├─ ── 选取全部残影一起施法 ──
├─ 设置局部变量:"dwz"=canying/*残影*/
└─ 单位组: 选取 读取局部变量("dwz") 中所有单位
└─ 如果
├─ 条件: 单位存活判断(选取单位()) == TRUE
├─ 则
│ 设置局部变量:"u1"=选取单位()
│ ── 创建刀扇特效 ──
│ YDWETimerDestroyEffect: 2, 创建特效(附着单位)(Abilities\Spells\NightElf\FanOfKnives\FanOfKnivesCaster.mdl, 读取局部变量("u1"), "overhead")
│ ── 播放单位施法动画 ──
│ 播放动画: 读取局部变量("u1"), "Spell"
│ ── 重置单位动画 ──
│ 启动计时器: 创建计时器(), 0.55s (一次性)
│ ── 读取坐标 ──
│ 设置局部变量:"x"=单位X坐标(读取局部变量("u1"))
│ 设置局部变量:"y"=单位Y坐标(读取局部变量("u1"))
│ ── 造成范围伤害 ──
│ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 300.00
└─ 否则: (无)守望者-残影CY
text
触发器: 守望者-残影CY (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00W)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 判定施法点附近有没有残影 ──
├─ 设置局部变量:"z"=0
├─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 100.00
├─ ── 没有残影就创建残影,有就交换位置 ──
└─ 如果
├─ 条件: 读取局部变量("z") == 0
├─ 则
│ ── 创建残影 ──
│ 设置局部变量:"u"=创建单位(指定坐标)((读取局部变量("d")的所有者), e002, 读取局部变量("x"), 读取局部变量("y"), 单位朝向角度(读取局部变量("d")))
│ UnitApplyTimedLife: 读取局部变量("u"), TimedLifeBuffCodeWaterElemental, 16.00
│ ── 移动一下马甲,使得我们后续可以捕捉到这个带有蝗虫技能的单位。 ──
│ 移动单位: 读取局部变量("u"), 读取局部变量("x"), 读取局部变量("y")
│ ── 改变透明度 ──
│ SetUnitVertexColorBJ: 读取局部变量("u"), 100, 100, 100, 50.00
│ ── 加入单位组,方便其他技能直接使用 ──
│ 添加 canying/*残影*/ → 读取局部变量("u")
│ 启动计时器: 创建计时器(), 16.00s (一次性)
└─ 否则
── 计算坐标 ──
设置局部变量:"x"=单位X坐标(读取局部变量("d"))
设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
设置局部变量:"x1"=单位X坐标(读取局部变量("u"))
设置局部变量:"y1"=单位Y坐标(读取局部变量("u"))
── 0秒计时器移动位置 ──
启动计时器: 创建计时器(), 0.00s (一次性)守望者-毒镖DB
text
触发器: 守望者-毒镖DB (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A00X)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 读取伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A00X)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 80.00)
├─ ── 选取全部残影一起施法 ──
├─ 设置局部变量:"dwz"=canying/*残影*/
└─ 单位组: 选取 读取局部变量("dwz") 中所有单位
└─ 如果
├─ 条件: 单位存活判断(选取单位()) == TRUE
├─ 则
│ 设置局部变量:"u1"=选取单位()
│ 播放动画: 读取局部变量("u1"), "Attack Walk Stand Spin"
│ ── 重置单位动画 ──
│ 启动计时器: 创建计时器(), 0.55s (一次性)
│ ── 读取坐标 ──
│ 设置局部变量:"x"=单位X坐标(读取局部变量("u1"))
│ 设置局部变量:"y"=单位Y坐标(读取局部变量("u1"))
│ ── 创建马甲 ──
│ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
│ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 10.00
│ 添加技能: 读取局部变量("m"), A00Y
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
│ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
│ 按ID发布目标命令: 读取局部变量("m"), OrderCodeAcidBomb, 读取局部变量("u")
└─ 否则: (无)守望者-复仇天神FCTS
text
触发器: 守望者-复仇天神FCTS (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AEsv)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标,单位角度 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"jd"=单位朝向角度(读取局部变量("d"))
├─ ── 循环动作,创建四个残影。 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 4兽王-召唤熊ZHX
text
触发器: 兽王-召唤熊ZHX (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANsg)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ANsg)
├─ 如果
│ ├─ 条件: 读取局部变量("j") == 1
│ ├─ 则
│ │ 添加物品: rreb, 读取局部变量("d")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("j") == 2
│ ├─ 则
│ │ 添加物品: rre2, 读取局部变量("d")
│ └─ 否则: (无)
└─ 如果
├─ 条件: 读取局部变量("j") == 3
├─ 则
│ 添加物品: rma2, 读取局部变量("d")
└─ 否则: (无)兽王-召唤豪猪ZHHZ
text
触发器: 兽王-召唤豪猪ZHHZ (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANsq)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标,技能等级 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ANsq)
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 2.00
├─ 添加技能: 读取局部变量("m"), ACbl
├─ 设置技能等级: 读取局部变量("m"), ACbl, 读取局部变量("j")
├─ ── 范围施法 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 500.00兽王-召唤战鹰ZHZY
text
触发器: 兽王-召唤战鹰ZHZY (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANsw)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ANsw)
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 2.00
├─ 添加技能: 读取局部变量("m"), ACr1
├─ 设置技能等级: 读取局部变量("m"), ACr1, 读取局部变量("j")
└─ IssueImmediateOrderById: 读取局部变量("m"), OrderCodeRoar兽王-惊吓JX
text
触发器: 兽王-惊吓JX (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANst)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) + 50.00)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"x1"=GetSpellTargetX()
├─ 设置局部变量:"y1"=GetSpellTargetY()
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 16.00
├─ 添加技能: 读取局部变量("m"), Arsp
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
└─ IssuePointOrderById: 读取局部变量("m"), OrderCodeStampede, 读取局部变量("x1"), 读取局部变量("y1")特殊英雄技能
text
触发器: 特殊英雄技能 (区域/禁地) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)谋圣骑-群体圣光QTSG
text
触发器: 谋圣骑-群体圣光QTSG (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01O)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A01O)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 100.00)
├─ ── 选取范围内单位做动作 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 600.00谋圣骑-无敌WD
text
触发器: 谋圣骑-无敌WD (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01P)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A01P)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.20)
├─ ── 计算圣盾术时间 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A01P)
├─ 设置局部变量:"t"=(读取局部变量("j") x 5)
├─ ── 逆天计时器循环造成伤害 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)SP守望者-刃舞RW
text
触发器: SP守望者-刃舞RW (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01Q)
动作
├─ 设置局部变量:"d"=触发单位()
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A01Q)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 创建马甲施法 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 3.00
├─ 添加技能: 读取局部变量("m"), A01U
├─ 设置局部变量:"size"=(YDWEGetObjectPropertyReal(objecttype02_unitcode, (读取局部变量("m")类型ID), "modelScale") + 1.00)
├─ 设置缩放: 读取局部变量("m"), 读取局部变量("size"), 读取局部变量("size"), 读取局部变量("size")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."英雄"] = 读取局部变量("d")
├─ 保存数据到哈希表: [单位类型.读取局部变量("m")."伤害"] = 读取局部变量("s")
├─ ── 向四个角度施法 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 4SP守望者-飞瞬FS
text
触发器: SP守望者-飞瞬FS (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventIssued_Unit_Order
条件
├─ 命令ID比较(GetIssuedOrderIdBJ(), OperatorEqualENE, 字符串转命令ID("smart"))
├─ 单位技能等级(触发单位(), AEsh) != 0
└─ 单位有魔法效果(命令目标单位(), B00F) == TRUE
动作
├─ 设置局部变量:"d"=触发单位()
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ 设置局部变量:"u"=命令目标单位()
├─ UnitRemoveBuffNT: 读取局部变量("u"), B00F
├─ 设置局部变量:"2"=(读取局部变量("u")的位置)
├─ 设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
├─ PauseUnit: 读取局部变量("d"), PauseUnpauseOptionPause
├─ 移动单位: 读取局部变量("d"), 读取局部变量("2")
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\NightElf\Blink\BlinkTarget.mdl, 读取局部变量("d"), "overhead")
├─ PauseUnit: 读取局部变量("d"), PauseUnpauseOptionUnpause
├─ 设置单位朝向: 读取局部变量("d"), 读取局部变量("jd")
├─ 清除点 读取局部变量("1")
├─ 清除点 读取局部变量("2")
├─ ── 判定技能等级,符合要求的话就运行一次 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A01Q)
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreater 0
├─ 则
│ YDWEExecuteTriggerMultiple: gg_trg_SP________________RW, tirggerexecute_notcondition
└─ 否则: (无)SP守望者-漫天飞羽MTFY
text
触发器: SP守望者-漫天飞羽MTFY (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01T)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 9.00
├─ 添加技能: 读取局部变量("m"), A01S
├─ ── 修改马甲模型 ──
├─ DzSetUnitModel: 读取局部变量("m"), "units\nightelf\SpiritOfVengeance\SpiritOfVengeance"
├─ 设置局部变量:"size"=(YDWEGetObjectPropertyReal(objecttype02_unitcode, (读取局部变量("m")类型ID), "modelScale") + 3.00)
├─ 设置缩放: 读取局部变量("m"), 读取局部变量("size"), 读取局部变量("size"), 读取局部变量("size")
├─ ── 逆天计时器循环施法 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)狗头人-丢网DW
text
触发器: 狗头人-丢网DW (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01X)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 首先需要捕捉施法目标单位 ──
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), A01X)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=YDWEOperatorReal3(读取局部变量("s"), YOperatorAdd, (读取局部变量("j")转实数), YOperatorMultiply, 50.00)
├─ ── 读取施法目标的坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ ── 创建马甲 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ UnitApplyTimedLife: 读取局部变量("m"), TimedLifeBuffCodeWaterElemental, 5.00
├─ 添加技能: 读取局部变量("m"), Aens
├─ ── 以施法目标为圆心选取敌人释放风暴之锤 ──
└─ YDWEEnumUnitsInRangeMultiple: 单位X坐标(读取局部变量("u")), 单位Y坐标(读取局部变量("u")), 400.00狗头人-无情连敲WQLQ
text
触发器: 狗头人-无情连敲WQLQ (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01Z)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 首先需要捕捉施法目标单位 ──
├─ 设置局部变量:"u"=技能目标单位()
└─ 启动计时器: 创建计时器(), 0.20s (循环)狗头人-查看Q-CK
text
触发器: 狗头人-查看Q-CK (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-q"
条件
└─ (wanjiayingx/*玩家英雄*/[玩家号(触发玩家())]类型ID) == Osam
动作
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "敲敲")
└─ 显示文本→读取局部变量("w"): 0阿克蒙德-黑暗之门HAZM
text
触发器: 阿克蒙德-黑暗之门HAZM (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ANdp)
动作
├─ ── 首先需要捕捉施法单位 ──
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 技能等级 ──
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ANdp)
├─ 设置局部变量:"n"=(读取局部变量("j") x 2)
├─ ── 读取属性 ──
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ ── 召唤单位 ──
└─ YDWEForLoopLocVarMultiple: "i", 1, 读取局部变量("n")单位技能
text
触发器: 单位技能 (区域/禁地) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)熊技能-狂怒KN
text
触发器: 熊技能-狂怒KN (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A019)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取玩家英雄 ──
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"z"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"yx"=wanjiayingx/*玩家英雄*/[读取局部变量("z")]
├─ ── 读取坐标,技能等级 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("yx"), ANsg)
├─ ── 读取伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("yx"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 范围伤害 ──
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl, 读取局部变量("d"), "overhead")
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 300.00猪技能-狂热KR
text
触发器: 猪技能-狂热KR (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, Afzy)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取玩家英雄 ──
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"z"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"yx"=wanjiayingx/*玩家英雄*/[读取局部变量("z")]
├─ ── 读取坐标,技能等级 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("yx"), ANsq)
├─ ── 读取伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("yx"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ ── 范围伤害 ──
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl, 读取局部变量("d"), "overhead")
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 400.00宝宝-拾取物品SQWP
text
触发器: 宝宝-拾取物品SQWP (区域/禁地) [✓] — 利用区域来选取物品。因为没有选取范围物品的函数。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A015)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取玩家英雄 ──
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"z"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"yx"=wanjiayingx/*玩家英雄*/[读取局部变量("z")]
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 创建区域 ──
├─ 设置局部变量:"q"=YDWEGetRect(读取局部变量("x"), 读取局部变量("y"), 600.00, 600.00)
├─ ── 选取区域内物品做动作 ──
├─ EnumItemsInRectBJMultiple: 读取局部变量("q")
├─ ── 排泄 ──
└─ RemoveRect: 读取局部变量("q")宝宝-合成物品HCWP
text
触发器: 宝宝-合成物品HCWP (区域/禁地) [✓] — 经典三合一。当然你也可以改为范围内三合一。这里使用了双循环判断。
注意:这里面我使用了随机物品这个函数,可以被随机的物品必须在物编中修改为可以作为随机物品的物品。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A016)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 第一个循环判断物品等级 ──
└─ YDWEForLoopLocVarMultiple: "a", 1, 4宝宝-出售物品CSWP
text
触发器: 宝宝-出售物品CSWP (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01V)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 读取玩家英雄 ──
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"z"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"yx"=wanjiayingx/*玩家英雄*/[读取局部变量("z")]
├─ ── 获取施法目标物品 ──
├─ 设置局部变量:"wp"=技能目标物品()
├─ ── 读取物品黄金和木头消耗 ──
├─ 设置局部变量:"j"=YDWEGetObjectPropertyInteger(objecttype03_itemcode, 物品类型ID(读取局部变量("wp")), "goldcost")
├─ 设置局部变量:"j"=(读取局部变量("j") / 2)
├─ 设置局部变量:"m"=YDWEGetObjectPropertyInteger(objecttype03_itemcode, 物品类型ID(读取局部变量("wp")), "lumbercost")
├─ 设置局部变量:"m"=(读取局部变量("m") / 2)
├─ ── 删除物品,提供一半的资源 ──
├─ 删除物品: 读取局部变量("wp")
├─ 调整 读取局部变量("w") 的 PlayerStateGold: 读取局部变量("j")
├─ 调整 读取局部变量("w") 的 PlayerStateLumber: 读取局部变量("m")
├─ ── 显示漂浮文字 ──
├─ CreateTextTagUnitBJ: "+" + (读取局部变量("j")转字符串), 读取局部变量("yx"), 10.00, 10.00, 100, 84.31, 0.00, 0.00
├─ SetTextTagPosUnitBJ: GetLastCreatedTextTag(), 读取局部变量("yx"), 20.00
├─ SetTextTagVelocity: GetLastCreatedTextTag(), 0.00, 0.20
├─ YDWETimerDestroyTextTag: 1.00, GetLastCreatedTextTag()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 创建区域 ──
├─ 设置局部变量:"q"=YDWEGetRect(读取局部变量("x"), 读取局部变量("y"), 600.00, 600.00)
├─ ── 选取区域内物品做动作 ──
└─ EnumItemsInRectBJMultiple: 读取局部变量("q")随机技能
text
触发器: 随机技能 (区域/禁地) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)天赋神通-淬炼生机CLSJ
text
触发器: 天赋神通-淬炼生机CLSJ (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ACrj)
动作
├─ 设置局部变量:"u"=GetSpellAbilityUnit()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("u"), ACrj)
├─ 设置局部变量:"d"=技能目标单位()
└─ 如果
├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
├─ 则
│ 设置局部变量:"s"=(5.00 x (读取局部变量("j")转实数))
│ 保存数据到哈希表: [单位类型.读取局部变量("d")."物伤"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "物伤") + 读取局部变量("s"))
│ 保存数据到哈希表: [单位类型.读取局部变量("d")."魔伤"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "魔伤") + 读取局部变量("s"))
│ 保存数据到哈希表: [单位类型.读取局部变量("d")."物吸"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "物吸") + 读取局部变量("s"))
│ 保存数据到哈希表: [单位类型.读取局部变量("d")."魔吸"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "魔吸") + 读取局部变量("s"))
│ 启动计时器: 创建计时器(), 12.00s (一次性)
└─ 否则: (无)天赋神通-禁法止戈JFZG
text
触发器: 天赋神通-禁法止戈JFZG (区域/禁地) [✓] — 这个就是沉默魔法技能。在物编中,我们可以通过修改沉默魔法,达到禁止目标施法和攻击的效果。很多物编技能的额外效果并没有直接展示在游戏面板上面,需要我们自己在物编中观察。比如说,男巫的驱散在物编中其实还能削减目标魔法值,你只需要调整这个数值就可以。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ACsi)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ACsi)
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.50)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 300.00天赋神通-无言恐惧WYKJ
text
触发器: 天赋神通-无言恐惧WYKJ (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, Acht)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ACsi)
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.50)
├─ ── 读取坐标 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 400.00天赋神通-真言咒令ZYZL
text
触发器: 天赋神通-真言咒令ZYZL (区域/禁地) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ACcr)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ACcr)
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.50)
├─ ── 造成伤害 ──
└─ 启动计时器: 创建计时器(), 1.00s (循环)天赋神通-驱祸避凶QHBX
text
触发器: 天赋神通-驱祸避凶QHBX (区域/禁地) [✓] — 这就是一个不会被打断,并且施法者可以移动的吸血。其中的吸血特效是用闪电特效做的,我们使用逆天计时器一直修改闪电特效位置就可以了。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ACdr)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"j"=单位技能等级(读取局部变量("d"), ACrj)
├─ ── 计算伤害 ──
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x (读取局部变量("j")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.10)
├─ ── 读取位置 ──
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 设置局部变量:"x1"=单位X坐标(读取局部变量("u"))
├─ 设置局部变量:"y1"=单位Y坐标(读取局部变量("u"))
├─ ── 创建闪电特效 ──
├─ 设置局部变量:"sd"=创建闪电效果(详细参数)(LightningTypeDRAL, AllowDontDont, 读取局部变量("x"), 读取局部变量("y"), 50.00, 读取局部变量("x1"), 读取局部变量("y1"), 50.00)
└─ 启动计时器: 创建计时器(), 0.20s (循环)天赋神通-神机百炼SJBL
text
触发器: 天赋神通-神机百炼SJBL (区域/禁地) [✓] — 地精工厂技能召唤的单位无法被召唤事件捕捉,因此我使用任意单位进入可见区域捕捉这个召唤物。其他无法被捕捉的召唤物,也可以使用这种方法进行捕捉,比如说寄生虫技能的召唤物。
───────────────────────────────────────────────────────
事件
└─ 注册进入矩形区域事件(可用地图区域())
条件
└─ (进入单位()类型ID) == narg
动作
├─ 设置局部变量:"u"=进入单位()
├─ ── 读取召唤者的英雄 ──
├─ 设置局部变量:"w"=(读取局部变量("u")的所有者)
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ ── 读取属性 ──
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ ── 计算属性 ──
├─ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
├─ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
├─ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
├─ 设置局部变量:"sm"=((读取局部变量("ll")转实数) x 25.00)
├─ 设置局部变量:"hj"=((读取局部变量("mj")转实数) x 0.10)
├─ 设置局部变量:"gj"=((读取局部变量("zl")转实数) x 1.20)
├─ ── 赋予召唤物属性 ──
├─ SetUnitState: 读取局部变量("u"), UnitStateMaxLifeSec, (读取局部变量("sm") + 读取局部变量("sm1"))
├─ 设置生命百分比: 读取局部变量("u"), 100
├─ SetUnitState: 读取局部变量("u"), UnitStateArmorSec, (读取局部变量("hj") + 读取局部变量("hj1"))
└─ SetUnitState: 读取局部变量("u"), UnitStateDamageBaseSec, (读取局部变量("gj") + 读取局部变量("gj1"))天赋神通-我血化身WXHS
text
触发器: 天赋神通-我血化身WXHS (区域/禁地) [✓] — 判定单位是否拥有技能。这个命令是右键点击命令。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventIssued_Unit_Order
条件
├─ 命令ID比较(GetIssuedOrderIdBJ(), OperatorEqualENE, 字符串转命令ID("smart"))
├─ 单位技能等级(触发单位(), ACtn) != 0
└─ (命令目标单位()类型ID) == nfgt
动作
├─ 设置局部变量:"d"=触发单位()
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ 设置局部变量:"u"=命令目标单位()
├─ 设置局部变量:"2"=(读取局部变量("u")的位置)
├─ 设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
├─ PauseUnit: 读取局部变量("d"), PauseUnpauseOptionPause
├─ 移动单位: 读取局部变量("d"), 读取局部变量("2")
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl, 读取局部变量("d"), "overhead")
├─ PauseUnit: 读取局部变量("d"), PauseUnpauseOptionUnpause
├─ 设置单位朝向: 读取局部变量("d"), 读取局部变量("jd")
├─ 清除点 读取局部变量("1")
└─ 清除点 读取局部变量("2")D冲锋DCF
text
触发器: D冲锋DCF (物品系统) [✓] — 该触发由圆圈大佬提供,十分感谢圆圈大佬。
───────────────────────────────────────────────────────
事件
└─ 键盘 GameKeyAction_Press GameKey_D
条件
└─ 无
动作
├─ 设置局部变量:"w"=DzGetTriggerKeyPlayer()
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"DW"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ 设置局部变量:"X"=DzGetMouseTerrainX()
├─ 设置局部变量:"Y"=DzGetMouseTerrainY()
└─ 如果
├─ 条件: 全部成立
│ ├─ 检查哈希表有数据(玩家, 读取局部变量("w"), 布尔, "D") == TRUE
│ ├─ 单位存活判断(读取局部变量("DW")) == TRUE
├─ 则
│ 保存数据到哈希表: [玩家.读取局部变量("w")."D"] = true
│ 启动计时器: 创建计时器(), 0.20s (一次性)
│ ── 同步数据 ──
│ 设置局部变量:"D"=(读取局部变量("DW")的位置)
│ 设置局部变量:"D2"=Location(读取局部变量("X"), 读取局部变量("Y"))
│ 设置局部变量:"ZU"=false
│ 设置局部变量:"JD"=AngleBetweenPoints(读取局部变量("D"), 读取局部变量("D2"))
│ 设置局部变量:"JL"=RMinBJ(600.00, RMaxBJ(30.00, (两点间距(读取局部变量("D"), 读取局部变量("D2")) - 50.00)))
│ YDWETimerDestroyEffect: 0.00, 读取局部变量("TX2")
│ 设置局部变量:"F"=实数转整数((读取局部变量("JL") / 30.00))
│ YDWETimerDestroyEffect: 0.00, 创建特效(附着单位)(Abilities\Spells\Items\SpellShieldAmulet\SpellShieldCaster.mdl, 读取局部变量("DW"), "origin")
│ EXSetUnitFacing: 读取局部变量("DW"), 读取局部变量("JD")
│ 播放动画: 读取局部变量("DW"), "Walk"
│ 设置局部变量:"mod"=YDWEGetObjectPropertyString(objecttype02_unitcode, (读取局部变量("DW")类型ID), "file")
│ 如果
│ ├─ 条件: 取子字符串(读取局部变量("mod"), (StringLength(读取局部变量("mod")) - 3), StringLength(读取局部变量("mod"))) == "mdx"
│ ├─ 则
│ │ 设置局部变量:"mod"=读取局部变量("mod") + ".mdx"
│ └─ 否则: (无)
│ YDWETimerRemoveUnit: 2, 创建单位(指定点)(非玩家, e001, 读取局部变量("D"), 读取局部变量("JD"))
│ 设置局部变量:"size"=(YDWEGetObjectPropertyReal(objecttype02_unitcode, (读取局部变量("DW")类型ID), "modelScale") + 0.10)
│ 启动计时器: 创建计时器(), 0.02s (循环)
└─ 否则
如果
├─ 条件: 检查哈希表有数据(玩家, 读取局部变量("w"), 布尔, "D") == TRUE
├─ 则
│ 显示文本→读取局部变量("w"): 0
└─ 否则: (无)F2回城
text
触发器: F2回城 (物品系统) [✓] — 简简单单的回城。只有一点需要注意,硬件事件不能使用触发玩家来捕捉,必须要用触发硬件事件的玩家。
───────────────────────────────────────────────────────
事件
└─ 键盘 GameKeyAction_Press DzI2K(113)
条件
└─ 无
动作
├─ 设置局部变量:"w"=DzGetTriggerKeyPlayer()
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ 设置局部变量:"q"=gg_rct_____________QSQY
├─ 设置局部变量:"1"=(区域读取局部变量("q")中心)
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 平移镜头: 读取局部变量("w"), 读取局部变量("1"), 0
└─ 清除点 读取局部变量("1")F3英雄数据YXSJ
text
触发器: F3英雄数据YXSJ (物品系统) [✓] — 简简单单的读取属性。
───────────────────────────────────────────────────────
事件
└─ 键盘 GameKeyAction_Press DzI2K(114)
条件
└─ 无
动作
├─ 设置局部变量:"w"=DzGetTriggerKeyPlayer()
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "物伤")
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "魔伤")
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "物挡")
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "魔挡")
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "物吸")
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "魔吸")
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=单位状态(读取局部变量("d"), UnitStateAttackSpeed)
├─ 设置局部变量:"s"=(读取局部变量("s") x 100.00)
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"s"=单位状态(读取局部变量("d"), UnitStateDamageCool)
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"cd"=从哈希表读取数据(单位类型, 读取局部变量("d"), "CD")
└─ 显示文本→读取局部变量("w"): 0ESC切换背包QHBB
text
触发器: ESC切换背包QHBB (物品系统) [✓] — 简简单单的切换背包。这个我改为Tab按键,因为有玩家反馈说ESC会和部分玩家改键冲突。
───────────────────────────────────────────────────────
事件
└─ 键盘 GameKeyAction_Press GameKey_Tab
条件
└─ 无
动作
├─ 设置局部变量:"w"=DzGetTriggerKeyPlayer()
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ 设置局部变量:"z"=(读取局部变量("n") x 2)
├─ 设置局部变量:"m1"=beibao/*背包马甲*/[读取局部变量("z")]
├─ 设置局部变量:"m2"=beibao/*背包马甲*/[(读取局部变量("z") - 1)]
└─ YDWEForLoopLocVarMultiple: "i", 1, 6右键双击给予物品1
text
触发器: 右键双击给予物品1 (物品系统) [✓] — 这个是直接抄的演示图,看不懂就直接抄。
───────────────────────────────────────────────────────
事件
└─ YDWESyStemItemUnmovableRegistTrigger()
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 设置局部变量:"w"=(触发单位()的所有者)
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 如果
│ ├─ 条件: 触发单位() == wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ ├─ 则
│ │ 设置局部变量:"u"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ │ 设置局部变量:"f"=wanjbaobao/*玩家宝宝*/[读取局部变量("n")]
│ └─ 否则
│ 设置局部变量:"u"=wanjbaobao/*玩家宝宝*/[读取局部变量("n")]
│ 设置局部变量:"f"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ 设置局部变量:"wp"=GetOrderTargetItem()
├─ YDWEForLoopLocVarMultiple: "f", 1, 6
├─ 启动计时器: 创建计时器(), 0.00s (一次性)
└─ 开启触发器 当前触发器()宝宝移动BBYD
text
触发器: 宝宝移动BBYD (物品系统) [✓] — 不解释。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventIssued_Point_Order
条件
├─ 任一成立
└─ 单位技能等级(触发单位(), Atru) != 0
动作
├─ 设置局部变量:"d"=触发单位()
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ 设置局部变量:"2"=命令目标点()
├─ 设置局部变量:"l"=两点间距(读取局部变量("1"), 读取局部变量("2"))
├─ 设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
├─ 如果
│ ├─ 条件: 读取局部变量("l") OperatorGreaterEq 300.00
│ ├─ 则
│ │ PauseUnit: 读取局部变量("d"), PauseUnpauseOptionPause
│ │ 移动单位: 读取局部变量("d"), 读取局部变量("2")
│ │ 销毁特效 创建特效(附着单位)(Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl, 读取局部变量("d"), "overhead")
│ │ PauseUnit: 读取局部变量("d"), PauseUnpauseOptionUnpause
│ │ 设置单位朝向: 读取局部变量("d"), 读取局部变量("jd")
│ └─ 否则: (无)
├─ 清除点 读取局部变量("1")
└─ 清除点 读取局部变量("2")翅膀移动CBYD
text
触发器: 翅膀移动CBYD (物品系统) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventIssued_Point_Order
条件
├─ 命令ID比较(GetIssuedOrderIdBJ(), OperatorEqualENE, 字符串转命令ID("smart"))
├─ 单位持有物品类型(触发单位(), gemt) == TRUE
└─ 单位类型判断(触发单位(), 英雄) == TRUE
动作
├─ 设置局部变量:"d"=触发单位()
├─ 设置局部变量:"1"=(读取局部变量("d")的位置)
├─ 设置局部变量:"2"=命令目标点()
└─ 如果
├─ 条件: 点是否在区域内(gg_rct_____________XRQY, 读取局部变量("2")) == TRUE
├─ 则
│ 显示文本→(读取局部变量("d")的所有者): 0
└─ 否则
设置局部变量:"jd"=AngleBetweenPoints(读取局部变量("1"), 读取局部变量("2"))
PauseUnit: 读取局部变量("d"), PauseUnpauseOptionPause
移动单位: 读取局部变量("d"), 读取局部变量("2")
销毁特效 创建特效(附着单位)(Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl, 读取局部变量("d"), "overhead")
PauseUnit: 读取局部变量("d"), PauseUnpauseOptionUnpause
设置单位朝向: 读取局部变量("d"), 读取局部变量("jd")
清除点 读取局部变量("1")
清除点 读取局部变量("2")查看怨种值YZZ
text
触发器: 查看怨种值YZZ (物品系统) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "我是大冤种"
条件
└─ 无
动作
├─ 设置局部变量:"w"=DzGetTriggerKeyPlayer()
├─ 显示文本→读取局部变量("w"): 0
├─ 设置局部变量:"z"=从哈希表读取数据(玩家, 读取局部变量("w"), "冤种")
└─ 显示文本→读取局部变量("w"): 0玩家退出WJTC
text
触发器: 玩家退出WJTC (物品系统) [✓]
───────────────────────────────────────────────────────
事件
└─ TriggerRegisterPlayerEventLeave(PlayerALL)
条件
└─ 无
动作
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeAlwaysHint, "TRIGSTR_2715"
├─ 设置局部变量:"w"=触发玩家()
├─ 设置局部变量:"n"=玩家号(读取局部变量("w"))
├─ 设置局部变量:"j"=玩家属性值(读取局部变量("w"), PlayerStateGold)
├─ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
├─ YDWEForLoopLocVarMultiple: "i", 1, 6
├─ 移除 读取局部变量("d")
├─ 设置局部变量:"d"=wanjbaobao/*玩家宝宝*/[读取局部变量("n")]
├─ YDWEForLoopLocVarMultiple: "i", 1, 6
└─ 移除 读取局部变量("d")左键双击物品事件ZJSJWP
text
触发器: 左键双击物品事件ZJSJWP (单位/战斗) [✓] — 双击升级物品。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventHeroUseItem
条件
└─ 无
动作
├─ 设置局部变量:"d"=GetManipulatingUnit()
├─ 设置局部变量:"w"=被操作物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 执行区域代码块: "晋阶物品"
├─ 执行区域代码块: "判定双击"
└─ 执行区域代码块: "修改多面板"获得物品HDWP
text
触发器: 获得物品HDWP (单位/战斗) [✓] — 获得物品动作。注意,购买物品,拾取物品,创建物品到背包,都会触发这个事件。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventHeroPickUpItem
条件
└─ GetManipulatingUnit() == gg_unit_Nsjs_0040
动作
├─ 设置局部变量:"d"=GetManipulatingUnit()
├─ 设置局部变量:"w"=被操作物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 执行区域代码块: "堆叠物品"
├─ 执行区域代码块: "晋阶物品"
├─ 执行区域代码块: "其他物品"
├─ 执行区域代码块: "抽奖卷"
├─ 执行区域代码块: "力量提升物品"
└─ 执行区域代码块: "修改多面板"丢弃物品DQWP
text
触发器: 丢弃物品DQWP (单位/战斗) [✓] — 同获得物品。丢弃物品,出售物品,删除物品也都会触发这个事件。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventHeroDropItem
条件
└─ GetManipulatingUnit() == gg_unit_Nsjs_0040
动作
├─ 设置局部变量:"d"=GetManipulatingUnit()
├─ 设置局部变量:"w"=被操作物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 执行区域代码块: "堆叠物品"
├─ 执行区域代码块: "晋阶物品"
├─ 执行区域代码块: "其他物品"
└─ 执行区域代码块: "修改多面板"彩蛋物品CDWP
text
触发器: 彩蛋物品CDWP (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventHeroPickUpItem
条件
├─ 物品类型比较(物品类型ID(被操作物品()), OperatorEqualENE, sclp)
├─ 单位持有物品类型(GetManipulatingUnit(), rat6) == TRUE
├─ 单位持有物品类型(GetManipulatingUnit(), gcel) == TRUE
├─ 单位持有物品类型(GetManipulatingUnit(), penr) == TRUE
├─ 单位持有物品类型(GetManipulatingUnit(), rde1) == TRUE
└─ 单位持有物品类型(GetManipulatingUnit(), prvt) == TRUE
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 设置局部变量:"d"=GetManipulatingUnit()
└─ 如果
├─ 条件: 全部成立
├─ 则
│ 设置局部变量:"wp"=单位携带物品(按类型)(读取局部变量("d"), rat6)
│ 删除物品: 读取局部变量("wp")
│ 设置局部变量:"wp"=单位携带物品(按类型)(读取局部变量("d"), gcel)
│ 删除物品: 读取局部变量("wp")
│ 设置局部变量:"wp"=单位携带物品(按类型)(读取局部变量("d"), penr)
│ 删除物品: 读取局部变量("wp")
│ 设置局部变量:"wp"=单位携带物品(按类型)(读取局部变量("d"), prvt)
│ 删除物品: 读取局部变量("wp")
│ 设置局部变量:"wp"=单位携带物品(按类型)(读取局部变量("d"), rde1)
│ 删除物品: 读取局部变量("wp")
│ 添加物品: gvsm, 读取局部变量("d")
│ 显示文本→(读取局部变量("d")的所有者): 0
└─ 否则: (无)精品商店JPSD
text
触发器: 精品商店JPSD (单位/战斗) [✓] — 堆叠物品一次购买10个。
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_ngad_0028 - UnitEventSellItem
条件
├─ 检查哈希表有数据(typename11_itemcode, 物品类型ID(被贩卖物品()), 布尔, "堆叠") == TRUE
└─ 购买单位() == gg_unit_Nsjs_0040
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"w"=被贩卖物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 设置局部变量:"d"=购买单位()
├─ 设置局部变量:"wj"=(读取局部变量("d")的所有者)
├─ ── 读取玩家黄金 ──
├─ 设置局部变量:"j"=玩家属性值((读取局部变量("d")的所有者), PlayerStateGold)
├─ ── 读取计算物品购买十个所需黄金 ──
├─ 设置局部变量:"wpj"=YDWEGetObjectPropertyInteger(objecttype03_itemcode, 读取局部变量("wp"), "goldcost")
├─ 设置局部变量:"wpj"=(读取局部变量("wpj") x 9)
├─ ── 计算是否能购买十个,能的话直接获得十个物品 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreaterEq 读取局部变量("wpj")
├─ 则
│ ── 记得扣去玩家相对应的黄金 ──
│ 调整 (读取局部变量("d")的所有者) 的 PlayerStateGold: (0 - 读取局部变量("wpj"))
│ YDWEForLoopLocVarMultiple: "i", 1, 9
└─ 否则: (无)黑心商店HXSD
text
触发器: 黑心商店HXSD (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_ngme_0027 - UnitEventSellItem
条件
└─ 物品类型比较(物品类型ID(被贩卖物品()), OperatorEqualENE, sclp)
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"w"=被贩卖物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 设置局部变量:"d"=购买单位()
├─ 设置局部变量:"wj"=(读取局部变量("d")的所有者)
├─ ── 读取玩家黄金 ──
├─ 设置局部变量:"j"=玩家属性值((读取局部变量("d")的所有者), PlayerStateGold)
├─ ── 读取计算物品购买十个所需黄金 ──
├─ 设置局部变量:"wpj"=YDWEGetObjectPropertyInteger(objecttype03_itemcode, 读取局部变量("wp"), "goldcost")
├─ 设置局部变量:"wpj"=(读取局部变量("wpj") x 9)
├─ ── 计算是否能购买十个,能的话直接获得十个物品 ──
└─ 如果
├─ 条件: 读取局部变量("j") OperatorGreaterEq 读取局部变量("wpj")
├─ 则
│ ── 记得扣去玩家相对应的黄金 ──
│ 调整 (读取局部变量("d")的所有者) 的 PlayerStateGold: (0 - 读取局部变量("wpj"))
│ YDWEForLoopLocVarMultiple: "i", 1, 9
└─ 否则: (无)挑战者商店TZZSD
text
触发器: 挑战者商店TZZSD (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_ntav_0000 - UnitEventSellItem
条件
└─ 购买单位() == gg_unit_Nsjs_0040
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"w"=被贩卖物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 设置局部变量:"d"=购买单位()
├─ 设置局部变量:"wj"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"n"=玩家号(读取局部变量("wj"))
├─ ── 确定购买单位是玩家英雄 ──
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"z"=zhuanshen/*转身次数*/[读取局部变量("n")]
├─ 执行区域代码块: "转身挑战"
├─ 执行区域代码块: "觉醒挑战"
├─ 执行区域代码块: "小神通挑战"
├─ 执行区域代码块: "中神通挑战"
├─ 执行区域代码块: "大神通挑战"
└─ 执行区域代码块: "修改多面板"泉水物品QSWP
text
触发器: 泉水物品QSWP (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_nfnp_0026 - UnitEventSellItem
条件
└─ 购买单位() == gg_unit_Nsjs_0040
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"w"=被贩卖物品()
├─ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
├─ 设置局部变量:"d"=购买单位()
├─ 设置局部变量:"wj"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"n"=玩家号(读取局部变量("wj"))
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 执行区域代码块: "提升污染者锤石属性"
└─ 执行区域代码块: "提前出怪"物品技能
text
触发器: 物品技能 (单位/战斗) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)物品技能-剥夺BD
text
触发器: 物品技能-剥夺BD (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A006)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 判定单位是不是英雄 ──
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ ── 不是就读取玩家英雄 ──
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ ── 读取目标魔法值 ──
├─ 设置局部变量:"m1"=单位状态(读取局部变量("u"), UnitStateMaxMana)
├─ 设置局部变量:"m1"=(读取局部变量("m1") x 0.50)
├─ 设置局部变量:"m2"=单位状态(读取局部变量("u"), UnitStateMana)
├─ ── 盗取魔法 ──
└─ 如果
├─ 条件: 读取局部变量("m1") OperatorGreaterEq 读取局部变量("m2")
├─ 则
│ SetUnitState: 读取局部变量("u"), UnitStateManaSec, 0.00
│ 设置局部变量:"m2"=(读取局部变量("m2") / 2.00)
│ SetUnitState: 读取局部变量("d"), UnitStateManaSec, (单位状态(读取局部变量("d"), UnitStateMana) + 读取局部变量("m2"))
└─ 否则
SetUnitState: 读取局部变量("u"), UnitStateManaSec, (读取局部变量("m2") - 读取局部变量("m1"))
设置局部变量:"m1"=(读取局部变量("m1") / 2.00)
SetUnitState: 读取局部变量("d"), UnitStateManaSec, (单位状态(读取局部变量("d"), UnitStateMana) + 读取局部变量("m1"))物品技能-盗贼手套DZST
text
触发器: 物品技能-盗贼手套DZST (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, A004)
└─ 是镜像单位(技能目标单位()) == TRUE
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 判定单位是不是英雄 ──
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ ── 读取等级,设置盗取金币下限 ──
├─ 设置局部变量:"dj"=GetUnitLevel(读取局部变量("d"))
├─ 设置局部变量:"dj"=(读取局部变量("dj") x 10)
├─ 设置局部变量:"sj"=随机[1~读取局部变量("dj")]
├─ 设置局部变量:"u"=技能目标单位()
├─ ── 盗取金币,记得判定一下数值 ──
├─ 如果
│ ├─ 条件: 读取局部变量("u") == gg_unit_Nsjs_0025
│ ├─ 则
│ │ 调整 (读取局部变量("d")的所有者) 的 PlayerStateGold: 读取局部变量("sj")
│ │ 显示文本→(读取局部变量("d")的所有者): 0
│ └─ 否则
│ 设置局部变量:"j"=玩家属性值((读取局部变量("u")的所有者), PlayerStateGold)
│ 如果
│ ├─ 条件: 读取局部变量("sj") OperatorGreater 读取局部变量("j")
│ ├─ 则
│ │ 调整 (读取局部变量("d")的所有者) 的 PlayerStateGold: 读取局部变量("j")
│ │ 调整 (读取局部变量("u")的所有者) 的 PlayerStateGold: (0 - 读取局部变量("j"))
│ │ 显示文本→(读取局部变量("d")的所有者): 0
│ │ 显示文本→(读取局部变量("u")的所有者): 0
│ └─ 否则
│ 调整 (读取局部变量("d")的所有者) 的 PlayerStateGold: 读取局部变量("sj")
│ 调整 (读取局部变量("u")的所有者) 的 PlayerStateGold: (0 - 读取局部变量("sj"))
│ 显示文本→(读取局部变量("d")的所有者): 0
│ 显示文本→(读取局部变量("u")的所有者): 0
└─ 执行区域代码块: "修改多面板"物品技能-吸血鬼XXG
text
触发器: 物品技能-吸血鬼XXG (单位/战斗) [✓] — 同上,不解释
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A005)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"m1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
├─ 设置局部变量:"m1"=(读取局部变量("m1") x 0.10)
├─ 设置局部变量:"m2"=单位状态(读取局部变量("u"), UnitStateLife)
└─ 如果
├─ 条件: 读取局部变量("m1") OperatorGreaterEq 读取局部变量("m2")
├─ 则
│ 杀死 读取局部变量("u")
│ 设置局部变量:"m2"=(读取局部变量("m2") x 0.80)
│ SetUnitState: 读取局部变量("d"), UnitStateLifeSec, (单位状态(读取局部变量("d"), UnitStateLife) + 读取局部变量("m2"))
└─ 否则
SetUnitState: 读取局部变量("u"), UnitStateLifeSec, (读取局部变量("m2") - 读取局部变量("m1"))
设置局部变量:"m1"=(读取局部变量("m1") x 0.80)
SetUnitState: 读取局部变量("d"), UnitStateLifeSec, (单位状态(读取局部变量("d"), UnitStateLife) + 读取局部变量("m1"))物品技能-金币JB
text
触发器: 物品技能-金币JB (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AIgo)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"dj"=GetUnitLevel(读取局部变量("d"))
├─ 设置局部变量:"dj"=(读取局部变量("dj") x 2)
├─ 设置局部变量:"j"=玩家属性值(读取局部变量("w"), PlayerStateGold)
├─ 设置局部变量:"j"=(读取局部变量("j") / 10)
├─ 如果
│ ├─ 条件: 读取局部变量("j") OperatorGreater 1000
│ ├─ 则
│ │ 设置局部变量:"j"=2000
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("j") OperatorGreater 读取局部变量("dj")
│ ├─ 则
│ │ 设置局部变量:"sj"=随机[读取局部变量("dj")~读取局部变量("j")]
│ │ 调整 读取局部变量("w") 的 PlayerStateGold: 读取局部变量("sj")
│ │ 显示文本→读取局部变量("w"): 0
│ └─ 否则
│ 设置局部变量:"sj"=读取局部变量("dj")
│ 调整 读取局部变量("w") 的 PlayerStateGold: 读取局部变量("sj")
│ 显示文本→读取局部变量("w"): 0
└─ 执行区域代码块: "修改多面板"物品技能-生命值药水SMYS
text
触发器: 物品技能-生命值药水SMYS (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AIh1)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"s"=单位状态(读取局部变量("d"), UnitStateLife)
├─ 设置局部变量:"s"=(读取局部变量("s") x 1.00)
├─ 设置生命百分比: 读取局部变量("d"), 100
└─ 启动计时器: 创建计时器(), 20.00s (一次性)物品技能-魔法药水MFYS
text
触发器: 物品技能-魔法药水MFYS (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AIm1)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"s"=单位状态(读取局部变量("d"), UnitStateMaxMana)
├─ 设置局部变量:"s"=(读取局部变量("s") x 0.01)
├─ 设置魔法百分比: 读取局部变量("d"), (GetUnitManaPercent(读取局部变量("d")) + 30.00)
└─ 启动计时器: 创建计时器(), 1.00s (循环)物品技能-岩石傀儡YSKL
text
触发器: 物品技能-岩石傀儡YSKL (单位/战斗) [✓] — 30秒后,召唤的岩石傀儡会变成敌人。
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AIfr)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"x"=单位X坐标(读取局部变量("d"))
├─ 设置局部变量:"y"=单位Y坐标(读取局部变量("d"))
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
└─ YDWEForLoopLocVarMultiple: "i", 1, 3物品技能-偷盗手套TDSTS
text
触发器: 物品技能-偷盗手套TDSTS (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, A008)
└─ 是镜像单位(技能目标单位()) == TRUE
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"sj"=随机[1~6]
├─ 设置局部变量:"wp"=单位栏位物品(读取局部变量("u"), 读取局部变量("sj"))
└─ 如果
├─ 条件: 物品比较(读取局部变量("wp"), OperatorEqualENE, ItemNull)
├─ 则
│ 修改 读取局部变量("u") 的HeroStatStr: ModifyMethodSub1
│ 修改 读取局部变量("u") 的HeroStatAgi: ModifyMethodSub1
│ 修改 读取局部变量("u") 的HeroStatInt: ModifyMethodSub1
│ 修改 读取局部变量("d") 的HeroStatStr: ModifyMethodAdd1
│ 修改 读取局部变量("d") 的HeroStatAgi: ModifyMethodAdd1
│ 修改 读取局部变量("d") 的HeroStatInt: ModifyMethodAdd1
│ 显示文本→(读取局部变量("d")的所有者): 0
└─ 否则
设置局部变量:"z"=UnitInventoryCount(读取局部变量("d"))
如果
├─ 条件: 读取局部变量("z") OperatorLess 6
├─ 则
│ UnitAddItemSwapped: 读取局部变量("wp"), 读取局部变量("d")
└─ 否则
移动物品到坐标: 读取局部变量("wp"), 单位X坐标(读取局部变量("d")), 单位Y坐标(读取局部变量("d"))
显示文本→(读取局部变量("d")的所有者): 0物品技能-死亡一指SWYZ
text
触发器: 物品技能-死亡一指SWYZ (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, AIfz)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=YDWEOperatorReal3((读取局部变量("ll")转实数), YOperatorAdd, (读取局部变量("mj")转实数), YOperatorAdd, (读取局部变量("zl")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 2.00)
└─ 伤害目标: 读取局部变量("d"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS物品技能-变羊BY
text
触发器: 物品技能-变羊BY (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, ACpy)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"sx"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=((读取局部变量("sx")转实数) x 5.00)
└─ 伤害目标: 读取局部变量("d"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS物品技能-有一说一YYSY
text
触发器: 物品技能-有一说一YYSY (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, Atau)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 如果
│ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ ├─ 则
│ │ 设置局部变量:"w"=(读取局部变量("d")的所有者)
│ │ 设置局部变量:"n"=玩家号(读取局部变量("w"))
│ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ └─ 否则: (无)
├─ 设置局部变量:"s"=30.00
├─ 保存数据到哈希表: [单位类型.读取局部变量("d")."物伤"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "物伤") + 读取局部变量("s"))
├─ 保存数据到哈希表: [单位类型.读取局部变量("d")."魔伤"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "魔伤") + 读取局部变量("s"))
└─ 启动计时器: 创建计时器(), 10.00s (一次性)物品技能-一念一界YNYJ
text
触发器: 物品技能-一念一界YNYJ (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A018)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 获取施法点坐标 ──
├─ 设置局部变量:"x"=GetSpellTargetX()
├─ 设置局部变量:"y"=GetSpellTargetY()
├─ ── 利用马甲创建特效 ──
├─ 设置局部变量:"m"=创建单位(指定坐标)((读取局部变量("d")的所有者), e000, 读取局部变量("x"), 读取局部变量("y"), 0)
├─ ── 修改马甲模型为我们需要的特效模型 ──
├─ DzSetUnitModel: 读取局部变量("m"), "Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl"
├─ ── 改变马甲大小到我们需要的大小 ──
├─ 设置局部变量:"size"=(YDWEGetObjectPropertyReal(objecttype02_unitcode, (读取局部变量("m")类型ID), "modelScale") + 3.00)
├─ 设置缩放: 读取局部变量("m"), 读取局部变量("size"), 读取局部变量("size"), 读取局部变量("size")
├─ ── 计时器删除马甲 ──
├─ YDWETimerRemoveUnit: 8.00, 读取局部变量("m")
├─ ── 选取单位动作 ──
└─ YDWEEnumUnitsInRangeMultiple: 读取局部变量("x"), 读取局部变量("y"), 300.00物品技能-嘲讽CF
text
触发器: 物品技能-嘲讽CF (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, Atau)
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"zf"=(玩家名:读取局部变量("w"))
├─ 设置局部变量:"sj"=随机[1~10]
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 1
│ ├─ 则
│ │ 设置局部变量:"zf"="原神才是世界上最好玩的游戏!!原神怎么你了?"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 2
│ ├─ 则
│ │ 设置局部变量:"zf"="亚索中单!不给就送!死亡如风,啊萨给!"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 3
│ ├─ 则
│ │ 设置局部变量:"zf"="大小姐驾到,通通闪开!"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 4
│ ├─ 则
│ │ 设置局部变量:"zf"="咸粽子和甜粽子都不好吃。要我说,臭豆腐馅的才是最好吃的!最好配上蓝莓奶酪一起吃。"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 5
│ ├─ 则
│ │ 设置局部变量:"zf"="污染者锤石是世界上最帅的作者!"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 6
│ ├─ 则
│ │ 设置局部变量:"zf"="你过来呀!!(竖中指ing)"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 7
│ ├─ 则
│ │ 设置局部变量:"zf"="就是你们这群玩家惯的作者!你看他一天天不干正事,净整活!"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 8
│ ├─ 则
│ │ 设置局部变量:"zf"="作者你有这个时间写这些没用的玩意,不如多出几个648道具上线骗氪。"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 9
│ ├─ 则
│ │ 设置局部变量:"zf"="全体成员!目光向我看齐!我宣布个事!我是帅逼!!!!"
│ │ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ │ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
│ └─ 否则: (无)
└─ 如果
├─ 条件: 读取局部变量("sj") == 10
├─ 则
│ 设置局部变量:"zf"="原神!!!启动!!!为了成为山里灵活的狗!!"
│ 显示文本→GetPlayersAll(): YDWEOperatorString3(YDWEGetPlayerColorString(读取局部变量("w"), 读取局部变量("zf")), "锛?", 读取局部变量("zfc"))
│ YDWEDisplayChat: 读取局部变量("w"), CHAT_RECIPIENT_ALL, 读取局部变量("zf")
└─ 否则: (无)物品技能-诱捕YB
text
触发器: 物品技能-诱捕YB (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, ACen)
└─ 技能目标单位() == gg_unit_H000_0101
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"dw"=(读取局部变量("u")类型ID)
├─ 设置局部变量:"wp"=单位携带物品(按类型)(读取局部变量("d"), esaz)
├─ 设置局部变量:"z"=物品剩余使用次数(读取局部变量("wp"))
├─ 设置局部变量:"z"=(读取局部变量("z") + 1)
├─ SetItemCharges: 读取局部变量("wp"), 读取局部变量("z")
├─ 设置局部变量:"z"=物品剩余使用次数(读取局部变量("wp"))
├─ 如果
│ ├─ 条件: 读取局部变量("dw") == nvk2
│ ├─ 则
│ │ 设置局部变量:"z"=(读取局部变量("z") + 1)
│ │ SetItemCharges: 读取局部变量("wp"), 读取局部变量("z")
│ │ 启动计时器: 创建计时器(), 0.50s (一次性)
│ │ 设置局部变量:"sj"=随机[1~3]
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 1
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1646"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 2
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1647"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 3
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1648"
│ │ └─ 否则: (无)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("dw") == nvil
│ ├─ 则
│ │ 设置局部变量:"z"=(读取局部变量("z") + 1)
│ │ SetItemCharges: 读取局部变量("wp"), 读取局部变量("z")
│ │ 启动计时器: 创建计时器(), 0.50s (一次性)
│ │ 设置局部变量:"sj"=随机[1~3]
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 1
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1649"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 2
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1650"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 3
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1651"
│ │ └─ 否则: (无)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("dw") == nvl2
│ ├─ 则
│ │ 设置局部变量:"z"=(读取局部变量("z") + 1)
│ │ SetItemCharges: 读取局部变量("wp"), 读取局部变量("z")
│ │ 启动计时器: 创建计时器(), 0.50s (一次性)
│ │ 设置局部变量:"sj"=随机[1~3]
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 1
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1656"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 2
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1657"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 3
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1658"
│ │ └─ 否则: (无)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("dw") == nvlw
│ ├─ 则
│ │ 设置局部变量:"z"=(读取局部变量("z") + 1)
│ │ SetItemCharges: 读取局部变量("wp"), 读取局部变量("z")
│ │ 启动计时器: 创建计时器(), 0.50s (一次性)
│ │ 设置局部变量:"sj"=随机[1~3]
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 1
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1659"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 2
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1660"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 3
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1661"
│ │ └─ 否则: (无)
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("dw") == nvlk
│ ├─ 则
│ │ 设置局部变量:"z"=(读取局部变量("z") + 1)
│ │ SetItemCharges: 读取局部变量("wp"), 读取局部变量("z")
│ │ 启动计时器: 创建计时器(), 0.50s (一次性)
│ │ 设置局部变量:"sj"=随机[1~3]
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 1
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1662"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 2
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1663"
│ │ └─ 否则: (无)
│ │ 如果
│ │ ├─ 条件: 读取局部变量("sj") == 3
│ │ ├─ 则
│ │ │ 显示文本→GetPlayersAll(): "TRIGSTR_1664"
│ │ └─ 否则: (无)
│ └─ 否则: (无)
└─ 如果
├─ 条件: 读取局部变量("z") == 50
├─ 则
│ 删除物品: 读取局部变量("wp")
│ 添加物品: k3m3, 读取局部变量("d")
└─ 否则: (无)物品技能-复制FZ
text
触发器: 物品技能-复制FZ (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01F)
└─ 单位持有物品类型(GetSpellAbilityUnit(), horl) == TRUE
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"w"=技能目标物品()
└─ 如果
├─ 条件: OperatorCompareItemType(GetItemType(读取局部变量("w")), OperatorEqualENE, ItemTypeArtifact)
├─ 则
│ 删除物品: 单位携带物品(按类型)(读取局部变量("d"), horl)
│ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
│ 添加物品: 读取局部变量("wp"), 读取局部变量("d")
│ 显示文本→(读取局部变量("d")的所有者): 0
└─ 否则
显示文本→(读取局部变量("d")的所有者): 0物品技能-重铸CZ
text
触发器: 物品技能-重铸CZ (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01E)
└─ 单位持有物品类型(GetSpellAbilityUnit(), pgin) == TRUE
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"w"=技能目标物品()
└─ 如果
├─ 条件: OperatorCompareItemType(GetItemType(读取局部变量("w")), OperatorEqualENE, ItemTypeArtifact)
├─ 则
│ 删除物品: 单位携带物品(按类型)(读取局部变量("d"), pgin)
│ 设置局部变量:"n"=GetItemLevel(读取局部变量("w"))
│ 删除物品: 读取局部变量("w")
│ 添加物品: ChooseRandomItemExBJ(读取局部变量("n"), ItemTypeArtifact), 读取局部变量("d")
│ 显示文本→(读取局部变量("d")的所有者): 0
└─ 否则
显示文本→(读取局部变量("d")的所有者): 0物品技能-吞噬TS
text
触发器: 物品技能-吞噬TS (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
├─ 技能ID比较(施法技能ID(), OperatorEqualENE, A01D)
└─ 单位持有物品类型(GetSpellAbilityUnit(), gsou) == TRUE
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"wj"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"n"=玩家号(读取局部变量("wj"))
├─ 设置局部变量:"w"=技能目标物品()
└─ 如果
├─ 条件: OperatorCompareItemType(GetItemType(读取局部变量("w")), OperatorEqualENE, ItemTypeArtifact)
├─ 则
│ ── 判定吞噬次数 ──
│ 设置局部变量:"yx"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ 设置局部变量:"t"=从哈希表读取数据(单位类型, 读取局部变量("yx"), "吞噬")
│ 设置局部变量:"z"=zhuanshen/*转身次数*/[读取局部变量("n")]
│ ── 设置吞噬次数上限 ──
│ 设置局部变量:"zs"=1
│ ── 修订吞噬次数上限 ──
│ 如果
│ ├─ 条件: 读取局部变量("z") OperatorGreaterEq 10
│ ├─ 则
│ │ 设置局部变量:"zs"=(读取局部变量("zs") + 1)
│ └─ 否则: (无)
│ ── 判定吞噬次数,符合条件就吞噬 ──
│ 如果
│ ├─ 条件: 读取局部变量("t") OperatorLess 读取局部变量("zs")
│ ├─ 则
│ │ 删除物品: 单位携带物品(按类型)(读取局部变量("d"), gsou)
│ │ 如果
│ │ ├─ 条件: 单位类型判断(读取局部变量("d"), 英雄) == TRUE
│ │ ├─ 则
│ │ │ 设置局部变量:"d"=wanjiayingx/*玩家英雄*/[读取局部变量("n")]
│ │ └─ 否则: (无)
│ │ 设置局部变量:"wp"=物品类型ID(读取局部变量("w"))
│ │ 删除物品: 读取局部变量("w")
│ │ ── 读取物品属性,添加在玩家英雄身上 ──
│ │ 设置局部变量:"ws"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "物伤")
│ │ 设置局部变量:"ms"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "魔伤")
│ │ 设置局部变量:"wd"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "物挡")
│ │ 设置局部变量:"md"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "魔挡")
│ │ 设置局部变量:"wx"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "物吸")
│ │ 设置局部变量:"mx"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "魔吸")
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."物伤"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "物伤") + 读取局部变量("ws"))
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."魔伤"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "魔伤") + 读取局部变量("ms"))
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."物挡"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "物挡") + 读取局部变量("wd"))
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."魔挡"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "魔挡") + 读取局部变量("md"))
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."物吸"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "物吸") + 读取局部变量("wx"))
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."魔吸"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "魔吸") + 读取局部变量("mx"))
│ │ ── 读取物品三维,添加在玩家英雄身上 ──
│ │ 设置局部变量:"sx"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "力量")
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."力量"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "力量") + 读取局部变量("sx"))
│ │ 设置局部变量:"sx"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "敏捷")
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."敏捷"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "敏捷") + 读取局部变量("sx"))
│ │ 设置局部变量:"sx"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "智力")
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."智力"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "智力") + 读取局部变量("sx"))
│ │ ── 读取物品CD,添加在玩家英雄身上 ──
│ │ 设置局部变量:"s"=从哈希表读取数据(typename11_itemcode, 读取局部变量("wp"), "CD")
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."CD"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "CD") + 读取局部变量("s"))
│ │ 显示文本→(读取局部变量("d")的所有者): 0
│ │ ── 记录玩家英雄吞噬次数 ──
│ │ 保存数据到哈希表: [单位类型.读取局部变量("d")."吞噬"] = (从哈希表读取数据(单位类型, 读取局部变量("d"), "吞噬") + 1)
│ └─ 否则
│ 显示文本→(读取局部变量("d")的所有者): 0
└─ 否则
显示文本→(读取局部变量("d")的所有者): 0物品技能-恶毒药剂EDYJ
text
触发器: 物品技能-恶毒药剂EDYJ (单位/战斗) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 技能ID比较(施法技能ID(), OperatorEqualENE, A020)
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 设置局部变量:"u"=技能目标单位()
├─ 设置局部变量:"j"=GetUnitLevel(读取局部变量("u"))
├─ 设置局部变量:"j"=(读取局部变量("j") x 80)
├─ 调整 读取局部变量("w") 的 PlayerStateGold: 读取局部变量("j")
├─ 显示文本→读取局部变量("w"): 0
├─ 杀死 读取局部变量("u")
├─ 设置局部变量:"w1"=(读取局部变量("u")的所有者)
└─ 显示文本→读取局部变量("w1"): 0兵种升级BZSJ
text
触发器: 兵种升级BZSJ (刷怪/进攻) [✓] — 这个就是简简单单的刷兵触发。
───────────────────────────────────────────────────────
事件
└─ 计时器 jsq/*计时器*/ 到期
条件
└─ 无
动作
├─ ── 进攻次数 ──
├─ 设置局部变量:"z"=jingoncishu/*进攻次数*/
├─ 设置局部变量:"z"=(读取局部变量("z") + 1)
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeAlwaysHint, "TRIGSTR_056"
├─ TimerDialogSetTitleBJ: jsqck/*计时器窗口*/, "当前进攻波次:" + (读取局部变量("z")转字符串)
├─ TimerDialogSetTitleBJ: 读取局部变量("jsq"), "当前进攻波次:" + (读取局部变量("z")转字符串)
├─ 设置 jingoncishu/*进攻次数*/ = 读取局部变量("z")
├─ ── 读取进攻单位类型 ──
├─ 设置局部变量:"dw"=direndanw/*敌人单位*/[读取局部变量("z")]
├─ ── 设置单位属性 ──
├─ 设置局部变量:"nd"=玩家科技等级(Rhme, 玩家11(暗绿))
├─ 设置局部变量:"wd"=((读取局部变量("z")转实数) + YDWEOperatorReal3((读取局部变量("nd")转实数), YOperatorMultiply, 2.00, YOperatorAdd, 1.00))
├─ 设置局部变量:"md"=((读取局部变量("z")转实数) + YDWEOperatorReal3((读取局部变量("nd")转实数), YOperatorMultiply, 2.00, YOperatorAdd, 1.00))
├─ 设置局部变量:"nd"=(读取局部变量("nd") + 1)
├─ 设置局部变量:"gj"=YDWEOperatorReal3((读取局部变量("z")转实数), YOperatorMultiply, 2.00, YOperatorAdd, 3.00)
├─ 设置局部变量:"gj"=(读取局部变量("gj") x YDWEOperatorReal3((读取局部变量("nd")转实数), YOperatorMultiply, 0.50, YOperatorAdd, 1.00))
├─ 设置局部变量:"hj"=YDWEOperatorReal3((读取局部变量("z")转实数), YOperatorMultiply, 0.50, YOperatorAdd, 1.00)
├─ 设置局部变量:"hj"=(读取局部变量("hj") x YDWEOperatorReal3((读取局部变量("nd")转实数), YOperatorMultiply, 0.50, YOperatorAdd, 1.00))
├─ 设置局部变量:"sm"=YDWEOperatorReal3((读取局部变量("z")转实数), YOperatorMultiply, 20.00, YOperatorAdd, 10.00)
├─ 设置局部变量:"sm"=(读取局部变量("sm") x YDWEOperatorReal3((读取局部变量("nd")转实数), YOperatorMultiply, 0.50, YOperatorAdd, 1.00))
├─ ── 循环刷兵 ──
├─ 启动计时器: 创建计时器(), 1.00s (循环)
├─ ── 判断boss进攻波数 ──
├─ 设置局部变量:"m"=取模(读取局部变量("z"), 5)
├─ 如果
│ ├─ 条件: 读取局部变量("m") == 0
│ ├─ 则
│ │ 设置局部变量:"zs"=(读取局部变量("z") / 5)
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_057"
│ │ ── 设置BOSS属性 ──
│ │ 设置局部变量:"s"=((读取局部变量("nd")转实数) - 1.00)
│ │ 设置局部变量:"sx"=YDWEOperatorReal3(读取局部变量("s"), YOperatorMultiply, 3.00, YOperatorAdd, (读取局部变量("z")转实数))
│ │ 设置局部变量:"ws"=(读取局部变量("sx") x 10.00)
│ │ 设置局部变量:"ms"=(读取局部变量("sx") x 10.00)
│ │ 设置局部变量:"wd"=(读取局部变量("sx") x 20.00)
│ │ 设置局部变量:"md"=(读取局部变量("sx") x 20.00)
│ │ 设置局部变量:"wx"=(读取局部变量("s") x 1.50)
│ │ 设置局部变量:"mx"=(读取局部变量("s") x 1.50)
│ │ ── 四个区域刷BOSS ──
│ │ 设置局部变量:"dw"=direnboss/*BOSS*/[读取局部变量("zs")]
│ │ YDWEForLoopLocVarMultiple: "i", 1, 4
│ └─ 否则: (无)
├─ ── 刷新到最后一波清除逆天计时器 ──
└─ 如果
├─ 条件: 读取局部变量("z") OperatorGreaterEq 40
├─ 则
│ TimerDialogDisplay: jsqck/*计时器窗口*/, ShowHideHide
│ 删除计时器窗口 jsqck/*计时器窗口*/
│ 暂停计时器 PauseResumePause
│ 关闭触发器 当前触发器()
│ 销毁触发器(自身)
└─ 否则: (无)敌人进攻DRJG
text
触发器: 敌人进攻DRJG (刷怪/进攻) [✓] — 这里我关闭删除了这个触发,但是逆天计时器依然会一直循环运行。
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 设置局部变量:"q"=gg_rct_______JD
├─ 设置局部变量:"x"=区域中心X(读取局部变量("q"))
├─ 设置局部变量:"y"=区域中心Y(读取局部变量("q"))
└─ 启动计时器: 创建计时器(), 8.00s (循环)练功房LGF
text
触发器: 练功房LGF (刷怪/进攻) [✓] — 每4秒判定一下练功房区域单位数量。数量不够就在刷新一波。
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
└─ 启动计时器: 创建计时器(), 4.00s (循环)BOSS技能BSJN
text
触发器: BOSS技能BSJN (刷怪/进攻) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 单位技能等级(GetSpellAbilityUnit(), A009) != 0
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ ── 计算伤害 ──
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"s"=YDWEOperatorReal3((读取局部变量("ll")转实数), YOperatorAdd, (读取局部变量("mj")转实数), YOperatorAdd, (读取局部变量("zl")转实数))
├─ 设置局部变量:"s"=(读取局部变量("s") x 2.00)
├─ ── 读取当前难度 ──
├─ 设置局部变量:"nd"=玩家科技等级(Rhme, 玩家11(暗绿))
├─ ── 计算落雷次数 ──
├─ 设置局部变量:"n"=YDWEOperatorInt3(读取局部变量("nd"), YOperatorMultiply, 2, YOperatorSubtract, 4)
└─ 启动计时器: 创建计时器(), 5.00s (循环)伤害事件
text
触发器: 伤害事件 (其他) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)任意单位伤害事件RYDWSHSL
text
触发器: 任意单位伤害事件RYDWSHSL (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ YDWE任意单位受伤注册()
条件
├─ 单位存活判断(触发单位()) == TRUE
├─ IsUnitHiddenBJ(触发单位()) == TRUE
└─ 伤害值() OperatorGreater 0.00
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"d"=伤害来源()
├─ 设置局部变量:"u"=触发单位()
├─ 设置局部变量:"s"=伤害值()
├─ 执行区域代码块: "伤害计算"
├─ 执行区域代码块: "马甲伤害"
├─ 执行区域代码块: "敌人伤害加成"
├─ 执行区域代码块: "敌人伤害减免"
├─ 执行区域代码块: "血法师-凤凰"
├─ 执行区域代码块: "老鹿-荆棘光环"
├─ 执行区域代码块: "狗头人-敲敲"
├─ 执行区域代码块: "剑圣-致命一击"
├─ 执行区域代码块: "娜迦-魔法盾"
├─ 执行区域代码块: "恶魔猎手-献祭"
├─ 执行区域代码块: "SP守望者-残刃"
├─ 执行区域代码块: "狗头人-重敲"
├─ 执行区域代码块: "物品技能-背刺者"
├─ 执行区域代码块: "物品技能-业法天尊"
├─ 执行区域代码块: "物品技能-怨种剑"
├─ 执行区域代码块: "天赋神通-巨力"
├─ 执行区域代码块: "天赋神通-青羽"
└─ 执行区域代码块: "天赋神通-紫怨"伤害计算SHJS
text
触发器: 伤害计算SHJS (其他) [✓] — 简简单单的伤害系统。我只写了魔法伤害和物理伤害两种,你可以通过伤害类型再进一步继续细分。也可以在加入闪避,法术暴击等影响伤害的因素。
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 伤害值() OperatorGreater 0.00
动作
├─ 设置局部变量:"d"=读取局部变量("d")
├─ 设置局部变量:"u"=读取局部变量("u")
├─ 设置局部变量:"s"=读取局部变量("s")
├─ 执行区域代码块: "计算固定减伤"
└─ 执行区域代码块: "判定伤害类型,分开计算"马甲伤害MJSH
text
触发器: 马甲伤害MJSH (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 设置局部变量:"d"=读取局部变量("d")
├─ 设置局部变量:"u"=读取局部变量("u")
├─ 设置局部变量:"yx"=从哈希表读取数据(单位类型, 读取局部变量("d"), "英雄")
├─ 设置局部变量:"s"=从哈希表读取数据(单位类型, 读取局部变量("d"), "伤害")
├─ 如果
│ ├─ 条件: 是敌方单位(读取局部变量("u"), (读取局部变量("d")的所有者)) == TRUE
│ ├─ 则
│ │ 伤害目标: 读取局部变量("yx"), 读取局部变量("u"), 读取局部变量("s"), IsNotNot, IsNotNot, AttackTypeNormal, DamageTypeMagic, WEAPON_TYPE_WHOKNOWS
│ └─ 否则
│ SetUnitState: 读取局部变量("u"), UnitStateLifeSec, (单位状态(读取局部变量("u"), UnitStateLife) + 读取局部变量("s"))
└─ 执行区域代码块: "死亡骑士-死亡缠绕"其他事件
text
触发器: 其他事件 (其他) [注释] [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
└─ (无)敌人单位死亡DRDWSW
text
触发器: 敌人单位死亡DRDWSW (其他) [✓]
───────────────────────────────────────────────────────
事件
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
└─ 玩家单位 - 单位死亡
条件
├─ 是敌方单位(凶手单位(), (死亡单位()的所有者)) == TRUE
└─ IsUnitAlly(凶手单位(), Player00) == TRUE
动作
├─ 设置局部变量:"d"=凶手单位()
├─ 设置局部变量:"u"=死亡单位()
├─ 设置局部变量:"w"=(读取局部变量("d")的所有者)
├─ 执行区域代码块: "玩家奖励"
├─ 执行区域代码块: "箱子随机掉落物品"
├─ 执行区域代码块: "充能物品-恶魔短棒"
├─ 执行区域代码块: "充能物品-地狱短棒"
├─ 执行区域代码块: "物技能品-我即天下"
├─ 执行区域代码块: "物技能品-堕落戒指"
├─ 执行区域代码块: "怨种技能-怨种体质"
├─ 执行区域代码块: "挑战商店-转生挑战成功"
├─ 执行区域代码块: "挑战商店-觉醒挑战成功"
├─ 执行区域代码块: "挑战商店-神通挑战成功"
├─ 执行区域代码块: "修改多面板"
└─ 执行区域代码块: "排泄自定义值"玩家单位死亡WJDWSW
text
触发器: 玩家单位死亡WJDWSW (其他) [✓]
───────────────────────────────────────────────────────
事件
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
├─ 玩家单位 - 单位死亡
└─ 玩家单位 - 单位死亡
条件
└─ 无
动作
├─ 设置局部变量:"d"=凶手单位()
├─ 设置局部变量:"u"=死亡单位()
├─ 执行区域代码块: "英雄复活"
├─ 执行区域代码块: "挑战商店-玩家英雄死亡,挑战失败"
├─ 执行区域代码块: "排泄自定义值"
├─ 执行区域代码块: "充能物品-亡者盾牌"
└─ 执行区域代码块: "物品技能-治疗守卫"中立单位死亡ZLDWSS
text
触发器: 中立单位死亡ZLDWSS (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家单位 - 单位死亡
条件
└─ 无
动作
└─ 执行区域代码块: "中立农民死亡掉落"学习技能事件XXJN
text
触发器: 学习技能事件XXJN (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventHero_Skill
条件
└─ 无
动作
├─ 设置局部变量:"d"=GetLearningUnit()
├─ 设置局部变量:"jn"=学习的技能()
├─ 执行区域代码块: "属性附加"
├─ 执行区域代码块: "大魔法师-辉煌光环"
├─ 执行区域代码块: "大魔法师-天辉"
├─ 执行区域代码块: "牛头人-耐久光环"
├─ 执行区域代码块: "剑圣-致命一击"
├─ 执行区域代码块: "地穴领主-尖刺外壳"
├─ 执行区域代码块: "死亡骑士-邪恶光环"
├─ 执行区域代码块: "恐惧魔王-吸血光环"
├─ 执行区域代码块: "白虎-强击光环"
└─ 执行区域代码块: "地精-工程升级"任意单位攻击事件RYDWGJ
text
触发器: 任意单位攻击事件RYDWGJ (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventAttacked
条件
└─ 是敌方单位(触发单位(), (攻击单位()的所有者)) == TRUE
动作
├─ 设置局部变量:"d"=攻击单位()
├─ 设置局部变量:"u"=触发单位()
├─ 执行区域代码块: "圣骑士-专注光环"
├─ 执行区域代码块: "剑圣-疾风步"
├─ 执行区域代码块: "先知-幽灵狼"
├─ 执行区域代码块: "斧王-螺旋反击"
├─ 执行区域代码块: "地穴领主-蝗虫"
├─ 执行区域代码块: "地穴领主-尖刺外壳"
├─ 执行区域代码块: "恶魔猎手-闪避"
├─ 执行区域代码块: "充能物品-死亡护盾"
├─ 执行区域代码块: "物品技能-黯灭手套"
├─ 执行区域代码块: "物品技能-闪电利爪"
├─ 执行区域代码块: "物品技能-如梦如幻"
└─ 执行区域代码块: "物品技能-逆因倒果"召唤单位事件ZHDWSJ
text
触发器: 召唤单位事件ZHDWSJ (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSummoned
条件
└─ 是镜像单位(GetSummonedUnit()) == TRUE
动作
├─ 设置局部变量:"d"=GetSummoningUnit()
├─ 设置局部变量:"ll"=英雄属性(HeroStatStr, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"mj"=英雄属性(HeroStatAgi, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"zl"=英雄属性(HeroStatInt, 读取局部变量("d"), InclusionInclude)
├─ 设置局部变量:"u"=GetSummonedUnit()
├─ 设置局部变量:"sm1"=单位状态(读取局部变量("u"), UnitStateMaxLife)
├─ 设置局部变量:"hj1"=单位状态(读取局部变量("u"), UnitStateArmor)
├─ 设置局部变量:"gj1"=单位状态(读取局部变量("u"), UnitStateDamageBase)
├─ 执行区域代码块: "大魔法师-水元素"
├─ 执行区域代码块: "暗影猎手-蛇棒"
├─ 执行区域代码块: "先知-狼"
├─ 执行区域代码块: "地穴领主-甲虫"
├─ 执行区域代码块: "恐惧魔王-地狱火"
├─ 执行区域代码块: "守望者-复仇之魂"
├─ 执行区域代码块: "老鹿-树人"
├─ 执行区域代码块: "兽王-熊"
├─ 执行区域代码块: "兽王-猪"
├─ 执行区域代码块: "兽王-战鹰"
├─ 执行区域代码块: "天赋神通-我血化身"
└─ 执行区域代码块: "兽王-熊"任意单位施法事件RYDWSF
text
触发器: 任意单位施法事件RYDWSF (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventSpellEffect
条件
└─ 无
动作
├─ 设置局部变量:"d"=GetSpellAbilityUnit()
├─ 设置局部变量:"jn"=施法技能ID()
├─ 执行区域代码块: "技能CD"
├─ 执行区域代码块: "充能物品-黑暗宝珠"
└─ 执行区域代码块: "充能物品-邪能宝珠"每秒事件MMSJ
text
触发器: 每秒事件MMSJ (其他) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册循环计时器事件(0.30)
条件
└─ 无
动作
└─ YDWEForLoopLocVarMultiple: "i", 1, 7污染者锤石控制WRZCS
text
触发器: 污染者锤石控制WRZCS (分类9) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册离开矩形区域事件(gg_rct_______JD)
条件
└─ 离开单位() == gg_unit_Nsjs_0025
动作
├─ 设置局部变量:"d"=离开单位()
├─ 设置局部变量:"q"=gg_rct_______JD
├─ 设置局部变量:"1"=区域内随机点(读取局部变量("q"))
├─ 移动单位: 读取局部变量("d"), 读取局部变量("1")
├─ 销毁特效 创建特效(附着单位)(Abilities\Spells\NightElf\Blink\BlinkTarget.mdl, 读取局部变量("d"), "overhead")
└─ 清除点 读取局部变量("1")低生命值提示DSMZTS
text
触发器: 低生命值提示DSMZTS (分类9) [✓]
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_Nsjs_0025 - UnitEventAttacked
条件
└─ 单位生命百分比(gg_unit_Nsjs_0025) OperatorLessEq 30.00
动作
├─ 关闭触发器 当前触发器()
├─ 设置局部变量:"sj"=随机[1~5]
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 1
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2473"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 2
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2474"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 3
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2475"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 4
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2476"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 5
│ ├─ 则
│ │ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2477"
│ └─ 否则: (无)
└─ 启动计时器: 创建计时器(), 10.00s (一次性)选取XQ
text
触发器: 选取XQ (分类10) [✓] — 这是一个简单的选取NPC随机发言的触发,适合用在RPG或者防守图作为任务提示之类的功能。
───────────────────────────────────────────────────────
事件
└─ 单位 gg_unit_Nsjs_0025 - UnitEventSelected
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 开启触发器 当前触发器()
├─ 设置局部变量:"sj"=随机[1~11]
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 1
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1192"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 2
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1193"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 3
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1194"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 4
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1195"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 5
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1196"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 6
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1197"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 7
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1198"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 8
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1199"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 9
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1200"
│ └─ 否则: (无)
├─ 如果
│ ├─ 条件: 读取局部变量("sj") == 10
│ ├─ 则
│ │ 显示文本→GetPlayersAll(): "TRIGSTR_1201"
│ └─ 否则: (无)
└─ 如果
├─ 条件: 读取局部变量("sj") == 11
├─ 则
│ 显示文本→GetPlayersAll(): "TRIGSTR_1225"
└─ 否则: (无)能量提升物品排泄NLTSWP
text
触发器: 能量提升物品排泄NLTSWP (分类10) [✓]
───────────────────────────────────────────────────────
事件
└─ 任意单位 - PlayerUnitEventHeroDropItem
条件
├─ GetItemLifeBJ(被操作物品()) == 0.00
├─ GetManipulatingUnit() == gg_unit_Nsjs_0040
└─ 是消耗品(被操作物品()) == TRUE
动作
├─ 设置局部变量:"w"=被操作物品()
├─ 单位添加物品: gg_unit_Nsjs_0040, 读取局部变量("w")
├─ SetItemLifeBJ: 读取局部变量("w"), 1.00
└─ 删除物品: 读取局部变量("w")野外商店随机移动SJYD
text
触发器: 野外商店随机移动SJYD (分类10) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
├─ 设置局部变量:"d"=gg_unit_H000_0101
└─ 启动计时器: 创建计时器(), 60.00s (循环)中立单位设置ZLDW
text
触发器: 中立单位设置ZLDW (分类10) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
└─ 启动计时器: 创建计时器(), 8.00s (循环)玩家离开挑战区域WJLKTZQY
text
触发器: 玩家离开挑战区域WJLKTZQY (分类10) [✓]
───────────────────────────────────────────────────────
事件
└─ 注册离开矩形区域事件(gg_rct_____________XRQY)
条件
├─ 检查哈希表有数据(typename17_rect, gg_rct_____________XRQY, 单位类型, "挑战") == TRUE
└─ 从哈希表读取数据(typename17_rect, gg_rct_____________XRQY, "挑战") == 离开单位()
动作
├─ 设置局部变量:"u"=离开单位()
├─ 设置局部变量:"w"=(读取局部变量("u")的所有者)
├─ ── 挑战失败提示 ──
├─ 显示文本→读取局部变量("w"): 0
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeAlwaysHint, "TRIGSTR_1700"
├─ ── 修改区域为未挑战状态 ──
├─ 清除哈希表: [typename17_rect.gg_rct_____________XRQY.单位类型]
├─ ── 清除挑战boss ──
├─ 设置局部变量:"dwz"=区域内符合条件的单位(gg_rct_____________XRQY, (布尔比较(单位类型判断(过滤单位(), UnitTypeDead), OperatorEqualENE, false) 且 玩家比较((过滤单位()的所有者), OperatorEqualENE, PlayerNA)))
├─ 单位组: 选取 读取局部变量("dwz") 中所有单位
│ ├─ YDWEFlushAllByUserData: 单位类型, 选取单位()
│ └─ 移除 选取单位()
├─ GroupClear: 读取局部变量("dwz")
└─ 删除单位组 读取局部变量("dwz")随机事件SJSJ
text
触发器: 随机事件SJSJ (分类10) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ 关闭触发器 当前触发器()
├─ 销毁触发器(自身)
└─ 启动计时器: 创建计时器(), 60.00s (循环)天雷TL
text
触发器: 天雷TL (分类10) [✓]
───────────────────────────────────────────────────────
事件
└─ (无)
条件
└─ 无
动作
├─ QuestMessageBJ: GetPlayersAll(), QuestMessageTypeWarning, "TRIGSTR_2461"
└─ 启动计时器: 创建计时器(), 2.00s (循环)排泄检测PX
text
触发器: 排泄检测PX (分类11) [✓]
───────────────────────────────────────────────────────
事件
└─ 玩家 PlayerALL 输入 "-px"
条件
└─ 无
动作
└─ YDWEMemoryLeakHelperDisplayLeaks