From 6cdc0a51c9e7ad257c344874c2ccc9ff294fbe8f Mon Sep 17 00:00:00 2001 From: ebaydayz Date: Sat, 26 Nov 2016 21:14:02 -0500 Subject: [PATCH] Add extra animations to ArmoredSUV, MV22, UH1Y --- CHANGE LOG 1.0.6.txt | 2 + .../Configs/CfgVehicles/Car/ArmoredSUV.hpp | 26 ++++++++++ .../Configs/CfgVehicles/CfgVehicles.hpp | 1 + .../Configs/CfgVehicles/DZE/Doors.hpp | 40 +++++++-------- .../Configs/CfgVehicles/Helicopter/AH1Z.hpp | 45 +++++++++++++++++ .../Configs/CfgVehicles/Helicopter/CH53.hpp | 4 +- .../Configs/CfgVehicles/Helicopter/MI17.hpp | 4 ++ .../Configs/CfgVehicles/Helicopter/UH1Y.hpp | 32 ++++++++++++ .../Configs/CfgVehicles/Plane/MV22.hpp | 50 +++++++++++++++++++ SQF/dayz_code/compile/fn_damageActions.sqf | 6 +++ SQF/dayz_code/compile/fn_selfActions.sqf | 4 +- SQF/dayz_code/stringtable.xml | 36 ++----------- 12 files changed, 194 insertions(+), 56 deletions(-) create mode 100644 SQF/dayz_code/Configs/CfgVehicles/Helicopter/AH1Z.hpp diff --git a/CHANGE LOG 1.0.6.txt b/CHANGE LOG 1.0.6.txt index 012c7ce0a..a52ce2a17 100644 --- a/CHANGE LOG 1.0.6.txt +++ b/CHANGE LOG 1.0.6.txt @@ -53,6 +53,8 @@ [NEW] Rewrote death messages to a PVEH instead of the unreliable MPHit. Added localization, more causes of death, systemChat and dynamicText killfeed options. @ebaydayz [NEW] Group system ('F5' key) with database save. Settings available in configVariables.sqf. CommandBar and RadioProtocol spam are now disabled via config. @icomrade @ebaydayz [NEW] Parachute can now auto open at a set height during HALO jump. Altitude and speed meter can also be enabled. See configVariables.sqf. @ebaydayz +[NEW] Added hatch, fold and ramp animation UserActions to ArmoredSUV, AH1Z, MV22 and UH1Y configs. @ebaydayz +[NEW] VON in side and global is now blocked by default. See configVariables.sqf to change blocked VON channels. @icomrade [CHANGED] Combattimeout now uses diag_tickTime instead of time. [CHANGED] AmmoBoxSmall_556/762 is replaced with DZ_AmmoBoxUS/RU/EU/CZ and MedBox0 is replaced with DZ_MedBox (new model) diff --git a/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp b/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp index 9534e6074..5c1b04a07 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Car/ArmoredSUV.hpp @@ -252,6 +252,32 @@ class ArmoredSUV_Base_PMC: Car { libTextDesc = "An SUV (Sport Utility Vehicle) is a generic marketing term for a vehicle similar to a station wagon, but built on a light-truck chassis. These particular SUVs are up-armored to protect the security operators inside from small-arms fire. This model has been outfitted with a M134 7.62mm Minigun, which can be retracted back into the vehicle.

""Black Betty"" is a nickname often used for this vehicle by ION Inc. contractors."; }; + class UserActions { + //class Repair {ACTION_REPAIR; radius = 4;}; + //class Salvage {ACTION_SALVAGE; radius = 4;}; + class OpenHatch { + displayName = $STR_AM_OPENGUNNER; + displayNameDefault = $STR_AM_OPENGUNNER; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "this animationPhase 'HideGun_01' == 1"; + statement = "this animate ['HideGun_01',0]; this animate ['CloseCover1',0]; this animate ['CloseCover2',0];"; + }; + class CloseHatch { + displayName = $STR_AM_CLOSEGUNNER; + displayNameDefault = $STR_AM_CLOSEGUNNER; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "isNull (this turretUnit [0]) && (this animationPhase 'HideGun_01' == 0)"; + statement = "this spawn {_this animate ['HideGun_01',1]; uiSleep 1; _this animate ['CloseCover1',1]; _this animate ['CloseCover2',1];};"; + }; + }; }; class ArmoredSUV_PMC_DZ: ArmoredSUV_Base_PMC diff --git a/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp b/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp index 644a4596e..53332c01f 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/CfgVehicles.hpp @@ -526,6 +526,7 @@ class CfgVehicles { #include "Helicopter\UH60.hpp" #include "Helicopter\CH47.hpp" #include "Helicopter\BAF_Merlin.hpp" + #include "Helicopter\AH1Z.hpp" //Wrecks //#include "Helicopter\MI8Wreck.hpp" //#include "Helicopter\UH1Wreck.hpp" diff --git a/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp b/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp index 29e9a90f8..303ba8b8d 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/DZE/Doors.hpp @@ -299,7 +299,7 @@ class Land_DZE_WoodDoor: Land_DZE_WoodDoor_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -308,7 +308,7 @@ class Land_DZE_WoodDoor: Land_DZE_WoodDoor_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; condition="this animationPhase ""Open_door"" >= 0.5"; statement="this animate [""Open_door"", 0];"; }; @@ -340,7 +340,7 @@ class Land_DZE_WoodDoorLocked: Land_DZE_WoodDoorLocked_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -350,7 +350,7 @@ class Land_DZE_WoodDoorLocked: Land_DZE_WoodDoorLocked_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; //condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; statement="this animate [""Open_door"", 0]"; @@ -399,7 +399,7 @@ class Land_DZE_LargeWoodDoor: Land_DZE_WoodDoor_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -408,7 +408,7 @@ class Land_DZE_LargeWoodDoor: Land_DZE_WoodDoor_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; condition="this animationPhase ""Open_door"" >= 0.5"; statement="this animate [""Open_door"", 0]"; }; @@ -440,7 +440,7 @@ class Land_DZE_LargeWoodDoorLocked: Land_DZE_WoodDoorLocked_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -450,7 +450,7 @@ class Land_DZE_LargeWoodDoorLocked: Land_DZE_WoodDoorLocked_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; //condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; statement="this animate [""Open_door"", 0]"; @@ -499,7 +499,7 @@ class Land_DZE_GarageWoodDoor: Land_DZE_WoodDoor_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -508,7 +508,7 @@ class Land_DZE_GarageWoodDoor: Land_DZE_WoodDoor_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; condition="this animationPhase ""Open_door"" >= 0.5"; statement="this animate [""Open_door"", 0]"; }; @@ -540,7 +540,7 @@ class Land_DZE_GarageWoodDoorLocked: Land_DZE_WoodDoorLocked_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -550,7 +550,7 @@ class Land_DZE_GarageWoodDoorLocked: Land_DZE_WoodDoorLocked_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; //condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; statement="this animate [""Open_door"", 0]"; @@ -605,7 +605,7 @@ class CinderWallDoorLocked_DZ: CinderWallDoorLocked_DZ_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -615,7 +615,7 @@ class CinderWallDoorLocked_DZ: CinderWallDoorLocked_DZ_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; //condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_latch"" == 1)"; statement="this animate [""Open_door"", 0]"; @@ -665,7 +665,7 @@ class CinderWallDoor_DZ: CinderWallDoor_DZ_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -674,7 +674,7 @@ class CinderWallDoor_DZ: CinderWallDoor_DZ_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; condition="this animationPhase ""Open_door"" >= 0.5"; statement="this animate [""Open_door"", 0]"; }; @@ -708,7 +708,7 @@ class CinderWallDoorSmallLocked_DZ: CinderWallDoorLocked_DZ_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -718,7 +718,7 @@ class CinderWallDoorSmallLocked_DZ: CinderWallDoorLocked_DZ_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; //condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_hinge"" == 1)"; condition="(this animationPhase ""Open_door"" == 1) and (this animationPhase ""Open_latch"" == 1)"; statement="this animate [""Open_door"", 0]"; @@ -768,7 +768,7 @@ class CinderWallDoorSmall_DZ: CinderWallDoor_DZ_Base { { class Open_Door { - displayName=$STR_EPOCH_DOORS_OPEN; + displayName=$STR_DN_OUT_O_DOOR; onlyforplayer = true; position="Door_knopf"; radius=3; /* visibility distance of the entry */ @@ -777,7 +777,7 @@ class CinderWallDoorSmall_DZ: CinderWallDoor_DZ_Base { }; class Close_Door : Open_Door { - displayName=$STR_EPOCH_DOORS_CLOSE; + displayName=$STR_DN_OUT_C_DOOR; condition="this animationPhase ""Open_door"" >= 0.5"; statement="this animate [""Open_door"", 0]"; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AH1Z.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AH1Z.hpp new file mode 100644 index 000000000..571d1b92b --- /dev/null +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/AH1Z.hpp @@ -0,0 +1,45 @@ +class AH1Z; +class AH1Z_DZ: AH1Z { + scope = public; + crew = ""; + typicalCargo[] = {}; + class TransportMagazines {}; + class TransportWeapons {}; + commanderCanSee = 2+16+32; + gunnerCanSee = 2+16+32; + driverCanSee = 2+16+32; + fuelCapacity = 1333; + + class DefaultEventhandlers; + class EventHandlers: DefaultEventhandlers + { + killed = "_this call BIS_Effects_EH_Killed;"; + engine = "if (_this select 1) then {(_this select 0) animate ['mainrotor_folded',1]; (_this select 0) animate ['mainrotor_unfolded',0]; (_this select 0) animate ['rotorshaft_unfolded',0];} else {_this select 0 setVariable ['engineOffTime',diag_tickTime,false];};"; //Unfold + }; + class UserActions { + //class Repair {ACTION_REPAIR; radius = 8;}; + //class Salvage {ACTION_SALVAGE; radius = 8;}; + class Fold { + displayName = $STR_AM_PACK; + displayNameDefault = $STR_AM_PACK; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "!isEngineOn this && {player == driver this} && {this animationPhase 'mainrotor_unfolded' == 0} && {diag_tickTime - (this getVariable ['engineOffTime',0]) > 20}"; + statement = "this animate ['mainrotor_folded',0]; this animate ['mainrotor_unfolded',1]; this animate ['rotorshaft_unfolded',1];"; + }; + class Unfold { + displayName = $STR_AM_UNPACK; + displayNameDefault = $STR_AM_UNPACK; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "!isEngineOn this && {player == driver this} && {this animationPhase 'mainrotor_unfolded' == 1}"; + statement = "this animate ['mainrotor_folded',1]; this animate ['mainrotor_unfolded',0]; this animate ['rotorshaft_unfolded',0];"; + }; + }; +}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH53.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH53.hpp index 478d7ed0c..0cc4f8260 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH53.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/CH53.hpp @@ -37,7 +37,7 @@ class CH53_DZE : USEC_ch53_E { class Repair {ACTION_REPAIR; radius = 8;}; class Salvage {ACTION_SALVAGE; radius = 8;}; class RampOpen { - displayName = "Open Ramp"; + displayName = $STR_EPOCH_OPEN_RAMP; position = "ramp action"; showWindow = 0; radius = 5; @@ -46,7 +46,7 @@ class CH53_DZE : USEC_ch53_E { onlyforplayer = 0; }; class RampClose { - displayName = "Close Ramp"; + displayName = $STR_EPOCH_CLOSE_RAMP; position = "ramp action"; showWindow = 0; radius = 5; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp index a67f60353..af93cd902 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/MI17.hpp @@ -300,7 +300,9 @@ class Mi171Sh_CZ_EP1_DZ: Mi17_base { class HUDoff { displayName = $STR_AM_HUDON; displayNameDefault = $STR_AM_HUDON; + priority = 0; position = "zamerny"; + showWindow = 0; radius = 1; onlyForPlayer = 1; condition = "(player==driver this)and(this animationphase ""HUDAction"" !=0)"; @@ -309,7 +311,9 @@ class Mi171Sh_CZ_EP1_DZ: Mi17_base { class HUDon { displayName = $STR_AM_HUDOFF; displayNameDefault = $STR_AM_HUDOFF; + priority = 0; position = "zamerny"; + showWindow = 0; radius = 1; onlyForPlayer = 1; condition = "(player==driver this)and(this animationphase ""HUDAction"" !=1)"; diff --git a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp index 6de1ad060..48a88f7bc 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Helicopter/UH1Y.hpp @@ -88,13 +88,21 @@ class UH1Y_DZ: UH1_Base { magazines[] = {"2000Rnd_762x51_M134"}; }; };*/ + class DefaultEventhandlers; + class EventHandlers: DefaultEventhandlers + { + killed = "_this call BIS_Effects_EH_Killed;"; + engine = "if (_this select 1) then {(_this select 0) animate ['mainrotor_folded',1]; (_this select 0) animate ['mainrotor_unfolded',0];} else {_this select 0 setVariable ['engineOffTime',diag_tickTime,false];};"; //Unfold + }; class UserActions { //class Repair {ACTION_REPAIR; radius = 8;}; //class Salvage {ACTION_SALVAGE; radius = 8;}; class HUDoff { displayName = $STR_AM_HUDON; displayNameDefault = $STR_AM_HUDON; + priority = 0; position = "zamerny"; + showWindow = 0; radius = 1; onlyForPlayer = 1; condition = "(player==driver this)and(this animationphase ""HUDAction"" !=1)"; @@ -103,12 +111,36 @@ class UH1Y_DZ: UH1_Base { class HUDon { displayName = $STR_AM_HUDOFF; displayNameDefault = $STR_AM_HUDOFF; + priority = 0; position = "zamerny"; + showWindow = 0; radius = 1; onlyForPlayer = 1; condition = "(player==driver this)and(this animationphase ""HUDAction"" !=0)"; statement = "this animate [""HUDAction"",0];this animate [""HUDAction_1"",0]"; }; + class Fold { + displayName = $STR_AM_PACK; + displayNameDefault = $STR_AM_PACK; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "!isEngineOn this && {player == driver this} && {this animationPhase 'mainrotor_unfolded' == 0} && {diag_tickTime - (this getVariable ['engineOffTime',0]) > 20}"; + statement = "this animate ['mainrotor_folded',0]; this animate ['mainrotor_unfolded',1];"; + }; + class Unfold { + displayName = $STR_AM_UNPACK; + displayNameDefault = $STR_AM_UNPACK; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "!isEngineOn this && {player == driver this} && {this animationPhase 'mainrotor_unfolded' == 1}"; + statement = "this animate ['mainrotor_folded',1]; this animate ['mainrotor_unfolded',0];"; + }; }; }; class UH1Y_DZE: UH1Y_DZ { diff --git a/SQF/dayz_code/Configs/CfgVehicles/Plane/MV22.hpp b/SQF/dayz_code/Configs/CfgVehicles/Plane/MV22.hpp index fe2214827..39e3c6002 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/Plane/MV22.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/Plane/MV22.hpp @@ -14,10 +14,60 @@ class MV22_DZ : MV22 { transportMaxMagazines = 400; transportmaxbackpacks = 10; fuelCapacity = 6513; + class DefaultEventhandlers; + class EventHandlers: DefaultEventhandlers + { + killed = "_this call BIS_Effects_EH_Killed;"; + engine = "if (_this select 1) then {{_this select 0 animate [_x,0]} count ['engine_prop_1_1_turn','engine_prop_1_2_turn','engine_prop_1_3_turn','engine_prop_2_1_turn','engine_prop_2_2_turn','engine_prop_2_3_turn','engine_prop_1_1_close','engine_prop_1_3_close','engine_prop_2_1_close','engine_prop_2_2_close','pack_engine_1','pack_engine_2','turn_wing'];} else {_this select 0 setVariable ['engineOffTime',diag_tickTime,false];};"; //Unfold + }; class UserActions { //class Repair {ACTION_REPAIR; radius = 8;}; //class Salvage {ACTION_SALVAGE; radius = 8;}; class PushPlane {ACTION_PUSH;}; + class Fold { + displayName = $STR_AM_PACK; + displayNameDefault = $STR_AM_PACK; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "!isEngineOn this && {player == driver this} && {this animationPhase 'turn_wing' == 0} && {diag_tickTime - (this getVariable ['engineOffTime',0]) > 8}"; + statement = "{this animate [_x,1]} count ['engine_prop_1_1_turn','engine_prop_1_2_turn','engine_prop_1_3_turn','engine_prop_2_1_turn','engine_prop_2_2_turn','engine_prop_2_3_turn','engine_prop_1_1_close','engine_prop_1_3_close','engine_prop_2_1_close','engine_prop_2_2_close','pack_engine_1','pack_engine_2','turn_wing'];"; + }; + class Unfold { + displayName = $STR_AM_UNPACK; + displayNameDefault = $STR_AM_UNPACK; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "!isEngineOn this && {player == driver this} && {this animationPhase 'turn_wing' == 1}"; + statement = "{this animate [_x,0]} count ['engine_prop_1_1_turn','engine_prop_1_2_turn','engine_prop_1_3_turn','engine_prop_2_1_turn','engine_prop_2_2_turn','engine_prop_2_3_turn','engine_prop_1_1_close','engine_prop_1_3_close','engine_prop_2_1_close','engine_prop_2_2_close','pack_engine_1','pack_engine_2','turn_wing'];"; + }; + class OpenRamp { + displayName = $STR_EPOCH_OPEN_RAMP; + displayNameDefault = $STR_EPOCH_OPEN_RAMP; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "player == driver this && (this animationPhase 'ramp_bottom' == 0)"; + statement = "this animate ['ramp_top',1]; this animate ['ramp_bottom',1];"; + }; + class CloseRamp { + displayName = $STR_EPOCH_CLOSE_RAMP; + displayNameDefault = $STR_EPOCH_CLOSE_RAMP; + priority = 0; + position = "zamerny"; + showWindow = 0; + radius = 1; + onlyForPlayer = 1; + condition = "player == driver this && (this animationPhase 'ramp_bottom' == 1)"; + statement = "this animate ['ramp_top',0]; this animate ['ramp_bottom',0];"; + }; }; }; diff --git a/SQF/dayz_code/compile/fn_damageActions.sqf b/SQF/dayz_code/compile/fn_damageActions.sqf index b734ea096..104549be2 100644 --- a/SQF/dayz_code/compile/fn_damageActions.sqf +++ b/SQF/dayz_code/compile/fn_damageActions.sqf @@ -22,6 +22,12 @@ if (_inVehicle) then { _driver = driver (vehicle player); if (str (_assignedRole) != str (r_player_lastSeat)) then { call r_player_removeActions2; + if (_vehicle isKindOf "ArmoredSUV_Base_PMC" && {_vehicle animationPhase "HideGun_01" == 1} && {_vehicle emptyPositions "Gunner" == 0}) then { + (_vehicle turretUnit [0]) action ["moveToCargo",_vehicle,(count assignedCargo _vehicle)]; + _vehicle animate ["HideGun_01",0]; + _vehicle animate ["CloseCover1",0]; + _vehicle animate ["CloseCover2",0]; + }; }; if (!r_player_unconscious && !r_action2) then { r_player_lastSeat = _assignedRole; diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf index 77ea0385a..8f070571d 100644 --- a/SQF/dayz_code/compile/fn_selfActions.sqf +++ b/SQF/dayz_code/compile/fn_selfActions.sqf @@ -547,7 +547,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur // open Gate if (_isGate && _isClosed && _isUnlocked) then { if (s_player_openGate < 0) then { - s_player_openGate = player addAction [localize "STR_BLD_ACTIONS_OPENGATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Open"], 1, true, true]; + s_player_openGate = player addAction [localize "STR_DN_OUT_O_GATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Open"], 1, true, true]; }; } else { player removeAction s_player_openGate; @@ -556,7 +556,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur // Close Gate if (_isGate && _isOpen && _isUnlocked) then { if (s_player_CloseGate < 0) then { - s_player_CloseGate = player addAction [localize "STR_BLD_ACTIONS_CLOSEGATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Close"], 1, true, true]; + s_player_CloseGate = player addAction [localize "STR_DN_OUT_C_GATE", "\z\addons\dayz_code\actions\player_operate.sqf",[_cursorTarget,"Close"], 1, true, true]; }; } else { player removeAction s_player_CloseGate; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index e4f236dfe..38619d35e 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -9618,16 +9618,6 @@ Ворота закрыты. Tore geschlossen. - - Open Gate - Tor öffnen - Открыть ворота - - - Close Gate - Tor schließen - Закрыть ворота - Set Lock Code Zugangscode setzen @@ -16520,29 +16510,11 @@ Du darfst diese Tür nicht verwalten. - - Open Door - Tür öffnen - Ouvrir portes - Abrir puertas - Apri le porte - Ajtó kinyitása - Otwórz drzwi - Открыть двери - Otevřít dveře - ドアを開ける + + Open Ramp - - Close Door - Tür schließen - Fermer portes - Cerrar puertas - Chiudi le porte - Ajtó bezárása - Zamknij drzwi - Закрыть двери - Zavřít dveře - ドアを閉める + + Close Ramp Unlock Door