Jump to content

Mods installation guide, i'm totaly green ;)


Recommended Posts

that pic is your server root... dont know why you say you only see jjmbkk.jpg

ok you have the compiles.sqf /variables.sqf and fn_selfactios.sqf in mpmissions/dayz_chernarus_11/custom/

so now you need go to your init.sqf

and check if ure using it

//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";
call compile preprocessFileLineNumbers "custom\variables.sqf";

//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
call compile preprocessFileLineNumbers "custom\compiles.sqf";

 

and in your compiles.sqf the one into custom folder.

   
    fnc_usec_selfactions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";

Link to comment
Share on other sites

init.sqf:

progressLoadingScreen 0.25;
fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";
call compile preprocessFileLineNumbers "logistic\init.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
call compile preprocessFileLineNumbers "addons\bike\init.sqf";
call compile preprocessFileLineNumbers "zedutility\walkamongstthedead\config.sqf";
call compile preprocessFileLineNumbers "server_traders.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus11.sqf"; //Add trader city objects locally on every machine early
if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; //Add POI objects locally on every machine early
initialized = true;

compiles.sqf:

fn_dropItem = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_dropItem.sqf";
	fn_dynamicTool = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_dynamicTool.sqf";
	fn_nearWaterHole = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_nearWaterHole.sqf";
	player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf";	//Run on a players computer, checks if the player is near a zombie
	player_zombieAttack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieAttack.sqf";	//Run on a players computer, causes a nearby zombie to attack them
	player_attackdelay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_attackfsmdelay.sqf";
	fnc_usec_damageActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageActions.sqf";		//Checks which actions for nearby casualty
	fnc_inAngleSector = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inAngleSector.sqf";		//Checks which actions for nearby casualty
	//fnc_usec_selfActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf";		//Checks which actions for self
	fnc_usec_unconscious = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_unconscious.sqf";
	player_temp_calculation = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_temperatur.sqf";		//Temperatur System //TeeChange
	player_weaponFiredNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_weaponFiredNear.sqf";
	player_spawnCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_spawnCheck.sqf";
	building_spawnLoot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnLoot.sqf";
	//player_taskHint = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_taskHint.sqf";
	building_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnZombies.sqf";
	player_fired = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf";			//Runs when player fires. Alerts nearby Zeds depending on calibre and audial rating
	player_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf";
	player_updateGui = switch (toLower DZE_UI) do {
		case "dark": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiDark.sqf";};
		case "epoch": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiEpoch.sqf";};
		case "vanilla": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";};

 

All is ok ? or wrong ;x

 

Link to comment
Share on other sites

18 minutes ago, Draundenth said:

tell me what to change we can comunicate on teamspeak or steam. I want to learn how do it i don't like when somebody do something for me.

ok in init.sqf you have

progressLoadingScreen 0.25;
fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";//BAD REMOVE ME
call compile preprocessFileLineNumbers "logistic\init.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";//BAD YOU NEED CHANGE THE PATH FOR THE COMPILES:SQF in custom folder.!!
call compile preprocessFileLineNumbers "addons\bike\init.sqf";
call compile preprocessFileLineNumbers "zedutility\walkamongstthedead\config.sqf";//BAD "PASTE AT VERY BOTTOM" means at very bottom not in middle of the init,sqf hahah

//YOURE MISSING THE CALL OF VARIABLES:sqf
call compile preprocessFileLineNumbers "server_traders.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus11.sqf"; //Add trader city objects locally on every machine early
if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; //Add POI objects locally on every machine early
initialized = true;

 

so in your specific case this part of init.sqf must be: (only lines in red.. do not change the others are my owns)

Spoiler

initialized = false;

call compile preprocessFileLineNumbers "custom\variables.sqf";
progressLoadingScreen 0.05;
call compile preprocessFileLineNumbers "dayz_code\init\publicEH.sqf";
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";
progressLoadingScreen 0.15;
call compile preprocessFileLineNumbers "custom\compiles.sqf";
if (_verCheck) then {
    #include "DZE_Hotfix_1.0.6.1A\init\compiles.sqf"
};

and now in your custom compiles.sqf (custom means is into mpmissions\chernarus_11\custom\ )

Spoiler

fn_dropItem = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_dropItem.sqf";
    fn_dynamicTool = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_dynamicTool.sqf";
    fn_nearWaterHole = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_nearWaterHole.sqf";
    player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf";    //Run on a players computer, checks if the player is near a zombie
    player_zombieAttack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieAttack.sqf";    //Run on a players computer, causes a nearby zombie to attack them
    player_attackdelay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_attackfsmdelay.sqf";
    fnc_usec_damageActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageActions.sqf";        //Checks which actions for nearby casualty
    fnc_inAngleSector = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inAngleSector.sqf";        //Checks which actions for nearby casualty
  fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";      
    fnc_usec_unconscious = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_unconscious.sqf";
    player_temp_calculation = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_temperatur.sqf";        //Temperatur System //TeeChange
    player_weaponFiredNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_weaponFiredNear.sqf";
    player_spawnCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_spawnCheck.sqf";
    building_spawnLoot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnLoot.sqf";
    //player_taskHint = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_taskHint.sqf";
    building_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnZombies.sqf";
    player_fired = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf";            //Runs when player fires. Alerts nearby Zeds depending on calibre and audial rating
    player_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf";
    player_updateGui = switch (toLower DZE_UI) do {
        case "dark": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiDark.sqf";};
        case "epoch": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGuiEpoch.sqf";};
        case "vanilla": {compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";};

 

Link to comment
Share on other sites

 

init.sqf

Spoiler

/*    
    For DayZ Epoch
    Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz
*/

//Server settings
dayZ_instance = 11; //Instance ID of this server
dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number)

//Game settings
dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled
dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick).
dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations
dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS)
dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS)
dayz_ForcefullmoonNights = true; // Forces night time to be full moon.
dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations.

//DayZMod presets
dayz_presets = "Custom"; //"Custom","Classic","Vanilla","Elite"

//Only need to edit if you are running a custom server.
if (dayz_presets == "Custom") then {
    dayz_enableGhosting = false; //Enable disable the ghosting system.
    dayz_ghostTimer = 60; //Sets how long in seconds a player must be disconnected before being able to login again.
    dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits
    dayz_spawncarepkgs_clutterCutter = 0; //0 = loot hidden in grass, 1 = loot lifted, 2 = no grass
    dayz_spawnCrashSite_clutterCutter = 0;    // heli crash options 0 = loot hidden in grass, 1 = loot lifted, 2 = no grass
    dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn 0 = loot hidden in grass, 1 = loot lifted, 2 = no grass
    dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both
    dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked
    dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system.
    dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag
    dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS).
};

//Temp settings
dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies.
dayz_maxGlobalZeds = 500; //Limit the total zeds server wide.
dayz_temperature_override = false; // Set to true to disable all temperature changes.

enableRadio false;
enableSentences false;

// EPOCH CONFIG VARIABLES START //
#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line
// See the above file for a full list including descriptions and default values
// Uncomment the lines below to change the default loadout
//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"];
//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"];
//DefaultBackpack = "DZ_Patrol_Pack_EP1";
//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"];
dayz_paraSpawn = false; // Halo spawn
DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones
DZE_BuildOnRoads = false; // Allow building on roads
DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status
DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly.
DZE_slowZombies = false; // Force zombies to always walk
DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects.
DZE_GodModeBase = false; // Make player built base objects indestructible
DZE_requireplot = 1; // Require a plot pole to build  0 = Off, 1 = On
DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases.
DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius
DZE_SelfTransfuse = true; // Allow players to bloodbag themselves
DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds]
MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map
MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map
spawnArea = 1400; // Distance around markers to find a safe spawn position
spawnShoremode = 1; // Random spawn locations  1 = on shores, 0 = inland
EpochUseEvents = false; //Enable event scheduler. Define custom scripts in dayz_server\modules to run on a schedule.
EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
// EPOCH CONFIG VARIABLES END //

diag_log 'dayz_preloadFinished reset';
dayz_preloadFinished=nil;
onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;";
onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;";
with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon

_verCheck = (getText (configFile >> "CfgMods" >> "DayZ" >> "version") == "DayZ Epoch 1.0.6.1");
if (!isDedicated) then {
    enableSaving [false, false];    startLoadingScreen ["","RscDisplayLoadCustom"];
    progressLoadingScreen 0;
    dayz_loadScreenMsg = localize 'str_login_missionFile';
    if (_verCheck) then {
        progress_monitor = [] execVM "DZE_Hotfix_1.0.6.1A\system\progress_monitor.sqf";
    } else {
        progress_monitor = [] execVM "\z\addons\dayz_code\system\progress_monitor.sqf";
    };
    0 cutText ['','BLACK',0];
    0 fadeSound 0;
    0 fadeMusic 0;
};

initialized = false;
call compile preprocessFileLineNumbers "custom\variables.sqf";
progressLoadingScreen 0.05;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";
progressLoadingScreen 0.15;
call compile preprocessFileLineNumbers "custom\compiles.sqf";
if (_verCheck) then {
    #include "DZE_Hotfix_1.0.6.1A\init\compiles.sqf"
};
progressLoadingScreen 0.25;
call compile preprocessFileLineNumbers "logistic\init.sqf";
call compile preprocessFileLineNumbers "custom\compiles.sqf";
call compile preprocessFileLineNumbers "addons\bike\init.sqf";
call compile preprocessFileLineNumbers "zedutility\walkamongstthedead\config.sqf";
call compile preprocessFileLineNumbers "server_traders.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus11.sqf"; //Add trader city objects locally on every machine early
if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; //Add POI objects locally on every machine early
initialized = true;

setTerrainGrid 25;
if (dayz_REsec == 1) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\REsec.sqf";};
execVM "\z\addons\dayz_code\system\DynamicWeatherEffects.sqf";

if (isServer) then {
    call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\dynamic_vehicle.sqf";
    call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\server_monitor.sqf";
    execVM "\z\addons\dayz_server\traders\chernarus11.sqf"; //Add trader agents
    
    //Get the server to setup what waterholes are going to be infected and then broadcast to everyone.
    if (dayz_infectiousWaterholes && (toLower worldName == "chernarus")) then {execVM "\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\init.sqf";};
    
    // Lootable objects from CfgTownGeneratorDefault.hpp
    if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\system\mission\chernarus\MainLootableObjects.sqf"; };
};

if (!isDedicated) then {
    //Enables Plant lib fixes
    execVM "\z\addons\dayz_code\system\antihack.sqf";
    
    if (toLower(worldName) == "chernarus") then {
        diag_log "WARNING: Clearing annoying benches from Chernarus";
        ([4654,9595,0] nearestObject 145259) setDamage 1;
        ([4654,9595,0] nearestObject 145260) setDamage 1;
    };
    
    if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\compile\client_plantSpawner.sqf"; };
    execFSM "\z\addons\dayz_code\system\player_monitor.fsm";
    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    if (DZE_R3F_WEIGHT) then {execVM "\z\addons\dayz_code\external\R3F_Realism\R3F_Realism_Init.sqf";};
    waitUntil {scriptDone progress_monitor};
    cutText ["","BLACK IN", 3];
    3 fadeSound 1;
    3 fadeMusic 1;
    endLoadingScreen;
};

 

custom fn_Selfaction:

Spoiler

scriptName "Functions\misc\fn_selfActions.sqf";
/***********************************************************
    ADD ACTIONS FOR SELF
    - Function
    - [] call fnc_usec_selfActions;
************************************************************/
private ["_canPickLight","_text","_unlock","_lock","_totalKeys","_temp_keys","_temp_keys_names","_restrict",
"_hasKey","_oldOwner","_hasAttached","_isZombie","_isHarvested","_isMan","_isFuel","_hasRawMeat","_hastinitem","_player_deleteBuild",
"_player_lockUnlock_crtl","_displayName","_hasIgnitors","_menu","_menu1","_allowTow","_liftHeli","_found","_posL","_posC","_height","_attached",
"_combi","_findNearestGen","_humanity_logic","_low_high","_cancel","_buy","_buyV","_humanity","_traderMenu","_warn","_typeOfCursorTarget",
"_isVehicle","_isBicycle","_isDestructable","_isGenerator","_ownerID","_isVehicletype","_hasBarrel","_hasFuel20","_hasFuel5","_hasEmptyFuelCan",
"_itemsPlayer","_hasToolbox","_hasbottleitem","_isAlive","_isPlant","_istypeTent","_upgradeItems","_isDisallowRefuel","_isDog",
"_isModular","_isModularDoor","_isHouse","_isGate","_isFence","_isLockableGate","_isUnlocked","_isOpen","_isClosed","_ownerArray","_ownerBuildLock",
"_ownerPID","_speed","_dog","_vehicle","_inVehicle","_cursorTarget","_primaryWeapon","_currentWeapon","_magazinesPlayer","_onLadder","_canDo",
"_nearLight","_vehicleOwnerID","_hasHotwireKit","_isPZombie","_dogHandle","_allowedDistance","_id","_upgrade","_weaponsPlayer","_hasCrowbar",
"_allowed","_hasAccess","_uid"];

_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
_cursorTarget = cursorTarget;
_primaryWeapon = primaryWeapon player;
_currentWeapon = currentWeapon player;
_magazinesPlayer = magazines player;
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
//_canDrink = count nearestObjects [getPosATL player, ["Land_pumpa","Land_water_tank"], 2] > 0;
_uid = getPlayerUID player;
_nearLight = nearestObject [player,"LitObject"];
_canPickLight = false;
_vehicleOwnerID = _vehicle getVariable ["CharacterID","0"];
_hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer;
_isPZombie = player isKindOf "PZombie_VB";
_dogHandle = player getVariable ["dogID",0];

if (!isNull _nearLight) then {
    if (_nearLight distance player < 4) then {
        _canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
    };
};

//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 (s_player_equip_carry < 0) then {
    if (dayz_onBack != "" && { !_inVehicle && { !_onLadder && { !r_player_unconscious } } }) then {
        dz_plr_carryActionItem = dayz_onBack;
        _text = getText (configFile >> "CfgWeapons" >> dz_plr_carryActionItem >> "displayName");
        s_player_equip_carry = player addAction [
            format [localize "STR_ACTIONS_WEAPON", _text],
            "\z\addons\dayz_code\actions\player_switchWeapon_action.sqf",
            nil, 0.5, false, true];
    };
} else {
    if (dayz_onBack != dz_plr_carryActionItem || { _inVehicle || { _onLadder || { r_player_unconscious } } } ) then {
        player removeAction s_player_equip_carry;
        s_player_equip_carry = -1;
    };
};

/*if (dayz_onBack != "" /*&& !dayz_onBackActive && !_inVehicle && !_onLadder && !r_player_unconscious) then {
    if (s_player_equip_carry < 0) then {
        _text = getText (configFile >> "CfgWeapons" >> dayz_onBack >> "displayName");
        s_player_equip_carry = player addAction [format[localize "STR_ACTIONS_WEAPON", _text], "\z\addons\dayz_code\actions\player_switchWeapon_action.sqf", nil, 0.5, false, true];
    };
} else {
    player removeAction s_player_equip_carry;
    s_player_equip_carry = -1;
};*/

//fishing
if ((_currentWeapon in Dayz_fishingItems) && {!dayz_fishingInprogress} && {!_inVehicle} && {!dayz_isSwimming}) then {
    if (s_player_fishing < 0) then {
        s_player_fishing = player addAction [localize "STR_ACTION_CAST", "\z\addons\dayz_code\actions\player_goFishing.sqf",player, 0.5, false, true];
    };
} else {
    player removeAction s_player_fishing;
    s_player_fishing = -1;
};
if ((_primaryWeapon in Dayz_fishingItems) && {!dayz_fishingInprogress} && {_inVehicle && (driver _vehicle != player)}) then {
    if (s_player_fishing_veh < 0) then {
        s_player_fishing_veh = _vehicle addAction [localize "STR_ACTION_CAST", "\z\addons\dayz_code\actions\player_goFishing.sqf",_vehicle, 0.5, false, true];
    };
} else {
    _vehicle removeAction s_player_fishing_veh;
    s_player_fishing_veh = -1;
};

/* //Allows drinking from hands at ponds and ambient wells, but may negatively impact performance
if (_canDo && !_inVehicle && !dayz_isSwimming && ((call fn_nearWaterHole) select 0)) then {
    if (s_player_Drinkfromhands < 0) then {
        s_player_Drinkfromhands = player addAction [localize "STR_ACTIONS_DRINK2", "\z\addons\dayz_code\actions\water_fill.sqf","hands", 0.5, false, true];
    };
} else {
    if (s_player_Drinkfromhands >= 0) then {
        player removeAction s_player_Drinkfromhands;
        s_player_Drinkfromhands = -1;
    };
};
*/

if (_inVehicle) then {
    DZE_myVehicle = _vehicle;
    if (_vehicleOwnerID != "0" && _canDo) then {
        if (s_player_lockUnlockInside_ctrl < 0) then {
            _totalKeys = call epoch_tempKeys;
            _temp_keys = _totalKeys select 0;
            _temp_keys_names = _totalKeys select 1;    
            _hasKey = _vehicleOwnerID in _temp_keys;
            _oldOwner = (_vehicleOwnerID == _uid);
        
            _text = getText (configFile >> "CfgVehicles" >> (typeOf DZE_myVehicle) >> "displayName");
            if (locked DZE_myVehicle) then {
                if (_hasKey || _oldOwner) then {
                    _unlock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[DZE_myVehicle,(_temp_keys_names select (_temp_keys find _vehicleOwnerID))], 2, false, true];
                    s_player_lockUnlockInside set [count s_player_lockUnlockInside,_unlock];
                    s_player_lockUnlockInside_ctrl = 1;
                } else {
                    if (_hasHotwireKit) then {
                        _unlock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",DZE_myVehicle, 2, true, true];
                    } else {
                        _unlock = DZE_myVehicle addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",DZE_myVehicle, 2, true, true];
                    };
                    s_player_lockUnlockInside set [count s_player_lockUnlockInside,_unlock];
                    s_player_lockUnlockInside_ctrl = 1;
                };
            } else {
                if (_hasKey || _oldOwner) then {
                    _lock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",DZE_myVehicle, 1, false, true];
                    s_player_lockUnlockInside set [count s_player_lockUnlockInside,_lock];
                    s_player_lockUnlockInside_ctrl = 1;
                };
            };
        };
    } else {
        {DZE_myVehicle removeAction _x} count s_player_lockUnlockInside;s_player_lockUnlockInside = [];
        s_player_lockUnlockInside_ctrl = -1;
    };
} else {
    {DZE_myVehicle removeAction _x} count s_player_lockUnlockInside;s_player_lockUnlockInside = [];
    s_player_lockUnlockInside_ctrl = -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 [localize "STR_EPOCH_ACTIONS_DETACHVEHICLE","\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_NameTags > 0) then {
    if (s_player_showname < 0 && !_isPZombie) then {
        if (DZE_NameTags < 2) 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_attack < 0) then {
        s_player_attack = player addAction [localize "STR_EPOCH_ACTIONS_ATTACK", "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf", _cursorTarget, 6, false, true];
    };
    if (s_player_callzombies < 0) then {
        s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\pzombie\call_zombies.sqf",player, 5, true, 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 {
        _isZombie = _cursorTarget isKindOf "zZombie_base";
        _isHarvested = _cursorTarget getVariable["meatHarvested",false];
        _isMan = _cursorTarget isKindOf "Man"; //includes animals and zombies
        if (!alive _cursorTarget && _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 or SHIP
_allowedDistance = if ((_cursorTarget isKindOf "Air") or (_cursorTarget isKindOf "Ship")) then {8} else {4};

if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cursorTarget < _allowedDistance) && _canDo) then {
//Has some kind of target
    _typeOfCursorTarget = typeOf _cursorTarget;
    _isVehicle = _cursorTarget isKindOf "AllVehicles";
    _isBicycle = _cursorTarget isKindOf "Bicycle";
    _isMan = _cursorTarget isKindOf "Man"; //includes animals and zombies
    _isDestructable = _cursorTarget isKindOf "BuiltItems";
    _isGenerator = _typeOfCursorTarget == "Generator_DZ";
    //_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"]; //Checked in player_flipvehicle
    _isFuel = false;
    _hasBarrel = "ItemFuelBarrel" in _magazinesPlayer;
    _hasFuel20 = "ItemJerrycan" in _magazinesPlayer;
    _hasFuel5 = "ItemFuelcan" in _magazinesPlayer;
    _hasEmptyFuelCan = (("ItemJerrycanEmpty" in _magazinesPlayer) || ("ItemFuelcanEmpty" in _magazinesPlayer) || ("ItemFuelBarrelEmpty" in _magazinesPlayer));
    _itemsPlayer = items player;
    _weaponsPlayer = weapons player;
    _hasCrowbar = "ItemCrowbar" in _itemsPlayer or "MeleeCrowbar" in _weaponsPlayer or dayz_onBack == "MeleeCrowbar";
    _hasToolbox = "ItemToolbox" in _itemsPlayer;
    _hasbottleitem = (("ItemWaterBottle" in _magazinesPlayer) || {"ItemWaterBottleInfected" in _magazinesPlayer} || {"ItemWaterBottleSafe" in _magazinesPlayer} || {"ItemWaterBottleBoiled" in _magazinesPlayer});
    _isAlive = alive _cursorTarget;
    _text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
    _isPlant = _typeOfCursorTarget in Dayz_plants;
    _istypeTent = (_cursorTarget isKindOf "TentStorage_base") or (_cursorTarget isKindOf "IC_Tent");
    _upgradeItems = ["TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3"];
    _characterID = _cursorTarget getVariable ["CharacterID","0"];
    
    if (DZE_permanentPlot) then {
        _id = _uid;
        _ownerID = _cursorTarget getVariable ["ownerPUID","0"];
    } else {
        _id = dayz_characterID;
        _ownerID = _characterID;
    };

    _isDisallowRefuel = _typeOfCursorTarget in ["M240Nest_DZ","MMT_Civ","MMT_USMC","Old_bike_TK_CIV_EP1","Old_bike_TK_INS_EP1"];    
    _isDog = (_cursorTarget isKindOf "Pastor" || _cursorTarget isKindOf "Fin");
    _isModular = _cursorTarget isKindOf "ModularItems";
    _isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
    _player_deleteBuild = false;
    _player_lockUnlock_crtl = false;
    
    //fuel tanks
    if (_hasEmptyFuelCan) then {
        {
            if (_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
        } count dayz_fuelsources;
    };

    //remove gathered plant if empty
    if (_isPlant) then {
        _cursorTarget call player_gather;
    };

    //flip vehicle
    if (_isVehicle && {!_isMan} && {!(canMove _cursorTarget)} && {_isAlive} && {player distance _cursorTarget >= 2} && {(count (crew _cursorTarget))== 0} && {((vectorUp _cursorTarget) select 2) < 0.5}) 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 Fuel can
    if (_hasEmptyFuelCan && {_isFuel} && {!a_player_jerryfilling} && {_isAlive}) 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",_cursorTarget, 1, false, true];
        };
    } else {
        player removeAction s_player_fillfuel;
        s_player_fillfuel = -1;
    };
    
    if (damage _cursorTarget < 1) then {
        //Allow player to fill vehicle 210L
        if (_hasBarrel && {!_isMan} && {_isVehicle} && {fuel _cursorTarget < 1} && {!a_player_jerryfilling} && {!_isDisallowRefuel}) then {
            if (s_player_fillfuel210 < 0) then {
                s_player_fillfuel210 = player addAction [format[localize "str_actions_medical_10",_text,"210"], "\z\addons\dayz_code\actions\refuel.sqf",["ItemFuelBarrel",_cursorTarget], 0, true, true, "", "'ItemFuelBarrel' in magazines player"];
            };
        } else {
            player removeAction s_player_fillfuel210;
            s_player_fillfuel210 = -1;
        };
        
        //Allow player to fill vehicle 20L
        if (_hasFuel20 && {!_isMan} && {_isVehicle} && {fuel _cursorTarget < 1} && {!a_player_jerryfilling} && {!_isDisallowRefuel}) then {
            if (s_player_fillfuel20 < 0) then {
                s_player_fillfuel20 = player addAction [format[localize "str_actions_medical_10",_text,"20"], "\z\addons\dayz_code\actions\refuel.sqf",["ItemJerrycan",_cursorTarget], 0, true, true, "", "'ItemJerrycan' in magazines player"];
            };
        } else {
            player removeAction s_player_fillfuel20;
            s_player_fillfuel20 = -1;
        };

        //Allow player to fill vehicle 5L
        if (_hasFuel5 && {!_isMan} && {_isVehicle} && {fuel _cursorTarget < 1} && {!a_player_jerryfilling} && {!_isDisallowRefuel}) then {
            if (s_player_fillfuel5 < 0) then {
                s_player_fillfuel5 = player addAction [format[localize "str_actions_medical_10",_text,"5"], "\z\addons\dayz_code\actions\refuel.sqf",["ItemFuelcan",_cursorTarget], 0, true, true, "", "'ItemFuelcan' in magazines player"];
            };
        } else {
            player removeAction s_player_fillfuel5;
            s_player_fillfuel5 = -1;
        };
        /*
            Vanilla generator is currently not functional.
            Vanilla generator refuel actions removed for now.
            Epoch generator fill action is below.
        */
        //Allow player to siphon vehicles
        if (_hasEmptyFuelCan && {!_isMan} && {_isVehicle} && {!_isBicycle} && {!a_player_jerryfilling} && {fuel _cursorTarget > 0}) then {
            if (s_player_siphonfuel < 0) then {
                s_player_siphonfuel = player addAction [format[localize "str_siphon_start"], "\z\addons\dayz_code\actions\siphonFuel.sqf",_cursorTarget, 0, true, true];
            };
        } else {
            player removeAction s_player_siphonfuel;
            s_player_siphonfuel = -1;
        };
    } else {
        player removeAction s_player_fillfuel210;
        s_player_fillfuel210 = -1;
        player removeAction s_player_fillfuel20;
        s_player_fillfuel20 = -1;
        player removeAction s_player_fillfuel5;
        s_player_fillfuel5 = -1;
        player removeAction s_player_siphonfuel;
        s_player_siphonfuel = -1;
    };
    
    //Fireplace Actions check
    if ((_cursorTarget call isInflamed) or (inflamed _cursorTarget)) then {
        _hasRawMeat = {_x in Dayz_meatraw} count _magazinesPlayer > 0;
        //_hastinitem = {_x in boil_tin_cans} count _magazinesPlayer > 0;
        _hasunboiledwater = {_x in ["ItemWaterBottleInfected","ItemWaterBottle","ItemWaterBottleSafe","ItemWaterbottle1oz","ItemWaterbottle2oz","ItemWaterbottle3oz","ItemWaterbottle4oz","ItemWaterbottle5oz","ItemWaterbottle6oz","ItemWaterbottle7oz","ItemWaterbottle8oz","ItemWaterbottle9oz"]} count _magazinesPlayer > 0;

        
    //Cook Meat    
        if (_hasRawMeat && !a_player_cooking) 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];
            };
        };
    //Boil Water
        if (_hasunboiledwater && !a_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 {
        if (a_player_cooking) then {
            player removeAction s_player_cook;
            s_player_cook = -1;
        };
        if (a_player_boil) then {
            player removeAction s_player_boil;
            s_player_boil = -1;
        };
    };
    
//    Not needed.
/*
    if(_cursorTarget == dayz_hasFire) then {
        if ((s_player_fireout < 0) && !(_cursorTarget call isInflamed) && (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;
    };
*/
    if (_isAlive) then {
        _restrict = _typeOfCursorTarget in DZE_restrictRemoval;
    
        //Allow player to remove objects with no ownership or access required
        if (!_restrict && (_isDestructable || _typeOfCursorTarget in DZE_isWreck || _typeOfCursorTarget in DZE_isWreckBuilding || _typeOfCursorTarget in DZE_isRemovable)) then {
            if (_hasToolbox && _hasCrowbar) then {
                _player_deleteBuild = true;
            };
        };
        //Allow player to remove objects only if they have proper ownership or access
        if (_restrict || _isModular || _isModularDoor || _isGenerator || _typeOfCursorTarget in DZE_isDestroyableStorage) then {
            if (_hasToolbox && _hasCrowbar) then {
                _hasAccess = [player, _cursorTarget] call FNC_check_access;
                if ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3)) then {
                    _player_deleteBuild = true;
                };
            };
        };        
        if (_isVehicle) then {
            if ((_characterID != "0") && {!_isMan}) then {
                _player_lockUnlock_crtl = true;
            };
        };
    };
    
    if (_player_deleteBuild) then {
        if (s_player_deleteBuild < 0) then {
            s_player_deleteBuild = player addAction [format[localize "STR_EPOCH_REMOVE",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, false, true];
        };
    } else {
        player removeAction s_player_deleteBuild;
        s_player_deleteBuild = -1;
    };

    //remove Own objects
    if (_ownerID == _id) then {
        //upgrade items
        if (_typeOfCursorTarget in _upgradeItems) then {
            if (s_player_upgradestorage < 0) then {
                _displayName = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
                s_player_upgradestorage = player addAction [format[localize "STR_EPOCH_UPGRADE",_displayName], "\z\addons\dayz_code\actions\object_upgradeStorage.sqf",_cursorTarget, 0, false, true];
            };
        } else {
            player removeAction s_player_upgradestorage;
            s_player_upgradestorage = -1
        };
        if (_istypeTent) then {
            //Packing my tent
            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 {
            player removeAction s_player_packtent;
            s_player_packtent = -1;
        };
    } else {
        player removeAction s_player_upgradestorage;
        s_player_upgradestorage = -1;
        player removeAction s_player_packtent;
        s_player_packtent = -1;
    };
    //other tents
    if (_istypeTent) then {
        _hasIgnitors = {_x in DayZ_Ignitors} count _itemsPlayer > 0;
        if ((_hasFuel20 or _hasFuel5 or _hasBarrel) && _hasIgnitors) then {
            if (s_player_destroytent < 0) then {
                s_player_destroytent = player addAction [localize "str_actions_self_destroytent", "\z\addons\dayz_code\actions\player_destroyTent.sqf",_cursorTarget, 0, false, true];
            };
        } else {
            player removeAction s_player_destroytent;
            s_player_destroytent = -1;
        };    
        if (_typeOfCursorTarget in ["IC_DomeTent","IC_Tent"]) then {
            if (s_player_packtentinfected < 0) then {
                s_player_packtentinfected = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true];
            };
        } else {
            player removeAction s_player_packtentinfected;
            s_player_packtentinfected = -1;
        };
        //sleep
        if (s_player_sleep < 0) 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;
    };
    
    //Study Body
    if (_cursorTarget getVariable["bodyName",""] != "") 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;
    };
/*    
    //Carbomb
    _hasCarBomb = "ItemCarBomb" in _magazinesPlayer;
    if (((_cursorTarget isKindOf "Car") || (_cursorTarget isKindOf "Air") || (_cursorTarget isKindOf "Motorcycle")) && _hasCarBomb) then {
        if (s_player_attach_bomb < 0) then {
            s_player_attach_bomb = player addAction [localize "str_bombAttach", "\z\addons\dayz_code\actions\player_attach_bomb.sqf",_cursorTarget, 3, true, true];
        };
    } else {
            player removeAction s_player_attach_bomb;
            s_player_attach_bomb = -1;
    };
*/
    //Repairing Vehicles
    if (_isVehicle && {!_isMan} && {dayz_myCursorTarget != _cursorTarget} && {_hasToolbox} && {damage _cursorTarget < 1} && {_typeOfCursorTarget != "M240Nest_DZ"}) then {
        if (s_player_repair_crtl < 0) then {
            dayz_myCursorTarget = _cursorTarget;
            _menu = dayz_myCursorTarget addAction [localize "str_actions_repairveh", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false];
            if (!_isBicycle) then { //Bike wheels should not give full size tires. Also model does not update to show removed wheels.
                if (!DZE_salvageLocked) then {
                    if (!locked _cursorTarget) then {
                        _menu1 = dayz_myCursorTarget addAction [localize "str_actions_salvageveh", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false];
                        s_player_repairActions set [count s_player_repairActions,_menu1];
                    };
                } else {
                    _menu1 = dayz_myCursorTarget addAction [localize "str_actions_salvageveh", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false];
                    s_player_repairActions set [count s_player_repairActions,_menu1];
                };
            };
            s_player_repairActions set [count s_player_repairActions,_menu];
            s_player_repair_crtl = 1;
        } else {
            {dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;
            s_player_repairActions = [];
            s_player_repair_crtl = -1;
        };
    };
    /* //Vanilla base building currently not used in Epoch
    // House locking and unlocking
    _isHouse = _typeOfCursorTarget in ["SurvivorWorkshopAStage5", "SurvivorWorkshopBStage5", "SurvivorWorkshopCStage5"];
    _isGate = _typeOfCursorTarget in ["WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","MetalGate_1","MetalGate_2","MetalGate_3","MetalGate_4"];
    _isFence = _typeOfCursorTarget in ["WoodenFence_1","WoodenFence_2","WoodenFence_3","WoodenFence_4","WoodenFence_5","WoodenFence_6","MetalFence_1","MetalFence_2","MetalFence_3","MetalFence_4","MetalFence_5","MetalFence_6","MetalFence_7"];

    //Only the owners can lock the gates
    _isLockableGate = _typeOfCursorTarget in ["WoodenGate_2","WoodenGate_3","WoodenGate_4","MetalGate_2","MetalGate_3","MetalGate_4"];
    _isUnlocked = _cursorTarget getVariable ["isOpen","0"] == "1";

    //Allow the gates to be opened when not locked by anyone
    _isOpen = ((_cursorTarget animationPhase "DoorL") == 1) || ((_cursorTarget animationPhase "DoorR") == 1);
    _isClosed = ((_cursorTarget animationPhase "DoorL") == 0) || ((_cursorTarget animationPhase "DoorR") == 0);
    
    //[["ownerArray",["PID"]]]
    _ownerArray = _cursorTarget getVariable ["ownerArray",["0"]];
    _ownerBuildLock = _cursorTarget getVariable ["BuildLock",false];    
    _ownerPID = (_ownerArray select 0);
    
    // open Gate
    if (_isGate && _isClosed && _isUnlocked) then {
        if (s_player_openGate < 0) then {
            s_player_openGate = player addAction [localize "STR_DN_OUT_O_GATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Open"], 1, true, true];
        };
    } else {
        player removeAction s_player_openGate;
        s_player_openGate = -1;
    };
    // Close Gate
    if (_isGate && _isOpen && _isUnlocked) then {
        if (s_player_CloseGate < 0) then {
            s_player_CloseGate = player addAction [localize "STR_DN_OUT_C_GATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Close"], 1, true, true];
        };
    } else {
        player removeAction s_player_CloseGate;
        s_player_CloseGate = -1;
    };
    // Set
    if ((_isHouse or _isLockableGate) && (_ownerPID == _uid) && !_isUnlocked && _isClosed) then {
        if (s_player_setCode < 0) then {
            s_player_setCode = player addAction [localize "STR_BLD_ACTIONS_SETLOCKCODE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Set"], 1, true, true];
        };
    } else {
        player removeAction s_player_setCode;
        s_player_setCode = -1;
    };
    //Lock Build point
    if ((_isFence or _isGate) && (_ownerPID == _uid) && !_ownerBuildLock) then {
        if (s_player_BuildLock < 0) then {
            s_player_BuildLock = player addAction [localize "STR_BLD_ACTIONS_LOCKBUILD", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"BuildLock"], 1, true, true];
        };
    } else {
        player removeAction s_player_BuildLock;
        s_player_BuildLock = -1;
    };
    //UnLock Build point
    if ((_isFence or _isGate) && (_ownerPID == _uid) && _ownerBuildLock) then {
        if (s_player_BuildUnLock < 0) then {
            s_player_BuildUnLock = player addAction [localize "STR_BLD_ACTIONS_UNLOCKBUILD", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"BuildUnLock"], 1, true, true];
        };
    } else {
        player removeAction s_player_BuildUnLock;
        s_player_BuildUnLock = -1;
    };
    // Unlock Gate/House
    if ((_isHouse or _isLockableGate) && !_isUnlocked && _isClosed) then {
        if (s_player_unlockhouse < 0) then {
            s_player_unlockhouse = player addAction [localize "STR_BLD_ACTIONS_UNLOCKGATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Unlock"], 1, true, true];
        };
    } else {
        player removeAction s_player_unlockhouse;
        s_player_unlockhouse = -1;
    };
    // Lock Gate/House
    if ((_isHouse or _isLockableGate) && _isUnlocked && _isClosed) then {
        if (s_player_lockhouse < 0) then {
            s_player_lockhouse = player addAction [localize "STR_BLD_ACTIONS_LOCKGATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Lock"], 1, true, true];
        };
    } else {
        player removeAction s_player_lockhouse;
        s_player_lockhouse = -1;
    };
    //Break In
    if ((_isHouse or _isLockableGate) && (_ownerPID != _uid) && !_isUnlocked) then {
        if (s_player_breakinhouse < 0) then {
            s_player_breakinhouse = player addAction [localize "STR_BLD_ACTIONS_BREAKIN", "\z\addons\dayz_code\actions\player_breakin.sqf",_cursorTarget, 1, true, true];
        };
    } else {
        player removeAction s_player_breakinhouse;
        s_player_breakinhouse = -1;
    };*/
    if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {speed player <= 1}) then {
        _hasAccess = [player, _cursorTarget] call FNC_check_access;
        _allowed = ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4));
        if (DZE_permanentPlot) then {
            if (s_player_plotManagement < 0 && _allowed) then {
                s_player_plotManagement = player addAction [format["<t color='#0059FF'>%1</t>",localize "STR_EPOCH_ACTIONS_MANAGEPLOT"], "\z\addons\dayz_code\actions\plotManagement\initPlotManagement.sqf", [], 5, false];
            };
        } else {
            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_force = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_FORCE_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "force", 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];
            };
        };
        if (s_player_plot_boundary < 0 && (_allowed or (_hasAccess select 1))) then {
            s_player_plot_boundary = player addAction [localize "STR_EPOCH_PLOTMANAGEMENT_SHOW_BOUNDARY", "\z\addons\dayz_code\actions\plotManagement\plotToggleMarkers.sqf", "", 1, 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_force;
        s_player_maintain_area_force = -1;
        player removeAction s_player_maintain_area_preview;
        s_player_maintain_area_preview = -1;
        player removeAction s_player_plot_boundary;
        s_player_plot_boundary = -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;
        };

        if (_allowTow) then {
            {
                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 (player nearEntities [DZE_HeliAllowTowFrom,15]);
        };

        _attached = _cursorTarget getVariable["attached",false];
        if (_found && {_allowTow} && {!locked _cursorTarget} && {!_isPZombie} && {typeName _attached != "OBJECT"}) then {
            if (s_player_heli_lift < 0) then {
                s_player_heli_lift = player addAction [localize "STR_EPOCH_ACTIONS_ATTACHTOHELI", "\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 {
            _totalKeys = call epoch_tempKeys;
            _temp_keys = _totalKeys select 0;
            _temp_keys_names = _totalKeys select 1;
            _hasKey = _characterID in _temp_keys;
            _oldOwner = (_characterID == _uid);
            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 (_temp_keys find _characterID))], 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, false, 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;
    };
    
    // gear access on surrendered player
    if (isPlayer _cursorTarget && {_isAlive} && {_cursorTarget getVariable ["DZE_Surrendered",false]}) then {
        if (s_player_SurrenderedGear < 0) then {
            s_player_SurrenderedGear = player addAction [localize "STR_UI_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true];
        };
    } else {
        player removeAction s_player_SurrenderedGear;
        s_player_SurrenderedGear = -1;
    };

    // Allow manage door
    if (DZE_doorManagement && (_typeOfCursorTarget in DZE_DoorsLocked)) then {
        // Check player access
        _hasAccess = [player, _cursorTarget] call FNC_check_access;
        if (s_player_manageDoor < 0 && ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4) or (_hasAccess select 5) or (_hasAccess select 6))) then {
            s_player_manageDoor = player addAction [format["<t color='#0059FF'>%1</t>", localize "STR_EPOCH_ACTIONS_MANAGEDOOR"], "\z\addons\dayz_code\actions\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) && {_characterID != "0"} && {player distance _cursorTarget < 3} && {!keypadCancel}) then {
        if (s_player_unlockvault < 0) then {
            if (_typeOfCursorTarget in DZE_LockedStorage) then {
                if (_characterID == dayz_combination || _ownerID == _uid) 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 (_characterID != dayz_combination && _ownerID != _uid) 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) && {_characterID != "0"} && {player distance _cursorTarget < 3}  && {!keypadCancel}) then {
        if (s_player_lockvault < 0) then {
            if (_characterID == dayz_combination || _ownerID == _uid) 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 && (_characterID == dayz_combination || _ownerID == _uid)) 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
            _findNearestGen = {((alive _x) && (_x getVariable ["GeneratorRunning",false]))} count (([player] call FNC_getPos) nearObjects ["Generator_DZ",30]);
            
            // show that pump needs power if no generator nearby.
            if (_findNearestGen > 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 && _isAlive) 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 {
            _hasAccess = [player, _cursorTarget] call FNC_check_access;
            _upgrade = getArray (configFile >> "CfgVehicles" >> (typeOf _cursorTarget) >> "upgradeBuilding");
            if (((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3)) && (count _upgrade) > 0) then {
                s_player_lastTarget set [0,_cursorTarget];
                s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_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 ((DZE_Lock_Door == _characterID)  && {!keypadCancel} && {_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base"}) 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 {
            _hasAccess = [player, _cursorTarget] call FNC_check_access;
            if ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3)) 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 ((damage _cursorTarget >= DZE_DamageBeforeMaint) && {_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ"}) 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 {
            _hasAccess = [player, _cursorTarget] call FNC_check_access;
            if ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3)) then {
                _text2 = _text + " (" + str(round ((damage _cursorTarget) * 100)) + "% damaged)";
                s_player_lastTarget set [2,_cursorTarget];
                s_player_maint_build = player addAction [format["%1 %2",localize "STR_EPOCH_ACTIONS_MAINTAIN",_text2], "\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 (_isGenerator) 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 (_hasFuel20 or _hasFuel5 or _hasBarrel) 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;
    };
    */
    
    
if (!_isAlive && {(_cursorTarget isKindOf "zZombie_base")}) then {
_wasguted = _cursorTarget getVariable["wasguted",false];

if (!_wasguted) then {
if ("ItemKnife" in _itemsPlayer) then {
if (s_player_zhide2 < 0) then {
s_player_zhide2 = player addAction [format["<t color='#0096ff'>SmearGutsOnYou</t>"], "zedutility\walkamongstthedead\smear_guts.sqf",_cursorTarget,0, false,true];
};
          
          
} else {
    
        player removeAction s_player_zhide2;
        s_player_zhide2 = -1;    
        };
        };
_lootzed = _cursorTarget getVariable["lootzed",false];        
if (!_lootzed) then {        
if (s_player_zhide3 < 0) then {
s_player_zhide3 = player addAction [format["<t color='#0096ff'>CheckZed</t>"], "zedutility\walkamongstthedead\lootzed.sqf",_cursorTarget,0, false,true];
};
} else {
player removeAction s_player_zhide3;
s_player_zhide3 = -1;    
};    

};    

    // All Traders
    if (_isMan && {!(isPlayer _cursorTarget)} && {_typeOfCursorTarget in serverTraders} && {!_isPZombie}) then {
        if (s_player_parts_crtl < 0) then {
            _humanity = player getVariable ["humanity",0];
            _traderMenu = call compile format["menu_%1;",_typeOfCursorTarget];        
            _low_high = localize "STR_EPOCH_ACTIONS_HUMANITY_LOW";
            _humanity_logic = false;
            if ((_traderMenu select 2) == "friendly") then {
                _humanity_logic = (_humanity < -5000);
            };
            if ((_traderMenu select 2) == "hostile") then {
                _low_high = localize "STR_EPOCH_ACTIONS_HUMANITY_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
                {
                    _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);
                if (DZE_ConfigTrader) then {
                    _buyV = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\AdvancedTrading\init.sqf",(_traderMenu select 0), 999, true, false];
                    s_player_parts set [count s_player_parts,_buyV];
                } else {
                    // 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
        _hasRawMeat = {_x in Dayz_meatraw} count _magazinesPlayer > 0;
        if (_isDog && {_hasRawMeat} && {_isAlive} && {_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\dog\tame_dog.sqf", _cursorTarget, 1, false, true];
            };
        } else {
            player removeAction s_player_tamedog;
            s_player_tamedog = -1;
        };
        if (_isDog && {_ownerID == _id} && {_isAlive}) then {
            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 && _hasbottleitem) 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 {
                if (_dogHandle getFSMVariable "_actionLieDown") 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_zhide2;
    s_player_zhide2 = -1;
    player removeAction s_player_zhide3;
    s_player_zhide3 = -1;
    player removeAction s_player_plot_boundary;
    s_player_plot_boundary = -1;
    player removeAction s_player_plotManagement;
    s_player_plotManagement = -1;
    {dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
    player removeAction s_player_repair_crtl;
    s_player_repair_crtl = -1;
    dayz_myCursorTarget = objNull;
    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_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_packtentinfected;
    s_player_packtentinfected = -1;
    player removeAction s_player_fillfuel;
    s_player_fillfuel = -1;
    player removeAction s_player_studybody;
    s_player_studybody = -1;
    //fuel
    player removeAction s_player_fillfuel210;
    s_player_fillfuel210 = -1;
    player removeAction s_player_fillfuel20;
    s_player_fillfuel20 = -1;
    player removeAction s_player_fillfuel5;
    s_player_fillfuel5 = -1;
    //Allow player to siphon vehicle fuel
    player removeAction s_player_siphonfuel;
    s_player_siphonfuel = -1;
    //Allow player to gather
    player removeAction s_player_gather;
    s_player_gather = -1;
    player removeAction s_player_destroytent;
    s_player_destroytent = -1;
    // player removeAction s_player_attach_bomb;
    //  s_player_attach_bomb = -1;
    //debug
    //player removeAction s_player_debugCheck;
    //s_player_debugCheck = -1;
    player removeAction s_player_upgradestorage;
    s_player_upgradestorage = -1;
    /* //Unlock,Lock // Vanilla base building currently not used in Epoch
    player removeAction s_player_setCode;
    s_player_setCode = -1;
    player removeAction s_player_lockhouse;
    s_player_lockhouse = -1;
    player removeAction s_player_unlockhouse;
    s_player_unlockhouse = -1;
    player removeAction s_player_openGate;
    s_player_openGate = -1;
    player removeAction s_player_CloseGate;
    s_player_CloseGate = -1;
    player removeAction s_player_breakinhouse;
    s_player_breakinhouse = -1;
    player removeAction s_player_BuildUnLock;
    s_player_BuildUnLock = -1;
    player removeAction s_player_BuildLock;
    s_player_BuildLock = -1;*/
    {player removeAction _x} count s_player_combi;s_player_combi = [];    
    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_SurrenderedGear;
    s_player_SurrenderedGear = -1;
    player removeAction s_player_maintain_area;
    s_player_maintain_area = -1;
    player removeAction s_player_maintain_area_force;
    s_player_maintain_area_force = -1;
    player removeAction s_player_maintain_area_preview;
    s_player_maintain_area_preview = -1;    
    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_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;
    player removeAction s_player_manageDoor;
    s_player_manageDoor = -1;
};

//Dog actions on player self
if (_dogHandle > 0) then {
    _dog = _dogHandle getFSMVariable "_dog";
    if (isNil "_dog") exitWith {};
    if (isNil "_ownerID") then {_ownerID = "0"};
    if (_canDo && !_inVehicle && alive _dog && !(_ownerID in [dayz_characterID,_uid])) 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;
};

//Monitor
player setVariable ["selfActions", diag_ticktime, false];

 

 

Link to comment
Share on other sites

@Draundenth

this gonna be your new init.sqf

Spoiler

 

/*    
    For DayZ Epoch
    Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz
*/

//Server settings
dayZ_instance = 11; //Instance ID of this server
dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number)

//Game settings
dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled
dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled
dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick).
dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations
dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS)
dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS)
dayz_ForcefullmoonNights = true; // Forces night time to be full moon.
dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations.

//DayZMod presets
dayz_presets = "Custom"; //"Custom","Classic","Vanilla","Elite"

//Only need to edit if you are running a custom server.
if (dayz_presets == "Custom") then {
    dayz_enableGhosting = false; //Enable disable the ghosting system.
    dayz_ghostTimer = 60; //Sets how long in seconds a player must be disconnected before being able to login again.
    dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits
    dayz_spawncarepkgs_clutterCutter = 0; //0 = loot hidden in grass, 1 = loot lifted, 2 = no grass
    dayz_spawnCrashSite_clutterCutter = 0;    // heli crash options 0 = loot hidden in grass, 1 = loot lifted, 2 = no grass
    dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn 0 = loot hidden in grass, 1 = loot lifted, 2 = no grass
    dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both
    dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked
    dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system.
    dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag
    dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS).
};

//Temp settings
dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies.
dayz_maxGlobalZeds = 500; //Limit the total zeds server wide.
dayz_temperature_override = false; // Set to true to disable all temperature changes.

enableRadio false;
enableSentences false;

// EPOCH CONFIG VARIABLES START //
#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line
// See the above file for a full list including descriptions and default values
// Uncomment the lines below to change the default loadout
//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"];
//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"];
//DefaultBackpack = "DZ_Patrol_Pack_EP1";
//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"];
dayz_paraSpawn = false; // Halo spawn
DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones
DZE_BuildOnRoads = false; // Allow building on roads
DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status
DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly.
DZE_slowZombies = false; // Force zombies to always walk
DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects.
DZE_GodModeBase = false; // Make player built base objects indestructible
DZE_requireplot = 1; // Require a plot pole to build  0 = Off, 1 = On
DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases.
DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius
DZE_SelfTransfuse = true; // Allow players to bloodbag themselves
DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds]
MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map
MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map
spawnArea = 1400; // Distance around markers to find a safe spawn position
spawnShoremode = 1; // Random spawn locations  1 = on shores, 0 = inland
EpochUseEvents = false; //Enable event scheduler. Define custom scripts in dayz_server\modules to run on a schedule.
EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
// EPOCH CONFIG VARIABLES END //

diag_log 'dayz_preloadFinished reset';
dayz_preloadFinished=nil;
onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;";
onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;";
with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon

_verCheck = (getText (configFile >> "CfgMods" >> "DayZ" >> "version") == "DayZ Epoch 1.0.6.1");
if (!isDedicated) then {
    enableSaving [false, false];    startLoadingScreen ["","RscDisplayLoadCustom"];
    progressLoadingScreen 0;
    dayz_loadScreenMsg = localize 'str_login_missionFile';
    if (_verCheck) then {
        progress_monitor = [] execVM "DZE_Hotfix_1.0.6.1A\system\progress_monitor.sqf";
    } else {
        progress_monitor = [] execVM "\z\addons\dayz_code\system\progress_monitor.sqf";
    };
    0 cutText ['','BLACK',0];
    0 fadeSound 0;
    0 fadeMusic 0;
};

initialized = false;
call compile preprocessFileLineNumbers "custom\variables.sqf";
progressLoadingScreen 0.05;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";
progressLoadingScreen 0.15;
call compile preprocessFileLineNumbers "logistic\init.sqf";
call compile preprocessFileLineNumbers "custom\compiles.sqf";
call compile preprocessFileLineNumbers "addons\bike\init.sqf";
if (_verCheck) then {
    #include "DZE_Hotfix_1.0.6.1A\init\compiles.sqf"
};
progressLoadingScreen 0.25;
call compile preprocessFileLineNumbers "server_traders.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus11.sqf"; //Add trader city objects locally on every machine early
if (dayz_POIs && (toLower worldName == "chernarus")) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus\poi\init.sqf";}; //Add POI objects locally on every machine early
initialized = true;

setTerrainGrid 25;
if (dayz_REsec == 1) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\REsec.sqf";};
execVM "\z\addons\dayz_code\system\DynamicWeatherEffects.sqf";

if (isServer) then {
    call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\dynamic_vehicle.sqf";
    call compile preprocessFileLineNumbers "\z\addons\dayz_server\system\server_monitor.sqf";
    execVM "\z\addons\dayz_server\traders\chernarus11.sqf"; //Add trader agents
    
    //Get the server to setup what waterholes are going to be infected and then broadcast to everyone.
    if (dayz_infectiousWaterholes && (toLower worldName == "chernarus")) then {execVM "\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\init.sqf";};
    
    // Lootable objects from CfgTownGeneratorDefault.hpp
    if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\system\mission\chernarus\MainLootableObjects.sqf"; };
};

if (!isDedicated) then {
    //Enables Plant lib fixes
    execVM "\z\addons\dayz_code\system\antihack.sqf";
    
    if (toLower(worldName) == "chernarus") then {
        diag_log "WARNING: Clearing annoying benches from Chernarus";
        ([4654,9595,0] nearestObject 145259) setDamage 1;
        ([4654,9595,0] nearestObject 145260) setDamage 1;
    };
    
    if (dayz_townGenerator) then { execVM "\z\addons\dayz_code\compile\client_plantSpawner.sqf"; };
    execFSM "\z\addons\dayz_code\system\player_monitor.fsm";
    //[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    if (DZE_R3F_WEIGHT) then {execVM "\z\addons\dayz_code\external\R3F_Realism\R3F_Realism_Init.sqf";};
    waitUntil {scriptDone progress_monitor};
    cutText ["","BLACK IN", 3];
    3 fadeSound 1;
    3 fadeMusic 1;
    endLoadingScreen;
};
call compile preprocessFileLineNumbers "zedutility\walkamongstthedead\config.sqf";

 

 your fn_selfactions.sqf is fine.

Really i dont know why if walk amongst the dead install guide say you :

in init.sqf at very bottom add

call compile preprocessFileLineNumbers "zedutility\walkamongstthedead\config.sqf";

you add it in the first place that you find :D

call compile preprocessFileLineNumbers "zedutility\walkamongstthedead\config.sqf"; FOR EVER BAD!!!!!!!!!!!!!!!:biggrin:
call compile preprocessFileLineNumbers "server_traders.sqf";

 

Link to comment
Share on other sites

description.ext

Spoiler

respawn = "BASE";
respawnDelay = 0;
respawnDialog = 0;
onLoadMission = "DayZ Epoch Chernarus";
OnLoadIntro = "Welcome to Chernarus";
OnLoadIntroTime = 0;
OnLoadMissionTime = 0;
disabledAI = 1;
disableChannels[] = {0,2,6};
enableItemsDropping = 0;
onPauseScript = "";
briefing = 0;
debriefing = 0;

titleParam1 = "AutoLogin:";
valuesParam1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 31};
defValueParam1 = 10; //auto login time limit in seconds, set value to 31 to disable auto login
textsParam1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, "Disabled"};

loadScreen = "\z\addons\dayz_code\gui\loadingscreen.paa";

class Header
{
    gameType = COOP;            //DM, Team, Coop, ...
    minPlayers = 1;             //min # of players the mission supports
    maxPlayers = 100;           //Max # of players the mission supports
};

aiKills = 1;
diagRadio = 1;
diagHit = 1;
class RscPictureGUI
{
    access=0;
    type=0;
    idc=-1;
    colorBackground[]={0,0,0,0};
    colorText[]={0.38,0.63,0.25999999,0.75};
    font="TahomaB";
    sizeEx=0;
    lineSpacing=0;
    text="";
    style="0x30 + 0x100";
    x=0;
    y=0;
    w=0.2;
    h=0.15000001;
};

    

/////////////

class RscText
{
    type = 0;
    idc = -1;
    x = 0;
    y = 0;
    h = 0.037;
    w = 0.3;
    style = 0x100;
    font = Zeppelin32;
    SizeEx = 0.03921;
    colorText[] = {1,1,1,1};
    colorBackground[] = {0, 0, 0, 0};
    linespacing = 1;
};

class RscPicture
{
    access=0;
    type=0;
    idc=-1;
    style=48;
    colorBackground[]={0,0,0,0};
    colorText[]={1,1,1,1};
    font="TahomaB";
    sizeEx=0;
    lineSpacing=0;
    text="";
};

class RscLoadingText : RscText
{
    style = 2;
    x = 0.323532;
    y = 0.666672;
    w = 0.352944;
    h = 0.039216;
    sizeEx = 0.03921;
    colorText[] = {0.543,0.5742,0.4102,1.0};
};

class RscProgress
{
    x = 0.344;
    y = 0.619;
    w = 0.313726;
    h = 0.0261438;
    texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
    colorFrame[] = {0,0,0,0};
    colorBar[] = {1,1,1,1};
};

class RscProgressNotFreeze
{
    idc = -1;
    type = 45;
    style = 0;
    x = 0.022059;
    y = 0.911772;
    w = 0.029412;
    h = 0.039216;
    texture = "#(argb,8,8,3)color(0,0,0,0)";
};

//
// the loading screen itself
//
class DayZ_loadingScreen
{
    idd = -1;
    duration = 10e10;
    fadein = 0;
    fadeout = 0;
    name = "loading screen";
    class controlsBackground
    {
        class blackBG : RscText
        {
            x = safezoneX;
            y = safezoneY;
            w = safezoneW;
            h = safezoneH;
            text = "";
            colorText[] = {0,0,0,0};
            colorBackground[] = {0,0,0,1};
        };
    };
    class controls
    {
        class Title1 : RscLoadingText
        {
            text = "$STR_LOADING"; // "Loading" text in the middle of the screen
        };
        class CA_Progress : RscProgress // progress bar, has to have idc 104
        {
            idc = 104;
            type = 8; // CT_PROGRESS
            style = 0; // ST_SINGLE
            texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
        };
        class CA_Progress2 : RscProgressNotFreeze // progress bar that will go reverse
        {
            idc = 103;
        };
        class Name2: RscText // the text on the top-left
        {
            idc = 101;
            x = 0.05;
            y = 0.029412;
            w = 0.9;
            h = 0.04902;
            text = "";
            sizeEx = 0.05;
            colorText[] = {0.543,0.5742,0.4102,1.0};
        };
    };
};

// logo watermark
class RscTitles {
class zCamoStatusGUI {
    idd = -1;
    fadeout=0;
    fadein=0;
        onLoad = "uiNamespace setVariable ['zCamo_GUI_display', _this select 0]";
        duration = 10e10;
        name= "zCamoGui";
        controlsBackground[] = {};
        objects[] = {};
        class controls {
            class zCamoIcon:RscPictureGUI {
            idc = 1;
            text="zedutility\walkamongstthedead\zombie.paa";
            x="0.958313 * safezoneW + safezoneX";
            y="0.43 * safezoneH + safezoneY";
            w=0.059999999;
            h=0.079999998;
            colorText[]={1,1,1,1};
            };
        };
    };
    class wm_disp {
        idd = -1;
        onLoad = "uiNamespace setVariable ['wm_disp', _this select 0]";
        fadein = 0;
        fadeout = 0;
        duration = 10e10;
        controlsBackground[] = {};
        objects[] = {};
        class controls {
            class wm_text2 {
                idc = 1;
                x = safeZoneX+0.027;//safeZoneW*0.01;
                y = safeZoneY+safeZoneH-0.16;
                w = 0.151*safeZoneH;
                h = 0.057*safeZoneH;
                shadow = 2;
                class Attributes
                {
                    font = "EtelkaNarrowMediumPro";
                    color = "#24FFFFFF";
                    align = "left"; // put "center" here if you want some background
                    valign = "middle";
                    shadow = 2;
                };
                colorBackground[] = { 1, 0.3, 0, 0 };  // uncomment and increase 4th number to have a background
                font = "EtelkaNarrowMediumPro";
                size = 0.06*safeZoneH;
                type = 13;
                style = 0;
                text="";
            };
        };
    };
};
///////

//#include "\z\addons\dayz_code\gui\description.hpp"
#include "\z\addons\dayz_code\Configs\CfgLoot\CfgLoot.hpp"
#include "\z\addons\dayz_code\Configs\CfgServerTrader\CfgServerTrader.hpp"

 

I do it this because i have gold sytem not coin:

Spoiler

A-Find this line:


#include "\z\addons\dayz_code\gui\description.hpp"

and coment it.


//#include "\z\addons\dayz_code\gui\description.hpp"

(add the two bars in front of.)

B-Now below of this line


aiKills = 1;
diagRadio = 1;
diagHit = 1;

paste:



class RscPictureGUI
{
	access=0;
	type=0;
	idc=-1;
	colorBackground[]={0,0,0,0};
	colorText[]={0.38,0.63,0.25999999,0.75};
	font="TahomaB";
	sizeEx=0;
	lineSpacing=0;
	text="";
	style="0x30 + 0x100";
	x=0;
	y=0;
	w=0.2;
	h=0.15000001;
};

	

/////////////

class RscText
{
	type = 0;
	idc = -1;
	x = 0;
	y = 0;
	h = 0.037;
	w = 0.3;
	style = 0x100; 
	font = Zeppelin32;
	SizeEx = 0.03921;
	colorText[] = {1,1,1,1};
	colorBackground[] = {0, 0, 0, 0};
	linespacing = 1;
};

class RscPicture
{
	access=0;
	type=0;
	idc=-1;
	style=48;
	colorBackground[]={0,0,0,0};
	colorText[]={1,1,1,1};
	font="TahomaB";
	sizeEx=0;
	lineSpacing=0;
	text="";
};

class RscLoadingText : RscText
{
	style = 2;
	x = 0.323532;
	y = 0.666672;
	w = 0.352944;
	h = 0.039216;
	sizeEx = 0.03921;
	colorText[] = {0.543,0.5742,0.4102,1.0};
};

class RscProgress
{
	x = 0.344;
	y = 0.619;
	w = 0.313726;
	h = 0.0261438;
	texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
	colorFrame[] = {0,0,0,0};
	colorBar[] = {1,1,1,1};
};

class RscProgressNotFreeze
{
	idc = -1;
	type = 45;
	style = 0;
	x = 0.022059;
	y = 0.911772;
	w = 0.029412;
	h = 0.039216;
	texture = "#(argb,8,8,3)color(0,0,0,0)";
};

//
// the loading screen itself
//
class DayZ_loadingScreen
{ 
	idd = -1;
	duration = 10e10;
	fadein = 0;
	fadeout = 0;
	name = "loading screen";
	class controlsBackground
	{
		class blackBG : RscText
		{
			x = safezoneX;
			y = safezoneY;
			w = safezoneW;
			h = safezoneH;
			text = "";
			colorText[] = {0,0,0,0};
			colorBackground[] = {0,0,0,1};
		};
	};
	class controls
	{
		class Title1 : RscLoadingText
		{
			text = "$STR_LOADING"; // "Loading" text in the middle of the screen
		};
		class CA_Progress : RscProgress // progress bar, has to have idc 104
		{
			idc = 104;
			type = 8; // CT_PROGRESS
			style = 0; // ST_SINGLE
			texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
		};
		class CA_Progress2 : RscProgressNotFreeze // progress bar that will go reverse
		{
			idc = 103;
		};
		class Name2: RscText // the text on the top-left
		{
			idc = 101;
			x = 0.05;
			y = 0.029412;
			w = 0.9;
			h = 0.04902;
			text = "";
			sizeEx = 0.05;
			colorText[] = {0.543,0.5742,0.4102,1.0};
		};
	};
};

// logo watermark
class RscTitles {
class zCamoStatusGUI {
	idd = -1;
	fadeout=0;
	fadein=0;
		onLoad = "uiNamespace setVariable ['zCamo_GUI_display', _this select 0]";
		duration = 10e10;
		name= "zCamoGui";
		controlsBackground[] = {};
		objects[] = {};
		class controls {
			class zCamoIcon:RscPictureGUI {
			idc = 1;
			text="zedutility\walkamongstthedead\zombie.paa";
			x="0.958313 * safezoneW + safezoneX";
			y="0.43 * safezoneH + safezoneY";
			w=0.059999999;
			h=0.079999998;
			colorText[]={1,1,1,1};
			};
		};
	};
	class wm_disp {
		idd = -1;
		onLoad = "uiNamespace setVariable ['wm_disp', _this select 0]";
		fadein = 0;
		fadeout = 0;
		duration = 10e10;
		controlsBackground[] = {};
		objects[] = {};
		class controls {
			class wm_text2 {
				idc = 1;
				x = safeZoneX+0.027;//safeZoneW*0.01;
				y = safeZoneY+safeZoneH-0.16;
				w = 0.151*safeZoneH;
				h = 0.057*safeZoneH;
				shadow = 2;
				class Attributes
				{
					font = "EtelkaNarrowMediumPro";
					color = "#24FFFFFF";
					align = "left"; // put "center" here if you want some background
					valign = "middle";
					shadow = 2;
				};
				colorBackground[] = { 1, 0.3, 0, 0 };  // uncomment and increase 4th number to have a background
				font = "EtelkaNarrowMediumPro";
				size = 0.06*safeZoneH;
				type = 13;
				style = 0;
				text="";
			};
		};
	};
};
///////

 

I'm pretty sure i do something wrong because i'm totaly green xDDD

Link to comment
Share on other sites

1 minute ago, Draundenth said:

cool now my whole server is destroyed T_T thanks for help people ;c

A destroyed server is never the community's fault. It's just the fault of the guy who messed around with the server files. Instead of trying to use offense against us, you should better learn how to do installations yourself. We all started from scratch and we know how hard it can be to become better but everything related to sqf and ArmA scripting is 90% learning by doing. The rest is searching on the internet or reading trough all wikis you can find. If you really want to be a server admin, try to learn how to install scripts correctly and how to not mess up everything. Therefor I suggest that you start with anything more simple than this script and no offense against @juandayz but his instructions are often for more advanced people and often he forgets something and you have to find the issue yourself. If you really have the passion to learn, then start with a script with clear instructions that are also written for beginners. Otherwise and can just say you good buy. I am not ready to help you if you say this is our fault.

Link to comment
Share on other sites

I'm not talking it's your fault. I just say then my whole server is destroyed and this " thanks for help people " doesn't mean it's your fault i just write this because noboy help me and i stay alone with this problem ;c

I just bought server on G-Portal and try install just couple mods to make game much funny, i'm not so much rich to buy server with all mods already installed ;c i really gratefull for any help, but now i'm woeful ;c because i have all worked ok and when i try install that stupid mod Walk Amongst The Dead i kill my server ;c

Link to comment
Share on other sites

1 minute ago, Draundenth said:

I'm not talking it's your fault. I just say then my whole server is destroyed and this " thanks for help people " doesn't mean it's your fault i just write this because noboy help me and i stay alone with this problem ;c

As I said you should always try to solve your problems yourself and we all have a real life. Mostly there are people here in the ArmA 2 section that are from another time zone and not active on this time. Stay patient because spamming this topic doesn't give you any effort.

Link to comment
Share on other sites

now i can't even join to my server because i  have weird error in logs:

Spoiler

18:48:27 Error in expression <;
_recompile = (count _this) > 0;


if (BIS_fnc_init && !_recompile) exitwith {t>
18:48:27   Error position: <BIS_fnc_init && !_recompile) exitwith {t>
18:48:27   Error Undefined variable in expression: bis_fnc_init
18:48:27 File ca\Modules\Functions\init.sqf, line 28
18:48:31 "HIVE: Starting"

 

Link to comment
Share on other sites

5 hours ago, Draundenth said:

now i can't even join to my server because i  have weird error in logs:

  Hide contents

18:48:27 Error in expression <;
_recompile = (count _this) > 0;


if (BIS_fnc_init && !_recompile) exitwith {t>
18:48:27   Error position: <BIS_fnc_init && !_recompile) exitwith {t>
18:48:27   Error Undefined variable in expression: bis_fnc_init
18:48:27 File ca\Modules\Functions\init.sqf, line 28
18:48:31 "HIVE: Starting"

 

well i just go back to my work... and read all of this...  first dear mate, its not my fault or other comunity users that you broke your server as @DAmNRelentless said you. see this was your first init.sqf.. (you was lucky  that  you not broke it before come here :D) if anyone here read your init.sqf gonna find a lot of errors. any way i fix it for you just waiting only a "tanks". also ask you for your team viewer to help you better.

Well i have some time right now.. i dont know why you have this issue but not comes from walk amongst dead mod.. is in your init.sqf line 28. as rpt says.

If u want , you can made a new fresh epoch server. and i can join and show you how you can do the calls for compiles.sqf / variables. and fn_Selfactions.. and show you how install the stupid walk amongst dead.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...