找回密码
 点一下
查看: 643|回复: 4

之前疑似为整数泄露问题

[复制链接]
发表于 2011-12-20 18:19:50 | 显示全部楼层 |阅读模式
  之前疑似为整数泄露问题,我把下面两个触发禁用后发现,搞装备搞了老半天都不会卡了!!
原来下面这两触发才是罪魁祸首。。。。



触发效果为,全图查看地上物品,查看之后创建一个单位在物品点上,设置时间生命周期90秒。
马甲死亡后删除马甲周围96范围内的地上物品。也就是物品自动删除系统。。。。
我怎么看都没有泄露,为什么会变得这么卡呢?


[trigger]
未命名触发器 238
    事件
        时间 - 每 10.00 秒触发事件
    条件
    动作
        设置 A190[240] = 0
        物品 - 选取 (可用地图区域) 内所有物品做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        ((选取物品) 在 矩形区域 014 <预设>) 等于 FALSE
                    Then - 动作
                        设置 A193[250] = ((选取物品) 的位置)
                        设置 A195[170] = (半径为 64.00 圆心为 A193[250] 且满足 ((((匹配单位) 是 死亡的 [R]) 等于 FALSE) and (((匹配单位) 是 玩家5(黄色) 的同盟单位) 等于 TRUE)) 的所有单位)
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (A195[170] 中的单位数量) 等于 0
                            Then - 动作
                                设置 A192[170] = (新建 玩家5(黄色) 的  物品删除计时 在 A193[250] 面向角度:0.00 度)
                                设置 A190[240] = (A190[240] + 1)
                                单位组 - 添加 A192[170] 到 A195[185]
                                单位 - 为 A192[170] 设置 水元素 类型的生命周期,持续时间为 (90.00 + (0.01 x (转换 A190[240] 为实数))) 秒
                            Else - 动作
                        自定义代码: call DestroyGroup(udg_A195[170])                 
                        自定义代码: call RemoveLocation(udg_A193[250])
                    Else - 动作
        单位组 - 选取 A195[185] 内所有单位做动作
            Loop - 动作
                设置 A190[241] = 0
                设置 A193[250] = ((选取单位) 的位置)
                设置 A198[250] = (以 A193[250] 为中心,宽 96.00 ,高 96.00 的矩形区域)
                物品 - 选取 A198[250] 内所有物品做动作
                    Loop - 动作
                        设置 A190[241] = (A190[240] + 1)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        A190[241] 等于 0
                    Then - 动作
                        单位组 - 把 (选取单位) 从 A195[185] 移除
                        单位 - 删除 (选取单位)
                    Else - 动作
                自定义代码: call RemoveLocation(udg_A193[250])
                区域(矩形) - 删除 A198[250]
未命名触发器 241
    事件
        单位 - 任意单位 死亡
    条件
        ((死亡单位) 的类型) 等于  物品删除计时
    动作
        设置 A193[251] = ((死亡单位) 的位置)
        设置 A198[100] = (以 A193[251] 为中心,宽 96.00 ,高 96.00 的矩形区域)
        物品 - 选取 A198[100] 内所有物品做动作
            Loop - 动作
                物品 - 删除 (选取物品)
        区域(矩形) - 删除 A198[100]
        自定义代码: call RemoveLocation(udg_A193[251])


[/trigger]
发表于 2011-12-20 20:34:12 | 显示全部楼层
冒昧说一下“物品删除计时”这个貌似没“删除单位”,
之前希瓦给我做个触发,让我明白了什么东西死了最好都删了
回复

使用道具 举报

 楼主| 发表于 2011-12-20 21:19:16 | 显示全部楼层
[s:166]

应该不是这个问题吧= =!!

不过我也可以去测试一次,毕竟问题都是多元化的!!!
回复

使用道具 举报

发表于 2011-12-21 00:12:07 | 显示全部楼层
单位死了之后,过一段时间会被删掉的,除非你把尸体时间弄了很长很长
有点长,但没看出啥问题
“单位 - 删除 (选取单位)”会不会把单位删掉了,结果“未命名触发器 241”触发不到了?
回复

使用道具 举报

 楼主| 发表于 2011-12-21 18:56:27 | 显示全部楼层
额,应该不是这个问题,单位删除的原因是因为单位旁边的那个物品被拾取或者其他原因拿走了,所以就删除了!
如果单位一直还在那里,假如我不小心放个物品在他旁边,他一死我刚放的东西就不见了。。。。。

这是为了避免BUG
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 00:18 , Processed in 0.093364 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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