找回密码
 点一下
查看: 1025|回复: 10

关于触发的泄露问题

[复制链接]
发表于 2009-2-14 17:16:36 | 显示全部楼层 |阅读模式
刚才在技能区翻到一个技能 觉得不错随拿来改了一下用之。。。觉得原技能没有用变量预设然后删除来排泄,所以自己重新设计了一下,请教各位一下 这样一来是不是基本没有泄露了呢?

[trigger]
事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 嘲讽 (火焰熊猫)
    动作
        设置 FireSquarePoint = ((触发单位) 的位置)
        For循环整数A从 1 到 2, 做动作
            Loop - 动作
                For循环整数B从 -1 到 1, 做动作
                    Loop - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                循环整数B [R] 不等于 0
                            Then - 动作
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数A [R] 为实数) x 90.00), ((转换 循环整数B [R] 为实数) x 180.00))处)
                                单位 - 创建 1 个 蓝色火焰 给 ((触发单位) 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 10.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数A [R] 为实数) x -90.00), ((转换 循环整数B [R] 为实数) x 180.00))处)
                                单位 - 创建 1 个 蓝色火焰 给 ((触发单位) 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 10.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数B [R] 为实数) x 180.00), ((转换 循环整数A [R] 为实数) x 90.00))处)
                                单位 - 创建 1 个 蓝色火焰 给 ((触发单位) 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 10.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数B [R] 为实数) x 180.00), ((转换 循环整数A [R] 为实数) x -90.00))处)
                                单位 - 创建 1 个 蓝色火焰 给 ((触发单位) 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 10.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                            Else - 动作
                                无动作
        For循环整数A从 1 到 4, 做动作
            Loop - 动作
                设置 FireSquarefirepoints = (从 FireSquarePoint 开始,距离 180.00 ,方向为 ((转换 循环整数A [R] 为实数) x 90.00) 度的位移处)
                单位 - 创建 1 个 蓝色火焰 给 ((触发单位) 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                单位 - 设置 10.00 秒 普通 类型的生命周期对 (最后创建的单位)
                点 - 清除 FireSquarefirepoints
        等待 0.80 秒
        For循环整数A从 1 到 4, 做动作
            Loop - 动作
                For循环整数B从 -1 到 1, 做动作
                    Loop - 动作
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                循环整数B [R] 不等于 0
                            Then - 动作
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数A [R] 为实数) x 90.00), ((转换 循环整数B [R] 为实数) x 370.00))处)
                                单位 - 创建 1 个 红色火焰 给 (Hero[32] 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 9.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数A [R] 为实数) x -90.00), ((转换 循环整数B [R] 为实数) x 370.00))处)
                                单位 - 创建 1 个 红色火焰 给 (Hero[32] 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 9.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数B [R] 为实数) x 370.00), ((转换 循环整数A [R] 为实数) x 90.00))处)
                                单位 - 创建 1 个 红色火焰 给 (Hero[32] 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 9.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                                设置 FireSquarefirepoints = (FireSquarePoint 坐标位移 (((转换 循环整数B [R] 为实数) x 370.00), ((转换 循环整数A [R] 为实数) x -90.00))处)
                                单位 - 创建 1 个 红色火焰 给 (Hero[32] 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                                单位 - 设置 9.00 秒 水元素 类型的生命周期对 (最后创建的单位)
                                点 - 清除 FireSquarefirepoints
                            Else - 动作
                                无动作
        For循环整数A从 1 到 4, 做动作
            Loop - 动作
                设置 FireSquarefirepoints = (从 FireSquarePoint 开始,距离 370.00 ,方向为 ((转换 循环整数A [R] 为实数) x 90.00) 度的位移处)
                单位 - 创建 1 个 红色火焰 给 (Hero[32] 的所有者) 在 FireSquarefirepoints ,面向角度为 默认建筑朝向 度
                单位 - 设置 9.00 秒 普通 类型的生命周期对 (最后创建的单位)
                点 - 清除 FireSquarefirepoints
        单位组 - 选取 (半径为 370.00 圆心为 FireSquarePoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 120.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        单位组 - 删除 (最后创建的单位组)
        等待 2.00 秒
        单位组 - 选取 (半径为 280.00 圆心为 FireSquarePoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 150.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        单位组 - 删除 (最后创建的单位组)
        等待 2.00 秒
        单位组 - 选取 (半径为 200.00 圆心为 FireSquarePoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 225.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        单位组 - 删除 (最后创建的单位组)
        等待 2.00 秒
        单位组 - 选取 (半径为 90.00 圆心为 FireSquarePoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 335.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        单位组 - 删除 (最后创建的单位组)
        点 - 清除 FireSquarePoint

[/trigger]
 楼主| 发表于 2009-2-14 17:24:30 | 显示全部楼层
其实就整个触发就分为两部分  第一个部分是创建火焰  第二个部分是伤害单位组
回复

使用道具 举报

发表于 2009-2-14 18:29:41 | 显示全部楼层
对于单位组,建议是用变量,因为最后创建的单位组是一个全局变量,而且这样清除单位似乎是无效
回复

使用道具 举报

 楼主| 发表于 2009-2-14 18:44:02 | 显示全部楼层
是不是该改成这个样子


[trigger]
        单位组 - 选取 (半径为 300.00 圆心为 FireWallPoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 60.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        设置 GroupFireWall = (最后创建的单位组)
        单位组 - 删除 GroupFireWall
        等待 3.00 秒
        单位组 - 选取 (半径为 200.00 圆心为 FireWallPoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 150.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        设置 GroupFireWall = (最后创建的单位组)
        单位组 - 删除 GroupFireWall
        等待 3.00 秒
        单位组 - 选取 (半径为 90.00 圆心为 FireWallPoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位) 内所有单位做动作
            Loop - 动作
                单位 - 命令 Hero[32] 对 (选取单位) 造成 225.00 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
        设置 GroupFireWall = (最后创建的单位组)
        单位组 - 删除 GroupFireWall
        点 - 清除 FireWallPoint
[/trigger]
回复

使用道具 举报

发表于 2009-2-14 18:46:45 | 显示全部楼层
hmmm
我的意思是
设置 GroupFireWall = (半径为 300.00 圆心为 FireWallPoint 且满足 (((匹配单位) 是 (Hero[32] 的所有者) 的敌对单位) 等于 TRUE) 的所有单位)
类似这样
回复

使用道具 举报

 楼主| 发表于 2009-2-14 19:22:19 | 显示全部楼层
呵呵  完全理解错误


这下知道了,  哎   原来如此   做到选取单位组的时候就是觉得怪怪的  但是又不知道那里出了问题

这下搞定了   连以前做的几个技能的问题也一起改了,谢谢猪头了~
回复

使用道具 举报

发表于 2009-2-14 19:25:34 | 显示全部楼层
好象不要这么复杂吧...
一次又一次的选....
回复

使用道具 举报

 楼主| 发表于 2009-2-14 19:55:17 | 显示全部楼层
有更简单的方法?  楼上的学长   请教了
回复

使用道具 举报

发表于 2009-2-14 23:34:50 | 显示全部楼层
如果不要属性伤害的话放个马甲雷霆一击好了。设成4级,每放一次提升雷霆一击等级。要属性伤害么,没什么好方法,只能一次一次的PickUnit
回复

使用道具 举报

 楼主| 发表于 2009-2-15 00:00:34 | 显示全部楼层
用T  PICK4次   跟  创建一个马甲放4个等级的雷霆一击   哪个要耗些?   在雷霆还需要重新设计的情况下
回复

使用道具 举报

发表于 2009-2-15 00:24:18 | 显示全部楼层
当然是选取单位组4次要效率低许多,马甲释放技能只要发布命令就行了,选取单位组是要对每个单位都运行一次
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 16:32 , Processed in 0.303809 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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