Add extra animations to ArmoredSUV, MV22, UH1Y

This commit is contained in:
ebaydayz
2016-11-26 21:14:02 -05:00
parent 18616828f3
commit 6cdc0a51c9
12 changed files with 194 additions and 56 deletions

View File

@@ -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)

View File

@@ -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.<br /><br /> ""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

View File

@@ -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"

View File

@@ -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]";
};

View File

@@ -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];";
};
};
};

View File

@@ -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;

View File

@@ -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)";

View File

@@ -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 {

View File

@@ -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];";
};
};
};

View File

@@ -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;

View File

@@ -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;

View File

@@ -9618,16 +9618,6 @@
<Russian>Ворота закрыты.</Russian>
<German>Tore geschlossen.</German>
</Key>
<Key ID="STR_BLD_ACTIONS_OPENGATE">
<English>Open Gate</English>
<German>Tor öffnen</German>
<Russian>Открыть ворота</Russian>
</Key>
<Key ID="STR_BLD_ACTIONS_CLOSEGATE">
<English>Close Gate</English>
<German>Tor schließen</German>
<Russian>Закрыть ворота</Russian>
</Key>
<Key ID="STR_BLD_ACTIONS_SETLOCKCODE">
<English>Set Lock Code</English>
<German>Zugangscode setzen</German>
@@ -16520,29 +16510,11 @@
<German>Du darfst diese Tür nicht verwalten.</German>
</Key>
<Key ID="STR_EPOCH_DOORS_OPEN">
<English>Open Door</English>
<German>Tür öffnen</German>
<French>Ouvrir portes</French>
<Spanish>Abrir puertas</Spanish>
<Italian>Apri le porte</Italian>
<Hungarian>Ajtó kinyitása</Hungarian>
<Polish>Otwórz drzwi</Polish>
<Russian>Открыть двери</Russian>
<Czech>Otevřít dveře</Czech>
<Japanese>ドアを開ける</Japanese>
<Key ID="STR_EPOCH_OPEN_RAMP">
<English>Open Ramp</English>
</Key>
<Key ID="STR_EPOCH_DOORS_CLOSE">
<English>Close Door</English>
<German>Tür schließen</German>
<French>Fermer portes</French>
<Spanish>Cerrar puertas</Spanish>
<Italian>Chiudi le porte</Italian>
<Hungarian>Ajtó bezárása</Hungarian>
<Polish>Zamknij drzwi</Polish>
<Russian>Закрыть двери</Russian>
<Czech>Zavřít dveře</Czech>
<Japanese>ドアを閉める</Japanese>
<Key ID="STR_EPOCH_CLOSE_RAMP">
<English>Close Ramp</English>
</Key>
<Key ID="STR_EPOCH_DOORS_UNLOCK">
<English>Unlock Door</English>