Jump to content
  • 0

Full Vehicle Salvage on Locked Vehicles


hybridfury

Question

The script I currently use: http://www.opendayz.net/threads/release-epoch-all-salvage-vehicles-script-v-1-0-german-english.13386/   allows for locked vehicles to be salvaged.  How can I make it so locked vehicles can't be salvaged?  Here is the salvage_vehicle.sqf file:

	

    private ["_part","_cancel","_color","_percent","_string","_handle","_damage","_cmpt","_vehicle","_hitpoints"];
     
    // [ _trader_id, _category, _action ];
    // _activatingPlayer = _this select 1;
     
    _vehicle = _this select 3;
     
    {dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
    // dayz_myCursorTarget = _vehicle;
     
    //_allFixed = true;
    _hitpoints = _vehicle call vehicle_getHitpoints;
    //diag_log format["DEBUG SALVAGE: %1", _hitpoints];
    {                      
            _damage = [_vehicle,_x] call object_getHit;
            _part = "PartGeneric";
     
            //change "HitPart" to " - Part" rather than complicated string replace
            _cmpt = toArray (_x);
            _cmpt set [0,20];
            _cmpt set [1,toArray ("-") select 0];
            _cmpt set [2,20];
            _cmpt = toString _cmpt;
           
            if(["Engine",_x,false] call fnc_inString) then {
                    _part = "PartEngine";
            };
                   
            if(["HRotor",_x,false] call fnc_inString) then {
                    _part = "PartVRotor"; //yes you need PartVRotor to fix HRotor LOL
            };
     
            if(["Fuel",_x,false] call fnc_inString) then {
                    _part = "PartFueltank";
            };
     
            if(["Wheel",_x,false] call fnc_inString) then {
                    _part = "PartWheel";
            };     
                   
            if(["Glass",_x,false] call fnc_inString) then {
                    _part = "PartGlass";
            };
     
            // allow removal of any lightly damaged parts
             if (_damage < 1 ) then {
                   
                    // Do not allow removal of engine or fueltanks
                    if( _part == "PartGlass" or _part == "PartWheel" or _part == "PartEngine" or _part == "PartVRotor" or _part == "PartFueltank" or _part == "PartGeneric" ) then {
     
                            _color = "color='#ffff00'"; //yellow
                            if (_damage >= 0.5) then {_color = "color='#ff8800'";}; //orange
                            if (_damage >= 0.9) then {_color = "color='#ff0000'";}; //red
     
                            _percent = round(_damage*100);
                            _string = format["<t %2>Remove%1 (%3 %4)</t>",_cmpt,_color,_percent,"%"]; //Remove - Part
                            _handle = dayz_myCursorTarget addAction [_string, "\z\addons\dayz_code\actions\salvage.sqf",[_vehicle,_part,_x], 0, false, true, "",""];
                            s_player_repairActions set [count s_player_repairActions,_handle];
                           
                    };
            };
     
    } forEach _hitpoints;
     
    if(count _hitpoints > 0 ) then {
           
            _cancel = dayz_myCursorTarget addAction ["Cancel", "\z\addons\dayz_code\actions\repair_cancel.sqf","repair", 0, true, false, "",""];
            s_player_repairActions set [count s_player_repairActions,_cancel];
            s_player_repair_crtl = 1;
    };
Link to comment
Share on other sites

2 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...