diff --git a/CHANGE LOG 1.0.5.2.txt b/CHANGE LOG 1.0.5.2.txt new file mode 100644 index 000000000..3fcfc8128 --- /dev/null +++ b/CHANGE LOG 1.0.5.2.txt @@ -0,0 +1,17 @@ +[NEW] Use DayZ_UseSteamID = false; in your init.sqf to use the old PlayerUID, instead of SteamID @icomrade +[NOTE] It's recommend to convert to the new SteamID system if possible, new servers should not use DayZ_UseSteamID = false; + +[CHANGED] An infection chance of -1 disables self-transfusion infection. 0 is always infected. (DZE_selfTransfuse_Values) @icomrade + +[FIXED] Backpack wipes when changing clothes. #1361 @icomrade +[FIXED] CH53 gear when locked #1364 @icomrade +[FIXED] Infinite loop when crafting ore into bars #1351 @icomrade +[FIXED] Only first kill showing on death boards #1362 #1124 @vbawol @icomrade +[FIXED] Crossbow quivers not working #1355 @icomrade + +[UPDATED] .hpp files updated in dayz_epoch_b CfgLootPos > CfgBuildingPos. @Uro1 + +[INFO] (EXTREMELY IMPORTANT) Server owners MUST update their required build and beta to 125548 +[INFO] Server admins should add requiredSecureId = 2; to their server.cfg to prevent uid spoofing. +[INFO] Models/textures by Paul Tomany. @Sequisha. +[INFO] Special thanks to http://verthosting.com for hosting our development server. diff --git a/Documents/CHANGE LOG 1.0.5.1.txt b/Documents/CHANGE LOG 1.0.5.1.txt new file mode 100644 index 000000000..e6da61761 --- /dev/null +++ b/Documents/CHANGE LOG 1.0.5.1.txt @@ -0,0 +1,9 @@ +[ADDED] Updated Sauerland map V1.80.04 by Falconsan http://epochmod.com/forum/index.php?/topic/6365-dayz-epoch-sauerland-changelog +[ADDED] Configure AH6J for DZ + DZE @icomrade + +[FIXED] Fixed client crash when player has chainsaw due to corrupt RTM file. @vbawol + +[INFO] dayz_epoch1051.bikey found in client files "Keys" folder. +[INFO] Server admins should add requiredSecureId = 2; to their server.cfg to prevent uid spoofing. +[INFO] Models/textures by Paul Tomany. @Sequisha. +[INFO] Special thanks to http://verthosting.com for hosting our development server. \ No newline at end of file diff --git a/CHANGE LOG 1.0.5.txt b/Documents/CHANGE LOG 1.0.5.txt similarity index 85% rename from CHANGE LOG 1.0.5.txt rename to Documents/CHANGE LOG 1.0.5.txt index 4548cf5ff..405c4675c 100644 --- a/CHANGE LOG 1.0.5.txt +++ b/Documents/CHANGE LOG 1.0.5.txt @@ -1,3 +1,4 @@ +[ADDED] Updated Sauerland map V1.80.01 by Falconsan http://epochmod.com/forum/index.php?/topic/6365-dayz-epoch-sauerland-changelog [ADDED] More enterable buildings thanks to @Tansien and the DayZero crew. [ADDED] Latest version of Napf 1.0.1 by Momo [ADDED] Classname C130J_US_EP1_DZ Weapon: 50 Magazine: 400 Backpack: 10 @Fank @@ -8,6 +9,7 @@ [ADDED] Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]]. @icomrade [ADDED] The USEC CH53 Super Stallion to the dynamic vehicle lists & trader. @Namindu @raginruffalo [ADDED] The BAF Merlin has been added to the neutral aircraft trader under Unarmed Helicopters. @raginruffalo +[ADDED] Added CH53 Super Stallion to Allowed to Tow Heli array in "variables.sqf" @Namindu [FIXED] Instance already initialized error in server_monitor.sqf @vbawol [FIXED] Fixed infinite chainsaw fuel when put into vaults/lockboxes. @SilvDev @@ -16,6 +18,9 @@ [FIXED] Load patient into vehicle now working. @SilvDev [FIXED] Fix invalid str format for player skin class. @Sandbird https://github.com/vbawol/DayZ-Epoch/commit/55d49c279bfd1e03d3802bfe4fdf55f2335f8f47 [FIXED] Check trade requirements before animation. @Cornyfisch +[FIXED] Undefined variable in expression in "fill_nearestVehicle.sqf" @Namindu +[FIXED] Fix infinite knockout @icomrade +[FIXED] Fixed typo in "player_tagFriendly.sqf" @Namindu [CHANGED] Crafting lumber or plywood packs no longer require workbench. @vbawol [CHANGED] Force mouse to center of screen on gear open. @vbawol diff --git a/README.md b/README.md index 50c15bc75..37f9f3074 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Based on DayZ Mod Community edition https://github.com/DayZMod/DayZ/blob/Release_1.8/Documentation/Credits.md http://dayzmod.com + -------------------------- Included Custom Addons -------------------------- @@ -25,6 +26,8 @@ Included Custom Addons * Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr and Sahbazz http://www.armaholic.com/page.php?id=13053 * gdtmod_grass 1.00 by HeinBloed - http://www.gdt-server.net/ * Bell 47/H-13 Helicopter by hcpookie - http://www.armaholic.com/page.php?id=22143 +* USEC CH53 by Rocket - http://dayz.com +* More enterable buildings - Dayzero - https://zombies.nu/ -------------------------- Included Custom Islands @@ -37,37 +40,61 @@ Included Custom Islands * | German Town - and waysigns http://www.armaholic.com/page.php?id=9658 -------------------------- -Developers +Initial Developers -------------------------- * [VB]AWOL - Lead Developer - http://www.twitch.tv/vbawol -* Axle - Beta Tester, Lead Trader City Designer, Ideas. - http://www.twitch.tv/axles -* Paul Tomany - Models, Textures, Ideas, Beta Tester. - ptomany@gmail.com -* Skaronator - Developer - Help with many things https://github.com/Skaronator -* Zabn - Locked gear on vehicles when locked, reworked loot position code to support small items. https://github.com/Zabn -* Harlan (dayz10k) - Developer - https://github.com/dayz10k -* Axeman - Developer - Light system - axeman@thefreezer.co.uk -* [VB]GREEN - Graphics, Beta Tester, Ideas. http://www.twitch.tv/vbgreen +* Axle - Tester, Trader City Designer - http://www.twitch.tv/axles +* Paul Tomany - Models, Textures - ptomany@gmail.com - http://www.twitch.tv/sequisha +* [VB]GREEN - Graphics - http://www.twitch.tv/vbgreen -------------------------- -Contributors +GitHub Collaborators (In order of most commits) -------------------------- -* Icomrade - Fixes - https://github.com/Icomrade -* Fank - Fixes - https://github.com/Fank -* facoptere - Extra Security - https://github.com/facoptere -* Torndeco - Fixes - https://github.com/Torndeco -* Armifer - Humanity changes. - https://github.com/Armifer -* AVendettaForYou - Trader City Tavi - https://github.com/AVendettaForYou -* Skaronator, krazey - German Localization - https://github.com/Skaronator https://github.com/krazey -* VeryBigBro - Russian Localization - https://github.com/VeryBigBro -* th4z - French Localization - https://github.com/th4z -* JoSchaap - Dutch Localization and some typo's - https://github.com/JoSchaap -* Maca134 - Improved Trader Menus, Death Message menu, Experimental hive 999 support - maca134@gmail.com -* Tansien - Hive Update to visual studio 2013, added 396 and 397 CHILD for Maintain - https://github.com/Tansien -* aeinstein - Crafting now supports all can types. - https://github.com/aeinstein -* vos / Axe Cop - Area Maintenance and ideas - https://github.com/vos -* GeodarCZ - Czech Localization, correction - https://github.com/Geodar -* Brovns - Czech Localization - https://github.com/Brovns -* Doomscythe - Czech Localization, correction - https://github.com/Doomscythe +* vbawol - https://github.com/vbawol +* eltexonline - https://github.com/eltexonline +* zabn - https://github.com/zabn +* Sequisha - https://github.com/Sequisha +* andgregor - https://github.com/andgregor +* facoptere - https://github.com/facoptere +* dayz10k - https://github.com/dayz10k +* Skaronator - https://github.com/Skaronator +* icomrade - https://github.com/icomrade +* Axles - https://github.com/Axles +* Armifer - https://github.com/Armifer + +-------------------------- +GitHub Contributors (In order of most commits) +-------------------------- +* vbawol - https://github.com/vbawol +* dayz10k - https://github.com/dayz10k +* Skaronator - https://github.com/Skaronator +* Fank - https://github.com/Fank +* andgregor - https://github.com/andgregor +* Axles - https://github.com/Axles +* zabn - https://github.com/zabn +* eltexonline - https://github.com/eltexonline +* icomrade - https://github.com/icomrade +* Namindu - https://github.com/Namindu +* raginruffalo - https://github.com/raginruffalo +* Adaptivity - https://github.com/Adaptivity +* facoptere - https://github.com/facoptere +* ctcDNightmare - https://github.com/ctcDNightmare +* SGanthony - https://github.com/SGanthony +* Geodar - https://github.com/Geodar +* Sandbird - https://github.com/Sandbird +* krazey - https://github.com/krazey +* jostster - https://github.com/jostster +* SilvDev - https://github.com/SilvDev +* AVendettaForYou - https://github.com/AVendettaForYou +* Sequisha - https://github.com/Sequisha +* Armifer - https://github.com/Armifer +* infiSTAR - https://github.com/infiSTAR +* Cornyfisch - https://github.com/Cornyfisch +* JoSchaap - https://github.com/JoSchaap +* maca134 - https://github.com/maca134 +* Schmoopiie - https://github.com/Schmoopiie +* nahkiss - https://github.com/nahkiss +* BlackLA - https://github.com/BlackLA -------------------------- Special thanks diff --git a/SQF/dayz/config.cpp b/SQF/dayz/config.cpp index 05d27d127..485bf0af5 100644 --- a/SQF/dayz/config.cpp +++ b/SQF/dayz/config.cpp @@ -43,7 +43,7 @@ class RscTitles { y = "0.00001 * safezoneH + safezoneY"; w = "1 * safezoneW"; h = "1 * safezoneH"; - text = "\dayz\ui\screen_death_ca.paa"; + text = "\z\addons\dayz_epoch\ui\screen_death_ca.paa"; }; }; diff --git a/SQF/dayz_code/Configs/CfgArma.hpp b/SQF/dayz_code/Configs/CfgArma.hpp index a2994d188..074fe7f90 100644 --- a/SQF/dayz_code/Configs/CfgArma.hpp +++ b/SQF/dayz_code/Configs/CfgArma.hpp @@ -314,6 +314,7 @@ class CfgSurvival { sex = "female"; playerModel = "SurvivorWpink_DZ"; }; + /* class Skin_SurvivorWsequisha_DZ: Default { sex = "female"; playerModel = "SurvivorWsequisha_DZ"; @@ -322,6 +323,7 @@ class CfgSurvival { sex = "female"; playerModel = "SurvivorWsequishaD_DZ"; }; + */ class Skin_SurvivorWcombat_DZ: Default { sex = "female"; playerModel = "SurvivorWcombat_DZ"; diff --git a/SQF/dayz_code/Configs/CfgLoot/CfgBuildingLoot.hpp b/SQF/dayz_code/Configs/CfgLoot/CfgBuildingLoot.hpp index b470c9d51..8e6efae96 100644 --- a/SQF/dayz_code/Configs/CfgLoot/CfgBuildingLoot.hpp +++ b/SQF/dayz_code/Configs/CfgLoot/CfgBuildingLoot.hpp @@ -116,7 +116,7 @@ class CfgBuildingLoot { {"specialclothes","specialclothes",0.01}, {"WeaponHolder_MeleeCrowbar","object",0.03}, {"ItemBriefcaseEmpty","magazine",0.01}, - { "shotgunsingleshot", "cfglootweapon", 0.05}, + { "shotgunsingleshot", "cfglootweapon", 0.05} }; lootTypeSmall[] = { { "ItemSodaMdew","magazine",0.01 }, @@ -225,7 +225,7 @@ class CfgBuildingLoot { {"ItemFishingPole","weapon",0.02}, {"ItemLightBulb","magazine",0.02}, {"ItemSledgeHandle","magazine",0.02}, - { "farmweapons", "cfglootweapon", 0.15}, + { "farmweapons", "cfglootweapon", 0.15} }; lootTypeSmall[] = { { "","generic", 0.79}, @@ -366,17 +366,15 @@ class CfgBuildingLoot { { "machineguns", "cfglootweapon", 0.03 } }; lootTypeSmall[] = { - { "pistols","cfglootweapon",0.15 }, - { "Binocular","weapon",0.02 }, - { "ItemFlashlightRed","weapon",0.03 }, - { "ItemKnife","weapon",0.04 }, - { "ItemGPS","weapon",0.02 }, - { "ItemMap","weapon",0.02 }, - { "","medical",0.09 }, - { "","generic",0.34 }, - { "","military",0.26 }, - { "submachinegun","cfglootweapon",0.02 }, - { "ItemEtool","weapon",0.01 } + { "pistols", "cfglootweapon", 0.14 }, + { "Binocular", "weapon", 0.05 }, + { "ItemFlashlightRed", "weapon", 0.03 }, + { "ItemKnife", "weapon", 0.04 }, + { "ItemGPS", "weapon", 0.02 }, + { "", "medical", 0.12 }, + { "", "generic", 0.22 }, + { "", "military", 0.35 }, + { "ItemEtool", "weapon", 0.03 } }; }; class MilitaryIndustrial: Default { @@ -412,16 +410,15 @@ class CfgBuildingLoot { { "machineguns", "cfglootweapon", 0.01 } }; lootTypeSmall[] = { - { "pistols","cfglootweapon",0.12 }, - { "Binocular","weapon",0.05 }, - { "ItemFlashlightRed","weapon",0.03 }, - { "ItemKnife","weapon",0.04 }, - { "ItemGPS","weapon",0.02 }, - { "","medical",0.02 }, - { "","generic",0.09 }, - { "","military",0.34 }, - { "submachinegun","cfglootweapon",0.26 }, - { "ItemEtool","weapon",0.03 } + { "pistols", "cfglootweapon", 0.14 }, + { "Binocular", "weapon", 0.05 }, + { "ItemFlashlightRed", "weapon", 0.03 }, + { "ItemKnife", "weapon", 0.04 }, + { "ItemGPS", "weapon", 0.02 }, + { "", "medical", 0.12 }, + { "", "generic", 0.22 }, + { "", "military", 0.35 }, + { "ItemEtool", "weapon", 0.03 } }; }; class IndustrialMilitary: Default { @@ -462,15 +459,14 @@ class CfgBuildingLoot { { "machineguns", "cfglootweapon", 0.01 } }; lootTypeSmall[] = { - { "pistols", "cfglootweapon", 0.12 }, + { "pistols", "cfglootweapon", 0.14 }, { "Binocular", "weapon", 0.05 }, { "ItemFlashlightRed", "weapon", 0.03 }, { "ItemKnife", "weapon", 0.04 }, { "ItemGPS", "weapon", 0.02 }, - { "", "medical", 0.02 }, - { "", "generic", 0.09 }, - { "", "military", 0.34 }, - { "submachinegun", "cfglootweapon", 0.26 }, + { "", "medical", 0.12 }, + { "", "generic", 0.22 }, + { "", "military", 0.35 }, { "ItemEtool", "weapon", 0.03 } }; }; diff --git a/SQF/dayz_code/Configs/CfgLoot/CfgBuildingPos.hpp b/SQF/dayz_code/Configs/CfgLoot/CfgBuildingPos.hpp index 2dd31ec91..cd522fdef 100644 --- a/SQF/dayz_code/Configs/CfgLoot/CfgBuildingPos.hpp +++ b/SQF/dayz_code/Configs/CfgLoot/CfgBuildingPos.hpp @@ -307,8 +307,9 @@ class Land_A_Castle_Gate: Residential { lootPos[] = {{0.244141,-4.48486,-3.14362},{-1.25293,2.98779,-3.07028},{4.50684,-3.31152,-2.94885},{4.55176,3.29834,-2.94858},{7.94824,1.4082,-2.91003}}; }; // Qty: 3 class Land_Mil_Barracks: Military { - lootPos[] = {}; - lootPosZombie[] = {{9.02515,-0.694336,-1.16602},{9.01538,0.856445,-1.16602}}; + lootPos[] = {{-0.891113,-3.48926,-1.51633},{-1.09204,2.88672,-1.51633},{-3.55591,3.42871,-1.51633},{-6.31299,3.7041,-1.51633},{-7.68262,-3.54102,-1.93634},{-5.11475,-2.09961,-1.93634},{0.24707,3.57324,-1.93634},{6.72217,-2.47949,-1.93634},{5.41602,3.99316,-1.93634},{-6.34912,3.90137,-0.726349},{-3.58691,2.8252,-0.726349},{-1.04224,3.39941,-0.726349},{-3.75195,-3.25977,-0.726349},{-0.864746,-3.88672,-0.726349},{-3.52563,-2.44824,-1.93634},{-6.06396,2.57422,-1.93634},{-0.935059,-4.05078,-1.93634},{-1.39502,3.89941,-1.93634}}; + lootPosZombie[] = {{-2.15845,-3.12793,-1.06134},{2.13281,3.24316,-1.06134},{-6.20679,-0.125,-1.06134},{2.09521,-3.36719,-1.06134}}; + lootPosSmall[] = {{-6.45703,2.03125,-1.79633},{-3.5127,1.98242,-1.79633},{-1.14746,1.9873,-1.79633},{-0.911621,-1.87598,-1.79633},{-3.81567,-1.90234,-1.79633},{-6.5249,-1.86426,-1.79633},{3.78979,-4.17773,-1.13635},{5.32861,-4.19043,-1.13635},{5.20923,-1.99805,-1.65634},{6.54175,-1.99707,-1.65634},{3.82324,-1.96582,-1.65634},{6.89209,2.93457,-1.84634},{6.98877,1.95215,-1.84634},{6.98291,2.23145,-1.46634},{7.00391,2.73438,-1.46634},{6.96729,3.01953,-1.08633},{6.94824,2.04785,-0.706329},{4.36768,3.13086,-0.396332},{3.86768,3.49316,-0.396332},{3.84521,3.49609,-1.86633},{4.33984,3.1748,-1.86633}}; }; // Qty: 8 class Land_Mil_Barracks_L: Military { lootPos[] = {}; diff --git a/SQF/dayz_code/Configs/CfgMagazines.hpp b/SQF/dayz_code/Configs/CfgMagazines.hpp index 117a8c635..684dcfdda 100644 --- a/SQF/dayz_code/Configs/CfgMagazines.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines.hpp @@ -1700,7 +1700,7 @@ class CfgMagazines { { class Crafting { - text = $STR_EPOCH_PLAYER_269; + text = $STR_EPOCH_PLAYER_269b; script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;"; neednearby[] = {"workshop"}; requiretools[] = {"ItemToolbox","ItemKnife"}; diff --git a/SQF/dayz_code/Configs/CfgMagazines/Skins.hpp b/SQF/dayz_code/Configs/CfgMagazines/Skins.hpp index c10e8b1fa..5c9b85152 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Skins.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Skins.hpp @@ -155,6 +155,7 @@ class Skin_SurvivorWpink_DZ: SkinBase { displayName = "Melly (female)"; descriptionShort = "Purple top with blue pants."; }; +/* class Skin_SurvivorWsequisha_DZ: SkinBase { scope = 2; displayName = "Maria (female)"; @@ -165,6 +166,7 @@ class Skin_SurvivorWsequishaD_DZ: SkinBase { displayName = "Sequisha (female)"; descriptionShort = "Sequisha Clothes (female)"; }; +*/ class Skin_SurvivorWcombat_DZ: SkinBase { scope = 2; displayName = "Alejandria"; diff --git a/SQF/dayz_code/Configs/CfgVehicles/AIR/AH6.hpp b/SQF/dayz_code/Configs/CfgVehicles/AIR/AH6.hpp index 4deafd0c6..82b334199 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/AIR/AH6.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/AIR/AH6.hpp @@ -1,4 +1,49 @@ class AH6_Base_EP1; +class AH6J_EP1_DZ: AH6_Base_EP1 +{ + scope = 2; + side = 2; + displayName = "AH6J_DZ"; + crew = ""; + typicalCargo[] = {}; + weapons[] = {"TwinM134","CMFlareLauncher"}; + magazines[] = {"4000Rnd_762x51_M134","60Rnd_CMFlareMagazine"}; + threat[] = {0.6,0.4,0.1}; + gunBeg[] = {"muzzle_1","muzzle_2"}; + gunEnd[] = {"chamber_1","chamber_2"}; + radarType = 0; + class TransportMagazines {}; + class TransportWeapons {}; + class Turrets {}; + class AnimationSources + { + class Gatling_1 + { + source = "revolving"; + weapon = "TwinM134"; + }; + class Gatling_2 + { + source = "revolving"; + weapon = "TwinM134"; + }; + }; + hiddenSelections[] = {"camo1","camo2"}; + hiddenSelectionsTextures[] = {"ca\air_e\ah6j\data\ah6_merge1_co.paa","ca\air_e\ah6j\data\default_co.paa"}; + commanderCanSee = 2+16+32; + gunnerCanSee = 2+16+32; + driverCanSee = 2+16+32; + transportMaxWeapons = 3; + transportMaxMagazines = 10; + transportmaxbackpacks = 2; +}; +class AH6J_EP1_DZE: AH6J_EP1_DZ +{ + scope = 2; + side = 2; + displayName = "AH6J_DZE"; + magazines[] = {}; +}; class AH6X_DZ: AH6_Base_EP1 { displayname = "AH6X Little Bird"; displaynameshort = "AH6X_DZ"; diff --git a/SQF/dayz_code/Configs/CfgVehicles/AIR/CH53.hpp b/SQF/dayz_code/Configs/CfgVehicles/AIR/CH53.hpp index 1713601ae..b969a75a9 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/AIR/CH53.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/AIR/CH53.hpp @@ -1,21 +1,21 @@ -#include "\usec_ch53\config.cpp" - -class CH53_base: USEC_ch53_E { - class Turrets: Turrets { - class MainTurret: MainTurret { - class ViewOptics: ViewOptics {}; - class Turrets: Turrets {}; - }; - }; -}; - -class CH53_DZ: CH53_base { - displayname = "USEC CH53E"; - displaynameshort = "CH53_DZ"; - enablemanualfire = 0; +class USEC_ch53_E; +class CH53_DZE : USEC_ch53_E { scope = 2; side = 2; + displayname = "USEC CH53E DZE"; + displaynameshort = "CH53_DZE"; + destrType = "DestructWreck"; + enablemanualfire = 0; crew = ""; + soundGetIn[] = {"\ca\Sounds\Air\Noises\heli_door_01",0.316228,1}; + soundGetOut[] = {"\ca\Sounds\Air\Noises\heli_door_01",0.316228,1,30}; + soundEnviron[] = {"",0.0316228,1}; + soundEngineOnInt[] = {"ca\sounds\Air\UH1Y\int\int-start-final",0.1,1}; + soundEngineOnExt[] = {"ca\sounds\Air\UH1Y\ext\ext-motor-start",1,1,800}; + soundEngineOffInt[] = {"ca\sounds\Air\UH1Y\int\int-stop-final",0.1,1}; + soundEngineOffExt[] = {"ca\sounds\Air\UH1Y\ext\ext-motor-stop",1,1,800}; + soundGear[] = {"\usec_ch53\sound\ch53_gear", db10, 1, 100}; + soundDammage[] = {"\usec_ch53\sound\dws_warning_beeps", 3.16228, 1, 20}; typicalCargo[] = {}; hiddenSelections[] = {}; radartype = 0; @@ -27,6 +27,7 @@ class CH53_DZ: CH53_base { transportMaxWeapons = 25; transportMaxMagazines = 80; transportmaxbackpacks = 15; +<<<<<<< HEAD fuelCapacity = 3849; class Turrets : Turrets { @@ -43,3 +44,6 @@ class CH53_DZE: CH53_DZ { }; }; }; +======= +}; +>>>>>>> 41c658c0c8b8f580c5b137ea22830ac81c2123e6 diff --git a/SQF/dayz_code/Configs/CfgWeapons.hpp b/SQF/dayz_code/Configs/CfgWeapons.hpp index 577ea26bb..2832a8e54 100644 --- a/SQF/dayz_code/Configs/CfgWeapons.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons.hpp @@ -274,7 +274,7 @@ class CfgWeapons { #include "CfgWeapons\Weapon\Sniper\KSVK.hpp" #include "CfgWeapons\Weapon\Sniper\DMR_DZ.hpp" - #include "CfgWeapons\Weapon\Pistol\MakerovSD.hpp" + #include "CfgWeapons\Weapon\Pistol\MakarovSD.hpp" #include "CfgWeapons\Weapon\LMG\m240_scoped.hpp" #include "CfgWeapons\Weapon\LMG\M249_EP1.hpp" #include "CfgWeapons\Weapon\LMG\M249_m145_EP1.hpp" diff --git a/SQF/dayz_code/Configs/CfgWeapons/Melee/Crossbow.hpp b/SQF/dayz_code/Configs/CfgWeapons/Melee/Crossbow.hpp index db5907beb..37e3c5949 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Melee/Crossbow.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Melee/Crossbow.hpp @@ -1,7 +1,4 @@ class Crossbow_DZ : Crossbow { displayName = $STR_EQUIP_CROSSBOW; - magazines[] = - { - "WoodenArrow" - }; + magazines[] ={"Quiver","WoodenArrow"}; }; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Weapon/Pistol/MakerovSD.hpp b/SQF/dayz_code/Configs/CfgWeapons/Weapon/Pistol/MakarovSD.hpp similarity index 100% rename from SQF/dayz_code/Configs/CfgWeapons/Weapon/Pistol/MakerovSD.hpp rename to SQF/dayz_code/Configs/CfgWeapons/Weapon/Pistol/MakarovSD.hpp diff --git a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp index abcbb291c..8996da901 100644 --- a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp +++ b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp @@ -119,6 +119,14 @@ class RscTitles name = "statusBorder"; onLoad = "uiNamespace setVariable ['DAYZ_GUI_display', _this select 0];"; class ControlsBackground { + class RscStructuredText_1199: RscStructuredText + { + idc = 1199; + x = 0.250001; + y = 0.350001; + w = 0.5; + h = 0.1; + }; class RscPicture_1901: RscPictureGUI { idc = 1901; diff --git a/SQF/dayz_code/Configs/cfgVehicles.hpp b/SQF/dayz_code/Configs/cfgVehicles.hpp index 691374614..99319d543 100644 --- a/SQF/dayz_code/Configs/cfgVehicles.hpp +++ b/SQF/dayz_code/Configs/cfgVehicles.hpp @@ -215,6 +215,8 @@ class CfgVehicles { #include "CfgVehicles\AIR\UH1.hpp" #include "CfgVehicles\AIR\AH6.hpp" #include "CfgVehicles\AIR\C130.hpp" + #include "CfgVehicles\AIR\CH53.hpp" + // LAND (Armed) #include "CfgVehicles\LAND\HMMWV.hpp" diff --git a/SQF/dayz_code/Configs/rscTitles.hpp b/SQF/dayz_code/Configs/rscTitles.hpp index 0e1e9bf67..2b1422d28 100644 --- a/SQF/dayz_code/Configs/rscTitles.hpp +++ b/SQF/dayz_code/Configs/rscTitles.hpp @@ -181,7 +181,7 @@ class RscDisplayMain : RscStandardDisplay { class CA_Version; class DAYZ_Version : CA_Version { idc = -1; - text = "1.0.5"; + text = "1.0.5.2"; y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)"; }; delete CA_TitleMainMenu; diff --git a/SQF/dayz_code/actions/fill_nearestVehicle.sqf b/SQF/dayz_code/actions/fill_nearestVehicle.sqf index 1fa14766f..f7d51061c 100644 --- a/SQF/dayz_code/actions/fill_nearestVehicle.sqf +++ b/SQF/dayz_code/actions/fill_nearestVehicle.sqf @@ -7,6 +7,8 @@ _isVehicle = false; _vehicleSrc = _this select 3; +_abort = false; + if(!(isNull _vehicleSrc)) then { _isVehicle = ((_vehicleSrc isKindOf "AllVehicles") && !(_vehicleSrc isKindOf "Man")); @@ -147,4 +149,4 @@ if(_IsNearVehicle >= 1) then { } else { cutText [(localize "str_epoch_player_27"), "PLAIN DOWN"]; }; -DZE_ActionInProgress = false; \ No newline at end of file +DZE_ActionInProgress = false; diff --git a/SQF/dayz_code/actions/maintain_area.sqf b/SQF/dayz_code/actions/maintain_area.sqf index c7125f783..6dc3f15d5 100644 --- a/SQF/dayz_code/actions/maintain_area.sqf +++ b/SQF/dayz_code/actions/maintain_area.sqf @@ -115,7 +115,7 @@ switch _option do { _countIn = _x select 1; _itemText = getText(configFile >> "CfgMagazines" >> _itemIn >> "displayName"); if (_cost != "") then { - _cost = _cost + " && "; + _cost = _cost + " and "; }; _cost = _cost + (str(_countIn) + " of " + _itemText); } count _requirements; diff --git a/SQF/dayz_code/actions/player_build.sqf b/SQF/dayz_code/actions/player_build.sqf index c8d0f388b..c393f005f 100644 --- a/SQF/dayz_code/actions/player_build.sqf +++ b/SQF/dayz_code/actions/player_build.sqf @@ -153,7 +153,7 @@ if(_IsNearPlot == 0) then { _nearestPole = _findNearestPole select 0; // Find owner - _ownerID = _nearestPole getVariable["CharacterID","0"]; + _ownerID = _nearestPole getVariable ["CharacterID","0"]; // diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID]; @@ -183,7 +183,7 @@ _missing = ""; _hasrequireditem = true; { _hastoolweapon = _x in weapons player; - if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); } + if(!_hastoolweapon) exitWith { _hasrequireditem = false; _missing = getText (configFile >> "cfgWeapons" >> _x >> "displayName"); }; } count _require; _hasbuilditem = _this in magazines player; diff --git a/SQF/dayz_code/actions/player_craftItem.sqf b/SQF/dayz_code/actions/player_craftItem.sqf index 3b2957990..40ccf60e7 100644 --- a/SQF/dayz_code/actions/player_craftItem.sqf +++ b/SQF/dayz_code/actions/player_craftItem.sqf @@ -37,7 +37,8 @@ _abort = false; _distance = 3; _reason = ""; _waterLevel = 0; - +_outputWeapons = []; +_selectedRecipeOutput = []; _onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; _canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder); @@ -95,7 +96,7 @@ if (_canDo) then { { _hastoolweapon = _x in weapons player; if(!_hastoolweapon) exitWith { _craft_doLoop = false; _missingTools = true; _missing = _x; }; - } count _selectedRecipeTools; + } forEach _selectedRecipeTools; if(!_missingTools) then { @@ -167,13 +168,13 @@ if (_canDo) then { if ((_x == _itemIn) || (!_selectedRecipeInputStrict && _configParent == _itemIn)) then { // Get lowest waterlevel if ((_x == "ItemWaterbottle") ||( _configParent == "ItemWaterbottle")) then { - _waterLevel = floor((getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz")) - 1); + _waterLevel = getNumber(configFile >> "CfgMagazines" >> _x >> "wateroz"); if (_waterLevel_lowest == 0 || _waterLevel < _waterLevel_lowest) then { _waterLevel_lowest = _waterLevel; }; }; }; - } count magazines player; + } forEach (magazines player); { _configParent = configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)); @@ -194,7 +195,7 @@ if (_canDo) then { _temp_removed_array set [count _temp_removed_array,_x]; }; }; - } forEach magazines player; + } forEach (magazines player); } forEach _selectedRecipeInput; @@ -205,15 +206,13 @@ if (_canDo) then { _num_removed_weapons = 0; { _num_removed_weapons = _num_removed_weapons + ([player,_x] call BIS_fnc_invRemove); - } count _inputWeapons; + } forEach _inputWeapons; if (_num_removed_weapons == (count _inputWeapons)) then { if(_randomOutput == 1) then { - _outputWeapons = []; if (!isNil "_outputWeapons" && count _outputWeapons > 0) then { _selectedWeapon = _outputWeapons call BIS_fnc_selectRandom; _outputWeapons = [_selectedWeapon]; }; - _selectedRecipeOutput = []; if (!isNil "_selectedRecipeOutput" && count _selectedRecipeOutput > 0) then { _selectedMag = _selectedRecipeOutput call BIS_fnc_selectRandom; _selectedRecipeOutput = [_selectedMag]; @@ -223,7 +222,7 @@ if (_canDo) then { }; { player addWeapon _x; - } count _outputWeapons; + } forEach _outputWeapons; { _itemOut = _x select 0; @@ -250,14 +249,14 @@ if (_canDo) then { // sleep here sleep 1; - } count _selectedRecipeOutput; + } forEach _selectedRecipeOutput; _tradeComplete = _tradeComplete+1; }; } else { // Refund parts since we failed - {player addMagazine _x;} count _temp_removed_array; + {player addMagazine _x; } forEach _temp_removed_array; cutText [format[(localize "str_epoch_player_151"),_removed_total,_tobe_removed_total], "PLAIN DOWN"]; }; diff --git a/SQF/dayz_code/actions/player_drink.sqf b/SQF/dayz_code/actions/player_drink.sqf index 5eaf17910..dd2d5d8d1 100644 --- a/SQF/dayz_code/actions/player_drink.sqf +++ b/SQF/dayz_code/actions/player_drink.sqf @@ -48,26 +48,31 @@ if (["ItemSoda",_itemorignal] call fnc_inString) then { [player,_dis,true,(getPosATL player)] spawn player_alertZombies; }; -if (_hasoutput && !_invehicle) then { - // Selecting output - _itemtodrop = drink_output select (drink_with_output find _itemorignal); +if (_hasoutput) then{ + _itemtodrop = drink_output select(drink_with_output find _itemorignal); - sleep 3; - _nearByPile= nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2]; - if (count _nearByPile ==0) then { - _iPos = getPosATL player; - _radius = 0.0; - _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"]; - _item setposATL _iPos; - } else { - _item = _nearByPile select 0; - }; - _item addMagazineCargoGlobal [_itemtodrop,1]; -}; + if (!_invehicle) then { + // Selecting output + _itemtodrop = drink_output select (drink_with_output find _itemorignal); + + sleep 3; + _nearByPile= nearestObjects [(getPosATL player), ["WeaponHolder","WeaponHolderBase"],2]; + if (count _nearByPile ==0) then { + _iPos = getPosATL player; + _radius = 0.0; + _item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"]; + _item setposATL _iPos; + } else { + _item = _nearByPile select 0; + }; + _item addMagazineCargoGlobal [_itemtodrop,1]; + }; + + if (_invehicle) then { + sleep 2; + (vehicle player) addMagazineCargoGlobal [_itemtodrop,1]; + }; -if (_hasoutput && _invehicle) then { - sleep 2; - (vehicle player) addMagazineCargoGlobal [_itemtodrop,1]; }; //add infection chance for "ItemWaterbottle", diff --git a/SQF/dayz_code/actions/player_tagFriendly.sqf b/SQF/dayz_code/actions/player_tagFriendly.sqf index 4205c6a7b..43cdc3950 100644 --- a/SQF/dayz_code/actions/player_tagFriendly.sqf +++ b/SQF/dayz_code/actions/player_tagFriendly.sqf @@ -5,18 +5,19 @@ _caller = _this select 1; call fnc_usec_medic_removeActions; r_action = false; -_callerID = _caller getVariable "CharacterID"; -_targetID = _target getVariable "CharacterID"; +_callerID = _caller getVariable ["CharacterID", "0"]; +_targetID = _target getVariable ["CharacterID", "0"]; +if ((_callerID != "0") && (_targetID != "0")) then { + _friendlies = _caller getVariable ["friendlies", []]; + _friendlies set [count _friendlies, _targetID]; + _caller setVariable ["friendlies", _friendlies, true]; -_friendlies = _caller getVariable ["friendlies", []]; -_friendlies set [count _friendlies, _targetID]; -_caller setVariable ["friendlies", _friendlies, true]; + _rfriendlies = _target getVariable ["friendlies", []]; -_rfriendlies = _target getVariable ["friendlies", []]; - -if !(_callerID in _rfriendlies) then { - titleText [(localize "STR_EPOCH_ACTIONS_8"), "PLAIN DOWN"]; //To Caller - /* PVS/PVC - Skaronator */ - PVDZE_send = [_target,"tagFriendly",[_target]]; //To Target - publicVariableServer "PVDZE_send"; + if !(_callerID in _rfriendlies) then { + titleText [(localize "STR_EPOCH_ACTIONS_8"), "PLAIN DOWN"]; //To Caller + /* PVS/PVC - Skaronator */ + PVDZE_send = [_target,"tagFriendly",[_target]]; //To Target + publicVariableServer "PVDZE_send"; + }; }; diff --git a/SQF/dayz_code/actions/trade_items_wo_db.sqf b/SQF/dayz_code/actions/trade_items_wo_db.sqf index bfc628e8c..7984c9ea2 100644 --- a/SQF/dayz_code/actions/trade_items_wo_db.sqf +++ b/SQF/dayz_code/actions/trade_items_wo_db.sqf @@ -4,7 +4,7 @@ private ["_part_out","_part_in","_qty_out","_qty_in","_textPartIn","_textPartOut if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; -//_activatingPlayer = getPlayerUID player; +//_activatingPlayer = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; _part_out = (_this select 3) select 0; _part_in = (_this select 3) select 1; diff --git a/SQF/dayz_code/anim/saw_idle.rtm b/SQF/dayz_code/anim/saw_idle.rtm index 384d76d7a..1044d61e2 100644 Binary files a/SQF/dayz_code/anim/saw_idle.rtm and b/SQF/dayz_code/anim/saw_idle.rtm differ diff --git a/SQF/dayz_code/compile/BIS_fnc/fn_selectRandom.sqf b/SQF/dayz_code/compile/BIS_fnc/fn_selectRandom.sqf index 8184cacc2..c261a6cc7 100644 --- a/SQF/dayz_code/compile/BIS_fnc/fn_selectRandom.sqf +++ b/SQF/dayz_code/compile/BIS_fnc/fn_selectRandom.sqf @@ -15,9 +15,10 @@ private "_ret"; if(count _this > 0) then { - _ret = count _this; //number of elements in the array + //_ret = count _this; //number of elements in the array //_ret = [0, _ret] call BIS_fnc_randomInt; //choose random index - _ret = floor(random _ret); + _ret = floor(random(count _this)); _ret = _this select _ret; //get the element, return it }; -_ret + +_ret; \ No newline at end of file diff --git a/SQF/dayz_code/compile/fn_damageActions.sqf b/SQF/dayz_code/compile/fn_damageActions.sqf index 8e787903f..a0527ef99 100644 --- a/SQF/dayz_code/compile/fn_damageActions.sqf +++ b/SQF/dayz_code/compile/fn_damageActions.sqf @@ -31,9 +31,9 @@ if (_inVehicle) then { //allow switch to pilot if (((_assignedRole select 0) != "driver") && ((!alive _driver) || ((_vehicle emptyPositions "Driver") > 0))) then { if (_vehicle isKindOf "helicopter") then { - _action = _vehicle addAction [localize "STR_EPOCH_PLAYER_308A", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToPilot",_driver], 0, false, true]; + _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_308A", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToPilot", _driver], 0, false, true]; } else { - _action = _vehicle addAction [localize "STR_EPOCH_PLAYER_308", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToPilot",_driver], 0, false, true]; + _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_308", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToPilot", _driver], 0, false, true]; }; r_player_actions2 set [count r_player_actions2,_action]; r_action2 = true; @@ -46,13 +46,13 @@ if (_inVehicle) then { }; //allow switch to gunner if (((_assignedRole select 0) != "Turret") && ((_vehicle emptyPositions "Gunner") > 0)) then { - _action = _vehicle addAction [localize "STR_EPOCH_PLAYER_310", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToTurret",_driver], 0, false, true]; + _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_310", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true]; r_player_actions2 set [count r_player_actions2,_action]; r_action2 = true; }; //allow switch to commander if (((assignedCommander _vehicle) != player) && ((_vehicle emptyPositions "Commander") > 0)) then { - _action = _vehicle addAction [localize "STR_EPOCH_PLAYER_311", "\z\addons\dayz_code\actions\veh_seatActions.sqf",["MoveToTurret",_driver], 0, false, true]; + _action = _vehicle addAction[localize "STR_EPOCH_PLAYER_311", "\z\addons\dayz_code\actions\veh_seatActions.sqf", ["MoveToTurret", _driver], 0, false, true]; r_player_actions2 set [count r_player_actions2,_action]; r_action2 = true; }; diff --git a/SQF/dayz_code/compile/fn_gearMenuChecks.sqf b/SQF/dayz_code/compile/fn_gearMenuChecks.sqf index e0317e5b9..fe75ce5e6 100644 --- a/SQF/dayz_code/compile/fn_gearMenuChecks.sqf +++ b/SQF/dayz_code/compile/fn_gearMenuChecks.sqf @@ -1,4 +1,4 @@ -private ["_cTarget","_isOk","_display","_inVehicle"]; +private ["_cTarget","_isOk","_Dis","_display","_inVehicle"]; disableSerialization; _display = (_this select 0); _inVehicle = (vehicle player) != player; @@ -13,8 +13,8 @@ _isOk = false; _isOk = _cTarget isKindOf _x; }; } count ["LandVehicle","Air", "Ship"]; - -if((locked _cTarget) && _isOk && (((vehicle player) distance _cTarget) < 12)) then { +_Dis = if (_cTarget isKindOf "USEC_ch53_E") then {25;} else {12;}; +if((locked _cTarget) && _isOk && (((vehicle player) distance _cTarget) < _Dis)) then { cutText [(localize "str_epoch_player_7") , "PLAIN DOWN"]; _display closeDisplay 1; }; diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf index 8117efc22..94665a745 100644 --- a/SQF/dayz_code/compile/fn_selfActions.sqf +++ b/SQF/dayz_code/compile/fn_selfActions.sqf @@ -468,7 +468,7 @@ if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance curso if (_player_SurrenderedGear) then { if (s_player_SurrenderedGear < 0) then { - s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTION_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""]; + s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""]; }; } else { player removeAction s_player_SurrenderedGear; diff --git a/SQF/dayz_code/compile/fn_unconscious.sqf b/SQF/dayz_code/compile/fn_unconscious.sqf index c9d4bca4d..4884f6e7f 100644 --- a/SQF/dayz_code/compile/fn_unconscious.sqf +++ b/SQF/dayz_code/compile/fn_unconscious.sqf @@ -1,14 +1,13 @@ -private ["_nul","_timeout","_isOnDeck","_isInLocation","_inVehicle","_bloodLow","_isHospital","_totalTimeout","_display","_ctrl1","_ctrl1Pos"]; +private ["_totalTimeout","_timeout","_bloodLow","_display","_ctrl1","_ctrl1Pos"]; disableSerialization; if ((!r_player_handler1) && (r_handlerCount == 0)) then { - //Unconscious Meter + if (r_player_cardiac) then {r_player_timeout = r_player_timeout max 300;}; _totalTimeout = r_player_timeout; - if (_totalTimeout == 0) then { _totalTimeout = 1; }; //Fix for zero divisor + if (_totalTimeout == 0) then { _totalTimeout = 1; }; 4 cutRsc ["playerStatusWaiting", "PLAIN",0]; _display = uiNamespace getVariable 'DAYZ_GUI_waiting'; _ctrl1 = _display displayCtrl 1400; _ctrl1Pos = ctrlPosition _ctrl1; - _timeout = 0; r_handlerCount = r_handlerCount + 1; r_player_handler1 = true; @@ -17,27 +16,16 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then { "colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0; 0 fadeSound 0.05; disableUserInput true; - //waitUntil{USEC_MotherInbox == ""}; - //["MED001",0,"Unconscious"] call fnc_usec_recordEventClient; - //diag_log "CLIENT: Unconscious..."; - while {(r_player_unconscious)} do { + while {r_player_unconscious} do { _ctrl1 ctrlSetPosition [(_ctrl1Pos select 0),(_ctrl1Pos select 1),(_ctrl1Pos select 2),((0.136829 * safezoneH) * (1 -(r_player_timeout / _totalTimeout)))]; _ctrl1 ctrlCommit 1; playSound "heartbeat_1"; sleep 1; - _isOnDeck = false; //getPos player in LHA_Deck; - _isInLocation = false; //getPos player in LHA_Location; - _inVehicle = (vehicle player != player); _bloodLow = ((r_player_blood/r_player_bloodTotal) < 0.5); - if ((surfaceIsWater (getPosASL player)) && !_isOnDeck && !_inVehicle) then { - player setpos [(getPosASL player select 0),(getPosASL player select 1),0.3]; - }; if(_timeout == 0) then { if (!r_player_dead && !_bloodLow && r_player_injured) then { _timeout = 10; - //_animType = (USEC_WoundAnim select (floor(random (count USEC_WoundAnim)))); - //player playActionNow _anim; }; } else { _timeout = _timeout - 1; @@ -46,54 +34,10 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then { if (r_player_timeout > 0) then { r_player_timeout = r_player_timeout - 1; } else { - if ((!r_player_dead) && (!r_player_cardiac)) then { + if (!r_player_dead) then { _nul = [] spawn fnc_usec_recoverUncons; }; }; - //Check if near field hospital - _isHospital = false; //(count( nearestObjects [player, ["USMC_WarfareBFieldhHospital"], 8]) > 0); - if (_isHospital || _isOnDeck || _isInLocation) then { - - waitUntil {!(player getVariable ["NORRN_unit_dragged", false])}; - - cutText[localize "str_medical_healing", "PLAIN", 2]; - sleep 5; - - r_player_inpain = false; - r_player_dead = false; - r_player_injured = false; - r_player_cardiac = false; - - //Give Blood - r_player_blood = r_player_bloodTotal; - player setVariable["USEC_lowBlood",false,true]; - - //Self Healing - _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf"; - player setVariable ["hit_legs",0,false]; - player setVariable ["hit_hands",0,false]; - player setVariable["medForceUpdate",true]; - - _id = [player,player] execVM "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf"; - player setVariable["medForceUpdate",true]; - - /* REMOVED USE THAT ABOVE - usecMorphine = [player,player]; - publicVariable "usecMorphine"; - - usecBandage = [player,player]; - publicVariable "usecBandage"; - */ - - player setVariable ["USEC_inPain", false, true]; - player setdamage 0; - {player setVariable[_x,false,true];} count USEC_woundHit; - player setVariable ["USEC_injured",false,true]; - - sleep 1; - r_player_handler = false; - _nul = [] spawn fnc_usec_recoverUncons; - }; if (!(player getVariable ["NORRN_unconscious", true])) then { _nul = [] spawn fnc_usec_recoverUncons; }; @@ -102,10 +46,7 @@ if ((!r_player_handler1) && (r_handlerCount == 0)) then { }; }; 4 cutRsc ["default", "PLAIN",1]; - //diag_log "CLIENT: Conscious..."; disableUserInput false; - //waitUntil{USEC_MotherInbox == ""}; - //["MED001",0,"Conscious"] call fnc_usec_recordEventClient; if (!r_player_injured && ((r_player_blood/r_player_bloodTotal) >= 0.5)) then { 10 fadeSound 1; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; diff --git a/SQF/dayz_code/compile/player_death.sqf b/SQF/dayz_code/compile/player_death.sqf index c9596d097..d794023ee 100644 --- a/SQF/dayz_code/compile/player_death.sqf +++ b/SQF/dayz_code/compile/player_death.sqf @@ -2,7 +2,9 @@ private ["_display","_body","_playerID","_array","_source","_method","_canHitFre disableSerialization; if (deathHandled) exitWith {}; deathHandled = true; - +if ((alive player) && {isNil {dayz_playerName}}) then { + dayz_playerName = name player; +}; //Prevent client freezes _display = findDisplay 49; if(!isNull _display) then {_display closeDisplay 0;}; @@ -10,7 +12,7 @@ if (dialog) then {closeDialog 0;}; if (visibleMap) then {openMap false;}; _body = player; -_playerID = getPlayerUID player; +_playerID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; disableUserInput true; //add weapon on back to player... @@ -22,7 +24,7 @@ _infected = 0; if (r_player_infected && DZE_PlayerZed) then { _infected = 1; }; -PVDZE_plr_Died = [dayz_characterID,0,_body,_playerID,_infected]; +PVDZE_plr_Died = [dayz_characterID,0,_body,_playerID,_infected, dayz_playerName]; publicVariableServer "PVDZE_plr_Died"; _id = [player,20,true,getPosATL player] call player_alertZombies; @@ -91,9 +93,9 @@ addSwitchableUnit dayz_originalPlayer; setPlayable dayz_originalPlayer; selectPlayer dayz_originalPlayer; -_myGroup = group _body; -[_body] joinSilent dayz_firstGroup; -deleteGroup _myGroup; +//_myGroup = group _body; +//[_body] joinSilent dayz_firstGroup; +//deleteGroup _myGroup; 3 cutRsc ["default", "PLAIN",3]; 4 cutRsc ["default", "PLAIN",3]; diff --git a/SQF/dayz_code/compile/player_murderMenu.sqf b/SQF/dayz_code/compile/player_murderMenu.sqf index 76fecacff..ffd53dd30 100644 --- a/SQF/dayz_code/compile/player_murderMenu.sqf +++ b/SQF/dayz_code/compile/player_murderMenu.sqf @@ -22,7 +22,7 @@ EpochDeathBoardLoad = { ];*/ { lbAdd [EpochDeathBoardDialogList, (_x select 0)]; - } count PVDZE_plr_DeathBResult; + } forEach PVDZE_plr_DeathBResult; }; @@ -34,7 +34,7 @@ EpochDeathBoardClick = { "What happens if you get scared half to death, twice?", "Don't upset me.. I'm running out of places to hide the bodies.", "Don't run, you'll just die tired.", - "Give me immortality || give me death.", + "Give me immortality or give me death.", "I can't live with death; he's always leaving the toilet seat up.", "Why won't you die?!?!", "Guns don't kill people; death kills people. It's a proven medical fact." @@ -77,5 +77,7 @@ EpochDeathBoardClick = { _record_stxt = format["%1%2", _record_stxt, (_quotes call BIS_fnc_selectRandom)]; call compile format["epoch_death_board_record_%1 = ""%2"";" ,_i , _record_stxt]; }; - _output ctrlSetStructuredText parseText _record_stxt; + if (!isNil "_record_stxt") then { + _output ctrlSetStructuredText (parseText _record_stxt); + }; }; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_switchModel.sqf b/SQF/dayz_code/compile/player_switchModel.sqf index 4271e2d00..e1c071d02 100644 --- a/SQF/dayz_code/compile/player_switchModel.sqf +++ b/SQF/dayz_code/compile/player_switchModel.sqf @@ -1,11 +1,11 @@ -private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee"]; +private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee"]; _class = _this; _position = getPosATL player; _dir = getDir player; _currentAnim = animationState player; _tagSetting = player getVariable["DZE_display_name",false]; -_playerUID = getPlayerUID player; +_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; _weapons = weapons player; _countMags = call player_countMagazines; _magazines = _countMags select 0; @@ -130,7 +130,12 @@ if (!isNil "_newBackpackType") then { //magazines _countr = 0; { - if (!(isClass(configFile >> "CfgWeapons" >> _x))) then { + if ((typeName _x) != "STRING") then { + _isWeapon = (isClass(configFile >> "CfgWeapons" >> (_x select 0))); + } else { + _isWeapon = (isClass(configFile >> "CfgWeapons" >> _x)); + }; + if (!_isWeapon) then { _countr = _countr + 1; if ((typeName _x) != "STRING") then { (unitBackpack player) addMagazineCargoGlobal [(_x select 0), 1]; @@ -158,7 +163,7 @@ if (_tagSetting) then { DZE_ForceNameTags = true; }; -_playerUID = getPlayerUID player; +_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; _playerObjName = format["PVDZE_player%1",_playerUID]; call compile format["%1 = player;",_playerObjName]; publicVariableServer _playerObjName; //Outcommit in DayZ 1.8 No clue for what this is - Skaronator diff --git a/SQF/dayz_code/compile/player_unlockVault.sqf b/SQF/dayz_code/compile/player_unlockVault.sqf index 8bd451c6a..3696e1933 100644 --- a/SQF/dayz_code/compile/player_unlockVault.sqf +++ b/SQF/dayz_code/compile/player_unlockVault.sqf @@ -39,7 +39,7 @@ if ((_ownerID == dayz_combination) || (_ownerID == dayz_playerUID)) then { // Check if any players are nearby if not allow player to claim item. _playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1; - _playerID = getPlayerUID player; + _playerID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; // Only allow if not already claimed. if (_claimedBy == "0" || !_playerNear) then { diff --git a/SQF/dayz_code/compile/player_updateGui.sqf b/SQF/dayz_code/compile/player_updateGui.sqf index 7dcd68766..aef15cdac 100644 --- a/SQF/dayz_code/compile/player_updateGui.sqf +++ b/SQF/dayz_code/compile/player_updateGui.sqf @@ -1,4 +1,4 @@ -private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_humanityTarget"]; +private ["_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"]; disableSerialization; _foodVal = 1 - (dayz_hunger / SleepFood); @@ -6,7 +6,7 @@ _thirstVal = 1 - (dayz_thirst / SleepWater); _tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1] _combatVal = 1 - dayz_combat; // May change later to be a range of red/green to loosely indicate 'time left in combat' -if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith { +if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith { _array = [_foodVal,_thirstVal]; _array }; @@ -139,12 +139,11 @@ if (r_player_injured) then { /* Opt-in tag system with friend tagging */ -_targetControl = _display displayCtrl 1199; _string = ""; _humanityTarget = cursorTarget; if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget) then { - _distance = (player distance _humanityTarget); + _distance = player distance _humanityTarget; if (_distance < DZE_HumanityTargetDistance) then { @@ -157,24 +156,19 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget _rcharID = _humanityTarget getVariable ["CharacterID", "0"]; _rfriendlies = _humanityTarget getVariable ["friendlies", []]; _rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []]; - + if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then { - if (!(_charID in _rfriendlyTo)) then { - + if !(_charID in _rfriendlyTo) then { // diag_log format["IS FRIENDLY: %1", _player]; _rfriendlyTo set [count _rfriendlyTo, _charID]; _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true]; - - // titleText [format[(localize "STR_EPOCH_ACTIONS_17"), (name _humanityTarget)], "PLAIN DOWN"]; - }; //
Humanity: %3 _color = "color='#339933'"; - _humanityName = if (alive _humanityTarget) then {name _humanityTarget; } else { "Dead Player";}; - _string = format["%1",_humanityName,_color,_size]; + _string = format["%1",(name _humanityTarget),_color,_size]; } else { @@ -190,8 +184,7 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget }; }; if((_humanityTarget getVariable ["DZE_display_name", false]) || (DZE_ForceNameTagsInTrader && isInTraderCity)) then { - _humanityName = if (alive _humanityTarget) then {name _humanityTarget; } else { "Dead Player";}; - _string = format["%1",_humanityName,_color,_size]; + _string = format["%1",(name _humanityTarget),_color,_size]; }; }; }; @@ -199,6 +192,7 @@ if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget // update gui if changed if (dayz_humanitytarget != _string) then { + _targetControl = _display displayCtrl 1199; _targetControl ctrlSetStructuredText (parseText _string); dayz_humanitytarget = _string; }; diff --git a/SQF/dayz_code/compile/vehicle_handleKilled.sqf b/SQF/dayz_code/compile/vehicle_handleKilled.sqf index 6d538fc7b..b51cc1fe8 100644 --- a/SQF/dayz_code/compile/vehicle_handleKilled.sqf +++ b/SQF/dayz_code/compile/vehicle_handleKilled.sqf @@ -17,7 +17,6 @@ if (isServer) then { PVDZE_veh_Update = [_unit, "killed",_killer]; _killerVeh = if (vehicle _killer != _killer) then { format["[KILLER IN VEHICLE %1 OF TYPE %2]", (vehicle _killer), (typeOf (vehicle _killer))]; } else {""}; _name = if (alive _killer) then { name _killer; } else { format["OBJECT %1", _killer]; }; - // diag_log format["DAMAGE: Vehicle %1 (TYPE: %2) Killed by player %3 (UID: %4) %5",_unit, (typeOf _unit), _name, (getPlayerUID _killer), _killerVeh]; } else { PVDZE_veh_Update = [_unit, "killed"]; }; diff --git a/SQF/dayz_code/config.cpp b/SQF/dayz_code/config.cpp index 557ad77d0..becabf882 100644 --- a/SQF/dayz_code/config.cpp +++ b/SQF/dayz_code/config.cpp @@ -21,7 +21,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.1; - requiredAddons[] = {"dayz_equip","dayz_weapons","dayz_sfx","CAMisc3","CABuildingParts","CABuildingParts_Signs","CAStructuresHouse","CAStructuresLand_Ind_Stack_Big","CAStructures_Misc_Powerlines","CAStructures","CABuildings","CABuildings2","Ind_MalyKomin","CAStructures_A_CraneCon","CAStructures_Mil","CAStructures_Nav","CAStructures_Rail","A_Crane_02","A_TVTower","CAStructures_Railway","CAStructuresHouse","CAStructuresHouse_HouseBT","asc_eu_lights","gnt_c185"}; + requiredAddons[] = {"dayz_equip","dayz_weapons","dayz_sfx","CAMisc3","CABuildingParts","CABuildingParts_Signs","CAStructuresHouse","CAStructuresLand_Ind_Stack_Big","CAStructures_Misc_Powerlines","CAStructures","CABuildings","CABuildings2","Ind_MalyKomin","CAStructures_A_CraneCon","CAStructures_Mil","CAStructures_Nav","CAStructures_Rail","A_Crane_02","A_TVTower","CAStructures_Railway","CAStructuresHouse","CAStructuresHouse_HouseBT","asc_eu_lights","gnt_c185","usec_ch53"}; }; class DZ_DebriefingRemoved { @@ -41,7 +41,7 @@ class CfgMods hidePicture = 0; hideName = 0; action = "http://www.dayzepoch.com"; - version = "1.0.5"; + version = "1.0.5.2"; hiveVersion = 0.96; //0.93 }; }; diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index 32c683262..2eaf1bdab 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -39,10 +39,11 @@ if (!isDedicated) then { }; player_login = { - private ["_unit","_detail"]; + private ["_unit","_detail","_PUID"]; _unit = _this select 0; _detail = _this select 1; - if(_unit == getPlayerUID player) then { + _PUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; + if(_unit == _PUID) then { player setVariable["publish",_detail]; }; }; @@ -559,6 +560,8 @@ if (!isDedicated) then { if (isServer) then { _unit addEventHandler ["local", {_this call zombie_findOwner}]; }; + _id = _unit addeventhandler["HandleDamage", { _this call local_zombieDamage }]; + _id = _unit addeventhandler["Killed", { [_this, "zombieKills"] call local_eventKill }]; }; dayz_EjectPlayer = { diff --git a/SQF/dayz_code/init/object_BackpackAction.sqf b/SQF/dayz_code/init/object_BackpackAction.sqf index bb0ccdc1f..5be70db1b 100644 --- a/SQF/dayz_code/init/object_BackpackAction.sqf +++ b/SQF/dayz_code/init/object_BackpackAction.sqf @@ -6,12 +6,13 @@ _classname = _this select 2; // Exit if player zombie if(player isKindOf "PZombie_VB") exitWith {}; -_name = getText (configFile >> _type >> _classname >> "displayName"); +if (!isNull _holder) then { + _name = getText(configFile >> _type >> _classname >> "displayName"); + _actionSet = _holder getVariable["actionSet", false]; -_actionSet = _holder getVariable["actionSet", false]; - -if (!_actionSet) then { - s_player_holderPickup = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true]; - player reveal _holder; - _holder setVariable["actionSet", true]; + if (!_actionSet) then { + s_player_holderPickup = _holder addAction [format[(localize "STR_DAYZ_CODE_1"),_name], "\z\addons\dayz_code\actions\object_pickup.sqf",[_type,_classname,_holder], 20, true, true]; + player reveal _holder; + _holder setVariable["actionSet", true]; + }; }; \ No newline at end of file diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 0190f2e56..86468a2e7 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -1,5 +1,7 @@ disableSerialization; - +if (isNil "DayZ_UseSteamID") then { + DayZ_UseSteamID = true; +}; //Model Variables Bandit1_DZ = "Bandit1_DZ"; Bandit2_DZ = "Bandit2_DZ"; @@ -297,7 +299,7 @@ r_action_targets = []; r_pitchWhine = false; r_isBandit = false; isInTraderCity = false; - +NORRN_dropAction = -1; DZE_PROTOBOX = objNull; //ammo routine @@ -386,7 +388,8 @@ DZE_HeliAllowTowFrom = [ "CH_47F_EP1_DZ", "CH_47F_BAF", "CH_47F_EP1", - "BAF_Merlin_DZE" + "BAF_Merlin_DZE", + "CH53_DZE" ]; DZE_HeliAllowToTow = [ @@ -436,7 +439,6 @@ 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 -selfTransfusionTime = time; //time to keep for last self transfusion. if(isNil "DZE_SelfTransfuse") then { DZE_SelfTransfuse = false; @@ -469,7 +471,7 @@ if(isNil "DZEdebug") then { DZEdebug = false; }; if (isNil "DZE_Debug_Damage") then { - DZE_Debug_Damage = true; //enable by default + DZE_Debug_Damage = true; }; if(isNil "DZE_TRADER_SPAWNMODE") then { DZE_TRADER_SPAWNMODE = false; @@ -550,7 +552,7 @@ if(isNil "dayz_zedsAttackVehicles") then { }; // update objects -dayz_updateObjects = ["Plane","Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"]; +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"]; @@ -606,7 +608,15 @@ if(isServer) then { 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"]; }; @@ -664,7 +674,6 @@ if(!isDedicated) then { dayz_guiHumanity = -90000; dayz_firstGroup = group player; dayz_originalPlayer = player; - dayz_playerName = "Unknown"; dayz_sourceBleeding = objNull; dayz_clientPreload = false; dayz_authed = false; @@ -676,18 +685,24 @@ if(!isDedicated) then { 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 + if (isNil "dayz_maxNearByZombies") then { + 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; + if (isNil "dayz_maxGlobalZeds") then { + dayz_maxGlobalZeds = 3000; + }; + if (isNil "dayz_spawnDelay") then { + dayz_spawnDelay = 120; + }; + dayz_spawnWait = -(dayz_spawnDelay); + if (isNil "dayz_lootDelay") then { + dayz_lootDelay = 3; + }; dayz_lootWait = -300; //used to count global zeds around players dayz_CurrentZombies = 0; diff --git a/SQF/dayz_code/medical/init_medical.sqf b/SQF/dayz_code/medical/init_medical.sqf index 6074d2929..5c03aac80 100644 --- a/SQF/dayz_code/medical/init_medical.sqf +++ b/SQF/dayz_code/medical/init_medical.sqf @@ -60,10 +60,6 @@ while {true} do { sleep 1; [] spawn fnc_med_publicBlood; }; - - //Add player actions - [] call fnc_usec_damageActions; - [] call fnc_usec_selfActions; //Low Blood Effects if (!r_player_unconscious) then { diff --git a/SQF/dayz_code/medical/load/load_act.sqf b/SQF/dayz_code/medical/load/load_act.sqf index 0e1f2a07a..557903399 100644 --- a/SQF/dayz_code/medical/load/load_act.sqf +++ b/SQF/dayz_code/medical/load/load_act.sqf @@ -12,7 +12,7 @@ r_action = false; r_action_load = false; call fnc_usec_medic_removeActions; -_dragger removeAction NORRN_loadWoundedAction; +//_dragger removeAction NORRN_loadWoundedAction; if ((_vcl emptyPositions "cargo") > 0) then { diff --git a/SQF/dayz_code/medical/load/unLoad_act.sqf b/SQF/dayz_code/medical/load/unLoad_act.sqf index 787d3ca06..668be19b3 100644 --- a/SQF/dayz_code/medical/load/unLoad_act.sqf +++ b/SQF/dayz_code/medical/load/unLoad_act.sqf @@ -8,7 +8,7 @@ _name = _args select 0; _vcl = _args select 1; _crewVcl = crew _vcl; -_name removeAction NORRN_pullOutAction; +_name removeAction (_this select 2); for [{ _loop = 0 },{ _loop < count _crewVcl },{ _loop = _loop + 1}] do { diff --git a/SQF/dayz_code/medical/publicEH/medMorphine.sqf b/SQF/dayz_code/medical/publicEH/medMorphine.sqf index 13016cb7b..018ac87b9 100644 --- a/SQF/dayz_code/medical/publicEH/medMorphine.sqf +++ b/SQF/dayz_code/medical/publicEH/medMorphine.sqf @@ -16,5 +16,5 @@ if ((_unit == player) || (vehicle player != player)) then { _control = _display displayCtrl 1203; _control ctrlShow false; - _id = false spawn dayz_disableRespawn; + // _id = false spawn dayz_disableRespawn; }; \ No newline at end of file diff --git a/SQF/dayz_code/medical/publicEH/medTransfuse.sqf b/SQF/dayz_code/medical/publicEH/medTransfuse.sqf index 610eb6c02..b57bf3146 100644 --- a/SQF/dayz_code/medical/publicEH/medTransfuse.sqf +++ b/SQF/dayz_code/medical/publicEH/medTransfuse.sqf @@ -5,14 +5,19 @@ _unit = _this select 0; _rndInfection = (random 15); _TransfusionInfection = (_rndInfection < 1); if (_unit == player) then { - if ((count _this) > 1) then { + if (((count _this) > 1) && {(typeName (_this select 1)) == "ARRAY"}) then { //DO NOT TOUCH THE CODE BRACKETS! _selfTransValues = _this select 1; - r_player_blood = (_selfTransValues select 0); - _TransfusionInfection = ((random (_selfTransValues select 1)) < 1); + r_player_blood = r_player_blood + (_selfTransValues select 0); + if (r_player_blood > 12000) then {r_player_blood = 12000;}; + if ((_selfTransValues select 1) < 0) then { + _TransfusionInfection = false; + } else { + _TransfusionInfection = ((random (_selfTransValues select 1)) < 1); + }; } else { r_player_blood = r_player_bloodTotal; }; - r_player_lowblood = false; + r_player_lowblood = false; 10 fadeSound 1; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; "colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; @@ -27,5 +32,5 @@ if (_unit == player) then { _control = _display displayCtrl 1300; _control ctrlShow true; - player setVariable["USEC_BloodQty",r_player_bloodTotal,true]; + player setVariable["USEC_BloodQty",r_player_blood,true]; }; \ No newline at end of file diff --git a/SQF/dayz_code/system/BIS_Effects/secondaries.sqf b/SQF/dayz_code/system/BIS_Effects/secondaries.sqf index fe3f98665..4cfd810e1 100644 --- a/SQF/dayz_code/system/BIS_Effects/secondaries.sqf +++ b/SQF/dayz_code/system/BIS_Effects/secondaries.sqf @@ -24,4 +24,4 @@ while {_int>1} do sleep _x; if((_lifecheck&&(alive _v))||(isnull _v)||(((getposASL _v)select 2)<0))exitwith{}; createVehicle ["SmallSecondary", (_v modelToWorld _effect2pos), [], 0, "CAN_COLLIDE"]; -}count(_list); \ No newline at end of file +}forEach(_list); \ No newline at end of file diff --git a/SQF/dayz_code/system/antihack.sqf b/SQF/dayz_code/system/antihack.sqf index 3bba37335..8e279bc9c 100644 --- a/SQF/dayz_code/system/antihack.sqf +++ b/SQF/dayz_code/system/antihack.sqf @@ -2,14 +2,14 @@ Anti-Teleport - Created By Razor / Refactored By Alby & CopyPasted to Epoch by Skaronator */ -private ["_log","_playerName","_playerUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"]; +private ["_log","_playerName","_playerUID","_PUID","_al1veOnce","_debug","_lastpos","_lastheight","_lasttime","_lastVehicle","_v","_h","_topv","_toph","_curpos","_distance","_acceptableDistance","_curtime","_difftime","_plant","_curheight","_speed","_topSpeed","_terrainHeight","_differenceCheck","_lastPosVar","_safetyVehicle","_curPos"]; waitUntil {vehicle player == player}; [] spawn { private ["_playerName","_playerUID"]; _playerName = name player; - _playerUID = getPlayerUID player; + _playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; while {1 == 1} do { if (typeName player != "OBJECT") then { PVDZE_atp = format["WARNING typename error for player UID#%1", _playerUID]; @@ -24,7 +24,7 @@ waitUntil {vehicle player == player}; [] spawn { _playerName = name player; - _playerUID = getPlayerUID player; + _playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; while {true} do { sleep 5; }; @@ -34,7 +34,29 @@ waitUntil {vehicle player == player}; sleep 10; }; -_al1veOnce = false; +[] spawn { + _al1veOnce = false; + if (!_al1veOnce) then { + private [ "_loc", "_plant","_debug"]; + _debug = getMarkerpos "respawn_west"; + // check that plants libs are properly loaded + // thanks to Tansien the great + // run only once per character life + { + _plant = _x createVehicleLocal _debug; + sleep 0.1; + if (sizeOf _x == 0) exitWith { + PVDZE_atp = "Plants texture hack for type " + _x; + publicVariableServer "PVDZE_atp"; + endMission "LOSER"; + }; + deleteVehicle _plant; + } count ["grass", "prunus", "picea", "fallentree", "phragmites", "acer", "amygdalusn", "Brush", "fiberplant", "amygdalusc", "boulder"]; + diag_log format [ "%1: Plants libs tests done!", __FILE__]; + }; + _al1veOnce = true; +}; + while {1 == 1} do { _debug = getMarkerpos "respawn_west"; _lastpos = getPosATL (vehicle player); @@ -53,71 +75,38 @@ while {1 == 1} do { _distance = _lastpos distance _curpos; _curtime = diag_ticktime; _difftime = _curtime - _lasttime; + _acceptableDistance = if (_lastVehicle isKindOf "Plane") then { 15; } else { 10; }; - if ((_distance > 10) || {(_difftime > 1)}) then { - if (!_al1veOnce) then { - private [ "_loc", "_plant"]; - // check that plants libs are properly loaded - // thanks to Tansien the great - // run only once per character life - { - _plant = _x createVehicleLocal _debug; - sleep 0.1; - if (sizeOf _x == 0) exitWith { - PVDZE_atp = "Plants texture hack for type " + _x; - publicVariableServer "PVDZE_atp"; - endMission "LOSER"; - }; - deleteVehicle _plant; - } count ["grass", "prunus", "picea", "fallentree", "phragmites", "acer", "amygdalusn", "Brush", "fiberplant", "amygdalusc", "boulder"]; - diag_log format [ "%1: Plants libs tests done!", __FILE__]; - }; - _al1veOnce = true; + if ((_distance > _acceptableDistance) || {(_difftime > 1)}) then { _curheight = (ATLtoASL _curpos) select 2; _speed = _distance / _difftime; - _topSpeed = 10; - + _topSpeed = if (_acceptableDistance == 15) then { 20; } else { 10; }; if (vehicle player != player) then { - _topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) min 500; + if (_acceptableDistance == 15) then { + _topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) max 500; + } else { + _topSpeed = (getNumber (configFile >> "CfgVehicles" >> typeOf (vehicle player) >> "maxSpeed")) min 500; + }; }; - _terrainHeight = getTerrainHeightASL [_curpos select 0, _curpos select 1]; - _safetyVehicle = vehicle player; - if (_lastVehicle == vehicle player) then { if ((_speed > _topSpeed) && (alive player) && ((driver (vehicle player) == player) || (isNull (driver (vehicle player)))) && (_debug distance _lastpos > 3000) && !((vehicle player == player) && (_curheight < _lastheight) && ((_curheight - _terrainHeight) > 1))) then { (vehicle player) setposATL _lastpos; - //PVDZE_atp = [name player, dayz_characterID, _lastpos, _curPos, getPosATL player]; - PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", getPlayerUID player, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player]; + _PUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;}; + PVDZE_atp = format["TELEPORT REVERT for player UID#%1 from %2 to %3, %4 meters, now at %5", _PUID, _lastpos, _curPos, round(_lastpos distance _curpos), getPosATL player]; publicVariableServer "PVDZE_atp"; } else { _lastpos = _curpos; _lastheight = _curheight; }; - _lasttime = _curtime; }; - if (_safetyVehicle == vehicle player) then { _lastVehicle = vehicle player; }; }; - /*if ((animationState player) != "HaloFreeFall_non") then { - // freefall detection: - _v = -((velocity player) select 2); - _h = (getPosATL player) select 2; - if (_v > 4 && _h > 3) then { - _topv = _topv max _v; - _toph = _toph max _h; - Dayz_freefall = [ time, _toph, _topv ]; - } - else { - _topv = 0; - _toph = 0; - }; - };*/ sleep 0.25; }; sleep 0.1; diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm index dd04ffbf8..a2f7961b3 100644 --- a/SQF/dayz_code/system/player_monitor.fsm +++ b/SQF/dayz_code/system/player_monitor.fsm @@ -60,7 +60,7 @@ item55[] = {"get_ready_to_clo",2,250,400.000000,400.000000,500.000000,450.000000 item56[] = {"sleep_",4,218,550.000000,400.000000,650.000000,450.000000,0.000000,"sleep" \n ""}; item57[] = {"Disconnect",2,250,825.000000,400.000000,925.000000,450.000000,0.000000,"Disconnect"}; item58[] = {"No_time_date",4,218,25.000000,1150.000000,125.000000,1200.000000,0.000000,"No time/date"}; -item59[] = {"ERROR__No_Date_or",2,250,175.000000,1150.000000,275.000000,1200.000000,0.000000,"ERROR:" \n "No Date || Time"}; +item59[] = {"ERROR__No_Date_",2,250,175.000000,1150.000000,275.000000,1200.000000,0.000000,"ERROR:" \n "No Date || Time"}; item60[] = {"Too_Long",4,218,300.000000,1150.000000,400.000000,1200.000000,0.000000,"Too" \n "Long"}; item61[] = {"get_ready_to_clo_1",2,250,450.000000,800.000000,550.000000,850.000000,0.000000,"get ready to close"}; item62[] = {"sleep_",4,218,600.000000,800.000000,700.000000,850.000000,0.000000,"sleep" \n ""}; @@ -169,8 +169,8 @@ link85[] = {75,57}; link86[] = {76,78}; link87[] = {77,76}; link88[] = {78,57}; -globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-772.896301,771.877197,613.135803,-671.376831,864,612,1}; -window[] = {0,-1,-1,-1,-1,862,104,1593,104,1,882}; +globals[] = {25.000000,1,0,0,0,640,480,1,143,6316128,1,-648.860474,646.549011,954.039734,36.458042,864,612,1}; +window[] = {0,-1,-1,-32000,-32000,1018,260,1749,260,1,882}; *//*%FSM*/ class FSM { @@ -408,7 +408,7 @@ class FSM "" \n "progressLoadingScreen 0.3;" \n "" \n - "_playerUID = getPlayerUID player;"/*%FSM*/; + "_playerUID = if (DayZ_UseSteamID) then {GetPlayerUID player;} else {GetPlayerUIDOld player;};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -638,11 +638,17 @@ class FSM name = "Phase_One"; init = /*%FSM*/"if ((!isNil ""DZE_defaultSkin"") && _isNew && (_isInfected == 0)) then {" \n " if (dayz_selectGender == ""Survivor2_DZ"") then {" \n - " _rand = floor(random (count (DZE_defaultSkin select 0)));" \n - " _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 0) select _rand) >> ""playerModel""); //MALE" \n + " _rand = (DZE_defaultSkin select 0) call BIS_fnc_selectRandom;" \n + " _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //MALE" \n + " if (_model == """") then {" \n + " _model = _rand;" \n + " };" \n " } else {" \n - " _rand = floor(random (count (DZE_defaultSkin select 1)));" \n - " _model = getText (configFile >> ""CfgSurvival"" >> ""Skins"" >> ((DZE_defaultSkin select 1) select _rand) >> ""playerModel""); //FEMALE" \n + " _rand = (DZE_defaultSkin select 1) call BIS_fnc_selectRandom;" \n + " _model = getText (configFile >> ""CfgMagazines"" >> ""Skins"" >> _rand >> ""playerModel""); //FEMALE" \n + " if (_model == """") then {" \n + " _model = _rand;" \n + " };" \n " };" \n "};" \n "" \n @@ -1198,6 +1204,7 @@ class FSM "player allowDamage true;" \n "player enableSimulation true;" \n "0 cutText ["""", ""BLACK IN"",3];" \n + "dayz_playerName = name player;" \n "" \n "//Add core tools" \n "player addWeapon ""Loot"";" \n @@ -1212,6 +1219,7 @@ class FSM "r_player_cardiac = player getVariable[""USEC_isCardiac"",false];" \n "r_player_lowblood = player getVariable[""USEC_lowBlood"",false];" \n "r_player_blood = player getVariable[""USEC_BloodQty"",r_player_bloodTotal];" \n + "selfTransfusionTime = time; //time to keep for last self transfusion." \n "" \n """colorCorrections"" ppEffectEnable true;" \n """colorCorrections"" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1 min (4*r_player_blood/3/r_player_bloodTotal)], [1, 1, 1, 0.0]];" \n @@ -1312,7 +1320,7 @@ class FSM class No_time_date { priority = 0.000000; - to="ERROR__No_Date_or"; + to="ERROR__No_Date_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil ""PVDZE_plr_SetDate"""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; @@ -1375,7 +1383,7 @@ class FSM priority = 2.000000; to="ERROR__version_c"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_myEpochAnim != ""1.0.5"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.5"") || (_myEpochSfx != ""1.0.5"") || (_myEpochDayZ != ""1.0.5"")"/*%FSM*/; + condition=/*%FSM*/"(_myEpochAnim != ""1.0.5"") || (_myEpoch != ""1.0.4.2"") || (_myEpochB != ""1.0.5.2"") || (_myEpochSfx != ""1.0.5"") || (_myEpochDayZ != ""1.0.5"")"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ @@ -1575,10 +1583,10 @@ class FSM }; }; /*%FSM*/ - /*%FSM*/ - class ERROR__No_Date_or + /*%FSM*/ + class ERROR__No_Date_ { - name = "ERROR__No_Date_or"; + name = "ERROR__No_Date_"; init = /*%FSM*/"endLoadingScreen;" \n "selectNoPlayer;" \n "_myTime = diag_tickTime;" \n diff --git a/SQF/dayz_code/system/player_spawn_1.sqf b/SQF/dayz_code/system/player_spawn_1.sqf index 0501c40ee..82a4bb740 100644 --- a/SQF/dayz_code/system/player_spawn_1.sqf +++ b/SQF/dayz_code/system/player_spawn_1.sqf @@ -1,47 +1,75 @@ private ["_handle","_cursor","_delMe","_first","_town","_day","_world","_nearestCity"]; +_timer = diag_tickTime; +_timer1 = diag_tickTime; +_spawnCheck = diag_tickTime; +_timer2 = diag_Ticktime; +_NewDay = diag_tickTime; + while {true} do { - _handle = [] spawn player_animalCheck; - waitUntil{scriptDone _handle}; + //add player actions + if ((diag_tickTime - _timer2) > 0.5) then { + [] call fnc_usec_damageActions; + [] call fnc_usec_selfActions; + _timer2 = diag_Ticktime; + }; + + if ((diag_tickTime - _timer) > 300) then { + //Other Counters + dayz_currentGlobalAnimals = count entities "CAAnimalBase"; + dayz_currentGlobalZombies = count entities "zZombie_Base"; + + //Animals + [] spawn player_animalCheck; + + _timer = diag_tickTime; + }; - //check monitored buildings - _cursor = 0; - _delMe = false; - { - private["_bPos","_isNoone"]; - _bPos = getPosATL _x; - _isNoone = {isPlayer _x} count (_bPos nearEntities ["Man",200]) == 0; - if (_isNoone) then { - _x setVariable ["zombied",objNull,true]; - dayz_buildingMonitor set [_cursor,"DEL"]; - _delMe = true; - }; - _cursor = _cursor + 1; - } count dayz_buildingMonitor; - if (_delMe) then { - dayz_buildingMonitor = dayz_buildingMonitor - ["DEL"]; + if ((diag_tickTime - _timer1) > 60) then { + _position = getPosATL player; + //Current amounts + dayz_spawnZombies = {alive _x AND local _x} count (_position nearEntities ["zZombie_Base",200]); + dayz_CurrentNearByZombies = {alive _x} count (_position nearEntities ["zZombie_Base",200]); + dayz_currentWeaponHolders = count (_position nearObjects ["ReammoBox",100]); + + _timer1 = diag_tickTime; + }; + + //spawning system + if ((diag_tickTime - _spawnCheck) > 14) then { + ["both"] spawn player_spawnCheck; + + _spawnCheck = diag_tickTime; }; //Check if new day - _day = round(360 * (dateToNumber date)); - if(dayz_currentDay != _day) then { - dayz_sunRise = call world_sunRise; - dayz_currentDay = _day; - }; + if ((diag_tickTime - _NewDay) > 5) then { + private "_day"; + _day = round(360 * (dateToNumber date)); + if(dayz_currentDay != _day) then { + dayz_sunRise = call world_sunRise; + dayz_currentDay = _day; + + + }; - _world = toUpper(worldName); //toUpper(getText (configFile >> "CfgWorlds" >> (worldName) >> "description")); - _nearestCity = nearestLocations [([player] call FNC_GetPos), ["NameCityCapital","NameCity","NameVillage","NameLocal"],300]; - - if (count _nearestCity > 0) then { - _town = text (_nearestCity select 0); - if(dayz_PreviousTown == "Wilderness") then { + _NewDay = diag_tickTime; + + _world = toUpper(worldName); //toUpper(getText (configFile >> "CfgWorlds" >> (worldName) >> "description")); + _nearestCity = nearestLocations [([player] call FNC_GetPos), ["NameCityCapital","NameCity","NameVillage","NameLocal"],300]; + + if (count _nearestCity > 0) then { + _town = text (_nearestCity select 0); + if(dayz_PreviousTown == "Wilderness") then { + dayz_PreviousTown = _town; + }; + if(_town != dayz_PreviousTown) then { + _first = [_world,_town,""] spawn BIS_fnc_infoText; + }; dayz_PreviousTown = _town; }; - if(_town != dayz_PreviousTown) then { - _first = [_world,_town,""] spawn BIS_fnc_infoText; - }; - dayz_PreviousTown = _town; + }; //wait - sleep 5; + sleep 0.001; }; \ No newline at end of file diff --git a/SQF/dayz_epoch_b/CfgLootPos.hpp b/SQF/dayz_epoch_b/CfgBuildingPos.hpp similarity index 94% rename from SQF/dayz_epoch_b/CfgLootPos.hpp rename to SQF/dayz_epoch_b/CfgBuildingPos.hpp index 430a89d81..cd522fdef 100644 --- a/SQF/dayz_epoch_b/CfgLootPos.hpp +++ b/SQF/dayz_epoch_b/CfgBuildingPos.hpp @@ -144,12 +144,12 @@ class Land_HouseB_Tenement: Office { lootPosZombie[] = {{-10.75,5.90088,-19.9095},{-9.99756,5.92529,-19.9095},{-8.12207,5.97852,-19.9095},{-7.31445,6.00879,-19.9095},{5.53882,10.6328,-19.9095},{4.28247,8.729,-19.9095}}; lootPosSmall[] = {{-1.7771,4.57861,-19.8245},{-0.338623,4.80322,-19.8245},{-11.0986,-0.365234,-20.3445},{2.38574,5.15869,-20.2245},{14.2202,4.91895,-20.3945},{6.7251,11.6895,-20.3445},{3.2915,-1.90088,-20.3445},{12.9602,10.0479,-20.8045},{13.3726,0.939453,-20.8045}}; }; -class Land_A_Hospital: hospital { - lootChance = 0.8; - lootPos[] = {{6.34253,-2.0498,-7.34966},{1.20044,-3.17676,-7.34966},{-6.09375,-1.32227,-7.34966},{-12.1106,-1.1416,-7.34966}}; - lootPosZombie[] = {{-1.05542,-7.77393,-6.57103},{1.37695,-7.51074,-6.57103},{-18.5427,-3.37891,-6.57896},{-1.56226,3.03711,-6.57103},{13.3225,3.51172,-6.57103},{20.2839,-3.38281,-6.58154}}; - lootPosSmall[] = {{-13.2749,-1.99512,-7.34966},{-11.0256,-2.84473,-6.89966},{-14.729,-1.21484,-7.34966},{-4.55444,-3.34229,-6.35966},{-1.68921,-4.03125,-6.35966},{2.29761,-3.49756,-6.75966},{2.92163,-0.976074,-6.89966},{4.47095,-0.858887,-7.34966},{7.62231,-0.94873,-7.34966},{9.41187,-0.902832,-6.89966},{16.623,-3.96729,-6.89966},{-15.7454,-0.918945,-6.89966}}; +class land_a_hospital: hospital { + lootPos[] = {{17.665,-4.67188,-7.2566},{-20.7139,-1.48047,-7.2566},{-15.6924,8.60889,-7.2566},{-15.6064,1.95557,-6.8266},{-16.2139,2.27051,-7.2566},{-8.68652,4.19189,-3.7576},{14.2441,-3.98535,-3.7576},{21.5693,5.16455,1.19051},{18.3779,2.40869,6.2524},{-15.3359,-1.25439,3.40458},{-20.3252,0.410156,-3.82761}}; + lootPosZombie[] = {{9.84473,0.953613,-6.3816},{0.540039,1.20801,-6.3816},{-20.7822,1.93555,-6.3816},{-9.54004,8.61279,-6.3816},{15.8838,3.41699,-2.8826},{-8.08691,1.40674,-2.8826},{11.0088,-1.44775,-2.8826}}; + lootPosSmall[] = {{9.97754,-0.814453,-7.2566},{-19.6143,1.83887,-7.1666},{-19.6055,1.6084,-6.7866},{-19.583,4.91748,-6.7866},{-19.5576,4.7417,-6.0266},{-22.1982,9.59033,-7.2566},{-12.3379,9.53857,-6.8266},{-3.23438,6.01758,-6.8266},{-13.626,3.04248,-6.0466},{2.86426,-1.68604,-6.6466},{-5.58594,1.38232,-3.7576},{-4.05762,-2.48584,-3.7576},{-11.8428,5.15576,-2.5976},{-5.57129,-3.17236,-2.5976},{-5.65332,5.01416,-2.5976},{-12.5439,-2.33838,-3.6876},{-12.5801,-1.32617,-3.3076},{-12.5928,-1.56299,-2.9276},{-12.6162,-2.24805,-2.1676},{-12.5654,2.4126,-2.5476},{14.8721,3.96875,3.66054},{16.9033,-1.33838,4.01669},{21.3174,4.88916,6.2524},{-4.00488,7.89893,-3.82761}}; }; + class Land_Panelak: Office { lootPos[] = {{-3.76709,-5.5791,0.0714226},{-6,-5.1709,0.0714226},{-4.86719,-3.30518,0.0714226},{-5.75098,1.51172,0.0714226},{3.95483,-4.83008,2.77144},{4.8728,1.51855,2.77144},{6.07324,-5.4668,2.77144}}; lootPosZombie[] = {{0.657227,-3.12109,0.946423},{-2.28564,-6.88281,0.946423},{-6.31055,-5.41943,0.946423},{-4.51709,3.01758,0.946423},{-0.828613,-3.01465,3.64644},{2.23975,-6.20801,3.64644},{6.84961,-4.8125,3.64644},{4.64917,2.84668,3.64644},{4.59229,-2.55957,3.64644}}; @@ -257,10 +257,12 @@ class Land_Mil_Barracks_i: MilitarySpecial { class Land_A_TVTower_Base: Industrial { lootPos[] = {{-0.982422,-1.92627,-2.21573},{-2.01782,-4.2417,-2.21918},{-0.759277,1.42139,-2.21573}}; }; -class Land_Mil_House: Military { - vehPos[] = {{13.439,3.25244,-5.71244,84}}; - lootPos[] = {{12.457,1.4248,-5.81439},{11.0391,4.85278,-5.81439},{13.667,4.42139,-5.81439}}; +class land_mil_house: Military { + lootPos[] = {{-14.3345,1.24414,-4.94623},{-7.87842,1.45117,-4.15622},{-7.77686,-5.34277,-0.88623},{-4.43506,-5.33594,-0.88623}}; + lootPosZombie[] = {{-11.2925,2.85059,-4.03122},{-9.33154,-1.83496,-4.03122},{-10.5005,-4.77051,-0.0112305},{-2.37695,-1.71973,-0.0112305}}; + lootPosSmall[] = {{-10.4692,4.4082,-4.94623},{-10.3696,1.2627,-4.46622},{-6.47998,4.92871,-4.98621},{-13.3208,-0.803711,-4.98621},{-13.791,-6.27832,-0.88623},{-13.2046,-5.36426,-0.196228},{-9.45166,-6.02832,-0.88623},{-0.253418,-4.12402,-0.88623},{-4.75635,-0.0224609,-0.88623},{-6.02002,-0.0410156,-0.426239},{-2.28857,0.575195,-0.876221}}; }; + class Land_Misc_Cargo1Ao: Industrial { lootPos[] = {{0.48877,-1.61377,-1.09224},{0.012207,2.19263,-1.09224},{0.00976563,0.19043,-1.09224}}; }; @@ -305,8 +307,9 @@ class Land_A_Castle_Gate: Residential { lootPos[] = {{0.244141,-4.48486,-3.14362},{-1.25293,2.98779,-3.07028},{4.50684,-3.31152,-2.94885},{4.55176,3.29834,-2.94858},{7.94824,1.4082,-2.91003}}; }; // Qty: 3 class Land_Mil_Barracks: Military { - lootPos[] = {}; - lootPosZombie[] = {{9.02515,-0.694336,-1.16602},{9.01538,0.856445,-1.16602}}; + lootPos[] = {{-0.891113,-3.48926,-1.51633},{-1.09204,2.88672,-1.51633},{-3.55591,3.42871,-1.51633},{-6.31299,3.7041,-1.51633},{-7.68262,-3.54102,-1.93634},{-5.11475,-2.09961,-1.93634},{0.24707,3.57324,-1.93634},{6.72217,-2.47949,-1.93634},{5.41602,3.99316,-1.93634},{-6.34912,3.90137,-0.726349},{-3.58691,2.8252,-0.726349},{-1.04224,3.39941,-0.726349},{-3.75195,-3.25977,-0.726349},{-0.864746,-3.88672,-0.726349},{-3.52563,-2.44824,-1.93634},{-6.06396,2.57422,-1.93634},{-0.935059,-4.05078,-1.93634},{-1.39502,3.89941,-1.93634}}; + lootPosZombie[] = {{-2.15845,-3.12793,-1.06134},{2.13281,3.24316,-1.06134},{-6.20679,-0.125,-1.06134},{2.09521,-3.36719,-1.06134}}; + lootPosSmall[] = {{-6.45703,2.03125,-1.79633},{-3.5127,1.98242,-1.79633},{-1.14746,1.9873,-1.79633},{-0.911621,-1.87598,-1.79633},{-3.81567,-1.90234,-1.79633},{-6.5249,-1.86426,-1.79633},{3.78979,-4.17773,-1.13635},{5.32861,-4.19043,-1.13635},{5.20923,-1.99805,-1.65634},{6.54175,-1.99707,-1.65634},{3.82324,-1.96582,-1.65634},{6.89209,2.93457,-1.84634},{6.98877,1.95215,-1.84634},{6.98291,2.23145,-1.46634},{7.00391,2.73438,-1.46634},{6.96729,3.01953,-1.08633},{6.94824,2.04785,-0.706329},{4.36768,3.13086,-0.396332},{3.86768,3.49316,-0.396332},{3.84521,3.49609,-1.86633},{4.33984,3.1748,-1.86633}}; }; // Qty: 8 class Land_Mil_Barracks_L: Military { lootPos[] = {}; @@ -540,28 +543,33 @@ class GraveCrossHelmet: Military { maxRoaming = 4; }; -class Land_HouseV_1L2: Residential { - maxRoaming = 3; - lootPosZombie[] = {{-2.88257,4.3457,-2.1376},{2.77734,-5.9126,-2.14038}}; - lootPosSmall[] = {{0.183594,-5.47998,-1.08436}}; -}; // Qty: 101 - -class Land_Misc_PowerStation: Industrial { - lootPos[] = {{4.22314,1.09888,-1.2678}}; - lootPosZombie[] = {{3.88232,-2.35083,-0.393564},{-6.12842,3.4292,-1.1761}}; - lootPosSmall[] = {{3.67725,4.86694,-1.2576}}; +class land_housev_1l2: Residential { + lootPos[] = {{-2.58887,-4.8584,-0.789368},{-2.58887,-4.8584,-0.789368},{-2.37646,0.373047,-0.799377}}; + lootPosZombie[] = {{1.88721,-3.35938,0.0856323},{1.88721,-3.35938,0.0856323},{1.68408,-0.298828,0.0856323}}; + lootPosSmall[] = {{-1.37354,-3.26465,-0.789368},{4.48389,-3.06348,0.0406189},{4.53271,-3.61328,0.590637},{-1.37354,-3.26465,-0.789368},{4.48389,-3.06348,0.0406189},{4.53271,-3.61328,0.590637},{4.29126,-1.02441,0.0606384},{-0.199707,3.28711,-2.9292}}; }; -class Land_HouseV_3I3: HouseRoaming{ - lootPosZombie[] = {{0.915527,3.53455,-1.24826},{4.38135,3.39111,-1.36197}}; +class land_misc_powerstation: Industrial { + lootPos[] = {{2.98767,-5.02051,1.54777},{3.67371,5.62207,-2.04407}}; + lootPosZombie[] = {{-1.06372,6.63672,-1.11913},{0.224365,-2.4873,-0.377583},{-0.857544,3.08789,-1.11905}}; + lootPosSmall[] = {{4.92017,6.24707,-1.26179},{1.62573,-6.4541,-1.13445},{1.33667,-6.37207,-0.374413},{-3.20825,-6.50195,0.315748},{-3.84949,-6.2627,-1.16402},{-1.35608,-6.3877,-0.374122},{-0.895142,-6.39453,-0.37413},{2.30383,2.21387,-2.04394},{0.0808105,-0.0566406,-1.204},{1.98657,3.49121,-0.623982}}; }; -class Land_Mil_Guardhouse: Military { - lootPos[] = {{-2.43457,3.06396,-1.69939},{-2.36816,-0.151855,-1.69939}}; - lootPosZombie[] = {{-2.56885,0.749512,-0.794393},{5.69531,0.884766,-1.12091}}; - lootPosSmall[] = {{-2.14746,1.94531,-1.69939}}; + +class land_housev_3i3: Residential { + lootPos[] = {{-4.2334,0.291992,-1.47064},{1.10059,-2.99854,-0.790649},{3.53027,-2.34033,-1.74265}}; + lootPosZombie[] = {{-4.18457,-1.68164,-0.525635},{0.419922,-1.00781,-0.525635},{4.35059,-1.37939,-0.98764}}; + lootPosSmall[] = {{-4.85645,0.550293,-0.340637},{2.21289,0.783691,-0.160645},{-0.833008,0.554199,-0.620636},{1.79785,-2.99902,-1.09064},{5.06055,-2.68164,-1.56265}}; }; + +class land_mil_guardhouse: Military { + lootPos[] = {{4.65381,-3.61914,-1.46277},{2.99756,3.54102,-0.712769}}; + lootPosZombie[] = {{-1.73193,-1.90625,-0.56778},{3.26025,-1.55859,-0.56778}}; + lootPosSmall[] = {{-0.798828,-3.51758,-1.46277},{3.73047,-3.95996,-1.32278},{-0.283203,-3.15723,-1.32278},{-0.996582,3.81445,-1.14279},{-1.33008,2.26563,-0.762787},{0.289063,3.66211,-0.0827942},{-1.17383,-0.112305,-1.48279}}; +}; + + // DAYZ AMP More buildings class Land_Shed_W02_EP1: FarmRoaming{}; class Land_MBG_ApartmentsOne_W: HouseRoaming{}; @@ -687,10 +695,12 @@ class Land_Mil_Repair_center_EP1: Industrial class Land_Ind_PowerStation_EP1: Industrial { lootPos[] = {{4.04248,-3.4917,-1.26547},{3.8645,3.5249,-1.28112}}; }; -class land_repair_center: Industrial { - lootPosZombie[] = {{0.629883,-3.35498,-1.64651},{-2.61719,3.68213,-0.653473}}; - lootPosSmall[] = {{-2.52832,1.68213,-1.54846}}; +class land_repair_center: Industrial { + lootPos[] = {{0.327148,1.65479,-2.37888},{-2.35547,-0.163574,-1.71927},{-2.41016,4.45654,-1.71927}}; + lootPosZombie[] = {{0.982422,-0.634277,-1.51389}}; + lootPosSmall[] = {{1.80469,2.01709,-1.6489},{1.60352,4.57178,-0.862885},{0.771484,4.55713,-0.48288},{1.56348,4.50439,-1.24289}}; }; + class Land_Ind_TankBig: Industrial { lootChance = 0.1; diff --git a/SQF/dayz_epoch_b/config.cpp b/SQF/dayz_epoch_b/config.cpp index 309d47178..5997d97e2 100644 --- a/SQF/dayz_epoch_b/config.cpp +++ b/SQF/dayz_epoch_b/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.1; - dayzVersion = "1.0.5"; + dayzVersion = "1.0.5.2"; requiredAddons[] = {"dayz_code"}; }; }; \ No newline at end of file diff --git a/SQF/dayz_server/compile/fnc_plyrHit.sqf b/SQF/dayz_server/compile/fnc_plyrHit.sqf index 6fa4d8706..35843aa71 100644 --- a/SQF/dayz_server/compile/fnc_plyrHit.sqf +++ b/SQF/dayz_server/compile/fnc_plyrHit.sqf @@ -4,7 +4,9 @@ _attacker = _this select 1; _damage = _this select 2; if (!isPlayer _victim || !isPlayer _attacker) exitWith {}; -if ((owner _victim) == (owner _attacker)) exitWith {}; +if ((owner _victim) == (owner _attacker)) exitWith { + _victim setVariable["AttackedBy", _victim, true]; +}; _weapon = weaponState _attacker; if (_weapon select 0 == "Throw") then diff --git a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf index b4b73f064..46382d3d3 100644 --- a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf +++ b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf @@ -1,10 +1,11 @@ -private ["_invehicle","_isplayernearby","_playerObj","_myGroup","_id","_playerUID","_playerName","_characterID","_timeout","_message","_magazines","_playerPos"]; +private ["_invehicle","_isplayernearby","_playerObj","_myGroup","_PUID","_id","_playerUID","_playerName","_characterID","_timeout","_message","_magazines","_playerPos"]; _playerUID = _this select 0; _playerName = _this select 1; _playerObj = nil; _playerPos = []; { - if ((getPlayerUID _x) == _playerUID) exitWith {_playerObj = _x;}; + _PUID = if (DayZ_UseSteamID) then {GetPlayerUID _x;} else {GetPlayerUIDOld _x;}; + if (_PUID == _playerUID) exitWith {_playerObj = _x;}; } count playableUnits; if (isNil "_playerObj") then { @@ -17,8 +18,8 @@ if (isNil "_playerObj") then { if (isNil "_playerObj") exitWith { diag_log format["%1: nil player object, _this:%2", __FILE__, _this]; }; - -diag_log format["get: %1 (%2), sent: %3 (%4)",typeName (getPlayerUID _playerObj), getPlayerUID _playerObj, typeName _playerUID, _playerUID]; +_PUID = if (DayZ_UseSteamID) then {GetPlayerUID _playerObj;} else {GetPlayerUIDOld _playerObj;}; +diag_log format["get: %1 (%2), sent: %3 (%4)",typeName _PUID, _PUID, typeName _playerUID, _playerUID]; if (!isNull _playerObj) then { diff --git a/SQF/dayz_server/compile/server_playerDied.sqf b/SQF/dayz_server/compile/server_playerDied.sqf index 1ca812c00..8c17c7d4c 100644 --- a/SQF/dayz_server/compile/server_playerDied.sqf +++ b/SQF/dayz_server/compile/server_playerDied.sqf @@ -5,8 +5,11 @@ _minutes = _this select 1; _newObject = _this select 2; _playerID = _this select 3; _infected = _this select 4; -_victimName = name _newObject; - +if (((count _this) >= 6) && {(typeName (_this select 5)) == "STRING"} && {(_this select 5) != ""}) then { + _victimName = _this select 5; +} else { + _victimName = if (alive _newObject) then {name _newObject;} else {"";}; +}; _victim = _newObject; _newObject setVariable ["bodyName", _victimName, true]; @@ -15,12 +18,12 @@ _killerName = _victim getVariable["AttackedByName", "nil"]; // when a zombie kills a player _killer, _killerName && _weapon will be "nil" // we can use this to determine a zombie kill && send a customized message for that. right now no killmsg means it was a zombie. -if (_killerName != "nil") then +if ((typeName _killer) != "STRING") then { _weapon = _victim getVariable["AttackedByWeapon", "nil"]; _distance = _victim getVariable["AttackedFromDistance", "nil"]; - if (_victimName == _killerName) then + if ((owner _victim) == (owner _killer)) then { _message = format["%1 killed himself",_victimName]; _loc_message = format["PKILL: %1 killed himself", _victimName]; diff --git a/SQF/dayz_server/compile/server_playerLogin.sqf b/SQF/dayz_server/compile/server_playerLogin.sqf index a68bef20c..9e067d30f 100644 --- a/SQF/dayz_server/compile/server_playerLogin.sqf +++ b/SQF/dayz_server/compile/server_playerLogin.sqf @@ -28,7 +28,7 @@ _isInfected = 0; _model = ""; if (_playerID == "") then { - _playerID = getPlayerUID _playerObj; + _playerID = if (DayZ_UseSteamID) then {GetPlayerUID _playerObj;} else {GetPlayerUIDOld _playerObj;}; }; if ((_playerID == "") || (isNil "_playerID")) exitWith { diff --git a/SQF/dayz_server/compile/server_playerSetup.sqf b/SQF/dayz_server/compile/server_playerSetup.sqf index f00e12037..c749e8665 100644 --- a/SQF/dayz_server/compile/server_playerSetup.sqf +++ b/SQF/dayz_server/compile/server_playerSetup.sqf @@ -4,7 +4,7 @@ private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state" _characterID = _this select 0; _playerObj = _this select 1; -_playerID = getPlayerUID _playerObj; +_playerID = if (DayZ_UseSteamID) then {GetPlayerUID _playerObj;} else {GetPlayerUIDOld _playerObj;}; if (isNull _playerObj) exitWith { diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj)); @@ -15,7 +15,7 @@ if (isNull _playerObj) exitWith { _playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}]; if (_playerID == "") then { - _playerID = getPlayerUID _playerObj; + _playerID = if (DayZ_UseSteamID) then {GetPlayerUID _playerObj;} else {GetPlayerUIDOld _playerObj;}; }; if (_playerID == "") exitWith { @@ -23,7 +23,7 @@ if (_playerID == "") exitWith { }; private["_dummy"]; -_dummy = getPlayerUID _playerObj; +_dummy = if (DayZ_UseSteamID) then {GetPlayerUID _playerObj;} else {GetPlayerUIDOld _playerObj;}; if ( _playerID != _dummy ) then { diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID]; _playerID = _dummy; diff --git a/SQF/dayz_server/compile/server_swapObject.sqf b/SQF/dayz_server/compile/server_swapObject.sqf index 0cdb31dcf..761bd5dcf 100644 --- a/SQF/dayz_server/compile/server_swapObject.sqf +++ b/SQF/dayz_server/compile/server_swapObject.sqf @@ -6,8 +6,7 @@ _worldspace = _this select 2; _class = _this select 3; _obj = _this select 4; _activatingplayer = _this select 5; -_activatingplayerUID = (getPlayerUID _activatingplayer); - +_activatingplayerUID = if (DayZ_UseSteamID) then {GetPlayerUID _activatingplayer;} else {GetPlayerUIDOld _activatingplayer;}; _proceed = false; _objectID = "0"; diff --git a/SQF/dayz_server/compile/server_tradeObject.sqf b/SQF/dayz_server/compile/server_tradeObject.sqf index b5634ff6d..9631b44bf 100644 --- a/SQF/dayz_server/compile/server_tradeObject.sqf +++ b/SQF/dayz_server/compile/server_tradeObject.sqf @@ -1,4 +1,4 @@ -private ["_player","_name","_traderid","_buyorsell","_data","_result","_key","_outcome","_clientID"]; +private ["_player","_PUID","_name","_traderid","_buyorsell","_data","_result","_key","_outcome","_clientID"]; _player = _this select 0; _traderID = _this select 1; @@ -10,11 +10,12 @@ _qty = _this select 6; _clientID = owner _player; _price = format ["%2x %1",_currency,_qty]; _name = if (alive _player) then { name _player; } else { "Dead Player"; }; +_PUID = if (DayZ_UseSteamID) then {GetPlayerUID _player;} else {GetPlayerUIDOld _player;}; if (_buyorsell == 0) then { //Buy -diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) bought a %3 in/at %4 for %5", _name, (getPlayerUID _player), _classname, _traderCity, _price]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) bought a %3 in/at %4 for %5", _name, _PUID, _classname, _traderCity, _price]; } else { //SELL -diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4 for %5",_name, (getPlayerUID _player), _classname, _traderCity, _price]; +diag_log format["EPOCH SERVERTRADE: Player: %1 (%2) sold a %3 in/at %4 for %5",_name, _PUID, _classname, _traderCity, _price]; }; if (DZE_ConfigTrader) then { diff --git a/SQF/dayz_server/compile/server_updateObject.sqf b/SQF/dayz_server/compile/server_updateObject.sqf index 0094f0c13..785119078 100644 --- a/SQF/dayz_server/compile/server_updateObject.sqf +++ b/SQF/dayz_server/compile/server_updateObject.sqf @@ -99,7 +99,7 @@ _object_damage = { }; _object_killed = { - private["_hitpoints","_array","_hit","_selection","_key","_damage"]; + private["_hitpoints","_array","_hit","_PUID","_selection","_key","_damage"]; _hitpoints = _object call vehicle_getHitpoints; //_damage = damage _object; _damage = 1; @@ -126,9 +126,10 @@ _object_killed = { _objID = _object getVariable['ObjectID','0']; _objUID = _object getVariable['ObjectUID','0']; _worldSpace = getPosATL _object; - if (getPlayerUID _killer != "") then { + _PUID = if (DayZ_UseSteamID) then {GetPlayerUID _killer;} else {GetPlayerUIDOld _killer;}; + if (_PUID != "") then { _name = if (alive _killer) then { name _killer; } else { format["OBJECT %1", _killer]; }; - diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6, Killer: %7 (UID: %8)", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace, _name, (getPlayerUID _killer)]; + diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6, Killer: %7 (UID: %8)", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace, _name, _PUID]; } else { diag_log format["Vehicle killed: Vehicle %1 (TYPE: %2), CharacterID: %3, ObjectID: %4, ObjectUID: %5, Position: %6", _object, (typeOf _object), _charID, _objID, _objUID, _worldSpace]; }; diff --git a/SQF/dayz_server/init/server_functions.sqf b/SQF/dayz_server/init/server_functions.sqf index de564d76c..43412f893 100644 --- a/SQF/dayz_server/init/server_functions.sqf +++ b/SQF/dayz_server/init/server_functions.sqf @@ -146,7 +146,9 @@ eh_localCleanup = { _unit removeAllEventHandlers "Local"; clearVehicleInit _unit; deleteVehicle _unit; - deleteGroup _myGroupUnit; + if ((count (units _myGroupUnit) == 0) && (_myGroupUnit != grpNull)) then { + deleteGroup _myGroupUnit; + }; //_unit = nil; // diag_log ("CLEANUP: DELETED A " + str(_type) ); }; @@ -622,6 +624,7 @@ dayz_recordLogin = { dayz_perform_purge = { if(!isNull(_this)) then { + _group = group _this; _this removeAllMPEventHandlers "mpkilled"; _this removeAllMPEventHandlers "mphit"; _this removeAllMPEventHandlers "mprespawn"; @@ -634,7 +637,9 @@ dayz_perform_purge = { _this removeAllEventHandlers "Local"; clearVehicleInit _this; deleteVehicle _this; - deleteGroup (group _this); + if ((count (units _group) == 0) && (_group != grpNull)) then { + deleteGroup _group; + }; }; }; @@ -695,7 +700,7 @@ dayz_perform_purge_player = { { _holder addMagazineCargoGlobal [_x, 1]; } count _magazines; - + _group = group _this; _this removeAllMPEventHandlers "mpkilled"; _this removeAllMPEventHandlers "mphit"; _this removeAllMPEventHandlers "mprespawn"; @@ -708,13 +713,16 @@ dayz_perform_purge_player = { _this removeAllEventHandlers "Local"; clearVehicleInit _this; deleteVehicle _this; - deleteGroup (group _this); + if ((count (units _group) == 0) && (_group != grpNull)) then { + deleteGroup _group; + }; // _this = nil; }; dayz_removePlayerOnDisconnect = { if(!isNull(_this)) then { + _group = group _this; _this removeAllMPEventHandlers "mphit"; deleteVehicle _this; deleteGroup (group _this); @@ -780,7 +788,7 @@ server_cleanupGroups = { if(!isNil "DZE_DYN_GroupCleanup") exitWith { DZE_DYN_AntiStuck3rd = DZE_DYN_AntiStuck3rd + 1;}; DZE_DYN_GroupCleanup = true; { - if (count units _x == 0) then { + if ((count (units _x) == 0) && (_x != grpNull)) then { deleteGroup _x; }; sleep 0.001; @@ -833,20 +841,23 @@ server_spawnCleanLoot = { _delQty = 0; _dateNow = (DateToNumber date); { - _keep = _x getVariable ["permaLoot",false]; - if (!_keep) then { - _created = _x getVariable ["created",-0.1]; - if (_created == -0.1) then { - _x setVariable ["created",_dateNow,false]; - _created = _dateNow; - } else { - _age = (_dateNow - _created) * 525948; - if (_age > 20) then { - _nearby = {(isPlayer _x) && (alive _x)} count (_x nearEntities [["CAManBase","AllVehicles"], 130]); - if (_nearby==0) then { - deleteVehicle _x; - sleep 0.025; - _delQty = _delQty + 1; + if (!isNull _x) then { + _keep = _x getVariable["permaLoot", false]; + if (!_keep) then { + _created = _x getVariable["created", -0.1]; + if (_created == -0.1) then{ + _x setVariable["created", _dateNow, false]; + _created = _dateNow; + } + else { + _age = (_dateNow - _created) * 525948; + if (_age > 20) then{ + _nearby = { (isPlayer _x) && (alive _x) } count(_x nearEntities[["CAManBase", "AllVehicles"], 130]); + if (_nearby == 0) then{ + deleteVehicle _x; + sleep 0.025; + _delQty = _delQty + 1; + }; }; }; }; @@ -891,7 +902,7 @@ server_spawnCleanAnimals = { }; server_logUnlockLockEvent = { - private["_player", "_obj", "_objectID", "_objectUID", "_statusText", "_status"]; + private["_player", "_obj", "_objectID", "_objectUID", "_statusText", "_PUID", "_status"]; _player = _this select 0; _obj = _this select 1; _status = _this select 2; @@ -903,6 +914,7 @@ server_logUnlockLockEvent = { [_obj, "gear"] call server_updateObject; _statusText = "LOCKED"; }; - diag_log format["SAFE %5: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), (getPlayerUID _player), _statusText]; + _PUID = if (DayZ_UseSteamID) then {GetPlayerUID _killer;} else {GetPlayerUIDOld _killer;}; + diag_log format["SAFE %5: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), _PUID, _statusText]; }; }; diff --git a/SQF/dayz_server/system/server_monitor.sqf b/SQF/dayz_server/system/server_monitor.sqf index 8b24742c3..6e3d1a122 100644 --- a/SQF/dayz_server/system/server_monitor.sqf +++ b/SQF/dayz_server/system/server_monitor.sqf @@ -80,7 +80,7 @@ if (isServer && isNil "sm_done") then { _vQty = _vQty + 1; }; }; - diag_log ("HIVE: got " + str(_bQty) + " Epoch Objects && " + str(_vQty) + " Vehicles"); + diag_log ("HIVE: got " + str(_bQty) + " Epoch Objects and " + str(_vQty) + " Vehicles"); }; // # NOW SPAWN OBJECTS # diff --git a/SQF/mod.cpp b/SQF/mod.cpp index 4cf6e9207..e9af8d329 100644 --- a/SQF/mod.cpp +++ b/SQF/mod.cpp @@ -1,5 +1,5 @@ dir = "@DayZ_Epoch"; -name = "DayZ Epoch 1.0.5"; +name = "DayZ Epoch 1.0.5.2"; actionName = "Website"; picture = "dayz_logo_ca.paa"; action = "http://www.dayzepoch.com"; \ No newline at end of file diff --git a/Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo b/Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo index 9613ec26c..3c946930b 100644 Binary files a/Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo and b/Server Files/@DayZ_Epoch_Server/addons/dayz_server.pbo differ diff --git a/Server Files/Config-Examples/instance_11_Chernarus/config.cfg b/Server Files/Config-Examples/instance_11_Chernarus/config.cfg index 5c713605d..250d17102 100644 --- a/Server Files/Config-Examples/instance_11_Chernarus/config.cfg +++ b/Server Files/Config-Examples/instance_11_Chernarus/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Chernarus Server (1.0.5/103718)"; +hostName = "DayZ Epoch Chernarus Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_12_duala/config.cfg b/Server Files/Config-Examples/instance_12_duala/config.cfg index c2fd6da4d..310962760 100644 --- a/Server Files/Config-Examples/instance_12_duala/config.cfg +++ b/Server Files/Config-Examples/instance_12_duala/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Isla Duala Server (1.0.5/103718)"; +hostName = "DayZ Epoch Isla Duala Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_13_tavi/config.cfg b/Server Files/Config-Examples/instance_13_tavi/config.cfg index 922ec4d64..54cf8060a 100644 --- a/Server Files/Config-Examples/instance_13_tavi/config.cfg +++ b/Server Files/Config-Examples/instance_13_tavi/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Taviana Server (1.0.5/103718)"; +hostName = "DayZ Epoch Taviana Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_15_namalsk/config.cfg b/Server Files/Config-Examples/instance_15_namalsk/config.cfg index a34f93d3e..527ba3ed4 100644 --- a/Server Files/Config-Examples/instance_15_namalsk/config.cfg +++ b/Server Files/Config-Examples/instance_15_namalsk/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Namalsk Server (1.0.5/103718)"; +hostName = "DayZ Epoch Namalsk Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_16_panthera/config.cfg b/Server Files/Config-Examples/instance_16_panthera/config.cfg index ac04a3102..8c8e8e66e 100644 --- a/Server Files/Config-Examples/instance_16_panthera/config.cfg +++ b/Server Files/Config-Examples/instance_16_panthera/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Panthera Server (1.0.5/103718)"; +hostName = "DayZ Epoch Panthera Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_18_sahrani/config.cfg b/Server Files/Config-Examples/instance_18_sahrani/config.cfg index 9936dd3f1..63942f78a 100644 --- a/Server Files/Config-Examples/instance_18_sahrani/config.cfg +++ b/Server Files/Config-Examples/instance_18_sahrani/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Sahrani Server (1.0.5/103718)"; +hostName = "DayZ Epoch Sahrani Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_19_poda/config.cfg b/Server Files/Config-Examples/instance_19_poda/config.cfg index b6cdc823b..77bf9fd9d 100644 --- a/Server Files/Config-Examples/instance_19_poda/config.cfg +++ b/Server Files/Config-Examples/instance_19_poda/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Podagorsk Server (1.0.5/103718)"; +hostName = "DayZ Epoch Podagorsk Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_1_takistan/config.cfg b/Server Files/Config-Examples/instance_1_takistan/config.cfg index b612c2bc7..fe654ebd8 100644 --- a/Server Files/Config-Examples/instance_1_takistan/config.cfg +++ b/Server Files/Config-Examples/instance_1_takistan/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Takistan Server (1.0.5/103718)"; +hostName = "DayZ Epoch Takistan Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_20_fapovo/config.cfg b/Server Files/Config-Examples/instance_20_fapovo/config.cfg index 1a861243d..9221c334f 100644 --- a/Server Files/Config-Examples/instance_20_fapovo/config.cfg +++ b/Server Files/Config-Examples/instance_20_fapovo/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Fapovo Server (1.0.5/103718)"; +hostName = "DayZ Epoch Fapovo Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_21_caribou/config.cfg b/Server Files/Config-Examples/instance_21_caribou/config.cfg index 0c250a3cd..1ca7f137c 100644 --- a/Server Files/Config-Examples/instance_21_caribou/config.cfg +++ b/Server Files/Config-Examples/instance_21_caribou/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Caribou Server (1.0.5/103718)"; +hostName = "DayZ Epoch Caribou Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_22_SMDsahrani/config.cfg b/Server Files/Config-Examples/instance_22_SMDsahrani/config.cfg index a9a0f24c8..ed5897554 100644 --- a/Server Files/Config-Examples/instance_22_SMDsahrani/config.cfg +++ b/Server Files/Config-Examples/instance_22_SMDsahrani/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch SMD Sahrani Server (1.0.5/103718)"; +hostName = "DayZ Epoch SMD Sahrani Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_24_Napf/config.cfg b/Server Files/Config-Examples/instance_24_Napf/config.cfg index 5e2530a67..f66e579c1 100644 --- a/Server Files/Config-Examples/instance_24_Napf/config.cfg +++ b/Server Files/Config-Examples/instance_24_Napf/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Napf Server (1.0.5/103718)"; +hostName = "DayZ Epoch Napf Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_25_sauerland/config.cfg b/Server Files/Config-Examples/instance_25_sauerland/config.cfg index b826a0c95..4177adf19 100644 --- a/Server Files/Config-Examples/instance_25_sauerland/config.cfg +++ b/Server Files/Config-Examples/instance_25_sauerland/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Sauerland Server (1.0.5/103718)"; +hostName = "DayZ Epoch Sauerland Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_2_utes/config.cfg b/Server Files/Config-Examples/instance_2_utes/config.cfg index e042beb8d..838315562 100644 --- a/Server Files/Config-Examples/instance_2_utes/config.cfg +++ b/Server Files/Config-Examples/instance_2_utes/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Utes Server (1.0.5/103718/No Traders)"; +hostName = "DayZ Epoch Utes Server (1.0.5.2/125548/No Traders)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_3_shapur_baf/config.cfg b/Server Files/Config-Examples/instance_3_shapur_baf/config.cfg index 4497d51ba..a5a5899ed 100644 --- a/Server Files/Config-Examples/instance_3_shapur_baf/config.cfg +++ b/Server Files/Config-Examples/instance_3_shapur_baf/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Shapur BAF Server (1.0.5/103718/No Traders)"; +hostName = "DayZ Epoch Shapur BAF Server (1.0.5.2/125548/No Traders)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 24; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_4_zargabad/config.cfg b/Server Files/Config-Examples/instance_4_zargabad/config.cfg index 7e5b931c4..7f520c8f4 100644 --- a/Server Files/Config-Examples/instance_4_zargabad/config.cfg +++ b/Server Files/Config-Examples/instance_4_zargabad/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Zargabad Server (1.0.5/103718)"; +hostName = "DayZ Epoch Zargabad Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_6_Dingor/config.cfg b/Server Files/Config-Examples/instance_6_Dingor/config.cfg index 356d10ff2..41637be8b 100644 --- a/Server Files/Config-Examples/instance_6_Dingor/config.cfg +++ b/Server Files/Config-Examples/instance_6_Dingor/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Dingor Server (1.0.5/103718)"; +hostName = "DayZ Epoch Dingor Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_7_Lingor/config.cfg b/Server Files/Config-Examples/instance_7_Lingor/config.cfg index 8b0861371..11dbb3ab5 100644 --- a/Server Files/Config-Examples/instance_7_Lingor/config.cfg +++ b/Server Files/Config-Examples/instance_7_Lingor/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch Lingor Server (1.0.5/103718)"; +hostName = "DayZ Epoch Lingor Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Config-Examples/instance_8_ProvingGrounds_PMC/config.cfg b/Server Files/Config-Examples/instance_8_ProvingGrounds_PMC/config.cfg index 355f426ac..9a9fb4b1a 100644 --- a/Server Files/Config-Examples/instance_8_ProvingGrounds_PMC/config.cfg +++ b/Server Files/Config-Examples/instance_8_ProvingGrounds_PMC/config.cfg @@ -1,4 +1,4 @@ -hostName = "DayZ Epoch ProvingGrounds_PMC Server (1.0.5/103718)"; +hostName = "DayZ Epoch ProvingGrounds_PMC Server (1.0.5.2/125548)"; password = ""; passwordAdmin = "changeme"; maxPlayers = 50; @@ -22,7 +22,7 @@ onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; onDifferentData = ""; regularCheck = ""; -requiredBuild = 103718; +requiredBuild = 125548; requiredSecureId = 2; class Missions diff --git a/Server Files/Keys/dayz_epoch105.bikey b/Server Files/Keys/dayz_epoch105.bikey deleted file mode 100644 index b7d3726b8..000000000 Binary files a/Server Files/Keys/dayz_epoch105.bikey and /dev/null differ diff --git a/Server Files/Keys/dayz_epoch1052.bikey b/Server Files/Keys/dayz_epoch1052.bikey new file mode 100644 index 000000000..4337f4930 Binary files /dev/null and b/Server Files/Keys/dayz_epoch1052.bikey differ diff --git a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/mission.sqm b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/mission.sqm index e21bc5a1c..2c0906757 100644 --- a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/mission.sqm +++ b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/mission.sqm @@ -1332,8 +1332,6 @@ class Mission expCond="(player distance Seedorf) < 100;"; expActiv="[""Boat Vendor"",true,""enter""] spawn player_traderCity;"; expDesactiv="[""Boat Vendor"",true,""leave""] spawn player_traderCity;"; - expActiv="TitleText[""Now Entering Trader City Seedorf"",""PLAIN DOWN""]; canbuild = false;"; - expDesactiv="TitleText[""Now Leaving Trader City Seedorf"",""PLAIN DOWN""]; canbuild = true;"; class Effects { }; diff --git a/Server Files/Readme.txt b/Server Files/Readme.txt index 5f7e1f2b5..26979d695 100644 --- a/Server Files/Readme.txt +++ b/Server Files/Readme.txt @@ -20,4 +20,4 @@ Important Note: On some Windows systems you may need to "UnBlock" the dll files. 3. Connect to your mysql server using naicat or phpmyadmin and import the epoch.sql file found in the SQL folder. This will drop and re-add the traders tables and will leave everything else intact. -4. Inside the "Keys" folder on your server remove dayz_vb.bikey and dayz.bikey keys. As of 1.0.4 our bikey is called dayz_epoch104.bikey and we will use a new one for each release. \ No newline at end of file +4. Inside the "Keys" folder on your server remove any previous day_epoch*.bikey keys. As of 1.0.5.2 our bikey is called dayz_epoch1052.bikey and we will use a new one for each release. \ No newline at end of file