Jump to content

ghostfur

Member
  • Posts

    35
  • Joined

  • Last visited

Posts posted by ghostfur

  1. Start a fresh instal, Yes this means the server will wipe and everything is lost.

    But in my eyes there's no other solution or any more info for it.

    We got it running again now, but the next problems seems to be that BEC console shuts down after starting.

    We did not find any solution or replacement for BEC atm.

    The old fixxes doesn't work anymore(Editing command lines in the Host file: C:\Windows\System32\drivers\etc\Hosts)

    Or using the DSC option on doesnt let BEC stay open.

    If i find any more info or a solution for it, i'll post it.

    But maybe other people will help us out on this issue....

    No we dont use Firedeamon or any other program, Just simple batch files.

  2. is bornholm map already supported with this AI mission ?

    Yes VEMF does support bornholm.

    Got a problem though, the Orange Crate seems to push players away when walking straight to it.

    Not sure why this is happening and not sure it'll happens all the time....

    Anyone got the same problem? or a solution for this?

  3. Noob Question: If i wanted to combine items for crafting, instead of 1 item you need 2 items, how do i configure that?

     

    In bike.sqf

    i've try'd: if("ItemCorrugated","ItemMixOil" in (magazines player))then[{

    titleText ["", "PLAIN DOWN"];

    With this action it stops the script from reading.

    I've try'd: if("ItemCorrugated,ItemMixOil" in (magazines player))then[{

    titleText ["", "PLAIN DOWN"];

    This will read the script but doesnt check if players have the items on it, it will say You need This and That item to build a bike. (i do have the items)

    I've edited the fn_deploybike.sqf the same ways i did with bike.sqf, but im stuck here, can't configure the script to read player items and remove them for building the bike.

    Default script worked great! thanks!

  4. Maybe you forgot something?

     

    I added custom vehicles to my server, that players need to instal.

     

    I just dropped them in @Aia terrain pack mod\addons folder for a easy installment.

     

    If people dont have this installed it will random SC Kick people, Couse of the file adjustment.

  5. Hello, This script worked great on altis! but on chernarus i can't get the ai's to spawn, my .rpt log:

    (this error was already mentioned in page 3 and 4 but no sollution yet?

     

    *Try'd making Spoiler with special BBcode, but it doesnt let me do it!*

     

    20:24:28 Error in expression < "civil";
    _back = _back + [[_civiltype, _position, _civilrole]];

    };

    while { tr>
    20:24:28 Error position: <_position, _civilrole]];

    };

    while { tr>
    20:24:28 Error Undefined variable in expression: _position
    20:24:28 Error in expression < "civil";
    _back = _back + [[_civiltype, _position, _civilrole]];

    };

    while { tr>
    20:24:28 Error position: <_position, _civilrole]];

    };

    while { tr>
    20:24:28 Error Undefined variable in expression: _position
    20:24:28 Error in expression < "civil";
    _back = _back + [[_civiltype, _position, _civilrole]];

    };

    while { tr>
    20:24:28 Error position: <_position, _civilrole]];

    };

    while { tr>
    20:24:28 Error Undefined variable in expression: _position
    20:24:28 Error in expression < "civil";
    _back = _back + [[_civiltype, _position, _civilrole]];

    };

    while { tr>
    20:24:28 Error position: <_position, _civilrole]];

    };

    while { tr>
    20:24:28 Error Undefined variable in expression: _position
    20:24:28 Error in expression <iviltype = _x select 0;
    _civil = _group createUnit [_civiltype, (_x select 1), [>
    20:24:28 Error position: <createUnit [_civiltype, (_x select 1), [>
    20:24:28 Error 0 elements provided, 3 expected
    20:24:28 Error in expression <iviltype = _x select 0;
    _civil = _group createUnit [_civiltype, (_x select 1), [>
    20:24:28 Error position: <createUnit [_civiltype, (_x select 1), [>
    20:24:28 Error 0 elements provided, 3 expected
    20:24:28 Error in expression <iviltype = _x select 0;
    _civil = _group createUnit [_civiltype, (_x select 1), [>

  6. Image

     

    They need some work over skins and movements and will be fine,sounds ambience is ok just now :)

     

    I just was thinking to a

    _zombie setdamage 0.7;
    on shaun.sqf  so to give a blood apperance

     

    EDIT:

     

    Tested,zombies now appears blooded but...they are fractured and walk very slows and stupids...just like Romero's movies :huh:

    you got a great idea!!

    this will give zombie's blooded T-shirts, and a blooded head to, without making them criple.

    _zombie setBehaviour "CARELESS";

    _zombie setHitPointDamage ["hitBody", 0.5];

    _zombie setHitPointDamage ["hitHead", 0.5];

    but this makes them easy to kill, just 1 shot needed.

  7. open up IgiLoad.sqf and add it

     

    and OP didn't make the script reread first post

    That sounds to good to be true, and it is :P

    I try'd adding it, but can't seem to get it to work:

    IL_Supported_Vehicles_CHINOOK = ["CH_147F", "CH_47F", "kyo_MH47E_HC", "kyo_MH47E_Ramp", "B_Heli_Transport_03_unarmed_F", "B_Heli_Transport_03_unarmed_EPOCH", "kyo_MH47E_base"];

    I try'd this with the huron chinook, but it failed, can't see any tow options ingame.

    I gues that's why they didnt add the chinook in the first place.

    Anyone got a sollution for this?

    I readed true the whole script, i can't see what i need to adjust more.

  8. Thanks the script works great, and thanks Igiload!

    But is there a way that we can add more Helicopters to the script?

    Todays Igiload version only let 1 helicopter load up cargo (I_Heli_Transport_02_EPOCH, the Mohawk)

    It can load and drop of vehicles/Cargo with parashute's, Wich is Epic in my eyes!

    But ingame players asking admins who has Igiload script in their server, why the Mohawk can load up vehicles/Cargo and

    The Huron (chinook) helicopter can't (epoch chinook)

    Are you working on a next igiload version or is it possible to add more helicopter to the list?

    I would like to see, the Epoch Chinook, and the Taru Cargo to be added to the list.

    (O_Heli_Transport_04_box_EPOCH) = MI290 Taru (Cargo)

    (B_Heli_Transport_03_unarmed_EPOCH) = CH-47 Huron (Black)

    Thanks in advance! This script is Epic!!

  9. Hi iam trying to put in custom markers to epoch altis but i dont know how i tryed couple of things but doesnt work at all!

     

     

    I putted this in my mission init.sqf 

    // Markers
    [] execVM "scripts\custom_marker.sqf";
    I've created a file named  custom_marker.sqf this is what i putted in 
     
    // TEST 1 MARKER
    _Tikhaya  = createMarker ["_Tikhaya ", [23595.9,3.19,18002.4]];
    _Tikhaya  setMarkerText "Tikhaya City";
    _Tikhaya  setMarkerType "City";
    _Tikhaya  setMarkerColor "ColorRed";
    _Tikhaya  = _Tikhaya ;
    
    //TEST 2 MARKER
    _wreck  = createMarker ["_wreck ", [23596.7,3.19,17999.2]];
    _wreck  setMarkerText "Junkyard";
    _wreck  setMarkerType "Depot";
    _wreck  setMarkerColor "ColorBlue";
    _wreck  = _wreck ;
    
    

    It was just for testing markers on map 

     

    Nothing shows up tryed couple of things maby someone got a idee i just want to add some custom markers on different positions in map

     

    Greetings Michel

     
  10. This topic is too much complicated? i putted a3_epoch_server_building.pbo in the map addons  but what now?

    i dont see any custom building in my altis epoch map? what do i need to do to get this to work ? do i need to put something

    in my mission init map or what? can someone help me with this!

  11. Hi everyone i got a little problem with the new bec command tool it starts fine but it saying a error

    like Schedular file contains a error start tag missing where id = 0 i didnt had this before with older versions of bec command and Always use the same schedular are there more people with the same problem?

    Here my schedular.xml with 3 hour restart 

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <?xml-stylesheet href="acs.xsl" type="text/xsl" ?>
    <Scheduler>
      <job id="0">
             <time>020000</time> 
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>1</loop>                         
             <cmd>say -1 Server will restart in 1 hour.</cmd>    
             <cmdtype>0</cmdtype>                
         </job>
    
      <job id="1">
             <time>023000</time>
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>1</loop>                         
             <cmd>say -1 Server will restart in 30 minutes..</cmd>    
             <cmdtype>0</cmdtype>                
         </job>
    
    
      <job id="2">
             <time>025000</time> 
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>1</loop>                         
             <cmd>say -1 Server will restart in 10 minutes.</cmd>    
             <cmdtype>0</cmdtype>                
         </job>
    
    
      <job id="3">
             <time>025500</time> 
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>1</loop>                         
             <cmd>say -1 Server will restart in 5 minutes.</cmd>    
             <cmdtype>0</cmdtype>                
         </job>
    
     <job id="4">
             <time>025700</time>
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>0</loop>
             <cmd>C:\Users\Administrator\Desktop\DayZ Server\Backup.bat</cmd>
             <cmdtype>1</cmdtype>                
         </job>
    
      <job id="5">
             <time>025800</time>  
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>1</loop>                         
             <cmd>say -1 Log of in advance to prevent losing unsaved character data.</cmd>  
             <cmdtype>0</cmdtype>                
         </job>
    
    
     <job id="6">
             <time>025900</time> 
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>1</loop>                         
             <cmd>say -1 Server will restart in 1 minute.</cmd>    
             <cmdtype>0</cmdtype>                
         </job>
    
     <job id="7">
             <time>030000</time>
             <delay>000000</delay>
             <day>1,2,3,4,5,6,7</day>
             <loop>0</loop>
             <cmd>C:\Users\Administrator\Desktop\DayZ Server\Server_Restart.bat</cmd>
             <cmdtype>1</cmdtype>                
         </job>
    
     </Scheduler>  
    
    
  12. Indeed how to fix the blowing vehicle? anti hack problem? i temp removed the vehicles from the file also i have a problem when login in to the game

    You cannot play/edit this mission; it is dependent on downloadable contetnt that has been deleted. mbg_killhouses

     

    Does someone got a fix for this?

  13. This is my  fn_selfactions with the suicide inside linked to scripts/suicide.sqf where i have the suicide.sqf file

    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","_metals_trader","_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","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"];
    
    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 and !r_player_unconscious and !_onLadder);
    
    _nearLight = 	nearestObject [player,"LitObject"];
    _canPickLight = false;
    if (!isNull _nearLight) then {
    	if (_nearLight distance player < 4) then {
    		_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
    	};
    };
    
    //Grab Flare
    if (_canPickLight and !dayz_hasLight and !_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 and (_vehicle isKindOf "Air") and ((getPos _vehicle select 2) < 30) and (speed _vehicle < 5) and (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 and (_vehicle isKindOf "Air") and ((getPos _vehicle 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 and !_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 and (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 or animal
    		if (!alive cursorTarget and (_isAnimal or _isMan) and !_isZombie and !_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 OR SHIP
    _allowedDistance = 4;
    _isAir = cursorTarget isKindOf "Air";
    _isShip = cursorTarget isKindOf "Ship";
    if(_isAir or _isShip) then {
    	_allowedDistance = 8;
    };
    
    if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cursorTarget < _allowedDistance) and _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 and magazines only once
    	_magazinesPlayer = magazines player;
    
    	//boiled Water
    	_hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;
    	_hastinitem = false;
    	{
    		if (_x in _magazinesPlayer) then {
    			_hastinitem = true;
    		};
    	} forEach 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)];
    		};
    	} forEach _itemsPlayer;
    
    	_hasKnife = 	"ItemKnife" in _itemsPlayer;
    	_hasToolbox = 	"ItemToolbox" in _itemsPlayer;
    
    	_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";
    	
    	_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;
    		};
    	} forEach _rawmeat; 
    	
    	_isFuel = false;
    	if (_hasFuelE or _hasFuelBarrelE) then {
    		{
    			if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
    		} forEach 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_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_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 or _isWreck or _isRemovable or _isWreckBuilding) then {
    			if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {
    				_player_deleteBuild = true;
    			};
    		};
    		
    		//Allow owners to delete modulars
                    if(_isModular and (dayz_characterID == _ownerID)) then {
                            if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {
                                    _player_deleteBuild = true;
                            };
                    };
    		
    		// CURSOR TARGET VEHICLE
    		if(_isVehicle) then {
    			
    			//flip vehicle small vehicles by your self and all other vehicles with help nearby
    			if (!(canmove _cursorTarget) and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then {
    				_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
    				if(_isVehicletype or (_playersNear >= 2)) then {
    					_player_flipveh = true;	
    				};
    			};
    
    
    			if(!_isMan and _ownerID != "0" and !(_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;
    				};
    			} forEach 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 = getPos _x;
    					_posC = getPos _cursorTarget;
    					_height = (_posL select 2) - (_posC select 2);
    					_hasAttached = _x getVariable["hasAttached",false];
    					if(_height < 15 and _height > 5 and (typeName _hasAttached != "OBJECT")) then {
    						if(((abs((_posL select 0) - (_posC select 0))) < 10) and ((abs((_posL select 1) - (_posC select 1))) < 10)) then {
    							_liftHeli = _x;
    							_found = true;
    						};
    					};
    				};
    			} forEach _liftHelis;
    		};
    
    		//diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget];
    
    		_attached = _cursorTarget getVariable["attached",false];
    		if(_found and _allowTow and _canDo and !locked _cursorTarget and !_isPZombie and (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 and 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 or _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 or _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} forEach s_player_lockunlock;s_player_lockunlock = [];
    		s_player_lockUnlock_crtl = -1;
    	};
    
    	if(DZE_AllowForceSave) then {
    		//Allow player to force save
    		if((_isVehicle or _isTent) and !_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 or _isTent or _isnewstorage) and _isAlive and !_isMan and !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 and 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 or _hasFuelBarrelE) and _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 or _isZombie) and _hasKnife) then {
    			_isHarvested = _cursorTarget getVariable["meatHarvested",false];
    			if (!_isHarvested) then {
    				_player_butcher = true;
    			};
    		};
    
    		// Study body
    		if (_isMan and !_isZombie and !_isAnimal) then {
    			_player_studybody = true;
    		}
    	} else {
    		// unit alive
    
    		// gear access on surrendered player
    		if(_isMan and !_isZombie and !_isAnimal) then {
    			_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];
    			if (_isSurrendered) then {
    				_player_SurrenderedGear = true;
    			};
    		};
    	};
    
    
    	// Human Gut animal or 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;
    		player removeAction s_player_clothes;
    		s_player_clothes = -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 and _hastinitem) then {
    			_player_boil = true;
    		};
    	};
    
    	if (_player_SurrenderedGear) then {
    		if (s_player_SurrenderedGear < 0) then {
    			s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTION_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) and !(inflamed _cursorTarget) and (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 and (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) and ("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 owner to unlock vault
    	if((_typeOfCursorTarget in DZE_LockableStorage) and _ownerID != "0" and (player distance _cursorTarget < 3)) then {
    		if (s_player_unlockvault < 0) then {
    			if(_typeOfCursorTarget in DZE_LockedStorage) then {
    				if(_ownerID == dayz_combination or _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 and _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} forEach s_player_combi;s_player_combi = [];
    		s_player_unlockvault = -1;
    	};
    
    	//Allow owner to pack vault
    	if(_typeOfCursorTarget in DZE_UnLockedStorage and _ownerID != "0" and (player distance _cursorTarget < 3)) then {
    
    		if (s_player_lockvault < 0) then {
    			if(_ownerID == dayz_combination or _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 and (_ownerID == dayz_combination or _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 and (_x getVariable ["GeneratorRunning", false])) then {
    					_findNearestGen set [(count _findNearestGen),_x];
    				};
    			} foreach _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 and 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") or (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") or (_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], "\z\addons\dayz_code\actions\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_upgrade_build;
    		s_player_upgrade_build = -1;
    	};
    	
    	// downgrade system
    	if((_isDestructable or _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" or _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") and (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], "\z\addons\dayz_code\actions\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" or _cursorTarget isKindOf "DZE_Housebase" or _typeOfCursorTarget == "LightPole_DZ") and (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 and 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 and _ownerID == dayz_characterID) then {
    		if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
    			s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];
    		};
    	} else {
    		player removeAction s_player_sleep;
    		s_player_sleep = -1;
    	};
    	_clothesTaken = _cursorTarget getVariable["clothesTaken",false];
    
    // Take clothes by Zabn
    if (_isMan and !_isAlive and !_isZombie and !_clothesTaken) then {
    if (s_player_clothes < 0) then {
    s_player_clothes = player addAction [("<t color='#0096ff'>")+("Take Clothes")+("</t>"), "scripts\player_takeClothes_v2.sqf",[_cursorTarget], -10, false, true, "",""];
    };
    } else {
    player removeAction s_player_clothes;
    s_player_clothes = -1;
    };
    private ["_handGun"];
     _handGun = currentWeapon player;
     if ((_handGun in ["glock17_EP1","M9","M9SD","Makarov","MakarovSD","revolver_EP1","UZI_EP1","Sa61_EP1","Colt1911"]) && (player ammo _handGun > 0) && canStand player && (speed player <= 1) && _canDo) then { 
    if ((is_confirmation == 0) && (s_player_suicide < 0)) then {
    	name_on_menu = "<t color=""#303030"">Retire from Life</t>"; s_player_suicide = 	player addaction[(name_on_menu),"scripts\suicide.sqf",_handGun,0,false,true,"", ""]; 
    	}; 
    if ((is_confirmation == 1) && (s_player_suicide_confirm < 0)) then { 
    	name_on_menu = "<t color=""#d00020"">Confirm Retire from Life!</t>"; 	s_player_suicide_confirm = player addaction[(name_on_menu),"scripts\suicide.sqf",_handGun,0,false,true,"", ""]; 
    	}; 
    } else { 
    if (is_confirmation == 0) then { 
    	player removeAction s_player_suicide; 
    }; 
    if (is_confirmation == 1) then { 
    	player removeAction s_player_suicide_confirm; 
    }; 
    s_player_suicide = -1;
    s_player_suicide_confirm = -1;
    is_confirmation = 0; 
    };
    
    	//Repairing Vehicles
    	if ((dayz_myCursorTarget != _cursorTarget) and _isVehicle and !_isMan and _hasToolbox and (damage _cursorTarget < 1) and !_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} forEach s_player_repairActions;s_player_repairActions = [];
    			s_player_repair_crtl = -1;
    		};
    	};
    
    	// All Traders
    	if (_isMan and !_isPZombie and _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];
    				
    				} forEach (_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} forEach s_player_parts;s_player_parts = [];
    		s_player_parts_crtl = -1;
    	};
    
    	
    	if(dayz_tameDogs) then {
    		
    		//Dog
    		if (_isDog and _isAlive and (_hasRawMeat) and _ownerID == "0" and 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 and _ownerID == dayz_characterID and _isAlive) then {
    			_dogHandle = player getVariable ["dogID", 0];
    			if (s_player_feeddog < 0 and _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 and "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
    	{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
    	s_player_repair_crtl = -1;
    
    	{player removeAction _x} forEach s_player_combi;s_player_combi = [];
    		
    	dayz_myCursorTarget = objNull;
    	s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
    
    	{player removeAction _x} forEach s_player_parts;s_player_parts = [];
    	s_player_parts_crtl = -1;
    
    	{player removeAction _x} forEach 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;
        
        // 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 and !_inVehicle and alive _dog and _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;
    };
    
    
×
×
  • Create New...