Jump to content

smexy

Member
  • Posts

    36
  • Joined

  • Last visited

Posts posted by smexy

  1. Okay fixed my previous problem but now I'm having an issue where I can't remove anything. Here is my fn_selfactions.sqf if you could take a look over it please!

    scriptName "Functions\misc\fn_selfActions.sqf";
    /***********************************************************
    	ADD ACTIONS FOR SELF
    	- Function
    	- [] call fnc_usec_selfActions;
    ************************************************************/
    private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_isModularDoor","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached","_friendUID","_fuid","_adminList","_owner","_friends","_allowed","_thePlot","_playerUID","_findNearestPoles","_IsNearPlot","_weapons","_isBike","_isMoped","_mags","_isMozzie","_characterID"];
    
    if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running.
    
    _vehicle = vehicle player;
    _isPZombie = player isKindOf "PZombie_VB";
    _inVehicle = (_vehicle != player);
    
    _onLadder =		(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
    _canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
    
    _nearLight = 	nearestObject [player,"LitObject"];
    _canPickLight = false;
    if (!isNull _nearLight) then {
    	if (_nearLight distance player < 4) then {
    		_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
    	};
    };
    //--------------------------------------Deploy Bike----------------------------------
    //-----------------------------------------Start--------------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isBike = typeOf cursorTarget in ["MMT_Civ"];
    
    //BIKE DEPLOY
    if ("ItemToolbox" in _weapons) then {
    hasBikeItem = true;
    } else { hasBikeItem = false;};
    if((speed player <= 1) && hasBikeItem && _canDo) then {
    if (s_player_deploybike < 0) then {
    s_player_deploybike = player addaction[("<t color=""#4eff00"">" + ("Deploy Bike") +"</t>"),"deployables\mtbike\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploybike;
    s_player_deploybike = -1;
    };
    
    //PACK BIKE
    if((_isBike && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploybike2 < 0) then {
    s_player_deploybike2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Bike") +"</t>"),"deployables\mtbike\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploybike2;
    s_player_deploybike2 = -1;
    };
    //--------------------------------------Deploy Bike----------------------------------
    //------------------------------------------End--------------------------------------
    
    //--------------------------------------Deploy Moped----------------------------------
    //------------------------------------------Start-------------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isMoped = typeOf cursorTarget in ["TT650_Civ"];
    
    //MOPED DEPLOY
    if ("PartEngine" in _weapons) then {
    hasMopedItem = true;
    } else { hasMopedItem = false;};
    if((speed player <= 1) && hasMopedItem && _canDo) then {
    if (s_player_deploymoped < 0) then {
    s_player_deploymoped = player addaction[("<t color=""#4eff00"">" + ("Deploy Moped") +"</t>"),"deployables\moped\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymoped;
    s_player_deploymoped = -1;
    };
    
    //PACK MOPED
    if((_isMoped && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploymoped2 < 0) then {
    s_player_deploymoped2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Moped") +"</t>"),"deployables\moped\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymoped2;
    s_player_deploymoped2 = -1;
    };
    //--------------------------------------Deploy Moped-----------------------------------
    //-------------------------------------------End---------------------------------------
    
    //--------------------------------------Deploy Mozzie----------------------------------
    //------------------------------------------Start--------------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isMozzie = typeOf cursorTarget in ["CSJ_GyroC"];
    
    //MOZZIE DEPLOY
    if ("PartVRotor" in _weapons) then {
    hasMozzieItem = true;
    } else { hasMozzieItem = false;};
    if((speed player <= 1) && hasMozzieItem && _canDo) then {
    if (s_player_deploymozzie < 0) then {
    s_player_deploymozzie = player addaction[("<t color=""#4eff00"">" + ("Deploy Mozzie") +"</t>"),"deployables\mozzie\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymozzie;
    s_player_deploymozzie = -1;
    };
    
    //PACK MOZZIE
    if((_isMozzie && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploymozzie2 < 0) then {
    s_player_deploymozzie2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Mozzie") +"</t>"),"deployables\mozzie\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymozzie2;
    s_player_deploymozzie2 = -1;
    };
    //--------------------------------------Deploy Mozzie-----------------------------------
    //--------------------------------------------End---------------------------------------
    
    
    
    //Grab Flare
    if (_canPickLight && !dayz_hasLight && !_isPZombie) then {
    	if (s_player_grabflare < 0) then {
    		_text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName");
    		s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""];
    		s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""];
    	};
    } else {
    	player removeAction s_player_grabflare;
    	player removeAction s_player_removeflare;
    	s_player_grabflare = -1;
    	s_player_removeflare = -1;
    };
    
    if (DZE_HeliLift) then {
    	_hasAttached = _vehicle getVariable["hasAttached",false];
    	if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) < 30) && (speed _vehicle < 5) && (typeName _hasAttached == "OBJECT")) then {
    		if (s_player_heli_detach < 0) then {
    			dayz_myLiftVehicle = _vehicle;
    			s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""];
    		};
    	} else {
    		dayz_myLiftVehicle removeAction s_player_heli_detach;
    		s_player_heli_detach = -1;
    	};
    };
    
    if(DZE_HaloJump) then {
    	if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) > 400)) then {
    		if (s_halo_action < 0) then {
    			DZE_myHaloVehicle = _vehicle;
    			s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];
    		};
    	} else {
    		DZE_myHaloVehicle removeAction s_halo_action;
    		s_halo_action = -1;
    	};
    };
    
    if (!DZE_ForceNameTagsOff) then {
    	if (s_player_showname < 0 && !_isPZombie) then {
    		if (DZE_ForceNameTags) then {
    			s_player_showname = 1;
    			player setVariable["DZE_display_name",true,true];
    		} else {
    			s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];
    			s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];
    		};
    	};
    };
    
    if(_isPZombie) then {
    	if (s_player_callzombies < 0) then {
    		s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
    	};
    	if (DZE_PZATTACK) then {
    		call pz_attack;
    		DZE_PZATTACK = false;
    	};
    	if (s_player_pzombiesvision < 0) then {
    		s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];
    	};
    	if (!isNull cursorTarget && (player distance cursorTarget < 3)) then {	//Has some kind of target
    		_isAnimal = cursorTarget isKindOf "Animal";
    		_isZombie = cursorTarget isKindOf "zZombie_base";
    		_isHarvested = cursorTarget getVariable["meatHarvested",false];
    		_isMan = cursorTarget isKindOf "Man";
    		// Pzombie Gut human corpse || animal
    		if (!alive cursorTarget && (_isAnimal || _isMan) && !_isZombie && !_isHarvested) then {
    			if (s_player_pzombiesfeed < 0) then {
    				s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""];
    			};
    		} else {
    			player removeAction s_player_pzombiesfeed;
    			s_player_pzombiesfeed = -1;
    		};
    	} else {
    		player removeAction s_player_pzombiesfeed;
    		s_player_pzombiesfeed = -1;
    	};
    };
    
    // Increase distance only if AIR || SHIP
    _allowedDistance = 4;
    _isAir = cursorTarget isKindOf "Air";
    _isShip = cursorTarget isKindOf "Ship";
    if(_isAir || _isShip) then {
    	_allowedDistance = 8;
    };
    
    if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance cursorTarget < _allowedDistance) && _canDo) then {	//Has some kind of target
    
    	// set cursortarget to variable
    	_cursorTarget = cursorTarget;
    
    	// get typeof cursortarget once
    	_typeOfCursorTarget = typeOf _cursorTarget;
    
    	// hintsilent _typeOfCursorTarget;
    
    	_isVehicle = _cursorTarget isKindOf "AllVehicles";
    	_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];
    	_isnewstorage = _typeOfCursorTarget in DZE_isNewStorage;
    	
    	// get items && magazines only once
    	_magazinesPlayer = magazines player;
    
    	//boiled Water
    	_hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;
    	_hastinitem = false;
    	{
    		if (_x in _magazinesPlayer) then {
    			_hastinitem = true;
    		};
    	} count boil_tin_cans;
    	_hasFuelE = 	"ItemJerrycanEmpty" in _magazinesPlayer;
    	_hasFuelBarrelE = 	"ItemFuelBarrelEmpty" in _magazinesPlayer;
    	_hasHotwireKit = 	"ItemHotwireKit" in _magazinesPlayer;
    
    	_itemsPlayer = items player;
    	
    	_temp_keys = [];
    	_temp_keys_names = [];
    	// find available keys
    	_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
    	{
    		if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
    			_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
    			_ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
    			_temp_keys_names set [_ownerKeyId,_ownerKeyName];
    			_temp_keys set [count _temp_keys,str(_ownerKeyId)];
    		};
    	} count _itemsPlayer;
    
    	_hasKnife = 	"ItemKnife" in _itemsPlayer;
    	_hasToolbox = 	"ItemToolbox" in _itemsPlayer;
    	_playerUID = getPlayerUID player;
    
    	_isMan = _cursorTarget isKindOf "Man";
    	_traderType = _typeOfCursorTarget;
    	_ownerID = _cursorTarget getVariable ["CharacterID","0"];
    	_isAnimal = _cursorTarget isKindOf "Animal";
    	_isDog =  (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");
    	_isZombie = _cursorTarget isKindOf "zZombie_base";
    	_isDestructable = _cursorTarget isKindOf "BuiltItems";
    	_isWreck = _typeOfCursorTarget in DZE_isWreck;
    	_isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding;
    	_isModular = _cursorTarget isKindOf "ModularItems";
    	_isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
    
    	_isRemovable = _typeOfCursorTarget in DZE_isRemovable;
    	_isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"];
    
    	_isTent = _cursorTarget isKindOf "TentStorage";
    	
    	_isAlive = alive _cursorTarget;
    	
    	_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
    	
    	_rawmeat = meatraw;
    	_hasRawMeat = false;
    	{
    		if (_x in _magazinesPlayer) then {
    			_hasRawMeat = true;
    		};
    	} count _rawmeat; 
    	
    	_isFuel = false;
    	if (_hasFuelE || _hasFuelBarrelE) then {
    		{
    			if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
    		} count dayz_fuelsources;
    	};
    
    	// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
    	
    	// logic vars
    	_player_flipveh = false;
    	_player_deleteBuild = false;
    	_player_lockUnlock_crtl = false;
    
    	 if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then {
    	 if (s_player_plotManagement < 0) then {
        _adminList = ["0152"]; // Add admins here if you admins to able to manage all plotpoles
        _owner = _cursorTarget getVariable ["ownerPUID","0"];
        _friends = _cursorTarget getVariable ["plotfriends", []];
        _fuid = [];
        {
        _friendUID = _x select 0;
        _fuid = _fuid + [_friendUID];
        } forEach _friends;
        _allowed = [_owner];    
        _allowed = [_owner] + _adminList + _fuid;
        if((getPlayerUID player) in _allowed)then{            
        s_player_plotManagement = player addAction ["<t color='#0059FF'>Manage Plot</t>", "plotManagement\initPlotManagement.sqf", [], 5, false];
        };
    };
    //		 if (s_player_maintain_area < 0) then {
    //		  	s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "maintain", 5, false];
    //		 	s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", "preview", 5, false];
    //		 };
    	} else {
        player removeAction s_player_plotManagement;
        s_player_plotManagement = -1;
        player removeAction s_player_maintain_area;
        s_player_maintain_area = -1;
        player removeAction s_player_maintain_area_preview;
        s_player_maintain_area_preview = -1;
    };
    
    	// CURSOR TARGET ALIVE
    	if(_isAlive) then {
    		
    		//Allow player to delete objects
    		if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then {
    			if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
    				_player_deleteBuild = true;
    			};
    		};
    		
    		///Allow owners to delete modulars
    if(_isModular) then {
            if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
    
                _findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];
                _IsNearPlot = count (_findNearestPoles);
                _fuid  = [];
                _allowed = [];
                if(_IsNearPlot > 0)then{
                    _thePlot = _findNearestPoles select 0;
                    _owner =  _thePlot getVariable ["ownerPUID","010"];
                    _friends = _thePlot getVariable ["plotfriends", []];
                    {
                      _friendUID = _x select 0;
                      _fuid  =  _fuid  + [_friendUID];
                    } forEach _friends;
                    _allowed = [_owner];    
                    _allowed = [_owner] +  _fuid;   
                    if ( _playerUID in _allowed && _ownerID in _allowed ) then {  
                        _player_deleteBuild = true;
                    };                  
                }else{
                    if(_ownerID == _playerUID)then{
                        _player_deleteBuild = true;
                    };
    
                };                                        
            };
    };
    //Allow owners to delete modular doors without locks
    if(_isModularDoor) then {
            if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {         
                _findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];
                _IsNearPlot = count (_findNearestPoles);
                _fuid  = [];
                _allowed = [];
                if(_IsNearPlot > 0)then{
                    _thePlot = _findNearestPoles select 0;
                    _owner =  _thePlot getVariable ["ownerPUID","010"];
                    _friends = _thePlot getVariable ["plotfriends", []];
                    {
                      _friendUID = _x select 0;
                      _fuid  =  _fuid  + [_friendUID];
                    } forEach _friends;
                    _allowed = [_owner];    
                    _allowed = [_owner] +  _fuid;   
                    if ( _playerUID in _allowed && _ownerID in _allowed) then {
                        _player_deleteBuild = true;
                    };                  
    
    
    
                }else{
                    if(_ownerID == _playerUID)then{
                        _player_deleteBuild = true;
                    };
                };                              
            };      
    };
    		// CURSOR TARGET VEHICLE
    		if(_isVehicle) then {
    			
    			//flip vehicle small vehicles by your self && all other vehicles with help nearby
    			if (!(canmove _cursorTarget) && (player distance _cursorTarget >= 2) && (count (crew _cursorTarget))== 0 && ((vectorUp _cursorTarget) select 2) < 0.5) then {
    				_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
    				if(_isVehicletype || (_playersNear >= 2)) then {
    					_player_flipveh = true;	
    				};
    			};
    
    
    			if(!_isMan && _ownerID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
    				_player_lockUnlock_crtl = true;
    			};
    
    		};
    	
    	};
    
    	if(_player_deleteBuild) then {
    		if (s_player_deleteBuild < 0) then {
    			s_player_deleteBuild = player addAction [format[localize "str_actions_delete",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
    		};
    	} else {
    		player removeAction s_player_deleteBuild;
    		s_player_deleteBuild = -1;
    	};
    	
    	if (DZE_HeliLift) then {
    		_liftHeli = objNull;
    		_found = false;
    	
    		_allowTow = false;
    		if ((count (crew _cursorTarget)) == 0) then {
    			{
    				if(!_allowTow) then {
    					_allowTow = _cursorTarget isKindOf _x;
    				};
    			} count DZE_HeliAllowToTow;
    		};
    
    		//diag_log format["CREW: %1 ALLOW: %2",(count (crew _cursorTarget)),_allowTow];
    
    		if (_allowTow) then {
    			_liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15];
    			{
    				if(!_found) then {
    					_posL = [_x] call FNC_getPos;
    					_posC = [_cursorTarget] call FNC_getPos;
    					_height = (_posL select 2) - (_posC select 2);
    					_hasAttached = _x getVariable["hasAttached",false];
    					if(_height < 15 && _height > 5 && (typeName _hasAttached != "OBJECT")) then {
    						if(((abs((_posL select 0) - (_posC select 0))) < 10) && ((abs((_posL select 1) - (_posC select 1))) < 10)) then {
    							_liftHeli = _x;
    							_found = true;
    						};
    					};
    				};
    			} count _liftHelis;
    		};
    
    		//diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget];
    
    		_attached = _cursorTarget getVariable["attached",false];
    		if(_found && _allowTow && _canDo && !locked _cursorTarget && !_isPZombie && (typeName _attached != "OBJECT")) then {
    			if (s_player_heli_lift < 0) then {
    				s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""];
    			};
    		} else {
    			player removeAction s_player_heli_lift;
    			s_player_heli_lift = -1;
    		};
    	};
    	
    	// Allow Owner to lock && unlock vehicle  
    	if(_player_lockUnlock_crtl) then {
    		if (s_player_lockUnlock_crtl < 0) then {
    			_hasKey = _ownerID in _temp_keys;
    			_oldOwner = (_ownerID == dayz_playerUID);
    			if(locked _cursorTarget) then {
    				if(_hasKey || _oldOwner) then {
    					_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""];
    					s_player_lockunlock set [count s_player_lockunlock,_Unlock];
    					s_player_lockUnlock_crtl = 1;
    				} else {
    					if(_hasHotwireKit) then {
    						_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""];
    					} else {
    						_Unlock = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",_cursorTarget, 2, true, true, "", ""];
    					};
    					s_player_lockunlock set [count s_player_lockunlock,_Unlock];
    					s_player_lockUnlock_crtl = 1;
    				};
    			} else {
    				if(_hasKey || _oldOwner) then {
    					_lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""];
    					s_player_lockunlock set [count s_player_lockunlock,_lock];
    					s_player_lockUnlock_crtl = 1;
    				};
    			};
    		};
    		 
    	} else {
    		{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
    		s_player_lockUnlock_crtl = -1;
    	};
    
    	if(DZE_AllowForceSave) then {
    		//Allow player to force save
    		if((_isVehicle || _isTent) && !_isMan) then {
    			if (s_player_forceSave < 0) then {
    				s_player_forceSave = player addAction [format[localize "str_actions_save",_text], "\z\addons\dayz_code\actions\forcesave.sqf",_cursorTarget, 1, true, true, "", ""];
    			};
    		} else {
    			player removeAction s_player_forceSave;
    			s_player_forceSave = -1;
    		};
    	};
    
    	
    	
    	If(DZE_AllowCargoCheck) then {
    		if((_isVehicle || _isTent || _isnewstorage) && _isAlive && !_isMan && !locked _cursorTarget) then {
    			if (s_player_checkGear < 0) then {
    				s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""];
    			};
    		} else {
    			player removeAction s_player_checkGear;
    			s_player_checkGear = -1;
    		};
    	};
    	
    	
    	//flip vehicle small vehicles by your self && all other vehicles with help nearby
    	if(_player_flipveh) then {
    		if (s_player_flipveh  < 0) then {
    			s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""];		
    		};
    	} else {
    		player removeAction s_player_flipveh;
    		s_player_flipveh = -1;
    	}; 
    	
    	//Allow player to fill jerrycan
    	if((_hasFuelE || _hasFuelBarrelE) && _isFuel) then {
    		if (s_player_fillfuel < 0) then {
    			s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];
    		};
    	} else {
    		player removeAction s_player_fillfuel;
    		s_player_fillfuel = -1;
    	};
    	
    	// logic vars for addactions
    	_player_butcher = false;
    	_player_studybody = false;
    	_player_SurrenderedGear = false;
    
    	// CURSOR TARGET NOT ALIVE
    	if (!_isAlive) then {
    
    		// Gut animal/zed
    		if((_isAnimal || _isZombie) && _hasKnife) then {
    			_isHarvested = _cursorTarget getVariable["meatHarvested",false];
    			if (!_isHarvested) then {
    				_player_butcher = true;
    			};
    		};
    
    		// Study body
    		if (_isMan && !_isZombie && !_isAnimal) then {
    			_player_studybody = true;
    		}
    	} else {
    		// unit alive
    
    		// gear access on surrendered player
    		if(_isMan && !_isZombie && !_isAnimal) then {
    			_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];
    			if (_isSurrendered) then {
    				_player_SurrenderedGear = true;
    			};
    		};
    	};
    
    
    	// Human Gut animal || zombie
    	if (_player_butcher) then {
    		if (s_player_butcher < 0) then {
    			if(_isZombie) then {
    				s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
    			} else {
    				s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];
    			};
    		};
    	} else {
    		player removeAction s_player_butcher;
    		s_player_butcher = -1;
    	};
    
    	// Study Body
    	if (_player_studybody) then {
    		if (s_player_studybody < 0) then {
    			s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_studybody;
    		s_player_studybody = -1;
    	};
    
    	// logic vars
    	_player_cook = false;
    	_player_boil = false;
    
    	// CURSOR TARGET IS FIRE
    	if (inflamed _cursorTarget) then {
    		
    		//Fireplace Actions check
    		if (_hasRawMeat) then {
    			_player_cook = true;	
    		};
    		
    		// Boil water
    		if (_hasbottleitem && _hastinitem) then {
    			_player_boil = true;
    		};
    	};
    
    	if (_player_SurrenderedGear) then {
    		if (s_player_SurrenderedGear < 0) then {
    			s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
    		};
    	} else {
    		player removeAction s_player_SurrenderedGear;
    		s_player_SurrenderedGear = -1;
    	};
    
    	//Fireplace Actions check
    	if (_player_cook) then {
    		if (s_player_cook < 0) then {
    			s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true, "", ""];
    		};
    	} else {
    		player removeAction s_player_cook;
    		s_player_cook = -1;
    	};
    	
    	// Boil water
    	if (_player_boil) then {
    		if (s_player_boil < 0) then {
    			s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""];
    		};
    	} else {
    		player removeAction s_player_boil;
    		s_player_boil = -1;
    	};
    	
    	if(_cursorTarget == dayz_hasFire) then {
    		if ((s_player_fireout < 0) && !(inflamed _cursorTarget) && (player distance _cursorTarget < 3)) then {
    			s_player_fireout = player addAction [localize "str_actions_self_06", "\z\addons\dayz_code\actions\fire_pack.sqf",_cursorTarget, 0, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_fireout;
    		s_player_fireout = -1;
    	};
    	
    	//Packing my tent
    	if(_isTent && (player distance _cursorTarget < 3)) then {
    		if (_ownerID == dayz_characterID) then {
    			if (s_player_packtent < 0) then {
    				s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
    			};
    		} else {
    			if(("ItemJerrycan" in _magazinesPlayer) && ("ItemMatchbox_DZE" in weapons player)) then {
    				if (s_player_packtent < 0) then {
    					s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
    				};
    			};
    		};
    	} else {
    		player removeAction s_player_packtent;
    		s_player_packtent = -1;
    	};
    	//Allow manage door
    	if((_typeOfCursorTarget in DZE_DoorsLocked)) then {
    	if (s_player_manageDoor < 0) then {		 
         s_player_manageDoor = player addAction ["<t color='#0059FF'>Manage Door</t>", "doorManagement\initDoorManagement.sqf", _cursorTarget, 5, false];
    	};
    	} else {
    		player removeAction s_player_manageDoor;
    		s_player_manageDoor = -1;
    	};
    	//Allow owner to unlock vault
    	if((_typeOfCursorTarget in DZE_LockableStorage) && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
    		if (s_player_unlockvault < 0) then {
    			if(_typeOfCursorTarget in DZE_LockedStorage) then {
    				if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
    					_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""];
    					s_player_combi set [count s_player_combi,_combi];
    				} else {
    					_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
    					s_player_combi set [count s_player_combi,_combi];
    				};
    				s_player_unlockvault = 1;
    			} else {
    				if(_ownerID != dayz_combination && _ownerID != dayz_playerUID) then {
    					_combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
    					s_player_combi set [count s_player_combi,_combi];
    					s_player_unlockvault = 1;
    				};
    			};
    		};
    	} else {
    		{player removeAction _x} count s_player_combi;s_player_combi = [];
    		s_player_unlockvault = -1;
    	};
    
    	//Allow owner to pack vault
    	if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
    
    		if (s_player_lockvault < 0) then {
    			if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
    				s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""];
    			};
    		};
    		if (s_player_packvault < 0 && (_ownerID == dayz_combination || _ownerID == dayz_playerUID)) then {
    			s_player_packvault = player addAction [format["<t color='#ff0000'>%1</t>",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_packvault;
    		s_player_packvault = -1;
    		player removeAction s_player_lockvault;
    		s_player_lockvault = -1;
    	};
    
    	
    
        //Player Deaths
    	if(_typeOfCursorTarget == "Info_Board_EP1") then {
    		if (s_player_information < 0) then {
    			s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_information;
    		s_player_information = -1;
    	};
    	
    	//Fuel Pump
    	if(_typeOfCursorTarget in dayz_fuelpumparray) then {	
    		if (s_player_fuelauto < 0) then {
    			
    			// check if Generator_DZ is running within 30 meters
    			_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
    			_findNearestGen = [];
    			{
    				if (alive _x && (_x getVariable ["GeneratorRunning", false])) then {
    					_findNearestGen set [(count _findNearestGen),_x];
    				};
    			} count _findNearestGens;
    			_IsNearRunningGen = count (_findNearestGen);
    			
    			// show that pump needs power if no generator nearby.
    			if(_IsNearRunningGen > 0) then {
    				s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];
    			} else {
    				s_player_fuelauto = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""];
    			};
    		};
    	} else {
    		player removeAction s_player_fuelauto;
    		s_player_fuelauto = -1;
    	};
    
    	//Fuel Pump on truck
    	if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then {	
    		if (s_player_fuelauto2 < 0) then {
    			// show that fuel truck pump needs power.
    			if(isEngineOn _cursorTarget) then {
    				s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];
    			} else {
    				s_player_fuelauto2 = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""];
    			};
    		};
    	} else {
    		player removeAction s_player_fuelauto2;
    		s_player_fuelauto2 = -1;
    	};
    
    	// inplace upgrade tool
    	if ((_cursorTarget isKindOf "ModularItems") || (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") || (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {
    		if ((s_player_lastTarget select 0) != _cursorTarget) then {
    			if (s_player_upgrade_build > 0) then {
    				player removeAction s_player_upgrade_build;
    				s_player_upgrade_build = -1;
    			};
    		};
    		if (s_player_upgrade_build < 0) then {
    			// s_player_lastTarget = _cursorTarget;
    			s_player_lastTarget set [0,_cursorTarget];
    			s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "custom\A_Plot_for_Life\action\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_upgrade_build;
    		s_player_upgrade_build = -1;
    	};
    	
    	// downgrade system
    	if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
    		if ((s_player_lastTarget select 1) != _cursorTarget) then {
    			if (s_player_downgrade_build > 0) then {	
    				player removeAction s_player_downgrade_build;
    				s_player_downgrade_build = -1;
    			};
    		};
    
    		if (s_player_downgrade_build < 0) then {
    			s_player_lastTarget set [1,_cursorTarget];
    			s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "custom\A_Plot_for_Life\action\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_downgrade_build;
    		s_player_downgrade_build = -1;
    	};
    
    	// inplace maintenance tool
    	if((_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ") && (damage _cursorTarget >= DZE_DamageBeforeMaint)) then {
    		if ((s_player_lastTarget select 2) != _cursorTarget) then {
    			if (s_player_maint_build > 0) then {	
    				player removeAction s_player_maint_build;
    				s_player_maint_build = -1;
    			};
    		};
    
    		if (s_player_maint_build < 0) then {
    			s_player_lastTarget set [2,_cursorTarget];
    			s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_maint_build;
    		s_player_maint_build = -1;
    	};
    
    
    	//Start Generator
    	if(_cursorTarget isKindOf "Generator_DZ") then {
    		if (s_player_fillgen < 0) then {
    			
    			// check if not running 
    			if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
    				s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""];				
    			} else {
    			// check if not filled && player has jerry.
    				if((_cursorTarget getVariable ["GeneratorFilled", false])) then {
    					s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
    				} else {
    					if("ItemJerrycan" in _magazinesPlayer) then {
    						s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
    					};
    				};
    			};
    		};
    	} else {
    		player removeAction s_player_fillgen;
    		s_player_fillgen = -1;
    	};
    
    	//Towing with tow truck
    	/*
    	if(_typeOfCursorTarget == "TOW_DZE") then {
    		if (s_player_towing < 0) then {
    			if(!(_cursorTarget getVariable ["DZEinTow", false])) then {
    				s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""];				
    			} else {
    				s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""];				
    			};
    		};
    	} else {
    		player removeAction s_player_towing;
    		s_player_towing = -1;
    	};
    	*/
    
    
        //Sleep
    	if(_isTent && _ownerID == dayz_characterID) then {
    		if ((s_player_sleep < 0) && (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;
    	};
    	
    	//Repairing Vehicles
    	if ((dayz_myCursorTarget != _cursorTarget) && _isVehicle && !_isMan && _hasToolbox && (damage _cursorTarget < 1) && !_isDisallowRepair) then {
    		if (s_player_repair_crtl < 0) then {
    			dayz_myCursorTarget = _cursorTarget;
    			_menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
    			_menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
    			s_player_repairActions set [count s_player_repairActions,_menu];
    			s_player_repairActions set [count s_player_repairActions,_menu1];
    			s_player_repair_crtl = 1;
    		} else {
    			{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
    			s_player_repair_crtl = -1;
    		};
    	};
    
    	// All Traders
    	if (_isMan && !_isPZombie && _traderType in serverTraders) then {
    		
    		if (s_player_parts_crtl < 0) then {
    
    			// get humanity
    			_humanity = player getVariable ["humanity",0];
    			_traderMenu = call compile format["menu_%1;",_traderType];
    
    			// diag_log ("TRADER = " + str(_traderMenu));
    			
    			_low_high = "low";
    			_humanity_logic = false;
    			if((_traderMenu select 2) == "friendly") then {
    				_humanity_logic = (_humanity < -5000);
    			};
    			if((_traderMenu select 2) == "hostile") then {
    				_low_high = "high";
    				_humanity_logic = (_humanity > -5000);
    			};
    			if((_traderMenu select 2) == "hero") then {
    				_humanity_logic = (_humanity < 5000);
    			};
    			if(_humanity_logic) then {
    				_cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""];
    				s_player_parts set [count s_player_parts,_cancel];
    			} else {
    				
    				// Static Menu
    				{
    					//diag_log format["DEBUG TRADER: %1", _x];
    					_buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""];
    					s_player_parts set [count s_player_parts,_buy];
    				
    				} count (_traderMenu select 1);
    				// Database menu
    				_buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""];
    				s_player_parts set [count s_player_parts,_buy];
    
    			};
    			s_player_parts_crtl = 1;
    			
    		};
    	} else {
    		{player removeAction _x} count s_player_parts;s_player_parts = [];
    		s_player_parts_crtl = -1;
    	};
    
    	
    	if(dayz_tameDogs) then {
    		
    		//Dog
    		if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {
    			if (s_player_tamedog < 0) then {
    				s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];
    			};
    		} else {
    			player removeAction s_player_tamedog;
    			s_player_tamedog = -1;
    		};
    		if (_isDog && _ownerID == dayz_characterID && _isAlive) then {
    			_dogHandle = player getVariable ["dogID", 0];
    			if (s_player_feeddog < 0 && _hasRawMeat) then {
    				s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""];
    			};
    			if (s_player_waterdog < 0 && "ItemWaterbottle" in _magazinesPlayer) then {
    				s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""];
    			};
    			if (s_player_staydog < 0) then {
    				_lieDown = _dogHandle getFSMVariable "_actionLieDown";
    				if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; };
    				s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""];
    			};
    			if (s_player_trackdog < 0) then {
    				s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""];
    			};
    			if (s_player_barkdog < 0) then {
    				s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""];
    			};
    			if (s_player_warndog < 0) then {
    				_warn = _dogHandle getFSMVariable "_watchDog";
    				if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; };
    				s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""];		
    			};
    			if (s_player_followdog < 0) then {
    				s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""];
    			};
    		} else {
    			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;
    			};
    	};
    
    } else {
    	//Engineering
    	player removeAction s_player_plotManagement;
    	s_player_plotManagement = -1;
    	{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
    	s_player_repair_crtl = -1;
    
    	{player removeAction _x} count s_player_combi;s_player_combi = [];
    		
    	dayz_myCursorTarget = objNull;
    	s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
    
    	{player removeAction _x} count s_player_parts;s_player_parts = [];
    	s_player_parts_crtl = -1;
    
    	{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
    	s_player_lockUnlock_crtl = -1;
    
    	player removeAction s_player_checkGear;
    	s_player_checkGear = -1;
    
    	player removeAction s_player_SurrenderedGear;
    	s_player_SurrenderedGear = -1;
    
    	//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;
        player removeAction s_player_manageDoor;
    	s_player_manageDoor = -1; // u might also want to add this to variables reset in your variables.sqf
        // vault
    	player removeAction s_player_unlockvault;
    	s_player_unlockvault = -1;
    	player removeAction s_player_packvault;
    	s_player_packvault = -1;
    	player removeAction s_player_lockvault;
    	s_player_lockvault = -1;
    
    	player removeAction s_player_information;
    	s_player_information = -1;
    	player removeAction s_player_fillgen;
    	s_player_fillgen = -1;
    	player removeAction s_player_upgrade_build;
    	s_player_upgrade_build = -1;
    	player removeAction s_player_maint_build;
    	s_player_maint_build = -1;
    	player removeAction s_player_downgrade_build;
    	s_player_downgrade_build = -1;
    	player removeAction s_player_towing;
    	s_player_towing = -1;
    	player removeAction s_player_fuelauto;
    	s_player_fuelauto = -1;
    	player removeAction s_player_fuelauto2;
    	s_player_fuelauto2 = -1;
    };
    
    
    
    //Dog actions on player self
    _dogHandle = player getVariable ["dogID", 0];
    if (_dogHandle > 0) then {
    	_dog = _dogHandle getFSMVariable "_dog";
    	_ownerID = "0";
    	if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; };
    	if (_canDo && !_inVehicle && alive _dog && _ownerID != dayz_characterID) then {
    		if (s_player_movedog < 0) then {
    			s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""];
    		};
    		if (s_player_speeddog < 0) then {
    			_text = (localize "str_epoch_player_249");
    			_speed = 0;
    			if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); };
    			s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""];
    		};
    		if (s_player_calldog < 0) then {
    			s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""];
    		};
    	};
    } else {
    	player removeAction s_player_movedog;		
    	s_player_movedog =		-1;
    	player removeAction s_player_speeddog;
    	s_player_speeddog =		-1;
    	player removeAction s_player_calldog;
    	s_player_calldog = 		-1;
    };
     

     

     

     

    No idea why it won't work.

  2. Hey Zupa, when you install P4L the player_build is taken by modular_build.sqf. I changed it to player_build.sqf and friendly's building on my plot worked. However without the edit's to player_build friendly building will not work. How would you go about making modular_build.sqf work alongside player_build? You can only have one unless there's another way? Can I just copy what's supposed to go into "player_build.sqf" into modular_build?

     

    Still need help with this part

  3.  

    TO help u understand why this happends

     

    This is in your compiles. ( Im gonna let u think abit on it ^^).

    // trader menu code
    if (DZE_ConfigTrader) then {
    	call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderMenuConfig.sqf";
    }else{
    	call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderMenuHive.sqf";
    };
    

     

    Wow derped on that one, thanks :D

  4. Hi all, I had scripted my server to use faster trading animations however after moving to dze_configtrade=true I can't seem to use it. It appears it no longer reads from player_tradermenuhive.sqf so it doesn't get pointed to the custom trade animations. I'm curious what file does it read from when handling all config based trades? Has anyone gotten faster trade animations scripts to work with dze_configtrade=true? Any help is appreciated!

  5. s_player_claimkey value and basically any addaction value like this have to be initialized in variables.sqf

    In that file search for any -1;  and you'll find the location at no time...its a whole bunch of them

     

    For vkc_ownerID, i am guessing you are not assigning a value to it before using it.

    There should be something like

     

    vkc_ownerID = _vehicle getplayerUID or something similar above ?!?

     

    The best tool that can errors in a script is : http://www.armaholic.com/page.php?id=11817   this.

    Especially for assigning the private [""]; declaration at the top of every file.

    Copy past your script in there..it usually produces a 99% accurate private (fix) declaration

     

     

    Okay thanks! I was just so confused as to why this wouldn't work for me but it works for everyone else?! like I'm literally using the same files as everyone else but it just won't work for me for some reason. I'd assume vkc_ownerID is being defined in the files provided since no one else was having this problem except a few people.

  6. Hello all, I'm trying to install  I am running into issues with undefined variables everywhere.  I have followed the instructions to a T but still. Now I did ask for help in the topic but I would also like to learn so I figured I'd ask here. Anyways here is the full sqf that I am using.

     

    VehicleKeyChanger.sqf

    /***********************************/ 	
    /* Vehicle Key Changer v1.4        */
    /* Written by OtterNas3            */
    /* January, 11, 2014               */
    /* Last update: 06/15/2014         */
    /***********************************/
    
    
    /* Setup the private variables */
    private ["_magazinesPlayer","_max","_j","_actionArray","_targetVehicle","_targetVehicleID","_targetVehicleUID","_playerKeys","_playerKeysDisplayName","_targetVehicleKeyName","_itemKeyName","_targetVehicleClassname","_targetVehiclePos","_targetVehicleDir","_Price","_claimingPrice","_timeout"];
    
    /* Remove the Action Menu entry */
    player removeAction s_player_copyToKey;
    s_player_copyToKey = 0;
    player removeAction s_player_claimVehicle;
    s_player_claimVehicle = 0;
    
    /* Get the array and setup the variables */
    _actionArray = _this select 3;
    _targetVehicle = _actionArray select 0;
    _targetVehicleID = _targetVehicle getVariable ["ObjectID","0"];
    _targetVehicleUID = _targetVehicle getVariable ["ObjectUID","0"];
    	
    
    /* Check if the Vehicle is in the Database, if false exit */
    if (_targetVehicleID == "0" && _targetVehicleUID == "0") exitWith {cutText ["Sorry but\nthis Vehicle does not support\nKeychange/Claiming!","PLAIN",0];s_player_copyToKey = -1;s_player_claimVehicle = -1;};
    
    /* Setup more variables */
    _playerKeys = _actionArray select 1;
    _playerKeysDisplayName = _actionArray select 3;
    _targetVehicleKeyName = _actionArray select 4;
    _itemKeyName = _actionArray select 5;
    _Price = _actionArray select 6;
    _claimingPrice = _actionArray select 7;
    _targetVehicleClassname = typeOf _targetVehicle;
    
    _targetVehiclePos = getPosATL _targetVehicle;
    _targetVehicleDir = getDir _targetVehicle;
    
    /* Just in case it is a just bought vehicle and does not yet have a ObjectUID variable set */
    if (_targetVehicleUID == "0") then {
    	_targetVehicleUID = "";
    	{
    		_x = _x * 10;
    		if ( _x < 0 ) then { _x = _x * -10 };
    		_targetVehicleUID = _targetVehicleUID + str(round(_x));
    	} forEach _targetVehiclePos;
    	_targetVehicleUID = _targetVehicleUID + str(round(_targetVehicleDir + time));
    	_targetVehicle setVariable["ObjectUID",_targetVehicleUID,true];
    };
    	
    /* Setup the Key Names list to select from */
    keyNameList = [];
    for "_i" from 0 to (count _playerKeysDisplayName) -1 do {
    	keyNameList set [(count keyNameList), _playerKeysDisplayName select _i];
    };
    
    /* Setup the Key Numbers list to select from */
    keyNumberList = [];
    for "_i" from 0 to (count _playerKeys) -1 do {
    	keyNumberList set [(count keyNumberList), _playerKeys select _i];
    };
    
    /* Resetting menu variables*/
    keyNameSelect = "";
    exitscript = true;
    snext = false;
    
    /* Creating the menu */
    copyMenu =
    {
    	private ["_keyMenu","_keyArray"];
    	_keyMenu = [["",true], ["Select the new Key:", [-1], "", -5, [["expression", ""]], "1", "0"]];
    	for "_i" from (_this select 0) to (_this select 1) do
    	{
    		_keyArray = [format['%1', keyNameList select (_i)], [_i - (_this select 0) + 2], "", -5, [["expression", format ["keyNameSelect = keyNameList select %1; keyNumberSelect = keyNumberList select %1", _i]]], "1", "1"];
    		_keyMenu set [_i + 2, _keyArray];
    	};
    	_keyMenu set [(_this select 1) + 2, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
    	if (count keyNameList > (_this select 1)) then
    	{
    		_keyMenu set [(_this select 1) + 3, ["Next", [12], "", -5, [["expression", "snext = true;"]], "1", "1"]];
    	} else {
    		_keyMenu set [(_this select 1) + 3, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];
    	};
    	_keyMenu set [(_this select 1) + 4, ["Exit", [13], "", -5, [["expression", "keyNameSelect = 'exitscript';"]], "1", "1"]];
    	showCommandingMenu "#USER:_keyMenu";
    };
    
    /* Wait for the player to select a Key from the list */
    _j = 0;
    _max = 10;
    if (_max > 9) then {_max = 10;};
    while {keyNameSelect == ""} do {
    	[_j, (_j + _max) min (count keyNameList)] call copyMenu;
    	_j = _j + _max;
    	waitUntil {keyNameSelect != "" || snext};
    	snext = false;
    };
    
    /* Player selected a Key, lets make the Vehicle update call */
    if (keyNameSelect != "exitscript") then {
    	
    	/* Check again for the needed price or claiming price and remove em from the players inventory */
    	_magazinesPlayer = magazines player;
    	if (_Price != "0") then {
    		/* Player still has the costs in hi inventory */
    		if (_Price in _magazinesPlayer) then {
    			[player, _Price, 1] call BIS_fnc_invRemove;
    			systemChat (format["Keychange costs a %1, thanks for your Payment!", _Price]);
    		
    		/* Player doesn't have the costs anymore, tried to trick the system? */
    		} else {
    			systemChat (format["Keychange costs a %1, you had it and tried to trick the system - Keychange for this Vehicle disabled!", _Price]);
    			
    			/* This disables the Keychange ability for this vehicle JUST for this Player */
    			/* However he can relog and try again but it is a little punishment for trying to trick it */
    			_targetVehicle setVariable ["VKC_disabled", 1];
    			s_player_copyToKey = -1;
    			s_player_claimVehicle = -1;
    			breakOut "exit";
    		};
    	};
    	
    	if (_claimingPrice != "0") then {
    		/* Player still has the costs in hi inventory */
    		if (_claimingPrice in _magazinesPlayer) then {
    			[player, _claimingPrice, 1] call BIS_fnc_invRemove;
    			systemChat (format["Claiming Vehicle costs a %1, thanks for your Payment!", _claimingPrice]);
    
    		/* Player doesn't have the costs anymore, tried to trick the system? */
    		} else {
    			systemChat (format["Claiming Vehicle costs a %1, you had it and tried to trick the system - Claiming for this Vehicle disabled!", Price]);
    
    			/* This disables the Claiming ability for this vehicle JUST for this Player */
    			/* However he can relog and try again but it is a little punishment for trying to trick it */
    			_targetVehicle setVariable ["VKC_claiming_disabled", 1];
    			s_player_copyToKey = -1;
    			s_player_claimVehicle = -1;
    			breakOut "exit";
    		};
    	};
    	
    	/* We got the Money lets do our Job */
    	/* Lock the vehicle */
    	_targetVehicle setVehicleLock "LOCKED";
    	
    	/* The super duper OneForAllAnimation... */
    	player playActionNow "Medic";
    	
    	/* Remove the Key from the Toolbelt of the player and put it in the Backpack - No Backpack and the Key gets lost */
    	if (_itemKeyName != "0") then {
    		if (!isNull (unitBackpack player)) then {
    			[player, _itemKeyName, 1] call BIS_fnc_invRemove;
    			(unitBackpack (vehicle player)) addWeaponCargoGlobal [_itemKeyName, 1];
    			systemChat (format["%1 has been moved to your Backpack", _targetVehicleKeyName]);
    		};
    	};
    	
    	/* This calls the custom update function which we put it in server_updateObject.sqf */
    	PVDZE_veh_Update = [_targetVehicle, "vehiclekey", player, _targetVehicleClassname, keyNumberSelect, keyNameSelect, _targetVehicleID, _targetVehicleUID]; 
    	publicVariableServer "PVDZE_veh_Update"; 
    
    	/* Wait for success or timeout */
    	_timeout = 20;
    	while {_timeout > 0 && isNil "PVDZE_vkc_Success"} do {
    		if (_Price != "0") then {
    			cutText["~~ Performing Keychange ~~\n~~ Please wait ~~","PLAIN",0.5];
    		};
    		if (_claimingPrice != "0") then {
    			cutText["~~ Performing Claim ~~\n~~ Please wait ~~","PLAIN",0.5];
    		};
    		sleep 1;
    		_timeout = _timeout - 1;
    	};
    
    	/* Inform the player about the success and tell him to check the Key */
    	if (!isNil "PVDZE_vkc_Success") then {
    		if (_Price != "0") then {
    			cutText["~~ Vehicle Keychange - SUCCESS ~~","PLAIN",1];
    			systemChat (format["Changed Vehicle Key to %1", keyNameSelect]);
    			systemChat (format["Please check Vehicle function with %1 before you throw away %2!", keyNameSelect, _targetVehicleKeyName]);
    		};
    		if (_claimingPrice != "0") then {
    			cutText["~~ Vehicle Claiming - SUCCESS ~~","PLAIN",1];
    			systemChat (format["You claimed this Vehicle with: %1", keyNameSelect]);
    		};
    		PVDZE_vkc_Success = nil;
    		
    		/* This updates the Vehicle as it is now, position, gear, damage, fuel */
    		/* Should prevent the "backporting" some dudes reported. */
    		/* Just fyi i never had that but just in case... */
    		[nil,nil,nil,_targetVehicle] execVM "\z\addons\dayz_code\actions\forcesave.sqf";
    	
    	/* Something went wrong, inform the player and refund the costs */
    	} else {
    		if (_Price != "0") then {
    			cutText["~~ Vehicle Keychange - FAIL ~~","PLAIN",1];
    			systemChat (format["Sorry something went wrong", keyNameSelect]);
    			systemChat (format["Please try again. If it keeps failing, please contact a Admin!", keyNameSelect, _targetVehicleKeyName]);
    			[player,_Price] call BIS_fnc_invAdd;
    			systemChat (format["Refunded %1",_Price]);
    		};
    		if (_claimingPrice != "0") then {
    			cutText["~~ Vehicle Claiming - FAIL ~~","PLAIN",1];
    			systemChat ("Sorry something went wrong");
    			systemChat ("Please try again. If it keeps failing, please contact a Admin!");
    			[player,_claimingPrice] call BIS_fnc_invAdd;
    			systemChat (format["Refunded %1",_claimingPrice]);
    		};
    	};
    };
    
    /* Reset the action menu variables for a new run */
    s_player_copyToKey = -1;
    s_player_claimVehicle = -1;
    
    /**************************************/
    /* That's it, hope you enjoy this Mod */
    /*                                    */
    /* Yours sincerly,                    */
    /* Otter                              */
    /**************************************/ 

     

    And VehicleKeyChanger_init.sqf

    /***********************************/ 	
    /* Vehicle Key Changer v1.4        */
    /* Written by OtterNas3            */
    /* January, 11, 2014               */
    /* Last update: 06/15/2014         */
    /***********************************/
    
    
    /////////////////////////////////////////////////
    /////////////////////////////////////////////////
    // Edit these settings to fit your needs/likes //
    /////////////////////////////////////////////////
    /////////////////////////////////////////////////
    /// Claim Vehicles that does not yet need Key ///
    ///////// 0 = Not allowed | 1 = Allowed /////////
    vkc_claiming = 1;
    /////////////////////////////////////////////////
    //////// Claim Vehicles costs this Item /////////
    /// Any Item can be used here, some examples: ///
    //// ItemTinBar, ItemSilverBar, ItemGoldBar, ////
    ////// ItemSilverBar10oz, ItemGoldBar10oz, //////
    ///// ItemBriefcase20oz, ItemBriefcase100oz /////
    //////// set to "0" to disable the costs ////////
    vkc_claimingPrice = "ItemGoldBar10oz";
    /////////////////////////////////////////////////
    ////////// Change Key costs this Item// /////////
    ////////////// see above examples ///////////////
    //////// set to "0" to disable the costs ////////
    vkc_Price = "ItemSilverBar";
    /////////////////////////////////////////////////
    /////// Need KeyKit to use this function ////////
    ////////// 0 = Not needed | 1 = Needed //////////
    vkc_needKeykit = 1;
    /////////////////////////////////////////////////
    /////////////////////////////////////////////////
    /////////////// DONT EDIT BELOW ! ///////////////
    /////////////////////////////////////////////////
    
    ON_fnc_vkcReset = {
    	player removeAction s_player_claimVehicle;
    	s_player_claimVehicle = -1;
    	player removeAction s_player_copyToKey;
    	s_player_copyToKey = -1;
    	lastKeyChangeCursorTarget = [objNull,objNull];
    	vkc_cTarget = objNull;
    };
    
    /* Wait for player full ingame so we can access the action-menu */
    waitUntil {!isNil "dayz_animalCheck"};
    
    /* Initial Reset */
    [] call ON_fnc_vkcReset;
    
    /* Start the loop check */
    while{true} do {
    	sleep 3;
    
    	if ((vehicle player) == player) then {
    	
    		if (speed player <= 1) then {
    
    			if (!isNull cursorTarget) then {
    				_cursorTarget = cursorTarget;
    				
    				if ((_cursorTarget isKindOf "Motorcycle" || _cursorTarget isKindOf "Car" || _cursorTarget isKindOf "Air" || _cursorTarget isKindOf "Ship")) then {
    
    					if ((_cursorTarget distance player) <= 10) then {
    
    						if (!isEngineOn _cursorTarget) then {
    
    							vkc_carKey = _cursorTarget getVariable ["CharacterID","0"];
    
    							if (vkc_claiming == 1) then {
    							
    								if (vkc_carKey == "0") then {
    
    									if ((lastKeyChangeCursorTarget select 0) != _cursorTarget) then {
    										player removeAction s_player_claimVehicle;
    										s_player_claimVehicle = -1;
    								
    										lastKeyChangeCursorTarget set [0,_cursorTarget];
    										vkc_cTarget = lastKeyChangeCursorTarget select 0;
    									};
    
    									if (vkc_cTarget getVariable ["VKC_claming_disabled", 0] == 0) then {
    										vkc_magazinesPlayer = magazines player;
    										vkc_itemsPlayer = items player;
    									
    										if (("ItemKeyKit" in vkc_itemsPlayer || vkc_needKeykit == 0) && ((vkc_claimingPrice == "0" || vkc_claimingPrice in vkc_magazinesPlayer))) then {
    											vkc_objectID = vkc_cTarget getVariable ["ObjectID","0"];
    											vkc_objectUID = vkc_cTarget getVariable ["ObjectUID","0"];
    
    											if (!(vkc_objectID == "0" && vkc_objectUID == "0")) then {
    												vkc_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
    												vkc_temp_keys = [];
    												vkc_temp_keysDisplayName = [];
    												vkc_temp_keysDisplayNameParse = [];
    											
    												{
    	
    													if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in vkc_key_colors) then {
    														vkc_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
    														vkc_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
    														vkc_temp_keysDisplayName set [count vkc_temp_keysDisplayName,vkc_keyName];
    														vkc_temp_keys set [count vkc_temp_keys,str(vkc_ownerKeyId)];
    													};
    												} forEach vkc_itemsPlayer;
    
    												if ((count vkc_temp_keys) > 0) then {
    	
    													if (s_player_claimVehicle < 0) then {
    														s_player_claimVehicle = player addAction [("<t color='#00FFFF'>" + ("Claim Vehicle") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[vkc_cTarget,vkc_temp_keys,"0",vkc_temp_keysDisplayName,"0","0","0", vkc_claimingPrice],-1002,false,false,"",""];
    													};
    	
    												} else {
    
    													player removeAction s_player_claimVehicle;
    													s_player_claimVehicle = -1;
    												};
    
    											} else {
    
    												player removeAction s_player_claimVehicle;
    												s_player_claimVehicle = -1;
    											};
    
    										} else {
    
    											player removeAction s_player_claimVehicle;
    											s_player_claimVehicle = -1;
    										};
    
    									} else {
    
    										player removeAction s_player_claimVehicle;
    										s_player_claimVehicle = -1;
    									};
    
    								} else {
    
    									player removeAction s_player_claimVehicle;
    									s_player_claimVehicle = -1;
    								};
    
    							} else {
    
    								player removeAction s_player_claimVehicle;
    								s_player_claimVehicle = -1;
    							};
    
    							if (vkc_carKey != "0") then {
    
    								if ((lastKeyChangeCursorTarget select 1) != _cursorTarget) then {
    									player removeAction s_player_copyToKey;
    									s_player_copyToKey = -1;
    
    									lastKeyChangeCursorTarget set [1,_cursorTarget];
    									vkc_cTarget = lastKeyChangeCursorTarget select 1;
    								};
    
    								if (vkc_cTarget getVariable ["VKC_disabled",0] == 0) then {
    
    									vkc_magazinesPlayer = magazines player;
    									vkc_itemsPlayer = items player;
    
    									if (("ItemKeyKit" in vkc_itemsPlayer || vkc_needKeykit == 0) && (vkc_Price == "0" || vkc_Price in vkc_magazinesPlayer)) then {
    
    										vkc_objectID = vkc_cTarget getVariable ["ObjectID","0"];
    										vkc_objectUID = vkc_cTarget getVariable ["ObjectUID","0"];
    
    										if (!(vkc_objectID == "0" && vkc_objectUID == "0")) then {
    								
    											vkc_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
    											vkc_temp_keys = [];
    											vkc_temp_keysDisplayName = [];
    											vkc_temp_keysDisplayNameParse = [];
    											vkc_temp_keysParse = [];
    
    											{
    
    												if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in vkc_key_colors) then {
    													vkc_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
    													vkc_keyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
    													vkc_temp_keysDisplayName set [count vkc_temp_keysDisplayName,vkc_keyName];
    													vkc_temp_keysDisplayNameParse set [vkc_ownerKeyId,vkc_keyName];
    													vkc_temp_keys set [count vkc_temp_keys,str(vkc_ownerKeyId)];
    													vkc_temp_keysParse set [vkc_ownerKeyId, _x];
    												};
    											} forEach vkc_itemsPlayer;
    
    											vkc_hasKey = vkc_carKey in vkc_temp_keys;
    
    											if (vkc_hasKey && (count vkc_temp_keys) > 1) then {
    												vkc_carKeyName = (vkc_temp_keysDisplayNameParse select (parseNumber vkc_carKey));
    												vkc_targetVehicleKey = (vkc_temp_keysParse select (parseNumber vkc_carKey));
    												vkc_temp_keys = vkc_temp_keys - [vkc_carKey];
    												vkc_temp_keysDisplayName = vkc_temp_keysDisplayName - [vkc_carKeyName];
    
    												if (s_player_copyToKey < 0) then {
    													s_player_copyToKey = player addAction [("<t color=""#0000FF"">" + ("Change Vehicle Key") + "</t>"),"custom\VehicleKeyChanger\VehicleKeyChanger.sqf",[vkc_cTarget, vkc_temp_keys, vkc_carKey, vkc_temp_keysDisplayName, vkc_carKeyName, vkc_targetVehicleKey, vkc_Price, "0"],-1002,false,false,"",""];
    												};
    
    											} else {
    										
    												player removeAction s_player_copyToKey;
    												s_player_copyToKey = -1;
    											};
    
    										} else {
    										
    											player removeAction s_player_copyToKey;
    											s_player_copyToKey = -1;
    										};
    
    									} else {
    									
    										player removeAction s_player_copyToKey;
    										s_player_copyToKey = -1;
    									};
    							
    								} else {
    									
    									player removeAction s_player_copyToKey;
    									s_player_copyToKey = -1;
    								};
    
    							} else {
    									
    								player removeAction s_player_copyToKey;
    								s_player_copyToKey = -1;
    							};
    
    						} else {
    							
    							[] call ON_fnc_vkcReset;
    						};
    
    					} else {
    
    						[] call ON_fnc_vkcReset;
    					};
    
    				} else {
    
    					[] call ON_fnc_vkcReset;
    				};
    
    			} else {
    
    				[] call ON_fnc_vkcReset;
    			};
    
    		} else {
    
    			[] call ON_fnc_vkcReset;
    		};
    
    	} else {
    
    		[] call ON_fnc_vkcReset;
    	};
    
    };
    
    

     

     

    Here is my init.sqf which I've added the execvm to where the OP states to put it.

     

    dayz_antihack = 0;
    dayz_REsec = 0;
    startLoadingScreen ["","RscDisplayLoadCustom"];
    cutText ["","BLACK OUT"];
    enableSaving [false, false];
    
    //REALLY IMPORTANT VALUES
    dayZ_instance =	24;				//The instance
    dayzHiveRequest = [];
    initialized = false;
    dayz_previousID = 0;
    
    //disable greeting menu 
    player setVariable ["BIS_noCoreConversations", true];
    //disable radio messages to be heard and shown in the left lower corner of the screen
    enableRadio false;
    // May prevent "how are you civillian?" messages from NPC
    enableSentences false;
    DZEdebug = true;
    // DayZ Epochconfig
    spawnShoremode = 1; // Default = 1 (on shore)
    spawnArea= 1500; // Default = 1500
    // 
    MaxVehicleLimit = 75; // Default = 50
    MaxDynamicDebris = 200; // Default = 100
    dayz_MapArea = 18000; // Default = 10000
    
    dayz_minpos = -1000; 
    dayz_maxpos = 26000;
    dayz_paraSpawn = false;
    dayz_sellDistance_vehicle = 10;
    dayz_sellDistance_boat = 30;
    dayz_sellDistance_air = 40;
    DZE_StaticConstructionCount = 1;
    dayz_maxAnimals = 5; // Default: 8
    dayz_tameDogs = true;
    DynamicVehicleDamageLow = 10; // Default: 0
    DynamicVehicleDamageHigh = 100; // Default: 100
    //Plot 4 life
    DZE_APlotforLife = true;
    DZE_PlotOwnership = false;
    DZE_modularBuild = false;
    //loadout
    DefaultMagazines = ["ItemBandage","ItemBandage","17Rnd_9x19_glock17","17Rnd_9x19_glock17","ItemMorphine","ItemPainkiller","ItemWaterbottleBoiled","FoodSteakCooked"];
    DefaultWeapons = ["glock17_EP1","ItemToolbox","ItemHatchet_DZE","ItemMap","ItemRadio"];
    DefaultBackpack = "DZ_TerminalPack_EP1";
    DZE_ForceNameTags = true;
    DZE_BuildOnRoads = false; // Default: False
    
    EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
    dayz_fullMoonNights = true;
    
    //Load in compiled functions
    call compile preprocessFileLineNumbers "custom\A_Plot_for_Life\init\variables.sqf";				//Initilize the Variables (IMPORTANT: Must happen very early)
    progressLoadingScreen 0.1;
    call compile preprocessFileLineNumbers "custom\A_Plot_for_Life\init\publicEH.sqf";				//Initilize the publicVariable event handlers
    progressLoadingScreen 0.2;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";	//Functions used by CLIENT for medical
    progressLoadingScreen 0.4;
    call compile preprocessFileLineNumbers "custom\A_Plot_for_Life\init\compiles.sqf";				//Compile regular functions
    progressLoadingScreen 0.5;
    call compile preprocessFileLineNumbers "server_traders.sqf";				//Compile trader configs
    progressLoadingScreen 1.0;
    
    "filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";
    
    if (isServer) then {
    	//Compile vehicle configs
    	call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_24.Napf\dynamic_vehicle.sqf";				
    	// Add trader citys
    	_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_24.Napf\mission.sqf";
    
    	_serverMonitor = 	[] execVM "custom\system\server_monitor.sqf";
    };
    
    if (!isDedicated) then {
    	//Conduct map operations
    	0 fadeSound 0;
    	waitUntil {!isNil "dayz_loadScreenMsg"};
    	dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
    	[] execVM 'Safezone.sqf';
    	//Run the player monitor
    	_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    	_playerMonitor = 	[] execVM "\z\addons\dayz_code\system\player_monitor.sqf";
    	_nil = [] execVM "custom\VehicleKeyChanger\VehicleKeyChanger_init.sqf";
    	execVM "custom\gui\dzgm\init.sqf";
    	//Lights
    	//[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    };
    
    //Start Dynamic Weather
    execVM "\z\addons\dayz_code\external\DynamicWeatherEffects.sqf";
    
    #include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"
    

     

    And here's my server_updateobject.sqf which is in it's default position.

     

    /*
    [_object,_type] spawn server_updateObject;
    */
    /* Additional */
    /***********************************/ 	
    /* Vehicle Key Changer v1.4        */
    /* Written by OtterNas3            */
    /* January, 11, 2014               */
    /* Last update: 06/15/2014         */
    
    /***********************************/
    
    
    private ["_object","_type","_objectID","_uid","_lastUpdate","_needUpdate","_object_position","_object_inventory","_object_damage","_isNotOk","_parachuteWest","_firstTime","_object_killed","_object_repair","_isbuildable","_object_vehicleKey","_activatingPlayer","_vehicleClassname","_toKey","_toKeyName","_vehicle_ID","_vehicle_UID"];
    
    _object = 	_this select 0;
    
    if(isNull(_object)) exitWith {
    	diag_log format["Skipping Null Object: %1", _object];
    };
    
    _type = 	_this select 1;
    _parachuteWest = ((typeOf _object == "ParachuteWest") || (typeOf _object == "ParachuteC"));
    _isbuildable = (typeOf _object) in dayz_allowedObjects;
    _isNotOk = false;
    _firstTime = false;
    
    _objectID =	_object getVariable ["ObjectID","0"];
    _uid = 		_object getVariable ["ObjectUID","0"];
    
    if ((typeName _objectID != "string") || (typeName _uid != "string")) then
    { 
        diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
        //force fail
        _objectID = "0";
        _uid = "0";
    };
    if (!_parachuteWest && !(locked _object)) then {
    	if (_objectID == "0" && _uid == "0") then
    	{
    		_object_position = getPosATL _object;
        	_isNotOk = true;
    	};
    };
    
    // do not update if buildable && not ok
    if (_isNotOk && _isbuildable) exitWith {  };
    
    // delete if still not ok
    if (_isNotOk) exitWith { deleteVehicle _object; diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]",typeOf _object,_object_position select 0,_object_position select 1, _object_position select 2]); };
    
    
    _lastUpdate = _object getVariable ["lastUpdate",time];
    _needUpdate = _object in needUpdate_objects;
    
    // TODO ----------------------
    _object_position = {
    	private["_position","_worldspace","_fuel","_key"];
    		_position = getPosATL _object;
    		_worldspace = [
    			round(direction _object),
    			_position
    		];
    		_fuel = 0;
    		if (_object isKindOf "AllVehicles") then {
    			_fuel = fuel _object;
    		};
    		_key = format["CHILD:305:%1:%2:%3:",_objectID,_worldspace,_fuel];
    		//diag_log ("HIVE: WRITE: "+ str(_key));
    		_key call server_hiveWrite;
    };
    
    _object_inventory = {
    	private["_inventory","_previous","_key"];
    	_isNormal = true;
    if (typeOf (_object) == "Plastic_Pole_EP1_DZ") then{
        _isNormal = false;
        _inventory = _object getVariable ["plotfriends", []]; //We're replacing the inventory with UIDs for this item
    }; 
    if (typeOf (_object)in DZE_DoorsLocked) then{
        _isNormal = false;
    	_inventory = _object getVariable ["doorfriends", []]; //We're replacing the inventory with UIDs for this item
    };
    
    if(_isNormal)then {
        _inventory = [
        getWeaponCargo _object,
        getMagazineCargo _object,
        getBackpackCargo _object
        ];
    };
    		_previous = str(_object getVariable["lastInventory",[]]);
    		if (str(_inventory) != _previous) then {
    			_object setVariable["lastInventory",_inventory];
    			if (_objectID == "0") then {
    				_key = format["CHILD:309:%1:%2:",_uid,_inventory];
    			} else {
    				_key = format["CHILD:303:%1:%2:",_objectID,_inventory];
    			};
    			//diag_log ("HIVE: WRITE: "+ str(_key));
    			_key call server_hiveWrite;
    		};
    };
    
    _object_damage = {
    	private["_hitpoints","_array","_hit","_selection","_key","_damage"];
    		_hitpoints = _object call vehicle_getHitpoints;
    		_damage = damage _object;
    		_array = [];
    		{
    			_hit = [_object,_x] call object_getHit;
    			_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
    			if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
    			_object setHit ["_selection", _hit];
    		} count _hitpoints;
    	
    		_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
    		//diag_log ("HIVE: WRITE: "+ str(_key));
    		_key call server_hiveWrite;
    	_object setVariable ["needUpdate",false,true];
    	};
    
    _object_killed = {
    	private["_hitpoints","_array","_hit","_selection","_key","_damage"];
    	_hitpoints = _object call vehicle_getHitpoints;
    	//_damage = damage _object;
    	_damage = 1;
    	_array = [];
    	{
    		_hit = [_object,_x] call object_getHit;
    		_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
    		if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
    		_hit = 1;
    		_object setHit ["_selection", _hit];
    	} count _hitpoints;
    	
    	if (_objectID == "0") then {
    		_key = format["CHILD:306:%1:%2:%3:",_uid,_array,_damage];
    	} else {
    		_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
    	};
    	//diag_log ("HIVE: WRITE: "+ str(_key));
    	_key call server_hiveWrite;
    	_object setVariable ["needUpdate",false,true];
    	if ((count _this) > 2) then {
    		_killer = _this select 2;
    		_charID = _object getVariable ['CharacterID','0'];
    		_objID 	= _object getVariable['ObjectID','0'];
    		_objUID	= _object getVariable['ObjectUID','0'];
    		_worldSpace = getPosATL _object;
    		if (getPlayerUID _killer != "") then {
    			_name = if (alive _killer) then { name _killer; } else { format["OBJECT %1", _killer]; };
    			diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6, Killer: %7 (UID: %8)", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace, _name, (getPlayerUID _killer)];
    		} else {
    			diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace];
    		};
    	};
    };
    
    _object_repair = {
    	private["_hitpoints","_array","_hit","_selection","_key","_damage"];
    	_hitpoints = _object call vehicle_getHitpoints;
    	_damage = damage _object;
    	_array = [];
    	{
    		_hit = [_object,_x] call object_getHit;
    		_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
    		if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
    		_object setHit ["_selection", _hit];
    	} count _hitpoints;
    	
    	_key = format["CHILD:306:%1:%2:%3:",_objectID,_array,_damage];
    	//diag_log ("HIVE: WRITE: "+ str(_key));
    	_key call server_hiveWrite;
    	_object setVariable ["needUpdate",false,true];
    };
    
    _object_vehicleKey = {
    	private ["_hit","_selection","_fuel","_gotcha","_retry","_vehicleID","_key","_result","_outcome","_player","_class","_newKey","_newKeyName","_oldVehicleID","_oldVehicleUID","_hitpoints","_damage","_array","_inventory","_vehicleUID","_position","_dir","_worldspace"];
    	
    	/* Setting up variables */
    	_player = _this select 0;
    	_class = _this select 1;
    	_newKey = _this select 2;
    	_newKeyName = _this select 3;
    	_oldVehicleID = _this select 4;
    	_oldVehicleUID = _this select 5;
    
    	/* Get Damage of the Vehicle */
    	_hitpoints = _object call vehicle_getHitpoints;
    	_damage = damage _object;
    	_array = [];
    	{
    		_hit = [_object,_x] call object_getHit;
    		_selection = getText (configFile >> "CfgVehicles" >> (typeOf _object) >> "HitPoints" >> _x >> "name");
    		if (_hit > 0) then {_array set [count _array,[_selection,_hit]]};
    		_object setHit ["_selection", _hit];
    	} forEach _hitpoints;
    	
    	/* Get the Fuel of the Vehicle */
    	_fuel = 0;
    	if (_object isKindOf "AllVehicles") then {
    		_fuel = fuel _object;
    	};
    	
    	/* Get the Inventory of the Vehicle */
    	_inventory = [
    		getWeaponCargo _object,
    		getMagazineCargo _object,
    		getBackpackCargo _object
    	];
    	
    	/* Get the position of the Vehicle */
    	_position 	= getPosASL _object;
    	if !(surfaceIsWater _position) then {
    		_position =  ASLToATL _position;
    	};
    	_dir 		= getDir _object;
    	_worldspace = [_dir,_position];
    
    	/* Delete the current Database entry */
    	[_oldVehicleID,_oldVehicleUID,_player] call server_deleteObj;
    	sleep 1;
    	
    	/* Generate a new UID */
    	_vehicleUID = _worldspace call dayz_objectUID3;
    
    	/* Write the new Database entry and LOG the action*/
    	_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, _damage , _newKey, _worldspace, _inventory, _array, _fuel,_vehicleUID];
    	_key call server_hiveWrite;
    	diag_log ("HIVE: WRITE: VEHICLE KEY CHANGER: "+ str(_key)); 
    	diag_log format["HIVE: WRITE: VEHICLE KEY CHANGER: Vehicle:%1 NewKey:%2 BY %3(%4)", _object, _newKeyName, (name _player), (getPlayerUID _player)];
    
    	/* Get the ObjectID of the entry in the Database */
    	_retry = 0;
    	_gotcha = false;
    	while {!_gotcha && _retry < 10} do {
    		sleep 1;
    		
    		/* Send the request */
    		_key = format["CHILD:388:%1:",_vehicleUID];
    		diag_log ("HIVE: READ: VEHICLE KEY CHANGER: "+ str(_key));
    		_result = _key call server_hiveReadWrite;
    		_outcome = _result select 0;
    		
    		/* We got a answer */
    		if (_outcome == "PASS") then {
    			_vehicleID = _result select 1;
    			
    			/* Compare with old ObjectID to check if it not was deleted yet */
    			if (_oldVehicleID == _vehicleID) then {
    				/* Not good lets give it another try */
    				_gotcha = false;
    				_retry = _retry + 1;
    	if (_retry > 8) then {
    					PVDZE_vkc_Success = false;
    					(owner _player) publicVariableClient "PVDZE_vkc_Success";
    				};
    			} else {
    				/* GOTCHA! */
    				diag_log("CUSTOM: VEHICLE KEY CHANGER: Selected " + str(_vehicleID));
    				_gotcha = true;
    				_retry = 11;
    
    				_object setVariable ["VKC_disabled", 1,true];
    				_object setVariable ["VKC_claiming_disabled", 1,true];
    
    				[_object] spawn {
    					private ["_veh"];
    					_veh = _this select 0;
    
    					sleep 30;
    					_veh setVariable ["VKC_disabled", 0,true];
    					_veh setVariable ["VKC_claiming_disabled", 0,true];
    				};
    
    				PVDZE_vkc_Success = true;
    				(owner _player) publicVariableClient "PVDZE_vkc_Success";
    
    				/* Lock the Vehicle */
    				_object setVehicleLock "locked";
    	
    				/* Save the ObjectID and ObjectUID to the vehicles variable and make it public */
    				_object setVariable ["ObjectID", _vehicleID, true];
    				_object setVariable ["ObjectUID", _vehicleUID, true];
    	
    				/* Set the lastUpdate time to current */
    				_object setVariable ["lastUpdate",time,true];
    	
    				/* Set the CharacterID to the new Key so we can access it! */
    				_object setVariable ["CharacterID", _newKey, true];
    	
    				/* Some other variables you might need for disallow lift/tow/cargo locked Vehicles and such */
    				/* Uncomment if you use this */
    	
    				/* R3F Arty and LOG block lift/tow/cargo locked vehicles*/
    				_object setVariable ["R3F_LOG_disabled",true,true];
    
    				/* =BTC= Logistic block lift locked vehicles*/
    				_object setVariable ["BTC_Cannot_Lift",true,true];
    			};
    		} else {
    			/* Something went wrong on the request give it another try */
    			diag_log("CUSTOM: VEHICLE KEY CHANGER: trying again to get id for: " + str(_vehicleUID));
    			_gotcha = false;
    			_retry = _retry + 1;
    		};
    	};
    };
    // TODO ----------------------
    
    _object setVariable ["lastUpdate",time,true];
    switch (_type) do {
    	case "all": {
    		call _object_position;
    		call _object_inventory;
    		call _object_damage;
    		};
    	case "position": {
    		if (!(_object in needUpdate_objects)) then {
    			//diag_log format["DEBUG Position: Added to NeedUpdate=%1",_object];
    			needUpdate_objects set [count needUpdate_objects, _object];
    		};
    	};
    	case "gear": {
    		call _object_inventory;
    			};
    	case "damage": {
    		if ( (time - _lastUpdate) > 5) then {
    			call _object_damage;
    		} else {
    			if (!(_object in needUpdate_objects)) then {
    				//diag_log format["DEBUG Damage: Added to NeedUpdate=%1",_object];
    				needUpdate_objects set [count needUpdate_objects, _object];
    			};
    		};
    	};
    	case "killed": {
    		call _object_killed;
    	};
    	case "repair": {
    		call _object_damage;
    	};
    	case "vehiclekey": {
    		_activatingPlayer = _this select 2;
    		_vehicleClassname = _this select 3;
    		_toKey = _this select 4;
    		_toKeyName = _this select 5;
    		_vehicle_ID = _this select 6;
    		_vehicle_UID = _this select 7;
    		[_activatingPlayer, _vehicleClassname, _toKey, _toKeyName, _vehicle_ID, _vehicle_UID] call _object_vehicleKey;;
    	};
    };
    
    

     

     

    I'm completely at a loss as to what could be going wrong... Everyone else in the topic seems to have no issues but there was a few others who had my problem but nobody replied to them. The only thing I could think of is the variables aren't being defined early enough?? If that's the case I'd love to learn how to fix this type of issue. I want to understand! Thanks for any time anyone puts into this to help me out!

     

     

    EDIT:

     

    Also here are the errors I was getting derp

    Error in expression <= -1;
    };
    
    } else {
    
    player removeAction s_player_claimKey;
    s_player_claimKey = ->
      Error position: <s_player_claimKey;
    s_player_claimKey = ->
      Error Undefined variable in expression: s_player_claimkey
    File mpmissions\__CUR_MP.Napf\custom\VehicleKeyChanger\VehicleKeyChanger_init.sqf, line 154
    
    if (vkc_claimKey == 1 && vkc_ownerID == "0" && vkc_cursorTarget g>
      Error position: <vkc_ownerID == "0" && vkc_cursorTarget g>
      Error Undefined variable in expression: vkc_ownerid
    File mpmissions\__CUR_MP.Napf\custom\VehicleKeyChanger\VehicleKeyChanger_init.sqf, line 56
    
  7. It seems like nothing is being defined on a fresh install... Other people in the thread have had this problem but no one is giving a solution... How exactly do I fix these errors? EDIT: I also got these errors with OP's files and I did it again with hellravers and it still won't work...

    if (vkc_claimKey == 1 && vkc_ownerID == "0" && vkc_cursorTarget g>
      Error position: <vkc_ownerID == "0" && vkc_cursorTarget g>
      Error Undefined variable in expression: vkc_ownerid
    File mpmissions\__CUR_MP.Napf\custom\VehicleKeyChanger\VehicleKeyChanger_init.sqf, line 56
    
    Error in expression <= -1;
    };
    
    } else {
    
    player removeAction s_player_claimKey;
    s_player_claimKey = ->
      Error position: <s_player_claimKey;
    s_player_claimKey = ->
      Error Undefined variable in expression: s_player_claimkey
    File mpmissions\__CUR_MP.Napf\custom\VehicleKeyChanger\VehicleKeyChanger_init.sqf, line 154
    
  8. Hey Zupa, when you install P4L the player_build is taken by modular_build.sqf. I changed it to player_build.sqf and friendly's building on my plot worked. However without the edit's to player_build friendly building will not work. How would you go about making modular_build.sqf work alongside player_build? You can only have one unless there's another way? Can I just copy what's supposed to go into "player_build.sqf" into modular_build?

  9. Hey great mod.

     

    one question about the fn_selfactions part.

     

    You state to find

    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 place 2 lines underneath it, but inside my self actions there is 2 sets of these exact lines. Which one should it go under? most likely not both.

     

    Based on install instructions of P4L I'd say the top one. 

     

    EDIT: Scratch that it's the bottom

  10. I used the maintain version on a fresh install with P4L. Now it seems to work within the database however I can't maintain it no matter what I do. My previous install worked when I shot it but I'm doing a fresh install and no matter how many times I shoot it I can't maintain it. Anything I should check for? The only errors I get in my RPT

     

     

     

    9:39:54 Server: Object 3:108 not found (message 99)
    9:39:54 Server: Object 3:109 not found (message 91)
    9:39:54 Server: Object 3:113 not found (message 91)
    9:39:54 Server: Object 3:112 not found (message 98)
    9:42:53 Server: Object 3:136 not found (message 91 

    EDIT: Fixed everything above however I have a question about the action menu still has "Maintain Area" and "Maintain Area Preview". I think I may have messed up in the fn_selfactions.sqf with remove action's. Can you take a look please?

    	 } else {
        player removeAction s_player_plotManagement;
        s_player_plotManagement = -1;
        player removeAction s_player_maintain_area;
        s_player_maintain_area = -1;
        player removeAction s_player_maintain_area_preview;
        s_player_maintain_area_preview = -1;
    		player removeAction s_player_plot_boundary_on;
    		s_player_plot_boundary_on = -1;
    		player removeAction s_player_plot_boundary_off;
    		s_player_plot_boundary_off = -1;
    		player removeAction s_player_plot_take_ownership;
    		s_player_plot_take_ownership = -1;
    	};
    

    and here's the bottom part

    } else {
    	//Engineering
    	player removeAction s_player_plotManagement;
    	s_player_plotManagement = -1;
    	{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
    	s_player_repair_crtl = -1;
    
    	{player removeAction _x} count s_player_combi;s_player_combi = [];
    		
    	dayz_myCursorTarget = objNull;
    	s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
    
    	{player removeAction _x} count s_player_parts;s_player_parts = [];
    	s_player_parts_crtl = -1;
    
    	{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
    	s_player_lockUnlock_crtl = -1;
    
    	player removeAction s_player_checkGear;
    	s_player_checkGear = -1;
    
    	player removeAction s_player_SurrenderedGear;
    	s_player_SurrenderedGear = -1;
    
    	//Others
        player removeAction s_player_maintain_area;
        s_player_maintain_area = -1;
        player removeAction s_player_maintain_area_preview;
        s_player_maintain_area_preview = -1;
    	player removeAction s_player_plot_boundary_on;
    	s_player_plot_boundary_on = -1;
    	player removeAction s_player_plot_boundary_off;
    	s_player_plot_boundary_off = -1;
    	player removeAction s_player_plot_take_ownership;
    	s_player_plot_take_ownership = -1;
    	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;
    
  11.  

     

    9:39:54 Server: Object 3:108 not found (message 99)

    9:39:54 Server: Object 3:109 not found (message 91)

    9:39:54 Server: Object 3:113 not found (message 91)

    9:39:54 Server: Object 3:112 not found (message 98)

    9:42:53 Server: Object 3:136 not found (message 91)

    Followed the instructions all the way through, I'm pretty sure I've installed it correctly. What exactly can I check for to make sure it's working properly?? I have base takeover option on false.

     

    Also are these errors serious? I'm just putting down plotpoles to test.

     

    Not sure if its related but shooting a wood wall isn't allowing me to maintain it.

×
×
  • Create New...