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

 找回密码
 加入VME

QQ登录

只需一步,快速开始

搜索
查看: 2654|回复: 8

[求助] 恢复背包,弹药箱的Cargo(问题已解决)

[复制链接]
发表于 2013-1-18 13:18:42 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 wj59789 于 2013-2-18 17:35 编辑




哪位能帮忙解答一下,先谢过了。
首先从一个单位中返还这样的弹药数组[["30Rnd_556x45_Stanag","1Rnd_HE_M203","SmokeShell","SmokeShellRed"],[4,2,1,1]],测试了几个命令发现只接受这种格式的unitBackpack player addMagazineCargo ["30Rnd_556x45_Stanag",1];
该怎么办?难道要转换数组?好复杂……
 楼主| 发表于 2013-1-18 15:52:28 来自手机 | 显示全部楼层
大神们都神游去了么?
发表于 2013-1-18 18:09:55 | 显示全部楼层
这论坛从来不缺游客,你看那看帖次数~~~。如果你是服务器管理员,再看看那ip~~~多得是~~~
发表于 2013-1-18 18:13:58 | 显示全部楼层
本帖最后由 bym101 于 2013-1-18 18:16 编辑

首先:
清除背包弹药
clearMagazineCargo (unitBackpack this);
然后向背包内增加弹药
(unitBackpack this) addMagazineCargo ["弹药名字", 数量];


也可以向背包内增加武器
(unitBackpack this) addWeaponCargo ["武器名字", 数量];
发表于 2013-1-18 18:14:29 | 显示全部楼层
用个forEach一个一个加呗
 楼主| 发表于 2013-1-18 18:58:53 来自手机 | 显示全部楼层
本帖最后由 wj59789 于 2013-1-18 19:11 编辑



都不行
我想把[["30Rnd_556x45_Stanag","1Rnd_HE_M203","SmokeShell","SmokeShellRed"],[4,2,1,1]]都添加到另一个单位中,也就是直接从返还值中加入,是不是要涉及到数组阵列操作?
是要将数组转换成与这个相同的["30Rnd_556x45_Stanag",1];格式吗,怎么写?
实现功能:把上一个单位的背包物品恢复到一个新单位中。
发表于 2013-1-19 11:33:31 | 显示全部楼层
wj59789 发表于 2013-1-18 18:58
都不行
我想把[["30Rnd_556x45_Stanag","1Rnd_HE_M203","SmokeShell","SmokeShellRed"],[4,2,1,1]]都 ...

复制一个不就行了么?
不同的士兵,相同的装备?
 楼主| 发表于 2013-2-18 17:36:05 来自手机 | 显示全部楼层
本帖最后由 wj59789 于 2016-3-22 13:18 编辑

添加Cargo只接受以下格式:
_bag = unitBackpack player;
_bag addMagazineCargo ["30Rnd_556x45_Stanag",4];
或添加多个:
{
_bag addMagazineCargo _x;
} forEach [["30Rnd_556x45_Stanag",4],["1Rnd_HE_M203",1],["SmokeShell",1],["SmokeShellRed",1]];

从getMagazineCargo返回的是这样的数组[["30Rnd_556x45_Stanag","1Rnd_HE_M203","SmokeShell","SmokeShellRed"],[4,1,1,1]]是不能直接使用的需要转换数组.
//[_bag_mags,_bag_weps,_bag2] execVM "Cargo.sqf";

//---------Cargo.sqf------------------------
_bag_mags = _this select 0; //弹药Cargo
_bag_weps = _this select 1; //武器Cargo
_bag = _this select 2; //新的背包或交通工具

_mag_Array = _bag_mags select 0;
_mag_Array1 = _bag_mags select 1;
for [{_i=count _mag_Array},{_i>0},{_i=_i-1}] do
{
   _bagCargo = [_mag_Array select _i] + [_mag_Array1 select _i];
   _bag addMagazineCargo _bagCargo;
};

_wep_Array = _bag_weps select 0;
_wep_Array1 = _bag_weps select 1;

for [{_i=count _wep_Array},{_i>0},{_i=_i-1}] do
{
   _bagCargo = [_wep_Array select _i] + [_wep_Array1 select _i];
   _bag addWeaponCargo _bagCargo;
};
//------------------------------------
以上只是a2的写法a3已经不适用

发表于 2016-2-16 03:32:25 | 显示全部楼层
背包添加武器弹药?学习中
您需要登录后才可以回帖 登录 | 加入VME

本版积分规则

小黑屋|中国虚拟军事网

GMT+8, 2024-4-25 22:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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