From 109ec5c9a33a5ca8b512490a0310939b5b6d8110 Mon Sep 17 00:00:00 2001 From: seelenapparat Date: Tue, 24 Aug 2021 15:32:43 +0200 Subject: [PATCH] Revert "Merge branch 'master' of https://github.com/EpochModTeam/DayZ-Epoch" This reverts commit 4bbb3ac60941e209e5a3959172c6996f2fa4b178, reversing changes made to 96f1d40a71dc29a02aad25a9b9f08b2e65047caa. --- CHANGE LOG 1.0.7.1.txt | 24 +- Documents/CHANGE LOG 1.0.7.txt | 169 -- README.md | 107 +- .../CfgMagazines/Buildings/StaticWeapons.hpp | 527 ----- .../Configs/CfgMagazines/CfgMagazines.hpp | 3 +- .../Configs/CfgMagazines/Items/Misc.hpp | 154 -- .../Configs/CfgMagazines/Magazines/50AE.hpp | 5 - .../Configs/CfgMagazines/Magazines/556x45.hpp | 9 +- .../CfgMagazines/Magazines/VehicleAmmo.hpp | 2 +- .../CfgServerTrader/Category/Weapons.hpp | 4 +- .../CfgServerTrader/Category/Wholesale.hpp | 8 - .../CfgServerTraderZSC/Category/Weapons.hpp | 4 +- .../CfgServerTraderZSC/Category/Wholesale.hpp | 8 - .../Configs/CfgVehicles/Buildables/Misc.hpp | 18 +- .../CfgVehicles/Buildables/StaticWeapons.hpp | 288 --- .../Configs/CfgVehicles/CfgVehicles.hpp | 2 - .../Configs/CfgVehicles/Zeds/Bloodsuckers.hpp | 134 -- .../Configs/CfgWeapons/CfgWeapons.hpp | 3 +- .../Configs/CfgWeapons/Rifles/G3.hpp | 173 +- .../Configs/CfgWeapons/Rifles/SVD.hpp | 20 - .../Configs/CfgWeapons/Rifles/SVU.hpp | 20 - .../Configs/CfgWeapons/Tools/MutantHeart.hpp | 7 - .../Configs/RscDisplay/RscPlayerUI.hpp | 20 - .../Configs/RscDisplay/remoteVehicle.hpp | 304 --- .../Configs/RscDisplay/vehicleKeyChanger.hpp | 315 --- .../Configs/RscDisplay/virtualGarage.hpp | 367 --- SQF/dayz_code/Configs/cfgMoves.hpp | 2054 ----------------- .../functions/z_at_sellItems.sqf | 1 - SQF/dayz_code/actions/buryActions.sqf | 85 - SQF/dayz_code/actions/garageDoorOpener.sqf | 70 - SQF/dayz_code/actions/gather_meat.sqf | 96 +- SQF/dayz_code/actions/locateVehicle.sqf | 57 - SQF/dayz_code/actions/player_addToolbelt.sqf | 1 - SQF/dayz_code/actions/player_addtoBack.sqf | 11 +- SQF/dayz_code/actions/player_dropWeapon.sqf | 18 +- SQF/dayz_code/actions/player_goFishing.sqf | 2 +- SQF/dayz_code/actions/player_mineStone.sqf | 23 +- SQF/dayz_code/actions/player_surrender.sqf | 1 - SQF/dayz_code/actions/player_switchWeapon.sqf | 2 - .../actions/remoteVehicle/remoteVehicle.sqf | 152 -- .../actions/remoteVehicle/vehicleInfo.sqf | 54 - SQF/dayz_code/actions/remove.sqf | 1 - SQF/dayz_code/actions/servicePoints/init.sqf | 176 -- .../servicePoints/servicePointActions.sqf | 143 -- SQF/dayz_code/actions/takeClothes.sqf | 45 - .../virtualGarage/player_MaintainVG.sqf | 42 - .../virtualGarage/player_getVehicle.sqf | 69 - .../virtualGarage/player_removePad.sqf | 24 - .../virtualGarage/player_storeVehicle.sqf | 209 -- .../actions/virtualGarage/vehicleInfo.sqf | 110 - .../actions/virtualGarage/virtualGarage.sqf | 64 - SQF/dayz_code/actions/vkc/vehicleInfo.sqf | 68 - .../actions/vkc/vehicleKeyChanger.sqf | 175 -- .../Rightclicks/ui_selectSlot_addon.sqf | 105 - .../compile/building_spawnZombies.sqf | 7 - SQF/dayz_code/compile/fn_selfActions.sqf | 127 +- SQF/dayz_code/compile/local_gutObject.sqf | 57 +- SQF/dayz_code/compile/mutant_findTarget.sqf | 29 - SQF/dayz_code/compile/mutant_generate.sqf | 16 - SQF/dayz_code/compile/player_alertZombies.sqf | 42 +- SQF/dayz_code/compile/player_forceSave.sqf | 2 +- SQF/dayz_code/compile/player_gearSet.sqf | 1 - .../compile/player_humanityMorph.sqf | 2 - SQF/dayz_code/compile/player_mutantAttack.sqf | 76 - SQF/dayz_code/compile/player_regularSave.sqf | 2 +- SQF/dayz_code/compile/player_spawnCheck.sqf | 16 - SQF/dayz_code/compile/player_zombieCheck.sqf | 246 +- ...lectSlot_vanilla.sqf => ui_selectSlot.sqf} | 52 +- SQF/dayz_code/config.cpp | 3 - SQF/dayz_code/configVariables.sqf | 410 +--- .../R3F_Weight/Magazines/Ammo/VehicleAmmo.hpp | 9 +- .../R3F_Weight/Magazines/Buildings/Misc.hpp | 5 + .../Magazines/Buildings/StaticWeapons.hpp | 100 - .../R3F_Weight/Magazines/Items/Misc.hpp | 56 - .../R3F_Realism/R3F_Weight/R3F_CfgWeight.hpp | 1 - .../R3F_Realism/R3F_Weight/Weapons/Rifles.hpp | 24 - SQF/dayz_code/init/compiles.sqf | 54 +- SQF/dayz_code/init/variables.sqf | 17 +- SQF/dayz_code/stringtable.xml | 162 +- .../system/mission/server_traders/caribou.sqf | 4 - .../mission/server_traders/chernarus11.sqf | 4 - .../mission/server_traders/chernarus17.sqf | 4 - .../mission/server_traders/cmr_ovaron.sqf | 4 - .../mission/server_traders/fdf_isle1_a.sqf | 4 - .../mission/server_traders/isladuala.sqf | 4 - .../system/mission/server_traders/lingor.sqf | 4 - .../system/mission/server_traders/namalsk.sqf | 2 - .../system/mission/server_traders/napf.sqf | 4 - .../mission/server_traders/panthera2.sqf | 4 - .../mission/server_traders/sauerland.sqf | 4 - .../mission/server_traders/smd_sahrani_a2.sqf | 4 - .../mission/server_traders/takistan.sqf | 4 - .../system/mission/server_traders/tavi.sqf | 4 - SQF/dayz_code/system/mutant_agent.fsm | 719 ------ SQF/dayz_server/compile/garage/init.sqf | 54 - .../garage/server_maintainVehicles.sqf | 9 - .../compile/garage/server_queryVehicle.sqf | 12 - .../compile/garage/server_spawnVehicle.sqf | 112 - .../compile/garage/server_storeVehicle.sqf | 92 - SQF/dayz_server/compile/server_playerDied.sqf | 3 +- .../compile/server_playerSetup.sqf | 2 +- SQF/dayz_server/compile/server_playerSync.sqf | 29 +- .../compile/server_publishVehicle3.sqf | 4 +- .../compile/server_publishVehicle3_vkc.sqf | 205 -- SQF/dayz_server/init/server_functions.sqf | 10 +- SQF/dayz_server/system/safeZoneRelocate.sqf | 39 - .../system/scheduler/sched_corpses.sqf | 4 +- .../system/scheduler/sched_init.sqf | 24 +- .../system/scheduler/sched_lootCrates.sqf | 38 - SQF/dayz_server/system/server_monitor.sqf | 7 +- SQF/dayz_server/traders/caribou.sqf | 2 +- SQF/dayz_server/traders/chernarus11.sqf | 2 +- SQF/dayz_server/traders/chernarus17.sqf | 2 +- SQF/dayz_server/traders/cmr_ovaron.sqf | 2 +- SQF/dayz_server/traders/fdf_isle1_a.sqf | 2 +- SQF/dayz_server/traders/isladuala.sqf | 2 +- SQF/dayz_server/traders/lingor.sqf | 2 +- SQF/dayz_server/traders/namalsk.sqf | 2 +- SQF/dayz_server/traders/napf.sqf | 2 +- SQF/dayz_server/traders/panthera2.sqf | 2 +- SQF/dayz_server/traders/sauerland.sqf | 2 +- SQF/dayz_server/traders/smd_sahrani_a2.sqf | 2 +- SQF/dayz_server/traders/takistan.sqf | 2 +- SQF/dayz_server/traders/tavi.sqf | 2 +- SQF/dayz_sfx/CfgMusic.hpp | 6 + SQF/dayz_sfx/CfgSounds.hpp | 70 +- SQF/dayz_sfx/bloodsucker/attack_0.ogg | Bin 20512 -> 0 bytes SQF/dayz_sfx/bloodsucker/attack_1.ogg | Bin 18646 -> 0 bytes SQF/dayz_sfx/bloodsucker/attack_2.ogg | Bin 20711 -> 0 bytes SQF/dayz_sfx/bloodsucker/attack_3.ogg | Bin 16968 -> 0 bytes SQF/dayz_sfx/bloodsucker/distant_growl_0.ogg | Bin 18197 -> 0 bytes SQF/dayz_sfx/bloodsucker/distant_growl_1.ogg | Bin 49386 -> 0 bytes SQF/dayz_sfx/bloodsucker/distant_growl_2.ogg | Bin 21210 -> 0 bytes SQF/dayz_sfx/bloodsucker/distant_growl_3.ogg | Bin 34155 -> 0 bytes SQF/dayz_sfx/bloodsucker/distant_growl_4.ogg | Bin 17559 -> 0 bytes SQF/dayz_sfx/bloodsucker/forest_hidden_1.ogg | Bin 18661 -> 0 bytes SQF/dayz_sfx/bloodsucker/forest_hidden_2.ogg | Bin 17559 -> 0 bytes SQF/dayz_sfx/bloodsucker/forest_hidden_3.ogg | Bin 22478 -> 0 bytes SQF/dayz_sfx/bloodsucker/forest_hidden_4.ogg | Bin 24385 -> 0 bytes .../BattlEye/createvehicle.txt | 10 +- .../BattlEye/publicvariable.txt | 2 +- .../DZE_Server_Config/BattlEye/scripts.txt | 160 +- Server Files/DZE_Server_Config/HiveExt.ini | 12 - Server Files/SQL/epoch.sql | 35 +- .../SQL/update epoch 1.0.7 to 1.0.7.1.sql | 22 - 145 files changed, 629 insertions(+), 9202 deletions(-) delete mode 100644 Documents/CHANGE LOG 1.0.7.txt delete mode 100644 SQF/dayz_code/Configs/CfgMagazines/Buildings/StaticWeapons.hpp delete mode 100644 SQF/dayz_code/Configs/CfgVehicles/Buildables/StaticWeapons.hpp delete mode 100644 SQF/dayz_code/Configs/CfgVehicles/Zeds/Bloodsuckers.hpp delete mode 100644 SQF/dayz_code/Configs/CfgWeapons/Tools/MutantHeart.hpp delete mode 100644 SQF/dayz_code/Configs/RscDisplay/remoteVehicle.hpp delete mode 100644 SQF/dayz_code/Configs/RscDisplay/vehicleKeyChanger.hpp delete mode 100644 SQF/dayz_code/Configs/RscDisplay/virtualGarage.hpp delete mode 100644 SQF/dayz_code/actions/buryActions.sqf delete mode 100644 SQF/dayz_code/actions/garageDoorOpener.sqf delete mode 100644 SQF/dayz_code/actions/locateVehicle.sqf delete mode 100644 SQF/dayz_code/actions/remoteVehicle/remoteVehicle.sqf delete mode 100644 SQF/dayz_code/actions/remoteVehicle/vehicleInfo.sqf delete mode 100644 SQF/dayz_code/actions/servicePoints/init.sqf delete mode 100644 SQF/dayz_code/actions/servicePoints/servicePointActions.sqf delete mode 100644 SQF/dayz_code/actions/takeClothes.sqf delete mode 100644 SQF/dayz_code/actions/virtualGarage/player_MaintainVG.sqf delete mode 100644 SQF/dayz_code/actions/virtualGarage/player_getVehicle.sqf delete mode 100644 SQF/dayz_code/actions/virtualGarage/player_removePad.sqf delete mode 100644 SQF/dayz_code/actions/virtualGarage/player_storeVehicle.sqf delete mode 100644 SQF/dayz_code/actions/virtualGarage/vehicleInfo.sqf delete mode 100644 SQF/dayz_code/actions/virtualGarage/virtualGarage.sqf delete mode 100644 SQF/dayz_code/actions/vkc/vehicleInfo.sqf delete mode 100644 SQF/dayz_code/actions/vkc/vehicleKeyChanger.sqf delete mode 100644 SQF/dayz_code/compile/Rightclicks/ui_selectSlot_addon.sqf delete mode 100644 SQF/dayz_code/compile/mutant_findTarget.sqf delete mode 100644 SQF/dayz_code/compile/mutant_generate.sqf delete mode 100644 SQF/dayz_code/compile/player_mutantAttack.sqf rename SQF/dayz_code/compile/{Rightclicks/ui_selectSlot_vanilla.sqf => ui_selectSlot.sqf} (62%) delete mode 100644 SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/StaticWeapons.hpp delete mode 100644 SQF/dayz_code/system/mutant_agent.fsm delete mode 100644 SQF/dayz_server/compile/garage/init.sqf delete mode 100644 SQF/dayz_server/compile/garage/server_maintainVehicles.sqf delete mode 100644 SQF/dayz_server/compile/garage/server_queryVehicle.sqf delete mode 100644 SQF/dayz_server/compile/garage/server_spawnVehicle.sqf delete mode 100644 SQF/dayz_server/compile/garage/server_storeVehicle.sqf delete mode 100644 SQF/dayz_server/compile/server_publishVehicle3_vkc.sqf delete mode 100644 SQF/dayz_server/system/safeZoneRelocate.sqf delete mode 100644 SQF/dayz_server/system/scheduler/sched_lootCrates.sqf delete mode 100644 SQF/dayz_sfx/bloodsucker/attack_0.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/attack_1.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/attack_2.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/attack_3.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/distant_growl_0.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/distant_growl_1.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/distant_growl_2.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/distant_growl_3.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/distant_growl_4.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/forest_hidden_1.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/forest_hidden_2.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/forest_hidden_3.ogg delete mode 100644 SQF/dayz_sfx/bloodsucker/forest_hidden_4.ogg diff --git a/CHANGE LOG 1.0.7.1.txt b/CHANGE LOG 1.0.7.1.txt index dd805f9b7..73862de63 100644 --- a/CHANGE LOG 1.0.7.1.txt +++ b/CHANGE LOG 1.0.7.1.txt @@ -2,22 +2,7 @@ [ADDED] AKS-74, AKS-74 Kobra, AKS-74 PSO1, AKS-74 NSPU and AKS-74 TWS with full attachment support. (db1ed4c0) @AirwavesMan [ADDED] Red Ryder BB gun and magazine as Epoch version. (597e6086) @AirwavesMan [ADDED] G36A and G36K as Epoch version. (e0a00512) @AirwavesMan -[ADDED] More snappoints for the 4x metal floors. (f68e92d5) @worldwidesorrow -[ADDED] Right click menu made by Mudzereli and updated by Salival. (c4919d65) @AirwavesMan -[ADDED] Missing Combine Magazine option for the Desert Eagle and the 20Rnd Stanag magazine. (858f418a) @seelenapparat, @AirwavesMan -[ADDED] Toggleable Remote Vehicle by Salival. (a9500b4e) @AirwavesMan -[ADDED] Toggleable Locate Vehicle by Salival. (152ec42d) @AirwavesMan -[ADDED] Toggleable Take Clothes by Salival. (1113b579) @AirwavesMan -[ADDED] Toggleable Safe Zone Relocate by Salival. (cc005a97) @AirwavesMan -[ADDED] Toggleable Vehicle Service Point by Salival. (343128bb) @AirwavesMan -[ADDED] Toggleable Garage Door Opener by Salival. (b3871aa3) @AirwavesMan -[ADDED] Toggleable Bury and Butcher Bodies by Salival. (be7898aa) @AirwavesMan -[ADDED] Toggleable Vehicle Key Changer by Salival. (e6eb9419) @AirwavesMan -[ADDED] Toggleable Virtual Garage by Salival. (30f15326) @AirwavesMan -[ADDED] Fully functional Namalsk Bloodsuckers by SumrakDZN. Can be activated in the configVariables.sqf. (05118343) @worldwidesorrow -[ADDED] G3A3 with attachment support. (a3a4cf90) @AirwavesMan [UPDATED] Better message for filling fuel containers if the fuel tank has not enough fuel. (93bf494c) @AirwavesMan -[UPDATED] Snappoints got improved. (f68e92d5) @worldwidesorrow [FIXED] Side Chat was unintentionally disabled on Podagorsk Mission. (cf43c20d) @Voltan, @AirwavesMan [FIXED] English string from the Broken APSI got overwritten by the german string. (43786eec) @seelenapparat, @AirwavesMan [FIXED] Open or close a winter lockbox or an upgraded lockbox had the wrong sound. (ffccff6a, cdfc57fd) @AirwavesMan @@ -25,7 +10,7 @@ [FIXED] DayZ Mod gates could not be removed. (2bbb126a) @Aschalder, @AirwavesMan [FIXED] The AK74 taped magazine could not be used with the AN94. (31c4a0a7) @Schalldampfer, @AirwavesMan [FIXED] Dupe with player_emptyContainer and dayz_actionInProgress bug. (44c94541) @F507DMT, @AirwavesMan -[FIXED] Remove the iron sight view from the RK95 ACOG, SVD Gold and SVU since it does not work. (ee259c4a, ad3c38e4) @IsGoose, @AirwavesMan +[FIXED] Remove the iron sight view from the RK95 ACOG since it does not work. (ee259c4a) @IsGoose, @AirwavesMan [FIXED] Some building wrecks could not be removed. (b43279cd) @Seelenapparat, @AirwavesMan [FIXED] Wrong name of the PIVOT snappoint of all wooden stairs. (f24a8193) @AirwavesMan [FIXED] ArmoredSUV gunner glitch. (aeafb3b3) @TheFirstNoob, @AirwavesMan @@ -38,9 +23,4 @@ [FIXED] Radio state variable got resetted after changing clothes. (6becd3d8) @AirwavesMan [FIXED] Missing side and faction entry for many epoch vehicles (4ba6fa32) @iben, @AirwavesMan [FIXED] Missing terrainCoef for the Mini Cooper. (53d92ba3) @DeVloek, @AirwavesMan -[FIXED] Weapon dupe on gear syncing. (9852778b) @F507DMT, @AirwavesMan -[FIXED] 200Rnd 40mm FV510 HE and Sabot magazines could not be used. (c10a436c) @Schalldampfer, @AirwavesMan -[FIXED] Client RPT Spam 'Strange convex component288 in warehouse\models\warehouse.p3d:geometry' @helion4 -[REMOVED] gsc_cloth_loner_head_DZ model and Skin_gsc_cloth_loner_head_DZ due to model issues. (b1e77a39) @Seelenapparat, @AirwavesMan - -[INFO] Big thanks to the following authors which allowed us to use their content: SumrakDZN, SyNcRoNiCzZ \ No newline at end of file +[REMOVED] gsc_cloth_loner_head_DZ model and Skin_gsc_cloth_loner_head_DZ due to model issues. (b1e77a39) @Seelenapparat, @AirwavesMan \ No newline at end of file diff --git a/Documents/CHANGE LOG 1.0.7.txt b/Documents/CHANGE LOG 1.0.7.txt deleted file mode 100644 index dbd634b83..000000000 --- a/Documents/CHANGE LOG 1.0.7.txt +++ /dev/null @@ -1,169 +0,0 @@ -[NEW] Time between unlocking safes/lockboxes after a failed code will be exponentially higher, see configVariables.sqf\DZE_lockablesHarderPenalty (c3cbca1) @oiad -[NEW] Added over 200 new zombie models with loot groups and strings for Server Admins to use. (2e15009) @AirwavesMan -[NEW] Zombie can wear backpacks. (096fc13) @AirwavesMan -[NEW] Hide Body can be edited and toggled. Enabled by default, configVariables.sqf/DZE_Hide_Body (c0e9fe6) @AirwavesMan -[NEW] Added 6 AK-107 versions with attachment support. (82485ea) @AirwavesMan -[NEW] Added new waterbottles from DayZ Mod. Icons made by @DeVloek. Fully functional with all actions. @AirwavesMan -[NEW] All fuel containers can be emptied. (276615a8) @AirwavesMan -[NEW] Different boxes of matches can be combined. (bc75ad8) @AirwavesMan -[NEW] Added a basic support for PVE Servers. This disables the PVP damage on the server. Disabled by default, configVariables.sqf/DZE_PVE_Mode (e7dbc5dd) @AirwavesMan -[NEW] Dedicated sounds for opening and closing vaults. (c001c38, 9c83ef2, 61258c9, 76721e3) @worldwidesorrow -[NEW] Added the option for vectorUp on spawned objects in fnc_spawnObjects. (bf9dc49) @worldwidesorrow -[NEW] Added 2 new cargo truck versions. A truck with more items slots and a truck with more weapons slots. (02c91007) @AirwavesMan -[NEW] Added an option to give another player an antibacterial wipe. (8c074be) @worldwidesorrow -[NEW] The maps Podagorsk and Chernarus Winter are now part of Epoch. -[NEW] Added snow fall, snow storm, ground fog and cold breath to the game. This can be enabled in the configVariables.sqf/DZE_WeatherVariables and DZE_Weather @worldwidesorrow -[NEW] Added warm clothes support. configVariables.sqf/DZE_WarmClothes (4058f596) @AirwavesMan -[NEW] Added shivering - if the players body temperature is under a certain value the shivering starts. Can be defined and disabled with the last value in the DZE_WeatherVariables array. (4058f596) @AirwavesMan -[NEW] Players can choose among 5 sets of status icons by pressing the F3 key or selecting in the game options menu. @worldwidesorrow -[NEW] Added over 100 new weapons and magazines with attachment support, eg. HK417, Famas, Steyr Aug, G3, MP7 and many more. @AirwavesMan -[NEW] Added M110_DZ with double zoom which was removed with the last Arma 2 1.64 patch. (9a531b3) @AirwavesMan -[NEW] Almost all items have a world model now, eg. FN Fal mag, M203 Flare, AS50 mag. @Helion4, @AirwavesMan -[NEW] Added over 130 new male and female skins. @AirwavesMan @Helion4 -[NEW] Added 11 new backpacks. (637358b, 88053499) @Seelenapparat, @DeVloek, @AirwavesMan, @Helion4 -[NEW] Added different backpack skins for the Coyote and the Czech Backpack. (637358b) @Seelenapparat, @DeVloek, @AirwavesMan -[NEW] All backpacks got updated and have 2 versions, a regular and an upgraded version. (637358b) @Seelenapparat, @DeVloek, @AirwavesMan -[NEW] Fireplaces can be crafted directly from a wooden log. (2b8997ec) @AirwavesMan -[NEW] New sounds for M9, M1911, SVD, VSS Vintorez, PDW, PDW SD, Winchester 1866, Saiga 12k, Anzio. @AirwavesMan -[NEW] All vehicles/buildings are grouped under special vehicle categories in the editor with the indicator: 'DayZ Epoch', @AirwavesMan -[NEW] Painkiller packages can have 0 to 6 pills and can also be combined, similar to antibiotics. (b4b8860c) @AirwavesMan -[NEW] New helicopter skins for CH-47, Mi-17, UH-1H. (43337b6a, c47821ee) @AirwavesMan -[NEW] Added KA60 and AW159 Epoch versions with PKT and M240. (8de9858b) @AirwavesMan -[NEW] Added Land_Ind_Oil_Pump_EP1_DZE, a version without the pumping sound. (8557f559) @seelenapparat -[NEW] Added a proper display name for heli crashes. (ba31c67b) @seelenapparat -[NEW] Players can craft a firebarrel kit from empty methylamin/oil barrels. (b4b93562) @AirwavesMan -[NEW] Enabled DZE_defaultSkin by default. (9842279d) @AirwavesMan -[NEW] Added 2 new AN2 versions with Twin Vickers and M134. (d98834aa) @AirwavesMan -[NEW] Every vehicle ammunition can now be spawned in-game and was added to the loot tables and traders. (6e813dc1) @AirwavesMan -[NEW] Reintroduced DayZ Mod stashes. Build the stash by right-clicking the canvas item. (8304efe9) @AirwavesMan -[NEW] Storage buildings like gun racks, storage sheds, safes etc. can be upgraded to a version with more gear slots. (19889a9d) @AirwavesMan -[NEW] Lumber can be crafted directly from wooden logs. (ae79f4ce) @AirwavesMan -[NEW] Added DayZ Mod fences and gates with upgrade and snap support. (3724a1f3) @AirwavesMan -[NEW] Added sounds for taking painkillers/antibiotics and attaching/detaching a weapon attachment. (a69948d5) @AirwavesMan -[NEW] The community localization stringtable is now part of Epoch. (04a81c15) @AirwavesMan -[NEW] Salival's Change Code script is now part of Epoch. (5e296fc0) @AirwavesMan -[NEW] Added ZSC with global banking. Pull request # 2076. @oiad, @worldwidesorrow, @DevZupa -[NEW] Added remote messaging with localization. Pull request # 2076. @oiad, @worldwidesorrow, @BigEgg17 -[NEW] Almost all epoch vehicles can now be upgraded. This includes trucks, helicopters and APCs. @AirwavesMan -[NEW] Added vehicle upgrade manuals for trucks, helicopters and APCs. @AirwavesMan, @DeVloek, @Helion4 -[NEW] Added new variables DZE_Hero and DZE_Bandit. The variables define the Hero and Bandit humanity. Used for traders and in player_death. (431cbc88, 272a7406) @AirwavesMan -[NEW] Heroes and Bandits will drop a dog tag on death which can be traded at the Hero or Bandit trader for humanity. Thx for the idea @Tecumseh. (431cbc88, 272a7406, 4f106220) @AirwavesMan -[NEW] Special handling for floating loot in buildings over water. Use fixWaterPos = 1; in the building class that has this problem. (89bca2c9) @AirwavesMan -[NEW] With activated weight system, traders will show the item's weight under item information. (e5af93b5) @AirwavesMan -[NEW] Female players can now wear all ghillie suits. (758be289) @AirwavesMan, @Helion4 -[NEW] Added MTVR Bird helicopter. (8fa93188) @AirwavesMan, @Helion4 -[NEW] Added a winter version of the following objects: Lockbox, Camo Net, Tent, Dome Tent. (215932d7, 420ad269, 83012eb1) @AirwavesMan, @Helion4 -[NEW] Added a winter version of the following vehicles: BMP2, BRDM2, SUV, UAZ, Mi17, UH1H, T72, Ural, Kamaz, HMMWV. (34455948, cb1b34fc) @AirwavesMan -[NEW] Added Mini Cooper, old Jeep, 11 Nissan 350z versions, VS3 Camper, MTVR Open, Scrap APC, armored Tractor and armored Bus. (a1e5fca7, db36bb48, 1ce3f92b, 0dc00d97, d0f647c0, 34c2c716, f8d8a686, 8feed62b) @AirwavesMan, @Helion4 -[NEW] Added interior to storage sheds and those on the map can now spawn loot. (ad8ca464, 35135c75) @AirwavesMan, @Helion4 -[NEW] Added a few new female skins. (758be289) @AirwavesMan, @Helion4 -[NEW] Added over 30 new base building items like a drawbridge, metal and wood gates, glass floors and many more. @AirwavesMan, @Helion4 -[NEW] Added many broken versions of already existing items and tools like Safe, Engine Parts, Wheel, Toolbox and many more. @AirwavesMan -[NEW] Added lots of new items and tools like Handsaw, Hammer, Cement Bag, Carrot, Potato, Mobile Phone and more. @AirwavesMan, @Helion4 -[NEW] Added snapping support for Storage Sheds, Wood Shacks, Wooden Sheds, Gun Racks and Outhouses. (ca05896f) @AirwavesMan -[NEW] Added Submarine (c316d20) @AirwavesMan, @Helion4 - -[FIXED] Some more occurrences of zero_building interiors misaligned or at the wrong terrain height (eaaedf2, 048caa5) @ebayShopper -[FIXED] Player could switch into gunner's seat of ArmoredSUV while the hatch was being closed (e89eebc) #2009 @TheFirstNoob -[FIXED] POI fires were still spawning when POI was off and town generator was on (2855997) @ebayShopper -[FIXED] Combo locks could be duplicated by two players removing them at the same time (564e3da) @shu, @oiad -[FIXED] Bush b_corylus.p3d allowed chopping down for wood like a tree (42e519a) @ebayShopper -[FIXED] Player could shoot during unconscious wake up animation (634a01a) @ebayShopper -[FIXED] Rare publicVariable value restrictions for AuthKey due to RNG with basic Latin characters (d48c907) @oiad, @AirwavesMan -[FIXED] Freeze when iterating through CfgWeapons in A2OA 1.64 due to conflict with ItemKeys in dayz_epoch_b.pbo #2010 @S-fly -[FIXED] 45Rnd_545x39_RPK error after it was removed with the 2018-04-05 A2OA CorePatch (d249227) @ebayShopper -[FIXED] Disabled Arma's automatic vehicle refuel, repair and rearm at WarfareBVehicleServicePoint buildings (2c4f06c) @dihan48 -[FIXED] DistanceFoot database stat was incorrect. (be777dd) @dihan48 -[FIXED] Vehicles jumping into the air after flipping. (096fc13) @AirwavesMan -[FIXED] Crafting wooden arrows from wood piles and razors was not possible. (d4b46e4) @AirwavesMan -[FIXED] Top snap point for half cinder wall was incorrect. (8f10a36) @ndavalos, @AirwavesMan -[FIXED] The RPK-74 magazine could not be used with some AK-74 versions. (82485ea) @AirwavesMan -[FIXED] Multiple vehicle upgrades were not possible. (ac884f2, a430f79, c24504a) @F507DMT -[FIXED] Inventory dupe if on water. (a052ba7, baf92eb) @F507DMT -[FIXED] The pickaxe and the broken pickaxe spawned in the ground on loot spawn. (a09bb81a) @AirwavesMan -[FIXED] Floating loot from remove, pack and fn_dropItem. (1268f55) @AirwavesMan -[FIXED] Giving water to dogs did not work with all waterbottles. (915cf72) @AirwavesMan -[FIXED] Backpacks had no descriptions. (f1d5038) @AirwavesMan -[FIXED] Potential dupe on lag with Advanced Trading. (0617a77, 5f44161) @oiad, @AirwavesMan, @loooooool(TEMA) -[FIXED] Invisible backseat bug on LAV-HQ DZ and DZE version. (5c3f2162) @AirwavesMan -[FIXED] The fuel capacity of the MH-6J Little Bird, Mi17 Civilian, UH60M was incorrect. (862cf39a, f0e08f22, fc9cb679) @AirwavesMan -[FIXED] AIs could attack traders. (f0ac4afc) @AirwavesMan -[FIXED] RHIB_DZ floating gunner position. (38a31290) @AirwavesMan -[FIXED] The carry and drag functions have been fixed. (bcc5b63) @worldwidesorrow -[FIXED] Bug on switching weapons. @worldwidesorrow -[FIXED] Backpacks and keys were not counted within the weight system. (838e4a06, 49446122) @Damian6666 @AirwavesMan -[FIXED] Biomeat had no infection chance. (b52325c9) @AirwavesMan -[FIXED] Parachute speed bug by pressing certain keys. (2a41d122) @ch0c -[FIXED] Loading screen progress bar did not work since the last Arma 2 1.64 patch. (21e5cfae) @IsGoose -[FIXED] Players were unable to open a few tank versions with their key. (9cc8b5d8) @AirwavesMan -[FIXED] The epoch versions of the RHIB boats were incorrect. (38a31290) @AirwavesMan -[FIXED] Players are no longer able to exploit the player_wearClothes function to reset AI targeting. (5c29704) @morgoth0, @Arrakis, @worldwidesorrow. -[FIXED] Vehicles should no longer explode after a server restart due to buildings loading in late. (99dc7cd7) @Seelenapparat -[FIXED] CZ550 shadow bug (c22ae9e5) @AirwavesMan -[FIXED] Floating loot in buildings over water. (89bca2c9) @AirwavesMan -[FIXED] Potential kill count doubling after change clothes. (0b26ae12) @Seelenapparat -[FIXED] Damaged vehicles will no longer repair after a vehicle upgrade. (95d528b8) @AirwavesMan -[FIXED] Exorbitant damage from chainsaws and sledgehammers on buildings (118dbfa6) @AirwavesMan -[FIXED] Players always looked north on spawn. (4aad93fe) @TH, @AirwavesMan -[FIXED] Trees could be knocked down on the first hit by a hatchet or chainsaw. (8dc6ef8d) @AirwavesMan -[FIXED] Female players had not the correct armor and camouflage set. (758be289) @AirwavesMan -[FIXED] Sometimes players were not properly ejected from an exploded Cessna wreck. (0b6df456) @AirwavesMan -[FIXED] Players were not in combat after shooting from certain helicopters or planes. (e6680aaa) @AirwavesMan -[FIXED] Often the weapon on back was duped when the player was kicked or didn't log out properly. (1697af97) @AirwavesMan -[FIXED] Filling mixed gas into a chainsaw now requires a chainsaw. (b0edf3cb) @AirwavesMan - -[UPDATED] All Epoch items and buildable models updated and optimized to affect less the performance. @Helion4 -[UPDATED] Spawning of Zombies and loot in Safe Zones can now be toggled, disabled by default, see configVariables.sqf/DZE_SafeZoneZombieLoot (6248add, 141b25e) @oiad, @_Lance_ -[UPDATED] Added notification when status icons are disabled. (e04f0fc) @ebayShopper -[UPDATED] Added night vision mode back to DMR_DZ and M4SPR_DZE after it was removed with the 2018-04-05 A2OA CorePatch (d6cf707) @ebayShopper -[UPDATED] All M32 grenades now use only one inventory slot. (cc85067) @AirwavesMan -[UPDATED] The Czech Vest Pouch can now carry one weapon. This was changed to be more intuitive and to avoid disappearing weapons. (f7ea9cb) @AirwavesMan -[UPDATED] Old/unused variables removed from variables.sqf. Entire file reorganized. (4accdee) @worldwidesorrow -[UPDATED] Functions fnc_usec_damageHandler, dayz_inflame_showMenu, dayz_inflame_showMenu_other, DZ_KeyDown_EH, dayz_EjectPlayer compiled on client only - compiles.sqf. (7613e3a) @worldwidesorrow -[UPDATED] Many unused trader cities were moved into a new folder called 'Archive'. Those files will no longer be updated. (6699d8d7) @AirwavesMan -[UPDATED] All vehicle names updated and localizations added. (e36e3cc4) @AirwavesMan -[UPDATED] The gunner optics angle of the BRDM-2 HQ was adjusted to have a better usage. (9ab576fa) @AirwavesMan -[UPDATED] Moved FPS logging and server event spawner to the server scheduler (0a264b9) @worldwidesorrow -[UPDATED] Vanilla events adjusted and moved to the server modules folder. The events are now spawned by the scheduler. (0a264b9) @worldwidesorrow -[UPDATED] Rebuilt trader files and overhauled trader cities. (92700e8a) @AirwavesMan -[UPDATED] Server side security added for higher risk PVDZ_send usage. (40dcf6f) @worldwidesorrow -[UPDATED] New strings added to the string table for medical functions. (2a145bf) @worldwidesorrow -[UPDATED] Medical functions revised. Old/unused medical functions moved to archive. @worldwidesorrow -[UPDATED] Separate actions added for typed blood bags. Variable dayz_classicBloodBagSystem used to bypass unnecessary code. (a4c0638) @worldwidesorrow -[UPDATED] All vehicles updated and many bugs fixed. Now there is a DZ and DZE class for every armed Epoch vehicle. @AirwavesMan -[UPDATED] All silenced weapons can only be used with SD ammo, and all non-silenced weapons can only be used with regular (non-SD) ammo. (6f4b1706) @AirwavesMan -[UPDATED] Increased bullet speed for the MK17 SD and Vintorez ammo. (1e69f357) @AirwavesMan -[UPDATED] MK17 Sniper SD and Vintorez DZ and DZE versions have a higher zeroing. (3895cf9c) @AirwavesMan -[UPDATED] AK74 and AKM start with the semi-automatic firemode instead of full-automatic. (9aeceebb, becfee04) @AirwavesMan -[UPDATED] The FN Fal has a full-automatic mode again. (052becb) @AirwavesMan -[UPDATED] Zombies will no longer get triggered by a chemlight at daytime. (93ba732e) @AirwavesMan -[UPDATED] All magazines now have the combine option. @AirwavesMan -[UPDATED] The Humanity system was updated for hotwiring vehicles and killing players. (f68bbda0, d5910357) @AirwavesMan, @oiad -[UPDATED] The gear count of many vehicles (helicopters in particular) was updated and increased. (06b788a) @AirwavesMan -[UPDATED] Sharpening a knife now has an animation. (b7892bfc) @AirwavesMan -[UPDATED] Added full localization to snap and vector building. (fe1d7fb4) @AirwavesMan -[UPDATED] Added the correct icon for the Terminal Backpack. (1a411660) @AirwavesMan, @DeVloek -[UPDATED] Crafting a tent requires 2x equip_tent_poles instead of 2x ItemPole. (73289a69) @AirwavesMan -[UPDATED] Crafting a firebarrel kit no longer requires matches. (b4b93562) @nadal28 @AirwavesMan -[UPDATED] Crafting shows all required items now. (8315d899) @AirwavesMan -[UPDATED] Relogging with a chainsaw in the backpack will delete the chainsaw gas instead of refilling it. (132e9506) @AirwavesMan -[UPDATED] The group invite message now contains the name of the inviter. (396d0313) @ch0c, @AirwavesMan -[UPDATED] Harvesting wood with a hatchet can now drop both wood piles and wooden logs. (ae79f4ce) @AirwavesMan -[UPDATED] The maintain animation is interruptible now. (910ab43a) @AirwavesMan -[UPDATED] Trading single items can be configured to change the player's humanity value. (4f106220) @AirwavesMan -[UPDATED] The Journal main page was reworked and has some more information about the server settings now. (ef05eb4e) @AirwavesMan -[UPDATED] Harvesting wood will yield at least 16 or more wood. This was added in order to decrease network traffic. (8dc6ef8d) @AirwavesMan -[UPDATED] Increased cargo count of Refuel Trucks. (4667f20b) @AirwavesMan -[UPDATED] Cinder buildings and metal floors have a new texture. @Helion4 -[UPDATED] Highly increased infection chance if the player eats uncooked meat or fish. (29b6a26) @AirwavesMan -[UPDATED] Crafting wooden buildings now requires a handsaw and a hammer. (247f5dc6) @AirwavesMan -[UPDATED] Full Russian Localization @RedLink-kam, @dreamforceinc - -[REMOVED] Epoch 1.0.7 does not support Database Traders any longer. All server admins with DB Traders have to switch to the config traders now. (49378f62) @AirwavesMan -[REMOVED] NORRN_loadVcl, posForceUpdate, and medForceUpdate removed from setvariable.txt (47f07a8) @worldwidesorrow -[REMOVED] PVDZ_drg_RaDrag, PVDZ_drg_RaLW, PVDZ_drg_RLact and PVDZ_Unconscious removed from publicvariable.txt. They have been replaced with PVDZ_send. (2d03fb9) @worldwidesorrow -[REMOVED] DayZ Vanilla Crafting - all recipes were moved to Epoch Crafting. (8315d899) @AirwavesMan - -[INFO] Synced with DayZMod upstream up to commit fe063a8 -[INFO] Removed functions can be found under "dayz_code\old". -[INFO] Big thanks to the following authors which allowed us to use their content: SumrakDZN, Icewindo, Brainbug, lennard91, stagler, SyNcRoNiCzZ, Sam563, Alwarren, Robert Hammer, Marseille77 \ No newline at end of file diff --git a/README.md b/README.md index a44a0b184..479c94a05 100644 --- a/README.md +++ b/README.md @@ -14,63 +14,62 @@ http://dayzmod.com -------------------------- Included Custom Addons -------------------------- -* DayZero Enterable Buildings -* AutoGyro - by CSJ -* Taxi by [GLT]Myke -* Blackhawk and Seahawk Wrecks by [GLT]Myke -* SUV Colors by Python.au -* R3F Realism by Team [R3F] -* ASC EU Lights Mod -* MAP Editorupgrade (EU) -* ShackTac Movement by Rg -* ShackTac Bunnyhop by Macolik -* Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr and Sahbazz -* gdtmod_grass 1.00 by HeinBloed -* Bell 47/H-13 Helicopter by hcpookie -* USEC CH53 by Rocket -* Anzio 20mm Rifle by WillRobinson -* RedRyder BB Gun by WillRobinson -* Namalsk Addons and Bloodsucker by SumrakDZN -* Stalker Units by Icewindo -* Post Apocalypse Units by Icewindo -* Ghillie Suits by Brainbug -* Retextured German KSK Units by Brainbug -* 19 Backpack Variants by lennard91 -* Spetsnaz GRU by stagler -* CH-47 Reskins by SyNcRoNiCzZ -* RACS UH-1H Huey Reskins by lennard91 -* UH1H Search and Rescue Skin by Sam563 -* Contractor Mi-17 Pack by lennard91 -* "Heckler & Koch" MP7 by SyNcRoNiCzZ -* P99 Projekt by SyNcRoNiCzZ -* FAMAS Pack by SyNcRoNiCzZ -* FHQ Remington Weapon Pack by Alwarren -* RH PDW pack by Robert Hammer -* RH M14 pack by Robert Hammer -* RH Pistol Pack Remake by Robert Hammer -* RH SMG pack by Robert Hammer -* RH HK416 Pack by Robert Hammer -* RH Ak's Pack by Robert Hammer -* RH MGS weapon pack by Robert Hammer -* German Technical Relief Pack (THW Pack) by Marseille77 -* German Firefighters Pack by Marseille77 -* German Civil Pack by Marseille77 -* Sahrani Rearmed: Sahrani Civilians by Marseille77 -* Modern Irish Defence Forces - Steyr Aug A3 Pack by SyNcRoNiCzZ -* Standard Vehicles Pack by Marseille77 -* Nissan 350z by CRASHNZ -* G3 Pack by Marseille77 +* DayZero Enterable Buildings - https://zombies.nu/ +* AutoGyro - by CSJ http://www.armaholic.com/page.php?id=2359 +* Taxi by [GLT]Myke http://www.armaholic.com/page.php?id=12289 +* Blackhawk and Seahawk Wrecks by [GLT]Myke http://www.armaholic.com/page.php?id=10670 +* SUV Colors by Python.au http://www.armaholic.com/page.php?id=17176 +* R3F Realism by Team [R3F] - http://www.armaholic.com/page.php?id=12610 +* ASC EU Lights Mod http://www.armaholic.com/page.php?id=12076 +* MAP Editorupgrade (EU) http://www.armaholic.com/page.php?id=6194 +* ShackTac Movement by Rg - http://www.armaholic.com/page.php?id=12540 +* ShackTac Bunnyhop by Macolik - http://www.armaholic.com/page.php?id=17546 +* Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr and Sahbazz http://www.armaholic.com/page.php?id=13053 +* gdtmod_grass 1.00 by HeinBloed - http://www.armaholic.com/page.php?id=6628 +* Bell 47/H-13 Helicopter by hcpookie - http://www.armaholic.com/page.php?id=22143 +* USEC CH53 by Rocket - http://www.armaholic.com/page.php?id=13949 +* Anzio 20mm Rifle by WillRobinson - http://www.armaholic.com/page.php?id=30175 +* RedRyder BB Gun by WillRobinson - https://github.com/arma2WillRobinson/Red-Ryder +* Namalsk Addons by SumrakDZN - https://github.com/SumrakDZN/DayZNamalsk +* Stalker Units by Icewindo - http://www.armaholic.com/page.php?id=9795 +* Post Apocalypse Units by Icewindo - http://www.armaholic.com/page.php?id=11840 +* Ghillie Suits by Brainbug - http://www.armaholic.com/page.php?id=11424 +* Retextured German KSK Units by Brainbug - http://www.armaholic.com/page.php?id=11129 +* 19 Backpack Variants by lennard91 - http://www.armaholic.com/page.php?id=13793 +* Spetsnaz GRU by stagler - http://www.armaholic.com/page.php?id=15693 +* CH-47 Reskins by SyNcRoNiCzZ - http://www.armaholic.com/page.php?id=11202 +* RACS UH-1H Huey Reskins by lennard91 - http://www.armaholic.com/page.php?id=11697 +* UH1H Search and Rescue Skin by Sam563 - https://opendayz.net/threads/uh1h-search-and-rescue-skin.22516/ +* Contractor Mi-17 Pack by lennard91 - http://www.armaholic.com/page.php?id=18498 +* "Heckler & Koch" MP7 by SyNcRoNiCzZ - http://www.armaholic.com/page.php?id=8379 +* P99 Projekt by SyNcRoNiCzZ - http://www.armaholic.com/page.php?id=9985 +* FAMAS Pack by SyNcRoNiCzZ - http://www.armaholic.com/page.php?id=8867 +* FHQ Remington Weapon Pack by Alwarren - http://www.armaholic.com/page.php?id=17971 +* RH PDW pack by Robert Hammer - http://www.armaholic.com/page.php?id=12214 +* RH M14 pack by Robert Hammer - http://www.armaholic.com/page.php?id=11374 +* RH Pistol Pack Remake by Robert Hammer - http://www.armaholic.com/page.php?id=12800 +* RH SMG pack by Robert Hammer - http://www.armaholic.com/page.php?id=13788 +* RH HK416 Pack by Robert Hammer - http://www.armaholic.com/page.php?id=11789 +* RH Ak's Pack by Robert Hammer - http://www.armaholic.com/page.php?id=9029 +* RH MGS weapon pack by Robert Hammer - http://www.armaholic.com/page.php?id=13095 +* German Technical Relief Pack (THW Pack) by Marseille77 - http://www.armaholic.com/page.php?id=15466 +* German Firefighters Pack by Marseille77 - http://www.armaholic.com/page.php?id=20391 +* German Civil Pack by Marseille77 - http://www.armaholic.com/page.php?id=9793 +* Sahrani Rearmed: Sahrani Civilians by Marseille77 - http://www.armaholic.com/page.php?id=24325 +* Modern Irish Defence Forces - Steyr Aug A3 Pack by SyNcRoNiCzZ - http://www.armaholic.com/page.php?id=9505 +* Standard Vehicles Pack by Marseille77 - https://www.armaholic.com/page.php?id=10730 +* Nissan 350z by CRASHNZ - https://www.armaholic.com/page.php?id=8570 -------------------------- Included Custom Islands -------------------------- -* Sauerland by Falconsan +* Sauerland by Falconsan - http://www.s6computer.de/ * Napf Island by #momo# - http://forums.bistudio.com/showthread.php?136469-Napf-Island-beta -* | MBG Killhouses -* | MBG Buildings 3 - European Theatre -* | MBG Generic African Buildings -* | German Town - and waysigns -* FDF Podagorsk by Goth -* Chernarus Winter by ArmanIII +* | MBG Killhouses http://www.armaholic.com/page.php?id=15180 +* | MBG Buildings 3 - European Theatre http://www.armaholic.com/page.php?id=14828 +* | MBG Generic African Buildings http://www.armaholic.com/page.php?id=17817 +* | German Town - and waysigns http://www.armaholic.com/page.php?id=9658 +* FDF Podagorsk by Goth http://www.armaholic.com/page.php?id=8791 +* Chernarus Winter by ArmanIII http://www.armaholic.com/page.php?id=27807 -------------------------- Initial Developers @@ -166,7 +165,7 @@ Special thanks * Rajkosto - DayZ Hive DLL - https://github.com/rajkosto/hive * DayZ Community Developers - https://github.com/DayZMod * ziellos2k - Tag Friendly code. https://github.com/ziellos2k -* Tansien and Zac - for providing and creating DayZero Enterable Buildings +* Tansien and Zac - for providing and creating DayZero Enterable Buildings https://zombies.nu/ * Munchiefest - Beta Tester, Wiki Editor, Ideas - http://www.twitch.tv/munchiefest * Chelsey - Beta Tester, New female textures. * OrangeSherbet - Beta Tester - http://www.twitch.tv/orangesherbet diff --git a/SQF/dayz_code/Configs/CfgMagazines/Buildings/StaticWeapons.hpp b/SQF/dayz_code/Configs/CfgMagazines/Buildings/StaticWeapons.hpp deleted file mode 100644 index 3d63b6d30..000000000 --- a/SQF/dayz_code/Configs/CfgMagazines/Buildings/StaticWeapons.hpp +++ /dev/null @@ -1,527 +0,0 @@ -class M2_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_M2_MG; - descriptionShort = $STR_DN_M2_MG; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "M2_MG_Static_DZ"; - }; - }; -}; - -class M2_TriPod_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_M2HD_MINITRIPOD; - descriptionShort = $STR_DN_M2HD_MINITRIPOD; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "M2_TriPod_MG_Static_DZ"; - }; - }; -}; - -class DSHKM_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_DSHKM; - descriptionShort = $STR_DN_DSHKM; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "DSHKM_MG_Static_DZ"; - }; - }; -}; - -class DSHKM_TriPod_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_DSHKM_MINITRIPOD; - descriptionShort = $STR_DN_DSHKM_MINITRIPOD; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "DSHKM_TriPod_MG_Static_DZ"; - }; - }; -}; - -class KORD_TriPod_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_KORD_LOW; - descriptionShort = $STR_DN_KORD_LOW; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "KORD_Tripod_MG_Static_DZ"; - }; - }; -}; - -class KORD_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_KORD; - descriptionShort = $STR_DN_KORD; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "KORD_MG_Static_DZ"; - }; - }; -}; - -class L2A1_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_BAF_BAF_L2A1_TRIPOD_D0; - descriptionShort = $STR_BAF_BAF_L2A1_TRIPOD_D0; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "L2A1_MG_Static_DZ"; - }; - }; -}; - -class L2A1_Tripod_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_BAF_BAF_L2A1_MINITRIPOD_D0; - descriptionShort = $STR_BAF_BAF_L2A1_MINITRIPOD_D0; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "L2A1_Tripod_MG_Static_DZ"; - }; - }; -}; - -class GMG_Tripod_MG_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_BAF_BAF_GMG_TRIPOD_D0; - descriptionShort = $STR_BAF_BAF_GMG_TRIPOD_D0; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "GMG_Tripod_MG_Static_DZ"; - }; - }; -}; - -class AGS30_GrenadeLauncher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_AGS30; - descriptionShort = $STR_DN_AGS30; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "AGS30_GrenadeLauncher_Static_DZ"; - }; - }; -}; - -class MK19_TriPod_GrenadeLauncher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_MK19_TRIPOD; - descriptionShort = $STR_DN_MK19_TRIPOD; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "MK19_TriPod_GrenadeLauncher_Static_DZ"; - }; - }; -}; - -class GPMG_TriPod_GrenadeLauncher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_BAF_BAF_GPMG_MINITRIPOD_D0; - descriptionShort = $STR_BAF_BAF_GPMG_MINITRIPOD_D0; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "GPMG_TriPod_GrenadeLauncher_Static_DZ"; - }; - }; -}; - -class M119_Artillery_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_M119; - descriptionShort = $STR_DN_M119; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "M119_Artillery_Static_DZ"; - }; - }; -}; - -class D30_Artillery_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_D30; - descriptionShort = $STR_DN_D30; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "D30_Artillery_Static_DZ"; - }; - }; -}; - -class SearchLight_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_SEARCHLIGHT; - descriptionShort = $STR_DN_SEARCHLIGHT; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "SearchLight_Static_DZ"; - }; - }; -}; - -class M252_Mortar_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_M252; - descriptionShort = $STR_DN_M252; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "M252_Mortar_Static_DZ"; - }; - }; -}; - -class 2b14_82mm_Mortar_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_2B14; - descriptionShort = $STR_DN_2B14; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "2b14_82mm_Mortar_Static_DZ"; - }; - }; -}; - -class Metis_Launcher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_AT13; - descriptionShort = $STR_DN_AT13; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "Metis_Launcher_Static_DZ"; - }; - }; -}; - -class SPG9_Launcher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_SPG9; - descriptionShort = $STR_DN_SPG9; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "SPG9_Launcher_Static_DZ"; - }; - }; -}; - -class Stinger_Tripod_Launcher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_STINGER_POD; - descriptionShort = $STR_DN_STINGER_POD; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "Stinger_Tripod_Launcher_Static_DZ"; - }; - }; -}; - -class TOW_Tripod_Launcher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_TOW_TRIPOD; - descriptionShort = $STR_DN_TOW_TRIPOD; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "TOW_Tripod_Launcher_Static_DZ"; - }; - }; -}; - -class Rbs70_Launcher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_ACR_DN_RBS70; - descriptionShort = $STR_ACR_DN_RBS70; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "Rbs70_Launcher_Static_DZ"; - }; - }; -}; - -class Igla_AntiAir_Launcher_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_IGLA_AA_POD_EAST; - descriptionShort = $STR_DN_IGLA_AA_POD_EAST; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "Igla_AntiAir_Launcher_Static_DZ"; - }; - }; -}; - -class ZU23_AntiAir_Static_kit: CA_Magazine -{ - scope = 2; - count = 1; - type = 256; - displayName = $STR_DN_ZU23; - descriptionShort = $STR_DN_ZU23; - model = "\z\addons\dayz_epoch\models\supply_crate.p3d"; - picture = "\z\addons\dayz_epoch\pictures\equip_wooden_crate_ca.paa"; - - class ItemActions - { - class Build - { - text = $STR_ACTIONS_BUILD; - script = "spawn player_build;"; - require[] = {"ItemToolbox"}; - create = "ZU23_AntiAir_Static_DZ"; - }; - }; -}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp b/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp index 94c158dde..f54704326 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/CfgMagazines.hpp @@ -65,6 +65,5 @@ class CfgMagazines #include "Buildings\Fences.hpp" #include "Buildings\Storage.hpp" #include "Buildings\Tent.hpp" - #include "Buildings\Misc.hpp" - #include "Buildings\StaticWeapons.hpp" + #include "Buildings\Misc.hpp" }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgMagazines/Items/Misc.hpp b/SQF/dayz_code/Configs/CfgMagazines/Items/Misc.hpp index af0c90661..e8ccdf74b 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Items/Misc.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Items/Misc.hpp @@ -262,160 +262,6 @@ class ItemCeramicParts : CA_Magazine type = 256; }; -class ItemWeaponPartsPistol : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_PISTOL; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_PISTOL_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsSMG : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_SMG; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_SMG_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsShotgun : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_SHOTGUN; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_SHOTGUN_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsRifle : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_RIFLE; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_RIFLE_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsSniperRilfe : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_SNIPERRIFLE; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_SNIPERRIFLE_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsMG : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_MG; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_MG_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsUnknown : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_UNKNOWN_MG; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_UNKNOWN_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsBad : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_BAD; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_BAD_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsNormal : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_NORMAL; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_NORMAL_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsGood : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_GOOD; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_GOOD_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemWeaponPartsExecellent : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_WEAPON_PARTS_EXCELLENT; - descriptionShort = $STR_EPOCH_WEAPON_PARTS_EXCELLENT_DESC; - model = "\z\addons\dayz_communityassets\models\crate.p3d"; - picture = "\z\addons\dayz_communityassets\CraftingPlaceholders\equip_part_somegeneric.paa"; - type = 256; -}; - -class ItemGunPowderSmall : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_GUN_POWDER_SMALL; - descriptionShort = $STR_EPOCH_GUN_POWDER_SMALL_DESC; - model = "\z\addons\dayz_communityassets\models\tin_powder.p3d"; - picture = "\z\addons\dayz_communityassets\pictures\equip_tin_powder_co.paa"; - type = 256; -}; - -class ItemGunPowder : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_GUN_POWDER; - descriptionShort = $STR_EPOCH_GUN_POWDER_DESC; - model = "\z\addons\dayz_communityassets\models\tin_powder.p3d"; - picture = "\z\addons\dayz_communityassets\pictures\equip_tin_powder_co.paa"; - type = 256; -}; - -class ItemGunPowderBig : CA_Magazine -{ - scope = 2; - count = 1; - displayName = $STR_EPOCH_GUN_POWDER_BIG; - descriptionShort = $STR_EPOCH_GUN_POWDER_BIG_DESC; - model = "\z\addons\dayz_communityassets\models\tin_powder.p3d"; - picture = "\z\addons\dayz_communityassets\pictures\equip_tin_powder_co.paa"; - type = 256; -}; - //No models class equip_cable_tie : CA_Magazine { diff --git a/SQF/dayz_code/Configs/CfgMagazines/Magazines/50AE.hpp b/SQF/dayz_code/Configs/CfgMagazines/Magazines/50AE.hpp index 4a164e38b..48427dd55 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Magazines/50AE.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Magazines/50AE.hpp @@ -9,9 +9,4 @@ class 7Rnd_50AE_Deagle: CA_Magazine ammo = "B_357mag_Ball"; count = 7; initSpeed = 400; - - class ItemActions - { - COMBINE_MAG - }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgMagazines/Magazines/556x45.hpp b/SQF/dayz_code/Configs/CfgMagazines/Magazines/556x45.hpp index faf5b509b..6f9af29d1 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Magazines/556x45.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Magazines/556x45.hpp @@ -50,14 +50,7 @@ class 100Rnd_556x45_BetaCMagSD: 100Rnd_556x45_BetaCMag { }; /* STANAG <-> G36 */ -class 20Rnd_556x45_Stanag : CA_Magazine -{ - class ItemActions - { - COMBINE_MAG - }; -}; - +class 20Rnd_556x45_Stanag; class 30Rnd_556x45_Stanag : 20Rnd_556x45_Stanag { displayName = $STR_DZ_MAG_30RND_556x45_STANAG_NAME; diff --git a/SQF/dayz_code/Configs/CfgMagazines/Magazines/VehicleAmmo.hpp b/SQF/dayz_code/Configs/CfgMagazines/Magazines/VehicleAmmo.hpp index 31a7fd044..d908f9d96 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Magazines/VehicleAmmo.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Magazines/VehicleAmmo.hpp @@ -1484,7 +1484,7 @@ class 8Rnd_82mmILLUM_2B14: 8Rnd_82mmHE_2B14 }; class 200Rnd_40mmHE_FV510: Vehicle_ammo_base { - scope = 2; + scope = 1; displayName = $STR_DZ_MAG_200RND_FV510HE_NAME; descriptionShort = $STR_DZ_MAG_200RND_FV510HE_DESC; ammo = "Sh_40_HE"; diff --git a/SQF/dayz_code/Configs/CfgServerTrader/Category/Weapons.hpp b/SQF/dayz_code/Configs/CfgServerTrader/Category/Weapons.hpp index 7a490bb7b..065651f50 100644 --- a/SQF/dayz_code/Configs/CfgServerTrader/Category/Weapons.hpp +++ b/SQF/dayz_code/Configs/CfgServerTrader/Category/Weapons.hpp @@ -459,10 +459,10 @@ class Category_16 { class AK74_GL_PSO1_SD_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {1,"ItemGoldBar10oz"};}; class AK107_DZ {type = "trade_weapons";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; class AK107_Kobra_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {3,"ItemGoldBar"};}; - class AK107_PSO_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {5,"ItemGoldBar"};}; + class AK107_PSO1_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {5,"ItemGoldBar"};}; class AK107_GL_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {3,"ItemGoldBar"};}; class AK107_GL_Kobra_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {5,"ItemGoldBar"};}; - class AK107_GL_PSO_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {7,"ItemGoldBar"};}; + class AK107_GL_PSO1_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {7,"ItemGoldBar"};}; class AN94_DZ {type = "trade_weapons";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; class AN94_GL_DZ {type = "trade_weapons";buy[] = {-1,"ItemGoldBar"};sell[] = {3,"ItemGoldBar"};}; class SCAR_H_AK_DZ {type = "trade_weapons";buy[] = {8,"ItemGoldBar"};sell[] = {4,"ItemGoldBar"};}; diff --git a/SQF/dayz_code/Configs/CfgServerTrader/Category/Wholesale.hpp b/SQF/dayz_code/Configs/CfgServerTrader/Category/Wholesale.hpp index 959b022de..9984fdb66 100644 --- a/SQF/dayz_code/Configs/CfgServerTrader/Category/Wholesale.hpp +++ b/SQF/dayz_code/Configs/CfgServerTrader/Category/Wholesale.hpp @@ -16,12 +16,4 @@ class Category_50 { class ItemRSJ {type = "trade_items";buy[] = {1,"ItemGoldBar10oz"};sell[] = {5,"ItemGoldBar"};}; class ItemFuelBarrelEmpty {type = "trade_items";buy[] = {1,"ItemGoldBar"};sell[] = {5,"ItemSilverBar10oz"};}; class ItemFuelBarrel {type = "trade_items";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; -}; - -class Category_52 { - class helipad_civil_kit {type = "trade_items";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; - class helipad_rescue_kit {type = "trade_items";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; - class helipad_army_kit {type = "trade_items";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; - class helipad_cross_kit {type = "trade_items";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; - class helipad_parkborder_kit {type = "trade_items";buy[] = {2,"ItemGoldBar"};sell[] = {1,"ItemGoldBar"};}; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Weapons.hpp b/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Weapons.hpp index 23bebf4b0..f5bb4e067 100644 --- a/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Weapons.hpp +++ b/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Weapons.hpp @@ -459,10 +459,10 @@ class Category_16 { class AK74_GL_PSO1_SD_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {1000,"worth"};}; class AK107_DZ {type = "trade_weapons";buy[] = {200,"worth"};sell[] = {100,"worth"};}; class AK107_Kobra_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {300,"worth"};}; - class AK107_PSO_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {500,"worth"};}; + class AK107_PSO1_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {500,"worth"};}; class AK107_GL_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {300,"worth"};}; class AK107_GL_Kobra_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {500,"worth"};}; - class AK107_GL_PSO_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {700,"worth"};}; + class AK107_GL_PSO1_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {700,"worth"};}; class AN94_DZ {type = "trade_weapons";buy[] = {200,"worth"};sell[] = {100,"worth"};}; class AN94_GL_DZ {type = "trade_weapons";buy[] = {-1,"worth"};sell[] = {300,"worth"};}; class SCAR_H_AK_DZ {type = "trade_weapons";buy[] = {800,"worth"};sell[] = {400,"worth"};}; diff --git a/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Wholesale.hpp b/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Wholesale.hpp index 130f6f0a9..9c44c8e47 100644 --- a/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Wholesale.hpp +++ b/SQF/dayz_code/Configs/CfgServerTraderZSC/Category/Wholesale.hpp @@ -16,12 +16,4 @@ class Category_50 { class ItemRSJ {type = "trade_items";buy[] = {1000,"worth"};sell[] = {500,"worth"};}; class ItemFuelBarrelEmpty {type = "trade_items";buy[] = {100,"worth"};sell[] = {50,"worth"};}; class ItemFuelBarrel {type = "trade_items";buy[] = {200,"worth"};sell[] = {100,"worth"};}; -}; - -class Category_52 { - class helipad_civil_kit {type = "trade_items";buy[] = {200,"worth"};sell[] = {100,"worth"};}; - class helipad_rescue_kit {type = "trade_items";buy[] = {200,"worth"};sell[] = {100,"worth"};}; - class helipad_army_kit {type = "trade_items";buy[] = {200,"worth"};sell[] = {100,"worth"};}; - class helipad_cross_kit {type = "trade_items";buy[] = {200,"worth"};sell[] = {100,"worth"};}; - class helipad_parkborder_kit {type = "trade_items";buy[] = {200,"worth"};sell[] = {100,"worth"};}; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/Misc.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/Misc.hpp index 0a834b794..25c546953 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/Misc.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/Misc.hpp @@ -241,6 +241,22 @@ class Fort_RazorWire : BuiltItems { nounderground = 0; }; +class USMC_WarfareBMGNest_M240; +class M240Nest_DZ: USMC_WarfareBMGNest_M240 +{ + destrType = "DestructBuilding"; + armor = 450; + scope = 2; + offset[] = {0,3.5,0}; + displayName = $STR_EPOCH_M240NEST; + vehicleClass = "DayZ Epoch Buildables"; + transportMaxMagazines = 25; + transportMaxWeapons = 4; + transportMaxBackpacks = 1; + constructioncount = 10; + removeoutput[] = {{"m240_nest_kit",1}}; +}; + class WoodGate_DZ: BuiltItems { scope = 2; @@ -317,7 +333,7 @@ class Greenhouse_DZ: MAP_Misc_Greenhouse mapSize = 2; displayName = $STR_EPOCH_GREENHOUSE; constructioncount = 1; - offset[] = {0,5,1.4}; + offset[] = {0,3,2}; removeoutput[] = {{"greenhouse_kit",1}}; vehicleClass = "DayZ Epoch Buildables"; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/StaticWeapons.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/StaticWeapons.hpp deleted file mode 100644 index 80a3bbb52..000000000 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/StaticWeapons.hpp +++ /dev/null @@ -1,288 +0,0 @@ -class USMC_WarfareBMGNest_M240; -class M240Nest_DZ: USMC_WarfareBMGNest_M240 -{ - destrType = "DestructBuilding"; - armor = 450; - scope = 2; - offset[] = {0,3.5,0}; - displayName = $STR_EPOCH_M240NEST; - transportMaxMagazines = 25; - transportMaxWeapons = 4; - transportMaxBackpacks = 1; - constructioncount = 10; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"m240_nest_kit",1}}; -}; - -class M2StaticMG; -class M2_MG_Static_DZ: M2StaticMG { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "M2_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"M2_MG_Static_kit",1}}; -}; - -class M2HD_mini_TriPod; -class M2_TriPod_MG_Static_DZ: M2HD_mini_TriPod { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "M2_TriPod_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"M2_TriPod_MG_Static_kit",1}}; -}; - -class DSHKM_Ins; -class DSHKM_MG_Static_DZ: DSHKM_Ins { - side = 1; - faction = "USMC"; - offset[] = {0,3,2}; - GhostPreview = "DSHKM_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"DSHKM_MG_Static_kit",1}}; -}; - -class DSHkM_Mini_TriPod; -class DSHKM_TriPod_MG_Static_DZ: DSHkM_Mini_TriPod { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "DSHKM_TriPod_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"DSHKM_TriPod_MG_Static_kit",1}}; -}; - -class KORD; -class KORD_Tripod_MG_Static_DZ: KORD { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "KORD_Tripod_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"KORD_TriPod_MG_Static_kit",1}}; -}; - -class KORD_high; -class KORD_MG_Static_DZ: KORD_high { - side = 1; - faction = "USMC"; - offset[] = {0,3,2}; - GhostPreview = "KORD_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"KORD_MG_Static_kit",1}}; -}; - -class BAF_L2A1_ACOG_base; -class BAF_L2A1_Tripod_D: BAF_L2A1_ACOG_base { - class assembleInfo; -}; - -class L2A1_MG_Static_DZ: BAF_L2A1_Tripod_D { - side = 1; - faction = "USMC"; - class assembleInfo: assembleInfo { - dissasembleTo[] = {}; - }; - offset[] = {0,3,1}; - GhostPreview = "L2A1_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"L2A1_MG_Static_kit",1}}; -}; - -class BAF_L2A1_Minitripod_D: BAF_L2A1_ACOG_base { - class assembleInfo; -}; - -class L2A1_Tripod_MG_Static_DZ: BAF_L2A1_Minitripod_D { - side = 1; - faction = "USMC"; - class assembleInfo: assembleInfo { - dissasembleTo[] = {}; - }; - offset[] = {0,3,1}; - GhostPreview = "L2A1_Tripod_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"L2A1_Tripod_MG_Static_kit",1}}; -}; - -class GMG_TriPod; -class BAF_GMG_Tripod_D: GMG_TriPod { - class assembleInfo; -}; - -class GMG_Tripod_MG_Static_DZ: BAF_GMG_Tripod_D { - side = 1; - faction = "USMC"; - class assembleInfo: assembleInfo { - dissasembleTo[] = {}; - }; - offset[] = {0,3,0}; - GhostPreview = "GMG_Tripod_MG_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"GMG_Tripod_MG_Static_kit",1}}; -}; - -class AGS_Ins; -class AGS30_GrenadeLauncher_Static_DZ: AGS_Ins { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "AGS30_GrenadeLauncher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"AGS30_GrenadeLauncher_Static_kit",1}}; -}; - -class MK19_TriPod; -class MK19_TriPod_GrenadeLauncher_Static_DZ: MK19_TriPod { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "MK19_TriPod_GrenadeLauncher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"MK19_TriPod_GrenadeLauncher_Static_kit",1}}; -}; - -class BAF_GPMG_Minitripod_D: BAF_L2A1_ACOG_base { - class assembleInfo; -}; - -class GPMG_TriPod_GrenadeLauncher_Static_DZ: BAF_GPMG_Minitripod_D { - side = 1; - faction = "USMC"; - class assembleInfo: assembleInfo { - dissasembleTo[] = {}; - }; - offset[] = {0,3,1}; - GhostPreview = "GPMG_TriPod_GrenadeLauncher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"GPMG_TriPod_GrenadeLauncher_Static_kit",1}}; -}; - -class M119; -class M119_Artillery_Static_DZ: M119 { - side = 1; - faction = "USMC"; - offset[] = {0,5,0.5}; - GhostPreview = "M119_Artillery_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"M119_Artillery_Static_kit",1}}; -}; - -class D30_Ins; -class D30_Artillery_Static_DZ: D30_Ins { - side = 1; - faction = "USMC"; - offset[] = {0,5,1}; - GhostPreview = "D30_Artillery_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"D30_Artillery_Static_kit",1}}; -}; - -class SearchLight_INS; -class SearchLight_Static_DZ: SearchLight_INS { - side = 1; - faction = "USMC"; - offset[] = {0,3,0}; - GhostPreview = "SearchLight_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"SearchLight_Static_kit",1}}; -}; - -class M252; -class M252_Mortar_Static_DZ: M252 { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "M252_Mortar_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"M252_Mortar_Static_kit",1}}; -}; - -class 2b14_82mm; -class 2b14_82mm_Mortar_Static_DZ: 2b14_82mm { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "2b14_82mm_Mortar_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"2b14_82mm_Mortar_Static_kit",1}}; -}; - -class Metis; -class Metis_Launcher_Static_DZ: Metis { - side = 1; - faction = "USMC"; - offset[] = {0,3,1}; - GhostPreview = "Metis_Launcher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"Metis_Launcher_Static_kit",1}}; -}; - -class SPG9_Gue; -class SPG9_Launcher_Static_DZ: SPG9_Gue { - side = 1; - faction = "USMC"; - offset[] = {0,3,0}; - GhostPreview = "SPG9_Launcher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"SPG9_Launcher_Static_kit",1}}; -}; - -class Stinger_Pod; -class Stinger_Tripod_Launcher_Static_DZ: Stinger_Pod { - side = 1; - faction = "USMC"; - offset[] = {0,3,0}; - GhostPreview = "Stinger_Tripod_Launcher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"Stinger_Tripod_Launcher_Static_kit",1}}; -}; - -class TOW_TriPod; -class TOW_Tripod_Launcher_Static_DZ: TOW_TriPod { - side = 1; - faction = "USMC"; - offset[] = {0,3,2}; - GhostPreview = "TOW_Tripod_Launcher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"TOW_Tripod_Launcher_Static_kit",1}}; -}; - -class Stinger_Pod_base; -class Rbs70_ACR: Stinger_Pod_base { - class AssembleInfo; -}; - -class Rbs70_Launcher_Static_DZ: Rbs70_ACR { - side = 1; - faction = "USMC"; - class AssembleInfo : AssembleInfo { - dissasembleTo[] = {}; - }; - offset[] = {0,3,4}; - GhostPreview = "Rbs70_Launcher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"Rbs70_Launcher_Static_kit",1}}; -}; - -class Igla_AA_pod_East; -class Igla_AntiAir_Launcher_Static_DZ: Igla_AA_pod_East { - side = 1; - faction = "USMC"; - offset[] = {0,3,2}; - GhostPreview = "Igla_AntiAir_Launcher_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"Igla_AntiAir_Launcher_Static_kit",1}}; -}; - -class ZU23_Ins; -class ZU23_AntiAir_Static_DZ: ZU23_Ins { - side = 1; - faction = "USMC"; - offset[] = {0,3,2}; - GhostPreview = "ZU23_AntiAir_Static_DZ"; - vehicleClass = "DayZ Epoch Static Weapons"; - removeoutput[] = {{"ZU23_AntiAir_Static_kit",1}}; -}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp b/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp index 9348c66a0..e827177c0 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp @@ -622,7 +622,6 @@ class CfgVehicles #include "Zeds\WildZeds.hpp" //Wild type zeds #include "Zeds\SwarmZeds.hpp" //Swarm type zeds #include "Zeds\PlayerZeds.hpp" //Player type zeds - #include "Zeds\Bloodsuckers.hpp" //NS Bloodsuckers //Skins #include "Skins\Male.hpp" #include "Skins\Female.hpp" @@ -781,7 +780,6 @@ class CfgVehicles #include "Buildables\Sandbags.hpp" #include "Buildables\Billboards.hpp" #include "Buildables\Misc.hpp" - #include "Buildables\StaticWeapons.hpp" //Loot Container #include "LootContainer\AmmoCrates.hpp" diff --git a/SQF/dayz_code/Configs/CfgVehicles/Zeds/Bloodsuckers.hpp b/SQF/dayz_code/Configs/CfgVehicles/Zeds/Bloodsuckers.hpp deleted file mode 100644 index 686337797..000000000 --- a/SQF/dayz_code/Configs/CfgVehicles/Zeds/Bloodsuckers.hpp +++ /dev/null @@ -1,134 +0,0 @@ -class z_bloodsucker : Zed_Base { - scope = 2; - glassesEnabled = 0; - vehicleClass = "Zombie"; - displayName = $STR_ZNAME_BLOODSUCKER; - model = "\nst\NS_mutants\blood\bloodsucker.p3d"; - hiddenSelections[] = {"invisible"}; - //hiddenSelectionsTextures[] = {}; - fsmDanger = ""; - fsmFormation = ""; - //zombieLoot = "bloodsucker"; - moves = "CfgMovesBloodsucker"; - isMan = false; - weapons[] = {}; - magazines[] = {}; - sensitivity = 1; // sensor sensitivity - sensitivityEar = 1; - identityTypes[] = {}; - class TalkTopics {}; - languages[] = {}; - armor = 46; - damageScale = 250; - sepsisChance = 0; - BleedChance = 10; // Maybe this should be higher - forcedSpeed = 6; // Left here to prevent errors in player_zombieCheck - - class Eventhandlers { - init = "[(_this select 0)] execFSM ""\z\AddOns\dayz_code\system\mutant_agent.fsm"""; - local = "_z = _this select 0; if (!(_this select 1)) exitWith {}; if (isServer) exitWith { _z call sched_co_deleteVehicle; }; [_z,true] execFSM '\z\AddOns\dayz_code\system\mutant_agent.fsm';"; - //HandleDamage = "_this call local_zombieDamage;"; - //Killed = "[_this,'zombieKills'] call local_eventKill;"; - }; - - class UserActions - { - class Butcher - { - displayName = $STR_EPOCH_ACTIONS_GUTBLOOD; - displayNameDefault = $STR_EPOCH_ACTIONS_GUTBLOOD; - priority = 0; - radius = 3; - position = ""; - showWindow = 1; - onlyForPlayer = 1; - shortcut = ""; - condition = "(['Butcher',this] call userActionConditions)"; - statement = "this spawn player_butcher;"; - }; - }; - - class HitPoints { - class HitHead { - armor = 10; - material = -1; - name = "head_hit"; - passThrough = true; - memoryPoint = "pilot"; - }; - - class HitBody : HitHead { - armor = 20; - name = "body"; - memoryPoint = "aimPoint"; - }; - - class HitSpine : HitHead { - armor = 10; - name = "Spine2"; - memoryPoint = "aimPoint"; - }; - - class HitHands : HitHead { - armor = 10; - material = -1; - name = "hands"; - passThrough = true; - }; - - class HitLArm : HitHands { - name = "LeftArm"; - memoryPoint = "lelbow"; - }; - - class HitRArm : HitHands { - name = "RightArm"; - memoryPoint = "relbow"; - }; - - class HitLForeArm : HitHands { - name = "LeftForeArm"; - memoryPoint = "lwrist"; - }; - - class HitRForeArm : HitHands { - name = "RightForeArm"; - memoryPoint = "rwrist"; - }; - - class HitLHand : HitHands { - name = "LeftHand"; - memoryPoint = "LeftHandMiddle1"; - }; - - class HitRHand : HitHands { - name = "RightHand"; - memoryPoint = "RightHandMiddle1"; - }; - - class HitLegs : HitHands { - name = "legs"; - memoryPoint = "pelvis"; - }; - - class HitLLeg : HitHands { - name = "LeftLeg"; - memoryPoint = "lknee"; - }; - - class HitLLegUp : HitHands { - name = "LeftUpLeg"; - memoryPoint = "lfemur"; - }; - - class HitRLeg : HitHands { - name = "RightLeg"; - memoryPoint = "rknee"; - }; - - class HitRLegUp : HitHands { - name = "RightUpLeg"; - memoryPoint = "rfemur"; - }; - }; -}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp b/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp index 6c69823c1..260344ccd 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp @@ -346,10 +346,9 @@ class CfgWeapons #include "Tools\Scissors.hpp" #include "Tools\ScrewExtractor.hpp" #include "Tools\Wrench.hpp" - #include "Tools\MutantHeart.hpp" #include "Item\ItemKeys.hpp" #include "Item\Documents.hpp" - #include "VehicleWeapons.hpp" + #include "VehicleWeapons.hpp" }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/G3.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/G3.hpp index afec1910a..60fb27f1d 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/G3.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/G3.hpp @@ -1,24 +1,3 @@ -#define G3_ACOG modelOptics = "\Ca\weapons_E\SCAR\ACOG_TA31_optic_4x.p3d";\ -class OpticsModes\ -{\ - class ACOG\ - {\ - opticsID = 1;\ - useModelOptics = true;\ - opticsFlare = true;\ - opticsDisablePeripherialVision = true;\ - opticsZoomMin = 0.0623;\ - opticsZoomMax = 0.0623;\ - opticsZoomInit = 0.0623;\ - distanceZoomMin = 300;\ - distanceZoomMax = 300;\ - memoryPointCamera = "opticView";\ - visionMode[] = {"Normal"};\ - opticsPPEffects[] = {"OpticsCHAbera3","OpticsBlur3"};\ - cameraDir = "";\ - };\ -} - class G3_DZ: FNFAL_DZ { scope = 2; @@ -31,30 +10,30 @@ class G3_DZ: FNFAL_DZ fireLightDuration = 0.000; fireLightIntensity = 0.000; drySound[] = {"Ca\sounds\Weapons\rifles\dry",db-50,1,10}; - reloadMagazineSound[] = {"\C1987_G3\sound\G3_Reload.wss",0.056234,1,20}; + reloadMagazineSound[] = {"ca\sounds\weapons\rifles\reload-m16-3",db-25,1,25}; distanceZoomMin = 50; distanceZoomMax = 50; handAnim[] = {"OFP2_ManSkeleton"}; modes[] = {Single, FullAuto}; class Single : Mode_SemiAuto { - begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000}; - soundBegin[] = {"begin1",1}; + begin1[] = {"rh_mgswp\sound\scarAk", db5, 1,1000}; + soundBegin[] = {begin1,1}; reloadTime = 0.07; recoil = "recoil_single_primary_3outof10"; recoilProne = "recoil_single_primary_prone_3outof10"; dispersion = 0.003; minRange = 2; minRangeProbab = 0.25; - midRange = 200; + midRange = 20; midRangeProbab = 0.7; - maxRange = 500; + maxRange = 50; maxRangeProbab = 0.05; }; class FullAuto : Mode_FullAuto { - begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000}; - soundBegin[] = {"begin1",1}; + begin1[] = {"rh_mgswp\sound\scarAk", db5, 1,1000}; + soundBegin[] = {begin1,1}; soundContinuous = 0; reloadTime = 0.1; ffCount = 1; @@ -64,142 +43,10 @@ class G3_DZ: FNFAL_DZ dispersion = 0.003; //0.007; minRange = 0; minRangeProbab = 0.20; - midRange = 150; + midRange = 7; midRangeProbab = 0.7; - maxRange = 400; + maxRange = 15; maxRangeProbab = 0.05; }; class Attachments {}; -}; - -class G3A3_DZ: G3_DZ -{ - displayName = $STR_DZ_WPN_G3A3_NAME; - model = "\C1987_G3\g3.p3d"; - picture = "\C1987_G3\equip\g3.paa"; - - class Attachments - { - Attachment_CCO = "G3A3_CCO_DZ"; - Attachment_Holo = "G3A3_HOLO_DZ"; - Attachment_ACOG = "G3A3_ACOG_DZ"; - }; -}; - -class G3A3_CCO_DZ: G3A3_DZ -{ - displayName = $STR_DZ_WPN_G3A3_CCO_NAME; - model = "\C1987_G3\g3_aimshot.p3d"; - picture = "\C1987_G3\equip\g3_aim.paa"; - class Attachments {}; - - class ItemActions - { - class RemoveCCO - { - text = $STR_DZ_ATT_CCO_RMVE; - script = "; ['Attachment_CCO',_id,'G3A3_DZ'] call player_removeAttachment"; - }; - }; -}; - -class G3A3_Holo_DZ: G3A3_DZ -{ - displayName = $STR_DZ_WPN_G3A3_HOLO_NAME; - model = "\C1987_G3\g3_eotech.p3d"; - picture = "\C1987_G3\equip\g3_eotech.paa"; - class Attachments {}; - - class ItemActions - { - class RemoveHolo - { - text = $STR_DZ_ATT_HOLO_RMVE; - script = "; ['Attachment_Holo',_id,'G3A3_DZ'] call player_removeAttachment"; - }; - }; -}; - -class G3A3_ACOG_DZ: G3A3_DZ -{ - displayName = $STR_DZ_WPN_G3A3_ACOG_NAME; - model = "\C1987_G3\g3_acog.p3d"; - picture = "\C1987_G3\equip\g3_acog.paa"; - class Attachments {}; - G3_ACOG; - - class ItemActions - { - class RemoveACOG - { - text = $STR_DZ_ATT_ACOG_RMVE; - script = "; ['Attachment_ACOG',_id,'G3A3_DZ'] call player_removeAttachment"; - }; - }; -}; - -class G3_SG1_DZ: G3A3_DZ -{ - displayName = $STR_DZ_WPN_G3_SG1_NAME; - model = "\C1987_G3\g3sg1.p3d"; - picture = "\C1987_G3\equip\g3sg1.paa"; - modelOptics = "\ca\weapons\2Dscope_MilDot_10"; - opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; - opticsZoomMin = 0.029624; - opticsZoomMax = 0.09222; - opticsZoomInit = 0.09222; - distanceZoomMin = 329; - distanceZoomMax = 329; - optics = 1; - class Single : Mode_SemiAuto - { - begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000}; - soundBegin[] = {"begin1",1}; - reloadTime = 0.07; - recoil = "recoil_single_primary_3outof10"; - recoilProne = "recoil_single_primary_prone_3outof10"; - dispersion = 0.003; - minRange = 2; - minRangeProbab = 0.25; - midRange = 400; - midRangeProbab = 0.7; - maxRange = 800; - maxRangeProbab = 0.05; - }; - class FullAuto : Mode_FullAuto - { - begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000}; - soundBegin[] = {"begin1",1}; - soundContinuous = 0; - reloadTime = 0.1; - ffCount = 1; - recoil = "recoil_auto_primary_3outof10"; - recoilProne = "recoil_auto_primary_prone_3outof10"; - aiRateOfFire = 0.001; - dispersion = 0.003; //0.007; - minRange = 0; - minRangeProbab = 0.20; - midRange = 350; - midRangeProbab = 0.7; - maxRange = 700; - maxRangeProbab = 0.05; - }; - class Attachments {}; -}; - -class G3_SG1_Bipod_DZ: G3_SG1_DZ -{ - displayName = $STR_DZ_WPN_G3_SG1_BIPOD_NAME; - model = "\C1987_G3\g3sg1_bipod.p3d"; - picture = "\C1987_G3\equip\g3sg1_bipod.paa"; - class Single : Single - { - recoilProne = "recoil_single_primary_prone_1outof10"; - }; - class FullAuto : FullAuto - { - recoilProne = "recoil_auto_primary_prone_2outof10"; - }; -}; - -#undef G3_ACOG \ No newline at end of file +}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVD.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVD.hpp index ebdb10ab0..46a9fc579 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVD.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVD.hpp @@ -172,26 +172,6 @@ class SVD_Gold_DZ : SVD_PSO1_DZ { model = "\RH_aks\RH_svdg.p3d"; picture = "\RH_aks\inv\svdg.paa"; - class OpticsModes { - class Scope { - discreteDistance[] = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; - discreteDistanceInitIndex = 2; - cameraDir = ""; - distanceZoomMax = 300; - distanceZoomMin = 300; - memoryPointCamera = "opticView"; - opticsDisablePeripherialVision = 1; - opticsFlare = 1; - opticsID = 1; - opticsPPEffects[] = {"OpticsCHAbera3", "OpticsBlur3"}; - opticsZoomInit = 0.0623; - opticsZoomMax = 0.0623; - opticsZoomMin = 0.0623; - useModelOptics = 1; - visionMode[] = {"Normal"}; - }; - }; - class ItemActions {}; class Attachments {}; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVU.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVU.hpp index 6c7fa13d0..955c28107 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVU.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/SVU.hpp @@ -8,24 +8,4 @@ class SVU_PSO1_DZ: SVD_PSO1_DZ { magazines[] = {"10Rnd_762x54_SVD"}; class ItemActions {}; class Attachments {}; - - class OpticsModes { - class Scope { - discreteDistance[] = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; - discreteDistanceInitIndex = 2; - cameraDir = ""; - distanceZoomMax = 300; - distanceZoomMin = 300; - memoryPointCamera = "opticView"; - opticsDisablePeripherialVision = 1; - opticsFlare = 1; - opticsID = 1; - opticsPPEffects[] = {"OpticsCHAbera3", "OpticsBlur3"}; - opticsZoomInit = 0.0623; - opticsZoomMax = 0.0623; - opticsZoomMin = 0.0623; - useModelOptics = 1; - visionMode[] = {"Normal"}; - }; - }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/MutantHeart.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/MutantHeart.hpp deleted file mode 100644 index a44f9453f..000000000 --- a/SQF/dayz_code/Configs/CfgWeapons/Tools/MutantHeart.hpp +++ /dev/null @@ -1,7 +0,0 @@ -class ItemMutantHeart: ItemCore -{ - scope = 2; - displayName = $STR_MUTANT_HEART; - picture = "\nst\ns_mutants\blood\heart_icon_ca.paa"; - descriptionShort = $STR_MUTANT_HEART_DESC; -}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp index 3892cb186..6bc4b4bdb 100644 --- a/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp +++ b/SQF/dayz_code/Configs/RscDisplay/RscPlayerUI.hpp @@ -931,24 +931,4 @@ class RscTitles }; }; }; - class mutant_attack - { - idd=-1; - movingEnable=0; - duration=1; - fadein=0; - name="Skrabanec"; - controls[]= - { - "skrabanec" - }; - class skrabanec: RscPicture - { - x=0; - y=0; - w=1; - h=1; - text="\nst\textures\skrabanec.paa"; - }; - }; }; diff --git a/SQF/dayz_code/Configs/RscDisplay/remoteVehicle.hpp b/SQF/dayz_code/Configs/RscDisplay/remoteVehicle.hpp deleted file mode 100644 index 4a73600fe..000000000 --- a/SQF/dayz_code/Configs/RscDisplay/remoteVehicle.hpp +++ /dev/null @@ -1,304 +0,0 @@ -class rv_RscText { - idc = -1; - x = 0; - y = 0; - h = 0.037; - w = 0.3; - type = 0; - style = 0; - shadow = 2; - colorShadow[] = {0, 0, 0, 0.5}; - font = "Zeppelin32"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - colorText[] = {1, 1, 1, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - linespacing = 1; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; -}; - -class rv_RscTitle : rv_RscText { - idc = -1; - style = 0; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 1}; -}; - -class rv_RscShortcutButton { - idc = -1; - style = 0; - default = 0; - shadow = 2; - w = 0.183825; - h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)"; - color[] = {1,1,1,1.0}; - colorFocused[] = {1,1,1,1.0}; - color2[] = {0.95,0.95,0.95,1}; - colorDisabled[] = {1,1,1,0.25}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1}; - colorBackground2[] = {1,1,1,1}; - animTextureDefault = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureNormal = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureDisabled = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureOver = "gza\scripts\gold\gui\over_ca.paa"; - animTextureFocused = "gza\scripts\gold\gui\focus_ca.paa"; - animTexturePressed = "gza\scripts\gold\gui\down_ca.paa"; - periodFocus = 1.2; - periodOver = 0.8; - class HitZone { - left = 0.0; - top = 0.0; - right = 0.0; - bottom = 0.0; - }; - class ShortcutPos { - left = 0; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; - h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - class TextPos { - left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - right = 0.005; - bottom = 0.0; - }; - period = 0.4; - font = "Zeppelin32"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - action = ""; - class Attributes { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "left"; - shadow = 1; - }; - class AttributesImage { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "left"; - }; - soundPush[] = { "", 0, 1 }; - soundEnter[] ={ "", 0, 1 }; - soundClick[] ={ "", 0, 1 }; - soundEscape[] ={ "", 0, 1 }; - sound[] ={ "", 0, 1 }; -}; - -class rv_RscButtonMenu : rv_RscShortcutButton { - idc = -1; - type = 16; - style = "0x02 + 0xC0"; - default = 0; - shadow = 0; - x = 0; - y = 0; - w = 0.095589; - h = 0.039216; - animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - colorBackground[] = {0,0,0,0.8}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground2[] = {0.75,0.75,0.75,1}; - color[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; - color2[] = {0,0,0,1}; - colorText[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.25}; - period = 1.2; - periodFocus = 1.2; - periodOver = 1.2; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; - class TextPos { - left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)"; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - right = 0.005; - bottom = 0.0; - }; - class Attributes { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "center"; - shadow = 0; - }; - class ShortcutPos { - left = "(6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005"; - top = 0.005; - w = 0.0225; - h = 0.03; - }; - textureNoShortcut = ""; -}; - -class rv_RscListBox { - style = 16; - idc = -1; - type = 5; - w = 0.275; - h = 0.04; - font = "Zeppelin32"; - colorSelect[] = {0.11,0.686,0.831,1}; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {0.28,0.28,0.28,0.28}; - colorSelect2[] = {1, 1, 1, 1}; - colorSelectBackground[] = {0.95, 0.95, 0.95, 0.5}; - colorSelectBackground2[] = {1, 1, 1, 0.5}; - colorScrollbar[] = {0.2, 0.2, 0.2, 1}; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - wholeHeight = 0.45; - rowHeight = 0.04; - color[] = {0.7, 0.7, 0.7, 1}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - sizeEx = 0.023; - maxHistoryDelay = 1; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; - soundPush[] = { "", 0, 1 }; - soundEnter[] ={ "", 0, 1 }; - soundClick[] ={ "", 0, 1 }; - soundEscape[] ={ "", 0, 1 }; - sound[] ={ "", 0, 1 }; - soundSelect[] = { "", 0, 1 }; -}; - -class rv_RscStructuredText { - type = 13; - style = 0; - x = 0; - y = 0; - h = 0.035; - w = 0.1; - text = ""; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {1, 1, 1, 1.0}; - shadow = 1; - class Attributes { - font = "Zeppelin32"; - color = "#ffffff"; - align = "left"; - shadow = 1; - }; -}; - -class remoteVehicle { - idd = 8800; - name="remoteVehicle"; - onLoad = "uiNamespace setVariable ['rv_dialog', _this select 0]"; - movingEnabled = 0; - enableSimulation = 1; - - class controlsBackground { - class rv_RscTitleBackground : rv_RscText { - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - idc = -1; - x = 0.1; - y = 0.2; - w = 0.8; - h = (1 / 25); - }; - - class MainBackground : rv_RscText { - colorBackground[] = {0,0,0,0.7}; - idc = -1; - x = 0.1; - y = 0.2 + (11 / 250); - w = 0.8; - h = 0.7 - (22 / 250); - }; - - class VehicleInfoHeader : rv_RscText { - idc = 8830; - text = $STR_CL_RV_VEHICLE_INFO; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - x = 0.47; y = 0.26; - w = 0.42; - h = (1 / 25); - }; - - class CloseBtn : rv_RscButtonMenu { - idc = -1; - text = $STR_UI_CLOSE; - onButtonClick = "closeDialog 2;"; - x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 40); - h = (1 / 25); - }; - }; - - class controls { - class Title : rv_RscTitle { - idc = 8801; - text = ""; - x = 0.1; - y = 0.2; - w = 0.8; - h = (1 / 25); - }; - - class VehicleList : rv_RscListBox { - idc = 8802; - text = ""; - sizeEx = 0.04; - colorBackground[] = {0.1,0.1,0.1,0.9}; - onLBSelChanged = "[_this] call rv_vehicleInfo;"; - x = 0.11; y = 0.302; - w = 0.35; h = 0.49; - }; - - class VehicleTitleBox : rv_RscText { - idc = 8804; - text = $STR_CL_RV_VEHICLE_LIST; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - x = 0.11; y = 0.26; - w = 0.35; - h = (1 / 25); - }; - - class selectVehicle : rv_RscButtonMenu { - idc = 8850; - text = $STR_CL_RV_SELECT_VEHICLE; - onButtonClick = "rv_isOk = true;closeDialog 0;"; - x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 20); - h = (1 / 25); - }; - - class vehicleInfomationList : rv_RscStructuredText { - idc = 8803; - text = ""; - sizeEx = 0.035; - x = 0.47; y = 0.3; - w = 0.41; h = 0.5; - }; - }; -}; diff --git a/SQF/dayz_code/Configs/RscDisplay/vehicleKeyChanger.hpp b/SQF/dayz_code/Configs/RscDisplay/vehicleKeyChanger.hpp deleted file mode 100644 index 96e4868d5..000000000 --- a/SQF/dayz_code/Configs/RscDisplay/vehicleKeyChanger.hpp +++ /dev/null @@ -1,315 +0,0 @@ -class vkc_RscText { - idc = -1; - x = 0; - y = 0; - h = 0.037; - w = 0.3; - type = 0; - style = 0; - shadow = 2; - colorShadow[] = {0, 0, 0, 0.5}; - font = "Zeppelin32"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - colorText[] = {1, 1, 1, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - linespacing = 1; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; -}; - -class vkc_RscTitle : vkc_RscText { - idc = -1; - style = 0; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 1}; -}; - -class vkc_RscShortcutButton { - idc = -1; - style = 0; - default = 0; - shadow = 2; - w = 0.183825; - h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)"; - color[] = {1,1,1,1.0}; - colorFocused[] = {1,1,1,1.0}; - color2[] = {0.95,0.95,0.95,1}; - colorDisabled[] = {1,1,1,0.25}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1}; - colorBackground2[] = {1,1,1,1}; - animTextureDefault = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureNormal = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureDisabled = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureOver = "gza\scripts\gold\gui\over_ca.paa"; - animTextureFocused = "gza\scripts\gold\gui\focus_ca.paa"; - animTexturePressed = "gza\scripts\gold\gui\down_ca.paa"; - periodFocus = 1.2; - periodOver = 0.8; - class HitZone { - left = 0.0; - top = 0.0; - right = 0.0; - bottom = 0.0; - }; - class ShortcutPos { - left = 0; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; - h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - class TextPos { - left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - right = 0.005; - bottom = 0.0; - }; - period = 0.4; - font = "Zeppelin32"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - action = ""; - class Attributes { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "left"; - shadow = 1; - }; - class AttributesImage { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "left"; - }; - soundPush[] = { "", 0, 1 }; - soundEnter[] ={ "", 0, 1 }; - soundClick[] ={ "", 0, 1 }; - soundEscape[] ={ "", 0, 1 }; - sound[] ={ "", 0, 1 }; -}; - -class vkc_RscButtonMenu : vkc_RscShortcutButton { - idc = -1; - type = 16; - style = "0x02 + 0xC0"; - default = 0; - shadow = 0; - x = 0; - y = 0; - w = 0.095589; - h = 0.039216; - animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - colorBackground[] = {0,0,0,0.8}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground2[] = {0.75,0.75,0.75,1}; - color[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; - color2[] = {0,0,0,1}; - colorText[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.25}; - period = 1.2; - periodFocus = 1.2; - periodOver = 1.2; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; - class TextPos { - left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)"; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - right = 0.005; - bottom = 0.0; - }; - class Attributes { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "center"; - shadow = 0; - }; - class ShortcutPos { - left = "(6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005"; - top = 0.005; - w = 0.0225; - h = 0.03; - }; - textureNoShortcut = ""; -}; - -class vkc_RscListBox { - style = 16; - idc = -1; - type = 5; - w = 0.275; - h = 0.04; - font = "Zeppelin32"; - colorSelect[] = {0.11,0.686,0.831,1}; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {0.28,0.28,0.28,0.28}; - colorSelect2[] = {1, 1, 1, 1}; - colorSelectBackground[] = {0.95, 0.95, 0.95, 0.5}; - colorSelectBackground2[] = {1, 1, 1, 0.5}; - colorScrollbar[] = {0.2, 0.2, 0.2, 1}; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - wholeHeight = 0.45; - rowHeight = 0.04; - color[] = {0.7, 0.7, 0.7, 1}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - sizeEx = 0.023; - maxHistoryDelay = 1; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; - soundPush[] = { "", 0, 1 }; - soundEnter[] ={ "", 0, 1 }; - soundClick[] ={ "", 0, 1 }; - soundEscape[] ={ "", 0, 1 }; - sound[] ={ "", 0, 1 }; - soundSelect[] = { "", 0, 1 }; -}; - -class vkc_RscStructuredText { - type = 13; - style = 0; - x = 0; - y = 0; - h = 0.035; - w = 0.1; - text = ""; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {1, 1, 1, 1.0}; - shadow = 1; - class Attributes { - font = "Zeppelin32"; - color = "#ffffff"; - align = "left"; - shadow = 1; - }; -}; - -class vkc { - idd = 4800; - name="vkc"; - onload = "player setVariable['isBusy',true,true];"; - onUnload = "player setVariable['isBusy',false,true];"; - movingEnabled = 0; - enableSimulation = 1; - - class controlsBackground { - class vkc_RscTitleBackground : vkc_RscText { - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - idc = -1; - x = 0.1; - y = 0.2; - w = 0.8; - h = (1 / 25); - }; - - class MainBackground : vkc_RscText { - colorBackground[] = {0,0,0,0.7}; - idc = -1; - x = 0.1; - y = 0.2 + (11 / 250); - w = 0.8; - h = 0.7 - (22 / 250); - }; - - class Title : vkc_RscTitle { - idc = 4801; - text = $STR_CL_VKC_TITLE; - x = 0.1; - y = 0.2; - w = 0.8; - h = (1 / 25); - }; - - class VehicleInfoHeader : vkc_RscText { - idc = 4830; - text = $STR_CL_VKC_INFO; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - x = 0.47; y = 0.26; - w = 0.42; - h = (1 / 25); - }; - - class CloseBtn : vkc_RscButtonMenu { - idc = -1; - text = $STR_UI_CLOSE; - onButtonClick = "closeDialog 2;"; - x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 40); - h = (1 / 25); - }; - }; - - class controls { - class VehicleList : vkc_RscListBox { - idc = 4802; - text = ""; - sizeEx = 0.04; - colorBackground[] = {0.1,0.1,0.1,0.9}; - onLBSelChanged = "vkc_charID = (vkc_keyList select 0) select (lbCurSel 4802);vkc_keyName = (vkc_keyList select 1) select (lbCurSel 4802);"; - x = 0.11; y = 0.302; - w = 0.35; h = 0.49; - }; - - class VehicleTitleBox : vkc_RscText { - idc = 4804; - text = $STR_CL_VKC_KEYS; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - x = 0.11; y = 0.26; - w = 0.35; - h = (1 / 25); - }; - - class claimVehicle : vkc_RscButtonMenu { - idc = 4850; - text = $STR_CL_VKC_CLAIM; - onButtonClick = "vkc_isOk = true;closeDialog 0;"; - x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 20); - h = (1 / 25); - }; - - class changeKey : vkc_RscButtonMenu { - idc = 4851; - text = $STR_CL_VKC_CHANGE; - onButtonClick = "vkc_isOk = true;closeDialog 0;"; - x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 20); - h = (1 / 25); - }; - - class vehicleInfomationList : vkc_RscStructuredText { - idc = 4803; - text = ""; - sizeEx = 0.035; - x = 0.47; y = 0.3; - w = 0.41; h = 0.5; - }; - }; -}; diff --git a/SQF/dayz_code/Configs/RscDisplay/virtualGarage.hpp b/SQF/dayz_code/Configs/RscDisplay/virtualGarage.hpp deleted file mode 100644 index 975259ed8..000000000 --- a/SQF/dayz_code/Configs/RscDisplay/virtualGarage.hpp +++ /dev/null @@ -1,367 +0,0 @@ -// Developed by [GZA] David for German Zombie Apocalypse Servers (https://zombieapo.eu/) -// Rewritten by salival (https://github.com/oiad) - -class vg_RscText { - idc = -1; - x = 0; - y = 0; - h = 0.037; - w = 0.3; - type = 0; - style = 0; - shadow = 2; - colorShadow[] = {0, 0, 0, 0.5}; - font = "Zeppelin32"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - colorText[] = {1, 1, 1, 1.0}; - colorBackground[] = {0, 0, 0, 0}; - linespacing = 1; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; -}; - -class vg_RscTitle : vg_RscText { - idc = -1; - style = 0; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {0.95, 0.95, 0.95, 1}; -}; - -class vg_RscShortcutButton { - idc = -1; - style = 0; - default = 0; - shadow = 2; - w = 0.183825; - h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)"; - color[] = {1,1,1,1.0}; - colorFocused[] = {1,1,1,1.0}; - color2[] = {0.95,0.95,0.95,1}; - colorDisabled[] = {1,1,1,0.25}; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1}; - colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1}; - colorBackground2[] = {1,1,1,1}; - animTextureDefault = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureNormal = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureDisabled = "gza\scripts\gold\gui\normal_ca.paa"; - animTextureOver = "gza\scripts\gold\gui\over_ca.paa"; - animTextureFocused = "gza\scripts\gold\gui\focus_ca.paa"; - animTexturePressed = "gza\scripts\gold\gui\down_ca.paa"; - periodFocus = 1.2; - periodOver = 0.8; - class HitZone { - left = 0.0; - top = 0.0; - right = 0.0; - bottom = 0.0; - }; - class ShortcutPos { - left = 0; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; - h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - }; - class TextPos { - left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - right = 0.005; - bottom = 0.0; - }; - period = 0.4; - font = "Zeppelin32"; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - text = ""; - action = ""; - class Attributes { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "left"; - shadow = 1; - }; - class AttributesImage { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "left"; - }; - soundPush[] = { "", 0, 1 }; - soundEnter[] ={ "", 0, 1 }; - soundClick[] ={ "", 0, 1 }; - soundEscape[] ={ "", 0, 1 }; - sound[] ={ "", 0, 1 }; -}; - -class vg_RscButtonMenu : vg_RscShortcutButton { - idc = -1; - type = 16; - style = "0x02 + 0xC0"; - default = 0; - shadow = 0; - x = 0; - y = 0; - w = 0.095589; - h = 0.039216; - animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; - colorBackground[] = {0,0,0,0.8}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground2[] = {0.75,0.75,0.75,1}; - color[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; - color2[] = {0,0,0,1}; - colorText[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,0.25}; - period = 1.2; - periodFocus = 1.2; - periodOver = 1.2; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; - class TextPos { - left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)"; - top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; - right = 0.005; - bottom = 0.0; - }; - class Attributes { - font = "Zeppelin32"; - color = "#E5E5E5"; - align = "center"; - shadow = 0; - }; - class ShortcutPos { - left = "(6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005"; - top = 0.005; - w = 0.0225; - h = 0.03; - }; - textureNoShortcut = ""; -}; - -class vg_RscListBox { - style = 16; - idc = -1; - type = 5; - w = 0.275; - h = 0.04; - font = "Zeppelin32"; - colorSelect[] = {0.11,0.686,0.831,1}; - colorText[] = {1, 1, 1, 1}; - colorBackground[] = {0.28,0.28,0.28,0.28}; - colorSelect2[] = {1, 1, 1, 1}; - colorSelectBackground[] = {0.95, 0.95, 0.95, 0.5}; - colorSelectBackground2[] = {1, 1, 1, 0.5}; - colorScrollbar[] = {0.2, 0.2, 0.2, 1}; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - wholeHeight = 0.45; - rowHeight = 0.04; - color[] = {0.7, 0.7, 0.7, 1}; - colorActive[] = {0,0,0,1}; - colorDisabled[] = {0,0,0,0.3}; - sizeEx = 0.023; - maxHistoryDelay = 1; - autoScrollSpeed = -1; - autoScrollDelay = 5; - autoScrollRewind = 0; - tooltipColorText[] = {1,1,1,1}; - tooltipColorBox[] = {1,1,1,1}; - tooltipColorShade[] = {0,0,0,0.65}; - class ScrollBar { - color[] = {1, 1, 1, 0.6}; - colorActive[] = {1, 1, 1, 1}; - colorDisabled[] = {1, 1, 1, 0.3}; - thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; - arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; - arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; - border = "\ca\ui\data\igui_border_scroll_ca.paa"; - }; - soundPush[] = { "", 0, 1 }; - soundEnter[] ={ "", 0, 1 }; - soundClick[] ={ "", 0, 1 }; - soundEscape[] ={ "", 0, 1 }; - sound[] ={ "", 0, 1 }; - soundSelect[] = { "", 0, 1 }; -}; - -class vg_RscStructuredText { - type = 13; - style = 0; - x = 0; - y = 0; - h = 0.035; - w = 0.1; - text = ""; - size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - colorText[] = {1, 1, 1, 1.0}; - shadow = 1; - class Attributes { - font = "Zeppelin32"; - color = "#ffffff"; - align = "left"; - shadow = 1; - }; -}; - -class virtualGarage { - idd = 2800; - name="virtualGarage"; - onload = "player setVariable['isBusy',true,true]; [] spawn vg_maintainSetText;"; - onUnload = "player setVariable['isBusy',false,true];dayz_actionInProgress = false;"; - movingEnabled = 0; - enableSimulation = 1; - - class controlsBackground { - class vg_RscTitleBackground : vg_RscText { - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - idc = -1; - x = 0.1; - y = 0.2; - w = 0.8; - h = (1 / 25); - }; - - class MainBackground : vg_RscText { - colorBackground[] = {0,0,0,0.7}; - idc = -1; - x = 0.1; - y = 0.2 + (11 / 250); - w = 0.8; - h = 0.7 - (22 / 250); - }; - - class Title : vg_RscTitle { - idc = 2801; - text = $STR_CL_VG_VIRTUAL_GARAGE; - x = 0.1; - y = 0.2; - w = 0.8; - h = (1 / 25); - }; - - class VehicleInfoHeader : vg_RscText { - idc = 2830; - text = $STR_CL_VG_VEHICLE_INFO; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - x = 0.47; y = 0.26; - w = 0.42; - h = (1 / 25); - }; - - class CloseBtn : vg_RscButtonMenu { - idc = -1; - text = $STR_UI_CLOSE; - onButtonClick = "closeDialog 2;"; - x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 40); - h = (1 / 25); - }; - }; - - class controls { - class VehicleList : vg_RscListBox { - idc = 2802; - text = ""; - sizeEx = 0.04; - colorBackground[] = {0.1,0.1,0.1,0.9}; - onLBSelChanged = "[_this] call vehicleInfo;"; - x = 0.11; y = 0.302; - w = 0.35; h = 0.49; - }; - - class VehicleTitleBox : vg_RscText { - idc = 2804; - text = ""; - colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; - x = 0.11; y = 0.26; - w = 0.35; - h = (1 / 25); - }; - - class storeVehicle : vg_RscButtonMenu { - idc = 2850; - text = $STR_CL_VG_STORE_VEHICLE; - onButtonClick = "if (!vg_hasRun) then {vg_hasRun = true;[true] spawn player_storeVehicle;};"; - x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 36); - h = (1 / 25); - }; - - class storeVehicleGear : vg_RscButtonMenu { - idc = 2851; - text = $STR_CL_VG_STORE_VEHICLE_GEAR; - onButtonClick = "if (!vg_hasRun) then {vg_hasRun = true;[false] spawn player_storeVehicle;};"; - x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 15.85); - h = (1 / 25); - }; - - class getVehicle : vg_RscButtonMenu { - idc = 2852; - text = $STR_CL_VG_GET_VEHICLE; - onButtonClick = "if (!vg_hasRun) then {vg_hasRun = true;[] spawn player_getVehicle;};"; - x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = (6.25 / 20); - h = (1 / 25); - }; - - class removePad : vg_RscButtonMenu { - idc = 2853; - text = $STR_CL_VG_REMOVE_PAD; - onButtonClick = "call player_removePad;"; - x = 0.5 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.9 - (1 / 25); - w = 0.241; - h = (1 / 25); - }; - - class MaintainGarage : vg_RscButtonMenu { - idc = 2854; - text = $STR_CL_VG_MAINTAIN_GARAGE; - onButtonClick = "if (!vg_hasRun) then {vg_hasRun = true;[] spawn Player_MaintainVG;};"; - x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); - y = 0.903; - w = 0.8; - h = (1 / 25); - }; - - class vehicleInfomationList : vg_RscStructuredText { - idc = 2803; - text = ""; - sizeEx = 0.035; - x = 0.47; y = 0.3; - w = 0.41; h = 0.5; - }; - - class MainBackgroundHider : vg_RscText { - colorBackground[] = {0,0,0,1}; - idc = 2810; - x = 0.1; - y = 0.2 + (11 / 250); - w = 0.8; - h = 0.7 - (22 / 250); - }; - - class MainHideText : vg_RscText { - idc = 2811; - text = $STR_CL_VG_SEARCH_VEHICLES; - sizeEx = 0.06; - x = 0.10; - y = 0.5; - w = 0.8; - h = (1 / 15); - }; - }; -}; diff --git a/SQF/dayz_code/Configs/cfgMoves.hpp b/SQF/dayz_code/Configs/cfgMoves.hpp index 84cd12e66..0050a9752 100644 --- a/SQF/dayz_code/Configs/cfgMoves.hpp +++ b/SQF/dayz_code/Configs/cfgMoves.hpp @@ -661,2058 +661,4 @@ class CfgGesturesDogDZ transitionsInterpolated[] = {}; transitionsSimple[] = {}; transitionsDisabled[] = {}; -}; - -class CfgMovesBloodsucker: CfgMovesMaleSdr -{ - skeletonName="OFP2_ManSkeleton"; - gestures="CfgGesturesMale"; - class StandBase; - class StatesExt - { - class AmovPercMstpSnonWnonDnon: StandBase - { - actions="CivilStandActions"; - duty=-1; - equivalentTo=""; - preload=0; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - showWeaponAim=0; - disableWeapons=1; - canPullTrigger=0; - speed=1e+010; - relSpeedMin=0.69999999; - relSpeedMax=1.1; - leaningFactorBeg=0; - leaningFactorEnd=0; - looped=1; - soundEnabled=0; - soundOverride=""; - soundEdge[]={0.5,1}; - enableBinocular=1; - leftHandIKBeg=0; - leftHandIKCurve[]={}; - leftHandIKEnd=0; - rightHandIKBeg=0; - rightHandIKCurve[]={}; - rightHandIKEnd=0; - hasCollShapeSafe=0; - collisionShapeSafe=""; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Mrun_Slow_Wrfl.p3d"; - headBobStrength=0.21393; - limitGunMovement=0.1; - enableOptics=-1; - ConnectTo[]= - { - "ActsPercMstpSnonWpstDnon_suicide1A", - 0.02, - "ActsPercMstpSnonWpstDnon_suicide2A", - 0.02, - "AmovPercMstpSnonWnonDnon_sekaniIn", - 0.02, - "AidlPercMstpSnonWnonDnon", - 0.0099999998, - "AidlPercMstpSnonWnonDnon_player", - 0.0099999998, - "AovrPercMstpSnonWnonDf", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_turnL", - 0.02, - "AmovPercMstpSnonWnonDnon_turnR", - 0.02, - "AmovPercMstpSnonWnonDnon_AmovPknlMstpSnonWnonDnon", - 0.02, - "AmovPercMstpSnonWnonDnon_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPercMstpSnonWnonDnon_AmovPercMstpSrasWrflDnon", - 0.02, - "AmovPercMstpSnonWnonDnon_AmovPercMstpSrasWpstDnon", - 0.02, - "AmovPercMstpSnonWnonDnon_AmovPknlMstpSrasWlnrDnon", - 0.029999999, - "AmovPercMstpSnonWnonDnon_AwopPercMstpSoptWbinDnon", - 0.02, - "ActsPercMstpSnonWnonDnon_varStayLeant", - 2, - "ActsPercMstpSnonWrflDnon_Interrogate01", - 2, - "ActsPercMstpSnonWrflDnon_Interrogate02", - 2, - "ActsPsitMstpSnonWnonDnon_InterrogateLeaves", - 2, - "AmovPercMstpSnonWnonDnon_Scared", - 2, - "AmovPercMstpSnonWnonDnon_Scared2", - 2, - "AmovPercMstpSnonWnonDnon_carCheckPush", - 2, - "AmovPercMstpSnonWnonDnon_carCheckWash", - 2, - "AmovPercMstpSnonWnonDnon_carCheckWheel", - 2, - "AmovPercMstpSnonWnonDnon_exerciseKata", - 2, - "ActsPercMstpSnonWnonDnon_DancingDuoIvan", - 2, - "ActsPercMstpSnonWnonDnon_DancingDuoStefan", - 2, - "ActsPercMstpSnonWnonDnon_DancingStefan", - 2, - "AmovPercMstpSnonWnonDnon_exercisekneeBendA", - 2, - "AmovPercMstpSnonWnonDnon_exercisekneeBendB", - 2, - "AmovPercMstpSnonWnonDnon_exercisePushup", - 2, - "AmovPercMstpSnonWnonDnon_seeWatch", - 2, - "AmovPercMstpSnonWnonDnon_talking", - 2, - "ActsPercMstpSnonWpstDnon_sceneBardak01", - 0.1, - "AmovPercMstpSnonWnonDnon_normalizationTest", - 0.1, - "AmovPercMstpSnonWnonDnon_SaluteIn", - 0.1, - "AmovPercMstpSnonWnonDnon_EaseIn", - 0.1, - "AmovPercMstpSnonWnonDnon_AmovPsitMstpSnonWnonDnon_ground", - 0.1, - "AmovPercMstpSnonWnonDnon_AmovPercMstpSsurWnonDnon", - 0.1, - "AwopPercMstpSgthWnonDnon_start", - 0.1, - "LadderCivilOn", - 1, - "AswmPercMstpSnonWnonDnon", - 0.30000001, - "ActsPknlMstpWunaSnonDnon_sceneCrashSite_Villager", - 0.1, - "AmovPercMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon", - 0.02, - "AmovPercMstpSnonWnonDnon_AcrgPknlMstpSnonWnonDnon_getInLow", - 0.02, - "AmovPercMstpSnonWnonDnon_AcrgPknlMstpSnonWnonDnon_getInMedium", - 0.02, - "AmovPercMstpSnonWnonDnon_AcrgPknlMstpSnonWnonDnon_getInHigh", - 0.02, - "amovpercmstpsnonwnondnon_amovpercmstpsraswlnrdnon", - 0.02, - "ActsPercSnonWnonDnon_assembling", - 0.0099999998, - "ActsPercSnonWnonDnon_carFixing", - 0.0099999998, - "ActsPercSnonWnonDnon_carFixing2", - 0.0099999998, - "ActsPercSnonWnonDnon_tableSupport_TalkIn", - 0.0099999998, - "ActsPercMstpSrasWunaDnon_sceneLopotevBandCaptured_Kostey", - 0.0099999998, - "AidlPpneMstpSnonWnonDnon_SleepA_layDown", - 0.0099999998, - "AidlPpneMstpSnonWnonDnon_SleepB_layDown", - 0.0099999998, - "AidlPpneMstpSnonWnonDnon_SleepC_layDown", - 0.0099999998, - "ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Nikitin", - 0.0099999998, - "ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Bardak", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_sceneNikitinDisloyalty_Homeless", - 0.0099999998, - "ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Lopotev1", - 0.0099999998, - "ErcUnarm_sitUnarm_L", - 0.0099999998, - "ErcUnarm_sitUnarm_R", - 0.0099999998, - "sitTableRfl_listening_onTTractor", - 0.0099999998, - "sitUnarm_L_idleLoop_onFoiledPallets", - 0.0099999998, - "sitUnarm_L_idleLoop_onFoiledPallets2", - 0.0099999998, - "ErcUnarm_sitTable", - 0.0099999998, - "sitTableUnarm_talkingListening_TowingTractor", - 0.0099999998, - "UnaErc_UnaErcPoslechVelitele", - 0.0099999998, - "Csdr_LHD_oprenOzabradli118cm_A", - 0.0099999998, - "UnaErcVelitelProslov1", - 0.0099999998, - "FPS_shift", - 0.0099999998, - "ctsLopoHover_cdf2", - 0.0099999998, - "ctsLopoHover_lopotev", - 0.0099999998, - "sitUnarm_L_idleLoop_inUH1Y", - 0.0099999998, - "AmelPercMstpSnonWnonDnon_amaterUder1", - 0.02, - "AmelPercMstpSnonWnonDnon_amaterUder2", - 0.02, - "AmelPercMstpSnonWnonDnon_amaterUder3", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah1", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah2", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah3hard", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah4", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah5hard", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah6hlava", - 0.02, - "AmelPercMstpSnonWnonDnon_zasah7bricho", - 0.02, - "NavigationDriverReverse", - 0.0099999998, - "RepairingKneel", - 0.0099999998, - "RepairingErc", - 0.0099999998, - "NavigationHeli", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_initLoop", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_idle70chozeniPoRukou", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_idle68boxing", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_zevl", - 0.0099999998 - }; - InterpolateTo[]= - { - "AinvPknlMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon_medic", - 0.02, - "AmovPercMstpSnonWnonDnon_turnL", - 0.02, - "AmovPercMstpSnonWnonDnon_turnR", - 0.02, - "AmovPercMwlkSnonWnonDf", - 0.02, - "AmovPercMwlkSnonWnonDfl", - 0.02, - "AmovPercMwlkSnonWnonDl", - 0.02, - "AmovPercMwlkSnonWnonDbl", - 0.02, - "AmovPercMwlkSnonWnonDb", - 0.02, - "AmovPercMwlkSnonWnonDbr", - 0.02, - "AmovPercMwlkSnonWnonDr", - 0.02, - "AmovPercMwlkSnonWnonDfr", - 0.02, - "AmovPercMrunSnonWnonDf", - 0.02, - "AmovPercMrunSnonWnonDfl", - 0.02, - "AmovPercMrunSnonWnonDl", - 0.02, - "AmovPercMrunSnonWnonDbl", - 0.02, - "AmovPercMrunSnonWnonDb", - 0.02, - "AmovPercMrunSnonWnonDbr", - 0.02, - "AmovPercMrunSnonWnonDr", - 0.02, - "AmovPercMrunSnonWnonDfr", - 0.02, - "AmovPercMevaSnonWnonDf", - 0.02, - "AmovPercMevaSnonWnonDfl", - 0.02, - "AmovPercMevaSnonWnonDfr", - 0.02, - "AdthPercMstpSnonWnonDnon_1", - 0.0099999998, - "AdthPercMstpSnonWnonDnon_2", - 0.0099999998, - "AdthPercMstpSnonWnonDnon_3", - 0.0099999998, - "ActsPsitMstpSnonWnonDnon_varSittingDrinking", - 0.02, - "AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_1", - 0.1, - "ActsPercMstpSnonWnonDnon_talking01", - 0.1, - "ActsPercMstpSnonWnonDnon_talking02", - 0.1, - "ActsPercMstpSnonWnonDnon_talking03", - 0.1, - "ActsPercMstpSnonWnonDnon_talking04", - 0.1, - "AidlPercSnonWnonDnon_talkBS", - 0.0099999998, - "sitTableRfl_listening_onTTractor", - 0.0099999998, - "sitUnarm_L_idleLoop_onFoiledPallets", - 0.0099999998, - "sitUnarm_L_idleLoop_onFoiledPallets2", - 0.0099999998, - "sitUnarm_L_idleLoop_inUH1Y", - 0.0099999998 - }; - }; - class AmovPercMrunSnonWnonDf: AmovPercMstpSnonWnonDnon - { - actions="CivilRunActionsF"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - soundEdge[]={0.25,0.5,0.75,1}; - duty=0.40000001; - soundOverride="run"; - soundEnabled=1; - limitGunMovement=0.1; - walkcycles=2; - disableWeapons=1; - ConnectTo[]= - { - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPercMstpSnonWnonDnon", - 0.02, - "AmovPercMwlkSnonWnonDf", - 0.025, - "AmovPercMrunSnonWnonDfl", - 0.025, - "AmovPercMrunSnonWnonDfr", - 0.025, - "AmovPknlMrunSnonWnonDf", - 0.029999999, - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPercMevaSnonWnonDf", - 0.02 - }; - }; - class AmovPercMwlkSnonWnonDf: AmovPercMstpSnonWnonDnon - { - actions="CivilWlkActionsF"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - soundEdge[]={0.25,0.5,0.75,1}; - speed=3.21; - duty=-0.1; - soundOverride="walk"; - soundEnabled=1; - walkcycles=2; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDfl", - 0.025, - "AmovPercMwlkSnonWnonDfr", - 0.025, - "AmovPercMrunSnonWnonDf", - 0.025, - "AmovPknlMwlkSnonWnonDf", - 0.029999999, - "AmovPercMevaSnonWnonDf", - 0.025, - "AmovPercMrunSnonWnonDf_AmovPercMstpSnonWnonDnon_gthStart", - 0.1 - }; - }; - class AmovPercMwlkSnonWnonDfl: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsFL"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDf", - 0.025, - "AmovPercMwlkSnonWnonDl", - 0.025, - "AmovPercMrunSnonWnonDfl", - 0.025, - "AmovPknlMwlkSnonWnonDfl", - 0.029999999, - "AmovPercMevaSnonWnonDfl", - 0.025, - "AmovPercMrunSnonWnonDf_AmovPercMstpSnonWnonDnon_gthStart", - 0.1 - }; - }; - class AmovPercMwlkSnonWnonDl: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsL"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDfl", - 0.025, - "AmovPercMwlkSnonWnonDbl", - 0.025, - "AmovPercMrunSnonWnonDl", - 0.025, - "AmovPknlMwlkSnonWnonDl", - 0.029999999 - }; - }; - class AmovPercMwlkSnonWnonDbl: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsBL"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDl", - 0.025, - "AmovPercMwlkSnonWnonDb", - 0.025, - "AmovPercMrunSnonWnonDbl", - 0.025, - "AmovPknlMwlkSnonWnonDbl", - 0.029999999 - }; - }; - class AmovPercMwlkSnonWnonDb: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsB"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDbl", - 0.025, - "AmovPercMwlkSnonWnonDbr", - 0.025, - "AmovPercMrunSnonWnonDb", - 0.025, - "AmovPknlMwlkSnonWnonDb", - 0.029999999 - }; - }; - class AmovPercMwlkSnonWnonDbr: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsBR"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDb", - 0.025, - "AmovPercMwlkSnonWnonDr", - 0.025, - "AmovPercMrunSnonWnonDbr", - 0.025, - "AmovPknlMwlkSnonWnonDbr", - 0.029999999 - }; - }; - class AmovPercMwlkSnonWnonDr: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsR"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDbr", - 0.025, - "AmovPercMwlkSnonWnonDfr", - 0.15000001, - "AmovPercMrunSnonWnonDr", - 0.025, - "AmovPknlMwlkSnonWnonDr", - 0.029999999 - }; - }; - class AmovPercMwlkSnonWnonDfr: AmovPercMwlkSnonWnonDf - { - actions="CivilWlkActionsFR"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMwlkSnonWnonDnon_transition", - 0.015, - "AmovPercMwlkSnonWnonDf", - 0.025, - "AmovPercMwlkSnonWnonDr", - 0.15000001, - "AmovPercMrunSnonWnonDfr", - 0.025, - "AmovPknlMwlkSnonWnonDfr", - 0.029999999, - "AmovPercMevaSnonWnonDfr", - 0.025, - "AmovPercMrunSnonWnonDf_AmovPercMstpSnonWnonDnon_gthStart", - 0.1 - }; - }; - class SprintBaseDf: StandBase - { - actions="RifleStandEvasiveActions"; - preload=0; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - soundOverride="sprint"; - duty=0.60000002; - showWeaponAim=0; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Mrun_Slow_Wrfl.p3d"; - leaningFactorBeg=0; - leaningFactorEnd=0; - limitGunMovement=0; - relSpeedMin=0.69717097; - relSpeedMax=1.1; - enableAutoActions=0; - visibleSize=1.000121; - soundEnabled=1; - aiming="aimingCivil"; - aimingBody="aimingUpCivil"; - headBobStrength=0.154229; - headBobMode=2; - ConnectTo[]= - { - "AmovPercMsprSlowWrflDf_AmovPpneMstpSrasWrflDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPercMsprSlowWrflDf_AmovPpneMstpSrasWrflDnon", - 0.02 - }; - }; - class SprintBaseDfl: SprintBaseDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Mrun_Slow_Wrfl_Dl.p3d"; - ConnectTo[]={}; - InterpolateTo[]={}; - }; - class SprintBaseDfr: SprintBaseDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Mrun_Slow_Wrfl_Dr.p3d"; - ConnectTo[]={}; - InterpolateTo[]={}; - }; - class SprintCivilBaseDf: SprintBaseDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Wnon.p3d"; - visibleSize=1.000121; - ConnectTo[]={}; - InterpolateTo[]={}; - }; - class SprintCivilBaseDfl: SprintCivilBaseDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]={}; - }; - class SprintCivilBaseDfr: SprintCivilBaseDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - ConnectTo[]={}; - InterpolateTo[]={}; - }; - class AmovPercMevaSnonWnonDf: SprintCivilBaseDf - { - actions="CivilEvasiveActions"; - soundOverride="sprint"; - soundEnabled=1; - speed=3.21; - canPullTrigger=0; - duty=0.60000002; - walkcycles=1; - ConnectTo[]= - { - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPercMstpSnonWnonDnon", - 0.02, - "AmovPercMwlkSnonWnonDf", - 0.025, - "AmovPercMrunSnonWnonDf", - 0.02, - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPercMevaSnonWnonDfl", - 0.02, - "AmovPercMevaSnonWnonDfr", - 0.02 - }; - }; - class AmovPercMevaSnonWnonDfl: SprintCivilBaseDfl - { - actions="CivilEvasiveActions"; - soundOverride="sprint"; - soundEnabled=1; - canPullTrigger=0; - duty=0.60000002; - relSpeedMin=0.69717097; - relSpeedMax=1.1064889; - walkcycles=2; - ConnectTo[]= - { - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPercMstpSnonWnonDnon", - 0.02, - "AmovPercMwlkSnonWnonDfl", - 0.025, - "AmovPercMrunSnonWnonDfl", - 0.02, - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPercMevaSnonWnonDf", - 0.02, - "AmovPercMevaSnonWnonDfr", - 0.02 - }; - }; - class AmovPercMevaSnonWnonDfr: SprintCivilBaseDfr - { - actions="CivilEvasiveActions"; - soundOverride="sprint"; - soundEnabled=1; - canPullTrigger=0; - duty=0.60000002; - relSpeedMin=0.69717097; - relSpeedMax=1.1064889; - walkcycles=2; - ConnectTo[]= - { - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPercMstpSnonWnonDnon", - 0.02, - "AmovPercMwlkSnonWnonDfr", - 0.025, - "AmovPercMrunSnonWnonDfr", - 0.02, - "AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPercMevaSnonWnonDf", - 0.02, - "AmovPercMevaSnonWnonDfl", - 0.02 - }; - }; - class AmovPercMevaSrasWrflDf: SprintBaseDf - { - actions="RifleStandEvasiveActions"; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Mrun_Slow_Wrfl.p3d"; - relSpeedMin=0.797005; - soundOverride="sprint"; - soundEnabled=1; - limitGunMovement=0.1; - weaponIK=1; - headBobStrength=0.25373101; - duty=0.60000002; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMstpSrasWrflDnon", - 0.02, - "AmovPercMrunSlowWrflDf", - 0.025, - "AmovPercMwlkSrasWrflDf", - 0.025, - "AmovPercMrunSrasWrflDf", - 0.025, - "AmovPercMsprSlowWrflDf_AmovPpneMstpSrasWrflDnon", - 0.02, - "AmovPknlMevaSrasWrflDf", - 0.025, - "AmovPercMevaSlowWrflDf", - 0.025, - "AmovPercMevaSrasWrflDfl", - 0.025, - "AmovPercMevaSrasWrflDfr", - 0.025, - "AdthPercMrunSlowWrflDf_6", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A1short", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A2short", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A3short", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A4short", - 0.0099999998 - }; - }; - class AmovPknlMevaSrasWrflDf: AmovPercMevaSrasWrflDf - { - actions="RifleKneelEvasiveActions"; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPknlMrunSlowWrflDf", - 0.025, - "AmovPknlMrunSrasWrflDf", - 0.025, - "AmovPercMevaSrasWrflDf", - 0.025, - "AmovPercMevaSlowWrflDf", - 0.025 - }; - }; - class AmovPercMevaSlowWrflDf: AmovPercMevaSrasWrflDf - { - actions="RifleStandLowEvasiveActions"; - limitGunMovement=0.1; - weaponIK=1; - headBobStrength=0.25373101; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPercMstpSlowWrflDnon", - 0.025, - "AmovPercMwlkSlowWrflDf", - 0.025, - "AmovPercMrunSlowWrflDf", - 0.025, - "AmovPercMevaSrasWrflDf", - 0.025, - "AidlPercMevaSrasWrflDf", - 0.0099999998, - "AmovPercMevaSlowWrflDfl", - 0.025, - "AmovPercMevaSlowWrflDfr", - 0.025, - "AdthPercMrunSlowWrflDf_A1short", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A2short", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A3short", - 0.0099999998, - "AdthPercMrunSlowWrflDf_A4short", - 0.0099999998 - }; - }; - class AmovPercMstpSrasWpstDnon: StandBase - { - actions="PistolStandActions"; - duty=-1; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - showWeaponAim=1; - disableWeapons=0; - disableWeaponsLong=0; - showHandGun=1; - speed=1e+010; - relSpeedMin=0.700001; - relSpeedMax=1.1; - aiming="aimingPistol"; - aimingBody="aimingUpPistol"; - looped=1; - soundEnabled=0; - enableBinocular=1; - leftHandIKBeg=1; - leftHandIKCurve[]={1}; - leftHandIKEnd=1; - rightHandIKBeg=1; - rightHandIKCurve[]={1}; - rightHandIKEnd=1; - collisionShape="ca\Anims\Characters\Data\Geom\Sdr\Perc_Wpst.p3d"; - weaponIK=2; - enableOptics=2; - headBobStrength=0.22388101; - headBobMode=2; - ConnectTo[]= - { - "AidlPercMstpSrasWpstDnon_player_0S", - 0.02, - "AovrPercMstpSrasWpstDf", - 0.0099999998, - "AmovPercMstpSrasWpstDnon_AidlPercMstpSlowWpstDnon", - 0.0099999998, - "AmovPercMstpSrasWpstDnon_turnL", - 0.02, - "AmovPercMstpSrasWpstDnon_turnR", - 0.02, - "PistolMagazineReloadStand", - 0.1, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSlowWpstDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPknlMstpSrasWpstDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWrflDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AwopPercMstpSoptWbinDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSnonWnonDnon", - 0.02, - "ActsPercMstpSnonWpstDnon_sceneBardakPistol01", - 0.1, - "AmovPercMstpSrasWpstDnon_SaluteIn", - 0.02, - "AwopPercMstpSgthWpstDnon_Part1", - 0.1, - "AswmPercMstpSnonWnonDnon", - 0.30000001, - "AmovPercMstpSrasWpstDnon_AinvPknlMstpSnonWnonDnon", - 0.02, - "amovpercmstpsraswpstdnon_amovpercmstpsraswlnrdnon", - 0.02, - "ctsLopoHover_shagarov", - 0.0099999998 - }; - InterpolateTo[]= - { - "AmovPercMstpSrasWpstDnon_turnL", - 0.02, - "AmovPercMstpSrasWpstDnon_turnR", - 0.02, - "AmovPercMwlkSrasWpstDf", - 0.02, - "AmovPercMwlkSrasWpstDfl", - 0.02, - "AmovPercMwlkSrasWpstDl", - 0.02, - "AmovPercMwlkSrasWpstDbl", - 0.02, - "AmovPercMwlkSrasWpstDb", - 0.02, - "AmovPercMwlkSrasWpstDbr", - 0.02, - "AmovPercMwlkSrasWpstDr", - 0.02, - "AmovPercMwlkSrasWpstDfr", - 0.02, - "AmovPercMrunSrasWpstDf", - 0.02, - "AmovPercMrunSrasWpstDfl", - 0.02, - "AmovPercMrunSrasWpstDl", - 0.02, - "AmovPercMrunSrasWpstDbl", - 0.02, - "AmovPercMrunSrasWpstDb", - 0.02, - "AmovPercMrunSrasWpstDbr", - 0.02, - "AmovPercMrunSrasWpstDr", - 0.02, - "AmovPercMrunSrasWpstDfr", - 0.02, - "AmovPercMevaSrasWpstDf", - 0.02, - "AmovPercMevaSrasWpstDfl", - 0.02, - "AmovPercMevaSrasWpstDfr", - 0.02, - "AdthPercMstpSrasWpstDnon_1", - 0.0099999998, - "AdthPercMstpSrasWpstDnon_3", - 0.0099999998, - "AdthPercMstpSrasWpstDnon_5", - 0.0099999998 - }; - }; - class AmovPpneMstpSrasWpstDnon: AmovPercMstpSrasWpstDnon - { - actions="PistolProneActions"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - showWeaponAim=1; - visibleSize=0.100123; - onLandBeg=1; - onLandEnd=1; - aiming="aimingPistol"; - aimingBody="aimingUpPistol"; - legs="legsDefault"; - collisionShape="ca\Anims\Characters\Data\Geom\Sdr\Ppne.p3d"; - leaningFactorBeg=0; - leaningFactorEnd=0; - leaning="leaningDefault"; - soundOverride="crawl"; - weaponIK=2; - limitGunMovement=1; - ConnectTo[]= - { - "AmovPpneMstpSrasWpstDnon_turnL", - 0.02, - "AmovPpneMstpSrasWpstDnon_turnR", - 0.02, - "PistolMagazineReloadProne", - 0.1, - "AmovPpneMstpSrasWpstDnon_AmovPercMstpSrasWpstDnon", - 0.02, - "AmovPpneMstpSrasWpstDnon_AmovPknlMstpSrasWpstDnon", - 0.02, - "AmovPpneMstpSrasWpstDnon_AmovPpneMstpSrasWrflDnon", - 0.02, - "AmovPpneMstpSrasWpstDnon_AwopPpneMstpSoptWbinDnon", - 0.02, - "AmovPpneMstpSrasWpstDnon_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMstpSrasWpstDnon_AmovPpneMevaSlowWpstDl", - 0.02, - "AmovPpneMstpSrasWpstDnon_AmovPpneMevaSlowWpstDr", - 0.02, - "AwopPpneMstpSgthWpstDnon_Part1", - 0.1, - "AidlPpneMstpSrasWpstDnon0S", - 0.1, - "AidlPpneMstpSrasWpstDnon01", - 0.1, - "AidlPpneMstpSrasWpstDnon02", - 0.1, - "AidlPpneMstpSrasWpstDnon03", - 0.1, - "AmovPpneMstpSrasWpstDnon_healed", - 0.02 - }; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon_turnL", - 0.02, - "AmovPpneMstpSrasWpstDnon_turnR", - 0.02, - "AmovPpneMrunSlowWpstDf", - 0.02, - "AmovPpneMrunSlowWpstDfl", - 0.02, - "AmovPpneMrunSlowWpstDl", - 0.02, - "AmovPpneMrunSlowWpstDbl", - 0.02, - "AmovPpneMrunSlowWpstDb", - 0.02, - "AmovPpneMrunSlowWpstDbr", - 0.02, - "AmovPpneMrunSlowWpstDr", - 0.02, - "AmovPpneMrunSlowWpstDfr", - 0.02, - "AmovPpneMstpSrasWpstDnon_AmovPercMsprSlowWpstDf", - 0.0099999998, - "AdthPpneMstpSrasWpstDnon_1", - 0.0099999998, - "AdthPpneMstpSrasWpstDnon_2", - 0.0099999998, - "AidlPpneMstpSrasWpstDnon0S", - 0.02, - "AidlPpneMstpSrasWpstDnon01", - 0.02, - "AidlPpneMstpSrasWpstDnon02", - 0.02, - "AidlPpneMstpSrasWpstDnon03", - 0.02 - }; - }; - class AmovPpneMrunSlowWpstDf: AmovPpneMstpSrasWpstDnon - { - visibleSize=0.150123; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - soundOverride="crawl"; - duty=0.40000001; - showWeaponAim=0; - disableWeapons=1; - limitGunMovement=0; - soundEnabled=1; - legs="wholeBody"; - leaning="empty"; - aimingBody="empty"; - aiming="empty"; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDl", - 0.025, - "AmovPpneMrunSlowWpstDfr", - 0.025, - "AmovPpneMstpSrasWpstDnon_AmovPercMsprSlowWpstDf", - 0.0099999998 - }; - }; - class AmovPpneMrunSlowWpstDfl: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDl", - 0.025, - "AmovPpneMrunSlowWpstDb", - 0.025, - "AmovPpneMstpSrasWpstDnon_AmovPercMsprSlowWpstDf", - 0.0099999998 - }; - }; - class AmovPpneMrunSlowWpstDl: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDf", - 0.025, - "AmovPpneMrunSlowWpstDfl", - 0.025 - }; - }; - class AmovPpneMrunSlowWpstDbl: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDb", - 0.025, - "AmovPpneMrunSlowWpstDbr", - 0.025 - }; - }; - class AmovPpneMrunSlowWpstDb: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDfl", - 0.025, - "AmovPpneMrunSlowWpstDbl", - 0.025 - }; - }; - class AmovPpneMrunSlowWpstDbr: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDbl", - 0.025, - "AmovPpneMrunSlowWpstDr", - 0.025 - }; - }; - class AmovPpneMrunSlowWpstDr: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDbr", - 0.025, - "AmovPpneMrunSlowWpstDfr", - 0.025 - }; - }; - class AmovPpneMrunSlowWpstDfr: AmovPpneMrunSlowWpstDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=3.21; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMrunSlowWpstDf", - 0.025, - "AmovPpneMrunSlowWpstDr", - 0.025, - "AmovPpneMstpSrasWpstDnon_AmovPercMsprSlowWpstDf", - 0.0099999998 - }; - }; - class AmovPercMstpSlowWrflDnon: StandBase - { - actions="RifleLowStandActions"; - duty=-1; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Idle.p3d"; - showWeaponAim=0; - disableWeapons=0; - disableWeaponsLong=1; - speed=1e+010; - relSpeedMin=0.69999999; - relSpeedMax=1.1; - looped=1; - soundEnabled=0; - enableBinocular=1; - aiming="aimingDefault"; - aimingBody="aimingUpDefault"; - leftHandIKBeg=1; - leftHandIKCurve[]={1}; - leftHandIKEnd=1; - rightHandIKBeg=1; - rightHandIKCurve[]={1}; - rightHandIKEnd=1; - aimPrecision=1; - weaponIK=1; - headBobMode=2; - canPullTrigger=0; - ConnectTo[]= - { - "AidlPercMstpSlowWrflDnon_player_0S", - 0.0099999998, - "AovrPercMstpSlowWrflDf", - 0.0099999998, - "AmovPercMstpSlowWrflDnon_turnL", - 0.02, - "AmovPercMstpSlowWrflDnon_turnR", - 0.02, - "AmovPercMstpSlowWrflDnon_AmovPknlMstpSlowWrflDnon", - 0.02, - "AmovPercMstpSlowWrflDnon_AmovPpneMstpSrasWrflDnon", - 0.02, - "AmovPercMstpSlowWrflDnon_AmovPercMstpSrasWrflDnon", - 0.0099999998, - "ActsPsitMstpSnonWrflDnon_varSittingDrinking", - 10, - "AmovPercMstpSlowWrflDnon_ScaredTalking", - 2, - "AmovPercMstpSlowWrflDnon_talking", - 2, - "AmovPercMstpSlowWrflDnon_seeWatch", - 2, - "AmovPercMstpSlowWrflDnon_SaluteIn", - 0.1, - "AmovPercMstpSrasWrflDnon_SaluteIn", - 0.15000001, - "AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon", - 0.1, - "AmovPercMstpSlowWrflDnon_AmovPsitMstpSrasWrflDnon", - 0.1, - "LadderRifleOn", - 1, - "AswmPercMstpSnonWnonDnon", - 0.30000001, - "AidlPercMstpSrasWrflDnon0S", - 0.0099999998, - "ActsPpneMstpWunaSnonDnon_sceneCrashSite_Cooper", - 0.1, - "AidlPercMstpSlowWrflDnon0S", - 0.0099999998, - "ActsPpneMstpWrflSlowDnon_sceneCrashSite_Ohara", - 0.1, - "ActsPpneMstpWrflSlowDnon_sceneCrashSite_Sykes", - 0.1, - "ActsPpneMstpWrflSlowDnon_sceneCrashSite_Rodriguez", - 0.1, - "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_1", - 0.1, - "ActsPercMstpSnonWnonDnon_talking01a", - 0.1, - "AidlPercSlowWrflDnon_talkCalm", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_Rodriguez1", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_Ohara1", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_sceneLopotevBandCaptured_Cooper", - 0.1, - "AidlPercSlowWrflDnon_talkHeated", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_sceneNikitinDisloyalty_Steve", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_sceneNikitinDisloyalty_Simms", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_sceneNikitinDisloyalty_Kostey", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_sceneNikitinDisloyalty_Adamson", - 0.0099999998, - "ActsPercMstpSgthWmagDnon_sceneNikitinDisloyalty_USflashbang1", - 10, - "ActsPercMstpSlowWpstDnon_sceneLopotevBandCaptured_Sykes", - 0.0099999998, - "ErcRflLow_sitRfl_L", - 0.0099999998, - "ErcRflLow_sitRfl_L2", - 0.0099999998, - "ErcRflLow_sitRfl_R", - 0.0099999998, - "ErcRflLow_sitTable", - 0.0099999998, - "ErcRflLow_sitRfl_L_CARGO", - 0.0099999998, - "CtsDoktor_Doktor_uder4", - 0.0099999998, - "CtsDoktor_Doktor_uder5", - 0.0099999998, - "CtsDoktor_Vojak_vyslechStand2unaerc_reverse", - 0.0099999998, - "otockaErcRflLow_180leva", - 0.0099999998, - "ctsLopoHover_cooper", - 0.0099999998, - "ctsLopoHover_ohara", - 0.0099999998, - "ctsLopoHover_rodriguez", - 0.0099999998, - "ctsLopoHover_sykes", - 0.0099999998, - "sitRfl_R_BidleLoopTest", - 0.0099999998, - "AmelPercMstpSlowWrflDnon_StrokeGun", - 0.02, - "ActsPercMstpSlowWrflDnon_listeningOrdersUnderFireShort", - 0.0099999998, - "AmovPercMstpSlowWrflDnon_ActsPercMstpSlowWrflDr_HideFromFire", - 0.0099999998, - "AsigPercMstpSlowWrflDnon_GoGo", - 0.0099999998, - "AsigPercMstpSlowWrflDnon_AmovPercMrunSlowWrflDnon_GoGo", - 0.0099999998, - "AsigPercMstpSlowWrflDnon_SendMenInAction", - 0.0099999998, - "AmovPercMstpSnonWnonDnon_zevl", - 0.0099999998, - "c4coming2cdf_genericstani", - 0.0099999998 - }; - InterpolateTo[]= - { - "AmovPercMstpSlowWrflDnon_turnL", - 0.02, - "AmovPercMstpSlowWrflDnon_turnR", - 0.02, - "AmovPercMwlkSlowWrflDf", - 0.02, - "AmovPercMwlkSlowWrflDfl", - 0.02, - "AmovPercMwlkSlowWrflDl", - 0.02, - "AmovPercMwlkSlowWrflDbl", - 0.02, - "AmovPercMwlkSlowWrflDb", - 0.02, - "AmovPercMwlkSlowWrflDbr", - 0.02, - "AmovPercMwlkSlowWrflDr", - 0.02, - "AmovPercMwlkSlowWrflDfr", - 0.02, - "AmovPercMrunSlowWrflDf", - 0.02, - "AmovPercMrunSlowWrflDfl", - 0.02, - "AmovPercMrunSlowWrflDl", - 0.02, - "AmovPercMrunSlowWrflDbl", - 0.02, - "AmovPercMrunSlowWrflDb", - 0.02, - "AmovPercMrunSlowWrflDbr", - 0.02, - "AmovPercMrunSlowWrflDr", - 0.02, - "AmovPercMrunSlowWrflDfr", - 0.02, - "AmovPercMevaSlowWrflDf", - 0.025, - "AmovPercMevaSlowWrflDfl", - 0.025, - "AmovPercMevaSlowWrflDfr", - 0.025, - "AmovPercMstpSlowWrflDnon_AmovPercMevaSrasWrflDl", - 0.02, - "AmovPercMstpSlowWrflDnon_AmovPercMevaSrasWrflDr", - 0.02, - "AmovPercMstpSlowWrflDnon_AmovPercMevaSrasWrflDb", - 0.02, - "AdthPercMstpSlowWrflDnon_1", - 0.0099999998, - "AdthPercMstpSlowWrflDnon_2", - 0.0099999998, - "AdthPercMstpSlowWrflDnon_4", - 0.0099999998, - "AdthPercMstpSlowWrflDnon_8", - 0.0099999998, - "AdthPercMstpSlowWrflDnon_rS0", - 0.0099999998, - "AwopPercMstpSgthWrflDnon_Start1", - 0.1, - "AwopPercMstpSgthWrflDnon_Throw1", - 0.1, - "AwopPercMstpSgthWrflDnon_End1", - 0.1, - "AwopPercMstpSgthWrflDnon_Throw2", - 0.1, - "AwopPercMstpSgthWrflDnon_End2", - 0.1, - "AidlPercMstpSlowWrflDnon01", - 0.02, - "AidlPercMstpSlowWrflDnon02", - 0.02, - "AidlPercMstpSlowWrflDnon03", - 0.02, - "AidlPercMstpSlowWrflDnon04", - 0.02, - "AidlPercMstpSlowWrflDnon_i01", - 0.02, - "AidlPercMstpSlowWrflDnon_i02", - 0.02, - "AidlPercMstpSlowWrflDnon_i03", - 0.02, - "AidlPercMstpSlowWrflDnon_i04", - 0.02, - "AidlPercMstpSlowWrflDnon_i05", - 0.02, - "AidlPercMstpSlowWrflDnon_i06", - 0.02, - "AidlPercMstpSlowWrflDnon_i07", - 0.02, - "AidlPercMstpSlowWrflDnon_i08", - 0.02, - "AidlPercMstpSlowWrflDnon_i09", - 0.02, - "AidlPercMstpSlowWrflDnon_i10", - 0.02, - "AidlPercMstpSlowWrflDnon_i11", - 0.02, - "AidlPercMstpSlowWrflDnon_i12", - 0.02, - "AidlPercMstpSlowWrflDnon_i13", - 0.02, - "AidlPercMstpSlowWrflDnon05", - 0.02, - "AidlPercMstpSlowWrflDnon06", - 0.02, - "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1", - 0.0099999998, - "AdthPercMstpSlowWrflDnon_16", - 0.0099999998, - "AdthPercMstpSlowWrflDnon_32", - 0.0099999998, - "ActsPercMstpSlowWrflDnon_talking_C3BeginBriefing", - 0.1, - "AidlPercSlowWrflDnon_talkListeningS", - 0.0099999998, - "AidlPercSnonWnonDnon_talkAS", - 0.0099999998 - }; - }; - class AmovPercMstpSrasWrflDnon: AmovPercMstpSlowWrflDnon - { - visibleSize=0.70012099; - actions="RifleStandActions"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Perc_Wrfl.p3d"; - showWeaponAim=1; - disableWeapons=0; - disableWeaponsLong=0; - aiming="aimingDefault"; - aimingBody="aimingUpDefault"; - relSpeedMax=1.1; - relSpeedMin=0.700001; - aimPrecision=1; - weaponIK=1; - canPullTrigger=1; - ConnectTo[]= - { - "AidlPercMstpSrasWrflDnon_aiming0S", - 0.02, - "AovrPercMstpSrasWrflDf", - 0.0099999998, - "AmovPercMwlkSrasWrflDnon_transition", - 0.02, - "AmovPercMstpSrasWrflDnon_turnL", - 0.02, - "AmovPercMstpSrasWrflDnon_turnR", - 0.02, - "WeaponMagazineReloadStand", - 0.1, - "amovpercmstpsraswrfldnon_amovpercmstpsraswlnrdnon", - 0.0099999998, - "AmovPercMstpSrasWrflDnon_AmovPknlMstpSrasWrflDnon", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPpneMstpSrasWrflDnon", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPercMstpSlowWrflDnon", - 0.0099999998, - "AmovPercMstpSrasWrflDnon_AmovPercMstpSrasWpstDnon", - 0.02, - "AmovPercMstpSrasWrflDnon_AwopPercMstpSoptWbinDnon", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPercMstpSnonWnonDnon", - 0.02, - "AwopPercMstpSgthWrflDnon_Start2", - 0.1, - "AswmPercMstpSnonWnonDnon", - 0.30000001, - "AmovPercMstpSrasWrflDnon_AinvPknlMstpSlayWrflDnon", - 0.02, - "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1", - 0.0099999998, - "ActsPercMstpSnonWpstDnon_sceneBardakRifle01", - 0.1, - "adthpercmstpsraswrfldnon_NikitinDead", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_zevl1", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_zevl2", - 0.0099999998, - "ActsPercMstpSrasWunaDnon_sceneLopotevBandCaptured_Bardak", - 10, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_Lopotev", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_Miles", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_Nameless", - 0.0099999998, - "ActsPercMstpSrasWrflDnon_sceneLopotevBandCaptured_Nikitin", - 0.0099999998 - }; - InterpolateTo[]= - { - "AmovPercMstpSrasWrflDnon_turnL", - 0.02, - "AmovPercMstpSrasWrflDnon_turnR", - 0.02, - "AmovPercMwlkSrasWrflDf", - 0.02, - "AmovPercMwlkSrasWrflDfl", - 0.02, - "AmovPercMwlkSrasWrflDl", - 0.02, - "AmovPercMwlkSrasWrflDbl", - 0.02, - "AmovPercMwlkSrasWrflDb", - 0.02, - "AmovPercMwlkSrasWrflDbr", - 0.02, - "AmovPercMwlkSrasWrflDr", - 0.02, - "AmovPercMwlkSrasWrflDfr", - 0.02, - "AmovPercMrunSrasWrflDf", - 0.02, - "AmovPercMrunSrasWrflDfl", - 0.02, - "AmovPercMrunSrasWrflDl", - 0.02, - "AmovPercMrunSrasWrflDbl", - 0.02, - "AmovPercMrunSrasWrflDb", - 0.02, - "AmovPercMrunSrasWrflDbr", - 0.02, - "AmovPercMrunSrasWrflDr", - 0.02, - "AmovPercMrunSrasWrflDfr", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPknlMstpSlowWrflDnon", - 0.02, - "AmovPercMevaSrasWrflDf", - 0.02, - "AmovPercMevaSrasWrflDfl", - 0.02, - "AmovPercMevaSrasWrflDfr", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPercMevaSrasWrflDl", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPercMevaSrasWrflDr", - 0.02, - "AmovPercMstpSrasWrflDnon_AmovPercMevaSrasWrflDb", - 0.02, - "AdthPercMstpSrasWrflDnon_1", - 0.0099999998, - "AdthPercMstpSrasWrflDnon_2", - 0.0099999998, - "AdthPercMstpSrasWrflDnon_4", - 0.0099999998, - "AdthPercMstpSrasWrflDnon_8", - 0.0099999998, - "AdthPercMstpSrasWrflDnon_rS0", - 0.0099999998, - "AidlPercMstpSrasWrflDnon0S", - 0.02, - "AidlPercMstpSrasWrflDnon", - 0.0099999998, - "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1", - 0.0099999998, - "AdthPercMstpSrasWrflDnon_16", - 0.0099999998, - "AdthPercMstpSrasWrflDnon_32", - 0.0099999998, - "adthpercmstpsraswrfldnon_NikitinDead", - 0.0099999998 - }; - }; - class AmovPpneMstpSrasWrflDnon: AmovPercMstpSrasWrflDnon - { - variantsAI[]={}; - actions="RifleProneActions"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Ppne.p3d"; - onLandBeg=1; - onLandEnd=1; - showWeaponAim=1; - disableWeapons=0; - visibleSize=0.100123; - aimPrecision=0.30000001; - aiming="aimingDefault"; - aimingBody="aimingUpDefault"; - leaning="leaningDefault"; - legs="legsDefault"; - leaningFactorBeg=0; - leaningFactorEnd=0; - limitGunMovement=1; - soundOverride="crawl"; - weaponIK=1; - headBobStrength=0.20398; - ConnectTo[]= - { - "AmovPpneMstpSrasWrflDnon_injured", - 0.1, - "AmovPpneMstpSrasWrflDnon_turnL", - 0.02, - "AmovPpneMstpSrasWrflDnon_turnR", - 0.02, - "WeaponMagazineReloadProne", - 0.1, - "AmovPpneMstpSrasWrflDnon_AmovPercMstpSrasWrflDnon", - 0.02, - "AmovPpneMstpSrasWrflDnon_AmovPknlMstpSrasWrflDnon", - 0.02, - "AmovPpneMstpSrasWrflDnon_AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMstpSrasWrflDnon_AwopPpneMstpSoptWbinDnon", - 0.02, - "AmovPpneMstpSrasWrflDnon_AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDl", - 0.02, - "AmovPpneMstpSrasWrflDnon_AmovPpneMevaSlowWrflDr", - 0.02, - "AwopPpneMstpSgthWrflDnon_Start", - 0.1, - "AwopPpneMstpSgthWrflDnon_End", - 0.1, - "AidlPpneMstpSrasWrflDnon0S", - 0.1, - "AidlPpneMstpSrasWrflDnon01", - 0.1, - "AidlPpneMstpSrasWrflDnon02", - 0.1, - "AidlPpneMstpSrasWrflDnon03", - 0.1, - "AmovPpneMstpSrasWrflDnon_healed", - 0.02 - }; - InterpolateTo[]= - { - "AmovPpneMstpSrasWrflDnon_turnL", - 0.02, - "AmovPpneMstpSrasWrflDnon_turnR", - 0.02, - "AmovPpneMrunSlowWrflDf", - 0.02, - "AmovPpneMrunSlowWrflDfl", - 0.02, - "AmovPpneMrunSlowWrflDl", - 0.02, - "AmovPpneMrunSlowWrflDbl", - 0.02, - "AmovPpneMrunSlowWrflDb", - 0.02, - "AmovPpneMrunSlowWrflDbr", - 0.02, - "AmovPpneMrunSlowWrflDr", - 0.02, - "AmovPpneMrunSlowWrflDfr", - 0.02, - "AmovPpneMsprSlowWrflDf", - 0.02, - "AmovPpneMsprSlowWrflDbl", - 0.02, - "AmovPpneMsprSlowWrflDl", - 0.02, - "AmovPpneMsprSlowWrflDr", - 0.02, - "AmovPpneMsprSlowWrflDbr", - 0.02, - "AmovPpneMsprSlowWrflDb", - 0.02, - "AmovPpneMsprSlowWrflDfl", - 0.02, - "AmovPpneMsprSlowWrflDfr", - 0.02, - "AmovPpneMstpSrasWrflDnon_AmovPercMsprSlowWrflDf", - 0.050000001, - "AdthPpneMstpSrasWrflDnon_1", - 0.0099999998, - "AdthPpneMstpSrasWrflDnon_2", - 0.0099999998, - "AidlPpneMstpSrasWrflDnon0S", - 0.02, - "AidlPpneMstpSrasWrflDnon01", - 0.02, - "AidlPpneMstpSrasWrflDnon02", - 0.02, - "AidlPpneMstpSrasWrflDnon03", - 0.02 - }; - }; - class AmovPpneMrunSlowWrflDf: AmovPpneMstpSrasWrflDnon - { - visibleSize=0.150123; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - soundOverride="crawl"; - duty=0.40000001; - showWeaponAim=0; - disableWeapons=1; - soundEnabled=1; - limitGunMovement=0; - legs="wholeBody"; - aiming="empty"; - aimingBody="empty"; - leaning="empty"; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - leftHandIKBeg=0; - leftHandIKCurve[]={}; - leftHandIKEnd=0; - actions="RifleProneActionsRunF"; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSrasWrflDnon", - 0.02, - "AmovPpneMrunSlowWrflDfl", - 0.025, - "AmovPpneMrunSlowWrflDfr", - 0.025, - "AmovPpneMsprSlowWrflDf", - 0.025, - "AmovPpneMstpSrasWrflDnon_AmovPercMsprSlowWrflDf", - 0.050000001, - "AdthPpneMstpSlowWrflDf_1", - 0.0099999998, - "AdthPpneMstpSlowWrflDf_2", - 0.0099999998 - }; - }; - class AmovPpneMstpSrasWrflDnon_turnL: AmovPpneMstpSrasWrflDnon - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - soundOverride="crawl"; - ConnectTo[]= - { - "AmovPpneMstpSrasWrflDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPpneMstpSrasWrflDnon", - 0.02 - }; - }; - class AmovPpneMstpSrasWrflDnon_turnR: AmovPpneMstpSrasWrflDnon - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - soundOverride="crawl"; - ConnectTo[]= - { - "AmovPpneMstpSrasWrflDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPpneMstpSrasWrflDnon", - 0.02 - }; - }; - class AmovPpneMstpSnonWnonDnon: AmovPercMstpSnonWnonDnon - { - actions="CivilProneActions"; - file="\nst\ns_anims\bloodsucker\forward.rtm"; - legs="Wholebody"; - onLandBeg=1; - onLandEnd=1; - collisionShape="ca\Anims\Characters\data\Geom\Sdr\Ppne.p3d"; - aimingBody="empty"; - disableWeapons=0; - soundOverride="crawl"; - canPullTrigger=0; - ConnectTo[]= - { - "AmovPpneMstpSnonWnonDnon_turnL", - 0.02, - "AmovPpneMstpSnonWnonDnon_turnR", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPercMstpSnonWnonDnon", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPknlMstpSnonWnonDnon", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPercMsprSnonWnonDf", - 0.050000001, - "AmovPpneMstpSnonWnonDnon_AmovPpneMstpSrasWrflDnon", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPpneMstpSrasWpstDnon", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPknlMstpSrasWlnrDnon", - 0.02, - "AmovPpneMstpSnonWnonDnon_AwopPpneMstpSoptWbinDnon", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPpneMevaSnonWnonDl", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPpneMevaSnonWnonDr", - 0.02, - "AmovPpneMstpSnonWnonDnon_AmovPsitMstpSnonWnonDnon_ground", - 0.1, - "AwopPpneMstpSgthWnonDnon_start", - 0.1, - "AidlPpneMstpSnonWnonDnon0S", - 0.1, - "AidlPpneMstpSnonWnonDnon01", - 0.1, - "AidlPpneMstpSnonWnonDnon02", - 0.1, - "AidlPpneMstpSnonWnonDnon03", - 0.1, - "AmovPpneMstpSnonWnonDnon_healed", - 0.02, - "AmovPpneMstpSnonWnonDnon_injured", - 0.1 - }; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon_turnL", - 0.02, - "AmovPpneMstpSnonWnonDnon_turnR", - 0.02, - "AmovPpneMrunSnonWnonDf", - 0.02, - "AmovPpneMrunSnonWnonDfl", - 0.02, - "AmovPpneMrunSnonWnonDl", - 0.02, - "AmovPpneMrunSnonWnonDbl", - 0.02, - "AmovPpneMrunSnonWnonDb", - 0.02, - "AmovPpneMrunSnonWnonDbr", - 0.02, - "AmovPpneMrunSnonWnonDr", - 0.02, - "AmovPpneMrunSnonWnonDfr", - 0.02, - "AdthPpneMstpSnonWnonDnon", - 0.0099999998 - }; - }; - class AmovPpneMrunSnonWnonDf: AmovPpneMstpSnonWnonDnon - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - soundOverride="crawl"; - leaningFactorBeg=0; - leaningFactorEnd=0; - soundEnabled=1; - legs="wholeBody"; - aimingBody="empty"; - leaning="empty"; - aiming="empty"; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDfl", - 0.025, - "AmovPpneMrunSnonWnonDfr", - 0.025, - "AmovPpneMstpSnonWnonDnon_AmovPercMsprSnonWnonDf", - 0.050000001 - }; - }; - class AmovPpneMstpSnonWnonDnon_turnL: AmovPpneMstpSnonWnonDnon - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - soundOverride="crawl"; - canPullTrigger=0; - ConnectTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02 - }; - }; - class AmovPpneMstpSnonWnonDnon_turnR: AmovPpneMstpSnonWnonDnon - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - soundOverride="crawl"; - canPullTrigger=0; - ConnectTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02 - }; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02 - }; - }; - class AmovPpneMrunSnonWnonDfl: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDf", - 0.025, - "AmovPpneMrunSnonWnonDl", - 0.025, - "AmovPpneMstpSnonWnonDnon_AmovPercMsprSnonWnonDf", - 0.050000001 - }; - }; - class AmovPpneMrunSnonWnonDl: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDfl", - 0.025, - "AmovPpneMrunSnonWnonDbl", - 0.025 - }; - }; - class AmovPpneMrunSnonWnonDbl: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDl", - 0.025, - "AmovPpneMrunSnonWnonDb", - 0.025 - }; - }; - class AmovPpneMrunSnonWnonDb: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDbl", - 0.025, - "AmovPpneMrunSnonWnonDbr", - 0.025 - }; - }; - class AmovPpneMrunSnonWnonDbr: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDb", - 0.025, - "AmovPpneMrunSnonWnonDr", - 0.025 - }; - }; - class AmovPpneMrunSnonWnonDr: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=0.5; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDbr", - 0.025, - "AmovPpneMrunSnonWnonDfr", - 0.025 - }; - }; - class AmovPpneMrunSnonWnonDfr: AmovPpneMrunSnonWnonDf - { - file="\nst\ns_anims\bloodsucker\forward.rtm"; - speed=1.05; - duty=0.40000001; - relSpeedMin=0.69717097; - relSpeedMax=1.096506; - soundOverride="crawl"; - soundEnabled=1; - canPullTrigger=0; - ConnectTo[]={}; - InterpolateTo[]= - { - "AmovPpneMstpSnonWnonDnon", - 0.02, - "AmovPpneMrunSnonWnonDf", - 0.025, - "AmovPpneMrunSnonWnonDr", - 0.025, - "AmovPpneMstpSnonWnonDnon_AmovPercMsprSnonWnonDf", - 0.050000001 - }; - }; - }; }; \ No newline at end of file diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf index 12ccb1af7..e7886717f 100644 --- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf +++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf @@ -135,7 +135,6 @@ if (Z_SellingFrom == 2) then { if (_type == "trade_weapons") then {_name = configFile >> "CfgWeapons" >> _name;}; if (_x select 0 == dayz_onBack) then { dayz_onBack = ""; // Remove from back - player setVariable ["dayz_onBack",dayz_onBack,true]; _localResult = 1; } else { _localResult = [player,_name,1] call BIS_fnc_invRemove; // Use config for BIS_fnc_invRemove diff --git a/SQF/dayz_code/actions/buryActions.sqf b/SQF/dayz_code/actions/buryActions.sqf deleted file mode 100644 index 26c465216..000000000 --- a/SQF/dayz_code/actions/buryActions.sqf +++ /dev/null @@ -1,85 +0,0 @@ -/* - Bury/Butcher body script by salival (https://github.com/oiad) -*/ -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -private ["_action","_backPackMag","_backPackWpn","_crate","_corpse","_cross","_gain","_isBury","_grave","_name","_playerNear","_backPack","_position","_sound","_notOnRoad"]; - -_corpse = (_this select 3) select 0; -if (isNull _corpse) exitWith {dayz_actionInProgress = false; systemChat localize "str_cursorTargetNotFound";}; - -_playerNear = {isPlayer _x} count (([_corpse] call FNC_GetPos) nearEntities ["CAManBase", 10]) > 1; -if (_playerNear) exitWith {dayz_actionInProgress = false; localize "str_pickup_limit_5" call dayz_rollingMessages;}; - -_action = (_this select 3) select 1; -_notOnRoad = false; // Restrict burying/butchering on roads? - -player removeAction s_player_bury_human; -s_player_bury_human = -1; -player removeAction s_player_butcher_human; -s_player_butcher_human = -1; - -_position = getPosATL _corpse; -_isBury = _action == "bury"; - -if (_notOnRoad && {isOnRoad _position}) exitWith {dayz_actionInProgress = false; format[localize "STR_CL_BA_ROAD",if (_isBury) then {localize "STR_CL_BA_BURY1"} else {"STR_CL_BA_BUTCHER1"}] call dayz_rollingMessages;}; - -_finished = ["Medic",1] call fn_loopAction; -if (!_finished) exitWith {dayz_actionInProgress = false;localize "str_epoch_player_26" call dayz_rollingMessages;}; - -_corpse setVariable["isBuried",true,true]; - -_backPack = typeOf (unitBackPack _corpse); - -_crate = createVehicle ["DZ_AmmoBoxSmallUS",_position,[],0,"CAN_COLLIDE"]; -_crate setPosATL [(_position select 0)+1,(_position select 1)+1.5,_position select 2]; -_crate setVariable ["permaLoot",true,true]; -_crate setVariable ["bury",true,true]; - -_grave = createVehicle ["Grave",_position,[],0,"CAN_COLLIDE"]; -_grave setPosATL [(_position select 0)+1,_position select 1,_position select 2]; -_grave setVariable ["bury",true,true]; - -if (_isBury) then { - _name = _corpse getVariable["bodyName","unknown"]; - _cross = createVehicle ["GraveCross1",_position,[],0,"CAN_COLLIDE"]; - _cross setPosATL [(_position select 0)+1,(_position select 1)-1.2,_position select 2]; - _cross setVariable ["bury",true,true]; -}; - -{_crate addWeaponCargoGlobal [_x,1]} forEach weapons _corpse; -{_crate addMagazineCargoGlobal [_x,1]} forEach magazines _corpse; - -if (_backPack != "") then { - _backPackWpn = getWeaponCargo unitBackpack _corpse; - _backPackMag = getMagazineCargo unitBackpack _corpse; - - if (count _backPackWpn > 0) then {{_crate addWeaponCargoGlobal [_x,(_backPackWpn select 1) select _forEachIndex]} forEach (_backPackWpn select 0);}; - if (count _backPackMag > 0) then {{_crate addMagazineCargoGlobal [_x,(_backPackMag select 1) select _forEachIndex]} forEach (_backPackMag select 0);}; - - _crate addBackpackCargoGlobal [_backPack,1]; -}; - -_sound = _corpse getVariable ["sched_co_fliesSource",nil]; -if (!isNil "_sound") then { - detach _sound; - deleteVehicle _sound; -}; - -deleteVehicle _corpse; - -if (_isBury) then { - if (_name != "unknown") then { - format[localize "STR_CL_BA_RIP",_name] call dayz_rollingMessages; - } else { - localize "STR_CL_BA_RIP_UNKNOWN" call dayz_rollingMessages; - }; -} else { - ["knives",0.2] call fn_dynamicTool; -}; - -_gain = if (_isBury) then {DZE_Bury_Body_Value} else {DZE_Butcher_Body_Value}; -_gain call player_humanityChange; - -dayz_actionInProgress = false; diff --git a/SQF/dayz_code/actions/garageDoorOpener.sqf b/SQF/dayz_code/actions/garageDoorOpener.sqf deleted file mode 100644 index 7eef6173e..000000000 --- a/SQF/dayz_code/actions/garageDoorOpener.sqf +++ /dev/null @@ -1,70 +0,0 @@ -/* - Garage door opener script by salival (https://github.com/oiad) -*/ - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -private ["_door","_typeof","_state"]; - -_door = _this select 3; -_typeof = typeof _door; -_state = 5; - -if (isNull _door) exitWith {dayz_actionInProgress = false; systemChat localize "str_cursorTargetNotFound";}; - -{DZE_myVehicle removeAction _x} count s_player_gdoor_opener;s_player_gdoor_opener = []; -s_player_gdoor_opener_ctrl = 1; - -call { - if (_typeof in ["WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ"]) exitwith { - if (_door animationPhase "DoorR" == 0) then { - systemChat localize "STR_CL_GDO_DOOR_OPEN"; - _door animate ["DoorR",1]; - _door animate ["DoorL",1]; - } else { - systemChat localize "STR_CL_GDO_DOOR_CLOSE"; - _door animate ["DoorR",0]; - _door animate ["DoorL",0]; - _state = 4; - }; - }; - if (_typeof in ["CinderGarageOpenTopLocked_DZ","Land_DZE_WoodOpenTopGarageLocked"]) exitwith { - if (_door animationPhase "doorl" == 0) then { - systemChat localize "STR_CL_GDO_DOOR_OPEN"; - _door animate ["doorR",1]; - _door animate ["doorl",1]; - } else { - systemChat localize "STR_CL_GDO_DOOR_CLOSE"; - _door animate ["doorR",0]; - _door animate ["doorl",0]; - _state = 4; - }; - }; - if (_typeof in ["CinderGateLocked_DZ","Land_DZE_WoodGateLocked"]) exitwith { - if (_door animationPhase "Open_door" == 0) then { - systemChat localize "STR_CL_GDO_DOOR_OPEN"; - _door animate ["Open_door",1]; - _door animate ["Open_doorR",1]; - } else { - systemChat localize "STR_CL_GDO_DOOR_CLOSE"; - _door animate ["Open_door",0]; - _door animate ["Open_doorR",0]; - _state = 4; - }; - }; - if (_door animationPhase "Open_door" == 0) then { - systemChat localize "STR_CL_GDO_DOOR_OPEN"; - _door animate ["Open_door",1]; - } else { - systemChat localize "STR_CL_GDO_DOOR_CLOSE"; - _door animate ["Open_door",0]; - _state = 4; - }; -}; - -PVDZE_handleSafeGear = [player,_door,_state,"DoorOpener"]; -publicVariableServer "PVDZE_handleSafeGear"; - -s_player_gdoor_opener_ctrl = -1; -dayz_actionInProgress = false; \ No newline at end of file diff --git a/SQF/dayz_code/actions/gather_meat.sqf b/SQF/dayz_code/actions/gather_meat.sqf index c77bf8ee7..1826fb5af 100644 --- a/SQF/dayz_code/actions/gather_meat.sqf +++ b/SQF/dayz_code/actions/gather_meat.sqf @@ -1,27 +1,27 @@ +private ["_item","_type","_hasHarvested","_knifeArray","_PlayerNear","_isListed","_activeKnife","_text","_qty","_string","_isZombie","_humanity","_finished"]; + if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; dayz_actionInProgress = true; -local _body = _this; -if (isNull _body) exitWith {dayz_actionInProgress = false; systemChat localize "str_cursorTargetNotFound";}; -if (_body getVariable["meatHarvested",false]) exitWith {dayz_actionInProgress = false;}; // Exit the script if the meat has already been harvested. -if ({isPlayer _x} count ((getPosATL _body) nearEntities ["CAManBase", 12]) > 1) exitWith {dayz_actionInProgress = false;localize "str_pickup_limit_5" call dayz_rollingMessages;}; // Exit the script if another player is near to prevent duping. +_item = _this; +_type = typeOf _item; +_isZombie = _type isKindOf "zZombie_base"; +_hasHarvested = _item getVariable["meatHarvested",false]; -local _type = typeOf _body; -local _isZombie = _type isKindOf "zZombie_base"; -local _isMutant = _type == "z_bloodsucker"; -local _knives = []; -local _string = ""; +_knifeArray = []; -// Count how many knives the player has +_PlayerNear = {isPlayer _x} count ((getPosATL _item) nearEntities ["CAManBase", 12]) > 1; +if (_PlayerNear) exitWith {localize "str_pickup_limit_5" call dayz_rollingMessages; dayz_actionInProgress = false;}; + +//Count how many active tools the player has { - if (_x in items player) then { - _knives set [count _knives, _x]; + if (_x IN items player) then { + _knifeArray set [count _knifeArray, _x]; }; } count Dayz_Gutting; -// Exit the script if the player doesn't have a knife -if ((count _knives) < 1) exitWith { - if (_isZombie || _isMutant) then { +if ((count _knifeArray) < 1) exitWith { + if (_isZombie) then { format[localize "str_missing_to_do_this",localize "STR_EQUIP_NAME_4"] call dayz_rollingMessages; } else { localize "str_cannotgut" call dayz_rollingMessages; @@ -29,48 +29,48 @@ if ((count _knives) < 1) exitWith { dayz_actionInProgress = false; }; -[player,(getPosATL player),10,"gut"] spawn fnc_alertZombies; +if ((count _knifeArray > 0) and !_hasHarvested) then { + //Use sharpest knife player has + _activeKnife = _knifeArray select 0; -local _finished = ["Medic",1] call fn_loopAction; -if (!_finished) exitWith {dayz_actionInProgress = false;}; + //Get Animal Type + _isListed = isClass (configFile >> "CfgSurvival" >> "Meat" >> _type); + _text = getText (configFile >> "CfgVehicles" >> _type >> "displayName"); -// Added Nutrition-Factor for work -["Working",0,[20,40,15,0]] call dayz_NutritionSystem; + [player,(getPosATL player),10,"gut"] spawn fnc_alertZombies; -//Get Animal Type -local _isListed = isClass (configFile >> "CfgSurvival" >> "Meat" >> _type); -local _text = getText (configFile >> "CfgVehicles" >> _type >> "displayName"); + _finished = ["Medic",1] call fn_loopAction; + if (!_finished) exitWith {}; -_body setVariable ["meatHarvested",true,true]; -local _qty = if (_isListed) then {getNumber (configFile >> "CfgSurvival" >> "Meat" >> _type >> "yield")} else {2}; -if ((_knives select 0) == "ItemKnifeBlunt") then {_qty = round(_qty / 2);}; + // Added Nutrition-Factor for work + ["Working",0,[20,40,15,0]] call dayz_NutritionSystem; -if (local _body) then { - [_body,_qty] spawn local_gutObject; //leave as spawn (sleeping in loops will work but can freeze the script) -} else { - PVCDZ_obj_GutBody =[_body,_qty]; - publicVariable "PVCDZ_obj_GutBody"; -}; + _item setVariable ["meatHarvested",true,true]; -["knives",0.2] call fn_dynamicTool; + _qty = if (_isListed) then {getNumber (configFile >> "CfgSurvival" >> "Meat" >> _type >> "yield")} else {2}; + if (_activeKnife == "ItemKnifeBlunt") then { _qty = round(_qty / 2); }; -call { - if (_isZombie) exitWith { + if (local _item) then { + [_item,_qty] spawn local_gutObject; //leave as spawn (sleeping in loops will work but can freeze the script) + } else { + PVCDZ_obj_GutBody =[_item,_qty]; + publicVariable "PVCDZ_obj_GutBody"; + }; + + ["knives",0.2] call fn_dynamicTool; + + if (_isZombie) then { // Reduce humanity for gutting zeds - local _humanity = player getVariable ["humanity",0]; - player setVariable ["humanity",(_humanity - 10),true]; + _humanity = player getVariable ["humanity",0]; + _humanity = _humanity - 10; + player setVariable ["humanity",_humanity,true]; _string = format[localize "str_success_gutted_zombie",_text]; //%1 has been gutted, zombie parts are now on the carcass + } else { + _string = format[localize "str_success_gutted_animal",_text,_qty]; }; - - if (_isMutant) exitWith { - _string = format[localize "str_success_gutted_mutant",_text]; - }; - - _string = format[localize "str_success_gutted_animal",_text,_qty]; // default is gut animal + closeDialog 0; + uiSleep 0.02; + _string call dayz_rollingMessages; }; -closeDialog 0; -uiSleep 0.02; -_string call dayz_rollingMessages; - -dayz_actionInProgress = false; \ No newline at end of file +dayz_actionInProgress = false; diff --git a/SQF/dayz_code/actions/locateVehicle.sqf b/SQF/dayz_code/actions/locateVehicle.sqf deleted file mode 100644 index c689aa43d..000000000 --- a/SQF/dayz_code/actions/locateVehicle.sqf +++ /dev/null @@ -1,57 +0,0 @@ -/* - locateVehicle by salival (https://github.com/oiad) -*/ - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -private ["_characterID","_found","_i","_keyID","_keyIDS","_keyList","_keyName","_keyNames","_locateMarkerDelete","_locateMarkerTime","_marker","_name","_position","_vehicle"]; - -_keyList = call epoch_tempKeys; -_keyIDS = _keyList select 0; -_keyNames = _keyList select 1; - -_locateMarkerDelete = true; // Delete markers after a certain amount of time to avoid cluttering the map? -_locateMarkerTime = 60; // Time in seconds before markers are deleted if enabled above. - -_i = 0; -for "_i" from 0 to 60 do {deleteMarkerLocal ("vehicleMarker"+ (str _i));}; - -if (count _keyIDS < 1) exitWith {dayz_actionInProgress = false; systemChat localize "STR_CL_LV_NO_KEYS";}; - -_i = 0; -{ - _keyID = parseNumber (_keyIDS select _forEachIndex); - _keyName = _keyNames select _forEachIndex; - _found = 0; - { - _vehicle = typeOf _x; - _characterID = parseNumber (_x getVariable ["CharacterID","0"]); - if ((_characterID == _keyID) && {_vehicle isKindOf "Air" || {_vehicle isKindOf "LandVehicle"} || {_vehicle isKindOf "Ship"}}) then { - _found = _found +1; - _i = _i +1; - _position = getPos _x; - _name = getText (configFile >> "CfgVehicles" >> _vehicle >> "displayName"); - _marker = createMarkerLocal ["vehicleMarker" + (str _i),[_position select 0,_position select 1]]; - _marker setMarkerShapeLocal "ICON"; - _marker setMarkerTypeLocal "DOT"; - _marker setMarkerColorLocal "ColorOrange"; - _marker setMarkerSizeLocal [1.0, 1.0]; - _marker setMarkerTextLocal format ["%1",_name]; - systemChat format[localize "STR_CL_LV_BELONGS",_keyName,_name,if (!alive _x) then {toLower (format [" (%1)",localize "str_artdlg_destroyed"])} else {""}]; - }; - } forEach vehicles; - if (_found == 0) then {systemChat format[localize "STR_CL_LV_NO_VEHICLES",_keyName]}; -} forEach _keyIDS; - -if (_i > 0) then { - systemChat format[localize "STR_CL_LV_FOUND",_i]; - if (_locateMarkerDelete) then { - _locateMarkerTime spawn { - uiSleep _this; - for "_i" from 0 to 60 do {deleteMarkerLocal ("vehicleMarker"+ (str _i));}; - }; - }; -}; - -dayz_actionInProgress = false; diff --git a/SQF/dayz_code/actions/player_addToolbelt.sqf b/SQF/dayz_code/actions/player_addToolbelt.sqf index 56f8bde78..f2c494997 100644 --- a/SQF/dayz_code/actions/player_addToolbelt.sqf +++ b/SQF/dayz_code/actions/player_addToolbelt.sqf @@ -38,7 +38,6 @@ call gear_ui_init; if (_item == dayz_onBack && carryClick) then { dayz_onBack = ""; - player setVariable ["dayz_onBack",dayz_onBack,true]; carryClick = false; ((findDisplay 106) displayCtrl 1209) ctrlSetText ""; _removed = true; diff --git a/SQF/dayz_code/actions/player_addtoBack.sqf b/SQF/dayz_code/actions/player_addtoBack.sqf index fd63584f6..066288672 100644 --- a/SQF/dayz_code/actions/player_addtoBack.sqf +++ b/SQF/dayz_code/actions/player_addtoBack.sqf @@ -17,12 +17,13 @@ call gear_ui_init; if (_item in ["ItemHatchet","ItemCrowbar","ItemMachete","ItemFishingPole","ItemSledge"]) then { //free primary slot for new melee (remember item to add after) call { - if (_item == "ItemHatchet") exitwith {player removeWeapon "ItemHatchet"; dayz_onBack = "MeleeHatchet";player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (_item == "ItemCrowbar") exitwith {player removeWeapon "ItemCrowbar"; dayz_onBack = "MeleeCrowbar";player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (_item == "ItemMachete") exitwith {player removeWeapon "ItemMachete"; dayz_onBack = "MeleeMachete";player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (_item == "ItemFishingPole") exitwith {player removeWeapon "ItemFishingPole"; dayz_onBack = "MeleeFishingPole";player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (_item == "ItemSledge") exitwith {player removeWeapon "ItemSledge"; dayz_onBack = "MeleeSledge";player setVariable ["dayz_onBack",dayz_onBack,true];}; + if (_item == "ItemHatchet") exitwith {player removeWeapon "ItemHatchet"; dayz_onBack = "MeleeHatchet";}; + if (_item == "ItemCrowbar") exitwith {player removeWeapon "ItemCrowbar"; dayz_onBack = "MeleeCrowbar";}; + if (_item == "ItemMachete") exitwith {player removeWeapon "ItemMachete"; dayz_onBack = "MeleeMachete";}; + if (_item == "ItemFishingPole") exitwith {player removeWeapon "ItemFishingPole"; dayz_onBack = "MeleeFishingPole";}; + if (_item == "ItemSledge") exitwith {player removeWeapon "ItemSledge"; dayz_onBack = "MeleeSledge";}; }; disableSerialization; [[(findDisplay 106)],"onLBSelChanged"] spawn fn_handleGear; //update back + }; diff --git a/SQF/dayz_code/actions/player_dropWeapon.sqf b/SQF/dayz_code/actions/player_dropWeapon.sqf index cf06b28e8..61f7256ef 100644 --- a/SQF/dayz_code/actions/player_dropWeapon.sqf +++ b/SQF/dayz_code/actions/player_dropWeapon.sqf @@ -1,6 +1,3 @@ -if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; -dayz_actionInProgress = true; - private ["_item","_config","_onLadder","_consume","_bag","_droppedType"]; disableSerialization; @@ -11,22 +8,23 @@ _droppedType = getText (_config >> "droppeditem"); //Make sure the player still has the tool this script was spawned with if ((dayz_onBack != _item && carryClick) or (!(player hasWeapon _item) && !carryClick)) exitWith { format[localize "str_player_30",getText (_config >> "displayName")] call dayz_rollingMessages; - dayz_actionInProgress = false; }; _onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; -if (_onLadder) exitWith {dayz_actionInProgress = false; localize "str_player_21" call dayz_rollingMessages; }; +if (_onLadder) exitWith { localize "str_player_21" call dayz_rollingMessages; }; +if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; +dayz_actionInProgress = true; call gear_ui_init; _consume = ([] + getArray (_config >> "magazines")) select 0; if (_item == dayz_onBack && carryClick) then { - call { - if (dayZ_onBack == "MeleeHatchet") exitWith {_item = "ItemHatchet"; dayz_onBack = ""; player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (dayZ_onBack == "MeleeCrowbar") exitWith {_item = "ItemCrowbar"; dayz_onBack = "";player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (dayZ_onBack == "MeleeMachete") exitWith {_item = "ItemMachete"; dayz_onBack = "";player setVariable ["dayz_onBack",dayz_onBack,true];}; - if (dayZ_onBack == "MeleeSledge") exitWith {_item = "ItemSledge"; dayz_onBack = "";player setVariable ["dayz_onBack",dayz_onBack,true];}; + switch DayZ_onBack do { + case "MeleeHatchet": {_item = "ItemHatchet"; dayz_onBack = "";}; + case "MeleeCrowbar": {_item = "ItemCrowbar"; dayz_onBack = "";}; + case "MeleeMachete": {_item = "ItemMachete"; dayz_onBack = "";}; + case "MeleeSledge": {_item = "ItemSledge"; dayz_onBack = "";}; }; carryClick = false; ((findDisplay 106) displayCtrl 1209) ctrlSetText ""; diff --git a/SQF/dayz_code/actions/player_goFishing.sqf b/SQF/dayz_code/actions/player_goFishing.sqf index 1eb20ba55..b22ed64d4 100644 --- a/SQF/dayz_code/actions/player_goFishing.sqf +++ b/SQF/dayz_code/actions/player_goFishing.sqf @@ -110,7 +110,7 @@ while {_isOk} do { } else { call gear_ui_init; //Remove melee magazines (BIS_fnc_invAdd fix) - false call dz_fn_meleeMagazines; + {player removeMagazines _x} forEach MeleeMagazines; _result = [player,_itemOut] call BIS_fnc_invAdd; if (_result) then { //Let the player know what he caught diff --git a/SQF/dayz_code/actions/player_mineStone.sqf b/SQF/dayz_code/actions/player_mineStone.sqf index 99037d17a..8d842bf7b 100644 --- a/SQF/dayz_code/actions/player_mineStone.sqf +++ b/SQF/dayz_code/actions/player_mineStone.sqf @@ -1,12 +1,12 @@ -if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; -dayz_actionInProgress = true; - private ["_mineChance","_breaking","_counter","_rocks","_findNearestRock","_objName","_countOut","_isOk","_proceed","_finished","_itemOut","_weapons"]; _item = _this; call gear_ui_init; closeDialog 1; +if (dayz_actionInProgress) exitWith { localize "str_player_actionslimit" call dayz_rollingMessages; }; +dayz_actionInProgress = true; + // allowed rocks list move this later _rocks = ["r2_boulder1.p3d","r2_boulder2.p3d","r2_rock1.p3d","r2_rock2.p3d","r2_rocktower.p3d","r2_rockwall.p3d","r2_stone.p3d"]; _findNearestRock = objNull; @@ -37,7 +37,7 @@ if (!isNull _findNearestRock) then { _weapons set [count _weapons,dayz_onBack]; //Make sure player did not drop pickaxe - if (!_finished || !("ItemPickaxe" in _weapons)) exitWith { + if (!_finished or !("MeleePickaxe" in _weapons or ("ItemPickaxe" in _weapons))) exitWith { _isOk = false; _proceed = false; }; @@ -48,9 +48,18 @@ if (!isNull _findNearestRock) then { _breaking = false; if (dayz_toolBreaking && _mineChance) then { _breaking = true; - if ("ItemPickaxe" in weapons player) then { - player removeWeapon "ItemPickaxe"; - }; + if ("MeleePickaxe" in weapons player) then { + player removeWeapon "MeleePickaxe"; + } else { + if ("ItemPickaxe" in weapons player) then { + player removeWeapon "ItemPickaxe"; + } else { + if (dayz_onBack == "MeleePickaxe") then { + dayz_onBack = ""; + if (!isNull findDisplay 106) then {findDisplay 106 displayCtrl 1209 ctrlSetText "";}; + }; + }; + }; if (!("ItemPickaxeBroken" in weapons player)) then { player addWeapon "ItemPickaxeBroken"; }; diff --git a/SQF/dayz_code/actions/player_surrender.sqf b/SQF/dayz_code/actions/player_surrender.sqf index d6eae7fd7..2ef9fa5e4 100644 --- a/SQF/dayz_code/actions/player_surrender.sqf +++ b/SQF/dayz_code/actions/player_surrender.sqf @@ -32,7 +32,6 @@ if (_canDo && !DZE_Surrender && !(player isKindOf "PZombie_VB")) then { if (dayz_onBack != "") then { [dayz_onBack,2,1] call fn_dropItem; dayz_onBack = ""; // Remove from back - player setVariable ["dayz_onBack",dayz_onBack,true]; if (!isNull findDisplay 106) then {findDisplay 106 displayCtrl 1209 ctrlSetText "";}; }; call player_forceSave; diff --git a/SQF/dayz_code/actions/player_switchWeapon.sqf b/SQF/dayz_code/actions/player_switchWeapon.sqf index f79efe88e..83abe06bf 100644 --- a/SQF/dayz_code/actions/player_switchWeapon.sqf +++ b/SQF/dayz_code/actions/player_switchWeapon.sqf @@ -151,8 +151,6 @@ dz_fn_switchWeapon_swap = { dayz_onBack = [primaryWeapon player,player removeWeapon primaryWeapon player,player addWeapon dayz_onBack] select 0; }; - player setVariable ["dayz_onBack",dayz_onBack,true]; - if (_this) then { player selectWeapon primaryWeapon player; if (IS_MELEE(primaryWeapon player)) then { diff --git a/SQF/dayz_code/actions/remoteVehicle/remoteVehicle.sqf b/SQF/dayz_code/actions/remoteVehicle/remoteVehicle.sqf deleted file mode 100644 index 8b51bf3ae..000000000 --- a/SQF/dayz_code/actions/remoteVehicle/remoteVehicle.sqf +++ /dev/null @@ -1,152 +0,0 @@ -/* - Remote vehicle script by salival (https://github.com/oiad) -*/ - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -private ["_characterID","_checkDistance","_display","_distance","_fuel","_group","_vehicleFound","_keyID","_keyName","_option","_time","_vehicle","_vehicleType","_index","_control","_keyDisplay","_exit"]; - -_keyName = _this select 0; -_option = _this select 1; - -_checkDistance = true; // Check to see if the player is too far away from the remote -_distance = 300; // Maximum distance the player can be away from the vehicle to be able to use the remote. - -disableSerialization; - -_exit = { - dayz_actionInProgress = false; - rv_vehicleList = nil; - rv_selected = nil; -}; - -_display = findDisplay 106; -_display closeDisplay 0; - -_keyList = call epoch_tempKeys; -_keyID = 0; - -_keyID = (_keyList select 0) select ((_keyList select 2) find _keyName); -_foundPos = (_keyList select 0) find _keyID; - -if (_foundPos >= 0) then { - _keyDisplay = (_keyList select 1) select _foundPos; -}; - -if (_foundPos == -1) exitWith {systemChat localize "STR_CL_RV_NO_KEYS"; call _exit;}; - -rv_vehicleList = []; -_vehicleFound = false; -{ - _vehicleType = typeOf _x; - _characterID = _x getVariable ["CharacterID","0"]; - if ((_characterID == _keyID) && {_vehicleType isKindOf "Air" || _vehicleType isKindOf "LandVehicle" || _vehicleType isKindOf "Ship"}) then { - _vehicleFound = true; - rv_vehicleList set [count rv_vehicleList,_x]; - }; -} count vehicles; - -if (count rv_vehicleList > 1) then { - rv_isOk = false; - - createDialog "remoteVehicle"; - - _display = uiNamespace getVariable["rv_dialog", displayNull]; - _display displayCtrl 8801 ctrlSetText(format[localize "STR_CL_RV_TITLE",_keyDisplay]); - - _control = ((findDisplay 8800) displayCtrl 8802); - lbClear _control; - { - _control lbAdd getText(configFile >> "CfgVehicles" >> typeOf _x >> "displayName"); - if (!isNull DZE_myVehicle && {local DZE_myVehicle} && {alive DZE_myVehicle} && {DZE_myVehicle == _x}) then { - _control lbSetColor [(lbSize _control)-1,[0, 1, 0, 1]]; - }; - } count rv_vehicleList; - _control lbSetCurSel 0; - - waitUntil {!dialog}; - -} else { - rv_selected = rv_vehicleList select 0; - rv_isOk = true; -}; - -if (!rv_isOk) exitWith {call _exit;}; - -if (!_vehicleFound) exitWith {systemChat localize "STR_CL_RV_NO_VEHICLES"; call _exit;}; - -_vehicleType = typeOf rv_selected; -_displayName = getText(configFile >> "CfgVehicles" >> _vehicleType >> "displayName"); - -if (!alive rv_selected) exitWith {systemChat localize "STR_CL_RV_DESTROYED"; call _exit;}; -if (_checkDistance && {(player distance rv_selected) >= _distance}) exitWith {format[localize "STR_CL_RV_RANGE_FAIL",_displayName] call dayz_rollingMessages; call _exit;}; - -if (_option == 1) then { - _group = units group player; - - systemChat format[localize "STR_CL_RV_EJECT",_displayName]; - { - if !(_x in _group) then { - _x action ["eject",rv_selected]; - systemChat format[localize "STR_CL_RV_EJECT_PLAYER",name _x]; - }; - } forEach (crew rv_selected); -}; - -if (_option == 2) then { - systemChat format[localize "STR_CL_RV_ENGINE",if (isEngineOn rv_selected) then {localize "strwfoff"} else {localize "strwfon"},_displayName]; - if (isEngineOn rv_selected) then { - if (rv_selected isKindOf "Helicopter") then { // This is needed because dayz_engineSwitch won't turn off the engine for a helicopter. - _fuel = fuel rv_selected; - rv_selected setFuel 0; - player action ["engineOff",rv_selected]; - uiSleep 4.5; - rv_selected setFuel _fuel; - } else { - [rv_selected,false] call dayz_engineSwitch; - }; - } else { - [rv_selected,true] call dayz_engineSwitch; - }; -}; - -if (_option == 3) then { - systemChat format[localize "STR_BLD_UNLOCKED",_displayName]; - PVDZE_veh_Lock = [rv_selected,false]; - _time = diag_tickTime; - - if (local rv_selected) then { - PVDZE_veh_Lock call local_lockUnlock; - } else { - publicVariable "PVDZE_veh_Lock"; - waitUntil {uiSleep 0.1;(!locked rv_selected or (diag_tickTime - _time > 4))}; - }; -}; - -if (_option == 4) then { - systemChat format[localize "STR_EPOCH_PLAYER_117",_displayName]; - PVDZE_veh_Lock = [rv_selected,true]; - _time = diag_tickTime; - - if (local rv_selected) then { - PVDZE_veh_Lock call local_lockUnlock; - } else { - publicVariable "PVDZE_veh_Lock"; - waitUntil {uiSleep 0.1;(locked rv_selected or (diag_tickTime - _time > 4))}; - }; -}; - -if (_option == 5) then { - if !(rv_selected getVariable["vehicleLights",false]) then { - player action ["lightOn", rv_selected]; - systemChat format[localize "STR_CL_RV_LIGHTS",localize "strwfon",_vehicleType]; - rv_selected setVariable ["vehicleLights",true,true]; - } else { - player action ["lightOff", rv_selected]; - systemChat format[localize "STR_CL_RV_LIGHTS",localize "strwfoff",_vehicleType]; - rv_selected setVariable ["vehicleLights",false,true]; - }; -}; - -call _exit; \ No newline at end of file diff --git a/SQF/dayz_code/actions/remoteVehicle/vehicleInfo.sqf b/SQF/dayz_code/actions/remoteVehicle/vehicleInfo.sqf deleted file mode 100644 index 8fc6a2390..000000000 --- a/SQF/dayz_code/actions/remoteVehicle/vehicleInfo.sqf +++ /dev/null @@ -1,54 +0,0 @@ -private ["_backPackCount","_backPackCount_raw","_backPackSlots","_formattedText","_gearCount","_magazineCount","_magazineCount_raw","_magazineSlots","_name","_picture","_price","_text","_typeOf","_weaponSlots","_weaponsCount","_weaponsCount_raw","_control","_index"]; - -_gearCount = { - private ["_counter"]; - _counter = 0; - {_counter = _counter + _x;} count _this; - _counter -}; - -_control = (_this select 0) select 0; -_index = (_this select 0) select 1; - -rv_selected = rv_vehicleList select _index; -_typeOf = typeOf rv_selected; - -_weaponsCount_raw = getWeaponCargo rv_selected; -_magazineCount_raw = getMagazineCargo rv_selected; -_backPackCount_raw = getBackpackCargo rv_selected; - -_weaponSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportMaxWeapons"); -_magazineSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportMaxMagazines"); -_backPackSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportmaxbackpacks"); -_name = getText(configFile >> "CfgVehicles" >> _typeOf >> "displayName"); -_picture = getText(configFile >> 'CfgVehicles' >> _typeOf >> 'picture'); - -_weaponsCount = (_weaponsCount_raw select 1) call _gearCount; -_magazineCount = (_magazineCount_raw select 1) call _gearCount; -_backPackCount = (_backPackCount_raw select 1) call _gearCount; - -_formattedText = format [ - "
" + - "%2: %3
" + - "%4: %5
" + - "%6: %13/%10 %14/%11 %15/%12
", - _picture, - localize "STR_EPOCH_NAME", - _name, - localize "STR_EPOCH_CLASS", - _typeOf, - localize "STR_EPOCH_CARGO_SPACE", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_weapons_white.paa", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_items_white.paa", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_backPacks_white.paa", - _weaponSlots, - _magazineSlots, - _backPackSlots, - _weaponsCount, - _magazineCount, - _backPackCount, - _text -]; - -((findDisplay 8800) displayCtrl 8803) ctrlSetStructuredText parseText _formattedText; -ctrlShow [8803,true]; \ No newline at end of file diff --git a/SQF/dayz_code/actions/remove.sqf b/SQF/dayz_code/actions/remove.sqf index 9894537ba..bf35db7f3 100644 --- a/SQF/dayz_code/actions/remove.sqf +++ b/SQF/dayz_code/actions/remove.sqf @@ -137,7 +137,6 @@ if (_brokenTool) then { } else { if (dayz_onBack == "MeleeCrowbar") then { dayz_onBack = ""; // Remove - player setVariable ["dayz_onBack",dayz_onBack,true]; _success = true; if (!isNull (findDisplay 106)) then {((findDisplay 106) displayCtrl 1209) ctrlSetText "";}; }; diff --git a/SQF/dayz_code/actions/servicePoints/init.sqf b/SQF/dayz_code/actions/servicePoints/init.sqf deleted file mode 100644 index 09aefd287..000000000 --- a/SQF/dayz_code/actions/servicePoints/init.sqf +++ /dev/null @@ -1,176 +0,0 @@ -/* - Vehicle Service Point by Axe Cop - Rewritten for single currency, gems, briefcase support and 1.0.7 epoch compatibility by salival - https://github.com/oiad/ - - Requires DayZ Epoch 1.0.7 - - This version adds support for both single currency and gems (from the epoch 1.0.7 update) as well as the original epoch briefcase currency system. - Instead of pricing things like the original way, prices are now done on a "worth" similar to how coins are done. The price value of items are below. - - 1 silver = 1 worth - 1 10oz silver = 10 worth - 1 gold = 100 worth - 1 10oz gold = 1,000 worth - 1 briefcase = 10,000 worth - - Please see dayz_code\configVariables.sqf for the value of gems (DZE_GemWorthArray) and their relevant worth if they are enabled. - - Example config settings for DZE_SP_Refuel_Costs, DZE_SP_Repair_Costs and DZE_SP_Rearm_Costs: - - All 3 sections can either be made free, disabled or a specifc price with the following examples: - - ["Air",localize "strwffree"] will make the vehicle config class of "Air" free for the specific action. - ["Air",localize "str_temp_param_disabled"] will make the vehicle config class of "Air" disabled for the specific action. - ["Air",2000] will make the vehicle config class of "Air" have a worth of 2000 for the specific action. - ["Armored_SUV_PMC",2000] will make the specific vehicle have a worth of 2000 for the specific action. - ["Armored_SUV_PMC",localize "strwffree"] will make the specific vehicle be free for the specific action. - ["Armored_SUV_PMC",localize "str_temp_param_disabled"] will make the specific vehicle be disabled for the specific action. - - Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" -*/ - -private ["_folder","_actionTitleFormat","_actionCostsFormat","_message","_messageShown","_lastVehicle","_lastRole","_fnc_removeActions","_fnc_getCostsWep","_fnc_getCostsWep","_fnc_actionTitle","_fnc_isArmed","_fnc_getWeapons","_cycleTime","_servicePoints","_vehicle","_role","_costs","_actionTitle","_weapons","_weaponName"]; - -// general settings -_folder = "\z\addons\dayz_code\actions\servicePoints\"; // folder where the service point scripts are saved, relative to the mission file -_actionTitleFormat = "%1 (%2)"; // text of the vehicle menu, %1 = action name (Refuel, Repair, Rearm), %2 = costs (see format below) -_actionCostsFormat = "%2 %1"; // %1 = item name, %2 = item count -_message = localize "STR_CL_SP_MESSAGE"; // This is translated from your stringtable.xml in your mission folder root. Set to "" to disable -_cycleTime = 5; // Time in sections for how often the action menu will be refreshed and how often it will search for a nearby fuel station (setting this too low can make a lot of lag) - -_lastVehicle = objNull; -_lastRole = []; -_messageShown = false; - -SP_refuel_action = -1; -SP_repair_action = -1; -SP_rearm_actions = []; - -_fnc_removeActions = { - if (isNull _lastVehicle) exitWith {}; - _lastVehicle removeAction SP_refuel_action; - SP_refuel_action = -1; - _lastVehicle removeAction SP_repair_action; - SP_repair_action = -1; - { - _lastVehicle removeAction _x; - } forEach SP_rearm_actions; - SP_rearm_actions = []; - _lastVehicle = objNull; - _lastRole = []; -}; - -_fnc_getCosts = { - private ["_getVehicle","_getCosts","_cost","_getTypeName"]; - _getVehicle = _this select 0; - _getCosts = _this select 1; - _cost = []; - { - _getTypeName = _x select 0; - if (_getVehicle isKindOf _getTypeName) exitWith { - _cost = _x select 1; - }; - } forEach _getCosts; - _cost -}; - -_fnc_getCostsWep = { - private ["_weapon","_getCostsWep","_returnCostWep","_typeName"]; - _weapon = _this select 0; - _getCostsWep = _this select 1; - _returnCostWep = DZE_SP_Rearm_Defaultcost; - { - _typeName = _x select 0; - if (_weapon == _typeName) exitWith { - _returnCostWep = _x select 1; - }; - } forEach _getCostsWep; - _returnCostWep -}; - -_fnc_actionTitle = { - private ["_actionName","_actionCosts","_costsText","_return"]; - _actionName = _this select 0; - _actionCosts = _this select 1; - if (typeName _actionCosts == "STRING") then { - _costsText = _actionCosts; - } else { - _costsText = if (Z_SingleCurrency) then {format ["%1 %2",[_actionCosts] call BIS_fnc_numberText,CurrencyName]} else {format ["%1",[_actionCosts,true] call z_calcCurrency]}; - }; - _return = format [_actionTitleFormat,_actionName,_costsText]; - _return -}; - -_fnc_getWeapons = { - private ["_gWeaponsVehicle","_gWeaponsRole","_gWeapons","_gWeaponName","_gTurret","_gWeaponsTurret"]; - _gWeaponsVehicle = _this select 0; - _gWeaponsRole = _this select 1; - _gWeapons = []; - if (count _gWeaponsRole > 1) then { - _gTurret = _gWeaponsRole select 1; - _gWeaponsTurret = _gWeaponsVehicle weaponsTurret _gTurret; - { - _gWeaponName = getText (configFile >> "CfgWeapons" >> _x >> "displayName"); - if !(_gWeaponName in DZE_SP_Rearm_Ignore) then { - _gWeapons set [count _gWeapons, [_x,_gWeaponName,_gTurret]]; - }; - } forEach _gWeaponsTurret; - }; - _gWeapons -}; - -while {1==1} do { - _vehicle = vehicle player; - if (_vehicle != player) then { - _servicePoints = (nearestObjects [getPosATL _vehicle,DZE_SP_Classes,DZE_SP_MaxDistance]) - [_vehicle]; - if (count _servicePoints > 0) then { - if (assignedDriver _vehicle == player) then { - _role = ["Driver", [-1]]; - } else { - _role = assignedVehicleRole player; - }; - if (((str _role) != (str _lastRole)) || {_vehicle != _lastVehicle}) then { - call _fnc_removeActions; - }; - _lastVehicle = _vehicle; - _lastRole = _role; - if (DZE_SP_Refuel_Enable) then { - if (SP_refuel_action < 0) then { - _costs = [_vehicle,DZE_SP_Refuel_Costs] call _fnc_getCosts; - _actionTitle = [localize "config_depot.sqf8",_costs] call _fnc_actionTitle; - SP_refuel_action = _vehicle addAction [_actionTitle,_folder + "servicePointActions.sqf",["refuel",_costs,DZE_SP_Refuel_UpdateInterval,DZE_SP_Refuel_Amount],-1,false,true]; - }; - }; - if (DZE_SP_Repair_Enable) then { - if (SP_repair_action < 0) then { - _costs = [_vehicle,DZE_SP_Repair_Costs] call _fnc_getCosts; - _actionTitle = [localize "config_depot.sqf1",_costs] call _fnc_actionTitle; - SP_repair_action = _vehicle addAction [_actionTitle,_folder + "servicePointActions.sqf",["repair",_costs,DZE_SP_Repair_RepairTime],-1,false,true]; - }; - }; - if (DZE_SP_Rearm_Enable) then { - if ((count _role > 1) && {count SP_rearm_actions == 0}) then { - _weapons = [_vehicle,_role] call _fnc_getWeapons; - { - _weaponName = _x select 1; - _costs = [_weaponName,DZE_SP_Rearm_Costs] call _fnc_getCostsWep; - _actionTitle = [format["%1 %2",localize "config_depot.sqf5",_weaponName],_costs] call _fnc_actionTitle; - SP_rearm_action = _vehicle addAction [_actionTitle,_folder + "servicePointActions.sqf",["rearm",_costs,DZE_SP_Rearm_MagazineCount,_x],-1,false,true]; - SP_rearm_actions set [count SP_rearm_actions, SP_rearm_action]; - } forEach _weapons; - }; - }; - if (!_messageShown && {_message != ""}) then { - _messageShown = true; - _vehicle vehicleChat _message; - }; - } else { - call _fnc_removeActions; - _messageShown = false; - }; - } else { - call _fnc_removeActions; - _messageShown = false; - }; - uiSleep _cycleTime; -}; diff --git a/SQF/dayz_code/actions/servicePoints/servicePointActions.sqf b/SQF/dayz_code/actions/servicePoints/servicePointActions.sqf deleted file mode 100644 index 40dcec70a..000000000 --- a/SQF/dayz_code/actions/servicePoints/servicePointActions.sqf +++ /dev/null @@ -1,143 +0,0 @@ -// Vehicle Service Point (Rearm) by Axe Cop -// Rewritten for single currency, gems, briefcase support and 1.0.7 epoch compatibility by salival - https://github.com/oiad/ -// Requires DayZ Epoch 1.0.7 for gem support. - -private ["_vehicle","_costs","_fuel","_magazineCount","_weapon","_type","_name","_weaponType","_weaponName","_turret","_magazines","_ammo","_textMissing","_pos","_message","_action","_damage","_selection","_strH","_disabled","_amount","_enoughMoney","_moneyInfo","_wealth","_success","_reason","_cmpt"]; - -_vehicle = _this select 0; - -_ammo = ""; -_reason = ""; - -_action = (_this select 3) select 0; - -_type = typeOf _vehicle; -_disabled = false; -_name = getText(configFile >> "cfgVehicles" >> _type >> "displayName"); - -_amount = (_this select 3) select 1; - -if (_action == "rearm") then { - _magazineCount = (_this select 3) select 2; - _weapon = (_this select 3) select 3; - - _weaponType = _weapon select 0; - _weaponName = _weapon select 1; - _turret = _weapon select 2; -}; - -if (typeName _amount == "STRING") then { - if (_amount == (localize "str_temp_param_disabled")) then { - if (_action == "rearm") then {_reason = format[localize "STR_CL_SP_UNABLE_REARM",_weaponName]; _disabled = true}; - if (_action == "repair") then {_reason = format[localize "STR_CL_SP_UNABLE_REPAIR",_name]; _disabled = true}; - if (_action == "refuel") then {_reason = format[localize "STR_CL_SP_UNABLE_REFUEL",_name]; _disabled = true}; - }; - if (_amount == (localize "strwffree")) then {_amount = 0}; -}; - -if (_disabled) exitWith {[_reason,1] call dayz_rollingMessages}; - -_enoughMoney = false; -_moneyInfo = [false, [], [], [], 0]; -_wealth = player getVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),0]; - -if (Z_SingleCurrency) then { - _enoughMoney = (_wealth >= _amount); -} else { - Z_Selling = false; - if (Z_AllowTakingMoneyFromVehicle) then {false call Z_checkCloseVehicle}; - _moneyInfo = _amount call Z_canAfford; - _enoughMoney = _moneyInfo select 0; -}; - -_success = if (Z_SingleCurrency) then {true} else {[player,_amount,_moneyInfo,true,0] call Z_payDefault}; - -if (!_success && _enoughMoney) exitWith {systemChat localize "STR_EPOCH_TRADE_GEAR_AND_BAG_FULL"}; // Not enough room in gear or bag to accept change - -if (_enoughMoney) then { - _success = if (Z_SingleCurrency) then {_amount <= _wealth} else {[player,_amount,_moneyInfo,false,0] call Z_payDefault}; - if (_success) then { - if (Z_SingleCurrency) then { - player setVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),(_wealth - _amount),true]; - }; - - [player,(getPosATL player),50,"refuel"] spawn fnc_alertZombies; - _vehicle engineOn false; - if (_action == "refuel") then { - [format[localize "STR_CL_SP_REFUELING",_name],1] call dayz_rollingMessages; - - while {vehicle player == _vehicle} do { - if ([0,0,0] distance (velocity _vehicle) > 1) exitWith {[format[localize "STR_CL_SP_REFUELING_STOPPED",_name],1] call dayz_rollingMessages}; - _fuel = (fuel _vehicle) + ((_this select 3) select 3); - if (_fuel > 0.99) exitWith { - _vehicle setFuel 1; - [format[localize "STR_CL_SP_REFUEL_OK",_name],1] call dayz_rollingMessages; - }; - _vehicle setFuel _fuel; - uiSleep ((_this select 3) select 2); - }; - }; - if (_action == "repair") then { - [player,(getPosATL player),50,"repair"] spawn fnc_alertZombies; - - _hitpoints = _vehicle call vehicle_getHitpoints; - _allRepaired = true; - { - if ((vehicle player != _vehicle) || {[0,0,0] distance (velocity _vehicle) > 1}) exitWith { - _allRepaired = false; - [format[localize "STR_CL_SP_REPAIRING_STOPPED",_name],1] call dayz_rollingMessages; - }; - _hits = [_vehicle,_x] call object_getHit; - _damage = _hits select 0; - if (_damage > 0) then { - _cmpt = []; - { - if (_forEachIndex > 2) then {_cmpt set [count _cmpt,_x]}; - } forEach toArray (_x); - _cmpt = toString _cmpt; - [format[localize "STR_CL_SP_REPAIRING",_cmpt],1] call dayz_rollingMessages; - _selection = getText(configFile >> "cfgVehicles" >> _type >> "HitPoints" >> _x >> "name"); - _strH = "hit_" + (_selection); - _vehicle setHit[_selection,0]; - _vehicle setVariable [_strH,0,true]; - uiSleep ((_this select 3) select 2); - }; - } forEach _hitpoints; - PVDZ_veh_Save = [_vehicle,"repair",true]; - publicVariableServer "PVDZ_veh_Save"; - - if (_allRepaired) then { - _vehicle setDamage 0; - _vehicle setVelocity [0,0,1]; - [format[localize "STR_CL_SP_REPAIR_OK",_name],1] call dayz_rollingMessages; - }; - }; - - if (_action == "rearm") then { - _magazines = getArray (configFile >> "CfgWeapons" >> _weaponType >> "magazines"); - _ammo = _magazines select 0; - - if (_weaponType == "CMFlareLauncher") then { - _vehicle removeWeaponTurret ["CMFlareLauncher",_turret]; - for "_i" from 1 to _magazineCount do {_vehicle addMagazineTurret [_ammo,_turret];}; - _vehicle addWeaponTurret ["CMFlareLauncher",_turret]; - } else { - {_vehicle removeMagazinesTurret [_x,_turret];} forEach _magazines; - - for "_i" from 1 to _magazineCount do {_vehicle addMagazineTurret [_ammo,_turret];}; - }; - - [format[localize "STR_CL_SP_REARMED",_weaponName,_name],1] call dayz_rollingMessages; - }; - call player_forceSave; - } else { - systemChat localize "STR_EPOCH_TRADE_DEBUG"; - }; -} else { - _itemText = if (Z_SingleCurrency) then {CurrencyName} else {[_amount,true] call z_calcCurrency}; - if (Z_SingleCurrency) then { - systemChat format[localize "STR_CL_SP_FAIL_COINS",[_amount] call BIS_fnc_numberText,_itemText,_action,_name]; - } else { - systemChat format[localize "STR_CL_SP_FAIL_BRIEFCASES",_itemText,_action,_name]; - }; -}; diff --git a/SQF/dayz_code/actions/takeClothes.sqf b/SQF/dayz_code/actions/takeClothes.sqf deleted file mode 100644 index ac1ef48ab..000000000 --- a/SQF/dayz_code/actions/takeClothes.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/* - Originally by Zabn - Modified for DayZ Epoch 1.0.7+ by salival (https://github.com/oiad) -*/ - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -private ["_body","_clothesTaken","_finished","_itemNew","_itemNewName","_okSkin","_playerNear","_result","_skin"]; - -_body = _this select 3; - -player removeAction s_player_clothes; -s_player_clothes = -1; - -if (isNull _body) exitWith {dayz_actionInProgress = false; systemChat localize "str_cursorTargetNotFound";}; - -_playerNear = {isPlayer _x} count (([_body] call FNC_GetPos) nearEntities ["CAManBase", 10]) > 1; -if (_playerNear) exitWith {dayz_actionInProgress = false; localize "str_pickup_limit_5" call dayz_rollingMessages;}; - -_clothesTaken = _body getVariable["clothesTaken",false]; -if (_clothesTaken) exitWith {dayz_actionInProgress = false; localize "STR_CL_TC_ALREADY_TAKEN" call dayz_rollingMessages;}; - -_skin = typeOf _body; -_itemNew = _skin; -_itemNew = "Skin_" + _itemNew; -_okSkin = isClass (configFile >> "CfgMagazines" >> _itemNew); - -if (!_okSkin || _skin in DZE_Disable_Take_Clothes) exitWith {dayz_actionInProgress = false; format[localize "STR_CL_TC_NOT_SUPPORTED",_skin] call dayz_rollingMessages;}; - -_finished = ["Medic",1] call fn_loopAction; -if (_finished) then { - _itemNewName = getText (configFile >> "CfgMagazines" >> _itemNew >> "displayName"); - _result = [player,_itemNew] call BIS_fnc_invAdd; - if (_result) then { - _body setVariable["clothesTaken",true,true]; - format[localize "STR_CL_TC_ADD_OK",_itemNewName] call dayz_rollingMessages; - } else { - format[localize "STR_CL_TC_ADD_FAIL",_itemNewName] call dayz_rollingMessages; - }; -} else { - localize "str_epoch_player_26" call dayz_rollingMessages; -}; - -dayz_actionInProgress = false; \ No newline at end of file diff --git a/SQF/dayz_code/actions/virtualGarage/player_MaintainVG.sqf b/SQF/dayz_code/actions/virtualGarage/player_MaintainVG.sqf deleted file mode 100644 index 209fec3f9..000000000 --- a/SQF/dayz_code/actions/virtualGarage/player_MaintainVG.sqf +++ /dev/null @@ -1,42 +0,0 @@ -// Written by icomrade (https://github.com/icomrade) - -private ["_hasAccess","_heliPad","_objectID","_objectUID","_plotCheck"]; - -closeDialog 0; - -_itemText = if (Z_SingleCurrency) then {CurrencyName} else {[vg_maintainCost,true] call z_calcCurrency}; -_enoughMoney = false; -_moneyInfo = [false, [], [], [], 0]; - -if (Z_SingleCurrency) then { - _wealth = player getVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),0]; - _enoughMoney = (_wealth >= vg_maintainCost); -} else { - Z_Selling = false; - _moneyInfo = vg_maintainCost call Z_canAfford; - _enoughMoney = _moneyInfo select 0; -}; - -_success = true; -if (vg_maintainCost > 0) then { - _success = if (Z_SingleCurrency) then {_enoughMoney} else {[player,vg_maintainCost,_moneyInfo,false,0] call Z_payDefault}; -}; - -if (!_success && _enoughMoney) exitWith {systemChat localize "STR_EPOCH_TRADE_GEAR_AND_BAG_FULL";}; - -if (_enoughMoney || vg_maintainCost < 1) then { - if (Z_SingleCurrency) then { - player setVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),(_wealth - vg_maintainCost),true]; - }; - localize "STR_CL_VG_MAINTAINSUCCESS" call dayz_rollingMessages; - PVDZE_maintainGarage = if (vg_tiedToPole) then { - _plotCheck = [player,false] call FNC_find_plots; - _ownerPUID = if (_plotCheck select 1 > 0) then {(_plotCheck select 2) getVariable ["ownerPUID","0"]} else {dayz_playerUID}; - [player,_ownerPUID] - } else { - [player] - }; - publicVariableServer "PVDZE_maintainGarage"; -} else { - localize "STR_CL_VG_MAINTAINFAIL" call dayz_rollingMessages; -}; diff --git a/SQF/dayz_code/actions/virtualGarage/player_getVehicle.sqf b/SQF/dayz_code/actions/virtualGarage/player_getVehicle.sqf deleted file mode 100644 index 409bfcf1f..000000000 --- a/SQF/dayz_code/actions/virtualGarage/player_getVehicle.sqf +++ /dev/null @@ -1,69 +0,0 @@ -// Developed by [GZA] David for German Zombie Apocalypse Servers (https://zombieapo.eu/) -// Rewritten by salival (https://github.com/oiad) - -private ["_backPack","_charID","_dir","_heliPad","_inventory","_isNearPlot","_keyID","_keyName","_location","_plotCheck","_sign","_vehicle"]; - -closeDialog 0; -_vehicle = (call compile format["%1",lbData[2802,(lbCurSel 2802)]]); - -if (vg_removeKey && {_vehicle select 3 != 0} && {({getNumber (configFile >> "CfgWeapons" >> _x >> "type") == 131072} count (weapons player)) == 12}) exitWith {localize "str_epoch_player_107" call dayz_rollingMessages;}; - -_dir = round(random 360); -_backPack = []; - -_plotCheck = [player,false] call FNC_find_plots; -_isNearPlot = (_plotCheck select 1) > 0; - -_heliPad = nearestObjects [if (_isNearPlot) then {_plotCheck select 2} else {player},vg_heliPads,if (_isNearPlot) then {DZE_maintainRange} else {Z_VehicleDistance}]; -if ((count _heliPad == 0) && ((_vehicle select 1) isKindOf "Air")) exitWith {localize "STR_CL_VG_NEED_HELIPAD" call dayz_rollingMessages;}; -if (count _heliPad > 0) then { - _location = [(_heliPad select 0)] call FNC_GetPos; -} else { - _location = [(position player),0,400,10,0,2000,0] call BIS_fnc_findSafePos; - _location set [2,0]; -}; - -_sign = "Sign_arrow_down_large_EP1" createVehicleLocal [0,0,0]; -_sign setPos _location; - -if (surfaceIsWater _location && {count (_location nearEntities ["Ship",8]) > 0}) then { - deleteVehicle _sign; - localize "STR_EPOCH_TRADE_OBSTRUCTED" call dayz_rollingMessages; -} else { - [_vehicle select 1,_sign] call fn_waitForObject; -}; - -PVDZE_spawnVehicle = [[_dir,_location],player,_vehicle select 0]; -publicVariableServer "PVDZE_spawnVehicle"; - -waitUntil {!isNil "PVDZE_spawnVehicleResult"}; - -if (PVDZE_spawnVehicleResult != "0") then { - _keyID = ""; - _charID = parseNumber PVDZE_spawnVehicleResult; - if ((_charID > 0) && (_charID <= 2500)) then {_keyID = format["ItemKeyGreen%1",_charID];}; - if ((_charID > 2500) && (_charID <= 5000)) then {_keyID = format["ItemKeyRed%1",_charID-2500];}; - if ((_charID > 5000) && (_charID <= 7500)) then {_keyID = format["ItemKeyBlue%1",_charID-5000];}; - if ((_charID > 7500) && (_charID <= 10000)) then {_keyID = format["ItemKeyYellow%1",_charID-7500];}; - if ((_charID > 10000) && (_charID <= 12500)) then {_keyID = format["ItemKeyBlack%1",_charID-10000];}; - _keyName = getText(configFile >> "CfgWeapons" >> _keyID >> "displayName"); - - if (vg_removeKey) then { - _inventory = weapons player; - dayz_myBackpack = unitBackpack player; - if (!isNull dayz_myBackpack) then {_backPack = (getWeaponCargo dayz_myBackpack) select 0;}; - if (_keyID in (_inventory+_backPack)) then { - if (_keyID in _inventory) then {format[localize "STR_CL_VG_IN_INVENTORY",_keyName] call dayz_rollingMessages;}; - if (_keyID in _backPack) then {format[localize "STR_CL_VG_IN_BACKPACK",_keyName] call dayz_rollingMessages;}; - } else { - player addWeapon _keyID; - format[localize "STR_CL_VG_ADDED_INVENTORY",_keyName] call dayz_rollingMessages; - }; - }; -}; - -PVDZE_spawnVehicle = nil; -PVDZE_spawnVehicleResult = nil; -vg_vehicleList = nil; - -localize "STR_CL_VG_VEHICLE_SPAWNED" call dayz_rollingMessages; diff --git a/SQF/dayz_code/actions/virtualGarage/player_removePad.sqf b/SQF/dayz_code/actions/virtualGarage/player_removePad.sqf deleted file mode 100644 index fd0e54247..000000000 --- a/SQF/dayz_code/actions/virtualGarage/player_removePad.sqf +++ /dev/null @@ -1,24 +0,0 @@ -// Written by salival (https://github.com/oiad) - -private ["_hasAccess","_objectID","_objectUID","_plotCheck"]; - -closeDialog 0; - -_plotCheck = [player, false] call FNC_find_plots; -_hasAccess = [player,_plotCheck select 2] call FNC_check_access; - -if ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4)) then { - - { - _objectID = _x getVariable ["ObjectID","0"]; - _objectUID = _x getVariable ["ObjectUID","0"]; - - PVDZ_obj_Destroy = [_objectID,_objectUID,player,_x,dayz_authKey]; - publicVariableServer "PVDZ_obj_Destroy"; - - deleteVehicle _x; - systemChat format[localize "STR_CL_VG_HELIPAD_REMOVED",typeOf _x]; - } count (nearestObjects [_plotCheck select 2,vg_heliPads,Z_VehicleDistance]); -} else { - systemChat localize "STR_EPOCH_PLAYER_134"; -}; diff --git a/SQF/dayz_code/actions/virtualGarage/player_storeVehicle.sqf b/SQF/dayz_code/actions/virtualGarage/player_storeVehicle.sqf deleted file mode 100644 index a5a5c65eb..000000000 --- a/SQF/dayz_code/actions/virtualGarage/player_storeVehicle.sqf +++ /dev/null @@ -1,209 +0,0 @@ -// Developed by [GZA] David for German Zombie Apocalypse Servers (https://zombieapo.eu/) -// Rewritten by salival (https://github.com/oiad) - -private ["_amount","_backPackCount","_backPackGear","_cargoAmount","_charID","_control","_counter","_display","_enoughMoney","_gearCount","_hasKey","_isLimitArray","_itemText","_items","_keyName","_limit","_magazineCount","_matchedCount","_moneyInfo","_name","_overLimit","_storedVehicles","_success","_typeName","_typeOf","_vehicle","_vehicleID","_vehicleUID","_wealth","_weaponsCount","_woGear","_playerNear","_ownerPUID","_plotCheck"]; - -disableSerialization; - -_display = findDisplay 2800; -_control = ((findDisplay 2800) displayCtrl 2802); - -_vehicle = vg_vehicleList select (lbCurSel _control); -_typeOf = typeOf _vehicle; -_isLimitArray = typeName vg_limit == "ARRAY"; - -_overLimit = false; -_matchedCount = 0; -_storedVehicles = []; - -{if (_typeOf isKindOf _x) exitWith {_overLimit = true;}} count vg_blackListed; -if (_overLimit) exitWith {localize "STR_CL_VG_BLACKLISTED" call dayz_rollingMessages;}; - -{ - if (typeName _x == "ARRAY") then { - _storedVehicles set [count _storedVehicles,_x select 1]; - }; -} count vg_vehicleList; - -_gearCount = { - private ["_counter"]; - _counter = 0; - {_counter = _counter + _x;} count _this; - _counter -}; - -if (_isLimitArray) then { - { - _typeName = _x select 0; - _limit = _x select 1; - if (typeName _x == "ARRAY") then { - if (_typeOf isKindOf _typeName) then { - { - if (_x isKindOf _typeName) then {_matchedCount = _matchedCount +1}; - if (_matchedCount >= _limit) then {_overLimit = true;}; - } count _storedVehicles; - }; - }; - if (_overLimit) exitWith {}; - } count vg_limit; -} else { - if (count _storedVehicles >= vg_limit) then {_overLimit = true;}; -}; - -if (_overLimit) exitWith { - if (_isLimitArray) then { - systemChat localize "STR_CL_VG_LIMIT_ARRAY"; - } else { - systemChat localize "STR_CL_VG_LIMIT_NUMBER"; - }; -}; - -vg_vehicleList = nil; - -_woGear = _this select 0; -closeDialog 0; -if (!vg_storeWithGear && !_woGear) exitWith {localize "STR_CL_VG_NOSTOREWITHGEAR" call dayz_rollingMessages;}; - -_charID = _vehicle getVariable ["CharacterID","0"]; -_vehicleID = _vehicle getVariable ["ObjectID","0"]; -_vehicleUID = _vehicle getVariable ["ObjectUID","0"]; -_weaponsCount = ((getWeaponCargo _vehicle) select 1) call _gearCount; -_magazineCount = ((getMagazineCargo _vehicle) select 1) call _gearCount; -_backPackCount = ((getBackpackCargo _vehicle) select 1) call _gearCount; -_cargoAmount = (_weaponsCount + _magazineCount + _backPackCount); - -if (_vehicleID == "1" || _vehicleUID == "1") exitWith {localize "STR_CL_VG_STORE_MISSION" call dayz_rollingMessages;}; -if (isNull DZE_myVehicle || !local DZE_myVehicle) exitWith {localize "STR_EPOCH_PLAYER_245" call dayz_rollingMessages;}; - -_hasKey = false; - -_items = items player; -dayz_myBackpack = unitBackpack player; - -if (!isNull dayz_myBackpack) then { - _backPackGear = (getWeaponCargo dayz_myBackpack) select 0; - _items = _items + _backPackGear; -}; - -if (_charID != "0") then { - { - if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in DZE_itemKeys) then { - if (str(getNumber(configFile >> "CfgWeapons" >> _x >> "keyid")) == _charID) then { - _keyName = _x; - _hasKey = true; - }; - }; - } count _items; -} else { - if (vg_store_keyless_vehicles) then { - _hasKey = true; - }; -}; - -if (vg_requireKey && {!_hasKey}) exitWith {localize "STR_CL_VG_REQUIRE_KEY" call dayz_rollingMessages;}; - -_name = getText(configFile >> "cfgVehicles" >> _typeOf >> "displayName"); - -{ - if (_typeOf isKindOf (_x select 0)) exitWith {_amount = _x select 1}; -} forEach vg_price; - -if (_cargoAmount > 0) then {_amount = _amount + (_cargoAmount * vg_pricePer);}; - -if (!isNil "sk_dualCurrency") then {_amount = if (z_singleCurrency) then {_amount * 10} else {_amount};}; - -/* -_playerNear = {isPlayer _x && (_x != player)} count (([_vehicle] call FNC_GetPos) nearEntities ["CAManBase", 15]) > 0; -if (_playerNear) exitWith {localize "STR_CL_VG_PLAYERNEARVEHICLE" call dayz_rollingMessages;}; -*/ - -if (count (crew _vehicle) > 0) exitWith {localize "STR_CL_VG_PLAYERINVEHICLE" call dayz_rollingMessages;}; - -_enoughMoney = false; -_moneyInfo = [false,[],[],[],0]; - -if (Z_SingleCurrency) then { - _wealth = player getVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),0]; - _enoughMoney = (_wealth >= _amount); -} else { - Z_Selling = false; - if (Z_AllowTakingMoneyFromVehicle) then {false call Z_checkCloseVehicle}; - _moneyInfo = _amount call Z_canAfford; - _enoughMoney = _moneyInfo select 0; -}; - -_success = if (Z_SingleCurrency) then {true} else {[player,_amount,_moneyInfo,true,0] call Z_payDefault}; - -if (!_success && {_enoughMoney}) exitWith {systemChat localize "STR_EPOCH_TRADE_GEAR_AND_BAG_FULL"}; - -if (_enoughMoney) then { - _success = if (Z_SingleCurrency) then {_amount <= _wealth} else {[player,_amount,_moneyInfo,false,0] call Z_payDefault}; - if (_success) then { - if (Z_SingleCurrency) then {player setVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),(_wealth - _amount),true];}; - - [_vehicle,true] call local_lockUnlock; - DZE_myVehicle = objNull; - - PVDZE_storeVehicle = if (vg_tiedToPole) then { - _plotCheck = [player,false] call FNC_find_plots; - _ownerPUID = if (_plotCheck select 1 > 0) then {(_plotCheck select 2) getVariable ["ownerPUID","0"]} else {dayz_playerUID}; - [_vehicle,player,_woGear,_ownerPUID] - } else { - [_vehicle,player,_woGear] - }; - - publicVariableServer "PVDZE_storeVehicle"; - waitUntil {!isNil "PVDZE_storeVehicleResult"}; - - PVDZE_storeVehicle = nil; - PVDZE_storeVehicleResult = nil; - - format[localize "STR_CL_VG_VEHICLE_STORED",_name] call dayz_rollingMessages; - if (vg_removeKey && {_charID != "0"}) then { - if (_keyName in (items player)) then { - [player,_keyName,1] call BIS_fnc_invRemove; - } else { - private ["_weparray", "_qtyarray", "_arraycnt","_newwepqty","_newwep","_newarray","_cntarray","_weapon","_weaponqty"]; - - _weparray = []; - _qtyarray = []; - _arraycnt = -1; - _backPackGear = getWeaponCargo dayz_myBackpack; - - { - _arraycnt = _arraycnt + 1; - if (_x == _keyName) then { - } else { - _newwep = (_backPackGear select 0) select _arraycnt; - _newwepqty = (_backPackGear select 1) select _arraycnt; - - _weparray set [count _weparray, _newwep]; - _qtyarray set [count _qtyarray,_newwepqty]; - }; - } forEach (_backPackGear select 0); - - _newarray = []; - _newarray = [_weparray] + [_qtyarray]; - - clearWeaponCargoGlobal dayz_myBackpack; - - _cntarray = count _weparray; - - for "_i" from 0 to (_cntarray-1) do { - _weapon = (_newarray select 0) select _i; - _weaponqty = (_newarray select 1) select _i; - dayz_myBackpack addWeaponCargoGlobal [_weapon,_weaponqty]; - }; - }; - }; - } else { - systemChat localize "STR_EPOCH_TRADE_DEBUG"; - }; -} else { - _itemText = if (Z_SingleCurrency) then {CurrencyName} else {[_amount,true] call z_calcCurrency}; - if (Z_SingleCurrency) then { - systemChat format[localize "STR_CL_VG_NEED_COINS",[_amount] call BIS_fnc_numberText,_itemText,_name]; - } else { - systemChat format[localize "STR_CL_VG_NEED_BRIEFCASES",_itemText,_name]; - }; -}; diff --git a/SQF/dayz_code/actions/virtualGarage/vehicleInfo.sqf b/SQF/dayz_code/actions/virtualGarage/vehicleInfo.sqf deleted file mode 100644 index 9b752779e..000000000 --- a/SQF/dayz_code/actions/virtualGarage/vehicleInfo.sqf +++ /dev/null @@ -1,110 +0,0 @@ -// Developed by [GZA] David for German Zombie Apocalypse Servers (https://zombieapo.eu/) -// Rewritten by salival (https://github.com/oiad) - -private ["_backPackCount","_backPackSlots","_cargoAmount","_control","_counter","_DateStored","_formattedText","_index","_inventory","_localVehicle","_magazineCount","_magazineSlots","_name","_picture","_price","_typeOf","_vehicle","_weaponSlots","_weaponsCount","_MaintainDays","_DateMaintained"]; - -disableSerialization; - -_control = (_this select 0) select 0; -_index = (_this select 0) select 1; -_localVehicle = typeName (vg_vehicleList select _index) == "OBJECT"; -_DateMaintained = ""; -_MaintainDays = -1; -_gearCount = { - private ["_counter"]; - _counter = 0; - {_counter = _counter + _x;} count _this; - _counter; -}; - -if (_localVehicle) then { - _vehicle = vg_vehicleList select _index; - _typeOf = typeOf _vehicle; - _weaponsCount = ((getWeaponCargo _vehicle) select 1) call _gearCount; - _magazineCount = ((getMagazineCargo _vehicle) select 1) call _gearCount; - _backPackCount = ((getBackpackCargo _vehicle) select 1) call _gearCount; - ctrlShow[2852,false]; // getVehicle - ctrlShow[2850,true]; // storeVehicle - ctrlShow[2851,true]; // storeVehicleWithGear -} else { - _vehicle = (vg_vehicleList select _index) select 1; - _inventory = (vg_vehicleList select _index) select 2; - _DateStored = (vg_vehicleList select _index) select 4; - _DateMaintained = (vg_vehicleList select _index) select 5; - _MaintainDays = (vg_vehicleList select _index) select 6; - _typeOf = _vehicle; - _weaponsCount = _inventory select 0; - _magazineCount = _inventory select 1; - _backPackCount = _inventory select 2; - - ctrlShow[2852,true]; // getVehicle - ctrlShow[2850,false]; // storeVehicle - ctrlShow[2851,false]; // storeVehicleWithGear -}; - -_weaponSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportMaxWeapons"); -_magazineSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportMaxMagazines"); -_backPackSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportmaxbackpacks"); -_name = getText(configFile >> "CfgVehicles" >> _typeOf >> "displayName"); -_picture = getText (configFile >> 'CfgVehicles' >> _typeOf >> 'picture'); - -_cargoAmount = (_weaponsCount + _magazineCount + _backPackCount); - -if (_localVehicle) then { - { - if (_typeOf isKindOf (_x select 0)) exitWith {_price = _x select 1;}; - } forEach vg_price; - if (_cargoAmount > 0) then { - _price = _price + (_cargoAmount * vg_pricePer); - ctrlShow[2850,false]; - } else { - ctrlShow[2851,false]; - }; - _price = if (_price == 0) then {localize "strwffree"} else { - if (!isNil "sk_dualCurrency") then {_price = if (z_singleCurrency) then {_price * 10} else {_price};}; - if (z_singleCurrency) then { - format ["%1 %2",[_price] call BIS_fnc_numberText,currencyName] - } else { - [_price,true] call z_calcCurrency - }; - }; -}; - -_formattedText = format [ - "
" + - "%2: %3
" + - "%4: %5
" + - "%6: %13/%10 %14/%11 %15/%12
", - _picture, - localize "STR_EPOCH_NAME", - _name, - localize "STR_EPOCH_CLASS", - _typeOf, - localize "STR_EPOCH_CARGO_SPACE", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_weapons_white.paa", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_items_white.paa", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_backPacks_white.paa", - _weaponSlots, - _magazineSlots, - _backPackSlots, - _weaponsCount, - _magazineCount, - _backPackCount -]; - -if (_localVehicle) then {_formattedText = _formattedText + format ["%1: %2
",localize "STR_CL_VG_PRICE",_price];}; -if (!_localVehicle) then { - if (_DateStored != "old") then { - _formattedText = _formattedText + format ["%1: %2
",localize "STR_CL_VG_STOREDATE",_DateStored]; - if (_MaintainDays >= 0) then { - _formattedText = _formattedText + format ["%1: %2
%3: %4
",localize "STR_CL_VG_MAINTAINDATE",_DateMaintained,localize "STR_CL_VG_MAINTAININTERVAL",_MaintainDays]; - }; - } else { - _formattedText = _formattedText + format ["%1: %2
",localize "STR_CL_VG_STOREDATE",localize "STR_CL_VG_STOREDATE_INVALID"]; - }; -}; - -((findDisplay 2800) displayCtrl 2803) ctrlSetStructuredText parseText _formattedText; - -ctrlShow [2803,true]; -ctrlShow [2830,true]; diff --git a/SQF/dayz_code/actions/virtualGarage/virtualGarage.sqf b/SQF/dayz_code/actions/virtualGarage/virtualGarage.sqf deleted file mode 100644 index 12a6fdca3..000000000 --- a/SQF/dayz_code/actions/virtualGarage/virtualGarage.sqf +++ /dev/null @@ -1,64 +0,0 @@ -// Developed by [GZA] David for German Zombie Apocalypse Servers (https://zombieapo.eu/) -// Rewritten by salival (https://github.com/oiad) - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -private ["_class","_control","_displayName","_heliPad","_isNearPlot","_itemText","_localVehicles","_plotCheck","_storedVehicles","_vgDisplCtl"]; -disableSerialization; - -vg_hasRun = false; -createDialog "virtualGarage"; - -{ctrlShow [_x,false]} count [2803,2830,2850,2851,2852,2853]; - -_plotCheck = [player,false] call FNC_find_plots; -_isNearPlot = (_plotCheck select 1) > 0; - -PVDZE_queryVehicle = if (vg_tiedToPole) then { - [player,if (_isNearPlot) then {(_plotCheck select 2) getVariable ["ownerPUID","0"]} else {dayz_playerUID}] -} else { - [player] -}; - -publicVariableServer "PVDZE_queryVehicle"; -waitUntil {!isNil "PVDZE_queryVehicleResult"}; - -_storedVehicles = PVDZE_queryVehicleResult; -PVDZE_queryVehicle = nil; -PVDZE_queryVehicleResult = nil; - -_localVehicles = ([player] call FNC_getPos) nearEntities [["Air","LandVehicle","Ship"],Z_VehicleDistance]; -_heliPad = nearestObjects [if (_isNearPlot) then {_plotCheck select 2} else {player},vg_heliPads,if (_isNearPlot) then {DZE_maintainRange} else {Z_VehicleDistance}]; - -if (count _heliPad > 0 && {_isNearPlot}) then {ctrlShow[2853,true];}; - -_control = ((findDisplay 2800) displayCtrl 2802); -lbClear _control; - -if (count _storedVehicles == 0 && {isNull DZE_myVehicle || {!(alive DZE_myVehicle)} || {!(local DZE_myVehicle)}}) exitWith {ctrlSetText[2811,localize "STR_CL_VG_NO_VEHICLES"];}; - -vg_vehicleList = []; - -{ - _displayName = getText(configFile >> "CfgVehicles" >> (_x select 1) >> "displayName"); - _control lbAdd _displayName; - _control lbSetData [(lbSize _control)-1,str(_x)]; - vg_vehicleList set [count vg_vehicleList,_x]; -} count _storedVehicles; - -{ - if (!isNull DZE_myVehicle && {local DZE_myVehicle} && {alive DZE_myVehicle} && {DZE_myVehicle == _x}) then { - _class = typeOf _x; - _displayName = getText(configFile >> "CfgVehicles" >> _class >> "displayName"); - _control lbAdd _displayName; - _control lbSetData [(lbSize _control)-1,_class]; - _control lbSetColor [(lbSize _control)-1,[0, 1, 0, 1]]; - vg_vehicleList set [count vg_vehicleList,_x]; - }; -} count _localVehicles; - -ctrlShow[2810,false]; -ctrlShow[2811,false]; - -ctrlSetText [2804, format ["%1 (%2 %3)",localize "STR_CL_VG_YOUR_VEHICLES",count (_storedVehicles),localize "STR_CL_VG_VEHICLES"]]; diff --git a/SQF/dayz_code/actions/vkc/vehicleInfo.sqf b/SQF/dayz_code/actions/vkc/vehicleInfo.sqf deleted file mode 100644 index e430206b3..000000000 --- a/SQF/dayz_code/actions/vkc/vehicleInfo.sqf +++ /dev/null @@ -1,68 +0,0 @@ -private ["_backPackCount","_backPackCount_raw","_backPackSlots","_formattedText","_gearCount","_magazineCount","_magazineCount_raw","_magazineSlots","_name","_picture","_price","_text","_typeOf","_weaponSlots","_weaponsCount","_weaponsCount_raw"]; - -_gearCount = { - private ["_counter"]; - _counter = 0; - {_counter = _counter + _x;} count _this; - _counter -}; - -if (vkc_action == "claim") then { - ctrlShow[4850,true]; - _text = localize "STR_CL_VKC_CLAIM"; - _price = vkc_claimPrice; -} else { - ctrlShow[4851,true]; - _text = localize "STR_CL_VKC_CHANGE"; - _price = vkc_changePrice; -}; - -_typeOf = typeOf vkc_cursorTarget; -_weaponsCount_raw = getWeaponCargo vkc_cursorTarget; -_magazineCount_raw = getMagazineCargo vkc_cursorTarget; -_backPackCount_raw = getBackpackCargo vkc_cursorTarget; - -_weaponSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportMaxWeapons"); -_magazineSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportMaxMagazines"); -_backPackSlots = getNumber(configFile >> "CfgVehicles" >> _typeOf >> "transportmaxbackpacks"); -_name = getText(configFile >> "CfgVehicles" >> _typeOf >> "displayName"); -_picture = getText(configFile >> 'CfgVehicles' >> _typeOf >> 'picture'); - -_weaponsCount = (_weaponsCount_raw select 1) call _gearCount; -_magazineCount = (_magazineCount_raw select 1) call _gearCount; -_backPackCount = (_backPackCount_raw select 1) call _gearCount; - -if (!isNil "sk_dualCurrency") then {if (z_singleCurrency) then {_price = _price * 10};}; - -_price = if (z_singleCurrency) then { - format ["%1 %2",[_price] call BIS_fnc_numberText,currencyName] -} else { - [_price,true] call z_calcCurrency -}; -_formattedText = format [ - "
" + - "%2: %3
" + - "%4: %5
" + - "%6: %13/%10 %14/%11 %15/%12
" + - "Price to %16: %17
", - _picture, - localize "STR_EPOCH_NAME", - _name, - localize "STR_EPOCH_CLASS", - _typeOf, - localize "STR_EPOCH_CARGO_SPACE", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_weapons_white.paa", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_items_white.paa", - "\z\addons\dayz_code\gui\gear\gear_ui_slots_backPacks_white.paa", - _weaponSlots, - _magazineSlots, - _backPackSlots, - _weaponsCount, - _magazineCount, - _backPackCount, - toLower (_text), - _price -]; - -((findDisplay 4800) displayCtrl 4803) ctrlSetStructuredText parseText _formattedText; -ctrlShow [4803,true]; diff --git a/SQF/dayz_code/actions/vkc/vehicleKeyChanger.sqf b/SQF/dayz_code/actions/vkc/vehicleKeyChanger.sqf deleted file mode 100644 index dd003f4c0..000000000 --- a/SQF/dayz_code/actions/vkc/vehicleKeyChanger.sqf +++ /dev/null @@ -1,175 +0,0 @@ -/* - Vehicle Key Changer by salival (https://github.com/oiad) - - This version adds support for both single currency and gems (from the epoch 1.0.6 update) as well as the original epoch briefcase currency system. - Instead of pricing things like the original way, prices are now done on a "worth" similar to how coins are done. The price value of items are below. - If you are using coins, I would recommend using the _currencyModifier variable since coins typically are 10x the value of briefcase based currency (1 brief == 100,000 coins) - - 1 silver = 1 worth - 1 10oz silver = 10 worth - 1 gold = 100 worth - 1 10oz gold = 1,000 worth - 1 briefcase = 10,000 worth - - Please see dayz_code\configVariables.sqf for the value of gems (DZE_GemWorthArray) and their relevant worth if they are enabled. -*/ - -if (dayz_actionInProgress) exitWith {localize "str_player_actionslimit" call dayz_rollingMessages;}; -dayz_actionInProgress = true; - -disableSerialization; -private ["_amount","_characterID","_control","_currencyModifier","_enoughMoney","_exit","_foundPos","_index","_itemText","_message","_moneyInfo","_name","_playerNear","_position","_success","_typeOf","_vehicleID","_vehicleUID","_wealth"]; - -vkc_cursorTarget = (_this select 3) select 0; -_characterID = (_this select 3) select 1; -vkc_action = (_this select 3) select 2; - -vkc_isOk = false; - -player removeAction s_player_claimVehicle; -s_player_claimVehicle = 1; -player removeAction s_player_copyToKey; -s_player_copyToKey = 1; - -_exit = { - vkc_action = nil; - vkc_keyList = nil; - vkc_keyName = nil; - vkc_charID = nil; - vkc_isOk = nil; - vkc_cursorTarget = nil; - s_player_copyToKey = -1; - s_player_claimVehicle = -1; - dayz_actionInProgress = false; -}; - -if (isNull vkc_cursorTarget) exitWith {call _exit; systemChat localize "str_cursorTargetNotFound";}; - -_playerNear = {isPlayer _x} count (([vkc_cursorTarget] call FNC_GetPos) nearEntities ["CAManBase", 10]) > 1; -if (_playerNear) exitWith {call _exit; localize "str_pickup_limit_5" call dayz_rollingMessages;}; - -if !(vkc_cursorTarget isKindOf "Air" || {vkc_cursorTarget isKindOf "LandVehicle"} || {vkc_cursorTarget isKindOf "Ship"}) exitWith {call _exit; localize "STR_CL_VKC_FAIL_CURSOR" call dayz_rollingMessages;}; - -if (isNull DZE_myVehicle || {!(alive DZE_myVehicle)} || {!(local DZE_myVehicle)}) exitWith {call _exit; localize "str_epoch_player_245" call dayz_rollingMessages;}; - -_vehicleID = vkc_cursorTarget getVariable ["ObjectID","0"]; -_vehicleUID = vkc_cursorTarget getVariable ["ObjectUID","0"]; - -_typeOf = typeOf vkc_cursorTarget; -_name = getText(configFile >> "cfgVehicles" >> _typeOf >> "displayName"); - -if ((_vehicleID == "0" && {_vehicleUID == "0"}) || {_vehicleID == "1" || _vehicleUID == "1"}) exitWith {call _exit; format[localize "STR_CL_VKC_FAIL_SUPPORT",_name] call dayz_rollingMessages;}; - -if (_vehicleUID == "0") then { - _vehicleUID = ""; - { - _x = _x * 10; - if (_x < 0) then {_x = _x * -10}; - _vehicleUID = _vehicleUID + str(round(_x)); - } forEach getPosATL vkc_cursorTarget; - _vehicleUID = _vehicleUID + str(round((getDir vkc_cursorTarget) + time)); - vkc_cursorTarget setVariable["ObjectUID",_vehicleUID,true]; -}; - -vkc_keyList = call epoch_tempKeys; - -if (vkc_action == "change") then { - _amount = vkc_changePrice; - _message = [localize "STR_CL_VKC_CHANGE_MESSAGE_1",localize "STR_CL_VKC_CHANGE_MESSAGE_2",localize "STR_CL_VKC_CHANGE_MESSAGE_3"]; - _foundPos = (vkc_keyList select 0) find _characterID; - if (_foundPos >= 0) then { - vkc_keyList set [0,(vkc_keyList select 0) - [(vkc_keyList select 0) select _foundPos]]; - vkc_keyList set [1,(vkc_keyList select 1) - [(vkc_keyList select 1) select _foundPos]]; - vkc_keyList set [2,(vkc_keyList select 2) - [(vkc_keyList select 2) select _foundPos]]; - } else { - vkc_keyList = [[],[]]; - }; -} else { - _amount = vkc_claimPrice; - _message = [localize "STR_CL_VKC_CLAIM_MESSAGE_1",localize "STR_CL_VKC_CLAIM_MESSAGE_2",localize "STR_CL_VKC_CLAIM_MESSAGE_3"]; -}; - -if (count (vkc_keyList select 0) == 0) exitWith {systemChat localize "STR_CL_VKC_FAIL_KEYS"; call _exit;}; - -if (!isNil "sk_dualCurrency") then {if (z_singleCurrency) then {_amount = _amount * 10};}; - -_itemText = if (Z_SingleCurrency) then {format ["%1 %2",[_amount] call BIS_fnc_numberText,CurrencyName]} else {[_amount,true] call z_calcCurrency}; - -createDialog "vkc"; -{ctrlShow [_x,false]} count [4803,4850,4851]; - -call vkc_vehicleInfo; - -_control = ((findDisplay 4800) displayCtrl 4802); -lbClear _control; - -{ - _index = _control lbAdd ((vkc_keyList select 1) select _forEachIndex); - _control lbSetPicture [_index,getText(configFile >> "CfgWeapons" >> ((vkc_keyList select 2) select _index) >> "picture")]; -} forEach (vkc_keyList select 0); - -_control lbSetCurSel 0; - -waitUntil {!dialog}; - -if (!vkc_isOk) exitWith {call _exit;}; - -if (isNull DZE_myVehicle || {!(alive DZE_myVehicle)} || {!(local DZE_myVehicle)}) exitWith {call _exit; localize "str_epoch_player_245" call dayz_rollingMessages;}; - -_enoughMoney = false; -_moneyInfo = [false,[],[],[],0]; - -if (Z_SingleCurrency) then { - _wealth = player getVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),0]; - _enoughMoney = (_wealth >= _amount); -} else { - Z_Selling = false; - if (Z_AllowTakingMoneyFromVehicle) then {false call Z_checkCloseVehicle}; - _moneyInfo = _amount call Z_canAfford; - _enoughMoney = _moneyInfo select 0; -}; - -_success = if (Z_SingleCurrency) then {true} else {[player,_amount,_moneyInfo,true,0] call Z_payDefault}; - -if (!_success && {_enoughMoney}) exitWith {call _exit;systemChat localize "STR_EPOCH_TRADE_GEAR_AND_BAG_FULL"}; - -if (_enoughMoney) then { - _success = if (Z_SingleCurrency) then {_amount <= _wealth} else {[player,_amount,_moneyInfo,false,0] call Z_payDefault}; - if (_success) then { - if (Z_SingleCurrency) then {player setVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),(_wealth - _amount),true];}; - - vkc_cursorTarget setVehicleLock "LOCKED"; - player playActionNow "Medic"; - - _position = [vkc_cursorTarget] call FNC_GetPos; - - [_typeOf,objNull] call fn_waitForObject; - dze_waiting = nil; - - PVDZE_veh_Upgrade = [vkc_cursorTarget,[getDir vkc_cursorTarget,_position],_typeOf,vkc_charID,player,dayz_authKey,if (vkc_action == "change") then {"changed the key for"} else {"claimed"}]; - publicVariableServer "PVDZE_veh_Upgrade"; - - localize "STR_CL_VKC_WAIT" call dayz_rollingMessages; - - waitUntil {!isNil "dze_waiting"}; - - if (dze_waiting == "fail") then { - systemChat format[localize "STR_CL_VKC_FAIL_UPGRADE",_name]; - if (z_singleCurrency) then { - player setVariable [(["cashMoney","globalMoney"] select Z_persistentMoney),_wealth,true]; - } else { - Z_Selling = true; - _success = [_amount,0,false,0,[],[],false] call Z_returnChange; - }; - } else { - {player reveal _x;} count (player nearEntities [["LandVehicle"],10]); - [format[_message select 0,_name,vkc_keyName],1] call dayz_rollingMessages; - }; - } else { - systemChat localize "STR_EPOCH_TRADE_DEBUG"; - }; -} else { - systemChat format[localize "STR_CL_VKC_FAIL_MONEY",_itemText,_message select 1,_name]; -}; - -call _exit; diff --git a/SQF/dayz_code/compile/Rightclicks/ui_selectSlot_addon.sqf b/SQF/dayz_code/compile/Rightclicks/ui_selectSlot_addon.sqf deleted file mode 100644 index 8cbbd93c7..000000000 --- a/SQF/dayz_code/compile/Rightclicks/ui_selectSlot_addon.sqf +++ /dev/null @@ -1,105 +0,0 @@ -disableSerialization; -local _control = _this select 0; -local _button = _this select 1; -local _parent = findDisplay 106; - -if (carryClick) then {carryClick = false;}; - -if (_button == 1) then { - if (animationState player in ["ainjppnemstpsnonwnondnon_rolltofront","amovppnemstpsnonwnondnon_healed"]) exitWith { - //Prevent bypassing unconscious wake up animation with bandage or other right click actions - localize "str_player_actionslimit" call dayz_rollingMessages; - }; - - local _group = _parent displayCtrl 6902; - local _pos = ctrlPosition _group; - local _item = gearSlotData _control; - - if ( //No right click action - (!DZE_SelfTransfuse && {_item in ["ItemBloodbag","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]}) - ) exitWith {}; - - if (mouseOverCarry) then { - _item = DayZ_onBack; - carryClick = true; - }; - - _pos set [0,((_this select 2) + 0.46)]; - _pos set [1,((_this select 3) + 0.07)]; - - local _conf = configFile >> "cfgMagazines" >> _item; - if (!isClass _conf) then { - _conf = configFile >> "cfgWeapons" >> _item; - }; - local _name = getText(_conf >> "displayName"); - - local _cfgActions = _conf >> "ItemActions"; - local _numActions = (count _cfgActions); - local _height = 0; - if (!dayz_groupSystem && {_item == "ItemRadio"}) then {_numActions = 1;}; // Used to bypass the group action when not enabled. - - local _i = 0; - //Populate Menu - while {_i <= (_numActions - 1)} do { - local _menu = _parent displayCtrl (1600 + _i); - _menu ctrlShow true; - local _config = (_cfgActions select _i); - local _type = getText (_config >> "text"); - local _script = getText (_config >> "script"); - local _outputOriented = getNumber (_config >> "outputOriented") == 1; - _height = _height + (0.025 * safezoneH); - local _compile = format["_id = '%2' %1;",_script,_item]; - uiNamespace setVariable ['uiControl', _control]; - if (_outputOriented) then { - /* - This flag means that the action is output oriented - the output class will then be transferred to the script - and the type used for the name - */ - local _array = getArray (_config >> "output"); - local _outputClass = _array select 0; - local _outputType = _array select 1; - _name = getText (configFile >> _outputType >> _outputClass >> "displayName"); - _compile = format["_id = ['%2',%3] %1;",_script,_item,_array]; - }; - - _menu ctrlSetText format[_type,_name]; - _menu ctrlSetEventHandler ["ButtonClick",_compile]; - _i = _i + 1; - }; - - local _isKey = ((["ItemKey",_item] call fnc_inString) && (_item != "ItemKeyKit")); - - { - local _classname = _x select 0; - local _text = _x select 1; - local _execute = _x select 2; - local _condition = _x select 3; - - if ((_item == _classname || (_isKey && (_className == "ItemKey"))) && (call compile _condition)) then { - local _menu = _parent displayCtrl (1600 + _numActions); - _menu ctrlShow true; - _height = _height + (0.025 * safezoneH); - uiNamespace setVariable ['uiControl', _control]; - _menu ctrlSetText _text; - if (_isKey && (_className == "ItemKey")) then { - if (count _this > 4) then { - local _option = _x select 4; - _menu ctrlSetEventHandler ["ButtonClick",format ["[%1,%2] %3",str _item,_option,_execute]]; - }; - } else { - _menu ctrlSetEventHandler ["ButtonClick",_execute]; - }; - _numActions = _numActions + 1; - }; - } forEach DZE_CLICK_ACTIONS; - - _pos set [3,_height]; - - //hint format["Obj: %1 \nHeight: %2\nPos: %3",_item,_height,_grpPos]; - - _group ctrlShow true; - ctrlSetFocus _group; - _group ctrlSetPosition _pos; - _group ctrlCommit 0; -}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/building_spawnZombies.sqf b/SQF/dayz_code/compile/building_spawnZombies.sqf index 865a9e981..8e7be6f60 100644 --- a/SQF/dayz_code/compile/building_spawnZombies.sqf +++ b/SQF/dayz_code/compile/building_spawnZombies.sqf @@ -41,11 +41,4 @@ if (!([_objPos] call DZE_SafeZonePosCheck)) then { }; } forEach _positions; }; - - // Bloodsuckers - if (DZE_Bloodsuckers) then { - if ((dayz_spawnBloodsuckers < DZE_BloodsuckersMaxLocal) && {dayz_CurrentNearBloodsuckers < DZE_BloodsuckersMaxNear} && {dayz_currentGlobalBloodsuckers < DZE_BloodsuckersMaxGlobal} && {_type in DZE_BloodsuckerBuildings} && {(random 1) < DZE_BloodsuckerChance}) then { - _objPos call mutant_generate; - }; - }; }; diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf index 13a19bdf2..43de6709b 100644 --- a/SQF/dayz_code/compile/fn_selfActions.sqf +++ b/SQF/dayz_code/compile/fn_selfActions.sqf @@ -128,28 +128,9 @@ if (_inVehicle) then { {DZE_myVehicle removeAction _x} count s_player_lockUnlockInside;s_player_lockUnlockInside = []; s_player_lockUnlockInside_ctrl = -1; }; - - //Allows to open garage doors from the vehicle, but may negatively impact performance - if (DZE_GarageDoor_Opener) then { - local _doors = nearestObjects [DZE_myVehicle, DZE_GarageDoors, DZE_GarageDoor_Radius]; - - if (count _doors > 0 && {driver DZE_myVehicle == player}) then { - local _hasAccess = [player,_doors select 0] call FNC_check_access; - if (s_player_gdoor_opener_ctrl < 0 && ((_hasAccess select 0) || (_hasAccess select 2) || (_hasAccess select 3) || (_hasAccess select 4))) then { - local _door = DZE_myVehicle addAction [format["%1",localize "STR_CL_GDO_GARAGE"],"\z\addons\dayz_code\actions\garageDoorOpener.sqf",_doors select 0, 1, false, true]; - s_player_gdoor_opener set [count s_player_gdoor_opener,_door]; - s_player_gdoor_opener_ctrl = 1; - }; - } else { - {DZE_myVehicle removeAction _x} count s_player_gdoor_opener;s_player_gdoor_opener = []; - s_player_gdoor_opener_ctrl = -1; - }; - }; } else { {DZE_myVehicle removeAction _x} count s_player_lockUnlockInside;s_player_lockUnlockInside = []; s_player_lockUnlockInside_ctrl = -1; - {DZE_myVehicle removeAction _x} count s_player_gdoor_opener;s_player_gdoor_opener = []; - s_player_gdoor_opener_ctrl = -1; }; if (DZE_HeliLift) then { @@ -234,7 +215,6 @@ if (!isNull _cursorTarget && {!_inVehicle && !_isPZombie && _canDo && player dis local _weaponsPlayer = weapons player; local _hasCrowbar = "ItemCrowbar" in _itemsPlayer || "MeleeCrowbar" in _weaponsPlayer || dayz_onBack == "MeleeCrowbar"; local _hasToolbox = "ItemToolbox" in _itemsPlayer; - local _hasKeymakerskit = "ItemKeyKit" in _itemsPlayer; local _isAlive = alive _cursorTarget; local _text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName"); local _isPlant = _typeOfCursorTarget in Dayz_plants; @@ -569,12 +549,11 @@ if (!isNull _cursorTarget && {!_inVehicle && !_isPZombie && _canDo && player dis // Allow Owner to lock and unlock vehicle if (_player_lockUnlock_crtl) then { - local _totalKeys = call epoch_tempKeys; - local _temp_keys = _totalKeys select 0; - local _temp_keys_names = _totalKeys select 1; - local _hasKey = _characterID in _temp_keys; - if (s_player_lockUnlock_crtl < 0) then { + local _totalKeys = call epoch_tempKeys; + local _temp_keys = _totalKeys select 0; + local _temp_keys_names = _totalKeys select 1; + local _hasKey = _characterID in _temp_keys; local _oldOwner = (_characterID == _uid); local _unlock = []; @@ -600,18 +579,9 @@ if (!isNull _cursorTarget && {!_inVehicle && !_isPZombie && _canDo && player dis }; }; }; - if (DZE_VehicleKey_Changer) then { - if (s_player_copyToKey < 0) then { - if ((_hasKeymakerskit && _hasKey && !_isLocked && {(count _temp_keys) > 1}) || {_cursorTarget getVariable ["hotwired",false]}) then { - s_player_copyToKey = player addAction [format["%1",localize "STR_CL_VKC_CHANGE_ACTION"],"\z\addons\dayz_code\actions\vkc\vehicleKeyChanger.sqf",[_cursorTarget,_characterID,if (_cursorTarget getVariable ["hotwired",false]) then {"claim"} else {"change"}],5,false,true]; - }; - }; - }; } else { {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; - player removeAction s_player_copyToKey; - s_player_copyToKey = -1; }; if (DZE_Hide_Body && {_isMan && !_isAlive}) then { @@ -646,7 +616,7 @@ if (!isNull _cursorTarget && {!_inVehicle && !_isPZombie && _canDo && player dis }; //Allow owner to unlock vault - if (_isClose && !keypadCancel && {(_typeOfCursorTarget in (DZE_LockedStorage + DZE_UnLockedStorage)) && {_characterID != "0"}}) then { + if (_isClose && !keypadCancel && {(_typeOfCursorTarget in DZE_LockedStorage) && {_characterID != "0"}}) then { if (s_player_unlockvault < 0) then { local _combi = []; if (_typeOfCursorTarget in DZE_LockedStorage) then { @@ -820,73 +790,22 @@ if (!isNull _cursorTarget && {!_inVehicle && !_isPZombie && _canDo && player dis player removeAction s_player_fillgen; s_player_fillgen = -1; }; - - if (DZE_VehicleKey_Changer) then { - if (_hasKeymakerskit && _isVehicle && !_isMan && _isAlive && {_characterID == "0"}) then { - if (s_player_claimVehicle < 0) then { - _totalKeys = call epoch_tempKeys; - if (count (_totalKeys select 0) > 0) then { - s_player_claimVehicle = player addAction [format["%1",format[localize "STR_CL_VKC_CLAIM_ACTION",_text]],"\z\addons\dayz_code\actions\vkc\vehicleKeyChanger.sqf",[_cursorTarget,_characterID,"claim"],5,false,true]; - }; - }; - } else { - player removeAction s_player_claimVehicle; - s_player_claimVehicle = -1; - }; - }; - if (!_isAlive && _isMan && !_isZombie && {!(_cursorTarget isKindOf "Animal")}) then { - if (DZE_Take_Clothes) then { - if (!(_cursorTarget getVariable["clothesTaken",false]) && {_typeOfCursorTarget in AllPlayers} && {!(_typeOfCursorTarget in DZE_Disable_Take_Clothes)}) then { - if (s_player_clothes < 0) then { - s_player_clothes = player addAction [format["%1",localize "STR_CL_TC_TAKE_CLOTHES"],"\z\addons\dayz_code\actions\takeClothes.sqf",_cursorTarget,0, false,true]; - }; + //Towing with tow truck + /* + if(_typeOfCursorTarget == "TOW_DZE") then { + if (s_player_towing < 0) then { + if(!(_cursorTarget getVariable ["DZEinTow", false])) then { + s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true]; } else { - player removeAction s_player_clothes; - s_player_clothes = -1; - }; - }; - - if (DZE_Bury_Body) then { - local _hasShovel = ("ItemEtool" in _itemsPlayer || "ItemShovel" in _itemsPlayer); - if (_hasShovel && !(_cursorTarget getVariable ["bodyButchered",false])) then { - if (s_player_bury_human < 0) then { - s_player_bury_human = player addAction [format["%1",localize "STR_CL_BA_BURY"],"\z\addons\dayz_code\actions\buryActions.sqf",[_cursorTarget,"bury"],0,false,true]; - }; - } else { - player removeAction s_player_bury_human; - s_player_bury_human = -1; - }; - }; - - if (DZE_Butcher_Body) then { - if (({_x in ["ItemKnife","ItemKnife5","ItemKnife4","ItemKnife3","ItemKnife2","ItemKnife1"]} count _itemsPlayer > 0) && !(_cursorTarget getVariable ["bodyButchered",false])) then { - if (s_player_butcher_human < 0) then { - s_player_butcher_human = player addAction [format["%1",localize "STR_CL_BA_BUTCHER"],"\z\addons\dayz_code\actions\buryActions.sqf",[_cursorTarget,"butcher"],0,false,true]; - }; - } else { - player removeAction s_player_butcher_human; - s_player_butcher_human = -1; + s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true]; }; }; + } else { + player removeAction s_player_towing; + s_player_towing = -1; }; - - if (DZE_Virtual_Garage) then { - if (_typeOfCursorTarget in vg_List) then { - if (s_garage_dialog < 0) then { - local _hasAccess = [player,_cursorTarget] call FNC_check_access; - local _plotCheck = [player, false] call FNC_find_plots; - local _isNearPlot = ((_plotCheck select 1) > 0); - - if ((_isNearPlot && ((_hasAccess select 0) || (_hasAccess select 2) || (_hasAccess select 3) || (_hasAccess select 4))) || !_isNearPlot) then { - s_garage_dialog = player addAction [format["%1",localize "STR_CL_VG_VIRTUAL_GARAGE"],"\z\addons\dayz_code\actions\virtualGarage\virtualGarage.sqf",_cursorTarget,3,false,true]; - }; - }; - } else { - player removeAction s_garage_dialog; - s_garage_dialog = -1; - }; - }; + */ // ZSC if (Z_singleCurrency) then { @@ -1160,18 +1079,6 @@ if (!isNull _cursorTarget && {!_inVehicle && !_isPZombie && _canDo && player dis s_bank_dialog3 = -1; player removeAction s_player_checkWallet; s_player_checkWallet = -1; - player removeAction s_player_clothes; - s_player_clothes = -1; - player removeAction s_player_bury_human; - s_player_bury_human = -1; - player removeAction s_player_butcher_human; - s_player_butcher_human = -1; - player removeAction s_player_copyToKey; - s_player_copyToKey = -1; - player removeAction s_player_claimVehicle; - s_player_claimVehicle = -1; - player removeAction s_garage_dialog; - s_garage_dialog = -1; }; //Dog actions on player self @@ -1203,4 +1110,4 @@ if (_dogHandle > 0) then { }; //Monitor -player setVariable ["selfActions", diag_ticktime, false]; +player setVariable ["selfActions", diag_ticktime, false]; \ No newline at end of file diff --git a/SQF/dayz_code/compile/local_gutObject.sqf b/SQF/dayz_code/compile/local_gutObject.sqf index 48eed429f..aad00420d 100644 --- a/SQF/dayz_code/compile/local_gutObject.sqf +++ b/SQF/dayz_code/compile/local_gutObject.sqf @@ -1,43 +1,38 @@ -local _body = _this select 0; -local _qty = _this select 1; -local _rawfoodtype = ""; -local _bodyType = typeOf _body; -local _time = diag_tickTime; +private ["_amount","_animalbody","_rawfoodtype","_qty"]; -call { - if (_body isKindOf "zZombie_base") exitWith { - _qty = 1; - _rawfoodtype = "ItemZombieParts"; - }; - - if (_bodyType == "z_bloodsucker") exitWith { - _qty = 1; - _rawfoodtype = "ItemMutantHeart"; // toolbelt item - }; - // default is animal - _rawfoodtype = getText (configFile >> "CfgSurvival" >> "Meat" >> _bodyType >> "rawfoodtype"); +_animalbody = _this select 0; +_qty = _this select 1; + +if (_animalbody isKindOf "zZombie_base") then { + _qty = 1; + _rawfoodtype = "ItemZombieParts"; +} else { + _rawfoodtype = getText (configFile >> "CfgSurvival" >> "Meat" >> typeOf _animalbody >> "rawfoodtype"); }; -if (local _body) then { +if (local _animalbody) then { for "_i" from 1 to _qty do { - if (_rawfoodtype == "ItemMutantHeart") then { - _body addWeapon _rawfoodtype; - } else { - _body addMagazine _rawfoodtype; - }; + _animalbody addMagazine _rawfoodtype; }; - if (_bodyType in ["Cock","Hen"]) then { - local _amount = (floor (random 4)) + 2; + if (typeOf _animalbody in ["Cock","Hen"]) then { + _amount = (floor (random 4)) + 2; for "_x" from 1 to _amount do { - _body addMagazine "equip_feathers"; + _animalbody addMagazine "equip_feathers"; }; }; - while {((count magazines _body > 0) || (count weapons _body > 0)) && (diag_tickTime - _time < 300)} do { - uiSleep 5; + [time, _animalbody] spawn { + _timer = _this select 0; + _body = _this select 1; + _pos = getPosATL _body; + while {(count magazines _body > 0) && (time - _timer < 300)} do { + uiSleep 5; + }; + hideBody _body; + + uiSleep 10; + deleteVehicle _body; + true }; - hideBody _body; - uiSleep 10; - deleteVehicle _body; }; diff --git a/SQF/dayz_code/compile/mutant_findTarget.sqf b/SQF/dayz_code/compile/mutant_findTarget.sqf deleted file mode 100644 index a5dee71f2..000000000 --- a/SQF/dayz_code/compile/mutant_findTarget.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - _localtargets and _remotetargets are set in player_zombieCheck. - The bloodsucker will move in the direction of the player assigned as target. - Players with a mutant heart on tool belt will not be targeted. -*/ - -local _mutant = _this; - -if (isNull _mutant) exitWith {objNull}; // Prevent errors if mutant is suddenly deleted - -local _localtargets = _mutant getVariable ["localtargets",[]]; -local _remotetargets = _mutant getVariable ["remotetargets",[]]; -local _targets = _localtargets + _remotetargets; - -local _target = objNull; -local _scandist = 200; - -{ - local _skip = (DZE_MutantHeartProtect && {_x hasWeapon "ItemMutantHeart"}); - if (!_skip) then { - local _dist = _x distance _mutant; - if (_dist < _scandist) then { - _target = _x; - _scandist = _dist; - }; - }; -} count _targets; - -_target \ No newline at end of file diff --git a/SQF/dayz_code/compile/mutant_generate.sqf b/SQF/dayz_code/compile/mutant_generate.sqf deleted file mode 100644 index ca1278726..000000000 --- a/SQF/dayz_code/compile/mutant_generate.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// Select random position between 50 and 100 meters away from the building. -local _pos = [_this, 50, 100, 1] call fn_selectRandomLocation; - -if (surfaceIsWater _pos) exitWith { diag_log "Mutant_Generate: Location is in water...abort"; }; - -// Create mutant -_agent = createAgent ["z_bloodsucker", _pos, [], 0, "NONE"]; -_agent setDir (random 360); -_agent setPosATL _pos; - -// Add to counts -dayz_spawnBloodsuckers = dayz_spawnBloodsuckers + 1; -dayz_CurrentNearBloodsuckers = dayz_CurrentNearBloodsuckers + 1; -dayz_currentGlobalBloodsuckers = dayz_currentGlobalBloodsuckers + 1; - -//diag_log format ["Bloodsucker Counts: Current local - %1, Current near - %2, Current global - %3",dayz_spawnBloodsuckers,dayz_CurrentNearBloodsuckers,dayz_currentGlobalBloodsuckers]; diff --git a/SQF/dayz_code/compile/player_alertZombies.sqf b/SQF/dayz_code/compile/player_alertZombies.sqf index 38b1c8b15..8a222e24e 100644 --- a/SQF/dayz_code/compile/player_alertZombies.sqf +++ b/SQF/dayz_code/compile/player_alertZombies.sqf @@ -1,16 +1,23 @@ -local _unit = _this select 0; -local _distance = _this select 1; -local _doRun = _this select 2; -local _pos = _this select 3; +private ["_unit","_distance","_doRun","_pos","_listTalk","_zombie","_50","_localtargets","_remotetargets","_targets","_dis"]; + +_unit = _this select 0; +_distance = _this select 1; +_doRun = _this select 2; +_pos = _this select 3; + +_listTalk = _pos nearEntities ["zZombie_Base",_distance]; { - local _dis = _x distance _unit; + _distance = _distance max floor(_distance*.9); + _dis = _x distance _unit; + _zombie = _x; + call { if (_dis < 51) exitwith { if (_doRun) then { - local _localtargets = _x getVariable ["localtargets",[]]; - local _remotetargets = _x getVariable ["remotetargets",[]]; - local _targets = _localtargets + _remotetargets; + _localtargets = _x getVariable ["localtargets",[]]; + _remotetargets = _x getVariable ["remotetargets",[]]; + _targets = _localtargets + _remotetargets; if (!(_unit in _targets)) then { if !(local _x) then { _remotetargets set [count _remotetargets,_unit]; @@ -21,15 +28,16 @@ local _pos = _this select 3; }; }; } else { - _x setVariable ["myDest",_pos,true]; + _zombie setVariable ["myDest",_pos,true]; }; }; if ((_dis > 50) && {_dis <= 71}) exitwith { - if (random 100 < 50) then { + _50 = round(random 100); + if (_50 < 50) then { if (_doRun) then { - local _localtargets = _x getVariable ["localtargets",[]]; - local _remotetargets = _x getVariable ["remotetargets",[]]; - local _targets = _localtargets + _remotetargets; + _localtargets = _x getVariable ["localtargets",[]]; + _remotetargets = _x getVariable ["remotetargets",[]]; + _targets = _localtargets + _remotetargets; if (!(_unit in _targets)) then { if !(local _x) then { _remotetargets set [count _remotetargets,_unit]; @@ -40,14 +48,14 @@ local _pos = _this select 3; }; }; } else { - _x setVariable ["myDest",_pos,true]; + _zombie setVariable ["myDest",_pos,true]; }; } else { - _x setVariable ["myDest",_pos,true]; + _zombie setVariable ["myDest",_pos,true]; }; }; if (_dis > 70) exitwith { - _x setVariable ["myDest",_pos,true]; + _zombie setVariable ["myDest",_pos,true]; }; }; -} count (_pos nearEntities ["Zed_Base",_distance]); +} count _listTalk; diff --git a/SQF/dayz_code/compile/player_forceSave.sqf b/SQF/dayz_code/compile/player_forceSave.sqf index eccc222d0..9cde166e9 100644 --- a/SQF/dayz_code/compile/player_forceSave.sqf +++ b/SQF/dayz_code/compile/player_forceSave.sqf @@ -8,7 +8,7 @@ That will interrupt actions like shooting. For loops use player_regularSave but local _magazineArray = [] call player_countMagazines; -PVDZ_plr_Save = [player, if (player isKindOf "PZombie_VB") then {nil} else {_magazineArray}]; +PVDZ_plr_Save = [player, if (player isKindOf "PZombie_VB") then {nil} else {_magazineArray},dayz_onBack,weapons player]; publicVariableServer "PVDZ_plr_Save"; //diag_log format["Player_forceSave with magazines: %1",_magazineArray]; diff --git a/SQF/dayz_code/compile/player_gearSet.sqf b/SQF/dayz_code/compile/player_gearSet.sqf index 37930558d..6c3386cd8 100644 --- a/SQF/dayz_code/compile/player_gearSet.sqf +++ b/SQF/dayz_code/compile/player_gearSet.sqf @@ -5,7 +5,6 @@ if (count _inventory > 0) then { _mags = _inventory select 1; dayz_onBack = if (count _inventory > 2) then { _inventory select 2 } else { "" }; - player setVariable ["dayz_onBack",dayz_onBack,true]; //Add inventory { diff --git a/SQF/dayz_code/compile/player_humanityMorph.sqf b/SQF/dayz_code/compile/player_humanityMorph.sqf index 2d81df18e..008a6f504 100644 --- a/SQF/dayz_code/compile/player_humanityMorph.sqf +++ b/SQF/dayz_code/compile/player_humanityMorph.sqf @@ -28,7 +28,6 @@ local _ConfirmedBanditKills = player getVariable ["ConfirmedBanditKills",0]; local _friendlies = player getVariable ["friendlies",[]]; local _tagSetting = player getVariable ["DZE_display_name",false]; local _radiostate = player getVariable ["radiostate",false]; -local _dayz_onBack = player getVariable ["dayz_onBack",""]; local _coins = 0; local _bankCoins = 0; local _globalCoins = 0; @@ -98,7 +97,6 @@ player setVariable ["ConfirmedBanditKills",_ConfirmedBanditKills,true]; player setVariable ["friendlies",_friendlies,true]; player setVariable ["DZE_display_name",_tagSetting,true]; player setVariable ["radiostate",_radiostate]; -player setVariable ["dayz_onBack",_dayz_onBack,true]; if (Z_SingleCurrency) then { player setVariable ["cashMoney",_coins,true]; diff --git a/SQF/dayz_code/compile/player_mutantAttack.sqf b/SQF/dayz_code/compile/player_mutantAttack.sqf deleted file mode 100644 index 6394004dd..000000000 --- a/SQF/dayz_code/compile/player_mutantAttack.sqf +++ /dev/null @@ -1,76 +0,0 @@ -/* - DayZ Epoch mutant attack script by JasonTM - Adapted from player_zombieAttack by facoptere - and Nightstalker melee attack effects by sumraknightstalkers.cz -*/ - -local _mutant = _this; -if (isNull _mutant) exitWith {}; // Prevent errors if mutant is deleted suddenly - -local _damage = 0.5 + random (1.2); // Not sure about this. Maybe bloodsuckers should cause more damage. -local _wound = ""; -local _dir = [_mutant,player] call BIS_Fnc_dirTo; -_mutant setDir _dir; - -if (r_player_blood < (r_player_bloodTotal * 0.8)) then { - local _cnt = count (DAYZ_woundHit select 1); - local _index = floor (random _cnt); - _index = (DAYZ_woundHit select 1) select _index; - _wound = (DAYZ_woundHit select 0) select _index; -} else { - local _cnt = count (DAYZ_woundHit_ok select 1); - local _index = floor (random _cnt); - _index = (DAYZ_woundHit_ok select 1) select _index; - _wound = (DAYZ_woundHit_ok select 0) select _index; -}; - -local _pos = getPosATL player; -local _nearPlayer = false; - -{ - if (isPlayer _x && _x != player && {_x distance _pos < 100}) exitWith {_nearPlayer = true;}; -} count playableUnits; - -// Select a random attack sound -_sound = ["bloodatt0","bloodatt1","bloodatt2","bloodatt3"] call BIS_fnc_selectRandom; - -// Broadcast hit noise and animation if a player is near -if (_nearPlayer) then { - [_mutant,_sound,0,false] call dayz_zombieSpeak; - //[objNull, _mutant, rplayMove, "AmelPercMstpSnonWnonDnon_amaterUder2"] call RE; - [nil, _mutant, rSwitchMove, "AmelPercMstpSnonWnonDnon_amaterUder2"] call RE; -} else { - [_mutant,_sound,0,true] call dayz_zombieSpeak; - //_mutant playMove "AmelPercMstpSnonWnonDnon_amaterUder2"; - _mutant switchMove "AmelPercMstpSnonWnonDnon_amaterUder2"; -}; - -uiSleep 0.3; // This sleep better coordinates the UI effects below with the animation and attack sound above. - -if (DZE_BloodsuckerScreenEffect) then {cutRSC ["mutant_attack","PLAIN"];}; // the cool red slash marks that show up on screen. -"dynamicBlur" ppEffectEnable true; -"dynamicBlur" ppEffectAdjust [2]; -"dynamicBlur" ppEffectCommit 0.1; - -_pp = ppEffectCreate ["colorCorrections", 1553]; -_pp ppEffectEnable true; -_pp ppEffectAdjust [1, 1, 0, [0.1, 0.0, 0.0, 1], [1.0, 0.5, 0.5, 0.1], [0.199, 0.587, 0.114, 0.0]]; -_pp ppEffectCommit 0.1; -uiSleep 0.1; -_pp ppEffectAdjust [1, 1, 0, [0.1, 0.0, 0.0, 0.5], [1.0, 0.5, 0.5, 0.1], [0.199, 0.587, 0.114, 0.0]]; -_pp ppEffectCommit 0.3; -uiSleep 0.3; -ppEffectDestroy _pp; - -[player, _wound, _damage, _mutant, "zombie"] call fnc_usec_damageHandler; - -uiSleep 0.2; - -if (_nearPlayer) then { - [nil, _mutant, rSWITCHMOVE, ""] call RE; -} else { - _mutant switchMove ""; -}; - -uiSleep 3; -"dynamicBlur" ppEffectEnable false; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_regularSave.sqf b/SQF/dayz_code/compile/player_regularSave.sqf index 8aa0aae24..09172e247 100644 --- a/SQF/dayz_code/compile/player_regularSave.sqf +++ b/SQF/dayz_code/compile/player_regularSave.sqf @@ -15,5 +15,5 @@ local _magazineArray = (magazines player) - ["CSGAS","Hatchet_Swing","Crowbar_Swing","Machete_Swing","Bat_Swing","BatBarbed_Swing","BatNails_Swing","Fishing_Swing","Sledge_Swing"]; -PVDZ_plr_Save = [player,_magazineArray]; +PVDZ_plr_Save = [player,_magazineArray,dayz_onBack,weapons player]; publicVariableServer "PVDZ_plr_Save"; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_spawnCheck.sqf b/SQF/dayz_code/compile/player_spawnCheck.sqf index e6aed8be5..7cff6dea9 100644 --- a/SQF/dayz_code/compile/player_spawnCheck.sqf +++ b/SQF/dayz_code/compile/player_spawnCheck.sqf @@ -21,22 +21,6 @@ dayz_maxControlledZombies = dayz_maxLocalZombies; // This variable is also used // Current loot spawns dayz_currentWeaponHolders = count (_position nearObjects ["ReammoBox",_radius]); -// Current bloodsuckers -if (DZE_Bloodsuckers) then { - local _bloodsuckers = entities "z_bloodsucker"; - dayz_currentGlobalBloodsuckers = count _bloodsuckers; - dayz_CurrentNearBloodsuckers = 0; - dayz_spawnBloodsuckers = 0; - { - if ((_x distance _position) < _radius && {alive _x}) then { - if (local _x) then { - dayz_spawnBloodsuckers = dayz_spawnBloodsuckers + 1; - }; - dayz_CurrentNearBloodsuckers = dayz_CurrentNearBloodsuckers + 1; - }; - } count _bloodsuckers; -}; - // In vehicle check local _vehicle = vehicle player; local _inVehicle = (_vehicle != player); diff --git a/SQF/dayz_code/compile/player_zombieCheck.sqf b/SQF/dayz_code/compile/player_zombieCheck.sqf index b15d05ed0..73f891fc7 100644 --- a/SQF/dayz_code/compile/player_zombieCheck.sqf +++ b/SQF/dayz_code/compile/player_zombieCheck.sqf @@ -1,145 +1,139 @@ -// Check for near zombies and mutants and attack player +private ["_attacked","_chance","_near","_targeted","_localtargets","_remotetargets","_forcedSpeed","_vehicle","_refObj", +"_multiplier","_isAir","_hearingThreshold","_sightThreshold","_type","_dist","_attackDist", +"_targetedBySight","_targetedBySound","_targets","_last","_entHeight","_pHeight","_delta","_attackResult","_cantSee","_tPos","_zPos", +"_targetAngle","_inAngle","_lowBlood","_speedMin","_speedMax"]; -local _vehicle = vehicle player; -local _inVehicle = _vehicle != player; -local _refObj = driver _vehicle; -local _attacked = false; // at least one Z attacked the player -local _isAir = _vehicle isKindOf "Air"; -local _speedMin = DZE_ZombieSpeed select 0; -local _speedMax = DZE_ZombieSpeed select 1; -local _cantSee = false; +_vehicle = vehicle player; +_refObj = driver _vehicle; +_attacked = false; // at least one Z attacked the player +_near = false; +//_multiplier = 1; +_isAir = _vehicle isKindOf "Air"; +_speedMin = DZE_ZombieSpeed select 0; +_speedMax = DZE_ZombieSpeed select 1; { - local _isZombie = _x isKindOf "zZombie_base"; - local _isMutant = (DZE_Bloodsuckers && {typeOf _x == "z_bloodsucker"}); - local _forcedSpeed = if ((_speedMin != _speedMax) && {(_speedMin > 0) && (_speedMax > 0)}) then {((random (DZE_ZombieSpeed select 1)) max (DZE_ZombieSpeed select 0));} else {getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "forcedSpeed");}; - local _dist = _x distance _refObj; - local _chance = 1; //0 / dayz_monitorPeriod; // Z verbosity - local _targetedBySight = false; - local _targetedBySound = false; - local _localtargets = _x getVariable ["localtargets",[]]; - local _remotetargets = _x getVariable ["remotetargets",[]]; - local _targets = _localtargets + _remotetargets; - - if (_isMutant) then { - if (_dist <= 5) then { - local _skin = _x getVariable ["mutantSkin", "act_krovosos_new1"]; // Set textures locally on each client to prevent issues with RESec - _x setObjectTexture [0, format["\nst\ns_mutants\blood\%1.paa",_skin]]; - } else { - _x setObjectTexture [0, ""]; - local _sound = ["bloodgrowl0","bloodgrowl2","bloodgrowl3","bloodgrowl4","bloodforest1","bloodforest2","bloodforest3","bloodforest4"] call BIS_fnc_selectRandom; - [_x,_sound,(_chance + 4),false] call dayz_zombieSpeak; - }; - }; - - if (_isZombie) then { - if (_x distance _refObj >= (dayz_areaAffect*2)) then { - if (speed _x < 4) then { - [_x,"idle",(_chance + 4),true] call dayz_zombieSpeak; - } else { - [_x,"chase",(_chance + 3),true] call dayz_zombieSpeak; - }; - }; - if (_dist >= 3.3) then {_x setVariable ["speedLimit",_forcedSpeed,false];}; - }; - - if (_refObj in _targets) then { - if (_isZombie) then {_x setVariable ["speedLimit", 0, false];}; + _forcedSpeed = if ((_speedMin != _speedMax) && {(_speedMin > 0) && (_speedMax > 0)}) then {((random (DZE_ZombieSpeed select 1)) max (DZE_ZombieSpeed select 0));} else {getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "forcedSpeed");}; + //_forcedSpeed = getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "forcedSpeed"); + //_hearingThreshold = getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "hearingThreshold"); + //_sightThreshold = getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "sightThreshold"); - if (_dist <= 3) then { - //Force AI to Stand - _x setUnitPos "UP"; - if !(animationState _x == "ZombieFeed") then { - local _last = _x getVariable ["lastAttack", 0]; - local _entHeight = (getPosATL _x) select 2; - local _pHeight = (getPosATL _refObj) select 2; - local _delta = _pHeight - _entHeight; - if (((diag_tickTime - _last) > 1.5) && ((_delta < 1.5) && (_delta > -1.5))) then { - _cantSee = [_refObj,_x] call dayz_losCheck; - if (!_cantSee) then { - if (_isZombie) then { - [_x, "zombie"] spawn player_zombieAttack; - } else { - local _noAttack = (DZE_MutantHeartProtect && {_refObj hasWeapon "ItemMutantHeart"}); - if (!_noAttack && !_inVehicle) then { - _x spawn player_mutantAttack; - }; - }; - _x setVariable ["lastAttack", diag_tickTime]; - }; - }; - }; - } else { - if (_isZombie) then {_x setVariable ["speedLimit", _forcedSpeed, false];}; - }; - _attacked = true; - } else { - if (_isZombie) then {_x setVariable ["speedLimit", _forcedSpeed, false];}; - }; - - //Block all target attempts while in an aircraft - if (!_isAir) then { - if !(_refObj in _targets) then { - //Noise Activation (zed is within players audial projection) - if (_dist < DAYZ_disAudial) then { - if (DAYZ_disAudial > 80) then { - _targetedBySound = true; + if !(typeOf _x == "swarm_newBase") then { + _type = "zombie"; + if (alive _x) then { + private ["_dist","_attackDist"]; + _dist = _x distance _refObj; + _group = _x; + _chance = 1; //0 / dayz_monitorPeriod; // Z verbosity + _targetedBySight = false; + _targetedBySound = false; + _localtargets = _group getVariable ["localtargets",[]]; + _remotetargets = _group getVariable ["remotetargets",[]]; + _targets = _localtargets + _remotetargets; + + if (_x distance player >= (dayz_areaAffect*2)) then { + if (speed _x < 4) then { + [_x,"idle",(_chance + 4),true] call dayz_zombieSpeak; } else { - //if (DAYZ_disAudial > 6) then { - _chance = [_x,_dist,DAYZ_disAudial] call dayz_losChance; - //diag_log ("Visual Detection: " + str([_x,_dist]) + " " + str(_chance)); - if ((random 1) < _chance) then { - //make sure the player isnt behind a building or wall if target is in the open always target if player is making too much noise - _cantSee = [_refObj,_x] call dayz_losCheck; - if (!_cantSee) then { - _targetedBySound = true; - } else { - if (_dist < (DAYZ_disAudial / 2)) then {_targetedBySound = true;}; - }; - }; - //}; + [_x,"chase",(_chance + 3),true] call dayz_zombieSpeak; }; }; - //Sight Activation - if (_dist < DAYZ_disVisual) then { - _chance = [_x,_dist,DAYZ_disVisual] call dayz_losChance; - if ((random 1) < _chance) then { - local _tPos = getPosASL _vehicle; - local _zPos = getPosASL _x; - local _targetAngle = 30; - local _inAngle = [_zPos,(direction _x),_targetAngle,_tPos] call fnc_inAngleSector; - if (_inAngle) then { - _cantSee = [_refObj,_x] call dayz_losCheck; - if (!_cantSee) then {_targetedBySight = true;}; + if (_x distance _refObj >= 3.3) then {_x setVariable ["speedLimit",_forcedSpeed,false];}; + //if (!local _x) then { + if (_refObj in _targets) then { + _last = _x getVariable ["lastAttack", 0]; + _entHeight = (getPosATL _x) select 2; + _pHeight = (getPosATL _refObj) select 2; + _delta = _pHeight - _entHeight; + _x setVariable ["speedLimit", 0, false]; + + if (_x distance _refObj <= 3) then { + //Force AI to Stand + _x setUnitPos "UP"; + if !(animationState _x == "ZombieFeed") then { + if (((diag_tickTime - _last) > 1.5) && ((_delta < 1.5) && (_delta > -1.5))) then { + _cantSee = [_x,_refObj] call dayz_losCheck; + if (!_cantSee) then { + _attackResult = [_x, _type] spawn player_zombieAttack; + _x setVariable ["lastAttack", diag_tickTime]; + }; + }; + }; + } else { + _x setVariable ["speedLimit", _forcedSpeed, false]; }; - }; + _attacked = true; + } else { + _x setVariable ["speedLimit", _forcedSpeed, false]; + }; + //}; + + //Block all target atteps while in a vehicle + if (!_isAir) then { + if !(_refObj in _targets) then { + //Noise Activation (zed is within players audial projection) + if (_dist < DAYZ_disAudial) then { + if (DAYZ_disAudial > 80) then { + _targetedBySound = true; + } else { + //if (DAYZ_disAudial > 6) then { + _chance = [_x,_dist,DAYZ_disAudial] call dayz_losChance; + //diag_log ("Visual Detection: " + str([_x,_dist]) + " " + str(_chance)); + if ((random 1) < _chance) then { + //make sure the player isnt behind a building or wall if target is in the open always target if player is making too much noise + _cantSee = [_refObj,_x] call dayz_losCheck; + if (!_cantSee) then { + _targetedBySound = true; + } else { + if (_dist < (DAYZ_disAudial / 2)) then {_targetedBySound = true;}; + }; + }; + //}; + }; + }; + + //Sight Activation + if (_dist < DAYZ_disVisual ) then { + _chance = [_x,_dist,DAYZ_disVisual] call dayz_losChance; + if ((random 1) < _chance) then { + _tPos = getPosASL _vehicle; + _zPos = getPosASL _x; + _targetAngle = 30; + _inAngle = [_zPos,(direction _x),_targetAngle,_tPos] call fnc_inAngleSector; + if (_inAngle) then { + _cantSee = [_refObj,_x] call dayz_losCheck; + if (!_cantSee) then {_targetedBySight = true;}; + }; + }; + }; + }; + }; + + if (_targetedBySight or _targetedBySound) then { + [_x, "spotted", 0, false] call dayz_zombieSpeak; + //diag_log format["Zombie: %1, Distance: %2, Target Reason: Sight-%3,%5/Sound-%4,%6",(typeof _x),_dist,_targetedBySight,_targetedBySound,DAYZ_disVisual,DAYZ_disAudial]; + + switch (local _x) do { + case false: { + _remotetargets set [count _remotetargets,_refObj]; + _x setVariable ["remotetargets",_remotetargets,true]; + }; + case true: { + _localtargets set [count _localtargets,_refObj]; + _x setVariable ["localtargets",_localtargets,false]; + }; + }; }; }; }; - - if (_targetedBySight || _targetedBySound) then { - local _sound = ["spotted","bloodgrowl1"] select _isMutant; - [_x, _sound, 0, false] call dayz_zombieSpeak; - //diag_log format["Zombie: %1, Distance: %2, Target Reason: Sight-%3,%5/Sound-%4,%6",(typeof _x),_dist,_targetedBySight,_targetedBySound,DAYZ_disVisual,DAYZ_disAudial]; - - if (local _x) then { - _localtargets set [count _localtargets,_refObj]; - _x setVariable ["localtargets",_localtargets,false]; - } else { - _remotetargets set [count _remotetargets,_refObj]; - _x setVariable ["remotetargets",_remotetargets,true]; - }; - }; - - if (_isMutant && {DZE_BloodsuckerDeleteNearTrader && isInTraderCity}) then {deleteVehicle _x}; // Delete bloodsucker if the player is in a trader city } forEach ((getPosATL _refObj) nearEntities ["Zed_Base",100]); if (_attacked) then { if (r_player_unconscious) then { [_refObj, "scream", 6, false] call dayz_zombieSpeak; } else { - local _lowBlood = (r_player_blood / r_player_bloodTotal) < 0.5; + _lowBlood = (r_player_blood / r_player_bloodTotal) < 0.5; if (diag_ticktime - dayz_panicCooldown > 9 && _lowBlood) then { //Prevents overlapping sounds (panic tracks are 4-9s, this script is called every 1s) //50% chance every 9s @@ -149,5 +143,5 @@ if (_attacked) then { }; }; -// return true if attacked. if so, player_monitor will perform its ridiculous 'while true' loop faster. -_attacked +// return true if attacked or near. if so, player_monitor will perform its ridiculous 'while true' loop faster. +(_attacked OR _near) diff --git a/SQF/dayz_code/compile/Rightclicks/ui_selectSlot_vanilla.sqf b/SQF/dayz_code/compile/ui_selectSlot.sqf similarity index 62% rename from SQF/dayz_code/compile/Rightclicks/ui_selectSlot_vanilla.sqf rename to SQF/dayz_code/compile/ui_selectSlot.sqf index e33d457e2..04740e5bf 100644 --- a/SQF/dayz_code/compile/Rightclicks/ui_selectSlot_vanilla.sqf +++ b/SQF/dayz_code/compile/ui_selectSlot.sqf @@ -1,7 +1,8 @@ +//private ["_control","_button","_parent","_group","_pos","_item","_conf","_name","_cfgActions","_numActions","_height","_menu","_config","_type","_script","_outputOriented","_compile","_array","_outputClass","_outputType"]; disableSerialization; -local _control = _this select 0; -local _button = _this select 1; -local _parent = findDisplay 106; +_control = _this select 0; +_button = _this select 1; +_parent = findDisplay 106; if (carryClick) then {carryClick = false;}; @@ -11,10 +12,12 @@ if (_button == 1) then { localize "str_player_actionslimit" call dayz_rollingMessages; }; - local _group = _parent displayCtrl 6902; - local _pos = ctrlPosition _group; - local _item = gearSlotData _control; - + private ["_conf","_name","_compile","_height","_item"]; + _group = _parent displayCtrl 6902; + + _pos = ctrlPosition _group; + + _item = gearSlotData _control; if ( //No right click action (!DZE_SelfTransfuse && {_item in ["ItemBloodbag","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]}) ) exitWith {}; @@ -27,28 +30,28 @@ if (_button == 1) then { _pos set [0,((_this select 2) + 0.46)]; _pos set [1,((_this select 3) + 0.07)]; - local _conf = configFile >> "cfgMagazines" >> _item; + _conf = configFile >> "cfgMagazines" >> _item; if (!isClass _conf) then { _conf = configFile >> "cfgWeapons" >> _item; }; - local _name = getText(_conf >> "displayName"); + _name = getText(_conf >> "displayName"); - local _cfgActions = _conf >> "ItemActions"; - local _numActions = (count _cfgActions); - local _height = 0; + _cfgActions = _conf >> "ItemActions"; + _numActions = (count _cfgActions); + _height = 0; if (!dayz_groupSystem && {_item == "ItemRadio"}) then {_numActions = 1;}; // Used to bypass the group action when not enabled. - local _i = 0; //Populate Menu - while {_i <= (_numActions - 1)} do { - local _menu = _parent displayCtrl (1600 + _i); + for "_i" from 0 to (_numActions - 1) do + { + _menu = _parent displayCtrl (1600 + _i); _menu ctrlShow true; - local _config = (_cfgActions select _i); - local _type = getText (_config >> "text"); - local _script = getText (_config >> "script"); - local _outputOriented = getNumber (_config >> "outputOriented") == 1; + _config = (_cfgActions select _i); + _type = getText (_config >> "text"); + _script = getText (_config >> "script"); + _outputOriented = getNumber (_config >> "outputOriented") == 1; _height = _height + (0.025 * safezoneH); - local _compile = format["_id = '%2' %1;",_script,_item]; + _compile = format["_id = '%2' %1;",_script,_item]; uiNamespace setVariable ['uiControl', _control]; if (_outputOriented) then { /* @@ -56,16 +59,15 @@ if (_button == 1) then { the output class will then be transferred to the script and the type used for the name */ - local _array = getArray (_config >> "output"); - local _outputClass = _array select 0; - local _outputType = _array select 1; + _array = getArray (_config >> "output"); + _outputClass = _array select 0; + _outputType = _array select 1; _name = getText (configFile >> _outputType >> _outputClass >> "displayName"); _compile = format["_id = ['%2',%3] %1;",_script,_item,_array]; }; _menu ctrlSetText format[_type,_name]; _menu ctrlSetEventHandler ["ButtonClick",_compile]; - _i = _i + 1; }; _pos set [3,_height]; @@ -75,4 +77,4 @@ if (_button == 1) then { ctrlSetFocus _group; _group ctrlSetPosition _pos; _group ctrlCommit 0; -}; \ No newline at end of file +}; diff --git a/SQF/dayz_code/config.cpp b/SQF/dayz_code/config.cpp index 60dc4615a..50a6ab9f5 100644 --- a/SQF/dayz_code/config.cpp +++ b/SQF/dayz_code/config.cpp @@ -129,9 +129,6 @@ class DefaultEventhandlers { #include "Configs\RscDisplay\doorManagement\doorManagement.hpp" #include "Configs\RscDisplay\doorManagement\doorAccess.hpp" #include "Configs\RscDisplay\zscDialogs.hpp" -#include "Configs\RscDisplay\remoteVehicle.hpp" -#include "Configs\RscDisplay\vehicleKeyChanger.hpp" -#include "Configs\RscDisplay\virtualGarage.hpp" //#include "Configs\RscDisplay\tradermenu.hpp" class CfgTasks diff --git a/SQF/dayz_code/configVariables.sqf b/SQF/dayz_code/configVariables.sqf index 9a87806f8..bba4f3b6d 100644 --- a/SQF/dayz_code/configVariables.sqf +++ b/SQF/dayz_code/configVariables.sqf @@ -3,86 +3,6 @@ // To change a variable copy paste it in the mission init.sqf below the #include line. // Standard DayZ variables are found in dayz_code\init\variables.sqf. -// Both -dayz_infectiouswaterholes = true; //Enable infected waterholes -dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. -dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] -DZE_HeliLift = true; // Enable Epoch heli lift system -DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature -DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. -DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? -dayz_ForcefullmoonNights = false; // Forces night time to be full moon. -infectedWaterHoles = []; //Needed for non-cherno maps. -DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = false; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). - -// Death Messages -DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. -DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. -DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. - -// ZSC -Z_SingleCurrency = false; // Enable single currency system. - -if (Z_SingleCurrency) then { - Z_globalBanking = false; // Enable global banking system. - Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". - CurrencyName = "Coins"; // If using single currency this is the currency display name. - DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] - ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. -}; - -Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. - -// Vehicle Key Changer -DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. - -// Virtual Garage -DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. - -// Plot Management and Plot for Life -DZE_permanentPlot = true; // Plot ownership saves after death. Enables Plot for Life by @RimBlock and Plot Management by @DevZupa. -DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. - -// Door Management -DZE_doorManagement = true; // Enable Door Management by @DevZupa. - -// Group System -dayz_groupSystem = false; // Enable group system - -// Bury and Butcher Bodies -DZE_Bury_Body = false; // Enable Bury Bodies -DZE_Butcher_Body = false; // Enable Butcher Bodies - -// Weather -DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. - -// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. -// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. -DZE_WeatherVariables = [ - 15, // Minimum time in minutes for the weather to change. (default value: 15). - 30, // Maximum time in minutes for the weather to change. (default value: 30). - 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). - .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). - 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. - .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). - 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. - .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. - 0, // Minimum wind strength (default value: 0). - 3, // Maximum wind strength (default value: 5). - .25, // Probability for wind to change when weather changes. (default value: .25). - 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. - 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. - .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). - 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. - 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. - 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. - false, // Allow ground fog when it's snowing or raining? - 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. -]; - //Server if (isServer) then { DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with @@ -103,20 +23,6 @@ if (isServer) then { // ZSC Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. - - // Safe Zone Relocating - DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. - - if (DZE_VehicleKey_Changer) then { - vkc_clearAmmo = true; // Clear the ammo of vehicles after they have been rekeyed/claimed? (stops users getting a free rearm) - vkc_disableThermal = [""]; // Array of vehicle config classes as well as vehicle classnames to disable thermal on when being spawned. i.e: ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"]; - }; - - if (DZE_Virtual_Garage) then { - vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) - vg_disableThermal = []; // Array of vehicle config classes as well as vehicle classnames to disable thermal on when being spawned. i.e: ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"]; - vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' - }; }; // Client @@ -239,253 +145,89 @@ if (!isDedicated) then { DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. // ZSC - if (Z_SingleCurrency) then { - Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. - Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. - ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins - ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. - ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] - ZSC_maxBankMoney = 500000; // Default limit for bank objects. - ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] - ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) - ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. - }; + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. // Loot system dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix - - // Bury and Butcher Bodies - if (DZE_Bury_Body) then { - DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. - }; - if (DZE_Butcher_Body) then { - DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. - }; - - // Take Clothes - DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs - DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; - - /* - DZE_CLICK_ACTIONS - This is where you register your right-click actions - FORMAT -- (no comma after last array entry) - [_classname,_text,_execute,_condition], - PARAMETERS - _classname : the name of the class to click on (example = "ItemBloodbag") - _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") - _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") - _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) - */ - - DZE_CLICK_ACTIONS = [ - /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], - ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], - ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] - */ - ]; - - DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. - - if (DZE_Remote_Vehicle) then { - DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ - ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], - ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], - ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], - ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], - ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] - ]; - }; - - DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. - - if (DZE_LocateVehicle) then { - DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ - ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] - ]; - }; - - if (DZE_VehicleKey_Changer) then { - vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. - vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. - }; - - if (DZE_Virtual_Garage) then { - vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; - vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] - vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames - vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) - vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? - vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. - vg_storeWithGear = true; // Allow storing vehicles with gear? - vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. - vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. - vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole - vg_price = [["Land",500],["Air",500],["Ship",500]]; - /* - vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. - Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) - - i.e: - vg_price = [["Land",500],["Air",300],["Ship",100]]; - vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; - */ - vg_limit = [["Land",5],["Air",5],["Ship",5]]; - /* - vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. - These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. - - i.e: - vg_limit = [["Land",5],["Air",3],["Ship",1]]; - vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; - vg_limit = 5; - */ - }; - - // Bloodsuckers - DZE_Bloodsuckers = false; // Enable bloodsucker spawning. - - if (DZE_Bloodsuckers) then { - DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) - DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. - DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. - DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. - DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. - DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. - DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. - DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. - }; - - // Garage Door Opener - DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. - - if (DZE_GarageDoor_Opener) then { - DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. - DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance - }; - - // Service Points for Refuel, Repair and Rearm - DZE_Service_Points = false; - - if (DZE_Service_Points) then { - // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" - DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. - DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown - - // Refuel Settings - DZE_SP_Refuel_Enable = true; // enable or disable the refuel option - if (DZE_SP_Refuel_Enable) then { - DZE_SP_Refuel_Costs = [ - //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. - ["Land",localize "strwffree"], // All vehicles are free to refuel. - ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles - ]; - DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) - DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) - }; - - - // Repair Settings - DZE_SP_Repair_Enable = true; // enable or disable the repair option - if (DZE_SP_Repair_Enable) then { - DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) - DZE_SP_Repair_Costs = [ - ["Air",4000], // 4000 worth is 4 10oz gold. - ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles - ]; - }; - - // Rearm Settings - DZE_SP_Rearm_Enable = true; // enable or disable the rearm option - if (DZE_SP_Rearm_Enable) then { - DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) - DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon - DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. - /* - DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. - You can disable certain ammo types from being able to be rearmed by making the price disabled text - example: ["M134",localize "str_temp_param_disabled"] - */ - DZE_SP_Rearm_Costs = [ - [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) - [(localize "str_dn_flarelauncher"),2000], // Flares - [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes - [(localize "str_dn_pk"),5000], // PKM - [(localize "str_dn_pkt"),5000], // PKT - [(localize "str_sn_m134"),5000], // M134 - [(localize "str_dn_ags30"),5000], // AGS-30 - [(localize "str_dn_dshkm"),5000], // DSHKM - [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 - [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun - [(localize "str_baf_crv70"),5000], // CRV7 - [(localize "str_baf_ctws0"),5000], // CTWS - [(localize "str_baf_m621_manual0"),5000], // M621 - [(localize "str_dn_2a38m"),5000], // 2A38M Gun - [(localize "str_dn_2a42"),5000], // 2A42 - [(localize "str_dn_2a46m"),5000], // 2A46M Cannon - [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket - [(localize "str_dn_2a70"),5000], // 2A70 100mm - [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan - [(localize "str_dn_2a72"),5000], // 2A72 30mm - [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 - [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 - [(localize "str_dn_ags17"),5000], // AGS-17 - [(localize "str_dn_d81"),5000], // D-81 - [(localize "str_dn_dt_veh"),5000], // DT - [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire - [(localize "str_dn_kord"),5000], // KORD - [(localize "str_dn_m197"),5000], // M197 - [(localize "str_dn_m240"),5000], // M240 - [(localize "str_dn_m242"),5000], // M242 - [(localize "str_dn_m256"),5000], // M256 - [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder - [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 - [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 - [(localize "str_ep1_dn_azp85"),5000], // AZP-23 - [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra - [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun - [(localize "str_ep1_dn_m230"),5000], // M230 - [(localize "str_ep1_dn_m32_ep1"),5000], // M32 - [(localize "str_ep1_dn_mk19"),5000], // Mk19 - [(localize "str_ep1_dn_yakb"),5000], // Yak-B - [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 - [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 - [(localize "str_mn_stinger"),5000], // FIM-92F Stinger - [(localize "str_mn_12rnd_mlrs"),5000], // MLRS - [(localize "str_baf_baf_l2a10"),5000], // L111A1 - [(localize "STR_DN_D10_CCP"),5000], // D-10 - [(localize "str_dn_tow"),5000], // M220 TOW - [(localize "str_dn_zu23"),5000], // ZU-23 - [(localize "str_dn_kpvt"),5000], // KPVT - [(localize "str_dn_m3p"),5000], // M3P - [(localize "str_dn_spg9"),5000], // SPG-9 - [(localize "str_dn_gau8"),5000], // GAU-8 - [(localize "str_dn_maverick"),5000], // AGM-65 Maverick - [(localize "str_dn_gbu12"),5000], // GBU-12 - [(localize "str_dn_gau12"),5000], // GAU-12 - [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L - [(localize "str_dn_r73"),5000], // R-73 - [(localize "str_mn_fab250"),5000], // FAB-250 - [(localize "str_dn_gsh301"),5000], // GSh-301 - [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L - [(localize "str_sn_grenade"),5000], // Grenade - [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 - [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 - - ["SGMT",5000], // SGMT no localization available - ["M68",5000], // M68 no localization available - ["GAU-22",5000], // GAU-22 no localization available - ["GSh-30",5000], // GSh-30 no localization available - ["M60",5000], // M60 no localization available - ["GSh-30K",5000] // GSh-30K no localization available - ]; - }; - }; }; +// Both +dayz_infectiouswaterholes = true; //Enable infected waterholes +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = false; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. +Z_globalBanking = false; // Enable global banking system. +Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. +CurrencyName = "Coins"; // If using single currency this is the currency display name. +DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] +ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. + +// Plot Management and Plot for Life +DZE_permanentPlot = true; // Plot ownership saves after death. Enables Plot for Life by @RimBlock and Plot Management by @DevZupa. +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + /* Developers: @@ -494,4 +236,4 @@ if (!isDedicated) then { Variables that are map specific or frequently changed should be included in init.sqf by default with a corresponding if(isNil)then{}; in variables.sqf. -*/ \ No newline at end of file +*/ diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Ammo/VehicleAmmo.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Ammo/VehicleAmmo.hpp index 25a0f0a05..296e8bcd5 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Ammo/VehicleAmmo.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Ammo/VehicleAmmo.hpp @@ -692,11 +692,4 @@ class IRStrobe { weight = 2; }; -class 200Rnd_40mmHE_FV510 -{ - weight = 20; -}; -class 200Rnd_40mmSABOT_FV510 -{ - weight = 20; -}; \ No newline at end of file + diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/Misc.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/Misc.hpp index 6213a8336..f656a8164 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/Misc.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/Misc.hpp @@ -64,6 +64,11 @@ class deer_stand_kit weight = 25; }; +class m240_nest_kit +{ + weight = 125; +}; + class rusty_gate_kit { weight = 80; diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/StaticWeapons.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/StaticWeapons.hpp deleted file mode 100644 index 352399679..000000000 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/StaticWeapons.hpp +++ /dev/null @@ -1,100 +0,0 @@ -class m240_nest_kit -{ - weight = 125; -}; -class M2_MG_Static_kit -{ - weight = 45; -}; -class M2_TriPod_MG_Static_kit -{ - weight = 35; -}; -class DSHKM_MG_Static_kit -{ - weight = 45; -}; -class DSHKM_TriPod_MG_Static_kit -{ - weight = 35; -}; -class KORD_TriPod_MG_Static_kit -{ - weight = 35; -}; -class KORD_MG_Static_kit -{ - weight = 65; -}; -class L2A1_MG_Static_kit -{ - weight = 45; -}; -class L2A1_Tripod_MG_Static_kit -{ - weight = 30; -}; -class GMG_Tripod_MG_Static_kit -{ - weight = 30; -}; -class AGS30_GrenadeLauncher_Static_kit -{ - weight = 35; -}; -class MK19_TriPod_GrenadeLauncher_Static_kit -{ - weight = 35; -}; -class GPMG_TriPod_GrenadeLauncher_Static_kit -{ - weight = 35; -}; -class M119_Artillery_Static_kit -{ - weight = 280; -}; -class D30_Artillery_Static_kit -{ - weight = 380; -}; -class SearchLight_Static_kit -{ - weight = 25; -}; -class M252_Mortar_Static_kit -{ - weight = 30; -}; -class 2b14_82mm_Mortar_Static_kit -{ - weight = 30; -}; -class Metis_Launcher_Static_kit -{ - weight = 75; -}; -class SPG9_Launcher_Static_kit -{ - weight = 75; -}; -class Stinger_Tripod_Launcher_Static_kit -{ - weight = 30; -}; -class TOW_Tripod_Launcher_Static_kit -{ - weight = 30; -}; -class Rbs70_Launcher_Static_kit -{ - weight = 130; -}; -class Igla_AntiAir_Launcher_Static_kit -{ - weight = 120; -}; -class ZU23_AntiAir_Static_kit -{ - weight = 370; -}; \ No newline at end of file diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Items/Misc.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Items/Misc.hpp index fad483b92..eb43d9a47 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Items/Misc.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Items/Misc.hpp @@ -140,60 +140,4 @@ class ItemPlasticParts class ItemCeramicParts { weight = 3; -}; -class ItemWeaponPartsPistol -{ - weight = 4; -}; -class ItemWeaponPartsSMG -{ - weight = 5; -}; -class ItemWeaponPartsShotgun -{ - weight = 5; -}; -class ItemWeaponPartsRifle -{ - weight = 7; -}; -class ItemWeaponPartsSniperRilfe -{ - weight = 7.5; -}; -class ItemWeaponPartsMG -{ - weight = 9; -}; -class ItemWeaponPartsUnknown -{ - weight = 8.5; -}; -class ItemWeaponPartsBad -{ - weight = 8; -}; -class ItemWeaponPartsNormal -{ - weight = 9; -}; -class ItemWeaponPartsGood -{ - weight = 9.5; -}; -class ItemWeaponPartsExecellent -{ - weight = 10; -}; -class ItemGunPowderSmall -{ - weight = 2; -}; -class ItemGunPowder -{ - weight = 8; -}; -class ItemGunPowderBig -{ - weight = 16; }; \ No newline at end of file diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/R3F_CfgWeight.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/R3F_CfgWeight.hpp index 9d974e259..64abe8397 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/R3F_CfgWeight.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/R3F_CfgWeight.hpp @@ -34,7 +34,6 @@ class CfgWeight #include "Magazines\Buildings\Tent.hpp" #include "Magazines\Buildings\Misc.hpp" #include "Magazines\Buildings\TripWire.hpp" - #include "Magazines\Buildings\StaticWeapons.hpp" #include "Magazines\Consumables\Fish.hpp" #include "Magazines\Consumables\Meat.hpp" diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Weapons/Rifles.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Weapons/Rifles.hpp index 4e62f7358..d602e519f 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Weapons/Rifles.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Weapons/Rifles.hpp @@ -2282,30 +2282,6 @@ class G3_DZ { weight = 6.1; }; -class G3A3_DZ -{ - weight = 6.1; -}; -class G3A3_CCO_DZ -{ - weight = 6.2; -}; -class G3A3_Holo_DZ -{ - weight = 6.2; -}; -class G3A3_ACOG_DZ -{ - weight = 6.3; -}; -class G3_SG1_DZ -{ - weight = 6.5; -}; -class G3_SG1_Bipod_DZ -{ - weight = 6.7; -}; class SCAR_H_AK_DZ { weight = 4.5; diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index 19f119700..cb0135c07 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -112,12 +112,7 @@ if (!isDedicated) then { //ui player_toggleSoundMute = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_toggleSoundMute.sqf"; player_toggleStreamerMode = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_toggleStreamerMode.sqf"; - if (!isNil "DZE_CLICK_ACTIONS" && {count DZE_CLICK_ACTIONS > 0}) then { - player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\Rightclicks\ui_selectSlot_addon.sqf"; - } else { - player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\Rightclicks\ui_selectSlot_vanilla.sqf"; - DZE_CLICK_ACTIONS = nil; - }; + player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf"; player_selectWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_selectWeapon.sqf"; player_markMap = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_markMap.sqf"; player_gearSet = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSet.sqf"; @@ -198,53 +193,6 @@ if (!isDedicated) then { fnc_radioState = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\radioState.sqf"; // Toggle radio on and off fnc_localizeMessage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_localizeMessage.sqf"; fnc_remoteMessage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_remoteMessage.sqf"; - - if (DZE_Remote_Vehicle) then { - remoteVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remoteVehicle\remoteVehicle.sqf"; - rv_vehicleInfo = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remoteVehicle\vehicleInfo.sqf"; - }; - - if (DZE_LocateVehicle) then { - locateVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\locateVehicle.sqf"; - }; - - if (DZE_VehicleKey_Changer) then { - vkc_vehicleInfo = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\vkc\vehicleInfo.sqf"; - }; - - if (DZE_Virtual_Garage) then { - player_getVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\virtualGarage\player_getVehicle.sqf"; - player_removePad = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\virtualGarage\player_removePad.sqf"; - player_storeVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\virtualGarage\player_storeVehicle.sqf"; - Player_MaintainVG = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\virtualGarage\player_MaintainVG.sqf"; - vehicleInfo = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\virtualGarage\vehicleInfo.sqf"; - vg_maintainSetText = { - disableSerialization; - waituntil {!isNull (findDisplay 2800)}; - _vgDisplCtl = (findDisplay 2800) displayCtrl 2854; - if (vg_maintainCost > 0) then { - _itemText = if (Z_SingleCurrency) then {CurrencyName} else {[vg_maintainCost,true] call z_calcCurrency}; - if (Z_SingleCurrency) then { - _vgDisplCtl ctrlSetText format["%1 (%2 %3)",localize "STR_CL_VG_MAINTAIN_GARAGE",vg_maintainCost,_itemText]; - } else { - _vgDisplCtl ctrlSetText format["%1 (%2)",localize "STR_CL_VG_MAINTAIN_GARAGE",_itemText]; - }; - } else { - _vgDisplCtl ctrlSetText format["%1 (%2)",localize "STR_CL_VG_MAINTAIN_GARAGE",localize "strwffree"]; - }; - }; - }; - - if (DZE_Service_Points) then { - execVM "\z\addons\dayz_code\actions\servicePoints\init.sqf"; - }; - - // Bloodsuckers - if (DZE_Bloodsuckers) then { - player_mutantAttack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_mutantAttack.sqf"; - mutant_generate = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\mutant_generate.sqf"; - mutant_findTarget = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\mutant_findTarget.sqf"; - }; // Weather if (DZE_Weather in [3,4]) then { diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 6fe423ed9..f10291c80 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -1,7 +1,7 @@ /**************Variables Compiled on Both Client and Server**************/ Dayz_plants = ["Dayz_Plant1","Dayz_Plant2","Dayz_Plant3"]; -DayZ_SafeObjects = ["Base_Fire_DZ","Land_Fire_DZ","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","BearTrap_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare","TentStorageDomed","VaultStorageLocked","VaultStorage2Locked","BagFenceRound_DZ","TrapBear","Fort_RazorWire","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","Plastic_Pole_EP1_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","WinterCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","WinterLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","GunRack2_DZ","FireBarrel_DZ","WoodCrate_DZ","WoodCrate2_DZ","Scaffolding_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4","WoodenFence_1_foundation_DZ","WoodenFence_1_frame_DZ","WoodenFence_quaterpanel_DZ","WoodenFence_halfpanel_DZ","WoodenFence_thirdpanel_DZ","WoodenFence_1_DZ","WoodenFence_2_DZ","WoodenFence_3_DZ","WoodenFence_4_DZ","WoodenFence_5_DZ","WoodenFence_6_DZ","WoodenFence_7_DZ","MetalFence_1_foundation_DZ","MetalFence_1_frame_DZ","MetalFence_halfpanel_DZ","MetalFence_thirdpanel_DZ","MetalFence_1_DZ","MetalFence_2_DZ","MetalFence_3_DZ","MetalFence_4_DZ","MetalFence_5_DZ","MetalFence_6_DZ","MetalFence_7_DZ","WoodenGate_foundation_DZ","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","WoodGateFrame_DZ","Land_DZE_WoodGate","Land_DZE_WoodGateLocked","CinderGateFrame_DZ","CinderGate_DZ","CinderGateLocked_DZ","Metal_Drawbridge_DZ","Metal_DrawbridgeLocked_DZ","WoodTriangleWall_DZ","WoodHandrail_DZ","WoodFloorStairs_DZ","WoodPillar_DZ","Land_DZE_WoodOpenTopGarageDoor","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopFrame_DZ","CinderGarageOpenTop_DZ","CinderGarageOpenTopLocked_DZ","DoorFrame_DZ","Door_DZ","DoorLocked_DZ","CinderWallWindow_DZ","CinderWallWindowLocked_DZ","CinderDoorHatch_DZ","CinderDoorHatchLocked_DZ","MetalPillar_DZ","MetalFloor_Half_DZ","MetalFloor_Quarter_DZ","GlassFloor_DZ","Concrete_Bunker_DZ","Concrete_Bunker_Locked_DZ","TallSafeLocked","Advanced_WorkBench_DZ","CookTripod_DZ","Stoneoven_DZ","Commode_DZ","Wardrobe_DZ","Fridge_DZ","Washing_Machine_DZ","Server_Rack_DZ","ATM_DZ","Armchair_DZ","Sofa_DZ","Arcade_DZ","Vendmachine1_DZ","Vendmachine2_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ","MetalFloor4x_DZ","GlassFloor_Half_DZ","GlassFloor_Quarter_DZ","WoodFloor4x_DZ","WoodTriangleFloor_DZ","CinderWallHalf_Gap_DZ","TentStorageWinter","TentStorageWinter0","TentStorageWinter1","TentStorageWinter2","TentStorageWinter3","TentStorageWinter4","WinterDomeTentStorage","WinterDomeTentStorage0","WinterDomeTentStorage1","WinterDomeTentStorage2","WinterDomeTentStorage3","WinterDomeTentStorage4","VaultStorageBroken","VaultStorageBroken2","TallSafeBroken","LockboxStorageBroken","LockboxStorage2Broken","LockboxStorageWinterBroken","LockboxStorageWinter2Broken","StorageCrate_DZ","CamoStorageCrate_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ","CCTV_DZ"]; +DayZ_SafeObjects = ["Base_Fire_DZ","Land_Fire_DZ","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","BearTrap_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare","TentStorageDomed","VaultStorageLocked","VaultStorage2Locked","BagFenceRound_DZ","TrapBear","Fort_RazorWire","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","Plastic_Pole_EP1_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","WinterCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","WinterLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","GunRack2_DZ","FireBarrel_DZ","WoodCrate_DZ","WoodCrate2_DZ","Scaffolding_DZ","DesertTentStorage","DesertTentStorage0","DesertTentStorage1","DesertTentStorage2","DesertTentStorage3","DesertTentStorage4","WoodenFence_1_foundation_DZ","WoodenFence_1_frame_DZ","WoodenFence_quaterpanel_DZ","WoodenFence_halfpanel_DZ","WoodenFence_thirdpanel_DZ","WoodenFence_1_DZ","WoodenFence_2_DZ","WoodenFence_3_DZ","WoodenFence_4_DZ","WoodenFence_5_DZ","WoodenFence_6_DZ","WoodenFence_7_DZ","MetalFence_1_foundation_DZ","MetalFence_1_frame_DZ","MetalFence_halfpanel_DZ","MetalFence_thirdpanel_DZ","MetalFence_1_DZ","MetalFence_2_DZ","MetalFence_3_DZ","MetalFence_4_DZ","MetalFence_5_DZ","MetalFence_6_DZ","MetalFence_7_DZ","WoodenGate_foundation_DZ","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","WoodGateFrame_DZ","Land_DZE_WoodGate","Land_DZE_WoodGateLocked","CinderGateFrame_DZ","CinderGate_DZ","CinderGateLocked_DZ","Metal_Drawbridge_DZ","Metal_DrawbridgeLocked_DZ","WoodTriangleWall_DZ","WoodHandrail_DZ","WoodFloorStairs_DZ","WoodPillar_DZ","Land_DZE_WoodOpenTopGarageDoor","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopFrame_DZ","CinderGarageOpenTop_DZ","CinderGarageOpenTopLocked_DZ","DoorFrame_DZ","Door_DZ","DoorLocked_DZ","CinderWallWindow_DZ","CinderWallWindowLocked_DZ","CinderDoorHatch_DZ","CinderDoorHatchLocked_DZ","MetalPillar_DZ","MetalFloor_Half_DZ","MetalFloor_Quarter_DZ","GlassFloor_DZ","Concrete_Bunker_DZ","Concrete_Bunker_Locked_DZ","TallSafeLocked","Advanced_WorkBench_DZ","CookTripod_DZ","Stoneoven_DZ","Commode_DZ","Wardrobe_DZ","Fridge_DZ","Washing_Machine_DZ","Server_Rack_DZ","ATM_DZ","Armchair_DZ","Sofa_DZ","Arcade_DZ","Vendmachine1_DZ","Vendmachine2_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ","MetalFloor4x_DZ","GlassFloor_Half_DZ","GlassFloor_Quarter_DZ","WoodFloor4x_DZ","WoodTriangleFloor_DZ","CinderWallHalf_Gap_DZ","TentStorageWinter","TentStorageWinter0","TentStorageWinter1","TentStorageWinter2","TentStorageWinter3","TentStorageWinter4","WinterDomeTentStorage","WinterDomeTentStorage0","WinterDomeTentStorage1","WinterDomeTentStorage2","WinterDomeTentStorage3","WinterDomeTentStorage4","VaultStorageBroken","VaultStorageBroken2","TallSafeBroken","LockboxStorageBroken","LockboxStorage2Broken","LockboxStorageWinterBroken","LockboxStorageWinter2Broken","StorageCrate_DZ","CamoStorageCrate_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ","CCTV_DZ"]; DayZ_GearedObjects = ["Car","Helicopter","Motorcycle","Ship","TentStorage_base","StashSmall_base","StashMedium_base","Plane","Tank","VaultStorage","VaultStorage2","TallSafe","LockboxStorage","LockboxStorage2","LockboxStorageWinter","LockboxStorageWinter2","TentStorage","OutHouse_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","GunRack_DZ","GunRack2_DZ","WoodCrate_DZ","WoodCrate2_DZ","Scaffolding_DZ","Generator_DZ","Advanced_WorkBench_DZ","CookTripod_DZ","Stoneoven_DZ","Commode_DZ","Wardrobe_DZ","Fridge_DZ","Washing_Machine_DZ","Server_Rack_DZ","ATM_DZ","Armchair_DZ","Sofa_DZ","Arcade_DZ","Vendmachine1_DZ","Vendmachine2_DZ","VaultStorageBroken","VaultStorageBroken2","TallSafeBroken","LockboxStorageBroken","LockboxStorage2Broken","LockboxStorageWinterBroken","LockboxStorageWinter2Broken","StorageCrate_DZ","CamoStorageCrate_DZ"]; dayz_typedBags = ["bloodTester","bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]; dayz_plant = ["pumpkin.p3d","p_helianthus.p3d","p_fiberplant_ep1.p3d"]; @@ -24,8 +24,6 @@ DZE_LockedStorage = ["VaultStorageLocked","VaultStorage2Locked","LockboxStorageL DZE_UnLockedStorage = ["VaultStorage","VaultStorage2","LockboxStorage","LockboxStorage2","LockboxStorageWinter","LockboxStorageWinter2","TallSafe"]; DZE_isNewStorage = ["OutHouse_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","GunRack_DZ","GunRack2_DZ","WoodCrate_DZ","WoodCrate2_DZ","Advanced_WorkBench_DZ","CookTripod_DZ","Stoneoven_DZ","Commode_DZ","Wardrobe_DZ","Fridge_DZ","Washing_Machine_DZ","Server_Rack_DZ","ATM_DZ","Armchair_DZ","Sofa_DZ","Arcade_DZ","Vendmachine1_DZ","Vendmachine2_DZ","StorageCrate_DZ","CamoStorageCrate_DZ"]; DZE_isWreck = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"]; -DZE_StaticWeapons = ["ZU23_AntiAir_Static_DZ","Igla_AntiAir_Launcher_Static_DZ","Rbs70_Launcher_Static_DZ","TOW_Tripod_Launcher_Static_DZ","Stinger_Tripod_Launcher_Static_DZ","SPG9_Launcher_Static_DZ","Metis_Launcher_Static_DZ","2b14_82mm_Mortar_Static_DZ","M252_Mortar_Static_DZ","SearchLight_Static_DZ","D30_Artillery_Static_DZ","M119_Artillery_Static_DZ","GPMG_TriPod_GrenadeLauncher_Static_DZ","MK19_TriPod_GrenadeLauncher_Static_DZ","AGS30_GrenadeLauncher_Static_DZ","GMG_Tripod_MG_Static_DZ","L2A1_Tripod_MG_Static_DZ","L2A1_MG_Static_DZ","KORD_MG_Static_DZ","KORD_Tripod_MG_Static_DZ","DSHKM_TriPod_MG_Static_DZ","DSHKM_MG_Static_DZ","M2_TriPod_MG_Static_DZ","M2_MG_Static_DZ","M240Nest_DZ"]; -DayZ_SafeObjects = DayZ_SafeObjects + DZE_StaticWeapons; respawn_west_original = getMarkerPos "respawn_west"; //Prevent problems caused by cheaters moving respawn_west marker with setMarkerPos or deleteMarker @@ -43,6 +41,7 @@ if (isServer) then { dayz_serverPUIDArray = []; dayz_serverClientKeys = []; dayz_traps = []; + dead_bodyCleanup = []; needUpdate_objects = []; dayz_choppedTrees = []; dayz_ghostPlayers = []; @@ -209,14 +208,6 @@ if (!isDedicated) then { s_bank_dialog2 = -1; s_bank_dialog3 = -1; s_player_checkWallet = -1; - s_player_clothes = -1; - s_player_gdoor_opener = []; - s_player_gdoor_opener_ctrl = -1; - s_player_bury_human = -1; - s_player_butcher_human = -1; - s_player_copyToKey = -1; - s_player_claimVehicle = -1; - s_garage_dialog = -1; }; call dayz_resetSelfActions; @@ -273,7 +264,7 @@ if (!isDedicated) then { Dayz_meatraw = ["FoodBeefRaw","FoodMuttonRaw","FoodChickenRaw","FoodRabbitRaw","FoodBaconRaw","FoodGoatRaw","FoodDogRaw","FishRawTrout","FishRawSeaBass","FishRawTuna","FoodPotatoRaw"]; Dayz_meatcooked = ["FoodBeefCooked","FoodMuttonCooked","FoodChickenCooked","FoodRabbitCooked","FoodBaconCooked","FoodGoatCooked","FoodDogCooked","FishCookedTrout","FishCookedSeaBass","FishCookedTuna","FoodPotatoBaked"]; boil_tin_cans = ["TrashTinCan","FoodCanGriffEmpty","FoodCanBadguyEmpty","FoodCanBoneboyEmpty","FoodCanCornEmpty","FoodCanCurgonEmpty","FoodCanDemonEmpty","FoodCanFraggleosEmpty","FoodCanHerpyEmpty","FoodCanDerpyEmpty","FoodCanOrlokEmpty","FoodCanPowellEmpty","FoodCanTylersEmpty","FoodCanUnlabeledEmpty","FoodCanRusUnlabeledEmpty","FoodCanRusStewEmpty","FoodCanRusPorkEmpty","FoodCanRusPeasEmpty","FoodCanRusMilkEmpty","FoodCanRusCornEmpty","ItemSodaEmpty","ItemSodaClaysEmpty","ItemSodaDrwasteEmpty","ItemSodaFrankaEmpty","ItemSodaGrapeDrinkEmpty","ItemSodaLemonadeEmpty","ItemSodaLirikEmpty","ItemSodaLvgEmpty","ItemSodaMtngreenEmpty","ItemSodaMzlyEmpty","ItemSodaPeppsyEmpty","ItemSodaR4z0rEmpty","ItemSodaRabbitEmpty","ItemSodaRocketFuelEmpty","ItemSodaSacriteEmpty","ItemSodaSherbetEmpty","ItemSodaSmashtEmpty","FoodCanPotatoesEmpty","FoodCanBeefEmpty"]; - MeleeWeapons = ["MeleeHatchet","MeleeCrowbar","MeleeMachete","MeleeBaseBallBat","MeleeBaseBallBatBarbed","MeleeBaseBallBatNails","MeleeFishingPole","MeleeSledge"]; + MeleeWeapons = ["MeleeHatchet","MeleeCrowbar","MeleeMachete","MeleeBaseball","MeleeBaseBallBat","MeleeBaseBallBatBarbed","MeleeBaseBallBatNails","MeleeFishingPole","MeleeSledge"]; MeleeMagazines = ["Hatchet_Swing","Crowbar_Swing","Machete_Swing","Bat_Swing","BatBarbed_Swing","BatNails_Swing","Fishing_Swing","Sledge_Swing"]; MeleeAmmo = ["Hatchet_Swing_Ammo","Crowbar_Swing_Ammo","Machete_Swing_Ammo","Bat_Swing_Ammo","BatBarbed_Swing_Ammo","BatNailed_Swing_Ammo","Fishing_Swing_Ammo","Sledge_Swing_Ammo","Chainsaw_Swing_Ammo"]; Dayz_Gutting = ["ItemKnife","ItemKnife5","ItemKnife4","ItemKnife3","ItemKnife2","ItemKnife1","ItemKnifeBlunt"]; @@ -290,7 +281,7 @@ if (!isDedicated) then { DZE_LockboxesUnlocked = ["LockboxStorage","LockboxStorage2","LockboxStorageWinter","LockboxStorageWinter2"]; DZE_REPLACE_WEAPONS = [["Crossbow","DMR","M14_EP1","SVD","SVD_CAMO","M4SPR","VSS_vintorez"],["Crossbow_DZ","DMR_DZ","M14_CCO_DZ","SVD_PSO1_DZ","SVD_PSO1_Gh_DZ","M4SPR_DZE","VSS_vintorez_DZE"]]; DZE_replaceMagazines = [["vil_20Rnd_762x51_G3"],["vil_20Rnd_762x51_G3"]]; - DZE_maintainClasses = ["StaticWeapon","ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Generator_DZ","DZ_buildables","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","WinterCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","WinterLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ","M240Nest_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","VaultStorageBroken","VaultStorageBroken2","TallSafeBroken","LockboxStorageBroken","LockboxStorage2Broken","LockboxStorageWinterBroken","LockboxStorageWinter2Broken","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ","CCTV_DZ"]; + DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Generator_DZ","DZ_buildables","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","WinterCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","WinterLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ","M240Nest_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","VaultStorageBroken","VaultStorageBroken2","TallSafeBroken","LockboxStorageBroken","LockboxStorage2Broken","LockboxStorageWinterBroken","LockboxStorageWinter2Broken","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ","CCTV_DZ"]; DZE_fueltruckarray = ["UralRefuel_TK_EP1_DZ","UralRefuel_TK_EP1_DZE1","UralRefuel_TK_EP1_DZE2","UralRefuel_TK_EP1_DZE3","UralRefuel_TK_EP1_DZE4","MtvrRefuel_DES_EP1_DZ","MtvrRefuel_DES_EP1_DZE1","MtvrRefuel_DES_EP1_DZE2","MtvrRefuel_DES_EP1_DZE3","MtvrRefuel_DES_EP1_DZE4","V3S_Refuel_TK_GUE_EP1_DZ","V3S_Refuel_TK_GUE_EP1_DZE1","V3S_Refuel_TK_GUE_EP1_DZE2","V3S_Refuel_TK_GUE_EP1_DZE3","V3S_Refuel_TK_GUE_EP1_DZE4","MtvrRefuel_DZ","MtvrRefuel_DZE1","MtvrRefuel_DZE2","MtvrRefuel_DZE3","MtvrRefuel_DZE4","KamazRefuel_DZ","KamazRefuel_DZE1","KamazRefuel_DZE2","KamazRefuel_DZE3","KamazRefuel_DZE4","T810A_ACR_REFUEL_DES_DZE","T810A_ACR_REFUEL_DES_DZE1","T810A_ACR_REFUEL_DES_DZE2","T810A_ACR_REFUEL_DES_DZE3","T810A_ACR_REFUEL_DES_DZE4","T810A_ACR_REFUEL_DZE","T810A_ACR_REFUEL_DZE1","T810A_ACR_REFUEL_DZE2","T810A_ACR_REFUEL_DZE3","T810A_ACR_REFUEL_DZE4","UralRefuel_INS_DZE","UralRefuel_INS_DZE1","UralRefuel_INS_DZE2","UralRefuel_INS_DZE3","UralRefuel_INS_DZE4","UralRefuel_CDF_DZE","UralRefuel_CDF_DZE1","UralRefuel_CDF_DZE2","UralRefuel_CDF_DZE3","UralRefuel_CDF_DZE4"]; DZE_HeliAllowToTow = ["hilux1_civil_1_open","HMMWV_Base","Lada_base","Offroad_DSHKM_base","Pickup_PK_base","SkodaBase","tractor","VWGolf","Volha_TK_CIV_Base_EP1","S1203_TK_CIV_EP1","SUV_Base_EP1","ArmoredSUV_Base_PMC","UAZ_Base","LandRover_Base","Ship"]; DZE_isDestroyableStorage = ["OutHouse_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","GunRack_DZ","GunRack2_DZ","WoodCrate_DZ","WoodCrate2_DZ","Advanced_WorkBench_DZ","CookTripod_DZ","Stoneoven_DZ","Commode_DZ","Wardrobe_DZ","Fridge_DZ","Washing_Machine_DZ","Server_Rack_DZ","ATM_DZ","Armchair_DZ","Sofa_DZ","Arcade_DZ","Vendmachine1_DZ","Vendmachine2_DZ","StorageCrate_DZ","CamoStorageCrate_DZ","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4"]; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index ed11d1791..4aa5f253d 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -14281,10 +14281,6 @@ Infecté Infikovaný - - Bloodsucker - Кровосос - Viral Infected Infectado Viral @@ -18306,31 +18302,13 @@ - G3A1 + G3 Assault Rifle <br/>Caliber: 7.62x51mm Sturmgewehr <br/>Kaliber: 7.62x51mm Штурмовая винтовка<br/>Калибр: 7.62x51мм - - G3A3 - - - G3A3 CCO - - - G3A3 Holo - - - G3A3 ACOG - - - G3 SG1 - - - G3 SG1 Bipod - @@ -22485,11 +22463,6 @@ %1 a été vidé, les pièces de zombies sont maintenant sur la carcasse. %1 byl zničený, zombie díly jsou nyní na kostru. - - You have carved the heart of the %1 from it's chest. - Du hast das Herz des %1 aus seiner Brust herausgeschnitten. - Вы вырезали сердце %1 из его тела. - Tame Dog Hund zähmen @@ -25568,11 +25541,6 @@ Dépecer le zombie Vykuchat Zombie - - Butcher Bloodsucker - Bloodsucker ausnehmen - Разделать Кровососа - Open %1 %1 öffnen @@ -27369,16 +27337,6 @@ Zombiehaut in einem Sack. Кожа зомби в мешке. - - Mutant Heart - Mutantenherz - Сердце мутанта - - - The heart of a mutant. It is probably worth a lot. - Das Herz eines Mutanten. Es ist möglicherweise viel wert. - Сердце мутанта. Это, наверное, многого стоит. - Combination Lock Zahlenschloss @@ -32194,11 +32152,6 @@ Währung Валюта - - Heli Pads - Helipads - Вертолётные площадки - Trade %1 %2 for %3 %4 %1 %2 für %3 %4 handeln @@ -34321,119 +34274,6 @@ Eine Kiste mit Keramikteile. Ящик с керамическими частями. - - - Gun parts (Pistol) - Waffenteile (Pistole) - - - A pile of pistol gun parts. - Ein Haufen Waffenteile einer Pistole. - - - Gun parts (SMG) - Waffenteile (SMG) - - - A pile of smg gun parts. - Ein Haufen Waffenteile einer Maschinenpistole. - - - Gun parts (Shotgun) - Waffenteile (Schrotflinte) - - - A pile of shotgun gun parts. - Ein Haufen Waffenteile einer Schrotflinte. - - - Gun parts (Rifle) - Waffenteile (Gewehr) - - - A pile of rifle gun parts. - Ein Haufen Waffenteile eines Gewehrs. - - - Gun parts (Sniper Rifle) - Waffenteile (Scharfschützengewehr) - - - A pile of sniper rifle gun parts. - Ein Haufen Waffenteile eines Scharfschützengewehrs. - - - Gun parts (MG) - Waffenteile (MG) - - - A pile of mg gun parts. - Ein Haufen Waffenteile eines Maschinengewehrs. - - - Gun parts (Unknown) - Waffenteile (Unbekannt) - - - A pile of unknown gun parts in a good condition. - Ein Haufen unbekannter Waffenteile, in einem guten Zustand. - - - Gun parts (Bad) - Waffenteile (Schlecht) - - - A pile of old gun parts in a bad condition. - Ein Haufen alter Waffenteile in einem schlechten Zustand. - - - Gun parts (Average) - Waffenteile (Normal) - - - A pile of gun parts in an average condition. - Ein Haufen Waffenteile in einem durchschnittlichen Zustand. - - - Gun parts (Good) - Waffenteile (Gut) - - - A pile of gun parts in a good condition. - Ein Haufen Waffenteile, in einem guten Zustand. - - - Gun parts (Excellent) - Waffenteile (Exzellent) - - - A pile of gun parts in an excellent condition. - Ein Haufen Waffenteile, in einem exzellenten Zustand. - - - Gun Powder (Small) - Schießpulver (Klein) - - - A small can with gun powder. Used for crafting ammunation. - Eine kleine Dose mit Schießpulver, welche für die Herstellung von Munition genutzt werden kann. - - - Gun Powder - Schießpulver - - - A can with gun powder. Used for crafting ammunation. - Eine Dose mit Schießpulver, welche für die Herstellung von Munition genutzt werden kann. - - - Gun Powder (Big) - Schießpulver (Groß) - - - A big can with gun powder. Used for crafting ammunation. - Eine große Dose mit Schießpulver, welche für die Herstellung von Munition genutzt werden kann. - Slugs in a can Пули в банке diff --git a/SQF/dayz_code/system/mission/server_traders/caribou.sqf b/SQF/dayz_code/system/mission/server_traders/caribou.sqf index bd13f45ae..17c579697 100644 --- a/SQF/dayz_code/system/mission/server_traders/caribou.sqf +++ b/SQF/dayz_code/system/mission/server_traders/caribou.sqf @@ -135,8 +135,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -144,8 +142,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/chernarus11.sqf b/SQF/dayz_code/system/mission/server_traders/chernarus11.sqf index ca464d481..66d84566b 100644 --- a/SQF/dayz_code/system/mission/server_traders/chernarus11.sqf +++ b/SQF/dayz_code/system/mission/server_traders/chernarus11.sqf @@ -181,8 +181,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -190,8 +188,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/chernarus17.sqf b/SQF/dayz_code/system/mission/server_traders/chernarus17.sqf index bfb679373..e9c4c6651 100644 --- a/SQF/dayz_code/system/mission/server_traders/chernarus17.sqf +++ b/SQF/dayz_code/system/mission/server_traders/chernarus17.sqf @@ -179,8 +179,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -188,8 +186,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/cmr_ovaron.sqf b/SQF/dayz_code/system/mission/server_traders/cmr_ovaron.sqf index 5cbec6619..953c43b12 100644 --- a/SQF/dayz_code/system/mission/server_traders/cmr_ovaron.sqf +++ b/SQF/dayz_code/system/mission/server_traders/cmr_ovaron.sqf @@ -138,8 +138,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -147,8 +145,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/fdf_isle1_a.sqf b/SQF/dayz_code/system/mission/server_traders/fdf_isle1_a.sqf index 02cb16dd1..4144b2b9f 100644 --- a/SQF/dayz_code/system/mission/server_traders/fdf_isle1_a.sqf +++ b/SQF/dayz_code/system/mission/server_traders/fdf_isle1_a.sqf @@ -128,8 +128,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -137,8 +135,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/isladuala.sqf b/SQF/dayz_code/system/mission/server_traders/isladuala.sqf index 26ddd1ca5..5cbed648c 100644 --- a/SQF/dayz_code/system/mission/server_traders/isladuala.sqf +++ b/SQF/dayz_code/system/mission/server_traders/isladuala.sqf @@ -181,8 +181,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -190,8 +188,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/lingor.sqf b/SQF/dayz_code/system/mission/server_traders/lingor.sqf index 4100fb270..ea6d2c4f3 100644 --- a/SQF/dayz_code/system/mission/server_traders/lingor.sqf +++ b/SQF/dayz_code/system/mission/server_traders/lingor.sqf @@ -181,8 +181,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -190,8 +188,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/namalsk.sqf b/SQF/dayz_code/system/mission/server_traders/namalsk.sqf index e07c5383e..7b7eaec9e 100644 --- a/SQF/dayz_code/system/mission/server_traders/namalsk.sqf +++ b/SQF/dayz_code/system/mission/server_traders/namalsk.sqf @@ -88,8 +88,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/napf.sqf b/SQF/dayz_code/system/mission/server_traders/napf.sqf index 42fdd81f7..205e7354f 100644 --- a/SQF/dayz_code/system/mission/server_traders/napf.sqf +++ b/SQF/dayz_code/system/mission/server_traders/napf.sqf @@ -179,8 +179,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -188,8 +186,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/panthera2.sqf b/SQF/dayz_code/system/mission/server_traders/panthera2.sqf index 4d3deb580..212995906 100644 --- a/SQF/dayz_code/system/mission/server_traders/panthera2.sqf +++ b/SQF/dayz_code/system/mission/server_traders/panthera2.sqf @@ -181,8 +181,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -190,8 +188,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/sauerland.sqf b/SQF/dayz_code/system/mission/server_traders/sauerland.sqf index 546421266..15d7b389d 100644 --- a/SQF/dayz_code/system/mission/server_traders/sauerland.sqf +++ b/SQF/dayz_code/system/mission/server_traders/sauerland.sqf @@ -174,8 +174,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -183,8 +181,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/smd_sahrani_a2.sqf b/SQF/dayz_code/system/mission/server_traders/smd_sahrani_a2.sqf index c1e450440..625d96e38 100644 --- a/SQF/dayz_code/system/mission/server_traders/smd_sahrani_a2.sqf +++ b/SQF/dayz_code/system/mission/server_traders/smd_sahrani_a2.sqf @@ -181,8 +181,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -190,8 +188,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/takistan.sqf b/SQF/dayz_code/system/mission/server_traders/takistan.sqf index fde29f9b3..7ab157516 100644 --- a/SQF/dayz_code/system/mission/server_traders/takistan.sqf +++ b/SQF/dayz_code/system/mission/server_traders/takistan.sqf @@ -167,8 +167,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -176,8 +174,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mission/server_traders/tavi.sqf b/SQF/dayz_code/system/mission/server_traders/tavi.sqf index a3ee4e652..6f3b16d3c 100644 --- a/SQF/dayz_code/system/mission/server_traders/tavi.sqf +++ b/SQF/dayz_code/system/mission/server_traders/tavi.sqf @@ -181,8 +181,6 @@ menu_Profiteer2 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer2 select 0) set [count (menu_Profiteer2 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Wholesaler*********/ menu_Profiteer3 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_WHOLESALE",50]], @@ -190,8 +188,6 @@ menu_Profiteer3 = [ "neutral" ]; -if (DZE_Virtual_Garage) then {(menu_Profiteer3 select 0) set [count (menu_Profiteer3 select 0), [localize "STR_EPOCH_TRADER_CATEGORY_HELI_PADS",52]];}; - /***************Banker*********/ menu_Functionary1_EP1 = [ [[localize "STR_EPOCH_TRADER_CATEGORY_CURRENCY",51]], diff --git a/SQF/dayz_code/system/mutant_agent.fsm b/SQF/dayz_code/system/mutant_agent.fsm deleted file mode 100644 index 09c4deca8..000000000 --- a/SQF/dayz_code/system/mutant_agent.fsm +++ /dev/null @@ -1,719 +0,0 @@ -/*%FSM*/ -/*%FSM*/ -/* -item0[] = {"init",0,250,-400.000000,-250.000000,-300.000000,-200.000000,0.000000,"init"}; -item1[] = {"End",1,250,175.000000,-250.000000,275.000000,-200.000000,0.000000,"End"}; -item2[] = {"Not_Alive",4,218,25.000000,375.000000,125.000000,425.000000,5.000000,"Not" \n "Alive"}; -item3[] = {"Nobody_Near",4,218,25.000000,525.000000,125.000000,575.000000,6.000000,"Nobody" \n "Near"}; -item4[] = {"",7,210,-29.000042,396.000000,-20.999958,404.000000,0.000000,""}; -item5[] = {"",7,210,-29.000040,470.999939,-20.999960,479.000061,0.000000,""}; -item6[] = {"",7,210,-354.000031,121.000000,-346.000000,129.000000,0.000000,""}; -item7[] = {"UnitReady",4,218,-275.000000,275.000000,-175.000000,325.000000,5.000000,"UnitReady"}; -item8[] = {"Chase",2,250,-150.000000,375.000000,-50.000000,425.000000,0.000000,"Chase"}; -item9[] = {"",7,210,-29.000006,121.000000,-20.999994,129.000000,0.000000,""}; -item10[] = {"",7,210,-29.000008,221.000000,-20.999992,229.000015,0.000000,""}; -item11[] = {"No_Target",4,218,-400.000000,450.000000,-300.000000,500.000000,3.000000,"No" \n "Target"}; -item12[] = {"",7,210,-479.000000,471.000000,-471.000000,479.000000,0.000000,""}; -item13[] = {"",7,210,-729.000000,346.000000,-721.000000,354.000000,0.000000,""}; -item14[] = {"",7,210,221.000000,396.000000,229.000000,404.000000,0.000000,""}; -item15[] = {"",7,210,221.000000,471.000000,229.000000,479.000000,0.000000,""}; -item16[] = {"Cleanup_",2,250,175.000000,200.000000,275.000000,250.000000,0.000000,"Cleanup?"}; -item17[] = {"nobody_around",4,218,175.000000,-25.000000,275.000000,25.000000,0.000000,"nobody" \n "around"}; -item18[] = {"",7,210,-104.000023,471.000000,-95.999985,479.000000,0.000000,""}; -item19[] = {"cant_see",4,218,-275.000000,575.000000,-175.000000,625.000000,2.000000,"cant" \n "see"}; -item20[] = {"Finish_Move",2,250,-275.000000,650.000000,-175.000000,700.000000,0.000000,"Finish" \n "Move"}; -item21[] = {"finished",4,218,-425.000000,650.000000,-325.000000,700.000000,1.000000,"finished"}; -item22[] = {"",7,210,-479.000000,671.000000,-471.000000,679.000000,0.000000,""}; -item23[] = {"",7,210,-29.000002,671.000000,-20.999998,679.000000,0.000000,""}; -item24[] = {"Move",2,250,-650.000000,50.000000,-550.000000,100.000000,0.000000,"Move"}; -item25[] = {"someone_here",4,218,300.000000,200.000000,400.000000,250.000000,0.000000,"someone" \n "here"}; -item26[] = {"wait",2,250,300.000000,125.000000,400.000000,175.000000,0.000000,"wait"}; -item27[] = {"time_up",4,218,300.000000,-25.000000,400.000000,25.000000,0.000000,"time" \n "up"}; -item28[] = {"",7,210,346.000000,95.999992,354.000000,104.000000,0.000000,""}; -item29[] = {"",7,210,221.000000,96.000008,229.000000,103.999977,0.000000,""}; -item30[] = {"Time_Check",4,218,425.000000,125.000000,525.000000,175.000000,0.000000,"Time" \n "Check"}; -item31[] = {"",7,210,346.000000,-79.000000,354.000000,-71.000000,0.000000,""}; -item32[] = {"",7,210,221.000000,-79.000000,229.000000,-71.000000,0.000000,""}; -item33[] = {"too_long",4,4314,-425.000000,725.000000,-325.000000,775.000000,0.000000,"too long"}; -item34[] = {"",7,210,-229.000000,746.000000,-221.000000,754.000000,0.000000,""}; -item35[] = {"",7,210,-479.000000,746.000000,-471.000000,754.000000,0.000000,""}; -item36[] = {"Reset_Targeting",2,250,-525.000000,325.000000,-425.000000,375.000000,0.000000,"Reset" \n "Targeting"}; -item37[] = {"deleted",4,218,425.000000,-25.000000,525.000000,25.000000,0.000000,"deleted"}; -item38[] = {"",7,210,471.000000,-79.000000,479.000000,-71.000000,0.000000,""}; -item39[] = {"",7,210,471.000000,95.999977,479.000000,104.000023,0.000000,""}; -item40[] = {"",7,210,-104.000000,596.000000,-95.999992,604.000000,0.000000,""}; -item41[] = {"Target_Dead",4,218,-275.000000,500.000000,-175.000000,550.000000,3.000000,"Target Dead"}; -item42[] = {"",7,210,-479.000000,521.000000,-471.000000,529.000000,0.000000,""}; -item43[] = {"TimeCheck",4,218,-150.000000,275.000000,-50.000000,325.000000,2.000000,"TimeCheck"}; -item44[] = {"No_Agent",4,218,25.000000,450.000000,125.000000,500.000000,5.000000,"No Agent"}; -item45[] = {"",7,210,221.000015,546.000061,229.000000,553.999939,0.000000,""}; -item46[] = {"",7,210,-29.000042,545.999939,-20.999958,554.000061,0.000000,""}; -item47[] = {"Ready",4,218,-400.000000,-125.000000,-300.000000,-75.000000,0.000000,"Ready"}; -item48[] = {"Loiter",2,250,-400.000000,25.000000,-300.000000,75.000000,0.000000,"Loiter"}; -item49[] = {"Time_Check",4,218,-275.000000,50.000000,-175.000000,100.000000,0.000000,"Time" \n "Check"}; -item50[] = {"MoveCompleted_",4,218,-525.000000,50.000000,-425.000000,100.000000,3.000000,"MoveCompleted "}; -item51[] = {"Failed_Move",4,218,-525.000000,100.000000,-425.000000,150.000000,3.000000,"Failed Move"}; -item52[] = {"Not_moving",4,218,-525.000000,0.000000,-425.000000,50.000000,1.000000,"Not moving"}; -item53[] = {"",7,210,-604.000000,-29.000000,-596.000000,-21.000000,0.000000,""}; -item54[] = {"player_check",4,218,-275.000000,0.000000,-175.000000,50.000000,2.000000,"player" \n "check"}; -item55[] = {"True",8,218,-525.000000,-50.000000,-425.000000,0.000000,0.000000,"True"}; -item56[] = {"",7,210,-729.000000,-129.000000,-721.000000,-121.000008,0.000000,""}; -item57[] = {"InRange",4,218,-275.000000,400.000000,-175.000000,450.000000,1.000000,"InRange"}; -item58[] = {"Attacking_Wait",2,250,-400.000000,375.000000,-300.000000,425.000000,0.000000,"Attacking Wait"}; -item59[] = {"NotInRange",4,218,-275.000000,350.000000,-175.000000,400.000000,1.000000,"NotInRange"}; -item60[] = {"TimeCheck",4,218,-400.000000,275.000000,-300.000000,325.000000,0.000000,"TimeCheck"}; -item61[] = {"Has_Target",4,218,-150.000000,200.000000,-50.000000,250.000000,0.000000,"Has" \n "Target"}; -item62[] = {"Reset_MoveTo",2,250,-275.000000,200.000000,-175.000000,250.000000,0.000000,"Reset MoveTo"}; -item63[] = {"",7,210,-479.000000,-129.000000,-471.000000,-121.000000,0.000000,""}; -item64[] = {"isDedicated",4,218,-125.000000,-250.000000,-25.000000,-200.000000,0.000000,"isDedicated"}; -link0[] = {0,47}; -link1[] = {0,64}; -link2[] = {2,14}; -link3[] = {3,45}; -link4[] = {4,2}; -link5[] = {4,5}; -link6[] = {5,44}; -link7[] = {5,46}; -link8[] = {6,9}; -link9[] = {7,8}; -link10[] = {8,4}; -link11[] = {8,18}; -link12[] = {8,43}; -link13[] = {8,57}; -link14[] = {9,10}; -link15[] = {10,4}; -link16[] = {10,61}; -link17[] = {11,12}; -link18[] = {12,36}; -link19[] = {13,56}; -link20[] = {14,16}; -link21[] = {15,14}; -link22[] = {16,25}; -link23[] = {16,29}; -link24[] = {17,32}; -link25[] = {18,11}; -link26[] = {18,40}; -link27[] = {18,41}; -link28[] = {19,20}; -link29[] = {20,21}; -link30[] = {20,23}; -link31[] = {20,34}; -link32[] = {21,22}; -link33[] = {22,42}; -link34[] = {23,46}; -link35[] = {24,53}; -link36[] = {25,26}; -link37[] = {26,28}; -link38[] = {26,30}; -link39[] = {27,31}; -link40[] = {28,27}; -link41[] = {28,29}; -link42[] = {28,39}; -link43[] = {29,17}; -link44[] = {30,26}; -link45[] = {31,32}; -link46[] = {32,1}; -link47[] = {33,35}; -link48[] = {34,33}; -link49[] = {35,22}; -link50[] = {36,13}; -link51[] = {37,38}; -link52[] = {38,31}; -link53[] = {39,37}; -link54[] = {40,19}; -link55[] = {41,42}; -link56[] = {42,12}; -link57[] = {43,8}; -link58[] = {44,15}; -link59[] = {45,15}; -link60[] = {46,3}; -link61[] = {47,48}; -link62[] = {48,6}; -link63[] = {48,49}; -link64[] = {48,50}; -link65[] = {48,51}; -link66[] = {48,52}; -link67[] = {48,54}; -link68[] = {49,48}; -link69[] = {50,24}; -link70[] = {51,24}; -link71[] = {52,24}; -link72[] = {53,55}; -link73[] = {54,48}; -link74[] = {55,48}; -link75[] = {56,63}; -link76[] = {57,58}; -link77[] = {58,59}; -link78[] = {58,60}; -link79[] = {59,8}; -link80[] = {60,58}; -link81[] = {61,62}; -link82[] = {62,7}; -link83[] = {63,55}; -link84[] = {64,1}; -globals[] = {25.000000,1,0,0,0,640,480,1,193,6316128,1,-736.296082,268.705750,907.675354,265.884705,1425,910,1}; -window[] = {2,-1,-1,-1,-1,883,182,1390,182,3,1443}; -*//*%FSM*/ -class FSM -{ - fsmName = "DZE Bloodsucker Agent"; - class States - { - /*%FSM*/ - class init - { - name = "init"; - init = /*%FSM*/"_agent = _this select 0;" \n - "_position = _agent modelToWorld [0,0,0];" \n - "" \n - "_secondHand = false;" \n - "" \n - "if (count _this > 1) then {" \n - " _secondHand = true;" \n - " diag_log (""Second Hand Bloodsucker Initialized: "" + str(_this));" \n - "};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class isDedicated - { - priority = 0.000000; - to="End"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"isDedicated"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Ready - { - priority = 0.000000; - to="Loiter"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(!isNil 'dayz_clientPreload' && {dayz_clientPreload}) && !(isNull _agent)"/*%FSM*/; - action=/*%FSM*/"_myDest = [_agent,_position] call zombie_loiter;" \n - "" \n - "_agent disableAI ""FSM"";" \n - "_agent setBehaviour ""CARELESS"";" \n - "_agent setSpeedMode ""FULL"";" \n - "" \n - "// hint ""Bloodsucker has spawned"";" \n - "" \n - "_isSomeone = true;" \n - "" \n - "_target = objNull;" \n - "_targetPos = [];" \n - "_entityTime = diag_tickTime;" \n - "" \n - "// Select skin" \n - "_skin = [""act_krovosos_new1"",""act_krovosos_3"",""act_krovosos_2""] call BIS_fnc_selectRandom;" \n - "_agent setVariable [""mutantSkin"",_skin, false];" \n - "" \n - "// Announce presence" \n - "[_agent,""bloodgrowl1"",0,false] call dayz_zombieSpeak;"/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class End - { - name = "End"; - init = /*%FSM*/"if (!isDedicated) then {" \n - " if (!isNull _agent) then {" \n - " deleteVehicle _agent;" \n - " };" \n - "} else {" \n - " [_agent] call zombie_findOwner;" \n - "};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - }; - }; - /*%FSM*/ - /*%FSM*/ - class Chase - { - name = "Chase"; - init = /*%FSM*/"_timeN = diag_tickTime;" \n - "" \n - "_target = _agent call mutant_findTarget;" \n - "_targetPos = getPosATL _target;" \n - "_isAlive = alive _agent;" \n - "_isTargetAlive = alive _target;" \n - "" \n - "//Move to location" \n - "_agent moveTo _targetPos;" \n - "" \n - "//Check if LOS" \n - "if ((_agroCheck % 8) == 0) then {" \n - " _agroCheck = 0;" \n - " _cantSee = [_target,_agent] call dayz_losCheck;" \n - "};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Nobody_Near - { - priority = 6.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isSomeone"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Not_Alive - { - priority = 5.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isAlive"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class No_Agent - { - priority = 5.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(isNull _agent)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class No_Target - { - priority = 3.000000; - to="Reset_Targeting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(isNull _target) && ((diag_tickTime - _timeN) > 5)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Target_Dead - { - priority = 3.000000; - to="Reset_Targeting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isTargetAlive"/*%FSM*/; - action=/*%FSM*/"_timeN = diag_tickTime;"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class cant_see - { - priority = 2.000000; - to="Finish_Move"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_cantSee"/*%FSM*/; - action=/*%FSM*/"// diag_log (""Mutant Cant See Target"");"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class TimeCheck - { - priority = 2.000000; - to="Chase"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(diag_tickTime - _timeN) > 2" \n - ""/*%FSM*/; - action=/*%FSM*/"_agroCheck= _agroCheck + 1;"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class InRange - { - priority = 1.000000; - to="Attacking_Wait"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_agent distance _targetPos < 3.1"/*%FSM*/; - action=/*%FSM*/"_agent stop true;" \n - "" \n - "_myDest = [ _agent modelToWorld [0,0,0]];" \n - "" \n - "_agent setVariable [""myDest"",(_agent modelToWorld [0,0,0])];" \n - "" \n - "_agroCheck= 0;"/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Cleanup_ - { - name = "Cleanup_"; - init = /*%FSM*/"_waitStart = diag_tickTime;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class nobody_around - { - priority = 0.000000; - to="End"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isSomeone"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class someone_here - { - priority = 0.000000; - to="wait"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_isSomeone"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Finish_Move - { - name = "Finish_Move"; - init = /*%FSM*/"_timeN = diag_tickTime;" \n - "" \n - "_isSomeone = false;" \n - "{" \n - " if (isPlayer _x && {_x distance _agent < 300}) exitWith {_isSomeone = true;};" \n - "} count playableUnits;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Nobody_Near - { - priority = 6.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isSomeone"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class finished - { - priority = 1.000000; - to="Reset_Targeting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_agent distance _targetPos < 3"/*%FSM*/; - action=/*%FSM*/"//diag_log (""Finished"");"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class too_long - { - priority = 0.000000; - to="Reset_Targeting"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(diag_tickTime - _timeN) > 20"/*%FSM*/; - action=/*%FSM*/"//diag_log (""Mutant Cant See Timeout"");"/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Move - { - name = "Move"; - init = /*%FSM*/"_myDest = [_agent,_position] call zombie_loiter;"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class True - { - priority = 0.000000; - to="Loiter"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class wait - { - name = "wait"; - init = /*%FSM*/"_isSomeone = false;" \n - "{" \n - " if (isPlayer _x && {_x distance _agent < 300}) exitWith {_isSomeone = true;};" \n - "} count playableUnits;" \n - "" \n - "_timeN = diag_tickTime;" \n - "" \n - "//diag_log (""Waiting until players are not near to delete bloodsucker, or timeout"");"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class time_up - { - priority = 0.000000; - to="End"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(diag_tickTime - _waitStart) > 300"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class nobody_around - { - priority = 0.000000; - to="End"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isSomeone"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class deleted - { - priority = 0.000000; - to="End"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"isNull _agent;"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Time_Check - { - priority = 0.000000; - to="wait"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(diag_tickTime - _timeN) > 30"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Reset_Targeting - { - name = "Reset_Targeting"; - init = /*%FSM*/"//Lets move" \n - "_myDest = [_agent,_position] call zombie_loiter;" \n - "" \n - "// Reset Targets" \n - "_agent setVariable [""localtargets"", [], false];" \n - "_agent setVariable [""remotetargets"", [], true];" \n - "_target = objNull;" \n - "" \n - "// diag_log (""Mutant Targets Reset"");" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class True - { - priority = 0.000000; - to="Loiter"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Loiter - { - name = "Loiter"; - init = /*%FSM*/"_isAlive = alive _agent;" \n - "_timeN = diag_tickTime;" \n - "" \n - "//Look for target" \n - "_target = _agent call mutant_findTarget;" \n - "" \n - "if (_myDest distance (getposATL _agent) > 3) then {" \n - " _agent moveTo _myDest;" \n - "};"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class Nobody_Near - { - priority = 6.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isSomeone"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class No_Agent - { - priority = 5.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(isNull _agent)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Not_Alive - { - priority = 5.000000; - to="Cleanup_"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!_isAlive"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Failed_Move - { - priority = 3.000000; - to="Move"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"moveToFailed _agent;"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class MoveCompleted_ - { - priority = 3.000000; - to="Move"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"moveToCompleted _agent;"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class player_check - { - priority = 2.000000; - to="Loiter"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(diag_tickTime - _entityTime) > 30"/*%FSM*/; - action=/*%FSM*/"_entityTime = diag_tickTime;" \n - "" \n - "_isSomeone = false;" \n - "{" \n - " if (isPlayer _x && {_x distance _agent < 300}) exitWith {_isSomeone = true;};" \n - "} count playableUnits;"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Not_moving - { - priority = 1.000000; - to="Move"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(Speed _agent == 0)" \n - ""/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Time_Check - { - priority = 0.000000; - to="Loiter"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(diag_tickTime - _timeN) > 1"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class Has_Target - { - priority = 0.000000; - to="Reset_MoveTo"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"!(isNull _target)"/*%FSM*/; - action=/*%FSM*/"// diag_log ""Bloodsucker found target"";"/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Attacking_Wait - { - name = "Attacking_Wait"; - init = /*%FSM*/"_targetPos = _target modelToWorld [0,-1,0];" \n - "" \n - "_timeN = diag_tickTime;" \n - ""/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class NotInRange - { - priority = 1.000000; - to="Chase"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"_agent distance _targetPos > 3.1"/*%FSM*/; - action=/*%FSM*/"_agent stop false;"/*%FSM*/; - }; - /*%FSM*/ - /*%FSM*/ - class TimeCheck - { - priority = 0.000000; - to="Attacking_Wait"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"((diag_tickTime - _timeN) > 1)"/*%FSM*/; - action=/*%FSM*/""/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - /*%FSM*/ - class Reset_MoveTo - { - name = "Reset_MoveTo"; - init = /*%FSM*/"_agent moveTo (_agent modelToWorld [0,0,0]);"/*%FSM*/; - precondition = /*%FSM*/""/*%FSM*/; - class Links - { - /*%FSM*/ - class UnitReady - { - priority = 5.000000; - to="Chase"; - precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"unitReady _agent"/*%FSM*/; - action=/*%FSM*/"_myDest = [ _agent modelToWorld [0,0,0]];" \n - "_agent setVariable [""myDest"",(_agent modelToWorld [0,0,0])];" \n - "" \n - "//Lets see if we can get the AI to stop running away before heading to the player" \n - "_agent moveTo (_agent modelToWorld [0,0,0]);" \n - "" \n - "_agroCheck = 0;" \n - "_cantSee = false;"/*%FSM*/; - }; - /*%FSM*/ - }; - }; - /*%FSM*/ - }; - initState="init"; - finalStates[] = - { - "End", - }; -}; -/*%FSM*/ \ No newline at end of file diff --git a/SQF/dayz_server/compile/garage/init.sqf b/SQF/dayz_server/compile/garage/init.sqf deleted file mode 100644 index 0ce53c169..000000000 --- a/SQF/dayz_server/compile/garage/init.sqf +++ /dev/null @@ -1,54 +0,0 @@ -server_queryVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_queryVehicle.sqf"; -server_spawnVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_spawnVehicle.sqf"; -server_storeVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_storeVehicle.sqf"; -server_maintainGarage = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\server_maintainVehicles.sqf"; - -"PVDZE_queryVehicle" addPublicVariableEventHandler {(_this select 1) spawn server_queryVehicle}; -"PVDZE_spawnVehicle" addPublicVariableEventHandler {(_this select 1) spawn server_spawnVehicle}; -"PVDZE_storeVehicle" addPublicVariableEventHandler {(_this select 1) spawn server_storeVehicle}; -"PVDZE_maintainGarage" addPublicVariableEventHandler {(_this select 1) spawn server_maintainGarage}; - -// Thanks to icomrade/DayZ Epoch for this code: https://github.com/EpochModTeam/DayZ-Epoch/commit/8035df0ba0cd928b84085e288c5cb88260870a3e#diff-ad0636fc2328a27bd80bad9f46126307 -VG_RandomizeMyKey = { - _randomInput = toArray "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; - _return = []; - for "_i" from 0 to (_this) do { - _return set [count _return, (_randomInput call BIS_fnc_selectRandom)]; - }; - _return; -}; -vg_serverKey = toString (8 call VG_RandomizeMyKey); -vg_alreadySpawned = []; - -VG_ClearTurrets = { - //By denvdmj (probably, I found it on the biki) - private ["_weaponArray","_findRecurse","_class","_obj","_turret","_mags"]; - _obj = _this; - - _weaponArray = []; - _weaponArray set [count _weaponArray,[-1]]; - - _findRecurse = { - private ["_root", "_class", "_path", "_currentPath", "_thisThis"]; - _root = (_this select 0); - _path = +(_this select 1); - _thisThis = _this select 2; - for "_i" from 0 to count _root -1 do { - _class = _root select _i; - if (isClass _class) then { - _currentPath = _path + [_i]; - {_weaponArray set [count _weaponArray, _currentPath];} count getArray (_class >> "weapons"); - _class = _class >> "turrets"; - if (isClass _class) then {[_class, _currentPath, _thisThis] call _findRecurse;}; - }; - }; - }; - - [configFile >> "CfgVehicles" >> typeOf (_obj) >> "turrets", [], _this] call _findRecurse; - - { - _turret = _x; - _mags = _obj magazinesTurret _turret; - {_obj removeMagazinesTurret[_x,_turret];} count _mags; - } forEach _weaponArray; -}; diff --git a/SQF/dayz_server/compile/garage/server_maintainVehicles.sqf b/SQF/dayz_server/compile/garage/server_maintainVehicles.sqf deleted file mode 100644 index f70711f6d..000000000 --- a/SQF/dayz_server/compile/garage/server_maintainVehicles.sqf +++ /dev/null @@ -1,9 +0,0 @@ -private ["_player","_playerUID","_key","_message"]; -_player = _this select 0; -_playerUID = if (count _this > 1) then {_this select 1} else {getPlayerUID _player}; - -_key = format["CHILD:803:%1:",_playerUID]; -_key call server_hiveWrite; - -_message = format["GARAGE: %1 (%2) maintained vehicles linked to UID: %3 @%4 %5",if (alive _player) then {name _player} else {"DeadPlayer"},getPlayerUID _player,_playerUID,mapGridPosition _player,getPosATL _player]; -diag_log _message; diff --git a/SQF/dayz_server/compile/garage/server_queryVehicle.sqf b/SQF/dayz_server/compile/garage/server_queryVehicle.sqf deleted file mode 100644 index 9784acf9b..000000000 --- a/SQF/dayz_server/compile/garage/server_queryVehicle.sqf +++ /dev/null @@ -1,12 +0,0 @@ -private ["_player","_query","_result","_clientID","_playerUID"]; - -_player = _this select 0; -_clientID = owner _player; -_playerUID = if (count _this > 1) then {_this select 1} else {getPlayerUID _player}; - -_key = format["CHILD:800:%1:%2:",_playerUID,vg_sortColumn]; -_result = _key call server_hiveReadWrite; - -PVDZE_queryVehicleResult = _result; - -if (!isNull _player) then {_clientID publicVariableClient "PVDZE_queryVehicleResult";}; diff --git a/SQF/dayz_server/compile/garage/server_spawnVehicle.sqf b/SQF/dayz_server/compile/garage/server_spawnVehicle.sqf deleted file mode 100644 index df3919b7e..000000000 --- a/SQF/dayz_server/compile/garage/server_spawnVehicle.sqf +++ /dev/null @@ -1,112 +0,0 @@ -private ["_isAir","_VG_ObjID","_characterID","_class","_clientID","_clrinit","_clrinit2","_colour","_colour2","_dam","_damage","_dir","_fuel","_hitpoints","_id","_inventory","_key","_location","_message","_object","_oid","_outcome","_player","_result","_selection","_serverKey","_uid","_worldSpace"]; - -_worldSpace = _this select 0; -_player = _this select 1; -_id = _this select 2; -_dir = _worldSpace select 0; -_location = _worldSpace select 1; -_worldSpace = [_dir,_location]; -_uid = _worldSpace call dayz_objectUID2; -_key = str formatText["CHILD:801:%1:%2:%3:",_id,_worldSpace,_uid]; - -_result = _key call server_hiveReadWrite; -_outcome = _result select 0; -if (_outcome != "PASS") exitWith {diag_log("HIVE VIRTUAL GARAGE SPAWN VEHICLE FAILED TO EXECUTE: " + _key);}; -_class = _result select 1; -_characterID = _result select 2; -_inventory = _result select 3; -_hitpoints = _result select 4; -_fuel = _result select 5; -_damage = _result select 6; -_colour = _result select 7; -_colour2 = _result select 8; -_serverKey = _result select 9; -_VG_ObjID = _result select 10; -_clientID = owner _player; - -if (_VG_ObjID in vg_alreadySpawned) exitWith { - diag_log format["VG ERROR: Vehicle with VGObjID = %1 has already been spawned and will not be spawned again. PlayerUID: %2", _VG_ObjID, (getPlayerUID _player)]; -}; - -_key = format["CHILD:388:%1:",_uid]; - -#ifdef OBJECT_DEBUG -diag_log ("HIVE: WRITE: "+ str(_key)); -#endif - -_result = _key call server_hiveReadWrite; -_outcome = _result select 0; - -if (_outcome != "PASS") then { - diag_log("CUSTOM: failed to get id for : " + str(_uid)); -} else { - _VG_ObjID = (toString (18 call VG_RandomizeMyKey)); //new ID - vg_alreadySpawned set [(count vg_alreadySpawned), _VG_ObjID]; - _oid = _result select 1; - - #ifdef OBJECT_DEBUG - diag_log("CUSTOM: Selected " + str(_oid)); - #endif - - _object = _class createVehicle _location; - if (surfaceIsWater _location && {({_x != _object} count (_location nearEntities ["Ship",8])) == 0}) then { - _object setPos _location; - }; - - _object addEventHandler ["HandleDamage",{false}]; - - clearWeaponCargoGlobal _object; - clearMagazineCargoGlobal _object; - if (vg_clearAmmo && {vg_serverKey == _serverKey}) then {_object call VG_ClearTurrets;}; - - _object setFuel _fuel; - _object setDamage _damage; - - [_inventory select 0,_inventory select 1,_inventory select 2,_object] call fn_addCargo; - - _object setVariable ["ObjectID", _oid, true]; - _object setVariable ["lastUpdate",diag_tickTime]; - _object setVariable ["VGObjectID",_VG_ObjID, false]; - - if (_colour != "0") then { - _object setVariable ["Colour",_colour,true]; - _clrinit = format ["#(argb,8,8,3)color(%1)",_colour]; - _object setVehicleInit "this setObjectTexture [0,"+str _clrinit+"];"; - }; - - if (_colour2 != "0") then { - _object setVariable ["Colour2",_colour2,true]; - _clrinit2 = format ["#(argb,8,8,3)color(%1)",_colour2]; - _object setVehicleInit "this setObjectTexture [1,"+str _clrinit2+"];"; - }; - - processInitCommands; - - _characterID = str(_characterID); - _object setVariable ["CharacterID", _characterID, true]; - - if (_characterID != "0" && !(_object isKindOf "Bicycle")) then {_object setVehicleLock "LOCKED";}; - _isAir = _object isKindOf "Air"; - - { - _selection = _x select 0; - _dam = _x select 1; - _dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts}); - [_object,_selection,_dam] call fnc_veh_setFixServer; - } forEach _hitpoints; - - dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object]; - - _object call fnc_veh_ResetEH; - {if (_object isKindOf _x) exitWith {_object disableTIEquipment true;}} count vg_disableThermal; - - PVDZE_veh_Init = _object; - publicVariable "PVDZE_veh_Init"; - - PVDZE_spawnVehicleResult = _characterID; - - if (!isNull _player) then {_clientID publicVariableClient "PVDZE_spawnVehicleResult";}; - - _message = format["%1 (%2) retrieved %3 @%4 %5",if (alive _player) then {name _player} else {"DeadPlayer"},getPlayerUID _player,_class,mapGridPosition _player,getPosATL _player]; - diag_log _message; -}; diff --git a/SQF/dayz_server/compile/garage/server_storeVehicle.sqf b/SQF/dayz_server/compile/garage/server_storeVehicle.sqf deleted file mode 100644 index 3e969e079..000000000 --- a/SQF/dayz_server/compile/garage/server_storeVehicle.sqf +++ /dev/null @@ -1,92 +0,0 @@ -private ["_damageVeh","_VGobjID","_array","_backPack","_backPackCount","_charID","_class","_clientID","_colour","_colour2","_damage","_displayName","_fnc_sanitizeInput","_fuel","_gearCount","_hit","_hitpoints","_index","_inventory","_inventoryCount","_key","_magazine","_magazineCount","_message","_name","_objectID","_objectUID","_player","_playerUID","_selection","_vehicle","_weapons","_weaponsCount","_woGear"]; - -_vehicle = _this select 0; -_player = _this select 1; -_woGear = _this select 2; -_clientID = owner _player; -_playerUID = if (count _this > 3) then {_this select 3} else {getPlayerUID _player}; - -_gearCount = { - private ["_counter"]; - _counter = 0; - {_counter = _counter + _x;} count _this; - _counter; -}; - -_fnc_sanitizeInput = { - private ["_input","_badChars"]; - - _input = _this; - _input = toArray (_input); - _badChars = [60,62,38,123,125,91,93,59,58,39,96,126,44,46,47,63,124,92,34]; - - { - _input = _input - [_x]; - } forEach _badChars; - - _input = toString (_input); - _input -}; - -_class = typeOf _vehicle; -_displayName = (getText(configFile >> "cfgVehicles" >> _class >> "displayName")) call _fnc_sanitizeInput; -_name = if (alive _player) then {(name _player) call _fnc_sanitizeInput;} else {"unknown player";}; - -_charID = _vehicle getVariable ["CharacterID","0"]; -_objectID = _vehicle getVariable ["ObjectID","0"]; -_objectUID = _vehicle getVariable ["ObjectUID","0"]; -_VGobjID = _vehicle getVariable ["VGObjectID","0"]; -if (_VGobjID == "0") then { - _VGobjID = (toString (18 call VG_RandomizeMyKey)); //normally spawned vehicle -} else { - _index = vg_alreadySpawned find _VGobjID; - if (_index >= 0) then { - vg_alreadySpawned = vg_alreadySpawned - [_VGobjID]; - } else { - diag_log format["VG Error: Could not find vehicle with VGobjUID = %1 in vg_alreadySpawned array (server_storeVehicle.sqf) - possible duplicate vehicle being stored. PlayerUID: %2", _VGobjID, (getPlayerUID _player)]; - }; -}; -_damageVeh = damage _vehicle; -_fuel = fuel _vehicle; -_colour = _vehicle getVariable ["Colour","0"]; -_colour2 = _vehicle getVariable ["Colour2","0"]; - -_array = []; -_inventory = [[[],[]],[[],[]],[[],[]]]; -_inventoryCount = [0,0,0]; - -if (isNil "_colour") then {_colour = "0";}; -if (isNil "_colour2") then {_colour2 = "0";}; - -_hitpoints = _vehicle call vehicle_getHitpoints; - -{ - _hit = [_vehicle,_x] call object_getHit; - _damage = _hit select 0; - _selection = getText (configFile >> "CfgVehicles" >> _class >> "HitPoints" >> _x >> "name"); - if (_damage > 0) then {_array set [count _array,[_selection,_damage]]}; -} count _hitpoints; - -if (!_woGear) then { - _weapons = getWeaponCargo _vehicle; - _magazine = getMagazineCargo _vehicle; - _backPack = getBackpackCargo _vehicle; - _weaponsCount = (_weapons select 1) call _gearCount; - _magazineCount = (_magazine select 1) call _gearCount; - _backPackCount = (_backPack select 1) call _gearCount; - _inventory = [_weapons, _magazine, _backPack]; - _inventoryCount = [_weaponsCount, _magazineCount, _backPackCount]; -}; - -_key = str formatText["CHILD:802:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:",_playerUID,_name,_displayName,_class,_charID,_inventory,_array,_fuel,_damageVeh,_colour,_colour2,vg_serverKey,_VGobjID,_inventoryCount]; -_key call server_hiveWrite; - -PVDZE_storeVehicleResult = true; - -[_objectID,_objectUID,_vehicle] call server_deleteObjDirect; -deleteVehicle _vehicle; - -if (!isNull _player) then {_clientID publicVariableClient "PVDZE_storeVehicleResult";}; - -_message = format["GARAGE: %1 (%2) stored %3 @%4 %5",_name,_playerUID,_class,mapGridPosition _player,getPosATL _player]; -diag_log _message; diff --git a/SQF/dayz_server/compile/server_playerDied.sqf b/SQF/dayz_server/compile/server_playerDied.sqf index edad31b5a..8fc0896c4 100644 --- a/SQF/dayz_server/compile/server_playerDied.sqf +++ b/SQF/dayz_server/compile/server_playerDied.sqf @@ -85,4 +85,5 @@ if (_playerName != "unknown" || {_sourceName != "unknown"}) then { }; _newObject setDamage 1; -_newObject setOwner 0; \ No newline at end of file +_newObject setOwner 0; +//dead_bodyCleanup set [count dead_bodyCleanup,_newObject]; diff --git a/SQF/dayz_server/compile/server_playerSetup.sqf b/SQF/dayz_server/compile/server_playerSetup.sqf index 44789b63e..9f19e3278 100644 --- a/SQF/dayz_server/compile/server_playerSetup.sqf +++ b/SQF/dayz_server/compile/server_playerSetup.sqf @@ -239,7 +239,7 @@ _playerObj setVariable ["lastTime",diag_ticktime]; //set server-side inventory variable to monitor player gear if (count _inventory > 2) then { - _playerObj setVariable["ServerMagArray",_inventory select 1, false]; + _playerObj setVariable["ServerMagArray",[_inventory select 1,_inventory select 2,_inventory select 0], false]; }; //Record Player Login/LogOut diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf index 9bce701af..90aeefb20 100644 --- a/SQF/dayz_server/compile/server_playerSync.sqf +++ b/SQF/dayz_server/compile/server_playerSync.sqf @@ -2,7 +2,8 @@ local _character = _this select 0; local _magazines = _this select 1; -local _dayz_onBack = _character getVariable ["dayz_onBack",""]; +local _dayz_onBack = _this select 2; +local _weaponsPlayer = _this select 3; local _characterID = _character getVariable ["characterID","0"]; local _playerUID = getPlayerUID _character; local _charPos = getPosATL _character; @@ -40,7 +41,7 @@ local _usec_Dead = _character getVariable ["USEC_isDead",false]; local _lastTime = _character getVariable ["lastTime",-1]; local _modelChk = _character getVariable ["model_CHK",""]; local _temp = round (_character getVariable ["temperature",100]); -local _lastMagazines = _character getVariable ["ServerMagArray",[]]; +local _lastMagazines = _character getVariable ["ServerMagArray",[[],"",[]]]; //Get difference between current stats and stats at last sync local _statsDiff = [_character,_playerUID] call server_getStatsDiff; _humanity = _statsDiff select 0; @@ -53,12 +54,17 @@ local _charPosLen = count _charPos; local _magTemp = []; if (!isNil "_magazines") then { - _playerGear = [weapons _character,_magazines,_dayz_onBack]; - _character setVariable["ServerMagArray",_magazines, false]; + _playerGear = [_weaponsPlayer,_magazines,_dayz_onBack]; + _character setVariable["ServerMagArray",[_magazines,_dayz_onBack,_weaponsPlayer], false]; } else { //check Magazines everytime they aren't sent by player_forceSave - _magTemp = _lastMagazines; - + _magTemp = (_lastMagazines select 0); + if (isNil "_dayz_onBack") then { + _dayz_onBack = _lastMagazines select 1; + }; + if (isNil "_weaponsPlayer") then { + _weaponsPlayer = _lastMagazines select 2; + }; if (count _magTemp > 0) then { _magazines = [(magazines _character),20] call array_reduceSize; { @@ -67,7 +73,7 @@ if (!isNil "_magazines") then { _class = _x select 0; }; if (_class in _magazines) then { - local _MatchedCount = {local _compare = if (typeName _x == "ARRAY") then {_x select 0;} else {_x}; _compare == _class} count _magTemp; + local _MatchedCount = {_compare = if (typeName _x == "ARRAY") then {_x select 0;} else {_x}; _compare == _class} count _magTemp; local _CountedActual = {_x == _class} count _magazines; if (_MatchedCount > _CountedActual) then { _magTemp set [_forEachIndex, "0"]; @@ -75,15 +81,16 @@ if (!isNil "_magazines") then { } else { _magTemp set [_forEachIndex, "0"]; }; - } forEach _lastMagazines; + } forEach (_lastMagazines select 0); _magazines = _magTemp - ["0"]; + _magazines = [_magazines,_dayz_onBack,_weaponsPlayer]; _character setVariable["ServerMagArray",_magazines, false]; - _playerGear = [weapons _character,_magazines,_dayz_onBack]; + _playerGear = [_magazines select 2,_magazines select 0,_magazines select 1]; } else { - _magazines = _magTemp; + _magazines = [_magTemp,_dayz_onBack,_weaponsPlayer]; }; _character setVariable["ServerMagArray",_magazines, false]; - _playerGear = [weapons _character,_magazines,_dayz_onBack]; + _playerGear = [_magazines select 2,_magazines select 0,_magazines select 1]; }; //Check if update is requested diff --git a/SQF/dayz_server/compile/server_publishVehicle3.sqf b/SQF/dayz_server/compile/server_publishVehicle3.sqf index 9c83ebcfe..d876457bb 100644 --- a/SQF/dayz_server/compile/server_publishVehicle3.sqf +++ b/SQF/dayz_server/compile/server_publishVehicle3.sqf @@ -46,7 +46,7 @@ _magazines = getMagazineCargo _object; _backpacks = getBackpackCargo _object; _inv = [_weapons,_magazines,_backpacks]; -if (Z_SingleCurrency && {ZSC_VehicleMoneyStorage}) then { +if (Z_SingleCurrency && ZSC_VehicleMoneyStorage) then { _coins = _object getVariable ["cashMoney",0]; }; @@ -107,7 +107,7 @@ if (_outcome != "PASS") then { _object setVariable ["lastUpdate",diag_tickTime]; _object setVariable ["CharacterID", _characterID, true]; - if (Z_SingleCurrency && {ZSC_VehicleMoneyStorage && (_coins > 0)}) then { + if (Z_SingleCurrency && ZSC_VehicleMoneyStorage && {_coins > 0}) then { _object setVariable ["cashMoney",_coins,true]; }; diff --git a/SQF/dayz_server/compile/server_publishVehicle3_vkc.sqf b/SQF/dayz_server/compile/server_publishVehicle3_vkc.sqf deleted file mode 100644 index 0c0070fd1..000000000 --- a/SQF/dayz_server/compile/server_publishVehicle3_vkc.sqf +++ /dev/null @@ -1,205 +0,0 @@ -private ["_coins","_activatingPlayer","_object","_worldspace","_location","_dir","_class","_uid","_key","_keySelected" -,"_characterID","_result","_outcome","_oid","_objectID","_objectUID","_newobject","_weapons","_magazines","_backpacks" -,"_clientKey","_exitReason","_playerUID","_isAir","_fuel","_selection","_dam","_hitpoints","_newHitpoints","_damage" -,"_hit","_inv","_action","_clearTurrets","_message"]; -#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp" - -if (count _this < 6) exitWith { - diag_log "Server_PublishVehicle3 error: Wrong parameter format"; - dze_waiting = "fail"; - (owner (_this select 4)) publicVariableClient "dze_waiting"; -}; - -_object = _this select 0; -_worldspace = _this select 1; -_class = _this select 2; -_keySelected = _this select 3; -_activatingPlayer = _this select 4; -_clientKey = _this select 5; -_action = if (count _this > 6) then {_this select 6} else {""}; -_playerUID = getPlayerUID _activatingPlayer; -_characterID = _keySelected; - -_exitReason = [_this,"PublishVehicle3",(_worldspace select 1),_clientKey,_playerUID,_activatingPlayer] call server_verifySender; -if (_exitReason != "") exitWith { - diag_log _exitReason; - dze_waiting = "fail"; - (owner _activatingPlayer) publicVariableClient "dze_waiting"; -}; - -if (!(isClass(configFile >> "CfgVehicles" >> _class)) || isNull _object) exitWith { - diag_log ("HIVE-PublishVehicle3 Error: Vehicle does not exist: "+ str(_class)); - dze_waiting = "fail"; - (owner _activatingPlayer) publicVariableClient "dze_waiting"; -}; - -_objectID = _object getVariable ["ObjectID","0"]; -_objectUID = _object getVariable ["ObjectUID","0"]; -_location = [_object] call fnc_getPos; -_fuel = fuel _object; -_hitpoints = _object call vehicle_getHitpoints; -_newHitpoints = []; -_damage = damage _object; - -// add items from previous vehicle here -_weapons = getWeaponCargo _object; -_magazines = getMagazineCargo _object; -_backpacks = getBackpackCargo _object; -_inv = [_weapons,_magazines,_backpacks]; - -if (Z_SingleCurrency && {ZSC_VehicleMoneyStorage}) then { - _coins = _object getVariable ["cashMoney",0]; -}; - -{ - _hit = [_object,_x] call object_getHit; - if ((_hit select 0) > 0) then { - _newHitpoints set [count _newHitpoints,[(_hit select 1),(_hit select 0)]]; - } else { - _newHitpoints set [count _newHitpoints,[(_hit select 1),0]]; - }; -} count _hitpoints; - -#ifdef OBJECT_DEBUG -diag_log ("PUBLISH: Attempt " + str(_object)); -#endif - -_dir = _worldspace select 0; -_uid = _worldspace call dayz_objectUID2; - -_key = format["CHILD:308:%1:%2:%3:%4:%5:%6:%7:%8:%9:",dayZ_instance, _class, _damage , _characterID, _worldspace, _inv, _newHitpoints, _fuel,_uid]; -#ifdef OBJECT_DEBUG -diag_log ("HIVE: WRITE: "+ str(_key)); -#endif - -_key call server_hiveWrite; - -// GET DB ID -_key = format["CHILD:388:%1:",_uid]; -#ifdef OBJECT_DEBUG -diag_log ("HIVE: WRITE: "+ str(_key)); -#endif -_result = _key call server_hiveReadWrite; -_outcome = _result select 0; - -if (_outcome != "PASS") then { - diag_log("HIVE-pv3: failed to get id for : " + str(_uid)); - _key = format["CHILD:310:%1:",_uid]; - _key call server_hiveWrite; - dze_waiting = "fail"; - (owner _activatingPlayer) publicVariableClient "dze_waiting"; -} else { - _oid = _result select 1; - #ifdef OBJECT_DEBUG - diag_log("CUSTOM: Selected " + str(_oid)); - #endif - - _colour = _object getVariable ["Colour","0"]; - _colour2 = _object getVariable ["Colour2","0"]; - - deleteVehicle _object; - [_objectID,_objectUID,_object] call server_deleteObjDirect; - - uiSleep 3; - - _newobject = _class createVehicle [0,0,0]; - - // switch var to new vehicle at this point. - _object = _newobject; - - _object setVariable ["ObjectID", _oid, true]; - _object setVariable ["lastUpdate",diag_tickTime]; - _object setVariable ["CharacterID", _characterID, true]; - - if (Z_SingleCurrency && {ZSC_VehicleMoneyStorage && {_coins > 0}}) then { - _object setVariable ["cashMoney",_coins,true]; - }; - - dayz_serverObjectMonitor set [count dayz_serverObjectMonitor,_object]; - - clearWeaponCargoGlobal _object; - clearMagazineCargoGlobal _object; - clearBackpackCargoGlobal _object; - - _object setDir _dir; - _object setPosATL _location; - _object setVectorUp surfaceNormal _location; - _object setDamage _damage; - - if (_colour != "0") then { - _object setVariable ["Colour",_colour,true]; - _clrinit = format ["#(argb,8,8,3)color(%1)",_colour]; - _object setVehicleInit "this setObjectTexture [0,"+str _clrinit+"];"; - }; - - if (_colour2 != "0") then { - _object setVariable ["Colour2",_colour2,true]; - _clrinit2 = format ["#(argb,8,8,3)color(%1)",_colour2]; - _object setVehicleInit "this setObjectTexture [1,"+str _clrinit2+"];"; - }; - - processInitCommands; - [_weapons,_magazines,_backpacks,_object] call fn_addCargo; - - _clearTurrets = { - //By denvdmj (probably, I found it on the biki) - private ["_weaponArray","_findRecurse","_class","_obj","_turret","_mags"]; - _obj = _this; - - _weaponArray = []; - _weaponArray set [count _weaponArray,[-1]]; - - _findRecurse = { - private ["_root", "_class", "_path", "_currentPath", "_thisThis"]; - _root = (_this select 0); - _path = +(_this select 1); - _thisThis = _this select 2; - for "_i" from 0 to count _root -1 do { - _class = _root select _i; - if (isClass _class) then { - _currentPath = _path + [_i]; - {_weaponArray set [count _weaponArray, _currentPath];} count getArray (_class >> "weapons"); - _class = _class >> "turrets"; - if (isClass _class) then {[_class, _currentPath, _thisThis] call _findRecurse;}; - }; - }; - }; - - [configFile >> "CfgVehicles" >> typeOf (_obj) >> "turrets", [], _this] call _findRecurse; - - { - _turret = _x; - _mags = _obj magazinesTurret _turret; - {_obj removeMagazinesTurret[_x,_turret];} count _mags; - } forEach _weaponArray; - }; - - _isAir = _object isKindOf "Air"; - { - _selection = _x select 0; - _dam = [_x select 1,(_x select 1) min 0.8] select (!_isAir && {_selection in dayZ_explosiveParts}); - _object setHit [_selection,_dam]; - } count _newHitpoints; - - _object setFuel _fuel; - - [_object,"all",true] call server_updateObject; - - _object call fnc_veh_ResetEH; - // for non JIP users this should make sure everyone has eventhandlers for vehicles. - PVDZE_veh_Init = _object; - publicVariable "PVDZE_veh_Init"; - - {if (_object isKindOf _x) exitWith {_object disableTIEquipment true;}} count vkc_disableThermal; - if (vkc_clearAmmo) then {_object call _clearTurrets;}; - - dze_waiting = "success"; - (owner _activatingPlayer) publicVariableClient "dze_waiting"; - - if (_action == "") then { - _message = format["PUBLISH: %1(%2) upgraded %3 with UID %4 @%5",(_activatingPlayer call fa_plr2str),_playerUID,_class,_uid,(_location call fa_coor2str)]; - } else { - _message = format["PUBLISH: %1(%2) %6 %3 with UID %4 @%5",(_activatingPlayer call fa_plr2str),_playerUID,_class,_uid,(_location call fa_coor2str),_action]; - }; - diag_log _message; -}; diff --git a/SQF/dayz_server/init/server_functions.sqf b/SQF/dayz_server/init/server_functions.sqf index e87b4b23b..741f7d9ed 100644 --- a/SQF/dayz_server/init/server_functions.sqf +++ b/SQF/dayz_server/init/server_functions.sqf @@ -39,11 +39,7 @@ server_verifySender = compile preprocessFileLineNumbers "\z\addons\dayz_server\c server_swapObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_swapObject.sqf"; //Used to downgrade and upgrade Epoch buildables server_publishVeh = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle.sqf"; //Used to spawn random vehicles by server server_publishVeh2 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle2.sqf"; //Used to purchase vehicles at traders -if (DZE_VehicleKey_Changer) then { - server_publishVeh3 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle3_vkc.sqf"; //Used for car upgrades -} else { - server_publishVeh3 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle3.sqf"; //Used for car upgrades -}; +server_publishVeh3 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle3.sqf"; //Used for car upgrades server_tradeObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_tradeObject.sqf"; server_deaths = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf"; server_maintainArea = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_maintainArea.sqf"; @@ -58,10 +54,6 @@ spawn_mineveins = compile preprocessFileLineNumbers "\z\addons\dayz_server\compi spawn_roadblocks = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_roadblocks.sqf"; spawn_vehicles = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_vehicles.sqf"; -if (DZE_Virtual_Garage) then { - call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\garage\init.sqf"; -}; - fnc_veh_setFixServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_setFixServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles) server_medicalSync = { diff --git a/SQF/dayz_server/system/safeZoneRelocate.sqf b/SQF/dayz_server/system/safeZoneRelocate.sqf deleted file mode 100644 index e3e7f0d99..000000000 --- a/SQF/dayz_server/system/safeZoneRelocate.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - Safe Zone Relocate by salival (https://github.com/oiad) -*/ - -private ["_customPosition","_minDist","_maxDist","_maxDamage","_message","_nearVehicles","_objDist","_position","_safeZonePos","_safeZoneRadius","_useCustomPosition","_unlock"]; - -_useCustomPosition = false; // Enable a custom position to move vehicles to (i.e a junk yard) -_customPosition = [6942.64,15121.6,0]; // Position for vehicles to be moved to if _useCustomPosition = true; -_minDist = 5; // Minimum distance from the custom position to move vehicles to -_maxDist = 1000; // Maximum distance from the safe zone position to find a safe position or custom position for relocation, setting this too low can make vehicles spawn very close to other vehicles. -_objDist = 15; // Minimum distance from the safe position for relocation to the center of the nearest object. Specifying quite a large distance here will slow the function and might often fail to find a suitable position. -_unlock = false; // Unlock vehicle when moved from the safe zone? -_maxDamage = 0.75; // Vehicles above or equal to this amount of damage will be deleted - -{ - _safeZonePos = _x select 0; - _safeZoneRadius = _x select 1; - _nearVehicles = _safeZonePos nearEntities [["Air","LandVehicle","Ship"],_safeZoneRadius]; - { - if (damage _x >= _maxDamage) then { - _message = format ["[SAFEZONE] %1 was deleted from the server for being too damaged before relocate: @%2 %3",typeOf _x,mapGridPosition _x,getPosATL _x]; - diag_log _message; - [_x getVariable["ObjectID","0"],_x getVariable["ObjectUID","0"],_x] call server_deleteObjDirect; - deleteVehicle _x; - } else { - if (_useCustomPosition) then { - _position = [_customPosition,_minDist,_maxDist,_objDist,1,0,0,[]] call BIS_fnc_findSafePos; - } else { - _position = [_safeZonePos,(_safeZoneRadius + 50),_maxDist,_objDist,if (_x isKindOf "Ship") then {2} else {0},0,0,[],[_safeZonePos,_safeZonePos]] call BIS_fnc_findSafePos; - }; - _x setPos _position; - [_x,"position"] call server_updateObject; - if (_unlock && {locked _x}) then {_x setVehicleLock "UNLOCKED"}; - - _message = format ["[SAFEZONE] %1 was moved out of a safe zone to: @%2 %3",typeOf _x,mapGridPosition _position,_position]; - diag_log _message; - }; - } forEach _nearVehicles; -} forEach DZE_safeZonePosArray; diff --git a/SQF/dayz_server/system/scheduler/sched_corpses.sqf b/SQF/dayz_server/system/scheduler/sched_corpses.sqf index a3e2d4c45..b40e7d698 100644 --- a/SQF/dayz_server/system/scheduler/sched_corpses.sqf +++ b/SQF/dayz_server/system/scheduler/sched_corpses.sqf @@ -36,7 +36,7 @@ sched_corpses = { _addFlies = 0; { if (local _x && {_x isKindOf "CAManBase"}) then { - if (_x isKindOf "zZombie_Base" || {typeOf _x == "z_bloodsucker"}) then { + if (_x isKindOf "zZombie_Base") then { _x call sched_co_deleteVehicle; _delQtyZ = _delQtyZ + 1; } else { @@ -97,7 +97,7 @@ sched_corpses = { if (_onoff == 1) then { _sound = createSoundSource["Sound_Flies",getPosATL _x,[],0]; _sound attachTo [_x]; - _x setVariable ["sched_co_fliesSource", _sound,[false,true] select (DZE_Bury_Body || DZE_Butcher_Body)]; + _x setVariable ["sched_co_fliesSource", _sound]; //diag_log "create sound"; }; // broadcast flies status for everyone periodically, to update visible swarm diff --git a/SQF/dayz_server/system/scheduler/sched_init.sqf b/SQF/dayz_server/system/scheduler/sched_init.sqf index 6e4b4d6b2..1ced93f40 100644 --- a/SQF/dayz_server/system/scheduler/sched_init.sqf +++ b/SQF/dayz_server/system/scheduler/sched_init.sqf @@ -1,4 +1,4 @@ -#define PATH "\z\addons\dayz_server\system\scheduler\" +#define PATH "z\addons\dayz_server\system\scheduler\" call compile preprocessFileLineNumbers (PATH+"sched_corpses.sqf"); call compile preprocessFileLineNumbers (PATH+"sched_lootpiles.sqf"); @@ -6,11 +6,8 @@ call compile preprocessFileLineNumbers (PATH+"sched_sync.sqf"); call compile preprocessFileLineNumbers (PATH+"sched_safetyVehicle.sqf"); call compile preprocessFileLineNumbers (PATH+"sched_event.sqf"); call compile preprocessFileLineNumbers (PATH+"sched_traps.sqf"); -if (DZE_Bury_Body || DZE_Butcher_Body) then { - call compile preprocessFileLineNumbers (PATH+"sched_lootCrates.sqf"); -}; -local _list = [ +[ // period offset code <-> ctx init code ->ctx [ 60, 0, sched_event, sched_event_init ], [ 60, 224, sched_corpses ], @@ -20,12 +17,17 @@ local _list = [ [ 120, 48, sched_safetyVehicle ], [ 360, 480, sched_fps ], [ 30, 60, sched_traps, sched_traps_init ] -]; +] execFSM ("z\addons\dayz_code\system\scheduler\scheduler.fsm"); -if (DZE_Bury_Body || DZE_Butcher_Body) then { - _list set [count _list, [ 60, 240, sched_lootCrates ]]; -}; +//diag_log [ __FILE__, "Scheduler started"]; -_list execFSM ("\z\addons\dayz_code\system\scheduler\scheduler.fsm"); -//diag_log [ __FILE__, "Scheduler started"]; \ No newline at end of file + + +/* +// (see ViralZeds.hpp -> zombie_agent.fsm -> zombie_findOwner.sqf), called when a zombie becomes "local" to the server after the player disconnected +zombie_findOwner = { + (_this select 0) call fa_deleteVehicle; +}; +*/ + diff --git a/SQF/dayz_server/system/scheduler/sched_lootCrates.sqf b/SQF/dayz_server/system/scheduler/sched_lootCrates.sqf deleted file mode 100644 index 09e1234ff..000000000 --- a/SQF/dayz_server/system/scheduler/sched_lootCrates.sqf +++ /dev/null @@ -1,38 +0,0 @@ -#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp" - -// Delete loot crates, graves and crosses after 25 minutes -sched_lootCrates = { - private ["_delQtyCrate","_crateTime","_objects","_crates","_graves","_cross"]; - - _delQtyCrate = 0; - #define CENTER getMarkerPos "center" - #define RADIUS ((getMarkerSize "center") select 1)*2 - - _crates = CENTER nearObjects ["DZ_AmmoBoxSmallUS",RADIUS]; - _graves = CENTER nearObjects ["Grave",RADIUS]; - _cross = CENTER nearObjects ["GraveCross1",RADIUS]; - - _objects = _crates + _graves + _cross; - - { - if (_x getVariable ["bury",false]) then { - _crateTime = _x getVariable ["sched_co_crateTime", -1]; - if (_crateTime == -1) exitWith { - _crateTime = diag_tickTime; - _x setVariable ["sched_co_crateTime", _crateTime]; - }; - if (diag_tickTime - _crateTime > 25*60) then { - _x call sched_co_deleteVehicle; - _delQtyCrate = _delQtyCrate + 1; - }; - }; - } forEach _objects; - -#ifdef SERVER_DEBUG - if (_delQtyCrate> 0) then { - diag_log format ["%1: Deleted %2 bury/butcher objects.",__FILE__,_delQtyCrate]; - }; -#endif - - objNull -}; \ No newline at end of file diff --git a/SQF/dayz_server/system/server_monitor.sqf b/SQF/dayz_server/system/server_monitor.sqf index 27342b672..2fa703139 100644 --- a/SQF/dayz_server/system/server_monitor.sqf +++ b/SQF/dayz_server/system/server_monitor.sqf @@ -102,7 +102,7 @@ if ((playersNumber west + playersNumber civilian) == 0) exitWith { _damage = _x select 8; _storageMoney = _x select 9; - if ((_type isKindOf "AllVehicles") && !(_type isKindOf "StaticWeapon")) then { + if ((_type isKindOf "AllVehicles")) then { _VehicleQueue set [_vQty,_x]; _vQty = _vQty + 1; } else { @@ -341,7 +341,7 @@ if ((playersNumber west + playersNumber civilian) == 0) exitWith { // prevent immediate hive write when vehicle parts are set up _object setVariable ["lastUpdate",diag_ticktime]; _object setVariable ["ObjectID", _idKey, true]; - if (Z_SingleCurrency && {ZSC_VehicleMoneyStorage}) then { + if (Z_SingleCurrency && ZSC_VehicleMoneyStorage) then { _object setVariable ["cashMoney", _storageMoney, true]; }; @@ -466,7 +466,4 @@ if (_hiveLoaded) then { //Update gear last after all dynamic vehicles are created to save random loot to database (low priority) {[_x,"gear"] call server_updateObject} count _vehiclesToUpdate; }; - if (DZE_SafeZone_Relocate) then { - execVM "\z\addons\dayz_server\system\safeZoneRelocate.sqf"; - }; }; diff --git a/SQF/dayz_server/traders/caribou.sqf b/SQF/dayz_server/traders/caribou.sqf index b5c2e1281..a3ec74c17 100644 --- a/SQF/dayz_server/traders/caribou.sqf +++ b/SQF/dayz_server/traders/caribou.sqf @@ -45,7 +45,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Raven Rock ["Functionary1_EP1",[1386.9,6941.33,0],93], diff --git a/SQF/dayz_server/traders/chernarus11.sqf b/SQF/dayz_server/traders/chernarus11.sqf index cf5d8991f..dec75ad04 100644 --- a/SQF/dayz_server/traders/chernarus11.sqf +++ b/SQF/dayz_server/traders/chernarus11.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Stary ["Functionary1_EP1",[6324.71,7787,0],64], diff --git a/SQF/dayz_server/traders/chernarus17.sqf b/SQF/dayz_server/traders/chernarus17.sqf index 20c522a87..207ade6b3 100644 --- a/SQF/dayz_server/traders/chernarus17.sqf +++ b/SQF/dayz_server/traders/chernarus17.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Stary ["Functionary1_EP1",[6324.71,7787,0],64], diff --git a/SQF/dayz_server/traders/cmr_ovaron.sqf b/SQF/dayz_server/traders/cmr_ovaron.sqf index 7e1d397fd..8bfb90aee 100644 --- a/SQF/dayz_server/traders/cmr_ovaron.sqf +++ b/SQF/dayz_server/traders/cmr_ovaron.sqf @@ -48,7 +48,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Lissabon ["Functionary1_EP1",[4349.68,6725.49,0],179], diff --git a/SQF/dayz_server/traders/fdf_isle1_a.sqf b/SQF/dayz_server/traders/fdf_isle1_a.sqf index 09d493495..a97bb37f2 100644 --- a/SQF/dayz_server/traders/fdf_isle1_a.sqf +++ b/SQF/dayz_server/traders/fdf_isle1_a.sqf @@ -44,7 +44,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Jesco ["Functionary1_EP1",[9662.23,10879.8,0],0], diff --git a/SQF/dayz_server/traders/isladuala.sqf b/SQF/dayz_server/traders/isladuala.sqf index e5ed5fdd5..0a30b92f6 100644 --- a/SQF/dayz_server/traders/isladuala.sqf +++ b/SQF/dayz_server/traders/isladuala.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Camara ["Functionary1_EP1",[2001.31,1196.58,0],342], diff --git a/SQF/dayz_server/traders/lingor.sqf b/SQF/dayz_server/traders/lingor.sqf index 7d700eb35..f406bdf5f 100644 --- a/SQF/dayz_server/traders/lingor.sqf +++ b/SQF/dayz_server/traders/lingor.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ ["Functionary1_EP1",[3020.2061,5945.2783,0.23],0], ["Functionary1_EP1",[4140.2051,1505.2682,2.3],55], diff --git a/SQF/dayz_server/traders/namalsk.sqf b/SQF/dayz_server/traders/namalsk.sqf index 6caa36097..e4c4da940 100644 --- a/SQF/dayz_server/traders/namalsk.sqf +++ b/SQF/dayz_server/traders/namalsk.sqf @@ -28,7 +28,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Sebjan ["Functionary1_EP1",[6215.8,9177.55,0],133], diff --git a/SQF/dayz_server/traders/napf.sqf b/SQF/dayz_server/traders/napf.sqf index a558b6eeb..ced24a451 100644 --- a/SQF/dayz_server/traders/napf.sqf +++ b/SQF/dayz_server/traders/napf.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ ["Functionary1_EP1",[12399.83,5054.3413,0.2],52], ["Functionary1_EP1",[15529.827,13236.555,2.38],164], diff --git a/SQF/dayz_server/traders/panthera2.sqf b/SQF/dayz_server/traders/panthera2.sqf index a1b5788ab..40c4b4a50 100644 --- a/SQF/dayz_server/traders/panthera2.sqf +++ b/SQF/dayz_server/traders/panthera2.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ ["Functionary1_EP1",[4770.4067,7482.2651,-1.7],0], ["Functionary1_EP1",[4431.1997,1616.5604,1.9],-85], diff --git a/SQF/dayz_server/traders/sauerland.sqf b/SQF/dayz_server/traders/sauerland.sqf index 81d9a1c47..bb73ad3e5 100644 --- a/SQF/dayz_server/traders/sauerland.sqf +++ b/SQF/dayz_server/traders/sauerland.sqf @@ -58,7 +58,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Seedorf ["Functionary1_EP1",[15488.6,17014.2,0],172], diff --git a/SQF/dayz_server/traders/smd_sahrani_a2.sqf b/SQF/dayz_server/traders/smd_sahrani_a2.sqf index 76374556e..7a12542d1 100644 --- a/SQF/dayz_server/traders/smd_sahrani_a2.sqf +++ b/SQF/dayz_server/traders/smd_sahrani_a2.sqf @@ -60,7 +60,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Corazol ["Functionary1_EP1",[12552.1,8355.03,0],29], diff --git a/SQF/dayz_server/traders/takistan.sqf b/SQF/dayz_server/traders/takistan.sqf index f3fb3b54c..572559586 100644 --- a/SQF/dayz_server/traders/takistan.sqf +++ b/SQF/dayz_server/traders/takistan.sqf @@ -56,7 +56,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ //Nur ["Functionary1_EP1",[1964.39,12575,0],200], diff --git a/SQF/dayz_server/traders/tavi.sqf b/SQF/dayz_server/traders/tavi.sqf index 8ce73806d..e3552b297 100644 --- a/SQF/dayz_server/traders/tavi.sqf +++ b/SQF/dayz_server/traders/tavi.sqf @@ -80,7 +80,7 @@ ] call server_spawnTraders; // Bankers -if (Z_singleCurrency && {Z_globalBanking && Z_globalBankingTraders}) then { +if (Z_singleCurrency && Z_globalBanking && Z_globalBankingTraders) then { [ ["Functionary1_EP1",[5461.0132,8762.3438,0.056497198],52], ["Functionary1_EP1",[11026.932,842.23804,0.18712912],138.57352], diff --git a/SQF/dayz_sfx/CfgMusic.hpp b/SQF/dayz_sfx/CfgMusic.hpp index 8c5c105c3..e6338ee41 100644 --- a/SQF/dayz_sfx/CfgMusic.hpp +++ b/SQF/dayz_sfx/CfgMusic.hpp @@ -10,6 +10,12 @@ class CfgMusic name = "DayZTrackDeath"; sound[] = {"\dayz_sfx\tracks\track_death_1.ogg", db+0, 1.0}; }; + class dayz_track_intro_1 + { + name = "DayZTrackIntro"; + sound[] = {"\dayz_sfx\tracks\track_intro_1.ogg", db+0, 1.0}; + duration = ; + }; class z_suspense_0 { name = ""; diff --git a/SQF/dayz_sfx/CfgSounds.hpp b/SQF/dayz_sfx/CfgSounds.hpp index fccdc2da7..fd3b516dc 100644 --- a/SQF/dayz_sfx/CfgSounds.hpp +++ b/SQF/dayz_sfx/CfgSounds.hpp @@ -9,6 +9,11 @@ class CfgSounds { sound[] = {"\dayz_sfx\effects\chopwood.ogg", 0.1, 1, 50}; titles[] = {}; }; + class z_minestone_0 { + name = ""; + sound[] = {"\dayz_sfx\effects\minestone.ogg", 0.1, 1, 50}; + titles[] = {}; + }; class heartbeat_1 { name = ""; sound[] = {"\dayz_sfx\effects\heartbeat_1",0.8,1,30}; @@ -836,69 +841,4 @@ class CfgSounds { sound[] = {"\dayz_sfx\effects\switch.ogg",0.5,1}; titles[] = {}; }; - class z_bloodatt0_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\attack_0.ogg",0.177828,1}; - titles[] = {}; - }; - class z_bloodatt1_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\attack_1.ogg",0.177828,1}; - titles[] = {}; - }; - class z_bloodatt2_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\attack_2.ogg",0.177828,1}; - titles[] = {}; - }; - class z_bloodatt3_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\attack_3.ogg",0.177828,1}; - titles[] = {}; - }; - class z_bloodgrowl0_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\distant_growl_0.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodgrowl1_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\distant_growl_1.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodgrowl2_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\distant_growl_2.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodgrowl3_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\distant_growl_3.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodgrowl4_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\distant_growl_4.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodforest1_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\forest_hidden_1.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodforest2_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\forest_hidden_2.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodforest3_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\forest_hidden_3.ogg",0.25118899,1}; - titles[] = {}; - }; - class z_bloodforest4_0 { - name = ""; - sound[] = {"\dayz_sfx\bloodsucker\forest_hidden_4.ogg",0.25118899,1}; - titles[] = {}; - }; }; diff --git a/SQF/dayz_sfx/bloodsucker/attack_0.ogg b/SQF/dayz_sfx/bloodsucker/attack_0.ogg deleted file mode 100644 index 296c477453dd16c478d97cf786c285b650668b52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20512 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 diff --git a/SQF/dayz_sfx/bloodsucker/attack_1.ogg b/SQF/dayz_sfx/bloodsucker/attack_1.ogg deleted file mode 100644 index a8b6b8ecaec7ac39b7b0d2fb494deeb86b4f9829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18646 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 diff --git a/SQF/dayz_sfx/bloodsucker/attack_3.ogg b/SQF/dayz_sfx/bloodsucker/attack_3.ogg deleted file mode 100644 index 06fd4163aa33d6a139001e506914dd81cf202d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16968 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

hwi%e#H6<;vl~Zu_F`85&VR!} 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 diff --git a/SQF/dayz_sfx/bloodsucker/distant_growl_0.ogg b/SQF/dayz_sfx/bloodsucker/distant_growl_0.ogg deleted file mode 100644 index 5e13b69f1eef19e328ac009e4c12888bd97e2b61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18197 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 diff --git a/SQF/dayz_sfx/bloodsucker/distant_growl_1.ogg b/SQF/dayz_sfx/bloodsucker/distant_growl_1.ogg deleted file mode 100644 index b4ff7de315ca42a3f1d216495227867641d79082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49386 zcmagG1z26bvNybNm*Orh?(XjHPATpV#a)ZLySuv=cXusTpm<~LcB?6pxeH&+F~f&X!Z!!$605rMhdI~iFzztONg9U@4lR1fvrIE&8_9W6IEKE%7Osq_7Zwzoi z9|+I~0Hj0!0811A`~?9L&>sK@fkFMlh+0Hc0}Ox#RWZwv4EfK-sRIBi02q)_BPW_k zQx_-YQ+cE%NxhYZn8MSN!iR8-qnL;PD|hcd<~kK0m# ztCR#LLV1T9uK$L@*si3h#M*9}nj98M8wvnvNl1z`1ViO5GYTUO#Q|ks2%JVqOS7Ed zY0B~f;aNsWg5+3^ixL%hj>`&TcuuIAWCKroItGpnHCA)51J+*8IK`dk1(x=(hQ2w}t4ghUndf7~+KfE8Y2Q-@c{4Qzrof@;-2<>{A!K z$1B+5E`SIQtpW#3-c&*Ym++oCp-{TS%&NvRv&Eva#de~BZlVG4Zxa9v)a32Tv&<;@ z|0FZ*6x08A60#Vj0fa!h9C0KVaU>I0Asca`gZZoBQ2=C9Ar-nICpJlEwh?DOP?G#C zHkKqebuEYTUq*N{I|vKR1VfGlV<2s)&@VW#YdZ66EaYKaLr^=*`3#uyH7!tI?b(dO zvUUtmDLg5YvbkODAAbLWMfs=BSOzUXH^Wt& z;p{*XpBQK(4AK(PM552J$ccH(qtr!2(J>M-iklIM;AXSr<1i>(CY_smM?l z|Km|0qmr1!2}9%lb&}9Dr*Z01kXQVt;eL|Myd#|Zk2Ld(KpBl3l;&9IRayDf)zmdz zZM9QfHd;gUR$aDNe70Aj^|3?$C$Rq8a{!Rj1poEPB%>(ik*pvE5x9R0{9m5qh%pjR zFcwcH+dw8iPdD|OP4S9t4qaTCOh&%m?WNGVKHkj}-IpjPmrHJ4-!xY0DtCD=0O~%Y3Z>%v1w+w?4(g{%HqU%X=?fu99C-b5;Wue ztipNev7#g#*@)~SG~@7UP$vKe^g+mJ!TccpdapnU86&dc* zEY)dlSi<0OX6Wo7RO(^^)oJPxg5XKvgRG!gVJZM1=>-FQM5x$I!~s-FV8?-MCXr1R zgIpF}d;A_ zbWKft3rl^e#dHJ9S2M+Bn^j&Lbh`|qx~!!5=r7yqrTvSQJjP#E9O^4A?8=|jmDNqP z)zr0JO|@^;HJ5#4K~z=wHB5E&7WK6oTlEy5-OuWJnx<>F>e^Vox+@{Oe|&av-Z-x; zxqzsK%ch2{F56U=8J1QBWfd7z6&2+bEw&Xk)w%^gDhevb8_X+es>T~?D{E{{LDZVE ziUzuh3cAXMs>cet)0VP|j_UD-y3Cr&)0Rtw0lL!;hl-k-%7(KyYDe|yu;Xb5lXnUA zL`mgIM|nqw-D!v8WQ#39VZ})g%|w6Qc*Ess2V;{9sj|AuR+8SnCTJeE`ffS8w;>I- zykDyy$3YC{@3?2|3EDy38tw2wb;DP*f`(i%#pW5Hkycb^R#cug*wGGDor)-{`{*T` zZgc8sW7}&)sU1{oJ3{_kD;fxQ%Bp_B}Z^Hk|I7mwZu}Tk0kddiQPEeW5N_=A#6eA-| z-I5?92O5=(Onr!ojt%p2mWmBKXjC9p2{JbH!#cWh%`T`q2!BUa-K=44RXq$6PF{>7 zD^uT$Wo^fNh$mxN{U*G82un8xBwW>+y=2+yji77GzntMLQ@y;X5)C34+jcKycwPS2 z%#Ez*hnJ12--OfDCntb}AFk^}aVO0ifmkJ|M1gwf+O(IXSb+!`Dv`~H>&`ape-?GB z-ekyvo)FHl?Kc{rRmUF!5b}pJ&3juy-rQC=Ol4Zy64hyvn+8r~lAE&JNlt{CT76O& zmb`hIo0@uPnH!e87)zFhen`Wbni@0fc})2a|`b;vS{EI9}YX4Qjf zIh=T!ya0)?kxy@0HCb@qQuz^-af?#Bt;jAEJ5m-#nFhI|$Np4Vv zDgq*a;=TMJP*$8Y|3*-eIVJ(sQ5S!HBP6N70|1Q!C?cv;HgOJ&&jYQQ;DE>5nkmB# zlb<9(Jxr36paK#Hno_wFB1m^b8gGOooih>;G;G*iQ9-a8))AGd9@4U|AuV1us$yRO zfw=iF!&(MJu%2oMfK4bEpbi3GoP!bvj)u+T?(f%}NyEz5F_`FCLQ?-Jbq&m_u0an?Hx(9?Pt2OsvIs9XZ= z@2#=Tzk>9%e{TOHX8(8e{=b!Ut*b$h`_Bvz`U(#Nyu#pXNODo*A<(_e5fvE}=nbTS zMhs0D97_G8C>Ug(d{G&0Dsm7?sHs8l0eN(ij!e3qbT-J6;P9*Rii5AqIngNf8rQdfgDK38Z>lk zdg|t7qo`(({y{6mvQZ@avJL{UW9I<)OVv4sCKomK&+YuRH7O|A7Wu2~w~c`c$QF5T zXdxAo0io&*Bc#C~GyGE*9QWUKs60piKnnz@qkq~ZDT(}r7HmGKj+zhzGOE8Na!?8G zp8)PJ7=zJ3pSeZA|)4-?vy01W|~$ zRrtdXvcmEAHf+275K0!KGJroK064B%ol-B4k_=@9r^p7!IiVUcyiZO51{qYU=+q5F*>>_65$6+ zFO=S<3rR2uBx%?X7)G3b5W1cF9+F~P9~_T(G4em#VK9IQ01}W$-oMY_jzNw^i9?Nl zmw=Xto&-S#F36iV1M5Pp`GN*9kxoln>{A2_j{v zBMM1mBG@)TCSL@HcDcjz$aRnASVlj`x1{gx{IZIf$rn?JT5}h89jQ&@BW*S0bc``k zns&ZSKvflBsq2eqsUg9P{&SbO27pcdZgBW#q8M@E45`I)l+VRtb(!2X?WMoKb^pR7 z)`HbTyfD7a8?yhtlVy~gUq433ersiZw$V)&EK))0Ua6(P13^+^0rIpq){PwkQN3-1 z(#nEbFj$na1uoF6tMEZ=FBg@B(fJkc46G4FEnaNXu(?TPkr2C(!aYFz3$MQCDfgOD zH)FFI+J`!`)ds=^7b~S9>1d`gpP1?Znr6H82-k*|4Fk`1;oc8me7%GMYr*@i2ucX< z9DzxKfIrU&kbs$2Az>?4z+Oxu2qpCM0bg$ALM2>6pmA)1hMk^xIDNB&e!gsoyZm>V zfjCeunYwiO6`bb@?aMjBvaGd?iNt9U_5QY2t!C}?Uhn~p8jF;lu+8qRq(1eJnjOt$ zggG2drS10^u;=HvYK4c|S zL}w1H(IrO3a?%-*M`JK*OzM|Xe#yHL9kA@I;Q2z%Sfy7EH$J;x5lAnrWl7CVs*!@H zY6vb6K6usr$;0toPNq;sguu)7G{TO!gGoO0d)$QzvD80JX3#~BSBb}LB;yNfol}yN z*>lN5(o%g1h9AZeqwH-_%Jrgg@)Y`x>NV!^vv**mkXkT%h~FcvXndG?VBfFld&N5L zGEm?Y*S##bk>Ouei$t=>sg}sFA@JqkeYXPEF2ZUzk0W>VO2`deBDKI~nC%!Q4?~(~S6L z+^YD41vMuY>z@QbmhO*vI&10r`39N{l#)+R+Qoj5o6m!}aFaS4Zx883xzsAQ@c+^DXd_2oU#3Z45u_-MqA5!9 z!p&;tFZ+BY(%-jZnr`eI;zMTY){v^jt7qUjWJEuzFlU5~WI?JX1R>yMd-P$2OY7#A z80Kc-mmb?r*y=fW-dttE#KJlYYsg0*@B91AWdAlIA6g8onkjvvmQs3BRgOoHJ*gG3mKVa3Y?rS|b;;MkkQPmilIwpmUZY$y9XtGu5gL>B z4WP%De2GZ{J3_~P!W_QHI(Ke~9jcPPU75x|)$uvi$P)v|Y|#PVNcvP(?7fT!yqe%X z$!8eV-n?jz&w-ZFme!&@sHD(wf>%=;Yk6c~5^ltIe4MvG?=|-m=i(RASY%o*eGJ4Z zNFZ@2758Iw8G1%2@a(htf`)|anhaOmI5wbgtqEr@JY;>`*8^(qrZ}GPu(Q2JZw;5= z%b>U+c43kN9y?EZ&(Vs>HK8PFWeha#p0~E{Z_U>*qnQFQJVZ?gKFdmz z2_$FR;#V|OGQ1Q$VtBa(d}WhQJMF~qQmj}~ zxGZL{+-iZ7=C9yQmg>i3^+l?aEdrCWf-)*1d{k$dpNItR4(Q1$3OZFo;VP zqD!)%@`A(<24ybr_H6(33l%lVpUBclwF!X#33PfTzdb3@65?v6(exd+@`U&$7Z9iG z83=!-M_Bh*^gf-&upRGUAZR9>C!~{uzD@7I7`8)^69eil#gY_!{s=S8V}bQu;p3Kw zh%D2Fk!hxxYSjbcb=^(Uo=Yyr@k~L`=~PYYjb_1hC(1$jx4OyG4{AZUuh4aqu5Le0 zZJXrPfSi3-e{kQ*kViL1bp&!@FYn(Jz=+PKl7YBTvmv7d`kt6FxVPyMJOah|vgO#v z+f?aH&5;kh3(hw4i|L59j%?9&!q#$0E_*^3m(oEv7+Eq1wwWki0Xn;T*k)Up z;|UG1`U=hY>n(u!M^B<_B4;$XC|}gNW1dwvckn4(zn8FnpDYqYF5*iEBi~F5qF>ay zkAl|`V*=6Pj1C+8sF$8UzD{^*SL(PavN`)bR)!E>n4z{DW62u%sN@+vMEoFX!sz$Qx!$)A~^MZtK-i&%EV=NR~0u`MW1j`i?55EaDEyR!X&-)5!eH>bUd4@ zd|%SxQmejmj~>p`wS8;fm4`EHXBSUSavEn)H@dpwRsx4QB+S|d#YWWcMYfiNhrp$d zcMfE}&%a~}FIT%zxM=P^4uknybT(b|Jnfu}bPMBwce)!b)=@PWj$lbp+y3a=V6iHy zgy9tlTWzxILEEBhJ$B|#?Wh(--UDmApdXtVuTujcZ5$wbHpC}N%&+}h_>lVcPtUb? z8l?vOk@707l2b5+wZ|LqYj63?p+$&iw&tc=<27j+L!C~Bs+a9TdS{I-`+RGC*o zn$^}W+~5(TxD22*U!&5-Dc>n)zo@8`wxaoT&fwudLxslKZVHd9cl$|6nnO^ct}=Kd za6gwgeiW8)@kn@3_*t#Badehjb{pUfZ*<^inMr%?fNzhckGvji zYG-+mI9t5n4~YkD$bi;+(rSjdy9|dEOsEv?!eIt8v&Ng&`--(@V)n|U!CI@8498$& zp9_p_JFLuwar{9NIYwnjvgCXj{$=#tyZdAQcG4Xt1+WT?d!c@f%$wBV6=N~_QEtv4VT}UwMv)o^{>)mzr8c& z?~<+mWgW0~GZOO$+!^D~IaY*sxwpYjVJF&M4sV71zUuEf8?tcHZm-@$;T6;b(tX81 zC+yRQr z9QOqKRd>Rh3^Nl?cqXuK_$j}5rSWr@2;85ZhnxXXnYM5iju00Vg47--*9=xaoR z8N2GP^t0`mTO-%e38JR0DKSD-e3LuzyKgWT41HDDOM8OyXet|Zi`ZNdt9+itLOXaK z$ZmRSnW7i&8@xPnOvbL;oiD$k13!*bIr2`}W+`!djD4ylUyFR!a5eX~O$ipvrG3c! zq`_=?We($W+txhH&L6Ck&n%fLKWvnPhtyo>B*(j!-_CI**BF&n7X0lD$T&PK;Dr0d zfLjs>UPtCj0rcR99`JhD(_s>Pm;6<#DMZNBx2i$Tz$4R}gti)#^W?s+xG%lyS|k<4 zD0g>s*h(qT_k|*4&ceXp+)vp?;|b{~F8$}X$n->3N7Cjk)HWoG;Gh5} zJ!?a*jEv#ji7PB!2t%_XBV*`KYqq57g^^MBAHAJUp<39FQ^mH^Q@&*w$?U@q1qM+X z3BH$61Ve_>v{tGkU)=p=UAGig^xP;xQuBfhtUj|QTdl!P{-OW_uY+HP*Vs2BOAU#o z(IdSB0~|2P;l5O^SW2ovl2T-G|9I4c4hjvD`ME!`l1k>~jHNkOux+lJsjh&-^mF81 zlJM5`Mgu$kE>yn2IhBqdGyjX{FSdma$Xk9A2o%Q14$%<0qz->XbQvy6hDLw zyBy+6#3~%0%XGT&ZuClnhbDtU(RA&vY7g@GX=aV})TgSZ-q>TbQfAp^d2MMhz2f04 zEefvzL27XMq}pa zu_w8}S%S-q(DsvT!<8wWSTK&(uZ`2iA<5~w%`q}c_I7~~h86qTnKmagE-HSor-%@9 zk%=l4`q4vdtuR=^uM=)kHhqHJP~R*RZ{A!()|*JN{f!qQwW1N9bzuaH}-?cS6(F1BSP+(K!}{Oqs5j=&3-b3G944 z52s9goIJd|Yz$010=%!l^(#0XJuN*m0}C%VHzPMc&nwc|?Q6pL)Q=-6jk(GL!B3Yc zkU$D0&PIh8Lw@kyXq4N7q>VM$dBVZ$sV0T?DbG@P#zZ)#hq;&5U7IFM2}>^FMlt_l za2kKE7nFns2{|#n#kZ-UlMwXz&aLb(+$&CWm_0l~`F>x8q;dx@KdzEpkG5CDYKi-* zsd=9+jz_%DRc<_Cq~13oEP9!^8YUV4X|%przbYCo?D1KW^D(@y_-rvplN`K~(?_Aza39g1ad6$xi>XVV zYN6F{Sx30WSK5C3&H?MQhzM*3cGrTp?_$fg-6sMJN{LJzhUyEu-f{z*0|+e^rGn3? zo%bAi2s%e~#IC?~%+RS2_x0@XJ-7knI`M0lO{8giMf2lpO>WKRi~c+Qy7k@*wL9dq z2p2ch)R*1PS17YE*mG;*vkcmCio^_w2@OpP0j`+SGimyt&WeajY;qK5fguRvbyv8E zFOq02NUj^^zhMkDjX&BO^l^VRvt9*_fw0Z z@$O__1q6OZUaqc23&fAja!x0HuPu zBk27;b&7^8_w|`+vQ;VFS1vPh;kw5rVTH4H=DmrIekqWo5=qSQTk(O;$T2%44@G0; zCo;Z0ynN)@mle0H;i$ZDN6!>K+Q++Hce`YThC`lH-X7D}(tui3_zW4OJ;JX9z8}wB z@pgQljwdQmAPCa&`Tap>JPBm+n5>RuTO;3pTUuRINM73Fxuh((_+0(jczr2bqHv~G z%nr6WUrreQq~0Z;6a_gzg|Y86DOXT47|(D^SmzXS-b`;z3H^J>5HB#$6b*h&kUvXC zPSKPmTG))p{{2HKdZD_*r$7ORuX@#p0Y8$WJRz=N&Xyjce$02e{242_ca=r&nxvex zf^N*dI?bfH!hjaMR=P2o59QiM%G`nGFZDr?A%i#ClSvk zbK7E%o(P<^T$xIv8$VFtE_pP(1`CZ@`%&a@xf?G*wk$o>NO^AL?T8t83xfn`E*cV` z>tQCF{`nxieMPwp!SdYkGWjz9Eg&ap{fDu2AcLK&#qrK$`i1-L$ajv_c9%69fv?VW z$;ZP)_`CyIG$9Q~@v5Vfq_XGZ2d08Atl0_|^=N<2J&OF@_u&j3wyBi92p#o&_WJZg z1oO7tzox65J##^^yv`B51Rigz8A`4Lax@}U!SY?Sk(BJy{`&<}GV+K|hN;*2_mJm4 zB}WZ1WV1i(B^-mdLU^fsS_qRI4orDUw*c;N2Ql-xm!((l$cbYrk!1xcW`mhr_j2-{ zI(sPOe&SYYuqG>nKOBSNz5zT7ubT+h7C#m3@izzqDvwZR`GZbyYQ!-D9KLFp_qKXt zrVi5?164*hjW7pEs%eS7k|X{RgI8kRU)+j*EI4!falJ|~Y*x44|DbQYN$yJ<#j0R} zs)LMiZbGK!0rPT(0tT&oyzskDDfbMzt9gNOu@2%79Eig<-|j-1*Kex%+H*OISM~1#Sw_#5*|w?8tVx=JWNKs#C8O&03u^HhnFsxUzGt~;3G9c7 z+p&G;t^H*Xa-6ec_0Gl+5Ut(%m#>lGUcWpCw9*H~ReHj?nxdxG@~6d)xNv%+M5AG`c}xiggS8nV8<2w!;!Vqt9kD zxE?X@)gzr}P|dggzK|vCyv-bXL`5AHU@iuljQG8b@f5ls94kAd{3m~Y!(BkYj+K06 zvZowdaG0Z{zV$oPqJSOXIV`i#NnEI{x9w{RHgsXE0*W-A8?&iVL|6x1D9D673hN5& ziMgX$eOvK$mPL&Vwf)GQQU(c2ua4WOKJMz^|G4-}J5mLmM;!MEXB=9Vv0tmGJ4pQToP{*0oH=u8xLDa}75tl@?!+Pf$ZF%4qnS^2chDKoxfL913p=qHBdo z-4%%{TnxwMrb9tYAI;%zncEADuQbbJzU_%m1UdX60S>FLo)4bjG)T9g<_SKRML#0P ze12@c+G{Q_T#<9r!FRZ!hcSC=whC2sk)`yDxvW}N$)dxTtrEmAav-sie*y57Y2E?5 z|1&&sfbvB2sq!Pj@Iug=n4 zdMM0PB`-M%rrj*v_lRx3G9hf)TrxAL?bGrqS#889-QZ`sI$3UW_D?+(70$z`GdAfT zcm?zcF&lXrlN?iQ()lgT1q~NEu2CW&i|aUgJi$5WRF=6QDd`h74|Sf>H1|(CPP8o1 z{r3+-Sk;dCKUo^_t>yD9 zwwgqr8lL>A|4eD88EDNvq5ER}wBW5NR^AzBU`r3?%1vmNOTviE@I=*r2?GF7!_u`k z=;rC+yQ4U_7|_vS>`XDb_OTp(t^6K#=btj%FQ7QTVvaU0`VlrRYrUpf`uW*Yc4?kN zqa{uKP+xbT|8>3Mx6E12^?lTI-N2%B67OPQxLZZCviXT+Z%y4mnj5A&Txp3E9b2Q> zjpz1&C!8LCPHLPD$t8OE+@X(qOQxWi$-C65maeLSC84F~p%Qm|ylmhUBirp!=OL^y zn1bc`QHlMb)$ItSR9i(H3p=If(al87BuO~OZ6u4~*cD}#dXJwV+)#qat#;}cKe7a+ zft%--)8i>Nqog3+a~)Eg-%z!$nVZm5iUs=m_D@dDl_X!W5q=*f_|t}CU&$HwBxIy~ zK?~%f@j|-AihV&$7T3PlE<1|01t7gbkVdNoP;*qddqeC-+C0qriaA(thn@oJMNU)D z3ant|;pC#6wTi-?XMifF$P0@SEDXl#y)9z`#pt%2X(7b=vcuX zPcy&-e$$R0g~Wa=E@Vs-DTaXR@e<`EKdGX#%4AYm#PPV}=XWosoHN)LyIV?D{BM%2vVv%C{M779D(tY6GUeL8Q0RB z56e_FTKR|uSic|cYW!8OP*#n9D(5_Fv3^TWxN=mvBm2ESgu1=g^7$^`Xi0s4J%bsj zGJAW1juB;a#bDzKr5yRB5nx@kj4`=Pi1)x~-O0A%zz`<|jJSP4V&|00Ts`g^$do=8 zIorfBadIOfO4G&KQD6V$K<=|>h5Y!<+V<7tmvYHt&ijqaD5w5!+Ypv7P~sbnSmuED zr-@vmv~C~NVu2^P$li?abE*nGvz&rKroET@P9e_Tm`6PsY*VLB>fw~3=^ksfU#80_ z{@h6c!Dg~35W{7H(k8DW#AQ*k37qWDZorLWMc>gEg?3BKJC-4uqz&JPl|QKm^98#c z^*gOOiNac^-KF<_(7~T%Q54f)n8Pr2@l%A3uU^$A%qKQ|2p2xZO62~M$Ne0C8nRGQ z$hotf7$_D*Fo8b%sB~jRp~eNr{+S|tf|#CCP{OeshyBVO->&*PG$g0h8(`j4=?uoKa->8I`X#0+Su zhd73jnsb{DmHe@MGkmm4(2rO+UnX0A%?yS|s;crnIxcm4Z2%Msb2HTplcxK+ue~=_ z7fuy9Wffposky~4Q^Yo@%Yz2A_Dv@wvJ3b%0^zrFJBz@jh*k$~0?4Gu zPKZPb#n{Y<8_VOHx_CY2j=c&9x;n7oe!hzw>mJIuIUw`QJJ{M@RbWi)$5HevG8Ijb zasBljEvYR~N}wd^q94P%b^l4q(sxy%&0Zp6v5(=C=gZdB92Hv2T3mKj^6p6M4QLw` zA0!ffe`OC0%G7~c*>K{Qsl(O@v;_czCliZ1fO>JF&4w^K)Rv7Mz`VMqFO{$-xc8CBD zC;1ZK0@_c?YqG}hJ0f=0(rCbee^E)o)l(zXJ> zKN=Vxhhqojl3xhKTOs;HULQk152&!oi*=5E>ufn6*q;;61p85%t;-V1PGnr)b$r$Z zrH`R30Ud^GUjZf}V=k7H4EvMD*8)00xK<=qS!Y=Sqe4@Ud-Hn_n=pc2Nj&4dsCNR| z&xe5Eq5ZzCcUM5EvYFZvDKEVF)F3vlUwhc8wi4X$iYk8fZE^WBv0ivA)am;B$jp1- z4j7kq-FPOD`~f=vK9OnVvIw@J3I8fqVSMiDi7aA}Ldu_R+>;NMJADE1N19NA!JT7M zsJ-uY@#acFX3X!Z48cJB%cm8MF^)l%X7D(lS2ydm)ytIQuLD!1ZdUH>%9qZT=C-*f zm`5&iO2bbS&Fc*GGTgsy641ccX)`kPy7foam&d-_ZfYOi_NF!!7Wy*y^&o2}Ihq-- z>PeQA7c-+^z^uV6@jFDFMw+9()50W6Ci@aI7D8udkXx8|EDepm~x zpQf``TTs&=GD(cNEuUg7doKGmIc|DWtatmj8F_1@qUg?QD6a%u|2-W6>+SpZ>B!q_ z8E3E-WCRePH!Yain0fhL;Vv%D9$sM{AAY_<-aNm8-=5G@KrIIHH-@(VK)O>Z3XR{3 z6Uf;9J$SRwcA$X%MR%LmR(VXsiAovyHtdJnAPMN~2CA;A)n<03*fF4!<96&?-1zdE zmvmV}vhAv`!z1k2=#E3GACkWe8*I|f2Zjm3E~CR6syDA>mM#fa)LP`eLoKU(X%b*xk7$#_D6+?kfrm6T9<*On^gld+ae`fwKYvgF5G+gmQROx_+hzqNz8W-Ovs za8DBPGyvsbn=cmZ_kC`fe$PhBbtKKS23%vb&f(pde<^Erti#eGZIc0Gk*H1WYypFN zWsuYd8k~2Ms`4F85zx{uMoB;UK8M^Fw6+Vxm98o^To+SLQU5Z~{^j~vh>MA?h#GkU@ll8tjC>c#YAeo_OC)O9oH|mt%he%b zgYRVxQC?#sDYng-T32-rM}+?mD{lBxUxrt9?a}7x9{{xT7LA|&_Tb;M-nCPsk4j1 z?|3n5Tf{R57P(#K>=VUvzeHE3`ygK(+M>^}FyrOC&CPlo=w}0(7qvlk4!yzm8CCMT zf#AJ|COE$tg*s@0&I)#`$*hOW82^Mfubd{pPea_4tj`j(uEsZ#m7^9qA@$ zY=z3n)S6}489nwIavhZqPwJ9?kk4d{=eDH|P4rPGXRK+s57vpk}A$g$7F|Z7zv)H!R9BoR@OuRfSFEGt<0s zvvs>WEmcjqH2vDOzD30d1Q3B^?spbT`5r(zw~L-K@@XkGLjXC{(>jvg1G70KGlBp> zI0=F{x*)Ya!ftvM2Fb6Z$*I%dNyq%JjsnXjJBHSkrJN|F9qhTs?zF$G*Xv_Mzb%K1 zx1qea>uEy;uo22|sGNqIBG!3ZZWzMyzV<&cyx*T>?Nk;CO#70;g}qr2$uOq0&%2~N zQF^$UwBG-bX?3XeQ`77ZO~(E-?W4%tqB6e3sLppKK;k|-k7CaQ9X*WB^)FJ@g2buV zWt9orF@J)KKz=LU*HnyeLUxr5%!(ch(+N;ChuIw;OHDMKmpI2iKnYW`zn7Rr*5;%q zz)e6i>pA0U=Cjv`g9LKY2~}cAIZ?0AVOlQ@KL{!Cxj`Giq1yFh@)IU2%2lPw+54Ot zS#5I|MYwGxhFiKT&@0~7$X`#lNSzw*B`{7QD~aqmgy7raC71mAn2lv~Deis0Z0ivZ z)08PJ%m561T)x$t?PjpV<3-OG#!tE631Vc+_CN4NP6;hoW?`_F3K<<;3Ew#l9P)zf-RQ9Jqr6tZ9J0)@dgZ`UV8eMK7La; zbp4c7%P>Ra`(*ixcMS&%cc46$$f~-fgRlO(H0BwHlU`KD{0(<@kZGVv4}nBzpJXSj{#Q%5s6lMSb9y$?-EV9X-<#Vm|-7h?IEWe_4} z+bWilJh?}}aRwM{t`AkC5hbl#=TbG^B2N*vx5;CzF#_V_a7D`(fnO({ z<3gf@KTQE1kQRdb2>+Z<&nw$)_7oFsTG4&97w=!y5Vu{0qHvuc`<^SqiN4@M%Iv&* zOMyWr+6n0>2#@oMG-UepNU6f65!<6|+i~6$TllU{f;Ot!>O<}o-~81>q1$(VZDm}+ z=v3P3(dK&DeM^|E@}LZGrDG&tVluF)o|Cj7x5Mb-t`r(rvO7zR!!Y_TvJi<64njGK z?D5Bvh%LK-l4|N0vlKCD=gQFCNcOA{`)1qNE9mY1*%H3q#CouB);C-r!#ftJ692rjONkHG40Di=ex~yJ8hN-Z= z?OQ@yHKSoKeRs;ymvbWwVk15_giH|G(!3fTIcAtrMOOk`+G{de*BLPirKK&m$eGv_ zJo+fmtcX4M8(r^?8nG?H(pxfm$lXndVH zgQwZA8U|cNPHH}QtqYBqakn%&+2*YPCsy-c_bsXgD|i?6pM7Jo#?WU_v5qTwf&$q- zYE!8gm>{2-toYON*lMgu*DFZ2N>&hjQ~yogsRjWrjrIfJ7|5*S-;g98wfnJxyrcD* z7$G?-!3E|ll9C4@Lz|R7?=Xn%hd$qFNSZCAPw9qi*{h}wmHT)e74YeJi^(}!H$UjL zf6qtD;JGY}xtEO~n{Ql)R)t1Pe7|;SPfT};Y{gpjDid2324%Q#IT+6wWvPUP0lZE3 zfIBn}+H4vBaM1g=DzCf_EuIXjz2J_FO&5FP4okO%E9H7Q)VjiEhdnWU?}5$HEW!

v7kB@LWgu*wIgqS^KhZQwXLFx6`)NN*b*}z*>Uls@6c^S z77^$zmMUI(h@H9L&vk9&r5brv7`B=WxsvTjKP{;-C+841&m00%iRlxopFa2^6QtWU=34&cfE*I{kC!y!5U5( z*~uJ}dZA`x>^z_DY^S%n@L6vEgjgkhO*LMeNci|`-?IJA<2PSV7kOb$qx+VIaT9o0 z$Td%gdNleSvq)4(a+)^Iw76?awC3{%7S76JY&Q&xy#_-T7`vUI&m^Bj822`otr71Z zO*%9qTZ=DloVh$V%?WY>qd&{y2XG^^8Wz>W5gL3m%8m72gc3FT^~B%2HfLLsh;c#^ z5!pzZ4)3!p3t3S-rE?X(ST0YXSPJ(KKx*B0j zOhNqx>Lh?pHC&bJcp1iy1oa_A1d8`^UX(OgMam~rFKsE_VIQ4v|W^7 ztJ=a4$+)2G%!iv~-?s>e*hPGl88=V45l@A0hqp2l^j^5EXRudo4qMLU8$%a3b%v-+ zl!nt&-LNIR00hFfEDq&NP^DlrzrxfCZJ$W_;|eiGW5yMtnaro^-XwYyIuof@1|BDe zI(uwT_-$r&O;NPwoH-4nmLM@#A@0+Hj?JX}PDK%mJJ9La`l?~QH9jbOn=O+R#tv^5BHQ)8o zKo{*0f4Vn%P7Cc1tFe}zpMOL}{^?N35wLAmK1D#ZyKH^yWgnzY(e}&+K`$_>tKI+~ z7_$ZV@=TS}@`u8t|AKrS>8ZwA-CwmUvsQosJd;z-tj%ZorqZDFs$4yHxR*UPUQw{4MaQ8J|+2k@l{qf`n6Kna$39MwCap zjo%V1o=WCsHRYs4HXxo_CUW7d7Wv(3@W8$fN`Vr=0kkm0R#fr#32Todw8>rlRJ-h} z*pFt95DZiFLjAp08Qb_@8cuYDG-o~}SJ1cT2y~c8dw#aAUsw1#cfp%g;&9MUSaJh} zy268?-Qj+|*9VD<5Uq0@8d`lGs%+B?U+liN^+zGcv~f;~OOV6f)@rjyUL_+73*KU6 z5Fi>S+`Ci`BKgjU<{RrH0k_xvxYmG?23E>>vp}Qh7)6TUv29Y?-%?+|U^a}TPYCmJ zsP4+i$xNYo+pj{d%VCtH&KG$~tjc5EB#;>a1E`B{0X3-yO|`lOjJM3}uOS})Vig*{u_`G-L^v?vQG`2lv%MBYVD|?0>Z|JVpnMKXJ}aIbSG?uX~^4oV_o_-DgWKP z0TBXarfb(p@T;0qFn>kRuaeK`E{u(Ythh9KMDo@)$$xR4X@dZu@zY{Cd`oHdY z+0grUCfchbTQ;3F^kRR9ui^w7GrAfq}Gp;Xk5rZcOC45f7_w6{U+``WS ziPsbi?MzYQajH!}KavuVi!gKq*9eEPynm=7T)O!fwBg=!{^?FHWHu+1=vb68n0o=? z@o@*@*Dmfm&XlwZn~y7nPZr(6k3_i7_Fx(TsD9}&^N?J+)0`i*o(&n=?{4Ys4&!*{ zd^c%Hz>={Vf&%V?GNA1pwNG{_6t$rvO0zxSpQ;>h}{9BLg=N2Q3W)4HqX9 zEj=$U$I&eV0~gQl?dz*o@bg!Qi=6SP#1*mO-WRZ2V`nX`SMF#C5`v3L_)!T~YI9Qz zFU@bQ{PmyN*L*uXymx-rRx^88|IBJ37&YNXd@*nOASe?!>x_QBEoyQytzzA1WEGPw z{8R2d@a;niqlgpv@cfz+1! zP((O4Z<;g_YC>a(LsiS(@DcfaM5w@O?AZr212j;4tR5H-23|45HXgqWX*%L)$WkCo zJM+ckI}>$&D5s0SpXM6XRVED!mx06Sx#5q@WvQbn5r*bfXPN=@fJXWj*9~`7u)p69 z=(s|w0WrFn9evK`fYiS+a?U&T9WL`(ATq=#qabu%_cfHan;L zy5;_vt;mz~iXt2w&gk&MLpXJ1e&I3uC|b*?Sx>D{Q{zUfaB%(rPFL;cjHLG6qbN~3 zm@J$~1s+$*l-LtlwkGe(8L1I%jatDfuB3b-kj zNKGf#eSE(>*ANmFH|B|rg=oTE^_1C$d|dzhX;PNWq$E7qa>PuBTq>2ufeNn@$4xNu zqeaXDi-t{L1v{gXy>nH;rN*x4MEPFc>_D3y4`D9nB;leRzZb+GVe~<>zFzU2`yQ8t zkxsXfRjztnp8BXtp)R$#K?O5j;jt+eFS2{JTyRM15Ojy~5|c8Nb~RR+4tf+DuZ%>P zBc$75`PB=)T6XT$YW)zk!cU@232A<|V3WSxrG4iq+y3dF!VQWTT$_6vvs|dsk3Mf^ zDBdq;&eWuAg$A<9Mb@fQbm0Mr|A(k+4ALZ6w%^#cZQIx#&yH=|wyho8#*S^*EZ2rhgTWT`Tm3ql4$+_E75c~6#$llaj*Vq3bH=gjj z-Y;}n9 zEYRfL?B&gOU}x#Xt`sprX&a5a|2k(hdO<-3{P5CXVpF_Wgl!x^ND|=}TjrK|_C_&W zsTs|TZll_y&SUzsq5jHkCgA^v+mlzy^@{NKqy_AU7-v|)$$xEDcOv7Fngz{aN>hAG zU9N)I+0B>@=y3SN;F&w*H6ktUA}f?JGhNToq?n}dwxnE#hD(rjNpB`@&eK+Nx?HE- zp$7W!Df?^hIIi1skFrBNv!}C~~1OOU%D&4nn78){|GQj+s z!;vf(M~%MfATn4BC*3va#L;^XGeeu{=sGeaC5x4OHVddQnIpldfcabMRYGd%iO=(NQIr+fzbE^*F=UY_j00(`P1;XO z!;V>+r-w^*BLEoT0cbWt`KX!<1GxAPm{3Crn8Mdx=iNEvg$>XeB7F8L6rD0zQt6Vf z%O}X(3=WUw81u67NeWqU>`;RB24{3}!&Z8zco3sWmYkuCco6E%3OyuQOlo|4yiK|P zj?aOUy?*+bxNN#eXqoyj`=Z1%&d>3cjf9$B&&E3$`xEWW^R0!yYk{6l10VaM8+(Z= zUhNG|;{o%@_MJ0?tuQxJwt7a4sCJEVES#jIOA){^x@}wYF&6D=e_AS7S@F~scYX*? zW+siX#YA9ReFgFb1n|&61eBaAC(*KK#EJ_-)PC?&>caHn zvPIaKT&<)zjXv|U64KeI{TEJVWHm>RNlud(YTda)+jw-4M6FT0rt_)NTp5GanH;I*uYLHgA!N49i*3q;}FVk901o&-U z!KEJhKiNHjaEiE(+_MTudvgk?>|0fmB>hav%Ip{2Pc}G3%;sm%16}+^DPaH}An|LZ_H+eoc<^x;Mh|!7 zR=z?ZhPmAkT(+^FptC(S>SHp=l6#h2L4iHHV3{P>+vY?JeX|)by-zFkP#b`3I6Q^| zz2A6ZQtoK?Cm_zC0S624Yca;X{%a)b;s`!Ph5h`KL(yLCe_0XLz9%27d@}IapJF~u zA?E=-MOjT}Wbw8a(f>m}B|QmFpnMOnNFx=R;5={^@^i0|-u}{im-}aCK;3H3Slo0{ z`dFp?X}t1he)?fuKTo!*(cNFo-f6*EB7U&M6gR2Ny>-Jy`c@YwL7Do4M*QDrpTz^K zgeD3LPu^1JSXaZeC^xN`@)?RIuop1tp+XcnW;bXmno~FWQHa;C|!oLv|7RyJX$`+>U_VMvGhz zR!xbJsg+eR-!%g70c)LRqVekKe0T`U5gEl_e!vJbNhmV_pL6Be<7iehi{Fml0060T zYOyjJntUyC;;k1%jRWrU9DeHTYv@zdzezrFm8d4`9k1Zua@4Zi&BKpAn~Y#dF=hdd zW~udsTPBq1>UEFoV$gBMzZojvS|4kECp!=mpJFjr-hx=ncz1ECo3L+L6$C7g=SC~_ zX`9Hedmvd;|8d`?n=LTLlO>=R2R^sXE`=$Z~AJ-GekY%kmtG8I1hi4=>SMB(={Y-yJUL68baGLAXYVwI^ zq07Rwv{SlX*}XE-*~MYfe(X?fm+_sR?$5wZWhX{#;YRm)fuGmKX<=sjD~AUAV##6D z`c%K8eaY)%M!?-YyMywL9E|$;2dR(V!ZhB3!b1FBAb2v@5!kS-V0mIxAyTVI(6hvD5Hjx1cTBfH{!dtDXtPH zHfIPV+ULr{QG3zm{cn9q$NSlhZn8RrBgDoc1HXY%v6L23>ft9BA$L^)DjEu4FGhbR*h_ zE-k1H8Nr7eSEwRXorKc7@+x2-Nj%af);XAXin?p_Z#iIZX52`TK=T&fZb=-GVs(-& z_v+aI^5imti3tZ4+b;g6VJ&G|hi!t;vUb+I$eY852s4cIxecdwyy5`$eofQ0E2+ZJ zc?cfNrm)}ko2{}4gntH&$ed=*E6+2{N_kG-`^cBYYa|DVqNryd=7%VV)#rzP?18x7y{ZKO>{uYX3qo%8ji)DHE zVzr35t3$?)iAOs-!y{;8fsa2DPEJH$y zm=}5Weh?ns#hszrdCN`!?uvk02t4hNDF?Gwy6zW%%{^2;1}WZ+kie=`v!NSbcwp$x z7KYr4X3+RM+Iz|xTA%F3rmvx_qKjSA^ofIuZYhckKNnYg#-oY_B4*`bc@C9zZ&;fl z3gIZR4FO(Hn~%A`6Sx`Qdq3WRBvQc{84BVjVSEcuYHyDw!UUuvbDwwOZvO+$1&f^~ zq|cQyND|D$bwp$5vk7+Pj7n}EbcJ?qR^@?Wsr+)h;Y&l1UF6$6K%?|z(9pVeOlXuT zW6nmKc$|~mck-^p%z5(Iyn!c3;pQSfvOrvR>TAtce1ivR3-PYqND66T0Q!oUMC8Ce z1)20UY}4|2`11%dcbm>cg^341=rh;&VbRPVVuv+0S7(_)wZ`)Ky0pK>NPmZ4y54AI zEZhmoq`cNpO~xc}ger(^cpQ6!X$(S-JzCeex0GY(#KRczg=!lyxlNl!Jut!Q9;<%C z$SK$=DY9liNn5$~I?Zc!dsD93CF_(C6&A^vs!FK*(K7$Ppz=fvghAX-Z)#{5NfUBAdD-t>(^oDosmx;^jbe+DQMzGiZ8yiaDu^d`?S#b?Tsz(Cdj{0 zI6~fMzsoIaW)*++9r?LP(aeh0GO+ZQbR%>#Bbm=@jHLys(tY{a@FiomRT(=I&RQXF zTefyGVauzvAt-%6jhqfe*uSex!qXIZxw_9*dz(AHnDr`}uab3W+y%MoJbXWLLaq8) z44b+Jg=jG75`cMByBDM4bj?e*4IXA!skRj&<`Q^tzPVIL91(MuhHcVy{YqO&RL?UJ z);{}(%chCiz1nL;8qu;Ir{qyC50OA+Z1rBn@VL)lhT`fiXP9XrfT65mK*VzuYjqX- zZwx0h!oPTE_S^BU?d35X9LEdr3G%-{hoJa>fe!E=phINsZx!YhJv}8IEhp#w=E3RC z$@==r-pTFx-t{i~*rdZWOFiu@)*Ry%!2%!`!~}4PSv6O;hnX9d^I%ik>*7XZvu^cd zx;thlWo_lgk$XEqPesc)s-@^u{Va8l#4TGIhH@WO(dAX9*}vRrdo6)OKv|uAEUz)g zveth`2|HyCCCy23nz$aeB9M4jC0N{ql4(6bCM%u_gDW=>gk5i;w%a*JGIN zQ$xRnoPTEY=SgQ8cxs;R=W=jrs@Jq9R<-*GQYeVw0~?1V!3Br2oH9YhFvm%UX_)pl z{H(XMT(XayiHz!5#zB~JB(^l8s)$ZMGtnS=)rcnTG%*`kKHbR{riK1TqUb1O{_QOj z7x?GH6o}Ukwkwb?Nf4A?KMjj~{W+)3XN>Lp4TbC{x(i68vaXR|U~@UtQ76wl+c$&J zOKf&OEnXJR9E37oy%=G>Q0(Fe-K#6#TFVLkcC~b`F82wy9KI(%q?bs?iQ1L}7`)q@ zE3RiPW)VI%5bU;1KVLdfoCZWU-yap0AfQ~)Rm%dzigAshXYWuZ9PZ|qo9m~{uMdjF zsLvo-xWH(9w(T=#!?l|wdAyEgrbxc?7dG9dg7PUco<@r|DFHSk8_NEvq03(F7Ko-- zI8lBOQyP^mw+s)(pwuY+QT7rs?Z3019|isu<88XCr@7W=+G2JeWl6ugFlhgd{?hKn z-2Ox*rZ&AXY7k;6FthjOHp^}AW30Ra2~j^@L=Pu>C!*g9)Wih(PT zt83_e+>Ox!ES(rb>0!&n3od9-p(powAC`yIwuWVArfkivJBj^z0OT9j`RUf2>2@LZgoRh#(_%b4i(7=liUtJZ zBtEX?0s#M9`NlF~v}Wv!t7GJf;76#j zigH3a^;LYAC@I-t{Wt0{LY|ebwhHd4oXp8JC4iXi`Y+Pbzvh)Smlc!tdf+~5cye1%{e-VE>3;~glz`VxCtv`2b)cAs z4Vh>Y%w+=`baUs*ht!|MPxi%*>nrruL0hi*foXmsJJ-geyFt{C%+xcEnB!vI1#vPU zroMv{FOY?~401PHmkGv(mVQ@IttfUgQ6^pHZ0XVasi`E-mXIQ!_9bMgT&H0)+y_Dt z;x95*2vN9VgPlXIxN%2SjD&N8ELoPrx7@c-M^Jh1ln<4ldQHkJLcgdrsXZ?;-J`6S zbiA|y_~k|iD;8-_Qr@%d(D=uU$wU>mQ12s4`H%|l#pMBN80B$><;dY1ea(3X^ zXOjunMSZ9bUz&e5f7mJGr;Ja?-A)TKwQ^Dz|NJK1R=N>#a-=4^Q>0r{Cz67G1RmGw z#vPS@U-WqrTsO%veT+Z)RGAZ6TCAppCBRt@^1P)O2O`(~`o1Eg6$)C~3x?1@b^kN4}dWg@R%B(zq+yNAgHx5VL?^`e_i?I_^PhPDJ^_r|09P6h$p*Q$PN`CXP%qMOq&^BBmC9f z8I&Fed8s#^;_h|r+^=EC=^LNn*;JTZ9sJffg}YKoCZ2czWhaaMOWx=;PMubonNy|# z>9-iq{HnItVyhMGFWkBwG@0#C4CGk?k6hz_>qy4g+zV6FHz)2Rm_}nQa51U=(`qCV zmQ7(1lX0f15-_vpV5ax%V5@4$JvxkPchxDea9DL#oBenXH;-LiZ_tO21d>nBZNxPL zuA@ONv4PqLNLOVXN zVo;nm$L}a=%)ivCW^1j&qtnXPzRvMrku}c-GiA8!4kA|rF)XV#t;VjLSU1Sr&s;J^ z)_;1r1vOKW+XM8uk~ej-q;8IkdnPw$)FzP1smt7<_J^5?vo(tuYn2#Dr;ZW6(+XkF zrIDBWj@*xnyLZO(GJrYxlP}mZ$7Cd zubRwL@_TVas+;i2RS?+yXkqao%{wa6!O@%@d_bHj>ovG_aoG z{{5O|e%29fup_>q9#nTa?~jrk6@U9P{dRk0E2xI+B>YHvRz{3KJq=4C^v>`QXv*W% zmuzUbVN|!Y+T22n$=#Q5jw1naeiZ@6N1PDBX?`#lWFw@ZkB)8OW1Nl-!JXxyXY%+B zxN$L^>H@0Bl>qgDA@8xgN0pP_@xlGZ)Vt=9C1At?anKpBGcl%%f4rWW0ryfQU)3RGRXAB~J;Svnt&VT^?k6h7e{-Sr#_Ov$*LXI=H8&NmYJvRiXDTk{nd zsAEiff)OyOUz;n<8Mw=0dl|DiMAud8sj5GkVCPp^!^~1EtSKRnQZVYSU4W?c)YGHe zk~c#6z()kFd?!k7BSOi6#6Q%x9FJ!*fD>v6O@!N11o2peKWaVFzgan@`LvgN4b`*C zbJ~0%MvXgUZvmgjygsL~7lh+)CksE04<~Jlf=cU*`CP69%|viDfSQ2;hg4b^Otfxt zik&o~jKz~y&>Y9;S4q{FM$$}^7bP2Vm|>h~x_gZh9;c2z?k}-iJQLeq_zv{rB1}C} z0mnN(!9%`0DLQvk9glL4Wk0yB4NrA)cK9kbD~1@wp2oY!T?IKbKTZ*9@g5sB&s_4E zX`_d&x>mu2jMgbWG(?n$okDau3_)~$#e_^K14X2rRfSw!eWa36`2z(OYQOm2EMs$X z3B8d|)?-x8o-ErRhI16IX7iDH?aPT7zA&{?_rjok0^@;C63vkHOLj815+s}kYlr{csXi!Lo* z8qrgxaag7a16oR# zwQ_wuzul5|T&vUgCdbydDBykBCtR;<3u7Tj1W6YL7zn7n`E<>52nbHbnogePazpvn zeqn*aFf!1ZjA*88k5pC794M1R>sF%!?NL7OIl0C{?z~h`vlb^M#N%c{8E{g`?Sr7TlzHsM8u&zAD zYjW5cpS%pAA8hE(0`{S!u4tBJSjYinxV69~T>{q?l~{h)0DPXqUPlHfILl>D zGSKO-Gwq%yrYv4UKl5c5GD|3to!@nJmh&_?GNvdJOHaYU?d9#QK8z`CxZ+mv+S#rz z!3UqfZOmYnZndtqroim!foDk4m45FD5i&^D>&7xOL~bNG6R7Dyl0@?~6GL_bczmHc z^xSmJjV4YZMu8U91~`p1cdZt?n(yglbN%yi@o&hN{m4|1oY7Ry$ zL&gGS)lc5u5{|Vg)tsidX1Bp59v2TGwI}~hCRj%C^Rbx)SZkWkn_ELwkd zTaV1o_N;ny-tRBccpe+jtEwKoQdiq1PH{!kyR$bby~b@PueP_a|3w}bE>Rj$qb=nS zz$7@VN)&Sp?FBN7mXitYLn`jLt;;lPLe9Z&^!YY~r3i{oyo*$4050*V?XX8!fUjmO zu6WVhVoo`R6;c?G^G-8#O?-&*B+i8kcm1AQWvkaPUky#Bw|RwCLT{dCbVI90 znyWavB0IW%pgcszM7u2W^Q)(Gl1pYQHsp99LafEyJHVx(Wx($9Zrz|o7D zl~}+6{?EF>BwSg zTvj6~s#2-(Q&46c}2!h$mI@ zVrs5Q!u0Ln$ccsYr6@X?fP-27eC?a-C=O3e3dRs;NY;S8Arcx(0DTs!UgNUA~Q(k6HgXJEL`mra=>Zw{8M`PMYp zQg>WEr+rYkQpHXat1N7uzF@hEl+ruo(8WsKEHIh6!IB-_AjKR91i{5}3D!xGv{lqf z8PXg}>Q`MyA|gVIyfl7=zf9VGCvap7{qO6Q&I%ZGGT_8X1I0R=Q;U!Ag(m5>NW`~+ zZo9_LVMyba=#xRVnt+rX?q(d_^3#ni3mUXd4Wt4I{y&hRR#Q7bg`fuQh|dk}7C=UEF`_ zIkg;xGB+LWpPtt@-56T3YJ`YRA2}-yWLS!WW6a*__eqV|YHiT{v*A%-W~+9!c~l(I z_M{`|8Ye|(n#eYLDE1A-*O0F;lV|~4>5@Yic z$aC9SH4fx2vF1c+|Gr$nda8dFfRj((NeeysEVX@o^)D?BHg3_HEIppD#F63w8L%m( zBlSGDz$qg#WAub5@m@l~)lp+O&twjwCHo!yGS;CBB_scUm)|S@qos4!*jo(cp4&u2 zMuN){Qw1RyaYGDG>^ZGy=;u;G;mWE<)kRrEj1lMmyzoG3HOkbSP0{WM9ko zmlTfwe7*QS8_ zJfw9NMN3QGb%nCoLlc+h3i5~a{k0}`-@Um&8Jf1lyR1hWiK(FbQ0GAgGxoXGOIt=_{ z45tb>%2}hpU`->RI5>HUnj{;_bi0t}o7VP)+e}-tX)k#RP0lMzp$BT>>kam^fW*QI4<#fx&nA89`p z7k9GI@lykmK7khTk%FVWI0=^5Di;jQ_{43TC{E zIE2$SP5lr6A%oYc_PWW%RjvtNT+yXTsQI}kn4Z8c!fM8H{XM}k{Cvg|*L_$QhhZ^E zXBdrw2y(e7FT0ZwA3P+Gf8hl(ULv>b%(gOS+3>~hX7lhYPuXxqwZ6K77jb$Dfrrwl zordg4R3=t-Qc)A6D#Xe%I`nRKj;%#KxcmeF3s#_f-FdD0SU1$SvdO5z(;?76$8BU4 z-Q@nDGOTznmRUD|UddH8eFbfsiIaKzL(jhY5DG6ogy{C%R6BJWwQ?~O5AVCh19gPG z6^?hn&z=%ebqKEpGc<_+ps*woe z`pXd$Cv!dYI6!pPWl)-x1^zgVA#7z_q@mXj-h-kizP`qHXv|trsElQINwHahKWv-+bHC8FFqjV;Hi+VCbx}GTacM|aNFmJ2Yj5^a+r2D-P^B6#?!2zrC6Z5|a$q&0Zf z+g}ts$z75%E5)-tWFGv;(yl1>V*Aw{s~i{-1J1>hVp5@yeA94UbMZcdwBG}p;Vj@q zm-tTMBOr8@6Ks1!nDkx5{bX^#Yut3gAYT>dtp$Rc5nYn5s+%aYc^f`)6B5%#2Jm3Q zJncCQW$||OX+bpg-Vq_hPbCn-|;Vuw@ zny=BF6W{oN4?l@yTY7+`#57MLwt1wAZw4CJT@C>FSWM1e!{y1b^gb4JtB}hjx;_X2 z>zy?#Lq#I8j9SU6obZ)c9+uYE`_hx%yPCJoFAlD_Fb?j^XbwG^T62wyY66MFX9!7% z4~cDPAZz1O2j3~dl}s;E@5k7AQ~f2AO5X5xQs2TmI3=WqLE)72 zX3-3R$_NNA)3>{F+BW#5V1h8*Gm%QwgmNSPo;pd8lRlT42@aI~2G_eB!U^q6VMf5$ zg+l1-jl2v5pv5DUrM@OMhf4jGtF`4n;u{Qi(TQrSLlF?6%FK7)ZVoajE7{y~>nI=} zU_nD_6qZtk(1UV#&#rh$n$+D_SP_OQ>C|!0GfNR(#@;UmLr2_Sh1Y06@MomO z3K=@Q10VEP)`w~}2bW_Z%NwM)QTiy=BlT7cL%K_ubdOO6l& zg^jTckJxpYRah!TFFZpDN>05Q-Jk3T?KNmnIRK;%Hhfr4mQ(I2ozoqOO#=AMcoKms zf}V!|8OIMao5t;aE%W$-)7yhbKy*M#sn z)|@>llVOxDaeWnsYdqUDALGO?Papp*25MVo&LwR4%?mYQ`td^ZKz90>;>Ztv2E>Yv z55}nqMw3feCCu*3Y#fzD+`;xghFobwlfrpin9s9~WOmI|8WSYif{TPw%}A>!qi+sT zoh~xKH7G^mu;RhQKc~5JkI81Cdc_L`7QdGdP7lWZb|^6b-D5ZYAM+41OVM5Ft`#5i zdFA1a%@)6-Lz5$i`dU4qf~QCt)1Ri2fi8T?5!B49^f)+Ii&-coeff>LIS?fCF)vK% zNvPQ-(x#pjTz1b9h3IwH9`>Fs^B##V{v0lGiHH%JX%X3Yyy#f92XAZ#9ldsD|08OZ zLcAFurX?RL0bb#x7k`9WxqjK!*L*_$--G&zX#(!8Ga#~qSN zAr68i^$=3Z5lU@Y zvG&Mdel`NWu*q*st|yak)ox1=KL7x;9$3Q65&fd5A}OFZYwaFNh@+3qKkVwxw)W>$ z1jUuZW*X#{MpBiA)_JGTn!2jA+appY`{CW_eEuXUA4`7%TFL&zwMMy~h8q6V=ZhYQ zJb6Y1B(T~%j~WzMk63NZu31B^psyc!Tr^nOb>Ulj&iS3tItNqnj@8rCD6ng7zmg-_ z?z$GAdYDh!@2U-`O7Xq7$CDaxr0A}Y@VQns5IlRa(h1xmmjXBZ;8yG*5V84xeie_} z(JCu$Kz=3w8pv3zJx^W0#sV^6jJ#7beLT58e)K7^HrXh@dMh|8dZ-jR^*e&els!8~ z%$L8}r?IUOti{fNRt0)3c-rC-P9?Vmp4h&s?uh>G-)s4-Bkubd*m;^WBo>!OHu^Q| zcGQSw5ubfHuZJ`5bUvlby7sk1$x-gO8fF71SdQw!wtKPLFzc@=vZ+?IkeT@dy#!Se zUeUdHVKFZ{L7G7(R5XF#Yjqo&HMQoPd63Thip1qtgRTBvMI-Da`jT`b7i8wqZ|jtF`I(`;Y!!s>_+OSzsHOn;EY6-zIR9{10v2SX zEmXyzpdG8{K*oes+d{dW#%mRX{*Ij}@*5+Ro;X0qLwU#dJyo{nZ{qNmt%F~7J&;tt zwT8+_dK#3U3`KR`tb)4e<)nPf=lwfDC~~v;+&_Iwm>6#z@+JqgL;&kR2Tjb%4{Bfn zs@LCJ$h1IidgQwwC~7&Fu835iUiACIOzwm#S548<3yF*O-AzfvVdtNa1U^L1ATSFG zpAm7v@0@EF_2>&1<)O^kLDA$kw z$-&$5RKj%uVoKlcV!%kwSN-YDijhIF!RBmq>?dK83v;TyO_^@`lp|tkD|uGD5+#1` zFBeyybopneO&CrVSy0*0wFZdEuko(U0K75_;k-VoZ2Y9(m=N~|iT6w0P%4PGfhFwL z30P?cf`4EkUnl`S;cx-p_?x8Y{mW#$Cq4i`bVwcO$z1%84Iw}c1*l5JXnpB5t%N{n zg7JG&#>V&R%F=5c|?Md{fOk18h@0kBKYhW<0M>PNs4t{0oJOp6;C!}#jV zSmb2tpRsEOyh|_|t+(|?Yim4;+7ed|vu(cWn|^he=+nXcnSV#M%u+9LkZ8!$%_O?$ z7KoAiF^-k~zt~F&LiL&)Y@kaajDI|&K8al zTYV4x-**1gaFD9&5LsDvwQl6I;8c-h{{5|U!jEoYWsmnF9|w2mUXkbY5D32qS@^fJ zp`Dhfj|S2$2!Ii2z5y=fr!6B_z}C;1Y;uWX->xh0ojW_ZLtiWvdlT$W1fs#Twaw#i zT@M>Irzd7T3YV5!qwxe2!TGJkA}DAyaAlIc`U-mWZBmGdIs@~Vy?bBq0LZ-fM2hD0 zMTcq%=Hc$q)itmai_XP7s650;gk`!wE&YlJ0@^fxm1k%!x@TmR|HmOfe^%xHp8wc` zxJgFPV8}=`mxx=TnvZW0+b0o~Brnn=z5|%P+P5Z3n z>H74Icrs74&qrl~MjX3?9SBTL0Q?@xz29wV8*!-3_DMg5Tp|xfsF+2hA4?rUUrL~* zi`4gKI5vbYPyIP$odVE_=WX;q2bFRP>@jjir-M)ld(~Fek|BpxjG&E8Ut%WtF`&Sc zZLTJ!Ga4CG=G|m&%?vX!_4u?_{a^os`=qFHmyb+3smI|@4DSc5r%(Y_zclTj#wHSZmcb&e&h1_x z^yRkTXkyWhDTU5(hhcCV{u9hMp~~hPIs(1NlMHtd#cQXZcq`IyK4S-Dn>UVrdtwCU zCv0l4@c9D#G=TwzJjj|qY0=|>2bA2_>JDDdWrhb?MJdcvXB1MUk? zlx*088D0G2&j$!(04(s)7&lp)40d*0vHXI&%xh3P+^jg;`PZmj)o8vF$?xL*-2P58 zWM!4HR4ZXo`&m>k8@p4Wk=u*>o1yiMUe=yu|0#*cU~7h1UkJkRWT5)M21Uq*vFmnF z^ejc&V!R=wRm&3z-#z=g)vKb{Koy8T;;{F7RbFukOiay9>$?Q}?%0DD01H?L2x^G@ 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 diff --git a/SQF/dayz_sfx/bloodsucker/distant_growl_2.ogg b/SQF/dayz_sfx/bloodsucker/distant_growl_2.ogg deleted file mode 100644 index 8f643dbc420e6a47eaed07e9056935c391ac65c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21210 zcmd42byOWq*Du((2ZDQW5AJTk-6gmMm&1YJ?h**@?(Qx@gA?2(Sa62~0?grg-fw;P z&fGh*X3alStGc>m_pfX3+Pivpb+xjUl{x?o{GYU27!esIEc}m!=l0W=&ug_nO0ym!)>an5ZTvjzI1DhJT+}JywoRtThu<(UhEQ z7FFi@RqlYwTtQrhKIE$$LXo=)#g;>~2iXo1slny>xr6~!Q| zM+Q^?03$LFKN31Pv=SO%2LRYyy4as|v6OsY&17-^A%P491_1OrVavv2kJM4g&oIf) zN~&u5%yVmM-hmAkUn3c(InFDps7y&(5g}P0syRL)nl9X{i~uRRJ`9-u5)WWX#}`i1 zxbF>$4YK6>#4xz;>O?WWFYCatzn=-3la%9?fSi4eUzzToPF#y zIj(J(q+#YQ&URY?{|Gt7<#Qw0$$9XI<5_AV*&W8D;u^0�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 diff --git a/SQF/dayz_sfx/bloodsucker/distant_growl_3.ogg b/SQF/dayz_sfx/bloodsucker/distant_growl_3.ogg deleted file mode 100644 index 903ce159e9d0c4684f5a975c32687ef066e5c6f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34155 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 diff --git a/SQF/dayz_sfx/bloodsucker/forest_hidden_1.ogg b/SQF/dayz_sfx/bloodsucker/forest_hidden_1.ogg deleted file mode 100644 index 8a83653e530182752f81a7258827d7f418133d3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18661 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

qHME_&#tbCqlV$|&BA;vBz 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 diff --git a/SQF/dayz_sfx/bloodsucker/forest_hidden_3.ogg b/SQF/dayz_sfx/bloodsucker/forest_hidden_3.ogg deleted file mode 100644 index 0bc0874ff72e63eb3e47d1bcab2c5edd7deaf93c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22478 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 diff --git a/SQF/dayz_sfx/bloodsucker/forest_hidden_4.ogg b/SQF/dayz_sfx/bloodsucker/forest_hidden_4.ogg deleted file mode 100644 index 7f889a360a3e52c825948230a0989623c59a811e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24385 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 diff --git a/Server Files/DZE_Server_Config/BattlEye/createvehicle.txt b/Server Files/DZE_Server_Config/BattlEye/createvehicle.txt index d46db7f7b..4e3c8ae05 100644 --- a/Server Files/DZE_Server_Config/BattlEye/createvehicle.txt +++ b/Server Files/DZE_Server_Config/BattlEye/createvehicle.txt @@ -1,14 +1,14 @@ //new -5 !(^DZ_|^z_|^pz_|^WeaponHolder|Box|dog|PZombie_VB|^Smoke|^Chem|^._40mm|_DZ$|^Trap) !=(SeaGull|SmallSecondary|HelicopterExplo(Small|Big)|Stash(Small|Medium)(|[1-4])) !=(CZ_VestPouch_EP1|R_M136_AT|R_MEEWS_HEAT|Wire_cat1) !TentStorage !=(JackDaniels|(Tin|Soda)Can|RoadFlare|WoodenArrowF|zZombie_Base|Parachute(West|C)|Grenade(_|HandTimed)(West|East)) !=(CMflareAmmo|Pipebomb) !=(WildBoar|Rabbit|Sheep|Sheep(01_EP1|02_EP1)|Goat|Goat(01_EP1|02_EP1)|Hen|Cow0[1234]|Cow01_EP1|Cock) !=Blood_Trail_DZ !^(Wooden|Metal)Fence !^WoodenGate_ !=(ShantyHouse(|Stage[2-7])|SurvivorWorkshop(|Stage2|[ABC]Stage[345])|WorkBench) !=explosive_bolt !"Land_" !=Sign_(arrow_down_large|sphere10cm)_EP1 !="MAP_c_fern" !="Grave" !"VaultStorage" !="LaserTargetW" !Fort_ !Nest !CMflare !="GyroGrenade" !="CraterLong" !="pook_camel_HE" !="Fin" !="Pastor" !_DZE[12]$ !"TallSafe" !=GraveCross1 +5 !(^DZ_|^z_|^pz_|^WeaponHolder|Box|dog|PZombie_VB|^Smoke|^Chem|^._40mm|_DZ$|^Trap) !=(SeaGull|SmallSecondary|HelicopterExplo(Small|Big)|Stash(Small|Medium)(|[1-4])) !=(CZ_VestPouch_EP1|R_M136_AT|R_MEEWS_HEAT|Wire_cat1) !TentStorage !=(JackDaniels|(Tin|Soda)Can|RoadFlare|WoodenArrowF|zZombie_Base|Parachute(West|C)|Grenade(_|HandTimed)(West|East)) !=(CMflareAmmo|Pipebomb) !=(WildBoar|Rabbit|Sheep|Sheep(01_EP1|02_EP1)|Goat|Goat(01_EP1|02_EP1)|Hen|Cow0[1234]|Cow01_EP1|Cock) !=Blood_Trail_DZ !^(Wooden|Metal)Fence !^WoodenGate_ !=(ShantyHouse(|Stage[2-7])|SurvivorWorkshop(|Stage2|[ABC]Stage[345])|WorkBench) !=explosive_bolt !"Land_" !=Sign_(arrow_down_large|sphere10cm)_EP1 !="MAP_c_fern" !="Grave" !"VaultStorage" !="LaserTargetW" !Fort_ !Nest !CMflare !="GyroGrenade" !="CraterLong" !="pook_camel_HE" !="Fin" !="Pastor" !_DZE[12]$ !"TallSafe" 5 SeaGull //set to its own line so we know which kick we have here with out looking in the logs -1 ^DZ_ !=DZ_(British_ACU|Czech_Vest_Pouch|(TK_Assault_Pack|Patrol_Pack|Assault_Pack|ALICE_Pack|CivilBackpack|Backpack|LargeGunBag|GunBag)_EP1) !=DZ_((AmmoBox|ExplosiveBox)(RU|US)|MedBox|CardboardBox) !DZ_AmmoBox -1 ^z_ !=z_((|new_)villager[1234]|(|new_)worker[1234]|teacher|hunter|suit[1-6]|soldier(|_pilot|_heavy)|policeman(|2)|doctor|priest) !=z_(citizen[1-4]|profiteer[1-4]|rocker[1-4]|lumberjack[1-4]|hunter[2345]|assistant|pilot|takistani[1-6]) !z_soldier_(usmc|fr|cdf|ru|gue|ins|tk|cz|un|ger|baf|pmc|acr) !=z_(dealer|gardener|mafiaboss|postman[1-4]|prisoner[1-3]|firefighter[1-5]|civilian([1-9]|1[0-5])) !=z_bloodsucker +1 ^DZ_ !=DZ_(British_ACU|Czech_Vest_Pouch|(TK_Assault_Pack|Patrol_Pack|Assault_Pack|ALICE_Pack|CivilBackpack|Backpack|LargeGunBag|GunBag)_EP1) !=DZ_((AmmoBox|ExplosiveBox)(RU|US)|MedBox|CardboardBox) +1 ^z_ !=z_((|new_)villager[1234]|(|new_)worker[1234]|teacher|hunter|suit[1-6]|soldier(|_pilot|_heavy)|policeman(|2)|doctor|priest) !=z_(citizen[1-4]|profiteer[1-4]|rocker[1-4]|lumberjack[1-4]|hunter[2345]|assistant|pilot|takistani[1-6]) !z_soldier_(usmc|fr|cdf|ru|gue|ins|tk|cz|un|ger|baf|pmc|acr) !=z_(dealer|gardener|mafiaboss|postman[1-4]|prisoner[1-3]|firefighter[1-5]|civilian([1-9]|1[0-5])) 1 ^WeaponHolder !=WeaponHolder !WeaponHolder_part !=WeaponHolder_(Item(DomeTent|CamoNet|Crowbar|Fuelcan|Hatchet|Jerrycan|Tent)|Melee(BaseBallBat(|Nails)|BatBarbed|Machete)) !=WeaponHolder_Part(Engine|Fueltank|Generic|Glass|VRotor|Wheel) !=WeaponHolder_Item(WorkBench|MetalSheet|ConcreteBlock|RSJ|Pickaxe|Generator) -1 Box !=(DZ_((AmmoBox|ExplosiveBox)(RU|US)|MedBox|CardboardBox)|Item(Match|Tool)box|equip_pvc_box|DebugBoxPlayer_DZ|WeaponHolder_ItemLockbox) !=LockboxStorage(Locked|WinterLocked|2Locked|Winter2Locked) !DZ_AmmoBox +1 Box !=(DZ_((AmmoBox|ExplosiveBox)(RU|US)|MedBox|CardboardBox)|Item(Match|Tool)box|equip_pvc_box|DebugBoxPlayer_DZ|WeaponHolder_ItemLockbox) !=LockboxStorage(Locked|WinterLocked|2Locked|Winter2Locked) 1 ^Smoke !=SmokeShell(|Red|Green|Yellow) !=SmokeLauncherAmmo 1 ^Chem !=Chem(Green|Red|Blue) 1 ^._40mm !=(G_40mm_HE|G_40mm_Smoke|F_40mm_White|F_40mm_Green) -1 _DZ$ !=(BanditW?[12]|Camo1|Sniper1W?|Soldier1|SurvivorW?([123]|desert|pink|combat|urban|winter)|Blood_Trail)_DZ !=(Land_Fire|Sandbag1|Hedgehog|BearTrap|CamoNet|GrenadeHandTimedWest|flamable)_DZ !=(Priest|Doctor|Assistant|Worker[134]|Soldier_(Crew|TL|Sniper|Bodyguard_AA12)_PMC)_DZ !=((Functionary1|Haris_Press|Pilot|US_Soldier)_EP1|Reporter|MafiaBoss|Dealer)_DZ !=pz_(policeman|suit[12]|worker[123]|doctor|teacher|hunter|villager[123]|priest)_DZ !=(GUE_Soldier_(MG|Sniper|Crew|CO|2)|Apo_Rifleman_0[1-6])_DZ !=(UN_CDF_Soldier(_Guard)?_EP1|BAF_Soldier_(Officer|N)_MTP|Nac_Soldier|Tamika)_DZ !=GhillieFull_(Desert0[1-8]|Snow0[1-5]|Urban01|Wood(0[1-9]|1[1-6]))_DZ !=SG_GRU_(TL|Scout|Sniper|Spotter|Assaultman|Medic|Marksman|Operator|MG)(|_W|_D)_DZ !=(Firefighter([1-5]|_Officer[12])|Postman[1-4]|SchoolTeacher|Civilian([1-9]|1[0-4]))_DZ !=((Drake|Graves)_Light|GUE_Commander|Hunter|Gardener|RUS_(Soldier1|Commander))_DZ !=(RU_(Soldier(|_Officer|_Crew)|Policeman2?)|Ins_(Soldier_(2|GL|Crew)|Commander))_DZ !=(MVD_Soldier|CDF_Soldier|Prisoner[123]|Rocker[1-4]|BusinessMan|Rocket)_DZ !=(INS_(Lopotev|Soldier_(AR|CO)|Bardak|Worker2)|USMC_Soldier_(Officer|MG|Pilot))_DZ !=FR_(TL|R|Marksman|Assault_R|OHara|Rodriguez|Sapper)_DZ !=TK_(Special_Forces_MG|Soldier_Sniper|Commander|GUE_Soldier|CIV_Takistani0[1346]|INS_(Soldier(_AR)?|Warlord))_EP1_DZ !=gsc_(military_helmet_|military_head_)(|wdl|grey)_DZ !=gsc_(scientist[12](_head)?|cloth_loner_head)_DZ !=gsc_eco_stalker_(mask|head)_(camo|neutral|head|fred|duty)_DZ !=CZ_(Soldier_(805|Crew|Officer|Recon|Spec([123]|_Demo)|Sniper|Light)(|_Wdl|_Dst)|Soldier805_DES)_ACR_DZ !=CZ_(Special_Forces_GL_DES|Soldier_Sniper|Soldier_SL_DES)_EP1_DZ !=GER_Soldier(_TL)?_EP1(|_des|_wdl)_DZ !=(Plastic_Pole_EP1|Generator|Server_Rack|FuelPump|FireBarrel|GunRack|GunRack2|WoodCrate|WoodCrate2|WorkBench)_DZ !_Preview_DZ !=CamoWinter(1|2|1W|2W)_DZ !=HookerW(1-5)_DZ !=TK_INS_Soldier_EP(1-3)_DZ !=CinderGarageOpenTop(|Frame|Locked)_DZ !=CinderWall(Doorway|Door|DoorLocked|Window|Half)_DZ !=Wood(Ramp|Floor(|Stairs|Half|Quarter|4x)|TriangleFloor|Large(Wall(|Door|Win))|Small(Wall(|Third|Win|Door))|TriangleWall|GateFrame|Stairs(|Rails|Sans)|Ladder|Handrail|Pillar)_DZ !=MetalFloor(|_Half|_Quarter|4x)_DZ !=GlassFloor(|_Half|_Quarter)_DZ !=(DesertLarge|Desert|Winter|WinterLarge|Forest|ForestLarge)CamoNet_DZ !WoodenFence_ !MetalFence_ !Helipad_ +1 _DZ$ !=(BanditW?[12]|Camo1|Sniper1W?|Soldier1|SurvivorW?([123]|desert|pink|combat|urban|winter)|Blood_Trail)_DZ !=(Land_Fire|Sandbag1|Hedgehog|BearTrap|CamoNet|GrenadeHandTimedWest|flamable)_DZ !=(Priest|Doctor|Assistant|Worker[134]|Soldier_(Crew|TL|Sniper|Bodyguard_AA12)_PMC)_DZ !=((Functionary1|Haris_Press|Pilot|US_Soldier)_EP1|Reporter|MafiaBoss|Dealer)_DZ !=pz_(policeman|suit[12]|worker[123]|doctor|teacher|hunter|villager[123]|priest)_DZ !=(GUE_Soldier_(MG|Sniper|Crew|CO|2)|Apo_Rifleman_0[1-6])_DZ !=(UN_CDF_Soldier(_Guard)?_EP1|BAF_Soldier_(Officer|N)_MTP|Nac_Soldier|Tamika)_DZ !=GhillieFull_(Desert0[1-8]|Snow0[1-5]|Urban01|Wood(0[1-9]|1[1-6]))_DZ !=SG_GRU_(TL|Scout|Sniper|Spotter|Assaultman|Medic|Marksman|Operator|MG)(|_W|_D)_DZ !=(Firefighter([1-5]|_Officer[12])|Postman[1-4]|SchoolTeacher|Civilian([1-9]|1[0-4]))_DZ !=((Drake|Graves)_Light|GUE_Commander|Hunter|Gardener|RUS_(Soldier1|Commander))_DZ !=(RU_(Soldier(|_Officer|_Crew)|Policeman2?)|Ins_(Soldier_(2|GL|Crew)|Commander))_DZ !=(MVD_Soldier|CDF_Soldier|Prisoner[123]|Rocker[1-4]|BusinessMan|Rocket)_DZ !=(INS_(Lopotev|Soldier_(AR|CO)|Bardak|Worker2)|USMC_Soldier_(Officer|MG|Pilot))_DZ !=FR_(TL|R|Marksman|Assault_R|OHara|Rodriguez|Sapper)_DZ !=TK_(Special_Forces_MG|Soldier_Sniper|Commander|GUE_Soldier|CIV_Takistani0[1346]|INS_(Soldier(_AR)?|Warlord))_EP1_DZ !=gsc_(military_helmet_|military_head_)(|wdl|grey)_DZ !=gsc_(scientist[12](_head)?|cloth_loner_head)_DZ !=gsc_eco_stalker_(mask|head)_(camo|neutral|head|fred|duty)_DZ !=CZ_(Soldier_(805|Crew|Officer|Recon|Spec([123]|_Demo)|Sniper|Light)(|_Wdl|_Dst)|Soldier805_DES)_ACR_DZ !=CZ_(Special_Forces_GL_DES|Soldier_Sniper|Soldier_SL_DES)_EP1_DZ !=GER_Soldier(_TL)?_EP1(|_des|_wdl)_DZ !=(Plastic_Pole_EP1|Generator|Server_Rack|FuelPump|FireBarrel|GunRack|GunRack2|WoodCrate|WoodCrate2|WorkBench)_DZ !_Preview_DZ !=CamoWinter(1|2|1W|2W)_DZ !=HookerW(1-5)_DZ !=TK_INS_Soldier_EP(1-3)_DZ !=CinderGarageOpenTop(|Frame|Locked)_DZ !=CinderWall(Doorway|Door|DoorLocked|Window|Half)_DZ !=Wood(Ramp|Floor(|Stairs|Half|Quarter|4x)|TriangleFloor|Large(Wall(|Door|Win))|Small(Wall(|Third|Win|Door))|TriangleWall|GateFrame|Stairs(|Rails|Sans)|Ladder|Handrail|Pillar)_DZ !=MetalFloor(|_Half|_Quarter|4x)_DZ !=GlassFloor(|_Half|_Quarter)_DZ !=(DesertLarge|Desert|Winter|WinterLarge|Forest|ForestLarge)CamoNet_DZ !WoodenFence_ !MetalFence_ 1 ^Trap Trap(_Cans|Tripwire(Flare|Grenade|Smoke)|BearTrap(Smoke|Flare)) 1=(SmallSecondary|HelicopterExplo(Small|Big)) // log explosions (optional) 1=(PipeBomb|Grenade(_|HandTimed)(West|East)) // log grenades (optional) diff --git a/Server Files/DZE_Server_Config/BattlEye/publicvariable.txt b/Server Files/DZE_Server_Config/BattlEye/publicvariable.txt index 1a2430279..6b8afe5a6 100644 --- a/Server Files/DZE_Server_Config/BattlEye/publicvariable.txt +++ b/Server Files/DZE_Server_Config/BattlEye/publicvariable.txt @@ -1,5 +1,5 @@ //new -5 !=remEx(Field|FP) !=(PVCDZ_obj_GutBody|BIS_effects_gepv) !=PVDZ_(hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove|Delete)|Server(_Simulation|StoreVar|_UpdateGroup)) !=PVDZ_(playerMedicalSync|groupInvite|send|sec_atp) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Swap|Trade)|maintainArea|PingSend|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ)) !=SK_changeCode !=PVDZE_(query|store|spawn)Vehicle !=PVDZE_maintainGarage +5 !=remEx(Field|FP) !=(PVCDZ_obj_GutBody|BIS_effects_gepv) !=PVDZ_(hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove|Delete)|Server(_Simulation|StoreVar|_UpdateGroup)) !=PVDZ_(playerMedicalSync|groupInvite|send|sec_atp) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Swap|Trade)|maintainArea|PingSend|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ)) !=SK_changeCode 1=BIS_effects_gepv|PVDZ_(hlt_Bleed|obj_Delete|obj_Destroy|obj_Publish|plr_Death|plr_LoginRecord|sec_atp|send) 1=PVDZ_veh_(Save|SF) 1=PVDZE_obj_Swap diff --git a/Server Files/DZE_Server_Config/BattlEye/scripts.txt b/Server Files/DZE_Server_Config/BattlEye/scripts.txt index a20d157dc..fd094b5af 100644 --- a/Server Files/DZE_Server_Config/BattlEye/scripts.txt +++ b/Server Files/DZE_Server_Config/BattlEye/scripts.txt @@ -1,90 +1,90 @@ //new2 -1 addAction !", \"\\z\\addons\\dayz_code\\" !=" = -1;\n};\nif (_s1 > 0) then {\ns_player_toggleSnap = player addaction [format[\"\" + \"Snap: %1\" +\"\",snapAc" !="-1;\n};\n\nif (_s1 > 0) then {\ns_player_toggleVector = player addaction [format[\"\" + localize \"STR_EPOCH_ACTIO" !"\"addAction\", " !"raddAction" !="_costs] call _fnc_actionTitle;\nSP_refuel_action = _vehicle addAction [_actionTitle,_folder + \"servicePointActions.sqf\",[\"refuel\"" -1 addBackpack !"addBackpackCargoGlobal [_x,(_objWpnQty select _counter)];\n_counter = _counter + 1;\n} count _objWpnTypes;" !"addBackpack _item;\n};\n};\nformat[localize \"str_c" !"case 3: {_holder addBackpackCargoGlobal [_item,_amount];};\n};\n\n\n" !"}) then {\n_newUnit addBackpack _newBackpackType;\n\nd" !"addBackpack _backpackType; \ndayz_myBackpack = unitBackpack player;\n\n\n\n_backpackWpnT" !"};\n} count _wpns;\n\nif (_bcpk != \"\") then {\nplayer addBackpack" !"1 == \"trade_backpacks\") then {\nDZE_myVehicle addBackpack" !"7 addBackpackCargoGlobal [_create,_qty];\n};\nif (surfaceIsWater" !"case 5: {_item addBackpackCargoGlobal [_itemOut,_countOut]}; \n};\n} else" !="m (2 + 1)];\n};\n};\n\nif (_type == 5) exitWith {\n_container addBackpackCargoGlobal [_item, 1];\n};\n};\n} count ([_group, _count] cal" !="5) exitWith {\nif (isNull unitBackpack _unit) then {\n_unit addBackpack _item;\n};\n};\n};\n} foreach ([_group, _count] call dz_fn_loo" !="al [_itemOut,_countOut]};\nif (_type == 5) exitwith {_item addBackpackCargoGlobal [_itemOut,_countOut]}; \n};\n} else {\n_item addMa" !="forEachIndex]} forEach (_backPackMag select 0);};\n\n_crate addBackpackCargoGlobal [_backPack,1];\n};\n\n_sound = _corpse getVariable" -1 addMagazine !raddMagazine !"\"addMagazine\", " !"if (isClass (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};\n};\n};\n};\n};" !"_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine" !"if (dayz_actionInProgress) exitWith {" !"addMagazine _x;\n};\n} foreach _items;\nformat[loc" !"addMagazine \"ItemAntibiotic\" + str(_remain" !"sumeDrop\") == 0) then\n{\nplayer addMagazine" !"ion) do {\ncase \"CfgWeapons\":\n{\nplayer addWeapon _item;\n};\ncase \"CfgMagazines\":\n{\nplayer addMagazine" !"addMagazine [\"12Rnd_Quiver_Wood\",_qty_quiv" !" >> \"containerEmpty\")" !"plant) select 1;\n{\n_item addMagazine" !"addMagazineCargoGlobal [_itemtodrop,1];\n\nformat[localize \"str_f" !"addMagazine _attachment;\n\n\n(findDisplay 10" !"addMagazine getText (configFile >> \"CfgMagazines\" >> _x >> _water" !"};\n};\n\n\nswitch _type do {\ncase 1: {_holder addMagazine" !"addMagazine _item;\n};\n};\n_idc = _idc" !"_newUnit addMagazine [_x select 0,_x select 1]" !"addMagazine _x } count MeleeMagazines;\n} e" !"_meleeNum < 1) then {\nplayer addMagazine" !"addMagazine _qtyRemaining;\n};\n};\ntrue" !"bag\";\n};\n};\n(_this select 0) addMagazine" !"addMagazine \"wholeBloodBagBNEG\";\n};\n};" !"_qty > 0) then {\n_firePlace addMagazine" !"ONEG\" }; \n};\ndayz_myBackpack addMagazine" !"addMagazine _x;\n_countmags = _countmags +1;\n};\n} count _gmag" !"E\"];\n_lootpile addMagazineCargoGlobal [\"TrapBear\", 1]" !"With\n{\nplayer addMagazine (_this select 1" !"lder addMagazineCargoGlobal [_x,(_objWpnQty select _counter)];\n_counter = _counter + 1;\n};\n} co" !"soldItem\"];\n{\n_object addMagazine" !"systemChat localize \"STR_EPOCH_TRADE_" !"if (_silver_1oz > 0) then {\nif (_silver_1oz == 1) then {\nplayer addMagazine" !="Random;\n} else {\n_item = \"ItemBloodbag\";\n};\n};\n_container addMagazineCargoGlobal [_item, 1];\n};\n\nif (_type == 2) exitWith {\n_c" !="electRandom;\n} else {\n_item = \"ItemBloodbag\";\n};\n};\n_unit addMagazine _item;\n};\n\nif (_type == 2) exitWith {\n_unit addWeapon _i" !="];\n\ncall {\nif (_humanityBody >= DZE_Hero) exitwith {_body addMagazine \"ItemDogTagHero\";};\nif (_humanityBody <= DZE_Bandit) exitw" !="_vehicle = \"WeaponHolder\" createVehicle [0,0,0];\n_vehicle addMagazineCargoGlobal [_item, 1];\n\nif (_isWater) then { \n_fixWaterSp" !"eep 3;\n_finished = true;\n};\n\nif (!_finished) then {\n_unit addMagazine _bagUsed;\n_msg = \"str_actions_medical_transfusion_interrup" !="art\") then {\n_body addWeapon _rawfoodtype;\n} else {\n_body addMagazine _rawfoodtype;\n};\n};\n\nif (_bodyType in [\"Cock\",\"Hen\"]) then" -1 addWeapon !raddWeapon !"\"addWeapon\", " !"if (isClass (configfile >> \"cfgweapons\" >> (_item))) then {_unit addWeapon _item;}\nelse" !",0]] call dayz_NutritionSystem;\n" !"Remove) == 1}) then {\nplayer addWeapon _create;" !"Display 0;\n\n\nif (_weaponInUse) then\n{\n_muz" !"failChance) then {\nswitch (_selection) do {\ncase \"CfgWeapons\":\n{\nplayer addWeapon" !"addWeapon _fixedItem;\nformat[localize \"str_f" !"_wepcounts = (getWeaponCargo _plant) select 1;\n{\n_item addWeapon" !"addWeapon _repair;\n} else {\n\n[_repair" !"player addWeapon dayz_onBack] select 0;\n};\n\n" !"player addWeapon _addWeapon;\n\nif (vehicle player != player) then {\n_display = find" !"};\n};\n\n\nswitch _type do {\ncase 1: {_holder addMagazineCargoGlobal [_item,_amount];};\ncase 2: {_holder addWeapon" !"l fn_chance) then {\nplayer removeWeapon _x;\nplayer addWeapon _rem" !"else {\n_body addWeapon dayz_onBack;\n};\n};\n\n\n_infect" !"\" >> _x)) then {\nplayer addWeapon _x;\n};\n} count _wpns;\n};" !"lder addWeaponCargoGlobal [_x,(_objWpnQty select _counter)];\n_counter = _counter + 1;\n} co" !"WpnQtys = [];\nif (count _backpackWpn > 0) then {\n_backpackWpnTypes = _backpackWpn sel" !"addWeapon (\"Item\"+str(_remain)+\"Matchbox" !"{\nswitch (_x select 0) do\n{\ncase 2:\n{\n(_this select 0) addWeapon" !"addWeaponCargoGlobal [_bcpkWpn, 1];\n};\n};\n};\n};" !"s;\n};\n\n\nplayer addWeapon \"Loot" !"With\n{\nplayer addWeapon (_this select 1" !"\") then {\n_newUnit addWeapon _secweapon;\n};\n\n" !"soldItem\"];\n{\n_object addWeapon" !"then {\nsystemChat format[localize \"STR_EPOCH_" !"DuplicateTool;\n} else {\nplayer addWeapon" !="al [_item, 1];\n};\n\nif (_type == 2) exitWith {\n_container addWeaponCargoGlobal [_item, 1];\n\n_magazines = getArray (configFile >" !=" addMagazine _item;\n};\n\nif (_type == 2) exitWith {\n_unit addWeapon _item;\n};\n\nif (_type == 5) exitWith {\nif (isNull unitBackp" !="ile >> \"CfgWeapons\" >> _x >> \"type\") == 256) then {\nplayer addWeapon _x;\n} else {\n_x call player_addDuplicateTool;\n};\n};\n} count" !="\n_vehicle = \"WeaponHolder\" createVehicle [0,0,0];\n_vehicle addWeaponCargoGlobal [_item, 1];\n\nif (_isWater) then { \n_fixWaterSpa" !="do {_vehicle addMagazineTurret [_ammo,_turret];};\n_vehicle addWeaponTurret [\"CMFlareLauncher\",_turret];\n} else {\n{_vehicle remov" !="ect 2];\n_cross setVariable [\"bury\",true,true];\n};\n\n{_crate addWeaponCargoGlobal [_x,1]} forEach weapons _corpse;\n{_crate addMaga" !="y do {\nif (_rawfoodtype == \"ItemMutantHeart\") then {\n_body addWeapon _rawfoodtype;\n} else {\n_body addMagazine _rawfoodtype;\n};\n}" !="eaponqty = (_newarray select 1) select _i;\ndayz_myBackpack addWeaponCargoGlobal [_weapon,_weaponqty];\n};\n};\n};\n} else {\nsystemCh" !="CK\",_keyName] call dayz_rollingMessages;};\n} else {\nplayer addWeapon _keyID;\nformat[localize \"STR_CL_VG_ADDED_INVENTORY\",_keyNam" -1 allDead !"} count allDead;\n\n\nif (dayz_oldBodyCount > _bodyCount) then {" -1 allGroups !"publicVariableServer \"PVDZ_Server_UpdateGroup\";\n};\n} count allGroups;" -1 allMissionObjects !"[_x,2,0,false,false] spawn BIS_Effects_Burn;\n};\n} count allMissionObjects \"SpawnableWreck\";" -1 allowDammage -1 allUnits !"} count allUnits;\nlbSort _playerList;" !"if (getPlayerUID _x == _this) exitWith {\n_player = _x;\n};\n} count allUnits;" !"owner _x publicVariableClient \"PVDZ_groupInvite\";\n};\n} count allUnits;" !=" select 1 != 0}) exitWith {\n_targeted = true;\n};\n};\n} count allUnits;\nif (_targeted) exitWith {localize \"str_player_fail_wear4\" " -1 attachTo !"(_variation * 2)) - _variation)];\n_bolt attachTo [_hitObject,_val,_hitMemoryPt];" !"player playActionNow \"PutDown\";\nuiSleep 2;\n_flare attachTo [player,[0,0,0],\"granat2\"];" !"tchmove \"ainjpfalmstpsnonwrfldnon_carried_still\";\n_dragee attachto [_unit,[-0.2, 0.2, 0]];" !"_source setDropInterval 0.02;\n_point attachTo [_unit,_modelPos,_wound];" !" attachto [_v,[0,0,0],\"destructionEffect" !"publicVariable \"PVDZ_drg_RaDrag\";\n\n_dragee attachto [_unit,[0.1, 1.01, 0]];" !="_l1 attachTo [_lh,[0,0,0],\"light\"];" !"_objectHelper attachTo [player,_offset];" !"_object attachTo [player,_offset];\n\n_position = getPosATL _object;" !="_vehicle attachTo [_liftHeli,[0,0,-7]];" !="_obj attachTo [_axis];" !"_objectSnapGizmo attachTo [_object,[_x select 0,_x select 1,_x select 2]];" !="_vehicle attachTo [_towTruck,[1.3,-2,2.3]];" !"localize \"STR_EPOCH_ACTIONS_ATTACHTOHELI\"," !=" (getDir _object);\n_objectHelper setPosATL _newPos;\n_object attachTo [_objectHelper];\n_x setobjecttexture [0,\"#(argb,8,8,3)color" !"rInput false; disableUserInput false;\nuiSleep .5;\n\n\n_dragee attachto [_medic,[0.1, 1.01, 0]];\n\n\nPVDZ_send = [_dragee,\"DragPlayer" !="cts, 3];\nif (count _dropObjects > 0) exitWith {};\n\n\n_dragee attachto [_medic,[0.1, 1.01, 0]];\n\n\nPVDZ_send = [_dragee,\"CarryPlaye" -1 bankMoney !=" [\"globalMoney\", _globalCoins, true];\nplayer setVariable [\"bankMoney\", _bankCoins, true];\n};\ndayz_musicH = [] spawn player_music" !="]];\nctrlSetText [23002,format[\"%1 %2\",player getVariable [\"bankMoney\",0] call BIS_fnc_numberText,CurrencyName]];\n};\n\nATMDialogWi" !="ariable [\"cashMoney\",0];\n_bankCoins = player getVariable [\"bankMoney\",0];\n_globalCoins = player getVariable [\"globalMoney\",0];\n}" !=" \nZSC_limitOnBank = true; \nZSC_bankObjects = [\"\"]; \nZSC_maxBankMoney = 500000; \nZSC_defaultStorageMultiplier = 200; \nZSC_MaxMone" !="Z_showBankUI) then {\nlocal _bankAmt = player getVariable [\"bankMoney\",0];\n_string = _string + format [\"%1 > \"" !="wCurrencyUI) then {\nlocal _cashAmt = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_string = for" !=" = [false, [], [], [], 0];\n_wealth = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\nif (Z_Single" !="= [false, [], [], [], 0];\n_wealth = player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\nif (Z_Single" !="(Z_SingleCurrency) then {\n_wealth = player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_enoughMoney " -1 clearMagazineCargo !="ddWeaponCargo\", \n\"addMagazine\", \n\"addMagazineCargo\", \n\"clearMagazineCargo\",\n\"clearWeaponCargo\",\n\"endMission\",\n\"failMission\",\n\"ti" !="rclearMagazineCargo = 'clearMagazineCargo'" !="rclearMagazineCargocode = compile preprocessFileLineNumbers (BIS_PathMPscriptCommands + 'clearMagazineCargo.sqf')" !=", \"addWeaponCargo\", \"addWPCur\", \"animate\", \"callVar\", \"clearMagazineCargo\", \"clearWeaponCargo\", \"createDiaryRecord\", \"createMark" !="rclearMagazineCargocode={diag_log(\"WARNING illegal RE rclearMagazineCargocode with args:\"+str(_this));};" !="eeSpace select 5;\n_normalWeaps = _freeSpace select 6;\n\nclearMagazineCargoGlobal _object;\nclearWeaponCargoGlobal _object;\n\n_retur" !=" {\n_bpMags = (getMagazineCargo (unitbackpack player));\nclearMagazineCargoGlobal (unitbackpack player);\n\n{\n_count = ((_bpMags sel" !="o {\n\n_ok = false;\n_mags = getMagazineCargo _firePlace;\nclearMagazineCargoGlobal _firePlace;\n\n_fuel = [\"PartWoodPile\",\"ItemLog\",\"" -1 clearWeaponCargo !="Magazine\", \n\"addMagazineCargo\", \n\"clearMagazineCargo\",\n\"clearWeaponCargo\",\n\"endMission\",\n\"failMission\",\n\"titleCut\", \n\"titleText\"" !="rclearWeaponCargo = 'clearWeaponCargo'" !="rclearWeaponCargocode = compile preprocessFileLineNumbers (BIS_PathMPscriptCommands + 'clearWeaponCargo.sqf')" !="addWPCur\", \"animate\", \"callVar\", \"clearMagazineCargo\", \"clearWeaponCargo\", \"createDiaryRecord\", \"createMarkerLocal\", \"createSimp" !="rclearWeaponCargocode={diag_log(\"WARNING illegal RE rclearWeaponCargocode with args:\"+str(_this));};" !="_freeSpace select 6;\n\nclearMagazineCargoGlobal _object;\nclearWeaponCargoGlobal _object;\n\n_returnVar = [];\n_returnMag = [];\n_retu" !="_newarray = [];\n_newarray = [_weparray] + [_qtyarray];\n\nclearWeaponCargoGlobal dayz_myBackpack;\n\n_cntarray = count _weparray;\n\nf" -1 clearBackpackCargo -1 closeDisplay !"'closeDisplay'" !"closeDisplay 0" !"closeDisplay 2" !"if (!isNil \"closeDisplay\") then {" +5 addAction !", \"\\z\\addons\\dayz_code\\" !=" = -1;\n};\nif (_s1 > 0) then {\ns_player_toggleSnap = player addaction [format[\"\" + \"Snap: %1\" +\"\",snapAc" !="-1;\n};\n\nif (_s1 > 0) then {\ns_player_toggleVector = player addaction [format[\"\" + localize \"STR_EPOCH_ACTIO" !"\"addAction\", " !"raddAction" +5 addBackpack !"addBackpackCargoGlobal [_x,(_objWpnQty select _counter)];\n_counter = _counter + 1;\n} count _objWpnTypes;" !"addBackpack _item;\n};\n};\nformat[localize \"str_c" !"case 3: {_holder addBackpackCargoGlobal [_item,_amount];};\n};\n\n\n" !"}) then {\n_newUnit addBackpack _newBackpackType;\n\nd" !"addBackpack _backpackType; \ndayz_myBackpack = unitBackpack player;\n\n\n\n_backpackWpnT" !"};\n} count _wpns;\n\nif (_bcpk != \"\") then {\nplayer addBackpack" !"1 == \"trade_backpacks\") then {\nDZE_myVehicle addBackpack" !"7 addBackpackCargoGlobal [_create,_qty];\n};\nif (surfaceIsWater" !"case 5: {_item addBackpackCargoGlobal [_itemOut,_countOut]}; \n};\n} else" !="m (2 + 1)];\n};\n};\n\nif (_type == 5) exitWith {\n_container addBackpackCargoGlobal [_item, 1];\n};\n};\n} count ([_group, _count] cal" !="5) exitWith {\nif (isNull unitBackpack _unit) then {\n_unit addBackpack _item;\n};\n};\n};\n} foreach ([_group, _count] call dz_fn_loo" !="al [_itemOut,_countOut]};\nif (_type == 5) exitwith {_item addBackpackCargoGlobal [_itemOut,_countOut]}; \n};\n} else {\n_item addMa" +5 addMagazine !raddMagazine !"\"addMagazine\", " !"if (isClass (configfile >> \"cfgmagazines\" >> (_item))) then {_unit addMagazine _item;};\n};\n};\n};\n};" !"_vehicle addMagazineTurret [_ammo,_turret];\nplayer removeMagazine" !"if (dayz_actionInProgress) exitWith {" !"addMagazine _x;\n};\n} foreach _items;\nformat[loc" !"addMagazine \"ItemAntibiotic\" + str(_remain" !"sumeDrop\") == 0) then\n{\nplayer addMagazine" !"ion) do {\ncase \"CfgWeapons\":\n{\nplayer addWeapon _item;\n};\ncase \"CfgMagazines\":\n{\nplayer addMagazine" !"addMagazine [\"12Rnd_Quiver_Wood\",_qty_quiv" !" >> \"containerEmpty\")" !"plant) select 1;\n{\n_item addMagazine" !"addMagazineCargoGlobal [_itemtodrop,1];\n\nformat[localize \"str_f" !"addMagazine _attachment;\n\n\n(findDisplay 10" !"addMagazine getText (configFile >> \"CfgMagazines\" >> _x >> _water" !"};\n};\n\n\nswitch _type do {\ncase 1: {_holder addMagazine" !"do {\n_animalbody addMagazine _rawfoodtype" !"addMagazine _item;\n};\n};\n_idc = _idc" !"_newUnit addMagazine [_x select 0,_x select 1]" !"addMagazine _x } count MeleeMagazines;\n} e" !"_meleeNum < 1) then {\nplayer addMagazine" !"addMagazine _qtyRemaining;\n};\n};\ntrue" !"bag\";\n};\n};\n(_this select 0) addMagazine" !"addMagazine \"wholeBloodBagBNEG\";\n};\n};" !"_qty > 0) then {\n_firePlace addMagazine" !"ONEG\" }; \n};\ndayz_myBackpack addMagazine" !"addMagazine _x;\n_countmags = _countmags +1;\n};\n} count _gmag" !"E\"];\n_lootpile addMagazineCargoGlobal [\"TrapBear\", 1]" !"With\n{\nplayer addMagazine (_this select 1" !"lder addMagazineCargoGlobal [_x,(_objWpnQty select _counter)];\n_counter = _counter + 1;\n};\n} co" !"soldItem\"];\n{\n_object addMagazine" !"systemChat localize \"STR_EPOCH_TRADE_" !"if (_silver_1oz > 0) then {\nif (_silver_1oz == 1) then {\nplayer addMagazine" !="Random;\n} else {\n_item = \"ItemBloodbag\";\n};\n};\n_container addMagazineCargoGlobal [_item, 1];\n};\n\nif (_type == 2) exitWith {\n_c" !="electRandom;\n} else {\n_item = \"ItemBloodbag\";\n};\n};\n_unit addMagazine _item;\n};\n\nif (_type == 2) exitWith {\n_unit addWeapon _i" !="];\n\ncall {\nif (_humanityBody >= DZE_Hero) exitwith {_body addMagazine \"ItemDogTagHero\";};\nif (_humanityBody <= DZE_Bandit) exitw" !="_vehicle = \"WeaponHolder\" createVehicle [0,0,0];\n_vehicle addMagazineCargoGlobal [_item, 1];\n\nif (_isWater) then { \n_fixWaterSp" !"eep 3;\n_finished = true;\n};\n\nif (!_finished) then {\n_unit addMagazine _bagUsed;\n_msg = \"str_actions_medical_transfusion_interrup" +5 addWeapon !raddWeapon !"\"addWeapon\", " !"if (isClass (configfile >> \"cfgweapons\" >> (_item))) then {_unit addWeapon _item;}\nelse" !",0]] call dayz_NutritionSystem;\n" !"Remove) == 1}) then {\nplayer addWeapon _create;" !"Display 0;\n\n\nif (_weaponInUse) then\n{\n_muz" !"failChance) then {\nswitch (_selection) do {\ncase \"CfgWeapons\":\n{\nplayer addWeapon" !"addWeapon _fixedItem;\nformat[localize \"str_f" !"_wepcounts = (getWeaponCargo _plant) select 1;\n{\n_item addWeapon" !"addWeapon _repair;\n} else {\n\n[_repair" !"player addWeapon dayz_onBack] select 0;\n};\n\n" !"player addWeapon _addWeapon;\n\nif (vehicle player != player) then {\n_display = find" !"};\n};\n\n\nswitch _type do {\ncase 1: {_holder addMagazineCargoGlobal [_item,_amount];};\ncase 2: {_holder addWeapon" !"l fn_chance) then {\nplayer removeWeapon _x;\nplayer addWeapon _rem" !"else {\n_body addWeapon dayz_onBack;\n};\n};\n\n\n_infect" !"\" >> _x)) then {\nplayer addWeapon _x;\n};\n} count _wpns;\n};" !"lder addWeaponCargoGlobal [_x,(_objWpnQty select _counter)];\n_counter = _counter + 1;\n} co" !"WpnQtys = [];\nif (count _backpackWpn > 0) then {\n_backpackWpnTypes = _backpackWpn sel" !"addWeapon (\"Item\"+str(_remain)+\"Matchbox" !"{\nswitch (_x select 0) do\n{\ncase 2:\n{\n(_this select 0) addWeapon" !"addWeaponCargoGlobal [_bcpkWpn, 1];\n};\n};\n};\n};" !"s;\n};\n\n\nplayer addWeapon \"Loot" !"With\n{\nplayer addWeapon (_this select 1" !"\") then {\n_newUnit addWeapon _secweapon;\n};\n\n" !"soldItem\"];\n{\n_object addWeapon" !"then {\nsystemChat format[localize \"STR_EPOCH_" !"DuplicateTool;\n} else {\nplayer addWeapon" !="al [_item, 1];\n};\n\nif (_type == 2) exitWith {\n_container addWeaponCargoGlobal [_item, 1];\n\n_magazines = getArray (configFile >" !=" addMagazine _item;\n};\n\nif (_type == 2) exitWith {\n_unit addWeapon _item;\n};\n\nif (_type == 5) exitWith {\nif (isNull unitBackp" !="ile >> \"CfgWeapons\" >> _x >> \"type\") == 256) then {\nplayer addWeapon _x;\n} else {\n_x call player_addDuplicateTool;\n};\n};\n} count" !="\n_vehicle = \"WeaponHolder\" createVehicle [0,0,0];\n_vehicle addWeaponCargoGlobal [_item, 1];\n\nif (_isWater) then { \n_fixWaterSpa" +5 allDead !"} count allDead;\n\n\nif (dayz_oldBodyCount > _bodyCount) then {" +5 allGroups !"publicVariableServer \"PVDZ_Server_UpdateGroup\";\n};\n} count allGroups;" +5 allMissionObjects !"[_x,2,0,false,false] spawn BIS_Effects_Burn;\n};\n} count allMissionObjects \"SpawnableWreck\";" +5 allowDammage +5 allUnits !"} count allUnits;\nlbSort _playerList;" !"if (getPlayerUID _x == _this) exitWith {\n_player = _x;\n};\n} count allUnits;" !"owner _x publicVariableClient \"PVDZ_groupInvite\";\n};\n} count allUnits;" !=" select 1 != 0}) exitWith {\n_targeted = true;\n};\n};\n} count allUnits;\nif (_targeted) exitWith {localize \"str_player_fail_wear4\" " +5 attachTo !"(_variation * 2)) - _variation)];\n_bolt attachTo [_hitObject,_val,_hitMemoryPt];" !"player playActionNow \"PutDown\";\nuiSleep 2;\n_flare attachTo [player,[0,0,0],\"granat2\"];" !"tchmove \"ainjpfalmstpsnonwrfldnon_carried_still\";\n_dragee attachto [_unit,[-0.2, 0.2, 0]];" !"_source setDropInterval 0.02;\n_point attachTo [_unit,_modelPos,_wound];" !" attachto [_v,[0,0,0],\"destructionEffect" !"publicVariable \"PVDZ_drg_RaDrag\";\n\n_dragee attachto [_unit,[0.1, 1.01, 0]];" !="_l1 attachTo [_lh,[0,0,0],\"light\"];" !"_objectHelper attachTo [player,_offset];" !"_object attachTo [player,_offset];\n\n_position = getPosATL _object;" !="_vehicle attachTo [_liftHeli,[0,0,-7]];" !="_obj attachTo [_axis];" !"_objectSnapGizmo attachTo [_object,[_x select 0,_x select 1,_x select 2]];" !="_vehicle attachTo [_towTruck,[1.3,-2,2.3]];" !"localize \"STR_EPOCH_ACTIONS_ATTACHTOHELI\"," !=" (getDir _object);\n_objectHelper setPosATL _newPos;\n_object attachTo [_objectHelper];\n_x setobjecttexture [0,\"#(argb,8,8,3)color" !"rInput false; disableUserInput false;\nuiSleep .5;\n\n\n_dragee attachto [_medic,[0.1, 1.01, 0]];\n\n\nPVDZ_send = [_dragee,\"DragPlayer" !="cts, 3];\nif (count _dropObjects > 0) exitWith {};\n\n\n_dragee attachto [_medic,[0.1, 1.01, 0]];\n\n\nPVDZ_send = [_dragee,\"CarryPlaye" +5 bankMoney !=" [\"globalMoney\", _globalCoins, true];\nplayer setVariable [\"bankMoney\", _bankCoins, true];\n};\ndayz_musicH = [] spawn player_music" !="]];\nctrlSetText [23002,format[\"%1 %2\",player getVariable [\"bankMoney\",0] call BIS_fnc_numberText,CurrencyName]];\n};\n\nATMDialogWi" !="ariable [\"cashMoney\",0];\n_bankCoins = player getVariable [\"bankMoney\",0];\n_globalCoins = player getVariable [\"globalMoney\",0];\n}" !=" \nZSC_limitOnBank = true; \nZSC_bankObjects = [\"\"]; \nZSC_maxBankMoney = 500000; \nZSC_defaultStorageMultiplier = 200; \nZSC_MaxMone" !="Z_showBankUI) then {\nlocal _bankAmt = player getVariable [\"bankMoney\",0];\n_string = _string + format [\"%1 > \"" !="wCurrencyUI) then {\nlocal _cashAmt = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_string = for" !=" = [false, [], [], [], 0];\n_wealth = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\nif (Z_Single" +5 clearMagazineCargo !="ddWeaponCargo\", \n\"addMagazine\", \n\"addMagazineCargo\", \n\"clearMagazineCargo\",\n\"clearWeaponCargo\",\n\"endMission\",\n\"failMission\",\n\"ti" !="rclearMagazineCargo = 'clearMagazineCargo'" !="rclearMagazineCargocode = compile preprocessFileLineNumbers (BIS_PathMPscriptCommands + 'clearMagazineCargo.sqf')" !=", \"addWeaponCargo\", \"addWPCur\", \"animate\", \"callVar\", \"clearMagazineCargo\", \"clearWeaponCargo\", \"createDiaryRecord\", \"createMark" !="rclearMagazineCargocode={diag_log(\"WARNING illegal RE rclearMagazineCargocode with args:\"+str(_this));};" !="eeSpace select 5;\n_normalWeaps = _freeSpace select 6;\n\nclearMagazineCargoGlobal _object;\nclearWeaponCargoGlobal _object;\n\n_retur" !=" {\n_bpMags = (getMagazineCargo (unitbackpack player));\nclearMagazineCargoGlobal (unitbackpack player);\n\n{\n_count = ((_bpMags sel" !="o {\n\n_ok = false;\n_mags = getMagazineCargo _firePlace;\nclearMagazineCargoGlobal _firePlace;\n\n_fuel = [\"PartWoodPile\",\"ItemLog\",\"" +5 clearWeaponCargo !="Magazine\", \n\"addMagazineCargo\", \n\"clearMagazineCargo\",\n\"clearWeaponCargo\",\n\"endMission\",\n\"failMission\",\n\"titleCut\", \n\"titleText\"" !="rclearWeaponCargo = 'clearWeaponCargo'" !="rclearWeaponCargocode = compile preprocessFileLineNumbers (BIS_PathMPscriptCommands + 'clearWeaponCargo.sqf')" !="addWPCur\", \"animate\", \"callVar\", \"clearMagazineCargo\", \"clearWeaponCargo\", \"createDiaryRecord\", \"createMarkerLocal\", \"createSimp" !="rclearWeaponCargocode={diag_log(\"WARNING illegal RE rclearWeaponCargocode with args:\"+str(_this));};" !="_freeSpace select 6;\n\nclearMagazineCargoGlobal _object;\nclearWeaponCargoGlobal _object;\n\n_returnVar = [];\n_returnMag = [];\n_retu" +5 clearBackpackCargo +5 closeDisplay !"'closeDisplay'" !"closeDisplay 0" !"closeDisplay 2" !"if (!isNil \"closeDisplay\") then {" 1 compile !"ca\\communityconfiguration" !"ca\\Data\\" !"ca\\missions" !"ca\\modules" !"ca\\ui\\" !"ca\\Warfare2\\" !"scriptName \"Functions\\systems\\fn_inv" !"scriptName \"MP\\data\\script" !"code = compile preprocessFileLineNumbers (BIS_PathMPscriptCommands" !"t = missionConfigFile >> \"onMinimapScript" !="_this call (call compile GetText (configFile >> \"CfgAmmo\" >> _amm >> \"muzzleEffect\"));" !"z\\addons\\dayz_code\\" !"_menu ctrlSetEventHandler [\"ButtonClick\",_compile];\n};\n_pos set [3" !"{ _x set [1, compile (_x select 1)]; }" !"silver_1oz_b);\n\n{ \nif (!isNil {call compile" !"Var = compile format[\"epoch_death_board_record_" !="RandomSentenceFunc\") then \n{\nBIS_selectRandomSentenceFunc = compile (preprocessFileLineNumbers \"ca\\characters_e\\data\\scripts\\sel" -1 createAgent !="_agent = if (_type == \"Pastor\") then {createAgent [_type, _Pos, [], 0, \"NONE\"]} else {createAgent [_type, _Pos, [], 0, \"FORM\"]};" !="_dog = createAgent [_type, _Pos, [], 0, \"NONE\"];" !="\n\n\n_type = _unitTypes call BIS_fnc_selectRandom;\n_agent = createAgent [_type, _position, [], 0, \"CAN_COLLIDE\"];\n_agent setDir (r" -1 createDialog !="_region = createDialog \"RscDisplaySpawnSelecter\";" !="_gender = createDialog 'RscDisplayGenderSelect';" !="_dialog = createDialog \"bloodTest\";" !"createDialog 'horde_journal_" !"Z_ResetContainer = true;\ncreateDialog \"AdvancedTrading\";" !"createDialog \"DoorManagement\";\ncall DoorNearbyHumans;" !="createDialog \"ComboLockUI\";" !"createdialog \"PlotManagement\";\ncall PlotNearbyHumans;" !"_ok = createDialog \"KeypadUI\";" !"EpochDeathBoardLoad = {\ncreatedialog \"EpochDeathBoardDialog\";" !="if(DZE_doorManagement) then {createdialog \"DoorAccess\";} else {createdialog \"ComboLockUI\";};" !"\ndisableSerialization;\ncreateDialog \"DZ_GroupDialog\";" !"createDialog _dialog;\n\nwaitUntil {!dialog};\n\nif (keypadCancel) exitWith {" !=";\n};\n\nZSC_CurrentStorage setVariable[\"isBusy\",true,true];\ncreateDialog \"BankDialog\";\ncall BankDialogUpdateAmounts;\n\nwaitUntil {!" !="ANKING_NOT_AVAIL\",_typeOf] call dayz_rollingMessages;\n};\n\ncreateDialog \"atmDialog\";\ncall AtmDialogUpdateAmounts;\n\nwaitUntil {!di" !="!_isBusy) then {\nplayer setVariable[\"isBusy\",true,true]; \ncreateDialog \"GivePlayerDialog\";\n_display = uiNamespace getVariable[\"z" !="ked\",\"VaultStorage2\",\"TallSafe\",\"TallSafeLocked\"]) then {\ncreateDialog \"SafeKeyPad\";\n} else {\ncreateDialog \"KeypadUI\";\n};\n};\n\nda" !";\n\nif (count rv_vehicleList > 1) then {\nrv_isOk = false;\n\ncreateDialog \"remoteVehicle\";\n\n_display = uiNamespace getVariable[\"rv_" !="urrencyName]} else {[_amount,true] call z_calcCurrency};\n\ncreateDialog \"vkc\";\n{ctrlShow [_x,false]} count [4803,4850,4851];\n\ncal" !="\"_vgDisplCtl\"];\ndisableSerialization;\n\nvg_hasRun = false;\ncreateDialog \"virtualGarage\";\n\n{ctrlShow [_x,false]} count [2803,2830," -1 createDisplay -1 createMarker !"\"createMarkerLocal\"," !"rcreateMarkerLocal" !"if (isnil 'BIS_GITA_fnc_createMarkers' || false) then {" !"_marker = createMarkerLocal [format[\"groupMember" !">> \"CfgVehicles\" >> _vehicle >> \"displayName\");\n_marker = createMarkerLocal [\"vehicleMarker\" + (str _i),[_position select 0,_pos" -1 createUnit !="_newUnit = _group createUnit [_class,respawn_west_original,[],0,\"NONE\"];" !="BIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];" -1 createVehicleLocal !="_object = (_x select 1) createVehicleLocal [0,0,0];" !="_plant = _x createVehicleLocal (getMarkerPos \"center\");" !="_point = \"Logic\" createVehicleLocal getPosATL _unit;" !"_object = _type createVehicleLocal [0,0,0];" !" = \"#lightpoint\" createVehicleLocal " !" = \"#particlesource\" createVehicleLocal " !="_para = \"ParachuteWest\" createVehicleLocal [0,0,0];" !="_sign = \"Sign_arrow_down_large_EP1\" createVehicleLocal [0,0,0];" !"_obj = \"Sign_sphere10cm_EP1\" createVehicleLocal [0,0,0];" !="_objectSnapGizmo = \"Sign_sphere10cm_EP1\" createVehicleLocal [0,0,0];" -1 ctrlAddEventHandler -1 ctrlSetPosition !="_control ctrlSetPosition [_posX, _posY];" !"3,_h]};\n_control ctrlsetposition _pos;" !="_control ctrlSetPosition [0, (_y + _deltaY)];" !="_disp_ctrl ctrlSetPosition [_posX, _posY];" !="_control ctrlSetPosition _grpPos;" !="_group ctrlSetPosition _pos;" !="((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlSetPosition _sandLevel;" !="_delayControl ctrlSetPosition [0, _pos];" !="_icon ctrlSetPosition [(_screen select 0),(_screen select 1),.99,.65];" -1 cutText !"_layer cuttext [\"\",\"plain\"];\n};\nmissionnamespace" !"\n\n\n3100 cuttext [\"\",\"plain\"];" !"} else {\n16 cutText [\"\",\"PLAIN\"];" !"exitWith {\n1 cutText [localize \"" !"progress_monitor.sqf\";\n0 cutText ['','BLACK',0]" !="8 cutText [\"\",\"PLAIN\"];" -1 deleteMarker !"} count allDead;\n\n\nif (dayz_oldBodyCount > _bodyCount) then {" !"ocateMarkerTime = 60; \n\n_i = 0;\nfor \"_i\" from 0 to 60 do {deleteMarkerLocal (\"vehicleMarker\"+ (str _i));};\n\nif (count _keyIDS < " -1 displayAddEventHandler !"bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler [\"keydown\",\"_this call bis_fnc_halo_keydown;\"];" -1 displaySetEventHandler +5 createAgent !="_agent = if (_type == \"Pastor\") then {createAgent [_type, _Pos, [], 0, \"NONE\"]} else {createAgent [_type, _Pos, [], 0, \"FORM\"]};" !="_dog = createAgent [_type, _Pos, [], 0, \"NONE\"];" !="\n\n\n_type = _unitTypes call BIS_fnc_selectRandom;\n_agent = createAgent [_type, _position, [], 0, \"CAN_COLLIDE\"];\n_agent setDir (r" +5 createDialog !="_region = createDialog \"RscDisplaySpawnSelecter\";" !="_gender = createDialog 'RscDisplayGenderSelect';" !="_dialog = createDialog \"bloodTest\";" !"createDialog 'horde_journal_" !"Z_ResetContainer = true;\ncreateDialog \"AdvancedTrading\";" !"createDialog \"DoorManagement\";\ncall DoorNearbyHumans;" !="createDialog \"ComboLockUI\";" !"createdialog \"PlotManagement\";\ncall PlotNearbyHumans;" !"_ok = createDialog \"KeypadUI\";" !"EpochDeathBoardLoad = {\ncreatedialog \"EpochDeathBoardDialog\";" !="if(DZE_doorManagement) then {createdialog \"DoorAccess\";} else {createdialog \"ComboLockUI\";};" !"\ndisableSerialization;\ncreateDialog \"DZ_GroupDialog\";" !"createDialog _dialog;\n\nwaitUntil {!dialog};\n\nif (keypadCancel) exitWith {" !=";\n};\n\nZSC_CurrentStorage setVariable[\"isBusy\",true,true];\ncreateDialog \"BankDialog\";\ncall BankDialogUpdateAmounts;\n\nwaitUntil {!" !="ANKING_NOT_AVAIL\",_typeOf] call dayz_rollingMessages;\n};\n\ncreateDialog \"atmDialog\";\ncall AtmDialogUpdateAmounts;\n\nwaitUntil {!di" !="!_isBusy) then {\nplayer setVariable[\"isBusy\",true,true]; \ncreateDialog \"GivePlayerDialog\";\n_display = uiNamespace getVariable[\"z" !="ked\",\"VaultStorage2\",\"TallSafe\",\"TallSafeLocked\"]) then {\ncreateDialog \"SafeKeyPad\";\n} else {\ncreateDialog \"KeypadUI\";\n};\n};\n\nda" +5 createDisplay +5 createMarker !"\"createMarkerLocal\"," !"rcreateMarkerLocal" !"if (isnil 'BIS_GITA_fnc_createMarkers' || false) then {" !"_marker = createMarkerLocal [format[\"groupMember" +5 createUnit !="_newUnit = _group createUnit [_class,respawn_west_original,[],0,\"NONE\"];" !="BIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];" +5 createVehicleLocal !="_object = (_x select 1) createVehicleLocal [0,0,0];" !="_plant = _x createVehicleLocal (getMarkerPos \"center\");" !="_point = \"Logic\" createVehicleLocal getPosATL _unit;" !"_object = _type createVehicleLocal [0,0,0];" !" = \"#lightpoint\" createVehicleLocal " !" = \"#particlesource\" createVehicleLocal " !="_para = \"ParachuteWest\" createVehicleLocal [0,0,0];" !="_sign = \"Sign_arrow_down_large_EP1\" createVehicleLocal [0,0,0];" !"_obj = \"Sign_sphere10cm_EP1\" createVehicleLocal [0,0,0];" !="_objectSnapGizmo = \"Sign_sphere10cm_EP1\" createVehicleLocal [0,0,0];" +5 ctrlAddEventHandler +5 ctrlSetPosition !="_control ctrlSetPosition [_posX, _posY];" !"3,_h]};\n_control ctrlsetposition _pos;" !="_control ctrlSetPosition [0, (_y + _deltaY)];" !="_disp_ctrl ctrlSetPosition [_posX, _posY];" !="_control ctrlSetPosition _grpPos;" !="_group ctrlSetPosition _pos;" !="((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlSetPosition _sandLevel;" !="_delayControl ctrlSetPosition [0, _pos];" !="_icon ctrlSetPosition [(_screen select 0),(_screen select 1),.99,.65];" +5 cutText !"_layer cuttext [\"\",\"plain\"];\n};\nmissionnamespace" !"\n\n\n3100 cuttext [\"\",\"plain\"];" !"} else {\n16 cutText [\"\",\"PLAIN\"];" !"exitWith {\n1 cutText [localize \"" !"progress_monitor.sqf\";\n0 cutText ['','BLACK',0]" !="8 cutText [\"\",\"PLAIN\"];" +5 deleteMarker !"} count allDead;\n\n\nif (dayz_oldBodyCount > _bodyCount) then {" +5 displayAddEventHandler !"bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler [\"keydown\",\"_this call bis_fnc_halo_keydown;\"];" +5 displaySetEventHandler 1 DZE_doorManagementAdmins !="\n\n\n\n\n\n\n\n\n\n\n\nDZE_doorManagementMustBeClose = false; \nDZE_doorManagementAdmins = []; \nDZE_doorManagementAllowManualCode = true; \nD" !="true; };\n} count _doorFriends;\n\n\n\n\nif(_playerUID in DZE_DoorManagementAdmins) then { _isDoorAdmin = true; };\n};\n\n\n\n[ _isOwner\n, " !="ove select 0) == _ownerPUID && (!(dayz_playerUID in DZE_doorManagementAdmins) && !(dayz_playerUID == _ownerPUID))) exitWith {sys" 1 DZE_PlotManagementAdmins !=" = true; \n\n\nDZE_plotManagementMustBeClose = false; \nDZE_PlotManagementAdmins = []; \nDZE_MaxPlotFriends = 10; \nDZE_maintainCurren" !="true; };\n} count _plotFriends;\n\n\n\n\nif(_playerUID in DZE_PlotManagementAdmins) then { _isPlotAdmin = true; };\n};\n\n\n\nif(_targetTyp" !="lot = DZE_requireplot;\n_isAdmin = dayz_playerUID in DZE_PlotManagementAdmins;\n\nif (!canbuild) exitWith {dayz_actionInProgress = " -1 enableEnvironment -1 endMission !"rendMission" !"clearWeaponCargo\",\n\"endMission\"," !"enablesimulation\", \"endMission\"," !"lize \"str_player_login_timeout\", \"PLAIN DOWN\"];\nuiSleep 5;\nendMission" !"\npublicVariableServer \"PVDZ_sec_atp\";\nendMission \"LOSER\";\n};\n" !"Terminate\",\"BACK\"];\ncamDestroy _camera;\n\nendMission" !"endMission \"END1\";\n\n\ndayz_authed = true" +5 enableEnvironment +5 endMission !"rendMission" !"clearWeaponCargo\",\n\"endMission\"," !"enablesimulation\", \"endMission\"," !"lize \"str_player_login_timeout\", \"PLAIN DOWN\"];\nuiSleep 5;\nendMission" !"\npublicVariableServer \"PVDZ_sec_atp\";\nendMission \"LOSER\";\n};\n" !"Terminate\",\"BACK\"];\ncamDestroy _camera;\n\nendMission" !"endMission \"END1\";\n\n\ndayz_authed = true" 1 entities !"nearEntities" !="\n if (isnil 'BIS_fnc_sceneCreateSoundEntities' || false) then {\n BIS_fnc_sceneCreateSoundEntities = {\n i" !="_loginCompleted = true;\n\n\ndayz_currentGlobalZombies = count entities \"zZombie_Base\";\n\n{\ncall compile preprocessFileLineNumbers (" !="haracterID)) then {\n_plotPoles = _plotPoles +1;\n};\n} count (entities \"Plastic_Pole_EP1_DZ\");\n};\n} else {\n_plotcheck = [player, f" !="VDZ_sec_atp\";\n};\n};\n\nif (isNull _grp) then { _grp = group ((entities 'FunctionsManager') select 0); };\nif (!isNull _grp) then {\n" 1 execVM !"rexecVM" !"\"execVM\", " !="[] execVM \"initJIPcompatible.sqf\";" !="_script = [] execVM (BIS_MP_Path + BIS_PATH_SQF + \"JIPWaitFor.sqf\");" !"execVM \"\\ca\\Data\\" !"execVM '\\ca\\Data\\" !"execVM \"\\ca\\missions" !"execVM 'ca\\modules\\" !"execVM \"ca\\modules\\" !"'\\ca\\ui\\" !"\"\\ca\\ui\\" !"scriptName \"MP\\data\\script" !"_handle\"];\n_handle = [_display] execVM _script;\n}" !"execVM '\\z\\addons\\dayz_code\\" !"execVM 'z\\addons\\dayz_code\\" !"execVM \"z\\addons\\dayz_code\\" !"execVM \"\\z\\addons\\dayz_code\\" !"execVM (\"\\z\\addons\\dayz_code\\" !="dayz_rulesHandle = execVM \"rules.sqf\";" !"execvm '\\ASC\\" !"\\usec_ch53\\scripts\\" !"execVM (_actionDir + \"warn.sqf" !="_this execVM \"\\GNT_C185\\scr\\C185_Exhaust.sqf\";[_this select 0] execvm \"\\GNT_C185\\scr\\G_CheckEngine.sqf\";" -1 failMission !"rfailMission" !"failMission\",\n\"titleCut\"," !"fadeSound\", \"failMission\"," !"if (_debug == 1) then {\ndiag_log (\"End Mission\");\n};\n\nfailMission" -1 forceEnd -1 globalMoney !="\"cashMoney\", _characterCoins, true];\nplayer setVariable [\"globalMoney\", _globalCoins, true];\nplayer setVariable [\"bankMoney\", _b" !="rency) then {\n_wealth = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\nplayer setVariable[([\"cash" !="13001,format [\"%1 %2\",[player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0]] call BIS_fnc_numberText,Cu" !="Messages};\n\n_myMoney = player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_myMoney = _myMoney + _his" !="xitWith {}; \n\n_wealth = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\n_enoughMoney = false;\n\n_m" !="able [\"bankMoney\",0];\n_globalCoins = player getVariable [\"globalMoney\",0];\n};\n\n\n[_model, _charID, _humanity, _zombieKills, _head" !="then {\nlocal _cashAmt = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_string = format [\"=" -1 groupIcon -1 HelicopterExplo !"(isNull _who) then {\nif (_ammo != \"\" && _ammo isKindOf \"HelicopterExplo" !"_v = thisTrigger getVariable [\"obj\", objNull];\n" !"_v = thisTrigger getVariable [\"\"obj\"\", objNull];\n" !"\n\n\nremoveallweapons _v;\n\nif (local _v) then {_expl=\"HelicopterExplo" -1 hideObject !"rhideObject" !"\"hideObject\"" !"(_x select 0) nearestObject (_x select 1);\n_object hideObject" !"_object2 = _ghost2 createVehicleLocal [0,0,0];\nhideObject _object;" -1 hint !", \"_postFix\"" !rhint !rtaskHint !"\"hint\", " !"\"hintC\", " !"\"taskHint\"," !"_controlHintButton ctrlSettext \"Objectives\";" !"hint (localize \"strwf" !"'BIS_fnc_hints'" !sched_planthint !"call ui_initDisplay;\nhintSilent \"\"" !"hintSilent localize \"str_player_low" !=" select 1;\n_filter = [\"private\",\"dynamic_text\",\"ai_killfeed\",\"hintWithImage\",\"hintNoImage\"]; \n\nif (typeName _message == \"TEXT\") " !="vars select 7) \n] spawn BIS_fnc_dynamicText;\n};\nif (_type == \"hintWithImage\") exitWith {hint parseText format[\"> \"CfgVehicles\" >>" !="#line 1 \"z\\addons\\dayz_code\\compile\\player_humanityChange.sqf\"\nprivate [\"_change\",\"_humanity\"];\n\n\n\n\n_change = _this;\n\n_humanity " !"layer]];\npublicVariableServer \"PVDZ_send\";\n\n\n20 call player_humanityChange;\n\nformat[localize \"str_actions_medical_gave_wipes\",(n" !=" [\"_msg\",\"_bagUsed\",\"_bloodResult\",\"_bloodAmount\",\"_unit\",\"_humanityAwarded\",\"_timer\",\"_i\",\"_isClose\",\"_duration\",\"_rhVal\",\"_blo" !="#line 1 \"z\\addons\\dayz_code\\compile\\player_humanityMorph.sqf\"\ncloseDialog 0;\nlocal _charID = _this select 1;\nlocal _model = _thi" !="ody_Value} else {DZE_Butcher_Body_Value};\n_gain call player_humanityChange;\n\ndayz_actionInProgress = false;\n" !="l fn_dynamicTool;\n\ncall {\nif (_isZombie) exitWith {\n\nlocal _humanity = player getVariable [\"humanity\",0];\nplayer setVariable [\"h" -1 lbCurSel !"_selectedUserIndex = lbCurSel _lbUsersControl;" !="profileNamespace setVariable ['statusUI',(lbCurSel (_this select 0))];" !="profileNamespace setVariable ['streamerMode',(lbCurSel (_this select 0))];" !"_index = lbCurSel _lbcontrol;\n_selectedItem" !"_selected = lbCurSel _list;\n_classname = _list lnbData [_selected, 2];" !="_friendName = _userList lbText (lbCurSel _userList);" !")] call Z_" !"(lbCurSel 7421) call Z_fillCategoryList" !"] call Door" !"] call Plot" !"[(lbCurSel 12001)] " !="[(lbCurSel 21000), ((ctrlParent (_this select 0)) displayCtrl 21001)] spawn EpochDeathBoardClick;" !"((ctrlParent (_this select 0)) closeDisplay 2);" !="_uid = _playerList lbData (lbCurSel _playerList);" !"_myGroup lbData (lbCurSel _myGroup);" !="vkc_charID = (vkc_keyList select 0) select (lbCurSel 4802);vkc_keyName = (vkc_keyList select 1) select (lbCurSel 4802);" !="2800) displayCtrl 2802);\n\n_vehicle = vg_vehicleList select (lbCurSel _control);\n_typeOf = typeOf _vehicle;\n_isLimitArray = typeN" !="Dialog 0;\n_vehicle = (call compile format[\"%1\",lbData[2802,(lbCurSel 2802)]]);\n\nif (vg_removeKey && {_vehicle select 3 != 0} && " -1 lbSet !"_lbUsersControl lbSetColor [_x, [1,0,0,1]];" !"\n_control lbSetColor [_x, _color];\n};" !"_weaponsLBSetFocus" !="(_this select 0) displayCtrl _idc lbSetCurSel (profileNamespace getVariable [_var,_default]);" !="(_display displayCtrl 105) lbSetColor [_i, [0.06, 0.05, 0.03, 1]];" !" [7421," !"lbSetPicture [7422, _index" !"lbSetPicture [7402, _index" !"lbSetPicture [7401, _index" !="_userList lbSetData [(lbSize _userList) -1,_friendUID];" !" [TraderDialogItemList, _index, " !"_myGroup lbSetData [_index,getPlayerUID _x];" !"ive DZE_myVehicle} && {DZE_myVehicle == _x}) then {\n_control lbSetColor [(lbSize _control)-1,[0, 1, 0, 1]];\n};\n} count rv_vehicl" !="bAdd ((vkc_keyList select 1) select _forEachIndex);\n_control lbSetPicture [_index,getText(configFile >> \"CfgWeapons\" >> ((vkc_ke" !=" 1) >> \"displayName\");\n_control lbAdd _displayName;\n_control lbSetData [(lbSize _control)-1,str(_x)];\nvg_vehicleList set [count " -1 loadFile -1 menu !",\"MenuSelected\",\"Draw\",\"VideoStop" !"_menu = _parent displayCtrl (1600 + _i);\n_menu ctrlShow " !"BIS_fnc_commsMenu" !"BIS_fnc_kbMenu" !"call gear_ui_offMenu;" !"dayz_inflame_showMenu" !"\"showCommandingMenu\", " !"rshowCommandingMenu" !"menu_" !"use action menu to " !"\"_menu\",\"_menu1\"" !"fn_gearMenuChecks" !"fn_pauseMenuChecks" -1 nearEntities !="exit = true;\n} else {\n_nearestObjects = (position player) nearEntities [[\"Air\", \"Car\", \"Motorcycle\", \"Tank\", \"Ship\"], 26];\nif (c" !="jects \"SpawnableWreck\";\n{deleteVehicle _x} count (_setPos nearEntities [\"zZombie_Base\",30]);\nplayer setDir _setDir;\n\nif (dayz_pa" !="((!surfaceIsWater _Pos) AND {(0 == {alive _x} count (_Pos nearEntities [ AllPlayers, 200 ]))}) then {\n_agent = if (_type == \"Pas" !="z, _elevation] ];\n};\n};\n};\n};\n} count ((getPosATL player) nearEntities [\"zZombie_Base\", 30]);\n};\n\n\n_buriedZeds\n};\n" !="call dz_fn_array_any);\n};\n\n_vehClose = (getPosATL player) nearEntities [[\"Car\",\"Tank\",\"Helicopter\",\"Plane\",\"StaticWeapon\",\"Ship\"" !="z_spawnZombies = {alive _x AND local _x} count (_position nearEntities [\"zZombie_Base\",_radius]);\ndayz_CurrentNearByZombies = {a" !="{\nr_player_infected = true;\n\n};\n};\n};\n} count (_mylastPos nearEntities [\"CAManBase\",12]);\nif (dayz_temperatur < ((50 / 100) * (d" !=" < dayz_maxGlobalZeds}) then {\n_zombiesNum = count (_bPos nearEntities [\"zZombie_Base\",(((sizeOf _type) * 2) + 10)]);\nif (_zombi" !="te;\n};\n};\n\n\n_nearByPlayer = ({isPlayer _x} count (_objPos nearEntities [\"CAManBase\",30])) > 0;\nif (!_nearByPlayer) then {\n_posit" !="_entityTime = diag_tickTime;\n\n_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer" !="_timeN = diag_tickTime;\n\n_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer _x} " !="_waitStart = diag_tickTime;\n\n_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer " !="lt = false;\n_pos = [player] call FNC_GetPos;\n_list = _pos nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],Z_VehicleDistance];\n\nif (!i" !="[\"localtargets\",_localtargets,false];\n};\n};\n} count (_pos nearEntities [\"zZombie_Base\",50]);\n} else {\nwhile {alive _projectile} " !="this select 2;\n_pos = _this select 3;\n\n_listTalk = _pos nearEntities [\"zZombie_Base\",_distance];\n\n{\n_distance = _distance max " !="_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer _x} count _list) > 0;\n\n_timeN" !=";};\n\n_playerNear = {isPlayer _x} count ((getPosATL _body) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {dayz_a" !="\n\n\n_pos = getPosATL player;\nif ({isPlayer _x} count (_pos nearEntities [\"CAManBase\",40]) > 1) then {\n[_unit,\"hit\",0,false] call " !="[];\n\n_PlayerNear = {isPlayer _x} count ((getPosATL _item) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear) exitWith {locali" !="layerNear = {isPlayer _x} count (([_obj] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear && (_isMine or _o" !="hicle _player] call FNC_getPos;\n\n\n_findNearestPole = _pos nearEntities [\"Plastic_Pole_EP1_DZ\", _distance];\n\n_IsNearPlot = count " !="layerNear = {isPlayer _x} count ((getPosATL cursortarget) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {\ndayz_" !="etPos;\n\nif (surfaceIsWater _location && {count (_location nearEntities [\"Ship\",8]) > 0}) then {\ndeleteVehicle _sign;\nlocalize \"S" !="yerNear = {isPlayer _x} count (([player] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_playerNear) exitWith {locali" !="ag_tickTime);\n_playerCheck = ({isPlayer _x} count (player nearEntities [\"AllVehicles\",5]) > 1);\n_zedCheck = ((count (player near" !="(_this select 1) && isServer && (({isPlayer _x} count (_z nearEntities ['CAManBase',150])) == 0)) exitWith { _z call sched_co_de" !=" do {\nuiSleep 5;\n};\nhideBody _body;\n\n\n\n\n\n\n_inRange = _pos nearEntities [\"CAManBase\",100];\n{\nif ((isPlayer _x) && {_x != player})" !=" {\n_PlayerNear = {isPlayer _x} count ((getPosATL _holder) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear) exitWith {locali" !="yerNear = {isPlayer _x} count (([_plant] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_playerNear) exitWith {dayz_a" !="layerNear = {isPlayer _x} count (([_obj] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_playerNear) exitWith {dayz_a" !="\n_ammo = \"RunOver\";\n};\n} count (([_unit] call fnc_getPos) nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],3]);\n};\n};\n};\n\n_end = false" !="{\n_liftHeli = _x;\n_found = true;\n};\n};\n};\n} count (player nearEntities [DZE_HeliAllowTowFrom,15]);\n};\n\nlocal _attached = _cursor" !="z_fn_array_any);\n};\n\nlocal _vehClose = (getPosATL player) nearEntities [[\"Car\",\"Tank\",\"Helicopter\",\"Plane\",\"StaticWeapon\",\"Ship\"" !=" = false;\n\nif (!isNull _this) then {\n_nearPlayers = _this nearEntities [\"CAManBase\", 12];\n_playerNear = ({isPlayer _x} count _ne" !="ePeople = if (DZE_doorManagementMustBeClose) then {player nearEntities [\"CAManBase\", 12]} else {playableUnits};\n\n{\nif (isPlayer " !"\n\n_PlayerNear = {isPlayer _x} count ((getPosATL _vehicle) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear) exitWith {" !="layerNear = {isPlayer _x} count (([_obj] call FNC_GetPos) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {dayz_a" !"arestVehicle),_x];\n};\n} count (([player] call fnc_getPos) nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],30]);\n\nif (count _findNeare" !"arPlayers = {(isPlayer _x && _x != player)} count (player nearEntities [\"CAManBase\",8]);\n\nif (!(_object isKindOf \"ATV_Base_EP1\")" !="ePeople = if (DZE_plotManagementMustBeClose) then {player nearEntities [\"CAManBase\", 12]} else {playableUnits};\n\n{\nif (isPlayer " !="lot\"];\n\nlbClear 7002;\n_plots = ([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15];\n_thePlot = _plots select 0;\n_" !="_area_preview = 1;\n\n_target = (([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n_objects = nearestO" !="_PlotPole select 0;\n_target = (([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n\n_buildables = DZE_" !=" == \"\") exitWith {};\n\n_plots = ([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15];\n\n_thePlot = _plots select 0;\n" !="here100cm_EP1\"; \n\n\n_thePlot = (([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n_center = getPosASL" !"arPlayers = {(isPlayer _x && _x != player)} count (player nearEntities [\"CAManBase\",8]);\n\nif ((_object isKindOf \"C130J_US_EP1\" o" !="RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((po" !"ayerNear = {isPlayer _x} count (([_body] call FNC_GetPos) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {dayz_a" !="\n_x setVariable [\"myDest\",_pos,true];\n};\n};\n} count (_pos nearEntities [\"Zed_Base\",_distance]);\n" !=" then {deleteVehicle _x}; \n} forEach ((getPosATL _refObj) nearEntities [\"Zed_Base\",100]);\n\nif (_attacked) then {\nif (r_player_un" !="erNear = {isPlayer _x} count (([_corpse] call FNC_GetPos) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {dayz_a" !="ss = false;}; \nif ({isPlayer _x} count ((getPosATL _body) nearEntities [\"CAManBase\", 12]) > 1) exitWith {dayz_actionInProgress =" !="{isPlayer _x} count (([vkc_cursorTarget] call FNC_GetPos) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {call _" !="esult = nil;\n\n_localVehicles = ([player] call FNC_getPos) nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],Z_VehicleDistance];\n_heliPa" !="ation;\n\nif (surfaceIsWater _location && {count (_location nearEntities [\"Ship\",8]) > 0}) then {\ndeleteVehicle _sign;\nlocalize \"S" -1 nearestObject !="licVariableEventHandler {_pos = (_this select 1); _obj = nearestObjects [_pos, DZE_isWreckBuilding, 5]; if (count _obj > 0) then" !=" 0;\n_whatIwant = _this select 1;\n_ret = false;\n\n_flame = nearestObjects [_fireplace, [\"flamable_DZ\"], 1];\n_flame = if (count _fl" !="Whitelisted = [];\n_pointsNearby = [];\n_findWhitelisted = nearestObjects [_pos,_whitelist,(_radius + DZE_snapExtraRange)]-[_objec" !=".sqf\"\n\n\n\n\n\nprivate \"_object\";\n\n{\n_object = (_x select 0) nearestObject (_x select 1);\n_object hideObject true;\n_object setVariab" !="\ncall dayz_meleeMagazineCheck;\n{player reveal _x} count (nearestObjects [_position,[\"AllVehicles\",\"WeaponHolder\",\"Land_A_tent\",\"" !="ks.sqf\"\nsetMousePosition [0.5, 0.5];\n\nprivate [\"_exit\",\"_nearestObjects\",\"_rID\",\"_display\",\"_cTarget\",\"_dis\",\"_friendlyTo\",\"_las" !="eenMsg = localize 'str_player_setup_completed';\n_torev4l=nearestObjects [_setPos, Dayz_plants + DayZ_GearedObjects + [\"AllVehicl" !=") then {\n_pPos = [player] call FNC_GetPos;\n_fireplaces = nearestObjects [_pPos, [\"flamable_DZ\",\"Land_Fire\",\"Land_Campfire\"], 8];" !=" \n\n)\nmax 0;\n\nif (_scaleLight < 0.9) then {\n\n_nearFlare = nearestObject [getPosATL (vehicle player),\"RoadFlare\"];\nif (!isNull _ne" !=" call _check}) exitWith { \n_inside = true;\n};\n} forEach (nearestObjects [_unit, [\"Building\"], 50]);\n};\n\n\n_inside\n" !="= _this select 0;\n_ammo = _this select 1;\n\n_projectile = nearestObject [_unit, _ammo];\n_pos = getPosATL _projectile;\n\nif (_ammo " !="\n};\nif (\"workshop\" in _needNear) then {\n_isNear = count (nearestObjects [player, DZE_Workshops, _distance]);\nif(_isNear == 0) th" !="ingPlayer = player;\n_dir = round(random 360);\n_helipad = nearestObjects [player, [\"HeliHCivil\",\"HeliHempty\"], 100];\n\n\nif (count " !="1\",\"land_smd_water_pump\"];\n\n_canFill = call {\n\nif (count nearestObjects [_posATL,_wells,4] > 0) exitwith {[true,false]};\nif (toL" !="d) exitWith {\n_nearWaterHole = [true,_pond];\n};\n} count (nearestObjects [_x, [], 1]);\n\nif (_nearWaterHole select 0) exitWith {};" !="bj select 4;\n_projectile = _obj select 6;\n\n_projectile = nearestObject [_unit,_ammo];\n_endPos = getPosATL _projectile;\n_doWait =" !="_plantOutput select _index;\n_countOut = 1;\n};\n};\n} count nearestObjects [([player] call FNC_getPos), [], 10];\n\nif (count _findNe" !=" !r_player_unconscious && !_onLadder);\n\n_nearByObjects = nearestObjects [player,_objects,_range];\n\nif (count _nearByObjects == 0" !="= \"workshop\") exitwith {\n_distance = 3;\n_isNear = count (nearestObjects [_pos, DZE_Workshops, _distance]);\nif (_isNear == 0) the" !="earestPole) then {_pos} else {_nearestPole};\nif ((count (nearestObjects [_center,_buildables,_distance])) >= DZE_BuildingLimit) " !="_ammo in [\"Dragged\",\"RunOver\"])}) then {\n_vehicleArray = nearestObjects [([vehicle _unit] call fnc_getPos),[\"Air\",\"LandVehicle\"," !="n _rocks) exitWith { _findNearestRock = _x; };\n} foreach nearestObjects [getPosATL player, [], 8];\n\n\nif (!isNull _findNearestRoc" !="modeltoWorld [0,0,0]};\n_holder = objNull;\n\n\n_nearByPile= nearestObjects [_pos, [\"WeaponHolder\",\"WeaponHolderBase\"],2];\n\nif (coun" !="r);\nlocal _uid = getPlayerUID player;\nlocal _nearLight = nearestObject [player,\"LitObject\"];\nlocal _canPickLight = false;\nlocal " !="p = {\nlocal _doors = [];\nif (r_drag_sqf) then {\n_doors = nearestObjects [player, DayZ_DropDrageeObjects, 3]; \nif (count _doors >" !"With {};\nif (!_unconscious) exitWith {};\n\n_dropObjects = nearestObjects [player, DayZ_DropDrageeObjects, 3];\nif (count _dropObje" !"Name) in dayz_trees}) exitWith {\n\n_tree = _x;\n};\n} count nearestObjects [getPosATL player, [], 20];\n\nif (!isNull _tree) then {\n\n" !="ntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n_objects = nearestObjects [_target, DZE_maintainClasses, DZE_maintainRange];\n\n_obj" !="E_LockableStorage + [\"DZ_storage_base\"];\n_count = count (nearestObjects [_target,_buildables,_range]);\n\n_colour = \"#ffffff\";\n\nif" !="e;\n_num = ceil (random (player distance _x));\n};\n} count nearestObjects [player, [], 50];\n\nfor \"_i\" from 1 to 10 do {\nif (!_ispo" !="j select 4;\n\n_projectile = _obj select 6;\n\n_projectile = nearestObject [_unit,_ammo];\n_vUp = vectorUp _projectile;\n_endPos = get" !="player;\nif (_vehicle != player) then {\n_servicePoints = (nearestObjects [getPosATL _vehicle,DZE_SP_Classes,DZE_SP_MaxDistance]) " !="ir\",\"LandVehicle\",\"Ship\"],Z_VehicleDistance];\n_heliPad = nearestObjects [if (_isNearPlot) then {_plotCheck select 2} else {playe" !="ts;\n_isNearPlot = (_plotCheck select 1) > 0;\n\n_heliPad = nearestObjects [if (_isNearPlot) then {_plotCheck select 2} else {playe" !="ocalize \"STR_CL_VG_HELIPAD_REMOVED\",typeOf _x];\n} count (nearestObjects [_plotCheck select 2,vg_heliPads,Z_VehicleDistance]);\n} " -1 nearObjects !="ratorRunning\",false]))} count (([player] call FNC_getPos) nearObjects [\"Generator_DZ\",30]);\nif (_findNearestGen > 0) then {\ns_pl" !="lders = dayz_currentWeaponHolders - 1;\n} count (_worldPos nearObjects [\"ReammoBox\", 1]);\n\nif (_lootChance > random 1 && {dayz_cu" !="rgets == 0) then {\nprivate \"_objects\";\n\n_objects = _agent nearObjects [\"GrenadeHand\", 300]; \n{\nif (!(_x in _targets)) then {\nif " !="er] call FNC_GetPos;\n_isNear = {inflamed _x} count (_pPos nearObjects _distance);\nif(_isNear == 0) then {\n_abort = true;\n_reason" !="s select 0;\n_sign = _this select 1;\n_near = count (player nearObjects [_class,50]);\n\n[_class,_sign,_near] spawn {\n_class = _this" !="with {\n_distance = 3;\n_isNear = {inflamed _x} count (_pos nearObjects _distance);\nif (_isNear == 0) then {\n_abort = true;\n_reaso" !=" (_nearWaterHole select 0) exitWith {};\n} forEach (player nearObjects [\"waterHoleProxy\",50]);\n\n_nearWaterHole" !="yer] call FNC_GetPos;\n_isNear = {inflamed _x} count (_pos nearObjects 3);\nif (_isNear == 0) exitWith {dayz_actionInProgress = fa" !="unt _zeds;\n\n\ndayz_currentWeaponHolders = count (_position nearObjects [\"ReammoBox\",_radius]);\n\n\nif (DZE_Bloodsuckers) then {\nloc" -1 onMapSingleClick -1 playableUnits !"for [{_y=0},{_y < count(playableUnits)},{_y=_y+1}] do {" !"typeName player == \"OBJECT\" && {(player in playableUnits" !"AND {((alive _x) AND {((vehicle _x) distance _obj < 150)})}} count playableUnits)}) then {" !="_local = { _unit distance _x < _dis; } count playableUnits <= 1;" !"ManagementMustBeClose) then { player nearEntities [\"CAManBase\", 10] } else { playableUnits };" !=" = false;\n};\n};\n};\nif (!_isOk) exitWith {false};\n} count playableUnits;\n\n_isOk\n" !="lose) then {player nearEntities [\"CAManBase\", 12]} else {playableUnits};\n\n{\nif (isPlayer _x) then {\n_friendUID = getPlayerUID _x" -1 positionCameraToWorld -1 removeAllEventHandlers !"_WarnFuel = false;\n};\n\n};\n\n_vehicle removeAllEventHandlers \"IncomingMissile" !"leep _wait;} else {sleep (_wait * 4);};\n};\n\n_vehicle removeAllEventHandlers \"Dammaged" !"lse\"];\n{\n(findDisplay 12) displayCtrl 51 ctrlRemoveAllEventHandlers" !"select 1,0] nearestObject (_x select 2);\n_building removeAllEventHandlers" !"\n\n\n\nif (_this isKindOf \"AllVehicles\") then {\n\n_this removeAllEventHandlers" !"\npublicVariableServer \"PVDZ_veh_Save\";\n};\n};\n\n\n_unit removeAllEventHandlers" !="r == _model) exitWith {};\n\nlocal _old = player;\n_old removeAllEventHandlers \"FiredNear\";\n_old removeAllEventHandlers \"HandleDama" -1 selectPlayer !"addSwitchableUnit dayz_originalPlayer;\nsetPlayable dayz_originalPlayer;\nselectPlayer dayz_originalPlayer;" !"addSwitchableUnit _newUnit;\nsetPlayable _newUnit;\nselectPlayer _newUnit;" -1 serverCommand !="_character = if (serverCommandAvailable \"#kick\") then { call sched_tg_follow } else { player };" !"serverCommand (\"#vote kick \" + _selectedName);" -1 setAperture !"select 1);\n\nif(_NVOn == \"ON\") exitwith\n{\nsetaperture -1" !"+_inc;\n\n_NVOn = (_NV select 0);\n\nif(_NVOn == \"ON\") then {\n\nsetAperture" -1 setCamUseTI -1 setDamage !"if (_entity isKindOf \"Animal\") then {\n_entity setDamage 1;" !"player setDamage 1;\n};\n\nif (dayz_onBack != \"\") then {\nif (dayz_onBack in w" !"if (_ent isKindOf \"Animal\" || _ent isKindOf \"zZombie_base\") then {\n_ent setDamage 1;" !="Server \"PVDZ_veh_Save\";\n\nif (_allRepaired) then {\n_vehicle setDamage 0;\n_vehicle setVelocity [0,0,1];\n[format[localize \"STR_CL_S" -1 setDammage -1 setDate !rsetDate !"\"setDate\", " !"\n\n\nif (!isDedicated) then {\n\"dayzSetDate\" addPublicVariableEventHandler {" !"if (_x != _newdate select _forEachIndex) exitWith {\nsetDate _newdate" !"plr_Login1]; \nPVDZ_send = [player,\"dayzSetDate\",[player]];\npublicVariableServer" !="!isNil \"dayzSetDate\"" !"diag_log ['Date & time received:', dayzSetDate];\nsetDate dayzSetDate;\ndiag" -1 SetEventHandler !"\n_menu ctrlSetEventHandler [\"ButtonClick\",_compile];\n};" !"inGameUISetEventHandler [\"Action\",\"false\"];" !="];\n};\n\n_menu ctrlSetText format[_type,_name];\n_menu ctrlSetEventHandler [\"ButtonClick\",_compile];\n_i = _i + 1;\n};\n_pos set [3,_h" !="];\n};\n\n_menu ctrlSetText format[_type,_name];\n_menu ctrlSetEventHandler [\"ButtonClick\",_compile];\n_i = _i + 1;\n};\n\nlocal _isKey " -1 setMarkerAlpha -1 setMarkerBrush -1 setMarkerColor !",if (_vehicle == _x) then {name _x} else {_vehicle call dayz_getCrew}];\n_marker setMarkerColorLocal \"ColorGreen\";" !"eLocal \"ICON\";\n_marker setMarkerTypeLocal \"DOT\";\n_marker setMarkerColorLocal \"ColorOrange\";\n_marker setMarkerSizeLocal [1.0, 1.0" -1 setMarkerDir -1 setMarkerPos !"\"setMarkerPosLocal\"," !"rsetMarkerPosLocal" -1 setMarkerShape !"tr _i),[_position select 0,_position select 1]];\n_marker setMarkerShapeLocal \"ICON\";\n_marker setMarkerTypeLocal \"DOT\";\n_marker s" -1 setMarkerSize !"DOT\";\n_marker setMarkerColorLocal \"ColorOrange\";\n_marker setMarkerSizeLocal [1.0, 1.0];\n_marker setMarkerTextLocal format [\"%1\"," -1 setMarkerText !",if (_vehicle == _x) then {name _x} else {_vehicle call dayz_getCrew}];\n_marker setMarkerColorLocal \"ColorGreen\";" !"rOrange\";\n_marker setMarkerSizeLocal [1.0, 1.0];\n_marker setMarkerTextLocal format [\"%1\",_name];\nsystemChat format[localize \"STR" -1 setMarkerType !",if (_vehicle == _x) then {name _x} else {_vehicle call dayz_getCrew}];\n_marker setMarkerColorLocal \"ColorGreen\";" !" select 1]];\n_marker setMarkerShapeLocal \"ICON\";\n_marker setMarkerTypeLocal \"DOT\";\n_marker setMarkerColorLocal \"ColorOrange\";\n_m" -1 setPosASL !="_unit setPosAsl [(_position select 0), (_position select 1), (LHA_height+1)];" !="_flame setPosASL [_pos select 0,_pos select 1,(_pos select 2)+0.2];" !="_fire setPosASL _location;" !"_objectHelper setPosASL _position;\n} else {" !"_b0x1337 setPosASL (getPosASL player);\n} else {" !"_obj setPosASL [_center select 0, _a, _b];" !"_objectSnapGizmo setPosASL " !"_para setposasl [\n" !"_thingy setPosASL (ATLToASL _pos);\n} else {" !="> \"fixWaterPos\");\nif (_fixWaterSpawn == 1) then {\n_vehicle setPosASL (_pos);\n} else {\n_vehicle setPos (_pos);\n}; \n} else {\n_ve" -1 setTerrainGrid -1 setUnitRecoilCoefficient -1 setVehicle !"if(_status) then {\n_vehicle setVehicleLock \"LOCKED\";\n} else {\n_vehicle setVehicleLock \"UNLOCKED\";\n};" !="stentMoney),(_wealth - _amount),true];};\n\nvkc_cursorTarget setVehicleLock \"LOCKED\";\nplayer playActionNow \"Medic\";\n\n_position = [" -1 setViewDistance -1 sideLogic !"publicVariable \"BIS_MPF_logic\";" -1 switchCamera !"\"switchCamera\", " !"rswitchCamera" !"player switchCamera _currentCamera;\nif (_currentWpn !=" !"< 150) && random 1 > 0.5) then {\n_killer switchcamera" +5 failMission !"rfailMission" !"failMission\",\n\"titleCut\"," !"fadeSound\", \"failMission\"," !"if (_debug == 1) then {\ndiag_log (\"End Mission\");\n};\n\nfailMission" +5 forceEnd +5 globalMoney !="\"cashMoney\", _characterCoins, true];\nplayer setVariable [\"globalMoney\", _globalCoins, true];\nplayer setVariable [\"bankMoney\", _b" !="rency) then {\n_wealth = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\nplayer setVariable[([\"cash" !="13001,format [\"%1 %2\",[player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0]] call BIS_fnc_numberText,Cu" !="Messages};\n\n_myMoney = player getVariable [([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_myMoney = _myMoney + _his" !="xitWith {}; \n\n_wealth = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n\n_enoughMoney = false;\n\n_m" !="able [\"bankMoney\",0];\n_globalCoins = player getVariable [\"globalMoney\",0];\n};\n\n\n[_model, _charID, _humanity, _zombieKills, _head" !="then {\nlocal _cashAmt = player getVariable[([\"cashMoney\",\"globalMoney\"] select Z_persistentMoney),0];\n_string = format [\"> \"CfgVehicles\" >>" !="#line 1 \"z\\addons\\dayz_code\\compile\\player_humanityChange.sqf\"\nprivate [\"_change\",\"_humanity\"];\n\n\n\n\n_change = _this;\n\n_humanity " !"layer]];\npublicVariableServer \"PVDZ_send\";\n\n\n20 call player_humanityChange;\n\nformat[localize \"str_actions_medical_gave_wipes\",(n" !=" [\"_msg\",\"_bagUsed\",\"_bloodResult\",\"_bloodAmount\",\"_unit\",\"_humanityAwarded\",\"_timer\",\"_i\",\"_isClose\",\"_duration\",\"_rhVal\",\"_blo" +5 lbCurSel !"_selectedUserIndex = lbCurSel _lbUsersControl;" !="profileNamespace setVariable ['statusUI',(lbCurSel (_this select 0))];" !="profileNamespace setVariable ['streamerMode',(lbCurSel (_this select 0))];" !"_index = lbCurSel _lbcontrol;\n_selectedItem" !"_selected = lbCurSel _list;\n_classname = _list lnbData [_selected, 2];" !="_friendName = _userList lbText (lbCurSel _userList);" !")] call Z_" !"(lbCurSel 7421) call Z_fillCategoryList" !"] call Door" !"] call Plot" !"[(lbCurSel 12001)] " !="[(lbCurSel 21000), ((ctrlParent (_this select 0)) displayCtrl 21001)] spawn EpochDeathBoardClick;" !"((ctrlParent (_this select 0)) closeDisplay 2);" !="_uid = _playerList lbData (lbCurSel _playerList);" !"_myGroup lbData (lbCurSel _myGroup);" +5 lbSet !"_lbUsersControl lbSetColor [_x, [1,0,0,1]];" !"\n_control lbSetColor [_x, _color];\n};" !"_weaponsLBSetFocus" !="(_this select 0) displayCtrl _idc lbSetCurSel (profileNamespace getVariable [_var,_default]);" !="(_display displayCtrl 105) lbSetColor [_i, [0.06, 0.05, 0.03, 1]];" !" [7421," !"lbSetPicture [7422, _index" !"lbSetPicture [7402, _index" !"lbSetPicture [7401, _index" !="_userList lbSetData [(lbSize _userList) -1,_friendUID];" !" [TraderDialogItemList, _index, " !"_myGroup lbSetData [_index,getPlayerUID _x];" +5 loadFile +5 menu !",\"MenuSelected\",\"Draw\",\"VideoStop" !"_menu = _parent displayCtrl (1600 + _i);\n_menu ctrlShow " !"BIS_fnc_commsMenu" !"BIS_fnc_kbMenu" !"call gear_ui_offMenu;" !"dayz_inflame_showMenu" !"\"showCommandingMenu\", " !"rshowCommandingMenu" !"menu_" !"use action menu to " !"\"_menu\",\"_menu1\"" !"fn_gearMenuChecks" !"fn_pauseMenuChecks" +1 nearEntities !="exit = true;\n} else {\n_nearestObjects = (position player) nearEntities [[\"Air\", \"Car\", \"Motorcycle\", \"Tank\", \"Ship\"], 26];\nif (c" !="jects \"SpawnableWreck\";\n{deleteVehicle _x} count (_setPos nearEntities [\"zZombie_Base\",30]);\nplayer setDir _setDir;\n\nif (dayz_pa" !="ets,false];\n};\n};\n};\n};\n};\n} forEach ((getPosATL _refObj) nearEntities [\"Zed_Base\",100]);\n\nif (_attacked) then {\nif (r_player_un" !="((!surfaceIsWater _Pos) AND {(0 == {alive _x} count (_Pos nearEntities [ AllPlayers, 200 ]))}) then {\n_agent = if (_type == \"Pas" !="z, _elevation] ];\n};\n};\n};\n};\n} count ((getPosATL player) nearEntities [\"zZombie_Base\", 30]);\n};\n\n\n_buriedZeds\n};\n" !="call dz_fn_array_any);\n};\n\n_vehClose = (getPosATL player) nearEntities [[\"Car\",\"Tank\",\"Helicopter\",\"Plane\",\"StaticWeapon\",\"Ship\"" !="z_spawnZombies = {alive _x AND local _x} count (_position nearEntities [\"zZombie_Base\",_radius]);\ndayz_CurrentNearByZombies = {a" !="{\nr_player_infected = true;\n\n};\n};\n};\n} count (_mylastPos nearEntities [\"CAManBase\",12]);\nif (dayz_temperatur < ((50 / 100) * (d" !=" < dayz_maxGlobalZeds}) then {\n_zombiesNum = count (_bPos nearEntities [\"zZombie_Base\",(((sizeOf _type) * 2) + 10)]);\nif (_zombi" !="te;\n};\n};\n\n\n_nearByPlayer = ({isPlayer _x} count (_objPos nearEntities [\"CAManBase\",30])) > 0;\nif (!_nearByPlayer) then {\n_posit" !="_entityTime = diag_tickTime;\n\n_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer" !="_timeN = diag_tickTime;\n\n_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer _x} " !="_waitStart = diag_tickTime;\n\n_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer " !="lt = false;\n_pos = [player] call FNC_GetPos;\n_list = _pos nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],Z_VehicleDistance];\n\nif (!i" !="[\"localtargets\",_localtargets,false];\n};\n};\n} count (_pos nearEntities [\"zZombie_Base\",50]);\n} else {\nwhile {alive _projectile} " !="this select 2;\n_pos = _this select 3;\n\n_listTalk = _pos nearEntities [\"zZombie_Base\",_distance];\n\n{\n_distance = _distance max " !="_list = (getposATL _agent) nearEntities [[\"CAManBase\",\"AllVehicles\"],300];\n_isSomeone = ({isPlayer _x} count _list) > 0;\n\n_timeN" !=";};\n\n_playerNear = {isPlayer _x} count ((getPosATL _body) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {dayz_a" !="\n\n\n_pos = getPosATL player;\nif ({isPlayer _x} count (_pos nearEntities [\"CAManBase\",40]) > 1) then {\n[_unit,\"hit\",0,false] call " !="[];\n\n_PlayerNear = {isPlayer _x} count ((getPosATL _item) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear) exitWith {locali" !="layerNear = {isPlayer _x} count (([_obj] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear && (_isMine or _o" !="hicle _player] call FNC_getPos;\n\n\n_findNearestPole = _pos nearEntities [\"Plastic_Pole_EP1_DZ\", _distance];\n\n_IsNearPlot = count " !="layerNear = {isPlayer _x} count ((getPosATL cursortarget) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {\ndayz_" !="etPos;\n\nif (surfaceIsWater _location && {count (_location nearEntities [\"Ship\",8]) > 0}) then {\ndeleteVehicle _sign;\nlocalize \"S" !="yerNear = {isPlayer _x} count (([player] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_playerNear) exitWith {locali" !="ag_tickTime);\n_playerCheck = ({isPlayer _x} count (player nearEntities [\"AllVehicles\",5]) > 1);\n_zedCheck = ((count (player near" !="(_this select 1) && isServer && (({isPlayer _x} count (_z nearEntities ['CAManBase',150])) == 0)) exitWith { _z call sched_co_de" !=" do {\nuiSleep 5;\n};\nhideBody _body;\n\n\n\n\n\n\n_inRange = _pos nearEntities [\"CAManBase\",100];\n{\nif ((isPlayer _x) && {_x != player})" !=" {\n_PlayerNear = {isPlayer _x} count ((getPosATL _holder) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear) exitWith {locali" !="yerNear = {isPlayer _x} count (([_plant] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_playerNear) exitWith {dayz_a" !="layerNear = {isPlayer _x} count (([_obj] call FNC_GetPos) nearEntities [\"CAManBase\", 12]) > 1;\nif (_playerNear) exitWith {dayz_a" !="\n_ammo = \"RunOver\";\n};\n} count (([_unit] call fnc_getPos) nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],3]);\n};\n};\n};\n\n_end = false" !="{\n_liftHeli = _x;\n_found = true;\n};\n};\n};\n} count (player nearEntities [DZE_HeliAllowTowFrom,15]);\n};\n\nlocal _attached = _cursor" !="z_fn_array_any);\n};\n\nlocal _vehClose = (getPosATL player) nearEntities [[\"Car\",\"Tank\",\"Helicopter\",\"Plane\",\"StaticWeapon\",\"Ship\"" !=" = false;\n\nif (!isNull _this) then {\n_nearPlayers = _this nearEntities [\"CAManBase\", 12];\n_playerNear = ({isPlayer _x} count _ne" !="ePeople = if (DZE_doorManagementMustBeClose) then {player nearEntities [\"CAManBase\", 12]} else {playableUnits};\n\n{\nif (isPlayer " !"\n\n_PlayerNear = {isPlayer _x} count ((getPosATL _vehicle) nearEntities [\"CAManBase\", 12]) > 1;\nif (_PlayerNear) exitWith {" !="layerNear = {isPlayer _x} count (([_obj] call FNC_GetPos) nearEntities [\"CAManBase\", 10]) > 1;\nif (_playerNear) exitWith {dayz_a" !"arestVehicle),_x];\n};\n} count (([player] call fnc_getPos) nearEntities [[\"Air\",\"LandVehicle\",\"Ship\"],30]);\n\nif (count _findNeare" !"arPlayers = {(isPlayer _x && _x != player)} count (player nearEntities [\"CAManBase\",8]);\n\nif (!(_object isKindOf \"ATV_Base_EP1\")" !="ePeople = if (DZE_plotManagementMustBeClose) then {player nearEntities [\"CAManBase\", 12]} else {playableUnits};\n\n{\nif (isPlayer " !="lot\"];\n\nlbClear 7002;\n_plots = ([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15];\n_thePlot = _plots select 0;\n_" !="_area_preview = 1;\n\n_target = (([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n_objects = nearestO" !="_PlotPole select 0;\n_target = (([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n\n_buildables = DZE_" !=" == \"\") exitWith {};\n\n_plots = ([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15];\n\n_thePlot = _plots select 0;\n" !="here100cm_EP1\"; \n\n\n_thePlot = (([player] call FNC_getPos) nearEntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n_center = getPosASL" !"arPlayers = {(isPlayer _x && _x != player)} count (player nearEntities [\"CAManBase\",8]);\n\nif ((_object isKindOf \"C130J_US_EP1\" o" +1 nearestObject !="licVariableEventHandler {_pos = (_this select 1); _obj = nearestObjects [_pos, DZE_isWreckBuilding, 5]; if (count _obj > 0) then" !=" 0;\n_whatIwant = _this select 1;\n_ret = false;\n\n_flame = nearestObjects [_fireplace, [\"flamable_DZ\"], 1];\n_flame = if (count _fl" !="Whitelisted = [];\n_pointsNearby = [];\n_findWhitelisted = nearestObjects [_pos,_whitelist,(_radius + DZE_snapExtraRange)]-[_objec" !=".sqf\"\n\n\n\n\n\nprivate \"_object\";\n\n{\n_object = (_x select 0) nearestObject (_x select 1);\n_object hideObject true;\n_object setVariab" !="\ncall dayz_meleeMagazineCheck;\n{player reveal _x} count (nearestObjects [_position,[\"AllVehicles\",\"WeaponHolder\",\"Land_A_tent\",\"" !="ks.sqf\"\nsetMousePosition [0.5, 0.5];\n\nprivate [\"_exit\",\"_nearestObjects\",\"_rID\",\"_display\",\"_cTarget\",\"_dis\",\"_friendlyTo\",\"_las" !="eenMsg = localize 'str_player_setup_completed';\n_torev4l=nearestObjects [_setPos, Dayz_plants + DayZ_GearedObjects + [\"AllVehicl" !=") then {\n_pPos = [player] call FNC_GetPos;\n_fireplaces = nearestObjects [_pPos, [\"flamable_DZ\",\"Land_Fire\",\"Land_Campfire\"], 8];" !=" \n\n)\nmax 0;\n\nif (_scaleLight < 0.9) then {\n\n_nearFlare = nearestObject [getPosATL (vehicle player),\"RoadFlare\"];\nif (!isNull _ne" !=" call _check}) exitWith { \n_inside = true;\n};\n} forEach (nearestObjects [_unit, [\"Building\"], 50]);\n};\n\n\n_inside\n" !="= _this select 0;\n_ammo = _this select 1;\n\n_projectile = nearestObject [_unit, _ammo];\n_pos = getPosATL _projectile;\n\nif (_ammo " !="\n};\nif (\"workshop\" in _needNear) then {\n_isNear = count (nearestObjects [player, DZE_Workshops, _distance]);\nif(_isNear == 0) th" !="ingPlayer = player;\n_dir = round(random 360);\n_helipad = nearestObjects [player, [\"HeliHCivil\",\"HeliHempty\"], 100];\n\n\nif (count " !="1\",\"land_smd_water_pump\"];\n\n_canFill = call {\n\nif (count nearestObjects [_posATL,_wells,4] > 0) exitwith {[true,false]};\nif (toL" !="d) exitWith {\n_nearWaterHole = [true,_pond];\n};\n} count (nearestObjects [_x, [], 1]);\n\nif (_nearWaterHole select 0) exitWith {};" !="bj select 4;\n_projectile = _obj select 6;\n\n_projectile = nearestObject [_unit,_ammo];\n_endPos = getPosATL _projectile;\n_doWait =" !="_plantOutput select _index;\n_countOut = 1;\n};\n};\n} count nearestObjects [([player] call FNC_getPos), [], 10];\n\nif (count _findNe" !=" !r_player_unconscious && !_onLadder);\n\n_nearByObjects = nearestObjects [player,_objects,_range];\n\nif (count _nearByObjects == 0" !="= \"workshop\") exitwith {\n_distance = 3;\n_isNear = count (nearestObjects [_pos, DZE_Workshops, _distance]);\nif (_isNear == 0) the" !="earestPole) then {_pos} else {_nearestPole};\nif ((count (nearestObjects [_center,_buildables,_distance])) >= DZE_BuildingLimit) " !="_ammo in [\"Dragged\",\"RunOver\"])}) then {\n_vehicleArray = nearestObjects [([vehicle _unit] call fnc_getPos),[\"Air\",\"LandVehicle\"," !="n _rocks) exitWith { _findNearestRock = _x; };\n} foreach nearestObjects [getPosATL player, [], 8];\n\n\nif (!isNull _findNearestRoc" !="modeltoWorld [0,0,0]};\n_holder = objNull;\n\n\n_nearByPile= nearestObjects [_pos, [\"WeaponHolder\",\"WeaponHolderBase\"],2];\n\nif (coun" !="r);\nlocal _uid = getPlayerUID player;\nlocal _nearLight = nearestObject [player,\"LitObject\"];\nlocal _canPickLight = false;\nlocal " !="p = {\nlocal _doors = [];\nif (r_drag_sqf) then {\n_doors = nearestObjects [player, DayZ_DropDrageeObjects, 3]; \nif (count _doors >" !"With {};\nif (!_unconscious) exitWith {};\n\n_dropObjects = nearestObjects [player, DayZ_DropDrageeObjects, 3];\nif (count _dropObje" !"Name) in dayz_trees}) exitWith {\n\n_tree = _x;\n};\n} count nearestObjects [getPosATL player, [], 20];\n\nif (!isNull _tree) then {\n\n" !="ntities [\"Plastic_Pole_EP1_DZ\",15]) select 0;\n_objects = nearestObjects [_target, DZE_maintainClasses, DZE_maintainRange];\n\n_obj" !="E_LockableStorage + [\"DZ_storage_base\"];\n_count = count (nearestObjects [_target,_buildables,_range]);\n\n_colour = \"#ffffff\";\n\nif" !="e;\n_num = ceil (random (player distance _x));\n};\n} count nearestObjects [player, [], 50];\n\nfor \"_i\" from 1 to 10 do {\nif (!_ispo" !="j select 4;\n\n_projectile = _obj select 6;\n\n_projectile = nearestObject [_unit,_ammo];\n_vUp = vectorUp _projectile;\n_endPos = get" +1 nearObjects !="ratorRunning\",false]))} count (([player] call FNC_getPos) nearObjects [\"Generator_DZ\",30]);\nif (_findNearestGen > 0) then {\ns_pl" !="lders = dayz_currentWeaponHolders - 1;\n} count (_worldPos nearObjects [\"ReammoBox\", 1]);\n\nif (_lootChance > random 1 && {dayz_cu" !="rgets == 0) then {\nprivate \"_objects\";\n\n_objects = _agent nearObjects [\"GrenadeHand\", 300]; \n{\nif (!(_x in _targets)) then {\nif " !="er] call FNC_GetPos;\n_isNear = {inflamed _x} count (_pPos nearObjects _distance);\nif(_isNear == 0) then {\n_abort = true;\n_reason" !="s select 0;\n_sign = _this select 1;\n_near = count (player nearObjects [_class,50]);\n\n[_class,_sign,_near] spawn {\n_class = _this" !="with {\n_distance = 3;\n_isNear = {inflamed _x} count (_pos nearObjects _distance);\nif (_isNear == 0) then {\n_abort = true;\n_reaso" !=" (_nearWaterHole select 0) exitWith {};\n} forEach (player nearObjects [\"waterHoleProxy\",50]);\n\n_nearWaterHole" !="unt _zeds;\n\n\ndayz_currentWeaponHolders = count (_position nearObjects [\"ReammoBox\",_radius]);\n\n\nlocal _vehicle = vehicle player;" !="yer] call FNC_GetPos;\n_isNear = {inflamed _x} count (_pos nearObjects 3);\nif (_isNear == 0) exitWith {dayz_actionInProgress = fa" +5 onMapSingleClick +5 playableUnits !"for [{_y=0},{_y < count(playableUnits)},{_y=_y+1}] do {" !"typeName player == \"OBJECT\" && {(player in playableUnits" !"AND {((alive _x) AND {((vehicle _x) distance _obj < 150)})}} count playableUnits)}) then {" !="_local = { _unit distance _x < _dis; } count playableUnits <= 1;" !"ManagementMustBeClose) then { player nearEntities [\"CAManBase\", 10] } else { playableUnits };" !=" = false;\n};\n};\n};\nif (!_isOk) exitWith {false};\n} count playableUnits;\n\n_isOk\n" !="lose) then {player nearEntities [\"CAManBase\", 12]} else {playableUnits};\n\n{\nif (isPlayer _x) then {\n_friendUID = getPlayerUID _x" +5 positionCameraToWorld +5 removeAllEventHandlers !"_WarnFuel = false;\n};\n\n};\n\n_vehicle removeAllEventHandlers \"IncomingMissile" !"leep _wait;} else {sleep (_wait * 4);};\n};\n\n_vehicle removeAllEventHandlers \"Dammaged" !"lse\"];\n{\n(findDisplay 12) displayCtrl 51 ctrlRemoveAllEventHandlers" !"select 1,0] nearestObject (_x select 2);\n_building removeAllEventHandlers" !"\n\n\n\nif (_this isKindOf \"AllVehicles\") then {\n\n_this removeAllEventHandlers" !"With {};\n\n_old = player;\n_old removeAllEventHandlers \"FiredN" !"\npublicVariableServer \"PVDZ_veh_Save\";\n};\n};\n\n\n_unit removeAllEventHandlers" +5 selectPlayer !"addSwitchableUnit dayz_originalPlayer;\nsetPlayable dayz_originalPlayer;\nselectPlayer dayz_originalPlayer;" !"addSwitchableUnit _newUnit;\nsetPlayable _newUnit;\nselectPlayer _newUnit;" +5 serverCommand !="_character = if (serverCommandAvailable \"#kick\") then { call sched_tg_follow } else { player };" !"serverCommand (\"#vote kick \" + _selectedName);" +5 setAperture !"select 1);\n\nif(_NVOn == \"ON\") exitwith\n{\nsetaperture -1" !"+_inc;\n\n_NVOn = (_NV select 0);\n\nif(_NVOn == \"ON\") then {\n\nsetAperture" +5 setCamUseTI +5 setDamage !"if (_entity isKindOf \"Animal\") then {\n_entity setDamage 1;" !"player setDamage 1;\n};\n\nif (dayz_onBack != \"\") then {\nif (dayz_onBack in w" !"if (_ent isKindOf \"Animal\" || _ent isKindOf \"zZombie_base\") then {\n_ent setDamage 1;" +5 setDammage +5 setDate !rsetDate !"\"setDate\", " !"\n\n\nif (!isDedicated) then {\n\"dayzSetDate\" addPublicVariableEventHandler {" !"if (_x != _newdate select _forEachIndex) exitWith {\nsetDate _newdate" !"plr_Login1]; \nPVDZ_send = [player,\"dayzSetDate\",[player]];\npublicVariableServer" !="!isNil \"dayzSetDate\"" !"diag_log ['Date & time received:', dayzSetDate];\nsetDate dayzSetDate;\ndiag" +5 SetEventHandler !"\n_menu ctrlSetEventHandler [\"ButtonClick\",_compile];\n};" !"inGameUISetEventHandler [\"Action\",\"false\"];" +5 setMarkerAlpha +5 setMarkerBrush +5 setMarkerColor !",if (_vehicle == _x) then {name _x} else {_vehicle call dayz_getCrew}];\n_marker setMarkerColorLocal \"ColorGreen\";" +5 setMarkerDir +5 setMarkerPos !"\"setMarkerPosLocal\"," !"rsetMarkerPosLocal" +5 setMarkerShape +5 setMarkerSize +5 setMarkerText !",if (_vehicle == _x) then {name _x} else {_vehicle call dayz_getCrew}];\n_marker setMarkerColorLocal \"ColorGreen\";" +5 setMarkerType !",if (_vehicle == _x) then {name _x} else {_vehicle call dayz_getCrew}];\n_marker setMarkerColorLocal \"ColorGreen\";" +5 setPosASL !="_unit setPosAsl [(_position select 0), (_position select 1), (LHA_height+1)];" !="_flame setPosASL [_pos select 0,_pos select 1,(_pos select 2)+0.2];" !="_fire setPosASL _location;" !"_objectHelper setPosASL _position;\n} else {" !"_b0x1337 setPosASL (getPosASL player);\n} else {" !"_obj setPosASL [_center select 0, _a, _b];" !"_objectSnapGizmo setPosASL " !"_para setposasl [\n" !"_thingy setPosASL (ATLToASL _pos);\n} else {" !="> \"fixWaterPos\");\nif (_fixWaterSpawn == 1) then {\n_vehicle setPosASL (_pos);\n} else {\n_vehicle setPos (_pos);\n}; \n} else {\n_ve" +5 setTerrainGrid +5 setUnitRecoilCoefficient +5 setVehicle !"if(_status) then {\n_vehicle setVehicleLock \"LOCKED\";\n} else {\n_vehicle setVehicleLock \"UNLOCKED\";\n};" +5 setViewDistance +5 sideLogic !"publicVariable \"BIS_MPF_logic\";" +5 switchCamera !"\"switchCamera\", " !"rswitchCamera" !"player switchCamera _currentCamera;\nif (_currentWpn !=" !"< 150) && random 1 > 0.5) then {\n_killer switchcamera" 1 systemChat !="systemChat format[localize \"str_missing_to_do_this\", _x];" !"systemChat (localize " !"systemChat format[localize \"STR_EPOCH_" !"systemChat localize \"STR_EPOCH_" !"case \"system\": {systemChat _message;};" !"systemchat localize \"STR_CRAFTING_NEEDED_ITEMS\";" !"systemChat format[localize \"STR_CL_" !"systemChat localize \"STR_CL_" !=") then {\nif (player getVariable[\"radiostate\",true]) then {\nsystemChat (\"[RADIO] \" + _message);\nplaySound \"Radio_Message_Sound\";\n" !"systemChat localize \"str_cursorTargetNotFound\"" -1 title !"titleCut [\"\", \"BLACK " !"\"titleCut\", " !"\"titleText\"" !="rtitleCut = 'titleCut'" !"rtitleCutc" !="rtitleText = 'titleText'" !"rtitleTextc" !"(_missionTextListPath >> \"titles\")" !"(_display displayCtrl _titleIDC) ctrlShow false;" !"titleText [format[localize \"str_return_lobby\", _x" !",\"_titleText\"" !"localize 'STR_UI_GENDER_TITLE';\n_timeNem" !="scriptName \"MP\\data\\scriptCommands\\titleText.sqf\";" !_fillTradeTitle !_bldTxtStringTitle !"localize \"str_halo_altitude_speed" !"play displayCtrl 8801 ctrlSetText(format[localize \"STR_CL_RV_TITLE\",_keyDisplay]);\n\n_control = ((findDisplay 8800) displayCtrl 8" !="f\"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nprivate [\"_folder\",\"_actionTitleFormat\",\"_actionCostsFormat\",\"_message\",\"_messageShown\",\"_last" -1 toString !"_animCheck = toString ([(_animStateArray select 0),(_animStateArray select 1)" !="_skinToModel = toString (_finalArray);" !="{_textArrayTemp = _textArrayTemp + [tostring [_x]]} foreach _line;" !="_cmpt = toString _cmpt;" !="_objName = toLower(toString(_objName));" !"if (toString _hayArr != _needle) then {" !="_type = toString _typeA;" !="_anim4 = toString _anim4;" !"{(count _stance>17)}) then {toString [_stance select 17]}" !"BIS_fnc_timeToString" !"02, if (typeName _name == \"ARRAY\") then {toString _name} else {_name}];" !="s = true;\n\n_array = toArray (animationState player);\n_str = toString [_array select 5,_array select 6,_array select 7];\n_anim = " !=" _input - [_x];\n} forEach _badChars;\n\n_input = parseNumber (toString (_input));\n_input\n};\n\nBankDialogUpdateAmounts = {\nprivate [" -1 worldTo !="_relPos = _building worldToModel _point;" !"_w2m = _x worldToModel (getPosATL player);\n_bb = (boundingbox _x) select 1;" !="_h = _offset + ((_o worldToModel (getPosATL _o)) select 2);" !"_pos set [2,(_pos select 2) + 1.5];\n_screen = worldToScreen _pos;\n_text = composeText [image" !="\n_pos = _this select 1; \n_offset = 1; \n\n_relPos = _building worldToModel _pos;\n_boundingBox = boundingBox _building;\n\n_min = _bo" +5 title !"titleCut [\"\", \"BLACK " !"\"titleCut\", " !"\"titleText\"" !="rtitleCut = 'titleCut'" !"rtitleCutc" !="rtitleText = 'titleText'" !"rtitleTextc" !"(_missionTextListPath >> \"titles\")" !"(_display displayCtrl _titleIDC) ctrlShow false;" !"titleText [format[localize \"str_return_lobby\", _x" !",\"_titleText\"" !"localize 'STR_UI_GENDER_TITLE';\n_timeNem" !="scriptName \"MP\\data\\scriptCommands\\titleText.sqf\";" !_fillTradeTitle !_bldTxtStringTitle !"localize \"str_halo_altitude_speed" +5 toString !"_animCheck = toString ([(_animStateArray select 0),(_animStateArray select 1)" !="_skinToModel = toString (_finalArray);" !="{_textArrayTemp = _textArrayTemp + [tostring [_x]]} foreach _line;" !="_cmpt = toString _cmpt;" !="_objName = toLower(toString(_objName));" !"if (toString _hayArr != _needle) then {" !="_type = toString _typeA;" !="_anim4 = toString _anim4;" !"{(count _stance>17)}) then {toString [_stance select 17]}" !"BIS_fnc_timeToString" !"02, if (typeName _name == \"ARRAY\") then {toString _name} else {_name}];" !="s = true;\n\n_array = toArray (animationState player);\n_str = toString [_array select 5,_array select 6,_array select 7];\n_anim = " !=" _input - [_x];\n} forEach _badChars;\n\n_input = parseNumber (toString (_input));\n_input\n};\n\nBankDialogUpdateAmounts = {\nprivate [" +5 worldTo !="_relPos = _building worldToModel _point;" !"_w2m = _x worldToModel (getPosATL player);\n_bb = (boundingbox _x) select 1;" !="_h = _offset + ((_o worldToModel (getPosATL _o)) select 2);" !"_pos set [2,(_pos select 2) + 1.5];\n_screen = worldToScreen _pos;\n_text = composeText [image" !="\n_pos = _this select 1; \n_offset = 1; \n\n_relPos = _building worldToModel _pos;\n_boundingBox = boundingBox _building;\n\n_min = _bo" //The best use of this file is filtering commonly used scripting commands, because they are always the same when compiled and executed. See: https://community.bistudio.com/wiki/Category:Scripting_Commands_ArmA2 diff --git a/Server Files/DZE_Server_Config/HiveExt.ini b/Server Files/DZE_Server_Config/HiveExt.ini index 64e5c70b0..59681b3df 100644 --- a/Server Files/DZE_Server_Config/HiveExt.ini +++ b/Server Files/DZE_Server_Config/HiveExt.ini @@ -72,18 +72,6 @@ Password = ChangeMe ;Do not use double quotation marks, only use single quotation marks ['] ;MaintenanceObjects = 'Land_DZE_GarageWoodDoorLocked','Land_DZE_LargeWoodDoorLocked','Land_DZE_WoodDoorLocked','CinderWallDoorLocked_DZ','CinderWallDoorSmallLocked_DZ','Plastic_Pole_EP1_DZ' - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Virtual Garage Addition ;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Table name for the virtual garage data to be stored in, default table is 'garage' -;VGTable = garage -; Days for a stored vehicle to be cleaned up after, if set to -1 this feature is disabled. Default 35 days -;CleanupVehStoredDays = 35 -; Log object cleanup DELETE statements (per object), including virtual garage. Default is false -;LogObjectCleanup = false - - ;If using OFFICIAL hive, the settings in this section have no effect, it will manage objects on its own [ObjectDB] ;Setting this to true separates the Object fetches from the Character fetches diff --git a/Server Files/SQL/epoch.sql b/Server Files/SQL/epoch.sql index 2091cc94c..b1951a9c5 100644 --- a/Server Files/SQL/epoch.sql +++ b/Server Files/SQL/epoch.sql @@ -1,8 +1,9 @@ /* - DayZ Epoch 1.0.7.1 + DayZ Epoch 1.0.7 ONLY RUN THIS FILE IF CREATING A NEW DATABASE. - EXISTING 1.0.7 DATABASES SHOULD USE update epoch 1.0.7 to 1.0.7.1.sql INSTEAD. + EXISTING 1051 DATABASES SHOULD USE 1.0.6_UPDATES.SQL INSTEAD AND THEN RUN 1.0.6.2_UPDATES.SQL. + EXISTING 1061 DATABASES SHOULD USE 1.0.6.2_UPDATES.SQL INSTEAD. */ SET FOREIGN_KEY_CHECKS=0; @@ -107,36 +108,6 @@ CREATE TABLE IF NOT EXISTS `Player_LOGIN` ( -- Records of player_login -- ---------------------------- --- ---------------------------- --- Table structure for `garage` --- ---------------------------- - -CREATE TABLE IF NOT EXISTS `garage` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `PlayerUID` varchar(20) NOT NULL DEFAULT '0', - `Name` varchar(50) NOT NULL DEFAULT '', - `DisplayName` varchar(50) NOT NULL DEFAULT '', - `Classname` varchar(50) DEFAULT NULL, - `Datestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `DateStored` varchar(10) NOT NULL DEFAULT 'old', - `DateMaintained` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `CharacterID` bigint(20) unsigned NOT NULL DEFAULT '0', - `StorageCounts` varchar(30) NOT NULL DEFAULT '[0,0,0]', - `Inventory` mediumtext, - `Hitpoints` mediumtext, - `Fuel` double(13,5) NOT NULL DEFAULT '1.00000', - `Damage` double(13,5) NOT NULL DEFAULT '0.00000', - `Colour` varchar(50) NOT NULL, - `Colour2` varchar(50) NOT NULL, - `serverKey` varchar(10) NOT NULL DEFAULT 'old', - `ObjUID` varchar(20) NOT NULL DEFAULT 'old', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; - --- ---------------------------- --- Records of garage --- ---------------------------- - /* THIS PROCEDURE IS REQUIRED FOR 1062 AND RETURNS THE OBJECT ID MUCH MORE EFFICENTLY THAN THE METHOD IN 1061 SQF */ diff --git a/Server Files/SQL/update epoch 1.0.7 to 1.0.7.1.sql b/Server Files/SQL/update epoch 1.0.7 to 1.0.7.1.sql index 9379f0aa7..c21c3ee04 100644 --- a/Server Files/SQL/update epoch 1.0.7 to 1.0.7.1.sql +++ b/Server Files/SQL/update epoch 1.0.7 to 1.0.7.1.sql @@ -2,25 +2,3 @@ UPDATE character_data SET Backpack = REPLACE(Backpack, '"Skin_gsc_cloth_loner_he UPDATE character_data SET Inventory = REPLACE(Inventory, '"Skin_gsc_cloth_loner_head_DZ"', '"Skin_Survivor2_DZ"') WHERE INSTR(Inventory, '"Skin_gsc_cloth_loner_head_DZ"') > 0; UPDATE object_data SET Inventory = REPLACE(Inventory, '"Skin_gsc_cloth_loner_head_DZ"', '"Skin_Survivor2_DZ"') WHERE INSTR(Inventory, '"Skin_gsc_cloth_loner_head_DZ"') > 0; UPDATE character_data SET Model = "Survivor2_DZ" WHERE Model = "gsc_cloth_loner_head_DZ"; - -CREATE TABLE IF NOT EXISTS `garage` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `PlayerUID` varchar(20) NOT NULL DEFAULT '0', - `Name` varchar(50) NOT NULL DEFAULT '', - `DisplayName` varchar(50) NOT NULL DEFAULT '', - `Classname` varchar(50) DEFAULT NULL, - `Datestamp` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `DateStored` varchar(10) NOT NULL DEFAULT 'old', - `DateMaintained` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `CharacterID` bigint(20) unsigned NOT NULL DEFAULT '0', - `StorageCounts` varchar(30) NOT NULL DEFAULT '[0,0,0]', - `Inventory` mediumtext, - `Hitpoints` mediumtext, - `Fuel` double(13,5) NOT NULL DEFAULT '1.00000', - `Damage` double(13,5) NOT NULL DEFAULT '0.00000', - `Colour` varchar(50) NOT NULL, - `Colour2` varchar(50) NOT NULL, - `serverKey` varchar(10) NOT NULL DEFAULT 'old', - `ObjUID` varchar(20) NOT NULL DEFAULT 'old', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; \ No newline at end of file