/*
Script by Ghost (main design by Kronzky) Will add all weapons, items, magazines to an ammo box and refill it every 1200 seconds. no more manual typing of weapon/magazine/item names.
put null0 = this execVM "scripts\ammo.sqf"; in the initline of an ammo box.
*/
_wepcount = 10;
_magcount = 30;
clearweaponcargo _this;
clearmagazinecargo _this;
_weaponsList = [];
_namelist = [];
_cfgweapons = configFile >> "cfgWeapons";
for "_i" from 0 to (count _cfgweapons)-1 do {
_weapon = _cfgweapons select _i;
if (isClass _weapon) then {
_wCName = configName(_weapon);
_wDName = getText(configFile >> "cfgWeapons" >> _wCName >> "displayName");
_wModel = getText(configFile >> "cfgWeapons" >> _wCName >> "model");
_wType = getNumber(configFile >> "cfgWeapons" >> _wCName >> "type");
_wscope = getNumber(configFile >> "cfgWeapons" >> _wCName >> "scope");
_wPic = getText(configFile >> "cfgWeapons" >> _wCName >> "picture");
_wDesc = getText(configFile >> "cfgWeapons" >> _wCName >> "Library" >> "libTextDesc");
_isFake = false;
_wHits=0;
_mags=[];
_muzzles = getArray(configfile >> "cfgWeapons" >> _wCName >> "muzzles");
if ((_muzzles select 0)=="this") then {
_muzzles=[_wCName];
_mags = getArray(configfile >> "cfgWeapons" >> _wCName >> "magazines");
} else {
{
_muzzle=_x;
_mags = getArray(configfile >> "cfgWeapons" >> _wCName >> _muzzle >> "magazines");
}forEach _muzzles;
};
{
_ammo = getText(configfile >> "cfgMagazines" >> _x >> "ammo");
_hit = getNumber(configfile >> "cfgAmmo" >> _ammo >> "hit");
_wHits = _wHits + _hit;
}forEach _mags;
if ((_wCName!="") && (_wDName!="") && (_wModel!="") && (_wPic!="")) then {
if !(_wDName in _namelist) then {
_weaponsList = _weaponsList + [[_wCName,_wDName,_wPic,_wDesc]];
_namelist = _namelist + [_wDName];
};
};
};
if (_i % 10==0) then {
hintsilent format["Loading Weapons List... (%1)",count _weaponsList];
sleep .0001;
};
};
hint "";
_namelist=nil;
_magazinesList = [];
_namelist = [];
_cfgmagazines = configFile >> "cfgmagazines";
for "_i" from 0 to (count _cfgmagazines)-1 do {
_magazine = _cfgmagazines select _i;
if (isClass _magazine) then {
_mCName = configName(_magazine);
_mDName = getText(configFile >> "cfgmagazines" >> _mCName >> "displayName");
_mModel = getText(configFile >> "cfgmagazines" >> _mCName >> "model");
_mType = getNumber(configFile >> "cfgmagazines" >> _mCName >> "type");
_mscope = getNumber(configFile >> "cfgmagazines" >> _mCName >> "scope");
_mPic = getText(configFile >> "cfgmagazines" >> _mCName >> "picture");
_mDesc = getText(configFile >> "cfgmagazines" >> _mCName >> "Library" >> "libTextDesc");
if ((_mCName!="") && (_mDName!="") && (_mModel!="")) then {
if !(_mDName in _namelist) then {
_magazinesList = _magazinesList + [[_mCName,_mDName,_mPic,_mDesc]];
_namelist = _namelist + [_mDName];
};
};
};
if (_i % 10==0) then {
hintsilent format["Loading magazines List... (%1)",count _magazinesList];
sleep .0001;
};
};
hint "";
_namelist=nil;
while {alive _this} do
{
clearweaponcargo _this;
clearmagazinecargo _this;
for "_i" from 0 to (count _weaponsList)-1 do {
_weapon = _weaponsList select _i;
_this addweaponcargo [_weapon select 0,_wepcount];
};
for "_i" from 0 to (count _magazinesList)-1 do {
_magazine = _magazinesList select _i;
_this addmagazinecargo [_magazine select 0,_magcount];
};
sleep 1200;
};