中国虚拟军事网(VME)- 专注于武装突袭系列虚拟军事游戏

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 2997|回复: 19

[讨论] 不能同时触发过多的触发器?是电脑问题还是游戏问题?{方便大众已解决}

[复制链接]
发表于 2012-6-11 21:08:50 | 显示全部楼层 |阅读模式
本帖最后由 a2677998 于 2012-6-23 00:52 编辑

有时候三个触发器一起出发 分别延时的
但是有时候可以完美完成
有时候很奇怪的一些触发器就没有触发~~~到底是因为触发的东西过多还是电脑跑不起的问题???





在第一个触发器填写脚本的一栏写上 A1=true
第二个触发器的 触发条件是 A1

即可

案例

第一个触发器触发条件随便设置
比如
name1 domove getpos PLAYER;A1=true
第二个触发器触发条件一栏就写 A1  就可以了
触发的内容随便你
比如需要name1到达PLAYER的位置后 dotarget 某个目标就写
name1 dotarget name2   
一般设置为延时发生的~~ 再也不会出现需要几个触发器一起出现导致触发器有时无法触发的情况了
不过估计没几个人跟我一样用一堆触发器来搞任务的~
发表于 2012-6-12 02:50:55 | 显示全部楼层
同时触发过多的触发器电脑肯定会比较卡
 楼主| 发表于 2012-6-12 09:01:32 | 显示全部楼层
本帖最后由 a2677998 于 2012-6-12 09:04 编辑

肯定会卡~问题是我建立的触发器并不是什么时候都触发得出来~条件和脚本都对 一个一个触发就ok但是一起触发就有时可以有时 给我缺斤少两的~~有时候这个没有触发有时那个没有触发~~~
发表于 2012-6-12 10:38:41 | 显示全部楼层
看看是不是出现了race condition了。比如说涉及到同一个单位或者变量
 楼主| 发表于 2012-6-12 11:01:59 | 显示全部楼层
2fast 发表于 2012-6-12 10:38
看看是不是出现了race condition了。比如说涉及到同一个单位或者变量

是啊 是涉及到同一个单位的~~~触发的条件一样 但是延时的时间和效果都不一样

有时候一个单位要触发三四个 触发器  这样不行么??
发表于 2012-6-12 14:25:13 | 显示全部楼层
a2677998 发表于 2012-6-12 11:01
是啊 是涉及到同一个单位的~~~触发的条件一样 但是延时的时间和效果都不一样

有时候一个单位要触发三四 ...

你的trigger会不会改变了其他triigger condition里面的variable?导致不确定因素?要不你把你的trigger发上来看看
 楼主| 发表于 2012-6-12 14:50:10 | 显示全部楼层
2fast 发表于 2012-6-12 14:25
你的trigger会不会改变了其他triigger condition里面的variable?导致不确定因素?要不你把你的trigger发 ...

我的触发器大致是这样设定的

”以当玩家距离救援飞机15米时“  作为条件触发出一颗炮弹在玩家身边爆炸,并且进入慢镜头
同样以距离15米为条件,延时触发让慢镜头恢复正常让玩家进入正常速度
同样以15距离这个为条件同时触发让一队士兵出现在飞机所在的位置 这个也是用延时触发的
同样以15米距离为条件触发一个义务兵 医疗玩家  也是延时触发是在上一个触发器触发之后的时间里触发的
同样以15米距离作为条件玩家和整个小队 用 moveincargo 命令直接瞬间移动上飞机 同样是延时触发是五个触发器里面最后的

一共五个触发器~~同时触发~~~  但是又分别延时

没办法我不会做到用一个触发器去触发另外一个触发器~~~~如果能以上一个触发器触发为条件 就不需要一下只触发一堆触发器了

发表于 2012-6-12 18:50:24 | 显示全部楼层
看你这个情况,还是整合到单个脚本中去会比较方便一下,比如1和2就可以

注意countdown和timeout在triger中的区别,一个是延迟触发,一个是要计时触发。哪个是哪个我就不是很清楚了。我用脚本的if else比较多,trigger用的少
发表于 2012-6-12 18:53:19 | 显示全部楼层
没办法我不会做到用一个触发器去触发另外一个触发器~~~~如果能以上一个触发器触发为条件 就不需要一下只触发一堆触发器了

这个比较简单,在第二个trigger里的condition里把this 换成一个variable 的值,然后在前一个trigger的on act最后设成同样的值,这样就能达到一个trigger接着一个trigger了。注意这个variable最好initialize一下
 楼主| 发表于 2012-6-12 23:16:19 | 显示全部楼层
本帖最后由 a2677998 于 2012-6-12 23:21 编辑
2fast 发表于 2012-6-12 18:53
没办法我不会做到用一个触发器去触发另外一个触发器~~~~如果能以上一个触发器触发为条件 就不需要一下只触发 ...


跪求 图例  本人脚本小白请见谅~~~~   只会调用~~~对于条件什么的了解还不是很多~     
对了 同一个触发器里的东西能不能搞出延时启动?比如说这个触发器先写一个 moveingunner然后在后面写一个 dofire   这个dofire 要比moveingunner  延时三秒钟才开始执行 dofire   应该怎么去写呢?是在同一个触发器里面哦~~这样就可以避免使用过多触发器了~~

当然如果能图例 或者详细说一下 你说的那个一个触发器触发另一个触发器的方法 也可以达到这种效果~~不过我还是更希望简化一点不要那么多触发器~~
发表于 2012-6-12 23:53:36 | 显示全部楼层
我暂时没有那些例子,因为arma2的电脑不在身边。建议你从头开始学脚本,基础打好,今后就能解决这里的很多问题了

比如说你可以在脚本里 moveingunner,然后sleep 3,然后dofire。然后在trigger里去execVM "脚本路径" 就好了

从基础来吧 =)可以坛子上的一些现成的脚本,我的也可以。在我的主题里找
 楼主| 发表于 2012-6-13 09:23:52 | 显示全部楼层
2fast 发表于 2012-6-12 23:53
我暂时没有那些例子,因为arma2的电脑不在身边。建议你从头开始学脚本,基础打好,今后就能解决这里的很多问 ...

5555~~~~如果sleep 能写到触发器里就好了~~variable  这个到底怎么调用啊 没看明白啊 没接触过这个条件
发表于 2012-6-14 10:46:13 | 显示全部楼层
a2677998 发表于 2012-6-13 09:23
5555~~~~如果sleep 能写到触发器里就好了~~variable  这个到底怎么调用啊 没看明白啊 没接触过这个条件

variable是变量的意思,自己随便取个名字就好了。 比如X=0; 然后有需要就改成X=1;如果要测值就用if(X==1)then{sleep 2;}; 这个样子
 楼主| 发表于 2012-6-14 11:25:10 | 显示全部楼层
2fast 发表于 2012-6-14 10:46
variable是变量的意思,自己随便取个名字就好了。 比如X=0; 然后有需要就改成X=1;如果要测值就用if(X==1) ...

比如这样
a1触发器写
X dofire X2;X=10
a2触发器 条件就写
if(x==1)then true

这样写? 怎么感觉不是很对~~
 楼主| 发表于 2012-6-14 11:39:27 | 显示全部楼层
2fast 发表于 2012-6-14 10:46
variable是变量的意思,自己随便取个名字就好了。 比如X=0; 然后有需要就改成X=1;如果要测值就用if(X==1) ...

你说的是脚本编写的吧~~我不会写脚本~~~  能用在条件了么 你说 的方法~~
我现在是这样搞的,但是触发器检测不灵敏不知道是不是电脑问题
先设置a1触发器检测到玩家就让玩家 生命变成0.5
然后a2触发检测玩家生命变成0.5的时候就触发出别的东西~~  

如果是直接被敌人把自己的生命打成0.5的话,触发就很容易
但是如果用触发器扣掉玩家的生命值然后再 以生命值作为条件来触发别的东西就很容易触发不了~尤其是速度快的触发点 或者条件   我估计真的是我的电脑太破了~~

您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-28 22:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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