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

计时器窗口和复活窗口冲突,求解决办法,新人多多照顾。

[复制链接]
发表于 2013-1-14 01:35:53 | 显示全部楼层 |阅读模式
刷兵的计时器和复活的计时器可不可以同时存在啊?

在就是我搞俩计时器变量 ,一个给刷兵计时,一个复活计时。

问题来了。。

冲突啊,要么复活的计时器窗变成刷兵的了,要么干脆无限计时器窗。。

求大神解救啊。。

在就是全局变量是怎么搞的。。可不可以共用一个变量啊?
 楼主| 发表于 2013-1-14 03:22:04 | 显示全部楼层
本帖最后由 hljtlyhb 于 2013-1-14 03:23 编辑

别沉啊,在说白点就是我记录最后创建的计时器是刷兵的变量,而复活英雄的计数器的变量要怎么记录?我是用数组的,但是没等复活窗倒数完,就被刷兵的的给删除掉了。。

clock
    事件
    条件
    动作
        计时器 - 启动 time,应用计时方式: 一次性,计时周期为 10.00 秒
        计时器 - 为 time 创建计时器窗口,标题: 下一波:
        设置 timew = (最后创建的计时器窗口)
----------------------------------------------------
刷兵
    事件
        时间 - time 到期
    条件
    动作
        计时器 - 删除 (最后创建的计时器窗口)
        设置 level = (level + 1)
        单位 - 创建 10 个 data[level] 给 玩家9(灰色) 在 (shua1 <预设> 的中心点) ,面向角度为 默认建筑朝向 度
        单位 - 创建 10 个 data[level] 给 玩家9(灰色) 在 (2 <预设> 的中心点) ,面向角度为 默认建筑朝向 度
        单位 - 创建 10 个 data[level] 给 玩家9(灰色) 在 (3 <预设> 的中心点) ,面向角度为 默认建筑朝向 度
        触发器 - 运行 clock <预设> (无视条件)
        如果 (level 大于 5) 成立,则运行 (对战游戏 - 强制使用对战胜利/失败条件) 否则运行 (不做任何动作)

----------------------------------------------------
复活

    事件
        单位 - 任意单位 死亡
    条件
        ((触发单位) 是 英雄) 等于 TRUE
        (((死亡单位) 的所有者) 的控制者) 等于 用户
    动作
        计时器 - 启动 FH[(((死亡单位) 的所有者) 的玩家索引号)],应用计时方式: 一次性,计时周期为 5.00 秒
        计时器 - 为 FH[(((死亡单位) 的所有者) 的玩家索引号)] 创建计时器窗口,标题: (((触发玩家) 的名字) + 复活倒计时)
        设置 FH1[(((死亡单位) 的所有者) 的玩家索引号)] = FH1[(((死亡单位) 的所有者) 的玩家索引号)]
        等待 6.00 秒(游戏时间)
        镜头 - 平移 (触发玩家) 的镜头到 (chusheng <预设> 的中心点),持续 1.00 秒
        英雄 - 立即复活 (死亡单位) 在 (chusheng <预设> 的中心点) , 显示 复活动画
        计时器 - 删除 FH1[(((死亡单位) 的所有者) 的玩家索引号)]
回复

使用道具 举报

发表于 2013-1-14 01:39:10 | 显示全部楼层
不可以,所以才会冲突
回复

使用道具 举报

发表于 2013-1-14 01:40:12 | 显示全部楼层
公用一个变量当然会冲突,复活和刷兵的计时器以及计时器窗口都要分开记录

点评

两个变量吗 一个复活+窗口 一个刷兵+窗口,可是复活是好用了,可是刷第二波的时候就出现两个刷兵窗了。。  详情 回复 发表于 2013-1-14 01:46
回复

使用道具 举报

 楼主| 发表于 2013-1-14 01:46:28 | 显示全部楼层
chyj4747 发表于 2013-1-14 01:40
公用一个变量当然会冲突,复活和刷兵的计时器以及计时器窗口都要分开记录

两个变量吗  一个复活+窗口 一个刷兵+窗口,可是复活是好用了,可是刷第二波的时候就出现两个刷兵窗了。。
回复

使用道具 举报

 楼主| 发表于 2013-1-14 03:48:16 | 显示全部楼层
有木有大神啦。。
回复

使用道具 举报

发表于 2013-1-14 09:06:57 | 显示全部楼层
LZ不要多连额…………
4、5个小时前人家都在睡觉好不。。


然后。。你这个问题是出在“刷兵”触发的第一句动作“计时器 - 删除 (最后创建的计时器窗口)”,如果先为time创建了窗口timew,然后某个英雄死了,为FH创建了FH1,那么此时“最后创建的计时器窗口”是FH1而不是timew
如果之后刷兵计时器先到期了,那么删除最后创建的计时器窗口将删除FH1而不是你想删的timew,因此这句动作要改成“删除timew”

再说下你这些T本身的问题。。

在“复活”T里:
设置 FH1[(((死亡单位) 的所有者) 的玩家索引号)] = FH1[(((死亡单位) 的所有者) 的玩家索引号)]

上面这句完全不知道有什么意义。。相当于把FH1[某一个索引]的初始值赋给FH1[跟前面一样的索引],比如玩家1的单位死了,那么就是FH1[1]=FH1[1]。。
个人猜测LZ的FH1应该是最后创建给FH的计时器窗口吧~


用了计时器再用等待的问题等LZ熟练一点后再来问好了~ 简单来说就是没效率也没必要这样……


泄漏问题
镜头 - 平移 (触发玩家) 的镜头到 (chusheng <预设> 的中心点),持续 1.00 秒
英雄 - 立即复活 (死亡单位) 在 (chusheng <预设> 的中心点) , 显示 复活动画
这两句动作中使用的(chusheng <预设> 的中心点)会创建一个点,这样的点堆积起来的话中后期地图会非常卡,因此要用“点 - 删除 (某个点变量)”来排泄
跟你删除计时器窗口的道理一样,不需要了就把它删掉,虽然这些点是不可见的,但是仍旧是在的,相当于隐藏的计时器窗口,会占用一定的电脑资源

同理,“刷兵”T里有三个点泄漏~

点评

我按照您说的改了下,直接删除timew,好用的,但是我改了下FH1这个 计时器 - 为 FH[(((死亡单位) 的所有者) 的玩家索引号)] 创建计时器窗口,标题: (((触发玩家) 的名字) + 复活倒计时) 设置 FH1[1] = FH1[1](  详情 回复 发表于 2013-1-14 23:11
受教了。。感谢。 还有个小小请求。。。 求帮我改一下这个T,让倒计时和复活同时存在不冲突。我想看下实例。万分感谢  详情 回复 发表于 2013-1-14 23:01
回复

使用道具 举报

 楼主| 发表于 2013-1-14 23:01:16 | 显示全部楼层
chyj4747 发表于 2013-1-14 09:06
LZ不要多连额…………
4、5个小时前人家都在睡觉好不。。


受教了。。感谢。

还有个小小请求。。。

求帮我改一下这个T,让倒计时和复活同时存在不冲突。我想看下实例。万分感谢
回复

使用道具 举报

 楼主| 发表于 2013-1-14 23:11:05 | 显示全部楼层
chyj4747 发表于 2013-1-14 09:06
LZ不要多连额…………
4、5个小时前人家都在睡觉好不。。


我按照您说的改了下,直接删除timew,好用的,但是我改了下FH1这个

计时器 - 为 FH[(((死亡单位) 的所有者) 的玩家索引号)] 创建计时器窗口,标题: (((触发玩家) 的名字) + 复活倒计时)

设置 FH1[1] = FH1[1](是不是要赋值FH[(((死亡单位) 的所有者) 的玩家索引号)] =FH1[1]啊?

最后删除计时器 计时器 - 删除 FH1[1]

英雄复活后计时器窗口还在,删除不掉,是我赋值错了吗? 还是给计时器创建窗口这个写的不对,求点解、
回复

使用道具 举报

发表于 2013-1-15 02:51:31 | 显示全部楼层
hljtlyhb 发表于 2013-1-14 23:11
我按照您说的改了下,直接删除timew,好用的,但是我改了下FH1这个

计时器 - 为 FH[(((死亡单位) 的所 ...

FH1(死亡单位所有者的索引) = 最后创建的计时器窗口


计时器 - 为 FH[(((死亡单位) 的所有者) 的玩家索引号)] 创建计时器窗口,标题: (((触发玩家) 的名字) + 复活倒计时)

这句动作会创建一个窗口,然后把(最后创建的计时器窗口)的值赋成这个新建的窗口
所以跟前面刷兵的一样,FH1要赋值成最后创建的窗口~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 06:36 , Processed in 0.406108 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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