找回密码
 点一下
查看: 1307|回复: 9

一个触发为什么只能对PLAYER1有用

[复制链接]
发表于 2008-12-26 20:31:48 | 显示全部楼层 |阅读模式
只在用player1时有用,其他玩家时第二个触发没用,不知道为什么
[trigger]
h1 1ZP1
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 h1 1重炮
    动作
        For循环整数A从 1 到 12, 做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (触发单位) 等于 HERO[循环整数A [R]]
                    Then - 动作
                        设置 Point1 = ((触发单位) 的位置)
                        单位 - 创建 1 个 h1 1主炮轰击 给 (玩家 循环整数A [R]) 在 Point1 ,面向角度为 默认建筑朝向 度
                        设置 H1_1_ZP_dw[循环整数A [R]] = (最后创建的单位)
                        计时器 - 开启 H1_1_ZP_jsq[循环整数A [R]] ,计时方式: 循环 时间设置: 0.02 秒
                        设置 H1_1_ZP_zs[循环整数A [R]] = 0
                        设置 H1_1_ZP_fx[循环整数A [R]] = (HERO[循环整数A [R]] 的面向角度)
                        点 - 清除 Point1
                        触发器 - 为 h1 1ZP2 <预设> 添加事件: (时间 - H1_1_ZP_jsq[循环整数A [R]] 到期)
                    Else - 动作
[/trigger]
[trigger]
h1 1ZP2
    事件
        时间 - H1_1_ZP_jsq[1] 到期
        时间 - H1_1_ZP_jsq[2] 到期
        时间 - H1_1_ZP_jsq[3] 到期
        时间 - H1_1_ZP_jsq[4] 到期
        时间 - H1_1_ZP_jsq[5] 到期
        时间 - H1_1_ZP_jsq[6] 到期
        时间 - H1_1_ZP_jsq[7] 到期
        时间 - H1_1_ZP_jsq[8] 到期
        时间 - H1_1_ZP_jsq[9] 到期
        时间 - H1_1_ZP_jsq[10] 到期
        时间 - H1_1_ZP_jsq[11] 到期
        时间 - H1_1_ZP_jsq[12] 到期
    条件
    动作
        For循环整数A从 1 到 12, 做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (到期的计时器) 等于 H1_1_ZP_jsq[循环整数A [R]]
                    Then - 动作
                        设置 H1_1_ZP_zs[循环整数A [R]] = (H1_1_ZP_zs[循环整数A [R]] + 1)
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                H1_1_ZP_zs[循环整数A [R]] 小于 40
                            Then - 动作
                                单位组 - 清空 H1_1_ZP_dwz[循环整数A [R]] 内所有单位
                                单位组 - 删除 H1_1_ZP_dwz[循环整数A [R]]
                                设置 Point1 = (H1_1_ZP_dw[循环整数A [R]] 的位置)
                                设置 Point2 = (从 Point1 开始,距离 50.00 ,方向为 H1_1_ZP_fx[循环整数A [R]] 度的位移处)
                                单位 - 立即移动 H1_1_ZP_dw[循环整数A [R]] 到 Point2
                                设置 H1_1_ZP_dwz[循环整数A [R]] = (半径为 100.00 圆心为 Point2 且满足 ((((匹配单位) 是存活的) 等于 TRUE) and (((匹配单位) 是 (玩家 循环整数A [R]) 的敌对单位) 等于 TRUE)) 的所有单位)
                                如果所有条件成立则做动作1,否则做动作2
                                    If - 条件
                                        (H1_1_ZP_dwz[循环整数A [R]] 为空) 等于 FALSE
                                    Then - 动作
                                        单位组 - 选取 H1_1_ZP_dwz[循环整数A [R]] 内所有单位做动作
                                            Loop - 动作
                                                单位 - 命令 HERO[循环整数A [R]] 对 (选取单位) 造成 ((转换 (力量 对 HERO[循环整数A [R]] (包括 加成)) 为实数) x (1.00 + (0.50 x (转换 (h1 1重炮  的等级对 HERO[循环整数A [R]]) 为实数)))) 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 普通 伤害类型: 普通 装甲类型: 无
                                        设置 H1_1_ZP_tx[循环整数A [R]] = (新建特效 Abilities\Spells\Other\Incinerate\FireLordDeathExplode.mdl 在 Point2 处)
                                        单位 - 设置 0.01 秒 水元素 类型的生命周期对 H1_1_ZP_dw[循环整数A [R]]
                                        设置 H1_1_ZP_zs[循环整数A [R]] = 40
                                        单位组 - 清空 H1_1_ZP_dwz[循环整数A [R]] 内所有单位
                                        单位组 - 删除 H1_1_ZP_dwz[循环整数A [R]]
                                    Else - 动作
                                点 - 清除 Point1
                                点 - 清除 Point2
                            Else - 动作
                                单位组 - 清空 H1_1_ZP_dwz[循环整数A [R]] 内所有单位
                                单位组 - 删除 H1_1_ZP_dwz[循环整数A [R]]
                                单位 - 设置 0.01 秒 水元素 类型的生命周期对 H1_1_ZP_dw[循环整数A [R]]
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                H1_1_ZP_zs[循环整数A [R]] 等于 43
                            Then - 动作
                                特殊效果 - 删除 H1_1_ZP_tx[循环整数A [R]]
                                计时器 - 暂停 H1_1_ZP_jsq[循环整数A [R]]
                            Else - 动作
                    Else - 动作
[/trigger]
发表于 2008-12-26 20:44:38 | 显示全部楼层
恩,你在定义计时器数组变量的时候,数组大小要设定成你要的数量的
回复

使用道具 举报

 楼主| 发表于 2008-12-26 20:47:50 | 显示全部楼层
是不是在编辑变量时就要设定数组大小为12?
回复

使用道具 举报

发表于 2008-12-26 20:48:04 | 显示全部楼层
恩,是的
回复

使用道具 举报

 楼主| 发表于 2008-12-26 20:48:47 | 显示全部楼层
哦,我去实验下,谢谢了!
回复

使用道具 举报

发表于 2008-12-26 22:40:39 | 显示全部楼层
...问题似乎在那里呢....
LZ在一个触发里用了循环整数A
在第二个触发里又用了...
所以计时器被删除了.
自己定义变量吧
回复

使用道具 举报

发表于 2008-12-26 22:44:12 | 显示全部楼层
不对哦,lz根本没有删除计时器,而且计时器数组只会初始化你你设定的个数,其他的布会初始化
回复

使用道具 举报

发表于 2008-12-26 22:54:28 | 显示全部楼层
...不管怎么样...
一直用 同一个全局变量还是很容易引起BUG的呢...

不过还真是乱呢...
回复

使用道具 举报

发表于 2008-12-27 15:09:47 | 显示全部楼层
太复杂了。。。。看不懂。。。

触发器 - 为 h1 1ZP2 <预设> 添加事件: (时间 - H1_1_ZP_jsq[循环整数A [R]] 到期)
这句应该去掉。。。

第一个触发的叔祖索引直接用触发玩家好了。。。


最关键的还是1楼袄。。。
回复

使用道具 举报

发表于 2008-12-27 15:11:37 | 显示全部楼层
恩,貌似有重复触发的可能性额
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 12:16 , Processed in 0.035380 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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