mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 04:02:37 +03:00
From
e69f8d5306
Moved dog files to the \dog\ folder and pzombie files to the \pzombie\
folder. Also removed some legacy files that are no longer used.
The actions\ and compile\ folders are fully up to date now
71 lines
1.9 KiB
Plaintext
71 lines
1.9 KiB
Plaintext
/*
|
|
Created by Alby exclusively for DayZMod.
|
|
Please request permission to use/alter from Alby.
|
|
*/
|
|
|
|
private ["_items","_counts","_config","_isRecipe","_item","_index","_amount","_count","_entry","_input","_array","_overwrite","_i","_inputIndex","_inputItems"];
|
|
disableSerialization;
|
|
|
|
_array = _this select 0;
|
|
_items = _array select 0;
|
|
_counts = _array select 1;
|
|
_overwrite = [];
|
|
_config = configFile >> "CfgCrafting";
|
|
//diag_log (str(_this));
|
|
//diag_log format["Items: %1 Counts: %2 Config: %3", _items, _counts, _config];
|
|
|
|
for "_i" from 0 to ((count _config) - 1) do {
|
|
_entry = _config select _i;
|
|
_input = getArray (_entry >> "input");
|
|
//diag_log format["Recipe: %1 Input: %2", _entry, _input];
|
|
if (count _input > 0) then {
|
|
_isRecipe = true;
|
|
_inputIndex = 0;
|
|
|
|
{
|
|
//Check to see if _x is array of arrays
|
|
_inputItems = _x;
|
|
if (typeName (_x select 0) != "ARRAY") then {
|
|
_inputItems = [_x];
|
|
};
|
|
|
|
//Handles OR type of input
|
|
{
|
|
_item = _x select 0;
|
|
_index = _items find _item;
|
|
//diag_log format["Item: %1 Index: %2", _item, _index];
|
|
|
|
if (_index > -1) then {
|
|
_amount = _x select 2;
|
|
_count = _counts select _index;
|
|
//diag_log format["Amount: %1 Count: %2", _amount, _count];
|
|
|
|
if (_count >= _amount) then {
|
|
if (count _inputItems > 1) then {
|
|
_overwrite set [count _overwrite,[_inputIndex, [_item, _x select 1, _amount]]];
|
|
};
|
|
_isRecipe = true;
|
|
} else {
|
|
_isRecipe = false;
|
|
};
|
|
} else {
|
|
_isRecipe = false;
|
|
};
|
|
|
|
if (_isRecipe) exitWith {};
|
|
|
|
}forEach _inputItems;
|
|
|
|
if (!_isRecipe) exitWith {};
|
|
|
|
_inputIndex = _inputIndex + 1;
|
|
}forEach _input;
|
|
|
|
if (_isRecipe) exitWith {
|
|
//diag_log format["Items: %1 Recipe: %2", _this, _entry];
|
|
[_entry, _overwrite] call player_craftItemGUI;
|
|
};
|
|
};
|
|
};
|
|
|
|
//diag_log format["Exited with Items: %1", _array]; |