mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 20:13:13 +03:00
+ Fixed Machete Spawns thanks to:fe83fca83a+ Add check for loot undergroundda4cbfbaca+ Tweaked supply crate model so that is is not sunk into the ground. Fixes #249 + Added 3 more female clothing variants thanks to http://www.twitch.tv/miss_alejandria + Added player distance cursorTarget increase if target is isKindOf AIR OR SHIP. Fixes #235 + Changed currency conversion from 1 x 10oz copper for 1 oz silver to 3x 10oz copper for 1 oz silver.
514 lines
13 KiB
Plaintext
514 lines
13 KiB
Plaintext
disableSerialization;
|
|
|
|
//Model Variables
|
|
Bandit1_DZ = "Bandit1_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";
|
|
|
|
// more models
|
|
Rocker2_DZ = "Rocker2_DZ";
|
|
Priest_DZ = "Priest_DZ";
|
|
Functionary1_EP1_DZ = "Functionary1_EP1_DZ";
|
|
GUE_Commander_DZ = "GUE_Commander_DZ";
|
|
Ins_Soldier_GL_DZ = "Ins_Soldier_GL_DZ";
|
|
Haris_Press_EP1_DZ = "Haris_Press_EP1_DZ";
|
|
Pilot_EP1_DZ = "Pilot_EP1_DZ";
|
|
RU_Policeman_DZ = "RU_Policeman_DZ";
|
|
Soldier_TL_PMC_DZ = "Soldier_TL_PMC_DZ";
|
|
Soldier_Sniper_PMC_DZ = "Soldier_Sniper_PMC_DZ";
|
|
Soldier_Bodyguard_AA12_PMC_DZ = "Soldier_Bodyguard_AA12_PMC_DZ";
|
|
Drake_Light_DZ = "Drake_Light_DZ";
|
|
CZ_Special_Forces_GL_DES_EP1_DZ = "CZ_Special_Forces_GL_DES_EP1_DZ";
|
|
TK_INS_Soldier_EP1_DZ = "TK_INS_Soldier_EP1_DZ";
|
|
TK_INS_Warlord_EP1_DZ = "TK_INS_Warlord_EP1_DZ";
|
|
// new females
|
|
SurvivorWpink_DZ = "SurvivorWpink_DZ";
|
|
SurvivorWcombat_DZ = "SurvivorWcombat_DZ";
|
|
SurvivorWdesert_DZ = "SurvivorWdesert_DZ";
|
|
SurvivorWurban_DZ = "SurvivorWurban_DZ";
|
|
|
|
AllPlayers = ["SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker2_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"];
|
|
AllPlayersVehicles = ["SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker2_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","AllVehicles"];
|
|
|
|
PZombie_VB = "PZombie_VB";
|
|
|
|
pz_policeman = "pz_policeman";
|
|
pz_suit1 = "pz_suit1";
|
|
pz_suit2 = "pz_suit2";
|
|
pz_worker1 = "pz_worker1";
|
|
pz_worker2 = "pz_worker2";
|
|
pz_worker3 = "pz_worker3";
|
|
pz_teacher = "pz_teacher";
|
|
pz_hunter = "pz_hunter";
|
|
pz_villager1 = "pz_villager1";
|
|
pz_villager2 = "pz_villager2";
|
|
pz_villager3 = "pz_villager3";
|
|
pz_priest = "pz_priest";
|
|
|
|
//Cooking
|
|
meatraw = [
|
|
"FoodSteakRaw",
|
|
"FoodmeatRaw",
|
|
"FoodbeefRaw",
|
|
"FoodmuttonRaw",
|
|
"FoodchickenRaw",
|
|
"FoodrabbitRaw",
|
|
"FoodbaconRaw"
|
|
];
|
|
meatcooked = [
|
|
"FoodSteakCooked",
|
|
"FoodmeatCooked",
|
|
"FoodbeefCooked",
|
|
"FoodmuttonCooked",
|
|
"FoodchickenCooked",
|
|
"FoodrabbitCooked",
|
|
"FoodbaconCooked"
|
|
];
|
|
//Eating
|
|
no_output_food = ["FoodMRE", "FoodPistachio", "FoodNutmix","FoodBioMeat"]+meatcooked+meatraw;
|
|
|
|
|
|
badfood = ["FoodBioMeat"];
|
|
|
|
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
|
|
"ItemSodaCoke",
|
|
"ItemSodaPepsi",
|
|
"ItemSodaMdew",
|
|
"ItemSodaMtngreen",
|
|
"ItemSodaR4z0r",
|
|
"ItemSodaClays",
|
|
"ItemSodaSmasht",
|
|
"ItemSodaDrwaste",
|
|
"ItemSodaLemonade",
|
|
"ItemSodaLvg",
|
|
"ItemSodaMzly",
|
|
"ItemSodaRabbit"
|
|
];
|
|
drink_output = [
|
|
"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_combatLog = "";
|
|
canRoll = true;
|
|
|
|
placevault = 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;
|
|
dayz_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
|
|
|
|
//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_pzombiesattack = -1;
|
|
s_player_pzombiesfeed = -1;
|
|
s_player_removeflare = -1;
|
|
s_player_painkiller = -1;
|
|
s_player_studybody = -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;
|
|
};
|
|
call dayz_resetSelfActions;
|
|
|
|
//Engineering variables
|
|
s_player_lastTarget = objNull;
|
|
s_player_repairActions = [];
|
|
|
|
// Custom
|
|
s_player_madsci = [];
|
|
s_player_parts = [];
|
|
|
|
//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;
|
|
|
|
//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;
|
|
} forEach 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"
|
|
];
|
|
|
|
//Initialize Zombie Variables
|
|
dayz_zombieTargetList = [
|
|
["SoldierWB",50],
|
|
["Air",500],
|
|
["LandVehicle",200]
|
|
];
|
|
dayzHit = [];
|
|
dayzPublishObj = []; //used for eventhandler to spawn a mirror of players tent
|
|
dayzHideBody = objNull;
|
|
|
|
dayzPublishVeh = []; // for vehicle traders
|
|
dayzTradeObject = []; // For all traders increment qty
|
|
dayzTraderMenu = []; // For all traders
|
|
dayzPlayerDeaths = [];
|
|
|
|
//DayZ settings
|
|
dayz_dawn = 6;
|
|
dayz_dusk = 18;
|
|
if(isNil "dayz_maxAnimals") then {
|
|
dayz_maxAnimals = 5;
|
|
};
|
|
DAYZ_agentnumber = 0;
|
|
dayz_animalDistance = 800;
|
|
dayz_zSpawnDistance = 1000;
|
|
|
|
if(isNil "dayz_maxLocalZombies") then {
|
|
dayz_maxLocalZombies = 40;
|
|
};
|
|
|
|
if(isNil "dayz_maxGlobalZombies") then {
|
|
dayz_maxGlobalZombies = 30;
|
|
};
|
|
|
|
if(isNil "dayz_maxZeds") then {
|
|
dayz_maxZeds = 500;
|
|
};
|
|
|
|
if(isNil "DZEdebug") then {
|
|
DZEdebug = false;
|
|
};
|
|
|
|
|
|
dayz_spawnPos = getPosATL player;
|
|
|
|
//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 = [];
|
|
};
|
|
|
|
if(!isDedicated) then {
|
|
//Establish Location Streaming
|
|
_funcGetLocation =
|
|
{
|
|
for "_i" from 0 to ((count _this) - 1) do
|
|
{
|
|
private ["_location","_config","_locHdr","_position","_size","_type"];
|
|
//Get Location Data from config
|
|
_config = (_this select _i);
|
|
_locHdr = configName _config;
|
|
_position = getArray (_config >> "position");
|
|
_size = getNumber (_config >> "size");
|
|
_type = getText (_config >> "type");
|
|
|
|
//Find the Location
|
|
_location = nearestLocation [_position, _type];
|
|
|
|
//Record details
|
|
dayz_Locations set [count dayz_Locations, [_location,_locHdr,_size]];
|
|
};
|
|
};
|
|
//_cfgLocation = configFile >> "CfgTownGenerator";
|
|
//_cfgLocation call _funcGetLocation;
|
|
|
|
dayz_buildingMonitor = []; //Buildings to check
|
|
dayz_bodyMonitor = [];
|
|
dayz_flyMonitor = []; //used for monitor flies
|
|
|
|
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_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_playerName = "Unknown";
|
|
dayz_sourceBleeding = objNull;
|
|
dayz_clientPreload = false;
|
|
dayz_panicCooldown = 0;
|
|
dayz_areaAffect = 2;
|
|
dayz_heartBeat = false;
|
|
dayzClickTime = 0;
|
|
dayz_spawnDelay = 120;
|
|
dayz_spawnWait = -120;
|
|
dayz_lootDelay = 3;
|
|
dayz_lootWait = -300;
|
|
dayz_spawnZombies = 0;
|
|
//used to count global zeds around players
|
|
dayz_CurrentZombies = 0;
|
|
//Used to limit overall zed counts
|
|
dayz_maxCurrentZeds = 0;
|
|
dayz_inVehicle = false;
|
|
dayz_Magazines = [];
|
|
dayzGearSave = false;
|
|
dayz_unsaved = false;
|
|
UnlockInprogress = false;
|
|
TradeInprogress = false;
|
|
dayz_scaleLight = 0;
|
|
dayzDebug = false;
|
|
dayzState = -1;
|
|
//uiNamespace setVariable ['DAYZ_GUI_display',displayNull];
|
|
//if (uiNamespace getVariable ['DZ_displayUI', 0] == 2) then {
|
|
// dayzDebug = true;
|
|
//};
|
|
}; |