From bd78ae3045c657bdd54f607bf2d50647d39cce02 Mon Sep 17 00:00:00 2001 From: He-Man Date: Mon, 25 Mar 2019 18:39:30 +0100 Subject: [PATCH] Storage Lock / Unlock Tweaks --- Server_Install_Pack/@epochhive/epochconfig.hpp | 1 + .../compile/epoch_vehicle/EPOCH_load_storage.sqf | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Server_Install_Pack/@epochhive/epochconfig.hpp b/Server_Install_Pack/@epochhive/epochconfig.hpp index d9f98646..d2fa5719 100644 --- a/Server_Install_Pack/@epochhive/epochconfig.hpp +++ b/Server_Install_Pack/@epochhive/epochconfig.hpp @@ -88,6 +88,7 @@ forceRestartTime = 14400; // 4 hour restarts // BaseBuilding StorageSlotsLimit = 1500; // Max storage slots allowed. Warning! Higher the number lower performance. BuildingSlotsLimit = 1500; // Max building slots allowed. Warning! Higher the number lower performance. + AutoLockStorages = "false"; // Auto Lock Lockable Storages on Server Start / Restart (if true, unlocked storages will get locked after restarts) UseIndestructible = "false"; // Enable / Disable Indestructible BaseObjects IndestructibleBaseObjects[] = { // Can be Names or Classes "Constructions_static_F", diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf index 1bf132a6..219e5220 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf @@ -13,7 +13,7 @@ https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_storage.sqf */ //[[[cog import generate_private_arrays ]]] -private ["_ExceptedBaseObjects","_IndestructibleBaseObjects","_UseIndestructible","_arr","_attachments","_availableColorsConfig","_cfgBaseBuilding","_class","_class_raw","_color","_colors","_count","_damage","_diag","_dir","_inventory","_location","_magazineName","_magazineSize","_magazineSizeMax","_marker","_objQty","_objType","_objTypes","_qty","_response","_selections","_serverSettingsConfig","_storageSlotIndex","_textureSelectionIndex","_textures","_vehHiveKey","_vehicle","_wMags","_wMagsArray","_worldspace","_wsCount"]; +private ["_ExceptedBaseObjects","_AutoLockStorages","_IndestructibleBaseObjects","_UseIndestructible","_arr","_attachments","_availableColorsConfig","_cfgBaseBuilding","_class","_class_raw","_color","_colors","_count","_damage","_diag","_dir","_inventory","_location","_magazineName","_magazineSize","_magazineSizeMax","_marker","_objQty","_objType","_objTypes","_qty","_response","_selections","_serverSettingsConfig","_storageSlotIndex","_textureSelectionIndex","_textures","_vehHiveKey","_vehicle","_wMags","_wMagsArray","_worldspace","_wsCount"]; //[[[end]]] params [["_maxStorageLimit",0]]; @@ -21,6 +21,7 @@ _serverSettingsConfig = configFile >> "CfgEpochServer"; _UseIndestructible = [_serverSettingsConfig, "UseIndestructible", false] call EPOCH_fnc_returnConfigEntry; _IndestructibleBaseObjects = [_serverSettingsConfig, "IndestructibleBaseObjects", []] call EPOCH_fnc_returnConfigEntry; _ExceptedBaseObjects = [_serverSettingsConfig, "ExceptedBaseObjects", []] call EPOCH_fnc_returnConfigEntry; +_AutoLockStorages = [_serverSettingsConfig, "AutoLockStorages", false] call EPOCH_fnc_returnConfigEntry; _diag = diag_tickTime; EPOCH_StorageSlots = []; @@ -136,8 +137,16 @@ for "_i" from 1 to _maxStorageLimit do { if (count _arr >= 6) then { if (_class isKindOf 'Constructions_lockedstatic_F') then{ // set locked state of secure storage - if ((_arr select 6) != -1) then { + if (((_arr select 6) != -1) || _AutoLockStorages) then { _vehicle setVariable["EPOCH_Locked", true, true]; + } + else { + _vehicle setVariable["EPOCH_Locked", false, true]; + if (_vehicle iskindof "GunSafe_EPOCH") then { + { + _vehicle animate _x; + } foreach [['handle1',1],['handle2',1],['door1',1],['door2',1]]; + }; }; _vehicle setVariable ["STORAGE_OWNERS", _arr select 5]; };