muggerfugger
Well-Known Member
Thanks works good
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.
EDIT: small bugfix
okay here is the 1.7.7 version.
ss_remove.sqf:
Code:// Remove Parts from Vehicles - By SilverShot. // added anti dupingcode, dayz 1.7.7 compatibility and some description by NeverUsedID - www.die-philosoffen.com private["_vehicle","_part","_hitpoint","_type","_selection","_array"]; _id = _this select 2; _array = _this select 3; _vehicle = _array select 0; _part = _array select 1; _hitpoint = _array select 2; _type = typeOf _vehicle; _hasToolbox = "ItemToolbox" in items player; _nameType = getText(configFile >> "cfgVehicles" >> _type >> "displayName"); _namePart = getText(configFile >> "cfgMagazines" >> _part >> "displayName"); if (_hasToolbox) then { if (getDammage _vehicle < 2) then { _damage = [_vehicle,_hitpoint] call object_getHit; //check if part is not damaged and remove it if( _damage < 0.20 ) then { {silver_myCursorTarget removeAction _x} forEach s_player_removeActions; s_player_removeActions = []; silver_myCursorTarget = objNull; _selection = getText(configFile >> "cfgVehicles" >> _type >> "HitPoints" >> _hitpoint >> "name"); //check if part is engine or fueltank, otherwise vehicle will explode if damage is set to 1. if( _hitpoint == "HitEngine" or _hitpoint == "HitFuel" ) then { _total = [_vehicle, _selection, 0.89, _array, "zombie", true] call fnc_veh_handleDam; } else { // set damage to 1 _total = [_vehicle, _selection, 1, _array, "zombie", true] call fnc_veh_handleDam; }; //play animation player playActionNow "Medic"; sleep 1; [player,"repair",0,false] call dayz_zombieSpeak; null = [player,10,true,(getPosATL player)] spawn player_alertZombies; sleep 5; _vehicle setvelocity [0,0,1]; //recheck damage to be sure that part is removed from vehicle _damage = [_vehicle,_hitpoint] call object_getHit; if( _damage > 0.20 ) then { _result = [player,_part] call BIS_fnc_invAdd; //check if there is enough space in inventar if (_result) then { cutText [format["You have successfully taken %1 from the %2",_namePart,_nameType], "PLAIN DOWN"]; } else { //if not enought space say "not enough space" cutText [localize "str_player_24", "PLAIN DOWN"]; //and add the part back to the vehicle. [_vehicle, _selection, 0, true] call fnc_veh_handleRepair; }; }; } else { cutText [format["Cannot remove %1 from %2, the part has been damaged.",_namePart,_nameType], "PLAIN DOWN"]; }; } else { {silver_myCursorTarget removeAction _x} forEach s_player_removeActions; s_player_removeActions = []; silver_myCursorTarget = objNull; }; }; if( silver_myCursorTarget != objNull ) then { {silver_myCursorTarget removeAction _x} forEach s_player_removeActions; s_player_removeActions = []; silver_myCursorTarget = objNull; }; //update vehicle in database [_vehicle,_type] spawn server_updateObject;
What BE filter is giving a kick when removing parts? I've tried object_setFixServer in every file I've found with it but still kicking
The bug fix partially works since when parts need to be repaired they now can be removed and then and repair the same vehicle.
Edit: It seems to happen if it is yellow under scrollmenu, but others that are yellow are not shown aswell. Could I make it have to be green?