bybtiger 发表于 2009-5-26 17:49:29

高手进啊,帮帮忙!在线等

我想做如下一个触发

当某个单位进入某个区域,在1分钟内,他一但离开这个区域就被拉回来,除非死亡.



这个触发怎么做?

火柴 发表于 2009-5-26 18:06:53

忘了说了~我是菜鸟~不是高手~

eff 发表于 2009-5-26 18:14:10

什么叫做”一点离开这个区域“

血戮魔动冰 发表于 2009-5-26 18:37:34

如果用触发:
循环100次,每次等待0.01秒。
{
如果 单位不在这个区域
那么 将单位瞬移到区域中的位移点:<贴着区域边的相对于单位最近的点>
}
<贴着区域边的相对于单位最近的点>
这个讲起来太麻烦,自己按自己的想法做即可

lunaflywar 发表于 2009-5-26 18:45:59

单位离开区域触发动作,一分钟后销毁局部触发或者关闭全局触发

bybtiger 发表于 2009-5-26 20:24:38

回 4楼(lunaflywar) 的帖子

请问“单位离开区域”用什么函数?

lunaflywar 发表于 2009-5-26 21:10:05

没用过
触发事件里面有要用J自己用T转一下就知道了

小药 发表于 2009-5-27 00:13:50


function TriggerRegisterLeaveRectSimple takes trigger trig, rect r returns event


移动去解答区吧

eff 发表于 2009-5-27 09:26:03

楼主和1楼是虾米关系。。。

血戮魔动冰 发表于 2009-5-27 12:44:05

??
因为我的没有泄露啊~~
要是用动态触发的话,不仅有泄漏,而且很麻烦的…………

lunaflywar 发表于 2009-5-27 13:33:11

...泄露...条件删除,动作删除,触发器删除就自动清除事件了,还有什么可以泄露的呢...

timer循环0.01秒检测,是不是效率太低了点...
如果有100个单位进去的话

血戮魔动冰 发表于 2009-5-27 13:43:28

??
用触发的怎么“条件删除,动作删除”………………
事先说明:清除条件/动作可是无用的……

lunaflywar 发表于 2009-5-27 13:53:30

无用的?我怎么不知道呢

血戮魔动冰 发表于 2009-5-27 16:53:45

……………………恩…………
我也忘了……
好像是老狼说的,用清除条件/动作就像是把垃圾放在自己床底下。
好像是没有用的。

eff 发表于 2009-5-27 17:33:15

- -解释一下
条件:Boolexpr
清除条件:Trigger-->Condition = null,Boolexpr 还在。

lunaflywar 发表于 2009-5-27 18:15:26

DestroyBoolexpr()

lunaflywar 发表于 2009-5-27 18:16:05

这样即使需要GC,也比timer0.01友好躲了

血戮魔动冰 发表于 2009-5-27 18:45:17

那你觉得用触发的会用GC吗?

lunaflywar 发表于 2009-5-27 20:12:13

e............
现在的新手也太张狂了,竟然到系统区发这个................

cccty1l 发表于 2009-5-27 22:35:26

引用第15楼eff于2009-05-27 17:33发表的:
- -解释一下
条件:Boolexpr
清除条件:Trigger-->Condition = null,Boolexpr 还在。 http://bbs.islga.org/images/back.gif


前辈都说过了,不要对泄露过分的夸大了,这样只会让入门者更迷茫呢。而且Boolexpr再次创建之后是不会暂用新的handle位的,从这方面来说很难认为它就是泄露,这个触发是不会只用一次的吧。

引用第12楼血戮魔动冰于2009-05-27 13:43发表的:
??
用触发的怎么“条件删除,动作删除”………………
事先说明:清除条件/动作可是无用的…… http://bbs.islga.org/images/back.gif


这个所说的是TriggerRemoveCondition()和TriggerClearConditions()的区别,后者只是将触发条件与触发“脱钩”而不会删除该触发条件。

说到只用T,使用计时器或者每XX秒事件不一样是触发么?血戮魔动冰的方案会比注册一个单位离开区域事件更好么?
页: [1] 2
查看完整版本: 高手进啊,帮帮忙!在线等