From 5461729599179981995c4fd8bb170f8ce5c13541 Mon Sep 17 00:00:00 2001 From: seelenapparat Date: Thu, 20 Jan 2022 15:49:52 +0100 Subject: [PATCH] Added support for the elevator script via 3 new kits and objects This was made, so that you don't have to use the normal epoch buildables for the elevator anymore. You can now instead use these distinct items for the script. Classnames: Kits: elevatorstart_kit elevatorstop_glass_kit elevatorstop_transparent_kit Objects: ElevatorStart_DZ ElevatorStop_Glass_DZ ElevatorStop_Transparent_DZ --- .../Configs/CfgExtra/HelperVectors.hpp | 5 +- SQF/dayz_code/Configs/CfgExtra/snappoints.hpp | 7 +- .../Buildings/ModularBuilding.hpp | 66 +++++++++++++++++++ .../Buildables/ModularBuildMetal.hpp | 18 +++++ .../Buildables/ModularPreviews.hpp | 5 ++ .../Magazines/Buildings/ModularBuilding.hpp | 12 ++++ SQF/dayz_code/stringtable.xml | 12 ++++ 7 files changed, 122 insertions(+), 3 deletions(-) diff --git a/SQF/dayz_code/Configs/CfgExtra/HelperVectors.hpp b/SQF/dayz_code/Configs/CfgExtra/HelperVectors.hpp index 20f8fa2c0..518fce510 100644 --- a/SQF/dayz_code/Configs/CfgExtra/HelperVectors.hpp +++ b/SQF/dayz_code/Configs/CfgExtra/HelperVectors.hpp @@ -48,6 +48,8 @@ class HelperVectors: Helpers { { 2.635, -0.003, 0.141 } // Right }; }; + class ElevatorStart_DZ: MetalFloor_DZ {}; + class ElevatorStop_Transparent_DZ: MetalFloor_DZ {}; class Land_wreck_metal_floor: vector { points[] = { @@ -144,7 +146,8 @@ class HelperVectors: Helpers { { 2.625, -0.002, 0.141 } // Right }; }; - + class ElevatorStop_Glass_DZ: GlassFloor_DZ {}; + class GlassFloor_Half_DZ: vector { points[] = { { -0.032, -2.628, 0.141 }, // Back diff --git a/SQF/dayz_code/Configs/CfgExtra/snappoints.hpp b/SQF/dayz_code/Configs/CfgExtra/snappoints.hpp index f68349a75..6c6a3daa8 100644 --- a/SQF/dayz_code/Configs/CfgExtra/snappoints.hpp +++ b/SQF/dayz_code/Configs/CfgExtra/snappoints.hpp @@ -53,7 +53,9 @@ class SnapBuilding { }; }; class MetalFloor_Preview_DZ: MetalFloor_DZ {}; - + class ElevatorStart_DZ: MetalFloor_DZ {}; + class ElevatorStop_Transparent_DZ: MetalFloor_DZ {}; + class MetalFloor_Half_DZ { // f=5.25 / 2.625 / 1.3125 points[] = { { -0.006, 0.012, 0.132, $STR_EPOCH_ACTION_SNAP_PIVOT}, @@ -163,7 +165,8 @@ class SnapBuilding { }; }; class GlassFloor_Preview_DZ: GlassFloor_DZ {}; - + class ElevatorStop_Glass_DZ: GlassFloor_DZ {}; + class GlassFloor_Half_DZ { // f=5.25 / 2.625 / 1.3125 points[] = { { -0.032, -0.003, 0.141, $STR_EPOCH_ACTION_SNAP_PIVOT}, diff --git a/SQF/dayz_code/Configs/CfgMagazines/Buildings/ModularBuilding.hpp b/SQF/dayz_code/Configs/CfgMagazines/Buildings/ModularBuilding.hpp index 5ee08c69a..cee6fcd15 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Buildings/ModularBuilding.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Buildings/ModularBuilding.hpp @@ -1877,4 +1877,70 @@ class door_locked_kit: CA_Magazine create = "DoorLocked_DZ"; }; }; +}; + +class elevatorstart_kit: CA_Magazine +{ + scope = 2; + count = 1; + type = 256; + displayName = $STR_EPOCH_ELEVATORSTART; + descriptionShort = $STR_EPOCH_ELEVATORSTART; + 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 = "ElevatorStart_DZ"; + }; + }; +}; + +class elevatorstop_glass_kit: CA_Magazine +{ + scope = 2; + count = 1; + type = 256; + displayName = $STR_EPOCH_ELEVATORSTOP_GLASS; + descriptionShort = $STR_EPOCH_ELEVATORSTOP_GLASS; + 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 = "ElevatorStop_Glass_DZ"; + }; + }; +}; + +class elevatorstop_transparent_kit: CA_Magazine +{ + scope = 2; + count = 1; + type = 256; + displayName = $STR_EPOCH_ELEVATORSTOP_TRANSPARENT; + descriptionShort = $STR_EPOCH_ELEVATORSTOP_TRANSPARENT; + 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 = "ElevatorStop_Transparent_DZ"; + }; + }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp index b2a169084..bd2601443 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularBuildMetal.hpp @@ -103,4 +103,22 @@ class GlassFloor_Quarter_DZ: ModularItems { displayName = $STR_EPOCH_GLASSFLOORQUARTER; maintainBuilding[] = {{"PartGlass",1}}; GhostPreview = "GlassFloor_Quarter_Preview_DZ"; +}; + +class ElevatorStart_DZ: ModularItems { + scope = 2; + offset[] = {0,4,0}; + model = "\z\addons\dayz_epoch\models\metal_floor.p3d"; + armor = 3000; + displayName = $STR_EPOCH_ELEVATORSTART; + GhostPreview = "MetalFloor_Preview_DZ"; +}; + +class ElevatorStop_Glass_DZ: ModularItems { + scope = 2; + offset[] = {0,4,0}; + model = "\z\addons\dayz_epoch_v\base_building\floors\glass_floor.p3d"; + armor = 2000; + displayName = $STR_EPOCH_ELEVATORSTOP_GLASS; + GhostPreview = "GlassFloor_Preview_DZ"; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularPreviews.hpp b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularPreviews.hpp index aa4b94954..b7dc4cf15 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularPreviews.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Buildables/ModularPreviews.hpp @@ -238,4 +238,9 @@ class StorageShed_Preview_DZ: DZE_Ghost_Previews { scope = 2; model = "\z\addons\dayz_epoch_v\base_building\storage\Shed_M02_ghost.p3d"; displayName = "StorageShed Preview"; +}; +class ElevatorStop_Transparent_DZ: DZE_Ghost_Previews { + scope = 2; + model = "\z\addons\dayz_epoch\models\metal_floor_ghost.p3d"; + displayName = $STR_EPOCH_ELEVATORSTOP_TRANSPARENT; }; \ No newline at end of file diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/ModularBuilding.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/ModularBuilding.hpp index 80cabc815..925c6ef72 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/ModularBuilding.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Buildings/ModularBuilding.hpp @@ -277,6 +277,18 @@ class door_kit weight = 25; }; class door_locked_kit +{ + weight = 25; +}; +class elevatorstart_kit +{ + weight = 325; +}; +class elevatorstop_glass_kit +{ + weight = 200; +}; +class elevatorstop_transparent_kit { weight = 25; }; \ No newline at end of file diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index 94ec49ad4..5523429e2 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -29215,6 +29215,18 @@ Des places Sedadla + + Elevator Start + Fahrstuhl Start + + + Elevator Stop (Glass) + Fahrstuhl Halt (Glass) + + + Elevator Stop (Transparent) + Fahrstuhl Halt (Durchsichtig) + Glass Floor Glasboden