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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 4939|回复: 41

[讨论] 求救,如何用触发器实现某一单位“弹药无限”的效果?

  [复制链接]
头像被屏蔽
发表于 2011-4-2 13:04:13 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-4-2 13:52:06 | 显示全部楼层
好专业
发表于 2011-4-2 20:28:51 | 显示全部楼层
条件似乎写的不对吧。someammo只检测单位是否还有弹药。用法是
  1. someAmmo unitName
复制代码
应该写成
  1. ? not someAmmo Thor_1
复制代码
来判断Thor_1是否还有弹药。

另外添加弹药上。 "shell125" 似乎只是ammo名。而不是magazine名。addmagazine要求后边是magazine名。官网上shell125的magazine名是留空的……
头像被屏蔽
 楼主| 发表于 2011-4-2 23:37:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-4-3 07:30:41 | 显示全部楼层
ZDS5206 发表于 2011-4-2 23:37
!someammo ***(注意“!”号)
就是not someammo ***啊……
PS:那怎样才算是Magazine名?

我主要是说你再smoeammo 中写“vehicle” 好像是错误的。前边! 还是 ? 都是无所谓 意思都一样。

Magazine 的Classname在官网没查到……你可以问问技术组的高人们。。。
头像被屏蔽
 楼主| 发表于 2011-4-3 08:05:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
 楼主| 发表于 2011-4-3 11:30:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-4-3 14:56:05 | 显示全部楼层
不知道你善于写什么样的脚本。sqs还是sqf?



给个sqf脚本提示吧,一旦打完一发炮弹就增加一发炮弹:
  1. private ["_AmmoNumber"];
  2. _AmmoNumber = (vehicle player) ammo "Heat125"; //确定载具弹药初始数
  3. while {((vehicle player) ammo "Heat125") < _AmmoNumber} do {(vehicle player) addMagazine "Heat125"};  //循环,一旦现有炮弹数小于初始炮弹数,便增加一发炮弹
复制代码
至于Shell125,一样照葫芦画瓢。
头像被屏蔽
 楼主| 发表于 2011-4-4 01:31:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-4-4 10:21:36 | 显示全部楼层
本帖最后由 FFUR2007SLX2_5 于 2011-4-4 10:22 编辑
ZDS5206 发表于 2011-4-4 01:31
闪点行动的任务一般都是SQS脚本吧?
PS:这个代码我明天研究研究……


闪点支持sqf,并且建议你用sqf写。

BIS除了在ARMA2任务过场动画中使用过极少量sqs脚本外,基本全部转为sqf和fsm脚本。

在ARMA2内,sqf主要负责函数,而你所提及的各种创意则全部由fsm负责;当然,fsm也是基于sqf语言上开发的。

sqs已经被证明为最不值得使用的脚本,全片幅的#loop截取点将大大增强阅读的难度,包括编写者自己。
头像被屏蔽
 楼主| 发表于 2011-4-7 16:11:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-4-7 22:44:14 | 显示全部楼层
ZDS5206 发表于 2011-4-7 16:11
我拿那个脚本的范例去试了一下,貌似没效果……
T-80打了一发HEAT125之后并没有自动补上……
求正确的编辑 ...

看了一下你的用法,指明一下:
_AmmoNumber是变量,不能把它改成35实体数。

不用脚本,用此代码试试,直接用在坦克初始栏上:
  1. this addEventHandler ["fired",{(vehicle this) addMagazine "Heat125"}];
复制代码
头像被屏蔽
 楼主| 发表于 2011-4-7 23:45:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-4-8 07:45:03 | 显示全部楼层
ZDS5206 发表于 2011-4-7 23:45
那_AmmoNumber这个变量该怎么实际应用到脚本语句中?

_AmmoNumber的名称你可以随便取,但要符合格式要求(不要用数字),前面加上_以表变量。

原封不动写进脚本,执行时则sqf = [] exec "MyScript.sqf";
头像被屏蔽
 楼主| 发表于 2011-4-8 12:16:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

中国虚拟军事网  

GMT+8, 2018-8-21 02:46

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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