Jump to content
  • 0

Deconstruct Item Refund - spawn position?


fr1nk

Question

So, I have a modified version of remove.sqf, originally written by that refunds base components when you deconstruct them. It works great when you're on the ground - object is deconstructed and dropped on the ground, your inventory opens allowing you to pickup the item. It seems to be somewhat unreliable when deconstructing objects above ground (seems to work properly only half the time). What happens is the object get deconstructed (haven't had this part fail yet), but the inventory flickers and the crate item is spawned up in the air and out of reach:
 
...
...
if((count _selectedRemoveOutput) <= 0) then {
                        cutText ["No parts found.", "PLAIN DOWN"];
                };
 
                if (_ipos select 2 < 0) then {
                        _ipos set [2,0];
                };
 
                _radius = 1;
 
                // give refund items
if((count _selectedRemoveOutput) > 0 and !_preventRefund) then {
                        _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
                        {
                                _itemOut = _x select 0;
                                _countOut = _x select 1;
                                if (typeName _countOut == "ARRAY") then {
                                        _countOut = round((random (_countOut select 1)) + (_countOut select 0));
                                };
                                _item addMagazineCargoGlobal [_itemOut,_countOut];                             
                        } forEach _selectedRemoveOutput;
                        player reveal _item;
 
                        player action ["Gear", _item];
                };
...
...
 
Is there something extra required to account for height position? Any advice is appreciated, thanks.
 
Full file here:


/*
delete object from db with extra waiting by [VB]AWOL
parameters: _obj
*/
private ["_activatingPlayer","_obj","_objectID","_objectUID","_started","_finished","_animState","_isMedic","_isOk","_proceed","_counter","_limit","_objType","_sfx","_dis","_itemOut","_countOut","_selectedRemoveOutput","_friendlies","_nearestPole","_ownerID","_refundpart","_isWreck","_findNearestPoles","_findNearestPole","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_radius","_isWreckBuilding","_nameVehicle","_isModularItem","_isUnlockedDoor","_objKAOS","_objAdmin"];
 
if(TradeInprogress) exitWith { cutText ["Remove already in progress." , "PLAIN DOWN"]; };
TradeInprogress = true;
 
player removeAction s_player_deleteBuild;
s_player_deleteBuild = 1;
 
_obj = _this select 3;
 
_activatingPlayer = player;
 
if ((getPlayerUID player) in ["######","######","########"]) then { // Allow admins to deconstruct anything
        _isOwnerOfObj = true;
} else {
        _objOwnerID = _obj getVariable["CharacterID","0"];
        _isOwnerOfObj = (_objOwnerID == dayz_characterID);
};
 
//_isModularItem = _obj isKindOf "ModularItems" or _obj isKindOf "Land_DZE_WoodDoor_Base" or _obj isKindOf "CinderWallDoor_DZ_Base"; //DECONSTRUCT MODULAR
 
_isModularItem = _obj isKindOf "ModularItems" or _obj isKindOf "Land_DZE_WoodDoor_Base" or _obj isKindOf "CinderWallDoor_DZ_Base" or _obj isKindOf "WoodSmallWall_DZ" or _obj isKindOf "WoodSmallWallThird_DZ" or _obj isKindOf "WoodLargeWall_DZ" or _obj isKindOf "Land_DZE_GarageWoodDoor" or _obj isKindOf "WoodLargeWallDoor_DZ" or _obj isKindOf "WoodSmallWallDoor_DZ" or _obj isKindOf "WoodStairs_DZ" or _obj isKindOf "WoodStairsSans_DZ" or _obj isKindOf "WoodSmallWallWin_DZ" or _obj isKindOf "WoodLargeWallWin_DZ" or _obj isKindOf "WoodShack_DZ" or _obj isKindOf "WoodRamp_DZ" or _obj isKindOf "WoodLadder_DZ" or _obj isKindOf "WoodFloor_DZ" or _obj isKindOf "WoodFloorQuarter_DZ" or _obj isKindOf "WoodFloorHalf_DZ" or _obj isKindOf "Wooden_shed_DZ" or _obj isKindOf "Land_DZE_WoodDoor" or _obj isKindOf "Land_DZE_LargeWoodDoor" or _obj isKindOf "Land_DZE_GarageWoodDoor" or _obj isKindOf "CinderWall_DZ" or _obj isKindOf "CinderWallHalf_DZ" or _obj isKindOf "CinderWallDoorway_DZ" or _obj isKindOf "CinderWallDoor_DZ" or _obj isKindOf "CinderWallSmallDoorway_DZ" or _obj isKindOf "CinderWallDoorSmall_DZ" or _obj isKindOf "Plastic_Pole_EP1_DZ" or _obj isKindOf "TentStorage" or _obj isKindOf "TentStorageDomed" or _obj isKindOf "TentStorageDomed2" or _obj isKindOf "LightPole_DZ" or _obj isKindOf "SandNest_DZ" or _obj isKindOf "MetalFloor_DZ" or _obj isKindOf "Hedgehog_DZ" or _obj isKindOf "Sandbag1_DZ" or _obj isKindOf "WoodGate_DZ" or _obj isKindOf "Land_HBarrier1_DZ" or _obj isKindOf "Land_HBarrier3_DZ" or _obj isKindOf "Fence_corrugated_DZ" or _obj isKindOf "M240Nest_DZ" or _obj isKindOf "CanvasHut_DZ" or _obj isKindOf "ParkBench_DZ" or _obj isKindOf "MetalGate_DZ" or _obj isKindOf "OutHouse_DZ" or _obj isKindOf "WoodShack_DZ" or _obj isKindOf "StorageShed_DZ" or _obj isKindOf "StickFence_DZ" or _obj isKindOf "DesertCamoNet_DZ" or _obj isKindOf "ForestCamoNet_DZ" or _obj isKindOf "DesertLargeCamoNet_DZ" or _obj isKindOf "ForestLargeCamoNet_DZ" or _obj isKindOf "DeerStand_DZ" or _obj isKindOf "MetalPanel_DZ" or _obj isKindOf "WorkBench_DZ"; //UPDATED DECONSTRUCT TO OWNERS ONLY
 
_isLockableDoor = _obj isKindOf "Land_DZE_WoodDoorLocked_Base" or _obj isKindOf "CinderWallDoorLocked_DZ_Base"; //DECONSTRUCT MODULAR
 if(_isModularItem and !_isOwnerOfObj) exitWith {TradeInprogress = false; cutText ["Cannot remove item: You're not the owner.", "PLAIN DOWN"];}; //DECONSTRUCT MODULAR
 
if(_obj getVariable ["GeneratorRunning", false]) exitWith {TradeInprogress = false; cutText ["Cannot remove running generator.", "PLAIN DOWN"];};
 
_objectID       = _obj getVariable ["ObjectID","0"];
_objectUID      = _obj getVariable ["ObjectUID","0"];
 
_isOk = true;
_proceed = false;
_objType = typeOf _obj;
 
// Chance to break tools
_isDestructable = _obj isKindOf "BuiltItems";
_isWreck = _objType in DZE_isWreck;
_isRemovable = _objType in DZE_isRemovable;
_isWreckBuilding = _objType in DZE_isWreckBuilding;
 
_limit = 1;
if(isNumber (configFile >> "CfgVehicles" >> _objType >> "constructioncount")) then {
        _limit = 1;
};
 
_findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], 30];
_findNearestPole = [];
{if (alive _x) then {_findNearestPole set [(count _findNearestPole),_x];};} foreach _findNearestPoles;
 
_IsNearPlot = count (_findNearestPole);
 
if(_IsNearPlot >= 1) then {
 
        _nearestPole = _findNearestPole select 0;
 
        // Find owner
        _ownerID = _nearestPole getVariable["CharacterID","0"];
 
        // check if friendly to owner
        if(dayz_characterID != _ownerID) then {
               
                _friendlies             = player getVariable ["friendlyTo",[]];
                // check if friendly to owner
                if(!(_ownerID in _friendlies)) then {
                        _limit = round(_limit*2);
                };
        };
};
 
_nameVehicle = getText(configFile >> "CfgVehicles" >> _objType >> "displayName");
 
_objKAOS = cursorTarget;
if (!isNull _objKAOS) then {
        //hint format ["Item is %1",typeOF _objKAOS];
};
 
cutText [format["Starting de-construction of %1.",_nameVehicle], "PLAIN DOWN"];
 
// Alert zombies once.
[player,50,true,(getPosATL player)] spawn player_alertZombies;
_brokenTool = false;
 
// Start de-construction loop
_counter = 0;
while {_isOk} do {
 
        // if object no longer exits this should return true.
        if(isNull(_obj)) exitWith {
                _isOk = false;
                _proceed = false;
        };
 
        player playActionNow "Medic";
        _dis=20;
        [player,_dis,true,(getPosATL player)] spawn player_alertZombies;
       
        r_interrupt = false;
        _animState = animationState player;
        r_doLoop = true;
        _started = false;
        _finished = false;
 
        while {r_doLoop} do {
                _animState = animationState player;
                _isMedic = ["medic",_animState] call fnc_inString;
                if (_isMedic) then {
                        _started = true;
                };
                if (_started and !_isMedic) then {
                        r_doLoop = false;
                        _finished = true;
                        _sfx = "repair";
                        [player,_sfx,0,false,_dis] call dayz_zombieSpeak;
                };
                if (r_interrupt) then {
                        r_doLoop = false;
                };
               
                sleep 0.1;
               
        };
 
        if(!_finished) exitWith {
                _isOk = false;
                _proceed = false;
        };
 
        if(_finished) then {
                _counter = _counter + 1;
                // 10% chance to break a required tool each pass
                if((_isDestructable or _isRemovable) and !_isOwnerOfObj) then {
                        if((random 10) <= 1) then {
                                _brokenTool = true;
                        };
                };
        };
        if(_brokenTool) exitWith {
                _isOk = false;
                _proceed = false;
        };
 
        cutText [format["De-constructing %1 stage %2 of %3 walk away at anytime to cancel.", _nameVehicle, _counter,_limit], "PLAIN DOWN"];
 
        if(_counter == _limit) exitWith {
                _isOk = false;
                _proceed = true;
        };
       
};
 
 
 
if(_brokenTool) then {
        if(_isWreck) then {
                _removeTool = "ItemToolbox";
        } else {
                _removeTool = ["ItemCrowbar","ItemToolbox"] call BIS_fnc_selectRandom;
        };
        if(([player,_removeTool,1] call BIS_fnc_invRemove) > 0) then {
                cutText [format["%1 broke cannot remove %2.",getText(configFile >> "CfgWeapons" >> _removeTool >> "displayName"),_nameVehicle], "PLAIN DOWN"];
        };
};
 
// Remove only if player waited
if (_proceed) then {
       
        // Double check that object is not null
        if(!isNull(_obj)) then {
               
                _ipos = getPosATL _obj;
 
                if (_isLockableDoor and {_obj animationPhase "Open_hinge" == 0}) exitWith {TradeInprogress = false; cutText ["Cannot remove locked door.", "PLAIN DOWN"];}; //DECONSTRUCT MODULAR
               
                deleteVehicle _obj;
               
                if(!_isWreck) then {
                        PVDZE_obj_Delete = [_objectID,_objectUID,_activatingPlayer];
                        publicVariableServer "PVDZE_obj_Delete";
                };
 
                cutText [format["De-constructing %1.",_nameVehicle], "PLAIN DOWN"];
               
                _preventRefund = false;
 
                _selectedRemoveOutput = [];
                if(_isWreck) then {
                        // Find one random part to give back
                        _refundpart = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"] call BIS_fnc_selectRandom;
                        _selectedRemoveOutput set [count _selectedRemoveOutput,[_refundpart,1]];
                } else {
                        if(_isWreckBuilding) then {
                                _selectedRemoveOutput = getArray (configFile >> "CfgVehicles" >> _objType >> "removeoutput");
                        } else {
                                switch (typeOF _objKAOS) do
                                {
// MODULAR BUILDABLES
 
case "BagFenceRound_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["BagFenceRound_DZ_kit",1]];
                                                hint format ["Deconstruction found Round Sandbag - %1",typeOF _objKAOS];
                                        };
case "CanvasHut_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["sun_shade_kit",1]];
                                                hint format ["Deconstruction found Sun Shade Hut - %1",typeOF _objKAOS];
                                        };
case "CinderWall_DZ":
                                        {                                            
                                                _selectedRemoveOutput = [["cinder_wall_kit",1],["CinderBlocks",4],["MortarBucket",1]];
                                                hint format ["Deconstruction found Cinder Wall - %1",typeOF _objKAOS];
                                        };
case "CinderWallDoor_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_garage_kit",1],["ItemTankTrap",3],["ItemPole",3]];
                                                hint format ["Deconstruction found Cinder Garage Door - %1",typeOF _objKAOS];
                                        };
case "CinderWallDoorSmall_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_door_kit",1],["ItemTankTrap",1],["ItemPole",1]];
                                                hint format ["Deconstruction found Cinder Small Wall Door - %1",typeOF _objKAOS];
                                        };
case "CinderWallDoorway_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_garage_kit",1]];
                                                hint format ["Deconstruction found Cinder Garage Doorway - %1",typeOF _objKAOS];
                                        };
case "CinderWallHalf_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_wall_kit",1]];
                                                hint format ["Deconstruction found Cinder Half Wall - %1",typeOF _objKAOS];
                                        };
case "CinderWallSmallDoorway_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_door_kit",1]];
                                                hint format ["Deconstruction found Cinder Small Wall Doorway - %1",typeOF _objKAOS];
                                        };
case "DeerStand_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["deer_stand_kit",1]];
                                                hint format ["Deconstruction found Deer Stand - %1",typeOF _objKAOS];
                                        };
case "Fence_corrugated_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemCorrugated",1]];
                                                hint format ["Deconstruction found Corrugated Fence - %1",typeOF _objKAOS];
                                        };
case "FireBarrel_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemFireBarrel_kit",1]];
                                                hint format ["Deconstruction found Fire Barrel - %1",typeOF _objKAOS];
                                        };
case "Fort_RazorWire":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWire",1]];
                                                hint format ["Deconstruction found Razor Wire - %1",typeOF _objKAOS];
                                        };
case "FuelPump_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["fuel_pump_kit",1]];
                                                hint format ["Deconstruction found Fuel Tank Pump - %1",typeOF _objKAOS];
                                        };
case "Generator_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemGenerator",1]];
                                                hint format ["Deconstruction found Power Generator - %1",typeOF _objKAOS];
                                        };
case "GunRack_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemGunRackKit",1]];
                                                hint format ["Deconstruction found Gunrack - %1",typeOF _objKAOS];
                                        };
case "Hedgehog_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemTankTrap",1]];
                                                hint format ["Deconstruction found Tank Trap - %1",typeOF _objKAOS];
                                        };
case "Land_DZE_GarageWoodDoor":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallGarageDoor",1]];
                                                hint format ["Deconstruction found Wood Garage Door - %1",typeOF _objKAOS];
                                        };
case "Land_DZE_LargeWoodDoor":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallDoorLg",1],["PartWoodLumber",1],["PartWoodPlywood",1]];
                                                hint format ["Deconstruction found Large Wood Wall with Door - %1",typeOF _objKAOS];
                                        };
case "Land_DZE_WoodDoor":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallDoor",1],["PartWoodLumber",1],["PartWoodPlywood",1]];
                                                hint format ["Deconstruction found Small Wood Wall with Door - %1",typeOF _objKAOS];
                                        }; 
case "Land_HBarrier1_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemSandbagLarge",1]];
                                                hint format ["Deconstruction found H Barrier 1 - %1",typeOF _objKAOS];
                                        };
case "Land_HBarrier3_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemSandbagLarge",3]];
                                                hint format ["Deconstruction found H Barrier 3 - %1",typeOF _objKAOS];
                                        };
case "Land_HBarrier5_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemSandbagExLarge5x",1]];
                                                hint format ["Deconstruction found H Barrier 5 - %1",typeOF _objKAOS];
                                        };
case "LightPole_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["light_pole_kit",1]];
                                                hint format ["Deconstruction found Light Pole - %1",typeOF _objKAOS];
                                        };
case "MetalFloor_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["metal_floor_kit",1]];
                                                hint format ["Deconstruction found Metal Floor - %1",typeOF _objKAOS];
                                        };
case "MetalGate_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["rusty_gate_kit",1]];
                                                hint format ["Deconstruction found Rusty Metal Gate - %1",typeOF _objKAOS];
                                        };
case "MetalPanel_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["metal_panel_kit",1]];
                                                hint format ["Deconstruction found  Metal Panel - %1",typeOF _objKAOS];
                                        };
case "OutHouse_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["outhouse_kit",1]];
                                                hint format ["Deconstruction found Outhouse - %1",typeOF _objKAOS];
                                        };
case "ParkBench_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["park_bench_kit",1]];
                                                hint format ["Deconstruction found Park Bench - %1",typeOF _objKAOS];
                                        };
case "Plastic_Pole_EP1_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["30m_plot_kit",1]];
                                                hint format ["Deconstruction found 30m Plot Kit - %1",typeOF _objKAOS];
                                        };
case "Sandbag1_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemSandbag",1]];
                                                hint format ["Deconstruction found Sandbag - %1",typeOF _objKAOS];
                                        };
case "SandNest_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["sandbag_nest_kit",1]];
                                                hint format ["Deconstruction found Sandbag Nest - %1",typeOF _objKAOS];
                                        };
case "Scaffolding_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemScaffoldingKit",1]];
                                                hint format ["Deconstruction found Scaffolding - %1",typeOF _objKAOS];
                                        };
case "StickFence_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["stick_fence_kit",1]];
                                                hint format ["Deconstruction found Stick Fence - %1",typeOF _objKAOS];
                                        };
case "StorageShed_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["storage_shed_kit",1]];
                                                hint format ["Deconstruction found Storage Shed - %1",typeOF _objKAOS];
                                        };
case "WoodCrate_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodCrateKit",1]];
                                                hint format ["Deconstruction found Wood Crate - %1",typeOF _objKAOS];
                                        };
case "Wooden_shed_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["wooden_shed_kit",1]];
                                                hint format ["Deconstruction found Wooden Shed - %1",typeOF _objKAOS];
                                        };
case "WoodFloor_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodFloor",1]];
                                                hint format ["Deconstruction found Wooden Floor - %1",typeOF _objKAOS];
                                        };
case "WoodFloorHalf_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodFloorHalf",1]];
                                                hint format ["Deconstruction found Wood Floor 1/2 - %1",typeOF _objKAOS];
                                        };
case "WoodFloorQuarter_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodFloorQuarter",1]];
                                                hint format ["Deconstruction found Wood Floor 1/4 - %1",typeOF _objKAOS];
                                        }; 
case "WoodLadder_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodLadder",1]];
                                                hint format ["Deconstruction found Wood Ladder - %1",typeOF _objKAOS];
                                        };
case "WoodLargeWall_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallLg",1]];
                                                hint format ["Deconstruction found Large Wood Wall - %1",typeOF _objKAOS];
                                        };
case "WoodLargeWallDoor_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallDoorLg",1]];
                                                hint format ["Deconstruction found Large Wood Wall with Doorway - %1",typeOF _objKAOS];
                                        };
case "WoodLargeWallWin_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallWindowLg",1]];
                                                hint format ["Deconstruction found Large Wood Wall with Window - %1",typeOF _objKAOS];
                                        };
case "WoodRamp_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemDocumentRamp",1],["PartWoodLumber",8]];
                                                hint format ["Deconstruction found Wood Ramp - %1",typeOF _objKAOS];
                                        };
case "WoodShack_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["wood_shack_kit",1]];
                                                hint format ["Deconstruction found Wood Shack - %1",typeOF _objKAOS];
                                        };
case "WoodSmallWall_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWall",1]];
                                                hint format ["Deconstruction found Small Wood Wall - %1",typeOF _objKAOS];
                                        };
case "WoodSmallWallDoor_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallDoor",1]];
                                                hint format ["Deconstruction found Small Wood Wall with Doorway - %1",typeOF _objKAOS];
                                        };
case "WoodSmallWallThird_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallThird",1]];
                                                hint format ["Deconstruction found Wood Wall 1/3 - %1",typeOF _objKAOS];
                                        };
case "WoodSmallWallWin_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallWindow",1]];
                                                hint format ["Deconstruction found Small Wood Wall with Window - %1",typeOF _objKAOS];
                                        };
case "WoodStairs_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodStairsSupport",1]];
                                                hint format ["Deconstruction found Wood Stairs with Supports - %1",typeOF _objKAOS];
                                        };
case "WoodStairsRails_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodStairsSupport",1],["PartWoodLumber",2]];
                                                hint format ["Deconstruction found Wood Stairs with Supports - %1",typeOF _objKAOS];
                                        };
case "WoodStairsSans_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodStairs",1]];
                                                hint format ["Deconstruction found Wood Stairs without Supports - %1",typeOF _objKAOS];
                                        }; 
case "WorkBench_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["workbench_kit",1]];
                                                hint format ["Deconstruction found Wood Workbench - %1",typeOF _objKAOS];
                                        };
 
// BUILDABLES - WITH COMBINATION LOCK
 
case "Land_DZE_GarageWoodDoorLocked":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallGarageDoorLocked",1]];
                                                hint format ["Deconstruction found Wood Garage Door Locked - %1",typeOF _objKAOS];
                                        };
case "Land_DZE_LargeWoodDoorLocked":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallWithDoorLgLocked",1]];
                                                hint format ["Deconstruction found Large Wood Wall with Door Locked - %1",typeOF _objKAOS];
                                        };
case "Land_DZE_WoodDoorLocked":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemWoodWallWithDoorLocked",1]];
                                                hint format ["Deconstruction found Small Wood Wall with Door Locked - %1",typeOF _objKAOS];
                                        };
/*
case "CinderWallDoorLocked_DZ": 
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_garage_kit",1],["ItemTankTrap",3],["ItemPole",3],["ItemComboLock",1]];
                                                hint format ["Deconstruction found Cinder Garage Door Locked - %1",typeOF _objKAOS];
                                        };
case "CinderWallDoorSmallLocked_DZ": 
                                        {                                                
                                                _selectedRemoveOutput = [["cinder_door_kit",1],["ItemTankTrap",1],["ItemPole",1],["ItemComboLock",1]];
                                                hint format ["Deconstruction found Cinder Wall Door Locked - %1",typeOF _objKAOS];
                                        };
*/
 
// OTHER BUILDABLES 
 
case "DesertCamoNet_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["desert_net_kit",1]];
                                                hint format ["Deconstruction found Desert Camo Net - %1",typeOF _objKAOS];
                                        };
case "DesertLargeCamoNet_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["desert_large_net_kit",1]];
                                                hint format ["Deconstruction found Large Desert Camo Net - %1",typeOF _objKAOS];
                                        };
case "ForestCamoNet_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["forest_net_kit",1]];
                                                hint format ["Deconstruction found Forest Camo Net - %1",typeOF _objKAOS];
                                        };
case "ForestLargeCamoNet_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["forest_large_net_kit",1]];
                                                hint format ["Deconstruction found Large Forest Camo Net - %1",typeOF _objKAOS];
                                        };
/*
case "FuelPump_DZ":
                                        {                                                
                                                _selectedRemoveOutput = [["ItemFuelPump",1]];
                                                hint format ["Deconstruction found H Barrier 3 - %1",typeOF _objKAOS];
                                        };
 
//fuel_pump_kit (no fuel tank requirement)
//ItemFuelPump (requires fuel tank within 30m)
 
*/
                                };
                                //_selectedRemoveOutput = getArray (configFile >> "CfgVehicles" >> _objType >> "removeoutput");
                                //_preventRefund = (_objectID == "0" && _objectUID == "0");
                       
                        };
                };
               
                if((count _selectedRemoveOutput) <= 0) then {
                        cutText ["No parts found.", "PLAIN DOWN"];
                };
 
                if (_ipos select 2 < 0) then {
                        _ipos set [2,0];
                };
 
                _radius = 1;
 
                // give refund items
                if((count _selectedRemoveOutput) > 0 and !_preventRefund) then {
                        _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
                        {
                                _itemOut = _x select 0;
                                _countOut = _x select 1;
                                if (typeName _countOut == "ARRAY") then {
                                        _countOut = round((random (_countOut select 1)) + (_countOut select 0));
                                };
                                _item addMagazineCargoGlobal [_itemOut,_countOut];                             
                        } forEach _selectedRemoveOutput;
                        player reveal _item;
 
                        player action ["Gear", _item];
                };
        } else {
                cutText ["Failed object not longer exists.", "PLAIN DOWN"];
        };
 
} else {
        r_interrupt = false;
        if (vehicle player == player) then {
                [objNull, player, rSwitchMove,""] call RE;
                player playActionNow "stop";
        };
};
TradeInprogress = false;
s_player_deleteBuild = -1;

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

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
  • Advertisement
  • Discord

×
×
  • Create New...