diff --git a/SQF/dayz_code/Configs/CfgMagazines.hpp b/SQF/dayz_code/Configs/CfgMagazines.hpp index ac97781d9..f1540bf08 100644 --- a/SQF/dayz_code/Configs/CfgMagazines.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines.hpp @@ -787,6 +787,17 @@ class CfgMagazines { model = "\dayz_equip\models\fueltank.p3d"; picture = "\dayz_equip\textures\equip_fueltank_ca.paa"; descriptionShort = "$STR_EQUIP_DESC_8"; + class ItemActions { + class Crafting + { + text = "Salvage Scrap"; + script = "spawn player_craftItem;"; + neednearby[] = {"workshop"}; + requiretools[] = {"ItemToolbox","ItemCrowbar"}; + output[] = {{"PartGeneric",1}}; + input[] = {{"PartFueltank",1}}; + }; + }; }; class PartWheel: CA_Magazine { @@ -1722,6 +1733,37 @@ class CfgMagazines { picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; descriptionShort = "Wood stairs"; class ItemActions + { + class Build + { + text = "$STR_ACTIONS_BUILD"; + script = "spawn player_build;"; + require[] = {"ItemToolbox"}; + create = "WoodStairsSans_DZ"; + }; + class Crafting + { + text = "Craft Stair Supports"; + script = "spawn player_craftItem;"; + neednearby[] = {"workshop"}; + requiretools[] = {"ItemToolbox"}; + output[] = {{"ItemWoodStairsSupports",1}}; + input[] = {{"ItemWoodStairs",1},{"PartWoodLumber",2}}; + + }; + }; + }; + + class ItemWoodStairsSupport: CA_Magazine + { + scope = 2; + count = 1; + type = 256; + displayName = "Wood Stairs w/ supports"; + model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; + picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; + descriptionShort = "Wood stairs with supports"; + class ItemActions { class Build { @@ -2155,6 +2197,17 @@ class CfgMagazines { model = "\dayz_equip\models\engine.p3d"; picture = "\dayz_equip\textures\equip_engine_ca.paa"; descriptionShort = "$STR_EQUIP_DESC_11"; + class ItemActions { + class Crafting + { + text = "Salvage Scrap"; + script = "spawn player_craftItem;"; + neednearby[] = {"workshop"}; + requiretools[] = {"ItemToolbox","ItemCrowbar"}; + output[] = {{"PartGeneric",2}}; + input[] = {{"PartEngine",1}}; + }; + }; }; class PartWoodPile: CA_Magazine { @@ -2255,6 +2308,17 @@ class CfgMagazines { input[] = {{"bulk_empty",1},{"PartWoodLumber",8}}; }; + class Crafting4 + { + text = "Craft Wood Ladder"; + script = "spawn player_craftItem4;"; + neednearby[] = {"workshop"}; + requiretools[] = {"ItemToolbox"}; + output[] = {{"ItemWoodLadder",1}}; + input[] = {{"bulk_empty",1},{"PartWoodLumber",8}}; + + }; + }; }; class PartWoodPlywood: CA_Magazine @@ -3434,8 +3498,8 @@ class CfgMagazines { scope = public; count = 1; bloodRegen = 100; - displayName = "Pumkin"; - descriptionShort = "Pumkin"; + displayName = "Pumpkin"; + descriptionShort = "Pumpkin"; model = "z\addons\dayz_communityassets\models\pistachio.p3d"; // TODO: model + icon picture = "\z\addons\dayz_communityassets\pictures\equip_pistachios_CA.paa"; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp b/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp index 261db2ae3..358f60483 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp @@ -122,6 +122,8 @@ class Land_DZE_WoodDoorLocked_Base: DZE_Housebase { lifeTime = 1; }; }; + maintainBuilding[] = {{"PartWoodPlywood",1},{"PartWoodLumber",1}}; + lockable = 3; }; /* Same name as stated in the Class DestructionEffects, but an "Land_" added infront*/ @@ -204,16 +206,23 @@ class Land_DZE_WoodDoorLocked: Land_DZE_WoodDoorLocked_Base { { displayName="Lock Door"; //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; - condition="(DZE_Lock_Door == (this getvariable['characterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; + condition="(DZE_Lock_Door == (this getvariable['CharacterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; statement="this animate [""Open_hinge"", 0]"; }; class Unlock_Door : Open_Door { displayName="Unlock Door"; //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; - condition="(DZE_Lock_Door == (this getvariable['characterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; + condition="(DZE_Lock_Door == (this getvariable['CharacterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; statement="this animate [""Open_hinge"", 1]"; }; + class Unlock_Door_Dialog : Open_Door + { + displayName="Unlock Door"; + //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; + condition="DZE_Lock_Door != (this getvariable['CharacterID','0'])"; + statement="dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;createdialog ""ComboLockUI"""; + }; class Close_Door : Open_Door { displayName="Close Door"; @@ -296,16 +305,23 @@ class Land_DZE_LargeWoodDoorLocked: Land_DZE_WoodDoorLocked_Base { { displayName="Lock Door"; //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; - condition="(DZE_Lock_Door == (this getvariable['characterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; + condition="(DZE_Lock_Door == (this getvariable['CharacterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; statement="this animate [""Open_hinge"", 0]"; }; class Unlock_Door : Open_Door { displayName="Unlock Door"; //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; - condition="(DZE_Lock_Door == (this getvariable['characterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; + condition="(DZE_Lock_Door == (this getvariable['CharacterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; statement="this animate [""Open_hinge"", 1]"; }; + class Unlock_Door_Dialog : Open_Door + { + displayName="Unlock Door"; + //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; + condition="DZE_Lock_Door != (this getvariable['CharacterID','0'])"; + statement="dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;createdialog ""ComboLockUI"""; + }; class Close_Door : Open_Door { displayName="Close Door"; @@ -388,16 +404,23 @@ class Land_DZE_GarageWoodDoorLocked: Land_DZE_WoodDoorLocked_Base { { displayName="Lock Door"; //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; - condition="(DZE_Lock_Door == (this getvariable['characterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; + condition="(DZE_Lock_Door == (this getvariable['CharacterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 1)"; statement="this animate [""Open_hinge"", 0]"; }; class Unlock_Door : Open_Door { displayName="Unlock Door"; //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; - condition="(DZE_Lock_Door == (this getvariable['characterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; + condition="(DZE_Lock_Door == (this getvariable['CharacterID','0'])) and (this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; statement="this animate [""Open_hinge"", 1]"; }; + class Unlock_Door_Dialog : Open_Door + { + displayName="Unlock Door"; + //condition="(this animationPhase ""Open_door"" == 0) and (this animationPhase ""Open_hinge"" == 0)"; + condition="DZE_Lock_Door != (this getvariable['CharacterID','0'])"; + statement="dayz_selectedDoor = this;DZE_topCombo = 0;DZE_midCombo = 0;DZE_botCombo = 0;createdialog ""ComboLockUI"""; + }; class Close_Door : Open_Door { displayName="Close Door"; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Item/Flashlight.hpp b/SQF/dayz_code/Configs/CfgWeapons/Item/Flashlight.hpp index d13ab3a01..a816f7eba 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Item/Flashlight.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Item/Flashlight.hpp @@ -1,7 +1,7 @@ class MeleeFlashlight : Pistol { class ItemActions { class Toolbelt { - text = $STR_ACTIONS_2TB; + text = "Add to toolbelt"; }; }; }; @@ -9,7 +9,7 @@ class MeleeFlashlight : Pistol { class ItemFlashlight : ItemCore { class ItemActions { class Toolbelt { - text = $STR_ACTIONS_RFROMTB; + text = "Remove from toolbelt"; }; }; }; @@ -17,7 +17,7 @@ class MeleeFlashlight : Pistol { class MeleeFlashlightRed : MeleeFlashlight { class ItemActions { class Toolbelt { - text = $STR_ACTIONS_2TB; + text = "Add to toolbelt"; }; }; }; @@ -25,7 +25,7 @@ class MeleeFlashlight : Pistol { class ItemFlashlightRed : ItemCore { class ItemActions { class Toolbelt { - text = $STR_ACTIONS_RFROMTB; + text = "Remove from toolbelt"; }; }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/Melee/ItemCrowbar.hpp b/SQF/dayz_code/Configs/CfgWeapons/Melee/ItemCrowbar.hpp index ee3a290f0..4c07ea566 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Melee/ItemCrowbar.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Melee/ItemCrowbar.hpp @@ -9,7 +9,7 @@ class ItemCrowbar: ItemCore { class Toolbelt { - text=$STR_ACTIONS_RFROMTB; + text = "Remove from toolbelt"; script="spawn player_addToolbelt;"; use[]= { diff --git a/SQF/dayz_code/Configs/cfgLoot.hpp b/SQF/dayz_code/Configs/cfgLoot.hpp index 2dcf0f849..34fccf6a6 100644 --- a/SQF/dayz_code/Configs/cfgLoot.hpp +++ b/SQF/dayz_code/Configs/cfgLoot.hpp @@ -55,6 +55,48 @@ class CfgLoot { 0.01 } }; + office2[] = { + { + "FoodCanUnlabeled", + "TrashJackDaniels", + "ItemSodaEmpty", + "ItemSodaCoke", + "ItemSodaPepsi", + "FoodCanBakedBeans", + "FoodCanSardines", + "FoodCanFrankBeans", + "FoodCanPasta", + "8Rnd_9x18_Makarov", + "7Rnd_45ACP_1911", + "2Rnd_shotgun_74Slug", + "2Rnd_shotgun_74Pellets", + "ItemBandage", + "ItemPainkiller", + "FoodBioMeat", + "8Rnd_9x18_MakarovSD", + "ItemBriefcaseEmpty" + }, + { + 0.07, + 0.09, + 0.09, + 0.09, + 0.09, + 0.05, + 0.05, + 0.05, + 0.05, + 0.07, + 0.05, + 0.05, + 0.05, + 0.06, + 0.06, + 0.01, + 0.01, + 0.01 + } + }; food[] = { { //trash @@ -89,6 +131,68 @@ class CfgLoot { 0.04 } }; + office[] = { + { + "FoodCanUnlabeled", + "ItemSodaEmpty", + "ItemSodaCoke", + "ItemSodaPepsi", + "TrashJackDaniels", + "FoodCanBakedBeans", + "FoodCanSardines", + "FoodCanFrankBeans", + "FoodCanPasta", + "ItemWaterbottleUnfilled", + "ItemWaterbottle", + "ItemBandage", + "7Rnd_45ACP_1911", + "5x_22_LR_17_HMR", + "10x_303", + "6Rnd_45ACP", + "2Rnd_shotgun_74Slug", + "2Rnd_shotgun_74Pellets", + "8Rnd_9x18_Makarov", + "15Rnd_W1866_Slug", + "WoodenArrow", + "HandRoadFlare", + "ItemPainkiller", + "HandChemGreen", + "HandChemBlue", + "HandChemRed", + "ItemHeatPack", + "ItemLockbox" + }, + { + 0.06, + 0.06, + 0.06, + 0.04, + 0.04, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.11, + 0.03, + 0.01, + 0.04, + 0.04, + 0.05, + 0.05, + 0.09, + 0.02, + 0.04, + 0.07, + 0.02, + 0.01, + 0.03, + 0.03, + 0.03, + 0.01 + } + }; generic[] = { { "FoodCanUnlabeled", @@ -331,12 +435,13 @@ class CfgLoot { "ItemPainkiller", "ItemWire", "ItemTankTrap", + "ItemComboLock", }, { 0.14, 0.12, 0.09, - 0.12, + 0.11, 0.09, 0.06, 0.06, @@ -345,6 +450,7 @@ class CfgLoot { 0.12, 0.06, 0.01, + 0.01, 0.01 } }; diff --git a/SQF/dayz_code/Configs/cfgVehicles.hpp b/SQF/dayz_code/Configs/cfgVehicles.hpp index 8ddb8ab18..c98a12980 100644 --- a/SQF/dayz_code/Configs/cfgVehicles.hpp +++ b/SQF/dayz_code/Configs/cfgVehicles.hpp @@ -1645,7 +1645,7 @@ class CfgVehicles { destrType = "DestructTree"; cost = 100; offset[] = {0,1.5,0}; - model="\z\addons\dayz_epoch\models\largel_wall_doorA.p3d"; + model="\z\addons\dayz_epoch\models\large_wall_door.p3d"; icon = "\ca\data\data\Unknown_object.paa"; mapSize = 2; armor = 200; @@ -1728,7 +1728,7 @@ class CfgVehicles { destrType = "DestructTree"; cost = 100; offset[] = {0,1.5,0}; - model="\z\addons\dayz_epoch\models\small_wall_doorA.p3d"; + model="\z\addons\dayz_epoch\models\small_wall_door.p3d"; icon = "\ca\data\data\Unknown_object.paa"; mapSize = 2; armor = 200; @@ -1786,6 +1786,7 @@ class CfgVehicles { displayName = "Wood Stairs Sans"; vehicleClass = "Fortifications"; maintainBuilding[] = {{"PartWoodLumber",1}}; + upgradeBuilding[] = {"WoodStairs_DZ",{{"PartWoodLumber",2}}}; constructioncount = 1; GhostPreview = "WoodStairsSans_Preview_DZ"; }; @@ -1875,7 +1876,7 @@ class CfgVehicles { destrType = "DestructNo"; cost = 100; offset[] = {0,1.5,0}; - model="\z\addons\dayz_epoch\models\small_wall_doorA_ghost.p3d"; + model="\z\addons\dayz_epoch\models\small_wall_door_ghost.p3d"; icon = "\ca\data\data\Unknown_object.paa"; mapSize = 2; armor = 1000; @@ -1901,7 +1902,7 @@ class CfgVehicles { destrType = "DestructNo"; cost = 100; offset[] = {0,1.5,0}; - model="\z\addons\dayz_epoch\models\large_wall_doorA_ghost.p3d"; + model="\z\addons\dayz_epoch\models\large_wall_door_ghost.p3d"; icon = "\ca\data\data\Unknown_object.paa"; mapSize = 2; armor = 1000; @@ -2402,7 +2403,7 @@ class CfgVehicles { transportMaxWeapons = 0; transportMaxBackpacks = 0; offset[] = {0,1.5,0.5}; - lockable = 1; + lockable = 4; unlockedClass = "VaultStorage"; }; @@ -2417,7 +2418,7 @@ class CfgVehicles { transportMaxWeapons = 0; transportMaxBackpacks = 0; offset[] = {0,1.5,0.5}; - lockable = 1; + lockable = 3; unlockedClass = "LockboxStorage"; }; diff --git a/SQF/dayz_code/Configs/rscTitles.hpp b/SQF/dayz_code/Configs/rscTitles.hpp index dff4ffe06..68419f084 100644 --- a/SQF/dayz_code/Configs/rscTitles.hpp +++ b/SQF/dayz_code/Configs/rscTitles.hpp @@ -149,7 +149,7 @@ class RscDisplayMain : RscStandardDisplay class DAYZ_Version : CA_Version { idc = -1; - text = "DayZ Epoch 1.0.1.8"; + text = "DayZ Epoch 1.0.1.94"; y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)"; }; delete CA_TitleMainMenu; diff --git a/SQF/dayz_code/Configs/safegui.hpp b/SQF/dayz_code/Configs/safegui.hpp index b5fa30c51..272b5d966 100644 --- a/SQF/dayz_code/Configs/safegui.hpp +++ b/SQF/dayz_code/Configs/safegui.hpp @@ -302,8 +302,355 @@ class SafeKeyPad colorText[] = {0,1,0,1}; colorBackground[] = {0,0,0,0}; colorBackgroundActive[] = {0,0,0,0}; - onButtonClick = "((ctrlParent (_this select 0)) closeDisplay 3000); if(!isNull dayz_selectedVault and (typeOf dayz_selectedVault) == ""VaultStorageLocked"") then {dayz_selectedVault spawn player_unlockVault;};"; + onButtonClick = "((ctrlParent (_this select 0)) closeDisplay 3000); if(!isNull dayz_selectedVault and (typeOf dayz_selectedVault) in DZE_LockedStorage) then {dayz_selectedVault spawn player_unlockVault;};"; soundClick[] = {"\dayz_sfx\action\cell\dtmf_hash.ogg",0.6,1}; }; }; -}; \ No newline at end of file +}; + +// SafeKeyPadTest +class ComboLockUI +{ + idd = 41144; + movingenable = 0; + + class Controls + { + class ComboLockUIPic: RscPicture + { + idc = -1; + text = "\z\addons\dayz_epoch\ui\combo_gui.paa"; + x = 0; + y = 0; + w = 1; + h = 1; + }; + class top_combo: RscPicture + { + idc = 17734; + text = "\z\addons\dayz_epoch\ui\top_0.paa"; + x = 0.418883; + y = 0.234042; + w = 0.388564; + h = 0.161072; + }; + class middle_combo: RscPicture + { + idc = 17735; + text = "\z\addons\dayz_epoch\ui\mid_0.paa"; + x = 0.420213; + y = 0.431049; + w = 0.387234; + h = 0.161072; + }; + class bottom_combo: RscPicture + { + idc = 17736; + text = "\z\addons\dayz_epoch\ui\bot_0.paa"; + x = 0.420212; + y = 0.616233; + w = 0.387234; + h = 0.180772; + }; + class unlock_combo: RscPicture + { + idc = 17737; + text = "\z\addons\dayz_epoch\ui\unlock_a.paa"; + x = 0.219415; + y = 0.762017; + w = 0.199734; + h = 0.208353; + }; + class exit_combo: RscPicture + { + idc = 17738; + text = "\z\addons\dayz_epoch\ui\exit_a.paa"; + x = 0.863032; + y = 0.0252169; + w = 0.0946809; + h = 0.0724192; + }; + + class main_combo: RscButton + { + idc = -1; + text = ""; + style = "0x02 + 0x100"; + colorText[] = {1,1,1,0}; + colorDisabled[] = {1,1,1,0}; + colorBackground[] = {1,1,1,0}; + colorBackgroundDisabled[] = {1,1,1,0}; + colorBackgroundActive[] = {1,1,1,0}; + colorShadow[] = {1,1,1,0}; + colorFocused[] = {1,1,1,0}; + soundClick[] = {"",0.6,1}; + }; + + class top_left: main_combo + { + idc = -1; + x = 0.43484; + y = 0.243893; + w = 0.1625; + h = 0.135461; + onButtonClick = "[17734,0,""top""] call player_changeCombo"; + }; + class top_right: main_combo + { + idc = -1; + x = 0.660904; + y = 0.241923; + w = 0.147872; + h = 0.135461; + onButtonClick = "[17734,1,""top""] call player_changeCombo"; + }; + class mid_left: main_combo + { + idc = -1; + x = 0.43484; + y = 0.433018; + w = 0.1625; + h = 0.135461; + onButtonClick = "[17735,0,""mid""] call player_changeCombo"; + }; + class mid_right: main_combo + { + idc = -1; + x = 0.659574; + y = 0.427108; + w = 0.153191; + h = 0.135461; + onButtonClick = "[17735,1,""mid""] call player_changeCombo"; + }; + class bottom_left: main_combo + { + idc = -1; + x = 0.4375; + y = 0.637904; + w = 0.1625; + h = 0.135461; + onButtonClick = "[17736,0,""bot""] call player_changeCombo"; + }; + class bottom_right: main_combo + { + idc = -1; + x = 0.658245; + y = 0.633964; + w = 0.155851; + h = 0.133491; + onButtonClick = "[17736,1,""bot""] call player_changeCombo"; + }; + class exit_combo_btn: main_combo + { + idc = -1; + x = 0.827128; + y = 0.0153665; + w = 0.158511; + h = 0.153191; + onButtonClick = "((ctrlParent (_this select 0)) closeDisplay 3000);"; + }; + class unlock_combo_btn: main_combo + { + idc = -1; + x = 0.218085; + y = 0.762017; + w = 0.201064; + h = 0.233964; + onButtonClick = "call player_unlockDoor"; + }; + }; +}; + + +class KeypadUI +{ + idd = -1; + movingenable = 0; + + class Controls + { + class KeypadUIPic: RscPicture + { + idc = -1; + text = "\z\addons\dayz_epoch\ui\lockbox_gui.paa"; + x = 0.0492023; + y = 0.00788009; + w = 0.902925; + h = 0.98818; + }; + class main_button: RscButton + { + idc = -1; + text = ""; + style = "0x02 + 0x100"; + colorText[] = {1,1,1,0}; + colorDisabled[] = {1,1,1,0}; + colorBackground[] = {1,1,1,0}; + colorBackgroundDisabled[] = {1,1,1,0}; + colorBackgroundActive[] = {1,1,1,0.1}; + colorShadow[] = {1,1,1,0}; + colorFocused[] = {1,1,1,0.1}; + soundClick[] = {"",0.6,1}; + }; + class red_button: main_button + { + idc = -1; + x = 0.171543; + y = 0.115839; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(100);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class green_button: main_button + { + idc = -1; + x = 0.343085; + y = 0.115839; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(101);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class blue_button: main_button + { + idc = -1; + x = 0.514628; + y = 0.115839; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(102);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_1: main_button + { + idc = -1; + x = 0.174202; + y = 0.308905; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(1);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_2: main_button + { + idc = -1; + x = 0.344415; + y = 0.310875; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(2);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_3: main_button + { + idc = -1; + x = 0.515957; + y = 0.312845; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(3);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_4: main_button + { + idc = -1; + x = 0.178192; + y = 0.50788; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(4);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_5: main_button + { + idc = -1; + x = 0.344415; + y = 0.50788; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(5);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_6: main_button + { + idc = -1; + x = 0.517287; + y = 0.50985; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(6);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_7: main_button + { + idc = -1; + x = 0.179521; + y = 0.700946; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(7);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_8: main_button + { + idc = -1; + x = 0.344415; + y = 0.700946; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(8);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_9: main_button + { + idc = -1; + x = 0.518617; + y = 0.704886; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(9);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + class keypad_0: main_button + { + idc = -1; + x = 0.692819; + y = 0.704886; + w = 0.126596; + h = 0.153191; + action = "dayz_combination = dayz_combination + str(0);"; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak"; + }; + + class kpbcancel: main_button + { + idc = -1; + x = 0.68617; + y = 0.312845; + w = 0.126596; + h = 0.153191; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak;((ctrlParent (_this select 0)) closeDisplay 3000);"; + }; + class kpbcancel2: main_button + { + idc = -1; + x = 0.69016; + y = 0.50985; + w = 0.126596; + h = 0.153191; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak;((ctrlParent (_this select 0)) closeDisplay 3000);"; + }; + class kpbenter: main_button + { + idc = -1; + x = 0.6875; + y = 0.121749; + w = 0.126596; + h = 0.153191; + onButtonClick = "[player,""keypad_tick"",0,false] call dayz_zombieSpeak;((ctrlParent (_this select 0)) closeDisplay 3000); if(!isNull dayz_selectedVault and (typeOf dayz_selectedVault) in DZE_LockedStorage) then {dayz_selectedVault spawn player_unlockVault;};"; + }; + }; +}; + + diff --git a/SQF/dayz_code/actions/list_playerDeaths.sqf b/SQF/dayz_code/actions/list_playerDeaths.sqf index e796d9849..ed963224d 100644 --- a/SQF/dayz_code/actions/list_playerDeaths.sqf +++ b/SQF/dayz_code/actions/list_playerDeaths.sqf @@ -13,16 +13,10 @@ waitUntil {!isNil "dayzPlayerDeathsResult"}; //diag_log format["DEBUG Death: %1", dayzPlayerDeathsResult]; -/* if((count dayzPlayerDeathsResult) > 0) then { - "Recent Player Deaths:" hintC dayzPlayerDeathsResult; + // load death message board ui + call EpochDeathBoardLoad; } else { - "Recent Player Deaths:" hintC "No recent Deaths."; -}; -*/ - -// load death message board ui -call EpochDeathBoardLoad; - -// Clear Data maybe consider cacheing results -// dayzPlayerDeathsResult = nil; \ No newline at end of file + cutText ["No recent Deaths.", "PLAIN DOWN"]; + dayzPlayerDeathsResult = nil; +}; \ No newline at end of file diff --git a/SQF/dayz_code/actions/player_build.sqf b/SQF/dayz_code/actions/player_build.sqf index d3cb2f8f5..6f882c6dd 100644 --- a/SQF/dayz_code/actions/player_build.sqf +++ b/SQF/dayz_code/actions/player_build.sqf @@ -2,7 +2,7 @@ DayZ Base Building Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. */ -private ["_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText"]; +private ["_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination"]; if(TradeInprogress) exitWith { cutText ["Building already in progress." , "PLAIN DOWN"]; }; TradeInprogress = true; @@ -29,6 +29,11 @@ _require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); +_lockable = 0; +if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { + _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); +}; + _offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset"); _isPole = (_classname == "Plastic_Pole_EP1_DZ"); @@ -100,32 +105,29 @@ if (_hasrequireditem) then { _counter = 0; _isOk = true; + + // get inital players position + _location1 = getPosATL player; + _dir = getDir player; + _position = player modeltoworld _offset; + _position = [(_position select 0),(_position select 1), (_position select 2)]; + // hintSilent str (_position); + + // if ghost preview available use that instead + if (_ghost == "") then { + _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; + } else { + _classname = _ghost; + _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; + }; + + _object setDir _dir; + _object setPos _position; + _object attachTo [player]; + + while {_isOk} do { - - - if(_counter == 0) then { - // get inital players position - _location1 = getPosATL player; - _dir = getDir player; - _position = player modeltoworld _offset; - _position = [(_position select 0),(_position select 1), (_position select 2)]; - hintSilent str (_position); - - // if ghost preview available use that instead - _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); - if (_ghost == "") then { - _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; - } else { - _classname = _ghost; - _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; - }; - - _object setDir _dir; - _object setPos _position; - _object attachTo [player]; - }; - _zheightchanged = false; if (DZE_Q) then { @@ -136,38 +138,42 @@ if (_hasrequireditem) then { if (DZE_Z) then { DZE_Z = false; DZE_BuildingZ = DZE_BuildingZ - 0.1; - _zheightchanged = true; }; - - if(_zheightchanged) then { - detach _object; - deleteVehicle _object; - _dir = getDir player; + _rotate = false; + + if (DZE_4) then { + _rotate = true; + DZE_4 = false; + _dir = 180; + }; + if (DZE_6) then { + _rotate = true; + DZE_6 = false; + _dir = 0; + }; + + if(_rotate) then { _position = player modeltoworld _offset; _position = [(_position select 0),(_position select 1), (_position select 2)+DZE_BuildingZ]; - hintSilent str (_position); - - // if ghost preview available use that instead - - if (_ghost == "") then { - _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; - } else { - _classname = _ghost; - _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; - }; - _object setDir _dir; _object setPos _position; + }; + + if(_zheightchanged) then { + detach _object; + _position = player modeltoworld _offset; + _position = [(_position select 0),(_position select 1), (_position select 2)+DZE_BuildingZ]; + + _object setDir (getDir _object); + _object setPos _position; _object attachTo [player]; }; cutText ["Planning construction numpad 8 = up, numpad 2 = down, and numpad 5 to start building.", "PLAIN DOWN"]; - _location0 = getPosATL player; - sleep 1; _location2 = getPosATL player; @@ -175,13 +181,14 @@ if (_hasrequireditem) then { if(DZE_5) exitWith { _isOk = false; detach _object; + _dir = getDir _object; deleteVehicle _object; }; if(_location1 distance _location2 > 5) exitWith { _isOk = false; _cancel = true; - _reason = "Moving to fast."; + _reason = "Moving too fast."; detach _object; deleteVehicle _object; }; @@ -207,13 +214,9 @@ if (_hasrequireditem) then { _classname = _classnametmp; - - - // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; - _dir = getDir player; _tmpbuilt setdir _dir; // Get position based on player @@ -304,11 +307,64 @@ if (_hasrequireditem) then { cutText [format[localize "str_build_01",_text], "PLAIN DOWN"]; - _tmpbuilt setVariable ["characterID",dayz_characterID,true]; - - //["dayzPublishObj",[dayz_characterID,_tmpbuilt,[_dir,_location],_classname]] call callRpcProcedure; - dayzPublishObj = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname]; - publicVariableServer "dayzPublishObj"; + _tmpbuilt setVariable ["OEMPos",_location,true]; + + if(_lockable > 1) then { + + switch (_lockable) do { + + case 2: { // 2 lockbox + _combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue + _combination_2 = floor(random 10); + _combination_3 = floor(random 10); + _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; + + if (_combination_1 == 100) then { + _combination_1_Display = "Red"; + }; + if (_combination_1 == 101) then { + _combination_1_Display = "Green"; + }; + if (_combination_1 == 102) then { + _combination_1_Display = "Blue"; + }; + _combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3]; + }; + + case 3: { // 3 combolock + _combination_1 = floor(random 10); + _combination_2 = floor(random 10); + _combination_3 = floor(random 10); + _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; + _combinationDisplay = _combination; + }; + + case 4: { // 4 safe + _combination_1 = floor(random 10); + _combination_2 = floor(random 10); + _combination_3 = floor(random 10); + _combination_4 = floor(random 10); + _combinationDisplay = _combination; + _combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4]; + }; + }; + + _tmpbuilt setVariable ["CharacterID",_combination,true]; + + + dayzPublishObj = [_combination,_tmpbuilt,[_dir,_location],_classname]; + publicVariableServer "dayzPublishObj"; + + cutText [format["You have setup your %2. Combination is %1",_combinationDisplay,_text], "PLAIN DOWN", 5]; + + + } else { + _tmpbuilt setVariable ["CharacterID",dayz_characterID,true]; + + dayzPublishObj = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname]; + publicVariableServer "dayzPublishObj"; + }; + } else { deleteVehicle _tmpbuilt; diff --git a/SQF/dayz_code/actions/player_buildingMaint.sqf b/SQF/dayz_code/actions/player_buildingMaint.sqf new file mode 100644 index 000000000..2c81f8322 --- /dev/null +++ b/SQF/dayz_code/actions/player_buildingMaint.sqf @@ -0,0 +1,129 @@ +/* + DayZ Base Building Maintenance + Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. +*/ +private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_requirements","_obj","_upgrade","_objectCharacterID"]; + +if(TradeInprogress) exitWith { cutText ["Upgrade already in progress." , "PLAIN DOWN"]; }; +TradeInprogress = true; + +player removeAction s_player_maint_build; +s_player_maint_build = 1; + +// get cursortarget from addaction +_obj = _this select 3; + +// Get classname +_classname = typeOf _obj; + +// Find display name +_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); + +// Find next maintain +_upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "maintainBuilding"); + +if ((count _upgrade) > 0) then { + _requirements = _upgrade; +} else { + _requirements = [["PartGeneric",1]]; +}; + +_missingQty = 0; +_missing = ""; + +_proceed = true; +{ + _itemIn = _x select 0; + _countIn = _x select 1; + _qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player; + if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; +} forEach _requirements; + +if (_proceed) then { + + _temp_removed_array = []; + _removed_total = 0; + _tobe_removed_total = 0; + + { + _removed = 0; + _itemIn = _x select 0; + _countIn = _x select 1; + // diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; + _tobe_removed_total = _tobe_removed_total + _countIn; + + { + if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then { + _num_removed = ([player,_x] call BIS_fnc_invRemove); + _removed = _removed + _num_removed; + _removed_total = _removed_total + _num_removed; + if(_num_removed >= 1) then { + _temp_removed_array set [count _temp_removed_array,_x]; + }; + }; + + } forEach magazines player; + + } forEach _requirements; + + // all parts removed proceed + if (_tobe_removed_total == _removed_total) then { + + // Get position + _location = _obj getVariable["OEMPos",(getposATL _obj)]; + + // Get direction + _dir = getDir _obj; + + // Find objectID + _objectID = _obj getVariable ["ObjectID","0"]; + + // Find objectUID + _objectUID = _obj getVariable ["ObjectUID","0"]; + + // Find CharacterID + _objectCharacterID = _obj getVariable ["CharacterID","0"]; + + // Create new object + _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"]; + + // Set direction + _object setDir _dir; + + // Set location + _object setPos _location; + + // Remove old object + deleteVehicle _obj; + + // Delete object from database + dayzDeleteObj = [_objectID,_objectUID]; + publicVariableServer "dayzDeleteObj"; + + // Publish variables + _object setVariable ["CharacterID",_objectCharacterID,true]; + _object setVariable ["ObjectID",_objectID,true]; + _object setVariable ["ObjectUID",_objectUID,true]; + _object setVariable ["OEMPos",_location,true]; + + dayzPublishObj = [_objectCharacterID,_object,[_dir,_location],_classname]; + publicVariableServer "dayzPublishObj"; + + cutText [format["You have repaired %1.",_text], "PLAIN DOWN", 5]; + + player reveal _object; + + } else { + + {player addMagazine _x;} forEach _temp_removed_array; + cutText [format["Missing Parts after first check Item: %1 / %2",_removed_total,_tobe_removed_total], "PLAIN DOWN"]; + + }; +} else { + _textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName"); + cutText [format["Missing %1 more of %2",_missingQty, _textMissing], "PLAIN DOWN"]; +}; + + +TradeInprogress = false; +s_player_maint_build = -1; \ No newline at end of file diff --git a/SQF/dayz_code/actions/player_eat.sqf b/SQF/dayz_code/actions/player_eat.sqf index 269ef26c4..b90a7bf90 100644 --- a/SQF/dayz_code/actions/player_eat.sqf +++ b/SQF/dayz_code/actions/player_eat.sqf @@ -74,7 +74,7 @@ player setVariable["USEC_BloodQty",r_player_blood,true]; player setVariable["medForceUpdate",true]; //["dayzPlayerSave",[player,[],true]] call callRpcProcedure; -dayzPlayerSave = [player,[],true]; +dayzPlayerSave = [player,[],true,true]; publicVariableServer "dayzPlayerSave"; dayz_lastMeal = time; diff --git a/SQF/dayz_code/actions/player_goFishing.sqf b/SQF/dayz_code/actions/player_goFishing.sqf index 62eeb9bc6..30984f9f1 100644 --- a/SQF/dayz_code/actions/player_goFishing.sqf +++ b/SQF/dayz_code/actions/player_goFishing.sqf @@ -1,9 +1,9 @@ /* DayZ Fishing Usage: spawn player_goFishing; - Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. + Made for DayZ Mod please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. */ -private ["_itemOut","_position","_isOk","_counter"]; +private ["_itemOut","_position","_isOk","_counter","_rnd","_item","_itemtodrop","_vehicle","_inVehicle"]; if(TradeInprogress) exitWith { cutText ["Fishing already in progress." , "PLAIN DOWN"]; }; TradeInprogress = true; @@ -46,7 +46,6 @@ while {_isOk} do { _rnd = 50; }; }; - // 1% chance to catch anything if((random _rnd) <= 1) then { @@ -61,7 +60,6 @@ while {_isOk} do { player addMagazine _itemOut; }; - cutText ["You caught a fish.", "PLAIN DOWN"]; _isOk = false; } else { diff --git a/SQF/dayz_code/actions/player_tagFriendly.sqf b/SQF/dayz_code/actions/player_tagFriendly.sqf index 417448f76..527a7594d 100644 --- a/SQF/dayz_code/actions/player_tagFriendly.sqf +++ b/SQF/dayz_code/actions/player_tagFriendly.sqf @@ -5,8 +5,8 @@ _action = _this select 2; _caller removeAction _action; -_callerID = _caller getVariable "characterID"; -_targetID = _target getVariable "characterID"; +_callerID = _caller getVariable "CharacterID"; +_targetID = _target getVariable "CharacterID"; _friendlies = _caller getVariable ["friendlies", []]; _friendlies set [count _friendlies, _targetID]; diff --git a/SQF/dayz_code/actions/player_upgrade.sqf b/SQF/dayz_code/actions/player_upgrade.sqf new file mode 100644 index 000000000..c294a9917 --- /dev/null +++ b/SQF/dayz_code/actions/player_upgrade.sqf @@ -0,0 +1,151 @@ +/* + DayZ Base Building Upgrades + Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. +*/ +private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_newclassname","_requirements","_obj","_upgrade","_lockable","_combination_1_Display","_combination_1","_combination_2","_combination_3","_combination","_combinationDisplay","_objectCharacterID"]; + +if(TradeInprogress) exitWith { cutText ["Upgrade already in progress." , "PLAIN DOWN"]; }; +TradeInprogress = true; + +player removeAction s_player_upgrade_build; +s_player_upgrade_build = 1; + +// get cursortarget from addaction +_obj = _this select 3; + +// Get classname +_classname = typeOf _obj; + +// Find display name +_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); + +// Find next upgrade +_upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "upgradeBuilding"); + +if ((count _upgrade) > 0) then { + + _newclassname = _upgrade select 0; + + _lockable = 0; + if(isNumber (configFile >> "CfgVehicles" >> _newclassname >> "lockable")) then { + _lockable = getNumber(configFile >> "CfgVehicles" >> _newclassname >> "lockable"); + }; + + _requirements = _upgrade select 1; + + _missingQty = 0; + _missing = ""; + + _proceed = true; + { + _itemIn = _x select 0; + _countIn = _x select 1; + _qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player; + if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; + } forEach _requirements; + + if (_proceed) then { + + _temp_removed_array = []; + _removed_total = 0; + _tobe_removed_total = 0; + + { + _removed = 0; + _itemIn = _x select 0; + _countIn = _x select 1; + // diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; + _tobe_removed_total = _tobe_removed_total + _countIn; + + { + if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then { + _num_removed = ([player,_x] call BIS_fnc_invRemove); + _removed = _removed + _num_removed; + _removed_total = _removed_total + _num_removed; + if(_num_removed >= 1) then { + _temp_removed_array set [count _temp_removed_array,_x]; + }; + }; + + } forEach magazines player; + + } forEach _requirements; + + // all parts removed proceed + if (_tobe_removed_total == _removed_total) then { + + // Get position + _location = _obj getVariable["OEMPos",(getposATL _obj)]; + + // Get direction + _dir = getDir _obj; + + // Find objectID + _objectID = _obj getVariable ["ObjectID","0"]; + + // Find objectUID + _objectUID = _obj getVariable ["ObjectUID","0"]; + + // Current charID + _objectCharacterID = _obj getVariable ["CharacterID","0"]; + + _classname = _newclassname; + + // Create new object + _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"]; + + // Set direction + _object setDir _dir; + + // Set location + _object setPos _location; + + // Remove old object + deleteVehicle _obj; + + // Delete object from database + dayzDeleteObj = [_objectID,_objectUID]; + publicVariableServer "dayzDeleteObj"; + + if (_lockable == 3) then { + + _combination_1 = floor(random 10); + _combination_2 = floor(random 10); + _combination_3 = floor(random 10); + _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; + + _objectCharacterID = _combination; + + cutText [format["You have upgraded %2. Combination is %1",_combination,_text], "PLAIN DOWN", 5]; + } else { + cutText [format["You have upgraded %1.",_text], "PLAIN DOWN", 5]; + }; + + // Publish variables + _object setVariable ["CharacterID",_objectCharacterID,true]; + _object setVariable ["ObjectID",_objectID,true]; + _object setVariable ["ObjectUID",_objectUID,true]; + _object setVariable ["OEMPos",_location,true]; + + dayzPublishObj = [_objectCharacterID,_object,[_dir,_location],_classname]; + publicVariableServer "dayzPublishObj"; + + player reveal _object; + + } else { + + {player addMagazine _x;} forEach _temp_removed_array; + cutText [format["Missing Parts after first check Item: %1 / %2",_removed_total,_tobe_removed_total], "PLAIN DOWN"]; + + }; + } else { + _textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName"); + cutText [format["Missing %1 more of %2",_missingQty, _textMissing], "PLAIN DOWN"]; + }; + +} else { + cutText ["No upgrades available", "PLAIN DOWN"]; +}; + +TradeInprogress = false; +s_player_upgrade_build = -1; \ No newline at end of file diff --git a/SQF/dayz_code/actions/pzombie/pz_feed.sqf b/SQF/dayz_code/actions/pzombie/pz_feed.sqf index 3560a8917..00cbf195a 100644 --- a/SQF/dayz_code/actions/pzombie/pz_feed.sqf +++ b/SQF/dayz_code/actions/pzombie/pz_feed.sqf @@ -64,7 +64,7 @@ if(!(alive _item)) then { dayz_hunger = 0; //["dayzPlayerSave",[player,[],true]] call callRpcProcedure; - dayzPlayerSave = [player,[],true]; + dayzPlayerSave = [player,[],true,false]; publicVariableServer "dayzPlayerSave"; [player,"eat",0,false] call dayz_zombieSpeak; diff --git a/SQF/dayz_code/actions/tame_dog.sqf b/SQF/dayz_code/actions/tame_dog.sqf index b159d46ac..ee30ffe1f 100644 --- a/SQF/dayz_code/actions/tame_dog.sqf +++ b/SQF/dayz_code/actions/tame_dog.sqf @@ -56,7 +56,7 @@ if(_removed == _countIn) then { _fsmid setFSMVariable ["_handle", _fsmid]; player setVariable ["dogID", _fsmid]; _dog setVariable ["fsm_handle", _fsmid]; - _dog setVariable ["characterID", dayz_characterID, true]; + _dog setVariable ["CharacterID", dayz_characterID, true]; cutText [format["Dog consumed %1, and is now tamed.",_textRemoved], "PLAIN DOWN"]; } else { diff --git a/SQF/dayz_code/actions/tent_pitch.sqf b/SQF/dayz_code/actions/tent_pitch.sqf index c9256f6ad..50f3070bc 100644 --- a/SQF/dayz_code/actions/tent_pitch.sqf +++ b/SQF/dayz_code/actions/tent_pitch.sqf @@ -57,7 +57,7 @@ if (!_isOk) then { player reveal _object; _location = getPosATL _object; - _object setVariable ["characterID",dayz_characterID,true]; + _object setVariable ["CharacterID",dayz_characterID,true]; //["dayzPublishObj",[dayz_characterID,_tent,[_dir,_location],_classname]] call callRpcProcedure; dayzPublishObj = [dayz_characterID,_object,[_dir,_location],_classname]; diff --git a/SQF/dayz_code/actions/vault_combination_1.sqf b/SQF/dayz_code/actions/vault_combination_1.sqf index 8a07f083d..deee26f0f 100644 --- a/SQF/dayz_code/actions/vault_combination_1.sqf +++ b/SQF/dayz_code/actions/vault_combination_1.sqf @@ -5,7 +5,12 @@ dayz_combination = ""; {player removeAction _x} forEach s_player_combi;s_player_combi = []; if(!isNull dayz_selectedVault) then { - _ok = createdialog "SafeKeyPad"; + + + + _ok = createdialog "KeypadUI"; + + // _ok = createdialog "SafeKeyPad"; }; s_player_unlockvault = -1; \ No newline at end of file diff --git a/SQF/dayz_code/actions/vault_pitch.sqf b/SQF/dayz_code/actions/vault_pitch.sqf index e36cc8d45..9240c2041 100644 --- a/SQF/dayz_code/actions/vault_pitch.sqf +++ b/SQF/dayz_code/actions/vault_pitch.sqf @@ -156,7 +156,7 @@ if(!_cancel) then { // Format Combination _combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4]; - _tent setVariable ["characterID",_combination,true]; + _tent setVariable ["CharacterID",_combination,true]; _tent setVariable ["OEMPos",_location,true]; //["dayzPublishObj",[_combination,_tent,[_dir,_location],"VaultStorageLocked"]] call callRpcProcedure; diff --git a/SQF/dayz_code/compile/fn_damageActions.sqf b/SQF/dayz_code/compile/fn_damageActions.sqf index 1b327b402..ed0e6af88 100644 --- a/SQF/dayz_code/compile/fn_damageActions.sqf +++ b/SQF/dayz_code/compile/fn_damageActions.sqf @@ -53,7 +53,7 @@ if (_hasPatient and !r_drag_sqf and !r_action and !_inVehicle and !r_player_unco _inPain = _unit getVariable ["USEC_inPain", false]; _legsBroke = _unit getVariable ["hit_legs", 0] >= 1; _armsBroke = _unit getVariable ["hit_hands", 0] >= 1; - _charID = _unit getVariable ["characterID", 0]; + _charID = _unit getVariable ["CharacterID", 0]; _friendlies = player getVariable ["friendlies", []]; _playerMagazines = magazines player; _hasBandage = "ItemBandage" in _playerMagazines; diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf index 776de96f6..f72c63527 100644 --- a/SQF/dayz_code/compile/fn_selfActions.sqf +++ b/SQF/dayz_code/compile/fn_selfActions.sqf @@ -4,7 +4,7 @@ scriptName "Functions\misc\fn_selfActions.sqf"; - Function - [] call fnc_usec_selfActions; ************************************************************/ -private ["_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil"]; +private ["_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE"]; if (TradeInprogress) exitWith {}; // Do not allow if any script is running. @@ -37,19 +37,14 @@ if (_canPickLight and !dayz_hasLight and !_isPZombie) then { s_player_removeflare = -1; }; -if(dayz_playerUID == "4560582") then { - hint str(typeOf cursorTarget); +if(dayz_playerUID == "4854208") then { + // hint str(typeOf cursorTarget); if (s_player_debuglootpos < 0) then { - s_player_debuglootpos = player addAction ["Save to arma2.rpt", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["start"], 99, false, true, "",""]; - s_player_debuglootpos1 = player addAction ["Raise Z", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["up"], 99, false, true, "",""]; - s_player_debuglootpos2 = player addAction ["Lower Z", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["down"], 99, false, true, "",""]; - s_player_debuglootpos3 = player addAction ["Raise Z", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["up_small"], 99, false, true, "",""]; - s_player_debuglootpos4 = player addAction ["Lower Z", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["down_small"], 99, false, true, "",""]; - Base_Z_height = 0.5; + s_player_debuglootpos = player addAction [ "GCam", "gcam\gcam.sqf" ]; + // handle = [] execVM "gcam\gcam.sqf"; }; }; - if(_isPZombie) then { if (s_player_callzombies < 0) then { s_player_callzombies = player addAction ["Raise Horde", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""]; @@ -89,10 +84,10 @@ if(_isAir or _isShip) then { }; if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cursorTarget < _allowedDistance) and _canDo) then { //Has some kind of target - + // set cursortarget to variable _cursorTarget = cursorTarget; - + // get typeof cursortarget once _typeOfCursorTarget = typeOf _cursorTarget; @@ -131,7 +126,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu _isMan = _cursorTarget isKindOf "Man"; _traderType = _typeOfCursorTarget; - _ownerID = _cursorTarget getVariable ["characterID","0"]; + _ownerID = _cursorTarget getVariable ["CharacterID","0"]; _isAnimal = _cursorTarget isKindOf "Animal"; _isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin"); _isZombie = _cursorTarget isKindOf "zZombie_base"; @@ -385,19 +380,19 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu }; //Allow owner to unlock vault - if((_typeOfCursorTarget == "VaultStorageLocked" or _typeOfCursorTarget == "VaultStorage") and _ownerID != "0" and (player distance _cursorTarget < 3)) then { + if((_typeOfCursorTarget in DZE_LockableStorage) and _ownerID != "0" and (player distance _cursorTarget < 3)) then { if (s_player_unlockvault < 0) then { - if(_typeOfCursorTarget == "VaultStorageLocked") then { + if(_typeOfCursorTarget in DZE_LockedStorage) then { if(_ownerID == dayz_combination or _ownerID == dayz_playerUID) then { - _combi = player addAction ["Open Safe", "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""]; + _combi = player addAction [format["Open %1",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""]; } else { - _combi = player addAction ["Unlock Safe", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""]; + _combi = player addAction [format["Unlock %1",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""]; }; s_player_combi set [count s_player_combi,_combi]; s_player_unlockvault = 1; } else { if(_ownerID != dayz_combination and _ownerID != dayz_playerUID) then { - _combi = player addAction ["Enter Combo", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""]; + _combi = player addAction ["Re-Enter Combination", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""]; s_player_combi set [count s_player_combi,_combi]; s_player_unlockvault = 1; }; @@ -409,15 +404,15 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu }; //Allow owner to pack vault - if(_typeOfCursorTarget == "VaultStorage" and _ownerID != "0" and (player distance _cursorTarget < 3)) then { + if(_typeOfCursorTarget in DZE_UnLockedStorage and _ownerID != "0" and (player distance _cursorTarget < 3)) then { if (s_player_lockvault < 0) then { if(_ownerID == dayz_combination or _ownerID == dayz_playerUID) then { - s_player_lockvault = player addAction ["Lock Safe", "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""]; + s_player_lockvault = player addAction [format["Lock %1",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""]; }; }; if (s_player_packvault < 0 and (_ownerID == dayz_combination or _ownerID == dayz_playerUID)) then { - s_player_packvault = player addAction ["Pack Safe", "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "",""]; + s_player_packvault = player addAction [format["Pack %1",_text], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_packvault; @@ -479,6 +474,44 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu s_player_fuelauto2 = -1; }; + + if ((_cursorTarget isKindOf "ModularItems") or (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base")) then { + if ((s_player_lastTarget select 0) != _cursorTarget) then { + if (s_player_upgrade_build > 0) then { + player removeAction s_player_upgrade_build; + s_player_upgrade_build = -1; + }; + }; + if (s_player_upgrade_build < 0) then { + // s_player_lastTarget = _cursorTarget; + s_player_lastTarget set [0,_cursorTarget]; + s_player_upgrade_build = player addAction [format["Upgrade %1",_text], "\z\addons\dayz_code\actions\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""]; + }; + } else { + player removeAction s_player_upgrade_build; + s_player_upgrade_build = -1; + }; + + + // inplace maintenance tool + if((_isDestructable or _cursorTarget isKindOf "ModularItems" or _cursorTarget isKindOf "DZE_Housebase")) then { + if ((s_player_lastTarget select 1) != _cursorTarget) then { + if (s_player_maint_build > 0) then { + player removeAction s_player_maint_build; + s_player_maint_build = -1; + }; + }; + + if (s_player_maint_build < 0) then { + s_player_lastTarget set [1,_cursorTarget]; + s_player_maint_build = player addAction [format["Maintain %1",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""]; + }; + } else { + player removeAction s_player_maint_build; + s_player_maint_build = -1; + }; + + //Start Generator if(_cursorTarget isKindOf "Generator_DZ") then { if (s_player_fillgen < 0) then { @@ -659,6 +692,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu {player removeAction _x} forEach s_player_combi;s_player_combi = []; dayz_myCursorTarget = objNull; + s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull]; {player removeAction _x} forEach s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; @@ -722,6 +756,10 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu s_player_information = -1; player removeAction s_player_fillgen; s_player_fillgen = -1; + player removeAction s_player_upgrade_build; + s_player_upgrade_build = -1; + player removeAction s_player_maint_build; + s_player_maint_build = -1; player removeAction s_player_towing; s_player_towing = -1; player removeAction s_player_fuelauto; @@ -737,7 +775,7 @@ _dogHandle = player getVariable ["dogID", 0]; if (_dogHandle > 0) then { _dog = _dogHandle getFSMVariable "_dog"; _ownerID = "0"; - if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["characterID","0"]; }; + if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; }; if (_canDo and !_inVehicle and alive _dog and _ownerID != dayz_characterID) then { if (s_player_movedog < 0) then { s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""]; diff --git a/SQF/dayz_code/compile/object_speak.sqf b/SQF/dayz_code/compile/object_speak.sqf index da84e5edb..68ea9a4bf 100644 --- a/SQF/dayz_code/compile/object_speak.sqf +++ b/SQF/dayz_code/compile/object_speak.sqf @@ -19,6 +19,7 @@ _num = switch (_type) do { case "dog_bark": {4}; case "dog_growl": {3}; case "dog_qq": {2}; + case "keypad_tick": {2}; }; if (count _this > 4) then { diff --git a/SQF/dayz_code/compile/player_changeCombo.sqf b/SQF/dayz_code/compile/player_changeCombo.sqf new file mode 100644 index 000000000..6542d8ccb --- /dev/null +++ b/SQF/dayz_code/compile/player_changeCombo.sqf @@ -0,0 +1,63 @@ +/* + Change UI image + Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. +*/ +private ["_result","_control","_directon","_name","_PubVar","_display"]; + +_control = _this select 0; +_directon = _this select 1; +_name = _this select 2; + +_pubVar = 0; + +switch (_name) do { + + case "top": { + _pubVar = DZE_topCombo; + }; + case "mid": { + _pubVar = DZE_midCombo; + }; + case "bot": { + _pubVar = DZE_botCombo; + }; +}; + +if (_directon == 1) then { + + if(_PubVar == 9) then { + _result = 0; + } else { + _result = _pubVar + 1; + }; + +} else { + + if(_PubVar == 0) then { + _result = 9; + } else { + _result = _pubVar - 1; + }; + +}; + +_display = findDisplay 41144; +_control = _display displayCtrl _control; +_control ctrlSetText format["\z\addons\dayz_epoch\ui\%1_%2.paa",_name,_result]; + +[player,"combo_tick",0,false] call dayz_zombieSpeak; + +switch (_name) do { + + case "top": { + DZE_topCombo = _result; + }; + case "mid": { + DZE_midCombo = _result; + }; + case "bot": { + DZE_botCombo = _result; + }; +}; + +DZE_Lock_Door = format["%1%2%3",DZE_topCombo,DZE_midCombo,DZE_botCombo]; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_friendliesCheck.sqf b/SQF/dayz_code/compile/player_friendliesCheck.sqf index 8d1771797..67810a4d7 100644 --- a/SQF/dayz_code/compile/player_friendliesCheck.sqf +++ b/SQF/dayz_code/compile/player_friendliesCheck.sqf @@ -1,5 +1,5 @@ private ["_charID","_friendlies","_rcharID","_rfriendlyTo","_tag","_player","_newTagList","_position","_rfriendlies","_tagList","_statusNew","_tagColor","_humanity","_status","_everyone"]; -_charID = player getVariable ["characterID", "0"]; +_charID = player getVariable ["CharacterID", "0"]; _friendlies = player getVariable ["friendlies", []]; _everyone = player getVariable ["everyone", []]; _tagList = player getVariable ["tagList", []]; @@ -7,7 +7,7 @@ _tagList = player getVariable ["tagList", []]; // create tags { if (isPlayer _x and player != _x) then { - _rcharID = _x getVariable ["characterID", "0"]; + _rcharID = _x getVariable ["CharacterID", "0"]; if(!(_rcharID in _everyone)) then { // Track who has tags @@ -62,7 +62,7 @@ _newTagList = []; if (_status != "green") then { //diag_log format["CHECK IF FRIENDLY: %1", _player]; - _rcharID = _player getVariable ["characterID", "0"]; + _rcharID = _player getVariable ["CharacterID", "0"]; _rfriendlies = _player getVariable ["friendlies", []]; _rfriendlyTo = _player getVariable ["friendlyTo", []]; diff --git a/SQF/dayz_code/compile/player_humanityMorph.sqf b/SQF/dayz_code/compile/player_humanityMorph.sqf index 529d9a757..027524675 100644 --- a/SQF/dayz_code/compile/player_humanityMorph.sqf +++ b/SQF/dayz_code/compile/player_humanityMorph.sqf @@ -72,7 +72,7 @@ player setVariable["zombieKills",_zombieKills,true]; player setVariable["headShots",_headShots,true]; player setVariable["humanKills",_humanKills,true]; player setVariable["banditKills",_banditKills,true]; -player setVariable["characterID",_charID,true]; +player setVariable["CharacterID",_charID,true]; player setVariable["worldspace",_worldspace,true]; player setVariable["friendlies",_friendlies,true]; player setVariable["tagList",_tagList,true]; diff --git a/SQF/dayz_code/compile/player_unlockDoor.sqf b/SQF/dayz_code/compile/player_unlockDoor.sqf new file mode 100644 index 000000000..f75f5eb25 --- /dev/null +++ b/SQF/dayz_code/compile/player_unlockDoor.sqf @@ -0,0 +1,39 @@ +/* + DayZ Unlock Door + Usage: [_obj] call player_unlockDoor; + Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. +*/ +private ["_ok"]; + +if(!isNull dayz_selectedDoor) then { + + // our target + _obj = dayz_selectedDoor; + + // get object combination + _objectCharacterID = _obj getVariable ["CharacterID","0"]; + + // Check combination + if (DZE_Lock_Door == _objectCharacterID) then { + + [player,"combo_unlock",0,false] call dayz_zombieSpeak; + + // close display + _display = findDisplay 41144; + _display closeDisplay 3000; + + // unlock if locked + if(_obj animationPhase "Open_hinge" == 0) then { + _obj animate ["Open_hinge", 1]; + }; + + } else { + DZE_Lock_Door = ""; + [player,"combo_locked",0,false] call dayz_zombieSpeak; + }; +} else { + + // close display since no target + _display = findDisplay 41144; + _display closeDisplay 3000; +}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_unlockVault.sqf b/SQF/dayz_code/compile/player_unlockVault.sqf index db7667ceb..cc327746a 100644 --- a/SQF/dayz_code/compile/player_unlockVault.sqf +++ b/SQF/dayz_code/compile/player_unlockVault.sqf @@ -28,6 +28,9 @@ if(isNull _obj or !(alive _obj)) exitWith { TradeInprogress = false; }; _ownerID = _obj getVariable["CharacterID","0"]; +diag_log format["Combination: %1", dayz_combination]; + + if (_alreadyPacking == 1) exitWith {TradeInprogress = false; cutText [format["That %1 is already being unlocked.",_text], "PLAIN DOWN"]}; // Promt user for password if _ownerID != dayz_playerUID diff --git a/SQF/dayz_code/compile/server_updatePlayer.sqf b/SQF/dayz_code/compile/server_updatePlayer.sqf index 2ab6d1bb4..89bb1aaf6 100644 --- a/SQF/dayz_code/compile/server_updatePlayer.sqf +++ b/SQF/dayz_code/compile/server_updatePlayer.sqf @@ -1,7 +1,7 @@ private ["_characterID","_temp","_isSync","_currentWpn","_currentMag","_magazines","_qty","_qtyT","_val","_isNewPos","_isNewBackp","_humanity","_isNewGear","_doUpdate","_currentModel","_modelChk","_playerPos","_playerGear","_playerBackp","_backpack","_updates","_killsB","_killsH","_medical","_isNewMed","_character","_timeSince","_charPos","_isInVehicle","_justAte","_justDrank","_distanceFoot","_lastPos","_kills","_headShots","_timeGross","_timeLeft","_onLadder","_isTerminal","_vehicle","_wounds","_currentAnim","_muzzles","_array","_key","_lastTime","_config","_currentState"]; _character = _this; _doUpdate = false; -_characterID = _character getVariable ["characterID","0"]; +_characterID = _character getVariable ["CharacterID","0"]; _updates = _character getVariable ["updatePlayer",[false,false,false,false,false]]; _charPos = getPosATL _character; _isInVehicle = vehicle _character != _character; diff --git a/SQF/dayz_code/compile/tame_dog.sqf b/SQF/dayz_code/compile/tame_dog.sqf index d45db533b..0cb529681 100644 --- a/SQF/dayz_code/compile/tame_dog.sqf +++ b/SQF/dayz_code/compile/tame_dog.sqf @@ -33,4 +33,4 @@ _fsmid = [_dog, typeOf _dog] execFSM "\z\addons\dayz_code\system\dog_agent.fsm"; _fsmid setFSMVariable ["_handle", _fsmid]; player setVariable ["dogID", _fsmid]; _dog setVariable ["fsm_handle", _fsmid]; -_dog setVariable ["characterID", dayz_characterID, true]; \ No newline at end of file +_dog setVariable ["CharacterID", dayz_characterID, true]; \ No newline at end of file diff --git a/SQF/dayz_code/compile/wild_spawnZombies.sqf b/SQF/dayz_code/compile/wild_spawnZombies.sqf index 663f8a676..b46cba839 100644 --- a/SQF/dayz_code/compile/wild_spawnZombies.sqf +++ b/SQF/dayz_code/compile/wild_spawnZombies.sqf @@ -24,7 +24,6 @@ if (_doLoiter) then { _agent setDir round(random 180); }; - dayz_spawnZombies = dayz_spawnZombies + 1; if (random 1 > 0.7) then { diff --git a/SQF/dayz_code/compile/zombie_generate.sqf b/SQF/dayz_code/compile/zombie_generate.sqf index 84401e368..8fd68ad25 100644 --- a/SQF/dayz_code/compile/zombie_generate.sqf +++ b/SQF/dayz_code/compile/zombie_generate.sqf @@ -18,6 +18,7 @@ if (!_isNoone) exitWith {}; if (count _unitTypes == 0) then { _unitTypes = []+ getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass"); }; + _type = _unitTypes call BIS_fnc_selectRandom; //Create the Group and populate it diff --git a/SQF/dayz_code/config.cpp b/SQF/dayz_code/config.cpp index d93ce7f84..ec8865d34 100644 --- a/SQF/dayz_code/config.cpp +++ b/SQF/dayz_code/config.cpp @@ -40,7 +40,7 @@ class CfgMods hidePicture = 0; hideName = 0; action = "http://www.dayzepoch.com"; - version = "1.0.1.8"; + version = "1.0.1.94"; hiveVersion = 0.96; //0.93 }; }; @@ -217,12 +217,13 @@ class RscStructuredTextGUI: RscStructuredText valign = "middle"; }; }; -//#include "CfgWorlds.hpp" +// #include "Configs\CfgWorlds.hpp" #include "Configs\cfgMoves.hpp" #include "Configs\rscTitles.hpp" #include "Configs\safegui.hpp" #include "Configs\dialog.hpp" +#include "Configs\deathboards.hpp" #include "Configs\CfgVehicles.hpp" #include "Configs\CfgWeapons.hpp" @@ -532,13 +533,11 @@ class CfgBuildingLoot { { "","generic" }, { "LeeEnfield","weapon" }, { "revolver_EP1","weapon" }, - {"DZ_Assault_Pack_EP1","object"}, // 12 {"DZ_Czech_Vest_Puch","object"}, // 12-0 {"DZ_ALICE_Pack_EP1","object"}, // 16 {"DZ_TK_Assault_Pack_EP1","object"}, // 16 {"DZ_British_ACU","object"}, // 18 - { "Winchester1866","weapon" }, { "WeaponHolder_ItemTent","object" }, { "WeaponHolder_ItemTentDomed","object" }, @@ -554,37 +553,37 @@ class CfgBuildingLoot { {"MR43","weapon"}, }; itemChance[] = { - 0.001, - 0.001, - 0.003, + 0.01, + 0.01, + 0.01, 0.04, 0.03, 0.02, - 0.06, + 0.05, 0.01, 0.02, - 0.001, + 0.01, 0.04, 0.01, - 0.35, + 0.32, 0.03, 0.02, 0.02, 0.02, - 0.015, - 0.01, - 0.005, - 0.01, - 0.003, - 0.003, - 0.003, 0.02, - 0.15, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.02, + 0.12, 0.01, 0.02, 0.02, 0.01, - 0.005, + 0.01, 0.03, 0.01 }; @@ -611,13 +610,11 @@ class CfgBuildingLoot { { "","generic" }, { "LeeEnfield","weapon" }, { "revolver_EP1","weapon" }, - {"DZ_Assault_Pack_EP1","object"}, // 12 {"DZ_Czech_Vest_Puch","object"}, // 12-0 {"DZ_ALICE_Pack_EP1","object"}, // 16 {"DZ_TK_Assault_Pack_EP1","object"}, // 16 {"DZ_British_ACU","object"}, // 18 - { "Winchester1866","weapon" }, { "WeaponHolder_ItemTent","object" }, { "WeaponHolder_ItemTentDomed","object" }, @@ -633,37 +630,37 @@ class CfgBuildingLoot { { "ItemBriefcaseEmpty","magazine" }, }; itemChance[] = { - 0.001, - 0.001, - 0.003, + 0.01, + 0.01, + 0.01, 0.04, 0.03, 0.02, 0.06, 0.01, 0.02, - 0.001, + 0.01, 0.04, 0.01, - 0.35, + 0.31, 0.03, 0.02, 0.02, 0.02, - 0.015, - 0.01, - 0.005, - 0.01, - 0.003, - 0.003, - 0.003, 0.02, - 0.15, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.02, + 0.12, 0.01, 0.02, 0.02, 0.01, - 0.005, + 0.01, 0.03, 0.01 }; @@ -696,11 +693,11 @@ class CfgBuildingLoot { {"ItemKeyKit","weapon"} }; itemChance[] = { - 0.003, - 0.003, - 0.003, - 0.18, - 0.29, + 0.01, + 0.01, + 0.01, + 0.17, + 0.28, 0.04, 0.04, 0.05, @@ -709,12 +706,12 @@ class CfgBuildingLoot { 0.04, 0.01, 0.04, - 0.075, + 0.07, 0.07, 0.06, 0.01, 0.04, - 0.005 + 0.01 }; }; class IndustrialFuel: Default { @@ -744,10 +741,10 @@ class CfgBuildingLoot { {"ItemKeyKit","weapon"} }; itemChance[] = { - 0.005, - 0.005, + 0.01, + 0.01, 0.18, - 0.29, + 0.28, 0.04, 0.04, 0.05, @@ -756,12 +753,12 @@ class CfgBuildingLoot { 0.04, 0.01, 0.04, - 0.075, + 0.07, 0.07, 0.06, 0.01, 0.04, - 0.005 + 0.01 }; }; class Farm: Default { @@ -777,31 +774,29 @@ class CfgBuildingLoot { { "LeeEnfield","weapon" }, { "Winchester1866","weapon" }, { "","trash" }, - {"Crossbow_DZ","weapon"}, + { "Crossbow_DZ","weapon"}, { "PartWoodPile","magazine" }, { "WeaponHolder_ItemHatchet","object" }, - { "ItemShovel","weapon" }, { "MR43","weapon" }, - {"ItemFuelBarrel","magazine"}, + { "ItemFuelBarrel","magazine"}, { "WeaponHolder_ItemMachete", "object"}, { "ItemFishingPole","weapon" }, { "ItemLightBulb","magazine"} }; itemChance[] = { 0.05, - 0.27, - 0.01, + 0.3, + 0.02, 0.04, 0.03, - 0.21, + 0.27, 0.03, - 0.085, - 0.10, + 0.08, 0.05, 0.06, - 0.001, + 0.01, 0.03, - 0.014, + 0.01, 0.02 }; }; @@ -826,7 +821,6 @@ class CfgBuildingLoot { { "","generic" }, { "LeeEnfield","weapon" }, { "revolver_EP1","weapon" }, - {"DZ_Assault_Pack_EP1","object"}, // 12 {"DZ_Czech_Vest_Puch","object"}, // 12-0 {"DZ_ALICE_Pack_EP1","object"}, // 16 @@ -834,31 +828,28 @@ class CfgBuildingLoot { {"DZ_British_ACU","object"}, // 18 {"DZ_CompactPack_EP1","object"}, // {"DZ_TerminalPack_EP1","object"}, // - { "Winchester1866","weapon" }, { "WeaponHolder_ItemTent","object" }, { "WeaponHolder_ItemTentDomed","object" }, { "WeaponHolder_ItemTentDomed2","object" }, - { "","food" }, { "","trash" }, {"Crossbow_DZ","weapon"}, { "Binocular","weapon" }, { "PartWoodPile","magazine" }, - {"MR43","weapon"}, - {"ItemKeyKit","weapon"} + {"MR43","weapon"} }; itemChance[] = { - 0.003, - 0.003, - 0.004, - 0.10, + 0.01, + 0.01, + 0.01, + 0.07, 0.02, 0.04, 0.02, 0.01, - 0.005, - 0.025, + 0.01, + 0.02, 0.04, 0.04, 0.01, @@ -868,19 +859,18 @@ class CfgBuildingLoot { 0.02, 0.02, 0.01, - 0.005, - 0.005, 0.01, - 0.003, - 0.003, - 0.003, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, 0.29, - 0.14, + 0.12, 0.01, 0.05, 0.02, - 0.01, - 0.001 + 0.01 }; }; class HeliCrash: Default { @@ -908,36 +898,34 @@ class CfgBuildingLoot { { "AmmoBoxSmall_762","object" }, { "militaryclothes","single" }, {"G36C","weapon"}, - {"G36C_camo","weapon"}, - //{"G36_C_SD_camo","weapon"}, + {"G36_C_SD_camo","weapon"}, {"G36A_camo","weapon"}, - {"G36K_camo","weapon"}, + { "Pecheneg_DZ","weapon"}, {"100Rnd_762x54_PK","magazine"}, }; itemChance[] = { - 0.01, - 0.025, - 0.025, - 0.01, - 0.01, - 0.005, - 0.015, - 0.025, - 0.01, + 0.02, 0.03, + 0.02, + 0.01, + 0.01, + 0.02, + 0.02, + 0.02, + 0.01, + 0.02, 0.4, - 0.2, + 0.19, 0.05, 0.01, - 0.045, - 0.04, - 0.04, - 0.015, - 0.01, - // 0.01, + 0.03, + 0.03, + 0.05, + 0.02, + 0.01, + 0.01, 0.01, 0.01, - 0.005 }; }; class HeliCrash_No50s: Default { @@ -976,8 +964,8 @@ class HeliCrash_No50s: Default { 0.01, 0.01, 0.02, - 0.005, - 0.025, + 0.01, + 0.02, 0.44, 0.23, 0.04, @@ -985,12 +973,12 @@ class HeliCrash_No50s: Default { 0.04, 0.04, 0.03, - 0.015, + 0.01, 0.01, //0.01, 0.01, 0.01, - 0.005 + 0.01 }; }; class Hospital: Default { @@ -1066,40 +1054,40 @@ class HeliCrash_No50s: Default { itemChance[] = { 0.01, 0.01, - 0.005, - 0.005, - 0.015, - 0.005, 0.01, 0.01, - 0.01, - 0.005, 0.02, - 0.005, 0.01, - 0.005, + 0.01, + 0.01, + 0.01, + 0.01, + 0.02, + 0.01, + 0.01, + 0.01, 0.02, 0.02, 0.02, 0.02, 0.01, - 0.005, + 0.01, 0.03, 0.04, 0.01, - 0.005, + 0.01, 0.02, 0.04, 0.04, 0.03, - 0.01, - 0.01, - 0.005, 0.02, - 0.085, - 0.35, 0.01, - 0.005, + 0.01, + 0.02, + 0.07, + 0.3, + 0.01, + 0.01, 0.02, 0.01, 0.01, @@ -1165,47 +1153,48 @@ class HeliCrash_No50s: Default { itemChance[] = { 0.01, 0.01, - 0.005, - 0.005, - 0.015, - 0.005, + 0.01, + 0.01, + 0.03, + 0.01, + 0.01, 0.01, 0.01, 0.01, - 0.005, 0.02, - 0.005, 0.01, - 0.005, + 0.01, + 0.01, 0.02, 0.02, 0.02, 0.02, 0.01, - 0.005, + 0.01, 0.03, 0.04, 0.01, - 0.005, + 0.01, 0.02, 0.04, 0.04, 0.03, 0.01, 0.01, - 0.005, + 0.01, 0.02, - 0.085, + 0.01, 0.35, 0.01, - 0.005, + 0.01, 0.02, 0.01, 0.01, - 0.015, 0.01, - 0.003, - 0.002 + 0.01, + 0.01, + 0.01 + }; }; class MilitarySpecial: Default { @@ -1274,56 +1263,49 @@ class HeliCrash_No50s: Default { { "militaryclothes","single" }, }; itemChance[] = { - 0.011, - 0.006, - 0.002, - 0.002, - 0.001, - 0.011, - 0.002, - 0.011, - 0.011, - 0.011, - 0.001, - 0.001, - 0.023, - 0.001, - 0.002, - 0.011, - 0.003, - 0.023, - 0.011, - 0.023, - 0.001, - 0.005, - 0.006, - 0.002, - 0.001, - 0.009, - 0.005, - 0.002, - 0.011, - 0.006, - 0.018, - 0.001, - 0.003, - 0.002, - 0.009, - 0.009, - 0.008, - 0.001, - 0.001, - 0.001, - 0.034, - 0.114, - 0.569, - 0.001, - 0.001, - 0.001, - 0.001, - 0.002, - 0.002, - 0.007 + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.02, + 0.01, + 0.01, + 0.01, + 0.01, + 0.02, + 0.02, + 0.03, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.02, + 0.01, + 0.02, + 0.01, + 0.01, + 0.01, + 0.02, + 0.02, + 0.02, + 0.01, + 0.01, + 0.01, + 0.03, + 0.08, + 0.31, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01 }; }; class Hunting: Default { @@ -1345,15 +1327,15 @@ class HeliCrash_No50s: Default { {"","hunter"} }; itemChance[] = { - 0.015, - 0.009, - 0.008, - 0.011, - 0.006, - 0.375, - 0.006, - 0.008, - 0.562 + 0.02, + 0.01, + 0.01, + 0.03, + 0.01, + 0.38, + 0.02, + 0.02, + 0.5 }; }; class Church: Residential { @@ -1403,6 +1385,7 @@ class HeliCrash_No50s: Default { }; class Land_A_GeneralStore_01: Supermarket { lootPos[] = {{-1.32861,-2.72534,-0.621548},{4.4751,-2.69824,-0.621548},{-5.29688,0.796387,-0.691548},{-4.85498,2.95166,-0.201549},{-9.38965,-3.30371,-1.20155},{-3.77539,-3.86865,-1.20155},{1.31836,1.46631,-1.20155},{9.01367,3.8457,-1.20155},{13.3008,-1.77832,-1.20155},{9.81055,1.43213,-1.20155},{1.65039,5.14355,-1.20155},{0.753906,-3.69531,-1.20155},{13.3125,-7.65137,-1.20155},{11.168,-3.73682,-1.20155},{8.89453,-8.37402,-1.20155},{-2.04492,-7.58105,-1.20155},{-7.84766,-5.73633,-1.20155},{-8.22461,-7.32422,-1.20155},{3.79004,-5.69336,-1.20155},{-9.38379,4.46191,-1.20155},{-3.5752,4.46533,-1.20155},{-3.33789,0.612793,-1.20155},{10.5918,-9.9458,-1.21082},{0.105469,-9.6084,-1.21082},{-4.86035,-10.4209,-1.21082},{-6.80859,-1.23975,-1.20155},{1.12207,-1.58887,-1.20155}}; + lootPosSmall[] = {{13.4424,-6.02783,0.0384521},{1.94287,-8.70581,0.0284519},{-1.57178,-6.88525,0.0284519},{-5.23682,-5.02051,0.0284519},{-9.96191,-6.06763,0.348452},{11.4189,-3.03516,-1.03155},{-4.78076,2.83228,-1.18155},{11.0488,2.04883,-1.01155}}; }; class Land_Farm_Cowshed_a: Farm { lootPos[] = {{-1.06836,-5.92163,-3.08763},{1.69043,-4.91089,-3.08763},{5.8833,-6.15381,-3.08763},{8.83984,-5.60278,-3.08763},{9.74023,-2.48657,-3.08763},{2.88428,-2.34546,-3.08763},{7.88037,2.94214,-3.08763}}; @@ -1468,9 +1451,11 @@ class HeliCrash_No50s: Default { }; class Land_Tovarna2: Industrial { lootPos[] = {{-11.6309,7.2052,-5.55933},{-12.0674,2.56909,-5.55933},{-4.89355,6.6394,-5.55933},{-3.74121,2.90393,-3.89665},{-12.8672,1.44519,-2.23135},{-12.415,8.1311,-2.23135},{-12.7236,4.11255,-2.23135},{-3.99805,8.9801,-2.23156},{-7.33105,8.44214,-2.23156},{-4.55371,5.22644,-2.23156},{-11.4746,2.92114,1.66661},{-11.0703,8.13818,1.66661},{-4.67578,7.32678,1.62174},{-2.68262,3.44763,3.4243},{-13.1953,-8.95862,3.4243},{-8.80859,-0.443481,0.401226},{-12.1328,-0.149414,0.424298},{-2.03418,6.61414,-5.55933},{0.239258,1.72278,-5.59793},{6.22461,-3.948,-4.61825},{-6.39355,-8.24353,-5.59541},{-10.8496,-6.91211,-5.56572},{-6.77637,-1.73083,-5.56019}}; + lootPosSmall[] = {{0.239014,-9.03516,0.374299},{1.66577,8.69482,0.374299},{-3.80029,-3.91016,6.55535}}; }; class Land_rail_station_big: Office { lootPos[] = {{1.78076,0.811768,-4.05438},{-4.97266,4.55737,-5.04438},{0.458496,4.85229,-5.04438},{2.4624,2.21851,-5.04438},{-1.32373,-2.60571,-5.04438},{-3.29443,-0.121826,-5.04438},{-1.07764,2.36646,-5.04438},{7.46045,-3.41528,-5.04438},{8.93408,3.1189,-5.04438},{-8.16357,-5.12842,-5.04438}}; + lootPosSmall[] = {{3.07373,-0.718994,-3.91438}}; }; class Land_Ind_Vysypka: Industrial { lootPos[] = {{0.486084,4.95459,-4.96861},{1.08032,-0.406738,-4.96801},{-0.0354004,-10.8208,-4.96686},{-5.07788,-16.4624,-4.96759},{-6.30298,2.92969,-4.96838},{-6.26685,26.7349,-4.9772},{1.64697,23.4038,-4.97097},{7.14575,3.92529,-4.96972},{4.63599,-12.1621,-4.96971}}; @@ -2133,58 +2118,58 @@ class HeliCrash_No50s: Default { { "SCAR_H_LNG_Sniper_SD","weapon" }, }; itemChance[] = { - 0.011, - 0.006, - 0.001, - 0.002, - 0.001, - 0.011, - 0.002, - 0.011, - 0.011, - 0.011, - 0.001, - 0.001, - 0.023, - 0.001, - 0.002, - 0.011, - 0.003, - 0.023, - 0.011, - 0.023, - 0.001, - 0.005, - 0.006, - 0.002, - 0.001, - 0.009, - 0.005, - 0.002, - 0.011, - 0.006, - 0.017, - 0.001, - 0.003, - 0.001, - 0.009, - 0.009, - 0.007, - 0.003, - 0.001, - 0.001, - 0.034, - 0.113, - 0.567, - 0.001, - 0.002, - 0.001, - 0.001, - 0.002, - 0.001, - 0.006, - 0.005, - 0.001 + 0.03, + 0.01, + 0.01, + 0.02, + 0.01, + 0.02, + 0.01, + 0.01, + 0.02, + 0.02, + 0.01, + 0.01, + 0.02, + 0.01, + 0.01, + 0.01, + 0.02, + 0.03, + 0.01, + 0.02, + 0.02, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.03, + 0.03, + 0.01, + 0.02, + 0.01, + 0.01, + 0.01, + 0.01, + 0.03, + 0.02, + 0.02, + 0.02, + 0.01, + 0.01, + 0.05, + 0.05, + 0.14, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.01, + 0.05, + 0.02, + 0.01 }; }; class Land_House_C_1_EP1: Residential diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index c3a475af1..4089879db 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -32,6 +32,10 @@ if (!isDedicated) then { player_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf"; player_packVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packVault.sqf"; player_unlockVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockVault.sqf"; + + player_unlockDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockDoor.sqf"; + player_changeCombo = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_changeCombo.sqf"; + player_lockVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_lockVault.sqf"; // control_zombieAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\control_zombieAgent.sqf"; player_updateGui = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf"; diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index e7afe600c..60bda338f 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -244,7 +244,7 @@ dayz_resetSelfActions = { call dayz_resetSelfActions; //Engineering variables -s_player_lastTarget = objNull; +s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull]; s_player_repairActions = []; // Custom @@ -376,6 +376,7 @@ dayzHit = []; dayzPublishObj = []; //used for eventhandler to spawn a mirror of players tent dayzHideBody = objNull; dayz_selectedVault = objNull; +dayz_selectedDoor = objNull; dayzPublishVeh = []; // for vehicle traders dayzTradeObject = []; // For all traders increment qty @@ -441,13 +442,11 @@ if(isNil "dayz_zedsAttackVehicles") then { dayz_zedsAttackVehicles = true; }; -DayZ_NewZeds = ["z_new_villager2","z_new_villager3","z_new_villager4","z_new_worker2","z_new_worker3","z_new_worker4"]; - // update objects dayz_updateObjects = ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage","LockboxStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ"]; dayz_disallowedVault = ["TentStorage", "BuiltItems"]; dayz_reveal = ["AllVehicles","WeaponHolder","Land_A_tent","BuiltItems","ModularItems"]; -dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_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","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked"]; +dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_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","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked"]; DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"]; DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"]; diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm index 9b584221c..506a01f10 100644 --- a/SQF/dayz_code/system/player_monitor.fsm +++ b/SQF/dayz_code/system/player_monitor.fsm @@ -337,7 +337,7 @@ class FSM " _currentState = [_currentWpn,_currentAnim,_temp];" \n " " \n " dayz_Magazines = _magazineArray;" \n - " dayzPlayerSave = [player,dayz_Magazines,false];" \n + " dayzPlayerSave = [player,dayz_Magazines,false,true];" \n " publicVariableServer ""dayzPlayerSave"";" \n " " \n " if (isServer) then {" \n @@ -763,8 +763,13 @@ class FSM "_setDir = _worldspace select 0;" \n "_setPos = _worldspace select 1;" \n "" \n - "player setPosATL _setPos;" \n - "player setDir _setDir;" \n + "if(dayz_paraSpawn and !(player isKindOf ""PZombie_VB"")) then {" \n + " _para = createVehicle [""ParachuteWest"", _setPos, [], 0, ""FLY""]; " \n + " player moveInDriver _para;" \n + "} else {" \n + " player setPosATL _setPos;" \n + " player setDir _setDir;" \n + "};" \n "" \n "{" \n " if (player getVariable[""hit_""+_x,false]) then { " \n @@ -986,7 +991,7 @@ class FSM name = "Load_In"; init = /*%FSM*/"//Reveal action types" \n "" \n - "{player reveal _x} forEach (nearestObjects [getPosATL player, [""AllVehicles"",""WeaponHolder"",""StashSmall"",""StashMedium"",""TentStorage"",""BuiltItems"",""ModularItems"",""DZE_Base_Object""], 50]);" \n + "{player reveal _x} forEach (nearestObjects [getPosATL player, dayz_reveal, 50]);" \n "" \n "dayz_clientPreload = true;" \n "3 fadeSound 1;" \n @@ -1091,7 +1096,7 @@ class FSM "" \n "reload player;" \n "" \n - "if (_currentAnim != """") then {" \n + "if (_currentAnim != """" and !dayz_paraSpawn) then {" \n " [objNull, player, rSwitchMove,_currentAnim] call RE;" \n "};" \n "if (_currentWpn != """") then {" \n diff --git a/SQF/dayz_code/system/player_spawn_2.sqf b/SQF/dayz_code/system/player_spawn_2.sqf index a607fbc4b..9124eb8c9 100644 --- a/SQF/dayz_code/system/player_spawn_2.sqf +++ b/SQF/dayz_code/system/player_spawn_2.sqf @@ -1,12 +1,9 @@ -private["_refObj","_size","_vel","_speed","_hunger","_thirst","_array","_unsaved","_timeOut","_result","_lastSave"]; +private ["_refObj","_size","_vel","_speed","_hunger","_thirst","_timeOut","_result","_factor","_randomSpot","_mylastPos","_distance","_lastTemp","_rnd","_listTalk","_bloodChanged","_id","_messTimer","_display","_control","_combatdisplay","_combatcontrol","_timeleft","_inVehicle","_tempPos","_lastUpdate","_foodVal","_thirstVal","_lowBlood","_startcombattimer","_combattimeout","_myPos","_lastPos","_debug"]; disableSerialization; _timeOut = 0; _messTimer = 0; -_lastSave = 0; _lastTemp = dayz_temperatur; _debug = getMarkerpos "respawn_west"; -_isBandit = false; -_isHero = false; player setVariable ["temperature",dayz_temperatur,true]; @@ -26,7 +23,6 @@ while {true} do { _size = (sizeOf typeOf _refObj) * _factor; _vel = velocity player; _speed = round((_vel distance [0,0,0]) * 3.5); - _saveTime = (playersNumber west * 2) + 10; //reset position _randomSpot = true; @@ -39,16 +35,19 @@ while {true} do { if (_distance < 500) then { _randomSpot = false; }; - _distance = _mylastPos distance _tempPos; - if (_distance > 400) then { - _randomSpot = false; + if (!isNil "_mylastPos") then { + _distance = _mylastPos distance _tempPos; + if (_distance > 400) then { + _randomSpot = false; + }; }; - if (_randomSpot) then { _mylastPos = _tempPos; }; - dayz_mylastPos = _mylastPos; + if (!isNil "_mylastPos") then { + dayz_mylastPos = _mylastPos; + }; dayz_areaAffect = _size; if (_speed > 0.1) then { @@ -213,27 +212,17 @@ while {true} do { }; //Save Checker - if (dayz_unsaved) then { - if ((diag_tickTime - dayz_lastSave) > _saveTime) then { - - dayzPlayerSave = [player,dayz_Magazines,false,false]; - publicVariableServer "dayzPlayerSave"; - - if (isServer) then { - dayzPlayerSave call server_playerSync; - }; - - dayz_lastSave = diag_tickTime; - dayz_Magazines = []; + if (dayz_unsaved or ((time - dayz_lastSave) > 300)) then { + dayzPlayerSave = [player,dayz_Magazines,false,false]; + publicVariableServer "dayzPlayerSave"; + + // diag_log format["Save Checker: %1", dayzPlayerSave]; + + if (isServer) then { + dayzPlayerSave call server_playerSync; }; - _lastSave = _lastSave + 2; - } else { - dayz_lastSave = diag_tickTime; - _lastSave = 0; - }; - - if (!dayz_unsaved) then { - dayz_lastSave = diag_tickTime; + dayz_lastSave = time; + dayz_Magazines = []; }; //Attach Trigger Current Object @@ -284,16 +273,18 @@ while {true} do { }; _lastPos = getPosATL player; - if (player == vehicle player) then { - if (_mylastPos distance _lastPos > 200) then { - if (alive player) then { - player setPosATL _mylastPos; + if (!isNil "_mylastPos") then { + if (player == vehicle player) then { + if (_mylastPos distance _lastPos > 200) then { + if (alive player) then { + player setPosATL _mylastPos; + }; }; - }; - } else { - if (_mylastPos distance _lastPos > 800) then { - if (alive player) then { - player setPosATL _mylastPos; + } else { + if (_mylastPos distance _lastPos > 800) then { + if (alive player) then { + player setPosATL _mylastPos; + }; }; }; }; diff --git a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf index fe2b07120..cd911ef2f 100644 --- a/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf +++ b/SQF/dayz_server/compile/server_onPlayerDisconnect.sqf @@ -2,7 +2,7 @@ private ["_object","_myGroup","_id","_playerID","_playerName","_characterID","_p _playerID = _this select 0; _playerName = _this select 1; _object = call compile format["player%1",_playerID]; -_characterID = _object getVariable ["characterID","0"]; +_characterID = _object getVariable ["CharacterID","0"]; _timeout = _object getVariable["combattimeout",0]; _playerIDtoarray = []; diff --git a/SQF/dayz_server/compile/server_playerSetup.sqf b/SQF/dayz_server/compile/server_playerSetup.sqf index d7e9af05a..6ce63cb63 100644 --- a/SQF/dayz_server/compile/server_playerSetup.sqf +++ b/SQF/dayz_server/compile/server_playerSetup.sqf @@ -248,7 +248,7 @@ if (_randomSpot) then { dayz_players set [count dayz_players,_playerObj]; //record player pos locally for server checking -_playerObj setVariable["characterID",_characterID,true]; +_playerObj setVariable["CharacterID",_characterID,true]; _playerObj setVariable["humanity",_humanity,true]; _playerObj setVariable["humanity_CHK",_humanity]; //_playerObj setVariable["worldspace",_worldspace,true]; diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf index 47281b9ec..96b1ad742 100644 --- a/SQF/dayz_server/compile/server_playerSync.sqf +++ b/SQF/dayz_server/compile/server_playerSync.sqf @@ -6,7 +6,7 @@ _magazines = _this select 1; _forceGear = _this select 3; _force = true; -_characterID = _character getVariable ["characterID","0"]; +_characterID = _character getVariable ["CharacterID","0"]; _charPos = getPosATL _character; _isInVehicle = vehicle _character != _character; _timeSince = 0; @@ -185,7 +185,7 @@ if (_characterID != "0") then { // If player is in a vehicle, keep its position updated if (vehicle _character != _character) then { -// [vehicle _character, "position"] call server_updateObject; + //[vehicle _character, "position"] call server_updateObject; if (!(vehicle _character in needUpdate_objects)) then { //diag_log format["DEBUG: Added to NeedUpdate=%1",_object]; needUpdate_objects set [count needUpdate_objects, vehicle _character]; diff --git a/SQF/dayz_server/compile/server_publishObject.sqf b/SQF/dayz_server/compile/server_publishObject.sqf index efce40b4b..fa051b656 100644 --- a/SQF/dayz_server/compile/server_publishObject.sqf +++ b/SQF/dayz_server/compile/server_publishObject.sqf @@ -20,7 +20,7 @@ _key call server_hiveWrite; _object setVariable ["lastUpdate",time]; _object setVariable ["ObjectUID", _uid,true]; -// _object setVariable ["characterID",_charID,true]; +// _object setVariable ["CharacterID",_charID,true]; _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; // Test disabling simulation server side on buildables only. diff --git a/SQF/dayz_server/system/server_monitor.sqf b/SQF/dayz_server/system/server_monitor.sqf index 8694ea0f8..f2bb91fa3 100644 --- a/SQF/dayz_server/system/server_monitor.sqf +++ b/SQF/dayz_server/system/server_monitor.sqf @@ -131,8 +131,13 @@ if (isServer and isNil "sm_done") then { _object setVariable ["lastUpdate",time]; _object setVariable ["ObjectID", _idKey, true]; + _lockable = 0; + if(isNumber (configFile >> "CfgVehicles" >> _type >> "lockable")) then { + _lockable = getNumber(configFile >> "CfgVehicles" >> _type >> "lockable"); + }; + // fix for leading zero issues on safe codes after restart - if (_type in DZE_LockedStorage) then { + if (_lockable == 4) then { _codeCount = (count (toArray _ownerID)); if(_codeCount == 3) then { _ownerID = format["0%1", _ownerID]; @@ -145,6 +150,16 @@ if (isServer and isNil "sm_done") then { }; }; + if (_lockable == 3) then { + _codeCount = (count (toArray _ownerID)); + if(_codeCount == 2) then { + _ownerID = format["0%1", _ownerID]; + }; + if(_codeCount == 1) then { + _ownerID = format["00%1", _ownerID]; + }; + }; + _object setVariable ["CharacterID", _ownerID, true]; clearWeaponCargoGlobal _object; @@ -154,14 +169,14 @@ if (isServer and isNil "sm_done") then { _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; // Test disabling simulation server side on buildables only. _object enableSimulation false; + // used for inplace upgrades and lock/unlock of safe + _object setVariable ["OEMPos", _pos, true]; }; _object setdir _dir; _object setpos _pos; _object setDamage _damage; - _object setVariable ["OEMPos", _pos, true]; - if (count _intentory > 0) then { if (_type in DZE_LockedStorage) then { // Fill variables with loot diff --git a/Server Files/Battleye/attachto.txt b/Server Files/Battleye/attachto.txt index 45116abad..aed2414e4 100644 --- a/Server Files/Battleye/attachto.txt +++ b/Server Files/Battleye/attachto.txt @@ -1,56 +1,8 @@ -1 "" !="VaultStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier3_DZ" -5 "Offroad_DSHKM_Gue" -5 "Old_moto_TK_Civ_EP1" -5 "MMT_Civ" -5 "Old_bike_TK_INS_EP1" -5 "Old_bike_TK_CIV_EP1" -5 "TT650_Ins" -5 "TT650_Civ" -5 "TT650_TK_CIV_EP1" -5 "ATV_US_EP1" -5 "hilux1_civil_3_open_EP1" -5 "hilux1_civil_2_covered" -5 "datsun1_civil_3_open" -5 "Pickup_PK_TK_GUE_EP1" -5 "VWGolf" -5 "Lada1" -5 "Lada2" -5 "LadaLM" -5 "Lada2_TK_CIV_EP1" -5 "Skoda" -5 "SkodaGreen" -5 "SkodaRed" -5 "SkodaBlue" -5 "car_sedan" -5 "car_hatchback" -5 "policecar" -5 "GLT_M300_LT" -5 "GLT_M300_ST" -5 "Volha_1_TK_CIV_EP1" -5 "Volha_2_TK_CIV_EP1" -5 "VolhaLimo_TK_CIV_EP1" -5 "UAZ_Unarmed_TK_EP1" -5 "UAZ_RU" -5 "UAZ_INS" -5 "UAZ_CDF" +1 "" !="VaultStorageLocked" !="LockboxStorageLocked" !="Hedgehog_DZ" !="Sandbag1_DZ" !="Fort_RazorWire" !="WoodGate_DZ" !="Land_HBarrier1_DZ" 5 "Ikarus" -5 "SUV_TK_CIV_EP1" -5 "SUV_Green" -5 "SUV_Yellow" -5 "SUV_White" -5 "SUV_Silver" -5 "SUV_Red" -5 "SUV_Pink" -5 "SUV_Orange" -5 "SUV_Charcoal" -5 "SUV_Blue" 5 "UH1H_DZ" 5 "Mi17_Civilian_DZ" 5 "Mi17_DZ" -5 "LandRover_CZ_EP1" -5 "HMMWV_Ambulance" -5 "HMMWV_DES_EP1" -5 "HMMWV_Ambulance_CZ_DES_EP1" 5 "PBX" 5 "Zodiac" 5 "RHIB" @@ -64,15 +16,11 @@ 5 "Ural_TK_CIV_EP1" 5 "Ural_CDF" 5 "Kamaz" -5 "tractor" 5 "CSJ_GyroP" -5 "S1203_ambulance_EP1" -5 "S1203_TK_CIV_EP1" 5 "MH6J_DZ" 5 "AH6X_DZ" 5 "MTVR_DES_EP1" -5 "LandRover_MG_TK_EP1" -5 "M1030_US_DES_EP1" 5 "V3S_Civ" 5 "Parachute" -5 "VaultStorage" !"VaultStorageLocked" \ No newline at end of file +5 "VaultStorage" !"VaultStorageLocked" +5 "LockboxStorage" !"LockboxStorageLocked" \ No newline at end of file diff --git a/Server Files/Battleye/createvehicle.txt b/Server Files/Battleye/createvehicle.txt index 3cb40e6ac..6ea55906b 100644 --- a/Server Files/Battleye/createvehicle.txt +++ b/Server Files/Battleye/createvehicle.txt @@ -1,6 +1,6 @@ 1 "" !="WeaponHolder" !="TinCan" !="Rabbit" !="Goat01_EP1" !="Goat02_EP1" !="Goat" !="WildBoar" !="Sheep" !="Sheep02_EP1" !="Sheep01_EP1" !="Hen" !="Cock" !="Cow01" !="Cow02" !="Cow03" !="Cow04" !="Cow01_EP1" !="zZombie_Base" !="z_hunter" !="z_teacher" !="z_doctor" !="z_suit1" !="z_suit2" !="z_worker1" !="z_worker2" !="z_worker3" !="z_villager1" !="z_villager2" !="z_villager3" !="z_soldier" !="z_soldier_heavy" !="z_soldier_pilot" !="z_policeman" !="z_priest" !="BoltSteelF" !="Land_Fire_DZ" !="SodaCan" !="JackDaniels" !="RoadFlare" !="ChemRed" !="ChemBlue" !="ChemGreen" !="Survivor1_DZ" !="Survivor2_DZ" !="Survivor3_DZ" !="SurvivorW2_DZ" !="Bandit1_DZ" !="CZ_VestPouch_EP1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="DZ_ALICE_Pack_EP1" !="SmokeShell" !="SmokeShellRed" !="SmokeShellGreen" !="MedBox0" !="Camo1_DZ" !="Soldier1_DZ" !="DZ_Backpack_EP1" !="Sniper1_DZ" !="DZ_Assault_Pack_EP1" !="BanditW1_DZ" !="G_40mm_HE" !="dog" !="WeaponHolder_MeleeCrowbar" !="WeaponHolder_ItemHatchet" !="WeaponHolder_PartGeneric" !="WeaponHolder_ItemJerrycan" !="WeaponHolder_PartFueltank" !="WeaponHolder_PartGlass" !="WeaponHolder_PartEngine" !="WeaponHolder_PartWheel" !="WeaponHolder_PartVRotor" !="DZ_Czech_Vest_Puch" !="DZ_British_ACU" !="DZ_TK_Assault_Pack_EP1" 1 "SeaGull" -5 "box" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" +5 "box" !="MedBox0" !="AmmoBoxSmall_556" !="AmmoBoxSmall_762" !="ItemMatchbox" !="ItemToolbox" !="CardBoardBox" !="FoodBox1" !="FoodBox2" !="FoodBox3" !="LockboxStorageLocked" !="LockboxStorage" !="WeaponHolder_ItemLockbox" 5 "Mine" 5 "ARTY_" 5 "SADARM_" @@ -35,7 +35,7 @@ 5 "DSHKM" 5 "MK19" 5 "AGS" -5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" //Nest_M240 //Nest_PK +5 "Nest_" !="M240Nest_DZ" !="SandNest_DZ" !="Land_fortified_nest_smallPreview" 5 "R_PG" 5 "R_OG" 5 "B_" @@ -47,7 +47,7 @@ 1 "M_" !="G_40mm_HE" //!="40mm_" //keep monitoring to catch obvious abuse 5 "Parachute" !="ParachuteWest" //under monitoring 1 "dog" //until released not welcome -5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier3_DZ" +5 "Land_" !="Land_Fire_DZ" !="Land_HBarrier1_DZ" !="Land_HBarrier1Preview" !="Land_HBarrier3_DZ" !="Land_HBarrier3ePreview" !="Land_fortified_nest_smallPreview" !="Land_DZE_WoodDoor" !="Land_DZE_LargeWoodDoor" !="Land_DZE_GarageWoodDoor" !="Land_DZE_WoodDoorLocked" !="Land_DZE_LargeWoodDoorLocked" !="Land_DZE_GarageWoodDoorLocked" 5 "BBarracks" 1 "_ep1" !="DZ_Patrol_Pack_EP1" !="DZ_CivilBackpack_EP1" !="CZ_VestPouch_EP1" !="DZ_ALICE_Pack_EP1" !="DZ_Backpack_EP1" !="DZ_Assault_Pack_EP1" !="DZ_TK_Assault_Pack_EP1" 1 "_baf" @@ -56,7 +56,7 @@ 5 "_LHD_ 5 "_acr" 5 "MASH_" -5 "Fort_" !="Fort_RazorWire" +5 "Fort_" !="Fort_RazorWire" !="Fort_RazorWirePreview" 5 "BasicWeapons" 5 "SpecialWeapons" 5 "_uav" diff --git a/Server Files/Battleye/scripts.txt b/Server Files/Battleye/scripts.txt index 6e1465c47..de20fb752 100644 --- a/Server Files/Battleye/scripts.txt +++ b/Server Files/Battleye/scripts.txt @@ -1,243 +1,8 @@ -1 101000 -1 action_crate1 -1 actionKeys !"if (_dikCode in (actionKeys \"GetOver\")) then {" -1 activateAddons -1 addAction !"s_player_holderPickup = _holder addAction [format[(localize \"str_init_take\"),_name]" !"raddActioncode" !"\"addAction\"," !"= player addAction [format[localize \"str_" !"_action = player addAction [format[(localize \"str_init_take\"),_name]," !"_action = player addAction [format[(localize \"STR_DAYZ_CODE_1\"),_name], \"" !"s_player_grabflare = player addAction [format[localize \"str_actions_medical_15\",_text], \"" !"_action = _vehicle addAction [format[\"Add AMMO to %1\",_weaponName], \"" !"raddActioncode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addAction.sqf')" !"raddAction = 'addAction'" -1 addBackpack !"_holder addbackpackcargoGlobal [_x,(_objWpnQty select _countr)];" !"_newUnit addBackpack _newBackpackType;" !"player addBackpack _backpackType;" !"player addBackpack _bcpk;" !"player addBackpack _ba" -1 addCamShake !"addCamShake [5, 0.5, 25];" !"addCamShake [2, 1, 25];" !"addCamShake [15, 0.8, 25];" !"addCamShake [2, 0.5, 25];" !"addCamShake [_temp,(_looptime + 1),30];" -1 addMagazine !"(getPosATL player)] spawn player_alertZombies;\n\nplayer addMagazine \"ItemWaterbottle\";\n};" !"player removeMagazine _meat;\nplayer addMagazine _meatcooked;\nif !(_meat in magazines player) exitWith" !"publicVariable \"PVDZ_hlt_Morphine\";\n} else {\nplayer addMagazine \"ItemMorphine\";\nr_interrupt = false;" !"player addMagazine [\"Quiver\",_qty_quiverarrows];" !"for \"_i\" from 1 to _qtynew_create_mags_full do {" !"raddMagazineCargocode={diag_log(\"WARNING illegal RE raddMagazineCargocode with args:\"+str(_this));};" !"addMagazineCargo" !"raddMagazinecode" !"player addMagazine _magType;" !"_animalbody addMagazine _rawfoodtype;" !"_agent addMagazine _loot;" !"ile >> \"cfgmagazines\" >> (configName _item))) then {_unit addMagazine configName _item;};" !"player addMagazine 'machete_swing';" !"if (typeName _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else { _newUnit addMagazine _x" !"player addMagazine 'crowbar_swing';" !"player addMagazine _x;" !"player addMagazine [_item,_val];" !"raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"player addMagazine \"ItemBandage\";" !"raddMagazine = 'addMagazine'" !"\"addMagazine\"," !"wUnit addMagazine _x };" -1 addSwitchableUnit !"addSwitchableUnit _newUnit;" !"addSwitchableUnit dayz_originalPlayer;" -1 addWeapon !"addWeaponCargo" !"raddWeaponcode" !"player addWeapon \"Loot\";" !"player addWeapon" !"player addWeapon \"Flare\";" !"igfile >> \"cfgweapons\" >> (configName _item))) then {_unit addWeapon configName _item;};" !"raddWeapon = 'addWeapon'" !"_newUnit addWeapon _x;" !"\"addWeapon\"," !"player addWeapon _x;" !"raddWeaponcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addWeapon.sqf')" -1 allMissionObjects !"{ _id = [_x,0] spawn object_roadFlare } forEach (allMissionObjects \"RoadFlare\");" !"} forEach allMissionObjects \"SpawnableWreck\";" -1 allowDamage !"_object allowDamage false;" !"player allowDamage false;" !"player allowDamage true;" -1 allowDammage !"this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" -1 attachObject !"lightAttachObject" -1 attachTo !"_smoke = \"#particlesource\" createVehicleLocal _pos;\n_smoke attachto [_v,[0,0,0],\"destructionEffect1\"];" !"_bolt attachTo [_hitObject,_val,_hitMemoryPt];" !"_flare attachTo [player,[0,0,0],\"granat2\"];" !"_fl attachto [_v,[0,0,0],\"destructionEffect2\"]" !"_point attachTo [_unit,_modelPos,_wound];" -1 BIS_Effects_AirDestructionStage !"BIS_Effects_AirDestructionStage2 = compile preprocessFileLineNumbers" !"%2]spawn BIS_Effects_AirDestructionStage2\",_int, _t];" !"BIS_Effects_AirDestructionStage2=compile preprocessFileLineNumbers" -1 BIS_MPF_ServerPersistentCallsArray -1 buttonSetAction !"buttonSetAction [104,\"\"];" -1 campaignConfigFile !"_pathConfig = [configfile,campaignconfigfile,missionconfigfile] select _t" -1 clearMagazineCargo !"rclearMagazineCargocode" !"rclearMagazineCargocode = compile PreprocessFile (BIS_PathMPscriptCommands + 'clearMagazineCargo.sqf')" !"apon\",\"addWeaponCargo\",\"addWPCur\",\"animate\",\"callVar\",\"clearMagazineCargo\",\"clearWeaponCargo\",\"createDiaryRecord\",\"createMarkerL" !"\"clearMagazineCargo\"," !"rclearMagazineCargo = 'clearMagazineCargo'" !"clearMagazineCargoGlobal _firePlace;" -1 clearVehicleInit !"etDropInterval _dr;_i=_i+1;sleep 0.2;};};_pos=getpos _v;clearVehicleInit _v;if!(isDedicated)then{deletevehicle _fl;deletevehicle" !"clearVehicleInit _v;" !";_pos=getpos _v;clearVehicleInit _v;if!(isDedicated)then{deletevehicle _fl;deletevehicle _sm;};if(surfaceiswater(_pos)&&(_pos se" -1 clearWeaponCargo !"rclearWeaponCargocode" !"rclearWeaponCargocode = compile PreprocessFile (BIS_PathMPscriptCommands + 'clearWeaponCargo.sqf')" !"apon\",\"addWeaponCargo\",\"addWPCur\",\"animate\",\"callVar\",\"clearMagazineCargo\",\"clearWeaponCargo\",\"createDiaryRecord\",\"createMarkerL" !"\"clearWeaponCargo\"," !"earMagazineCargo\",\"clearWeaponCargo\",\"createDiaryRecord\",\"createMarkerLocal\",\"createSimpleTask\",\"createTaskSet\",\"debugLog\",\"dele" !"rclearWeaponCargo = 'clearWeaponCargo'" !"clearWeaponCargoGlobal _firePlace" -1 closeDialog !"closeDialog 0;dayz_selectGender = 'Survivor2_DZ';" !"if ((_this select 1) == 22) then {closeDialog 129; true} else {false}" !"closeDialog 0;" !"closeDialog 0;};" -1 combatMode !"setCombatMode" -1 commander !="IsLeader + VehicleCommander" -1 commandingMenu !="\"showCommandingMenu\"" !"rshowCommandingMenucode" !"'showCommandingMenu'" !"rshowCommandingMenucode" !"\"showCommandingMenu\"," !"Description\",\"setTaskState\",\"setWPdesc\",\"setWPtype\",\"showCommandingMenu\",\"sideChat\",\"sideRadio\",\"skiptime\",\"spawn\",\"switchAction" !"c\",\"setWPtype\",\"showCommandingMenu\",\"sideChat\",\"sideRadio\",\"skiptime\",\"spawn\",\"switchAction\",\"switchCamera\",\"taskHint\",\"titleCut" !"rshowCommandingMenucode = compile PreprocessFile (BIS_PathMPscriptCommands + 'showCommandingMenu.sqf')" !"osLocal\",\"setObjectTexture\",\"setSimpleTaskDescription\",\"setTaskState\",\"setWPdesc\",\"setWPtype\",\"showCommandingMenu\",\"sideChat\",\"s" !"rshowCommandingMenu = 'showCommandingMenu'" !",\"setWPtype\",\"showCommandingMenu\",\"sideChat\",\"sideRadio\",\"skiptime\",\"spawn\",\"switchAction\",\"switchCamera\",\"taskHint\",\"titleCut\"," -1 commandStop !"NotEmpty + CommandsToPilot" -1 composeText !"_text = composetext _finalArray;" -1 createAgent !"if (_type == \"DZ_Pastor\") then { _agent = createAgent [_type, _Pos, [], 0, \"NONE\"]; } else { _agent = createAgen" !"_agent = createAgent [_type, _Pos, [], 0, \"FORM\"]; };" !"_agent = createAgent [_type, _position, [], _radius, _method];" -1 createCenter !"createcenter sidelogic" -1 createDialog !"createDialog 'horde_journal_front_cover';" !"createDialog \"horde_journal_front_cover\";" !"createDialog 'horde_journal_pages_bandits';" !"createDialog 'horde_journal_pages_journal_humanity';" !"createDialog 'horde_journal_pages_headshots';" !"createDialog 'horde_journal_pages_humanity_art';" !"createDialog 'horde_journal_pages_murders';" !"createDialog 'horde_journal_pages_zombies';" !"createDialog \"RscDisplayGenderSelect\";" -1 createGearDialog !"createGearDialog [player, \"RscDisplayGear\"];" -1 createGroup !"_group = createGroup west;" !"BIS_MPF_dummygroup = createGroup sideLogic;" !"_group = createGroup west;" -1 createMarker !"\"createMarkerLocal\"" !"BIS_GITA_fnc_createMarkers" !"rcreateMarkerLocalcode" !"os \"respawn_west\", _debug] call BIS_fnc_areEqual)) then {" !"_markerstr = createMarkerLocal [\"MaxZeds\", _position]" !"'createMarkerLocal'" !"'createMarkerLocal.sqf'" !"rcreateMarkerLocalcode={diag_log(\"FACO RE(DEL)rcreateMarkerLocalcode args:\"+str(_this));};" -1 createMenu !"BIS_fnc_createmenu" -1 createSimpleTask !"rcreateSimpleTaskcode" !"rcreateSimpleTask = 'createSimpleTask'" !"createDiaryRecord\",\"createMarkerLocal\",\"createSimpleTask\",\"createTaskSet\",\"debugLog\",\"deleteWP\",\"enablesimulation\",\"endMission\"," !"\"createSimpleTask\"," !"earMagazineCargo\",\"clearWeaponCargo\",\"createDiaryRecord\",\"createMarkerLocal\",\"createSimpleTask\",\"createTaskSet\",\"debugLog\",\"dele" !"rcreateSimpleTaskcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'createSimpleTask.sqf')" -1 createSoundSource !"_snd = createSoundSource [\"Sound_Fire\", getpos _v," !"a = createSoundSource[\"Sound_Flies\",getpos (_this" !"_snd = createSoundSource [\"Sound_Fire\", getpos _v, [], 0];" !"_sound = createSoundSource[\"Sound_Flies\",_" !"_sound = createSoundSource[\"Sound_Flies\",_pos" !"a = createSoundSource[\"Sound_Flies\",getpos (_t" -1 createTask !="createTaskSet" !"_newUnit = _group createUnit [_class,getMarkerPos \"respawn_west\",[],0,\"NONE\"];" !"BIS_EW_fnc_createtask" !"_task = _this createTask [[_taskType], 1.0];" -1 createUnit !"_newUnit = _group createUnit [_class,dayz_spawnPos" !"_newUnit = _group createUnit [_class,getMarkerPos \"respawn_west\",[],0,\"NONE\"];" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];" !"_newUnit = _group createUnit [_class,dayz_spawnPos," !"_newUnit = _group createUnit [_class,dayz_spawnPos,[],0,\"NONE\"];" -1 createVehicle !createVehicleLocal !"_bolt = createVehicle [\"WoodenArrowF\", _endPos, [], 0, \"CAN_COLLIDE\"];\n_bolt se" !"spawn player_alertZombies;" !="createVehicleLocal" !"_item = createVehicle [\"WeaponHolder\", _iPos, [], _radius, \"CAN_COLLIDE\"];" !"_item = createVehicle [\"WeaponHolder\", position player, [], 0.0, \"CAN_COLLIDE\"]" -1 createVehicleLocal !"_source = \"#particlesource\" createVehicleLocal getpos (_this select 0);" !"_object = _type createVehicleLocal [_position select 0,_position select 1,-100];" !"_obj = _class createVehicleLocal (getMarkerpos \"respawn_west\");" !"_obj = _class createVehicleLocal _new;" !"\"#lightpoint\" createVehicleLocal (getPosATL _flare);" !"_object = _type createVehicleLocal _position;" !"\"#particlesource\" createVehicleLocal _x;" !"\"Logic\" createVehicleLocal getPosATL _unit;" !"\"#particlesource\" createVehicleLocal getPosATL _unit;" !"_Crater= \"CraterLong\" createvehiclelocal [_pos select 0, _pos select 1, 0];" !"\"#particlesource\" createVehicleLocal _pos;" !"\"#particlesource\" createVehicleLocal getpos _v;" -1 ctrlActivate !"_cancel = _display displayCtrl 2;\nif (_close) then {\nctrlActivate _cancel;" !"ctrlActivate _control;" -1 ctrlCommit !"_adminGroupIDC ctrlCommit _delay;\n};\n_editPwdBackground = _display displayCtrl 1123;" !"_control ctrlCommit 0" !"_textControl ctrlcommit 0.01" !"_primaryWeaponControl ctrlCommit 0.0;" !"_control ctrlCommit 0;" !"(_controlsBuffer select _x) ctrlCommit _ctrl_delay;" !"_group ctrlCommit 0;" !"_ctrl1 ctrlCommit 1;" !"ctrlCommit 0;" -1 ctrlEnable !"_control ctrlenable false" !"_adminGroupIDC ctrlEnable _isAdmin" !"_btnAbort ctrlEnable false;" !"_disp_ctrl ctrlEnable true;" !"_btnAbort ctrlEnable fals" -1 ctrlParent !"_display = ctrlParent _control;" !"_dialog = ctrlParent _control;" -1 ctrlPosition !"((ctrlPosition _delayControl) select 1)" !"_pos = ctrlPosition _group;" !"_pos = ctrlPosition _group;" !"_pos = ctrlPosition _group;" !"_posX = ((ctrlPosition _disp_ctrl) select 0)+ (_move_ctrl select 0);" !"_pos = ctrlPosition _control;" !"_y = (ctrlPosition _control) select 1;" !"_ctrl1Pos = ctrlPosition _ctrl1;" !"= ctrlPosition _control;" !"_grpPos = ctrlPosition _control;" -1 ctrlSetEventHandler !"_menu ctrlSetEventHandler [\"ButtonClick" !"_menu ctrlSetEventHandler [\"ButtonClick\",_compile];" -1 ctrlSetStructuredText !"space getVariable \"horde_myDisplay\") displayCtrl _x) ctrlSetStructuredText parseText format [\"%1\", _b];\n} forEach _need_to_blank" !"space getVariable \"horde_myDisplay\") displayCtrl _x) ctrlSetStructuredText parseText format [\"%1\", _5];\n};\nif (_count == _full_b" !"ace getVariable \"horde_myDisplay\") displayCtrl 1800) ctrlSetStructuredText parseText format [_str_left_text, _1, _2, _3, _4, _5," !"ace getVariable \"horde_myDisplay\") displayCtrl 1801) ctrlSetStructuredText parseText format [\"%1\", _top_value];" !"_descriptionControl ctrlSetStructuredText parseText(_selectedItemDescription);" -1 ctrlShow !"ctrlShow [1906, false];\n((uiNamespace getVariable \"horde_myDisplay\")" !"((_this select 0) displayctrl 8401) ctrlshow false" !"_control ctrlShow true;" !"(_display displayCtrl 1302) ctrlShow true;" !"_ctrlFracture ctrlShow true;" !"_group ctrlShow true;" !"_menu ctrlShow false;" !"_control ctrlShow false;" !"(_display displayCtrl 1301) ctrlShow true;" -1 ctrlText !"_password = ctrlText _editPassControl;" !"_return = ctrlText _control;" -1 currentMuzzle !"_currentWpn = currentMuzzle player;" !"_currentWpn = currentMuzzle player;" -1 currentTask !="\"setCurrentTask\"" !="\"setCurrentTaskArrays\"" !"rsetCurrentTaskArrayscode" !"rsetCurrentTask" !"rsetCurrentTaskArrays" !"'setCurrentTaskArrays.sqf'" !"rsetCurrentTaskcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'setCurrentTask.sqf')" !"rsetCurrentTaskcode" -1 currentWeapon !"_weapon = currentWeapon player;" !"\"_currentWeaponHolders\"" !"_move = switch (currentWeapon player) do {" !"if ((currentWeapon player == \"\")) then { player action [\"SWITCHWEAPON\"," !"_currentWpn = currentWeapon p" -1 currentZeroing -1 CursorOnGroupMember !"CursorOnGroupMemberSelected" -1 CursorOnGroupMemberSelected -1 cursorTarget !_cursorTarget !"dayz_myCursorTarget" !"_object = cursorTarget;" !"if (inflamed cursorTarget and _hasRawMeat and _canDo) then {" !"_unit = cursorTarget;" !"ursorTarget) and _isVehicle and !_isMan and _hasToolbox and (damage cursorTarget < 1)) then {" !"ursorTarget >= 2) and (count (crew cursorTarget))== 0 and ((vectorUp cursorTarget) select 2) < 0.5) then {" !"t = cursorTarget isKindOf \"TentStorage\";" !"_isVehicle = cursorTarget isKindOf \"AllVehicles\";" !"if(cursorTarget == dayz_hasFire and _canDo) then {" !"if (!isNull cursorTarget and !dayz_heartBeat) then {" !"_menClose = cursorTarget;" -1 cutText !"format[localize \"str_success_gutted_animal\",_text,_qty];\ncutText [_string, \"PLAIN DOWN\"];\n};" !"player removeMagazine \"ItemBloodbag\";\ncutText [\"Transfusion in progress, remain still...\"" !"0 cutText [\"\",\"BLACK\"];" !"cutText [\"\", \"BLACK\",0]" !"cutText [localize \"str_player_24\", \"PLAIN DOWN\"];" !"cutText [localize \"str_abort_playerclose\", \"PLAIN DOWN\"];" !"1 cutText [\"Disconnected!\", \"PLAIN\"];" !"cutText [\"\",\"BLACK OUT\"];" !"cutText [localize \"STR_DAYZ_CODE_2\", \"PLAIN DOWN\"];" !"cutText [localize \"str_fireplace_01\", \"PLAIN DOWN\"]" !"cutText [localize \"str_player_25\", \"PLAIN DOWN\"];" !"3100 cuttext [\"\",\"plain\"];" !"1 cutText [\"\", \"BLACK\",0];" !"cutText [format[localize \"str_abort_playerclose\",_text], \"PLAIN DOWN\"" !"startLoadingScreen[\"\",\"RscDisplayLoadCustom\"];cutText[\"\",\"BLACK OUT\"];enableSaving[false,false];dayzHiveRequest=[];" !"(Killed by %1%2)\",AttackedByName,_tmp];999 cutText[_killmsg,\"PLAIN DOWN\",7];diag_log(format[\"KILLERMSG Last atta" !"cutText [format[localize \"str_player_05\"" !"{cutText [(localize \"str_player_21\") , \"PLAIN DOWN\"]};" !"1 cutText [\"\", \"PLAIN\"];" !"azines == 0) && (count (magazines player) > 0 )) exitWith {cutText [\"can't count magazines!\", \"PLAIN DOWN\"]};" !"if (_onLadder) exitWith {cutText [(localize \"str_player_21\") , \"PLAIN DOWN\"]};" !"cutText[localize \"str_medical_healing\", \"PLAIN\", 2];" !"cutText [format[" !"1 cutText [\"Something went wrong! disconnect and" !"0 cutText [\"\", \"BLACK\",10];" !"0 cutText [\"\", \"BLACK IN\",3];" !"cutText [format[(localize \"str_player_consumed\"),_t" -1 damage !"if ((alive player) && (r_fracture_legs)) then { player SetDamage 1;};" !_damage !"\"firedDamage\"" !"if (alive player) then { player SetDamage 1;};" !"0.1 fadeSound 0;" !"if (((alive _y) AND {(local _y)}) AND {((damage _y == 0) AND {(_y distance _point > dayz_spawnArea+_ahead)})" !"local_zombieDamage" !"_damage" !"fn_damageActions.sqf" !"fnc_usec_damageUnconscious" !"allowDamage" !"vehicle_handleDamage" !"\"HandleDamage\"" !"fnc_usec_damageHandle" !"dayz_damageCounter" !"_damage = _this select 2;" !"_damage = _this select 2;" !"0.1 - 0.09 * speed * damage" !"ursorTarget) and _isVehicle and !_isMan and _hasToolbox and (damage cursorTarget < 1)) then {" !"ec_damageHandler;0} ];" !"fn_damageHandler.sqf\";sleep 0.05;player removeEventHandler[\"HandleDamage\",mydamage_eh1];mydamage_eh1=player addev" !"if (_damage" !"_damageOrg = _hitter getVariable[\"firedDamage\",0];" !"private[\"_unit\",\"_targets\",\"_move\",\"_damage\",\"_wound\",\"_index\",\"_cnt\",\"_sound\",\"_local\",\"_dir\",\"_hpList\"" !"player setdamage 0;" !"r_player_timeout = round(((random 2) * _damage) * 40);" !"_damage = _this select 1;" !"[_unit, \"damage\"] call server_updateObject;" !"fn_damageHandlerZ.sqf\"" !"_total = [_unit,_hit,_damage] call object_setHitServer;" !"1 - damage" -1 deActivateKey !"call (compile \"deactivateKey (_keyString + (str _i))\");" -1 deleteGroup !"group (_this select 0); deleteVehicle (_this select 0); deleteGroup _mygrp" !"deleteGroup _myGroup;" !"nctions_mainscope]]; _mygrp = group (_this select 0); deleteVehicle (_this select 0); deleteGroup _mygrp;};}; if (isnil 'RE" !"_functions_mainscope]]; _mygrp = group (_this select 0); deleteVehicle (_this select 0); deleteGroup _mygrp;};}; if (isnil" !"= group (_this select 0); deleteVehicle (_this select 0); deleteGroup _mygrp;};}; if (isnil 'RE') then {[] execVM '" -1 deleteMarker !"deleteMarkerLocal" -1 deleteMarkerLocal !"deleteMarkerLocal \"Agro80\";" -1 detach !"player removeAction s_player_dropflare;\ndetach _flare;\ns_player_grabflare = -1;\ns_player_removeflare = -1;" -1 dialog !"createDialog \"horde_journal_front_cover\";" !closeDialog !_dialog !"\"initDialog\"" !"createDialog \"RscDisplayGenderSelect\";" !"closeDialog 0;dayz_selectGender" !"'initDialog'" !"_control = _dialog displayCtrl _i" !"private [\"_control\",\"_dialog\",\"_deltaY\",\"_y\"];" !"_dialog = findDisplay 106;" !"_dialog = findDisplay 106;" !"lder\",\"_config\",\"_isOk\",\"_muzzles\",\"_playerID\",\"_claimedBy\",\"_text\",\"_control\",\"_dialog\",\"_item\",\"_val\",\"_max\",\"_bolts\",\"_quiver" !"private[\"_dialog\",\"_magazineArray\",\"_control\",\"_item\",\"_val\",\"_max\"];" !"!dialog" !"waitUntil { !dialog; };" !"_control = _dialog displayCtrl _i;" !"private [\"_dialog\",\"_control\",\"_magazineArray\",\"_item\",\"_val" !"(_dialog displayCtrl 345) ctrlsettext (localize \"STR_CA_ADV_HIDE\");" !"_dialog = ctrlParent _control;" !"private [\"_control\",\"_dialog\",\"_action\",\"_disp_ctrl\",\"_OPT_advanced_array\",\"_in_delay\",\"_no_move\",\"_hidden" !"if ( isNull _dialog ) then {" -1 direction !"[round(direction player),getPosATL player];" !"_dir = direction _obj;" !"\"direction\"" !"weaponDirection" !"eyeDirection" !"player setVelocity [(velocity player select 0) + 1.5 * sin direction player, (" !"[round(direction player),_charPos];" !"_dir = getNumber (_config >> \"direction\");" !"_worldspace = [round(direction player),getPosATL player];" !"player setVelocity [(velocity player select 0) + 1.5 * sin direction player," !"_eyeDir = direction _x;" -1 disableAI !"this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !"_agent disableAI \"FSM\";" !"disableAI \"FSM\";" !"_agent disableAI \"AUTOTARGET\";" -1 disableConversation !"player disableConversation true;" -1 disableUserInput !"disableUserInput false;" !"disableUserInput true;" -1 doMove !="_unit domove _pos" !"_agent doMove (getPosATL player);" -1 driver !"CPDriver" !"_targets set [count _targets, driver _refObj];" !"_targets set [count _targets, driver _refObj];" !"if ((_speed > _topSpeed) && (alive player) && ((driver (vehicle player) == player) or (isNull (driver (vehicle play" -1 enableSimulation !="\"enablesimulation\"" !"'enablesimulation.sqf'" !"renablesimulation" !"renablesimulationcode" !"this enableSimulation false;this allowDammage false;this disableAI 'FSM';this disableAI 'ANIM';this disableAI 'MOVE';" !"dayz_originalPlayer enableSimulation true;" !"player enableSimulation false;" !"player enableSimulation true;" -1 forceSpeed !"_unit forceSpeed ceil(random(3^0.5)^2)*2;" !"_agent forceSpeed 2;" !"_unit forceSpeed 2;" !"_agent forceSpeed 6;" -1 gearSlotData !"_mag = gearSlotData _control;" !"_item = gearSlotData _control" !"_item = gearSlotData _control;" !"_item = gearSlotData _control;" -1 getFSMVariable !"_lieDown = _dogHandle getFSMVariable \"_actionLieDown\";" -1 getMagazineCargo !"_magazines = getMagazineCargo _obj;" !"_mag_arr = getMagazineCargo _backpack;" !"iag_log str(getMagazineCargo unitBackpack _newUnit);" !"_magazines = (getMagazineCargo _object) select 1;" !"_backpackMag = getMagazineCargo uni" !"_backpackMag = getMagazineCargo unitBackpack player;" !"getMagazineCargo dayz_myBackpack;" !"dayz_myBackpackMags = getMagazineCargo dayz_myBackpack;" !"_mags = getMagazineCargo _firePlace" -1 getPlayerUID !"_victimUID = getPlayerUID _unit;" !"_sourceUID = getPlayerUID _source;" !"deathHandled = true;" !"PVDZ_plr_Discorem = getPlayerUID player;" !"er)and(alive Player)and(player==player)};_uid=(getPlayerUID vehicle player);" !"_playerUID = getPlayerUID player;" !"_playerID = getPlayerUID player;" !"yName==\"\")})then{AttackedByName=getPlayerUID _klr;};_weapon=weaponState _klr;_weapon=if(_weapon select 0==\"Throw\")then{_weapon s" !"ame==\"\")})then{AttackedByName=getPlayerUID _klr;};_weapon=weaponState _klr;_weapon=if(_weapon select 0==\"Throw\")then{_weapon sel" -1 getTerrainHeightASL !"_terrainHeight = getTerrainHeightASL [_curpos select 0, _curpos select 1];" -1 hasWeapon !"if (player hasWeapon \"ItemWatch\") then" !"if (isnil 'BIS_fnc_hasWeapon' || false) then {" !"if (player hasWeapon \"MeleeCrowbar\") then {" -1 hideBody !"addPublicVariableEventHandler {hideBody (_this select 1)}" !"\"dayzHideBody\"" !="dayzHideBody = objNull" !"hideBody _body;" !"PVDZ_obj_HideBody" !"licVariableEventHandler{(_this select 1)call fnc_usec_damageVehicle};\"dayzHideBody\"addPublicVariableEventHandler{hideBody(_this" -1 hideObject !"rhideObjectcode" !"rhideObjectcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'hideObject.sqf')" !",\"globalRadio\",\"groupChat\",\"groupRadio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kbtell\",\"land\",\"move" !"dio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kbtell\",\"land\",\"move\",\"moveIn\",\"playAction\",\"playAction" !"\"hideObject\"" !"sion\",\"globalChat\",\"globalRadio\",\"groupChat\",\"groupRadio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kb" !"rhideObject = 'hideObject'" -1 hint !"hintC" !"hintSilent" !"rhintcode" !"'BIS_fnc_hints'" !"'hint.sqf'" !"player_taskHint" !"rtaskHint = 'taskHint'" !"rhint = 'hint'" !"rhintcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'hint.sqf')" !",\"globalRadio\",\"groupChat\",\"groupRadio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kbtell\",\"land\",\"move" !"dio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kbtell\",\"land\",\"move\",\"moveIn\",\"playAction\",\"playAction" !"sion\",\"globalChat\",\"globalRadio\",\"groupChat\",\"groupRadio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kb" !"\"hint\"," -1 hintC !"rhintcode" !"rhintCcode" !"rtaskHintcode" !"\"hintC\"," !",\"globalRadio\",\"groupChat\",\"groupRadio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kbtell\",\"land\",\"move" !"rhintC = 'hintC'" !"dio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kbtell\",\"land\",\"move\",\"moveIn\",\"playAction\",\"playAction" !"sion\",\"globalChat\",\"globalRadio\",\"groupChat\",\"groupRadio\",\"hideObject\",\"hint\",\"hintC\",\"kbAddTopic\",\"kbreact\",\"kbRemoveTopic\",\"kb" !"rhintCcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'hintC.sqf')" -1 hintSilent !"dayz_HintMontior = [] spawn {" !"hintSilent parseText format [\"" !"hintSilent \"\";" -1 inflame !"inflamed" !"if(({inflame" !"(_this select 0) inflame true" -1 isAgent !"r(group(vehicle _klr));};if((!(isPlayer _klr))AND{(isAgent teamMember _klr)})then{_klr=agent(teamMember _klr);};};if((isPlayer _" -1 isFlatEmpty !"_x = _new isflatempty [\n0, \n0, \n0.1*_size, \n_size, \n1, \nfalse, \nif (_isPlayer) t" !"if (!((count (_testPos isFlatEmpty [_objDist, 0, _maxGradient, _objDist max 5, _waterMode, _s" -1 isFormationLeader -1 isKeyActive !"if (isKeyActive (_keyString + (str _i))) then" -1 isShowing3DIcons -1 join !"joinSilent" !"joinAsSilent" -1 joinAsSilent -1 joinSilent !"[_body] joinSilent dayz_firstGroup;" -1 lbClear -1 lbCurSel !"displayCtrl 101;\n_selectedUserIndex = lbCurSel _lbUsersControl;\n_selectedUser = _lbUsersControl lbValue" !"_index = lbCurSel _lbcontrol;" !"= lbCurSel _lbcontrol;" -1 lbData !"_selectedUserData = _lbUsersControl lbData _x; \n\nfor [{_y=0},{_y < count(playableUnits)},{_y=_y+1}] do" !"_lbselected = _control lbData _lbindex;" -1 lbSetData -1 lbSetValue !"*rating(playableUnits select _y);\n_lbUsersControl lbSetValue [_x, _rating];\nif (_rating > 0) then" -1 lbText !"_selectedUserText = _lbUsersControl lbText _selectedUserIndex" -1 lbValue !"_selectedUser = _lbUsersControl lbValue " -1 list_vec -1 lnbAddColumn -1 lnbData !"_selectedItem = _lbcontrol lnbData [_index,1];" -1 lnbDeleteRow !"_lbcontrol lnbDeleteRow _x;" -1 lnbText !"_selectedItemCountLeft = _lbcontrol lnbText [_index,0];" -1 mapCenterOnCamera -1 mapGridPosition -1 markerBrush !"setMarkerBrush" -1 markerShape !"setMarkerShape" -1 menu !_menu !commandingMenu !createMenu !BIS_fnc_kbMenu !BIS_fnc_commsMenuCreate !BIS_fnc_commsMenuToggleAvailability !BIS_fnc_commsMenuToggleVisibility !BIS_fnc_createmenu !gear_ui_offMenu !"\"showCommandingMenu\"" !" 'BIS_fnc_commsMenu" !" 'BIS_fnc_createmenu' " -1 modelToWorld !"_pos = player modeltoWorld [0,1,0];\n\n_item = createVehicle [\"WeaponHolder\", _pos, []" !"_pos modeltoworld [0,_size/2,0]" !"_bsz_pos = _obj modelToWorld _bsz_pos;" !"_cornerLow = _this ModeltoWorld (_boundingBox select 0);" !"_pos = _unit modelToWorld [ sin(_deg) * _trip, cos(_deg) * _trip, 0];" !"_iPos = _obj modelToWorld _x;" -1 moonIntensity !"+ moonIntensity" -1 moveTo !moveToFailed !movetocompleted !"_animal moveto _movepos;" !="kbRemoveTopic" !="_unit moveTo _pos" !"_agent moveto _initpos;" !"_agent moveTo _targetPos;" !"_unit moveTo _pos;" !"_agent moveTo _pos;" !"_agent moveTo _myDest;" !"_agent moveTo (getPosATL player);" -1 nearObjects !"_nearby = _position nearObjects [\"building\",_radius];" !"forEach(_plyr nearObjects["ReammoBox",20])" -1 owner !"\"_ownerID\"" !"\"owner\"" !"_flare setVariable [\"owner\",player,true];" !"setOwner" !"zombie_findOwner" !"_canPickLight = isNull (_nearLight getVariable [\"owner\",objNull]);" -1 playableUnits !"_local = { _unit distance _x < _dis; } count playableUnits <= 1;" !"!= _plr) AND (_x distance _y < dayz_cantseeDist)} count playableUnits) then {" !"count playableUnits == 0 and isServer" !"if (count playableUnits == 0 and isServer) then {" !"forEach playableUnits" !"(playableUnits select _y)" !"_list=playableUnits;_count=count _list;" -1 playScriptedMission -1 publicVariable !"publicVariableServer" !"addPublicVariableEventHandler" !"publicVariable \"BIS_" !"publicVariable \"PVDZ_" !"publicVariable \"dayzDiscoRem\";" !"publicVariable \"dayzHideBody\";" !"publicVariable \"dayzHitV\";" !"publicVariable \"dayzHumanity\";" !"publicVariable \"dayzLogin\";" !"publicVariable \"dayzLogin2\";" !"publicVariable \"dayzLoginRecord\";" !"publicVariable \"dayzPlayerSave\";" !"publicVariable \"dayzPublishObj\"" !"publicVariable \"dayzRoadFlare\";" !"publicVariable \"dayzSetFuel\";" !"publicVariable \"dayzUpdateVehicle\";" !"publicVariable \"remExFP\";" !"publicVariable \"usecBandage\";" !"publicVariable \"usecBleed\";" !"publicVariable \"usecEpi\";" !"publicVariable \"usecMorphine\";" !"publicVariable \"usecPainK\";" -1 reload !"\"reload\"" !"I should probably reload it" !"preloadCamera" !"dayz_preloadFinished" !"PRELOAD_" !"player_reloadMag" !"BIS_CPP_Muzzle_ForceReload" !"dayz_clientPreload" !"dayz_clientPreload and !(isNull _agent)" !"entPreload } do {" !"reload player;" !"dayz_clientPreload = true;" -1 removeAllEventHandlers !"_this removeAllEventHandlers \"HandleDamage\";" -1 removeAllWeapons !"\n\n\n\nremoveallweapons _v;\n\nif (local _v) then {_expl=\"HelicopterExploSmall\"" !"rremoveAllWeaponscode" !"removeAllWeapons _oldUn" !"rremoveAllWeapons = 'removeAllWeapons'" !"ion\",\"playActionnow\",\"playmove\",\"playmovenow\",\"playMusic\",\"playsound\",\"removeAction\",\"removeAllWeapons\",\"setCaptive\",\"setCurrent" !"ionnow\",\"playmove\",\"playmovenow\",\"playMusic\",\"playsound\",\"removeAction\",\"removeAllWeapons\",\"setCaptive\",\"setCurrentTask\",\"setCur" !"\"removeAllWeapons\"," !"removeAllWeapons _oldUnit;" !"rremoveAllWeaponscode = compile PreprocessFile (BIS_PathMPscriptCommands + 'removeAllWeapons.sqf')" !"sound\",\"removeAction\",\"removeAllWeapons\",\"setCaptive\",\"setCurrentTask\",\"setCurrentTaskArrays\",\"setDate\",\"setDir\",\"setGroupID\",\"s" -1 removeEventHandler !"player removeEventHandler [\"FiredNear\",eh_player_killed];" !"player removeEventHandler[\"HandleDamage\",mydamage_eh1];" !"player removeEventHandler[\"HandleDamage\",mydamage_eh1]" -1 removeMagazine !removeMagazines !"{_newUnit removeMagazine _x;} forEach magazines _newUnit;" !"if (_hasMeds) then {\nplayer removeMagazine _med;\n};\n\nplayer removeAction s_player_antiobiotic;" !"player removeMagazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\"" !"if (_isMedic and !_started) then {\nplayer removeMagazine \"ItemBloodbag\";" !"for \"_x\" from 1 to _qty do {\nplayer removeMagazine _meat;\nplayer addMagazine _meatcooked;" !"player removeMagazine \"ItemMorphine\";\n\n_unit setVariable [\"hit_legs\",0];" !"player removeMagazine _item;" !"player removeMagazine \"ItemBandage\";" !"player removeMagazine _itemorignal;" !"player removeMagazine 'crowbar_swing';" !"player removeMagazine _magType;" !"player removeMagazine \"ItemPainkiller\";" !"player removeMagazine \"ItemHeatPack\";" -1 removeMagazines !removeMagazinesTurret !"player removeMagazines \"ItemWaterbottleUnfilled\";" !"{player removeMagazines _x} forEach [\"hatchet_swing\"" !"player removeMagazines _create;" !"removeMagazinesTurret" !"{player removeMagazines _x} forEach MeleeMagazines;" -1 removeMagazinesTurret -1 removeWeapon !"player removeWeapon \"Melee" -1 reveal !"_fire setPos _location; \nplayer reveal _fire;\n\n_fire spawn player_fireMonitor;" !"player reveal _tent;" !"player reveal _bag;" !"player reveal _object;" !"_x reveal [_projectile,4];" !"player reveal _holder;" !"player reveal _unit;" !"reveal _x} forEach (nearestObjects [getPosATL player, [\"AllVehicles\",\"WeaponHolder\",\"StashSmall\",\"StashMedium\",\"TentStorage\",\"BuiltItems\"]," -1 sCode !"\"_slotsCode\"" !"rremoveAllWeaponscode" !"rsetCurrentTaskArrayscode" -1 scopeName !"scopeName \"loop\";" !"scopeName \"main\";" !"scopeName \"" -1 scriptName !"scriptName \"Functions\\misc\\fn_damageHandler.sqf\";" !"scriptName \"Functions\\arrays\\fn_selectRandom.sqf\";" !"scriptName \"Functions\\misc\\fn_selfActions.sqf\";" !"scriptName \"Functions\\misc\\fn_damageActions.sqf\";" !"scriptName \"Functions" !"scriptName \"ui" !"scriptName \"missions_acr" !"scriptName \"MP" !"scriptName \"fn_flies.sqf\";" -1 selectBestPlaces !"selectbestplaces [_randrefpoint,dayz_animalDistance,_favouritezones" !"selectbestplaces [(getpos _agent),500,_favouritezones,10,5];" -1 selectNoPlayer -1 selectPlayer !"selectPlayer _newUnit;" !"selectPlayer dayz_originalPlayer;" -1 selectWeapon !"if(_currentWpn != \"\") then {_newUnit selectWeapon _currentWpn;};" !"player selectWeapon (_muzzles select 0);" !"player selectWeapon _currentWpn;" -1 server_hiveReadWrite -1 serverCommand !"serverCommandAvailable" -1 setCombatMode !"_agent setCombatMode \"RED\";" !"_agent setCombatMode" !"_agent setCombatMode \"RED\";" -1 setCurrentTask !"rsetCurrentTaskArrays" !"rsetCurrentTaskcode" !"'setCurrentTask'" !"'setCurrentTask.sqf'" !"rsetCurrentTaskcode={diag_log(\"FACO RE(DEL)rsetCurrentTaskcode args:\"+str(_this));};" !"rsetCurrentTaskcode = compile PreprocessFile (BIS_PathMPscriptCommands + 'setCurrentTask.sqf')" !"setCurrentTask\",\"setCurrentTaskArrays\",\"setDate\",\"setDir\",\"setGroupID\",\"setMarkerPosLocal\",\"setObjectTexture\",\"setSimpleTaskDesc" !"rsetCurrentTask = 'setCurrentTask'" !"\"setCurrentTask\"," !"sound\",\"removeAction\",\"removeAllWeapons\",\"setCaptive\",\"setCurrentTask\",\"setCurrentTaskArrays\",\"setDate\",\"setDir\",\"setGroupID\",\"s" !"ionnow\",\"playmove\",\"playmovenow\",\"playMusic\",\"playsound\",\"removeAction\",\"removeAllWeapons\",\"setCaptive\",\"setCurrentTask\",\"setCur" -1 setFog !"0 setFog _currentFog;" !"timeUntilCompletion setFog _targetWeatherValue;" -1 setFuel !"local_setFuel" !"dayzSetFuel spawn local_setFuel;" !"local_setFuel = compile preprocessFileLineNumbers \"" -1 setGroupId !"\"setGroupID\"" !"'setGroupID'" !"'setGroupID.sqf'" !"rsetGroupIDcode" !"rsetGroupIDcode={diag_log(\"FACO RE(DEL)rsetGroupIDcode args:\"+str(_this));};" -1 setHit !"_unit setHit [_selection, _ret];\n_log = format[\"%1. setHit[%2,%3]%4\"" !"_unit setVariable [_SVname, 0, true];\n_unit setHit [_selection, 0];\nif (!isServer) then {\nPVDZ_veh_Save" !"_unit setHit [_selection, _dam];" !"object_setHitServer" !"object_setHit.sqf\"" !"ayer setHit[\"hands\",1];" !"[player,\"legs\", (_fractures select 0)] call object_setHit;" !"t setHit[\"legs\",0];" !"player setHit[\"legs\",1];" -1 setLightAmbient !"_lightArea setLightAmbient [0.2,0.01,0.01];" !"_li setLightAmbient[0.8, 0.6, 0.2];" -1 setLightBrightness !"_lightArea setLightBrightness 0.2;" !"_li setLightBrightness 0;" -1 setMarkerBrush !"setMarkerBrushLocal" -1 setMarkerBrushLocal !"_markerstr setMarkerBrushLocal \"Border\";" -1 setMarkerDir !"setMarkerDirLocal" -1 setMarkerDirLocal -1 setMarkerPos "\"setMarkerPosLocal\"" !"\"setMarkerPos" -1 setMarkerText !setMarkerTextLocal -1 setMarkerTypeLocal -1 setOvercast !"0 setOvercast _currentOvercast;" -1 setOwner -1 setParticleCircle !"_wave setparticlecircle [2,[0,16,0]];\n_wave setDropInterval 0.0015;" -1 setParticleParams !"then{_smoke=\"#particlesource\"createVehicleLocal _pos;_smoke attachto[_v,[0,0,0],\"destructionEffect1\"];_smoke setParticleParams[[" !"_smoke setParticleParams" !"cleRandom[0.3,[1,1,0],[0,0,0],0,0.3,[0,0,0,0],0,0];_fl setParticleParams[[\"" !"_fl setParticleParams" !"_source setParticleParams" !"_smoke setParticleParams [[\"" -1 setPlayable !"setPlayable _newUnit;" !"setPlayable dayz_originalPlayer;" -1 setPos !"_item setPosATL _pos;\n};\n_item addMagazineCargoGlobal [_itemtodrop,1];" !"_obj setPosATL(_new);\n};" !"_object setPos [_position select 0,_position select 1,0];" !"_flare setPos (getPos _flare);" !"player setPosATL (getPosATL player);" !="_agent setpos _Pos;" !"_unit setPosATL (getPosATL _unit);" !"setPosition" !"_oldUnit setPosATL [_createSafePos select 0, _createSafePos select 1, 0];" !="player setPosATL _mylastPos" !"_agent setPosATL _position" !="_item setPosATL _iPos" !"(vehicle player) setpos _lastpos" !"BIS_fnc_sceneSetPosFormation" !"_bolt setPosATL _endPos" !"player setPosATL dayz_spawnPos;" !"_setPos = _worldspace select 1;" !"_test = (_this select 0) setPos (position (_this select 0)); if (isnil \"_test\") then {_test" !"t 0,_pos select 1,0];_Crater setdir(_dir+(180 * _i));_Crater setpos[_pos select 0,_pos select 1,0];_Crater setPos[_pos select 0," !"_object setPos _position;" !"preloadCamera _setPos" !"etPosATL _setPos;" !"_Crater setPos [_pos sele" -1 setPosition !="ctrlSetPosition" -1 setRain !"0 setRain drn_var_DynamicWeather_Rain;" -1 setRepairCargo -1 setSize -1 setSkill !"_agent setSkill 0;" -1 setSpeedMode !"_animal setspeedmode \"FULL\";" !"_animal setspeedmode \"LIMITED\";" !"_agent setSpeedMode \"LIMITED\";" -1 setText !_setText !ctrlSetText -1 setUnitPos !"_agent setUnitPos "Middle";" !"_agent setUnitPos \"Middle\";" -1 setVehicleInit -1 setVelocity !"if (_velz>1) then {_v setvelocity [velocity _v select 0,velocity _v select 1,0]};" !"if (_velz>1) then {_v setvelocity [_xv/1.3,_yv/1.3,0]}" !"_item setvelocity [0,0,1];" !"player setVelocity [-(_vel select 0), -(_vel select 1), 0];" !"_agent setvelocity [0, 0, 1];" !"player setVelocity [(velocity player select 0) + 1.5 * sin direction player," !"player setVelocity [(velocity player select 0) + 1.5 * sin direction player, (" -1 setWaypointType -1 setWaypointVisible -1 setWeaponReloadingTime -1 setWeaponState -1 setWind !"setWind [_currentWindX, _currentWindZ, true];" -1 skipTime !"\"skiptime\"" !"rskiptime = 'skiptime'" !"rskiptimecode={diag_log(\"WARNING illegal RE rskiptimecode with args:\"+str(_this));};" !"rskiptimecode={diag_log(\"FACO RE(DEL)rskiptimecode args:\"+str(_this));};" !"rskiptimecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'skiptime.sqf')" -1 speedMode !"speed" -1 teamMember !"r(group(vehicle _klr));};if((!(isPlayer _klr))AND{(isAgent teamMember _klr)})then{_klr=agent(teamMember _klr);};};if((isPlayer _" -1 terrainIntersect !"terrainIntersectASL" -1 terrainIntersectASL !"(!(terrainIntersectASL [_zPos, _eye])" !"_cantSee = terrainIntersectASL [_tPos, _zPos];" -1 titleCut !"rtitleCut = 'titleCut'" !"rtitleCutcode" !"\"titleCut\"" -1 unassignVehicle -1 unitBackpack !"_backpack = unitBackpack player;" !"dayz_myBackpack = unitBackpack player" !"_backpackWpn = getWeaponCargo unitBackpack player;" !"rgo unitBackpack _newUnit);" !"_bag = unitBackpack player;" !"dayz_myBackpack = unitBackpack player;" !"iag_log str(getMagazineCargo unitBackpack _newUnit);" !"pn = getWeaponCargo unitBackpack player;" -1 unitPos !"setUnitPos" -1 viewDistance -1 visibleMap -1 visiblePositionASL -1 waypoint -1 weaponDirection !"_turretDir = _firer weaponDirection _weapon" !"_turretDir = _firer weaponDirection _weapon;" -1 weaponsTurret !"_weapons = _vehicle weaponsTurret _turret;" -1 worldToModel !"if (_isPond) then {\n_pondPos = (_x worldToModel _playerPos) select 2;" !"_x = _pos worldToModel _new;\n_dir = _dir + (if ((_x select 1)==0) then { 0 } els" !"_relPos = _building worldToModel _point;" !"_relPos = _building worldToModel (getPosATL _unit1);" -/////////////////// Other suspicious patterns: -5 "Admin Fucker" -5 BigFuckinBullets -5 ZombieShield -5 antiAggro_zeds -5 zeus_star -5 Metallica -5 infiSTAR -1 "_countr =" !"if (speed _agent < 0.1) then {_countr = _countr + 1} else {_countr = 0};" !"_countr = 0"// #124 -1 _dummyveh -1 "_lpajd addaction spawnveh1" -1 _minimap -1 "{_unt1 addweapon _x} forEach _w2p3n4;" -1 "\"You\"" -1 actualunit -1 aList -1 "crashList = allmissionobject" -1 "Entities \"Air\"" -1 "ers...\"" -1 expression -1 exstr -1 Flare1 -1 "foreach tent" -1 Hack-Men -1 HaxSmokeOn -1 "if (alive player) then { player SetDamage 1;};" -1 "Infinite Ammo ON!" -1 mapm -1 mapopt -1 mapscanrad -1 mark_player -1 marker_mapesp -1 maut -1 morphto -1 musekeys -1 Myscripts -1 pathtoscrdir -1 "player addWeapon \"NVGoggles\";)" -1 "player distance nukepos" -1 "player execVM" -1 "publicVariable \"gprim\";" -1 "publicVariable \"norrnRalie\"" -1 "reprflcrst" -1 "RscConfigEditor_Main" -1 "setMarkerTextLocal" -1 setMarkerTypeLocal !"rsetMarkerPosLocalcode" -1 Smokeshellpurple -1 "switch (_topic) do" -1 "tentList = allmissionobjects \"Land_A_tent\"" -1 "veh = \"AmmoBoxBig\" createVehicle" -1 "vet@start.sqf" -1 "wuat" -1 "YourScript" -1 "zombieshield" -//1 "dayz_" !dayz_spaceInterrupt !"dayZ_everyonesTents" !"dayZ_lastPlayerUpdate" !"dayz_baseTypes" !"dayz_temperaturnormal" !"dayz_playerName" !"dayz_heartBeat" !"dayz_monitorPeriod" !"dayzClickTime" !"dayz_spawnDelay" !"dayz_lootDelay" !"dayz_lootWait" !"dayz_maxCurrentZeds" !"dayz_inVehicle" !"dayz_statusArray" !"dayzGearSave" !"dayz_ZombieBuildings" !"dayz_LootBuildings" !"dayz_losChance" !"dayz_authed" !"dayz_clientPreload" !"dayz_loadScreenMsg" !"dayz_preloadFinished" !"dayz_localswarmSpawned" !"dayz_swarmSpawnZombies" !"dayz_Locations" !"dayz_locationsActive" !"dayz_Trash" !"dayz_lastSave" !"dayz_damageCounter" !"dayz_lowHumanity" !"dayz_canDisconnect" !"dayz_heartBeat" !"dayz_lastCheckBit" !"dayz_CLChances" !"dayz_CLBase" !"dayz_currentDay" !"dayz_panicCooldown" !"dayz_losCheck_attack" !"dayz_losCheck" !"dayz_monitorPeriod" !"DAYZ_woundHit_ok" !"dayz_surfaceNoise" !"DAYZ_woundHit" !"dayz_areaAffect" !"dayz_futurePos" !"Dayz_GUI_R" !"Dayz_GUI_G" !"Dayz_GUI_B" !"dayz_myBackpack" !"dayz_spawnWait" !"dayz_guiHumanity" !"dayz_lastHumanity" !"deathHandled" !"dayz_noPenalty" !"dayz_heavenCooldown" !"dayz_maxMaxWeaponHolders" !"dayz_forceSave" !"dayz_lastCheckSave" !"dayz_resetSelfActions" !"dayz_unsaved" !"dayz_combat" !"dayz_spawnCheck" !"dayz_DeathActioned" !"dayz_track_death_1" !"dayz_locationCheck" !"dayz_firstGroup" !"dayz_gui" !"dayz_medicalH" !"dayz_originalPlayer" !"dayz_disableRespawn" !"dayz_monitor1" !"dayz_animalCheck" !"dayz_slowCheck" !"dayz_musicH" !"dayz_myMagazines" !"dayz_myItems" !"dayz_myWeapons" !"DAYZ_disVisual" !"dayz_myBackpackMags" !"dayz_myBackpackWpns" !"DayZ_loadingScreen" !"DAYZ_disAudial" !"dayz_firedCooldown" !"dayz_versionNo" !"DAYZ: CLIENT IS RUNNING DAYZ_CODE" !"dayz_scaleLight" !"dayz_bodyMonitor" !"dayz_maxAnimals" !"dayz_animalDistance" !"DAYZ_GUI_waiting" !"Dayz_freefall" !"dayz_temperaturmin" !"dayz_inside" !"dayz_sourceBleeding" !"dayz_selectGender" !"dayz_mylastPos" !"'dayz_anim'" !"You are running an incorrect version of DAYZ_CODE, please" !"dayz_canDelete" !"dayz_myLoad" !"dayz_flyMonitor" !"dayz_sunRise" !"DayZ_NewZeds" !"dayz_CurrentZombies" !"dayz_maxLocalZombies" !"dayz_spawnZombies" !"dayz_myPosition" !"dayz_maxGlobalZombies" !"\"dayz_anim\""!"dayz_HintMontior" !"dayz_fpsmonitor" !"dayz_buildingMonitor" !"dayz_cantseefov" !"dayz_safeDistPlr" !"dayz_cantseeDist" !"dayz_CBLBase" !"dayz_maxMaxModels" !"dayz_spawnArea" !"dayz_CBLChances" !"dayz_lootSpawnBias" !"dayz_myCursorTarget" !"dayz_playerUID" !"dayz_temperaturmax" !"dayz_temperatur" !"dayz_hunger" !"dayz_lastMeal" !"DAYZ_GUI_display" !"dayz_thirst" !"dayz_lastDrink" !"dayz_surfaceType" !"dayz_meleeMagazineCheck" !"dayz_Magazines" !"Dayz_logonTown" !"Dayz_logonTime" !"Dayz_logonDate" !"dayz_Survived" !"dayz_zombieMusic" !"dayz_zombieSpeak" !"dayz_isSwimming" !"dayz_characterID" !"dayz_hasFire" !"dayz_hasLight" !"z\\addons\\dayz_" +5 addMagazine !"addMagazine _" !"addMagazine \"" !"addMagazine '" !"\"addMagazine\"" !addMagazineCargo !="raddMagazine = 'addMagazine'" !="raddMagazinecode={diag_log(\"WARNING illegal RE raddMagazinecode with args:\"+str(_this));};" !="raddMagazinecode = compile PreprocessFile (BIS_PathMPscriptCommands + 'addMagazine.sqf')" !"ate_ammo_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows];\ncutT" !"mmo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"ume_ammo_rest != 0) then {\nplayer addMagazine [_consume,_qtynew_consume_ammo_res" !"o_rest != 0) then {\nplayer addMagazine [_create,_qtynew_create_ammo_rest]" !"Magazine \"WoodenArrow\";\n};\nplayer addMagazine [\"Quiver\",_qty_quiverarrows+_qty_a" !"ame _x == \"ARRAY\") then {_newUnit addMagazine [_x select 0,_x select 1] } else {" !"n {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer " !"{\n_vehicle removeMagazineTurret [_ammo,_turret];\n_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine _ammo;\ncutText [for" !"_item = createVehicle [\"WeaponHolder\", getPosATL player, [], 1, \"CAN_COLLIDE\"];\n_item addMagazineCargoGlobal [_itemOut,_countOut];" +5 "addMagazine _" !"addMagazine _c" !"addMagazine _x" !"addMagazine _i" !"addMagazine _p" !"_invRemove);\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _meatcooked;\n};" !if (local _animalbody) then {\nfor \"_x\" from 1 to _qty do {\n_animalbody addMagazine _rawfoodtype;\n};\n" !"_selectRandomWeighted;\nif(!isNil \"_array\") then {\n_agent addMagazine _loot;\n};\n" !"\nfor \"_x\" from 1 to _third_parts_out do {\nplayer addMagazine _third_highest_bar;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _next_highest_bar;\n};\n" +5 "addMagazine _p" !"alive _obj) then {\n\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"removeBackpack player;\nfor \"_x\" from 1 to _qty_out do {\nplayer addMagazine _part_out;\n};" !"\nfor \"_x\" from 1 to _removed do {\nplayer addMagazine _part_in;\n};\n" !"\nfor \"_x\" from 1 to _remainder do {\nplayer addMagazine _part_out;\n};\n" !"\nfor \"_x\" from 1 to _total_parts_out do {\nplayer addMagazine _part_out;\n};" !"do {\nplayer addMagazine _part_out;\nif(_part_out == \"FoodBioMeat\") then {\n_humanityGain = _humanityGain + 20;\n};" !"if(_buy_o_sell == \"buy\") then {\nplayer addWeapon _part_out;\n} else {\nplayer addMagazine _part_out;\n};" +5 "addMagazine _i" !"\nfor \"_x\" from 1 to _countOut do {\nplayer addMagazine _itemOut;\n};" !"drop,1];\n} else {\nplayer addMagazine _itemOut;\n};" !"_invRemove) == 1) then {\nplayer addMagazine _itemNew;\n[dayz_playerUID,dayz_c" !"\nif (_isOK) then {\nif (_val != -1) then {\nplayer addMagazine [_item,_val];\n} else {\nplayer addMagazine _item;\n};\n" !"s (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};" +5 "addMagazine _c" !"ynew_create_mags_full do {\nplayer addMagazine _create;\n};\nif (_qtynew_create_amm" !"new_consume_mags_full do {\nplayer addMagazine _consume;\n};\nif (_qtynew_consume_a" !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName;\ncutText " !"[player,\"refuel\",0,false] call dayz_zombieSpeak;\nplayer addMagazine _canName+\"Empty\";\ncutText " +5 "addMagazine _x" !"{player addMagazine _x;} forEach _temp_removed_array;\n\ncutText" !" 0,_x select 1] } else { _newUnit addMagazine _x };\n\n} forEach _magazines;\n\n{\n_n" !" >> _x);\nif (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _wpns;" !"gFile >> "CfgMagazines" >> _x);if (_isOK) then {\nplayer addMagazine _x;\n};\n} forEach _mags;\n{\n_isOK = isClass(configFile >> "C" +5 "addMagazine \"" !"for \"_x\" from 1 to _removed do {\nplayer addMagazine \"ItemWaterbottleBoiled\";\n};" !"Jerrycan\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemJerrycanEmpty\";\n" !"if(([player,_x] call BIS_fnc_invRemove) == 1) then {\nif (_x == ItemFuelBarrelEmpty) then {\nplayer addMagazine "ItemFuelBarrel";\n} else {\nplayer addMagazine "ItemJerrycan";\n};" !"n player_alertZombies;\nplayer addMagazine \"ItemWaterbottleUnfilled\";" !"WaterbottleUnfilled\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottle\";\n};" !"Waterbottle\"] call BIS_fnc_invRemove) == 1) then {\nplayer addMagazine \"ItemWaterbottleUnfilled\";\n};" !"if (local _zombiebody) then {\n_zombiebody addMagazine \"ItemZombieParts\";" !"ayer playActionNow \"stop\";\n};\nplayer addMagazine \"ItemBandage\";\n};" +5 "addMagazine '" !" addMagazine 'crowbar_swing';" !" addMagazine 'hatchet_swing';" !" addMagazine 'Machete_swing';" !" addMagazine 'Fishing_Swing';" \ No newline at end of file diff --git a/Server Files/mysql/epoch.sql b/Server Files/mysql/epoch.sql index 67164fc77..4a984ecb5 100644 --- a/Server Files/mysql/epoch.sql +++ b/Server Files/mysql/epoch.sql @@ -1,5 +1,5 @@ /* -DayZ Epoch 1.0.1.8 +DayZ Epoch 1.0.1.9 */ SET FOREIGN_KEY_CHECKS=0;