325 lines
8.8 KiB
Plaintext
325 lines
8.8 KiB
Plaintext
|
/*
|
||
|
_crate is the object to fill
|
||
|
_type is the type of crate
|
||
|
*/
|
||
|
local _crate = _this select 0;
|
||
|
local _type = _this select 1;
|
||
|
local _scount = 0;
|
||
|
local _sSelect = 0;
|
||
|
local _item = "";
|
||
|
local _ammo = [];
|
||
|
local _cfg = "";
|
||
|
local _attach = "";
|
||
|
local _qty = 0;
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////
|
||
|
// Medical Crates
|
||
|
if (_type == "medical") then {
|
||
|
// load medical
|
||
|
_scount = count DZMSMeds;
|
||
|
for "_x" from 0 to 40 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSMeds select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 2 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////////
|
||
|
// General Store Crate
|
||
|
if (_type == "store") then {
|
||
|
// load food/drink
|
||
|
_scount = count DZMSGeneralStore;
|
||
|
for "_x" from 0 to 40 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSGeneralStore select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load survival tools
|
||
|
_scount = count DZMSCrateTools;
|
||
|
for "_x" from 0 to 4 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSCrateTools select _sSelect;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 2 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load pistols
|
||
|
_scount = count DZMSPistol;
|
||
|
for "_x" from 0 to 2 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPistol select _sSelect;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
_ammo = getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
|
||
|
if (count _ammo > 0) then {
|
||
|
_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
|
||
|
};
|
||
|
if (!DZMSOverwatch) then {
|
||
|
_cfg = configFile >> "CfgWeapons" >> _item >> "Attachments";
|
||
|
if (isClass _cfg && count _cfg > 0) then {
|
||
|
_attach = configName (_cfg call BIS_fnc_selectRandom);
|
||
|
_crate addMagazineCargoGlobal [_attach,1];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
};
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
// Weapon Crate Small
|
||
|
if (_type == "weapons") then {
|
||
|
// load grenades
|
||
|
_scount = count DZMSGrenades;
|
||
|
for "_x" from 0 to 5 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSGrenades select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 3 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load pistols and attachments
|
||
|
_scount = count DZMSPistol;
|
||
|
for "_x" from 0 to 2 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPistol select _sSelect;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
_ammo = getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
|
||
|
if (count _ammo > 0) then {
|
||
|
_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
|
||
|
};
|
||
|
if (!DZMSOverwatch) then {
|
||
|
_cfg = configFile >> "CfgWeapons" >> _item >> "Attachments";
|
||
|
if (isClass _cfg && count _cfg > 0) then {
|
||
|
_attach = configName (_cfg call BIS_fnc_selectRandom);
|
||
|
_crate addMagazineCargoGlobal [_attach,1];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// Load Weapons and attachments
|
||
|
for "_x" from 0 to 5 do {
|
||
|
_wepArray = DZMSCrateWeps call BIS_fnc_selectRandom;
|
||
|
_item = _wepArray call BIS_fnc_selectRandom;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
_ammo = getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
|
||
|
if (count _ammo > 0) then {
|
||
|
_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
|
||
|
};
|
||
|
if (!DZMSOverwatch) then {
|
||
|
_cfg = configFile >> "CfgWeapons" >> _item >> "Attachments";
|
||
|
if (isClass _cfg && count _cfg > 0) then {
|
||
|
_attach = configName (_cfg call BIS_fnc_selectRandom);
|
||
|
if (_attach == "Attachment_Tws") then {
|
||
|
if (DZMS_AllowThermal) then {
|
||
|
_crate addMagazineCargoGlobal [_attach,1];
|
||
|
};
|
||
|
} else {
|
||
|
_crate addMagazineCargoGlobal [_attach,1];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
// Weapon Crate Large
|
||
|
if (_type == "weapons2") then {
|
||
|
// load grenades
|
||
|
_scount = count DZMSGrenades;
|
||
|
for "_x" from 0 to 5 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSGrenades select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 3 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load pistols
|
||
|
_scount = count DZMSPistol;
|
||
|
for "_x" from 0 to 3 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPistol select _sSelect;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
_ammo = getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
|
||
|
if (count _ammo > 0) then {
|
||
|
_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// Load Weapons
|
||
|
for "_x" from 0 to 10 do {
|
||
|
_wepArray = DZMSCrateWeps call BIS_fnc_selectRandom;
|
||
|
_item = _wepArray call BIS_fnc_selectRandom;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
_ammo = getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
|
||
|
if (count _ammo > 0) then {
|
||
|
_crate addMagazineCargoGlobal [(_ammo select 0),(round(random 8))];
|
||
|
};
|
||
|
if (!DZMSOverwatch) then {
|
||
|
_cfg = configFile >> "CfgWeapons" >> _item >> "Attachments";
|
||
|
if (isClass _cfg && count _cfg > 0) then {
|
||
|
_attach = configName (_cfg call BIS_fnc_selectRandom);
|
||
|
if (_attach == "Attachment_Tws") then {
|
||
|
if (DZMS_AllowThermal) then {
|
||
|
_crate addMagazineCargoGlobal [_attach,1];
|
||
|
};
|
||
|
} else {
|
||
|
_crate addMagazineCargoGlobal [_attach,1];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
// Supply Crate
|
||
|
if (_type == "supply") then {
|
||
|
// load tools
|
||
|
_scount = count DZMSBuildTools;
|
||
|
for "_x" from 0 to 3 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSBuildTools select _sSelect;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load construction supplies
|
||
|
_scount = count DZMSBuildSupply;
|
||
|
for "_x" from 0 to 30 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSBuildSupply select _sSelect;
|
||
|
_qty = _item select 0;
|
||
|
_type = _item select 1;
|
||
|
_crate addMagazineCargoGlobal [_type,_qty];
|
||
|
};
|
||
|
|
||
|
// load crafting supplies
|
||
|
_scount = count DZMSCraftingSupply;
|
||
|
for "_x" from 0 to 20 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSCraftingSupply select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load high value
|
||
|
_scount = count DZMSHighValue;
|
||
|
if (_scount > 0 && {random 1 < .3}) then {
|
||
|
for "_x" from 0 to 0 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSHighValue select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 3 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
// Supply Crate 2
|
||
|
if (_type == "supply2") then {
|
||
|
// load tools
|
||
|
_scount = count DZMSBuildTools;
|
||
|
for "_x" from 0 to 1 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSBuildTools select _sSelect;
|
||
|
_crate addWeaponCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load construction supplies
|
||
|
_scount = count DZMSBuildSupply;
|
||
|
for "_x" from 0 to 20 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSBuildSupply select _sSelect;
|
||
|
_qty = _item select 0;
|
||
|
_type = _item select 1;
|
||
|
_crate addMagazineCargoGlobal [_type,_qty];
|
||
|
};
|
||
|
|
||
|
// load crafting supplies
|
||
|
_scount = count DZMSCraftingSupply;
|
||
|
for "_x" from 0 to 20 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSCraftingSupply select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load high value
|
||
|
_scount = count DZMSHighValue;
|
||
|
if (_scount > 0 && {random 1 < .3}) then {
|
||
|
for "_x" from 0 to 0 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSHighValue select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 2 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
//////////////////////////////////////////////////////////////////
|
||
|
// Vehicle Stuff
|
||
|
if (_type == "ArmedVehicle") then {
|
||
|
// load vehicle ammo
|
||
|
_scount = count DZMSVehAmmo;
|
||
|
for "_x" from 0 to 10 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSVehAmmo select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load packs
|
||
|
_scount = count DZMSPacks;
|
||
|
for "_x" from 0 to 2 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSPacks select _sSelect;
|
||
|
_crate addBackpackCargoGlobal [_item,1];
|
||
|
};
|
||
|
|
||
|
// load vehicle parts
|
||
|
_scount = count DZMSVehParts;
|
||
|
for "_x" from 0 to 15 do {
|
||
|
_sSelect = floor(random _sCount);
|
||
|
_item = DZMSVehParts select _sSelect;
|
||
|
_crate addMagazineCargoGlobal [_item,1];
|
||
|
};
|
||
|
};
|