diff --git a/.hemtt/missions/test.Stratis/mission.sqm b/.hemtt/missions/test.Stratis/mission.sqm
index 9a37e6b..a6dbd89 100644
--- a/.hemtt/missions/test.Stratis/mission.sqm
+++ b/.hemtt/missions/test.Stratis/mission.sqm
@@ -20,10 +20,10 @@ class EditorData
};
class Camera
{
- pos[]={2115.6221,61.299213,5696.2256};
- dir[]={-0.35770744,-0.57448208,-0.73621982};
- up[]={-0.25105935,0.81851542,-0.51672125};
- aside[]={-0.89945447,1.6298145e-09,0.43701831};
+ pos[]={2103.7285,49.199692,5677.5742};
+ dir[]={-0.24344152,-0.74140024,-0.6253494};
+ up[]={-0.26895773,0.67106307,-0.69089508};
+ aside[]={-0.93187869,-1.4901161e-08,0.36276996};
};
};
binarizationWanted=0;
@@ -124,18 +124,18 @@ class Mission
dataType="Object";
class PositionInfo
{
- position[]={2095.22,6.6758265,5649.3877};
+ position[]={2093.6479,6.6836753,5649.085};
angles[]={0,3.8437212,0};
};
side="West";
flags=7;
class Attributes
{
+ name="zeus";
isPlayer=1;
};
id=75;
type="B_Soldier_SL_F";
- atlOffset=4.7683716e-07;
class CustomAttributes
{
class Attribute0
@@ -173,7 +173,6 @@ class Mission
name="respawn_group";
};
id=74;
- atlOffset=4.7683716e-07;
};
class Item1
{
@@ -345,11 +344,11 @@ class Mission
dataType="Logic";
class PositionInfo
{
- position[]={2030.7878,6.2922206,5623.8281};
+ position[]={2030.788,6.292222,5623.8281};
};
id=83;
type="ModuleCurator_F";
- atlOffset=-4.7683716e-07;
+ atlOffset=4.7683716e-07;
class CustomAttributes
{
class Attribute0
@@ -361,7 +360,7 @@ class Mission
class data
{
singleType="STRING";
- value="";
+ value="zeus";
};
};
};
@@ -400,7 +399,7 @@ class Mission
class data
{
singleType="SCALAR";
- value=2;
+ value=3;
};
};
};
diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp
index 271c074..d254164 100644
--- a/addons/respawn/CfgVehicles.hpp
+++ b/addons/respawn/CfgVehicles.hpp
@@ -16,7 +16,7 @@ class CfgVehicles {
class GVAR(moduleRespawn): Module_F {
scope = 2;
- displayName = "$$$ RESPAWN $$$";
+ displayName = CSTRING(ModuleRespawn_DisplayName);
category = QUOTE(PREFIX);
icon = "\a3\Modules_f\data\iconRespawn_ca.paa";
portrait = "\a3\Modules_f\data\portraitRespawn_ca.paa";
@@ -29,7 +29,7 @@ class CfgVehicles {
class Attributes: AttributesBase {
class GVAR(applyTo): Combo {
- displayName = "Apply to";
+ displayName = CSTRING(ModuleRespawn_Attribute_ApplyTo_DisplayName);
property = QGVAR(applyTo);
typeName = "NUMBER";
@@ -52,8 +52,8 @@ class CfgVehicles {
};
class GVAR(filter): EGVAR(common,codeSmall) {
- displayName = "Filter units code";
- tooltip = "\nparams [""_unit""]";
+ displayName = CSTRING(ModuleRespawn_Attribute_Filter_DisplayName);
+ tooltip = "params [""_unit""]";
property = QGVAR(filter);
defaultValue = "'true'";
@@ -64,8 +64,8 @@ class CfgVehicles {
class ModuleDescription: ModuleDescription {
description[] = {
- "Synchronize the module with a trigger to respawn players of the selected side once it's activated.",
- "List of the players can be filtered with optional condition code."
+ CSTRING(ModuleRespawn_Description_0),
+ CSTRING(ModuleRespawn_Description_1),
};
sync[] = {"EmptyDetector"};
diff --git a/addons/respawn/functions/fnc_addZeusModules.sqf b/addons/respawn/functions/fnc_addZeusModules.sqf
index e4b1a21..e499d98 100644
--- a/addons/respawn/functions/fnc_addZeusModules.sqf
+++ b/addons/respawn/functions/fnc_addZeusModules.sqf
@@ -10,13 +10,15 @@ if (isNil "zen_custom_modules_fnc_register" || !isMultiplayer) exitWith {};
LOG("Adding ZEN modules");
-[ELSTRING(Main,Category), "Respawn side", {
+private _iconRespawn = getText (configFile >> "CfgVehicles" >> QGVAR(moduleRespawn) >> "portrait");
+
+[ELSTRING(Main,Category), LSTRING(ModuleRespawn_ZEN_Sides_DisplayName), {
[
- "Respawn side",
+ LSTRING(ModuleRespawn_ZEN_Sides_DisplayName),
[
[
"SIDES",
- "Sides to respawn",
+ LSTRING(ModuleRespawn_ZEN_Sides_AttributeSides_DisplayName),
[],
false
]
@@ -28,21 +30,26 @@ LOG("Adding ZEN modules");
private _players = allPlayers select {side group _x in _sides && !alive _x};
- format ["Respawning %1 players", count _players] call CBA_fnc_notify;
+ format [LLSTRING(ModuleRespawn_Notification_RespawningMany), count _players] call CBA_fnc_notify;
[QGVAR(force), nil, _players] call CBA_fnc_targetEvent;
}
] call zen_dialog_fnc_create;
-}, getText (configFile >> "CfgVehicles" >> QGVAR(moduleRespawn) >> "portrait")] call zen_custom_modules_fnc_register;
+}, _iconRespawn] call zen_custom_modules_fnc_register;
-[ELSTRING(Main,Category), "Respawn player", {
+[ELSTRING(Main,Category), LSTRING(ModuleRespawn_ZEN_Player_DisplayName), {
private _deadPlayers = allPlayers select {!alive _x};
private _deadPlayersNames = _deadPlayers apply {format ["%1 (%2)", name _x, side group _x]};
+
+ if (_deadPlayers isEqualTo []) exitWith {
+ [objNull, LLSTRING(ModuleRespawn_Notification_NoDead)] call BIS_fnc_showCuratorFeedbackMessage;
+ };
+
[
- "Respawn player",
+ LSTRING(ModuleRespawn_ZEN_Player_DisplayName),
[
[
"LIST",
- "Dead players:",
+ LSTRING(ModuleRespawn_ZEN_Player_AttributeDead_DisplayName),
[
_deadPlayers,
_deadPlayersNames,
@@ -57,11 +64,11 @@ LOG("Adding ZEN modules");
_dialogValues params ["_selected"];
TRACE_1("",_dialogValues);
- format ["Respawning %1", name _selected] call CBA_fnc_notify;
+ format [LLSTRING(ModuleRespawn_Notification_RespawningSingle), name _selected] call CBA_fnc_notify;
[QGVAR(force), nil, _selected] call CBA_fnc_targetEvent;
},
{},
_deadPlayers
] call zen_dialog_fnc_create;
-}, getText (configFile >> "CfgVehicles" >> QGVAR(moduleRespawn) >> "portrait")] call zen_custom_modules_fnc_register;
+}, _iconRespawn] call zen_custom_modules_fnc_register;
diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml
index 8d0ecb5..35862e6 100644
--- a/addons/respawn/stringtable.xml
+++ b/addons/respawn/stringtable.xml
@@ -21,5 +21,58 @@
How much time must pass before player will respawn (if respawn is enabled).
Jak dużo czasu musi upłynąć by gracz mógł się odrodzić (jeśli odrodzenie jest włączone).
+
+
+ Force respawn
+ Wymuś odrodzenie
+
+
+ Apply to
+ Zastosuj do
+
+
+ Filter units code
+ Kod filtru jednostek
+
+
+ Synchronize the module with a trigger to respawn players of the selected side once it's activated.
+ Zsynchronizuj moduł z triggerem aby odrodzić graczy po jego aktywacji.
+
+
+ List of the players can be filtered with filter code.
+ Lista graczy może zostać odfiltrowana za pomocą kodu filtru.
+
+
+
+ Respawn sides
+ Odródź strony
+
+
+ Sides to respawn
+ Strony do odrodzenia
+
+
+
+ Respawn player
+ Odródź gracza
+
+
+ Dead players:
+ Martwi gracze:
+
+
+
+ Respawning %1
+ Odradzanie %1
+
+
+ Respawning %1 players
+ Odradzanie %1 graczy
+
+
+ No dead players
+ Brak martwych graczy
+
+