mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
Changed player_updateGui.sqf with an update to how the UI elements are loaded. Changed all status icons to use the full value so no more fading icons. Also changed the colors from red/green setup to a black and white setup. All icons start off as black if the value is optimal, (full blood, full food/drink, temperature, out of combat, seen, heard), then progress continually towards white as the player loses blood, gets hungry, etc. This was done to make the differences between full and empty more drastic as the current method starts off with obvious icons that slowly fade. If player is color blind, there have been reported issues of the two colors showing up as similar shades of gray. For those that are not CB the elements currently become less obvious in the user's peripheral until they begin flashing. Changes also made to variables.sqf to add the ability to turn this feature on/off: Dayz_Dark_UI = true; Sets UI to new darker theme. Turned off by setting the value to false.
787 lines
24 KiB
Plaintext
787 lines
24 KiB
Plaintext
disableSerialization;
|
|
|
|
//Model Variables
|
|
Bandit1_DZ = "Bandit1_DZ";
|
|
Bandit2_DZ = "Bandit2_DZ";
|
|
BanditW1_DZ = "BanditW1_DZ";
|
|
BanditW2_DZ = "BanditW2_DZ";
|
|
Survivor1_DZ = "Survivor2_DZ";
|
|
Survivor2_DZ = "Survivor2_DZ";
|
|
SurvivorW2_DZ = "SurvivorW2_DZ";
|
|
SurvivorW3_DZ = "SurvivorW2_DZ";
|
|
Sniper1_DZ = "Sniper1_DZ";
|
|
Camo1_DZ = "Camo1_DZ";
|
|
Soldier1_DZ = "Soldier1_DZ";
|
|
Rocket_DZ = "Rocket_DZ";
|
|
|
|
AllPlayers = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","Bandit2_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","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"];
|
|
MeleeWeapons = ["MeleeFishingPole","MeleeCrowbar","MeleeBaseBallBatNails","MeleeBaseBallBatBarbed","MeleeBaseBallBat","Crossbow_DZ","MeleeSledge","MeleeMachete","MeleeHatchet_DZE"];
|
|
gear_done = false;
|
|
//Cooking
|
|
meatraw = [
|
|
"FoodSteakRaw",
|
|
"FoodmeatRaw",
|
|
"FoodbeefRaw",
|
|
"FoodmuttonRaw",
|
|
"FoodchickenRaw",
|
|
"FoodrabbitRaw",
|
|
"FoodbaconRaw",
|
|
"ItemTrout",
|
|
"ItemSeaBass",
|
|
"ItemTuna"
|
|
];
|
|
exceptionsraw = ["ItemTuna"];
|
|
meatcooked = [
|
|
"FoodSteakCooked",
|
|
"FoodmeatCooked",
|
|
"FoodbeefCooked",
|
|
"FoodmuttonCooked",
|
|
"FoodchickenCooked",
|
|
"FoodrabbitCooked",
|
|
"FoodbaconCooked",
|
|
"ItemTroutCooked",
|
|
"ItemSeaBassCooked",
|
|
"ItemTunaCooked"
|
|
];
|
|
//Eating
|
|
no_output_food = ["FoodMRE", "FoodPistachio", "FoodNutmix","FoodBioMeat"]+meatcooked+meatraw;
|
|
|
|
// Food with increased chance for infection.
|
|
badfood = ["FoodBioMeat","FoodCanUnlabeled"];
|
|
|
|
food_with_output=[
|
|
"FoodCanBakedBeans",
|
|
"FoodCanSardines",
|
|
"FoodCanFrankBeans",
|
|
"FoodCanPasta",
|
|
"FoodCanGriff",
|
|
"FoodCanBadguy",
|
|
"FoodCanBoneboy",
|
|
"FoodCanCorn",
|
|
"FoodCanCurgon",
|
|
"FoodCanDemon",
|
|
"FoodCanFraggleos",
|
|
"FoodCanHerpy",
|
|
"FoodCanOrlok",
|
|
"FoodCanPowell",
|
|
"FoodCanTylers",
|
|
"FoodCanUnlabeled"
|
|
];
|
|
|
|
food_output = [
|
|
"TrashTinCan",
|
|
"TrashTinCan",
|
|
"TrashTinCan",
|
|
"TrashTinCan",
|
|
"FoodCanGriffEmpty",
|
|
"FoodCanBadguyEmpty",
|
|
"FoodCanBoneboyEmpty",
|
|
"FoodCanCornEmpty",
|
|
"FoodCanCurgonEmpty",
|
|
"FoodCanDemonEmpty",
|
|
"FoodCanFraggleosEmpty",
|
|
"FoodCanHerpyEmpty",
|
|
"FoodCanOrlokEmpty",
|
|
"FoodCanPowellEmpty",
|
|
"FoodCanTylersEmpty",
|
|
"FoodCanUnlabeledEmpty"
|
|
];
|
|
//Drinking
|
|
no_output_drink = ["ItemWaterbottle", "ItemWaterbottleBoiled"];
|
|
drink_with_output = [
|
|
"ItemSoda", //just to define item for ItemSodaEmpty
|
|
"ItemSodaRbull",
|
|
"ItemSodaOrangeSherbet",
|
|
"ItemSodaCoke",
|
|
"ItemSodaPepsi",
|
|
"ItemSodaMdew",
|
|
"ItemSodaMtngreen",
|
|
"ItemSodaR4z0r",
|
|
"ItemSodaClays",
|
|
"ItemSodaSmasht",
|
|
"ItemSodaDrwaste",
|
|
"ItemSodaLemonade",
|
|
"ItemSodaLvg",
|
|
"ItemSodaMzly",
|
|
"ItemSodaRabbit"
|
|
];
|
|
drink_output = [
|
|
"ItemSodaEmpty",
|
|
"ItemSodaEmpty",
|
|
"ItemSodaEmpty",
|
|
"ItemSodaCokeEmpty",
|
|
"ItemSodaPepsiEmpty",
|
|
"ItemSodaMdewEmpty",
|
|
"ItemSodaMtngreenEmpty",
|
|
"ItemSodaR4z0rEmpty",
|
|
"ItemSodaClaysEmpty",
|
|
"ItemSodaSmashtEmpty",
|
|
"ItemSodaDrwasteEmpty",
|
|
"ItemSodaLemonadeEmpty",
|
|
"ItemSodaLvgEmpty",
|
|
"ItemSodaMzlyEmpty",
|
|
"ItemSodaRabbitEmpty"
|
|
];
|
|
boil_tin_cans = [
|
|
"TrashTinCan",
|
|
"FoodCanGriffEmpty",
|
|
"FoodCanBadguyEmpty",
|
|
"FoodCanBoneboyEmpty",
|
|
"FoodCanCornEmpty",
|
|
"FoodCanCurgonEmpty",
|
|
"FoodCanDemonEmpty",
|
|
"FoodCanFraggleosEmpty",
|
|
"FoodCanHerpyEmpty",
|
|
"FoodCanOrlokEmpty",
|
|
"FoodCanPowellEmpty",
|
|
"FoodCanTylersEmpty",
|
|
"FoodCanUnlabeledEmpty",
|
|
"ItemSodaEmpty",
|
|
"ItemSodaCokeEmpty",
|
|
"ItemSodaPepsiEmpty",
|
|
"ItemSodaMdewEmpty",
|
|
"ItemSodaMtngreenEmpty",
|
|
"ItemSodaR4z0rEmpty",
|
|
"ItemSodaClaysEmpty",
|
|
"ItemSodaSmashtEmpty",
|
|
"ItemSodaDrwasteEmpty",
|
|
"ItemSodaLemonadeEmpty",
|
|
"ItemSodaLvgEmpty",
|
|
"ItemSodaMzlyEmpty",
|
|
"ItemSodaRabbitEmpty"
|
|
];
|
|
|
|
dayz_combination = "";
|
|
dayz_humanitytarget = "";
|
|
dayz_combatLog = "";
|
|
canRoll = true;
|
|
|
|
canbuild = true;
|
|
|
|
//Hunting Variables
|
|
dayZ_partClasses = [
|
|
"PartFueltank",
|
|
"PartWheel",
|
|
//"PartGeneric", //No need to add, it is default for everything
|
|
"PartEngine"
|
|
];
|
|
dayZ_explosiveParts = [
|
|
"palivo",
|
|
"motor"
|
|
];
|
|
//Survival Variables
|
|
SleepFood = 2160; //minutes (48 hours)
|
|
SleepWater = 1440; //minutes (24 hours)
|
|
SleepTemperatur = 90 / 100; //Firs Value = Minutes untill Player reaches the coldest Point at night (without other effects! night factor expected to be -1) //TeeChange
|
|
|
|
//Server Variables
|
|
allowConnection = false;
|
|
isSinglePlayer = false;
|
|
PVDZE_serverObjectMonitor = [];
|
|
PlayerDeaths = [];
|
|
|
|
//Streaming Variables (player only)
|
|
dayz_Locations = [];
|
|
dayz_locationsActive = [];
|
|
|
|
//GUI
|
|
Dayz_GUI_R = 0.38; // 0.7
|
|
Dayz_GUI_G = 0.63; // -0.63
|
|
Dayz_GUI_B = 0.26; // -0.26
|
|
Dayz_Dark_UI = true;
|
|
|
|
//Player self-action handles
|
|
dayz_resetSelfActions = {
|
|
s_player_fire = -1;
|
|
s_player_cook = -1;
|
|
s_player_boil = -1;
|
|
s_player_fireout = -1;
|
|
s_player_butcher = -1;
|
|
s_player_packtent = -1;
|
|
s_player_packvault = -1;
|
|
s_player_lockvault = -1;
|
|
s_player_unlockvault = -1;
|
|
s_player_fillwater = -1;
|
|
s_player_fillwater2 = -1;
|
|
s_player_fillfuel = -1;
|
|
s_player_grabflare = -1;
|
|
s_player_callzombies = -1;
|
|
s_player_showname = -1;
|
|
s_player_debuglootpos = -1;
|
|
s_player_pzombiesattack = -1;
|
|
s_player_pzombiesvision = -1;
|
|
s_player_pzombiesfeed = -1;
|
|
s_player_removeflare = -1;
|
|
s_player_painkiller = -1;
|
|
s_player_studybody = -1;
|
|
s_player_tamedog = -1;
|
|
s_player_madsci_crtl = -1;
|
|
s_player_parts_crtl = -1;
|
|
s_build_Sandbag1_DZ = -1;
|
|
s_build_Hedgehog_DZ = -1;
|
|
s_build_Wire_cat1 = -1;
|
|
s_player_deleteBuild = -1;
|
|
s_player_forceSave = -1;
|
|
s_player_checkGear = -1;
|
|
s_player_flipveh = -1;
|
|
s_player_stats = -1;
|
|
s_player_sleep = -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_repair_crtl = -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_preview = -1;
|
|
s_player_heli_lift = -1;
|
|
s_player_heli_detach = -1;
|
|
s_player_lockUnlock_crtl = -1;
|
|
};
|
|
call dayz_resetSelfActions;
|
|
|
|
//Engineering variables
|
|
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
|
|
s_player_repairActions = [];
|
|
s_player_lockunlock = [];
|
|
|
|
// Custom
|
|
s_player_madsci = [];
|
|
s_player_parts = [];
|
|
s_player_combi = [];
|
|
|
|
//Initialize Medical Variables
|
|
r_interrupt = false;
|
|
r_doLoop = false;
|
|
r_self = false;
|
|
r_self_actions = [];
|
|
r_drag_sqf = false;
|
|
r_action = false;
|
|
r_action_unload = false;
|
|
r_player_handler = false;
|
|
r_player_handler1 = false;
|
|
r_player_dead = false;
|
|
r_player_unconscious = false;
|
|
r_player_infected = false;
|
|
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_lowblood = false;
|
|
r_player_timeout = 0;
|
|
r_player_bloodTotal = r_player_blood;
|
|
r_public_blood = r_player_blood;
|
|
r_player_bloodDanger = r_player_bloodTotal * 0.2;
|
|
r_player_actions = [];
|
|
r_handlerCount = 0;
|
|
r_action_repair = false;
|
|
r_action_targets = [];
|
|
r_pitchWhine = false;
|
|
r_isBandit = false;
|
|
isInTraderCity = false;
|
|
NORRN_dropAction = -1;
|
|
DZE_PROTOBOX = objNull;
|
|
|
|
//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"
|
|
];
|
|
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]
|
|
];
|
|
DAYZ_woundHit_dog = [
|
|
[
|
|
"body",
|
|
"hands",
|
|
"legs"
|
|
],
|
|
[0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2]
|
|
];
|
|
USEC_MinorWounds = [
|
|
"hands",
|
|
"legs"
|
|
];
|
|
USEC_woundPoint = [
|
|
["Pelvis","aimpoint"],
|
|
["aimpoint"], //,"RightShoulder","LeftShoulder"
|
|
["lelbow","relbow"],
|
|
["RightFoot","LeftFoot"],
|
|
["neck","pilot"]
|
|
];
|
|
USEC_typeOfWounds = [
|
|
"Pelvis",
|
|
"aimpoint",
|
|
"lelbow","relbow",
|
|
"RightFoot","LeftFoot",
|
|
"neck","pilot"
|
|
];
|
|
|
|
DZE_vehicleZwounds = [
|
|
"sklo predni L",
|
|
"sklo predni P",
|
|
"sklo zadni",
|
|
"sklo zadni L",
|
|
"sklo zadni P",
|
|
"sklo P",
|
|
"Glass1",
|
|
"Glass2",
|
|
"Glass3",
|
|
"Glass4",
|
|
"Glass5",
|
|
"Glass6"
|
|
];
|
|
|
|
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"
|
|
];
|
|
|
|
//Initialize Zombie Variables
|
|
dayz_zombieTargetList = [
|
|
["SoldierWB",50],
|
|
["Air",500],
|
|
["LandVehicle",200]
|
|
];
|
|
PVDZE_plr_Hit = [];
|
|
PVDZE_obj_Publish = []; //used for eventhandler to spawn a mirror of players tent
|
|
PVDZE_plr_HideBody = objNull;
|
|
dayz_selectedVault = objNull;
|
|
dayz_selectedDoor = objNull;
|
|
|
|
PVDZE_veh_Publish = []; // for vehicle traders
|
|
PVDZE_obj_Trade = []; // For all traders increment qty
|
|
PVDZE_plr_TradeMenu = []; // For all traders
|
|
PVDZE_plr_DeathB = [];
|
|
|
|
//DayZ settings
|
|
dayz_dawn = 6;
|
|
dayz_dusk = 18;
|
|
DAYZ_agentnumber = 0;
|
|
dayz_animalDistance = 800;
|
|
dayz_zSpawnDistance = 1000;
|
|
|
|
dayz_maxMaxModels = 80; // max quantity of Man models (player || Z, dead || 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_spawnArea = 200; // radius around player where we can spawn loot & Z
|
|
dayz_cantseeDist = 150; // distance from which we can spawn a Z in front of any player without ray-tracing && angle checks
|
|
dayz_cantseefov = 70; // half player field-of-view. Visible Z won't be spawned in front of any near players
|
|
dayz_canDelete = 300; // Z, further than this distance from its "owner", will be deleted
|
|
|
|
if(isNil "DZE_SelfTransfuse") then {
|
|
DZE_SelfTransfuse = false;
|
|
};
|
|
if(isNil "dayz_maxAnimals") then {
|
|
dayz_maxAnimals = 5;
|
|
};
|
|
if(isNil "timezoneswitch") then {
|
|
timezoneswitch = 0;
|
|
};
|
|
if(isNil "dayz_maxLocalZombies") then {
|
|
dayz_maxLocalZombies = 15;
|
|
};
|
|
if(isNil "dayz_maxGlobalZombiesInit") then {
|
|
dayz_maxGlobalZombiesInit = 15;
|
|
};
|
|
if(isNil "dayz_maxGlobalZombiesIncrease") then {
|
|
dayz_maxGlobalZombiesIncrease = 5;
|
|
};
|
|
if(isNil "dayz_maxZeds") then {
|
|
dayz_maxZeds = 500;
|
|
};
|
|
if (isNil "DZE_PlayerZed") then {
|
|
DZE_PlayerZed = true;
|
|
};
|
|
if (isNil "DZE_GodModeBase") then {
|
|
DZE_GodModeBase = false;
|
|
};
|
|
if(isNil "DZEdebug") then {
|
|
DZEdebug = false;
|
|
};
|
|
if (isNil "DZE_Debug_Damage") then {
|
|
DZE_Debug_Damage = true;
|
|
};
|
|
if(isNil "DZE_TRADER_SPAWNMODE") then {
|
|
DZE_TRADER_SPAWNMODE = false;
|
|
};
|
|
if(isNil "dayz_tameDogs") then {
|
|
dayz_tameDogs = false;
|
|
};
|
|
if(isNil "dayz_sellDistance_vehicle") then {
|
|
dayz_sellDistance_vehicle = 10;
|
|
};
|
|
if(isNil "dayz_sellDistance_boat") then {
|
|
dayz_sellDistance_boat = 30;
|
|
};
|
|
if(isNil "dayz_sellDistance_air") then {
|
|
dayz_sellDistance_air = 40;
|
|
};
|
|
if(isNil "dayz_paraSpawn") then {
|
|
dayz_paraSpawn = false;
|
|
};
|
|
if(isNil "dayz_minpos") then {
|
|
dayz_minpos = -20000;
|
|
};
|
|
if(isNil "dayz_maxpos") then {
|
|
dayz_maxpos = 20000;
|
|
};
|
|
if(isNil "DZE_BuildingLimit") then {
|
|
DZE_BuildingLimit = 150;
|
|
};
|
|
if(isNil "DZE_HumanityTargetDistance") then {
|
|
DZE_HumanityTargetDistance = 25;
|
|
};
|
|
if(isNil "DZE_FriendlySaving") then {
|
|
DZE_FriendlySaving = true;
|
|
};
|
|
if(isNil "DZE_BuildOnRoads") then {
|
|
DZE_BuildOnRoads = false;
|
|
};
|
|
if(isNil "DZE_MissionLootTable") then {
|
|
DZE_MissionLootTable = false;
|
|
};
|
|
if(isNil "DZE_ConfigTrader") then {
|
|
DZE_ConfigTrader = false;
|
|
};
|
|
if(isNil "DZE_LootSpawnTimer") then {
|
|
DZE_LootSpawnTimer = 10;
|
|
};
|
|
if(isNil "DZE_HeliLift") then {
|
|
DZE_HeliLift = true;
|
|
};
|
|
if(isNil "DZE_DamageBeforeMaint") then {
|
|
DZE_DamageBeforeMaint = 0.09;
|
|
};
|
|
if(isNil "DZE_StaticConstructionCount") then {
|
|
DZE_StaticConstructionCount = 0;
|
|
};
|
|
if (isNil "DZE_selfTransfuse_Values") then {
|
|
DZE_selfTransfuse_Values = [12000, 15, 300];
|
|
};
|
|
|
|
// needed on server
|
|
if(isNil "DZE_PlotPole") then {
|
|
DZE_PlotPole = [30,45];
|
|
};
|
|
if(isNil "DZE_maintainRange") then {
|
|
DZE_maintainRange = ((DZE_PlotPole select 0)+20);
|
|
};
|
|
|
|
DZE_REPLACE_WEAPONS = [["Crossbow","ItemMatchbox","ItemHatchet"],["Crossbow_DZ","ItemMatchbox_DZE","ItemHatchet_DZE"]];
|
|
|
|
if(isNil "dayz_zedSpawnVehCount") then {
|
|
dayz_zedSpawnVehCount = dayz_maxLocalZombies / 2;
|
|
};
|
|
if(isNil "dayz_spawnAirCount") then {
|
|
dayz_spawnAirCount = 0;
|
|
};
|
|
if(isNil "dayz_zedsAttackVehicles") then {
|
|
dayz_zedsAttackVehicles = true;
|
|
};
|
|
|
|
// update objects
|
|
dayz_updateObjects = ["Plane","Tank","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"];
|
|
dayz_disallowedVault = ["TentStorage", "BuiltItems","ModularItems","DZE_Base_Object"];
|
|
dayz_reveal = ["AllVehicles","WeaponHolder","Land_A_tent","BuiltItems","ModularItems","DZE_Base_Object"];
|
|
dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","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","Generator_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"];
|
|
|
|
DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"];
|
|
DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"];
|
|
DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"];
|
|
DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","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"];
|
|
|
|
DZE_DoorsLocked = ["Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallDoorLocked_DZ","CinderWallDoorSmallLocked_DZ"];
|
|
|
|
// List of removable items that require crowbar
|
|
DZE_isRemovable = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","Plastic_Pole_EP1_DZ","FireBarrel_DZ","Scaffolding_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"];
|
|
|
|
// 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_fuelstation","land_fuelstation_w","Land_benzina_schnell"];
|
|
DZE_fueltruckarray = ["KamazRefuel_DZ","UralRefuel_TK_EP1_DZ","MtvrRefuel_DES_EP1_DZ","V3S_Refuel_TK_GUE_EP1_DZ","MtvrRefuel_DZ","KamazRefuel_DZE","UralRefuel_TK_EP1_DZE","MtvrRefuel_DES_EP1_DZE","V3S_Refuel_TK_GUE_EP1_DZE","MtvrRefuel_DZE"];
|
|
|
|
// Standard Fuel sources
|
|
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_fuelstation_w","Land_benzina_schnell"];
|
|
|
|
DZE_Lock_Door = "";
|
|
|
|
//init global arrays for Loot Chances
|
|
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\loot_init.sqf";
|
|
|
|
if(isServer) then {
|
|
dayz_players = [];
|
|
dead_bodyCleanup = [];
|
|
needUpdate_objects = [];
|
|
|
|
DZE_DYN_AntiStuck = 0;
|
|
DZE_DYN_AntiStuck2nd = 0;
|
|
DZE_DYN_AntiStuck3rd = 0;
|
|
|
|
if(isNil "dayz_fullMoonNights") then {
|
|
dayz_fullMoonNights = false;
|
|
};
|
|
if(isNil "EpochEvents") then {
|
|
EpochEvents = [];
|
|
};
|
|
if(isNil "DZE_vehicleAmmo") then {
|
|
DZE_vehicleAmmo = 0;
|
|
};
|
|
|
|
if(isNil "DZE_BackpackGuard") then {
|
|
DZE_BackpackGuard = true;
|
|
};
|
|
|
|
if(isNil "DZE_CleanNull") then {
|
|
DZE_CleanNull = false;
|
|
};
|
|
if (isNil "DZE_DeathMsgGlobal") then {
|
|
DZE_DeathMsgGlobal = false;
|
|
};
|
|
if (isNil "DZE_DeathMsgSide") then {
|
|
DZE_DeathMsgSide = false;
|
|
};
|
|
if (isNil "DZE_DeathMsgTitleText") then {
|
|
DZE_DeathMsgTitleText = false;
|
|
};
|
|
DZE_safeVehicle = ["ParachuteWest","ParachuteC"];
|
|
};
|
|
|
|
if(!isDedicated) then {
|
|
|
|
dayz_spawnPos = getPosATL player;
|
|
|
|
dayz_buildingMonitor = []; //Buildings to check
|
|
dayz_bodyMonitor = [];
|
|
|
|
// weather control var
|
|
zeroPreviousWeather = [0,0,[0,0],0];
|
|
zeroCurrentWeather = [0,0,[0,0],0];
|
|
|
|
if (DZE_MissionLootTable) then {
|
|
dayz_baseTypes = getArray (missionConfigFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
|
|
} else {
|
|
dayz_baseTypes = getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
|
|
};
|
|
|
|
|
|
//temperature variables
|
|
dayz_temperatur = 36; //TeeChange
|
|
dayz_temperaturnormal = 36; //TeeChange
|
|
dayz_temperaturmax = 42; //TeeChange
|
|
dayz_temperaturmin = 27; //TeeChange
|
|
|
|
//player special variables
|
|
dayZ_lastPlayerUpdate = 0;
|
|
dayZ_everyonesTents = [];
|
|
dayz_hunger = 0;
|
|
dayz_thirst = 0;
|
|
dayz_combat = 0;
|
|
dayz_preloadFinished = false;
|
|
dayz_statusArray = [1,1];
|
|
dayz_disAudial = 0;
|
|
dayz_disVisual = 0;
|
|
dayz_firedCooldown = 0;
|
|
dayz_DeathActioned = false;
|
|
dayz_canDisconnect = true;
|
|
dayz_damageCounter = time;
|
|
dayz_lastSave = time;
|
|
dayz_isSwimming = true;
|
|
dayz_isKneeling = false;
|
|
dayz_isCrawling = false;
|
|
dayz_PreviousTown = "Wilderness";
|
|
dayz_currentDay = 0;
|
|
dayz_hasLight = false;
|
|
dayz_surfaceNoise = 0;
|
|
dayz_surfaceType = "None";
|
|
dayz_noPenalty = [];
|
|
dayz_heavenCooldown = 0;
|
|
deathHandled = false;
|
|
dayz_lastHumanity = 0;
|
|
dayz_guiHumanity = -90000;
|
|
dayz_firstGroup = group player;
|
|
dayz_originalPlayer = player;
|
|
dayz_sourceBleeding = objNull;
|
|
dayz_clientPreload = false;
|
|
dayz_authed = false;
|
|
dayz_panicCooldown = 0;
|
|
dayz_areaAffect = 2.5;
|
|
dayz_heartBeat = false;
|
|
dayzClickTime = 0;
|
|
//Current local
|
|
dayz_spawnZombies = 0;
|
|
dayz_swarmSpawnZombies = 0;
|
|
//Max local
|
|
dayz_maxLocalZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
|
|
//Current NearBy
|
|
dayz_CurrentNearByZombies = 0;
|
|
//Max NearBy
|
|
dayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z
|
|
//Current total
|
|
dayz_currentGlobalZombies = 0;
|
|
//Max global zeds.
|
|
dayz_maxGlobalZeds = 3000;
|
|
dayz_spawnDelay = 120;
|
|
dayz_spawnWait = -120;
|
|
dayz_lootDelay = 3;
|
|
dayz_lootWait = -300;
|
|
//used to count global zeds around players
|
|
dayz_CurrentZombies = 0;
|
|
//Used to limit overall zed counts
|
|
dayz_tickTimeOffset = 0;
|
|
dayz_currentWeaponHolders = 0;
|
|
dayz_maxMaxWeaponHolders = 80;
|
|
dayz_maxCurrentZeds = 0;
|
|
dayz_inVehicle = false;
|
|
dayz_Magazines = [];
|
|
dayzGearSave = false;
|
|
dayz_unsaved = false;
|
|
dayz_scaleLight = 0;
|
|
dayzDebug = false;
|
|
dayzState = -1;
|
|
//uiNamespace setVariable ['DAYZ_GUI_display',displayNull];
|
|
//if (uiNamespace getVariable ['DZ_displayUI', 0] == 2) then {
|
|
// dayzDebug = true;
|
|
//};
|
|
|
|
DZE_ActionInProgress = false;
|
|
|
|
// DayZ Epoch Client only variables
|
|
if(isNil "DZE_AllowForceSave") then {
|
|
DZE_AllowForceSave = false;
|
|
};
|
|
if(isNil "DZE_AllowCargoCheck") then {
|
|
DZE_AllowCargoCheck = true;
|
|
};
|
|
if(isNil "DZE_ForceNameTags") then {
|
|
DZE_ForceNameTags = false;
|
|
};
|
|
if(isNil "DZE_ForceNameTagsOff") then {
|
|
DZE_ForceNameTagsOff = false;
|
|
};
|
|
if(isNil "DZE_ForceNameTagsInTrader") then {
|
|
DZE_ForceNameTagsInTrader = false;
|
|
};
|
|
if(isNil "DZE_HaloJump") then {
|
|
DZE_HaloJump = true;
|
|
};
|
|
|
|
if(isNil "DZE_AntiWallLimit") then {
|
|
DZE_AntiWallLimit = 3;
|
|
};
|
|
if(isNil "DZE_requireplot") then {
|
|
DZE_requireplot = 1;
|
|
};
|
|
if(isNil "DZE_R3F_WEIGHT") then {
|
|
DZE_R3F_WEIGHT = true;
|
|
};
|
|
|
|
|
|
DZE_AntiWallCounter = 0;
|
|
|
|
DZE_FreshSpawn = false;
|
|
|
|
DZE_myHaloVehicle = objNull;
|
|
dayz_myLiftVehicle = objNull;
|
|
|
|
DZE_Friends = [];
|
|
|
|
DZE_CanPickup = true;
|
|
DZE_Q = false;
|
|
DZE_Z = false;
|
|
|
|
DZE_Q_alt = false;
|
|
DZE_Z_alt = false;
|
|
|
|
DZE_Q_ctrl = false;
|
|
DZE_Z_ctrl = false;
|
|
|
|
DZE_5 = false;
|
|
DZE_4 = false;
|
|
DZE_6 = false;
|
|
|
|
DZE_cancelBuilding = false;
|
|
DZE_PZATTACK = false;
|
|
|
|
DZE_trees = ["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"];
|
|
DZE_TEMP_treedmg = 1;
|
|
|
|
DZE_Surrender = false;
|
|
DZE_Quarantine = false;
|
|
DZE_InRadiationZone = false;
|
|
|
|
DZE_SaveTime = 30;
|
|
};
|