Files
DayZ-Epoch/dayz_code/init/loot_init.sqf
2012-12-15 08:37:22 -06:00

44 lines
1.4 KiB
Plaintext

private["_cfgCount","_i","_j","_k","_l","_config","_defaultCfg","_itemTypes","_itemChances","_itemCount","_weighted","_weight"];
dayz_CBLChances = [];
dayz_CBLCounts = [];
_cfgCount = count (configFile >> "CfgBuildingLoot");
for "_i" from 0 to ((_cfgCount) - 1) do {
_config = (configFile >> "CfgBuildingLoot") select _i;
if ((count (getArray (_config >> "ItemChance"))) > 0) then {
_itemChances = getArray (_config >> "itemChance");
_itemCount = count _itemChances;
if ((dayz_CBLCounts find _itemCount) < 0) then {
_weighted = [];
_j = 0;
for "_l" from 0 to ((count _itemChances) - 1) do {
_weight = round ((_itemChances select _l) * 100);
for "_k" from 0 to _weight - 1 do {
_weighted set [_j + _k, _l];
};
_j = _j + _weight;
};
dayz_CBLCounts set [count dayz_CBLCounts, _itemCount];
dayz_CBLChances set [count dayz_CBLChances, _weighted];
};
};
};
dayz_CLChances = [];
dayz_CLBase = [];
_config = configFile >> "cfgLoot";
for "_i" from 0 to ((count (_config)) - 1) do {
_itemChances = (getArray (_config select _i)) select 1;
_weighted = [];
_j = 0;
for "_l" from 0 to ((count _itemChances) - 1) do {
_weight = round ((_itemChances select _l) * 100);
for "_k" from 0 to _weight - 1 do {
_weighted set [_j + _k, _l];
};
_j = _j + _weight;
};
dayz_CLBase set [count dayz_CLBase, configName (_config select _i)];
dayz_CLChances set [count dayz_CLChances, _weighted];
};