Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Jaimbo, Do I need to add anything to my init.sqf to make the ss_remove.sqf work or did that can taken care of when adding the compiles.sqf and fnc_selfActions.sqf?Manatee hunter, follow this tutorial and it will work perfectly:
1. Using the PBO tool of your choice (cPBO, PBOView, PBOManager etc.) extract the "dayz_code.pbo" from the "@dayz" folder.
2. Copy the "compiles.sqf" from "dayz_code\init" into your mission.pbo.
3. In the init.sqf in the mission.pbo edit:
Code:call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
to
Code:call compile preprocessFileLineNumbers "compiles.sqf";
You can use the compiles.sqf to override majority of the files in "dayz_code\compile" folder. We are going to use it to override the function "fn_selfAction.sqf" so:
4. Copy the "fn_selfAction.sqf" in "dayz_code\compile" to your mission.pbo
5. Open the compiles.sqf and find:
Code:fnc_usec_selfActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf"; //Checks which actions for self
(Should be on line 17)
and edit it so it looks like this
Code:fnc_usec_selfActions = compile preprocessFileLineNumbers "fn_selfActions.sqf"; //Checks which actions for self
Now we can edit the fn_selfActions.sqf and the changes will work in our server!
6. Now open the "fn_SelfActions" in the mission.pbo and find
Code://Sleep if(cursorTarget isKindOf "TentStorage" and _canDo and _ownerID == dayz_characterID) then { if ((s_player_sleep < 0) and (player distance cursorTarget < 3)) then { s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_sleep; s_player_sleep = -1; };
And right underneath it, we add
Code:// Remove Parts from Vehicles - By SilverShot. if( !_isMan and _canDo and _hasToolbox and (silver_myCursorTarget != cursorTarget) and cursorTarget isKindOf "AllVehicles" and (getDammage cursorTarget < 0.95) ) then { _vehicle = cursorTarget; _invalidVehicle = (_vehicle isKindOf "Motorcycle") or (_vehicle isKindOf "Tractor"); //or (_vehicle isKindOf "ATV_US_EP1") or (_vehicle isKindOf "ATV_CZ_EP1"); if( !_invalidVehicle ) then { {silver_myCursorTarget removeAction _x} forEach s_player_removeActions; s_player_removeActions = []; silver_myCursorTarget = _vehicle; _hitpoints = _vehicle call vehicle_getHitpoints; { _damage = [_vehicle,_x] call object_getHit; if( _damage < 0.15 ) then { //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; _skip = true; if( _skip and _x == "HitFuel" ) then { _skip = false; _part = "PartFueltank"; _cmpt = _cmpt + "tank"}; if( _skip and _x == "HitEngine" ) then { _skip = false; _part = "PartEngine"; }; if( _skip and _x == "HitLFWheel" ) then { _skip = false; _part = "PartWheel"; }; if( _skip and _x == "HitRFWheel" ) then { _skip = false; _part = "PartWheel"; }; if( _skip and _x == "HitLBWheel" ) then { _skip = false; _part = "PartWheel"; }; if( _skip and _x == "HitRBWheel" ) then { _skip = false; _part = "PartWheel"; }; if( _skip and _x == "HitGlass1" ) then { _skip = false; _part = "PartGlass"; }; if( _skip and _x == "HitGlass2" ) then { _skip = false; _part = "PartGlass"; }; if( _skip and _x == "HitGlass3" ) then { _skip = false; _part = "PartGlass"; }; if( _skip and _x == "HitGlass4" ) then { _skip = false; _part = "PartGlass"; }; if( _skip and _x == "HitGlass5" ) then { _skip = false; _part = "PartGlass"; }; if( _skip and _x == "HitGlass6" ) then { _skip = false; _part = "PartGlass"; }; if( _skip and _x == "HitHRotor" ) then { _skip = false; _part = "PartVRotor"; }; if (!_skip ) then { _string = format["<t color='#0096ff'>Remove%1</t>",_cmpt,_color]; //Remove - Part _handle = silver_myCursorTarget addAction [_string, "ss_remove.sqf",[_vehicle,_part,_x], 0, false, true, "",""]; s_player_removeActions set [count s_player_removeActions,_handle]; }; }; } forEach _hitpoints; }; };
This gives us the options on the scroll wheel menu when looking at vehicles!
7. Now find
Code://Engineering {dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = []; dayz_myCursorTarget = objNull; //Others player removeAction s_player_forceSave; s_player_forceSave = -1; player removeAction s_player_flipveh; s_player_flipveh = -1; player removeAction s_player_sleep; s_player_sleep = -1; player removeAction s_player_deleteBuild; s_player_deleteBuild = -1; player removeAction s_player_butcher; s_player_butcher = -1; player removeAction s_player_cook; s_player_cook = -1; player removeAction s_player_boil; s_player_boil = -1; player removeAction s_player_fireout; s_player_fireout = -1; player removeAction s_player_packtent; s_player_packtent = -1; player removeAction s_player_fillfuel; s_player_fillfuel = -1; player removeAction s_player_studybody; s_player_studybody = -1; //Dog player removeAction s_player_tamedog; s_player_tamedog = -1; player removeAction s_player_feeddog; s_player_feeddog = -1; player removeAction s_player_waterdog; s_player_waterdog = -1; player removeAction s_player_staydog; s_player_staydog = -1; player removeAction s_player_trackdog; s_player_trackdog = -1; player removeAction s_player_barkdog; s_player_barkdog = -1; player removeAction s_player_warndog; s_player_warndog = -1; player removeAction s_player_followdog; s_player_followdog = -1; };
And right above it add
Code://Extras //Remove Parts {silver_myCursorTarget removeAction _x} forEach s_player_removeActions;s_player_removeActions = []; silver_myCursorTarget = objNull;
This makes sure we don't have the option unless we are looking at vehicles!
8. Last but CERTAINLY not least, download the attached ss_remove.sqf and place it into your mission!
Job done!!!
4:45:38 Error in expression <pe","_selection","_array"];
_id = _this select 2;
_array = _this select 3;
_veh>
4:45:38 Error position: <select 2;
_array = _this select 3;
_veh>
4:45:38 Error Zero divisor
4:45:38 File mpmissions\__cur_mp.chernarus\ss_remove.sqf, line 4
"Code:call compile preprocessFileLineNumbers "compiles.sqf";
This is just a call path or file path. If you are calling your debug compile.sqf from one location then change it to call from compiles.sqf only. Then merge the two sqf's together properly and move the compiles.sqf to your main folder page.Seems i have already modified this line, so what can i do? debug monitor or this?
If you want to inbox me your mission PBO I will take a look at it later tonight.Hey here is my compiles.sqf from my debug, does anyone know how to merge the stripping vehicles compiles? i r not pro. Thanks for your time.