找回密码
 点一下
查看: 1822|回复: 2

这个是对希瓦多人化教程的补充

[复制链接]
发表于 2012-7-16 22:41:55 | 显示全部楼层 |阅读模式
[trigger]
S4
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 神圣之光I
    动作
        设置 hero[Int] = (触发单位)
        设置 target[Int] = (技能施放目标)
        设置 str[Int] = (转换 ((触发单位) 的力量值(包括 加成)) 为实数)
        单位 - 创建 1 个 兔子 给 中立被动 在 ((可用地图区域) 的中心点) ,面向角度为 默认建筑朝向 度
        设置 timer_u[Int] = (最后创建的单位)
        单位 - 为 (最后创建的单位) 设置 水元素 类型的生命周期,持续时间为 1.00 秒
        单位 - 隐藏 (最后创建的单位)
        单位 - 设置 (最后创建的单位) 的自定义值为 Int
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                ((技能施放目标) 是 ((触发单位) 的所有者) 的敌对单位) 等于 TRUE
            Then - 动作
                设置 times[Int] = -5
            Else - 动作
                设置 times[Int] = 5
        设置 Int = (Int + 1)
[/trigger]

[trigger]
S4 timer
    事件
        单位 - 任意单位 死亡
    条件
        ((触发单位) 的类型) 等于 兔子
    动作
        设置 Int2 = ((触发单位) 的自定义值)
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                times[Int2] 不等于 0
            Then - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        times[Int2] 大于 0
                    Then - 动作
                        设置 times[Int2] = (times[Int2] - 1)
                        单位 - 设置 target[Int2] 的生命值为 ((target[Int2] 的 生命值) + str[Int2])
                    Else - 动作
                        设置 times[Int2] = (times[Int2] + 1)
                        单位 - 命令 hero[Int2] 对 target[Int2] 造成 str[Int2] 点伤害(不是 攻击伤害, 不是远程攻击) 攻击类型: 法术 伤害类型: 神圣 装甲类型: 无
                单位 - 创建 1 个 兔子 给 中立被动 在 ((可用地图区域) 的中心点) ,面向角度为 默认建筑朝向 度
                设置 timer_u[Int2] = (最后创建的单位)
                单位 - 为 (最后创建的单位) 设置 水元素 类型的生命周期,持续时间为 1.00 秒
                单位 - 隐藏 (最后创建的单位)
                单位 - 设置 (最后创建的单位) 的自定义值为 Int2
                特殊效果 - 删除 (新建特效 Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl 并绑定到 target[Int2] 的 overhead 附加点上)
            Else - 动作
[/trigger]

这个是在wow8写的教程里的一段触发,里面本来用到了计时器,但是看希瓦的教程之后发现计时器仍旧不是很好用,于是想到了用单位的生命周期来代替计时器,优点自然是不需要注册计时器到期的事件,也不需要循环判断到期的计时器是哪个变量,相信你用过就会喜欢的。

(PS:这个触发里并没有自定义技能和单位,你只要照抄到触发器里技能立即看到效果了……)

如果你喜欢这个解决方法的话,也来看看猫咪的教程吧:
猫咪在wow8的技能教程
一定有你不知道的东西。
发表于 2012-7-18 21:20:16 | 显示全部楼层
http://bbs.islga.org/read-htm-tid-25834.html
最后关于参数传递方面,也采取了生命周期的方法

这个方法可用,而且时间比较精确
关键问题在于,对于运行效率占用的太高了

因为帖子是在1.24之前发的,所以如果使用纯T(连自定义代码都不使用)只能用生命周期来绑定了

如果可以使用一点自定义代码(主要是声明本地变量)

1.24就简单了,GUI里有HT
包括GetHandleID这类的函数(记不清名字了)
用HT存储即可
回复

使用道具 举报

 楼主| 发表于 2012-7-18 22:33:58 | 显示全部楼层
孔明好厉害……其实猫咪很久以前也做过自己的跳出循环喵……不过之用过一次……现在都不用循环判断了喵……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-23 12:20 , Processed in 0.029154 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表