diff --git a/CHANGE LOG 1.0.7.txt b/CHANGE LOG 1.0.7.txt index bf393e7b2..3755b716a 100644 --- a/CHANGE LOG 1.0.7.txt +++ b/CHANGE LOG 1.0.7.txt @@ -32,5 +32,8 @@ [UPDATED] Added night vision mode back to DMR_DZ and M4SPR_DZE after it was removed with the 2018-04-05 A2OA CorePatch (d6cf707) @ebayShopper [UPDATED] All M32 grenades using one inventroy slot now. (cc85067) @AirwavesMan [UPDATED] The Czech Vest Pouch can carry one weapon now. This was changed to be more intuitive and to avoid disappearing weapons. (f7ea9cb) @AirwavesMan +[UPDATED] Old/unused variables removed from variables.sqf. Entire file reorganized. (4accdee) @worldwidesorrow +[UPDATED] Functions fnc_usec_damageHandler, dayz_inflame_showMenu, dayz_inflame_showMenu_other, DZ_KeyDown_EH, dayz_EjectPlayer compiled on client only - compiles.sqf. (7613e3a) @worldwidesorrow +[UPDATED] "PVCDZ_OpenTarget_Reset" moved to client only - publicEH.sqf. (58a98b7) @worldwidesorrow [INFO] Synced with DayZMod upstream up to commit fe063a8 diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index 0360c3b7a..022fde7f1 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -206,6 +206,7 @@ if (!isDedicated) then { player_manageDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\initDoorManagement.sqf"; player_enterCode = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\doorManagement\player_enterCode.sqf"; FNC_check_access = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_check_access.sqf"; + fnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf"; //Event handler run on damage // Advanced trading default inits for maintaining, Advanced Trading and custom scripts to utilize gem based currency. call compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\AdvancedTrading\defaultInit.sqf"; @@ -613,6 +614,80 @@ if (!isDedicated) then { if (!DZE_ConfigTrader) then {call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_hiveTrading.sqf";}; // recent murders menu call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_murderBoard.sqf"; + + dayz_inflame_showMenu = { + private ["_object","_ret","_flame","_islit","_hasTool","_whatIwant"]; + + _object = _this select 0; + _whatIwant = _this select 1; + _ret = false; + + _islit = (inflamed _object); + + _hasTool = false; + if (!_islit) then { + { + if (_x in items player) exitWith { _hasTool = true; }; + } count DayZ_Ignitors; + }; + _ret = (_whatIwant && !_islit && _hasTool) or (!_whatIwant && _isLit); + + _ret + }; + + dayz_reduceItems = { + private ["_item","_class","_amount","_qtyRemaining"]; + + _item = _this select 0; //Item in current inventory. + _class = _this select 1; //Class type to use. + + //Does player have the original item? (Not Really needed player_useMeds checks) + if (_item in magazines player) exitWith { + //Amount in current box (will be -1 for a random chance to start the reducing) + _amount = getNumber(configfile >> "CfgMagazines" >> _item >> _class >> "amount"); + + //Item to move too if there is some left + _qtyRemaining = getText(configfile >> "CfgMagazines" >> _item >> _class >> "qtyRemaining"); + + //Only run for the random amount. + if (_amount == -1) then { + //Chance to start the reduction + if ([getNumber(configfile >> "CfgMagazines" >> _item >> _class >> "chance")] call fn_chance) then { + player removeMagazine _item; + player addMagazine _qtyRemaining; + }; + } else { + player removeMagazine _item; + player addMagazine _qtyRemaining; + }; + }; + true + }; + + dayz_inflame_showMenu_other = { + private ["_fireplace","_ret","_flame","_islit","_hasTool","_whatIwant"]; + + _fireplace = _this select 0; + _whatIwant = _this select 1; + _ret = false; + // return a boolean. true <=> player can put out the lit fire, can light a fire with match + _flame = nearestObjects [_fireplace, ["flamable_DZ"], 1]; + _flame = if (count _flame > 0) then { _flame select 0 } else { objNull }; + _islit = !(isNull _flame) && {(inflamed _flame)}; + _hasTool = false; + if (!_islit) then { + { + if (_x in items player) exitWith { _hasTool = true; }; + } count DayZ_Ignitors; + }; + _ret = (_whatIwant && !_islit && _hasTool) or (!_whatIwant && _isLit); + //systemChat str [_flame, _hasTool, _islit, _ret]; + + _ret + }; + + DZ_KeyDown_EH = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\keyboard.sqf"; + dayz_EjectPlayer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dze_ejectPlayer.sqf"; }; //Both @@ -629,7 +704,6 @@ object_getHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\o object_setHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_setHit.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles) object_processHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_processHit.sqf"; //process the hit in the REVO damage system (records and sets hit) //object_cargoCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_cargoCheck.sqf"; //Run by the player or server to monitor changes in cargo contents -fnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf"; //Event handler run on damage // Vehicle damage fix fnc_veh_handleDam = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleDam.sqf"; fnc_veh_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleKilled.sqf"; @@ -663,10 +737,10 @@ fn_getModelName = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile fn_niceSpot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_niceSpot.sqf"; fnc_Obj_FenceHandleDam = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fence_handleDam.sqf"; object_roadFlare = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_roadFlare.sqf"; -DZ_KeyDown_EH = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\keyboard.sqf"; fn_shuffleArray = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_shuffleArray.sqf"; zombie_initialize = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_initialize.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_code\traps\init.sqf"; +//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\achievements_init.sqf"; //start achievements_init if (dayz_townGenerator) then { call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\psrnd.sqf"; // pseudo random for plantSpanwer @@ -682,7 +756,6 @@ BIS_fnc_numberDigits = compile preprocessFileLineNumbers "\z\addons\dayz_code\co BIS_fnc_numberText = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_numberText.sqf"; local_lockUnlock = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lockUnlock.sqf"; //When vehicle is local to unit perform locking vehicle FNC_GetSetPos = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fnc_getSetPos.sqf"; -dayz_EjectPlayer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dze_ejectPlayer.sqf"; dayz_groupInvite = compile preprocessFileLineNumbers "\z\addons\dayz_code\groups\handleInvite.sqf"; player_sumMedical = { @@ -719,35 +792,6 @@ player_sumMedical = { _medical }; -dayz_reduceItems = { - private ["_item","_class","_amount","_qtyRemaining"]; - - _item = _this select 0; //Item in current inventory. - _class = _this select 1; //Class type to use. - - //Does player have the original item? (Not Really needed player_useMeds checks) - if (_item in magazines player) exitWith { - //Amount in current box (will be -1 for a random chance to start the reducing) - _amount = getNumber(configfile >> "CfgMagazines" >> _item >> _class >> "amount"); - - //Item to move too if there is some left - _qtyRemaining = getText(configfile >> "CfgMagazines" >> _item >> _class >> "qtyRemaining"); - - //Only run for the random amount. - if (_amount == -1) then { - //Chance to start the reduction - if ([getNumber(configfile >> "CfgMagazines" >> _item >> _class >> "chance")] call fn_chance) then { - player removeMagazine _item; - player addMagazine _qtyRemaining; - }; - } else { - player removeMagazine _item; - player addMagazine _qtyRemaining; - }; - }; - true -}; - dayz_inflame = { private "_object"; _object = _this select 0; @@ -759,26 +803,6 @@ dayz_inflame = { }; }; -dayz_inflame_showMenu = { - private ["_object","_ret","_flame","_islit","_hasTool","_whatIwant"]; - - _object = _this select 0; - _whatIwant = _this select 1; - _ret = false; - - _islit = (inflamed _object); - - _hasTool = false; - if (!_islit) then { - { - if (_x in items player) exitWith { _hasTool = true; }; - } count DayZ_Ignitors; - }; - _ret = (_whatIwant && !_islit && _hasTool) or (!_whatIwant && _isLit); - - _ret -}; - dayz_inflame_other = { private ["_fireplace","_ret","_flame","_islit","_isLit","_pos"]; @@ -806,28 +830,6 @@ dayz_inflame_other = { }; }; -dayz_inflame_showMenu_other = { - private ["_fireplace","_ret","_flame","_islit","_hasTool","_whatIwant"]; - - _fireplace = _this select 0; - _whatIwant = _this select 1; - _ret = false; - // return a boolean. true <=> player can put out the lit fire, can light a fire with match - _flame = nearestObjects [_fireplace, ["flamable_DZ"], 1]; - _flame = if (count _flame > 0) then { _flame select 0 } else { objNull }; - _islit = !(isNull _flame) && {(inflamed _flame)}; - _hasTool = false; - if (!_islit) then { - { - if (_x in items player) exitWith { _hasTool = true; }; - } count DayZ_Ignitors; - }; - _ret = (_whatIwant && !_islit && _hasTool) or (!_whatIwant && _isLit); - //systemChat str [_flame, _hasTool, _islit, _ret]; - - _ret -}; - isInflamed = { private "_flame"; diff --git a/SQF/dayz_code/init/publicEH.sqf b/SQF/dayz_code/init/publicEH.sqf index 2a3ab6d35..3ce6232ac 100644 --- a/SQF/dayz_code/init/publicEH.sqf +++ b/SQF/dayz_code/init/publicEH.sqf @@ -9,7 +9,6 @@ "PVCDZ_obj_GutBody" addPublicVariableEventHandler {(_this select 1) spawn local_gutObject}; "PVCDZ_veh_SetFuel" addPublicVariableEventHandler {(_this select 1) spawn local_setFuel}; "PVCDZ_veh_engineSwitch" addPublicVariableEventHandler {(_this select 1) spawn dayz_engineSwitch}; -"PVCDZ_OpenTarget_Reset" addPublicVariableEventHandler { OpenTarget_Time = diag_tickTime; }; //reset OpenTarget timer // EPOCH ADDITIONS "PVDZE_veh_Lock" addPublicVariableEventHandler {(_this select 1) call local_lockUnlock}; @@ -268,6 +267,7 @@ if (!isDedicated) then { "PVCDZ_hlt_Transfuse_completed" addPublicVariableEventHandler {player setVariable["TransfusionCompleted",true]; }; "PVCDZ_hlt_PainK" addPublicVariableEventHandler {(_this select 1) call player_medPainkiller}; "PVCDZ_hlt_AntiB" addPublicVariableEventHandler {(_this select 1) call player_medAntiBiotics}; + "PVCDZ_OpenTarget_Reset" addPublicVariableEventHandler { OpenTarget_Time = diag_tickTime; }; //reset OpenTarget timer "PVCDZ_plr_Legs" addPublicVariableEventHandler { _entity = (_this select 1) select 0; diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index fe68884bf..949bbb6b2 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -1,708 +1,578 @@ -disableSerialization; - -//Model Variables -Bandit1_DZ = "Bandit1_DZ"; -BanditW1_DZ = "BanditW1_DZ"; -Survivor1_DZ = "Survivor1_DZ"; -Survivor2_DZ = "Survivor2_DZ"; -SurvivorW2_DZ = "SurvivorW2_DZ"; -Sniper1_DZ = "Sniper1_DZ"; -Camo1_DZ = "Camo1_DZ"; -Soldier1_DZ = "Soldier1_DZ"; -Rocket_DZ = "Rocket_DZ"; -// EPOCH ADDITIONS -Bandit2_DZ = "Bandit2_DZ"; -BanditW2_DZ = "BanditW2_DZ"; -SurvivorW3_DZ = "SurvivorW2_DZ"; - -//Rolling Msg system -Message_1 = ""; -Message_2 = ""; -Message_3 = ""; -Message_1_time = 0; -Message_2_time = 0; -Message_3_time = 0; -//Kill Feed -death_1 = ""; -death_2 = ""; -death_3 = ""; -death_4 = ""; -death_1_time = 0; -death_2_time = 0; -death_3_time = 0; -death_4_time = 0; - -//OpenTarget timer -OpenTarget_Time = 0; - -///Player classes -AllPlayers = ["Survivor_DZ","Survivor1_DZ","SurvivorW2_DZ","Survivor2_DZ","Sniper1_DZ","Soldier1_DZ","Camo1_DZ","BanditW1_DZ","Bandit1_DZ","Survivor3_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","Bandit2_DZ","BanditW2_DZ","Soldier_Crew_PMC","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","INS_Lopotev_DZ","INS_Soldier_AR_DZ","INS_Soldier_CO_DZ","INS_Bardak_DZ","INS_Worker2_DZ","USMC_Soldier_Officer_DZ","USMC_Soldier_MG_DZ","USMC_Soldier_Pilot_DZ","FR_TL_DZ","FR_R_DZ","FR_Marksman_DZ","FR_Assault_R_DZ","RU_Soldier_DZ","RU_Soldier_Officer_DZ","RUS_Soldier1_DZ","RUS_Commander_DZ","MVD_Soldier_DZ","Ins_Soldier_2_DZ","Ins_Commander_DZ","Ins_Soldier_Crew_DZ","CDF_Soldier_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","TK_INS_Soldier_AR_EP1_DZ","TK_GUE_Soldier_EP1_DZ","CZ_Soldier_SL_DES_EP1_DZ","US_Soldier_EP1_DZ","UN_CDF_Soldier_Guard_EP1_DZ","UN_CDF_Soldier_EP1_DZ","GER_Soldier_TL_EP1_DZ","BAF_Soldier_Officer_MTP_DZ","BAF_Soldier_N_MTP_DZ","FR_Sapper_DZ"]; -DayZ_Male = ["Survivor_DZ","Survivor1_DZ","Survivor2_DZ","Survivor3_DZ","Sniper1_DZ","Soldier1_DZ","Camo1_DZ","Bandit1_DZ","Bandit2_DZ","Soldier_Crew_PMC","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","INS_Lopotev_DZ","INS_Soldier_AR_DZ","INS_Soldier_CO_DZ","INS_Bardak_DZ","INS_Worker2_DZ","USMC_Soldier_Officer_DZ","USMC_Soldier_MG_DZ","USMC_Soldier_Pilot_DZ","FR_TL_DZ","FR_R_DZ","FR_Marksman_DZ","FR_Assault_R_DZ","RU_Soldier_DZ","RU_Soldier_Officer_DZ","RUS_Soldier1_DZ","RUS_Commander_DZ","MVD_Soldier_DZ","Ins_Soldier_2_DZ","Ins_Commander_DZ","Ins_Soldier_Crew_DZ","CDF_Soldier_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","TK_INS_Soldier_AR_EP1_DZ","TK_GUE_Soldier_EP1_DZ","CZ_Soldier_SL_DES_EP1_DZ","US_Soldier_EP1_DZ","UN_CDF_Soldier_Guard_EP1_DZ","UN_CDF_Soldier_EP1_DZ","GER_Soldier_TL_EP1_DZ","BAF_Soldier_Officer_MTP_DZ","BAF_Soldier_N_MTP_DZ","FR_Sapper_DZ"]; -DayZ_Female = ["SurvivorW2_DZ","BanditW1_DZ","BanditW2_DZ","SurvivorWcombat_DZ","SurvivorWurban_DZ","SurvivorWdesert_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]; - -//Classnames for specific items -MeleeWeapons = ["MeleeHatchet","MeleeCrowbar","MeleeMachete","MeleeBaseball","MeleeBaseBallBat","MeleeBaseBallBatBarbed","MeleeBaseBallBatNails","MeleeFishingPole","MeleeSledge"]; -MeleeMagazines = ["Hatchet_Swing","Crowbar_Swing","Machete_Swing","Bat_Swing","BatBarbed_Swing","BatNails_Swing","Fishing_Swing","Sledge_Swing"]; -MeleeAmmo = ["Hatchet_Swing_Ammo","Crowbar_Swing_Ammo","Machete_Swing_Ammo","Bat_Swing_Ammo","BatBarbed_Swing_Ammo","BatNailed_Swing_Ammo","Fishing_Swing_Ammo","Sledge_Swing_Ammo","Chainsaw_Swing_Ammo"]; -Dayz_fishingItems = ["MeleeFishingPole"]; -Dayz_plants = ["Dayz_Plant1","Dayz_Plant2","Dayz_Plant3"]; -Dayz_attachment_array = ["Attachment_ACG","Attachment_AIM"]; -//DayZ_Tents = ["TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4"] -//DayZ_Stashs = ["StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4"] -//DayZ_cutter = ["Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","CamoNet_DZ"] -DayZ_Backpacks = ["DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_Czech_Vest_Pouch","DZ_ALICE_Pack_EP1","DZ_TK_Assault_Pack_EP1","DZ_British_ACU","DZ_CivilBackpack_EP1","DZ_Backpack_EP1","DZ_TerminalPack_EP1","DZ_CompactPack_EP1","DZ_GunBag_EP1","DZ_LargeGunBag_EP1"]; -Dayz_Gutting = ["ItemKnife","ItemKnife5","ItemKnife4","ItemKnife3","ItemKnife2","ItemKnife1","ItemKnifeBlunt"]; -DayZ_Ignitors = ["ItemMatchbox","Item5Matchbox","Item4Matchbox","Item3Matchbox","Item2Matchbox","Item1Matchbox"]; -DayZ_ViralZeds = ["z_new_villager2","z_new_villager3","z_new_villager4","z_new_worker2","z_new_worker3","z_new_worker4"]; -DayZ_SafeObjects = ["Base_Fire_DZ","WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","Land_Fire_DZ","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","BearTrap_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare","TentStorageDomed","VaultStorageLocked","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4"]; -DayZ_DropDrageeObjects = ["WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","TentStorageDomed","VaultStorageLocked","BagFenceRound_DZ","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","StickFence_DZ","SandNest_DZ","MetalPanel_DZ","WorkBench_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4","WoodFloorHalf_DZ","WoodFloor_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","MetalFloor_DZ","WoodRamp_DZ"]; -DayZ_GearedObjects = ["Car","Helicopter","Motorcycle","Ship","TentStorage_base","StashSmall_base","StashMedium_base","Plane","Tank","VaultStorage","LockboxStorage","TentStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ","Generator_DZ"]; -DayZ_RestingAnims = ["amovpsitmstpsnonwpstdnon_ground","amovpsitmstpsnonwpstdnon_smoking","amovpsitmstpsraswrfldnon_weaponcheck1","amovpsitmstpsraswrfldnon"]; -dayz_typedBags = ["bloodTester","bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]; -dayz_playerAchievements = []; //[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] -dayz_plant = ["pumpkin.p3d","p_helianthus.p3d","p_fiberplant_ep1.p3d"]; -dayz_trees = ["ind_timbers.p3d","t_picea2s_snow.p3d","t_quercus3s.p3d","t_larix3s.p3d","t_pyrus2s.p3d","str_briza_kriva.p3d","dd_borovice.p3d","les_singlestrom_b.p3d","les_singlestrom.p3d","smrk_velky.p3d","smrk_siroky.p3d","smrk_maly.p3d","les_buk.p3d","str krovisko vysoke.p3d","str_fikovnik_ker.p3d","str_fikovnik.p3d","str vrba.p3d","hrusen2.p3d","str dub jiny.p3d","str lipa.p3d","str briza.p3d","p_akat02s.p3d","jablon.p3d","p_buk.p3d","str_topol.p3d","str_topol2.p3d","p_osika.p3d","t_picea3f.p3d","t_picea2s.p3d","t_picea1s.p3d","t_fagus2w.p3d","t_fagus2s.p3d","t_fagus2f.p3d","t_betula1f.p3d","t_betula2f.p3d","t_betula2s.p3d","t_betula2w.p3d","t_alnus2s.p3d","t_acer2s.p3d","t_populus3s.p3d","t_quercus2f.p3d","t_sorbus2s.p3d","t_malus1s.p3d","t_salix2s.p3d","t_picea1s_w.p3d","t_picea2s_w.p3d","t_ficusb2s_ep1.p3d","t_populusb2s_ep1.p3d","t_populusf2s_ep1.p3d","t_amygdalusc2s_ep1.p3d","t_pistacial2s_ep1.p3d","t_pinuse2s_ep1.p3d","t_pinuss3s_ep1.p3d","t_prunuss2s_ep1.p3d","t_pinusn2s.p3d","t_pinusn1s.p3d","t_pinuss2f.p3d","t_poplar2f_dead_pmc.p3d","misc_torzotree_pmc.p3d","misc_burnspruce_pmc.p3d","brg_cocunutpalm8.p3d","brg_umbrella_acacia01b.p3d","brg_jungle_tree_canopy_1.p3d","brg_jungle_tree_canopy_2.p3d","brg_cocunutpalm4.p3d","brg_cocunutpalm3.p3d","palm_01.p3d","palm_02.p3d","palm_03.p3d","palm_04.p3d","palm_09.p3d","palm_10.p3d","brg_cocunutpalm2.p3d","brg_jungle_tree_antiaris.p3d","brg_cocunutpalm1.p3d","str habr.p3d","brg_bird_1.p3d","brg_bird_2.p3d","brg_bird_3.p3d","brg_umbrella_acacia02b.p3d","brg_africandoumpalm_1.p3d","brg_umbrella_acacia04b.p3d","brg_datepalm_4.p3d","brg_datepalm_1.p3d","brg_umbrella_acacia03b.p3d","brg_bottle_4.p3d","brg_aloe1.p3d","brg_umbrella_acacia03.p3d","brg_umbrella_acacia01.p3d","brg_umbrella_acacia04.p3d","brg_aloe2.p3d","brg_umbrella_acacia02.p3d","brg_aloe3.p3d","brg_bottle_1.p3d","brg_datepalm_3.p3d","brg_datepalm_2.p3d","brg_baobab_1.p3d","brg_bottle_2.p3d","brg_bottle_3.p3d","t_fraxinus2s.p3d","t_carpinus2s.p3d"]; - -Dayz_meatraw = -[ - "FoodBeefRaw", - "FoodMuttonRaw", - "FoodChickenRaw", - "FoodRabbitRaw", - "FoodBaconRaw", - "FoodGoatRaw", - "FoodDogRaw", - "FishRawTrout", - "FishRawSeaBass", - "FishRawTuna" -]; - -Dayz_meatcooked = -[ - "FoodBeefCooked", - "FoodMuttonCooked", - "FoodChickenCooked", - "FoodRabbitCooked", - "FoodBaconCooked", - "FoodGoatCooked", - "FoodDogCooked", - "FishCookedTrout", - "FishCookedSeaBass", - "FishCookedTuna" -]; - -boil_tin_cans = -[ - "TrashTinCan", - "FoodCanGriffEmpty", - "FoodCanBadguyEmpty", - "FoodCanBoneboyEmpty", - "FoodCanCornEmpty", - "FoodCanCurgonEmpty", - "FoodCanDemonEmpty", - "FoodCanFraggleosEmpty", - "FoodCanHerpyEmpty", - "FoodCanDerpyEmpty", - "FoodCanOrlokEmpty", - "FoodCanPowellEmpty", - "FoodCanTylersEmpty", - "FoodCanUnlabeledEmpty", - "FoodCanRusUnlabeledEmpty", - "FoodCanRusStewEmpty", - "FoodCanRusPorkEmpty", - "FoodCanRusPeasEmpty", - "FoodCanRusMilkEmpty", - "FoodCanRusCornEmpty", - "ItemSodaEmpty", - "ItemSodaClaysEmpty", - "ItemSodaDrwasteEmpty", - "ItemSodaFrankaEmpty", - "ItemSodaGrapeDrinkEmpty", - "ItemSodaLemonadeEmpty", - "ItemSodaLirikEmpty", - "ItemSodaLvgEmpty", - "ItemSodaMtngreenEmpty", - "ItemSodaMzlyEmpty", - "ItemSodaPeppsyEmpty", - "ItemSodaR4z0rEmpty", - "ItemSodaRabbitEmpty", - "ItemSodaRocketFuelEmpty", - "ItemSodaSacriteEmpty", - //"ItemSodaSherbetEmpty", - "ItemSodaSmashtEmpty", - "FoodCanPotatoesEmpty", - "FoodCanBeefEmpty" -]; - -canPickup = false; -pickupInit = false; -mouseOverCarry = false; //for carry slot since determining mouse pos doesn't work right -dayZ_partClasses = ["PartFueltank","PartWheel","PartEngine"]; //No need to add PartGeneric, it is default for everything -dayZ_explosiveParts = ["palivo","motor"]; -if (isNil "infectedWaterHoles") then {infectedWaterHoles = [];}; //Needed for non-cherno maps - -//Survival Variables -SleepFood = 2160; //minutes (48 hours) -SleepWater = 1440; //minutes (24 hours) -SleepTemperatur = 90 / 100; //First value = Minutes until player reaches the coldest point at night (without other effects! night factor expected to be -1) //TeeChange - -//Server Variables -allowConnection = false; -dayz_serverObjectMonitor = []; - -//GUI -Dayz_GUI_R = 0.38; // 0.7 .38 -Dayz_GUI_G = 0.63; // -0.63 -Dayz_GUI_B = 0.26; // -0.26 - -//actions blockers -a_player_cooking = false; -a_player_boil = false; - -//Player self-action handles -dayz_resetSelfActions = { - s_player_equip_carry = -1; - s_player_fire = -1; - s_player_cook = -1; - s_player_boil = -1; - s_player_packtent = -1; - s_player_packtentinfected = -1; - s_player_fillfuel = -1; - s_player_grabflare = -1; - s_player_removeflare = -1; - s_player_studybody = -1; - s_player_deleteBuild = -1; - s_player_flipveh = -1; - s_player_sleep = -1; - s_player_fillfuel210 = -1; - s_player_fillfuel20 = -1; - s_player_fillfuel5 = -1; - s_player_siphonfuel = -1; - s_player_repair_crtl = -1; - s_player_fishing = -1; - s_player_fishing_veh = -1; - s_player_gather = -1; - s_player_destroytent = -1; - s_player_attach_bomb = -1; - s_player_upgradestorage = -1; - s_player_Drinkfromhands = -1; - /*s_player_lockhouse = -1; //Vanilla base building currently not used in Epoch - s_player_unlockhouse = -1; - s_player_openGate = -1; - s_player_CloseGate = -1; - s_player_breakinhouse = -1; - s_player_setCode = -1; - s_player_BuildUnLock = -1; - s_player_BuildLock = -1;*/ - - // EPOCH ADDITIONS - s_player_packvault = -1; - s_player_lockvault = -1; - s_player_unlockvault = -1; - s_player_attack = -1; - s_player_callzombies = -1; - s_player_showname = -1; - s_player_pzombiesattack = -1; - s_player_pzombiesvision = -1; - s_player_pzombiesfeed = -1; - s_player_tamedog = -1; - s_player_parts_crtl = -1; - s_player_movedog = -1; - s_player_speeddog = -1; - s_player_calldog = -1; - s_player_feeddog = -1; - s_player_waterdog = -1; - s_player_staydog = -1; - s_player_trackdog = -1; - s_player_barkdog = -1; - s_player_warndog = -1; - s_player_followdog = -1; - s_player_information = -1; - s_player_fuelauto = -1; - s_player_fuelauto2 = -1; - s_player_fillgen = -1; - s_player_upgrade_build = -1; - s_player_maint_build = -1; - s_player_downgrade_build = -1; - s_player_towing = -1; - s_halo_action = -1; - s_player_SurrenderedGear = -1; - s_player_maintain_area = -1; - s_player_maintain_area_force = -1; - s_player_maintain_area_preview = -1; - s_player_heli_lift = -1; - s_player_heli_detach = -1; - s_player_lockUnlock_crtl = -1; - s_player_lockUnlockInside_ctrl = -1; - s_player_toggleSnap = -1; - s_player_toggleSnapSelect = -1; - s_player_toggleSnapSelectPoint = []; - snapActions = -1; - s_player_plot_boundary = -1; - s_player_plotManagement = -1; - s_player_toggleDegree = -1; - s_player_toggleDegrees=[]; - degreeActions = -1; - s_player_toggleVector = -1; - s_player_toggleVectors=[]; - vectorActions = -1; - s_player_manageDoor = -1; - s_player_hide_body = -1; -}; -call dayz_resetSelfActions; - -//Engineering variables -s_player_repairActions = []; - -//Initialize Medical Variables -force_dropBody = false; -r_interrupt = false; -r_doLoop = false; -r_drag_sqf = false; -r_action = false; -r_action_unload = false; -r_player_handler = false; -r_player_unconsciousInProgress = false; -r_player_unconsciousInputDisabled = false; -r_player_dead = false; -r_player_unconscious = false; -r_player_infected = false; -//infection from hits -r_player_Sepsis = [false, 0]; -r_player_injured = false; -r_player_inpain = false; -r_player_loaded = false; -r_player_cardiac = false; -r_fracture_legs = false; -r_fracture_arms = false; -r_player_vehicle = player; -r_player_blood = 12000; -r_player_bloodregen = 0; -r_player_bloodgainpersec = 0; -r_player_bloodlosspersec = 0; -r_player_bloodpersec = 0; //Blood Per Sec (gain - loss) -r_player_foodstack = 1; -//player skill -r_player_lowblood = false; -r_player_timeout = 0; -r_player_bloodTotal = r_player_blood; -r_player_actions = []; -r_handlerCount = 0; -r_action_targets = []; -r_pitchWhine = false; -dayz_DisplayGenderSelect = true; -//blood test vars -r_A_watered = false; -r_B_watered = false; -r_D_watered = false; -r_control_watered = false; -r_canClick_resultsCard = false; -r_resultsCard_Clicked = false; -r_water_clicked = false; -r_needleclicked = 0; -r_needleReset = false; -r_control_done = false; -r_antiA_done = false; -r_antiB_done = false; -r_antiD_done = false; -carryClick = false; -dayz_actionInProgress = false; -gear_done = false; - -//player warming up vars -//heatpack -r_player_warming_heatpack = [false, 0]; -r_player_warming_heatpack_time = 600; - -//displays temp progress -r_player_temp_factor = 0; //to be used for temp(up/down) indicators -r_player_temp_min_factor = -0.04; //(lvl3 down arrow) -r_player_temp_max_factor = 0.04; //(lvl3 up arrow) - -//INT Nutrition Info -r_player_Nutrition = 0; // Calories -r_player_nutritionMuilpty = 2; - -//ammo routine -r_player_actions2 = []; -r_action2 = false; -r_player_lastVehicle = objNull; -r_player_lastSeat = []; -r_player_removeActions2 = { - if (!isNull r_player_lastVehicle) then { - { - r_player_lastVehicle removeAction _x; - } count r_player_actions2; - r_player_actions2 = []; - r_action2 = false; - }; -}; - -USEC_woundHit = ["","body","hands","legs","head_hit"]; // limbs hit given by arma engine when fnc_usec_damageHandler is called -DAYZ_woundHit = [["body","hands","legs","head_hit"],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,3]]; -DAYZ_woundHit_ok = [["body","hands","legs"],[0,0,0,0,0,1,1,1,2,2]]; -USEC_MinorWounds = ["hands","legs"]; -USEC_woundPoint = [ // translation table USEC_woundHit -> SV suffixes - ["Pelvis","aimpoint"], - ["aimpoint"], //,"RightShoulder","LeftShoulder" - ["lelbow","relbow"], - ["RightFoot","LeftFoot"], - ["neck","pilot"] -]; -USEC_typeOfWounds = [ // used by player_sumMedical, should contains all limbs described in USEC_woundPoint. These limbs statuses are saved by server_playerSync in HIVE if they are bleeding (medical select 8) - "Pelvis", - "aimpoint", - "lelbow","relbow", - "RightFoot","LeftFoot", - "neck","pilot" -]; - -//Initialize Zombie Variables -dayz_zombieTargetList = [["SoldierWB",50],["Air",500],["LandVehicle",200]]; -PVDZ_obj_Publish = []; // Used for eventhandler to spawn a mirror of players tent -PVCDZ_obj_HideBody = objNull; - -//DayZ settings -dayz_lastHumanityChange = diag_tickTime; -dayz_maxAnimals = 5; -dayz_maxPlants = 3; -dayz_animalDistance = 600; -dayz_plantDistance = 600; - -dayz_maxMaxModels = 80; // max quantity of Man models (player or Z, dead or alive) around players. Below this limit we can spawn Z // max quantity of loot piles around players. Below this limit we can spawn some loot -dayz_cantseeDist = 150; // distance from which we can spawn a Z in front of any player without ray-tracing and angle checks -dayz_cantseefov = 70; // half player field-of-view. Visible Z won't be spawned in front of any near players -dayz_canDelete = 350; // Z, further than this distance from its "owner", will be deleted -dayz_traps_active = []; -dayz_traps_trigger = []; - -//Settings Not under dayz_settings -if(isNil "dayz_attackRange") then { - dayz_attackRange = 3; -}; -if(isNil "dayz_DamageMultiplier") then { - dayz_DamageMultiplier = 1; -}; -if(isNil "dayz_quickSwitch") then { - dayz_quickSwitch = false; //Enable quick weapon switch, -}; -//Will be moved to map -if(isNil "dayz_infectiouswaterholes") then { - dayz_infectiouswaterholes = true; //Enable infected waterholes -}; -if(isNil "dayz_POIs") then { - dayz_POIs = true; //Enable POIs -}; -if(isNil "dayz_ForcefullmoonNights") then { - dayz_ForcefullmoonNights = false; // Forces night time to be full moon. -}; -if(isNil "dayz_randomMaxFuelAmount") then { - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. -}; -if(isNil "dayz_townGenerator") then { - dayz_townGenerator = true; // Spawn map junk -}; -if(isNil "dayz_townGeneratorBlackList") then { - dayz_townGeneratorBlackList = []; // Town generator will not spawn junk within 150m of these positions. -}; - -if (toLower worldName != "chernarus") then { - //Currently only compatible with Chernarus - dayz_infectiousWaterholes = false; - dayz_POIs = false; - dayz_townGenerator = false; -}; - -//Replace server individual settings with ranked settings -if(isNil "dayz_presets") then { dayz_presets = "Vanilla"; }; - -switch (dayz_presets) do { - case "Custom": { //Custom - if(isNil "dayz_enableGhosting") then { dayz_enableGhosting = false; }; - if(isNil "dayz_ghostTimer") then { dayz_ghostTimer = 120; }; - if(isNil "dayz_spawnselection") then { dayz_spawnselection = 0; }; - if(isNil "dayz_spawncarepkgs_clutterCutter") then { dayz_spawncarepkgs_clutterCutter = 0; }; - if(isNil "dayz_spawnCrashSite_clutterCutter") then { dayz_spawnCrashSite_clutterCutter = 0; }; - if(isNil "dayz_spawnInfectedSite_clutterCutter") then { dayz_spawnInfectedSite_clutterCutter = 0; }; - if(isNil "dayz_bleedingeffect") then { dayz_bleedingeffect = 2; }; - if(isNil "dayz_OpenTarget_TimerTicks") then { dayz_OpenTarget_TimerTicks = 60 * 10; }; - if(isNil "dayz_temperature_override") then { dayz_temperature_override = true; }; - if(isNil "dayz_nutritionValuesSystem") then { dayz_nutritionValuesSystem = false; }; - if(isNil "dayz_classicBloodBagSystem") then { dayz_classicBloodBagSystem = false; }; - if(isNil "dayz_enableFlies") then { dayz_enableFlies = true; }; - }; - case "Classic": { //Classic - dayz_enableGhosting = false; //Enable disable the ghosting system. - dayz_ghostTimer = 120; //Sets how long in seconds a player must be dissconnected before being able to login again. - dayz_spawnselection = 0; //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 and 2 = no grass - dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 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, 2= partical effect, 3 = both. - dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked. - dayz_temperature_override = true; // Set to true to disable all temperature changes. - dayz_nutritionValuesSystem = false; //Enables nutrition system - dayz_classicBloodBagSystem = true; //Enables one type of bloodbag - dayz_enableFlies = true; //Enables flies spawning on death - }; - case "Elite": { //Elite - dayz_enableGhosting = true; //Enable disable the ghosting system. - dayz_ghostTimer = 90; //Sets how long in seconds a player must be dissconnected before being able to login again. - dayz_spawnselection = 0; //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 and 2 = no grass - dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass - dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass - dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both. - dayz_OpenTarget_TimerTicks = 60 * 25; //how long can a player be freely attacked for after attacking someone unprovoked. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - dayz_nutritionValuesSystem = true; //Enables nutrition system - dayz_classicBloodBagSystem = false; //Enables one type of bloodbag - dayz_enableFlies = true; //Enables flies spawning on death - }; - default { //Vanilla - dayz_enableGhosting = true; //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 = 1; //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 and 2 = no grass - dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass - dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass - dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both. - dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - dayz_nutritionValuesSystem = true; //Enables nutrition system - dayz_classicBloodBagSystem = false; //Enables one type of bloodbag - dayz_enableFlies = true; //Enables flies spawning on death - }; -}; - -respawn_west_original = getMarkerPos "respawn_west"; //Prevent problems caused by cheaters moving respawn_west marker with setMarkerPos or deleteMarker - -switch (toLower worldName) do { - case "napf"; - case "ruegen"; - case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;}; - case "tavi" : {dayz_minpos = -26000; dayz_maxpos = 26000;}; - case "chernarus" : {dayz_minpos = -1; dayz_maxpos = 16000;}; - case default {dayz_minpos = -20000; dayz_maxpos = 20000;}; -}; - -//start achievements_init -//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\achievements_init.sqf"; - -// EPOCH ADDITIONS -keypadCancel = false; //Brute force fix -keyPadReset = {uiSleep 2; keypadCancel = false;}; -canbuild = true; -dayz_activeInvites = []; -dayz_combination = ""; -dayz_disallowedVault = ["TentStorage","BuiltItems","ModularItems","DZE_Base_Object","Generator_DZ"]; -// These work with just a running generator -dayz_fuelpumparray = ["FuelPump_DZ","Land_A_FuelStation_Feed","Land_Ind_FuelStation_Feed_EP1","Land_FuelStation_Feed_PMC","FuelStation","Land_ibr_FuelStation_Feed","Land_fuelstation_army","Land_smd_fuelstation_army","Land_fuelstation","land_fuelstation_w","Land_benzina_schnell"]; -dayz_humanitytarget = ""; -dayz_selectedVault = objNull; -dayz_selectedDoor = objNull; -DAYZ_woundHit_dog = [["body","hands","legs"],[0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2]]; -DZE_fueltruckarray = ["KamazRefuel_DZ","UralRefuel_TK_EP1_DZ","MtvrRefuel_DES_EP1_DZ","V3S_Refuel_TK_GUE_EP1_DZ","MtvrRefuel_DZ","KamazRefuel_DZE1","KamazRefuel_DZE2","KamazRefuel_DZE3","KamazRefuel_DZE4"]; -DZE_Lock_Door = ""; -DZE_HeliAllowTowFrom = ["CH_47F_EP1_DZE","CH_47F_EP1_DZ","CH_47F_BAF","CH_47F_EP1","BAF_Merlin_DZE","CH53_DZE"]; -DZE_HeliAllowToTow = ["hilux1_civil_1_open","HMMWV_Base","Lada_base","Offroad_DSHKM_base","Pickup_PK_base","SkodaBase","tractor","VWGolf","Volha_TK_CIV_Base_EP1","S1203_TK_CIV_EP1","SUV_Base_EP1","ArmoredSUV_Base_PMC","UAZ_Base","LandRover_Base","Ship"]; -DZE_REPLACE_WEAPONS = [["Crossbow","DMR","M14_EP1","SVD","SVD_CAMO"],["Crossbow_DZ","DMR_DZ","M14_CCO_DZ","SVD_DZ","SVD_Gh_DZ"]]; -DZE_replaceMagazines = [["vil_20Rnd_762x51_G3"],["vil_20Rnd_762x51_G3"]]; -DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"]; -DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"]; -DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"]; -DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Generator_DZ","DZ_buildables","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ","M240Nest_DZ","GunRack_DZ","WoodCrate_DZ","OutHouse_DZ","StorageShed_DZ","WoodShack_DZ","Wooden_shed_DZ"]; -DZE_DoorsLocked = ["Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallDoorLocked_DZ","CinderWallDoorSmallLocked_DZ"]; -DZE_isWreck = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"]; -DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck","Land_ammo_supply_wreck"]; -DZE_isNewStorage = ["VaultStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ"]; -DZE_isDestroyableStorage = ["OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ"]; -DZE_itemKeys = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"]; -DZE_keyColors = ["Green","Red","Blue","Yellow","Black"]; -helperDetach = false; -DZE_snapExtraRange = 0; -DZE_tradeVehicle = ["trade_any_vehicle","trade_any_vehicle_free","trade_any_vehicle_old","trade_any_bicycle","trade_any_bicycle_old","trade_any_boat","trade_any_boat_old"]; -DZE_tradeVehicleKeyless = ["trade_any_bicycle","trade_any_bicycle_old","trade_any_vehicle_free"]; -DZE_tradeObject = DZE_tradeVehicle + ["trade_backpacks"]; -DZE_GearCheckBypass = false; -isInTraderCity = false; -inTraderCity = "Unknown Trader"; -PlayerDeaths = []; -PVDZE_obj_Trade = []; // For all traders increment qty -PVDZE_plr_DeathB = []; -if (!DZE_ConfigTrader) then { - PVDZE_plr_TradeMenu = []; // For all traders -}; -snapGizmos = []; -snapGizmosNearby = []; -s_player_combi = []; -s_player_lockunlock = []; -s_player_lockUnlockInside = []; -s_player_parts = []; -if (isNil "DZE_GodModeBase") then {DZE_GodModeBase = false;}; -if (isNil "dayz_paraSpawn") then {dayz_paraSpawn = false;}; -if (isNil "DZE_BuildingLimit") then {DZE_BuildingLimit = 150;}; -if (isNil "DZE_BuildOnRoads") then {DZE_BuildOnRoads = false;}; -if (isNil "DZE_SelfTransfuse") then {DZE_SelfTransfuse = false;}; -if (isNil "DZE_selfTransfuse_Values") then {DZE_selfTransfuse_Values = [12000,15,120];}; -if (isNil "DZE_PlotPole") then {DZE_PlotPole = [30,45];}; -DZE_maintainRange = ((DZE_PlotPole select 0)+20); - -if (isServer) then { - dayz_serverPUIDArray = []; - dayz_serverClientKeys = []; - dayz_traps = []; - dead_bodyCleanup = []; - needUpdate_objects = []; - needUpdate_FenceObjects = []; - //dayz_spawnCrashSite_clutterCutter=0; // helicrash spawn... 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 - //Objects to remove when killed. - DayZ_nonCollide = ["TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3", "StashMedium4", "DomeTentStorage", "DomeTentStorage0", "DomeTentStorage1", "DomeTentStorage2", "DomeTentStorage3", "DomeTentStorage4", "CamoNet_DZ", "DesertTentStorage", "DesertTentStorage0", "DesertTentStorage1", "DesertTentStorage2", "DomeTentStorage3", "DesertTentStorage4"]; - DayZ_WoodenFence = ["WoodenFence_1","WoodenFence_2","WoodenFence_3","WoodenFence_4","WoodenFence_5","WoodenFence_6","WoodenFence_7"]; - DayZ_WoodenGates = ["WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4"]; - DayZ_removableObjects = ["Wire_cat1","Sandbag1_DZ","Hedgehog_DZ","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare"]; - //[10416.695, 4198.4634],[7982.2563, 1419.8256],[10795.93, 1419.8263],[7966.083, 4088.7463],[9259.7266, 2746.1985],[5200.5234, 3915.3274],[6494.1665, 2572.7798],[5216.6968, 1246.407],[2564.7244, 3915.3296],[3858.3674, 2572.782],[2580.8977, 1246.4092],[13398.995, 4400.5874],[12242.025, 2948.3196],[13551.842, 1832.2257],[14870.512, 3009.5117],[-178.19415, 1062.4478],[1099.2754, 2388.8206],[-194.36755, 3731.3679],[10394.215, 8322.1719],[7959.7759, 5543.5342],[10773.449, 5543.5342], - dayz_grid =[[7943.6025, 8212.4551],[9237.2461, 6869.9063],[5178.043, 8039.0361],[6471.686, 6696.4883],[5194.2163, 5370.1152],[2542.2439, 8039.0381],[3835.887, 6696.4902],[2558.4172, 5370.1172],[13376.514, 8524.2969],[12219.544, 7072.0273],[13529.361, 5955.9336],[14848.032, 7133.2197],[-200.67474, 5186.1563],[1076.7949, 6512.5283],[-216.84814, 7855.0771],[10293.751, 12197.736],[7859.312, 9419.0996],[10672.988, 9419.0996],[7843.1387, 12088.021],[9136.7822, 10745.474],[5077.5791, 11914.601],[6371.2222, 10572.052],[5093.7524, 9245.6816],[2441.78, 11914.604],[3735.4231, 10572.055],[2457.9534, 9245.6816],[13276.053, 12399.861],[12119.08, 10947.596],[13428.897, 9831.501],[14747.566, 11008.786],[-301.13867, 9061.7207],[976.33112, 10388.096],[-317.31201, 11730.642],[10271.271, 16321.429],[7836.8315, 13542.813],[10650.506, 13542.813],[7820.6582, 16211.718],[9114.3018, 14869.175],[5055.0986, 16038.3],[6348.7417, 14695.758],[5071.272, 13369.392],[2419.2996, 16038.305],[3712.9426, 14695.76],[2435.4729, 13369.392],[13253.568, 16523.553],[12096.6, 15071.295],[13406.416, 13955.209],[14725.089, 15132.486],[-323.61914, 13185.43],[953.85059, 14511.8],[-339.79248, 15854.346]]; - dayz_choppedTrees = []; - dayz_ghostPlayers = []; - dayz_activePlayers = []; - dayz_died = []; - - // EPOCH ADDITIONS - DZE_safeVehicle = ["ParachuteWest","ParachuteC"]; - if (isNil "EpochUseEvents") then {EpochUseEvents = false;}; - if (isNil "EpochEvents") then {EpochEvents = [];}; - if (isNil "MaxDynamicDebris") then {MaxDynamicDebris = 100;}; - if (isNil "MaxVehicleLimit") then {MaxVehicleLimit = 50;}; - if (isNil "spawnArea") then {spawnArea = 1400;}; - if (isNil "spawnShoremode") then {spawnShoremode = 1;}; -}; - -if (!isDedicated) then { - dayz_authKey = ""; - DZE_LastPingResp = diag_tickTime; - dayz_buildingBubbleMonitor = []; - DayZ_fuelCans = ["ItemJerrycan","ItemFuelcan","ItemFuelBarrel"]; - DayZ_fuelCansEmpty = ["ItemJerrycanEmpty","ItemFuelcanEmpty","ItemFuelBarrelEmpty"]; - DayZ_fuelSources = ["Land_Ind_TankSmall","Land_fuel_tank_big","Land_fuel_tank_stairs","Land_fuel_tank_stairs_ep1","Land_wagon_tanker","Land_fuelstation","Land_fuelstation_army","Land_smd_fuelstation_army","land_fuelstation_w","Land_benzina_schnell"]; - dayz_plantOutput = ["FoodPumpkin","FoodSunFlowerSeed","ItemKiloHemp"]; - dayz_plantTypes = ["","MAP_pumpkin","MAP_p_Helianthus","fiberplant"]; - //Needed for trees spawned with createVehicle like POI (typeOf returns class instead of "") - dayz_treeTypes = ["","MAP_t_picea1s","MAP_t_picea2s","MAP_t_picea3f","MAP_t_pinusN2s","MAP_t_pinusS2f","MAP_t_populus3s","MAP_t_betula2s","MAP_t_fagus2s","MAP_t_fagus2W","MAP_t_malus1s"]; - - //temperature variables - dayz_temperatur = 36; //TeeChange - dayz_temperaturnormal = 36; //TeeChange - dayz_temperaturmax = 42; //TeeChange - dayz_temperaturmin = 27; //TeeChange - - //player special variables - dayz_bloodBagHumanity = 300; - dayz_HarvestingChance = [0.09]; - dayz_lastCheckBit = 0; - dayz_lastDamageSourceNull = false; - dayz_lastDamageSource = "none"; - dayz_lastDamageTime = 0; - dayz_lastMedicalSource = "none"; - dayz_lastMedicalTime = 0; - dayz_lastClothesChange = 0; - dayZ_lastPlayerUpdate = 0; - dayz_lastSelfTransfusion = -(DZE_selfTransfuse_Values select 2); - dayz_lastTransfusion = 0; - dayz_playerName = "unknown"; - dayz_hunger = 0; - dayz_thirst = 0; - dayz_nutrition = 0; - dayz_preloadFinished = true; - dayz_soundMuted = false; - dayz_disAudial = 0; - dayz_disVisual = 0; - dayz_firedCooldown = 0; - dayz_damageCounter = time; - dayz_lastSave = diag_tickTime; - dayz_isSwimming = true; - dayz_currentDay = 0; - dayz_hasLight = false; - dayz_surfaceNoise = 0; - dayz_surfaceType = "None"; - dayz_noPenalty = []; - dayz_heavenCooldown = 0; - deathHandled = false; - dayz_firstGroup = group player; - dayz_originalPlayer = player; - dayz_sourceBleeding = objNull; - dayz_clientPreload = false; - dayz_authed = false; - dayz_panicCooldown = 0; - dayz_areaAffect = 3.5; - dayz_monitorPeriod = 0.6; // number of seconds between each player_zombieCheck calls - dayz_heartBeat = false; - dayz_spawnZombies = 0; // Current local - dayz_swarmSpawnZombies = 0; - dayz_maxLocalZombies = 15; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z - dayz_CurrentNearByZombies = 0; - dayz_maxNearByZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z - dayz_currentGlobalZombies = 0; // Current total - if(isNil "dayz_maxGlobalZeds") then { - dayz_maxGlobalZeds = 1000; - }; - //Animals - dayz_currentGlobalAnimals = 0; - dayz_maxGlobalAnimals = 50; - //Plants - dayz_currentGlobalPlants = 0; - dayz_maxGlobalPlants = 500; - //Loot - r_player_divideinvehicle = 0; - dayz_currentWeaponHolders = 0; - dayz_maxMaxWeaponHolders = 80; - dayz_inVehicle = false; - dayz_unsaved = false; - dayz_scaleLight = 0; - dayz_onBack = ""; - dayz_fishingInprogress = false; - lastSpawned = diag_tickTime; - lastSepsis = 0; - NORRN_dropAction = -1; - dayz_dodge = false; - Dayz_constructionContext = []; - Dayz_freefall = [ time, 0, 0.1 ]; - dayz_getoutTime = 0; - dayz_hitByTime = 0; - skipGearSound = false; - TimeOutDisplayed = false; - playerHumanityCHK = 0; - voice_actions = ["voiceOverNet","PushToTalk","PushToTalkAll","PushToTalkCommand","PushToTalkDirect","PushToTalkGroup","PushToTalkSide","PushToTalkVehicle"]; - - // EPOCH ADDITIONS - s_player_lastTarget = objNull; - if (isNil "DZE_BackpackAntiTheft") then {DZE_BackpackAntiTheft = false;}; - if (isNil "DZE_requireplot") then {DZE_requireplot = 1;}; - if (isNil "DZE_StaticConstructionCount") then {DZE_StaticConstructionCount = 0;}; - if (toLower DZE_DeathMsgChat in ["global","side"]) then {enableRadio true;}; //Needed for scripted global chat to show, doesn't seem to have any adverse effects - dayz_autoRun = false; - DZE_AntiWallCounter = 0; - DZE_myHaloVehicle = objNull; - dayz_myLiftVehicle = objNull; - DZE_Friends = []; - DZE_Q = false; - DZE_Z = false; - DZE_Q_alt = false; - DZE_Z_alt = false; - DZE_Q_ctrl = false; - DZE_Z_ctrl = false; - DZE_4 = false; - DZE_5 = false; - DZE_6 = false; - DZE_F = false; - DZE_cancelBuilding = false; - DZE_TEMP_treedmg = 1; - DZE_Surrender = false; - DZE_Quarantine = false; - DZE_InRadiationZone = false; - DZE_myVehicle = objNull; - dayz_groupNameTags = (profileNamespace getVariable ["streamerMode",0] == 0); //If streamer mode is on then hide name tags at startup. Toggle with Windows key. - dayz_minusDownTime = 0; - dayz_lastCodeFail = 0; -}; +disableSerialization; + +/**************Variables Compiled on Both Client and Server**************/ + +Dayz_plants = ["Dayz_Plant1","Dayz_Plant2","Dayz_Plant3"]; +DayZ_SafeObjects = ["Base_Fire_DZ","WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","Land_Fire_DZ","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","BearTrap_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare","TentStorageDomed","VaultStorageLocked","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4"]; +DayZ_GearedObjects = ["Car","Helicopter","Motorcycle","Ship","TentStorage_base","StashSmall_base","StashMedium_base","Plane","Tank","VaultStorage","LockboxStorage","TentStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ","Generator_DZ"]; +dayz_typedBags = ["bloodTester","bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]; +dayz_plant = ["pumpkin.p3d","p_helianthus.p3d","p_fiberplant_ep1.p3d"]; +dayz_trees = ["ind_timbers.p3d","t_picea2s_snow.p3d","b_corylus.p3d","t_quercus3s.p3d","t_larix3s.p3d","t_pyrus2s.p3d","str_briza_kriva.p3d","dd_borovice.p3d","les_singlestrom_b.p3d","les_singlestrom.p3d","smrk_velky.p3d","smrk_siroky.p3d","smrk_maly.p3d","les_buk.p3d","str krovisko vysoke.p3d","str_fikovnik_ker.p3d","str_fikovnik.p3d","str vrba.p3d","hrusen2.p3d","str dub jiny.p3d","str lipa.p3d","str briza.p3d","p_akat02s.p3d","jablon.p3d","p_buk.p3d","str_topol.p3d","str_topol2.p3d","p_osika.p3d","t_picea3f.p3d","t_picea2s.p3d","t_picea1s.p3d","t_fagus2w.p3d","t_fagus2s.p3d","t_fagus2f.p3d","t_betula1f.p3d","t_betula2f.p3d","t_betula2s.p3d","t_betula2w.p3d","t_alnus2s.p3d","t_acer2s.p3d","t_populus3s.p3d","t_quercus2f.p3d","t_sorbus2s.p3d","t_malus1s.p3d","t_salix2s.p3d","t_picea1s_w.p3d","t_picea2s_w.p3d","t_ficusb2s_ep1.p3d","t_populusb2s_ep1.p3d","t_populusf2s_ep1.p3d","t_amygdalusc2s_ep1.p3d","t_pistacial2s_ep1.p3d","t_pinuse2s_ep1.p3d","t_pinuss3s_ep1.p3d","t_prunuss2s_ep1.p3d","t_pinusn2s.p3d","t_pinusn1s.p3d","t_pinuss2f.p3d","t_poplar2f_dead_pmc.p3d","misc_torzotree_pmc.p3d","misc_burnspruce_pmc.p3d","brg_cocunutpalm8.p3d","brg_umbrella_acacia01b.p3d","brg_jungle_tree_canopy_1.p3d","brg_jungle_tree_canopy_2.p3d","brg_cocunutpalm4.p3d","brg_cocunutpalm3.p3d","palm_01.p3d","palm_02.p3d","palm_03.p3d","palm_04.p3d","palm_09.p3d","palm_10.p3d","brg_cocunutpalm2.p3d","brg_jungle_tree_antiaris.p3d","brg_cocunutpalm1.p3d","str habr.p3d","brg_bird_1.p3d","brg_bird_2.p3d","brg_bird_3.p3d","brg_umbrella_acacia02b.p3d","brg_africandoumpalm_1.p3d","brg_umbrella_acacia04b.p3d","brg_datepalm_4.p3d","brg_datepalm_1.p3d","brg_umbrella_acacia03b.p3d","brg_bottle_4.p3d","brg_aloe1.p3d","brg_umbrella_acacia03.p3d","brg_umbrella_acacia01.p3d","brg_umbrella_acacia04.p3d","brg_aloe2.p3d","brg_umbrella_acacia02.p3d","brg_aloe3.p3d","brg_bottle_1.p3d","brg_datepalm_3.p3d","brg_datepalm_2.p3d","brg_baobab_1.p3d","brg_bottle_2.p3d","brg_bottle_3.p3d","t_fraxinus2s.p3d","t_carpinus2s.p3d"]; +dayZ_explosiveParts = ["palivo","motor"]; +dayz_traps_active = []; +dayz_traps_trigger = []; + +// Used by player_sumMedical, should contains all limbs described in USEC_woundPoint. These limbs statuses are saved by server_playerSync in HIVE if they are bleeding (medical select 8) +USEC_typeOfWounds = ["Pelvis","aimpoint","lelbow","relbow","RightFoot","LeftFoot","neck","pilot"]; + +// Player classes +AllPlayers = ["Survivor_DZ","Survivor1_DZ","SurvivorW2_DZ","Survivor2_DZ","Sniper1_DZ","Soldier1_DZ","Camo1_DZ","BanditW1_DZ","Bandit1_DZ","Survivor3_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","Bandit2_DZ","BanditW2_DZ","Soldier_Crew_PMC","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","INS_Lopotev_DZ","INS_Soldier_AR_DZ","INS_Soldier_CO_DZ","INS_Bardak_DZ","INS_Worker2_DZ","USMC_Soldier_Officer_DZ","USMC_Soldier_MG_DZ","USMC_Soldier_Pilot_DZ","FR_TL_DZ","FR_R_DZ","FR_Marksman_DZ","FR_Assault_R_DZ","RU_Soldier_DZ","RU_Soldier_Officer_DZ","RUS_Soldier1_DZ","RUS_Commander_DZ","MVD_Soldier_DZ","Ins_Soldier_2_DZ","Ins_Commander_DZ","Ins_Soldier_Crew_DZ","CDF_Soldier_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","TK_INS_Soldier_AR_EP1_DZ","TK_GUE_Soldier_EP1_DZ","CZ_Soldier_SL_DES_EP1_DZ","US_Soldier_EP1_DZ","UN_CDF_Soldier_Guard_EP1_DZ","UN_CDF_Soldier_EP1_DZ","GER_Soldier_TL_EP1_DZ","BAF_Soldier_Officer_MTP_DZ","BAF_Soldier_N_MTP_DZ","FR_Sapper_DZ"]; + +// Epoch Additions +dayz_activeInvites = []; +DZE_DoorsLocked = ["Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallDoorLocked_DZ","CinderWallDoorSmallLocked_DZ"]; +DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck","Land_ammo_supply_wreck"]; +DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"]; +DZE_isWreck = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"]; + +if (isNil "dayz_POIs") then {dayz_POIs = true;}; //Enable POI's +if (isNil "dayz_ForcefullmoonNights") then {dayz_ForcefullmoonNights = false;}; // Forces night time to be full moon. +if (isNil "dayz_townGenerator") then {dayz_townGenerator = true;}; // Spawn map junk. Currently only compatible with Chernarus. Need to add coordinates for other maps. +if (isNil "dayz_townGeneratorBlackList") then {dayz_townGeneratorBlackList = [];}; // Town generator will not spawn junk within 150m of these positions. +if (isNil "infectedWaterHoles") then {infectedWaterHoles = [];}; //Needed for non-cherno maps. +if (isNil "DZE_GodModeBase") then {DZE_GodModeBase = false;}; // Disables damage handler from base objects so they can't be destroyed. +if (isNil "dayz_presets") then {dayz_presets = "Vanilla";}; //Replace server individual settings with ranked settings + +call { // Custom DayZ preset variables are also located in the mission init file. + if (dayz_presets == "Custom") exitWith { + if (isNil "dayz_enableGhosting") then {dayz_enableGhosting = false;}; + if (isNil "dayz_ghostTimer") then {dayz_ghostTimer = 120;}; + if (isNil "dayz_spawnselection") then {dayz_spawnselection = 0;}; + if (isNil "dayz_spawncarepkgs_clutterCutter") then {dayz_spawncarepkgs_clutterCutter = 0;}; + if (isNil "dayz_spawnCrashSite_clutterCutter") then {dayz_spawnCrashSite_clutterCutter = 0;}; + if (isNil "dayz_spawnInfectedSite_clutterCutter") then {dayz_spawnInfectedSite_clutterCutter = 0;}; + if (isNil "dayz_bleedingeffect") then {dayz_bleedingeffect = 2;}; + if (isNil "dayz_OpenTarget_TimerTicks") then {dayz_OpenTarget_TimerTicks = 60 * 10;}; + if (isNil "dayz_temperature_override") then {dayz_temperature_override = true;}; + if (isNil "dayz_nutritionValuesSystem") then {dayz_nutritionValuesSystem = false;}; + if (isNil "dayz_classicBloodBagSystem") then {dayz_classicBloodBagSystem = false;}; + if (isNil "dayz_enableFlies") then {dayz_enableFlies = true;}; + }; + if (dayz_presets == "Classic") exitWith { + dayz_enableGhosting = false; //Enable disable the ghosting system. + dayz_ghostTimer = 120; //Sets how long in seconds a player must be dissconnected before being able to login again. + dayz_spawnselection = 0; //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 and 2 = no grass + dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 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, 2= partical effect, 3 = both. + dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked. + dayz_temperature_override = true; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = false; //Enables nutrition system + dayz_classicBloodBagSystem = true; //Enables one type of bloodbag + dayz_enableFlies = true; //Enables flies spawning on death + }; + if (dayz_presets == "Elite") exitWith { + dayz_enableGhosting = true; //Enable disable the ghosting system. + dayz_ghostTimer = 90; //Sets how long in seconds a player must be dissconnected before being able to login again. + dayz_spawnselection = 0; //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 and 2 = no grass + dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass + dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass + dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both. + dayz_OpenTarget_TimerTicks = 60 * 25; //how long can a player be freely attacked for after attacking someone unprovoked. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //Enables nutrition system + dayz_classicBloodBagSystem = false; //Enables one type of bloodbag + dayz_enableFlies = true; //Enables flies spawning on death + }; + // Default - Vanilla + dayz_enableGhosting = true; //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 = 1; //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 and 2 = no grass + dayz_spawnCrashSite_clutterCutter = 0; // heli crash options 0 = loot hidden in grass, 1 = loot lifted and 2 = no grass + dayz_spawnInfectedSite_clutterCutter = 0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass + dayz_bleedingeffect = 3; //1= blood on the ground, 2= partical effect, 3 = both. + dayz_OpenTarget_TimerTicks = 60 * 10; //how long can a player be freely attacked for after attacking someone unprovoked. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //Enables nutrition system + dayz_classicBloodBagSystem = false; //Enables one type of bloodbag + dayz_enableFlies = true; //Enables flies spawning on death +}; + +respawn_west_original = getMarkerPos "respawn_west"; //Prevent problems caused by cheaters moving respawn_west marker with setMarkerPos or deleteMarker + +switch (toLower worldName) do { + case "napf"; + case "ruegen"; + case "sauerland" : {dayz_minpos = -1000; dayz_maxpos = 26000;}; + case "tavi" : {dayz_minpos = -26000; dayz_maxpos = 26000;}; + case "chernarus" : {dayz_minpos = -1; dayz_maxpos = 16000;}; + case default {dayz_minpos = -20000; dayz_maxpos = 20000;}; +}; + +/**************Variables Compiled on the Server Only**************/ + +if (isServer) then { + dayz_serverPUIDArray = []; + dayz_serverClientKeys = []; + dayz_traps = []; + dead_bodyCleanup = []; + needUpdate_objects = []; + needUpdate_FenceObjects = []; + dayz_choppedTrees = []; + dayz_ghostPlayers = []; + dayz_activePlayers = []; + dayz_died = []; + allowConnection = false; + dayz_serverObjectMonitor = []; + PlayerDeaths = []; + + //Objects to remove when killed. + DayZ_nonCollide = ["TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3", "StashMedium4", "DomeTentStorage", "DomeTentStorage0", "DomeTentStorage1", "DomeTentStorage2", "DomeTentStorage3", "DomeTentStorage4", "CamoNet_DZ", "DesertTentStorage", "DesertTentStorage0", "DesertTentStorage1", "DesertTentStorage2", "DomeTentStorage3", "DesertTentStorage4"]; + DayZ_WoodenFence = ["WoodenFence_1","WoodenFence_2","WoodenFence_3","WoodenFence_4","WoodenFence_5","WoodenFence_6","WoodenFence_7"]; + DayZ_WoodenGates = ["WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4"]; + DayZ_removableObjects = ["Wire_cat1","Sandbag1_DZ","Hedgehog_DZ","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare"]; + + // Epoch Additions + DZE_safeVehicle = ["ParachuteWest","ParachuteC"]; + if (isNil "EpochUseEvents") then {EpochUseEvents = false;}; + if (isNil "EpochEvents") then {EpochEvents = [];}; + if (isNil "MaxDynamicDebris") then {MaxDynamicDebris = 100;}; + if (isNil "MaxVehicleLimit") then {MaxVehicleLimit = 50;}; + if (isNil "spawnArea") then {spawnArea = 1400;}; + if (isNil "spawnShoremode") then {spawnShoremode = 1;}; +}; + +/**************Variables Compiled on Clients Only**************/ + +if (!isDedicated) then { + + // Rolling Msg system + Message_1 = ""; + Message_2 = ""; + Message_3 = ""; + Message_1_time = 0; + Message_2_time = 0; + Message_3_time = 0; + + // Kill Feed + death_1 = ""; + death_2 = ""; + death_3 = ""; + death_4 = ""; + death_1_time = 0; + death_2_time = 0; + death_3_time = 0; + death_4_time = 0; + + // Initialize Medical Variables + r_drag_sqf = false; + r_action = false; + r_action_unload = false; + r_player_handler = false; + r_player_unconsciousInProgress = false; + r_player_unconsciousInputDisabled = false; + r_player_dead = false; + r_player_unconscious = false; + r_player_infected = false; + + // Infection from hits + r_player_Sepsis = [false, 0]; + r_player_injured = false; + r_player_inpain = false; + r_player_loaded = false; + r_player_cardiac = false; + r_fracture_legs = false; + r_fracture_arms = false; + r_player_vehicle = player; + r_player_blood = 12000; + r_player_bloodregen = 0; + r_player_bloodgainpersec = 0; + r_player_bloodlosspersec = 0; + r_player_bloodpersec = 0; //Blood Per Sec (gain - loss) + r_player_foodstack = 1; + + // Player skill + r_player_lowblood = false; + r_player_timeout = 0; + r_player_bloodTotal = r_player_blood; + r_player_actions = []; + r_action_targets = []; + + // Blood test vars + r_A_watered = false; + r_B_watered = false; + r_D_watered = false; + r_control_watered = false; + r_canClick_resultsCard = false; + r_resultsCard_Clicked = false; + r_water_clicked = false; + r_needleclicked = 0; + r_needleReset = false; + r_control_done = false; + r_antiA_done = false; + r_antiB_done = false; + r_antiD_done = false; + + //Player self-action handles - this function gets called by player_humanityMorph + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_attach_bomb = -1; + s_player_upgradestorage = -1; + s_player_Drinkfromhands = -1; + /*s_player_lockhouse = -1; //Vanilla base building currently not used in Epoch + s_player_unlockhouse = -1; + s_player_openGate = -1; + s_player_CloseGate = -1; + s_player_breakinhouse = -1; + s_player_setCode = -1; + s_player_BuildUnLock = -1; + s_player_BuildLock = -1;*/ + + // Epoch Additions + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_player_towing = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + }; + call dayz_resetSelfActions; + + // These self action variables only need to be set once + s_player_toggleSnapSelectPoint = []; + s_player_toggleDegrees=[]; + s_player_toggleVectors=[]; + s_player_combi = []; + s_player_lockunlock = []; + s_player_lockUnlockInside = []; + s_player_parts = []; + s_player_repairActions = []; + + //actions blockers + a_player_cooking = false; + a_player_boil = false; + + // General Variables + OpenTarget_Time = 0; + dayz_actionInProgress = false; + dayz_DisplayGenderSelect = true; + carryClick = false; + gear_done = false; + force_dropBody = false; + r_interrupt = false; + r_doLoop = false; + r_pitchWhine = false; + dayz_authKey = ""; + DZE_LastPingResp = diag_tickTime; + dayz_humanitytarget = ""; + dayz_selectedVault = objNull; + dayz_selectedDoor = objNull; + DZE_Lock_Door = ""; + DZE_GearCheckBypass = false; + isInTraderCity = false; + inTraderCity = "Unknown Trader"; + canPickup = false; + pickupInit = false; + mouseOverCarry = false; //for carry slot since determining mouse pos doesn't work right + dayz_currentGlobalAnimals = 0; + r_player_divideinvehicle = 0; + dayz_currentWeaponHolders = 0; + dayz_unsaved = false; + dayz_scaleLight = 0; + dayz_onBack = ""; + dayz_fishingInprogress = false; + NORRN_dropAction = -1; + dayz_dodge = false; + Dayz_constructionContext = []; + Dayz_freefall = [ time, 0, 0.1 ]; + dayz_getoutTime = 0; + dayz_hitByTime = 0; + skipGearSound = false; + TimeOutDisplayed = false; + playerHumanityCHK = 0; + helperDetach = false; + + // Arrays + voice_actions = ["voiceOverNet","PushToTalk","PushToTalkAll","PushToTalkCommand","PushToTalkDirect","PushToTalkGroup","PushToTalkSide","PushToTalkVehicle"]; + Dayz_meatraw = ["FoodBeefRaw","FoodMuttonRaw","FoodChickenRaw","FoodRabbitRaw","FoodBaconRaw","FoodGoatRaw","FoodDogRaw","FishRawTrout","FishRawSeaBass","FishRawTuna"]; + Dayz_meatcooked = ["FoodBeefCooked","FoodMuttonCooked","FoodChickenCooked","FoodRabbitCooked","FoodBaconCooked","FoodGoatCooked","FoodDogCooked","FishCookedTrout","FishCookedSeaBass","FishCookedTuna"]; + boil_tin_cans = ["TrashTinCan","FoodCanGriffEmpty","FoodCanBadguyEmpty","FoodCanBoneboyEmpty","FoodCanCornEmpty","FoodCanCurgonEmpty","FoodCanDemonEmpty","FoodCanFraggleosEmpty","FoodCanHerpyEmpty","FoodCanDerpyEmpty","FoodCanOrlokEmpty","FoodCanPowellEmpty","FoodCanTylersEmpty","FoodCanUnlabeledEmpty","FoodCanRusUnlabeledEmpty","FoodCanRusStewEmpty","FoodCanRusPorkEmpty","FoodCanRusPeasEmpty","FoodCanRusMilkEmpty","FoodCanRusCornEmpty","ItemSodaEmpty","ItemSodaClaysEmpty","ItemSodaDrwasteEmpty","ItemSodaFrankaEmpty","ItemSodaGrapeDrinkEmpty","ItemSodaLemonadeEmpty","ItemSodaLirikEmpty","ItemSodaLvgEmpty","ItemSodaMtngreenEmpty","ItemSodaMzlyEmpty","ItemSodaPeppsyEmpty","ItemSodaR4z0rEmpty","ItemSodaRabbitEmpty","ItemSodaRocketFuelEmpty","ItemSodaSacriteEmpty","ItemSodaSherbetEmpty","ItemSodaSmashtEmpty","FoodCanPotatoesEmpty","FoodCanBeefEmpty"]; + MeleeWeapons = ["MeleeHatchet","MeleeCrowbar","MeleeMachete","MeleeBaseball","MeleeBaseBallBat","MeleeBaseBallBatBarbed","MeleeBaseBallBatNails","MeleeFishingPole","MeleeSledge"]; + MeleeMagazines = ["Hatchet_Swing","Crowbar_Swing","Machete_Swing","Bat_Swing","BatBarbed_Swing","BatNails_Swing","Fishing_Swing","Sledge_Swing"]; + MeleeAmmo = ["Hatchet_Swing_Ammo","Crowbar_Swing_Ammo","Machete_Swing_Ammo","Bat_Swing_Ammo","BatBarbed_Swing_Ammo","BatNailed_Swing_Ammo","Fishing_Swing_Ammo","Sledge_Swing_Ammo","Chainsaw_Swing_Ammo"]; + Dayz_Gutting = ["ItemKnife","ItemKnife5","ItemKnife4","ItemKnife3","ItemKnife2","ItemKnife1","ItemKnifeBlunt"]; + DayZ_Ignitors = ["ItemMatchbox","Item5Matchbox","Item4Matchbox","Item3Matchbox","Item2Matchbox","Item1Matchbox"]; + dayz_disallowedVault = ["TentStorage","BuiltItems","ModularItems","DZE_Base_Object","Generator_DZ"]; + dayz_fuelpumparray = ["FuelPump_DZ","Land_A_FuelStation_Feed","Land_Ind_FuelStation_Feed_EP1","Land_FuelStation_Feed_PMC","FuelStation","Land_ibr_FuelStation_Feed","Land_fuelstation_army","Land_smd_fuelstation_army","Land_fuelstation","land_fuelstation_w","Land_benzina_schnell"]; + DayZ_fuelCans = ["ItemJerrycan","ItemFuelcan","ItemFuelBarrel"]; + DayZ_fuelCansEmpty = ["ItemJerrycanEmpty","ItemFuelcanEmpty","ItemFuelBarrelEmpty"]; + DayZ_fuelSources = ["Land_Ind_TankSmall","Land_fuel_tank_big","Land_fuel_tank_stairs","Land_fuel_tank_stairs_ep1","Land_wagon_tanker","Land_fuelstation","Land_fuelstation_army","Land_smd_fuelstation_army","land_fuelstation_w","Land_benzina_schnell"]; + dayz_plantOutput = ["FoodPumpkin","FoodSunFlowerSeed","ItemKiloHemp"]; + dayz_plantTypes = ["","MAP_pumpkin","MAP_p_Helianthus","fiberplant"]; + DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"]; + DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"]; + DZE_REPLACE_WEAPONS = [["Crossbow","DMR","M14_EP1","SVD","SVD_CAMO"],["Crossbow_DZ","DMR_DZ","M14_CCO_DZ","SVD_DZ","SVD_Gh_DZ"]]; + DZE_replaceMagazines = [["vil_20Rnd_762x51_G3"],["vil_20Rnd_762x51_G3"]]; + DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Generator_DZ","DZ_buildables","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ","M240Nest_DZ"]; + DZE_fueltruckarray = ["KamazRefuel_DZ","UralRefuel_TK_EP1_DZ","MtvrRefuel_DES_EP1_DZ","V3S_Refuel_TK_GUE_EP1_DZ","MtvrRefuel_DZ","KamazRefuel_DZE1","KamazRefuel_DZE2","KamazRefuel_DZE3","KamazRefuel_DZE4"]; + DZE_HeliAllowToTow = ["hilux1_civil_1_open","HMMWV_Base","Lada_base","Offroad_DSHKM_base","Pickup_PK_base","SkodaBase","tractor","VWGolf","Volha_TK_CIV_Base_EP1","S1203_TK_CIV_EP1","SUV_Base_EP1","ArmoredSUV_Base_PMC","UAZ_Base","LandRover_Base","Ship"]; + DZE_isNewStorage = ["VaultStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ"]; + DZE_isDestroyableStorage = ["OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ"]; + DZE_tradeVehicle = ["trade_any_vehicle","trade_any_vehicle_free","trade_any_vehicle_old","trade_any_bicycle","trade_any_bicycle_old","trade_any_boat","trade_any_boat_old"]; + DZE_tradeVehicleKeyless = ["trade_any_bicycle","trade_any_bicycle_old","trade_any_vehicle_free"]; + DZE_tradeObject = DZE_tradeVehicle + ["trade_backpacks"]; + //Needed for trees spawned with createVehicle like POI (typeOf returns class instead of "") + dayz_treeTypes = ["","MAP_t_picea1s","MAP_t_picea2s","MAP_t_picea3f","MAP_t_pinusN2s","MAP_t_pinusS2f","MAP_t_populus3s","MAP_t_betula2s","MAP_t_fagus2s","MAP_t_fagus2W","MAP_t_malus1s"]; + DayZ_DropDrageeObjects = ["WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","TentStorageDomed","VaultStorageLocked","BagFenceRound_DZ","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","StickFence_DZ","SandNest_DZ","MetalPanel_DZ","WorkBench_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4","WoodFloorHalf_DZ","WoodFloor_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","MetalFloor_DZ","WoodRamp_DZ"]; + Dayz_fishingItems = ["MeleeFishingPole"]; + dayz_playerAchievements = []; //[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] + snapGizmos = []; // may not need this + snapGizmosNearby = []; // may not need this + dayz_buildingBubbleMonitor = []; + + //temperature variables + dayz_temperatur = 36; //TeeChange + dayz_temperaturnormal = 36; //TeeChange + dayz_temperaturmax = 42; //TeeChange + dayz_temperaturmin = 27; //TeeChange + + //player special variables + dayz_bloodBagHumanity = 300; + dayz_HarvestingChance = [0.09]; + dayz_lastCheckBit = 0; + dayz_lastDamageSourceNull = false; + dayz_lastDamageSource = "none"; + dayz_lastDamageTime = 0; + dayz_lastMedicalSource = "none"; + dayz_lastMedicalTime = 0; + dayz_lastClothesChange = 0; + dayZ_lastPlayerUpdate = 0; + dayz_lastSelfTransfusion = -(DZE_selfTransfuse_Values select 2); + dayz_lastTransfusion = 0; + dayz_playerName = "unknown"; + dayz_hunger = 0; + dayz_thirst = 0; + dayz_nutrition = 0; + dayz_preloadFinished = true; + dayz_soundMuted = false; + dayz_disAudial = 0; + dayz_disVisual = 0; + dayz_firedCooldown = 0; + dayz_damageCounter = time; + dayz_lastSave = diag_tickTime; + dayz_isSwimming = true; + dayz_currentDay = 0; + dayz_hasLight = false; + dayz_surfaceNoise = 0; + dayz_surfaceType = "None"; + deathHandled = false; + dayz_firstGroup = group player; + dayz_originalPlayer = player; + dayz_sourceBleeding = objNull; + dayz_clientPreload = false; + dayz_authed = false; + dayz_panicCooldown = 0; + dayz_areaAffect = 3.5; + dayz_monitorPeriod = 0.6; // number of seconds between each player_zombieCheck calls + dayz_heartBeat = false; + dayz_spawnZombies = 0; // Current local + dayz_swarmSpawnZombies = 0; + dayz_CurrentNearByZombies = 0; + dayz_currentGlobalZombies = 0; // Current total + + if(isNil "dayz_maxGlobalZeds") then { + dayz_maxGlobalZeds = 1000; // Maximum allowed zeds on the map + }; + if(isNil "dayz_quickSwitch") then { + dayz_quickSwitch = false; //Enable quick weapon switch, + }; + if (isNil "dayz_paraSpawn") then { + dayz_paraSpawn = false; // Helo jump spawn + }; + if (isNil "DZE_BuildOnRoads") then { + DZE_BuildOnRoads = false; // Allow building on roads + }; + if (isNil "DZE_SelfTransfuse") then { + DZE_SelfTransfuse = false; // Allow players to give themselves blood transfusions + }; + if (isNil "DZE_selfTransfuse_Values") then { + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + }; + if (isNil "DZE_PlotPole") then { + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + }; + if (isNil "DZE_BuildingLimit") then { + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + }; + if(isNil "dayz_DamageMultiplier") then { + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + }; + if(isNil "dayz_infectiouswaterholes") then { + dayz_infectiouswaterholes = true; //Enable infected waterholes + }; + if(isNil "dayz_randomMaxFuelAmount") then { + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + }; + if (isNil "DZE_BackpackAntiTheft") then { + DZE_BackpackAntiTheft = false; // Prevents accessing backpack gear of non-friendly players in trader cities + }; + if (isNil "DZE_requireplot") then { + DZE_requireplot = 1; // Players require a plot to build + }; + if (isNil "DZE_StaticConstructionCount") then { + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + }; + + DZE_maintainRange = ((DZE_PlotPole select 0)+20); // Default: maintain building objects within plot radius + 20 meters. + dayz_maxGlobalAnimals = 50; // Maximum number of animals allowed on the map simultaneously. + dayz_maxGlobalPlants = 500; // Maximum number of plants to be spawned on the map. + dayz_maxMaxWeaponHolders = 80; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_maxLocalZombies = 15; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z + dayz_maxNearByZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z + dayz_maxAnimals = 5; // Used to calculate the max number of animals to spawn per player. + dayz_animalDistance = 600; // Used to calculate the distance from players that animals should spawn and be deleted. + + // Epoch Additions + dayz_combination = ""; + keypadCancel = false; //Brute force fix + keyPadReset = {uiSleep 2; keypadCancel = false;}; + canbuild = true; + DZE_HeliAllowTowFrom = ["CH_47F_EP1_DZE","CH_47F_EP1_DZ","CH_47F_BAF","CH_47F_EP1","BAF_Merlin_DZE","CH53_DZE"]; + DZE_itemKeys = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"]; + DZE_keyColors = ["Green","Red","Blue","Yellow","Black"]; + s_player_lastTarget = objNull; + if (toLower DZE_DeathMsgChat in ["global","side"]) then {enableRadio true;}; //Needed for scripted global chat to show, doesn't seem to have any adverse effects + dayz_autoRun = false; + DZE_AntiWallCounter = 0; + DZE_myHaloVehicle = objNull; + dayz_myLiftVehicle = objNull; + DZE_Friends = []; + DZE_Q = false; + DZE_Z = false; + DZE_Q_alt = false; + DZE_Z_alt = false; + DZE_Q_ctrl = false; + DZE_Z_ctrl = false; + DZE_4 = false; + DZE_5 = false; + DZE_6 = false; + DZE_F = false; + DZE_cancelBuilding = false; + DZE_TEMP_treedmg = 1; + DZE_Surrender = false; + DZE_InRadiationZone = false; + DZE_myVehicle = objNull; + dayz_groupNameTags = (profileNamespace getVariable ["streamerMode",0] == 0); //If streamer mode is on then hide name tags at startup. Toggle with Windows key. + dayz_minusDownTime = 0; + dayz_lastCodeFail = 0; + dayz_lastHumanityChange = diag_tickTime; + dayz_canDelete = 350; // Z, further than this distance from its "owner", will be deleted + + // Survival Variables + SleepFood = 2160; //minutes (48 hours) + SleepWater = 1440; //minutes (24 hours) + SleepTemperatur = 90 / 100; //First value = Minutes until player reaches the coldest point at night (without other effects! night factor expected to be -1) //TeeChange + + // GUI + Dayz_GUI_R = 0.38; // 0.7 .38 + Dayz_GUI_G = 0.63; // -0.63 + Dayz_GUI_B = 0.26; // -0.26 + + // Heatpack + r_player_warming_heatpack = [false, 0]; + r_player_warming_heatpack_time = 600; + + // Displays temp progress + r_player_temp_factor = 0; //to be used for temp(up/down) indicators + r_player_temp_min_factor = -0.04; //(lvl3 down arrow) + r_player_temp_max_factor = 0.04; //(lvl3 up arrow) + + // INT Nutrition Info + r_player_Nutrition = 0; // Calories + r_player_nutritionMuilpty = 2; + + // Ammo Routine + r_player_actions2 = []; + r_action2 = false; + r_player_lastVehicle = objNull; + r_player_lastSeat = []; + r_player_removeActions2 = { + if (!isNull r_player_lastVehicle) then { + { + r_player_lastVehicle removeAction _x; + } count r_player_actions2; + r_player_actions2 = []; + r_action2 = false; + }; + }; + + USEC_woundHit = ["","body","hands","legs","head_hit"]; // limbs hit given by arma engine when fnc_usec_damageHandler is called + DAYZ_woundHit = [["body","hands","legs","head_hit"],[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,3]]; + DAYZ_woundHit_ok = [["body","hands","legs"],[0,0,0,0,0,1,1,1,2,2]]; + USEC_MinorWounds = ["hands","legs"]; + USEC_woundPoint = [ // translation table USEC_woundHit -> SV suffixes + ["Pelvis","aimpoint"], + ["aimpoint"], //,"RightShoulder","LeftShoulder" + ["lelbow","relbow"], + ["RightFoot","LeftFoot"], + ["neck","pilot"] + ]; + + DZE_Quarantine = false; // used in player_spawn_2.sqf, but for no reason. There is no function that alters this variable. +}; \ No newline at end of file