dekela

[Release] Extended Crafting

4 posts in this topic

DESCRIPTION:

These overwrites will allow you to use the welder, tool trollies and generators from 'Extended Base Mod' as requirements in your crafting recipes.
You will also be able to craft weapons with thanks to Novax for his ExileClient_util_item_getCraftingRecipes.sqf
The following distances are set for the EBM items to register as 'Found'
"Land_WeldingTrolley_01_F" < 5m
"Land_ToolTrolley_02_F" or "Land_ToolTrolley_01_F" < 5m
"Land_PortableGenerator_01_F" < 5m or "Land_DieselGroundPowerUnit_01_F" < 50m

INSTALLATION:

Download files from Github: https://github.com/d3k3la/Extended-Crafting

Create a folder in your mpmission folder called 'custom'
Copy the folder 'extendedCrafting' to the newly created 'custom' folder
Open your config.cpp and find 'class CfgExileCustomCode'

And change it to the following 

class CfgExileCustomCode 
{
    ExileClient_object_item_craft = "custom\extendedCrafting\ExileClient_object_item_craft.sqf"; 
    ExileClient_gui_crafting_show = "custom\extendedCrafting\ExileClient_gui_crafting_show.sqf";
    ExileClient_util_item_getCraftingRecipes = "custom\extendedCrafting\ExileClient_util_item_getCraftingRecipes.sqf";
};

If you already have overwrites for these files, then you will need to merge the changes manually

Re-pbo the mpmission folder and upload to your server

EXAMPLE RECIPE:

class gm6_lynx: Exile_AbstractCraftingRecipe
    {
            name = "GM6 Lynx 12.7mm";
            pictureItem = "srifle_GM6_F";
            requiresFire = 1;
            requiresWeld = 1; 
            requiresGen = 1;
            requiresToolTrolley = 1;
            //requiresConcreteMixer = true;
            requiredInteractionModelGroup = "AdvancedWorkBench";
            returnedItems[] =
            {
                    {1, "srifle_GM6_F"},
                    {1, "5Rnd_127x108_Mag"}
            };
            tools[] =
            {
                    "Exile_Item_Hammer",
                    "Exile_Item_Grinder", 
                    "Exile_Item_Pliers",
                    "Exile_Item_Screwdriver"
            };
            components[] =
            {
                    {15, "Exile_Item_WeaponParts"},
                    {2, "Exile_Item_MetalPole"},
                    {4, "Exile_Item_MetalScrews"},
                    {2, "Exile_Item_SprayCan_Black"},
                    {1, "Exile_Item_MetalWire"},
                    {2, "Exile_Item_Can_Empty"},
                    {1, "Exile_Item_MetalBoard"}    
            };
            category = "Sniper Rifles";
    };

CUSTOMIZATION:
    
Add the following to your recipe and toggle on (1) and off  (0)

requiresWeld = 1; 
requiresGen = 1;
requiresToolTrolley = 1;

 

 

20180320194716_1.jpg

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

Additional notes for those using the ExAd version of BRAma's recipes. You will need to change two files in order for the weapons to show for crafting (thanks Novax) as well as for the EBM items to be shown.

config.sqf

Spoiler

BRAmaRecipesPath = "ExAdClient\XM8\Apps\BRAmaRecipes";
fnc_recipe_Load = {
_display = uiNameSpace getVariable ["RscExileXM8", displayNull];

lbClear 85502;
lbClear 85501;
(_display displayCtrl 85507) ctrlSetText BRAmaRecipesPath + "\BRAma.paa";

_CategoryCtrl = _this select 0;
_SelectedCategory     = _CategoryCtrl lbData (lbCurSel _CategoryCtrl);


for '_j' from 0 to (count (missionConfigFile >> "CfgCraftingRecipes"))-1 do
{
    _CategoryConfig = (missionConfigFile >> "CfgCraftingRecipes") select _j;    
    _pictureItemClassName = getText(_CategoryConfig >> "pictureItem");
    _RecipeCategory = getText(_CategoryConfig >> "category");
    _RecipeClass = configName _CategoryConfig;    
    _currentRecipeName = getText(_CategoryConfig >> "name");    
    _pictureItemConfig = configFile >> "CfgMagazines" >> _pictureItemClassName;
    _recipePicture = getText(_pictureItemConfig >> "picture");    

    if (_RecipeCategory == _SelectedCategory) then
    {
        _lbsize = lbSize (_display displayCtrl 85501);
        (_display displayCtrl 85501) lbAdd Format["%1",_currentRecipeName];
        (_display displayCtrl 85501) lbSetPicture [_lbsize,_recipePicture];
        (_display displayCtrl 85501) lbSetData [_lbsize,_RecipeClass];
    }
    else 
    {
        if (_SelectedCategory == "Uncategorised" && _RecipeCategory == "") then
        {
            _lbsize = lbSize (_display displayCtrl 85501);
            (_display displayCtrl 85501) lbAdd Format["%1",_currentRecipeName];
            (_display displayCtrl 85501) lbSetPicture [_lbsize,_recipePicture];
            (_display displayCtrl 85501) lbSetData [_lbsize,_RecipeClass];
        };        
    };
        
};
    
    lbSort (_display displayCtrl 85501);
    
};

fnc_components_Load = {
_display = uiNameSpace getVariable ["RscExileXM8", displayNull];

_equippedMagazines = magazines player;
_SelectedRecipeCtrl = _this select 0;
SelectedRecipe     = _SelectedRecipeCtrl lbData (lbCurSel _SelectedRecipeCtrl);

_components                    = getArray(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "components");
_Tools                            = getArray(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "tools");
_requiredInteractionModelGroup = getText(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiredInteractionModelGroup");
_requiresOcean                    = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresOcean");
_requiresFire                    = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresFire");
_returnedItems                    = getArray(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "returnedItems");

lbClear 85502;

    /***********************
     * Populate Components *
     ***********************/     
      (_display displayCtrl 85502) lbAdd Format["====== COMPONENTS ======"];
      {
        _Quantity = _x select 0;
        _Component = _x select 1;
        
        _ComponentDispName = getText (configfile >> "CfgMagazines" >> _Component >> "displayName");
        _ComponentPicture  = getText (configfile >> "CfgMagazines" >> _Component >> "picture");            
        
        //Exile Code
        _equippedComponentQuantity = { _x == _Component} count _equippedMagazines;
        if (_equippedComponentQuantity < _Quantity ) then
        {
            (_display displayCtrl 85502) lbAdd Format["%3 - [%1/%2]",  _equippedComponentQuantity, _Quantity, _ComponentDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];
        }
        else
        { 
            (_display displayCtrl 85502) lbAdd Format["%3 - [%1/%2]",  _equippedComponentQuantity, _Quantity, _ComponentDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
        };        
        
        
        
        (_display displayCtrl 85502) lbSetPicture [_forEachIndex+1,_ComponentPicture];
        (_display displayCtrl 85502) lbSetData [_forEachIndex+1,_Component];
        
      } forEach _components;
      
      
    /***********************
     * Populate Tools *
     ***********************/      
      if (count _Tools > 0)  then { (_display displayCtrl 85502) lbAdd Format["====== TOOLS ======"]; };
      
      {    
        
        _Tool = _x;
        
        _ToolDispName = getText (configfile >> "CfgMagazines" >> _Tool >> "displayName");
        _ToolPicture  = getText (configfile >> "CfgMagazines" >> _Tool >> "picture");            
        
        //Exile Code
        _equippedToolQuantity = { _x == _Tool } count _equippedMagazines;
        if (_equippedToolQuantity == 0 ) then
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]",_ToolDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];            
        }
        else 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]",_ToolDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
            
        };        
        
        _lbsize = lbSize (_display displayCtrl 85502);
        (_display displayCtrl 85502) lbSetPicture [_lbsize-1,_ToolPicture];
        (_display displayCtrl 85502) lbSetData [_lbsize-1,_Tool];
      } forEach _Tools;      
      
      
    /***********************
     * Populate Required   *
     ***********************/
      if (_requiredInteractionModelGroup != "" || _requiresOcean == 1 || _requiresFire == 1)  then { (_display displayCtrl 85502) lbAdd Format["====== REQUIRES ======"]; };
      
    /***********************
     * Populate Models   *
     ***********************/
     
      if (_requiredInteractionModelGroup != "")  then 
      {
        _foundObject = false;
        
        _interactionModelGroupConfig = missionConfigFile >> "CfgInteractionModels" >> _requiredInteractionModelGroup;
        _RequiredDispName = getText(_interactionModelGroupConfig >> "name");
        _interactionModelGroupModels = getArray(_interactionModelGroupConfig >> "models");
    
        //Exile Code
        if ([ASLtoAGL (getPosASL player), 10, _interactionModelGroupModels] call ExileClient_util_model_isNearby) then
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]",_RequiredDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
            _foundObject = true;    
        }
        else 
        {
            if ( _interactionModelGroupModels call ExileClient_util_model_isLookingAt ) then
            {
                (_display displayCtrl 85502) lbAdd Format["%1 - [OK]",_RequiredDispName];
                _lbsize = lbSize (_display displayCtrl 85502);
                (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
                _foundObject = true;    
            };
        };
        if !(_foundObject) then
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]",_RequiredDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        };
    
        _lbsize = lbSize (_display displayCtrl 85502);
        (_display displayCtrl 85502) lbSetData [_lbsize-1,_requiredInteractionModelGroup];
      };
      
    /***********************
     * Populate Ocean   *
     ***********************/
     
      if (_requiresOcean == 1)  then 
      {
            //Exile Code
            if !(surfaceIsWater getPos player) then 
            {
                (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "Ocean"];
                _lbsize = lbSize (_display displayCtrl 85502);
                (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
            }
            else 
            {
                (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "Ocean"];
                _lbsize = lbSize (_display displayCtrl 85502);
                (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];                
            };

      };      
      
    /***********************
     * Populate Fire   *
     ***********************/
     
      if (_requiresFire == 1)  then 
      {
            //Exile Code
            if !([player, 4] call ExileClient_util_world_isFireInRange) then 
            {
                (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "Fire"];
                _lbsize = lbSize (_display displayCtrl 85502);
                (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
            }
            else
            {
                (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "Fire"];
                _lbsize = lbSize (_display displayCtrl 85502);
                (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
            };            

      };    

    /***********************
     * Populate Returns   *
     ***********************/
     
     (_display displayCtrl 85502) lbAdd Format["====== RETURNS ======"];
      {
        _Quantity = _x select 0;
        _Component = _x select 1;
        
        _ComponentDispName = getText (configfile >> "CfgMagazines" >> _Component >> "displayName");
        _ComponentPicture  = getText (configfile >> "CfgMagazines" >> _Component >> "picture");
        
        (_display displayCtrl 85502) lbAdd Format["%2 - [%1]",  _Quantity, _ComponentDispName];
        
        _lbsize = lbSize (_display displayCtrl 85502);
        (_display displayCtrl 85502) lbSetPicture [_lbsize-1,_ComponentPicture];
        (_display displayCtrl 85502) lbSetData [_lbsize-1,_Component];
        (_display displayCtrl 85507) ctrlSetText _ComponentPicture;
      } forEach _returnedItems; 
      
        
      
};

onOpen.sqf

Spoiler

/*
*
* Edited by Novax
*
*/
fnc_recipe_Load = {
    _display = uiNameSpace getVariable ["RscExileXM8", displayNull];

    lbClear 85502;
    lbClear 85501;
    (_display displayCtrl 85507) ctrlSetText BRAmaRecipesPath + "\BRAma.paa";

    _CategoryCtrl = _this select 0;
    _SelectedCategory     = _CategoryCtrl lbData (lbCurSel _CategoryCtrl);

    for '_j' from 0 to (count (missionConfigFile >> "CfgCraftingRecipes"))-1 do
    {
        
        _CategoryConfig = (missionConfigFile >> "CfgCraftingRecipes") select _j;    
        _pictureItemClassName = getText(_CategoryConfig >> "pictureItem");
        _RecipeCategory = getText(_CategoryConfig >> "category");
        _RecipeClass = configName _CategoryConfig;    
        _currentRecipeName = getText(_CategoryConfig >> "name");    
        _wSPictureItemConfig = getText (configFile >> "CfgMagazines" >> _pictureItemClassName >> "picture");
        _wSPictureWeapConfig = getText (configFile >> "CfgWeapons" >> _pictureItemClassName >> "picture");        
        _recipePicture = _wSPictureItemConfig + _wSPictureWeapConfig;    
        if (_RecipeCategory == _SelectedCategory) then
        {
            _lbsize = lbSize (_display displayCtrl 85501);
            (_display displayCtrl 85501) lbAdd Format["%1",_currentRecipeName];
            (_display displayCtrl 85501) lbSetPicture [_lbsize,_recipePicture];
            (_display displayCtrl 85501) lbSetData [_lbsize,_RecipeClass];
        }
        else 
        {
            if (_SelectedCategory == "Uncategorised" && _RecipeCategory == "") then
            {
                _lbsize = lbSize (_display displayCtrl 85501);
                (_display displayCtrl 85501) lbAdd Format["%1",_currentRecipeName];
                (_display displayCtrl 85501) lbSetPicture [_lbsize,_recipePicture];
                (_display displayCtrl 85501) lbSetData [_lbsize,_RecipeClass];
            };        
        };
            
    };
    lbSort (_display displayCtrl 85501);
};
 
fnc_components_Load = {
    _display = uiNameSpace getVariable ["RscExileXM8", displayNull];

    _equippedMagazines = magazines player + weapons player + (items player - weapons player);
    _SelectedRecipeCtrl = _this select 0;
    SelectedRecipe     = _SelectedRecipeCtrl lbData (lbCurSel _SelectedRecipeCtrl);

    _components                    = getArray(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "components");
    _Tools                            = getArray(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "tools");
    _requiredInteractionModelGroup = getText(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiredInteractionModelGroup");
    _requiresOcean                    = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresOcean");
    _requiresFire                    = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresFire");
    _requiresWeld                    = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresWeld");
    _requiresGen                    = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresGen");
    _requiresToolTrolley           = getNumber(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "requiresToolTrolley");
    _returnedItems                    = getArray(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "returnedItems");
    _wSpictureItem                    = getText(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe >> "pictureItem");

    lbClear 85502;

    //Populate Components 
    (_display displayCtrl 85502) lbAdd Format["====== COMPONENTS ======"];

    {
        _Quantity = _x select 0;
        _Component = _x select 1;
        
        _ComponentDispName = getText (configfile >> "CfgMagazines" >> _Component >> "displayName");
        _ComponentPicture  = getText (configfile >> "CfgMagazines" >> _Component >> "picture");
        _ComponentWeapDispName = getText (configfile >> "CfgWeapons" >> _Component >> "displayName");
        _ComponentWeapPicture = getText (configfile >> "CfgWeapons" >> _Component >> "picture");    
        _ComponentItemName = _ComponentDispName + _ComponentWeapDispName;
        _ComponentItemPicture = _ComponentWeapPicture + _ComponentPicture;
        //Exile Code
        _equippedComponentQuantity = { _x == _Component} count _equippedMagazines;
        if (_equippedComponentQuantity < _Quantity ) then
        {
            (_display displayCtrl 85502) lbAdd Format["%3 - [%1/%2]",  _equippedComponentQuantity, _Quantity, _ComponentItemName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];
        }
        else
        { 
            (_display displayCtrl 85502) lbAdd Format["%3 - [%1/%2]",  _equippedComponentQuantity, _Quantity, _ComponentItemName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
        };        
        
        
        
        (_display displayCtrl 85502) lbSetPicture [_forEachIndex+1,_ComponentItemPicture];
        (_display displayCtrl 85502) lbSetData [_forEachIndex+1,_Component];
        
    } forEach _components;
      
      
    //Populate Tools  
    if (count _Tools > 0)  then { (_display displayCtrl 85502) lbAdd Format["====== TOOLS ======"]; };
    {    
        _Tool = _x;
        
        _ToolDispName = getText (configfile >> "CfgMagazines" >> _Tool >> "displayName");
        _ToolPicture  = getText (configfile >> "CfgMagazines" >> _Tool >> "picture");            
        
        //Exile Code
        _equippedToolQuantity = { _x == _Tool } count _equippedMagazines;
        if (_equippedToolQuantity == 0 ) then
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]",_ToolDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];            
        }
        else 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]",_ToolDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
            
        };        
        
        _lbsize = lbSize (_display displayCtrl 85502);
        (_display displayCtrl 85502) lbSetPicture [_lbsize-1,_ToolPicture];
        (_display displayCtrl 85502) lbSetData [_lbsize-1,_Tool];
    } forEach _Tools;      
      
      
    //Populate Required
     if (_requiredInteractionModelGroup != "" || _requiresOcean == 1 || _requiresFire == 1 || _requiresWeld == 1 || _requiresGen == 1 || _requiresToolTrolley == 1) then { (_display displayCtrl 85502) lbAdd Format["====== REQUIRES ======"]; };
      
    //Populate Models
    if (_requiredInteractionModelGroup != "")  then 
    {
        _foundObject = false;
        
        _interactionModelGroupConfig = missionConfigFile >> "CfgInteractionModels" >> _requiredInteractionModelGroup;
        _RequiredDispName = getText(_interactionModelGroupConfig >> "name");
        _interactionModelGroupModels = getArray(_interactionModelGroupConfig >> "models");
    
        //Exile Code
        if ([ASLtoAGL (getPosASL player), 10, _interactionModelGroupModels] call ExileClient_util_model_isNearby) then
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]",_RequiredDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
            _foundObject = true;    
        }
        else 
        {
            if ( _interactionModelGroupModels call ExileClient_util_model_isLookingAt ) then
            {
                (_display displayCtrl 85502) lbAdd Format["%1 - [OK]",_RequiredDispName];
                _lbsize = lbSize (_display displayCtrl 85502);
                (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
                _foundObject = true;    
            };
        };
        if !(_foundObject) then
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]",_RequiredDispName];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        };
    
        _lbsize = lbSize (_display displayCtrl 85502);
        (_display displayCtrl 85502) lbSetData [_lbsize-1,_requiredInteractionModelGroup];
    };
      
    //Populate Ocean
    if (_requiresOcean == 1)  then 
    {
        //Exile Code
        if !(surfaceIsWater getPos player) then 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "Ocean"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        }
        else 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "Ocean"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];                
        };
    };      
      
    //Populate Fire 
    if (_requiresFire == 1)  then 
    {
        //Exile Code
        if !([player, 4] call ExileClient_util_world_isFireInRange) then 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "Fire"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        }
        else
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "Fire"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
        };            
    };    

    //Populate Weld
     
    if (_requiresWeld == 1)  then 
    {
        //Exile Code
        _weld = (ASLtoAGL (getPosASL player)) call compile preprocessFileLineNumbers "custom\weaponsCraft\data\ExileClient_util_world_getNearestwelder.sqf";
        if (isNull _weld) then 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "EBM Welder"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        }
        else
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "EBM Welder"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
        };            

    };    
    
     //Populate Generator
     
     if (_requiresGen == 1)  then 
     {
        //Exile Code
        _gen = (ASLtoAGL (getPosASL player)) call compile preprocessFileLineNumbers "custom\weaponsCraft\data\ExileClient_util_world_getNearestGenerator.sqf";
        if (isNull _gen) then 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "EBM Generator"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        }
        else
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "EBM Generator"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
        };            

     };    

     //Populate Tool trolley
     
     if (_requiresToolTrolley == 1)  then 
     {
        //Exile Code
        _toolTrolley = (ASLtoAGL (getPosASL player)) call compile preprocessFileLineNumbers "custom\weaponsCraft\data\ExileClient_util_world_getNearestToolTrolley.sqf";
        if (isNull _toolTrolley) then 
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [MISSING]", "EBM Tool Trolley (Blue)"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.918, 0, 0,1]];                
        }
        else
        {
            (_display displayCtrl 85502) lbAdd Format["%1 - [OK]", "EBM Tool Trolley (Blue)"];
            _lbsize = lbSize (_display displayCtrl 85502);
            (_display displayCtrl 85502) lbSetColor [_lbsize-1, [0.698, 0.925, 0,1]];            
        };            

     };    
                                 
    //Populate Returns
    (_display displayCtrl 85502) lbAdd Format["====== RETURNS ======"];
    {
        _Quantity = _x select 0;
        _Component = _x select 1;
        
        _ComponentDispName = getText (configfile >> "CfgMagazines" >> _Component >> "displayName");
        _ComponentPicture  = getText (configfile >> "CfgMagazines" >> _Component >> "picture");
        _ComponentWeapDispName = getText (configfile >> "CfgWeapons" >> _Component >> "displayName");
        _ComponentWeapPicture = getText (configfile >> "CfgWeapons" >> _Component >> "picture");
        _wSrecipeConfig = missionConfigFile >> "CfgCraftingRecipes" >> _recipeClassName;
        _wSrecipePicture = getText(_wSrecipeConfig >> "pictureItem");
        _wSItemPicture      = getText(missionConfigFile >> "CfgCraftingRecipes" >> SelectedRecipe  >> "pictureItem");
        _ComponentItemName = _ComponentDispName + _ComponentWeapDispName;
        _ComponentItemPicture = _ComponentWeapPicture + _ComponentPicture;
        _wSWeapPic = getText(configfile >> "CfgWeapons" >> _wSItemPicture >> "picture");
        _wSItemPic = getText(configFile >> "CfgMagazines" >> _wSItemPicture >> "picture");
        _wSGlobalPic = _wSWeapPic + _wSItemPic;
        
        (_display displayCtrl 85502) lbAdd Format["%2 - [%1]",  _Quantity, _ComponentItemName];
        _lbsize = lbSize (_display displayCtrl 85502);
        (_display displayCtrl 85502) lbSetPicture [_lbsize-1,_ComponentItemPicture];
        (_display displayCtrl 85502) lbSetData [_lbsize-1,_Component];
        (_display displayCtrl 85507) ctrlSetText _wSGlobalPic;

    } forEach _returnedItems; 

};
 

 

  • Like 2

Share this post


Link to post
Share on other sites
Advertisement
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.