From 7617908ad363970e5935c1bee310d719592f71b5 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 4 Apr 2015 01:44:49 -0300 Subject: [PATCH 001/247] Make menu open linearly to the right of the action point --- addons/interact_menu/functions/fnc_renderIcon.sqf | 6 +++--- addons/interact_menu/functions/fnc_renderMenu.sqf | 6 +++--- addons/interact_menu/functions/fnc_renderSelector.sqf | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 8054e9d800..018b3e2865 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -35,8 +35,8 @@ GVAR(iconCount) = GVAR(iconCount) + 1; if(_icon == "") then { _icon = DEFAULT_ICON; }; -_text = format ["
%4", _icon, _color, _color, _text]; +_text = format ["%4", _icon, _color, _color, _text]; _ctrl ctrlSetStructuredText (parseText _text); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.125*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.25*SafeZoneW, 0.1*SafeZoneW]; -//_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; +_ctrl ctrlSetPosition [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.10*SafeZoneW, 0.035*SafeZoneW]; +//_ctrl ctrlSetBackgroundColor [0, 1, 0, 0.1]; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 42e8de16a2..b3e3d3b401 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -92,7 +92,7 @@ if (_numChildren == 1) then { }; // Scale menu based on the amount of children -_scale = 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5); +_scale = 0.17; // Animate menu scale if (_menuInSelectedPath && (_menuDepth == count _path)) then { _scale = _scale * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); @@ -106,8 +106,8 @@ _angle = _centerAngle - _angleSpan / 2; { //BEGIN_COUNTER(children); private ["_offset","_newPos"]; - _newPos = [(_sPos select 0) -_scale * cos _angle, - (_sPos select 1) +_scale * (sin _angle) * 4/3]; + _newPos = [(_sPos select 0) + _scale * 1.10, + (_sPos select 1) + _scale * 0.30 * 4/3 * (_foreachindex - _numChildren/2 + 0.5)]; //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; //END_COUNTER(children); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 44ed15e9c4..099d917c0f 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -24,7 +24,7 @@ private "_ctrl"; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; -_ctrl ctrlSetStructuredText (parseText format ["", _icon]); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.05*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +_ctrl ctrlSetStructuredText (parseText format ["", _icon]); +_ctrl ctrlSetPosition [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW]; //_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; _ctrl ctrlCommit 0; From a658cafb4e46c92882da97fa8e5d5b5a09958f23 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 4 Apr 2015 01:45:03 -0300 Subject: [PATCH 002/247] Remove line breaks from actions --- addons/interaction/stringtable.xml | 100 +++++++++++++------------- addons/magazinerepack/stringtable.xml | 20 +++--- addons/overheating/stringtable.xml | 20 +++--- 3 files changed, 70 insertions(+), 70 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index a4417df4e8..9c4a8932a6 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -435,16 +435,16 @@ A Terra! - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelés + Team Management + Team Management + Gestión de equipo + Gestion d'équipe + Zarządzanie oddziałem + Správa týmu + Управление группой + Gerenciamento de Equipe + Organizzazione Squadra + Csapat kezelés Red @@ -495,52 +495,52 @@ Sárga - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného Týmu - Присоединиться<br/>к красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz + Join Team Red + Team Rot beitreten + Unirse al equipo rojo + Rejoindre Rouge + Dołącz do drużyny czerwonej + Připojit do Červeného Týmu + Присоединиться к красной группе + Unir-se à Equipe Vermelha + Entra nella Squadra Rossa + Csatlakozás a piros csapathoz - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Verte - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného Týmu - Присоединиться<br/>к зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz + Join Team Green + Team Grün beitreten + Unirse al equipo verde + Rejoindre Verte + Dołącz do drużyny zielonej + Připojit do Zeleného Týmu + Присоединиться к зеленой группе + Unir-se à Equipe Verde + Entra nella Squadra Verde + Csatlakozás a zöld csapathoz - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleue - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého Týmu - Присоединиться<br/>к синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz + Join Team Blue + Team Blau beitreten + Unirse al equipo azul + Rejoindre Bleue + Dołącz do drużyny niebieskiej + Připojit do Modrého Týmu + Присоединиться к синей группе + Unir-se à Equipe Azul + Entra nella Squadra Blu + Csatlakozás a kék csapathoz - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého Týmu - Присоединиться<br/>к желтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz + Join Team Yellow + Team Gelb beitreten + Unirse al equipo amarillo + Rejoindre Jaune + Dołącz do drużyny żółtej + Připojit do Žlutého Týmu + Присоединиться к желтой группе + Unir-se à Equipe Amarela + Entra nella Squadra Gialla + Csatlakozás a sárga csapathoz You joined Team %1 diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d8fd5ca177..dad91754db 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -3,16 +3,16 @@ - Repack<br/>Magazines - Magazine<br/>umpacken - Reorganizar<br/>cargadores - Réorganiser<br/>chargeurs - Przepakuj<br/>magazynki - Přepáskovat<br/>Zásobníky - Ricarica<br/>Caricatori - Reorganizar<br/>Carregadores - Újratárazás<br/> - Перепаковать<br/>магазины + Repack Magazines + Magazine umpacken + Reorganizar cargadores + Réorganiser chargeurs + Przepakuj magazynki + Přepáskovat Zásobníky + Ricarica Caricatori + Reorganizar Carregadores + Újratárazás + Перепаковать магазины Select Magazine Menu diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 5d2c9595df..bea2c61ca2 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -117,16 +117,16 @@ Проверить температуру оружия - Check<br/>temperature - Temperatur<br/>prüfen - Verificar<br/>temperatura - Sprawdź<br/>temperaturę - Vérifier la<br/>température - Hőmérséklet<br/>ellenőrzése - Zjistit<br/>teplotu - Conferir<br/>temperatura - Controlla la<br/>temperatura - Проверить<br/>температуру + Check temperature + Temperatur prüfen + Verificar temperatura + Sprawdź temperaturę + Vérifier la température + Hőmérséklet ellenőrzése + Zjistit teplotu + Conferir temperatura + Controlla la temperatura + Проверить температуру Checking temperature ... From 5bd1ee7ecd09525a204647c01136578e551bfb13 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 8 Apr 2015 07:21:34 +0200 Subject: [PATCH 003/247] Do not use a treshold for unassigned damage. --- addons/medical/functions/fnc_handleDamage_basic.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 2986e1b2f7..6472c4af81 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -120,7 +120,7 @@ if (_selectionName == "") then { (_unit getHitPointDamage "HitRightArm") + (_unit getHitPointDamage "HitLeftLeg") + (_unit getHitPointDamage "HitRightLeg"); - if (_damagesum < 0.06 and damage _unit > 0.06 and alive _unit) then { + if (damage _unit > _damagesum and alive _unit) then { _unit setHitPointDamage ["HitBody", damage _unit]; }; }, [_unit], 2, 0.1] call EFUNC(common,waitAndExecute); From 1dcff94ec73a046050cd8eddd2d45510f49be16c Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 8 Apr 2015 07:35:31 +0200 Subject: [PATCH 004/247] Remove hitpart from bandage action name Since the context of the interaction menu makes it clear what body part you mean anyways, this is unnecessary. --- addons/medical/ACE_Medical_Actions.hpp | 12 ++-- addons/medical/ACE_Medical_SelfActions.hpp | 14 ++-- addons/medical/stringtable.xml | 74 +--------------------- 3 files changed, 14 insertions(+), 86 deletions(-) diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index 1fd6a99252..8a8c2adcca 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -6,7 +6,7 @@ icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitHead"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); @@ -77,7 +77,7 @@ icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitBody"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); @@ -177,7 +177,7 @@ distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); @@ -333,7 +333,7 @@ distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); @@ -486,7 +486,7 @@ distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); @@ -627,7 +627,7 @@ distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); diff --git a/addons/medical/ACE_Medical_SelfActions.hpp b/addons/medical/ACE_Medical_SelfActions.hpp index e77e276af2..c2a60898f4 100644 --- a/addons/medical/ACE_Medical_SelfActions.hpp +++ b/addons/medical/ACE_Medical_SelfActions.hpp @@ -14,7 +14,7 @@ class Medical { runOnHover = 1; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitHead"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -84,7 +84,7 @@ class Medical { icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitBody"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -149,7 +149,7 @@ class Medical { icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -249,7 +249,7 @@ class Medical { icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -345,7 +345,7 @@ class Medical { icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -430,7 +430,7 @@ class Medical { icon = PATHTOF(UI\icons\medical_cross.paa); class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -506,4 +506,4 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); }; }; -}; \ No newline at end of file +}; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 70506fa3e0..5121b6e452 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -63,78 +63,6 @@ Atadura Перевязать - - Bandage Head - Kopf verbinden - Vendar la cabeza - Bandażuj głowę - Obvázat hlavu - Перевязать голову - Pansement Tête - Fej kötözése - Atar Cabeça - Benda la testa - - - Bandage Torso - Torso verbinden - Vendar el torso - Bandażuj tors - Obvázat hruď - Перевязать торс - Pansement Torse - Felsőtest kötözése - Atar Tronco - Benda il torso - - - Bandage Left Arm - Arm links verbinden - Vendar el brazo izquierdo - Bandażuj lewe ramię - Obvázat levou ruku - Перевязать левую руку - Pansement Bras Gauche - Bal kar kötözése - Atar Braço Esquerdo - Benda il braccio sinistro - - - Bandage Right Arm - Arm rechts verbinden - Vendar el brazo derecho - Bandażuj prawe ramię - Obvázat pravou ruku - Перевязать правую руку - Pansement Bras Droit - Jobb kar kötözése - Atar Braço Direito - Benda il braccio destro - - - Bandage Left Leg - Bein links verbinden - Vendar la pierna izquierda - Bandażuj lewą nogę - Obvázat levou nohu - Перевязать левую ногу - Pansement Jambe Gauche - Bal láb kötözése - Atar Perna Esquerda - Benda la gamba sinistra - - - Bandage Right Leg - Bein rechts verbinden - Vendar la pierna derecha - Bandażuj prawą nogę - Obvázat pravou nohu - Перевязать правую ногу - Pansement Jambe Droite - Jobb láb kötözése - Atar Perna Direita - Benda la gamba destra - Injecting Morphine ... Morphin injizieren ... @@ -898,4 +826,4 @@ - \ No newline at end of file + From a209e49f1cba97ff82936a93711a4da5087cf4ac Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 8 Apr 2015 07:39:16 +0200 Subject: [PATCH 005/247] Remove partname from patientInfoDisplay for basic. --- addons/medical/functions/fnc_displayPatientInformation.sqf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index 2e0525f1a3..fb374f8631 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -47,8 +47,10 @@ if (_show) then { _allInjuryTexts = []; _genericMessages = []; - _partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN; - _genericMessages pushback [localize _partText, [1, 1, 1, 1]]; + if (GVAR(level) >= 2) then { + _partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN; + _genericMessages pushback [localize _partText, [1, 1, 1, 1]]; + }; if (_target getvariable[QGVAR(isBleeding), false]) then { _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]]; From d7bdb48547492d3b2a2fbfb7de04b4b0d0e73a01 Mon Sep 17 00:00:00 2001 From: Clon1998 Date: Fri, 10 Apr 2015 01:15:20 +0200 Subject: [PATCH 006/247] Update stringtable.xml --- addons/interaction/stringtable.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index dcd87056e2..6e82383964 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -4,27 +4,35 @@ Interactions + Interaktionen Torso + Körper Head + Kopf Left Arm + Linker Arm Right Arm + Rechter Arm Left Leg + Linker Arm Right Leg + Rechter Arm Weapon + Waffe Interaction Menu @@ -655,6 +663,7 @@ Passengers + Passagiere From eb60910aab10ddccfae9b139014f392a65222c6d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 9 Apr 2015 21:58:45 -0500 Subject: [PATCH 007/247] Flashbangs: eyePos LOS check, 3d eye direction --- .../functions/fnc_flashbangExplosionEH.sqf | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index 3868994bee..29c3aedbe5 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -19,13 +19,15 @@ private ["_affected", "_strength", "_posGrenade", "_posUnit", "_angleGrenade", " PARAMS_1(_grenade); -_affected = _grenade nearEntities ["CAManBase", 50]; +_affected = _grenade nearEntities ["CAManBase", 20]; { if ((local _x) && {alive _x}) then { _strength = 1 - ((_x distance _grenade) min 15) / 15; + TRACE_3("FlashBangEffect Start",_x,(_x distance _grenade),_strength); + if (_x != ACE_player) then { //must be AI _x disableAI "MOVE"; @@ -48,30 +50,31 @@ _affected = _grenade nearEntities ["CAManBase", 50]; //Do effects for player // is there line of sight to the grenade? _posGrenade = getPosASL _grenade; + _eyePos = eyePos ACE_player; //PositionASL _posGrenade set [2, (_posGrenade select 2) + 0.2]; // compensate for grenade glitching into ground - if (lineIntersects [_posGrenade, getPosASL _x, _grenade, _x]) then { + + //Check for line of sight: + if (lineIntersects [_posGrenade, _eyePos, _grenade, _x]) then { _strength = _strength / 10; }; - // beeeeeeeeeeeeeeeeeeeeeeeeeeeeep - if (isClass (configFile >> "CfgPatches" >> "ACE_Hearing") and _strength > 0) then { + //Add ace_hearing ear ringing sound effect + if ((isClass (configFile >> "CfgPatches" >> "ACE_Hearing")) && {_strength > 0}) then { [_x, 0.5 + (_strength / 2)] call EFUNC(hearing,earRinging); }; // account for people looking away by slightly // reducing the effect for visual effects. - _posUnit = getPos _x; - _posGrenade = getPos _grenade; - _angleGrenade = ((_posGrenade select 0) - (_posUnit select 0)) atan2 ((_posGrenade select 1) - (_posUnit select 1)); - _angleGrenade = (_angleGrenade + 360) % 360; + _eyeDir = (positionCameraToWorld [0,0,1] vectorDiff positionCameraToWorld [0,0,0]); + _dirToUnitVector = _eyePos vectorFromTo _posGrenade; + _angleDiff = acos (_eyeDir vectorDotProduct _dirToUnitVector); - _angleView = (eyeDirection ACE_player select 0) atan2 (eyeDirection ACE_player select 1); - _angleView = (_angleView + 360) % 360; + //From 0-45deg, full effect + if (_angleDiff > 45) then { + _strength = _strength - _strength * ((_angleDiff - 45) / 120); + }; - _angleDiff = 180 - abs (abs (_angleGrenade - _angleView) - 180); - _angleDiff = ((_angleDiff - 45) max 0); - - _strength = _strength - _strength * (_angleDiff / 135); + TRACE_1("Final strength for player %1",_strength); // create flash to illuminate environment _light = "#lightpoint" createVehicleLocal (getPos _grenade); From 170985295d7d70badb5f29b94af5649b2e456d35 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 9 Apr 2015 22:00:03 -0500 Subject: [PATCH 008/247] Flashbangs: Medical Pain --- addons/grenades/functions/fnc_flashbangExplosionEH.sqf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index 29c3aedbe5..cbc9b647ea 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -76,6 +76,15 @@ _affected = _grenade nearEntities ["CAManBase", 20]; TRACE_1("Final strength for player %1",_strength); + + //Add ace_medical pain effect: + if ((isClass (configFile >> "CfgPatches" >> "ACE_Medical")) && {_strength > 0}) then { + private "_curPain"; + _curPain = ACE_player getVariable [QEGVAR(medical,pain), 0]; + _curPain = (_curPain + (_strength / 2)) min 1; + ACE_player setVariable [QEGVAR(medical,pain), _curPain]; + }; + // create flash to illuminate environment _light = "#lightpoint" createVehicleLocal (getPos _grenade); _light setLightBrightness 200; From e7b5218d52189599d1bcb95c72dcd091186d04ea Mon Sep 17 00:00:00 2001 From: Tenga Date: Sat, 11 Apr 2015 00:14:06 +0200 Subject: [PATCH 009/247] Altimeter fix, division by zero when no time has passed (game paused, etc.) --- addons/parachute/functions/fnc_showAltimeter.sqf | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/addons/parachute/functions/fnc_showAltimeter.sqf b/addons/parachute/functions/fnc_showAltimeter.sqf index a8200fb2ca..45816cc883 100644 --- a/addons/parachute/functions/fnc_showAltimeter.sqf +++ b/addons/parachute/functions/fnc_showAltimeter.sqf @@ -14,19 +14,24 @@ * Public: Yes */ #include "script_component.hpp" + private ["_unit"]; + _unit = _this select 0; -(["ACE_Altimeter"] call BIS_fnc_rscLayer) cutRsc ["ACE_Altimeter", "PLAIN",0,true]; + +(["ACE_Altimeter"] call BIS_fnc_rscLayer) cutRsc ["ACE_Altimeter", "PLAIN", 0, true]; if (isNull (uiNamespace getVariable ["ACE_Altimeter", displayNull])) exitWith {}; GVAR(AltimeterActive) = true; + [{ - if (!GVAR(AltimeterActive)) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler);}; + if (!GVAR(AltimeterActive)) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler)}; disableSerialization; EXPLODE_4_PVT(_this select 0,_display,_unit,_oldHeight,_prevTime); - if !("ACE_Altimeter" in assignedItems _unit) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler);call FUNC(hideAltimeter);}; + if !("ACE_Altimeter" in assignedItems _unit) exitWith {[_this select 1] call CALLSTACK(cba_fnc_removePerFrameEventHandler); call FUNC(hideAltimeter)}; + + private ["_height", "_hour", "_minute", "_descentRate","_HeightText", "_DecendRate", "_TimeText", "_curTime", "_timeDiff"]; - private ["_height", "_hour", "_minute", "_descentRate","_HeightText", "_DecendRate", "_TimeText", "_curTime"]; _HeightText = _display displayCtrl 1100; _DecendRate = _display displayCtrl 1000; _TimeText = _display displayCtrl 1001; @@ -35,7 +40,8 @@ GVAR(AltimeterActive) = true; _height = (getPosASL _unit) select 2; _curTime = time; - _descentRate = floor ((_oldHeight - _height) / (_curTime - _prevTime)); + _timeDiff = _curTime - _prevTime; + _descentRate = if(_timeDiff > 0) then {floor((_oldHeight - _height) / _timeDiff)} else {0}; _TimeText ctrlSetText (format ["%1:%2",[_hour, 2] call EFUNC(common,numberToDigitsString),[_minute, 2] call EFUNC(common,numberToDigitsString)]); _HeightText ctrlSetText (format ["%1", floor(_height)]); From d06e1b4a2a83143b84175764021f0cdf3e648f72 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 11 Apr 2015 22:22:19 -0300 Subject: [PATCH 010/247] Break line extension --- addons/interaction/stringtable.xml | 100 ++++++++++----------- addons/laser_selfdesignate/stringtable.xml | 12 +-- addons/magazinerepack/stringtable.xml | 20 ++--- addons/overheating/stringtable.xml | 4 +- extensions/CMakeLists.txt | 1 + extensions/breakLine/CMakeLists.txt | 11 +++ extensions/breakLine/ace_breakLine.cpp | 71 +++++++++++++++ 7 files changed, 151 insertions(+), 68 deletions(-) create mode 100644 extensions/breakLine/CMakeLists.txt create mode 100644 extensions/breakLine/ace_breakLine.cpp diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index cd2d6ece01..0065833e0f 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -451,16 +451,16 @@ A Terra! - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelés + Team Management + Team Management + Gestión de equipo + Gestion d'équipe + Zarządzanie oddziałem + Správa týmu + Управление группой + Gerenciamento de Equipe + Organizzazione Squadra + Csapat kezelés Red @@ -511,52 +511,52 @@ Sárga - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného Týmu - Присоединиться<br/>к красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz + Join Team Red + Team Rot beitreten + Unirse al equipo rojo + Rejoindre Rouge + Dołącz do drużyny czerwonej + Připojit do Červeného Týmu + Присоединиться к красной группе + Unir-se à Equipe Vermelha + Entra nella Squadra Rossa + Csatlakozás a piros csapathoz - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Verte - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného Týmu - Присоединиться<br/>к зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz + Join Team Green + Team Grün beitreten + Unirse al equipo verde + Rejoindre Verte + Dołącz do drużyny zielonej + Připojit do Zeleného Týmu + Присоединиться к зеленой группе + Unir-se à Equipe Verde + Entra nella Squadra Verde + Csatlakozás a zöld csapathoz - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleue - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého Týmu - Присоединиться<br/>к синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz + Join Team Blue + Team Blau beitreten + Unirse al equipo azul + Rejoindre Bleue + Dołącz do drużyny niebieskiej + Připojit do Modrého Týmu + Присоединиться к синей группе + Unir-se à Equipe Azul + Entra nella Squadra Blu + Csatlakozás a kék csapathoz - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého Týmu - Присоединиться<br/>к желтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz + Join Team Yellow + Team Gelb beitreten + Unirse al equipo amarillo + Rejoindre Jaune + Dołącz do drużyny żółtej + Připojit do Žlutého Týmu + Присоединиться к желтой группе + Unir-se à Equipe Amarela + Entra nella Squadra Gialla + Csatlakozás a sárga csapathoz You joined Team %1 diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index da8030cb69..c19dcb92ae 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -3,14 +3,14 @@ - Laser<br/>Designator On - Lasermarkierer<br/>an - Laser<br/>Designador encendido + Laser Designator On + Lasermarkierer an + Laser Designador encendido - Laser<br/>Designator Off - Lasermarkierer<br/>aus - Laser<br/>Designador apagado + Laser Designator Off + Lasermarkierer aus + Laser Designador apagado diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d63dd2d2cd..e292d33b0b 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -3,16 +3,16 @@ - Repack<br/>Magazines - Magazine<br/>umpacken - Reorganizar<br/>cargadores - Réorganiser<br/>chargeurs - Przepakuj<br/>magazynki - Přepáskovat<br/>Zásobníky - Ricarica<br/>Caricatori - Reorganizar<br/>Carregadores - Újratárazás<br/> - Перепаковать<br/>магазины + Repack Magazines + Magazine umpacken + Reorganizar cargadores + Réorganiser chargeurs + Przepakuj magazynki + Přepáskovat Zásobníky + Ricarica Caricatori + Reorganizar Carregadores + Újratárazás + Перепаковать магазины Select Magazine Menu diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 93025c41bb..9c12421fb8 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -119,8 +119,8 @@ Проверить температуру оружия - Check weapon<br/>temperature - Verificar temperatura<br/>del arma + Check weapon temperature + Verificar temperatura del arma Checking temperature ... diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt index f0e21e9207..f5e6034d28 100644 --- a/extensions/CMakeLists.txt +++ b/extensions/CMakeLists.txt @@ -27,5 +27,6 @@ include_directories(AFTER "common") # Add extensions to build here add_subdirectory(fcs) +add_subdirectory(breakline) message("Build Type: ${CMAKE_BUILD_TYPE}") \ No newline at end of file diff --git a/extensions/breakLine/CMakeLists.txt b/extensions/breakLine/CMakeLists.txt new file mode 100644 index 0000000000..8981ec487e --- /dev/null +++ b/extensions/breakLine/CMakeLists.txt @@ -0,0 +1,11 @@ +set(ACE_EXTENSION_NAME "ace_breakLine") + +file(GLOB SOURCES *.h *.hpp *.c *.cpp) +add_library( ${ACE_EXTENSION_NAME} SHARED ${SOURCES}) +add_dependencies(${ACE_EXTENSION_NAME} ace_common) +SET_TARGET_PROPERTIES(${ACE_EXTENSION_NAME} PROPERTIES PREFIX "") + +if(CMAKE_COMPILER_IS_GNUCXX) + set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_START_STATIC 1) + set_target_properties(${ACE_EXTENSION_NAME} PROPERTIES LINK_SEARCH_END_STATIC 1) +endif() \ No newline at end of file diff --git a/extensions/breakLine/ace_breakLine.cpp b/extensions/breakLine/ace_breakLine.cpp new file mode 100644 index 0000000000..f74eabdfc2 --- /dev/null +++ b/extensions/breakLine/ace_breakLine.cpp @@ -0,0 +1,71 @@ +/* + * ace_breakLine.cpp + * + * Takes a string and insert as many line breaks as needed so it fits a given width + * + * Takes: + * Localized string as string + * Example: "Check weapon temperature" + * + * Returns: + * String with line breaks + */ + +#include "ace_common.h" + +#include +#include +#include + +#define MAXCHARACTERS 11 + +static char version[] = "1.0"; + +extern "C" { + __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); +}; + +std::vector splitString(std::string input) { + std::istringstream ss(input); + std::string token; + + std::vector output; + while (std::getline(ss, token, ',')) { + output.push_back(token); + } + + return output; +} + +std::string addLineBreaks(std::string input) { + std::stringstream sstream; + int numChar = 0; + for ( int i = 0 ; i < input.length(); i++) { + if (numChar >= MAXCHARACTERS && input[i] == ' ') { + sstream << "
";//"<br/>"; + numChar = 0; + } else { + sstream << input[i]; + numChar++; + } + } + return sstream.str(); +} + +// i like to live dangerously. jk, fix strncpy sometime pls. +#pragma warning( push ) +#pragma warning( disable : 4996 ) + +void __stdcall RVExtension(char *output, int outputSize, const char *function) { + if (!strcmp(function, "version")) { + strncpy(output, version, outputSize); + } else { + std::vector argStrings = splitString(function); + std::string originalString = argStrings[0]; + + strcpy(output, addLineBreaks(originalString).c_str()); + output[outputSize - 1] = '\0'; + } +} + +#pragma warning( pop ) From 3be70556abfa3ccf92f015cf876fd5bc1dcfdc0a Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 11 Apr 2015 21:21:33 -0500 Subject: [PATCH 011/247] Medical: adjustPainLevels from outside functions --- addons/medical/XEH_preInit.sqf | 1 + .../medical/functions/fnc_adjustPainLevel.sqf | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 addons/medical/functions/fnc_adjustPainLevel.sqf diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf index c18a116e31..24ebe65024 100644 --- a/addons/medical/XEH_preInit.sqf +++ b/addons/medical/XEH_preInit.sqf @@ -17,6 +17,7 @@ PREP(addToLog); PREP(addToTriageCard); PREP(addUnconsciousCondition); PREP(addUnloadPatientActions); +PREP(adjustPainLevel); PREP(canAccessMedicalEquipment); PREP(canTreat); PREP(canTreatCached); diff --git a/addons/medical/functions/fnc_adjustPainLevel.sqf b/addons/medical/functions/fnc_adjustPainLevel.sqf new file mode 100644 index 0000000000..7e6ce2d5f1 --- /dev/null +++ b/addons/medical/functions/fnc_adjustPainLevel.sqf @@ -0,0 +1,40 @@ +/* + * Author: PabstMirror + * Interface to allow external modules to safely adjust pain levels. + * + * Arguments: + * 0: The patient + * 1: Added ammount of pain (can be negative) + * + * Return Value: + * The new pain level + * + * Example: + * [guy, 0.5] call ace_medical_fnc_adjustPainLevel + * + * Public: Yes + */ +#include "script_component.hpp" + +private ["_pain"]; + +PARAMS_2(_unit,_addedPain); + +//Only run on local units: +if (!local _unit) exitWith {ERROR("unit is not local");}; + +//Ignore if medical system disabled: +if (GVAR(level) == 0) exitWith {}; + +_pain = _unit getVariable [QGVAR(pain), 0]; + +_pain = _pain + _addedPain; +if (GVAR(level) == 1) then {_pain = _pain min 1;}; //for basic, cap at 1 +_pain = _pain max 0; + +_unit setVariable [QGVAR(pain), _pain]; + +//Start up the vital watching (if not already running) +[_unit] call FUNC(addToInjuredCollection); + +_pain From 8fc3b535079411ddc375b788449381ccb938a33b Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 11 Apr 2015 21:22:34 -0500 Subject: [PATCH 012/247] Use new medical func --- addons/grenades/functions/fnc_flashbangExplosionEH.sqf | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index cbc9b647ea..ecba6f6233 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -79,10 +79,7 @@ _affected = _grenade nearEntities ["CAManBase", 20]; //Add ace_medical pain effect: if ((isClass (configFile >> "CfgPatches" >> "ACE_Medical")) && {_strength > 0}) then { - private "_curPain"; - _curPain = ACE_player getVariable [QEGVAR(medical,pain), 0]; - _curPain = (_curPain + (_strength / 2)) min 1; - ACE_player setVariable [QEGVAR(medical,pain), _curPain]; + [ACE_player, (_strength / 2)] call EFUNC(medical,adjustPainLevel); }; // create flash to illuminate environment From df17df61f980269842f0f9060bcc4cccd3e5a9ff Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 11 Apr 2015 23:39:06 -0300 Subject: [PATCH 013/247] Improve the way lines are split --- .../functions/fnc_renderIcon.sqf | 2 +- extensions/breakLine/ace_breakLine.cpp | 34 ++++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 1cfc13923e..068a1cdc46 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -35,7 +35,7 @@ GVAR(iconCount) = GVAR(iconCount) + 1; if(_icon == "") then { _icon = DEFAULT_ICON; }; -_text = format ["
%4", _icon, _color, _color, _text]; +_text = format ["
%4", _icon, _color, _color, "ace_breakLine" callExtension _text]; _ctrl ctrlSetStructuredText (parseText _text); _ctrl ctrlSetPosition [(_sPos select 0)-(0.125*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.25*SafeZoneW, 0.1*SafeZoneW]; //_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; diff --git a/extensions/breakLine/ace_breakLine.cpp b/extensions/breakLine/ace_breakLine.cpp index f74eabdfc2..74a32cc66d 100644 --- a/extensions/breakLine/ace_breakLine.cpp +++ b/extensions/breakLine/ace_breakLine.cpp @@ -17,7 +17,7 @@ #include #include -#define MAXCHARACTERS 11 +#define MAXCHARACTERS 14 static char version[] = "1.0"; @@ -30,23 +30,32 @@ std::vector splitString(std::string input) { std::string token; std::vector output; - while (std::getline(ss, token, ',')) { + while (std::getline(ss, token, ' ')) { output.push_back(token); } return output; } -std::string addLineBreaks(std::string input) { +std::string addLineBreaks(const std::vector &words) { + std::stringstream sstream; int numChar = 0; - for ( int i = 0 ; i < input.length(); i++) { - if (numChar >= MAXCHARACTERS && input[i] == ' ') { - sstream << "
";//"<br/>"; - numChar = 0; + int i = 0; + while (i < words.size()) { + if (numChar == 0) { + sstream << words[i]; + numChar += words[i].size(); + i++; } else { - sstream << input[i]; - numChar++; + if (numChar + 1 + words[i].size() > MAXCHARACTERS) { + sstream << "
"; + numChar = 0; + } else { + sstream << " " << words[i]; + numChar += 1 + words[i].size(); + i++; + } } } return sstream.str(); @@ -57,13 +66,12 @@ std::string addLineBreaks(std::string input) { #pragma warning( disable : 4996 ) void __stdcall RVExtension(char *output, int outputSize, const char *function) { + //strncpy(output, function, outputSize); + if (!strcmp(function, "version")) { strncpy(output, version, outputSize); } else { - std::vector argStrings = splitString(function); - std::string originalString = argStrings[0]; - - strcpy(output, addLineBreaks(originalString).c_str()); + strcpy(output, addLineBreaks(splitString(function)).c_str()); output[outputSize - 1] = '\0'; } } From c3c815db8dc5a59f188a377b4a876bf1da75f918 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 11 Apr 2015 21:42:57 -0500 Subject: [PATCH 014/247] Better LOS check --- .../functions/fnc_flashbangExplosionEH.sqf | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index ecba6f6233..8954d6c5cc 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -private ["_affected", "_strength", "_posGrenade", "_posUnit", "_angleGrenade", "_angleView", "_angleDiff", "_light"]; +private ["_affected", "_strength", "_posGrenade", "_posUnit", "_angleGrenade", "_angleView", "_angleDiff", "_light", "_losCount"]; PARAMS_1(_grenade); @@ -53,8 +53,15 @@ _affected = _grenade nearEntities ["CAManBase", 20]; _eyePos = eyePos ACE_player; //PositionASL _posGrenade set [2, (_posGrenade select 2) + 0.2]; // compensate for grenade glitching into ground - //Check for line of sight: - if (lineIntersects [_posGrenade, _eyePos, _grenade, _x]) then { + _losCount = 0; + //Check for line of sight (check 4 points in case grenade is stuck in an object or underground) + { + if (!lineIntersects [(_posGrenade vectorAdd _x), _eyePos, _grenade, ACE_player]) then { + _losCount = _losCount + 1; + }; + } forEach [[0,0,0], [0,0,0.2], [0.1, 0.1, 0.1], [-0.1, -0.1, 0.1]]; + TRACE_1("Line of sight count (out of 4)",_losCount); + if (_losCount == 0) then { _strength = _strength / 10; }; @@ -74,7 +81,7 @@ _affected = _grenade nearEntities ["CAManBase", 20]; _strength = _strength - _strength * ((_angleDiff - 45) / 120); }; - TRACE_1("Final strength for player %1",_strength); + TRACE_1("Final strength for player",_strength); //Add ace_medical pain effect: From 18cd0e7f39eef3ebabb350b4f5b8315ac061d613 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 11 Apr 2015 21:48:12 -0500 Subject: [PATCH 015/247] Use DisableAI from common --- .../functions/fnc_flashbangExplosionEH.sqf | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index 8954d6c5cc..c84ee33b33 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -30,20 +30,15 @@ _affected = _grenade nearEntities ["CAManBase", 20]; if (_x != ACE_player) then { //must be AI - _x disableAI "MOVE"; - _x disableAI "ANIM"; - _x disableAI "AUTOTARGET"; - _x disableAI "TARGET"; - _x disableAI "FSM"; + [_x, true] call EFUNC(common,disableAI); _x setSkill ((skill _x) / 50); [{ PARAMS_1(_unit); - _unit enableAI "MOVE"; - _unit enableAI "ANIM"; - _unit enableAI "AUTOTARGET"; - _unit enableAI "TARGET"; - _unit enableAI "FSM"; + //Make sure we don't enable AI for unconscious units + if (!(_unit getVariable ["ace_isunconscious", false])) then { + [_unit, false] call EFUNC(common,disableAI); + }; _unit setSkill (skill _unit * 50); }, [_x], (7 * _strength), 0.1] call EFUNC(common,waitAndExecute); //0.1 precision is fine for AI } else { From 3d4a94a26407fbfa8fb416a65203af4e51728f3d Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 00:42:58 -0300 Subject: [PATCH 016/247] Make the fcs extension compile without C++11 --- extensions/fcs/ace_fcs.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/extensions/fcs/ace_fcs.cpp b/extensions/fcs/ace_fcs.cpp index a1a3b64ba7..9ab4939058 100644 --- a/extensions/fcs/ace_fcs.cpp +++ b/extensions/fcs/ace_fcs.cpp @@ -12,7 +12,7 @@ */ #include "ace_common.h" - + #define _USE_MATH_DEFINES #include @@ -113,9 +113,11 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { double distance = std::stod(argStrings[3]); double result = getSolution(initSpeed, airFriction, angleTarget, distance); - std::string resultString = std::to_string(result); - strcpy(output, resultString.c_str()); + std::stringstream sstream; + sstream << result; + + strcpy(output, sstream.str().c_str()); output[outputSize - 1] = '\0'; } } From 69f147b202acf4ef77f404ac6edff0c9c6a6f291 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 00:43:36 -0300 Subject: [PATCH 017/247] Add the compiled ace_breakLine extension --- ace_breakLine.dll | Bin 0 -> 208384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ace_breakLine.dll diff --git a/ace_breakLine.dll b/ace_breakLine.dll new file mode 100644 index 0000000000000000000000000000000000000000..edd00c78eb0218bb0d24ec14735be5de37c859d9 GIT binary patch literal 208384 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

Z;yo~t)NG>!wW-PpWm+?pIg&LLwL1o^w5oA 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 literal 0 HcmV?d00001 From 630a2a0f7a63a5a1e118ec49991950b69b68f8eb Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 01:15:38 -0300 Subject: [PATCH 018/247] Make the list menu optional via a client setting --- addons/interact_menu/config.cpp | 6 ++++++ .../interact_menu/functions/fnc_renderIcon.sqf | 13 ++++++++++--- .../interact_menu/functions/fnc_renderMenu.sqf | 16 +++++++++++++--- .../functions/fnc_renderSelector.sqf | 9 +++++++-- addons/interact_menu/stringtable.xml | 3 +++ 5 files changed, 39 insertions(+), 8 deletions(-) diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 17900c2f6b..830e58df82 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -23,4 +23,10 @@ class ACE_Settings { isClientSetable = 1; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; }; + class GVAR(UseListMenu) { + value = 0; + typeName = "BOOL"; + isClientSetable = 1; + displayName = "$STR_ACE_Interact_Menu_UseListMenu"; + }; }; diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index f26e4a5ca8..3da1777bed 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -36,10 +36,17 @@ if(_icon == "") then { _icon = DEFAULT_ICON; }; -_text = format ["%4", _icon, _color, _color, _text]; -//_text = format ["
%4", _icon, _color, _color, "ace_breakLine" callExtension _text]; +_text = if (GVAR(UseListMenu)) then { + format ["%4", _icon, _color, _color, _text] +} else { + format ["
%4", _icon, _color, _color, "ace_breakLine" callExtension _text]; +}; _ctrl ctrlSetStructuredText (parseText _text); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.10*SafeZoneW, 0.035*SafeZoneW]; +_text = if (GVAR(UseListMenu)) then { + _ctrl ctrlSetPosition [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW]; +} else { + _ctrl ctrlSetPosition [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW]; +}; //_ctrl ctrlSetBackgroundColor [0, 1, 0, 0.1]; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index b3e3d3b401..b46740921e 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -92,7 +92,12 @@ if (_numChildren == 1) then { }; // Scale menu based on the amount of children -_scale = 0.17; +_scale = if (GVAR(UseListMenu)) then { + 0.17 +} else { + 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) +}; + // Animate menu scale if (_menuInSelectedPath && (_menuDepth == count _path)) then { _scale = _scale * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); @@ -106,8 +111,13 @@ _angle = _centerAngle - _angleSpan / 2; { //BEGIN_COUNTER(children); private ["_offset","_newPos"]; - _newPos = [(_sPos select 0) + _scale * 1.10, - (_sPos select 1) + _scale * 0.30 * 4/3 * (_foreachindex - _numChildren/2 + 0.5)]; + _newPos = if (GVAR(UseListMenu)) then { + [(_sPos select 0) + _scale * 1.10, + (_sPos select 1) + _scale * 0.30 * 4/3 * (_foreachindex - _numChildren/2 + 0.5)]; + } else { + [(_sPos select 0) -_scale * cos _angle, + (_sPos select 1) +_scale * (sin _angle) * 4/3]; + }; //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; //END_COUNTER(children); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 099d917c0f..5afcf63cc6 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -24,7 +24,12 @@ private "_ctrl"; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; -_ctrl ctrlSetStructuredText (parseText format ["", _icon]); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW]; +if (GVAR(UseListMenu)) then { + _ctrl ctrlSetStructuredText (parseText format ["", _icon]); + _ctrl ctrlSetPosition [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW]; +} else { + _ctrl ctrlSetStructuredText (parseText format ["", _icon]); + _ctrl ctrlSetPosition [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +}; //_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index e0f2c4967e..6b6b001c90 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -7,6 +7,9 @@ Immer den Cursor für Selbst-Interaktionen anzeigen. Mostrar siempre el cursor para la interacción propia + + Display interact menu as a list + Interact Key Interaktionstaste From 0420a94938cc490b094e28ae193cc23519265b53 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 01:19:38 -0300 Subject: [PATCH 019/247] Streamline Team management actions --- addons/interaction/stringtable.xml | 60 +++++++----------------------- 1 file changed, 14 insertions(+), 46 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 0065833e0f..29acca014e 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -451,16 +451,12 @@ A Terra! - Team Management - Team Management - Gestión de equipo - Gestion d'équipe - Zarządzanie oddziałem - Správa týmu - Управление группой - Gerenciamento de Equipe - Organizzazione Squadra - Csapat kezelés + Team + Team + Grupo + Équipe + Equipe + Squadra Red @@ -511,52 +507,24 @@ Sárga - Join Team Red - Team Rot beitreten - Unirse al equipo rojo + Join Red + Unirse al rojo Rejoindre Rouge - Dołącz do drużyny czerwonej - Připojit do Červeného Týmu - Присоединиться к красной группе - Unir-se à Equipe Vermelha - Entra nella Squadra Rossa - Csatlakozás a piros csapathoz - Join Team Green - Team Grün beitreten - Unirse al equipo verde + Join Green + Unirse al verde Rejoindre Verte - Dołącz do drużyny zielonej - Připojit do Zeleného Týmu - Присоединиться к зеленой группе - Unir-se à Equipe Verde - Entra nella Squadra Verde - Csatlakozás a zöld csapathoz - Join Team Blue - Team Blau beitreten - Unirse al equipo azul + Join Blue + Unirse al azul Rejoindre Bleue - Dołącz do drużyny niebieskiej - Připojit do Modrého Týmu - Присоединиться к синей группе - Unir-se à Equipe Azul - Entra nella Squadra Blu - Csatlakozás a kék csapathoz - Join Team Yellow - Team Gelb beitreten - Unirse al equipo amarillo + Join Yellow + Unirse al amarillo Rejoindre Jaune - Dołącz do drużyny żółtej - Připojit do Žlutého Týmu - Присоединиться к желтой группе - Unir-se à Equipe Amarela - Entra nella Squadra Gialla - Csatlakozás a sárga csapathoz You joined Team %1 From 654ab4daf587e89dacc9e671ec75818cf82a1b21 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 01:24:42 -0300 Subject: [PATCH 020/247] Remove >> from attach actions --- addons/attach/stringtable.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 27a0517f9a..eba4bf1a1f 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -3,15 +3,15 @@ - Attach item >> - Gegenstand befestigen >> - Acoplar objeto >> - Przyczep przedmiot >> - Attacher l'objet >> - Připnout předmět >> - Acoplar item >> - Attacca l'oggetto >> - Tárgy hozzácsatolása >> + Attach item + Gegenstand befestigen + Acoplar objeto + Przyczep przedmiot + Attacher l'objet + Připnout předmět + Acoplar item + Attacca l'oggetto + Tárgy hozzácsatolása Добавить приспособления From dfea99debfe2218f0284dbdb5670114d73eaadea Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 01:32:03 -0300 Subject: [PATCH 021/247] Switch "Team" for "Group" --- addons/interaction/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 8e8c8f4e60..8ae1966f88 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -450,8 +450,8 @@ A Terra! - Team - Team + Group + Gruppe Grupo Équipe Equipe From 4bb9f0cf77b5a54b779098f4ad0147ec06731099 Mon Sep 17 00:00:00 2001 From: Legolasindar Date: Sun, 12 Apr 2015 14:27:42 +0200 Subject: [PATCH 022/247] Update stringtable.xml added spanish translate --- addons/disarming/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 845d0c286e..f4d324bfcd 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -4,6 +4,7 @@ Open Inventory + Abrir inventario - \ No newline at end of file + From 2c0e93271c8ade8cb5e77029f8ca6e5dfe8a0d4a Mon Sep 17 00:00:00 2001 From: Legolasindar Date: Sun, 12 Apr 2015 14:29:47 +0200 Subject: [PATCH 023/247] Update stringtable.xml added spanish translate --- addons/laserpointer/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 279fdeb5e8..0479f8474b 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -6,16 +6,19 @@ Laser Pointer (red) Laserpointer (rot) Лазерный прицел (красный) + Puntero láser (rojo) Laser Pointer (green) Laserpointer (grün) Лазерный прицел (зелёный) + Puntero láser (verde) Emits visible light. Strahlt sichtbares Licht aus. Испускает узкий пучок видимого света. + Emite luz visible. <t color='#9cf953'>Use: </t>Turn Laser ON/OFF @@ -29,4 +32,4 @@ <t color='#9cf953'>Usar: </t>encender/apagar láser - \ No newline at end of file + From e7a8dde782642fd83ea95f5dabb693a196e76af0 Mon Sep 17 00:00:00 2001 From: Ivan Navarro Cabello Date: Sun, 12 Apr 2015 14:41:50 +0200 Subject: [PATCH 024/247] update stringtable for spanish added new spanish terms --- addons/realisticnames/stringtable.xml | 2670 +++++++++++++------------ 1 file changed, 1371 insertions(+), 1299 deletions(-) diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 29fb5a736b..28133d6644 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,1302 +1,1374 @@  - + - - - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312A - - - XM312A - XM312A - XM312 - XM312A - XM312A - XM312A - XM312A - XM312A - XM312A - XM312A - - - XM312 (High) - XM312 (Hoch) - XM312 (Alto) - XM312 (Haut) - XM312 (Vysoký) - XM312 (Wysoki) - XM312 (Высокий) - XM312 (Alta) - XM312 (Magasított) - XM312 (Alta) - - - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - - - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - - - XM307 (High) - XM307 (Hoch) - XM307 (Alto) - XM307 (Haut) - XM307 (Vysoký) - XM307 (Wysoki) - XM307 (Высокий) - XM307 (Alta) - XM307 (Magasított) - XM307 (Alta) - - - Mini-Spike Launcher (AT) - Mini-Spike Lenkflugkörper (AT) - Lanzador Mini-Spike (AT) - Poste de tir Mini-Spike (AC) - Mini-Spike Odpalovač (AT) - Wyrzutnia Mini-Spike (AT) - Mini-Spike Пусковое устройство (ПТРК) - Lança-mísseis Mini-Spike (AC) - Mini-Spike rakétarendszer (páncéltörő) - Lanciatore Mini-Spike (AC) - - - Mini-Spike Launcher (AA) - Mini-Spike Lenkflugkörper (AA) - Lanzador Mini-Spike (AA) - Poste de tir Mini-Spike (AA) - Mini-Spike Odpalovač (AA) - Wyrzutnia Mini-Spike (AA) - Mini-Spike Пусковое устройство (ВВ) - Lança-mísseis Mini-Spike (AA) - Mini-Spike rakétarendszer (légvédelmi) - Lanciatore Mini-Spike (AA) - - - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - - - YABHON-R3 (CAS) - YABHON-R3 (Luftnahunterstützung) - YABHON-R3 (CAS) - YABHON-R3 (CAS) - YABHON-R3 (CAS) - YABHON-R3 (штурмовик) - - - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - - - M-ATV (HMG) - M-ATV (SMG) - M-ATV (HMG) - M-ATV (CKM) - M-ATV (TK) - M-ATV (HMG) - M-ATV (Пулемет) - M-ATV (HMG) - M-ATV (HMG) - M-ATV (HMG) - - - M-ATV (GMG) - M-ATV (GMW) - M-ATV (GMG) - M-ATV (GMG) - M-ATV (Granátomet) - M-ATV (GMG) - M-ATV (Гранатомет) - M-ATV (GMG) - M-ATV (GMG) - M-ATV (GMG) - - - Merkava Mk IV M - Merkava Mk IV M - Merkava Mk IV M - Merkawa Mk IV M - Merkava Mk IV M - Merkava Mk IV M - Меркава Mk IV M - Merkava Mk IV M - Merkava Mk IV M - Merkava Mk IV M - - - Merkava Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - Merkawa Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - Меркава Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - - - Sholef - Sholef - Sholef - Sholef - Sholef - Sholef - Шолеф - Sholef - Sholef - Sholef - - - Seara - Seara - Seara - Seara - Seara - Seara - Seara - Seara - Seara - Seara - - - Namer - Namer - Namer - Namer - Namer - Namer - Намер - Namer - Namer - Namer - - - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - - - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - - - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - - - HEMTT Transport - HEMTT Transport - HEMTT de transporte - HEMTT Transportowy - HEMTT Valník - HEMTT Transport - HEMTT Транспортный - HEMTT Transporte - HEMTT szállítójármű - HEMTT da trasporto - - - HEMTT Transport (covered) - HEMTT Transport (bedeckt) - HEMTT de transporte (cubierto) - HEMTT Transportowy (zakryty) - HEMTT Valník (krytý) - HEMTT Transport (bâché) - HEMTT Транспортный (крытый) - HEMTT Transporte (coberto) - HEMTT szállítójármű (ponyvás) - HEMTT da trasporto (coperto) - - - HEMTT - HEMTT - HEMTT - HEMTT - HEMTT - HEMTT Tracteur - HEMTT - HEMTT - HEMTT - HEMTT - - - HEMTT Container - HEMTT Container - HEMTT de contenedor - HEMTT Kontener - HEMTT Skříňový - HEMTT Conteneur - HEMTT Контейнер - HEMTT Contêiner - HEMTT Konténer - HEMTT portacontainer - - - HEMTT Medical - HEMTT Sanitäter - HEMTT médico - HEMTT Medyczny - HEMTT Zdravotnický - HEMTT Sanitaire - HEMTT Медицинский - HEMTT Médico - HEMTT (egészségügyi) - HEMTT Medico - - - HEMTT Ammo - HEMTT Munition - HEMTT de munición - HEMTT Amunicyjny - HEMTT Muniční - HEMTT Munitions - HEMTT Боеприпасы - HEMTT Munições - HEMTT (lőszerszállító) - HEMTT di rifornimento munizioni - - - HEMTT Fuel - HEMTT Treibstoff - HEMTT de combustible - HEMTT Cysterna - HEMTT Cisterna - HEMTT Citerne - HEMTT Заправщик - HEMTT Combustível - HEMTT (üzemanyag-szállító) - HEMTT di rifornimento carburante - - - HEMTT Repair - HEMTT Instandsetzung - HEMTT de reparación - HEMTT Naprawczy - HEMTT Opravárenský - HEMTT Réparation - HEMTT Ремонтный - HEMTT Reparador - HEMTT (szerelő-jármű) - HEMTT Riparatore - - - Fennek - Fennek - Fennek - Fennek - Fennek - Fennek - Феннек - Fennek - Fennek - Fennek - - - Fennek (HMG) - Fennek (SMG) - Fennek (HMG) - Fennek (CKM) - Fennek (TK) - Fennek (HMG) - Феннек (Пулемет) - Fennek (HMG) - Fennek (HMG) - Fennek (HMG) - - - Fennek (GMG) - Fennek (GMW) - Fennek (GMG) - Fennek (GMG) - Fennek (granátomet) - Fennek (GMG) - Феннек (Гранатомет) - Fennek (GMG) - Fennek (GMG) - Fennek (GMG) - - - Leopard 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - Леопард 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - - - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Уорриор - FV510 Warrior - FV510 Warrior - FV510 Warrior - - - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - - - KamAZ Transport - KamAZ Transport - KamAZ de transporte - KamAZ transportowy - KAMAZ Valník - KamAZ Transport - КамАЗ Траспортный - KamAZ Transporte - KamAZ szállítójármű - KamAZ da trasporto - - - KamAZ Transport (covered) - KamAZ Transport (bedeckt) - KamAZ de transporte (cubierto) - KamAZ Transportowy (zakryty) - KAMAZ Valník (krytý) - KamAZ Transport (bâché) - КамАЗ Траспортный (Крытый) - KamAZ Transporte (coberto) - KamAZ szállítójármű (ponyvás) - KamAZ da trasporto (coperto) - - - KamAZ Ammo - KamAZ Munition - KamAZ de munición - KamAZ Amunicyjny - KAMAZ Muniční - KamAZ Munitions - КамАЗ Боеприпасы - KamAZ Munições - KamAZ (lőszerszállító) - KamAZ di rifornimento munizioni - - - KamAZ Fuel - KamAZ Treibstoff - KamAZ de combustible - KamAZ cysterna - KAMAZ Cisterna - KamAZ Citerne - КамАЗ Заправщик - KamAZ Combustível - KamAZ (üzemanyag-szállító) - KamAZ di rifornimento carburante - - - KamAZ Repair - KamAZ Instandsetzung - KamAZ de reparación - KamAZ Naprawczy - KAMAZ Opravárenský - KamAZ Réparation - КамАЗ Ремонтный - KamAZ Reparador - KamAZ (szerelő-jármű) - KamAZ riparatore - - - KamAZ Medical - KamAZ Sanitäter - KamAZ médico - KamAZ Medyczny - KAMAZ Zdravotnický - KamAZ Sanitaire - КамАЗ Медицинский - KamAZ Médico - KamAZ (egészségügyi) - KamAZ Medico - - - Punisher - Punisher - Punisher - Punisher - Punisher - Punisher - Kаратель - Punisher - Punisher - Punisher - - - Punisher (HMG) - Punisher (SMG) - Punisher (HMG) - Punisher (CKM) - Punisher (TK) - Punisher (HMG) - Kаратель (Пулемет) - Punisher (HMG) - Punisher (HMG) - Punisher (HMG) - - - Punisher (GMG) - Punisher (GMW) - Punisher (GMG) - Punisher (CKM) - Punisher (granátomet) - Punisher (GMG) - Kаратель (Гранатомет) - Punisher (GMG) - Punisher (GMG) - Punisher (GMG) - - - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Черный Орел - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - - - 2S9 Sochor - 2S9 Sochor - 2S9 Sochor - 259 Sochor - 2S9 Sochor - 2S9 Sochor - 2S9 Сокор - 2S9 Sochor - 2S9 Sochor - 2S9 Sochor - - - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - БМ-2Т Сталкер - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - - - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ЗСУ-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - - - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - - - Typhoon Transport - Typhoon Transport - Typhoon de transporte - Typhoon Transportowy - Typhoon Valník - Typhoon Transport - Тайфун Транспортный - Typhoon Transporte - Typhoon szállítójármű - Typhoon da trasporto - - - Typhoon Transport (covered) - Typhoon Transport (bedeckt) - Typhoon de transporte (cubierto) - Typhoon Transportowy (przykryty) - Typhoon Valník (krytý) - Typhoon Transport (bâché) - Тайфун Транспортный (kрытый) - Typhoon Transporte (coberto) - Typhoon szállítójármű (ponyvás) - Typhoon da trasporto (coperto) - - - Typhoon Device - Typhoon Gerät - Typhoon de dispositivo - Typhoon Urządzenie - Typhoon Zařízení - Typhoon Dispositif - Тайфун Устройство - Typhoon Dispositivo - Typhoon (szerkezet) - Typhoon per dispositivo - - - Typhoon Ammo - Typhoon Munition - Typhoon de munición - Typhoon Amunicyjny - Typhoon Muniční - Typhoon Munitions - Тайфун Боеприпасы - Typhoon Munições - Typhoon (lőszerszállító) - Typhoon di rifornimento munizioni - - - Typhoon Fuel - Typhoon Treibstoff - Typhoon de combustible - Typhoon Cysterna - Typhoon Cisterna - Typhoon Citerne - Тайфун Заправщик - Typhoon Combustível - Typhoon (üzemanyag-szállító) - Typhoon di rifornimento carburante - - - Typhoon Repair - Typhoon Instandsetzung - Typhoon de reparación - Typhoon Naprawczy - Typhoon Opravárenský - Typhoon Réparation - Тайфун Ремонтный - Typhoon Reparador - Typhoon (szerelő-jármű) - Typhoon riparatore - - - Typhoon Medical - Typhoon Sanitäter - Typhoon médico - Typhoon Medyczny - Typhoon Zdravotnický - Typhoon Sanitaire - Тайфун Медицинский - Typhoon Médico - Typhoon (egészségügyi) - Typhoon medico - - - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Commanche - RAH-66 Команч - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - - - MH-6 Little Bird - MH-6 Little Bird - MH-6 Litte Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - - - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - - - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - - - CH-47I Chinook (unarmed) - CH-47I Chinook (unbewaffnet) - CH-47I Chinnok (Desarmado) - CH-47I Chinook (nieuzbrojony) - CH-47I Chinook (невооруженный) - CH-47I Chinook (Neozbrojený) - - - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Тандерболт II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - - - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - - - AW159 Wildcat (unarmed) - AW159 Wildcat (unbewaffnet) - AW159 Wildcat (desarmado) - AW159 Wildcat (nieuzbrojony) - AW159 Wildcat (neozbrojený) - AW159 Wildcat (non-armé) - AW159 Wildcat (невооруженный) - AW159 Wildcat (desarmado) - AW159 Wildcat (fegyvertelen) - AW159 Wildcat (disarmato) - - - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Мерлин - AW101 Merlin - AW101 Merlin - AW101 Merlin - - - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 Альбатрос (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - - - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 Альбатрос (AA) - L-159 ALCA (ВВ) - L-159 ALCA (AA) - L-159 ALCA (AA) - - - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Касатка - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - - - Ka-60 Kasatka (unarmed) - Ka-60 Kasatka (unbewaffnet) - Ka-60 Kasatka (desarmado) - Ka-60 Kasatka (nieuzbrojony) - Ka-60 Kasatka (neozbrojená) - Ka-60 Kasatka (non-armé) - Ka-60 Касатка (невооруженный) - Ka-60 Kasatka (desarmado) - Ka-60 Kasatka (fegyvertelen) - Ka-60 Kasatka (disarmato) - - - Yak-130 - Yak-130 - Yak-130 - Jak-130 - Jak-130 - Yak-130 - Як-130 - Yak-130 - Jak-130 - Yak-130 - - - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - - - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - - - M18A1 Claymore - M18A1 Claymore - M18A1 Claymore - Mina kierunkowa M18A1 Claymore - M18A1 Mina Claymore - M18A1 Claymore Mine antipersonnel à effet dirigé - M18A1 Клеймор - M18A1 Claymore - M18A1 Claymore akna - M18A1 Claymore Mina antiuomo - - - M183 Demolition Charge Assembly - M183 Geballte Sprengladung - Conjunto de carga de demolición M183 - Ładunek burzący M183 - M183 Demoliční nálož - M183 Charge de Démolition - M183 Комплектный подрывной заряд - M183 Sacola de Demolição - M183 romboló töltet - M183 Demolition Charge Assembly - - - M112 Demolition Block - M112 Sprengladung - Bloque de demolición M112 - Ładunek burzący M112 - M112 Výbušná nálož - Pétard M112 - M112 подрывной заряд - M112 Carga de Demolição - M112 romboló töltet - M112 Demolition Block - - - M67 Fragmentation Grenade - M67 Splittergranate - Granada de fragmentación M67 - Granat obronny M67 - M67 Granát - M67 Grenade à fragmentation - M67 ручная осколочная граната - M67 Granada de fragmentação - M67 repeszgránát - M67 Granata a frammentazione - - - M83 Smoke Grenade (White) - M83 Rauchgranate (Weiss) - Granada de humo M83 (Blanco) - Granat dymny M83 (Biały) - M83 Kouřový Granát (Bílý) - M83 Grenade fumigène (Blanche) - M83 дымовая граната (Белый) - M83 Granada de fumaça (Branca) - M83 füstgránát (Fehér) - M83 Granata fumogena (Bianco) - - - M18 Smoke Grenade (Blue) - M18 Rauchgranate (Blau) - Granada de humo M18 (Azul) - Granat dymny M18 (Niebieski) - M18 Kouřový Granát (Modrý) - M18 Grenade fumigène (Bleue) - M18 дымовая граната (Синий) - M18 Granada de fumaça (Azul) - M18 füstgránát (Kék) - M18 Granata fumogena (Blu) - - - M18 Smoke Grenade (Green) - M18 Rauchgranate (Grün) - Granada de humo M18 (Verde) - Granat dymny M18 (Zielony) - M18 Kouřový Granát (Zelený) - M18 Grenade fumigène (Verte) - M18 дымовая граната (Зелёный) - M18 Granada de fumaça (Verde) - M18 füstgránát (Zöld) - M18 Granata fumogena (Verde) - - - M18 Smoke Grenade (Orange) - M18 Rauchgranate (Orange) - Granada de humo M18 (Naranja) - Granat dymny M18 (Pomarańczowy) - M18 Kouřový Granát (Oranžový) - M18 Grenade fumigène (Orange) - M18 дымовая граната (Оранжевый) - M18 Granada de fumaça (Laranja) - M18 füstgránát (Narancssárga) - M18 Granata fumogena (Arancione) - - - M18 Smoke Grenade (Purple) - M18 Rauchgranate (Violett) - Granada de humo M18 (Púrpura) - Granat dymny M18 (Fioletowy) - M18 Kouřový Granát (Fialový) - M18 Grenade fumigène (Pourpre) - M18 дымовая граната (Пурпурный) - M18 Granada de fumaça (Roxa) - M18 füstgránát (Lila) - M18 Granata fumogena (Viola) - - - M18 Smoke Grenade (Red) - M18 Rauchgranate (Rot) - Granada de humo M18 (Rojo) - Granat dymny M18 (Czerwony) - M18 Kouřový Granát (Červený) - M18 Grenade fumigène (Rouge) - M18 дымовая граната (Красный) - M18 Granada de fumaça (Vermelha) - M18 füstgránát (Piros) - M18 Granata fumogena (Rosso) - - - M18 Smoke Grenade (Yellow) - M18 Rauchgranate (Gelb) - Granada de humo M18 (Amarillo) - Granat dymny M18 (Żółty) - M18 Kouřový Granát (Žlutý) - M18 Grenade fumigène (Jaune) - M183 дымовая граната (Жёлтые) - M18 Granada de fumaça (Amarela) - M18 füstgránát (Sárga) - M18 Granata fumogena (Giallo) - - - M15 Anti-Tank Mine - M15 Panzerabwehrmine - Mina antitanque M15 - Mina przeciwpancerna M15 - M15 Protitanková Mina - M15 Mine antichar - M15 противотанковая мина - M15 Mina anticarro - M15 harckocsiakna - M15 Mine anticarro - - - VS-50 Anti-Personnel Mine - VS-50 Antipersonenmine - Mina antipersona VS-50 - Mina przeciwpiechotna VS-50 - VS-50 Protipěchotní Mina - VS-50 Mine antipersonnel à pression - VS-50 Противопехотная мина - VS-50 Mina antipessoal - VS-50 gyalogsági taposóakna - VS-50 Mine antiuomo - - - M26 Anti-Personnel Bounding Mine - M26 Antipersonensprungmine - Mina antipersona M26 - Mina przeciwpiechotna M26 - M26 Šrapnelová Mina - M26 Mine antipersonnel bondissante - M26 Противопехотная мина - M26 Mina saltadora antipessoal - M26 gyalogsági ugróakna - M26 Mine saltanti antiuomo - - - PMR-3 Anti-Personnel Tripwire Mine - PMR-3 Antipersonenstolperdrahtmine - Mina antipersona de alambre PMR-3 - Mina przeciwpiechotna PMR-3 - PMR-3 Nástražná Mina - PMR-3 Mine antipersonnel à traction - PMR-3 Противопехотная мина - PMR-3 Mina antipessoal (armadilha) - PMR-3 botlódrótos gyalogsági akna - PMR-3 Mine antiuomo - - - P99 - P99 - - - MP-443 Grach - MP-443 Grach - - - ACP-C2 - ACP-C2 - - - FNX-45 Tactical - FNX-45 Tactical - - - Chiappa Rhino 60DS - Chiappa Rhino 60DS - - - Taurus Judge - Taurus Judge - - - NLAW - NLAW - - - RPG-32 - RPG-32 - - - Mini-Spike (AA) - Mini-Spike (AA) - - - Mini-Spike (AT) - Mini-Spike (AT) - - - MX - MX - - - MX (Black) - MX (Black) - - - MXC - MXC - - - MXC (Black) - MXC (Black) - - - MX 3GL - MX 3GL - - - MX 3GL (Black) - MX 3GL (Black) - - - MX LSW - MX LSW - - - MX LSW (Black) - MX LSW (Black) - - - MXM - MXM - - - MXM (Black) - MXM (Black) - - - KT2002 Katiba - KT2002 Katiba - - - KT2002C Katiba - KT2002C Katiba - - - KT2002 Katiba KGL - KT2002 Katiba KGL - - - F2000 (Camo) - F2000 (Camo) - - - F2000 - F2000 - - - F2000 Tactical (Camo) - F2000 Tactical (Camo) - - - F2000 Tactical - F2000 Tactical - - - F2000 EGLM (Camo) - F2000 EGLM (Camo) - - - F2000 EGLM - F2000 EGLM - - - TAR-21 - TAR-21 - - - CTAR-21 - CTAR-21 - - - TAR-21 EGLM - TAR-21 EGLM - - - Vector SMG - Vector SMG - - - Scorpion Evo 3 A1 - Scorpion Evo 3 A1 - - - CPW - CPW - - - RFB SDAR - RFB SDAR - - - Stoner 99 LMG - Stoner 99 LMG - - - Negev NG7 - Negev NG7 - - - Mk14 Mod 1 EBR - Mk14 Mod 1 EBR - - - GM6 Lynx - GM6 Lynx - - - GM6 Lynx (Camo) - GM6 Lynx (Camo) - - - M200 Intervention - M200 Intervention - - - M200 Intervention (Camo) - M200 Intervention (Camo) - - - VS-121 - VS-121 - - - TODO: MAR-10 .338 - - - TODO: MAR-10 .338 (Black) - - - TODO: MAR-10 .338 (Camo) - - - TODO: MAR-10 .338 (Sand) - - - TODO: Mk-I EMR 7.62 mm - - - TODO: Mk-I EMR 7.62 mm (Black) - - - TODO: Mk-I EMR 7.62 mm (Khaki) - - - TODO: Mk-I EMR 7.62 mm (Sand) - - - TODO: Mk-I EMR 7.62 mm (Camo) - - - TODO: Mk-I EMR 7.62 mm (Woodland) - - - TODO: NATO DMR (provisional) spotter - - - TODO: ASP-1 Kir 12.7 mm - - - TODO: ASP-1 Kir 12.7 mm (Black) - - - TODO: ASP-1 Kir 12.7 mm (Tan) - - - TODO: Cyrus 9.3 mm - - - TODO: Cyrus 9.3 mm (Black) - - - TODO: Cyrus 9.3 mm (Hex) - - - TODO: Cyrus 9.3 mm (Tan) - - - TODO: Mk14 7.62 mm - - - TODO: Mk14 7.62 mm (Camo) - - - TODO: Mk14 7.62 mm (Olive) - - - TODO: Navid 9.3 mm - - - TODO: Navid 9.3 mm (Hex) - - - TODO: Navid 9.3 mm (Tan) - - - TODO: SPMG .338 - - - TODO: SPMG .338 (MTP) - - - TODO: SPMG .338 (Black) - - - TODO: SPMG .338 (Sand) - - + + + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312A + + + XM312A + XM312A + XM312 + XM312A + XM312A + XM312A + XM312A + XM312A + XM312A + XM312A + + + XM312 (High) + XM312 (Hoch) + XM312 (Alto) + XM312 (Haut) + XM312 (Vysoký) + XM312 (Wysoki) + XM312 (Высокий) + XM312 (Alta) + XM312 (Magasított) + XM312 (Alta) + + + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + + + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + + + XM307 (High) + XM307 (Hoch) + XM307 (Alto) + XM307 (Haut) + XM307 (Vysoký) + XM307 (Wysoki) + XM307 (Высокий) + XM307 (Alta) + XM307 (Magasított) + XM307 (Alta) + + + Mini-Spike Launcher (AT) + Mini-Spike Lenkflugkörper (AT) + Lanzador Mini-Spike (AT) + Poste de tir Mini-Spike (AC) + Mini-Spike Odpalovač (AT) + Wyrzutnia Mini-Spike (AT) + Mini-Spike Пусковое устройство (ПТРК) + Lança-mísseis Mini-Spike (AC) + Mini-Spike rakétarendszer (páncéltörő) + Lanciatore Mini-Spike (AC) + + + Mini-Spike Launcher (AA) + Mini-Spike Lenkflugkörper (AA) + Lanzador Mini-Spike (AA) + Poste de tir Mini-Spike (AA) + Mini-Spike Odpalovač (AA) + Wyrzutnia Mini-Spike (AA) + Mini-Spike Пусковое устройство (ВВ) + Lança-mísseis Mini-Spike (AA) + Mini-Spike rakétarendszer (légvédelmi) + Lanciatore Mini-Spike (AA) + + + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + + + YABHON-R3 (CAS) + YABHON-R3 (Luftnahunterstützung) + YABHON-R3 (CAS) + YABHON-R3 (CAS) + YABHON-R3 (CAS) + YABHON-R3 (штурмовик) + + + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + + + M-ATV (HMG) + M-ATV (SMG) + M-ATV (HMG) + M-ATV (CKM) + M-ATV (TK) + M-ATV (HMG) + M-ATV (Пулемет) + M-ATV (HMG) + M-ATV (HMG) + M-ATV (HMG) + + + M-ATV (GMG) + M-ATV (GMW) + M-ATV (GMG) + M-ATV (GMG) + M-ATV (Granátomet) + M-ATV (GMG) + M-ATV (Гранатомет) + M-ATV (GMG) + M-ATV (GMG) + M-ATV (GMG) + + + Merkava Mk IV M + Merkava Mk IV M + Merkava Mk IV M + Merkawa Mk IV M + Merkava Mk IV M + Merkava Mk IV M + Меркава Mk IV M + Merkava Mk IV M + Merkava Mk IV M + Merkava Mk IV M + + + Merkava Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + Merkawa Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + Меркава Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + + + Sholef + Sholef + Sholef + Sholef + Sholef + Sholef + Шолеф + Sholef + Sholef + Sholef + + + Seara + Seara + Seara + Seara + Seara + Seara + Seara + Seara + Seara + Seara + + + Namer + Namer + Namer + Namer + Namer + Namer + Намер + Namer + Namer + Namer + + + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + + + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + + + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + + + HEMTT Transport + HEMTT Transport + HEMTT de transporte + HEMTT Transportowy + HEMTT Valník + HEMTT Transport + HEMTT Транспортный + HEMTT Transporte + HEMTT szállítójármű + HEMTT da trasporto + + + HEMTT Transport (covered) + HEMTT Transport (bedeckt) + HEMTT de transporte (cubierto) + HEMTT Transportowy (zakryty) + HEMTT Valník (krytý) + HEMTT Transport (bâché) + HEMTT Транспортный (крытый) + HEMTT Transporte (coberto) + HEMTT szállítójármű (ponyvás) + HEMTT da trasporto (coperto) + + + HEMTT + HEMTT + HEMTT + HEMTT + HEMTT + HEMTT Tracteur + HEMTT + HEMTT + HEMTT + HEMTT + + + HEMTT Container + HEMTT Container + HEMTT de contenedor + HEMTT Kontener + HEMTT Skříňový + HEMTT Conteneur + HEMTT Контейнер + HEMTT Contêiner + HEMTT Konténer + HEMTT portacontainer + + + HEMTT Medical + HEMTT Sanitäter + HEMTT médico + HEMTT Medyczny + HEMTT Zdravotnický + HEMTT Sanitaire + HEMTT Медицинский + HEMTT Médico + HEMTT (egészségügyi) + HEMTT Medico + + + HEMTT Ammo + HEMTT Munition + HEMTT de munición + HEMTT Amunicyjny + HEMTT Muniční + HEMTT Munitions + HEMTT Боеприпасы + HEMTT Munições + HEMTT (lőszerszállító) + HEMTT di rifornimento munizioni + + + HEMTT Fuel + HEMTT Treibstoff + HEMTT de combustible + HEMTT Cysterna + HEMTT Cisterna + HEMTT Citerne + HEMTT Заправщик + HEMTT Combustível + HEMTT (üzemanyag-szállító) + HEMTT di rifornimento carburante + + + HEMTT Repair + HEMTT Instandsetzung + HEMTT de reparación + HEMTT Naprawczy + HEMTT Opravárenský + HEMTT Réparation + HEMTT Ремонтный + HEMTT Reparador + HEMTT (szerelő-jármű) + HEMTT Riparatore + + + Fennek + Fennek + Fennek + Fennek + Fennek + Fennek + Феннек + Fennek + Fennek + Fennek + + + Fennek (HMG) + Fennek (SMG) + Fennek (HMG) + Fennek (CKM) + Fennek (TK) + Fennek (HMG) + Феннек (Пулемет) + Fennek (HMG) + Fennek (HMG) + Fennek (HMG) + + + Fennek (GMG) + Fennek (GMW) + Fennek (GMG) + Fennek (GMG) + Fennek (granátomet) + Fennek (GMG) + Феннек (Гранатомет) + Fennek (GMG) + Fennek (GMG) + Fennek (GMG) + + + Leopard 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + Леопард 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + + + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Уорриор + FV510 Warrior + FV510 Warrior + FV510 Warrior + + + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + + + KamAZ Transport + KamAZ Transport + KamAZ de transporte + KamAZ transportowy + KAMAZ Valník + KamAZ Transport + КамАЗ Траспортный + KamAZ Transporte + KamAZ szállítójármű + KamAZ da trasporto + + + KamAZ Transport (covered) + KamAZ Transport (bedeckt) + KamAZ de transporte (cubierto) + KamAZ Transportowy (zakryty) + KAMAZ Valník (krytý) + KamAZ Transport (bâché) + КамАЗ Траспортный (Крытый) + KamAZ Transporte (coberto) + KamAZ szállítójármű (ponyvás) + KamAZ da trasporto (coperto) + + + KamAZ Ammo + KamAZ Munition + KamAZ de munición + KamAZ Amunicyjny + KAMAZ Muniční + KamAZ Munitions + КамАЗ Боеприпасы + KamAZ Munições + KamAZ (lőszerszállító) + KamAZ di rifornimento munizioni + + + KamAZ Fuel + KamAZ Treibstoff + KamAZ de combustible + KamAZ cysterna + KAMAZ Cisterna + KamAZ Citerne + КамАЗ Заправщик + KamAZ Combustível + KamAZ (üzemanyag-szállító) + KamAZ di rifornimento carburante + + + KamAZ Repair + KamAZ Instandsetzung + KamAZ de reparación + KamAZ Naprawczy + KAMAZ Opravárenský + KamAZ Réparation + КамАЗ Ремонтный + KamAZ Reparador + KamAZ (szerelő-jármű) + KamAZ riparatore + + + KamAZ Medical + KamAZ Sanitäter + KamAZ médico + KamAZ Medyczny + KAMAZ Zdravotnický + KamAZ Sanitaire + КамАЗ Медицинский + KamAZ Médico + KamAZ (egészségügyi) + KamAZ Medico + + + Punisher + Punisher + Punisher + Punisher + Punisher + Punisher + Kаратель + Punisher + Punisher + Punisher + + + Punisher (HMG) + Punisher (SMG) + Punisher (HMG) + Punisher (CKM) + Punisher (TK) + Punisher (HMG) + Kаратель (Пулемет) + Punisher (HMG) + Punisher (HMG) + Punisher (HMG) + + + Punisher (GMG) + Punisher (GMW) + Punisher (GMG) + Punisher (CKM) + Punisher (granátomet) + Punisher (GMG) + Kаратель (Гранатомет) + Punisher (GMG) + Punisher (GMG) + Punisher (GMG) + + + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Черный Орел + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + + + 2S9 Sochor + 2S9 Sochor + 2S9 Sochor + 259 Sochor + 2S9 Sochor + 2S9 Sochor + 2S9 Сокор + 2S9 Sochor + 2S9 Sochor + 2S9 Sochor + + + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + БМ-2Т Сталкер + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + + + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ЗСУ-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + + + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + + + Typhoon Transport + Typhoon Transport + Typhoon de transporte + Typhoon Transportowy + Typhoon Valník + Typhoon Transport + Тайфун Транспортный + Typhoon Transporte + Typhoon szállítójármű + Typhoon da trasporto + + + Typhoon Transport (covered) + Typhoon Transport (bedeckt) + Typhoon de transporte (cubierto) + Typhoon Transportowy (przykryty) + Typhoon Valník (krytý) + Typhoon Transport (bâché) + Тайфун Транспортный (kрытый) + Typhoon Transporte (coberto) + Typhoon szállítójármű (ponyvás) + Typhoon da trasporto (coperto) + + + Typhoon Device + Typhoon Gerät + Typhoon de dispositivo + Typhoon Urządzenie + Typhoon Zařízení + Typhoon Dispositif + Тайфун Устройство + Typhoon Dispositivo + Typhoon (szerkezet) + Typhoon per dispositivo + + + Typhoon Ammo + Typhoon Munition + Typhoon de munición + Typhoon Amunicyjny + Typhoon Muniční + Typhoon Munitions + Тайфун Боеприпасы + Typhoon Munições + Typhoon (lőszerszállító) + Typhoon di rifornimento munizioni + + + Typhoon Fuel + Typhoon Treibstoff + Typhoon de combustible + Typhoon Cysterna + Typhoon Cisterna + Typhoon Citerne + Тайфун Заправщик + Typhoon Combustível + Typhoon (üzemanyag-szállító) + Typhoon di rifornimento carburante + + + Typhoon Repair + Typhoon Instandsetzung + Typhoon de reparación + Typhoon Naprawczy + Typhoon Opravárenský + Typhoon Réparation + Тайфун Ремонтный + Typhoon Reparador + Typhoon (szerelő-jármű) + Typhoon riparatore + + + Typhoon Medical + Typhoon Sanitäter + Typhoon médico + Typhoon Medyczny + Typhoon Zdravotnický + Typhoon Sanitaire + Тайфун Медицинский + Typhoon Médico + Typhoon (egészségügyi) + Typhoon medico + + + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Commanche + RAH-66 Команч + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + + + MH-6 Little Bird + MH-6 Little Bird + MH-6 Litte Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + + + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + + + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + + + CH-47I Chinook (unarmed) + CH-47I Chinook (unbewaffnet) + CH-47I Chinnok (Desarmado) + CH-47I Chinook (nieuzbrojony) + CH-47I Chinook (невооруженный) + CH-47I Chinook (Neozbrojený) + + + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Тандерболт II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + + + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + + + AW159 Wildcat (unarmed) + AW159 Wildcat (unbewaffnet) + AW159 Wildcat (desarmado) + AW159 Wildcat (nieuzbrojony) + AW159 Wildcat (neozbrojený) + AW159 Wildcat (non-armé) + AW159 Wildcat (невооруженный) + AW159 Wildcat (desarmado) + AW159 Wildcat (fegyvertelen) + AW159 Wildcat (disarmato) + + + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Мерлин + AW101 Merlin + AW101 Merlin + AW101 Merlin + + + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 Альбатрос (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + + + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 Альбатрос (AA) + L-159 ALCA (ВВ) + L-159 ALCA (AA) + L-159 ALCA (AA) + + + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Касатка + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + + + Ka-60 Kasatka (unarmed) + Ka-60 Kasatka (unbewaffnet) + Ka-60 Kasatka (desarmado) + Ka-60 Kasatka (nieuzbrojony) + Ka-60 Kasatka (neozbrojená) + Ka-60 Kasatka (non-armé) + Ka-60 Касатка (невооруженный) + Ka-60 Kasatka (desarmado) + Ka-60 Kasatka (fegyvertelen) + Ka-60 Kasatka (disarmato) + + + Yak-130 + Yak-130 + Yak-130 + Jak-130 + Jak-130 + Yak-130 + Як-130 + Yak-130 + Jak-130 + Yak-130 + + + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + + + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + + + M18A1 Claymore + M18A1 Claymore + M18A1 Claymore + Mina kierunkowa M18A1 Claymore + M18A1 Mina Claymore + M18A1 Claymore Mine antipersonnel à effet dirigé + M18A1 Клеймор + M18A1 Claymore + M18A1 Claymore akna + M18A1 Claymore Mina antiuomo + + + M183 Demolition Charge Assembly + M183 Geballte Sprengladung + Conjunto de carga de demolición M183 + Ładunek burzący M183 + M183 Demoliční nálož + M183 Charge de Démolition + M183 Комплектный подрывной заряд + M183 Sacola de Demolição + M183 romboló töltet + M183 Demolition Charge Assembly + + + M112 Demolition Block + M112 Sprengladung + Bloque de demolición M112 + Ładunek burzący M112 + M112 Výbušná nálož + Pétard M112 + M112 подрывной заряд + M112 Carga de Demolição + M112 romboló töltet + M112 Demolition Block + + + M67 Fragmentation Grenade + M67 Splittergranate + Granada de fragmentación M67 + Granat obronny M67 + M67 Granát + M67 Grenade à fragmentation + M67 ручная осколочная граната + M67 Granada de fragmentação + M67 repeszgránát + M67 Granata a frammentazione + + + M83 Smoke Grenade (White) + M83 Rauchgranate (Weiss) + Granada de humo M83 (Blanco) + Granat dymny M83 (Biały) + M83 Kouřový Granát (Bílý) + M83 Grenade fumigène (Blanche) + M83 дымовая граната (Белый) + M83 Granada de fumaça (Branca) + M83 füstgránát (Fehér) + M83 Granata fumogena (Bianco) + + + M18 Smoke Grenade (Blue) + M18 Rauchgranate (Blau) + Granada de humo M18 (Azul) + Granat dymny M18 (Niebieski) + M18 Kouřový Granát (Modrý) + M18 Grenade fumigène (Bleue) + M18 дымовая граната (Синий) + M18 Granada de fumaça (Azul) + M18 füstgránát (Kék) + M18 Granata fumogena (Blu) + + + M18 Smoke Grenade (Green) + M18 Rauchgranate (Grün) + Granada de humo M18 (Verde) + Granat dymny M18 (Zielony) + M18 Kouřový Granát (Zelený) + M18 Grenade fumigène (Verte) + M18 дымовая граната (Зелёный) + M18 Granada de fumaça (Verde) + M18 füstgránát (Zöld) + M18 Granata fumogena (Verde) + + + M18 Smoke Grenade (Orange) + M18 Rauchgranate (Orange) + Granada de humo M18 (Naranja) + Granat dymny M18 (Pomarańczowy) + M18 Kouřový Granát (Oranžový) + M18 Grenade fumigène (Orange) + M18 дымовая граната (Оранжевый) + M18 Granada de fumaça (Laranja) + M18 füstgránát (Narancssárga) + M18 Granata fumogena (Arancione) + + + M18 Smoke Grenade (Purple) + M18 Rauchgranate (Violett) + Granada de humo M18 (Púrpura) + Granat dymny M18 (Fioletowy) + M18 Kouřový Granát (Fialový) + M18 Grenade fumigène (Pourpre) + M18 дымовая граната (Пурпурный) + M18 Granada de fumaça (Roxa) + M18 füstgránát (Lila) + M18 Granata fumogena (Viola) + + + M18 Smoke Grenade (Red) + M18 Rauchgranate (Rot) + Granada de humo M18 (Rojo) + Granat dymny M18 (Czerwony) + M18 Kouřový Granát (Červený) + M18 Grenade fumigène (Rouge) + M18 дымовая граната (Красный) + M18 Granada de fumaça (Vermelha) + M18 füstgránát (Piros) + M18 Granata fumogena (Rosso) + + + M18 Smoke Grenade (Yellow) + M18 Rauchgranate (Gelb) + Granada de humo M18 (Amarillo) + Granat dymny M18 (Żółty) + M18 Kouřový Granát (Žlutý) + M18 Grenade fumigène (Jaune) + M183 дымовая граната (Жёлтые) + M18 Granada de fumaça (Amarela) + M18 füstgránát (Sárga) + M18 Granata fumogena (Giallo) + + + M15 Anti-Tank Mine + M15 Panzerabwehrmine + Mina antitanque M15 + Mina przeciwpancerna M15 + M15 Protitanková Mina + M15 Mine antichar + M15 противотанковая мина + M15 Mina anticarro + M15 harckocsiakna + M15 Mine anticarro + + + VS-50 Anti-Personnel Mine + VS-50 Antipersonenmine + Mina antipersona VS-50 + Mina przeciwpiechotna VS-50 + VS-50 Protipěchotní Mina + VS-50 Mine antipersonnel à pression + VS-50 Противопехотная мина + VS-50 Mina antipessoal + VS-50 gyalogsági taposóakna + VS-50 Mine antiuomo + + + M26 Anti-Personnel Bounding Mine + M26 Antipersonensprungmine + Mina antipersona M26 + Mina przeciwpiechotna M26 + M26 Šrapnelová Mina + M26 Mine antipersonnel bondissante + M26 Противопехотная мина + M26 Mina saltadora antipessoal + M26 gyalogsági ugróakna + M26 Mine saltanti antiuomo + + + PMR-3 Anti-Personnel Tripwire Mine + PMR-3 Antipersonenstolperdrahtmine + Mina antipersona de alambre PMR-3 + Mina przeciwpiechotna PMR-3 + PMR-3 Nástražná Mina + PMR-3 Mine antipersonnel à traction + PMR-3 Противопехотная мина + PMR-3 Mina antipessoal (armadilha) + PMR-3 botlódrótos gyalogsági akna + PMR-3 Mine antiuomo + + + P99 + P99 + P99 + + + MP-443 Grach + MP-443 Grach + MP-443 Grach + + + ACP-C2 + ACP-C2 + ACP-C2 + + + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + + + Chiappa Rhino 60DS + Chiappa Rhino 60DS + Chiappa Rhino 60DS + + + Taurus Judge + Taurus Judge + Taurus Judge + + + NLAW + NLAW + NLAW + + + RPG-32 + RPG-32 + RPG-32 + + + Mini-Spike (AA) + Mini-Spike (AA) + Mini-Spike (AA) + + + Mini-Spike (AT) + Mini-Spike (AT) + Mini-Spike (AT) + + + MX + MX + MX + + + MX (Black) + MX (Black) + MX (Negro) + + + MXC + MXC + MXC + + + MXC (Black) + MXC (Black) + MXC (Negro) + + + MX 3GL + MX 3GL + MX 3GL + + + MX 3GL (Black) + MX 3GL (Black) + MX 3GL (Negro) + + + MX LSW + MX LSW + MX LSW + + + MX LSW (Black) + MX LSW (Black) + MX LSW (Negro) + + + MXM + MXM + MXM + + + MXM (Black) + MXM (Black) + MXM (Negro) + + + KT2002 Katiba + KT2002 Katiba + KT2002 Katiba + + + KT2002C Katiba + KT2002C Katiba + KT2002C Katiba + + + KT2002 Katiba KGL + KT2002 Katiba KGL + KT2002 Katiba KGL + + + F2000 (Camo) + F2000 (Camo) + F2000 (Camuflaje) + + + F2000 + F2000 + F2000 + + + F2000 Tactical (Camo) + F2000 Tactical (Camo) + F2000 Tactical (Camuflaje) + + + F2000 Tactical + F2000 Tactical + F2000 Tactical + + + F2000 EGLM (Camo) + F2000 EGLM (Camo) + F2000 EGLM (Camuflaje) + + + F2000 EGLM + F2000 EGLM + F2000 EGLM + + + TAR-21 + TAR-21 + TAR-21 + + + CTAR-21 + CTAR-21 + CTAR-21 + + + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + + + Vector SMG + Vector SMG + Vector SMG + + + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + + + CPW + CPW + CPW + + + RFB SDAR + RFB SDAR + RFB SDAR + + + Stoner 99 LMG + Stoner 99 LMG + Stoner 99 LMG + + + Negev NG7 + Negev NG7 + Negev NG7 + + + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + + + GM6 Lynx + GM6 Lynx + GM6 Lynx + + + GM6 Lynx (Camo) + GM6 Lynx (Camo) + GM6 Lynx (Camuflaje) + + + M200 Intervention + M200 Intervention + M200 Intervention + + + M200 Intervention (Camo) + M200 Intervention (Camo) + M200 Intervention (Camuflaje) + + + VS-121 + VS-121 + VS-121 + + + TODO: MAR-10 .338 + TODO: MAR-10 .338 + + + TODO: MAR-10 .338 (Black) + TODO: MAR-10 .338 (Negro) + + + TODO: MAR-10 .338 (Camo) + TODO: MAR-10 .338 (Camuflaje) + + + TODO: MAR-10 .338 (Sand) + TODO: MAR-10 .338 (Arena) + + + TODO: Mk-I EMR 7.62 mm + TODO: Mk-I EMR 7.62 mm + + + TODO: Mk-I EMR 7.62 mm (Black) + TODO: Mk-I EMR 7.62 mm (Negro) + + + TODO: Mk-I EMR 7.62 mm (Khaki) + TODO: Mk-I EMR 7.62 mm (Caqui) + + + TODO: Mk-I EMR 7.62 mm (Sand) + TODO: Mk-I EMR 7.62 mm (Arena) + + + TODO: Mk-I EMR 7.62 mm (Camo) + TODO: Mk-I EMR 7.62 mm (Camuflaje) + + + TODO: Mk-I EMR 7.62 mm (Woodland) + TODO: Mk-I EMR 7.62 mm (Bosque) + + + TODO: NATO DMR (provisional) spotter + TODO: NATO DMR (provisional) observador + + + TODO: ASP-1 Kir 12.7 mm + TODO: ASP-1 Kir 12.7 mm + + + TODO: ASP-1 Kir 12.7 mm (Black) + TODO: ASP-1 Kir 12.7 mm (Negro) + + + TODO: ASP-1 Kir 12.7 mm (Tan) + TODO: ASP-1 Kir 12.7 mm (Tan) + + + TODO: Cyrus 9.3 mm + TODO: Cyrus 9.3 mm + + + TODO: Cyrus 9.3 mm (Black) + TODO: Cyrus 9.3 mm (Negro) + + + TODO: Cyrus 9.3 mm (Hex) + TODO: Cyrus 9.3 mm (Hex) + + + TODO: Cyrus 9.3 mm (Tan) + TODO: Cyrus 9.3 mm (Tan) + + + TODO: Mk14 7.62 mm + TODO: Mk14 7.62 mm + + + TODO: Mk14 7.62 mm (Camo) + TODO: Mk14 7.62 mm (Camuflaje) + + + TODO: Mk14 7.62 mm (Olive) + TODO: Mk14 7.62 mm (Oliva) + + + TODO: Navid 9.3 mm + TODO: Navid 9.3 mm + + + TODO: Navid 9.3 mm (Hex) + TODO: Navid 9.3 mm (Hex) + + + TODO: Navid 9.3 mm (Tan) + TODO: Navid 9.3 mm (Tan) + + + TODO: SPMG .338 + TODO: SPMG .338 + + + TODO: SPMG .338 (MTP) + TODO: SPMG .338 (MTP) + + + TODO: SPMG .338 (Black) + TODO: SPMG .338 (Negro) + + + TODO: SPMG .338 (Sand) + TODO: SPMG .338 (Arena) + + \ No newline at end of file From 6062128436bde5488151815f5106862ff42fb69b Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sun, 12 Apr 2015 18:01:29 +0200 Subject: [PATCH 025/247] Remove tourniquet option, add check pulse/response --- addons/medical/ACE_Medical_Treatments.hpp | 30 ++++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 097292d9cc..5b5e0b6abd 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -55,15 +55,6 @@ class ACE_Medical_Actions { animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; litter[] = {}; }; - class Tourniquet: Bandage { - displayName = "$STR_ACE_Medical_Apply_Tourniquet"; - displayNameProgress = "$STR_ACE_Medical_Applying_Tourniquet"; - items[] = {"ACE_tourniquet"}; - treatmentTime = 6; - callbackSuccess = QUOTE(DFUNC(treatmentTourniquet)); - condition = QUOTE(!([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo))); - litter[] = {}; - }; class BodyBag: Bandage { displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; @@ -80,6 +71,27 @@ class ACE_Medical_Actions { itemConsumed = 1; litter[] = {}; }; + class CheckPulse: Bandage { + displayName = ""; + displayNameProgress = ""; + treatmentLocations[] = {"All"}; + requiredMedic = 0; + treatmentTime = 2; + items[] = {}; + callbackSuccess = QUOTE(DFUNC(actionCheckPulse)); + callbackFailure = ""; + callbackProgress = ""; + animationPatient = ""; + animationCaller = ""; // TODO + itemConsumed = 0; + litter[] = {}; + }; + class CheckBloodPressure: CheckPulse { + callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure)); + }; + class CheckResponse: CheckPulse { + callbackSuccess = QUOTE(DFUNC(actionCheckResponse)); + }; }; class Advanced { From 664cc7077d2b4389339886e78992687479fdce7c Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sun, 12 Apr 2015 18:06:57 +0200 Subject: [PATCH 026/247] Reduce blood loss rate --- addons/medical/functions/fnc_getBloodLoss.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index 6418d425e8..fb5a6d9e36 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -#define BLOODLOSSRATE_BASIC 0.4 +#define BLOODLOSSRATE_BASIC 0.08 private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). From b1c29f82c26d5e238707e329a6057a5105b2a4f0 Mon Sep 17 00:00:00 2001 From: nomisum Date: Sun, 12 Apr 2015 19:41:44 +0200 Subject: [PATCH 027/247] improved/added german translation Imho `Raketenlenksystem` is the best fitting german translation for missile guidance. `Raketenlenkung` sounds a bit too colloquial. --- addons/missileguidance/stringtable.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index d64e3e31ab..9939c96294 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -7,7 +7,7 @@ Avanzada Misiles Orientación Avancée Missile orientation Asystent Missile - Erweiterte Missile Guidance + Erweitertes Raketenlenksystem Pokročilé řízení střel Avanzato Missile Guidance Avançado Missile Guidance @@ -19,7 +19,7 @@ - + Aktiviert erweitertes Raketenlenksystem und Auswahl von verschiedenen Raketen und Feuermodi Povoluje pokročilou mechaniku řízení střel. @@ -33,7 +33,7 @@ - + Hydra-70 DAGR Rakete Hydra-70 DAGR @@ -45,7 +45,7 @@ - + DAGR DAGR @@ -57,7 +57,7 @@ - + Hydra-70 DAGR lasergelenkte Rakete Hydra-70 DAGR laserem naváděná střela @@ -71,7 +71,7 @@ - + Hellfire II AGM-114K Rakete Hellfire II AGM-114K @@ -83,7 +83,7 @@ - + AGM-114K AGM-114K @@ -95,7 +95,7 @@ - + Hellfire II AGM-114K lasergelenkte Rakete Hellfire II AGM-114K laserem naváděná střela @@ -104,4 +104,4 @@ - \ No newline at end of file + From ca27e6eb5ab3a3dfdc1e09c19ac734eacce1c959 Mon Sep 17 00:00:00 2001 From: nomisum Date: Sun, 12 Apr 2015 19:52:37 +0200 Subject: [PATCH 028/247] fixed typo `Erweitertes Raketenlenksystem` shoud be a nominalization --- addons/missileguidance/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 9939c96294..77e39e51f7 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -19,7 +19,7 @@ - Aktiviert erweitertes Raketenlenksystem und Auswahl von verschiedenen Raketen und Feuermodi + Aktiviert Erweitertes Raketenlenksystem und Auswahl von verschiedenen Raketen und Feuermodi Povoluje pokročilou mechaniku řízení střel. From f94b4befef50ef1c4c82c64ec762e19fc72161be Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 13 Apr 2015 13:04:23 +0200 Subject: [PATCH 029/247] initial commit --- addons/respawn/CfgVehicles.hpp | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index f6b8fc64c2..4b763074c2 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -69,7 +69,9 @@ class CfgVehicles { }; // static - class ACE_Rallypoint_West : Flag_NATO_F { + class ACE_Rallypoint_West: Flag_NATO_F { + XEH_ENABLED; + author = "$STR_ACE_Common_ACETeam"; displayName = "Rallypoint West Base"; vehicleClass = QGVAR(Rallypoints); @@ -94,7 +96,9 @@ class CfgVehicles { }; }; - class ACE_Rallypoint_East : Flag_CSAT_F { + class ACE_Rallypoint_East: Flag_CSAT_F { + XEH_ENABLED; + author = "$STR_ACE_Common_ACETeam"; displayName = "Rallypoint East Base"; vehicleClass = QGVAR(Rallypoints); @@ -119,7 +123,9 @@ class CfgVehicles { }; }; - class ACE_Rallypoint_Independent : Flag_AAF_F { + class ACE_Rallypoint_Independent: Flag_AAF_F { + XEH_ENABLED; + author = "$STR_ACE_Common_ACETeam"; displayName = "Rallypoint Independent Base"; vehicleClass = QGVAR(Rallypoints); @@ -145,7 +151,9 @@ class CfgVehicles { }; // moveable - class ACE_RallypointExit_West : Flag_NATO_F { + class ACE_RallypointExit_West: Flag_NATO_F { + XEH_ENABLED; + author = "$STR_ACE_Common_ACETeam"; displayName = "Rallypoint West"; vehicleClass = QGVAR(Rallypoints); @@ -170,7 +178,9 @@ class CfgVehicles { }; }; - class ACE_RallypointExit_East : Flag_CSAT_F { + class ACE_RallypointExit_East: Flag_CSAT_F { + XEH_ENABLED; + author = "$STR_ACE_Common_ACETeam"; displayName = "Rallypoint East"; vehicleClass = QGVAR(Rallypoints); @@ -195,7 +205,9 @@ class CfgVehicles { }; }; - class ACE_RallypointExit_Independent : Flag_AAF_F { + class ACE_RallypointExit_Independent: Flag_AAF_F { + XEH_ENABLED; + author = "$STR_ACE_Common_ACETeam"; displayName = "Rallypoint Independent"; vehicleClass = QGVAR(Rallypoints); From 3c3f6ba4c3be181fddf5620f8b634ef5df4b784a Mon Sep 17 00:00:00 2001 From: Harakhti Date: Mon, 13 Apr 2015 19:28:58 +0200 Subject: [PATCH 030/247] Translation: A to I Some parts filled out, other parts corrected or stylized. --- addons/aircraft/stringtable.xml | 96 +- addons/attach/stringtable.xml | 360 +++---- addons/captives/stringtable.xml | 338 +++---- addons/common/stringtable.xml | 19 +- addons/disposable/stringtable.xml | 68 +- addons/dragging/stringtable.xml | 96 +- addons/explosives/stringtable.xml | 996 ++++++++++--------- addons/fcs/stringtable.xml | 147 +-- addons/frag/stringtable.xml | 24 +- addons/goggles/stringtable.xml | 55 +- addons/grenades/stringtable.xml | 487 ++++----- addons/hearing/stringtable.xml | 215 ++-- addons/interact_menu/stringtable.xml | 82 +- addons/interaction/stringtable.xml | 1381 +++++++++++++------------- addons/inventory/stringtable.xml | 37 +- 15 files changed, 2227 insertions(+), 2174 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 4d1c49fff6..fb44395e51 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,50 +1,50 @@  - + - - - Burst - Feuerstoß - Ráfaga - Seria - Dávka - Rafale - Очередь - Sorozat - Rajada - Raffica - - - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - XM301 - - - Open Cargo Door - Laderampe öffnen - Abrir compuerta de carga - Ourvir Rampe Cargo - Otwórz drzwi ładowni - Otevřít nákladní prostor - Rámpát kinyitni - Открыть грузовой отсек - - - Close Cargo Door - Laderampe schließen - Cerrar compuerta de carga - Fermer Rampe Cargo - Zamknij drzwi ładowni - Zavřít nákladní prostor - Rámpát zárni - Закрыть грузовой отсек - - - + + + Burst + Feuerstoß + Ráfaga + Seria + Dávka + Rafale + Очередь + Sorozat + Rajada + Raffica + + + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + XM301 + + + Open Cargo Door + Laderampe öffnen + Abrir compuerta de carga + Ourvir Rampe Cargo + Otwórz drzwi ładowni + Otevřít nákladní prostor + Rakodórámpa nyitása + Открыть грузовой отсек + + + Close Cargo Door + Laderampe schließen + Cerrar compuerta de carga + Fermer Rampe Cargo + Zamknij drzwi ładowni + Zavřít nákladní prostor + Rakodórámpa zárása + Закрыть грузовой отсек + + + \ No newline at end of file diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 6db96b7608..b239724c31 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,181 +1,183 @@  + - - - Attach item >> - Gegenstand befestigen >> - Acoplar objeto >> - Przyczep przedmiot >> - Attacher l'objet >> - Připnout předmět >> - Acoplar item >> - Attacca l'oggetto >> - Tárgy hozzácsatolása >> - Добавить приспособления - - - Attach - Befestigen - Acoplar - Przyczep - Attacher - Připnout - Acoplar - Attacca - Hozzácsatolás - Присоединить - - - Detach item - Gegenstand entfernen - Quitar objeto - Odczep przedmiot - Détacher l'objet - Odepnout předmět - Separar item - Stacca l'oggetto - Tárgy lecsatolása - Отсоединить - - - IR Strobe Attached - IR-Stroboskop befestigt - Marcador IR acoplado - Przyczepiono stroboskop IR - Strobe IR attaché - IR Značkovač připnutý - Marcador IV Acoplado - Strobo IR attaccata - Infravörös jeladó hozzácsatolva - ИК-маяк присоединён - - - IR Strobe Detached - IR-Stroboskop entfernt - Marcador IR quitado - Odczepiono stroboskop IR - Strobe IR détaché - IR Značkovač odepnutý - Marcador IV Separado - Strobo IR staccata - Infravörös jeladó lecsatolva - ИК-маяк отсоединён - - - IR Grenade Attached - IR-Granate befestigt - Granada IR acoplada - Przyczepiono granat IR - Grenade IR attachée - IR Granát připnutý - Granada IV Acoplada - Granata IR attaccata - Infravörös gránát hozzácsatolva - ИК-граната присоединена - - - IR Grenade Detached - IR-Granate entfernt - Granada IR quitada - Odczepiono granat IR - Grenade IR détachée - IR Granát odepnutý - Granada IV Separada - Granata IR staccata - Infravörös gránát lecsatolva - ИК-граната отсоединена - - - Chemlight Attached - Leuchtstab befestigt - Barra de luz acoplada - Przyczepiono światło chemiczne - Chemlight attaché - Chemické světlo připnuto - Chemlight Acoplada - Chemlight attaccata - Chemlight hozzácsatolva - Химсвет присоединён - - - Chemlight Detached - Leuchtstab entfernt - Barra de luz quitada - Odczepiono światło chemiczne - Chemlight détaché - Chemické světlo odepnuto - Chemlight Separada - Chemlight staccata - Chemlight hozzácsatolva - Химсвет отсоединён - - - No inventory space - Kein Platz im Inventar - Sin espacio en inventario - Brak miejsca w ekwipunku - Pas de place dans l'inventaire - Není místo v inventáři - Sem espaço no inventário - Non hai più spazio - Nincs több hely - В инвентаре нет места - - - IR Strobe - IR-Stroboskop - Marcador IR - Stroboskop IR - Strobe IR - IR Značkovač - Marcador IV - Strobo IR - Infravörös jeladó - ИК-маяк - - - IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs. - Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist. - Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne. - El Marcador IR permite señalizar su posisición a través de una baliza visible solo a través de dispositivos de visión nocturna. - Le Strobe IR permet de signaler votre position grace à un clignotement visible par des JVN. - IR Značkovač je Infračerveně zářící stroboskop umožňující signalizaci vaší pozice díky blikajícímu světlu, které je vidět pouze při užití noktovizoru. - O Marcador IV permite que você sinalize sua posição através de um pulso visível somente com equipamento de visão noturna. - La Strobo IR è una luce stroboscopica che ti permette di segnalare la tua posizione grazie all'emissione di impulsi ad infrarossi visibili solo con i visori notturni. - Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható. - ИК-маяк позволяет сигнализировать о своём местоположении через пульсирующий свет, видимый только через ПНВ. - - - Place - Platzieren - Colocar - Umieść - Placer - Položit - Colocar - Posiziona - Elhelyez - Установить - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Cancelar - Annulla - Mégse - Отмена - - - Attach Failed - Échec du Attacher - Befestigen fehlgeschlagen - Соединение прервано - Error al acoplar - Připnutí selhalo - - - + + + Attach item >> + Gegenstand befestigen >> + Acoplar objeto >> + Przyczep przedmiot >> + Attacher l'objet >> + Připnout předmět >> + Acoplar item >> + Attacca l'oggetto >> + Tárgy hozzácsatolása >> + Добавить приспособления + + + Attach + Befestigen + Acoplar + Przyczep + Attacher + Připnout + Acoplar + Attacca + Hozzácsatolás + Присоединить + + + Detach item + Gegenstand entfernen + Quitar objeto + Odczep przedmiot + Détacher l'objet + Odepnout předmět + Separar item + Stacca l'oggetto + Tárgy lecsatolása + Отсоединить + + + IR Strobe Attached + IR-Stroboskop befestigt + Marcador IR acoplado + Przyczepiono stroboskop IR + Strobe IR attaché + IR Značkovač připnutý + Marcador IV Acoplado + Strobo IR attaccata + Infravörös jeladó hozzácsatolva + ИК-маяк присоединён + + + IR Strobe Detached + IR-Stroboskop entfernt + Marcador IR quitado + Odczepiono stroboskop IR + Strobe IR détaché + IR Značkovač odepnutý + Marcador IV Separado + Strobo IR staccata + Infravörös jeladó lecsatolva + ИК-маяк отсоединён + + + IR Grenade Attached + IR-Granate befestigt + Granada IR acoplada + Przyczepiono granat IR + Grenade IR attachée + IR Granát připnutý + Granada IV Acoplada + Granata IR attaccata + Infravörös gránát hozzácsatolva + ИК-граната присоединена + + + IR Grenade Detached + IR-Granate entfernt + Granada IR quitada + Odczepiono granat IR + Grenade IR détachée + IR Granát odepnutý + Granada IV Separada + Granata IR staccata + Infravörös gránát lecsatolva + ИК-граната отсоединена + + + Chemlight Attached + Leuchtstab befestigt + Barra de luz acoplada + Przyczepiono światło chemiczne + Chemlight attaché + Chemické světlo připnuto + Chemlight Acoplada + Chemlight attaccata + Chemlight hozzácsatolva + Химсвет присоединён + + + Chemlight Detached + Leuchtstab entfernt + Barra de luz quitada + Odczepiono światło chemiczne + Chemlight détaché + Chemické světlo odepnuto + Chemlight Separada + Chemlight staccata + Chemlight hozzácsatolva + Химсвет отсоединён + + + No inventory space + Kein Platz im Inventar + Sin espacio en inventario + Brak miejsca w ekwipunku + Pas de place dans l'inventaire + Není místo v inventáři + Sem espaço no inventário + Non hai più spazio + Nincs több hely + В инвентаре нет места + + + IR Strobe + IR-Stroboskop + Marcador IR + Stroboskop IR + Strobe IR + IR Značkovač + Marcador IV + Strobo IR + Infravörös jeladó + ИК-маяк + + + IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs. + Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist. + Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne. + El Marcador IR permite señalizar su posisición a través de una baliza visible solo a través de dispositivos de visión nocturna. + Le Strobe IR permet de signaler votre position grace à un clignotement visible par des JVN. + IR Značkovač je Infračerveně zářící stroboskop umožňující signalizaci vaší pozice díky blikajícímu světlu, které je vidět pouze při užití noktovizoru. + O Marcador IV permite que você sinalize sua posição através de um pulso visível somente com equipamento de visão noturna. + La Strobo IR è una luce stroboscopica che ti permette di segnalare la tua posizione grazie all'emissione di impulsi ad infrarossi visibili solo con i visori notturni. + Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható. + ИК-маяк позволяет сигнализировать о своём местоположении через пульсирующий свет, видимый только через ПНВ. + + + Place + Platzieren + Colocar + Umieść + Placer + Položit + Colocar + Posiziona + Elhelyez + Установить + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Cancelar + Annulla + Mégse + Отмена + + + Attach Failed + Échec du Attacher + Befestigen fehlgeschlagen + Соединение прервано + Error al acoplar + Připnutí selhalo + Hozzácsatolás sikertelen + + + \ No newline at end of file diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 0b0692876b..d2caa606a3 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,168 +1,174 @@  + - - - Take Prisoner - Gefangen nehmen - Tomar prisionero - Capturer le prisonnier - Weź więźnia - Zajmout Osobu - Arresta il Prigioniero - Tomar Prisioneiro - Foglyul ejtés - Взять в плен - - - Free Prisoner - Gefangenen freilassen - Liberar prisionero - Wypuść więźnia - Libérer le prisonnier - Osvobodit Zajatce - Libera il Prigioniero - Libertar Prisioneiro - Fogoly szabadon elengedése - Освободить пленника - - - Escort Prisoner - Gefangenen eskortieren - Escoltar prisionero - Eskortuj więźnia - Escorter le prisonnier - Eskortovat Zajatce - Scorta il Prigioniero - Escoltar Prisioneiro - Fogoly kísérése - Конвоировать пленника - - - Release Prisoner - Gefangenen loslassen - Soltar prisionero - Anuluj eskortowanie - Relâcher le prisonnier - Uvolnit Zajatce - Rilascia il Prigioniero - Largar Prisioneiro - Fogoly elengedése - Прекратить конвоирование - - - You need to take him as prisoner first! - Du musst ihn zuerst gefangen nehmen. - Necesitas hacerle prisionero primero! - Najpierw musisz wziąć go jako więźnia! - Vous devez d'abord le capturer! - Musíš ho nejdříve zajmout! - Prima devi arrestarlo! - Você deve tomá-lo como prisioneiro primeiro! - Először foglyul kell ejtened! - Вы должны сначала взять его в плен! - - - Load Captive - Gefangenen einladen - Cargar prisionero - Embarquer le prisonnier - Załaduj więźnia - Naložit zajatce - Fogoly berakása - Загрузить пленного - Embarcar Prisioneiro - - - Unload Captive - Gefangenen ausladen - Descargar prisionero - Débarquer le prisonnier - Wyładuj więźnia - Vyložit zajatce - Fogoly kivevése - Выгрузить пленного - Desembarcar Prisioneiro - - - Cable Tie - Kabelbinder - Opaska zaciskowa - Precinto - Serflex - Stahovací Pásek - Algema Plástica - Fascietta - Gyorskötöző - Кабельная стяжка - - - Cable ties that allow you to restrain prisoners. - Kabelbinder ermöglichen es, Gefangene zu fesseln. - Opaska zaciskowa pozwala na skrępowanie dłoni u więźnia. - Los precintos permiten maniatar prisioneros - Les Serflex permettent de menotter les prisonniers. - Stahovací pásky vám umožní zadržet vězně. - A algema plástica permite que você contenha prisioneiros. - Fascietta che ti consente di arrestare i prigionieri. - Gyorskötöző emberek fogjulejtéséhez. - Кабельные стяжки позволяют связывать пленников. - - - Inventory of frisked person - Inventar der durchsuchten Person - Inventaire de la fouille - Inventario de la persona cacheada - Motozott személy felszerelése - Inventář prohledávané osoby - Ekwipunek rewidowanej osoby - Инвентарь обысканных лиц - Inventário da pessoa revistada - - - Frisk person - Person durchsuchen - Fouiller - Cachear - Prohledávaná osoba - Rewiduj osobę - Motozás - Обыскать человека - Revistar - - - Surrender - Kapitulieren - Rendirse - Сдаться - Vzdát se - - - Stop Surrendering - Den Kampf erneut aufnehmen - Dejar de rendirse - Остановить сдачу - Přestat se vzdávat - - - Only use on alive units - Nur bei lebenden Einheiten verwendbar - Utilizar solo en unidades vivas - Только для живых юнитов - Použitelné jen na živé jednotky - - - Only use on dismounted inf - Nur bei abgesessener Infanterie verwendbar - Utilizar solo en infanteria desmontada - Только для спеш. солдат - Použitelné jen na pěsích jednotkách - - - Nothing under mouse - Es wurde nichts ausgewählt - Nada bajo el ratón - Объекты под мышью отсутствуют - Nic není vybráno - - - + + + Take Prisoner + Gefangen nehmen + Tomar prisionero + Capturer le prisonnier + Weź więźnia + Zajmout Osobu + Arresta il Prigioniero + Tomar Prisioneiro + Foglyul ejtés + Взять в плен + + + Free Prisoner + Gefangenen freilassen + Liberar prisionero + Wypuść więźnia + Libérer le prisonnier + Osvobodit Zajatce + Libera il Prigioniero + Libertar Prisioneiro + Fogoly szabadon engedése + Освободить пленника + + + Escort Prisoner + Gefangenen eskortieren + Escoltar prisionero + Eskortuj więźnia + Escorter le prisonnier + Eskortovat Zajatce + Scorta il Prigioniero + Escoltar Prisioneiro + Fogoly kísérése + Конвоировать пленника + + + Release Prisoner + Gefangenen loslassen + Soltar prisionero + Anuluj eskortowanie + Relâcher le prisonnier + Uvolnit Zajatce + Rilascia il Prigioniero + Largar Prisioneiro + Fogoly elengedése + Прекратить конвоирование + + + You need to take him as prisoner first! + Du musst ihn zuerst gefangen nehmen. + Necesitas hacerle prisionero primero! + Najpierw musisz wziąć go jako więźnia! + Vous devez d'abord le capturer! + Musíš ho nejdříve zajmout! + Prima devi arrestarlo! + Você deve tomá-lo como prisioneiro primeiro! + Először foglyul kell ejtened őt! + Вы должны сначала взять его в плен! + + + Load Captive + Gefangenen einladen + Cargar prisionero + Embarquer le prisonnier + Załaduj więźnia + Naložit zajatce + Fogoly berakása + Загрузить пленного + Embarcar Prisioneiro + + + Unload Captive + Gefangenen ausladen + Descargar prisionero + Débarquer le prisonnier + Wyładuj więźnia + Vyložit zajatce + Fogoly kivevése + Выгрузить пленного + Desembarcar Prisioneiro + + + Cable Tie + Kabelbinder + Opaska zaciskowa + Precinto + Serflex + Stahovací Pásek + Algema Plástica + Fascietta + Gyorskötöző + Кабельная стяжка + + + Cable ties that allow you to restrain prisoners. + Kabelbinder ermöglichen es, Gefangene zu fesseln. + Opaska zaciskowa pozwala na skrępowanie dłoni u więźnia. + Los precintos permiten maniatar prisioneros + Les Serflex permettent de menotter les prisonniers. + Stahovací pásky vám umožní zadržet vězně. + A algema plástica permite que você contenha prisioneiros. + Fascietta che ti consente di arrestare i prigionieri. + Gyorskötöző, emberek foglyulejtéséhez használható. + Кабельные стяжки позволяют связывать пленников. + + + Inventory of frisked person + Inventar der durchsuchten Person + Inventaire de la fouille + Inventario de la persona cacheada + Motozott személy felszerelése + Inventář prohledávané osoby + Ekwipunek rewidowanej osoby + Инвентарь обысканных лиц + Inventário da pessoa revistada + + + Frisk person + Person durchsuchen + Fouiller + Cachear + Prohledávaná osoba + Rewiduj osobę + Motozás + Обыскать человека + Revistar + + + Surrender + Kapitulieren + Rendirse + Сдаться + Vzdát se + Megadás + + + Stop Surrendering + Den Kampf erneut aufnehmen + Dejar de rendirse + Остановить сдачу + Přestat se vzdávat + Megadás abbahagyása + + + Only use on alive units + Nur bei lebenden Einheiten verwendbar + Utilizar solo en unidades vivas + Только для живых юнитов + Použitelné jen na živé jednotky + Csak élő egységeken használni + + + Only use on dismounted inf + Nur bei abgesessener Infanterie verwendbar + Utilizar solo en infanteria desmontada + Только для спеш. солдат + Použitelné jen na pěsích jednotkách + Csak járműben kívül lévő egységeken használni + + + Nothing under mouse + Es wurde nichts ausgewählt + Nada bajo el ratón + Объекты под мышью отсутствуют + Nic není vybráno + Semmi sincs az egér alatt + + + \ No newline at end of file diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index b5ca932af6..e360f94b5b 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,4 +1,5 @@  + @@ -46,7 +47,7 @@ ACE Options ACE Настройки Opções do ACE - ACE Opciók + ACE Beállítások Opzioni ACE @@ -306,6 +307,7 @@ Přijmout žádost Accetta Richieste Подтвердить запросы + Kérések elfogadása Decline Requests @@ -315,6 +317,7 @@ Zamítnout žádost Rifiuta Richieste Отклонить запросы + Kérések elutasítása Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -323,6 +326,7 @@ Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. Подтвердить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий. + Más játékosok általi kérések elfogadása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre. Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -331,6 +335,7 @@ Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. Отклонить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий. + Más játékosok általi kérések elutasítása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre. Feedback icons @@ -338,6 +343,7 @@ Iconos de respuesta Icone informative Иконки состояний + Visszajelző ikonok Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. @@ -345,6 +351,7 @@ Seleccionar la posición de o desactivar los íconos de respuesta en la pantalla. Estos iconos se mostrarán para proporcionar información adicional sobre el estado de su personaje y las acciones a realizar. Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore. Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях. + Itt beállítható a visszajelző ikonok képernyőn lévő helyzete és jelenléte. Ezek az ikonok extra visszajelzést biztosítanak a karaktered állapotán és végrehajtott cselekvésein. Progress bar location @@ -352,6 +359,7 @@ Ubicación de la barra de progreso Posizione della barra di avanzamento Положение прогресс-бара + Állapotjelző sáv helyzete Set the desired location of the progress bar on your screen. @@ -359,6 +367,7 @@ Seleccionar la ubicación deseada de la barra de progreso en tu pantalla Modifica la posizione su schermo della barra di avanzamento. Установите желаемое положение строки состояния на экране. + Itt beállítható az állapotjelző sáv képernyődön lévő helyzete. Hint Background color @@ -366,6 +375,7 @@ Color de fondo de las notificaciones Sfondo dei Suggerimenti Цвет фона всплывающих подсказок + Súgó háttérszíne The color of the background from the ACE hints. @@ -373,6 +383,7 @@ El color de fondo de las notificaciones del ACE Il colore di sfondo dei suggerimenti dell'ACE. Цвет фона всплывающий подсказок АСЕ. + Az ACE-súgók hátterének színe. Hint text font color @@ -380,6 +391,7 @@ Color del texto de las notificaciones Testo dei Suggerimenti Цвет шрифта всплывающих подсказок + Súgószöveg betűinek színe The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. @@ -387,6 +399,7 @@ El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se questo non è altrimenti specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. + Az ACE-súgók betűkészletének színek. Ez a szín alapértelmezett az összes szövegre az ACE-súgórendszerben, ha a súgószöveg maga nem ad meg más színt. Banana @@ -395,6 +408,7 @@ Banán Banana Банан + Banán A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. @@ -403,6 +417,7 @@ Banán je protáhlé ovoce a plod banánovníku (epigeická bobule). Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotto da un gran numero di grandi pianti erbacee dotate di fiori, della famiglia delle Musaceae. Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa). + A banán egy ehető gyümölcs, technikai szempontból bogyótermés, melyet több fürtvirágzatú növény termel a Musa rendszertani nemzetségben. - + \ No newline at end of file diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 7393e41f6e..d5e1000682 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,36 +1,36 @@  - + - - - Used Tube - Benutze Einwegwaffe - Tube utilisé - Použitý odpalovač - Zużyta tuba - Lanzador utilizado - Használt cső - Отстрелянная труба - - - Used disposable rocket launcher - Benutzter Einweg-Raketenwerfer - Lance-roquette à usage unique utilisé - Použitý raketomet - Zużyta tuba granatnika jednorazowego użytku - Lanzador desechable utilizado - Használt rakétavető - Отстрелянная одноразовая пусковая установка - - - Preloaded Missile Dummy - Vorgeladene Racketennachbildung - Preloaded Missile Dummy - Přednabitá dummy střela - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Заряженная ракетная пустышка - - - + + + Used Tube + Benutze Einwegwaffe + Tube utilisé + Použitý odpalovač + Zużyta tuba + Lanzador utilizado + Elhasznált kilövőcső + Отстрелянная труба + + + Used disposable rocket launcher + Benutzter Einweg-Raketenwerfer + Lance-roquette à usage unique utilisé + Použitý raketomet + Zużyta tuba granatnika jednorazowego użytku + Lanzador desechable utilizado + Elhasznált eldobható rakétavető + Отстрелянная одноразовая пусковая установка + + + Preloaded Missile Dummy + Vorgeladene Racketennachbildung + Preloaded Missile Dummy + Přednabitá dummy střela + Preloaded Missile Dummy + Preloaded Missile Dummy + Előtöltött műrakéta + Заряженная ракетная пустышка + + + \ No newline at end of file diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 3a425aafb2..d493250c97 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -1,35 +1,36 @@  + - - - Drag - Тащить - Arrastrar - Ciągnij - Táhnout - Tracter - Ziehen - Arrastar - Trascina - Húzás - - - Release - Отпустить - Soltar - Puść - Položit - Lâcher - Loslassen - Largar - Lascia - Elengedés - - - Item to heavy - Gegenstand ist zu schwer - Articulo demasiado pesado - - Слишком тяжело - Moc težké - - - Carry - Tragen - Portar - Nieś - Porter - Nést - Carregar - Trascina - Felvesz - Нести - - - + Слишком тяжело + Moc težké + Az objektum túl nehéz + + + Carry + Tragen + Portar + Nieś + Porter + Nést + Carregar + Trascina + Felvevés + Нести + + + \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index d076f8cc2f..f533e8ed44 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,499 +1,501 @@  + - - - Explosives - Sprengstoffe - Explosivos - Ładunki wybuchowe - Explosifs - Výbušniny - Esplosivi - Robbanóanyagok - Explosivos - Взрывчатка - - - Place >> - Platzieren >> - Colocar >> - Umieść >> - Placer >> - Položit >> - Piazza >> - Lerakás >> - Colocar >> - Установить >> - - - Detonate >> - Zünden >> - Detonar >> - Detonuj >> - Mise à feu >> - Odpálit >> - Detona >> - Robbantás >> - Detonar >> - Подрыв >> - - - Explosive code: %1 - Sprengstoffcode: %1 - Código del explosivo: %1 - Kod ładunku: %1 - Code explosif: %1 - Kód výbušniny: %1 - Codice dell'esplosivo : %1 - Robbanóanyag kódja: %1 - Código do explosivo: %1 - Код подрыва: %1 - - - Place - Platzieren - Colocar - Umieść - Placer - Položit - Piazza - Elhelyezés - Colocar - Установить - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Annulla - Mégsem - Cancelar - Отмена - - - + Modifier, rotates - + Modifikator, drehen - + Modificador, girar - + Modificateur, tourner - + Modificatore, rotazione - + Modifikátor, otočit - + Változtatás, forgatás - + modyfikator, obracanie - + Modificador, rotaciona - + Bращать - - - Turn On Thor III - Thor III aktivieren - Encender Thor III - Włącz Thor III - Allumer Thor III - Zapnout Thor III - Accendi Thor III - Thor III bekapcsolása - Ativar Thor III - Активировать Thor III - - - Turn Off Thor III - Thor III deaktivieren - Apagar Thor III - Wyłącz Thor III - Éteindre Thor III - Vypnout Thor III - Spegni Thor III - Thor III kikapcsolása - Desativar Thor III - Деактивировать Thor III - - - Cellphone - Mobiltelefon - Télefono móvil - Telefon komórkowy - Téléphone Portable - Telefon - Cellulare - Mobil - Celular - Сотовый телефон - - - Used to remotely trigger explosives - Wird benutzt um Sprengstoffe fernzuzünden - Usado para detonar remotamente explosivos - Używany do zdalnego detonowania ładunków wybuchowych - Utilisé pour déclencher des explosifs à distance - Používaný ke vzdálenému odpalování výbušnin - Usato per l'attivazione a distanza degli esplosivi - Robbanóanyagok távoli robbantásához - Usado para acionar explosivos remotamente - Используется для удаленной детонации СВУ - - - M57 Firing Device - M57 Zündvorrichtung - Dispositivo de detonación M57 - Zapalnik M57 - M57 Dispositif de mise à feu - Odpalovací zařízení M57 - Detonatore M57 - M57 Detonátor - M57 Dispositivo de Detonação - Взрыватель M57 - - - Used to remotely trigger explosives - Wird benutzt um Sprengstoffe fernzuzünden - Usado para detonar remotamente explosivos - Używany do zdalnego detonowania ładunków wybuchowych - Utilisé pour déclencher des explosifs à distance - Používané ke vzdálenému odpalování výbušnin - Usato per l'attivazione a distanza degli esplosivi - Robbanóanyagok távoli robbantásához - Usado para acionar explosivos remotamente - Используется для удаленной детонации зарядов - - - M26 Firing Device - M26 Zündvorrichtung - Dispositivo de detonación MK26 - Zapalnik M26 - M26 Dispositif de mise à feu - Odpalovací zařízení M26 - Detonatore M26 - M26 Detonátor - M26 Dispositivo de Detonação - Взрыватель M26 - - - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - M152 RAMS - - - Defusal Kit - Entschärfungskit - Kit de desactivación - Zestaw do rozbrajania - Kit de désamorçage - Zneškodňovací sada - Kit E.O.D. - Hatástalanító felszerelés - Kit de desarme - Комплект разминирования - - - Allows defusing of explosives - Erlaubt die Entschärfung von Sprengstoffen - Permite desactivar explosivos - Umożliwia rozbrajanie ładunków wybuchowych - Permet de désamorçer des explosifs - Dovoluje zneškodňování výbušnin - Consente la disattivazione degli ordigni esplosivi - Robbanóanyagok hatástalanításához - Permite o desarme de explosivos - Позволяет обезвреживать ВУ - - - Add to Speed Dial - Zur Schnellauswahl hinzufügen - Agregar a marcado rápido - Dodaj do szybkiego wybierania - Ajouter à la composition rapide - Přidat jako rychlou volbu - Aggiungi alla selezione rapida - Hozzáadás gyorshíváshoz - Adicionar à ligação rápida - Добавить в ускоренный набор - - - Clear - Löschen - Borrar - Usuń - Désamorçé - Čistý - Libera - Törlés - Limpar - Очистить - - - Dial - Wählen - Marcar - Wybierz mumer - Composer - Vytočit - Composizione numero - Tárcsázás - Discar - Hабрать - - - Up - Hoch - Arriba - W górę - Haut - Nahoru - Sopra - Fel - Cima - Вызов - - - Down - Runter - Abajo - W dół - Bas - Dolu - Sotto - Le - Baixo - Сброс - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Annulla - Mégsem - Cancelar - Отмена - - - Detonate Menu - "Zünden"-Menü - Menú de detonación - Menu detonowania - Menu de mise à feu - Menu Detonace - Menù di detonazione - Robbantás menü - Menu de detonação - Меню подрыва - - - Place Menu - "Platzieren"-Menü - Menú de colocación - Menu umieszczania - Menu Placement - Menu Umístění - Menù di collocamento - Lerakás menü - Menu de posicionamento - Меню детонации - - - Defuse - Entschärfen - Desactivar - Rozbrój - Désamorçer - Zneškodnit - Disinnesca - Hatástalanítás - Desarmar - Обезвредить - - - Defusing Explosive... - Entschärfe Sprengstoff... - Desactivando explosivo... - Rozbrajanie ładunku... - Désamorçage des explosifs... - Zneškodňuji Výbušninu... - Esposivo in fase di disattivazione... - Robbanóanyag hatástalaníása... - Desarmando Explosivo... - Обезвреживание... - - - Timer - Zeitzünder - Temporizador - Czasomierz - Retard - Časovač - Cronometro - Időzített - Timer - Таймер - - - Time: %1m %2s - Zeit: %1m %2s - Tiempo: %1m %2s - Czas: %1m %2s - Temps : %1m %2s - Čas: %1m %2s - Tempo : %1m %2s - Idő: %1m %2s - Tempo: %1m %2s - Время: %1m %2c - - - Set Time - Zeit einstellen - Configurar tiempo - Ustaw czas - Régler retard - Nastavit Čas - Modifica il conto alla rovescia - Idő állítása - Configurar Tempo - Установить время - - - Select a Trigger - Wähle einen Zünder - Seleccionar un disparador - Wybierz zapalnik - Sélectionner une mise à feu - Zvolit Detonátor - Seleziona un Attivatore - Detonátor kiválasztása - Selecionar um Gatilho - Выберите детонатор - - - Select - Wählen - Seleccionar - Wybierz - Sélectionner - Zvolit - Seleziona - Kiválasztás - Selecionar - Выбрать - - - Pressure Plate - Płyta naciskowa - Placa de presión - Druckplatte - Plaque de pression - Nášlapná nástraha - Piastra a Pressione - Nyomólap - Placa de pressão - Давление - - - Tripwire - Linka naciągu - Cable trampa - Stolperdraht - Fil de butée - Nástražný drát - Filo a Inciampo - Botlódrót - Linha de tração - Растяжка - - - IR Sensor - Czujnik podczerwieni - Sensor IR - Infrarotsensor - Capteur IR - IR Značkovač - Sensore IR - IR szenzor - Sensor IV - ИК сенсор - - - No triggers available for %1 - Brak dostępnych zapalników dla %1 - No hay detonadores disponibles para %1 - Keine Auslöser vorhanden für %1 - Pas de mise à feu disponible pour %1 - Žádný detonátor k dispozici pro %1 - Nessun attivatore disponibile per %1 - Nincs detonátor a %1 - Nenhum gatilho disponível para %1 - Нет доступных взрывателей для %1 - - - IR Sensor (Side Attack) - Czujnik podczerwieni (wybuch na bok) - Sensor IR (ataque lateral) - Infrarotsensor (Seitenangriff) - Capteur IR (de flanc) - IR Značkovač (Výbuch stranou) - Sensore IR (Attacco laterale) - IR Sensor (Side Attack) - Sensor infravermelho (ataque lateral) - ИК (детонация вбок) - - - Magnetic Influence Sensor (Bottom Attack) - Czujnik magnetyczny (wybuch w górę) - Sensor IM (ataque inferior) - Magnetfeldsensor (Bodenangriff) - Capteur Magnétique (par le bas) - Magnetický Senzor (Výbuch ze spoda) - Sensore Magnetico di Prossimità (Attacco inferiore) - Mágneses (Bottom Attack) - Influência magnética (ataque inferior) - Магнитный (детонация вверх) - - - No explosives on trigger. - Keine Sprengladungen auf diesem Auslöser. - Ningún explosivo en el detonador. - Pas d'explosif à mettre à feu. - Nessun esplosivo sul sensore. - Žádná výbušnina k odpálení. - Nincs robbanóanyag a detonátorhoz. - Brak ładunków na zapalnik. - Nenhum explosivo no gatilho. - Нет доступных ВУ для взрывателя. - - - Dead Man's Switch - Totmannschalter - Mise à feu par relâchement de pression - Spínač mrtvého muže - Czuwak - Detonador de hombre muerto - Dead Man's Switch - Ловушка мертвеца - - - Used to remotely trigger explosives when released. - Zündet Sprengladungen wenn losgelassen. - Déclenche la mise à feu d'un explosif lorsqu'il est libéré. - Používaný k vzdálenému odpálení, při uvolnění odpálí výbušniny - Używany w celu zdalnej detonacji ładunków kiedy jego operator zostanie zabity. - Utilizado para detonar explosivos remotamente al soltarlo. - Robbanóanyagok távoli robbantásához - Используется для дистанционного подрыва, после смерти оператора. - - - Pick up - Aufheben - Recoger - Sebrat - - - + + + Explosives + Sprengstoffe + Explosivos + Ładunki wybuchowe + Explosifs + Výbušniny + Esplosivi + Robbanóanyagok + Explosivos + Взрывчатка + + + Place >> + Platzieren >> + Colocar >> + Umieść >> + Placer >> + Položit >> + Piazza >> + Elhelyezés >> + Colocar >> + Установить >> + + + Detonate >> + Zünden >> + Detonar >> + Detonuj >> + Mise à feu >> + Odpálit >> + Detona >> + Robbantás >> + Detonar >> + Подрыв >> + + + Explosive code: %1 + Sprengstoffcode: %1 + Código del explosivo: %1 + Kod ładunku: %1 + Code explosif: %1 + Kód výbušniny: %1 + Codice dell'esplosivo : %1 + Robbanóanyag kódja: %1 + Código do explosivo: %1 + Код подрыва: %1 + + + Place + Platzieren + Colocar + Umieść + Placer + Položit + Piazza + Elhelyezés + Colocar + Установить + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Annulla + Mégsem + Cancelar + Отмена + + + + Modifier, rotates + + Modifikator, drehen + + Modificador, girar + + Modificateur, tourner + + Modificatore, rotazione + + Modifikátor, otočit + + Változtatás, forgatás + + modyfikator, obracanie + + Modificador, rotaciona + + Bращать + + + Turn On Thor III + Thor III aktivieren + Encender Thor III + Włącz Thor III + Allumer Thor III + Zapnout Thor III + Accendi Thor III + Thor III bekapcsolása + Ativar Thor III + Активировать Thor III + + + Turn Off Thor III + Thor III deaktivieren + Apagar Thor III + Wyłącz Thor III + Éteindre Thor III + Vypnout Thor III + Spegni Thor III + Thor III kikapcsolása + Desativar Thor III + Деактивировать Thor III + + + Cellphone + Mobiltelefon + Télefono móvil + Telefon komórkowy + Téléphone Portable + Telefon + Cellulare + Mobiltelefon + Celular + Сотовый телефон + + + Used to remotely trigger explosives + Wird benutzt um Sprengstoffe fernzuzünden + Usado para detonar remotamente explosivos + Używany do zdalnego detonowania ładunków wybuchowych + Utilisé pour déclencher des explosifs à distance + Používaný ke vzdálenému odpalování výbušnin + Usato per l'attivazione a distanza degli esplosivi + Robbanóanyagok távoli robbantásához való + Usado para acionar explosivos remotamente + Используется для удаленной детонации СВУ + + + M57 Firing Device + M57 Zündvorrichtung + Dispositivo de detonación M57 + Zapalnik M57 + M57 Dispositif de mise à feu + Odpalovací zařízení M57 + Detonatore M57 + M57 Gyújtóeszköz + M57 Dispositivo de Detonação + Взрыватель M57 + + + Used to remotely trigger explosives + Wird benutzt um Sprengstoffe fernzuzünden + Usado para detonar remotamente explosivos + Używany do zdalnego detonowania ładunków wybuchowych + Utilisé pour déclencher des explosifs à distance + Používané ke vzdálenému odpalování výbušnin + Usato per l'attivazione a distanza degli esplosivi + Robbanóanyagok távoli robbantásához + Usado para acionar explosivos remotamente + Используется для удаленной детонации зарядов + + + M26 Firing Device + M26 Zündvorrichtung + Dispositivo de detonación MK26 + Zapalnik M26 + M26 Dispositif de mise à feu + Odpalovací zařízení M26 + Detonatore M26 + M26 Gyújtóeszköz + M26 Dispositivo de Detonação + Взрыватель M26 + + + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + M152 RAMS + + + Defusal Kit + Entschärfungskit + Kit de desactivación + Zestaw do rozbrajania + Kit de désamorçage + Zneškodňovací sada + Kit E.O.D. + Hatástalanító felszerelés + Kit de desarme + Комплект разминирования + + + Allows defusing of explosives + Erlaubt die Entschärfung von Sprengstoffen + Permite desactivar explosivos + Umożliwia rozbrajanie ładunków wybuchowych + Permet de désamorçer des explosifs + Dovoluje zneškodňování výbušnin + Consente la disattivazione degli ordigni esplosivi + Robbanóanyagok hatástalanítását teszi lehetővé + Permite o desarme de explosivos + Позволяет обезвреживать ВУ + + + Add to Speed Dial + Zur Schnellauswahl hinzufügen + Agregar a marcado rápido + Dodaj do szybkiego wybierania + Ajouter à la composition rapide + Přidat jako rychlou volbu + Aggiungi alla selezione rapida + Hozzáadás a gyorstárcsázóhoz + Adicionar à ligação rápida + Добавить в ускоренный набор + + + Clear + Löschen + Borrar + Usuń + Désamorçé + Čistý + Libera + Törlés + Limpar + Очистить + + + Dial + Wählen + Marcar + Wybierz mumer + Composer + Vytočit + Composizione numero + Tárcsázás + Discar + Hабрать + + + Up + Hoch + Arriba + W górę + Haut + Nahoru + Sopra + Fel + Cima + Вызов + + + Down + Runter + Abajo + W dół + Bas + Dolu + Sotto + Le + Baixo + Сброс + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Annulla + Mégsem + Cancelar + Отмена + + + Detonate Menu + "Zünden"-Menü + Menú de detonación + Menu detonowania + Menu de mise à feu + Menu Detonace + Menù di detonazione + Robbantási menü + Menu de detonação + Меню подрыва + + + Place Menu + "Platzieren"-Menü + Menú de colocación + Menu umieszczania + Menu Placement + Menu Umístění + Menù di collocamento + Elhelyezési menü + Menu de posicionamento + Меню детонации + + + Defuse + Entschärfen + Desactivar + Rozbrój + Désamorçer + Zneškodnit + Disinnesca + Hatástalanítás + Desarmar + Обезвредить + + + Defusing Explosive... + Entschärfe Sprengstoff... + Desactivando explosivo... + Rozbrajanie ładunku... + Désamorçage des explosifs... + Zneškodňuji Výbušninu... + Esposivo in fase di disattivazione... + Robbanóanyag hatástalanítása... + Desarmando Explosivo... + Обезвреживание... + + + Timer + Zeitzünder + Temporizador + Czasomierz + Retard + Časovač + Cronometro + Időzítő + Timer + Таймер + + + Time: %1m %2s + Zeit: %1m %2s + Tiempo: %1m %2s + Czas: %1m %2s + Temps : %1m %2s + Čas: %1m %2s + Tempo : %1m %2s + Idő: %1m %2s + Tempo: %1m %2s + Время: %1m %2c + + + Set Time + Zeit einstellen + Configurar tiempo + Ustaw czas + Régler retard + Nastavit Čas + Modifica il conto alla rovescia + Idő beállítása + Configurar Tempo + Установить время + + + Select a Trigger + Wähle einen Zünder + Seleccionar un disparador + Wybierz zapalnik + Sélectionner une mise à feu + Zvolit Detonátor + Seleziona un Attivatore + Gyújtóeszköz kiválasztása + Selecionar um Gatilho + Выберите детонатор + + + Select + Wählen + Seleccionar + Wybierz + Sélectionner + Zvolit + Seleziona + Kiválasztás + Selecionar + Выбрать + + + Pressure Plate + Płyta naciskowa + Placa de presión + Druckplatte + Plaque de pression + Nášlapná nástraha + Piastra a Pressione + Nyomólap + Placa de pressão + Давление + + + Tripwire + Linka naciągu + Cable trampa + Stolperdraht + Fil de butée + Nástražný drát + Filo a Inciampo + Botlódrót + Linha de tração + Растяжка + + + IR Sensor + Czujnik podczerwieni + Sensor IR + Infrarotsensor + Capteur IR + IR Značkovač + Sensore IR + Infravörös szenzor + Sensor IV + ИК сенсор + + + No triggers available for %1 + Brak dostępnych zapalników dla %1 + No hay detonadores disponibles para %1 + Keine Auslöser vorhanden für %1 + Pas de mise à feu disponible pour %1 + Žádný detonátor k dispozici pro %1 + Nessun attivatore disponibile per %1 + Nincs elérhető gyújtóeszköz ide: %1 + Nenhum gatilho disponível para %1 + Нет доступных взрывателей для %1 + + + IR Sensor (Side Attack) + Czujnik podczerwieni (wybuch na bok) + Sensor IR (ataque lateral) + Infrarotsensor (Seitenangriff) + Capteur IR (de flanc) + IR Značkovač (Výbuch stranou) + Sensore IR (Attacco laterale) + Infravörös szenzor (Side Attack) + Sensor infravermelho (ataque lateral) + ИК (детонация вбок) + + + Magnetic Influence Sensor (Bottom Attack) + Czujnik magnetyczny (wybuch w górę) + Sensor IM (ataque inferior) + Magnetfeldsensor (Bodenangriff) + Capteur Magnétique (par le bas) + Magnetický Senzor (Výbuch ze spoda) + Sensore Magnetico di Prossimità (Attacco inferiore) + Mágneses mező érzékelő (Bottom Attack) + Influência magnética (ataque inferior) + Магнитный (детонация вверх) + + + No explosives on trigger. + Keine Sprengladungen auf diesem Auslöser. + Ningún explosivo en el detonador. + Pas d'explosif à mettre à feu. + Nessun esplosivo sul sensore. + Žádná výbušnina k odpálení. + Nincs robbanóanyag a gyújtóeszközhöz kötve. + Brak ładunków na zapalnik. + Nenhum explosivo no gatilho. + Нет доступных ВУ для взрывателя. + + + Dead Man's Switch + Totmannschalter + Mise à feu par relâchement de pression + Spínač mrtvého muže + Czuwak + Detonador de hombre muerto + Dead Man's Switch + Ловушка мертвеца + + + Used to remotely trigger explosives when released. + Zündet Sprengladungen wenn losgelassen. + Déclenche la mise à feu d'un explosif lorsqu'il est libéré. + Používaný k vzdálenému odpálení, při uvolnění odpálí výbušniny + Używany w celu zdalnej detonacji ładunków kiedy jego operator zostanie zabity. + Utilizado para detonar explosivos remotamente al soltarlo. + Robbanóanyagok távoli robbantásához való, elengedéskor gyújt. + Используется для дистанционного подрыва, после смерти оператора. + + + Pick up + Aufheben + Recoger + Sebrat + Felszedés + + + \ No newline at end of file diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 0911bbdb57..6886370c5f 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -1,81 +1,82 @@  - + - - - Lase Target / Measure Distance - Ziel anlasern / Entfernung Messen - Télémétrer la cible - Naświetl cel / Zmierz odległość - Označit cíl / Změřit vzdálenost - Iluminar objetivo / Medir distancia - - Подсветить цель / Замерить расстояние - - - Zeroed To - Haltepunkt - Fijado a - Wyzerowany na - Nastaveno na - Zéroté à - Выставлено на - Nullázás - Fixado em - Azzeramento a - - - Adjust FCS Range (Up) - Entfernung des FLS erhöhen - Zwiększ zasięg FCS - Ajustar distancia del FCS (arriba) - Nastavit FCS Náměr (nahoru) - Augmenter la distance du SCT - FCS tartomány állítása (Fel) - Ajustar distância do FCS (Acima) - Aumentare la distanza dell'FCS - Диапазон СУО (Выше) - - - Adjust FCS Range (Down) - Entfernung des FLS verringern - Zmniejsz zasięg FCS - Ajustar distancia del FCS (abajo) - Nastavit FCS Náměr (dolů) - Réduire la distance du SCT - FCS tartomány állítása (Le) - Ajustar distância do FCS (Abaixo) - Ridurre la distanza dell'FCS - Диапазон СУО (Ниже) - - - Reset FCS - FLS zurücksetzen - Reiniciar FCS - Réinitialiser le SCT - Resetuj FCS - Resetovat FCS - FCS visszaállítása - Reiniciar FCS - Azzeramento dell'FCS - Обнулить СУО - - - FCS has been reset. - FLS wurde zurückgesetzt. - FCS reiniciado - SCT réinitialisé. - FCS został zresetowany. - FCS byl resetován. - Az FCS visszaállítva - FCS reiniciado. - L'FCS è stato azzerato - СУО обнулен. - - + Подсветить цель / Замерить расстояние + Célpont lézerezése / Távolság Bemérése + + + Zeroed To + Haltepunkt + Fijado a + Wyzerowany na + Nastaveno na + Zéroté à + Выставлено на + Nullázási táv + Fixado em + Azzeramento a + + + Adjust FCS Range (Up) + Entfernung des FLS erhöhen + Zwiększ zasięg FCS + Ajustar distancia del FCS (arriba) + Nastavit FCS Náměr (nahoru) + Augmenter la distance du SCT + FCS tartomány állítása (Fel) + Ajustar distância do FCS (Acima) + Aumentare la distanza dell'FCS + Диапазон СУО (Выше) + + + Adjust FCS Range (Down) + Entfernung des FLS verringern + Zmniejsz zasięg FCS + Ajustar distancia del FCS (abajo) + Nastavit FCS Náměr (dolů) + Réduire la distance du SCT + FCS tartomány állítása (Le) + Ajustar distância do FCS (Abaixo) + Ridurre la distanza dell'FCS + Диапазон СУО (Ниже) + + + Reset FCS + FLS zurücksetzen + Reiniciar FCS + Réinitialiser le SCT + Resetuj FCS + Resetovat FCS + FCS visszaállítása + Reiniciar FCS + Azzeramento dell'FCS + Обнулить СУО + + + FCS has been reset. + FLS wurde zurückgesetzt. + FCS reiniciado + SCT réinitialisé. + FCS został zresetowany. + FCS byl resetován. + FCS visszaállítva. + FCS reiniciado. + L'FCS è stato azzerato + СУО обнулен. + + \ No newline at end of file diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index e2477347ce..cea72ae13f 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -1,13 +1,15 @@  + - - - Disable Fragmentation - Keine Schrapnelle - Zakázat fragmentaci granátů - Desactivar fragmentación - Wyłącz głowice fragmentacyjne - Выключить разлёт осколков - - - + + + Disable Fragmentation + Keine Schrapnelle + Zakázat fragmentaci granátů + Desactivar fragmentación + Wyłącz głowice fragmentacyjne + Выключить разлёт осколков + Repeszek letiltása + + + \ No newline at end of file diff --git a/addons/goggles/stringtable.xml b/addons/goggles/stringtable.xml index 952a1320a0..16fd227b11 100644 --- a/addons/goggles/stringtable.xml +++ b/addons/goggles/stringtable.xml @@ -1,29 +1,30 @@  + - - - Show Goggle Effects in Third Person - Brilleneffekt in dritter Person anzeigen - Mostrar efectos de las gafas en tercera persona - Zobrazit efekt brýlí v třetí osobě - Effets de lunettes à la 3ème personne - Отображать эффект очков от третьего лица - Szemüveg effekt mutatása külső nézetből - Włącz efekty gogli w trzeciej osobie - Mostrar efeitos de óculos em Terceira Pessoa - Attiva l'effetto degli occhiali in terza persona - - - Wipe Goggles - Brille abwischen - Limpiar gafas - Vyčistit brýle - Essuyer les lunettes - Протереть очки - Szemüveg törlése - Wytrzyj gogle - Limpar Óculos - Pulisci gli occhiali - - - + + + Show Goggle Effects in Third Person + Brilleneffekt in dritter Person anzeigen + Mostrar efectos de las gafas en tercera persona + Zobrazit efekt brýlí v třetí osobě + Effets de lunettes à la 3ème personne + Отображать эффект очков от третьего лица + Szemüveg-effekt mutatása külső nézetből + Włącz efekty gogli w trzeciej osobie + Mostrar efeitos de óculos em Terceira Pessoa + Attiva l'effetto degli occhiali in terza persona + + + Wipe Goggles + Brille abwischen + Limpiar gafas + Vyčistit brýle + Essuyer les lunettes + Протереть очки + Szemüveg letörlése + Wytrzyj gogle + Limpar Óculos + Pulisci gli occhiali + + + \ No newline at end of file diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 69f829037e..1add1623e4 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -1,245 +1,246 @@  + - - - Switch Grenade Mode - Granaten-Modus wechseln - Cambiar modo de granada - Tryb rzutu granatem - Změnit styl hodu granátu - Changer type de lancer de grenade - Сменить режим броска гранаты - Gránátdobás mód váltás - Cambia tipo di granata - Alternar Modo de Granada - - - Normal Throw - Normaler Wurf - Lanzamiento normal - Normalny rzut - Normální hod - Lancer Normal - Нормальный бросок - Normál dobás - Lancio normale - Arremesso Normal - - - High Throw - Hoher Wurf - Lanzamiento alto - Rzut lobem - Vysoký hod - Lancer Haut - Высокий бросок - Magas dobás - Lancio verso l'alto - Arremesso Alto - - - Precise Throw - Präziser Wurf - Lanzamiento preciso - Precyzyjny rzut - Přesný hod - Lancer Précis - Точный бросок - Pontos dobás - Lancio preciso - Arremesso Preciso - - - Roll Grenade - Granate rollen - Rodar granada - Po ziemi - Po zemi - Lancer Roulé - Катить гранату - Gurítás - Fai rotolare la granata - Rolar Granada - - - Drop Grenade - Granate fallenlassen - Soltar granada - Upuść granat - Upustit granát - Lâcher la grenade - Бросить себе под ноги - Ejtés - Lascia la granata - Largar Granada - - - M84 Stun Grenade - M84 Blendgranate - Granada aturdidora M84 - M84 Grenade Incapacitante - Granat hukowy M84 - Omračující granát M84 - M84 светозвуковая граната - M84 Villanógránát - Granata Stordente M84 - M84 granada de atordoamento - - - Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. - Verursacht temporäre Blind- und Taubheit. - Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. - Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. - Granat ogłusza, nie zabijając przeciwnika. Detonacja daje efekt oślepiającego błysku i głośnego huku. - Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. - XM84 (M84) - граната нелетального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. - Eldobás után felrobban és éles hang, valamint fényhatással zavarja össze a környezetében tartózkodókat. - Anche conosciuta come flashbang. Causa accecamento immediato, sensazioni di sposatezza, mancanza d'equilibrio e disturbi al timpano. - Um tipo de granada não-letal destinado a confundir, desorientar e distrair uma potencial ameaça. - - - M127A1 Hand Held Signal (White) - M127A1 Leuchtmittel (Weiß) - Světlice M127A1 (Bílá) - M127A1 Jelzőrakéta (Fehér) - M127A1 Bengala (Bianco) - Flara ręczna sygnałowa M127A1 (biała) - M127A1 Sinalizador (Branco) - M127A1 Фальшфейер (Белый) - Bengala M127A1 (Blanca) - M127A1 Feux à main (Blanc) - - - M127A1 Hand Held Signal (Red) - M127A1 Leuchtmittel (Rot) - Světlice M127A1 (Červená) - M127A1 Jelzőrakéta (Piros) - M127A1 Bengala (Rosso) - Flara ręczna sygnałowa M127A1 (czerwona) - M127A1 Sinalizador (Vermelho) - M127A1 Фальшфейер (Красный) - Bengala M127A1 (Roja) - M127A1 Feux à main (Rouge) - - - M127A1 Hand Held Signal (Green) - M127A1 Leuchtmittel (Grün) - Světlice M127A1 (Zelená) - M127A1 Jelzőrakéta (Zöld) - M127A1 Bengala (Verde) - Flara ręczna sygnałowa M127A1 (zielona) - M127A1 Sinalizador (Verde) - M127A1 Фальшфейер (Зелёный) - Bengala M127A1 (Verde) - M127A1 Feux à main (Vert) - - - M127A1 Hand Held Signal (Yellow) - M127A1 Leuchtmittel (Gelb) - Světlice M127A1 (Žlutá) - M127A1 Jelzőrakéta (Sárga) - M127A1 Bengala (Giallo) - Flara ręczna sygnałowa M127A1 (żółta) - M127A1 Sinalizador (Amarelo) - M127A1 Фальшфейер (Жёлтые) - Bengala M127A1 (Amarilla) - M127A1 Feux à main (Jaune) - - - White Hand Flare - Weiße Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Bílá) - Jelzőrakéta (Fehér) - Bengala (Bianco) - Flara ręczna (biała) - Sinalizador (Branco) - Фальшфейер (Белый) - Bengala (Blanca) - Feux à main (Blanc) - - - Red Hand Flare - Rote Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Červená) - Jelzőrakéta (Piros) - Bengala (Rosso) - Flara ręczna (czerwona) - Sinalizador (Vermelho) - Фальшфейер (Красный) - Bengala (Roja) - Feux à main (Rouge) - - - Green Hand Flare - Grüne Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Zelená) - Jelzőrakéta (Zöld) - Bengala (Verde) - Flara ręczna (zielona) - Sinalizador (Verde) - Фальшфейер (Зелёный) - Bengala (Verde) - Feux à main (Vert) - - - Yellow Hand Flare - Gelbe Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Žlutá) - Jelzőrakéta (Sárga) - Bengala (Giallo) - Flara ręczna (żółta) - Sinalizador (Amarelo) - Фальшфейер (Жёлтые) - Bengala (Amarilla) - Feux à main (Jaune) - - - M127A1 (White) - M127A1 (Weiß) - M127A1 (Bílá) - M127A1 (Blanc) - M127A1 (Fehér) - M127A1 (Bianco) - M127A1 (biała) - M127A1 (Branco) - M127A1 (Белый) - M127A1 (Blanca) - - - M127A1 (Red) - M127A1 (Rot) - M127A1 (Červená) - M127A1 (Rouge) - M127A1 (Piros) - M127A1 (Rosso) - M127A1 (czerwona) - M127A1 (Vermelho) - M127A1 (Красный) - M127A1 (Roja) - - - M127A1 (Green) - M127A1 (Grün) - M127A1 (Zelená) - M127A1 (Vert) - M127A1 (Zöld) - M127A1 (Verde) - M127A1 (zielona) - M127A1 (Verde) - M127A1 (Зелёный) - M127A1 (Verde) - - - M127A1 (Yellow) - M127A1 (Gelb) - M127A1 (Žlutá) - M127A1 (Jaune) - M127A1 (Sárga) - M127A1 (Giallo) - M127A1 (żółta) - M127A1 (Amarelo) - M127A1 (Жёлтые) - M127A1 (Amarilla) - - - + + + Switch Grenade Mode + Granaten-Modus wechseln + Cambiar modo de granada + Tryb rzutu granatem + Změnit styl hodu granátu + Changer type de lancer de grenade + Сменить режим броска гранаты + Gránátkezelési mód váltása + Cambia tipo di granata + Alternar Modo de Granada + + + Normal Throw + Normaler Wurf + Lanzamiento normal + Normalny rzut + Normální hod + Lancer Normal + Нормальный бросок + Normál dobás + Lancio normale + Arremesso Normal + + + High Throw + Hoher Wurf + Lanzamiento alto + Rzut lobem + Vysoký hod + Lancer Haut + Высокий бросок + Magas dobás + Lancio verso l'alto + Arremesso Alto + + + Precise Throw + Präziser Wurf + Lanzamiento preciso + Precyzyjny rzut + Přesný hod + Lancer Précis + Точный бросок + Pontos dobás + Lancio preciso + Arremesso Preciso + + + Roll Grenade + Granate rollen + Rodar granada + Po ziemi + Po zemi + Lancer Roulé + Катить гранату + Gránát gurítása + Fai rotolare la granata + Rolar Granada + + + Drop Grenade + Granate fallenlassen + Soltar granada + Upuść granat + Upustit granát + Lâcher la grenade + Бросить себе под ноги + Gránát ejtése + Lascia la granata + Largar Granada + + + M84 Stun Grenade + M84 Blendgranate + Granada aturdidora M84 + M84 Grenade Incapacitante + Granat hukowy M84 + Omračující granát M84 + M84 светозвуковая граната + M84 Kábítógránát + Granata Stordente M84 + M84 granada de atordoamento + + + Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. + Verursacht temporäre Blind- und Taubheit. + Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. + Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. + Granat ogłusza, nie zabijając przeciwnika. Detonacja daje efekt oślepiającego błysku i głośnego huku. + Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. + XM84 (M84) - граната нелетального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. + Villanógránát néven is ismert. Azonnali villanási vakságot, süketséget, fülzúgást, és belső füli zavart okoz. + Anche conosciuta come flashbang. Causa accecamento immediato, sensazioni di sposatezza, mancanza d'equilibrio e disturbi al timpano. + Um tipo de granada não-letal destinado a confundir, desorientar e distrair uma potencial ameaça. + + + M127A1 Hand Held Signal (White) + M127A1 Leuchtmittel (Weiß) + Světlice M127A1 (Bílá) + M127A1 Kézi Jelzőrakéta (Fehér) + M127A1 Bengala (Bianco) + Flara ręczna sygnałowa M127A1 (biała) + M127A1 Sinalizador (Branco) + M127A1 Фальшфейер (Белый) + Bengala M127A1 (Blanca) + M127A1 Feux à main (Blanc) + + + M127A1 Hand Held Signal (Red) + M127A1 Leuchtmittel (Rot) + Světlice M127A1 (Červená) + M127A1 Kézi Jelzőrakéta (Piros) + M127A1 Bengala (Rosso) + Flara ręczna sygnałowa M127A1 (czerwona) + M127A1 Sinalizador (Vermelho) + M127A1 Фальшфейер (Красный) + Bengala M127A1 (Roja) + M127A1 Feux à main (Rouge) + + + M127A1 Hand Held Signal (Green) + M127A1 Leuchtmittel (Grün) + Světlice M127A1 (Zelená) + M127A1 Kézi Jelzőrakéta (Zöld) + M127A1 Bengala (Verde) + Flara ręczna sygnałowa M127A1 (zielona) + M127A1 Sinalizador (Verde) + M127A1 Фальшфейер (Зелёный) + Bengala M127A1 (Verde) + M127A1 Feux à main (Vert) + + + M127A1 Hand Held Signal (Yellow) + M127A1 Leuchtmittel (Gelb) + Světlice M127A1 (Žlutá) + M127A1 Kézi Jelzőrakéta (Sárga) + M127A1 Bengala (Giallo) + Flara ręczna sygnałowa M127A1 (żółta) + M127A1 Sinalizador (Amarelo) + M127A1 Фальшфейер (Жёлтые) + Bengala M127A1 (Amarilla) + M127A1 Feux à main (Jaune) + + + White Hand Flare + Weiße Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Bílá) + Kézi jelzőrakéta, Fehér színű + Bengala (Bianco) + Flara ręczna (biała) + Sinalizador (Branco) + Фальшфейер (Белый) + Bengala (Blanca) + Feux à main (Blanc) + + + Red Hand Flare + Rote Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Červená) + Kézi jelzőrakéta, Piros színű + Bengala (Rosso) + Flara ręczna (czerwona) + Sinalizador (Vermelho) + Фальшфейер (Красный) + Bengala (Roja) + Feux à main (Rouge) + + + Green Hand Flare + Grüne Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Zelená) + Kézi jelzőrakéta, Zöld színű + Bengala (Verde) + Flara ręczna (zielona) + Sinalizador (Verde) + Фальшфейер (Зелёный) + Bengala (Verde) + Feux à main (Vert) + + + Yellow Hand Flare + Gelbe Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Žlutá) + Kézi jelzőrakéta, Sárga színű + Bengala (Giallo) + Flara ręczna (żółta) + Sinalizador (Amarelo) + Фальшфейер (Жёлтые) + Bengala (Amarilla) + Feux à main (Jaune) + + + M127A1 (White) + M127A1 (Weiß) + M127A1 (Bílá) + M127A1 (Blanc) + M127A1 (Fehér) + M127A1 (Bianco) + M127A1 (biała) + M127A1 (Branco) + M127A1 (Белый) + M127A1 (Blanca) + + + M127A1 (Red) + M127A1 (Rot) + M127A1 (Červená) + M127A1 (Rouge) + M127A1 (Piros) + M127A1 (Rosso) + M127A1 (czerwona) + M127A1 (Vermelho) + M127A1 (Красный) + M127A1 (Roja) + + + M127A1 (Green) + M127A1 (Grün) + M127A1 (Zelená) + M127A1 (Vert) + M127A1 (Zöld) + M127A1 (Verde) + M127A1 (zielona) + M127A1 (Verde) + M127A1 (Зелёный) + M127A1 (Verde) + + + M127A1 (Yellow) + M127A1 (Gelb) + M127A1 (Žlutá) + M127A1 (Jaune) + M127A1 (Sárga) + M127A1 (Giallo) + M127A1 (żółta) + M127A1 (Amarelo) + M127A1 (Жёлтые) + M127A1 (Amarilla) + + + \ No newline at end of file diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 61be5206bf..ff787b1359 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -1,109 +1,110 @@  + - - - Ear Plugs - Ohrenstöpsel - Tapones para los oídos - Stopery do uszu - Špunty - Беруши - Bouchons Anti-Bruits - Füldugó - Protetor auricular - Tappi auricolari - - - Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing. - Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten. - Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición. - Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. - Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní. - Беруши позволяют избежать потери слуха при близкой громкой стрельбе. - Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus. - Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást. - Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. - Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. - - - Earplugs in - Ohrenstöpsel drinnen - Poner tapones - Załóż stopery - Dát špunty do uší - Беруши надеты - Bouchons mis - Füldugó berakva - Protetores colocados - Indossa i tappi auricolari - - - Earplugs out - Ohrenstöpsel raus - Quitar tapones - Zdejmij stopery - Vyndat špunty z uší - Беруши сняты - Bouchons enlevés - Füldugó kivéve - Protetores retirados - Levati i tappi auricolari - - - Earplugs in - Ohrenstöpsel drinnen - Tapones puestos - Stopery założone - Špunty v uších - Беруши надеты - Bouchons mis - Füldugó berakva - Protetores colocados - Indossa i tappi auricolari - - - Earplugs out - Ohrenstöpsel raus - Tapones quitados - Stopery zdjęte - Špunty venku z uší - Беруши сняты - Bouchons enlevés - Füldugó kivéve - Protetores retirados - Levati i tappi auricolari - - - You have no ear plugs - Keine Ohrenstöpsel im Inventar - No tienes tapones para los oídos - Nie masz stoperów - Nemáš žádné špunty - У вас нет беруш - Vous n'avez pas de Bouchons Anti-Bruits - Nincs füldugód - Você não possui protetores auriculares - Non hai i tappi auricolari - - - No inventory space - Kein Platz im Inventar - Sin espacio en el inventario - Brak miejsca w ekwipunku - Pas de place dans l'inventaire - Není místo v inventáři - Non hai abbastanza spazio - Não há espaço no inventário - Nincs több hely - Нет места в инвентаре - - - Disable ear ringing - Deaktiviere Ohrfiepen - Desactivar zumbido de oídos - Отключить эффект баротравмы - Knalltrauma deaktivieren - Vypnout pískání v uších - - - + + + Ear Plugs + Ohrenstöpsel + Tapones para los oídos + Stopery do uszu + Špunty + Беруши + Bouchons Anti-Bruits + Füldugó + Protetor auricular + Tappi auricolari + + + Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing. + Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten. + Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición. + Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. + Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní. + Беруши позволяют избежать потери слуха при близкой громкой стрельбе. + Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus. + Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást. + Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. + Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. + + + Earplugs in + Ohrenstöpsel drinnen + Poner tapones + Załóż stopery + Dát špunty do uší + Беруши надеты + Bouchons mis + Füldugó berakva + Protetores colocados + Indossa i tappi auricolari + + + Earplugs out + Ohrenstöpsel raus + Quitar tapones + Zdejmij stopery + Vyndat špunty z uší + Беруши сняты + Bouchons enlevés + Füldugó kivéve + Protetores retirados + Levati i tappi auricolari + + + Earplugs in + Ohrenstöpsel drinnen + Tapones puestos + Stopery założone + Špunty v uších + Беруши надеты + Bouchons mis + Füldugó berakva + Protetores colocados + Indossa i tappi auricolari + + + Earplugs out + Ohrenstöpsel raus + Tapones quitados + Stopery zdjęte + Špunty venku z uší + Беруши сняты + Bouchons enlevés + Füldugó kivéve + Protetores retirados + Levati i tappi auricolari + + + You have no ear plugs + Keine Ohrenstöpsel im Inventar + No tienes tapones para los oídos + Nie masz stoperów + Nemáš žádné špunty + У вас нет беруш + Vous n'avez pas de Bouchons Anti-Bruits + Nincsen füldugód + Você não possui protetores auriculares + Non hai i tappi auricolari + + + No inventory space + Kein Platz im Inventar + Sin espacio en el inventario + Brak miejsca w ekwipunku + Pas de place dans l'inventaire + Není místo v inventáři + Non hai abbastanza spazio + Não há espaço no inventário + Nincs több hely + Нет места в инвентаре + + + Disable ear ringing + Desactivar zumbido de oídos + Отключить эффект баротравмы + Knalltrauma deaktivieren + Vypnout pískání v uších + Fülcsengés letiltása + + + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ef17cfb5e6..859d351f9c 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,40 +1,46 @@  + - - - Always display cursor for self interaction - Immer den Cursor für Selbst-Interaktionen anzeigen. - Mostrar siempre el cursor para la interacción propia - Всегда показывать курсор для взаимодействия с собой - Zobrazit kurzor v menu pro vlastní interakci - - - Interact Key - Fremdinteraktionsmenü-Taste - Tecla de interacción - Клавиша взаимодействия - Klávesa pro interakci - - - Self Interaction Key - Eigeninteraktionsmenü-Taste - Tecla de interacción propia - Клавиша взаимодействия (с собой) - Klávesa pro vlastní interakci - - - Self Actions - Selbst-Aktionen - Acciones propias - Действия с собой - Vlastní akce - - - Vehicle Actions - Fahrzeug-Aktionen - Acciones de vehículo - Действия на транспорте - Interakce s vozidly - - - + + + Always display cursor for self interaction + Immer den Cursor für Selbst-Interaktionen anzeigen. + Mostrar siempre el cursor para la interacción propia + Всегда показывать курсор для взаимодействия с собой + Zobrazit kurzor v menu pro vlastní interakci + Mindig legyen a saját cselekvés kurzorja látható + + + Interact Key + Fremdinteraktionsmenü-Taste + Tecla de interacción + Клавиша взаимодействия + Klávesa pro interakci + Cselekvő gomb + + + Self Interaction Key + Eigeninteraktionsmenü-Taste + Tecla de interacción propia + Клавиша взаимодействия (с собой) + Klávesa pro vlastní interakci + Saját cselekvő gomb + + + Self Actions + Selbst-Aktionen + Acciones propias + Действия с собой + Vlastní akce + Saját cselekvések + + + Vehicle Actions + Fahrzeug-Aktionen + Acciones de vehículo + Действия на транспорте + Interakce s vozidly + Járműves cselekvések + + + \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index c1ec7ff6d9..0788773b34 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,687 +1,698 @@  + - - - Interactions - Interaktionen - Interacciones - Interakce - - - Torso - Torso - Torso - Trup - - - Head - Kopf - Cabeza - Hlava - - - Left Arm - Linker Arm - Brazo izquierdo - Levá paže - - - Right Arm - Rechter Arm - Brazo derecho - Pravá paže - - - Left Leg - Linkes Bein - Pierna izquierda - Levá noha - - - Right Leg - Rechtes Bein - Pierna derecha - Pravá hona - - - Weapon - Waffe - Arma - Zbraň - - - Interaction Menu - Interaktionsmenü - Menú de interacción - Menu interakcji - Menu interakce - Menu d'interaction - Меню взаимодействия - Interakció - Menu de Interação - Menù Interattivo - - - Interaction Menu (Self) - Interaktionsmenü (Selbst) - Menú de interacción (Propia) - Menu interakcji (na siebie) - Menu interakce (vlastní) - Menu d'interaction (Perso) - Меню взаимодействия (с собой) - Interakció (saját) - Menu de Interação (Individual) - Menù Interattivo (Individuale) - - - Open / Close Door - Tür öffnen / schließen - Abrir / Cerrar puerta - Otwórz / Zamknij drzwi - Otevřít / Zavřít dveře - Ouvrir / Fermer Portes - Открыть / Закрыть двери - Ajtó nyitás / zárás - Abrir / Fechar Porta - Apri / Chiudi la porta - - - Lock Door - Tür sperren - Bloquear puerta - Verrouiller Porte - Blocca la porta - Заблокировать дверь - Trancar Porta - Ajtó bezárása - Zablokuj drzwi - Zamknout dveře - - - Unlock Door - Tür entsperren - Desbloquear puerta - Déverrouiller Porte - Sblocca la porta - Разблокировать дверь - Destrancar Porta - Zár kinyitása - Odblokuj drzwi - Odemknout dveře - - - Locked Door - Tür gesperrt - Puerta bloqueada - Porte Verrouillée - Porta bloccata - Дверь заблокирована - Porta Trancada - Zárt ajtó - Zablokowano drzwi - Zamčené dveře - - - Unlocked Door - Tür entsperrt - Puerta desbloqueada - Porte Déverrouillée - Porta sbloccata - Дверь разблокирована - Porta Destrancada - Nyitott ajtó - Odblokowano drzwi - Odemčené dveře - - - Join group - Gruppe beitreten - Unirse al grupo - Dołącz do grupy - Přidat se do skupiny - Rejoindre Groupe - Вступить в группу - Csatlakozás - Unir-se ao grupo - Unisciti alla squadra - - - Leave Group - Gruppe verlassen - Dejar grupo - Opuść grupę - Opustit skupinu - Quitter Groupe - Выйти из группы - Csoport elhagyása - Deixar grupo - Lascia la squadra - - - Become Leader - Grp.-führung übern. - Asumir el liderazgo - Przejmij dowodzenie - Stát se velitelem - Devenir Leader - Стать лидером - Vezetés átvétele - Tornar-se Líder - Prendi il comando - - - DANCE! - TANZEN! - BAILAR! - TAŃCZ! - TANČIT! - Danse! - ТАНЦЕВАТЬ! - TÁNC! - DANCE! - Balla! - - - Stop Dancing - Tanzen abbrechen - Dejar de bailar - Przestań tańczyć - Přestat tancovat - Arrêter de danser - Прекратить танцевать - Tánc abbahagyása - Parar de dançar - Smetti di ballare - - - << Back - << Zurück - << Atrás - << Wstecz - << Zpět - << Retour - << Назад - << Vissza - << Voltar - << Indietro - - - Gestures - Gesten - Gestos - Gesty - Posunky - Signaux - Жесты - Kézjelek - Gestos - Segnali gestuali - - - Attack - Angreifen - Atacar - Do ataku - Zaútočit - Attaquer - Атаковать - Támadás - Atacar - Attaccare - - - Advance - Vordringen - Avanzar - Naprzód - Postoupit - Avancer - Продвигаться - Előre - Avançar - Avanzare - - - Go - Los - Adelante - Szybko - Jít - Aller - Идти - Mozgás - Mover-se - Muoversi - - - Follow - Folgen - Seguirme - Za mną - Následovat - Suivre - Следовать - Utánam - Seguir - Seguire - - - Point - Zeigen - Señalar - Wskazać - Ukázat - Pointer - Точка - Mutat - Apontar - Puntare a - - - Up - Aufstehen - Arriba - Do góry - Vztyk - Debout - Вверх - Fel - Acima - Alzarsi - - - Cover - Deckung - Cubrirse - Do osłony - Krýt se - A couvert - Укрыться - Fedezékbe - Proteger-se - Copertura - - - Cease Fire - Feuer einstellen - Alto el fuego - Wstrzymać ogień - Zastavit palbu - Halte au feu - Прекратить огонь - Tüzet szüntess - Cessar Fogo - Cessare il Fuoco - - - Freeze - Keine Bewegung - Alto - Stać - Stát - Halte - Замереть - Állj - Alto - Fermi - - - Hi - Hallo - Hola - Witaj - Ahoj - Salut - Привет - Szeva - Olá - Ciao - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Put weapon on back - Waffe wegstecken - Arma a la espalda - Umieść broń na plecach - Dát zbraň na záda - Arme à la bretelle - Повесить оружие на спину - Fegyvert hátra - Colocar arma nas costas - Metti l'arma in spalla - - - Tap Shoulder - Auf Schulter klopfen - Tocar el hombro - Klepnij w ramię - Poklepat na rameno - Taper sur l'épaule - Похлопать по плечу - Vállveregetés - Tocar ombro - Dai un colpetto - - - You were tapped on the RIGHT shoulder - Te tocaron el hombro DERECHO - Dir wurde auf die Rechte Schulter geklopft - On te tape sur l'épaule - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na PRAVÉ rameno - Вас похлопали по плечу - Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla - - - You were tapped on the LEFT shoulder. - Te tocaron el hombro IZQUIERDO. - Dir wurde auf die Linke Schulter geklopft - On te tape sur l'épaule. - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na LEVÉ rameno. - Вас похлопали по плечу - Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Annulla - Отменить - Cancelar - Mégse - - - Select - Wählen - Seleccionar - Wybierz - Sélectionner - Zvolit - Seleziona - Выбрать - Selecionar - Kiválaszt - - - Go Away! - Geh Weg! - Aléjate! - Odejdź! - Jděte pryč! - Allez-vous-en! - Уходите отсюда! - Tűnés! - Vá Embora! - Via di qui! - - - Get Down! - Auf Den Boden! - Al suelo! - Padnij! - K zemi! - A terre! - A földre! - Ложись! - Abaixe-se! - A Terra! - - - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelés - - - Red - Rot - Rojo - Rouge - Czerwony - Červený - Красный - Vermelha - Rosso - Piros - - - Green - Grün - Verde - Vert - Zielony - Zelený - Зеленый - Verde - Verde - Zöld - - - Blue - Blau - Azul - Bleu - Niebieski - Modrý - Синий - Azul - Blu - Kék - - - Yellow - Gelb - Amarillo - Jaune - Żółty - Žlutý - Желтый - Amarela - Giallo - Sárga - - - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného týmu - Присоединиться<br/>к красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz - - - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Verte - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného týmu - Присоединиться<br/>к зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz - - - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleue - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého týmu - Присоединиться<br/>к синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz - - - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého týmu - Присоединиться<br/>к желтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz - - - You joined Team %1 - Du bist Team %1 beigetreten - Te has unido al equipo %1 - Tu as rejoint l'équipe %1 - Dołączyłeś do drużyny %1 - Připojil ses do %1 týmu - Вы присоединились к группе %1 - Você uniu-se à Equipe %1 - Sei entrato nella Squadra %1 - Csatlakoztál a %1 csapathoz - - - Leave Team - Team verlassen - Dejar equipo - Quitter l'équipe - Opuść drużynę - Opustit tým - Покинуть группу - Deixar Equipe - Lascia la Squadra - Csapat elhagyása - - - You left the Team - Du hast das Team verlassen - Has dejado el equipo - Tu as quitté l'équipe - Opuściłeś drużynę - Opustil si tým - Вы покинули группу - Você deixou a Equipe - Hai lasciato la squadra - Elhagytad a csapatot - - - Pardon - Begnadigen - Perdonar - Przebacz - Pardon - Pardon - Извините - Perdão - Perdona - Megbocsátás - - - Scroll - Scrollen - Przewiń - Défilement - Desplazar - Пролистать - Rolar - Scorri - Görgetés - Otáčení - - - Modifier Key - Modifikator - Modyfikator - Modifier la touche - Tecla modificadora - Клавиша-модификатор - Tecla Modificadora - Modifica Tasto - Módosító billentyű - Modifikátor - - - Not in Range - Außer Reichweite - Hors de portée. - Fuera de rango - Слишком далеко - Fora do Alcançe - Hatótávolságon kívül - Poza zasięgiem - Mimo dosah - - - Equipment - Ausrüstung - Equipamiento - Équipment - Ekwipunek - Vybavení - Felszerelés - Снаряжение - - - Push - Schieben - Empujar - Pousser - Pchnij - Odstrčit - Tolás - Толкать - - - Interact - Interagiere - Interakce - Взаимодействовать - Interakcja - Interactuar - - - Passengers - Fahrzeuginsassen - Pasajeros - Пассажиры - Pasažéři - - - + + + Interactions + Interaktionen + Interacciones + Interakce + Cselekvések + + + Torso + Torso + Torso + Trup + Testtörzs + + + Head + Kopf + Cabeza + Hlava + Fej + + + Left Arm + Linker Arm + Brazo izquierdo + Levá paže + Bal kar + + + Right Arm + Rechter Arm + Brazo derecho + Pravá paže + Jobb kar + + + Left Leg + Linkes Bein + Pierna izquierda + Levá noha + Bal láb + + + Right Leg + Rechtes Bein + Pierna derecha + Pravá hona + Jobb láb + + + Weapon + Waffe + Arma + Zbraň + Fegyver + + + Interaction Menu + Interaktionsmenü + Menú de interacción + Menu interakcji + Menu interakce + Menu d'interaction + Меню взаимодействия + Cselekvő menü + Menu de Interação + Menù Interattivo + + + Interaction Menu (Self) + Interaktionsmenü (Selbst) + Menú de interacción (Propia) + Menu interakcji (na siebie) + Menu interakce (vlastní) + Menu d'interaction (Perso) + Меню взаимодействия (с собой) + Cselekvő menü (saját) + Menu de Interação (Individual) + Menù Interattivo (Individuale) + + + Open / Close Door + Tür öffnen / schließen + Abrir / Cerrar puerta + Otwórz / Zamknij drzwi + Otevřít / Zavřít dveře + Ouvrir / Fermer Portes + Открыть / Закрыть двери + Ajtó nyitása / zárása + Abrir / Fechar Porta + Apri / Chiudi la porta + + + Lock Door + Tür sperren + Bloquear puerta + Verrouiller Porte + Blocca la porta + Заблокировать дверь + Trancar Porta + Ajtó bezárása + Zablokuj drzwi + Zamknout dveře + + + Unlock Door + Tür entsperren + Desbloquear puerta + Déverrouiller Porte + Sblocca la porta + Разблокировать дверь + Destrancar Porta + Zár kinyitása + Odblokuj drzwi + Odemknout dveře + + + Locked Door + Tür gesperrt + Puerta bloqueada + Porte Verrouillée + Porta bloccata + Дверь заблокирована + Porta Trancada + Zárt ajtó + Zablokowano drzwi + Zamčené dveře + + + Unlocked Door + Tür entsperrt + Puerta desbloqueada + Porte Déverrouillée + Porta sbloccata + Дверь разблокирована + Porta Destrancada + Nyitott ajtó + Odblokowano drzwi + Odemčené dveře + + + Join group + Gruppe beitreten + Unirse al grupo + Dołącz do grupy + Přidat se do skupiny + Rejoindre Groupe + Вступить в группу + Csatlakozás a csoporthoz + Unir-se ao grupo + Unisciti alla squadra + + + Leave Group + Gruppe verlassen + Dejar grupo + Opuść grupę + Opustit skupinu + Quitter Groupe + Выйти из группы + Csoport elhagyása + Deixar grupo + Lascia la squadra + + + Become Leader + Grp.-führung übern. + Asumir el liderazgo + Przejmij dowodzenie + Stát se velitelem + Devenir Leader + Стать лидером + Vezetés átvétele + Tornar-se Líder + Prendi il comando + + + DANCE! + TANZEN! + BAILAR! + TAŃCZ! + TANČIT! + Danse! + ТАНЦЕВАТЬ! + TÁNC! + DANCE! + Balla! + + + Stop Dancing + Tanzen abbrechen + Dejar de bailar + Przestań tańczyć + Přestat tancovat + Arrêter de danser + Прекратить танцевать + Tánc abbahagyása + Parar de dançar + Smetti di ballare + + + << Back + << Zurück + << Atrás + << Wstecz + << Zpět + << Retour + << Назад + << Vissza + << Voltar + << Indietro + + + Gestures + Gesten + Gestos + Gesty + Posunky + Signaux + Жесты + Kézjelek + Gestos + Segnali gestuali + + + Attack + Angreifen + Atacar + Do ataku + Zaútočit + Attaquer + Атаковать + Támadás + Atacar + Attaccare + + + Advance + Vordringen + Avanzar + Naprzód + Postoupit + Avancer + Продвигаться + Előre + Avançar + Avanzare + + + Go + Los + Adelante + Szybko + Jít + Aller + Идти + Mozgás + Mover-se + Muoversi + + + Follow + Folgen + Seguirme + Za mną + Následovat + Suivre + Следовать + Utánam + Seguir + Seguire + + + Point + Zeigen + Señalar + Wskazać + Ukázat + Pointer + Точка + Mutat + Apontar + Puntare a + + + Up + Aufstehen + Arriba + Do góry + Vztyk + Debout + Вверх + Fel + Acima + Alzarsi + + + Cover + Deckung + Cubrirse + Do osłony + Krýt se + A couvert + Укрыться + Fedezékbe + Proteger-se + Copertura + + + Cease Fire + Feuer einstellen + Alto el fuego + Wstrzymać ogień + Zastavit palbu + Halte au feu + Прекратить огонь + Tüzet szüntess + Cessar Fogo + Cessare il Fuoco + + + Freeze + Keine Bewegung + Alto + Stać + Stát + Halte + Замереть + Állj + Alto + Fermi + + + Hi + Hallo + Hola + Witaj + Ahoj + Salut + Привет + Helló + Olá + Ciao + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Put weapon on back + Waffe wegstecken + Arma a la espalda + Umieść broń na plecach + Dát zbraň na záda + Arme à la bretelle + Повесить оружие на спину + Fegyvert hátra + Colocar arma nas costas + Metti l'arma in spalla + + + Tap Shoulder + Auf Schulter klopfen + Tocar el hombro + Klepnij w ramię + Poklepat na rameno + Taper sur l'épaule + Похлопать по плечу + Vállveregetés + Tocar ombro + Dai un colpetto + + + You were tapped on the RIGHT shoulder + Te tocaron el hombro DERECHO + Dir wurde auf die Rechte Schulter geklopft + On te tape sur l'épaule + Zostałeś klepnięty po ramieniu + Megveregették a JOBB válladat. + Někdo tě poklepal na PRAVÉ rameno + Вас похлопали по плечу + Você foi tocado no ombro + Ti è stato dato un colpetto sulla spalla + + + You were tapped on the LEFT shoulder. + Te tocaron el hombro IZQUIERDO. + Dir wurde auf die Linke Schulter geklopft + On te tape sur l'épaule. + Zostałeś klepnięty po ramieniu + Megveregették a BAL válladat. + Někdo tě poklepal na LEVÉ rameno. + Вас похлопали по плечу + Você foi tocado no ombro. + Ti è stato dato un colpetto sulla spalla + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Annulla + Отменить + Cancelar + Mégse + + + Select + Wählen + Seleccionar + Wybierz + Sélectionner + Zvolit + Seleziona + Выбрать + Selecionar + Kiválaszt + + + Go Away! + Geh Weg! + Aléjate! + Odejdź! + Jděte pryč! + Allez-vous-en! + Уходите отсюда! + Tűnés! + Vá Embora! + Via di qui! + + + Get Down! + Auf Den Boden! + Al suelo! + Padnij! + K zemi! + A terre! + A földre! + Ложись! + Abaixe-se! + A Terra! + + + Team<br/>Management + Team<br/>Management + Gestión<br/>de equipo + Gestion<br/>d'équipe + Zarządzanie<br/>oddziałem + Správa<br/>týmu + Управление<br/>группой + Gerenciamento<br/>de Equipe + Organizzazione<br/>Squadra + Csapat<br/>kezelése + + + Red + Rot + Rojo + Rouge + Czerwony + Červený + Красный + Vermelha + Rosso + Piros + + + Green + Grün + Verde + Vert + Zielony + Zelený + Зеленый + Verde + Verde + Zöld + + + Blue + Blau + Azul + Bleu + Niebieski + Modrý + Синий + Azul + Blu + Kék + + + Yellow + Gelb + Amarillo + Jaune + Żółty + Žlutý + Желтый + Amarela + Giallo + Sárga + + + Join Team<br/>Red + Team Rot<br/>beitreten + Unirse al<br/>equipo rojo + Rejoindre<br/>Rouge + Dołącz do drużyny<br/>czerwonej + Připojit do<br/>Červeného týmu + Присоединиться<br/>к красной группе + Unir-se à<br/>Equipe Vermelha + Entra nella<br/>Squadra Rossa + Csatlakozás a<br/>piros csapathoz + + + Join Team<br/>Green + Team Grün<br/>beitreten + Unirse al<br/>equipo verde + Rejoindre<br/>Verte + Dołącz do<br/>drużyny zielonej + Připojit do<br/>Zeleného týmu + Присоединиться<br/>к зеленой группе + Unir-se à<br/>Equipe Verde + Entra nella<br/>Squadra Verde + Csatlakozás a<br/>zöld csapathoz + + + Join Team<br/>Blue + Team Blau<br/>beitreten + Unirse al<br/>equipo azul + Rejoindre<br/>Bleue + Dołącz do<br/>drużyny niebieskiej + Připojit do<br/>Modrého týmu + Присоединиться<br/>к синей группе + Unir-se à<br/>Equipe Azul + Entra nella<br/>Squadra Blu + Csatlakozás a<br/>kék csapathoz + + + Join Team<br/>Yellow + Team Gelb<br/>beitreten + Unirse al<br/>equipo amarillo + Rejoindre<br/>Jaune + Dołącz do<br/>drużyny żółtej + Připojit do<br/>Žlutého týmu + Присоединиться<br/>к желтой группе + Unir-se à<br/>Equipe Amarela + Entra nella<br/>Squadra Gialla + Csatlakozás a<br/>sárga csapathoz + + + You joined Team %1 + Du bist Team %1 beigetreten + Te has unido al equipo %1 + Tu as rejoint l'équipe %1 + Dołączyłeś do drużyny %1 + Připojil ses do %1 týmu + Вы присоединились к группе %1 + Você uniu-se à Equipe %1 + Sei entrato nella Squadra %1 + Csatlakoztál a %1 csapathoz + + + Leave Team + Team verlassen + Dejar equipo + Quitter l'équipe + Opuść drużynę + Opustit tým + Покинуть группу + Deixar Equipe + Lascia la Squadra + Csapat elhagyása + + + You left the Team + Du hast das Team verlassen + Has dejado el equipo + Tu as quitté l'équipe + Opuściłeś drużynę + Opustil si tým + Вы покинули группу + Você deixou a Equipe + Hai lasciato la squadra + Elhagytad a csapatot + + + Pardon + Begnadigen + Perdonar + Przebacz + Pardon + Pardon + Извините + Perdão + Perdona + Megbocsátás + + + Scroll + Scrollen + Przewiń + Défilement + Desplazar + Пролистать + Rolar + Scorri + Görgetés + Otáčení + + + Modifier Key + Modifikator + Modyfikator + Modifier la touche + Tecla modificadora + Клавиша-модификатор + Tecla Modificadora + Modifica Tasto + Módosító billentyű + Modifikátor + + + Not in Range + Außer Reichweite + Hors de portée. + Fuera de rango + Слишком далеко + Fora do Alcançe + Hatótávolságon kívül + Poza zasięgiem + Mimo dosah + + + Equipment + Ausrüstung + Equipamiento + Équipment + Ekwipunek + Vybavení + Felszerelés + Снаряжение + + + Push + Schieben + Empujar + Pousser + Pchnij + Odstrčit + Tolás + Толкать + + + Interact + Interagiere + Interakce + Взаимодействовать + Interakcja + Interactuar + Cselekvés + + + Passengers + Fahrzeuginsassen + Pasajeros + Пассажиры + Pasažéři + Utasok + + + \ No newline at end of file diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 51d812a2f2..2eef29e502 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -1,19 +1,22 @@  + - - - Make Inventory Display Bigger - Erhöhe die angezeigte Inventargröße - Hacer la pantalla de inventario mas grande - Сделать окно инвентаря больше - Zvětšit zobrazení inventáře - - - Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. - Im Regelfall wird die Inventargröße durch die Größe der Nutzeroberfläche bestimmt. Diese Einstellung erlaubt es das Inventar unter Ausschluss der Schriftgröße zu vergrößern. Dadurch können mehr Gegenstände angezeigt werden. - Normalmente la pantalla de inventario se escala por el tamaño de la interfaz de usuario. Esto permite ampliar el tamaño de la interfaz de usuario de inventario, pero no aumenta el tamaño de fuente, permitiendo mostrar más filas. - Обычно, окно инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря в пользовательском интерфейсе, не увеличивая размера шрифтов, так что отображется большее количество строк. - Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. - - - + + + Make Inventory Display Bigger + Erhöhe die angezeigte Inventargröße + Hacer la pantalla de inventario mas grande + Сделать окно инвентаря больше + Zvětšit zobrazení inventáře + Legyen a felszerelés menüje nagyobb + + + Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. + Im Regelfall wird die Inventargröße durch die Größe der Nutzeroberfläche bestimmt. Diese Einstellung erlaubt es das Inventar unter Ausschluss der Schriftgröße zu vergrößern. Dadurch können mehr Gegenstände angezeigt werden. + Normalmente la pantalla de inventario se escala por el tamaño de la interfaz de usuario. Esto permite ampliar el tamaño de la interfaz de usuario de inventario, pero no aumenta el tamaño de fuente, permitiendo mostrar más filas. + Обычно, окно инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря в пользовательском интерфейсе, не увеличивая размера шрифтов, так что отображется большее количество строк. + Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. + Alaphelyzetben a kezelőfelület mérete skálázza a felszerelési menüt. Ez az opció engedélyezi a menü felskálázását, de megtartja a betűméreteket, így növelve a láthatóságot. + + + \ No newline at end of file From b72366f0f6ff15db1ce59623dc23a2aa1bb022bd Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 13 Apr 2015 22:34:43 +0200 Subject: [PATCH 031/247] hide laser beam during day --- addons/laserpointer/functions/fnc_drawLaserpoint.sqf | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf index 31be95099a..82b989e470 100644 --- a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf +++ b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf @@ -97,11 +97,13 @@ if (!surfaceIsWater _pL) then { _pL = ASLtoATL _pL; }; -drawLine3D [ - _p0Pos, - _pL, - [[1,0,0,1], [0,1,0,1]] select _isGreen -]; +if (call EFUNC(common,ambientBrightness) < 0.2) then { + drawLine3D [ + _p0Pos, + _pL, + [[1,0,0,1], [0,1,0,1]] select _isGreen + ]; +}; _size = 2 * (_range - (positionCameraToWorld [0,0,0] distance _pL)) / _range; From 1b60a335a51faba2e353918a1bc5218817096512 Mon Sep 17 00:00:00 2001 From: Harakhti Date: Mon, 13 Apr 2015 23:03:09 +0200 Subject: [PATCH 032/247] Translation: J to M I feel burned out. This was very specifically long and tedious. --- addons/javelin/stringtable.xml | 33 +- addons/kestrel/stringtable.xml | 123 +- addons/laser_selfdesignate/stringtable.xml | 37 +- addons/laserpointer/stringtable.xml | 69 +- addons/logistics_uavbattery/stringtable.xml | 151 +- addons/logistics_wirecutter/stringtable.xml | 109 +- addons/magazinerepack/stringtable.xml | 196 +- addons/magazines/stringtable.xml | 974 ++++----- addons/maptools/stringtable.xml | 291 +-- addons/markers/stringtable.xml | 25 +- addons/medical/stringtable.xml | 2187 ++++++++++--------- addons/microdagr/stringtable.xml | 376 ++-- addons/missileguidance/stringtable.xml | 80 +- addons/movement/stringtable.xml | 88 +- 14 files changed, 2422 insertions(+), 2317 deletions(-) diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index ec929bffc1..3481cb4f0d 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -1,17 +1,20 @@  + - - - Lock Target (Hold) - Ziel aufschalten - Захватить цель (удерживать) - Zamknout cíl(držet) - - - Cycle Fire Mode - Wechsle Feuermodus - Переключение режимов огня - Cyklování režimů palby - - - + + + Lock Target (Hold) + Ziel aufschalten + Захватить цель (удерживать) + Zamknout cíl(držet) + Célpontra állás (Lenyomva tartott) + + + Cycle Fire Mode + Wechsle Feuermodus + Переключение режимов огня + Cyklování režimů palby + Tüzelési mód váltása + + + \ No newline at end of file diff --git a/addons/kestrel/stringtable.xml b/addons/kestrel/stringtable.xml index c811633f75..44cfc461f1 100644 --- a/addons/kestrel/stringtable.xml +++ b/addons/kestrel/stringtable.xml @@ -1,63 +1,64 @@  + - - - Approximate Temperature - Ungefähre Temperatur - Temperatura aproximada - Estimer la température - Przybliżona temperatura - Odhadovaná teplota - Hőmérséklet nagyábol - Примерная температура - - - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - Kestrel 4500NV - - - Applied Ballistics Meter - Applied Ballistics Meter - Anemómetro balístico - Applied Ballistics Meter - Urządzenie do monitorowania pogody - Zařízení pro měření větru - Monitoraggio Balistico Attivo - Applied Ballistics Meter - Medidor Balístico Ativo - Метеостанция - - - Open Kestrel - Kestrel öffnen - Abrir Kestrel - Ouvrir Kestrel - Otwórz Kestrel - Otevřít Kestrel - Abrir Kestrel - Apri Kestrel - Kestrel bekapcsolása - Открыть Kestrel - - - Close Kestrel - Kestrel schließen - Cerrar Kestrel - Fermer Kestrel - Zamknij Kestrel - Zavřít Kestrel - Fechar Kestrel - Chiudi Kestrel - Kestrel kikapcsolása - Закрыть Kestrel - - - + + + Approximate Temperature + Ungefähre Temperatur + Temperatura aproximada + Estimer la température + Przybliżona temperatura + Odhadovaná teplota + Becsült hőmérséklet + Примерная температура + + + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + Kestrel 4500NV + + + Applied Ballistics Meter + Applied Ballistics Meter + Anemómetro balístico + Applied Ballistics Meter + Urządzenie do monitorowania pogody + Zařízení pro měření větru + Monitoraggio Balistico Attivo + Alkalmazott ballisztikai mérőműszer + Medidor Balístico Ativo + Метеостанция + + + Open Kestrel + Kestrel öffnen + Abrir Kestrel + Ouvrir Kestrel + Otwórz Kestrel + Otevřít Kestrel + Abrir Kestrel + Apri Kestrel + Kestrel elővétele + Открыть Kestrel + + + Close Kestrel + Kestrel schließen + Cerrar Kestrel + Fermer Kestrel + Zamknij Kestrel + Zavřít Kestrel + Fechar Kestrel + Chiudi Kestrel + Kestrel elrakása + Закрыть Kestrel + + + \ No newline at end of file diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 5da3fe8b46..23a81139b6 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -1,19 +1,22 @@  + - - - Laser<br/>Designator On - Lasermarkierer<br/>an - Laser<br/>Designador encendido - ЛЦУ<br/>ВКЛ - Laserový<br/>značkovač zapnut - - - Laser<br/>Designator Off - Lasermarkierer<br/>aus - Laser<br/>Designador apagado - ЛЦУ<br/>ВЫКЛ - Laserový<br/>značkovat vypnut - - - + + + Laser<br/>Designator On + Lasermarkierer<br/>an + Laser<br/>Designador encendido + ЛЦУ<br/>ВКЛ + Laserový<br/>značkovač zapnut + Lézeres<br/>Megjelölő Be + + + Laser<br/>Designator Off + Lasermarkierer<br/>aus + Laser<br/>Designador apagado + ЛЦУ<br/>ВЫКЛ + Laserový<br/>značkovat vypnut + Lézeres<br/>Megjelölő Ki + + + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index bf0dfb346a..302d354ab3 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,34 +1,39 @@  + - - - Laser Pointer (red) - Laserpointer (rot) - Лазерный прицел (красный) - Laserové ukazovátko (červené) - - - Laser Pointer (green) - Laserpointer (grün) - Лазерный прицел (зелёный) - Laserové ukazovátko (zelené) - - - Emits visible light. - Strahlt sichtbares Licht aus. - Испускает узкий пучок видимого света. - Vyzařuje viditelné světlo. - - - <t color='#9cf953'>Use: </t>Turn Laser ON/OFF - <t color='#9cf953'>Použití: </t>Zapnout/vypnout laser - <t color='#9cf953'>Utiliser : </t>laser on/off - <t color='#9cf953'>Benutzen: </t>Laser EIN/AUS - <t color='#9cf953'>Uso: </t>Laser ON/OFF - <t color='#9cf953'>Użyj: </t>wł./wył. lasera - <t color='#9cf953'>Uso: </t>Ativar/Desativar laser - <t color='#9cf953'>Использовать: </t>вкл/выкл лазер - <t color='#9cf953'>Usar: </t>encender/apagar láser - - - + + + Laser Pointer (red) + Laserpointer (rot) + Лазерный прицел (красный) + Laserové ukazovátko (červené) + Lézer-pointer (piros) + + + Laser Pointer (green) + Laserpointer (grün) + Лазерный прицел (зелёный) + Laserové ukazovátko (zelené) + Lézer-pointer (zöld) + + + Emits visible light. + Strahlt sichtbares Licht aus. + Испускает узкий пучок видимого света. + Vyzařuje viditelné světlo. + Látható fényt bocsát ki. + + + <t color='#9cf953'>Use: </t>Turn Laser ON/OFF + <t color='#9cf953'>Použití: </t>Zapnout/vypnout laser + <t color='#9cf953'>Utiliser : </t>laser on/off + <t color='#9cf953'>Benutzen: </t>Laser EIN/AUS + <t color='#9cf953'>Uso: </t>Laser ON/OFF + <t color='#9cf953'>Użyj: </t>wł./wył. lasera + <t color='#9cf953'>Uso: </t>Ativar/Desativar laser + <t color='#9cf953'>Использовать: </t>вкл/выкл лазер + <t color='#9cf953'>Usar: </t>encender/apagar láser + <t color='#9cf953'>Használat: </t>Lézer BE/KI kapcsolása + + + \ No newline at end of file diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index 27ae24999f..003585f2b1 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -1,77 +1,78 @@  + - - - Drone is full - Drohne ist voll - El VANT está lleno - L'UAV est chargé - Dron jest naładowany - A drón fel van töltve - Dron je nabitý - O VANT está cheio - Il drone è pieno - БПЛА заполнен - - - You need a UAV Battery - Du brauchst eine UAV-Batterie - Necesitas una batería para VANT - Pas de batterie UAV - Potrzebujesz baterii UAV - Szükséged van egy UAV akkumulátorra - Potřebuješ UAV baterii - Você precisa de uma Bateria para VANT - Hai bisogno di una Batteria UAV - Требуется аккумулятор для БПЛА - - - Recharge - Aufladen - Recargar - Recharger - Naładuj - Feltöltés - Dobít - Recarregar - Ricarica - Зарядить - - - UAV Battery - UAV-Batterie - Batería para VANT - Batterie UAV - Bateria UAV - UAV akkumulátor - UAV baterie - Bateria para VANT - Batteria UAV - Аккумулятор БПЛА - - - Used to refuel Carried UAV's - Verwendet zum Aufladen von tragbaren UAV's - Usada para reabastecer el VANT - Utilisée pour recharger l'UAV - Używana do naładowania UAV - Hordozható UAV-ok működéséhez való akkumulátor - Používané k dobíjení UAV - Usada para reabastecer VANT - Usata per ricaricare la Batteria dell'UAV - Используется для зарядки БПЛА - - - Recharging ... - Aufladen ... - Recargando ... - Rechargement ... - Ładowanie ... - Akku feltöltése ... - Dobíjení ... - Recarregando ... - In ricarica ... - Заряжается ... - - - + + + Drone is full + Drohne ist voll + El VANT está lleno + L'UAV est chargé + Dron jest naładowany + A drón fel van töltve + Dron je nabitý + O VANT está cheio + Il drone è pieno + БПЛА заполнен + + + You need a UAV Battery + Du brauchst eine UAV-Batterie + Necesitas una batería para VANT + Pas de batterie UAV + Potrzebujesz baterii UAV + Szükséged van egy UAV akkumulátorra + Potřebuješ UAV baterii + Você precisa de uma Bateria para VANT + Hai bisogno di una Batteria UAV + Требуется аккумулятор для БПЛА + + + Recharge + Aufladen + Recargar + Recharger + Naładuj + Feltöltés + Dobít + Recarregar + Ricarica + Зарядить + + + UAV Battery + UAV-Batterie + Batería para VANT + Batterie UAV + Bateria UAV + UAV akkumulátor + UAV baterie + Bateria para VANT + Batteria UAV + Аккумулятор БПЛА + + + Used to refuel Carried UAV's + Verwendet zum Aufladen von tragbaren UAV's + Usada para reabastecer el VANT + Utilisée pour recharger l'UAV + Używana do naładowania UAV + Hordozható UAV-k feltöltéséhez való akkumulátor + Používané k dobíjení UAV + Usada para reabastecer VANT + Usata per ricaricare la Batteria dell'UAV + Используется для зарядки БПЛА + + + Recharging ... + Aufladen ... + Recargando ... + Rechargement ... + Ładowanie ... + Akku feltöltése ... + Dobíjení ... + Recarregando ... + In ricarica ... + Заряжается ... + + + \ No newline at end of file diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index 1959ed1d50..c7c0f60738 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,55 +1,58 @@  + - - - Wirecutter - Drahtschneider - Cortador de cables - Клещи-кусачки - Štípací kleště - - - Wirecutter - Schneidet Draht. - Cortador de cables - Позволяют быстро перекусывать сеточные конструкции. - Štípačky - - - Cut Fence - Zaun schneiden - Cortar alambrado - Przetnij płot - Přestřihnout plot - Cisailler Clôture - Cortar Cerca - Taglia - Drótkerítés átvágása - Разрезать забор - - - Cutting Fences / Wires ... - Zaun / Draht schneiden ... - Cortando alambrado / cables ... - Przecinanie płotu / drutów ... - Přestřihnout plot / dráty ... - Cisaille l'obstacle ... - Cortando Cerca / Arame ... - Sto tagliando ... - Drótok elvágása ... - Разрезаем забор / провода ... - - - Fence cut - Zaun geschnitten - Alambrado cortado - Płot przecięty - Plot přestřižen - Clôture cisaillée - Cerca cortada - Fatto! - Drótkerítés átvágva - Забор разрезан - - - + + + Wirecutter + Drahtschneider + Cortador de cables + Клещи-кусачки + Štípací kleště + Drótvágó + + + Wirecutter + Schneidet Draht. + Cortador de cables + Позволяют быстро перекусывать сеточные конструкции. + Štípačky + Drótok, huzalok, és kábelek vágására alkalmas olló. + + + Cut Fence + Zaun schneiden + Cortar alambrado + Przetnij płot + Přestřihnout plot + Cisailler Clôture + Cortar Cerca + Taglia + Drótkerítés átvágása + Разрезать забор + + + Cutting Fences / Wires ... + Zaun / Draht schneiden ... + Cortando alambrado / cables ... + Przecinanie płotu / drutów ... + Přestřihnout plot / dráty ... + Cisaille l'obstacle ... + Cortando Cerca / Arame ... + Sto tagliando ... + Drótok elvágása ... + Разрезаем забор / провода ... + + + Fence cut + Zaun geschnitten + Alambrado cortado + Płot przecięty + Plot přestřižen + Clôture cisaillée + Cerca cortada + Fatto! + Drótkerítés átvágva + Забор разрезан + + + \ No newline at end of file diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 2124966e23..ddf652c147 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,98 +1,102 @@  + - - - Repack<br/>Magazines - Magazine<br/>umpacken - Reorganizar<br/>cargadores - Réorganiser<br/>chargeurs - Przepakuj<br/>magazynki - Přepáskovat<br/>Zásobníky - Ricarica<br/>Caricatori - Reorganizar<br/>Carregadores - Újratárazás<br/> - Перепаковать<br/>магазины - - - Select Magazine Menu - Magazinauswahlmenü - Menú de selección de cargador - Sélectionner menu des chargeurs - Menu wyboru magazynków - Zvolit Menu zásobníků - Seleziona Menù di Ricarica - Menu de Seleção de Carregador - Fegyvertár menü kiválasztás - Меню выбора магазинов - - - Select Mag - Magazin auswählen - Seleccionar cargador - Sélectionner chargeur - Wybierz magazynek - Zvolit zásobník - Seleziona Caricatore - Selecionar Carregador - Tár kiválasztása - Выбрать магазин - - - Repacking Magazines ... - Magazine umpacken ... - Reorganizando cargadores ... - Réorganisation des chargeurs ... - Przepakowywanie magazynków ... - Páskuji zásobníky ... - Sto ricaricando le munizioni ... - Reorganizando Carregadores ... - Újratárazás ... - Перепаковка магазинов ... - - - Repacked Magazines - Magazine umgepackt - Cargadores reorganizados - Chargeurs réorganisés - Magazynki przepakowane - Přepáskované zásobníky - Caricatore ricaricato - Carregadores Reorganizados - Újratárazott tárak - Магазины перепакованы - - - %1 full mag(s) and %2 extra round(s) - %1 volle(s) Magazin(e) und %2 übrig gebliebene Patrone(n) - %1 cargador(es) completo(s) y %2 bala(s) extra(s) - %1 chargeur(s) plein(s) et %2 cartouche(s) en rab - %1 pełnych magazynków i %2 dodatkowych naboi - %1 plný zásobník(y) a %2 munice navíc - %1 caricatore/i pieno e %2 munizioni extra - %1 carregador(es) cheio(s) e %2 disparo(s) a mais - %1 tejles tár és %2 extra lőszer. - %1 полных магазина(ов) и %2 патрона(ов) - - - Repacking Finished - Wiederverpacken Fertig - Reembalaje finalizado - Перепаковка завершена - Páskování dokončeno - - - Repacking Interrupted - Umpacken Unterbrochen - Reembalaje interrumpido - Перепаковка прервана - Páskování přerušeno - - - %1 Full and %2 Partial - %1 Vollständigen und %2 Teilweisen - %1 Total y %2 Parcial - %1 полных и %2 неполных - %1 plný a %2 částečně - - - + + + Repack<br/>Magazines + Magazine<br/>umpacken + Reorganizar<br/>cargadores + Réorganiser<br/>chargeurs + Przepakuj<br/>magazynki + Přepáskovat<br/>Zásobníky + Ricarica<br/>Caricatori + Reorganizar<br/>Carregadores + Újratárazás<br/> + Перепаковать<br/>магазины + + + Select Magazine Menu + Magazinauswahlmenü + Menú de selección de cargador + Sélectionner menu des chargeurs + Menu wyboru magazynków + Zvolit Menu zásobníků + Seleziona Menù di Ricarica + Menu de Seleção de Carregador + Fegyvertár menü kiválasztás + Меню выбора магазинов + + + Select Mag + Magazin auswählen + Seleccionar cargador + Sélectionner chargeur + Wybierz magazynek + Zvolit zásobník + Seleziona Caricatore + Selecionar Carregador + Tár kiválasztása + Выбрать магазин + + + Repacking Magazines ... + Magazine umpacken ... + Reorganizando cargadores ... + Réorganisation des chargeurs ... + Przepakowywanie magazynków ... + Páskuji zásobníky ... + Sto ricaricando le munizioni ... + Reorganizando Carregadores ... + Újratárazás ... + Перепаковка магазинов ... + + + Repacked Magazines + Magazine umgepackt + Cargadores reorganizados + Chargeurs réorganisés + Magazynki przepakowane + Přepáskované zásobníky + Caricatore ricaricato + Carregadores Reorganizados + Újratárazott tárak + Магазины перепакованы + + + %1 full mag(s) and %2 extra round(s) + %1 volle(s) Magazin(e) und %2 übrig gebliebene Patrone(n) + %1 cargador(es) completo(s) y %2 bala(s) extra(s) + %1 chargeur(s) plein(s) et %2 cartouche(s) en rab + %1 pełnych magazynków i %2 dodatkowych naboi + %1 plný zásobník(y) a %2 munice navíc + %1 caricatore/i pieno e %2 munizioni extra + %1 carregador(es) cheio(s) e %2 disparo(s) a mais + %1 teljes tár és %2 extra lőszer + %1 полных магазина(ов) и %2 патрона(ов) + + + Repacking Finished + Wiederverpacken Fertig + Reembalaje finalizado + Перепаковка завершена + Páskování dokončeno + Újratárazás befejezve + + + Repacking Interrupted + Umpacken Unterbrochen + Reembalaje interrumpido + Перепаковка прервана + Páskování přerušeno + Újratárazás megszakítva + + + %1 Full and %2 Partial + %1 Vollständigen und %2 Teilweisen + %1 Total y %2 Parcial + %1 полных и %2 неполных + %1 plný a %2 částečně + %1 teljes és %2 részleges + + + \ No newline at end of file diff --git a/addons/magazines/stringtable.xml b/addons/magazines/stringtable.xml index db637f8064..4a4242eb0c 100644 --- a/addons/magazines/stringtable.xml +++ b/addons/magazines/stringtable.xml @@ -1,490 +1,490 @@  - + - - - - 6.5mm 30Rnd Tracer IR-DIM Mag - 6,5 mm Nyomjelző IR-DIM 30-as Tár - 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 30 balas trazadoras IR-DIM de 6,5mm - Ch. 6,5mm 30Cps Traçantes IR-DIM - Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník - Carregador de 30 projéteis traçantes IR-DIM de 6,5mm - Caricatore 6.5mm 30Rnd Traccianti IR-DIM - Магазин из 30-ти 6.5 мм трассирующих под ПНВ - - - 6.5mm IR-DIM - 6,5 mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6.5mm IR-DIM - 6,5mm IR-DIM - 6.5 IR-DIM - 6.5 мм ИК-трассирующие - - - Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - - - 6.5mm 30Rnd SD Mag - 6,5 mm Hangtompítós 30-as Tár - 6,5 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 6,5mm - Ch. 6,5mm 30Cps SD - Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 6,5mm - Caricatore 6.5mm 30Rnd Sil. - Магазин из 30-ти 6.5 мм дозвуковых - - - 6.5mm SD - 6,5 mm Hangtompítós - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6.5mm SD - 6,5mm SD - 6.5mm Sil. - 6.5 мм дозвуковые - - - Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Hangtompítós<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - - - 6.5mm 30Rnd AP Mag - 6,5 mm Páncéltörő 30-as Tár - 6,5 mm 30-Schuss-Magazin AP - Cargador de 30 balas AP de 6,5mm - Ch. 6,5mm 30Cps AP - Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník - Carregador de 30 projéteis AP de 6,5mm - Caricatore 6.5mm 30Rnd AP - Магазин из 30-ти 6.5 мм бронебойных - - - 6.5mm AP - 6,5 mm Páncéltörő - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6.5mm AP - 6,5mm AP - 6.5mm AP - 6.5 мм бронебойные - - - Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Páncéltörő<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - - - - 6.5mm 30Rnd Tracer IR-DIM Mag - 6,5mm IR-DIM Nyomjelző 30-as Tár - 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 30 balas trazadoras IR-DIM de 6,5mm - Ch. 6,5mm 30Cps Traçantes IR-DIM - Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník - Carregador de 30 projéteis traçantes IR-DIM de 6,5mm - Caricatore 6.5mm 30Rnd Traccianti IR-DIM - Магазин из 30-ти 6.5 мм трассирующих под ПНВ - - - 6.5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6,5mm IR-DIM - 6.5mm IR-DIM - 6,5mm IR-DIM - 6.5mm IR-DIM - 6.5 мм ИК-трассирующие - - - Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: Katiba - - - 6.5mm 30Rnd SD Mag - 6,5 mm Hangtompítós 30-as Tár - 6,5 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 6,5mm - Ch. 6,5mm 30Cps SD - Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 6,5mm - Caricatore 6.5mm 30Rnd Sil. - Магазин из 30-ти 6.5 мм дозвуковых - - - 6.5mm SD - 6,5 mm Hangtompítós - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6,5mm SD - 6.5mm SD - 6,5mm SD - 6.5mm Sil. - 6.5 мм дозвуковые - - - Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Hangtompítós<br />Lőszerek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm SD<br />Naboje: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: Katiba - - - 6.5mm 30Rnd AP Mag - 6,5 mm Páncéltörő 30-as Tár - 6,5 mm 30-Schuss-Magazin AP - Cargador de 30 balas AP de 6,5mm - Ch. 6,5mm 30Cps AP - Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník - Carregador de 30 projéteis AP de 6,5mm - Caricatore 6.5mm 30Rnd AP - Магазин из 30-ти 6.5 мм бронебойных - - - 6.5mm AP - 6,5 mm Páncéltörő - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6,5mm AP - 6.5mm AP - 6,5mm AP - 6.5mm AP - 6.5 мм бронебойные - - - Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Páncéltörő<br />Lőszerek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: Katiba - - - - 5.56mm 30rnd Tracer IR-DIM Mag - 5,56 mm Nyomjelző IR-DIM 30-as Tár - 5,56 mm 30-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 30 balas trazadoras IR-DIM de 5,56mm - Ch. 5,56mm 30Cps Traçantes IR-DIM - Magazynek 5,56mm 30rd Smugacz IR-DIM - 5.56mm 30ks Svítící IR-DIM Zásobník - Carregador de 30 projéteis traçantes IR-DIM de 5,56mm - Caricatore 5.56mm 30rnd Traccianti IR-DIM - Магазин из 30-ти 5.56 мм трассирующих под ПНВ - - - 5.56mm IR-DIM - 5,56 mm IR-DIM - 5,56mm IR-DIM - 5,56mm IR-DIM - 5,56mm IR-DIM - 5,56mm IR-DIM - 5.56mm IR-DIM - 5,56mm IR-DIM - 5.56mm IR-DIM - 5.56 мм ИК-трассирующие - - - Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - - - 5.56mm 30Rnd SD Mag - 5,56 mm Hangtompítós 30-as Tár - 5,56 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 5,56 mm - Ch. 5,56mm 30Cps SD - Magazynek 5,56mm 30rd SD - 5.56mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 5,56mm - Caricatore 5.56mm 30Rnd Sil. - Магазин из 30-ти 5.56 мм дозвуковых - - - 5.56mm SD - 5,56 mm Hangtompítós - 5,56mm SD - 5,56 mm SD - 5,56mm SD - 5,56mm SD - 5.56mm SD - 5,56mm SD - 5.56 Sil. - 5.56 мм дозвуковые - - - Caliber: 5.56x45 mm SD<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Hangtompítós<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm SD<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm SD<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5.56x45 mm SD<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm SD<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm SD<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm SD<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm Sil.<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм дозвуковые<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - - - 5.56mm 30Rnd AP Mag - 5,56 mm Páncéltörő 30-as Tár - 5,56 mm 30-Schuss-Magazin AP - Cargador de 30 balas AP de 5,56mm - Ch. 5,56mm 30Cps AP - Magazynek 5,56mm 30rd AP - 5.56mm 30ks AP Zásobník - Carregador de 30 projéteis AP de 5,56mm - Caricatore 5.56mm 30Rnd AP - Магазин из 30-ти 5.56 мм бронебойных - - - 5.56mm AP - 5,56 mm Páncéltörő - 5,56mm AP - 5,56mm AP - 5,56mm AP - 5,56mm AP - 5.56mm AP - 5,56mm AP - 5.56mm AP - 5.56 мм бронебойные - - - Caliber: 5.56x45 mm AP<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Páncéltörő<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm AP<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm AP<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm AP<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm AP<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm AP<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm AP<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм бронебойные<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - - - - 7.62mm 20rnd Tracer Mag - 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur - Cargador de 20 balas trazadores de 7,62mm - Ch. 7,62mm 20Cps Traçantes - Magazynek 7,62mm 20rd Smugacz - 7.62mm 20ks Svítící Zásobník - Carregador de 20 projéteis traçantes de 7,62mm - Caricatore 7.62mm 20Rnd Traccianti - Магазин из 20-ти 7.62 мм трассирующих - - - 7.62mm Tracer - 7,62 mm Nyomjelző - 7,62mm Leuchtspur - 7,62mm Trazadora - 7,62mm Traçantes - 7,62mm Smugacz - 7.62mm Svítící - 7,62mm Traçante - 7.62mm Traccianti - 7.62 мм трассирущие - - - Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Nyomjelző<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм трассирующие<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - 7.62mm 20rnd Tracer IR-DIM Mag - 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 20 balas IR-DIM de 7,62mm - Ch. 7,62mm 20Cps Traçantes IR-DIM - Magazynek 7,62mm 20rd Smugacz IR-DIM - 7.62mm 20ks Svítící IR-DIM Zásobník - Carregador de 20 projéteis IR-DIM de 7,62mm - Caricatore 7.62mm 20rnd Traccianti IR-DIM - Магазин из 20-ти 7.62 мм трассирующих под ПНВ - - - 7.62mm IR-DIM - 7,62 mm IR-DIM - 7,62mm IR-DIM - 7,62mm IR-DIM - 7,62mm IR-DIM - 7,62mm IR-DIM - 7.62mm IR-DIM - 7,62mm IR-DIM - 7.62mm IR-DIM - 7.62 мм ИК-трассирующие - - - Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Nyomjelző IR-DIM<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм трассирующие под ПНВ<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - 7.62mm 20Rnd SD Mag - 7,62 mm Hangtompítós 20-as Tár - 7,62 mm 20-Schuss-Magazin SD - Cargador de 20 balas SD de 7,62mm - Ch. 7,62mm 20Cps SD - Magazynek 7,62mm 20rd SD - 7.62mm 20ks SD Zásobník - Carregador de 20 projéteis SD de 7,62mm - Caricatore 7.62mm 20Rnd Sil. - Магазин из 20-ти 7.62 мм дозвуковых - - - 7.62mm SD - 7,62 mm Hangtompítós - 7,62mm SD - 7,62mm SD - 7,62mm SD - 7,62mm SD - 7.62mm SD - 7,62mm SD - 7.62mm Sil. - 7.62 мм дозвуковые - - - Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Hangtompítós<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - 7.62mm 20Rnd AP Mag - 7,62 mm Páncéltörő 20-as Tár - 7,62 mm 20-Schuss-Magazin AP - Cargador de 20 balas AP de 7,62mm - Ch. 7,62mm 20Cps AP - Magazynek 7,62mm 20rd AP - 7.62mm 20ks AP Zásobník - Carregador de 20 projéteis AP de 7,62mm - Caricatore 7.62mm 20Rnd AP - Магазин из 20-ти 7.62 мм бронебойных - - - 7.62mm AP - 7,62 mm Páncéltörő - 7,62mm AP - 7,62mm AP - 7,62mm AP - 7,62mm AP - 7.62mm AP - 7,62mm AP - 7.62mm AP - 7.62 мм бронебойные - - - Caliber: 7.62x51 mm AP<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Páncéltörő<br />Lőszerek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm AP<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm AP<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm AP<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm AP<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm AP<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - Caliber: 7.62x51mm M118LR<br />Rounds: 20<br />Type: M14 - Kaliber: 7,62x51 mm M118LR<br />Lőszerek: 20<br />Típus: M14 - Kaliber: 7,62x51mm M118LR<br />Schuss: 20<br />Typ: M14 - Calibre: 7,62x51mm M118LR<br />Balas: 20<br />Tipo: M14 - Kaliber: 7,62 x 51 mm M118LR<br />Pociski: 20<br />Typ: M14 - Kalibr: 7.62x51mm M118LR<br />Náboje: 20<br />Typ: M14 - Calibre : 7,62x51mm M118LR<br />Cartouches: 20<br />Type: M14 - Calibre: 7,62x51mm M118LR<br />Projéteis: 20<br />Tipo: M14 - Калибр: 7.62x51mm M118LR<br />Патронов: 20<br />Тип: M14 - Calibro: 7.62x51mm M118LR<br />Munizioni:20<br />In uso su: M14 - - + + + + 6.5mm 30Rnd Tracer IR-DIM Mag + 6,5 mm Nyomjelző IR-DIM 30-as Tár + 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM + Cargador de 30 balas trazadoras IR-DIM de 6,5mm + Ch. 6,5mm 30Cps Traçantes IR-DIM + Magazynek 6,5mm 30rd Smugacz IR-DIM + 6.5mm 30ks Svítící IR-DIM Zásobník + Carregador de 30 projéteis traçantes IR-DIM de 6,5mm + Caricatore 6.5mm 30Rnd Traccianti IR-DIM + Магазин из 30-ти 6.5 мм трассирующих под ПНВ + + + 6.5mm IR-DIM + 6,5 mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6,5mm IR-DIM + 6.5 IR-DIM + 6.5 мм ИК-трассирующие + + + Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5 x 39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL + + + 6.5mm 30Rnd SD Mag + 6,5 mm Halk 30-as Tár + 6,5 mm 30-Schuss-Magazin SD + Cargador de 30 balas SD de 6,5mm + Ch. 6,5mm 30Cps SD + Magazynek 6,5mm 30rd SD + 6.5mm 30ks SD Zásobník + Carregador de 30 projéteis SD de 6,5mm + Caricatore 6.5mm 30Rnd Sil. + Магазин из 30-ти 6.5 мм дозвуковых + + + 6.5mm SD + 6,5 mm Halk + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6.5mm SD + 6,5mm SD + 6.5mm Sil. + 6.5 мм дозвуковые + + + Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm Halk<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5 x 39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL + + + 6.5mm 30Rnd AP Mag + 6,5 mm Páncéltörő 30-as Tár + 6,5 mm 30-Schuss-Magazin AP + Cargador de 30 balas AP de 6,5mm + Ch. 6,5mm 30Cps AP + Magazynek 6,5mm 30rd AP + 6.5mm 30ks AP Zásobník + Carregador de 30 projéteis AP de 6,5mm + Caricatore 6.5mm 30Rnd AP + Магазин из 30-ти 6.5 мм бронебойных + + + 6.5mm AP + 6,5 mm Páncéltörő + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6.5mm AP + 6,5mm AP + 6.5mm AP + 6.5 мм бронебойные + + + Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm Páncéltörő<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL + + + + 6.5mm 30Rnd Tracer IR-DIM Mag + 6,5mm IR-DIM Nyomjelző 30-as Tár + 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM + Cargador de 30 balas trazadoras IR-DIM de 6,5mm + Ch. 6,5mm 30Cps Traçantes IR-DIM + Magazynek 6,5mm 30rd Smugacz IR-DIM + 6.5mm 30ks Svítící IR-DIM Zásobník + Carregador de 30 projéteis traçantes IR-DIM de 6,5mm + Caricatore 6.5mm 30Rnd Traccianti IR-DIM + Магазин из 30-ти 6.5 мм трассирующих под ПНВ + + + 6.5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6,5mm IR-DIM + 6.5mm IR-DIM + 6.5 мм ИК-трассирующие + + + Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: Katiba + Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba + Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: Katiba + Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba + Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: Katiba + + + 6.5mm 30Rnd SD Mag + 6,5 mm Halk 30-as Tár + 6,5 mm 30-Schuss-Magazin SD + Cargador de 30 balas SD de 6,5mm + Ch. 6,5mm 30Cps SD + Magazynek 6,5mm 30rd SD + 6.5mm 30ks SD Zásobník + Carregador de 30 projéteis SD de 6,5mm + Caricatore 6.5mm 30Rnd Sil. + Магазин из 30-ти 6.5 мм дозвуковых + + + 6.5mm SD + 6,5 mm Halk + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6,5mm SD + 6.5mm SD + 6,5mm SD + 6.5mm Sil. + 6.5 мм дозвуковые + + + Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39 mm Halk<br />Lövedékek: 30<br />Használható: Katiba + Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba + Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5 x 39 mm SD<br />Naboje: 30<br />Używane w: Katiba + Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba + Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: Katiba + + + 6.5mm 30Rnd AP Mag + 6,5 mm Páncéltörő 30-as Tár + 6,5 mm 30-Schuss-Magazin AP + Cargador de 30 balas AP de 6,5mm + Ch. 6,5mm 30Cps AP + Magazynek 6,5mm 30rd AP + 6.5mm 30ks AP Zásobník + Carregador de 30 projéteis AP de 6,5mm + Caricatore 6.5mm 30Rnd AP + Магазин из 30-ти 6.5 мм бронебойных + + + 6.5mm AP + 6,5 mm Páncéltörő + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6,5mm AP + 6.5mm AP + 6,5mm AP + 6.5mm AP + 6.5 мм бронебойные + + + Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39 mm Páncéltörő<br />Lövedékek: 30<br />Használható: Katiba + Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba + Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: Katiba + Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba + Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: Katiba + + + + 5.56mm 30rnd Tracer IR-DIM Mag + 5,56 mm Nyomjelző IR-DIM 30-as Tár + 5,56 mm 30-Schuss-Magazin Leuchtspur IR-DIM + Cargador de 30 balas trazadoras IR-DIM de 5,56mm + Ch. 5,56mm 30Cps Traçantes IR-DIM + Magazynek 5,56mm 30rd Smugacz IR-DIM + 5.56mm 30ks Svítící IR-DIM Zásobník + Carregador de 30 projéteis traçantes IR-DIM de 5,56mm + Caricatore 5.56mm 30rnd Traccianti IR-DIM + Магазин из 30-ти 5.56 мм трассирующих под ПНВ + + + 5.56mm IR-DIM + 5,56 mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5,56mm IR-DIM + 5.56mm IR-DIM + 5,56mm IR-DIM + 5.56mm IR-DIM + 5.56 мм ИК-трассирующие + + + Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56 x 45 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Калибр: 5.56x45 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + + + 5.56mm 30Rnd SD Mag + 5,56 mm Halk 30-as Tár + 5,56 mm 30-Schuss-Magazin SD + Cargador de 30 balas SD de 5,56 mm + Ch. 5,56mm 30Cps SD + Magazynek 5,56mm 30rd SD + 5.56mm 30ks SD Zásobník + Carregador de 30 projéteis SD de 5,56mm + Caricatore 5.56mm 30Rnd Sil. + Магазин из 30-ти 5.56 мм дозвуковых + + + 5.56mm SD + 5,56 mm Halk + 5,56mm SD + 5,56 mm SD + 5,56mm SD + 5,56mm SD + 5.56mm SD + 5,56mm SD + 5.56 Sil. + 5.56 мм дозвуковые + + + Caliber: 5.56x45 mm SD<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm Halk<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm SD<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm SD<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5.56x45 mm SD<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56 x 45 mm SD<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Ráže: 5.56x45 mm SD<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm SD<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibro: 5.56x45 mm Sil.<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Калибр: 5.56x45 мм дозвуковые<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + + + 5.56mm 30Rnd AP Mag + 5,56 mm Páncéltörő 30-as Tár + 5,56 mm 30-Schuss-Magazin AP + Cargador de 30 balas AP de 5,56mm + Ch. 5,56mm 30Cps AP + Magazynek 5,56mm 30rd AP + 5.56mm 30ks AP Zásobník + Carregador de 30 projéteis AP de 5,56mm + Caricatore 5.56mm 30Rnd AP + Магазин из 30-ти 5.56 мм бронебойных + + + 5.56mm AP + 5,56 mm Páncéltörő + 5,56mm AP + 5,56mm AP + 5,56mm AP + 5,56mm AP + 5.56mm AP + 5,56mm AP + 5.56mm AP + 5.56 мм бронебойные + + + Caliber: 5.56x45 mm AP<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm Páncéltörő<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm AP<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm AP<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm AP<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56 x 45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Ráže: 5.56x45 mm AP<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45 mm AP<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibro: 5.56x45 mm AP<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Калибр: 5.56x45 мм бронебойные<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + + + + 7.62mm 20rnd Tracer Mag + 7,62 mm Nyomjelző IR-DIM 20-as Tár + 7,62 mm 20-Schuss-Magazin Leuchtspur + Cargador de 20 balas trazadores de 7,62mm + Ch. 7,62mm 20Cps Traçantes + Magazynek 7,62mm 20rd Smugacz + 7.62mm 20ks Svítící Zásobník + Carregador de 20 projéteis traçantes de 7,62mm + Caricatore 7.62mm 20Rnd Traccianti + Магазин из 20-ти 7.62 мм трассирующих + + + 7.62mm Tracer + 7,62 mm Nyomjelző + 7,62mm Leuchtspur + 7,62mm Trazadora + 7,62mm Traçantes + 7,62mm Smugacz + 7.62mm Svítící + 7,62mm Traçante + 7.62mm Traccianti + 7.62 мм трассирущие + + + Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51 mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62 x 51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7.62x51 мм трассирующие<br />Патронов: 20<br />Применимы в: Mk18 ABR + + + 7.62mm 20rnd Tracer IR-DIM Mag + 7,62 mm Nyomjelző IR-DIM 20-as Tár + 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM + Cargador de 20 balas IR-DIM de 7,62mm + Ch. 7,62mm 20Cps Traçantes IR-DIM + Magazynek 7,62mm 20rd Smugacz IR-DIM + 7.62mm 20ks Svítící IR-DIM Zásobník + Carregador de 20 projéteis IR-DIM de 7,62mm + Caricatore 7.62mm 20rnd Traccianti IR-DIM + Магазин из 20-ти 7.62 мм трассирующих под ПНВ + + + 7.62mm IR-DIM + 7,62 mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7,62mm IR-DIM + 7.62mm IR-DIM + 7,62mm IR-DIM + 7.62mm IR-DIM + 7.62 мм ИК-трассирующие + + + Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51 mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62 x 51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7.62x51 мм трассирующие под ПНВ<br />Патронов: 20<br />Применимы в: Mk18 ABR + + + 7.62mm 20Rnd SD Mag + 7,62 mm Halk 20-as Tár + 7,62 mm 20-Schuss-Magazin SD + Cargador de 20 balas SD de 7,62mm + Ch. 7,62mm 20Cps SD + Magazynek 7,62mm 20rd SD + 7.62mm 20ks SD Zásobník + Carregador de 20 projéteis SD de 7,62mm + Caricatore 7.62mm 20Rnd Sil. + Магазин из 20-ти 7.62 мм дозвуковых + + + 7.62mm SD + 7,62 mm Halk + 7,62mm SD + 7,62mm SD + 7,62mm SD + 7,62mm SD + 7.62mm SD + 7,62mm SD + 7.62mm Sil. + 7.62 мм дозвуковые + + + Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51 mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62 x 51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR + + + 7.62mm 20Rnd AP Mag + 7,62 mm Páncéltörő 20-as Tár + 7,62 mm 20-Schuss-Magazin AP + Cargador de 20 balas AP de 7,62mm + Ch. 7,62mm 20Cps AP + Magazynek 7,62mm 20rd AP + 7.62mm 20ks AP Zásobník + Carregador de 20 projéteis AP de 7,62mm + Caricatore 7.62mm 20Rnd AP + Магазин из 20-ти 7.62 мм бронебойных + + + 7.62mm AP + 7,62 mm Páncéltörő + 7,62mm AP + 7,62mm AP + 7,62mm AP + 7,62mm AP + 7.62mm AP + 7,62mm AP + 7.62mm AP + 7.62 мм бронебойные + + + Caliber: 7.62x51 mm AP<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51 mm Páncéltörő<br />Lövedékek: 20<br />Használható: Mk18 ABR + Kaliber: 7,62x51 mm AP<br />Patronen: 20<br />Eingesetzt von: EBR + Calibre: 7,62x51 mm AP<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51 mm AP<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62 x 51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51 mm AP<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51 mm AP<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR + Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR + + + Caliber: 7.62x51mm M118LR<br />Rounds: 20<br />Type: M14 + Kaliber: 7,62x51 mm M118LR<br />Lövedékek: 20<br />Típus: M14 + Kaliber: 7,62x51mm M118LR<br />Schuss: 20<br />Typ: M14 + Calibre: 7,62x51mm M118LR<br />Balas: 20<br />Tipo: M14 + Kaliber: 7,62 x 51 mm M118LR<br />Pociski: 20<br />Typ: M14 + Kalibr: 7.62x51mm M118LR<br />Náboje: 20<br />Typ: M14 + Calibre : 7,62x51mm M118LR<br />Cartouches: 20<br />Type: M14 + Calibre: 7,62x51mm M118LR<br />Projéteis: 20<br />Tipo: M14 + Калибр: 7.62x51mm M118LR<br />Патронов: 20<br />Тип: M14 + Calibro: 7.62x51mm M118LR<br />Munizioni:20<br />In uso su: M14 + + \ No newline at end of file diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index bc35651ba9..7756792ab3 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -1,147 +1,148 @@  + - - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - The Map Tools allow you to measure distances and angles on the map. - Las herramientas de mapa permiten medir distancias y ángulos en el mapa. - Les outils de navigation permettent de mesurer des distances et des angles sur la carte. - Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. - Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. - Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. - Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. - As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. - A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen. - Картографические инструменты позволяют измерять расстояния и углы на карте. - - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - Hide Map Tool - Verstecke Kartenwerkzeug - Ocultar herr. de mapa - Ranger les outils - Nascondi Strumenti Cartografici - Ocultar Ferramenta de Mapa - Térképészeti eszközök elrejtése - Ukryj narzędzia nawigacyjne - Schovat pomůcku k mapě - Скрыть инструменты - - - Show Normal Map Tool - Zeige Kartenwerkzeug (normal) - Mostrar herr. de mapa normal - Montrer outils normaux - Visualizza Strumenti Cartografici standard - Mostrar Ferramenta de Mapa Padrão - Térképészeti eszköz megjelenítése (normál méret) - Pokaż normalne narzędzia nawigacyjne - Zobrazit normální pomůcku k mapě - Показать инструменты (средн. размер) - - - Show Small Map Tool - Zeige Kartenwerkzeug (klein) - Mostrar herr. de mapa pequeñas - Montrer petits outils - Visualizza Strumenti Cartografici piccoli - Mostrar Ferramenta de Mapa Pequena - Térképészeti eszköz megjelenítése (kicsinyített) - Pokaż pomniejszone narzędzia nawigacyjne - Zobrazit malou pomůcku k mapě - Показать инструменты (малый размер) - - - Align Map Tool to North - Kartenwerkzeug nach Norden ausrichten - Alinear herr. de mapa al norte - Aligner au nord - Allinea gli Strumenti Cartografici con il Nord - Alinhar Ferramenta de Mapa com o Norte - Térképészeti eszköz Északhoz állítása - Wyrównaj linijkę do północy - Srovnat pomůcku k mapě na sever - Выровнять инструменты на север - - - Align Map Tool to Compass - Kartenwerkzeug am Kompass ausrichten - Alinear herr. de mapa a la brújula - Aligner sur la boussole - Allinea gli Strumenti Cartografici con la bussola - Alinhar Ferramenta de Mapa com a Bússola - Térképészeti eszköz iránytűhöz állítása - Wyrównaj linijkę do kompasu - Srovnat pomůcku k mapě ke kompasu - Выровнять инструменты по компасу - - - Show GPS on Map - Zeige GPS auf der Karte - Mostrar el GPS sobre el mapa - Ranger le GPS - Visualizza il GPS sulla mappa - Mostrar GPS no Mapa - GPS megjelnítése a térképen - Pokaż GPS na mapie - Zobrazit GPS na mapě - Показать GPS на карте - - - Hide GPS on Map - Verstecke GPS auf der Karte - Ocultar el GPS del mapa - Montrer le GPS - Nascondi il GPS sulla mappa - Ocultar GPS no Mapa - GPS elrejtése térképről - Ukryj GPS na mapie - Schovat GPS na mapě - Скрыть GPS на карте - - - Copy Map - Karte kopieren - Copiar mapa - Скопировать карту - Kopiuj oznaczenia mapy - Copier la carte - Zkopírovat mapu - Copiare Carta - Térkép másolása - Copiar Mapa - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Irány: %1 - Направление: %1° - - - + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + The Map Tools allow you to measure distances and angles on the map. + Las herramientas de mapa permiten medir distancias y ángulos en el mapa. + Les outils de navigation permettent de mesurer des distances et des angles sur la carte. + Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. + Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. + Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. + Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. + As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. + A térképészeti eszközökkel távolságokat és szögeket tudsz mérni a térképen. + Картографические инструменты позволяют измерять расстояния и углы на карте. + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + Hide Map Tool + Verstecke Kartenwerkzeug + Ocultar herr. de mapa + Ranger les outils + Nascondi Strumenti Cartografici + Ocultar Ferramenta de Mapa + Térképészeti eszközök elrejtése + Ukryj narzędzia nawigacyjne + Schovat pomůcku k mapě + Скрыть инструменты + + + Show Normal Map Tool + Zeige Kartenwerkzeug (normal) + Mostrar herr. de mapa normal + Montrer outils normaux + Visualizza Strumenti Cartografici standard + Mostrar Ferramenta de Mapa Padrão + Térképészeti eszköz megjelenítése (normál méret) + Pokaż normalne narzędzia nawigacyjne + Zobrazit normální pomůcku k mapě + Показать инструменты (средн. размер) + + + Show Small Map Tool + Zeige Kartenwerkzeug (klein) + Mostrar herr. de mapa pequeñas + Montrer petits outils + Visualizza Strumenti Cartografici piccoli + Mostrar Ferramenta de Mapa Pequena + Térképészeti eszköz megjelenítése (kicsinyített) + Pokaż pomniejszone narzędzia nawigacyjne + Zobrazit malou pomůcku k mapě + Показать инструменты (малый размер) + + + Align Map Tool to North + Kartenwerkzeug nach Norden ausrichten + Alinear herr. de mapa al norte + Aligner au nord + Allinea gli Strumenti Cartografici con il Nord + Alinhar Ferramenta de Mapa com o Norte + Térképészeti eszköz Északhoz állítása + Wyrównaj linijkę do północy + Srovnat pomůcku k mapě na sever + Выровнять инструменты на север + + + Align Map Tool to Compass + Kartenwerkzeug am Kompass ausrichten + Alinear herr. de mapa a la brújula + Aligner sur la boussole + Allinea gli Strumenti Cartografici con la bussola + Alinhar Ferramenta de Mapa com a Bússola + Térképészeti eszköz iránytűhöz állítása + Wyrównaj linijkę do kompasu + Srovnat pomůcku k mapě ke kompasu + Выровнять инструменты по компасу + + + Show GPS on Map + Zeige GPS auf der Karte + Mostrar el GPS sobre el mapa + Ranger le GPS + Visualizza il GPS sulla mappa + Mostrar GPS no Mapa + GPS megjelenítése a térképen + Pokaż GPS na mapie + Zobrazit GPS na mapě + Показать GPS на карте + + + Hide GPS on Map + Verstecke GPS auf der Karte + Ocultar el GPS del mapa + Montrer le GPS + Nascondi il GPS sulla mappa + Ocultar GPS no Mapa + GPS elrejtése a térképről + Ukryj GPS na mapie + Schovat GPS na mapě + Скрыть GPS на карте + + + Copy Map + Karte kopieren + Copiar mapa + Скопировать карту + Kopiuj oznaczenia mapy + Copier la carte + Zkopírovat mapu + Copiare Carta + Térkép másolása + Copiar Mapa + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Irány: %1 + Направление: %1° + + + \ No newline at end of file diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index 65da73a026..73a4aff9be 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -1,15 +1,16 @@  - + - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Направление: %1° - - + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Направление: %1° + Irány: %1° + + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 2bba27f26c..95910229dc 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,1032 +1,1159 @@  + - - - Inject Atropine - Atropin injizieren - Inyectar Atropina - Ввести атропин - Aplikovat atropin - - - Inject Epinephrine - Epinephrine injizieren - Inyectar Epinefrina - Wtrzyknij adrenalinę - Aplikovat adrenalin - Ввести андреналил - Adrénaline - Adrenalin - Injetar Epinefrina - Inietta Epinefrina - - - Inject Morphine - Morphin injizieren - Inyectar Morfina - Wstrzyknij morfinę - Aplikovat morfin - Ввести морфин - Morphine - Morfium - Injetar Morfina - Inietta Morfina - - - Transfuse Blood - Bluttransfusion - Transfundir sangre - Przetocz krew - Transfúze krve - Перелить кровь - Transfusion - Infúzió - Transfundir Sangue - Effettua Trasfusione - - - Transfuse Plasma - Plasmatransfusion - Transfundir plasma - Перелить плазму - Transfúze plazmy - - - Transfuse Saline - Salzlösungtransfusion - Transfundir salino - Влить физраствор - Transfúze fyziologický roztoku - - - Apply Tourniquet - Aderpresse anwenden - Aplicar torniquete - Наложить жгут - Aplikovat škrtidlo - - - Bandage - Verbinden - Venda - Bandaż - Obvázat - Pansement - Benda - Kötözés - Atadura - Перевязать - - - Bandage Head - Kopf verbinden - Vendar la cabeza - Bandażuj głowę - Obvázat hlavu - Перевязать голову - Pansement Tête - Fej kötözése - Atar Cabeça - Benda la testa - - - Bandage Torso - Torso verbinden - Vendar el torso - Bandażuj tors - Obvázat hruď - Перевязать торс - Pansement Torse - Felsőtest kötözése - Atar Tronco - Benda il torso - - - Bandage Left Arm - Arm links verbinden - Vendar el brazo izquierdo - Bandażuj lewe ramię - Obvázat levou ruku - Перевязать левую руку - Pansement Bras Gauche - Bal kar kötözése - Atar Braço Esquerdo - Benda il braccio sinistro - - - Bandage Right Arm - Arm rechts verbinden - Vendar el brazo derecho - Bandażuj prawe ramię - Obvázat pravou ruku - Перевязать правую руку - Pansement Bras Droit - Jobb kar kötözése - Atar Braço Direito - Benda il braccio destro - - - Bandage Left Leg - Bein links verbinden - Vendar la pierna izquierda - Bandażuj lewą nogę - Obvázat levou nohu - Перевязать левую ногу - Pansement Jambe Gauche - Bal láb kötözése - Atar Perna Esquerda - Benda la gamba sinistra - - - Bandage Right Leg - Bein rechts verbinden - Vendar la pierna derecha - Bandażuj prawą nogę - Obvázat pravou nohu - Перевязать правую ногу - Pansement Jambe Droite - Jobb láb kötözése - Atar Perna Direita - Benda la gamba destra - - - Injecting Morphine ... - Morphin injizieren ... - Inyectando Morfina ... - Wstrzykiwanie morfiny ... - Aplikuji morfin ... - Введение морфина... - Injection de Morphine... - Morfium beadása... - Injetando Morfina ... - Inietto la morfina ... - - - Injecting Epinephrine ... - Epinephrin injizieren ... - Inyectando Epinefrina ... - Wstrzykiwanie adrenaliny ... - Aplikuji adrenalin ... - Введение андреналина ... - Injection d'Adrénaline ... - Adrenalin beadása... - Injetando Epinefrina ... - Inietto l'epinefrina ... - - - Injecting Atropine ... - Atropin injizieren ... - Inyectando Atropina ... - Введение атропина ... - Aplikuji atropin ... - - - Transfusing Blood ... - Bluttransfusion ... - Transfusión de sangre ... - Przetaczanie krwi ... - Probíhá transfúze krve ... - Переливание крови... - Transfusion Sanguine ... - Infúzió... - Transfundindo Sangue ... - Effettuo la trasfusione ... - - - Transfusing Saline ... - Sallösungtransfusion ... - Transfusión de salino ... - Вливание физраствора ... - Probíha transfúze fyziologický roztoku ... - - - Transfusing Plasma ... - Plasmatransfusion ... - Transfusión de plasma ... - Переливание плзмы ... - Probíha transfúze plazmy ... - - - Bandaging ... - Verbinden ... - Vendando ... - Bandażowanie ... - Obvazuji ... - Pansement ... - Sto applicando la benda ... - Bekötözés... - Atando ... - Перевязывание ... - - - Applying Tourniquet ... - Setze Aderpresse an ... - Aplicando torniquete ... - Наложение жгута ... - Aplikuji škrtidlo - - - Medical - Zdravotní - Médical - Sanitäter - Medico - Medyczne - Médico - Медик - Médico - - - Field Dressing - Notverband - Compresa de campaña - Бинтовая повязка - Obinadlo - - - Packing Bandage - Verband - Vendaje compresivo - Компресионный пакет - - - Elastic Bandage - Elastische Binde - Vendaje elástico - Давящая повязка - Elastické obinadlo - - - QuikClot - QuikClot - QuikClot - QuickClot - - - Check Pulse - Puls überprüfen - Comprobar pulso - Проверить пульс - Zkontrolovat pulz - - - Check Blood Pressure - Blutdruck überprüfen - Comprobar presión arterial - Проверить кровяное давление - Zkontrolovat krevní tlak - - - Triage Card - Verletztenanhängekarte - Tarjeta de triaje - Медкарта - - - Tourniquet - Aderpresse - Torniquete - Жгут - Škrtidlo - - - Remove Tourniquet - Entferne Aderpresse - Quitar torniquete - Снять жгут - Sundat škrtidlo - - - Give Blood IV (1000ml) - Gebe Blut IV (1000ml) - Dar Sangre IV (1000ml) - Дать кровь для в/в вливания (1000 мл) - - - Give Blood IV (500ml) - Gebe Blut IV (500ml) - Dar Sangre IV (500ml) - Дать кровь для в/в вливания (500 мл) - - - Give Blood IV (250ml) - Gebe Blut IV (250ml) - Dar Sangre IV (250ml) - Дать кровь для в/в вливания (250 мл) - - - Give Plasma IV (1000ml) - Gebe Plasma IV (1000ml) - Dar Plasma IV (1000ml) - Дать плазму для в/в вливания (1000 мл) - - - Give Plasma IV (500ml) - Gebe Plasma IV (500ml) - Dar Plasma IV (500ml) - Дать плазму для в/в вливания (500 мл) - - - Give Plasma IV (250ml) - Gebe Plasma IV (250ml) - Dar Plasma IV (250ml) - Дать плазму для в/в вливания (250 мл) - - - Give Saline IV (1000ml) - Dar Salino IV (1000ml) - Дать физраствор для в/в вливания (1000 мл) - - - Give Saline IV (500ml) - Dar Salino IV (500ml) - Дать физраствор для в/в вливания (500 мл) - - - Give Saline IV (250ml) - Dar Salino IV (250ml) - Дать физраствор для в/в вливания (250 мл) - - - Minor - Gering - Menor - Незначительные травмы - - - Delayed - Retrasado - Груз 300 - - - Immediate - Inmediato - Помощь отложена - - - Deceased - Fallecido - Груз 200 - - - None - Ninguno - Нет - - - Normal breathing - Normales Atmen - Дыхание в норме - Respiración normal - Respiration Normale - Normalny oddech - - - No breathing - Atmet nicht - Дыхания нет - No respira - Apnée - Brak oddechu - - - Difficult breathing - Schweres Atmen - Дыхание затруднено - Dificultad para respirar - Difficultée Respiratoire - Trudności z oddychaniem - - - Almost no breathing - Atmet beinahe nicht - Дыхания почти нет - Casi sin respiración - Respiration Faible - Prawie brak oddechu - - - Bleeding - Blutet - Кровотечение - Sangrando - Seignement - Krwawienie zewnętrzne - - - In Pain - Unter Schmerzen - Испытывает боль - Con dolor - A De La Douleur - W bólu - - - Lost a lot of Blood - Hat eine große Menge Blut verloren - Большая кровопотеря - Mucha sangre perdida - A Perdu Bcp de Sang - Stracił dużo krwi - - - Tourniquet [CAT] - Aderpresse [CAT] - Жгут - Torniquete [CAT] - Garot [CAT] - Opaska uciskowa [CAT] - - - Receiving IV [%1ml] - Wiederbeleben IV [%1ml] - Reciviendo IV [%1ml] - Принимается переливание [%1 мл] - - - Bandage (Basic) - Verband (Basis) - Повязка (обычная) - Vendaje (Básico) - Bandage (Standard) - Bandaż (jałowy) - - - Used to cover a wound - Verwendet um die Wunde zu schützen - Для перевязки ран - Utilizado para cubrir una herida - Utilisé Pour Couvrir Une Blessure - Używany w celu przykrycia i ochrony miejsca zranienia - - - A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. - Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde. - Повязка, накладываемая поверх раны после остановки кровотечения. - Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. - C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. - Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. - - - Packing Bandage - Verband - Тампонирующая повязка - Vendaje compresivo - Bandage Mèche - Bandaż (uciskowy) - - - Used to pack medium to large wounds and stem the bleeding - Wird verwendet, um mittel bis große Wunden zu verbinden und die Blutung zu stoppen - Для тампонирования ран среднего и большого размера и остановки кровотечения. - Se utiliza para vendar heridas medianas o grandes y detener el sangrado - Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. - Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. - - - A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. - Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. - Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. - Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. - Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. - - - Bandage (Elastic) - Verband (Elastisch) - Повязка (давящая) - Vendaje (Elástico) - Bandage (Élastique) - Bandaż (elastyczny) - - - Bandage kit, Elastic - Verbandssatz, Elastisch - Давящая повязка - Kit de vendaje (Elástico) - Bandage Compressif Élastique - Zestaw bandaży elastycznych. - - - Allows an even compression and extra support to the injured area. - - - Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. - Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. - Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada - - - Tourniquet (CAT) - Aderpresse (CAT) - Жгут - Torniquete (CAT) - Garot (CAT) - Staza (typ. CAT) - - - Slows down blood loss when bleeding - Veringert den Blutverlust - Уменьшает кровопотерю при кровотечении. - Reduce la velocidad de pérdida de sangre - Ralentit le seignement - Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. - - - A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. - Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. - Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre - Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. - Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. - - - Morphine autoinjector - Morphin Autoinjector - Морфин в пневмошприце - Morfina auto-inyectable - Auto-injecteur de Morphine - Autostrzykawka z morfiną - - - Used to combat moderate to severe pain experiences - Wird verwendet um moderate bis starke Schmärzen zu lindern. - Для снятия средних и сильных болевых ощущений. - Usado para combatir los estados dolorosos de moderados a severos - Utiliser pour contrer les douleurs modéré à severes. - Morfina. Ma silne działanie przeciwbólowe. - - - An analgesic used to combat moderate to severe pain experiences. - Анальгетик для снятия средних и сильных болевых ощущений. - Analgésico usado para combatir los estados dolorosos de moderados a severos. - Un Analgésique puissant servant a contrer les douleur modéré a severe. - Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. - - - Atropin autoinjector - Атропин в пневмошприце - Atropina auto-inyectable - Auto-injecteur d'Atropine - Autostrzykawka AtroPen - - - Used in NBC scenarios - Применяется для защиты от ОМП - Usado en escenarios NBQ - Utiliser en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. - - - A drug used by the Military in NBC scenarios. - Препарат, используемый в войсках для защиты от оружия массового поражения. - Medicamento usado por militares en escenarios NBQ - Médicament utilisé par l'armée en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. - - - Epinephrine autoinjector - Адреналин в пневмошприце - Epinefrina auto-inyectable - Auto-injecteur d'épinéphrine - Autostrzykawka EpiPen - - - Increase heart rate and counter effects given by allergic reactions - Стимулирует работу сердца и купирует аллергические реакции. - Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas - Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique - Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne - - - A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. - Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. - Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. - Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. - EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. - - - Plasma IV (1000ml) - Плазма для в/в вливания (1000 мл) - Plasma IV (1000ml) - Plasma Sanguin IV (1000ml) - Osocze IV (1000ml) - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer les volume sanguin - Składnik krwi, używany do zwiększenia jej objętości. - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer le volume sanguin et remplace les plaquettes. - Składnik krwi, używany do zwiększenia jej objętości. - - - Plasma IV (500ml) - Плазма для в/в вливания (500 мл) - Plasma IV (500ml) - Plasma Sanguin IV (500ml) - Osocze IV (500ml) - - - Plasma IV (250ml) - Плазма для в/в вливания (250 мл) - Plasma IV (250ml) - Plasma Sanguin (250ml) - Osocze IV (250ml) - - - Blood IV (1000ml) - Кровь для переливания (1000 мл) - Sangre IV (1000ml) - Cullot Sanguin IV (1000ml) - Krew IV (1000ml) - - - Blood IV, for restoring a patients blood (keep cold) - Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) - Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) - Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) - Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych - - - O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. - Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. - Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. - Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. - Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos. - - - Blood IV (500ml) - Кровь для переливания (500 мл) - Sangre IV (500ml) - Cullot Sanguin IV (500ml) - Krew IV (500ml) - - - Blood IV (250ml) - Кровь для переливания (250 мл) - Sangre IV (250ml) - Cullot Sanguin IV (250ml) - Krew IV (250ml) - - - Saline IV (1000ml) - Физраствор для в/в вливания (1000 мл) - Solución Salina IV (1000ml) - solution Saline 0.9% IV (1000ml) - Solanka 0,9% IV (1000ml) - - - Saline IV, for restoring a patients blood - Пакет физраствора для возмещения объема потерянной крови - Solución salina intravenosa, para restaurar el volumen sanguíneo - Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel - Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta - - - A medical volume-replenishing agent introduced into the blood system through an IV infusion. - Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. - Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. - Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse - Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). - - - Saline IV (500ml) - Физраствор для в/в вливания (500 мл) - Salino IV (500ml) - Solution Saline 0.9% IV (500ml) - Solanka 0,9% IV (500ml) - - - Saline IV (250ml) - Физраствор для в/в вливания (250 мл) - Salino IV (250ml) - Solution Saline 0.9% IV (250ml) - Solanka 0,9% IV (250ml) - - - Basic Field Dressing (QuikClot) - Первичный перевязочный пакет (QuikClot) - Vendaje básico (QuickClot) - Bandage Regulier (Coagulant) - Opatrunek QuikClot - - - QuikClot bandage - Гемостатический пакет QuikClot - Vendaje QuikClot - Bandage coagulant - Podstawowy opatrunek stosowany na rany - - - Hemostatic bandage with coagulant that stops bleeding. - - Un bandage servant a coaguler les seignements mineur à moyen. - Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. - Vendaje hemostático con coagulante que detiene el sangrado. - - - Personal Aid Kit - Аптечка - Botiquín de primeros auxilios - Équipement de support Vitale - Apteczka osobista - - - Includes various treatment kit needed for stitching or advanced treatment - Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. - Incluye material médico para tratamientos avanzados - Inclue du matériel medical pour les traitement avancé, tel les point de suture. - Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego - - - - - - - - - Surgical Kit - Хирургический набор - Kit quirúrgico - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit quirúrgico para el tratamiento avanzado en el campo de batalla - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit quirúrgico para el tratamiento avanzado en el campo de batalla - - - Bodybag - Мешок для трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Una bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Una bolsa para cadáveres - - - Blood Pressure - Артериальное давление - Presión arterial - - - Checking Blood Pressure.. - Проверка артериального давления... - Comprobando presión arterial... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a blood pressure of %2/%3 - Артериальное давление %2/%3 - La presión arterial es %2/%3 - - - You find a low blood pressure - Давление низкое - La presión arterial es baja - - - You find a normal blood pressure - Давление нормальное - La presión arterial es normal - - - You find a high blood pressure - Давление высокое - La presión arterial es alta - - - You find no blood pressure - Давления нет - No hay presión arterial - - - You fail to find a blood pressure - Артериальное давление не определяется - No puedes encontrar presión arterial - - - Pulse - Пульс - Pulso - - - Checking Heart Rate.. - Проверка пульса... - Comprobando ritmo cardíaco... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a Heart Rate of %2 - Пульс %2 уд./мин. - El ritmo cardíaco es de %2 - - - You find a weak Heart Rate - Пульс слабый - El ritmo cardíaco es débil - - - You find a strong Heart Rate - Пульс учащенный - El ritmo cardíaco está acelerado - - - You find a normal Heart Rate - Пульс в норме - El ritmo cardíaco es bueno - - - You find no Heart Rate - Пульс не прощупывается - No tiene ritmo cardíaco - - - Response - Реакция - Respuesta - - - You check response of patient - Вы проверяете реакцию раненого - Compruebas si el paciente reacciona - - - %1 is responsive - %1 реагирует на раздражители - %1 ha reaccionado - - - %1 is not responsive - %1 не реагирует - %1 no reacciona - - - You checked %1 - Вы осмотрели раненого %1 - Examinas a %1 - - - Bandaged - Повязка наложена - Vendado - - - You bandage %1 (%2) - Вы перевязали раненого %1 (%2) - Aplicas vendaje a %1 en %2 - - - %1 is bandaging you - %1 перевязывает вас - %1 te está vendando - - - You start stitching injures from %1 (%2) - Вы зашиваете ранения от %1 (%2) - Estás suturando heridas de %1 en %2 - - - Stitching - Наложение швов - Suturando - - - You treat the airway of %1 - Вы интубируете раненого %1 - Estás intubando a %1 - - - Airway - Дыхательные пути - Vías aéreas - - - %1 is treating your airway - %1 проводит вам интубацию - %1 te está intubando - - - Drag - Ziehen - Arrastrar - Ciągnij - Táhnout - Тащить - Tracter - Húzás - Arrastar - Trascina - - - Carry - Tragen - Cargar - Nieś - Nést - Нести - Porter - Cipelés - Carregar - Trasporta - - - Release - Loslassen - Soltar - Połóż - Položit - Отпустить - Déposer - Elenged - Largar - Lascia - - - Load Patient Into - Patient Einladen - Cargar el paciente en - Załaduj pacjenta - Naložit pacianta do - Погрузить пациента в - Embarquer le Patient - Sebesült berakása - Carregar Paciente Em - Carica paziente nel - - - Unload Patient - Patient Ausladen - Descargar el paciente - Wyładuj pacjenta - Vyložit pacienta - Выгрузить пациента - Débarquer le Patient - Sebesült kihúzása - Descarregar Paciente - Scarica il paziente - - - Unload patient - Descargar el paciente - Выгрузить пациента - - - Load patient - Cargar el paciente en - Погрузить пациента - - - Place body in bodybag - Colocar cuerpo en bolsa para cadáveres - Поместить тело в мешок - - - Placing body in bodybag - Colocando cuerpo en bolsa para cadáveres - Помещение тела в мешок ... - - - %1 has bandaged patient - %1 has vendado al paciente - %1 перевязал пациента - - - %1 used %2 - %1 usó %2 - %1 применил %2 - - - %1 has given an IV - %1 has puesto una IV - %1 провел переливание - - - %1 applied a tourniquet - %1 aplicado torniquete - %1 наложил жгут - - - + + + Inject Atropine + Atropin injizieren + Inyectar Atropina + Ввести атропин + Aplikovat atropin + Atropin beadása + + + Inject Epinephrine + Epinephrine injizieren + Inyectar Epinefrina + Wtrzyknij adrenalinę + Aplikovat adrenalin + Ввести андреналил + Adrénaline + Epinefrin beadása + Injetar Epinefrina + Inietta Epinefrina + + + Inject Morphine + Morphin injizieren + Inyectar Morfina + Wstrzyknij morfinę + Aplikovat morfin + Ввести морфин + Morphine + Morfium beadása + Injetar Morfina + Inietta Morfina + + + Transfuse Blood + Bluttransfusion + Transfundir sangre + Przetocz krew + Transfúze krve + Перелить кровь + Transfusion + Infúzió (vér) + Transfundir Sangue + Effettua Trasfusione + + + Transfuse Plasma + Plasmatransfusion + Transfundir plasma + Перелить плазму + Transfúze plazmy + Infúzió (vérplazma) + + + Transfuse Saline + Salzlösungtransfusion + Transfundir salino + Влить физраствор + Transfúze fyziologický roztoku + Infúzió (sós víz) + + + Apply Tourniquet + Aderpresse anwenden + Aplicar torniquete + Наложить жгут + Aplikovat škrtidlo + Érszorító felhelyezése + + + Bandage + Verbinden + Venda + Bandaż + Obvázat + Pansement + Benda + Kötözés + Atadura + Перевязать + + + Bandage Head + Kopf verbinden + Vendar la cabeza + Bandażuj głowę + Obvázat hlavu + Перевязать голову + Pansement Tête + Fej kötözése + Atar Cabeça + Benda la testa + + + Bandage Torso + Torso verbinden + Vendar el torso + Bandażuj tors + Obvázat hruď + Перевязать торс + Pansement Torse + Testtörzs kötözése + Atar Tronco + Benda il torso + + + Bandage Left Arm + Arm links verbinden + Vendar el brazo izquierdo + Bandażuj lewe ramię + Obvázat levou ruku + Перевязать левую руку + Pansement Bras Gauche + Bal kar kötözése + Atar Braço Esquerdo + Benda il braccio sinistro + + + Bandage Right Arm + Arm rechts verbinden + Vendar el brazo derecho + Bandażuj prawe ramię + Obvázat pravou ruku + Перевязать правую руку + Pansement Bras Droit + Jobb kar kötözése + Atar Braço Direito + Benda il braccio destro + + + Bandage Left Leg + Bein links verbinden + Vendar la pierna izquierda + Bandażuj lewą nogę + Obvázat levou nohu + Перевязать левую ногу + Pansement Jambe Gauche + Bal láb kötözése + Atar Perna Esquerda + Benda la gamba sinistra + + + Bandage Right Leg + Bein rechts verbinden + Vendar la pierna derecha + Bandażuj prawą nogę + Obvázat pravou nohu + Перевязать правую ногу + Pansement Jambe Droite + Jobb láb kötözése + Atar Perna Direita + Benda la gamba destra + + + Injecting Morphine ... + Morphin injizieren ... + Inyectando Morfina ... + Wstrzykiwanie morfiny ... + Aplikuji morfin ... + Введение морфина... + Injection de Morphine... + Morfium beadása ... + Injetando Morfina ... + Inietto la morfina ... + + + Injecting Epinephrine ... + Epinephrin injizieren ... + Inyectando Epinefrina ... + Wstrzykiwanie adrenaliny ... + Aplikuji adrenalin ... + Введение андреналина ... + Injection d'Adrénaline ... + Epinefrin beadása ... + Injetando Epinefrina ... + Inietto l'epinefrina ... + + + Injecting Atropine ... + Atropin injizieren ... + Inyectando Atropina ... + Введение атропина ... + Aplikuji atropin ... + Atropin beadása ... + + + Transfusing Blood ... + Bluttransfusion ... + Transfusión de sangre ... + Przetaczanie krwi ... + Probíhá transfúze krve ... + Переливание крови... + Transfusion Sanguine ... + Infúzió vérrel ... + Transfundindo Sangue ... + Effettuo la trasfusione ... + + + Transfusing Saline ... + Sallösungtransfusion ... + Transfusión de salino ... + Вливание физраствора ... + Probíha transfúze fyziologický roztoku ... + Infúzió sós vizzel ... + + + Transfusing Plasma ... + Plasmatransfusion ... + Transfusión de plasma ... + Переливание плзмы ... + Probíha transfúze plazmy ... + Infúzió vérplazmával ... + + + Bandaging ... + Verbinden ... + Vendando ... + Bandażowanie ... + Obvazuji ... + Pansement ... + Sto applicando la benda ... + Bekötözés ... + Atando ... + Перевязывание ... + + + Applying Tourniquet ... + Setze Aderpresse an ... + Aplicando torniquete ... + Наложение жгута ... + Aplikuji škrtidlo + Érszorító felhelyezése ... + + + Medical + Zdravotní + Médical + Sanitäter + Medico + Medyczne + Médico + Медик + Médico + Orvosi + + + Field Dressing + Notverband + Compresa de campaña + Бинтовая повязка + Obinadlo + Zárókötszer + + + Packing Bandage + Verband + Vendaje compresivo + Компресионный пакет + Nyomókötszer + + + Elastic Bandage + Elastische Binde + Vendaje elástico + Давящая повязка + Elastické obinadlo + Rögzitő kötszer + + + QuikClot + QuikClot + QuikClot + QuickClot + QuikClot + + + Check Pulse + Puls überprüfen + Comprobar pulso + Проверить пульс + Zkontrolovat pulz + Pulzus ellenőrzése + + + Check Blood Pressure + Blutdruck überprüfen + Comprobar presión arterial + Проверить кровяное давление + Zkontrolovat krevní tlak + Vérnyomás megmérése + + + Triage Card + Verletztenanhängekarte + Tarjeta de triaje + Медкарта + Orvosi lap + + + Tourniquet + Aderpresse + Torniquete + Жгут + Škrtidlo + Érszorító + + + Remove Tourniquet + Entferne Aderpresse + Quitar torniquete + Снять жгут + Sundat škrtidlo + Érszorító leszedése + + + Give Blood IV (1000ml) + Gebe Blut IV (1000ml) + Dar Sangre IV (1000ml) + Дать кровь для в/в вливания (1000 мл) + Vér adása intravénásan (1000ml) + + + Give Blood IV (500ml) + Gebe Blut IV (500ml) + Dar Sangre IV (500ml) + Дать кровь для в/в вливания (500 мл) + Vér adása intravénásan (500ml) + + + Give Blood IV (250ml) + Gebe Blut IV (250ml) + Dar Sangre IV (250ml) + Дать кровь для в/в вливания (250 мл) + Vér adása intravénásan (250ml) + + + Give Plasma IV (1000ml) + Gebe Plasma IV (1000ml) + Dar Plasma IV (1000ml) + Дать плазму для в/в вливания (1000 мл) + Vérplazma adása intravénásan (1000ml) + + + Give Plasma IV (500ml) + Gebe Plasma IV (500ml) + Dar Plasma IV (500ml) + Дать плазму для в/в вливания (500 мл) + Vérplazma adása intravénásan (500ml) + + + Give Plasma IV (250ml) + Gebe Plasma IV (250ml) + Dar Plasma IV (250ml) + Дать плазму для в/в вливания (250 мл) + Vérplazma adása intravénásan (250ml) + + + Give Saline IV (1000ml) + Dar Salino IV (1000ml) + Дать физраствор для в/в вливания (1000 мл) + Sós víz adása intravénásan (1000ml) + + + Give Saline IV (500ml) + Dar Salino IV (500ml) + Дать физраствор для в/в вливания (500 мл) + Sós víz adása intravénásan (500ml) + + + Give Saline IV (250ml) + Dar Salino IV (250ml) + Дать физраствор для в/в вливания (250 мл) + Sós víz adása intravénásan (250ml) + + + Minor + Gering + Menor + Незначительные травмы + Enyhe + + + Delayed + Retrasado + Груз 300 + Késleltetett + + + Immediate + Inmediato + Помощь отложена + Azonnali + + + Deceased + Fallecido + Груз 200 + Elhalálozott + + + None + Ninguno + Нет + Semmi + + + Normal breathing + Normales Atmen + Дыхание в норме + Respiración normal + Respiration Normale + Normalny oddech + Normális légzés + + + No breathing + Atmet nicht + Дыхания нет + No respira + Apnée + Brak oddechu + Nincs légzés + + + Difficult breathing + Schweres Atmen + Дыхание затруднено + Dificultad para respirar + Difficultée Respiratoire + Trudności z oddychaniem + Nehéz légzés + + + Almost no breathing + Atmet beinahe nicht + Дыхания почти нет + Casi sin respiración + Respiration Faible + Prawie brak oddechu + Alig van légzés + + + Bleeding + Blutet + Кровотечение + Sangrando + Seignement + Krwawienie zewnętrzne + Vérzik + + + In Pain + Unter Schmerzen + Испытывает боль + Con dolor + A De La Douleur + W bólu + Fájdalom alatt + + + Lost a lot of Blood + Hat eine große Menge Blut verloren + Большая кровопотеря + Mucha sangre perdida + A Perdu Bcp de Sang + Stracił dużo krwi + Sok vért vesztett + + + Tourniquet [CAT] + Aderpresse [CAT] + Жгут + Torniquete [CAT] + Garot [CAT] + Opaska uciskowa [CAT] + Érszorító [CAT] + + + Receiving IV [%1ml] + Wiederbeleben IV [%1ml] + Reciviendo IV [%1ml] + Принимается переливание [%1 мл] + Infúzióra kötve [%1ml] + + + Bandage (Basic) + Verband (Basis) + Повязка (обычная) + Vendaje (Básico) + Bandage (Standard) + Bandaż (jałowy) + Kötszer (Általános) + + + Used to cover a wound + Verwendet um die Wunde zu schützen + Для перевязки ран + Utilizado para cubrir una herida + Utilisé Pour Couvrir Une Blessure + Używany w celu przykrycia i ochrony miejsca zranienia + Sebesülések befedésére alkalmas + + + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. + Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde. + Повязка, накладываемая поверх раны после остановки кровотечения. + Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. + C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. + Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. + Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. + + + Packing Bandage + Verband + Тампонирующая повязка + Vendaje compresivo + Bandage Mèche + Bandaż (uciskowy) + Nyomókötszer + + + Used to pack medium to large wounds and stem the bleeding + Wird verwendet, um mittel bis große Wunden zu verbinden und die Blutung zu stoppen + Для тампонирования ран среднего и большого размера и остановки кровотечения. + Se utiliza para vendar heridas medianas o grandes y detener el sangrado + Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. + Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. + Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer + + + A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. + Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. + Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. + Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. + Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. + Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén. + + + Bandage (Elastic) + Verband (Elastisch) + Повязка (давящая) + Vendaje (Elástico) + Bandage (Élastique) + Bandaż (elastyczny) + Rögzító kötszer + + + Bandage kit, Elastic + Verbandssatz, Elastisch + Давящая повязка + Kit de vendaje (Elástico) + Bandage Compressif Élastique + Zestaw bandaży elastycznych. + Rugalmas kötszercsomag, "rögzítő" + + + Allows an even compression and extra support to the injured area. + + + Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. + Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. + Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada + Egyenletes nyomást és támogatást biztosít a sebesült felületnek. + + + Tourniquet (CAT) + Aderpresse (CAT) + Жгут + Torniquete (CAT) + Garot (CAT) + Staza (typ. CAT) + Érszorító (CAT) + + + Slows down blood loss when bleeding + Veringert den Blutverlust + Уменьшает кровопотерю при кровотечении. + Reduce la velocidad de pérdida de sangre + Ralentit le seignement + Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. + Lelassítja a vérvesztést vérzés esetén + + + A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. + Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. + Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre + Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. + Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. + Egy szűkítőeszköz, mely a vénás és artériás nyomás keringés helyi összenyomására szolgál, ezzel lelassítva vagy megállítva az adott területen a vérkeringést. Ez csökkenti a vérvesztés mértékét. + + + Morphine autoinjector + Morphin Autoinjector + Морфин в пневмошприце + Morfina auto-inyectable + Auto-injecteur de Morphine + Autostrzykawka z morfiną + Morfium autoinjektor + + + Used to combat moderate to severe pain experiences + Wird verwendet um moderate bis starke Schmärzen zu lindern. + Для снятия средних и сильных болевых ощущений. + Usado para combatir los estados dolorosos de moderados a severos + Utiliser pour contrer les douleurs modéré à severes. + Morfina. Ma silne działanie przeciwbólowe. + Mérsékelttől erős fájdalomig, ellene alkalmazandó termék + + + An analgesic used to combat moderate to severe pain experiences. + Анальгетик для снятия средних и сильных болевых ощущений. + Analgésico usado para combatir los estados dolorosos de moderados a severos. + Un Analgésique puissant servant a contrer les douleur modéré a severe. + Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. + Egy fájdalomcsillapító anyag, jellemzően mérsékelt vagy erős fájdalom esetén alkalmazandó. + + + Atropin autoinjector + Атропин в пневмошприце + Atropina auto-inyectable + Auto-injecteur d'Atropine + Autostrzykawka AtroPen + Atropin autoinjektor + + + Used in NBC scenarios + Применяется для защиты от ОМП + Usado en escenarios NBQ + Utiliser en cas d'attaque CBRN + Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. + NBK helyzetek esetén használandó + + + A drug used by the Military in NBC scenarios. + Препарат, используемый в войсках для защиты от оружия массового поражения. + Medicamento usado por militares en escenarios NBQ + Médicament utilisé par l'armée en cas d'attaque CBRN + Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. + Egy instabil alkaloid, NBK helyzetek esetén a katonai szervezetek veszik használatba. + + + Epinephrine autoinjector + Адреналин в пневмошприце + Epinefrina auto-inyectable + Auto-injecteur d'épinéphrine + Autostrzykawka EpiPen + Epinefrin autoinjektor + + + Increase heart rate and counter effects given by allergic reactions + Стимулирует работу сердца и купирует аллергические реакции. + Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas + Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique + Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne + Növeli a szívverést és ellenzi az allergiás reakciók hatásait + + + A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. + Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. + Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. + Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. + EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. + Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxia). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. + + + Plasma IV (1000ml) + Плазма для в/в вливания (1000 мл) + Plasma IV (1000ml) + Plasma Sanguin IV (1000ml) + Osocze IV (1000ml) + Vérplazma-infúzió (1000ml) + + + A volume-expanding blood supplement. + Дополнительный препарат, применяемый при возмещении объема крови. + Suplemento para expandir el volumen sanguíneo. + Supplement visant a remplacer les volume sanguin + Składnik krwi, używany do zwiększenia jej objętości. + Egy térfogatnövelő vérkiegészítmény. + + + A volume-expanding blood supplement. + Дополнительный препарат, применяемый при возмещении объема крови. + Suplemento para expandir el volumen sanguíneo. + Supplement visant a remplacer le volume sanguin et remplace les plaquettes. + Składnik krwi, używany do zwiększenia jej objętości. + Egy térfogatnövelő vérkiegészítmény. + + + Plasma IV (500ml) + Плазма для в/в вливания (500 мл) + Plasma IV (500ml) + Plasma Sanguin IV (500ml) + Osocze IV (500ml) + Vérplazma-infúzió (500ml) + + + Plasma IV (250ml) + Плазма для в/в вливания (250 мл) + Plasma IV (250ml) + Plasma Sanguin (250ml) + Osocze IV (250ml) + Vérplazma-infúzió (250ml) + + + Blood IV (1000ml) + Кровь для переливания (1000 мл) + Sangre IV (1000ml) + Cullot Sanguin IV (1000ml) + Krew IV (1000ml) + Vér-infúzió (1000ml) + + + Blood IV, for restoring a patients blood (keep cold) + Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) + Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) + Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) + Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych + Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó) + + + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. + Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. + Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. + Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. + Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos. + Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. + + + Blood IV (500ml) + Кровь для переливания (500 мл) + Sangre IV (500ml) + Cullot Sanguin IV (500ml) + Krew IV (500ml) + Vér-infúzió (500ml) + + + Blood IV (250ml) + Кровь для переливания (250 мл) + Sangre IV (250ml) + Cullot Sanguin IV (250ml) + Krew IV (250ml) + Vér-infúzió (250ml) + + + Saline IV (1000ml) + Физраствор для в/в вливания (1000 мл) + Solución Salina IV (1000ml) + solution Saline 0.9% IV (1000ml) + Solanka 0,9% IV (1000ml) + 0,9%-os sósvíz-infúzió (1000ml) + + + Saline IV, for restoring a patients blood + Пакет физраствора для возмещения объема потерянной крови + Solución salina intravenosa, para restaurar el volumen sanguíneo + Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel + Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta + 0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására + + + A medical volume-replenishing agent introduced into the blood system through an IV infusion. + Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. + Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. + Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse + Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). + Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni. + + + Saline IV (500ml) + Физраствор для в/в вливания (500 мл) + Salino IV (500ml) + Solution Saline 0.9% IV (500ml) + Solanka 0,9% IV (500ml) + 0,9%-os sósvíz-infúzió (500ml) + + + Saline IV (250ml) + Физраствор для в/в вливания (250 мл) + Salino IV (250ml) + Solution Saline 0.9% IV (250ml) + Solanka 0,9% IV (250ml) + 0,9%-os sósvíz-infúzió (250ml) + + + Basic Field Dressing (QuikClot) + Первичный перевязочный пакет (QuikClot) + Vendaje básico (QuickClot) + Bandage Regulier (Coagulant) + Opatrunek QuikClot + Általános zárókötszer (QuikClot) + + + QuikClot bandage + Гемостатический пакет QuikClot + Vendaje QuikClot + Bandage coagulant + Podstawowy opatrunek stosowany na rany + QuikClot kötszer + + + Hemostatic bandage with coagulant that stops bleeding. + + Un bandage servant a coaguler les seignements mineur à moyen. + Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. + Vendaje hemostático con coagulante que detiene el sangrado. + Hemostatikus kötszer egy vérzésgátló anyaggal. + + + Personal Aid Kit + Аптечка + Botiquín de primeros auxilios + Équipement de support Vitale + Apteczka osobista + Elsősegélycsomag + + + Includes various treatment kit needed for stitching or advanced treatment + Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. + Incluye material médico para tratamientos avanzados + Inclue du matériel medical pour les traitement avancé, tel les point de suture. + Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego + Változatos segédfelszereléseket tartalmaz sebvarráshoz és haladó elsősegélynyújtáshoz + + + + + + + + + Surgical Kit + Хирургический набор + Kit quirúrgico + Sebészeti készlet + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit quirúrgico para el tratamiento avanzado en el campo de batalla + Sebészeti készlet komplex orvosi feladatok terepen való ellátására + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit quirúrgico para el tratamiento avanzado en el campo de batalla + Sebészeti készlet komplex orvosi feladatok terepen való ellátására + + + Bodybag + Мешок для трупов + Bolsa para cadáveres + Hullazsák + + + A bodybag for dead bodies + Мешок для упаковки трупов + Una bolsa para cadáveres + Egy hullazsák a holttestek számára + + + A bodybag for dead bodies + Мешок для упаковки трупов + Una bolsa para cadáveres + Egy hullazsák a holttestek számára + + + Blood Pressure + Артериальное давление + Presión arterial + Vérnyomás + + + Checking Blood Pressure.. + Проверка артериального давления... + Comprobando presión arterial... + Vérnyomás megmérése... + + + You checked %1 + Вы осмотрели раненого %1 + Examinando a %1 + A %1 ellenőrizve + + + You find a blood pressure of %2/%3 + Артериальное давление %2/%3 + La presión arterial es %2/%3 + A vérnyomás %2/%3 + + + You find a low blood pressure + Давление низкое + La presión arterial es baja + A vérnyomás alacsony + + + You find a normal blood pressure + Давление нормальное + La presión arterial es normal + A vérnyomás normális + + + You find a high blood pressure + Давление высокое + La presión arterial es alta + A vérnyomás magas + + + You find no blood pressure + Давления нет + No hay presión arterial + Nem észlelhető vérnyomás + + + You fail to find a blood pressure + Артериальное давление не определяется + No puedes encontrar presión arterial + Nem sikerült a vérnyomás megmérése + + + Pulse + Пульс + Pulso + Pulzus + + + Checking Heart Rate.. + Проверка пульса... + Comprobando ritmo cardíaco... + Szívverés-szám mérése... + + + You checked %1 + Вы осмотрели раненого %1 + Examinando a %1 + A %1 ellenőrizve + + + You find a Heart Rate of %2 + Пульс %2 уд./мин. + El ritmo cardíaco es de %2 + A szívverés-szám %2 + + + You find a weak Heart Rate + Пульс слабый + El ritmo cardíaco es débil + A szívverés-szám alacsony + + + You find a strong Heart Rate + Пульс учащенный + El ritmo cardíaco está acelerado + A szívverés-szám magas + + + You find a normal Heart Rate + Пульс в норме + El ritmo cardíaco es bueno + A szívverés-szám normális + + + You find no Heart Rate + Пульс не прощупывается + No tiene ritmo cardíaco + Nem észlelhető szívverés + + + Response + Реакция + Respuesta + Reagálóképesség + + + You check response of patient + Вы проверяете реакцию раненого + Compruebas si el paciente reacciona + Ellenőrzöd a páciens reagálóképességét + + + %1 is responsive + %1 реагирует на раздражители + %1 ha reaccionado + %1 reakcióképes + + + %1 is not responsive + %1 не реагирует + %1 no reacciona + %1 nem reagál + + + You checked %1 + Вы осмотрели раненого %1 + Examinas a %1 + Megnézted %1-t + + + Bandaged + Повязка наложена + Vendado + Bekötözve + + + You bandage %1 (%2) + Вы перевязали раненого %1 (%2) + Aplicas vendaje a %1 en %2 + Bekötözöd %1-t (%2) + + + %1 is bandaging you + %1 перевязывает вас + %1 te está vendando + %1 bekötöz téged + + + You start stitching injures from %1 (%2) + Вы зашиваете ранения от %1 (%2) + Estás suturando heridas de %1 en %2 + Elkezded összevarni %1 sérüléseit (%2) + + + Stitching + Наложение швов + Suturando + Összevarrás + + + You treat the airway of %1 + Вы интубируете раненого %1 + Estás intubando a %1 + Kezeled %1 légútját + + + Airway + Дыхательные пути + Vías aéreas + Légút + + + %1 is treating your airway + %1 проводит вам интубацию + %1 te está intubando + %1 kezeli a légútadat + + + Drag + Ziehen + Arrastrar + Ciągnij + Táhnout + Тащить + Tracter + Húzás + Arrastar + Trascina + + + Carry + Tragen + Cargar + Nieś + Nést + Нести + Porter + Cipelés + Carregar + Trasporta + + + Release + Loslassen + Soltar + Połóż + Položit + Отпустить + Déposer + Elengedés + Largar + Lascia + + + Load Patient Into + Patient Einladen + Cargar el paciente en + Załaduj pacjenta + Naložit pacianta do + Погрузить пациента в + Embarquer le Patient + Sebesült berakása + Carregar Paciente Em + Carica paziente nel + + + Unload Patient + Patient Ausladen + Descargar el paciente + Wyładuj pacjenta + Vyložit pacienta + Выгрузить пациента + Débarquer le Patient + Sebesült kihúzása + Descarregar Paciente + Scarica il paziente + + + Unload patient + Descargar el paciente + Выгрузить пациента + Sebesült kihúzása + + + Load patient + Cargar el paciente en + Погрузить пациента + Sebesült berakása + + + Place body in bodybag + Colocar cuerpo en bolsa para cadáveres + Поместить тело в мешок + Test hullazsákba helyezése + + + Placing body in bodybag + Colocando cuerpo en bolsa para cadáveres + Помещение тела в мешок ... + Test hullazsákba helyezése ... + + + %1 has bandaged patient + %1 has vendado al paciente + %1 перевязал пациента + %1 bekötözte a pácienst + + + %1 used %2 + %1 usó %2 + %1 применил %2 + %1 használta a %2-t + + + %1 has given an IV + %1 has puesto una IV + %1 провел переливание + %1 infúziót adott + + + %1 applied a tourniquet + %1 aplicado torniquete + %1 наложил жгут + %1 felhelyezett egy érszorítót + + + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 600570c24e..5acd21af6b 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,177 +1,203 @@  + - - - MicroDAGR GPS - MicroDAGR GPS - GPS MicroDAGR - MicroDAGR GPS - MicroDAGR GPS - - - MicroDAGR advanced GPS receiver - MicroDAGR - Fortgeschrittener GPS-Empfänger - Receptor avanzado GPS MicroDAGR - Многофункциональный GPS-приёмник. - - - Angular Unit: - Unidad angular: - Угловые единицы: - - - Mils - Mils - Mils - Тысячные - - - Show Waypoints On Map: - Zeige Wegpunkte auf Karte - Mostrar puntos de ruta en el mapa: - Показывать маршрутные точки на карте: - - - Degrees - Grad - Grados - Градусы - - - On - Zapnuto - Oui - Ein - - Wł. - Ativar - Вкл. - Encendido - - - Off - Vypnuto - Non - Aus - No - Wył. - Desativar - Выкл. - Apagado - - - Enter Grid Cords: - Introducir coordenadas de cuadrícula: - Введите координаты: - - - Name of [%1] - Name von [%1] - Nombre de [%1] - Название [%1] - - - MGRS-New - MGRS-NEU - Nuevo-MGRS - MGRS-Новая - - - WGD - WGD - WGD - WGD - - - Range: - Distancia - Reichweite: - Дистанция: - - - Compass Direction - Kompass Richtung - Dirección de la brújula - Азимут - - - Mark - Markiere - Marca - Отметка - - - Waypoints - Puntos de ruta - Wegpunkte - Машрутные точки - Waypointy - - - Connect To - Conectar a - Соединиться с - Verbinde zu - Připojit k - - - Settings - Einstellungen - Configuración - Настройки - Nastavení - - - SetWP - SetzeWP - Establecer PR - Установить МТ - Nastavit WP - - - Add - Hinzufügen - Añadir - Добавить - Přidat - - - Delete - Smazat - Supprimer - Löschen - Elimina - Usuń - Excluir - Удалить - Borrar - - - Toggle MicroDAGR Display Mode - Wechsle MircoDAGR Bildschirmmodus - Conmutar modo de pantalla del MicroDAGR - Сменить режим показа MicroDAGR - - - Show MicoDAGR - Zeige MicroDAGR - Mostrar MicroDAGR - Показать MicroDAGR - Ukázat MicroDAGR GPS - - - Configure MicroDAGR - Stelle MicroDAGR ein - Configurar MicroDAGR - Настроить MicroDAGR - Konfigurovat MicroDAGR GPS - - - Close MicroDAGR - Schließe MicroDAGR - Cerrar MicroDAGR - Закрыть MicroDAGR - Zavřít MicroDAGR GPS - - - + + + MicroDAGR GPS + MicroDAGR GPS + GPS MicroDAGR + MicroDAGR GPS + MicroDAGR GPS + MicroDAGR GPS + + + MicroDAGR advanced GPS receiver + MicroDAGR - Fortgeschrittener GPS-Empfänger + Receptor avanzado GPS MicroDAGR + Многофункциональный GPS-приёмник. + MicroDAGR fejlett GPS vevőegység + + + Angular Unit: + Unidad angular: + Угловые единицы: + Szögmértékegység: + + + Mils + Mils + Mils + Тысячные + Mil + + + Show Waypoints On Map: + Zeige Wegpunkte auf Karte + Mostrar puntos de ruta en el mapa: + Показывать маршрутные точки на карте: + Útvonalpontok mutatása a térképen: + + + Degrees + Grad + Grados + Градусы + Fok + + + On + Zapnuto + Oui + Ein + + Wł. + Ativar + Вкл. + Encendido + Be + + + Off + Vypnuto + Non + Aus + No + Wył. + Desativar + Выкл. + Apagado + Ki + + + Enter Grid Cords: + Introducir coordenadas de cuadrícula: + Введите координаты: + Add meg a rácskoordinátákat: + + + Name of [%1] + Name von [%1] + Nombre de [%1] + Название [%1] + [%1] neve + + + MGRS-New + MGRS-NEU + Nuevo-MGRS + MGRS-Новая + MGRS-új + + + WGD + WGD + WGD + WGD + WGD + + + Range: + Distancia + Reichweite: + Дистанция: + Távolság: + + + Compass Direction + Kompass Richtung + Dirección de la brújula + Азимут + Irányszög + + + Mark + Markiere + Marca + Отметка + Jelölés + + + Waypoints + Puntos de ruta + Wegpunkte + Машрутные точки + Waypointy + Útvonalpontok + + + Connect To + Conectar a + Соединиться с + Verbinde zu + Připojit k + Csatlakozás + + + Settings + Einstellungen + Configuración + Настройки + Nastavení + Beállítások + + + SetWP + SetzeWP + Establecer PR + Установить МТ + Nastavit WP + UP Beállítása + + + Add + Hinzufügen + Añadir + Добавить + Přidat + Hozzáadás + + + Delete + Smazat + Supprimer + Löschen + Elimina + Usuń + Excluir + Удалить + Borrar + Törlés + + + Toggle MicroDAGR Display Mode + Wechsle MircoDAGR Bildschirmmodus + Conmutar modo de pantalla del MicroDAGR + Сменить режим показа MicroDAGR + MicroDAGR kijelzési mód váltása + + + Show MicoDAGR + Zeige MicroDAGR + Mostrar MicroDAGR + Показать MicroDAGR + Ukázat MicroDAGR GPS + MicroDAGR mutatása + + + Configure MicroDAGR + Stelle MicroDAGR ein + Configurar MicroDAGR + Настроить MicroDAGR + Konfigurovat MicroDAGR GPS + MicroDAGR konfigurálása + + + Close MicroDAGR + Schließe MicroDAGR + Cerrar MicroDAGR + Закрыть MicroDAGR + Zavřít MicroDAGR GPS + MicroDAGR elrejtése + + + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index d64e3e31ab..b5ce61e538 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -11,7 +11,7 @@ Pokročilé řízení střel Avanzato Missile Guidance Avançado Missile Guidance - Részletes rakéta irányító + Fejlett rakétairányító Расширенный ракетой @@ -23,85 +23,13 @@ Povoluje pokročilou mechaniku řízení střel. - + Engedélyezi a haladó irányító mechanizmusokat, valamint különböző rakéták és tüzelési módok kiválasztását. /* Weapons */ - - Hydra-70 DAGR Missile - - - - - Hydra-70 DAGR - - - - - - - DAGR - - - - - DAGR - - - - - - - Hydra-70 DAGR Laser Guided Missile - - - - - Hydra-70 DAGR laserem naváděná střela - - - - - + Hydra-70 DAGR MissileHydra-70 DAGRHydra-70 DAGR rakétaDAGRDAGRDAGRHydra-70 DAGR Laser Guided MissileHydra-70 DAGR laserem naváděná střelaHydra-70 DAGR lézer-irányított rakéta /* Weapons */ - - Hellfire II AGM-114K Missile - - - - - Hellfire II AGM-114K - - - - - - - AGM-114K - - - - - AGM-114K - - - - - - - Hellfire II AGM-114K Laser Guided Missile - - - - - Hellfire II AGM-114K laserem naváděná střela - - - - - - - + Hellfire II AGM-114K MissileHellfire II AGM-114KHellfire II AGM-114K rakétaAGM-114KAGM-114KAGM-114KHellfire II AGM-114K Laser Guided MissileHellfire II AGM-114K laserem naváděná střelaHellfire II AGM-114K lézer-irányított rakéta \ No newline at end of file diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index b04347f975..a38094118c 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -1,46 +1,48 @@  - + - - - Show weight in lb - Zeige Gewicht in Pfund - Mostrar peso en libras - Afficher le poids en lb - Pokaż ciężar w funtach - Zobrazit váhu v librách - Mostra peso in libbre - Mostrar peso em libras - Súly megjelenítése fontban. - Показать вес в фунтах - - - Weight: - Gewicht: - Peso: - Poids: - Waga: - Váha: - Peso: - Peso: - Súly: - Вес: - - - Climb - Klettern - Wspinaczka - Trepar - Vylézt - Подняться - - - Can't climb here - Kann hier nicht klettern - Nie możesz wspiąć się tutaj - No se puede trepar aquí - Zde není možné vylézt - Не можете подняться здесь - - + + + Show weight in lb + Zeige Gewicht in Pfund + Mostrar peso en libras + Afficher le poids en lb + Pokaż ciężar w funtach + Zobrazit váhu v librách + Mostra peso in libbre + Mostrar peso em libras + Súly megjelenítése fontban. + Показать вес в фунтах + + + Weight: + Gewicht: + Peso: + Poids: + Waga: + Váha: + Peso: + Peso: + Súly: + Вес: + + + Climb + Klettern + Wspinaczka + Trepar + Vylézt + Подняться + Mászás + + + Can't climb here + Kann hier nicht klettern + Nie możesz wspiąć się tutaj + No se puede trepar aquí + Zde není možné vylézt + Не можете подняться здесь + Itt nem tudsz mászni + + \ No newline at end of file From 8bfd915ec465423eedbf881ffe09076d58843b04 Mon Sep 17 00:00:00 2001 From: Harakhti Date: Mon, 13 Apr 2015 23:45:44 +0200 Subject: [PATCH 033/247] Translation: N to R This was a lot more fun than the previous two were. 12 folders left... --- addons/nametags/stringtable.xml | 179 +- addons/nightvision/stringtable.xml | 256 +-- addons/optics/stringtable.xml | 247 +-- addons/optionsmenu/stringtable.xml | 322 +-- addons/overheating/stringtable.xml | 310 +-- addons/parachute/stringtable.xml | 86 +- addons/realisticnames/stringtable.xml | 2713 ++++++++++++------------ addons/reload/stringtable.xml | 123 +- addons/reloadlaunchers/stringtable.xml | 7 +- addons/respawn/stringtable.xml | 59 +- 10 files changed, 2199 insertions(+), 2103 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index c61158103f..e30ff4cde6 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,89 +1,94 @@  + - - - Show Names - Namen anzeigen - Mostrar nombres - Afficher noms - Zobrazit jména - Pokaż nazwy - Nevek mutatása - Показать имена - - - Show player names - Spielernamen anzeigen - Mostrar nombres de jugadores - Pokaż nazwy graczy - Afficher nom des joueurs - Játékosnevek mutatása - Zobrazit jména hráčů - Mostrar nomes de jogadores - Mostra i nomi dei giocatori - Показать имена игроков - - - Show player name only on cursor (requires player names) - Pokaż nazwę gracza tylko pod kursorem - Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) - Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) - Noms uniquement sous le curseur (si noms affichés) - Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) - Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) - Mostrar nome de jogador somente no cursor (requer nome de jogadores) - Játékosok nevének mutatása (névcímke szükséges) - Показать имена игроков только под курсором (требует имен игроков) - - - Show player name only on keypress (requires player names) - Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) - Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) - Noms uniquement sur pression de la touche (si noms affichés) - Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) - Pokaż nazwę gracza tylko po przytrzymaniu klawisza - Játékosnevek mutatása gombnyomásra(névcíme szükséges) - Показать имена игроков только по нажатию клавиши (требует имен игроков) - - - Show player ranks (requires player names) - Spielerränge anzeigen (benötig Spielernamen) - Pokaż rangi graczy (wymaga nazw graczy) - Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) - Grade des joueurs (si noms affichés) - Zobrazit hodnosti hráčů (vyžaduje jména hráčů) - Mostra i gradi (richiede i nomi dei giocatori abilitati) - Mostrar patente de jogadores (requer nome de jogadores) - Játékosok rendfokozatának mutatása (névcímke szükséges) - Показать звания игроков (требует имен игроков) - - - Show vehicle crew info - Zeige Fahrzeugbesatzung - Mostrar tripulantes - Pokaż informacje o załodze pojazdu - Zobrazit info o posádce vozidla - Показать экипаж - - - Show name tags for AI units - Zeige KI-Namen - Mostrar etiquetas de nombre para unidades IA - Показывать именые метки ИИ - Zobrazit jména AI - - - Show SoundWaves (requires player names) - Zeigen Schallwellen (benötigt Spielernamen) - Mostrar onda sonora (requiere Mostrar nombres de jugadores) - Показывать звуковые волны (требует имен игроков) - Zobrazit SoundWaves (vyžaduje jména hráčů) - - - Default Nametag Color (Non Group Members) - Voreingestellte Namenfarbe (Spieler außerhalb der Gruppe) - Цвет меток игроков (не членов групп) - Color de etiquetas de nombre por defecto (No miembros de grupo) - - - + + + Show Names + Namen anzeigen + Mostrar nombres + Afficher noms + Zobrazit jména + Pokaż nazwy + Nevek mutatása + Показать имена + + + Show player names + Spielernamen anzeigen + Mostrar nombres de jugadores + Pokaż nazwy graczy + Afficher nom des joueurs + Játékosnevek mutatása + Zobrazit jména hráčů + Mostrar nomes de jogadores + Mostra i nomi dei giocatori + Показать имена игроков + + + Show player name only on cursor (requires player names) + Pokaż nazwę gracza tylko pod kursorem + Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) + Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) + Noms uniquement sous le curseur (si noms affichés) + Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) + Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) + Mostrar nome de jogador somente no cursor (requer nome de jogadores) + Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) + Показать имена игроков только под курсором (требует имен игроков) + + + Show player name only on keypress (requires player names) + Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) + Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) + Noms uniquement sur pression de la touche (si noms affichés) + Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) + Pokaż nazwę gracza tylko po przytrzymaniu klawisza + Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) + Показать имена игроков только по нажатию клавиши (требует имен игроков) + + + Show player ranks (requires player names) + Spielerränge anzeigen (benötig Spielernamen) + Pokaż rangi graczy (wymaga nazw graczy) + Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) + Grade des joueurs (si noms affichés) + Zobrazit hodnosti hráčů (vyžaduje jména hráčů) + Mostra i gradi (richiede i nomi dei giocatori abilitati) + Mostrar patente de jogadores (requer nome de jogadores) + Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) + Показать звания игроков (требует имен игроков) + + + Show vehicle crew info + Zeige Fahrzeugbesatzung + Mostrar tripulantes + Pokaż informacje o załodze pojazdu + Zobrazit info o posádce vozidla + Показать экипаж + Jármű-legénység adatainak mutatása + + + Show name tags for AI units + Zeige KI-Namen + Mostrar etiquetas de nombre para unidades IA + Показывать именые метки ИИ + Zobrazit jména AI + Névcímkék mutatása MI-egységeknél + + + Show SoundWaves (requires player names) + Zeigen Schallwellen (benötigt Spielernamen) + Mostrar onda sonora (requiere Mostrar nombres de jugadores) + Показывать звуковые волны (требует имен игроков) + Zobrazit SoundWaves (vyžaduje jména hráčů) + "Hanghullámok" mutatása (a nevek mutatása szükséges) + + + Default Nametag Color (Non Group Members) + Voreingestellte Namenfarbe (Spieler außerhalb der Gruppe) + Цвет меток игроков (не членов групп) + Color de etiquetas de nombre por defecto (No miembros de grupo) + Alap névcímke-szín (csoporton kívüli személyek) + + + \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 2dad02e3bd..bdd70a348a 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,127 +1,135 @@  - + - - - NV Goggles (Gen1) - Noktovizor (Gen1) - JVN (Gen1) - NS-Brille (Gen1) - Occhiali notturni (Gen1) - Gogle noktowizyjne (Gen1) - Óculos de visão noturna (Gen1) - ПНВ (Gen1) - Sistema de visión nocturna (Gen1) - - - NV Goggles (Gen2) - Noktovizor (Gen2) - JVN (Gen2) - NS-Brille (Gen2) - Occhiali notturni (Gen2) - Gogle noktowizyjne (Gen2) - Óculos de visão noturna (Gen2) - ПНВ (Gen2) - Sistema de visión nocturna (Gen2) - - - NV Goggles (Gen3) - Noktovizor (Gen3) - JVN (Gen3) - NS-Brille (Gen3) - Occhiali notturni (Gen3) - Gogle noktowizyjne (Gen3) - Óculos de visão noturna (Gen3) - ПНВ (Gen3) - Sistema de visión nocturna (Gen3) - - - NV Goggles (Gen3, Brown) - Noktovizor (Gen3, hnědý) - JVN (Gen3, marron) - NS-Brille (Gen3, Braun) - Occhiali notturni (Gen3, marroni) - Gogle noktowizyjne (Gen3, brązowe) - Óculos de visão noturna (Gen3, marrons) - ПНВ (Gen3, коричневый) - Sistema de visión nocturna (Gen3, marrón) - - - NV Goggles (Gen3, Green) - Noktovizor (Gen3, zelený) - JVN (Gen3, vertes) - NS-Brille (Gen3, Grün) - Occhiali notturni (Gen3, verdi) - Gogle noktowizyjne (Gen3, zielone) - Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, зеленый) - Sistema de visión nocturna (Gen3, verde) - - - NV Goggles (Gen3, Black) - Noktovizor (Gen3, černý) - JVN (Gen3, noires) - NS-Brille (Gen3, Schwarz) - Occhiali notturni (Gen3, neri) - Gogle noktowizyjne (Gen3, czarne) - Óculos de visão noturna (Gen3, pretos) - ПНВ (Gen3, черный) - Sistema de visión nocturna (Gen3, negro) - - - NV Goggles (Gen4) - Noktovizor (Gen4) - JVN (Gen4) - NS-Brille (Gen4) - Occhiali notturni (Gen4) - Gogle noktowizyjne (Gen4) - Óculos de visão noturna (Gen4) - ПНВ (Gen4) - Sistema de visión nocturna (Gen4) - - - NV Goggles (Wide) - NS-Brille (Weitwinkel) - Sistema de visión nocturna (Panorámicas) - Gogle noktowizyjne (panoramiczne) - Noktovizor (Širokoúhlý) - ПНВ (Широкий) - - - Brightness: %1 - Helligkeit: %1 - Brillo: %1 - Czułość: %1 - Jas: %1 - Luminosité : %1 - Контраст: - Fényerő: %1 - Luminosidade: %1 - Luminosità: %1 - - - Increase NVG Brightness - Nachtsichtgerätshelligkeit erhöhen - Aumentar el brillo de las NVG - Zwiększ czułość noktowizji - Zvýšení jasu noktovizoru - Augmenter la luminosité des JVN - Увеличить яркость ПНВ - Fényerő növelése - Aumentar Luminosidade do EVN - Aumenta la luminosità dell'NVG - - - Decrease NVG Brightness - Nachtsichtgerätshelligkeit verringern - Disminuir el brillo de las NVG - Zmniejsz czułość noktowizji - Snížení jasu noktovizoru - Baisser la luminosité des JVN - Уменьшить яркость ПНВ - Fényerő csökkentése - Diminuir Luminosidade do EVN - Riduci la luminosità dell'NVG - - + + + NV Goggles (Gen1) + Noktovizor (Gen1) + JVN (Gen1) + NS-Brille (Gen1) + Occhiali notturni (Gen1) + Gogle noktowizyjne (Gen1) + Óculos de visão noturna (Gen1) + ПНВ (Gen1) + Sistema de visión nocturna (Gen1) + Éjjellátó szemüveg (1. Gen.) + + + NV Goggles (Gen2) + Noktovizor (Gen2) + JVN (Gen2) + NS-Brille (Gen2) + Occhiali notturni (Gen2) + Gogle noktowizyjne (Gen2) + Óculos de visão noturna (Gen2) + ПНВ (Gen2) + Sistema de visión nocturna (Gen2) + Éjjellátó szemüveg (2. Gen.) + + + NV Goggles (Gen3) + Noktovizor (Gen3) + JVN (Gen3) + NS-Brille (Gen3) + Occhiali notturni (Gen3) + Gogle noktowizyjne (Gen3) + Óculos de visão noturna (Gen3) + ПНВ (Gen3) + Sistema de visión nocturna (Gen3) + Éjjellátó szemüveg (3. Gen.) + + + NV Goggles (Gen3, Brown) + Noktovizor (Gen3, hnědý) + JVN (Gen3, marron) + NS-Brille (Gen3, Braun) + Occhiali notturni (Gen3, marroni) + Gogle noktowizyjne (Gen3, brązowe) + Óculos de visão noturna (Gen3, marrons) + ПНВ (Gen3, коричневый) + Sistema de visión nocturna (Gen3, marrón) + Éjjellátó szemüveg (3. Gen., barna) + + + NV Goggles (Gen3, Green) + Noktovizor (Gen3, zelený) + JVN (Gen3, vertes) + NS-Brille (Gen3, Grün) + Occhiali notturni (Gen3, verdi) + Gogle noktowizyjne (Gen3, zielone) + Óculos de visão noturna (Gen3, verdes) + ПНВ (Gen3, зеленый) + Sistema de visión nocturna (Gen3, verde) + Éjjellátó szemüveg (3. Gen., zöld) + + + NV Goggles (Gen3, Black) + Noktovizor (Gen3, černý) + JVN (Gen3, noires) + NS-Brille (Gen3, Schwarz) + Occhiali notturni (Gen3, neri) + Gogle noktowizyjne (Gen3, czarne) + Óculos de visão noturna (Gen3, pretos) + ПНВ (Gen3, черный) + Sistema de visión nocturna (Gen3, negro) + Éjjellátó szemüveg (3. Gen., fekete) + + + NV Goggles (Gen4) + Noktovizor (Gen4) + JVN (Gen4) + NS-Brille (Gen4) + Occhiali notturni (Gen4) + Gogle noktowizyjne (Gen4) + Óculos de visão noturna (Gen4) + ПНВ (Gen4) + Sistema de visión nocturna (Gen4) + Éjjellátó szemüveg (4. Gen.) + + + NV Goggles (Wide) + NS-Brille (Weitwinkel) + Sistema de visión nocturna (Panorámicas) + Gogle noktowizyjne (panoramiczne) + Noktovizor (Širokoúhlý) + ПНВ (Широкий) + Éjjellátó szemüveg (széles látószögű) + + + Brightness: %1 + Helligkeit: %1 + Brillo: %1 + Czułość: %1 + Jas: %1 + Luminosité : %1 + Контраст: + Fényerő: %1 + Luminosidade: %1 + Luminosità: %1 + + + Increase NVG Brightness + Nachtsichtgerätshelligkeit erhöhen + Aumentar el brillo de las NVG + Zwiększ czułość noktowizji + Zvýšení jasu noktovizoru + Augmenter la luminosité des JVN + Увеличить яркость ПНВ + Éjjellátó fényerejének növelése + Aumentar Luminosidade do EVN + Aumenta la luminosità dell'NVG + + + Decrease NVG Brightness + Nachtsichtgerätshelligkeit verringern + Disminuir el brillo de las NVG + Zmniejsz czułość noktowizji + Snížení jasu noktovizoru + Baisser la luminosité des JVN + Уменьшить яркость ПНВ + Éjjellátó fényerejének csökkentése + Diminuir Luminosidade do EVN + Riduci la luminosità dell'NVG + + \ No newline at end of file diff --git a/addons/optics/stringtable.xml b/addons/optics/stringtable.xml index 3e518a63d1..28530ecf1e 100644 --- a/addons/optics/stringtable.xml +++ b/addons/optics/stringtable.xml @@ -1,125 +1,126 @@  - + - - - RCO (2D) - RCO (2D) - RCO (2D) - RCO (2D) - RCO (2D) - RCO (2D) - RCO (2D) - RCO (2D) - RCO (2D) - - - - RCO (PIP) - RCO (PIP) - RCO (PIP) - RCO (BIB) - RCO (PIP) - RCO (PIP) - RCO (PIP) - RCO (PIP) - RCO (PIP) - - - - ARCO (2D) - ARCO (2D) - ARCO (2D) - ARCO (2D) - ARCO (2D) - ARCO (2D) - ARCO (2D) - ARCO (2D) - ARCO (2D) - - - - ARCO (PIP) - ARCO (PIP) - ARCO (PIP) - ARCO (BIB) - ARCO (PIP) - ARCO (PIP) - ARCO (PIP) - ARCO (PIP) - ARCO (PIP) - - - - MRCO (2D) - MRCO (2D) - MRCO (2D) - MRCO (2D) - MRCO (2D) - MRCO (2D) - MRCO (2D) - Прицел MRCO (2D) - MRCO (2D) - - - - MRCO (PIP) - MRCO (PIP) - MRCO (PIP) - MRCO (BIB) - MRCO (PIP) - MRCO (PIP) - MRCO (PIP) - Прицел MRCO (PIP) - MRCO (PIP) - - - - MOS (2D) - MOS (2D) - MOS (2D) - MOS (2D) - MOS (2D) - MOS (2D) - MOS (2D) - MOS (2D) - MOS (2D) - - - - MOS (PIP) - MOS (PIP) - MOS (PIP) - MOS (BIB) - MOS (PIP) - MOS (PIP) - MOS (PIP) - MOS (PIP) - MOS (PIP) - - - - LRPS (2D) - LRPS (2D) - LRPS (2D) - LRPS (2D) - LRPS (2D) - LRPS (2D) - LRPS (2D) - LRPS (2D) - MPLD (2D) - - - - LRPS (PIP) - LRPS (PIP) - LRPS (PIP) - LRPS (BIB) - LRPS (PIP) - LRPS (PIP) - LRPS (PIP) - LRPS (PIP) - MPLD (PIP) - - - + + + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + RCO (2D) + + + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (BIB) + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (PIP) + RCO (PIP) + + + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + ARCO (2D) + + + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (BIB) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + ARCO (PIP) + + + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + MRCO (2D) + Прицел MRCO (2D) + MRCO (2D) + MRCO (2D) + + + MRCO (PIP) + MRCO (PIP) + MRCO (PIP) + MRCO (BIB) + MRCO (PIP) + MRCO (PIP) + MRCO (PIP) + Прицел MRCO (PIP) + MRCO (PIP) + MRCO (PIP) + + + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + MOS (2D) + + + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (BIB) + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (PIP) + MOS (PIP) + + + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + LRPS (2D) + MPLD (2D) + LRPS (2D) + + + LRPS (PIP) + LRPS (PIP) + LRPS (PIP) + LRPS (BIB) + LRPS (PIP) + LRPS (PIP) + LRPS (PIP) + LRPS (PIP) + MPLD (PIP) + LRPS (PIP) + + + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 23fa52a52a..97defb0ba9 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,155 +1,171 @@  + - - - ACE Options - ACE Optionen - Opciones ACE - Opcje ACE - ACE Nastavení - ACE Options - ACE Настройки - Opções do ACE - ACE Opciók - Opzioni ACE - - - Fix Animation - Behebe Animation - Arreglar animación - Фикс анимации - Opravit animace - - - Reset All - Alles Zurücksetzen - Reiniciar todo - Полный сброс - Vyresetovat vše - - - Colors - Farben - Colores - Цвета - Barvy - - - Options - Optionen - Opciones - Opcje - Nastavení - Options - Настройки - Opções - Opciók - Opzioni - - - Values - Valores - Значения - Hodnoty - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Setting: - Nastavení: - Einstellung: - Установки: - Ajuste: - - - Export - Exportieren - Exportar - Экспорт - Exportovat - - - Open Export Menu - Öffne Exportmenü - Abrir menu d'exportación - Открыть меню экспорта - Otevřít exportovací menu - - - String input. - String input. - Introducir frase - Строчный ввод. - - - Array. Seperate elements by using ,. - Array. Teile unterschiedliche Elemente mit ,. - Matriz. Separa elementos usando ,. - Массив. Разделяйте элемены, используя запятую. - - - Number - Nummer - Numero - Число - Číslo - - - Uknown input type - Unbekannter Eingabetyp - Tipo de entrada desconocida - Неизвестный тип ввода - Neznámý vstup - - - Save input - Speichere Eingabe - Guardar entrada - Сохранить ввод - Uložit vstup - - - Include Client Settings - Beinhalte Client-Einstellungen - Incluir configuración de cliente - Включить настройки клиента - Zahrnout nastavení klienta - - - Exclude Client Settings - Schließe Client-Einstellungen aus - Excluir configuración de cliente - Исключить настройки клиента - Nezahrnout nastavení klienta - - - Settings exported to clipboard - Einstellungen in die Zwischenablage exportiert - Configuración exportada al portapapeles - Настройки экспортированы в буфер обмена - Nastevení exportována do schránky - - - + + + ACE Options + ACE Optionen + Opciones ACE + Opcje ACE + ACE Nastavení + ACE Options + ACE Настройки + Opções do ACE + ACE Beállítások + Opzioni ACE + + + Fix Animation + Behebe Animation + Arreglar animación + Фикс анимации + Opravit animace + Animációk kijavítása + + + Reset All + Alles Zurücksetzen + Reiniciar todo + Полный сброс + Vyresetovat vše + Minden visszaállítása + + + Colors + Farben + Colores + Цвета + Barvy + Színek + + + Options + Optionen + Opciones + Opcje + Nastavení + Options + Настройки + Opções + Beállítások + Opzioni + + + Values + Valores + Значения + Hodnoty + Értékek + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Setting: + Nastavení: + Einstellung: + Установки: + Ajuste: + Opció: + + + Export + Exportieren + Exportar + Экспорт + Exportovat + Exportálás + + + Open Export Menu + Öffne Exportmenü + Abrir menu d'exportación + Открыть меню экспорта + Otevřít exportovací menu + Exportálási menü megnyitása + + + String input. + String input. + Introducir frase + Строчный ввод. + String bevitel. + + + Array. Seperate elements by using ,. + Array. Teile unterschiedliche Elemente mit ,. + Matriz. Separa elementos usando ,. + Массив. Разделяйте элемены, используя запятую. + Array. Válasszad el az elemeket vesszővel. + + + Number + Nummer + Numero + Число + Číslo + Szám + + + Uknown input type + Unbekannter Eingabetyp + Tipo de entrada desconocida + Неизвестный тип ввода + Neznámý vstup + Ismeretlen beviteli típus + + + Save input + Speichere Eingabe + Guardar entrada + Сохранить ввод + Uložit vstup + Bevitel elmentése + + + Include Client Settings + Beinhalte Client-Einstellungen + Incluir configuración de cliente + Включить настройки клиента + Zahrnout nastavení klienta + Kliens-beállítások melléklése + + + Exclude Client Settings + Schließe Client-Einstellungen aus + Excluir configuración de cliente + Исключить настройки клиента + Nezahrnout nastavení klienta + Kliens-beállítások elhagyása + + + Settings exported to clipboard + Einstellungen in die Zwischenablage exportiert + Configuración exportada al portapapeles + Настройки экспортированы в буфер обмена + Nastevení exportována do schránky + Beállítások exportálva a vágólapba + + + \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 558abeb406..f57d27a7f1 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,155 +1,159 @@  + - - - Display text on jam - Zeige Text bei Ladehemmung - Mostrar texto al encasquillar - Показывать текст, когда клинит оружие - Zobrazit upozornění při zaseknutí - - - Display a notification whenever your weapon gets jammed - Zeige einen Hinweis wenn die Waffe eine Ladehemmung hat - Mostrar notificación cada vez que el arma se encasquille - Демонстровать уведомление, каждый раз, когда клинит Ваше оружие. - Zobrazí upozornění při zaseknutí zbraně - - - Spare barrel - Ersatzlauf - Cañón de repuesto - Zapasowa lufa - Náhradní hlaveň - Deuxième canon - Запасной ствол - Tartalék cső - Cano Reserva - Canna di ricambio - - - Use to swap barrel. - Benutzen, um Lauf zu wechseln. - Permite intercambiar el cañón - Umożliwia wymianę lufy - Používané k výměně hlavně - Utilisé pour changer de canon. - Используется для смены ствола. - Cső kicseréléséhez. - Use para trocar o cano/estriamento. - Usata per cambiare la canna. - - - Weapon jammed! - Ladehemmung! - Arma encasquillada! - Broń się zacięła! - Zbraň se zasekla! - Arme enrayée - Оружие заклинило! - Elakadt a fegyver! - Arma travada! - Arma inceppata! - - - Clear jam - Ladehemmung beheben - Desencasquillar el arma - Usuń zacięcie - Uvolnit zbraň - Désenrayer l'arme - Исправить клин оружия. - Hárítsd el az akadályt! - Destravar arma - Ripulisci l'arma - - - Jam cleared - Ladehemmung behoben - Arma desencasquillada - Zacięcie usunięte - Zbraň uvolněna - Arme désenrayée - Оружие исправлено - Akadály elhárítva! - Arma destravada - Arma pronta al fuoco - - - Swap barrel - Lauf wechseln - Cambiar el cañón - Wymień lufę - Vyměnit hlaveň - Changer de canon - Сменить ствол - Cserélj csövet! - Substituir cano - Sostiuisci la canna - - - Swapping barrel... - Lauf wird gewechselt... - Cambiando el cañón... - Wymienianie lufy... - Vyměňuji hlaveň ... - Changement du canon... - Смена ствола... - Cső cserélése... - Substituindo cano... - Sto sostituendo la canna ... - - - Swapped barrel - Lauf gewechselt - Cañón cambiado - Lufa wymieniona - Hlaveň vyměněna - Canon changé - Ствол сменен - Cső kicserélve! - Cano substituído - Canna sostituita - - - Check weapons temperature - Temperatur der Waffe prüfen - Verificar temperatura del arma - Sprawdź temperaturę broni - Vérifier la température de l'arme - Hőmérséklet ellenőrzése - Zjistit teplotu zbraně - Conferir temperatura da arma - Controlla la temperatura della canna - Проверить температуру оружия - - - Check weapon<br/>temperature - Verificar temperatura<br/>del arma - - - Checking temperature ... - Prüfe Temperatur ... - Verificando temperatura ... - Sprawdzanie temperatury ... - Vérification de la température ... - Hőmérséklet ellenőrzése... - Zjišťuju teplotu ... - Conferindo temperatura ... - Sto controllando la temperatura ... - Проверка температуры ... - - - Temperature - Temperatur - Temperatura - Temperatura - Température - Hőmérséklet - Teplota - Temperatura - Temperatura - Температура - - - + + + Display text on jam + Zeige Text bei Ladehemmung + Mostrar texto al encasquillar + Показывать текст, когда клинит оружие + Zobrazit upozornění při zaseknutí + Szöveges értesítés kijelzése a fegyver elakadásakor + + + Display a notification whenever your weapon gets jammed + Zeige einen Hinweis wenn die Waffe eine Ladehemmung hat + Mostrar notificación cada vez que el arma se encasquille + Демонстровать уведомление, каждый раз, когда клинит Ваше оружие. + Zobrazí upozornění při zaseknutí zbraně + Egy szöveges értesítés jelenik meg, amikor a fegyver megakad + + + Spare barrel + Ersatzlauf + Cañón de repuesto + Zapasowa lufa + Náhradní hlaveň + Deuxième canon + Запасной ствол + Tartalék cső + Cano Reserva + Canna di ricambio + + + Use to swap barrel. + Benutzen, um Lauf zu wechseln. + Permite intercambiar el cañón + Umożliwia wymianę lufy + Používané k výměně hlavně + Utilisé pour changer de canon. + Используется для смены ствола. + Használd a cső kicseréléséhez. + Use para trocar o cano/estriamento. + Usata per cambiare la canna. + + + Weapon jammed! + Ladehemmung! + Arma encasquillada! + Broń się zacięła! + Zbraň se zasekla! + Arme enrayée + Оружие заклинило! + Megakadt a fegyver! + Arma travada! + Arma inceppata! + + + Clear jam + Ladehemmung beheben + Desencasquillar el arma + Usuń zacięcie + Uvolnit zbraň + Désenrayer l'arme + Исправить клин оружия. + Akadás elhárítása + Destravar arma + Ripulisci l'arma + + + Jam cleared + Ladehemmung behoben + Arma desencasquillada + Zacięcie usunięte + Zbraň uvolněna + Arme désenrayée + Оружие исправлено + Akadás elhárítva + Arma destravada + Arma pronta al fuoco + + + Swap barrel + Lauf wechseln + Cambiar el cañón + Wymień lufę + Vyměnit hlaveň + Changer de canon + Сменить ствол + Cső cserélése + Substituir cano + Sostiuisci la canna + + + Swapping barrel... + Lauf wird gewechselt... + Cambiando el cañón... + Wymienianie lufy... + Vyměňuji hlaveň ... + Changement du canon... + Смена ствола... + Cső kicserélése folyamatban... + Substituindo cano... + Sto sostituendo la canna ... + + + Swapped barrel + Lauf gewechselt + Cañón cambiado + Lufa wymieniona + Hlaveň vyměněna + Canon changé + Ствол сменен + Cső kicserélve + Cano substituído + Canna sostituita + + + Check weapons temperature + Temperatur der Waffe prüfen + Verificar temperatura del arma + Sprawdź temperaturę broni + Vérifier la température de l'arme + Fegyver hőmérsékletének ellenőrzése + Zjistit teplotu zbraně + Conferir temperatura da arma + Controlla la temperatura della canna + Проверить температуру оружия + + + Check weapon<br/>temperature + Verificar temperatura<br/>del arma + Fegyverhő<br/>ellenőrzése + + + Checking temperature ... + Prüfe Temperatur ... + Verificando temperatura ... + Sprawdzanie temperatury ... + Vérification de la température ... + Hőmérséklet ellenőrzése ... + Zjišťuju teplotu ... + Conferindo temperatura ... + Sto controllando la temperatura ... + Проверка температуры ... + + + Temperature + Temperatur + Temperatura + Temperatura + Température + Hőmérséklet + Teplota + Temperatura + Temperatura + Температура + + + \ No newline at end of file diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index f97b389eeb..52ccaefe77 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -1,46 +1,46 @@  - + - - - Altimeter - Altimètre - Höhenmesser - Výškoměr - Wysokościomierz - Altímetro - Magasságmérő - Высотомер - - - Altimeter Watch - Montre altimètre - Höhenmesser - Hodinky s výškoměrem - Zegarek z wysokościomierzem - Reloj altímetro - Magasságmérő - Часы с высотомером - - - Used to show height, descent rate and the time. - Affiche la hauteur, le taux de descente et l'heure. - Zeigt Höhe, Fallgeschwindigkeit und Uhrzeit. - Používané k zjištění výšky, rychlosti sestupu a času. - Używany przez spadochroniarzy, pokazuje wysokość, prędkość opadania oraz czas. - Utilizado para mostrar altura, tasa de descenso y hora. - Mutatja a magasságot, zuhanás sebességét és az időt. - Используется для определения высоты, скорости снижения и времени. - - - Non-Steerable Parachute - Ungelenkter Fallschirm - Paracaídas no dirigible - Parachute non manœuvrable - Niesterowalny spadochron - Neříditelný padák - Irányithatatlan ejtőernyő - Неуправляемый парашют - - + + + Altimeter + Altimètre + Höhenmesser + Výškoměr + Wysokościomierz + Altímetro + Magasságmérő + Высотомер + + + Altimeter Watch + Montre altimètre + Höhenmesser + Hodinky s výškoměrem + Zegarek z wysokościomierzem + Reloj altímetro + Magasságmérős karóra + Часы с высотомером + + + Used to show height, descent rate and the time. + Affiche la hauteur, le taux de descente et l'heure. + Zeigt Höhe, Fallgeschwindigkeit und Uhrzeit. + Používané k zjištění výšky, rychlosti sestupu a času. + Używany przez spadochroniarzy, pokazuje wysokość, prędkość opadania oraz czas. + Utilizado para mostrar altura, tasa de descenso y hora. + Mutatja a magasságot, a zuhanási sebességet, és az időt. + Используется для определения высоты, скорости снижения и времени. + + + Non-Steerable Parachute + Ungelenkter Fallschirm + Paracaídas no dirigible + Parachute non manœuvrable + Niesterowalny spadochron + Neříditelný padák + Irányíthatatlan ejtőernyő + Неуправляемый парашют + + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index ee0b2bec00..376353a6d7 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,1335 +1,1382 @@  + - - - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312 - XM312A - - - XM312A - XM312A - XM312 - XM312A - XM312A - XM312A - XM312A - XM312A - XM312A - XM312A - - - XM312 (High) - XM312 (Hoch) - XM312 (Alto) - XM312 (Haut) - XM312 (Vysoký) - XM312 (Wysoki) - XM312 (Высокий) - XM312 (Alta) - XM312 (Magasított) - XM312 (Alta) - - - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - XM307 - - - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - XM307A - - - XM307 (High) - XM307 (Hoch) - XM307 (Alto) - XM307 (Haut) - XM307 (Vysoký) - XM307 (Wysoki) - XM307 (Высокий) - XM307 (Alta) - XM307 (Magasított) - XM307 (Alta) - - - Mini-Spike Launcher (AT) - Mini-Spike Lenkflugkörper (AT) - Lanzador Mini-Spike (AT) - Poste de tir Mini-Spike (AC) - Mini-Spike Odpalovač (AT) - Wyrzutnia Mini-Spike (AT) - Mini-Spike Пусковое устройство (ПТРК) - Lança-mísseis Mini-Spike (AC) - Mini-Spike rakétarendszer (páncéltörő) - Lanciatore Mini-Spike (AC) - - - Mini-Spike Launcher (AA) - Mini-Spike Lenkflugkörper (AA) - Lanzador Mini-Spike (AA) - Poste de tir Mini-Spike (AA) - Mini-Spike Odpalovač (AA) - Wyrzutnia Mini-Spike (AA) - Mini-Spike Пусковое устройство (ВВ) - Lança-mísseis Mini-Spike (AA) - Mini-Spike rakétarendszer (légvédelmi) - Lanciatore Mini-Spike (AA) - - - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - YABHON-R3 - - - YABHON-R3 (CAS) - YABHON-R3 (Luftnahunterstützung) - YABHON-R3 (CAS) - YABHON-R3 (CAS) - YABHON-R3 (CAS) - YABHON-R3 (штурмовик) - - - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - M-ATV - - - M-ATV (HMG) - M-ATV (SMG) - M-ATV (HMG) - M-ATV (CKM) - M-ATV (TK) - M-ATV (HMG) - M-ATV (Пулемет) - M-ATV (HMG) - M-ATV (HMG) - M-ATV (HMG) - - - M-ATV (GMG) - M-ATV (GMW) - M-ATV (GMG) - M-ATV (GMG) - M-ATV (Granátomet) - M-ATV (GMG) - M-ATV (Гранатомет) - M-ATV (GMG) - M-ATV (GMG) - M-ATV (GMG) - - - Merkava Mk IV M - Merkava Mk IV M - Merkava Mk IV M - Merkawa Mk IV M - Merkava Mk IV M - Merkava Mk IV M - Меркава Mk IV M - Merkava Mk IV M - Merkava Mk IV M - Merkava Mk IV M - - - Merkava Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - Merkawa Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - Меркава Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - Merkava Mk IV LIC - - - Sholef - Sholef - Sholef - Sholef - Sholef - Sholef - Шолеф - Sholef - Sholef - Sholef - - - Seara - Seara - Seara - Seara - Seara - Seara - Seara - Seara - Seara - Seara - - - Namer - Namer - Namer - Namer - Namer - Namer - Намер - Namer - Namer - Namer - - - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - Bardelas - - - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - Patria AMV - - - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - Nemmera - - - HEMTT Transport - HEMTT Transport - HEMTT de transporte - HEMTT Transportowy - HEMTT Valník - HEMTT Transport - HEMTT Транспортный - HEMTT Transporte - HEMTT szállítójármű - HEMTT da trasporto - - - HEMTT Transport (covered) - HEMTT Transport (bedeckt) - HEMTT de transporte (cubierto) - HEMTT Transportowy (zakryty) - HEMTT Valník (krytý) - HEMTT Transport (bâché) - HEMTT Транспортный (крытый) - HEMTT Transporte (coberto) - HEMTT szállítójármű (ponyvás) - HEMTT da trasporto (coperto) - - - HEMTT - HEMTT - HEMTT - HEMTT - HEMTT - HEMTT Tracteur - HEMTT - HEMTT - HEMTT - HEMTT - - - HEMTT Container - HEMTT Container - HEMTT de contenedor - HEMTT Kontener - HEMTT Skříňový - HEMTT Conteneur - HEMTT Контейнер - HEMTT Contêiner - HEMTT Konténer - HEMTT portacontainer - - - HEMTT Medical - HEMTT Sanitäter - HEMTT médico - HEMTT Medyczny - HEMTT Zdravotnický - HEMTT Sanitaire - HEMTT Медицинский - HEMTT Médico - HEMTT (egészségügyi) - HEMTT Medico - - - HEMTT Ammo - HEMTT Munition - HEMTT de munición - HEMTT Amunicyjny - HEMTT Muniční - HEMTT Munitions - HEMTT Боеприпасы - HEMTT Munições - HEMTT (lőszerszállító) - HEMTT di rifornimento munizioni - - - HEMTT Fuel - HEMTT Treibstoff - HEMTT de combustible - HEMTT Cysterna - HEMTT Cisterna - HEMTT Citerne - HEMTT Заправщик - HEMTT Combustível - HEMTT (üzemanyag-szállító) - HEMTT di rifornimento carburante - - - HEMTT Repair - HEMTT Instandsetzung - HEMTT de reparación - HEMTT Naprawczy - HEMTT Opravárenský - HEMTT Réparation - HEMTT Ремонтный - HEMTT Reparador - HEMTT (szerelő-jármű) - HEMTT Riparatore - - - Fennek - Fennek - Fennek - Fennek - Fennek - Fennek - Феннек - Fennek - Fennek - Fennek - - - Fennek (HMG) - Fennek (SMG) - Fennek (HMG) - Fennek (CKM) - Fennek (TK) - Fennek (HMG) - Феннек (Пулемет) - Fennek (HMG) - Fennek (HMG) - Fennek (HMG) - - - Fennek (GMG) - Fennek (GMW) - Fennek (GMG) - Fennek (GMG) - Fennek (granátomet) - Fennek (GMG) - Феннек (Гранатомет) - Fennek (GMG) - Fennek (GMG) - Fennek (GMG) - - - Leopard 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - Леопард 2SG - Leopard 2SG - Leopard 2SG - Leopard 2SG - - - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Warrior - FV510 Уорриор - FV510 Warrior - FV510 Warrior - FV510 Warrior - - - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - Pandur II - - - KamAZ Transport - KamAZ Transport - KamAZ de transporte - KamAZ transportowy - KAMAZ Valník - KamAZ Transport - КамАЗ Траспортный - KamAZ Transporte - KamAZ szállítójármű - KamAZ da trasporto - - - KamAZ Transport (covered) - KamAZ Transport (bedeckt) - KamAZ de transporte (cubierto) - KamAZ Transportowy (zakryty) - KAMAZ Valník (krytý) - KamAZ Transport (bâché) - КамАЗ Траспортный (Крытый) - KamAZ Transporte (coberto) - KamAZ szállítójármű (ponyvás) - KamAZ da trasporto (coperto) - - - KamAZ Ammo - KamAZ Munition - KamAZ de munición - KamAZ Amunicyjny - KAMAZ Muniční - KamAZ Munitions - КамАЗ Боеприпасы - KamAZ Munições - KamAZ (lőszerszállító) - KamAZ di rifornimento munizioni - - - KamAZ Fuel - KamAZ Treibstoff - KamAZ de combustible - KamAZ cysterna - KAMAZ Cisterna - KamAZ Citerne - КамАЗ Заправщик - KamAZ Combustível - KamAZ (üzemanyag-szállító) - KamAZ di rifornimento carburante - - - KamAZ Repair - KamAZ Instandsetzung - KamAZ de reparación - KamAZ Naprawczy - KAMAZ Opravárenský - KamAZ Réparation - КамАЗ Ремонтный - KamAZ Reparador - KamAZ (szerelő-jármű) - KamAZ riparatore - - - KamAZ Medical - KamAZ Sanitäter - KamAZ médico - KamAZ Medyczny - KAMAZ Zdravotnický - KamAZ Sanitaire - КамАЗ Медицинский - KamAZ Médico - KamAZ (egészségügyi) - KamAZ Medico - - - Punisher - Punisher - Punisher - Punisher - Punisher - Punisher - Kаратель - Punisher - Punisher - Punisher - - - Punisher (HMG) - Punisher (SMG) - Punisher (HMG) - Punisher (CKM) - Punisher (TK) - Punisher (HMG) - Kаратель (Пулемет) - Punisher (HMG) - Punisher (HMG) - Punisher (HMG) - - - Punisher (GMG) - Punisher (GMW) - Punisher (GMG) - Punisher (CKM) - Punisher (granátomet) - Punisher (GMG) - Kаратель (Гранатомет) - Punisher (GMG) - Punisher (GMG) - Punisher (GMG) - - - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - T100 Черный Орел - T100 Black Eagle - T100 Black Eagle - T100 Black Eagle - - - 2S9 Sochor - 2S9 Sochor - 2S9 Sochor - 259 Sochor - 2S9 Sochor - 2S9 Sochor - 2S9 Сокор - 2S9 Sochor - 2S9 Sochor - 2S9 Sochor - - - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - БМ-2Т Сталкер - BM-2T Stalker - BM-2T Stalker - BM-2T Stalker - - - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ЗСУ-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - ZSU-35 Tigris - - - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - Otokar ARMA - - - Typhoon Transport - Typhoon Transport - Typhoon de transporte - Typhoon Transportowy - Typhoon valník - Typhoon Transport - Тайфун Транспортный - Typhoon Transporte - Typhoon szállítójármű - Typhoon da trasporto - - - Typhoon Transport (covered) - Typhoon Transport (bedeckt) - Typhoon de transporte (cubierto) - Typhoon Transportowy (przykryty) - Typhoon valník (krytý) - Typhoon Transport (bâché) - Тайфун Транспортный (kрытый) - Typhoon Transporte (coberto) - Typhoon szállítójármű (ponyvás) - Typhoon da trasporto (coperto) - - - Typhoon Device - Typhoon Gerät - Typhoon de dispositivo - Typhoon Urządzenie - Typhoon zařízení - Typhoon Dispositif - Тайфун Устройство - Typhoon Dispositivo - Typhoon (szerkezet) - Typhoon per dispositivo - - - Typhoon Ammo - Typhoon Munition - Typhoon de munición - Typhoon Amunicyjny - Typhoon muniční - Typhoon Munitions - Тайфун Боеприпасы - Typhoon Munições - Typhoon (lőszerszállító) - Typhoon di rifornimento munizioni - - - Typhoon Fuel - Typhoon Treibstoff - Typhoon de combustible - Typhoon Cysterna - Typhoon cisterna - Typhoon Citerne - Тайфун Заправщик - Typhoon Combustível - Typhoon (üzemanyag-szállító) - Typhoon di rifornimento carburante - - - Typhoon Repair - Typhoon Instandsetzung - Typhoon de reparación - Typhoon Naprawczy - Typhoon opravárenský - Typhoon Réparation - Тайфун Ремонтный - Typhoon Reparador - Typhoon (szerelő-jármű) - Typhoon riparatore - - - Typhoon Medical - Typhoon Sanitäter - Typhoon médico - Typhoon Medyczny - Typhoon zdravotnický - Typhoon Sanitaire - Тайфун Медицинский - Typhoon Médico - Typhoon (egészségügyi) - Typhoon medico - - - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Commanche - RAH-66 Команч - RAH-66 Comanche - RAH-66 Comanche - RAH-66 Comanche - - - MH-6 Little Bird - MH-6 Little Bird - MH-6 Litte Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - MH-6 Little Bird - - - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - AH-6 Little Bird - - - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - CH-47I Chinook - - - CH-47I Chinook (unarmed) - CH-47I Chinook (unbewaffnet) - CH-47I Chinnok (Desarmado) - CH-47I Chinook (nieuzbrojony) - CH-47I Chinook (невооруженный) - CH-47I Chinook (neozbrojený) - - - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Тандерболт II - A-10D Thunderbolt II - A-10D Thunderbolt II - A-10D Thunderbolt II - - - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - AW159 Wildcat - - - AW159 Wildcat (unarmed) - AW159 Wildcat (unbewaffnet) - AW159 Wildcat (desarmado) - AW159 Wildcat (nieuzbrojony) - AW159 Wildcat (neozbrojený) - AW159 Wildcat (non-armé) - AW159 Wildcat (невооруженный) - AW159 Wildcat (desarmado) - AW159 Wildcat (fegyvertelen) - AW159 Wildcat (disarmato) - - - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Merlin - AW101 Мерлин - AW101 Merlin - AW101 Merlin - AW101 Merlin - - - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 Альбатрос (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - L-159 ALCA (CAS) - - - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 ALCA (AA) - L-159 Альбатрос (AA) - L-159 ALCA (ВВ) - L-159 ALCA (AA) - L-159 ALCA (AA) - - - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Касатка - Ka-60 Kasatka - Ka-60 Kasatka - Ka-60 Kasatka - - - Ka-60 Kasatka (unarmed) - Ka-60 Kasatka (unbewaffnet) - Ka-60 Kasatka (desarmado) - Ka-60 Kasatka (nieuzbrojony) - Ka-60 Kasatka (neozbrojená) - Ka-60 Kasatka (non-armé) - Ka-60 Касатка (невооруженный) - Ka-60 Kasatka (desarmado) - Ka-60 Kasatka (fegyvertelen) - Ka-60 Kasatka (disarmato) - - - Yak-130 - Yak-130 - Yak-130 - Jak-130 - Jak-130 - Yak-130 - Як-130 - Yak-130 - Jak-130 - Yak-130 - - - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - MD 500 - - - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - M4A1 SLAM - - - M18A1 Claymore - M18A1 Claymore - M18A1 Claymore - Mina kierunkowa M18A1 Claymore - Mina Claymore M18A1 - M18A1 Claymore Mine antipersonnel à effet dirigé - M18A1 Клеймор - M18A1 Claymore - M18A1 Claymore akna - M18A1 Claymore Mina antiuomo - - - M183 Demolition Charge Assembly - M183 Geballte Sprengladung - Conjunto de carga de demolición M183 - Ładunek burzący M183 - Demoliční nálož M183 - M183 Charge de Démolition - M183 Комплектный подрывной заряд - M183 Sacola de Demolição - M183 romboló töltet - M183 Demolition Charge Assembly - - - M112 Demolition Block - M112 Sprengladung - Bloque de demolición M112 - Ładunek burzący M112 - Výbušná nálož M112 - Pétard M112 - M112 подрывной заряд - M112 Carga de Demolição - M112 romboló töltet - M112 Demolition Block - - - M67 Fragmentation Grenade - M67 Splittergranate - Granada de fragmentación M67 - Granat obronny M67 - Granát M67 - M67 Grenade à fragmentation - M67 ручная осколочная граната - M67 Granada de fragmentação - M67 repeszgránát - M67 Granata a frammentazione - - - M83 Smoke Grenade (White) - M83 Rauchgranate (Weiss) - Granada de humo M83 (Blanco) - Granat dymny M83 (Biały) - M83 Kouřový Granát (bílý) - M83 Grenade fumigène (Blanche) - M83 дымовая граната (Белый) - M83 Granada de fumaça (Branca) - M83 füstgránát (Fehér) - M83 Granata fumogena (Bianco) - - - M18 Smoke Grenade (Blue) - M18 Rauchgranate (Blau) - Granada de humo M18 (Azul) - Granat dymny M18 (Niebieski) - M18 Kouřový Granát (modrý) - M18 Grenade fumigène (Bleue) - M18 дымовая граната (Синий) - M18 Granada de fumaça (Azul) - M18 füstgránát (Kék) - M18 Granata fumogena (Blu) - - - M18 Smoke Grenade (Green) - M18 Rauchgranate (Grün) - Granada de humo M18 (Verde) - Granat dymny M18 (Zielony) - M18 Kouřový Granát (zelený) - M18 Grenade fumigène (Verte) - M18 дымовая граната (Зелёный) - M18 Granada de fumaça (Verde) - M18 füstgránát (Zöld) - M18 Granata fumogena (Verde) - - - M18 Smoke Grenade (Orange) - M18 Rauchgranate (Orange) - Granada de humo M18 (Naranja) - Granat dymny M18 (Pomarańczowy) - M18 Kouřový Granát (oranžový) - M18 Grenade fumigène (Orange) - M18 дымовая граната (Оранжевый) - M18 Granada de fumaça (Laranja) - M18 füstgránát (Narancssárga) - M18 Granata fumogena (Arancione) - - - M18 Smoke Grenade (Purple) - M18 Rauchgranate (Violett) - Granada de humo M18 (Púrpura) - Granat dymny M18 (Fioletowy) - M18 Kouřový Granát (fialový) - M18 Grenade fumigène (Pourpre) - M18 дымовая граната (Пурпурный) - M18 Granada de fumaça (Roxa) - M18 füstgránát (Lila) - M18 Granata fumogena (Viola) - - - M18 Smoke Grenade (Red) - M18 Rauchgranate (Rot) - Granada de humo M18 (Rojo) - Granat dymny M18 (Czerwony) - M18 Kouřový Granát (červený) - M18 Grenade fumigène (Rouge) - M18 дымовая граната (Красный) - M18 Granada de fumaça (Vermelha) - M18 füstgránát (Piros) - M18 Granata fumogena (Rosso) - - - M18 Smoke Grenade (Yellow) - M18 Rauchgranate (Gelb) - Granada de humo M18 (Amarillo) - Granat dymny M18 (Żółty) - M18 Kouřový Granát (žlutý) - M18 Grenade fumigène (Jaune) - M183 дымовая граната (Жёлтые) - M18 Granada de fumaça (Amarela) - M18 füstgránát (Sárga) - M18 Granata fumogena (Giallo) - - - M15 Anti-Tank Mine - M15 Panzerabwehrmine - Mina antitanque M15 - Mina przeciwpancerna M15 - Protitanková mina M15 - M15 Mine antichar - M15 противотанковая мина - M15 Mina anticarro - M15 harckocsiakna - M15 Mine anticarro - - - VS-50 Anti-Personnel Mine - VS-50 Antipersonenmine - Mina antipersona VS-50 - Mina przeciwpiechotna VS-50 - Protipěchotní mina VS-50 - VS-50 Mine antipersonnel à pression - VS-50 Противопехотная мина - VS-50 Mina antipessoal - VS-50 gyalogsági taposóakna - VS-50 Mine antiuomo - - - M26 Anti-Personnel Bounding Mine - M26 Antipersonensprungmine - Mina antipersona M26 - Mina przeciwpiechotna M26 - Šrapnelová mina M26 - M26 Mine antipersonnel bondissante - M26 Противопехотная мина - M26 Mina saltadora antipessoal - M26 gyalogsági ugróakna - M26 Mine saltanti antiuomo - - - PMR-3 Anti-Personnel Tripwire Mine - PMR-3 Antipersonenstolperdrahtmine - Mina antipersona de alambre PMR-3 - Mina przeciwpiechotna PMR-3 - Nástražná mina PMR-3 - PMR-3 Mine antipersonnel à traction - PMR-3 Противопехотная мина - PMR-3 Mina antipessoal (armadilha) - PMR-3 botlódrótos gyalogsági akna - PMR-3 Mine antiuomo - - - P99 - P99 - P99 - - - MP-443 Grach - MP-443 Grach - MP-443 Grach - - - ACP-C2 - ACP-C2 - ACP-C2 - - - FNX-45 Tactical - FNX-45 Tactical - FNX-45 Tactical - - - Chiappa Rhino 60DS - Chiappa Rhino 60DS - Chiappa Rhino 60DS - - - Taurus Judge - Taurus Judge - Taurus Judge - - - NLAW - NLAW - NLAW - - - RPG-32 - RPG-32 - RPG-32 - - - Mini-Spike (AA) - Mini-Spike (AA) - Mini-Spike (PL) - - - Mini-Spike (AT) - Mini-Spike (AT) - Mini-Spike (PT) - - - MX - MX - MX - - - MX (Black) - MX (Black) - - - MXC - MXC - MXC - - - MXC (Black) - MXC (Black) - - - MX 3GL - MX 3GL - MX 3GL - - - MX 3GL (Black) - MX 3GL (Black) - - - MX LSW - MX LSW - MX LSW - - - MX LSW (Black) - MX LSW (Black) - - - MXM - MXM - MXM - - - MXM (Black) - MXM (Black) - - - KT2002 Katiba - KT2002 Katiba - KT2002 Katiba - - - KT2002C Katiba - KT2002C Katiba - KT2002C Katiba - - - KT2002 Katiba KGL - KT2002 Katiba KGL - KT2002 Katiba KGL - - - F2000 (Camo) - F2000 (Camo) - - - F2000 - F2000 - F2000 - - - F2000 Tactical (Camo) - F2000 Tactical (Camo) - - - F2000 Tactical - F2000 Tactical - F2000 Tactical - - - F2000 EGLM (Camo) - F2000 EGLM (Camo) - - - F2000 EGLM - F2000 EGLM - F2000 EGLM - - - TAR-21 - TAR-21 - TAR-21 - - - CTAR-21 - CTAR-21 - CTAR-21 - - - TAR-21 EGLM - TAR-21 EGLM - TAR-21 EGLM - - - Vector SMG - Vector SMG - Vector SMG - - - Scorpion Evo 3 A1 - Scorpion Evo 3 A1 - Scorpion Evo 3 A1 - - - CPW - CPW - CPW - - - RFB SDAR - RFB SDAR - RFB SDAR - - - Stoner 99 LMG - Stoner 99 LMG - Stoner 99 LMG - - - Negev NG7 - Negev NG7 - Negev NG7 - - - Mk14 Mod 1 EBR - Mk14 Mod 1 EBR - Mk14 Mod 1 EBR - - - GM6 Lynx - GM6 Lynx - GM6 Lynx - - - GM6 Lynx (Camo) - GM6 Lynx (Camo) - - - M200 Intervention - M200 Intervention - M200 Intervention - - - M200 Intervention (Camo) - M200 Intervention (Camo) - - - VS-121 - VS-121 - VS-121 - - - TODO: MAR-10 .338 - - - TODO: MAR-10 .338 (Black) - - - TODO: MAR-10 .338 (Camo) - - - TODO: MAR-10 .338 (Sand) - - - TODO: Mk-I EMR 7.62 mm - - - TODO: Mk-I EMR 7.62 mm (Black) - - - TODO: Mk-I EMR 7.62 mm (Khaki) - - - TODO: Mk-I EMR 7.62 mm (Sand) - - - TODO: Mk-I EMR 7.62 mm (Camo) - - - TODO: Mk-I EMR 7.62 mm (Woodland) - - - TODO: NATO DMR (provisional) spotter - - - TODO: ASP-1 Kir 12.7 mm - - - TODO: ASP-1 Kir 12.7 mm (Black) - - - TODO: ASP-1 Kir 12.7 mm (Tan) - - - TODO: Cyrus 9.3 mm - - - TODO: Cyrus 9.3 mm (Black) - - - TODO: Cyrus 9.3 mm (Hex) - - - TODO: Cyrus 9.3 mm (Tan) - - - TODO: Mk14 7.62 mm - - - TODO: Mk14 7.62 mm (Camo) - - - TODO: Mk14 7.62 mm (Olive) - - - TODO: Navid 9.3 mm - - - TODO: Navid 9.3 mm (Hex) - - - TODO: Navid 9.3 mm (Tan) - - - TODO: SPMG .338 - - - TODO: SPMG .338 (MTP) - - - TODO: SPMG .338 (Black) - - - TODO: SPMG .338 (Sand) - - - + + + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312 + XM312A + + + XM312A + XM312A + XM312 + XM312A + XM312A + XM312A + XM312A + XM312A + XM312A + XM312A + + + XM312 (High) + XM312 (Hoch) + XM312 (Alto) + XM312 (Haut) + XM312 (Vysoký) + XM312 (Wysoki) + XM312 (Высокий) + XM312 (Alta) + XM312 (Magasított) + XM312 (Alta) + + + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + XM307 + + + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + XM307A + + + XM307 (High) + XM307 (Hoch) + XM307 (Alto) + XM307 (Haut) + XM307 (Vysoký) + XM307 (Wysoki) + XM307 (Высокий) + XM307 (Alta) + XM307 (Magasított) + XM307 (Alta) + + + Mini-Spike Launcher (AT) + Mini-Spike Lenkflugkörper (AT) + Lanzador Mini-Spike (AT) + Poste de tir Mini-Spike (AC) + Mini-Spike Odpalovač (AT) + Wyrzutnia Mini-Spike (AT) + Mini-Spike Пусковое устройство (ПТРК) + Lança-mísseis Mini-Spike (AC) + Mini-Spike rakétarendszer (Tankelhárító) + Lanciatore Mini-Spike (AC) + + + Mini-Spike Launcher (AA) + Mini-Spike Lenkflugkörper (AA) + Lanzador Mini-Spike (AA) + Poste de tir Mini-Spike (AA) + Mini-Spike Odpalovač (AA) + Wyrzutnia Mini-Spike (AA) + Mini-Spike Пусковое устройство (ВВ) + Lança-mísseis Mini-Spike (AA) + Mini-Spike rakétarendszer (Repülő-elhárító) + Lanciatore Mini-Spike (AA) + + + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + YABHON-R3 + + + YABHON-R3 (CAS) + YABHON-R3 (Luftnahunterstützung) + YABHON-R3 (CAS) + YABHON-R3 (CAS) + YABHON-R3 (CAS) + YABHON-R3 (штурмовик) + YABHON-R3 (Légitámogató) + + + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + M-ATV + + + M-ATV (HMG) + M-ATV (SMG) + M-ATV (HMG) + M-ATV (CKM) + M-ATV (TK) + M-ATV (HMG) + M-ATV (Пулемет) + M-ATV (HMG) + M-ATV (nehézgéppuska) + M-ATV (HMG) + + + M-ATV (GMG) + M-ATV (GMW) + M-ATV (GMG) + M-ATV (GMG) + M-ATV (Granátomet) + M-ATV (GMG) + M-ATV (Гранатомет) + M-ATV (GMG) + M-ATV (gránátgéppuska) + M-ATV (GMG) + + + Merkava Mk IV M + Merkava Mk IV M + Merkava Mk IV M + Merkawa Mk IV M + Merkava Mk IV M + Merkava Mk IV M + Меркава Mk IV M + Merkava Mk IV M + Merkava Mk IV M + Merkava Mk IV M + + + Merkava Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + Merkawa Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + Меркава Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + Merkava Mk IV LIC + + + Sholef + Sholef + Sholef + Sholef + Sholef + Sholef + Шолеф + Sholef + Sholef + Sholef + + + Seara + Seara + Seara + Seara + Seara + Seara + Seara + Seara + Seara + Seara + + + Namer + Namer + Namer + Namer + Namer + Namer + Намер + Namer + Namer + Namer + + + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + Bardelas + + + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + Patria AMV + + + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + Nemmera + + + HEMTT Transport + HEMTT Transport + HEMTT de transporte + HEMTT Transportowy + HEMTT Valník + HEMTT Transport + HEMTT Транспортный + HEMTT Transporte + HEMTT szállítójármű + HEMTT da trasporto + + + HEMTT Transport (covered) + HEMTT Transport (bedeckt) + HEMTT de transporte (cubierto) + HEMTT Transportowy (zakryty) + HEMTT Valník (krytý) + HEMTT Transport (bâché) + HEMTT Транспортный (крытый) + HEMTT Transporte (coberto) + HEMTT szállítójármű (ponyvás) + HEMTT da trasporto (coperto) + + + HEMTT + HEMTT + HEMTT + HEMTT + HEMTT + HEMTT Tracteur + HEMTT + HEMTT + HEMTT + HEMTT + + + HEMTT Container + HEMTT Container + HEMTT de contenedor + HEMTT Kontener + HEMTT Skříňový + HEMTT Conteneur + HEMTT Контейнер + HEMTT Contêiner + HEMTT (konténer) + HEMTT portacontainer + + + HEMTT Medical + HEMTT Sanitäter + HEMTT médico + HEMTT Medyczny + HEMTT Zdravotnický + HEMTT Sanitaire + HEMTT Медицинский + HEMTT Médico + HEMTT (egészségügyi) + HEMTT Medico + + + HEMTT Ammo + HEMTT Munition + HEMTT de munición + HEMTT Amunicyjny + HEMTT Muniční + HEMTT Munitions + HEMTT Боеприпасы + HEMTT Munições + HEMTT (lőszerszállító) + HEMTT di rifornimento munizioni + + + HEMTT Fuel + HEMTT Treibstoff + HEMTT de combustible + HEMTT Cysterna + HEMTT Cisterna + HEMTT Citerne + HEMTT Заправщик + HEMTT Combustível + HEMTT (üzemanyag-szállító) + HEMTT di rifornimento carburante + + + HEMTT Repair + HEMTT Instandsetzung + HEMTT de reparación + HEMTT Naprawczy + HEMTT Opravárenský + HEMTT Réparation + HEMTT Ремонтный + HEMTT Reparador + HEMTT (szerelő-jármű) + HEMTT Riparatore + + + Fennek + Fennek + Fennek + Fennek + Fennek + Fennek + Феннек + Fennek + Fennek + Fennek + + + Fennek (HMG) + Fennek (SMG) + Fennek (HMG) + Fennek (CKM) + Fennek (TK) + Fennek (HMG) + Феннек (Пулемет) + Fennek (HMG) + Fennek (nehézgéppuska) + Fennek (HMG) + + + Fennek (GMG) + Fennek (GMW) + Fennek (GMG) + Fennek (GMG) + Fennek (granátomet) + Fennek (GMG) + Феннек (Гранатомет) + Fennek (GMG) + Fennek (gránátgéppuska) + Fennek (GMG) + + + Leopard 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + Леопард 2SG + Leopard 2SG + Leopard 2SG + Leopard 2SG + + + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Warrior + FV510 Уорриор + FV510 Warrior + FV510 Warrior + FV510 Warrior + + + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + Pandur II + + + KamAZ Transport + KamAZ Transport + KamAZ de transporte + KamAZ transportowy + KAMAZ Valník + KamAZ Transport + КамАЗ Траспортный + KamAZ Transporte + KamAZ szállítójármű + KamAZ da trasporto + + + KamAZ Transport (covered) + KamAZ Transport (bedeckt) + KamAZ de transporte (cubierto) + KamAZ Transportowy (zakryty) + KAMAZ Valník (krytý) + KamAZ Transport (bâché) + КамАЗ Траспортный (Крытый) + KamAZ Transporte (coberto) + KamAZ szállítójármű (ponyvás) + KamAZ da trasporto (coperto) + + + KamAZ Ammo + KamAZ Munition + KamAZ de munición + KamAZ Amunicyjny + KAMAZ Muniční + KamAZ Munitions + КамАЗ Боеприпасы + KamAZ Munições + KamAZ (lőszerszállító) + KamAZ di rifornimento munizioni + + + KamAZ Fuel + KamAZ Treibstoff + KamAZ de combustible + KamAZ cysterna + KAMAZ Cisterna + KamAZ Citerne + КамАЗ Заправщик + KamAZ Combustível + KamAZ (üzemanyag-szállító) + KamAZ di rifornimento carburante + + + KamAZ Repair + KamAZ Instandsetzung + KamAZ de reparación + KamAZ Naprawczy + KAMAZ Opravárenský + KamAZ Réparation + КамАЗ Ремонтный + KamAZ Reparador + KamAZ (szerelő-jármű) + KamAZ riparatore + + + KamAZ Medical + KamAZ Sanitäter + KamAZ médico + KamAZ Medyczny + KAMAZ Zdravotnický + KamAZ Sanitaire + КамАЗ Медицинский + KamAZ Médico + KamAZ (egészségügyi) + KamAZ Medico + + + Punisher + Punisher + Punisher + Punisher + Punisher + Punisher + Kаратель + Punisher + Punisher + Punisher + + + Punisher (HMG) + Punisher (SMG) + Punisher (HMG) + Punisher (CKM) + Punisher (TK) + Punisher (HMG) + Kаратель (Пулемет) + Punisher (HMG) + Punisher (nehézgéppuska) + Punisher (HMG) + + + Punisher (GMG) + Punisher (GMW) + Punisher (GMG) + Punisher (CKM) + Punisher (granátomet) + Punisher (GMG) + Kаратель (Гранатомет) + Punisher (GMG) + Punisher (gránátgéppuska) + Punisher (GMG) + + + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Black Eagle + T100 Черный Орел + T100 Black Eagle + T100 Fekete Sas + T100 Black Eagle + + + 2S9 Sochor + 2S9 Sochor + 2S9 Sochor + 259 Sochor + 2S9 Sochor + 2S9 Sochor + 2S9 Сокор + 2S9 Sochor + 2S9 Sochor + 2S9 Sochor + + + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + БМ-2Т Сталкер + BM-2T Stalker + BM-2T Stalker + BM-2T Stalker + + + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ЗСУ-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + ZSU-35 Tigris + + + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + Otokar ARMA + + + Typhoon Transport + Typhoon Transport + Typhoon de transporte + Typhoon Transportowy + Typhoon valník + Typhoon Transport + Тайфун Транспортный + Typhoon Transporte + Typhoon szállítójármű + Typhoon da trasporto + + + Typhoon Transport (covered) + Typhoon Transport (bedeckt) + Typhoon de transporte (cubierto) + Typhoon Transportowy (przykryty) + Typhoon valník (krytý) + Typhoon Transport (bâché) + Тайфун Транспортный (kрытый) + Typhoon Transporte (coberto) + Typhoon szállítójármű (ponyvás) + Typhoon da trasporto (coperto) + + + Typhoon Device + Typhoon Gerät + Typhoon de dispositivo + Typhoon Urządzenie + Typhoon zařízení + Typhoon Dispositif + Тайфун Устройство + Typhoon Dispositivo + Typhoon (eszköz) + Typhoon per dispositivo + + + Typhoon Ammo + Typhoon Munition + Typhoon de munición + Typhoon Amunicyjny + Typhoon muniční + Typhoon Munitions + Тайфун Боеприпасы + Typhoon Munições + Typhoon (lőszerszállító) + Typhoon di rifornimento munizioni + + + Typhoon Fuel + Typhoon Treibstoff + Typhoon de combustible + Typhoon Cysterna + Typhoon cisterna + Typhoon Citerne + Тайфун Заправщик + Typhoon Combustível + Typhoon (üzemanyag-szállító) + Typhoon di rifornimento carburante + + + Typhoon Repair + Typhoon Instandsetzung + Typhoon de reparación + Typhoon Naprawczy + Typhoon opravárenský + Typhoon Réparation + Тайфун Ремонтный + Typhoon Reparador + Typhoon (szerelő-jármű) + Typhoon riparatore + + + Typhoon Medical + Typhoon Sanitäter + Typhoon médico + Typhoon Medyczny + Typhoon zdravotnický + Typhoon Sanitaire + Тайфун Медицинский + Typhoon Médico + Typhoon (egészségügyi) + Typhoon medico + + + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Commanche + RAH-66 Команч + RAH-66 Comanche + RAH-66 Comanche + RAH-66 Comanche + + + MH-6 Little Bird + MH-6 Little Bird + MH-6 Litte Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + MH-6 Little Bird + + + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + AH-6 Little Bird + + + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + CH-47I Chinook + + + CH-47I Chinook (unarmed) + CH-47I Chinook (unbewaffnet) + CH-47I Chinnok (Desarmado) + CH-47I Chinook (nieuzbrojony) + CH-47I Chinook (невооруженный) + CH-47I Chinook (neozbrojený) + CH-47I Chinook (fegyvertelen) + + + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Тандерболт II + A-10D Thunderbolt II + A-10D Thunderbolt II + A-10D Thunderbolt II + + + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + AW159 Wildcat + + + AW159 Wildcat (unarmed) + AW159 Wildcat (unbewaffnet) + AW159 Wildcat (desarmado) + AW159 Wildcat (nieuzbrojony) + AW159 Wildcat (neozbrojený) + AW159 Wildcat (non-armé) + AW159 Wildcat (невооруженный) + AW159 Wildcat (desarmado) + AW159 Wildcat (fegyvertelen) + AW159 Wildcat (disarmato) + + + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Merlin + AW101 Мерлин + AW101 Merlin + AW101 Merlin + AW101 Merlin + + + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 ALCA (CAS) + L-159 Альбатрос (CAS) + L-159 ALCA (CAS) + L-159 ALCA (Légitámogató) + L-159 ALCA (CAS) + + + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 ALCA (AA) + L-159 Альбатрос (AA) + L-159 ALCA (ВВ) + L-159 ALCA (Repülő-elhárító) + L-159 ALCA (AA) + + + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Касатка + Ka-60 Kasatka + Ka-60 Kasatka + Ka-60 Kasatka + + + Ka-60 Kasatka (unarmed) + Ka-60 Kasatka (unbewaffnet) + Ka-60 Kasatka (desarmado) + Ka-60 Kasatka (nieuzbrojony) + Ka-60 Kasatka (neozbrojená) + Ka-60 Kasatka (non-armé) + Ka-60 Касатка (невооруженный) + Ka-60 Kasatka (desarmado) + Ka-60 Kasatka (fegyvertelen) + Ka-60 Kasatka (disarmato) + + + Yak-130 + Yak-130 + Yak-130 + Jak-130 + Jak-130 + Yak-130 + Як-130 + Yak-130 + Jak-130 + Yak-130 + + + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + MD 500 + + + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + M4A1 SLAM + + + M18A1 Claymore + M18A1 Claymore + M18A1 Claymore + Mina kierunkowa M18A1 Claymore + Mina Claymore M18A1 + M18A1 Claymore Mine antipersonnel à effet dirigé + M18A1 Клеймор + M18A1 Claymore + M18A1 Claymore akna + M18A1 Claymore Mina antiuomo + + + M183 Demolition Charge Assembly + M183 Geballte Sprengladung + Conjunto de carga de demolición M183 + Ładunek burzący M183 + Demoliční nálož M183 + M183 Charge de Démolition + M183 Комплектный подрывной заряд + M183 Sacola de Demolição + M183 romboló töltet + M183 Demolition Charge Assembly + + + M112 Demolition Block + M112 Sprengladung + Bloque de demolición M112 + Ładunek burzący M112 + Výbušná nálož M112 + Pétard M112 + M112 подрывной заряд + M112 Carga de Demolição + M112 romboló tömb + M112 Demolition Block + + + M67 Fragmentation Grenade + M67 Splittergranate + Granada de fragmentación M67 + Granat obronny M67 + Granát M67 + M67 Grenade à fragmentation + M67 ручная осколочная граната + M67 Granada de fragmentação + M67 repeszgránát + M67 Granata a frammentazione + + + M83 Smoke Grenade (White) + M83 Rauchgranate (Weiss) + Granada de humo M83 (Blanco) + Granat dymny M83 (Biały) + M83 Kouřový Granát (bílý) + M83 Grenade fumigène (Blanche) + M83 дымовая граната (Белый) + M83 Granada de fumaça (Branca) + M83 füstgránát (Fehér) + M83 Granata fumogena (Bianco) + + + M18 Smoke Grenade (Blue) + M18 Rauchgranate (Blau) + Granada de humo M18 (Azul) + Granat dymny M18 (Niebieski) + M18 Kouřový Granát (modrý) + M18 Grenade fumigène (Bleue) + M18 дымовая граната (Синий) + M18 Granada de fumaça (Azul) + M18 füstgránát (Kék) + M18 Granata fumogena (Blu) + + + M18 Smoke Grenade (Green) + M18 Rauchgranate (Grün) + Granada de humo M18 (Verde) + Granat dymny M18 (Zielony) + M18 Kouřový Granát (zelený) + M18 Grenade fumigène (Verte) + M18 дымовая граната (Зелёный) + M18 Granada de fumaça (Verde) + M18 füstgránát (Zöld) + M18 Granata fumogena (Verde) + + + M18 Smoke Grenade (Orange) + M18 Rauchgranate (Orange) + Granada de humo M18 (Naranja) + Granat dymny M18 (Pomarańczowy) + M18 Kouřový Granát (oranžový) + M18 Grenade fumigène (Orange) + M18 дымовая граната (Оранжевый) + M18 Granada de fumaça (Laranja) + M18 füstgránát (Narancssárga) + M18 Granata fumogena (Arancione) + + + M18 Smoke Grenade (Purple) + M18 Rauchgranate (Violett) + Granada de humo M18 (Púrpura) + Granat dymny M18 (Fioletowy) + M18 Kouřový Granát (fialový) + M18 Grenade fumigène (Pourpre) + M18 дымовая граната (Пурпурный) + M18 Granada de fumaça (Roxa) + M18 füstgránát (Lila) + M18 Granata fumogena (Viola) + + + M18 Smoke Grenade (Red) + M18 Rauchgranate (Rot) + Granada de humo M18 (Rojo) + Granat dymny M18 (Czerwony) + M18 Kouřový Granát (červený) + M18 Grenade fumigène (Rouge) + M18 дымовая граната (Красный) + M18 Granada de fumaça (Vermelha) + M18 füstgránát (Piros) + M18 Granata fumogena (Rosso) + + + M18 Smoke Grenade (Yellow) + M18 Rauchgranate (Gelb) + Granada de humo M18 (Amarillo) + Granat dymny M18 (Żółty) + M18 Kouřový Granát (žlutý) + M18 Grenade fumigène (Jaune) + M183 дымовая граната (Жёлтые) + M18 Granada de fumaça (Amarela) + M18 füstgránát (Sárga) + M18 Granata fumogena (Giallo) + + + M15 Anti-Tank Mine + M15 Panzerabwehrmine + Mina antitanque M15 + Mina przeciwpancerna M15 + Protitanková mina M15 + M15 Mine antichar + M15 противотанковая мина + M15 Mina anticarro + M15 harckocsiakna + M15 Mine anticarro + + + VS-50 Anti-Personnel Mine + VS-50 Antipersonenmine + Mina antipersona VS-50 + Mina przeciwpiechotna VS-50 + Protipěchotní mina VS-50 + VS-50 Mine antipersonnel à pression + VS-50 Противопехотная мина + VS-50 Mina antipessoal + VS-50 gyalogsági taposóakna + VS-50 Mine antiuomo + + + M26 Anti-Personnel Bounding Mine + M26 Antipersonensprungmine + Mina antipersona M26 + Mina przeciwpiechotna M26 + Šrapnelová mina M26 + M26 Mine antipersonnel bondissante + M26 Противопехотная мина + M26 Mina saltadora antipessoal + M26 gyalogsági ugróakna + M26 Mine saltanti antiuomo + + + PMR-3 Anti-Personnel Tripwire Mine + PMR-3 Antipersonenstolperdrahtmine + Mina antipersona de alambre PMR-3 + Mina przeciwpiechotna PMR-3 + Nástražná mina PMR-3 + PMR-3 Mine antipersonnel à traction + PMR-3 Противопехотная мина + PMR-3 Mina antipessoal (armadilha) + PMR-3 botlódrótos gyalogsági akna + PMR-3 Mine antiuomo + + + P99 + P99 + P99 + P99 + + + MP-443 Grach + MP-443 Grach + MP-443 Grach + MP-443 Grach + + + ACP-C2 + ACP-C2 + ACP-C2 + ACP-C2 + + + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + FNX-45 Tactical + + + Chiappa Rhino 60DS + Chiappa Rhino 60DS + Chiappa Rhino 60DS + Chiappa Rhino 6DS + + + Taurus Judge + Taurus Judge + Taurus Judge + Taurus Judge + + + NLAW + NLAW + NLAW + NLAW + + + RPG-32 + RPG-32 + RPG-32 + RPG-32 + + + Mini-Spike (AA) + Mini-Spike (AA) + Mini-Spike (PL) + Mini-Spike (Repülő-elhárító) + + + Mini-Spike (AT) + Mini-Spike (AT) + Mini-Spike (PT) + Mini-Spike (Tankelhárító) + + + MX + MX + MX + MX + + + MX (Black) + MX (Black) + MX (Fekete) + + + MXC + MXC + MXC + MXC + + + MXC (Black) + MXC (Black) + MXC (Fekete) + + + MX 3GL + MX 3GL + MX 3GL + MX 3GL + + + MX 3GL (Black) + MX 3GL (Black) + MX 3GL (Fekete) + + + MX LSW + MX LSW + MX LSW + MX LSW + + + MX LSW (Black) + MX LSW (Black) + MX LSW (Fekete) + + + MXM + MXM + MXM + MXM + + + MXM (Black) + MXM (Black) + MXM (Fekete) + + + KT2002 Katiba + KT2002 Katiba + KT2002 Katiba + KT2002 Katiba + + + KT2002C Katiba + KT2002C Katiba + KT2002C Katiba + KT2002C Katiba + + + KT2002 Katiba KGL + KT2002 Katiba KGL + KT2002 Katiba KGL + KT2002 Katiba KGL + + + F2000 (Camo) + F2000 (Camo) + F2000 (Terepmintás) + + + F2000 + F2000 + F2000 + F2000 + + + F2000 Tactical (Camo) + F2000 Tactical (Camo) + F2000 Tactical (Terepmintás) + + + F2000 Tactical + F2000 Tactical + F2000 Tactical + F2000 Tactical + + + F2000 EGLM (Camo) + F2000 EGLM (Camo) + F2000 EGLM (Terepmintás) + + + F2000 EGLM + F2000 EGLM + F2000 EGLM + F2000 EGLM + + + TAR-21 + TAR-21 + TAR-21 + TAR-21 + + + CTAR-21 + CTAR-21 + CTAR-21 + CTAR-21 + + + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + TAR-21 EGLM + + + Vector SMG + Vector SMG + Vector SMG + Vector SMG + + + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + Scorpion Evo 3 A1 + + + CPW + CPW + CPW + CPW + + + RFB SDAR + RFB SDAR + RFB SDAR + RFB SDAR + + + Stoner 99 LMG + Stoner 99 LMG + Stoner 99 LMG + Stoner 99 Könnyűgéppuska + + + Negev NG7 + Negev NG7 + Negev NG7 + Negev NG7 + + + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + Mk14 Mod 1 EBR + + + GM6 Lynx + GM6 Lynx + GM6 Lynx + GM6 Gepárd + + + GM6 Lynx (Camo) + GM6 Lynx (Camo) + GM6 Gepárd (Terepmintás) + + + M200 Intervention + M200 Intervention + M200 Intervention + M200 Intervention + + + M200 Intervention (Camo) + M200 Intervention (Camo) + M200 Intervention (Terepmintás) + + + VS-121 + VS-121 + VS-121 + VS-121 + + + TODO: MAR-10 .338 + + + TODO: MAR-10 .338 (Black) + + + TODO: MAR-10 .338 (Camo) + + + TODO: MAR-10 .338 (Sand) + + + TODO: Mk-I EMR 7.62 mm + + + TODO: Mk-I EMR 7.62 mm (Black) + + + TODO: Mk-I EMR 7.62 mm (Khaki) + + + TODO: Mk-I EMR 7.62 mm (Sand) + + + TODO: Mk-I EMR 7.62 mm (Camo) + + + TODO: Mk-I EMR 7.62 mm (Woodland) + + + TODO: NATO DMR (provisional) spotter + + + TODO: ASP-1 Kir 12.7 mm + + + TODO: ASP-1 Kir 12.7 mm (Black) + + + TODO: ASP-1 Kir 12.7 mm (Tan) + + + TODO: Cyrus 9.3 mm + + + TODO: Cyrus 9.3 mm (Black) + + + TODO: Cyrus 9.3 mm (Hex) + + + TODO: Cyrus 9.3 mm (Tan) + + + TODO: Mk14 7.62 mm + + + TODO: Mk14 7.62 mm (Camo) + + + TODO: Mk14 7.62 mm (Olive) + + + TODO: Navid 9.3 mm + + + TODO: Navid 9.3 mm (Hex) + + + TODO: Navid 9.3 mm (Tan) + + + TODO: SPMG .338 + + + TODO: SPMG .338 (MTP) + + + TODO: SPMG .338 (Black) + + + TODO: SPMG .338 (Sand) + + + \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index d937de53ff..1ba147fd7a 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,61 +1,66 @@  + - - - Check ammo on weapon reload - Prüfe Munition beim Nachladen - Vérifier munitions au rechargement - Comprovar munición al recargar el arma - Проверять боезапас при перезарядке - Zkontrolovat munici při nabití - - - Check the ammo in your new magazine on magazine reload. - Prüfe nachgeladenes Magazin - Vérifie les munitions disponibles dans le nouveau chargeur - Comprueva la munición del nuevo cargador al recargar. - Проверяет количество патронов в новом магазине при перезарядке. - Kontroluje munice při nabití nového zásobníku. - - - Check Ammo - Munition prüfen - Verificar munición - Sprawdź amunicję - Vérifier Munitions - Lőszerellenőrzés - Zkontrolovat Munici - Controlla le munizioni - Conferir munições - Kонтроль Боеприпасы - - - Ammo - Munition - Munición - Amunicja - Munitions - Lőszer - Munice - Munizioni - Munições - Боеприпасы - - - Link belt - Gurt herstellen - Attacher bande - Enlazar cinta - Сцепить ленты - Spojit pás munice - - - Linking belt... - Stelle Gurt her.... - Attachement de la bande .. - Enlazando cinta... - Сцепка лент ... - Spojuji pás... - - - + + + Check ammo on weapon reload + Prüfe Munition beim Nachladen + Vérifier munitions au rechargement + Comprovar munición al recargar el arma + Проверять боезапас при перезарядке + Zkontrolovat munici při nabití + Lőszer ellenőrzése a fegyver újratöltésekor + + + Check the ammo in your new magazine on magazine reload. + Prüfe nachgeladenes Magazin + Vérifie les munitions disponibles dans le nouveau chargeur + Comprueva la munición del nuevo cargador al recargar. + Проверяет количество патронов в новом магазине при перезарядке. + Kontroluje munice při nabití nového zásobníku. + A lőszer ellenőrzése az új tárad behelyezésekor újratöltés közben. + + + Check Ammo + Munition prüfen + Verificar munición + Sprawdź amunicję + Vérifier Munitions + Lőszerellenőrzés + Zkontrolovat Munici + Controlla le munizioni + Conferir munições + Kонтроль Боеприпасы + + + Ammo + Munition + Munición + Amunicja + Munitions + Lőszer + Munice + Munizioni + Munições + Боеприпасы + + + Link belt + Gurt herstellen + Attacher bande + Enlazar cinta + Сцепить ленты + Spojit pás munice + Töltényheveder összekötése + + + Linking belt... + Stelle Gurt her.... + Attachement de la bande .. + Enlazando cinta... + Сцепка лент ... + Spojuji pás... + Töltényheveder összekötése folyamatban... + + + \ No newline at end of file diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 3435d43c27..6761c72f7a 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,4 +1,5 @@  + @@ -7,6 +8,7 @@ Cargar lanzador Зарядить ПУ Nabít odpalovač + Kilövö betöltése Loading launcher ... @@ -14,6 +16,7 @@ Cargando lanzador ... Зарядка ПУ ... Nabíjím odpalovač ... + Kilövő betöltés alatt ... Launcher loaded @@ -21,6 +24,7 @@ Lanzador cargado ПУ заряжено Odpalovač nabit + Kilövő betöltve Load %1 @@ -28,6 +32,7 @@ Cargar %1 Загрузка %1 Nabít %1 + %1 betöltése - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 705ca05ecf..8ae9bc12cd 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,29 +1,34 @@  + - - - Deploy in 5 seconds ... - Wird in 5 Sekunden errichtet ... - Desplegando en 5 segundos ... - Возрождение через 5 секунд ... - - - Rallypoint deployed - Rallypoint errichtet - Punto de reunión desplegado - Точка сбора установлена - - - Teleported to Base - Zur Basis teleportiert - Teletransportado a base - Телепорт на базу - - - Teleported to Rallypoint - Zum Rallypoint teleportiert - Teletransportado al punto de reunión - Телепорт на точку сбора - - - + + + Deploy in 5 seconds ... + Wird in 5 Sekunden errichtet ... + Desplegando en 5 segundos ... + Возрождение через 5 секунд ... + Kihelyezés 5 másodperc múlva ... + + + Rallypoint deployed + Rallypoint errichtet + Punto de reunión desplegado + Точка сбора установлена + Gyülekezőpont elhelyezve + + + Teleported to Base + Zur Basis teleportiert + Teletransportado a base + Телепорт на базу + Bázisra teleportálva + + + Teleported to Rallypoint + Zum Rallypoint teleportiert + Teletransportado al punto de reunión + Телепорт на точку сбора + Gyülekezőpontra teleportálva + + + \ No newline at end of file From e7e46b3b59d38fda7e15742fc46de9470636b6d0 Mon Sep 17 00:00:00 2001 From: Harakhti Date: Tue, 14 Apr 2015 00:05:39 +0200 Subject: [PATCH 034/247] Translation: S to W That's all I've found so far. --- addons/safemode/stringtable.xml | 78 ++-- addons/switchunits/stringtable.xml | 40 +- addons/vehiclelock/stringtable.xml | 226 +++++------ addons/vehicles/stringtable.xml | 83 ++-- addons/weaponselect/stringtable.xml | 521 +++++++++++++------------- addons/winddeflection/stringtable.xml | 88 +++-- 6 files changed, 523 insertions(+), 513 deletions(-) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index 9684babfdf..a955a69583 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -1,42 +1,42 @@  - + - - - Safe Mode - Waffe sichern - Seguro puesto - Bezpiecznik - Pojistka - Veszélytelenités - Предохранитель - - - Take off Safety - Waffe entsichern - Quitar seguro - Zwolnij bezpiecznik - Uvolnit pojistku - Veszélyesités - Снять с предохранителя - - - Put on Safety - Waffe gesichert - Poner seguro - Zabezpiecz broń - Přepnout pojistku - Veszélytelenitve - Поставить на предохранитель - - - Took off Safety - Waffe entsichert - Seguro quitado - Odbezpieczono broń - Odstranit pojistku - veszélyes - Снят с предохранителя - - + + + Safe Mode + Waffe sichern + Seguro puesto + Bezpiecznik + Pojistka + Biztonságos mód + Предохранитель + + + Take off Safety + Waffe entsichern + Quitar seguro + Zwolnij bezpiecznik + Uvolnit pojistku + Biztonsági kapcsoló eltolása + Снять с предохранителя + + + Put on Safety + Waffe gesichert + Poner seguro + Zabezpiecz broń + Přepnout pojistku + Biztonsági kapcsoló helyretolása + Поставить на предохранитель + + + Took off Safety + Waffe entsichert + Seguro quitado + Odbezpieczono broń + Odstranit pojistku + Biztonságos mód megszüntetve + Снят с предохранителя + + \ No newline at end of file diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 81cde4b007..32e44daad8 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -1,22 +1,24 @@  - + - - - Switched unit - Einheit gewechselt - Юнит переключен - Prohozená jednotka - Przełącz jednostkę - Cambiado de unidad - - - This unit is too close to the enemy. - Diese Einheit ist zu nah am Feind. - Юнит слишком близок к противнику. - Tato jednotka je moc blízko k nepříteli. - Ta jednostka jest zbyt blisko przeciwnika. - Esta unidad está demasiado cerca del enemigo. - - + + + Switched unit + Einheit gewechselt + Юнит переключен + Prohozená jednotka + Przełącz jednostkę + Cambiado de unidad + Egység átváltva + + + This unit is too close to the enemy. + Diese Einheit ist zu nah am Feind. + Юнит слишком близок к противнику. + Tato jednotka je moc blízko k nepříteli. + Ta jednostka jest zbyt blisko przeciwnika. + Esta unidad está demasiado cerca del enemigo. + Ez az egység túl közel van az ellenséghez. + + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 580283dcab..218f55a8a9 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -1,116 +1,116 @@  - + - - - Unlock Vehicle - Fahrzeug aufschließen - Vehículo abierto - Déverrouiller le véhicule - Odblokuj pojazd - Odemknout vozidlo - Jármű nyitása - Открыть машину - - - Lock Vehicle - Fahrzeug abschließen - Vehículo cerrado - Verrouiller le véhicule - Zablokuj pojazd - Zamknout vozidlo - Jármű zárása - Закрыть машину - - - Lockpick Vehicle - Fahrzeug knacken - Forzar vehículo - Crocheter le véhicule - Otwórz zamek - Vypáčit vozidlo - Jármű feltörése - Взломать замок - - - Picking Lock.... - Schloss knacken... - Forzando cierre... - Crochetage... - Otwieranie zamka... - Páčim vozidlo... - Feltörés... - Взламываем замок... - - - A custom key that will open a specific vehicle. - Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. - Una llave concreta abrirá un vehículo concreto. - Une clé propre à un seul véhicule. - Unikatowy klucz który otworzy konkretny pojazd. - Vlastní klíč, který otevře konkrétní vozidlo. - Kulcs egy járműhez - Ключ от конкретной машины. - - - A Master Key will open any lock, no matter what! - Ein Generalschlüssel der jedes Schloss öffnet... - Una llave maestra abrirá cualquier cierre, no importa cual! - Un passe-partout qui ouvrira n'importe quelle serrure. - Uniwersalny klucz który otworzy każdy zamek. - Hlavní klíč otevře libovolný zámek, bez vyjímek! - Általános kulcs minden járműhez - Универсальный ключ, открывающий любой замок. - - - A lockpick set that can pick the locks of most vehicles. - Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... - Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. - Un crochet qui ouvrira la plupart des véhicules. - Zestaw wytrychów dzięki któremu można otworzyć zamki w większości pojazdów. - Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. - Álkulcs melyik minden járműt nyitni tud - Набор отмычек, которым можно взломать почти любую машину. - - - A key that should open most WEST vehicles. - Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos occidentales. - Une clé qui ouvrira la plupart des véhicules WEST. - Klucz który powinien otworzyć większość pojazdów ZACHODU. - Klíč který by měl otevřít většinou Západních vozidel. - Általános kulcs WEST járművekhez - Ключ для открытия большинства машин Запада. - - - A key that should open most EAST vehicle. - Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos orientales. - Une clé qui ouvrira la plupart des véhicules EAST. - Klucz który powinien otworzyć większość pojazdów WSCHODU. - Általános kulcs EAST járművekhez - Klíč který by měl otevřít vetšinu Východních vozidel. - Ключ для открытия большинства машин Востока. - - - A key that should open most INDEP vehicle. - Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... - Una llave que puede abrir la mayoría de vehículos independientes. - Une clé qui ouvrira la plupart des véhicules INDEP. - Klucz który powinien otworzyć większość pojazdów INDFOR. - Általános kulcs INDEPENDENT járművekhez - Klíč který by měl otevřít většinu Nezávislých vozidel. - Ключ для открытия большинства машин Независимых. - - - A key that should open most CIV vehicle. - Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos civiles. - Une clé qui ouvrira la plupart des véhicules CIV. - Klucz który powinien otworzyć większość pojazdów CYWILNYCH. - Klíč který by měl otevřít většinu Civilních vozidel. - Általános kulcs CIVILIAN járművekhez - Ключ для открытия большинства машин Гражданских. - - + + + Unlock Vehicle + Fahrzeug aufschließen + Vehículo abierto + Déverrouiller le véhicule + Odblokuj pojazd + Odemknout vozidlo + Jármű nyitása + Открыть машину + + + Lock Vehicle + Fahrzeug abschließen + Vehículo cerrado + Verrouiller le véhicule + Zablokuj pojazd + Zamknout vozidlo + Jármű zárása + Закрыть машину + + + Lockpick Vehicle + Fahrzeug knacken + Forzar vehículo + Crocheter le véhicule + Otwórz zamek + Vypáčit vozidlo + Jármű feltörése + Взломать замок + + + Picking Lock.... + Schloss knacken... + Forzando cierre... + Crochetage... + Otwieranie zamka... + Páčim vozidlo... + Zár feltörése... + Взламываем замок... + + + A custom key that will open a specific vehicle. + Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. + Una llave concreta abrirá un vehículo concreto. + Une clé propre à un seul véhicule. + Unikatowy klucz który otworzy konkretny pojazd. + Vlastní klíč, který otevře konkrétní vozidlo. + Egy egyedi kulcs, ami egy meghatározott járművet nyit ki. + Ключ от конкретной машины. + + + A Master Key will open any lock, no matter what! + Ein Generalschlüssel der jedes Schloss öffnet... + Una llave maestra abrirá cualquier cierre, no importa cual! + Un passe-partout qui ouvrira n'importe quelle serrure. + Uniwersalny klucz który otworzy każdy zamek. + Hlavní klíč otevře libovolný zámek, bez vyjímek! + Egy főkulcs, ami minden zárat kinyit, helyzettől függetlenül! + Универсальный ключ, открывающий любой замок. + + + A lockpick set that can pick the locks of most vehicles. + Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... + Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. + Un crochet qui ouvrira la plupart des véhicules. + Zestaw wytrychów dzięki któremu można otworzyć zamki w większości pojazdów. + Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. + Egy tolvajkulcs-készlet, mely a legtöbb jármű zárjait fel tudja törni. + Набор отмычек, которым можно взломать почти любую машину. + + + A key that should open most WEST vehicles. + Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos occidentales. + Une clé qui ouvrira la plupart des véhicules WEST. + Klucz który powinien otworzyć większość pojazdów ZACHODU. + Klíč který by měl otevřít většinou Západních vozidel. + Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. + Ключ для открытия большинства машин Запада. + + + A key that should open most EAST vehicle. + Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos orientales. + Une clé qui ouvrira la plupart des véhicules EAST. + Klucz który powinien otworzyć większość pojazdów WSCHODU. + Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. + Klíč který by měl otevřít vetšinu Východních vozidel. + Ключ для открытия большинства машин Востока. + + + A key that should open most INDEP vehicle. + Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... + Una llave que puede abrir la mayoría de vehículos independientes. + Une clé qui ouvrira la plupart des véhicules INDEP. + Klucz który powinien otworzyć większość pojazdów INDFOR. + Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. + Klíč který by měl otevřít většinu Nezávislých vozidel. + Ключ для открытия большинства машин Независимых. + + + A key that should open most CIV vehicle. + Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos civiles. + Une clé qui ouvrira la plupart des véhicules CIV. + Klucz który powinien otworzyć większość pojazdów CYWILNYCH. + Klíč který by měl otevřít většinu Civilních vozidel. + Egy kulcs, ami a CIVIL járművek többségét ki tudja nyitni. + Ключ для открытия большинства машин Гражданских. + + \ No newline at end of file diff --git a/addons/vehicles/stringtable.xml b/addons/vehicles/stringtable.xml index 4fbb91ebcd..2312ce6027 100644 --- a/addons/vehicles/stringtable.xml +++ b/addons/vehicles/stringtable.xml @@ -1,43 +1,42 @@ - + + - - - - Speed Limiter on - Begrenzer an - Limitador de velocidad activado - Ogranicznik prędkości włączony - Omezovač rychlosti zapnout - Limiteur de vitesse Activé - Ограничение скорости включено - Sebességkorlát bekapcsolva - Limitador de Velocidade Ativo - Limitatore Attivo - - - Speed Limiter off - Begrenzer aus - Limitador de velocidad desactivado - Ogranicznik prędkości wyłączony - Omezovač rychlosti vypnout - Limiteur de vitesse Désactivé - Ограничение скорости выключено - Sebességkorlát kikapcsolva - Limitador de Velocidade Desativado - Limitatore Non Attivo - - - - Speed Limiter - Begrenzer - Limitador de velocidad - Ogranicznik prędkości - Omezovač rychlosti - Limiteur de vitesse - Ограничение скорости - Sebességkorlát - Limitador de Velocidade - Limitatore di Velocità - - - + + + Speed Limiter on + Begrenzer an + Limitador de velocidad activado + Ogranicznik prędkości włączony + Omezovač rychlosti zapnout + Limiteur de vitesse Activé + Ограничение скорости включено + Sebességkorlátozó bekapcsolva + Limitador de Velocidade Ativo + Limitatore Attivo + + + Speed Limiter off + Begrenzer aus + Limitador de velocidad desactivado + Ogranicznik prędkości wyłączony + Omezovač rychlosti vypnout + Limiteur de vitesse Désactivé + Ограничение скорости выключено + Sebességkorlátozó kikapcsolva + Limitador de Velocidade Desativado + Limitatore Non Attivo + + + Speed Limiter + Begrenzer + Limitador de velocidad + Ogranicznik prędkości + Omezovač rychlosti + Limiteur de vitesse + Ограничение скорости + Sebességkorlátozó + Limitador de Velocidade + Limitatore di Velocità + + + \ No newline at end of file diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index c7bd64a824..589b9b53a3 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -1,261 +1,264 @@  + - - - Display text on grenade throw - Zeige Text beim Granatwurf - Mostrar texto al lanzar granada - Показывать текст при броске - Zobrazí text při hodu granátem - - - Display a hint or text on grenade throw. - Zeige Hinweis oder Text beim Granatwurf - Muestra una notificación o texto al lanzar granada - Показывать текст или подсказку при броске гранаты. - Zobrazí upozornění nebo text při hodu granátem. - - - Select Pistol - Pistole auswählen - Seleccionar pistola - Wybierz pistolet - Zvolit příruční zbraň - Выбрать пистолет - Sélectionner Pistolet - Pisztoly Kiválasztása - Selecionar Pistola - Seleziona la Pistola - - - Select Rifle - Gewehr auswählen - Seleccionar fusil - Wybierz karabin - Zvolit hlavní zbraň - Выбрать автомат - Sélectionner Fusil - Puska Kiválasztása - Selecionar Rifle - Seleziona il Fucile - - - Select Launcher - Raketenwerfer auswählen - Seleccionar lanzador - Wybierz wyrzutnię - Zvolit Raketomet - Выбрать гранатомет - Sélectionner Lanceur - Rakétavető Kiválasztása - Selecionar Lançador - Seleziona il Lanciatore - - - Select Grenade Launcher - Granatwerfer auswählen - Seleccionar lanzador de granadas - Wybierz granatnik - Zvolit Granátomet - Выбрать подствольный гранатомет - Sélectionner Lance-grenades - Gránátvető Kiválasztása - Selecionar Lança-Granadas - Seleziona il Lanciagranate - - - Select Binoculars - Fernglas auswählen - Seleccionar prismáticos - Wybierz lornetkę - Zvolit Dalekohled - Выбрать бинокль - Sélectionner Jumelles - Távcső Kiválasztása - Selecionar Binóculos - Seleziona il Binocolo - - - Holster Weapon - Waffe holstern - Enfundar el arma - Schowaj broń - Schovat zbraň - Убрать оружие - Arme à la bretelle - Fegyvert tokba - Guardar Arma - Nascondi l'arma - - - Engine on - Motor an - Encender motor - Włącz silnik - Moteur allumé - Motor indítása - Zapnout motor - Ligar Motor - Motore acceso - Включить двигатель - - - Engine off - Motor aus - Apagar motor - Wyłącz silnik - Moteur éteint - Motor leállítása - Vypnout motor - Desligar Motor - Motore spento - Выключить двигатель - - - Select Main Gun - Hauptgeschütz auswählen - Seleccionar arma principal - Wybierz główną broń - Sélectionner l'Arme Principale - Elsődleges Fegyver Kiválasztása - Zvolit Hlavní Zbraň - Selecionar Arma Principal - Seleziona Arma Primaria - Выбрать основное оружие - - - Select Machine Gun - Maschinengewehr auswählen - Seleccionar ametralladora - Wybierz karabin maszynowy - Sélectionner Mitrailleuse - Géppuska Kiválasztása - Zvolit Kulomet - Selecionar Metralhadora - Seleziona Mitragliatrice - Выбрать пулемёт - - - Select Missiles - Raketen auswählen - Seleccionar misiles - Wybierz rakiety - Sélectionner Missiles - Rakéták Kiválasztása - Zvolit Rakety - Selecionar Mísseis - Seleziona Missili - Выбрать ракеты - - - Grenade %1 - Granate %1 - Granada %1 - Granat %1 - Granát %1 - Gránát Kiválasztása - Граната %1 - - - Ready Grenade - Granate nehmen - Granada lista - Przygotuj granat - Odjistit granát - Kész Gránát - Подготовить гранату - - - Select Frag Grenade - Explosive Granate auswählen - Seleccionar granada de fragmenación - Wybierz granat odłamkowy - Sélectionner grenade à fragmentation - Repeszgránát Kiválasztása - Zvolit Výbušný Granát - Selecionar Granada de Fragmentação - Seleziona Granata a Frammentazione - Выбрать осколочную гранату - - - Select Non-Frag Grenade - Nichtexplosive Granate auswählen - Seleccionar granada de no fragmentación - Wybierz granat nieodłamkowy - Sélectionner grenade non-léthale - Nem Robbanó Gránát Kiválasztása - Zvolit Ne-Výbušný Granát - Selecionar Granada - Seleziona Altre Granate - Выбрать гранату - - - Throw Selected Grenade - Gewählte Granate werfen - Arrojar granada seleccionada - Rzuć wybrany granat - Lancer la grenade sélectionnée - Kiválasztott Gránát Eldobása - Hodit Zvolený Granát - Lançar Granada Selecionada - Lancia la Granata Selezionata - Бросить выбранную гранату - - - No grenades left - Keine Granaten übrig - No quedan granadas - Plus de grenades - Brak granatów - Žádné granáty - Nincs több gránát - Гранат не осталось - - - No frags left - Keine explosiven Granaten übrig - Sin granadas de fragmentación - Brak granatów odłamkowych - Plus de grenades à fragmentation - Nincs több repeszgránát - Už nejsou granáty - Não há granadas de fragmentação restantes - Nessuna granata a frammentazione rimanente - Осколочныких гранат нет - - - No misc. grenades left - Keine nichtexplosiven Granaten übrig - Sin granadas de varias - Brak granatów nieodłamkowych - Plus de grenades non-léthales - Nincs több egyéb gránát - Už nejsou žádné ostatní granáty - Não há outras granadas restantes - Nessun'altra granata rimanente. - Летальные гранаты закончились - - - No grenade selected - Keine Granate ausgewählt - Granada no seleccionada - Nie wybrano żadnego granatu - Aucune grenade sélectionnée - Nincs kiválasztva gránát - Není zvolen žádný granát - Nenhuma granada selecionada - Nessuna granata selezionata - Нет выбранной гранаты - - - Fire Smoke Launcher - Rauchwand abfeuern - Disparar lanzador de humo - Kouřový odpalovač - Tirer le lance-pots fumigènes - Wystrzel granat dymny - Füst kilövése - Запустить дымовую завесу - - - + + + Display text on grenade throw + Zeige Text beim Granatwurf + Mostrar texto al lanzar granada + Показывать текст при броске + Zobrazí text při hodu granátem + Szöveg mutatása gránát eldobásakor + + + Display a hint or text on grenade throw. + Zeige Hinweis oder Text beim Granatwurf + Muestra una notificación o texto al lanzar granada + Показывать текст или подсказку при броске гранаты. + Zobrazí upozornění nebo text při hodu granátem. + Jelez egy súgót vagy szöveget a gránát eldobásakor. + + + Select Pistol + Pistole auswählen + Seleccionar pistola + Wybierz pistolet + Zvolit příruční zbraň + Выбрать пистолет + Sélectionner Pistolet + Pisztoly Kiválasztása + Selecionar Pistola + Seleziona la Pistola + + + Select Rifle + Gewehr auswählen + Seleccionar fusil + Wybierz karabin + Zvolit hlavní zbraň + Выбрать автомат + Sélectionner Fusil + Puska Kiválasztása + Selecionar Rifle + Seleziona il Fucile + + + Select Launcher + Raketenwerfer auswählen + Seleccionar lanzador + Wybierz wyrzutnię + Zvolit Raketomet + Выбрать гранатомет + Sélectionner Lanceur + Rakétavető Kiválasztása + Selecionar Lançador + Seleziona il Lanciatore + + + Select Grenade Launcher + Granatwerfer auswählen + Seleccionar lanzador de granadas + Wybierz granatnik + Zvolit Granátomet + Выбрать подствольный гранатомет + Sélectionner Lance-grenades + Gránátvető Kiválasztása + Selecionar Lança-Granadas + Seleziona il Lanciagranate + + + Select Binoculars + Fernglas auswählen + Seleccionar prismáticos + Wybierz lornetkę + Zvolit Dalekohled + Выбрать бинокль + Sélectionner Jumelles + Távcső Kiválasztása + Selecionar Binóculos + Seleziona il Binocolo + + + Holster Weapon + Waffe holstern + Enfundar el arma + Schowaj broń + Schovat zbraň + Убрать оружие + Arme à la bretelle + Fegyvert tokba + Guardar Arma + Nascondi l'arma + + + Engine on + Motor an + Encender motor + Włącz silnik + Moteur allumé + Motor indítása + Zapnout motor + Ligar Motor + Motore acceso + Включить двигатель + + + Engine off + Motor aus + Apagar motor + Wyłącz silnik + Moteur éteint + Motor leállítása + Vypnout motor + Desligar Motor + Motore spento + Выключить двигатель + + + Select Main Gun + Hauptgeschütz auswählen + Seleccionar arma principal + Wybierz główną broń + Sélectionner l'Arme Principale + Elsődleges Fegyver Kiválasztása + Zvolit Hlavní Zbraň + Selecionar Arma Principal + Seleziona Arma Primaria + Выбрать основное оружие + + + Select Machine Gun + Maschinengewehr auswählen + Seleccionar ametralladora + Wybierz karabin maszynowy + Sélectionner Mitrailleuse + Géppuska Kiválasztása + Zvolit Kulomet + Selecionar Metralhadora + Seleziona Mitragliatrice + Выбрать пулемёт + + + Select Missiles + Raketen auswählen + Seleccionar misiles + Wybierz rakiety + Sélectionner Missiles + Rakéták Kiválasztása + Zvolit Rakety + Selecionar Mísseis + Seleziona Missili + Выбрать ракеты + + + Grenade %1 + Granate %1 + Granada %1 + Granat %1 + Granát %1 + Gránát: %1 + Граната %1 + + + Ready Grenade + Granate nehmen + Granada lista + Przygotuj granat + Odjistit granát + Gránát előkészítése + Подготовить гранату + + + Select Frag Grenade + Explosive Granate auswählen + Seleccionar granada de fragmenación + Wybierz granat odłamkowy + Sélectionner grenade à fragmentation + Repeszgránát Kiválasztása + Zvolit Výbušný Granát + Selecionar Granada de Fragmentação + Seleziona Granata a Frammentazione + Выбрать осколочную гранату + + + Select Non-Frag Grenade + Nichtexplosive Granate auswählen + Seleccionar granada de no fragmentación + Wybierz granat nieodłamkowy + Sélectionner grenade non-léthale + Nem-robbanó Gránát Kiválasztása + Zvolit Ne-Výbušný Granát + Selecionar Granada + Seleziona Altre Granate + Выбрать гранату + + + Throw Selected Grenade + Gewählte Granate werfen + Arrojar granada seleccionada + Rzuć wybrany granat + Lancer la grenade sélectionnée + Kiválasztott Gránát Eldobása + Hodit Zvolený Granát + Lançar Granada Selecionada + Lancia la Granata Selezionata + Бросить выбранную гранату + + + No grenades left + Keine Granaten übrig + No quedan granadas + Plus de grenades + Brak granatów + Žádné granáty + Nincs több gránát + Гранат не осталось + + + No frags left + Keine explosiven Granaten übrig + Sin granadas de fragmentación + Brak granatów odłamkowych + Plus de grenades à fragmentation + Nincs több repeszgránát + Už nejsou granáty + Não há granadas de fragmentação restantes + Nessuna granata a frammentazione rimanente + Осколочныких гранат нет + + + No misc. grenades left + Keine nichtexplosiven Granaten übrig + Sin granadas de varias + Brak granatów nieodłamkowych + Plus de grenades non-léthales + Nincs több egyéb gránát + Už nejsou žádné ostatní granáty + Não há outras granadas restantes + Nessun'altra granata rimanente. + Летальные гранаты закончились + + + No grenade selected + Keine Granate ausgewählt + Granada no seleccionada + Nie wybrano żadnego granatu + Aucune grenade sélectionnée + Nincs semmilyen gránát kiválasztva + Není zvolen žádný granát + Nenhuma granada selecionada + Nessuna granata selezionata + Нет выбранной гранаты + + + Fire Smoke Launcher + Rauchwand abfeuern + Disparar lanzador de humo + Kouřový odpalovač + Tirer le lance-pots fumigènes + Wystrzel granat dymny + Füstvető eltüzelése + Запустить дымовую завесу + + + \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 271332c943..4f061e2d63 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,42 +1,48 @@ - + + - - - - Wind Information - Informacje o wietrze - Información del viento - Ветер - Informace o větru - - - Direction: %1 - Kierunek: %1 - Dirección: %1 - Направление: %1 - Směr: %1 - - - Speed: %1 m/s - Prędkość: %1 - Velocidad: %1 m/s - Скорость: %1 м/с - Rychlost: %1 m/s - - - Weather Information - Informacje o pogodzie - Información Meteorológica - Погода - Informace o počasí - - - Humidity: %1% - Wilgotność: %1 - Humedad: %1% - Влажность: %1% - Vlhkost: %1% - - - - + + + + Wind Information + Informacje o wietrze + Información del viento + Ветер + Informace o větru + Szélinformáció + + + Direction: %1 + Kierunek: %1 + Dirección: %1 + Направление: %1 + Směr: %1 + Irány: %1 + + + Speed: %1 m/s + Prędkość: %1 + Velocidad: %1 m/s + Скорость: %1 м/с + Rychlost: %1 m/s + Sebesség: %1 m/s + + + Weather Information + Informacje o pogodzie + Información Meteorológica + Погода + Informace o počasí + Időjárás-Információ + + + Humidity: %1% + Wilgotność: %1 + Humedad: %1% + Влажность: %1% + Vlhkost: %1% + Páratartalom: %1% + + + + \ No newline at end of file From 35044fa16b46705d93d4902f08785526472a7d4b Mon Sep 17 00:00:00 2001 From: Harakhti Date: Tue, 14 Apr 2015 00:06:50 +0200 Subject: [PATCH 035/247] Contribution! It feels awkward to add myself on a list. --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 148f2835fb..087ddfae4f 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -47,6 +47,7 @@ GieNkoV gpgpgpgp Grzegorz Hamburger SV +Harakhti havena Hawkins jokoho48 From 3da3543381b4e94a9c428098d73cd05717efd097 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 14 Apr 2015 00:32:09 +0200 Subject: [PATCH 036/247] toggle laser vs ir laser --- addons/laserpointer/CfgVehicles.hpp | 5 +- addons/laserpointer/CfgWeapons.hpp | 31 +++++++++- addons/laserpointer/XEH_postInit.sqf | 15 ++++- addons/laserpointer/XEH_preInit.sqf | 1 + addons/laserpointer/config.cpp | 2 +- .../functions/fnc_switchLaserLightMode.sqf | 58 +++++++++++++++++++ addons/laserpointer/stringtable.xml | 12 ++++ 7 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 addons/laserpointer/functions/fnc_switchLaserLightMode.sqf diff --git a/addons/laserpointer/CfgVehicles.hpp b/addons/laserpointer/CfgVehicles.hpp index 8c81837fe2..5a0ece1b1f 100644 --- a/addons/laserpointer/CfgVehicles.hpp +++ b/addons/laserpointer/CfgVehicles.hpp @@ -2,7 +2,7 @@ class CfgVehicles { class NATO_Box_Base; class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(ACE_acc_pointer_red,4); + MACRO_ADDITEM(ACE_acc_pointer_green,4); }; }; @@ -23,13 +23,12 @@ class CfgVehicles { class FIA_Box_Base_F; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(ACE_acc_pointer_red,4); + MACRO_ADDITEM(ACE_acc_pointer_green,4); }; }; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_acc_pointer_red,4); MACRO_ADDITEM(ACE_acc_pointer_green,4); }; }; diff --git a/addons/laserpointer/CfgWeapons.hpp b/addons/laserpointer/CfgWeapons.hpp index 364f4b2168..4f6a61c83a 100644 --- a/addons/laserpointer/CfgWeapons.hpp +++ b/addons/laserpointer/CfgWeapons.hpp @@ -1,17 +1,28 @@ class SlotInfo; class PointerSlot: SlotInfo { - compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; + compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green_IR","ACE_acc_pointer_green"}; }; class CfgWeapons { class ItemCore; class InventoryFlashLightItem_Base_F; + class acc_pointer_IR: ItemCore { + ACE_nextModeClass = "ACE_acc_pointer_red"; + ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser"; + + displayName = "$STR_ACE_Laserpointer_red"; + descriptionUse = "$STR_ACE_Laserpointer_useLaser"; + }; + class ACE_acc_pointer_red: ItemCore { + ACE_nextModeClass = "acc_pointer_IR"; + ACE_modeDescription = "$STR_ACE_Laserpointer_Laser"; + author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_acc_pointer_red"; - scope = 2; + scope = 1; displayName = "$STR_ACE_Laserpointer_red"; descriptionUse = "$STR_ACE_Laserpointer_useLaser"; picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa"; @@ -54,9 +65,23 @@ class CfgWeapons { inertia = 0.1; }; - class ACE_acc_pointer_green: ACE_acc_pointer_red { + class ACE_acc_pointer_green_IR: acc_pointer_IR { + ACE_nextModeClass = "ACE_acc_pointer_green"; + ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser"; + author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_acc_pointer_green"; + scope = 1; + displayName = "$STR_ACE_Laserpointer_green"; + }; + + class ACE_acc_pointer_green: ACE_acc_pointer_red { + ACE_nextModeClass = "ACE_acc_pointer_green_IR"; + ACE_modeDescription = "$STR_ACE_Laserpointer_Laser"; + + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_acc_pointer_green"; + scope = 2; displayName = "$STR_ACE_Laserpointer_green"; }; }; diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index 14e4c384d8..eade50d670 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -11,7 +11,7 @@ GVAR(nearUnits) = []; // @todo. Maybe move to common? [{ private "_nearUnits"; - _nearUnits = nearestObjects [positionCameraToWorld [0,0,0], ["CAManBase"], 50]; + _nearUnits = nearestObjects [positionCameraToWorld [0,0,0], ["CAManBase"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV if (count _nearUnits > 10) then { _nearUnits resize 10; @@ -24,3 +24,16 @@ GVAR(nearUnits) = []; addMissionEventHandler ["Draw3D", { call FUNC(onDraw); }]; + +// init keybinds +["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", +{ + // Conditions: canInteract + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; + + [ACE_player, currentWeapon ACE_player] call FUNC(switchLaserLightMode); + true +}, +{false}, [38, [false, true, false]], false] call CBA_fnc_addKeybind; diff --git a/addons/laserpointer/XEH_preInit.sqf b/addons/laserpointer/XEH_preInit.sqf index e7c74d3445..1460abda36 100644 --- a/addons/laserpointer/XEH_preInit.sqf +++ b/addons/laserpointer/XEH_preInit.sqf @@ -4,5 +4,6 @@ ADDON = false; PREP(drawLaserpoint); PREP(onDraw); +PREP(switchLaserLightMode); ADDON = true; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index b97587dac6..5ca5ce3470 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; + weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green","ACE_acc_pointer_green_IR"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author[] = {"commy2"}; diff --git a/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf new file mode 100644 index 0000000000..f996d6b270 --- /dev/null +++ b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf @@ -0,0 +1,58 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_weapon"]; + +_unit = _this select 0; +_weapon = _this select 1; + +// 1 = primary, 2 = secondary, 3 = handgun +private "_currentWeaponType"; +_currentWeaponType = 0; + +private "_pointer"; +_pointer = switch (_weapon) do { + case (primaryWeapon _unit): { + _currentWeaponType = 1; + primaryWeaponItems _unit select 1 + }; + case (secondaryWeapon _unit): { + _currentWeaponType = 2; + secondaryWeaponItems _unit select 1 + }; + case (handgunWeapon _unit): { + _currentWeaponType = 3; + handgunItems _unit select 1 + }; + default {""}; +}; + +if (_pointer == "") exitWith {}; + +private "_nextPointer"; +_nextPointer = getText (configFile >> "CfgWeapons" >> _pointer >> "ACE_nextModeClass"); + +if (_nextPointer == "") exitWith {}; + +private ["_description", "_picture"]; + +_description = getText (configFile >> "CfgWeapons" >> _nextPointer >> "ACE_modeDescription"); +_picture = getText (configFile >> "CfgWeapons" >> _nextPointer >> "picture"); + +switch (_currentWeaponType) do { + case 1: { + _unit removePrimaryWeaponItem _pointer; + _unit addPrimaryWeaponItem _nextPointer; + }; + case 2: { + _unit removeSecondaryWeaponItem _pointer; + _unit addSecondaryWeaponItem _nextPointer; + }; + case 3: { + _unit removeHandgunItem _pointer; + _unit addHandgunItem _nextPointer; + }; +}; + +[_description, _picture] call EFUNC(common,displayTextPicture); +playSound "ACE_Sound_Click"; diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index a5a153aca4..169b5bb059 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -36,5 +36,17 @@ <t color='#9cf953'>Использовать: </t>вкл/выкл лазер <t color='#9cf953'>Usar: </t>encender/apagar láser + + Laser + Laser + + + IR Laser + IR-Laser + + + Switch Laser / IR Laser + Umschalten Laser / IR-Laser + From 83c8abb3ba7f4423349476bf8f4336f501db7bcd Mon Sep 17 00:00:00 2001 From: Coren4 Date: Tue, 14 Apr 2015 12:41:35 +0200 Subject: [PATCH 037/247] Update stringtable.xml --- addons/safemode/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index cb74ef060e..41d45a4d6f 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -27,7 +27,7 @@ Mettre le cran de sureté Waffe gesichert Poner seguro - Zabezpiecz broń + Zabezpieczono broń Přepnout pojistku Veszélytelenitve Поставить на предохранитель From 83ce3fa2bda08c8a7fe0342a40a611292046483b Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 14 Apr 2015 13:14:37 +0200 Subject: [PATCH 038/247] remove drawline3d --- .../functions/fnc_drawLaserpoint.sqf | 31 ++++++++++++++----- addons/laserpointer/functions/fnc_onDraw.sqf | 2 +- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf index 82b989e470..93a421a094 100644 --- a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf +++ b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf @@ -1,6 +1,19 @@ // by commy2 and esteldunedain #include "script_component.hpp" +// init object +/*if (isNil QGVAR(laserdot)) then { + _light = "#lightpoint" createVehicleLocal [0,0,0]; + _light setLightBrightness 10; + _light setLightColor [1,0,0]; + _light setLightAmbient [1,0,0]; + _light setLightDayLight true; + //_light lightAttachObject [GVAR(laserdot), [0,0,0]]; + _light setLightAttenuation [0.04,4,4,0,0.04,0.08]; + + GVAR(laserdot) = _light; +};*/ + EXPLODE_3_PVT(_this,_unit,_range,_isGreen); _p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand"); @@ -97,15 +110,15 @@ if (!surfaceIsWater _pL) then { _pL = ASLtoATL _pL; }; -if (call EFUNC(common,ambientBrightness) < 0.2) then { - drawLine3D [ - _p0Pos, - _pL, - [[1,0,0,1], [0,1,0,1]] select _isGreen - ]; -}; +/* +drawLine3D [ + _p0Pos, + _pL, + [[1,0,0,1], [0,1,0,1]] select _isGreen +]; +*/ -_size = 2 * (_range - (positionCameraToWorld [0,0,0] distance _pL)) / _range; +_size = 2 * (_range - (positionCameraToWorld [0,0,0] vectorDistance _pL)) / _range; _camPos = positionCameraToWorld [0,0,0.2]; if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith {}; @@ -116,6 +129,8 @@ if (!surfaceIsWater _camPos) then { _camPos = ATLtoASL _camPos; }; if ( terrainIntersectASL [_camPos, _pL2]) exitWith {}; if ( lineIntersects [_camPos, _pL2]) exitWith {}; +//GVAR(laserdot) setPos _pL; + drawIcon3D [ format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen], [[1,0.25,0.25,0.5*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen, diff --git a/addons/laserpointer/functions/fnc_onDraw.sqf b/addons/laserpointer/functions/fnc_onDraw.sqf index 6fa7275531..0e4ddf981a 100644 --- a/addons/laserpointer/functions/fnc_onDraw.sqf +++ b/addons/laserpointer/functions/fnc_onDraw.sqf @@ -28,7 +28,7 @@ _isIR = _isIR == 1; _laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser; if (_laserID > -1 && {_x isFlashlightOn _weapon}) then { - [_x, 30, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); + [_x, 50, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); }; } forEach GVAR(nearUnits); From f89e02a5ca15b9ea2aba1e9c008357c389d78c9c Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 14 Apr 2015 13:24:17 +0200 Subject: [PATCH 039/247] fix no laser in ffv slots --- addons/laserpointer/XEH_postInit.sqf | 26 ++++++++++---------------- addons/laserpointer/initKeybinds.sqf | 13 +++++++++++++ 2 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 addons/laserpointer/initKeybinds.sqf diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index eade50d670..38fc35f262 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -11,11 +11,16 @@ GVAR(nearUnits) = []; // @todo. Maybe move to common? [{ private "_nearUnits"; - _nearUnits = nearestObjects [positionCameraToWorld [0,0,0], ["CAManBase"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV + _nearUnits = []; - if (count _nearUnits > 10) then { - _nearUnits resize 10; - }; + { + _nearUnits append crew _x; + + if (count _nearUnits > 10) exitWith { + _nearUnits resize 10; + }; + + } forEach nearestObjects [positionCameraToWorld [0,0,0], ["AllVehicles"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV GVAR(nearUnits) = _nearUnits; @@ -25,15 +30,4 @@ addMissionEventHandler ["Draw3D", { call FUNC(onDraw); }]; -// init keybinds -["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", -{ - // Conditions: canInteract - if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; - // Conditions: specific - if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; - - [ACE_player, currentWeapon ACE_player] call FUNC(switchLaserLightMode); - true -}, -{false}, [38, [false, true, false]], false] call CBA_fnc_addKeybind; +#include "initKeybinds.sqf" diff --git a/addons/laserpointer/initKeybinds.sqf b/addons/laserpointer/initKeybinds.sqf new file mode 100644 index 0000000000..04516f0757 --- /dev/null +++ b/addons/laserpointer/initKeybinds.sqf @@ -0,0 +1,13 @@ +// by commy2 + +["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", +{ + // Conditions: canInteract + if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false}; + + [ACE_player, currentWeapon ACE_player] call FUNC(switchLaserLightMode); + true +}, +{false}, [38, [false, true, false]], false] call CBA_fnc_addKeybind; From 128a6f3e0fe3c70920e1ed306908974a54eee44d Mon Sep 17 00:00:00 2001 From: nomisum Date: Tue, 14 Apr 2015 16:09:04 +0200 Subject: [PATCH 040/247] added myself to authors.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 906fc706a4..445156ebe5 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -59,6 +59,7 @@ MarcBook meat Michail Nikolaev nic547 +nomisum oscarmolinadev pokertour rakowozz From db890f3b48861598def2f0025cb472a816606298 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Tue, 14 Apr 2015 10:52:30 -0700 Subject: [PATCH 041/247] #576 - Obsolete PBO removal support added to build.py --- tools/build.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/build.py b/tools/build.py index 2b792f77dc..c6a425975e 100644 --- a/tools/build.py +++ b/tools/build.py @@ -19,6 +19,11 @@ def check_for_changes(addonspath, module): return True return mod_time(os.path.join(addonspath, module)) > mod_time(os.path.join(addonspath, "ace_{}.pbo".format(module))) +def check_for_obsolete_pbos(addonspath, file): + module = file[4:-4] + if not os.path.exists(os.path.join(addonspath, module)): + return True + return False def main(): print(""" @@ -36,6 +41,16 @@ def main(): made = 0 failed = 0 skipped = 0 + removed = 0 + + for file in os.listdir(addonspath): + if os.path.isfile(file): + if check_for_obsolete_pbos(addonspath, file): + removed += 1 + print(" Removing obsolete file => " + file) + os.remove(file) + print("") + for p in os.listdir(addonspath): path = os.path.join(addonspath, p) if not os.path.isdir(path): @@ -65,7 +80,7 @@ def main(): print(" Successfully made {}.".format(p)) print("\n# Done.") - print(" Made {}, skipped {}, failed to make {}.".format(made, skipped, failed)) + print(" Made {}, skipped {}, removed {}, failed to make {}.".format(made, skipped, removed, failed)) if __name__ == "__main__": From c379f2775eb2cb9494999f7985206e0c11ad4d55 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 20:27:42 +0200 Subject: [PATCH 042/247] Style fixes --- addons/medical/CfgVehicles.hpp | 86 ++++++++++++---------------------- 1 file changed, 29 insertions(+), 57 deletions(-) diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 4d7b23463a..18455b034d 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -645,7 +645,7 @@ class CfgVehicles { EGVAR(dragging,dragPosition[]) = {0,1.2,0}; EGVAR(dragging,dragDirection) = 0; class ACE_Actions { - class ACE_MainActions { + class ACE_MainActions { displayName = "$STR_ACE_Interaction_MainAction"; distance = 5; condition = QUOTE(true); @@ -696,10 +696,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_fieldDressing - { + class TransportItems { + class ACE_fieldDressing { name = "ACE_fieldDressing"; count = 1; }; @@ -711,10 +709,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_packingBandage - { + class TransportItems { + class ACE_packingBandage { name = "ACE_packingBandage"; count = 1; }; @@ -726,10 +722,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_elasticBandage - { + class TransportItems { + class ACE_elasticBandage { name = "ACE_elasticBandage"; count = 1; }; @@ -741,10 +735,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_tourniquet - { + class TransportItems { + class ACE_tourniquet { name = "ACE_tourniquet"; count = 1; }; @@ -756,10 +748,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_morphine - { + class TransportItems { + class ACE_morphine { name = "ACE_morphine"; count = 1; }; @@ -771,10 +761,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_atropine - { + class TransportItems { + class ACE_atropine { name = "ACE_atropine"; count = 1; }; @@ -786,10 +774,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_epinephrine - { + class TransportItems { + class ACE_epinephrine { name = "ACE_epinephrine"; count = 1; }; @@ -801,10 +787,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_PLASMA_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_plasmaIV - { + class TransportItems { + class ACE_plasmaIV { name = "ACE_plasmaIV"; count = 1; }; @@ -817,10 +801,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BLOOD_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_bloodIV - { + class TransportItems { + class ACE_bloodIV { name = "ACE_bloodIV"; count = 1; }; @@ -832,10 +814,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_SALINE_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_salineIV - { + class TransportItems { + class ACE_salineIV { name = "ACE_salineIV"; count = 1; }; @@ -847,10 +827,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_quikClot - { + class TransportItems { + class ACE_quikClot { name = "ACE_quikclot"; count = 1; }; @@ -862,10 +840,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_personalAidKit - { + class TransportItems { + class ACE_personalAidKit { name = "ACE_personalAidKit"; count = 1; }; @@ -877,10 +853,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_surgicalKit - { + class TransportItems { + class ACE_surgicalKit { name = "ACE_surgicalKit"; count = 1; }; @@ -892,10 +866,8 @@ class CfgVehicles { displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; - class TransportItems - { - class ACE_bodyBag - { + class TransportItems { + class ACE_bodyBag { name = "ACE_bodyBag"; count = 1; }; From a4c93ab2e20272d6b9943299d75f008a7e84c1c3 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 20:28:00 +0200 Subject: [PATCH 043/247] Add seperate crates for basic and advanced --- addons/medical/CfgVehicles.hpp | 35 +++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 18455b034d..dc13964752 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -878,9 +878,42 @@ class CfgVehicles { class ACE_medicalSupplyCrate: NATO_Box_Base { scope = 2; accuracy = 1000; - displayName = "[ACE] Medical Supply Crate"; + displayName = "[ACE] Medical Supply Crate (basic)"; model = PATHTOF(data\ace_medcrate.p3d); author = "$STR_ACE_Common_ACETeam"; + class TransportItems { + class ACE_fieldDressing { + name = "ACE_fieldDressing"; + count = 50; + }; + class ACE_morphine { + name = "ACE_morphine"; + count = 25; + }; + class ACE_epinephrine { + name = "ACE_epinephrine"; + count = 25; + }; + class ACE_bloodIV { + name = "ACE_bloodIV"; + count = 15; + }; + class ACE_bloodIV_500 { + name = "ACE_bloodIV_500"; + count = 15; + }; + class ACE_bloodIV_250 { + name = "ACE_bloodIV_250"; + count = 15; + }; + class ACE_bodyBag { + name = "ACE_bodyBag"; + count = 10; + }; + }; + }; + class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate { + displayName = "[ACE] Medical Supply Crate (advanced)"; class TransportItems { class ACE_fieldDressing { name = "ACE_fieldDressing"; From 7ca36cdb6597ae8da36611684a9c17a166ca0635 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 20:28:19 +0200 Subject: [PATCH 044/247] Always show wounds, even for very low damage --- addons/medical/functions/fnc_displayPatientInformation.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index fb374f8631..7952a41ec0 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -128,7 +128,7 @@ if (_show) then { { _selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x]; - if (_target getHitPointDamage _x > 0.1 && {_forEachIndex == _selectionN}) then { + if (_target getHitPointDamage _x > 0 && {_forEachIndex == _selectionN}) then { // @todo localize _allInjuryTexts pushBack [format ["%1 %2", ["Lightly wounded", "Heavily wounded"] select (_target getHitPointDamage _x > 0.5), From ba377dfd3a382ca58e155ca9236961f8df8fec63 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 20:40:17 +0200 Subject: [PATCH 045/247] Show seperate message for "scratches"; localize --- .../fnc_displayPatientInformation.sqf | 20 ++++++++++++---- addons/medical/stringtable.xml | 24 +++++++++++++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index 7952a41ec0..ecd2218c2b 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -129,11 +129,21 @@ if (_show) then { _selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x]; if (_target getHitPointDamage _x > 0 && {_forEachIndex == _selectionN}) then { - // @todo localize - _allInjuryTexts pushBack [format ["%1 %2", - ["Lightly wounded", "Heavily wounded"] select (_target getHitPointDamage _x > 0.5), - ["head", "torso", "left arm", "right arm", "left leg", "right leg"] select _forEachIndex - ], [1,1,1,1]]; + _pointDamage = _target getHitPointDamage _x; + _severity = switch (true) do { + case (_pointDamage > 0.5): {localize "STR_ACE_Medical_HeavilyWounded"}; + case (_pointDamage > 0.1): {localize "STR_ACE_Medical_LightlyWounded"}; + default {localize "STR_ACE_Medical_VeryLightlyWounded"}; + }; + _part = localize ([ + "STR_ACE_Medical_Head", + "STR_ACE_Medical_Torso", + "STR_ACE_Medical_LeftArm", + "STR_ACE_Medical_RightArm", + "STR_ACE_Medical_LeftLeg", + "STR_ACE_Medical_RightLeg" + ] select _forEachIndex); + _allInjuryTexts pushBack [format ["%1 %2", _severity, toLower _part], [1,1,1,1]]; }; } forEach ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; }; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 145c14b264..d423ae3204 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1284,5 +1284,29 @@ %1 założył stazę %1 a appliqué un garrot + + Head + Kopf + + + Torso + Torso + + + Left Arm + Linker Arm + + + Right Arm + Rechter Arm + + + Left Leg + Linkes Bein + + + Right Leg + Rechtes Bein + From 71b19b46214a9b47cc3aa583ebb0a9c781815248 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 20:40:38 +0200 Subject: [PATCH 046/247] Remove duplicate bleeding code --- addons/medical/functions/fnc_getBloodLoss.sqf | 2 +- .../functions/fnc_handleUnitVitals.sqf | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index fb5a6d9e36..f6b26f7686 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -#define BLOODLOSSRATE_BASIC 0.08 +#define BLOODLOSSRATE_BASIC 0.2 private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index fc13e19d29..81c9ffea40 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -28,9 +28,8 @@ if (_syncValues) then { }; _bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 0]) + ([_unit] call FUNC(getBloodVolumeChange)); -if (_bloodVolume <= 0) then { - _bloodVolume = 0; -}; +_bloodVolume = _bloodVolume max 0; + _unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues]; // Set variables for synchronizing information across the net @@ -78,15 +77,11 @@ if (GVAR(level) == 1) then { // bleeding _blood = _unit getVariable [QGVAR(bloodVolume), 100]; - _blood = (_blood - 0.4 * (damage _unit) * _interval) max 0; - if (_blood != (_unit getVariable [QGVAR(bloodVolume), 100])) then { - _unit setVariable [QGVAR(bloodVolume), _blood, _syncValues]; - if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then { - [_unit, true] call FUNC(setUnconscious); - }; - if (_blood == 0) then { - [_unit] call FUNC(setDead); - }; + if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then { + [_unit, true] call FUNC(setUnconscious); + }; + if (_blood == 0) then { + [_unit] call FUNC(setDead); }; }; From 739807303b6cdb1ff15c488f6dce45df0c39272e Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 11:42:26 -0700 Subject: [PATCH 047/247] Fix script error for canceling designation and dying while designating. --- .../functions/fnc_laserHudDesignateOff.sqf | 5 +++++ .../functions/fnc_laserHudDesignateOn.sqf | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf index 17e7fcb76e..f8ff2ca0f5 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf @@ -22,4 +22,9 @@ if( (count _this) > 2) then { GVAR(active) = false; +if(!isNil QGVAR(selfDesignateHandle)) then { + [GVAR(selfDesignateHandle)] call CBA_fnc_removePerFrameHandler; + GVAR(selfDesignateHandle) = nil; +}; + true \ No newline at end of file diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index c480c051bb..400bf21756 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -83,7 +83,7 @@ if(!GVAR(active)) then { // @TODO: Nou gets to field all tickets about missing lasers. //_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player); - _handle = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; + GVAR(selfDesignateHandle) = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; } else { [] call FUNC(laserHudDesignateOff); [] call FUNC(laserHudDesignateOn); From e7807c009f301f835a98d00b981aee32e8e3033a Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 21:28:18 +0200 Subject: [PATCH 048/247] Use playerInventoryChanged instead of Take This makes sure to also fire when other mods, like TFAR (when adding backpacks) add items via script. --- addons/medical/CfgEventHandlers.hpp | 8 -------- addons/medical/XEH_postInit.sqf | 5 +++++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/addons/medical/CfgEventHandlers.hpp b/addons/medical/CfgEventHandlers.hpp index bf96b6a239..2fe5d0a9e5 100644 --- a/addons/medical/CfgEventHandlers.hpp +++ b/addons/medical/CfgEventHandlers.hpp @@ -47,11 +47,3 @@ class Extended_Local_EventHandlers { }; }; }; - -class Extended_Take_EventHandlers { - class CAManBase { - class ADDON { - take = QUOTE(call FUNC(itemCheck)); - }; - }; -}; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 1b0a38f1af..f5cd793b13 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -266,3 +266,8 @@ if (USE_WOUND_EVENT_SYNC) then { // Prevent all types of interaction while unconscious // @todo: probably remove this when CBA keybind hold key works properly ["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition); + +// Item Event Handler +["playerInventoryChanged", { + [ACE_player] call FUNC(itemCheck); +}] call EFUNC(common,addEventHandler); From ebcdafe6109c2a17ac673fae7b70a347d9d30708 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 21:43:19 +0200 Subject: [PATCH 049/247] Fix spelling of "isClientSetable" --- addons/common/config.cpp | 14 +++++++------- .../functions/fnc_setSettingFromConfig.sqf | 4 ++-- addons/goggles/config.cpp | 2 +- addons/hearing/config.cpp | 2 +- addons/interact_menu/config.cpp | 2 +- addons/inventory/config.cpp | 2 +- addons/microdagr/config.cpp | 2 +- addons/movement/config.cpp | 2 +- addons/nametags/config.cpp | 18 +++++++++--------- addons/overheating/config.cpp | 2 +- addons/reload/config.cpp | 2 +- addons/weaponselect/config.cpp | 2 +- 12 files changed, 27 insertions(+), 27 deletions(-) diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 90309af612..769ba37de1 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -69,9 +69,9 @@ class ACE_Settings { * force = 0; * * Does it appear on the options menu? - * isClientSetable = 1; + * isClientSettable = 1; * - * The following settings only apply when isClientSetable == 1 + * The following settings only apply when isClientSettable == 1 * Stringtable entry with the setting name * displayName = "$STR_ACE_Common_SettingName"; * @@ -90,14 +90,14 @@ class ACE_Settings { /*class GVAR(enableNumberHotkeys) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_EnableNumberHotkeys"; };*/ class GVAR(settingFeedbackIcons) { value = 1; typeName = "SCALAR"; force = 0; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; @@ -106,7 +106,7 @@ class ACE_Settings { value = 0; typeName = "SCALAR"; force = 0; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; values[] = {"Top", "Bottom"}; @@ -114,14 +114,14 @@ class ACE_Settings { class GVAR(displayTextColor) { value[] = {0,0,0,0.1}; typeName = "COLOR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; }; class GVAR(displayTextFontColor) { value[] = {1,1,1,1}; typeName = "COLOR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; }; diff --git a/addons/common/functions/fnc_setSettingFromConfig.sqf b/addons/common/functions/fnc_setSettingFromConfig.sqf index 9d93b9e62d..4d81ef3535 100644 --- a/addons/common/functions/fnc_setSettingFromConfig.sqf +++ b/addons/common/functions/fnc_setSettingFromConfig.sqf @@ -58,7 +58,7 @@ if (isNil _name) then { /*_settingData = [ _name, _typeName, - _isClientSetable, + _isClientSettable, _localizedName, _localizedDescription, _possibleValues, @@ -68,7 +68,7 @@ if (isNil _name) then { _settingData = [ _name, _typeName, - (getNumber (_optionEntry >> "isClientSetable")) > 0, + (getNumber (_optionEntry >> "isClientSettable")) > 0, getText (_optionEntry >> "displayName"), getText (_optionEntry >> "description"), getArray (_optionEntry >> "values"), diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index efda9b5436..7e8afe4d3d 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -247,7 +247,7 @@ class ACE_Settings { class GVAR(showInThirdPerson) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Goggles_ShowInThirdPerson"; }; }; diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index 6aab92b9bf..0813d0648e 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -38,7 +38,7 @@ class ACE_Settings { class GVAR(DisableEarRinging) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Hearing_DisableEarRinging"; }; }; diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 17900c2f6b..aaeb6db3e0 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -20,7 +20,7 @@ class ACE_Settings { class GVAR(AlwaysUseCursorSelfInteraction) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; }; }; diff --git a/addons/inventory/config.cpp b/addons/inventory/config.cpp index c7b6649be6..1268f8b886 100644 --- a/addons/inventory/config.cpp +++ b/addons/inventory/config.cpp @@ -18,7 +18,7 @@ class ACE_Settings { class GVAR(inventoryDisplaySize) { value = 0; typeName = "SCALAR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Inventory_SettingName"; description = "$STR_ACE_Inventory_SettingDescription"; values[] = {"Normal (Default Size)", "Medium", "Bigger"}; diff --git a/addons/microdagr/config.cpp b/addons/microdagr/config.cpp index e337aa96d5..4e459c126c 100644 --- a/addons/microdagr/config.cpp +++ b/addons/microdagr/config.cpp @@ -21,6 +21,6 @@ class ACE_Settings { class GVAR(MapDataAvailable) { value = 2; typeName = "SCALAR"; - isClientSetable = 0; + isClientSettable = 0; }; }; diff --git a/addons/movement/config.cpp b/addons/movement/config.cpp index 51ab97b80a..6cf2c9470c 100644 --- a/addons/movement/config.cpp +++ b/addons/movement/config.cpp @@ -21,7 +21,7 @@ class ACE_Settings { class GVAR(useImperial) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Movement_UseImperial"; }; }; diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index e67703e147..dce054a9ec 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -19,55 +19,55 @@ class ACE_Settings { class GVAR(defaultNametagColor) { value[] = {0.77, 0.51, 0.08, 1}; typeName = "COLOR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_DefaultNametagColor"; }; class GVAR(showPlayerNames) { value = 1; typeName = "SCALAR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowPlayerNames"; values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; }; class GVAR(showPlayerRanks) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowPlayerRanks"; }; class GVAR(showVehicleCrewInfo) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo"; }; class GVAR(showNamesForAI) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowNamesForAI"; }; class GVAR(showCursorTagForVehicles) { value = 0; typeName = "BOOL"; - isClientSetable = 0; + isClientSettable = 0; }; class GVAR(showSoundWaves) { value = 1; typeName = "SCALAR"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_NameTags_ShowSoundWaves"; values[] = {"Disabled", "Use Nametag settings", "Always Show All"}; }; class GVAR(PlayerNamesViewDistance) { value = 5; typeName = "SCALAR"; - isClientSetable = 0; + isClientSettable = 0; }; class GVAR(PlayerNamesMaxAlpha) { value = 0.8; typeName = "SCALAR"; - isClientSetable = 0; + isClientSettable = 0; }; }; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 3ccc8ee603..bd6cdbbdd3 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -23,7 +23,7 @@ class CfgPatches { class ACE_Settings { class GVAR(DisplayTextOnJam) { typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; value = 1; displayName = "$STR_ACE_overheating_SettingDisplayTextName"; description = "$STR_ACE_overheating_SettingDisplayTextDesc"; diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index 372292de89..02f5014379 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -25,7 +25,7 @@ class CfgPatches { class ACE_Settings { class GVAR(DisplayText) { typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; value = 1; displayName = "$STR_ACE_reload_SettingDisplayTextName"; description = "$STR_ACE_reload_SettingDisplayTextDesc"; diff --git a/addons/weaponselect/config.cpp b/addons/weaponselect/config.cpp index 80be936e98..68d0fe842d 100644 --- a/addons/weaponselect/config.cpp +++ b/addons/weaponselect/config.cpp @@ -17,7 +17,7 @@ class CfgPatches { class ACE_Settings { class GVAR(DisplayText) { typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; value = 1; displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName"; description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc"; From 684c36f8a5f215dcffb239ad215f874aec1bd775 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 21:49:56 +0200 Subject: [PATCH 050/247] Add pain effect option --- addons/medical/ACE_Settings.hpp | 6 ++++++ addons/medical/XEH_postInit.sqf | 3 +-- addons/medical/stringtable.xml | 8 ++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 4d2f2db9be..bd243b2d3f 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -117,4 +117,10 @@ class ACE_Settings { typeName = "BOOL"; value = 1; }; + class GVAR(painEffectType) { + typeName = "SCALAR"; + value = 0; + values[] = {"$STR_ACE_Medical_PainEffect_Flash", "$STR_ACE_Medical_PainEffect_Chroma"} + isClientSettable = 1; + }; }; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index f5cd793b13..7bcb536cd3 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -172,8 +172,7 @@ if (isNil QGVAR(level)) then { // Pain effect _strength = ACE_player getVariable [QGVAR(pain), 0]; // _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo - GVAR(alternativePainEffect) = false; // @todo - if (GVAR(alternativePainEffect)) then { + if (GVAR(painEffectType) == 1) then { GVAR(effectPainCC) ppEffectEnable false; if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { _strength = _strength * 0.15; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index d423ae3204..8e8d428b8f 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1308,5 +1308,13 @@ Right Leg Rechtes Bein + + Colour Flashing + Farbblinken + + + Chromatic Aberration + Chromatische Aberration + From 7af6ea36a6f0458389d7e6f0d04309ebed8c3b94 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 22:07:43 +0200 Subject: [PATCH 051/247] Fix missing pain effect option name --- addons/medical/ACE_Settings.hpp | 3 ++- addons/medical/stringtable.xml | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index bd243b2d3f..56e5a531ec 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -118,9 +118,10 @@ class ACE_Settings { value = 1; }; class GVAR(painEffectType) { + displayName = "$STR_ACE_Medical_painEffectType"; typeName = "SCALAR"; value = 0; - values[] = {"$STR_ACE_Medical_PainEffect_Flash", "$STR_ACE_Medical_PainEffect_Chroma"} + values[] = {"$STR_ACE_Medical_painEffect_Flash", "$STR_ACE_Medical_painEffect_Chroma"}; isClientSettable = 1; }; }; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 8e8d428b8f..391e277083 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1308,11 +1308,15 @@ Right Leg Rechtes Bein - + + Pain Effect Type + Schmerzeffekt-Typ + + Colour Flashing Farbblinken - + Chromatic Aberration Chromatische Aberration From f0a716fee8a513d0e942b56d9069f3ece94afb2c Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 14 Apr 2015 22:17:27 +0200 Subject: [PATCH 052/247] Added new ammo classes: *762x67mm Mk248 Mod 0 *762x67mm Mk248 Mod 1 *762x67mm Berger Hybrid OTM *65x47mm Scenar --- addons/ballistics/CfgAmmo.hpp | 80 ++++++++++++++++++++++++++++++++--- 1 file changed, 74 insertions(+), 6 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 620484950d..cea249cb4f 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -90,7 +90,8 @@ class CfgAmmo { ACE_muzzleVelocities[]={780, 880, 920}; ACE_barrelLengths[]={10, 16.3, 20}; }; - class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Red { + class B_556x45_Ball_Tracer_Yellow; + class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow { airFriction=-0.001162; caliber=0.5; deflecting=18; @@ -122,9 +123,24 @@ class CfgAmmo { ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; }; class B_65x39_Case_yellow; - class ACE_B_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { + class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { nvgOnly = 1; }; + class ACE_65x47_Ball_Scenar: B_65x39_Caseless + { + airFriction=-0.00078; + typicalSpeed=820 ; + ACE_caliber=0.264; + ACE_bulletLength=1.364; + ACE_bulletMass=139; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.290}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={760, 790, 820, 830}; + ACE_barrelLengths[]={16, 20, 24, 26}; + }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; typicalSpeed=833; @@ -140,8 +156,8 @@ class CfgAmmo { ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; ACE_barrelLengths[]={10, 16, 20, 24, 26}; }; - class B_762x51_Tracer_Red; - class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Red { + class B_762x51_Tracer_Yellow; + class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { nvgOnly = 1; }; class ACE_762x51_Ball_M118LR : B_762x51_Ball { @@ -160,6 +176,57 @@ class CfgAmmo { ACE_muzzleVelocities[]={750, 780, 790, 794}; ACE_barrelLengths[]={16, 20, 24, 26}; }; + class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball + { + airFriction=-0.000830; + caliber=1.08; + hit=17; + typicalSpeed=900; + ACE_caliber=0.308; + ACE_bulletLength=1.353; + ACE_bulletMass=190; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.268}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={865, 900, 924}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball + { + airFriction=-0.000815; + caliber=1.12; + hit=18; + typicalSpeed=867; + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={847, 867, 877}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball + { + airFriction=-0.00076; + caliber=1.15; + hit=19; + typicalSpeed=853; + ACE_caliber=0.308; + ACE_bulletLength=1.602; + ACE_bulletMass=230; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 853, 884}; + ACE_barrelLengths[]={20, 24, 26}; + }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; caliber=0.5; @@ -204,7 +271,8 @@ class CfgAmmo { ACE_muzzleVelocities[]={700, 800, 820, 833}; ACE_barrelLengths[]={16, 20, 24, 26}; }; - class ACE_762x54_Ball_7T2 : B_762x51_Tracer_Red { + class B_762x54_Tracer_Green; + class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { airFriction=-0.001023; caliber=0.9; hit=15; @@ -251,7 +319,7 @@ class CfgAmmo { ACE_muzzleVelocities[]={650, 716, 750}; ACE_barrelLengths[]={10, 16.3, 20}; }; - class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Red { + class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow { airFriction=-0.0015168; hit=12; typicalSpeed=716; From e214511e36c65442ffc88dd795e6488dfd59a0ec Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 14 Apr 2015 22:19:51 +0200 Subject: [PATCH 053/247] Added new magazine classes: *ACE_100Rnd_65x39_caseless_mag_Tracer_Dim *ACE_200Rnd_65x39_cased_Box_Tracer_Dim *ACE_30Rnd_556x45_Stanag_Mk262_mag *ACE_30Rnd_556x45_Stanag_Mk318_mag *ACE_10Rnd_762x51_M118LR_Mag *ACE_20Rnd_762x51_M118LR_Mag *ACE_20Rnd_762x67_Mk248_Mod_0_Mag *ACE_20Rnd_762x67_Mk248_Mod_1_Mag *ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag *ACE_30Rnd_65x47_Scenar_mag *ACE_10Rnd_762x54_Tracer_mag --- addons/ballistics/CfgMagazines.hpp | 103 +++++++++++++- addons/ballistics/stringtable.xml | 209 +++++++++++++---------------- 2 files changed, 195 insertions(+), 117 deletions(-) diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index 6e6f5a11e8..f9e936dc04 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -11,22 +11,54 @@ class CfgMagazines { class 100Rnd_65x39_caseless_mag_Tracer: 100Rnd_65x39_caseless_mag { initSpeed = 760; }; + class ACE_100Rnd_65x39_caseless_mag_Tracer_Dim: 100Rnd_65x39_caseless_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_100rnd_65x39_yellow_ca.paa"; + }; class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag { initSpeed = 760; }; + class ACE_200Rnd_65x39_cased_Box_Tracer_Dim: 200Rnd_65x39_cased_Box { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName"; + displayNameShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_200rnd_65x39_yellow_ca.paa"; + }; class 30Rnd_65x39_caseless_mag_Tracer: 30Rnd_65x39_caseless_mag { }; class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { author = "$STR_ACE_Common_ACETeam"; - ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; + ammo = "ACE_65x39_Caseless_Tracer_Dim"; displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_CA.paa"; + picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_ca.paa"; }; class 30Rnd_556x45_Stanag: CA_Magazine { }; + class ACE_30Rnd_556x45_Stanag_Mk262_mag: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_556x45_Ball_Mk262"; + displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description"; + initSpeed = 832; + }; + class ACE_30Rnd_556x45_Stanag_Mk318_mag: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_556x45_Ball_Mk318"; + displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description"; + initSpeed = 922; + }; class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag { }; class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red { @@ -35,7 +67,7 @@ class CfgMagazines { displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName"; displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort"; descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_yellow_ca.paa"; + picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa"; }; class 20Rnd_762x51_Mag: CA_Magazine { @@ -50,7 +82,7 @@ class CfgMagazines { class 150Rnd_762x51_Box_Tracer: 150Rnd_762x51_Box { initSpeed = 833; }; - class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { //@todo Green tracers for opfor and yellow tracers for independent + class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "B_762x51_Tracer_Red"; displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName"; @@ -76,6 +108,61 @@ class CfgMagazines { initSpeed = 325; }; + class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag + { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_M118LR"; + count=10; + displayName = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description"; + initSpeed = 780; + }; + class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag + { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_M118LR"; + displayName = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description"; + initSpeed = 780; + }; + class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag + { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x67_Ball_Mk248_Mod_0"; + displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description"; + initSpeed = 865; + }; + class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag + { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x67_Ball_Mk248_Mod_1"; + displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description"; + initSpeed = 847; + }; + class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag + { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x67_Ball_Berger_Hybrid_OTM"; + displayName = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description"; + initSpeed = 800; + }; + class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag + { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x47_Ball_Scenar"; + count=30; + displayName = "30rnd 6.5mm Mag (HPBT Scenar)"; + descriptionshort = "Caliber: 65x47 mm (HPBT Scenar)
Rounds: 30
Used in: MXM"; + }; + class 30Rnd_9x21_Mag: CA_Magazine { initSpeed = 450; }; @@ -123,6 +210,14 @@ class CfgMagazines { class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag { initSpeed = 800; }; + class ACE_10Rnd_762x54_Tracer_mag: 16Rnd_9x21_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x54_Ball_7T2"; + displayName = "$STR_ACE_10Rnd_762x54_Tracer_mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_Description"; + initSpeed = 800; + }; class 150Rnd_762x54_Box: 150Rnd_762x51_Box { initSpeed = 750; diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 261a6a8ea1..721e561f83 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -257,42 +257,6 @@ Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Калибр: 5.56x45 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR
- - 5.56mm 30Rnd SD Mag - 5,56 mm Hangtompítós 30-as Tár - 5,56 mm 30-Schuss-Magazin SD - Cargador de 30 balas SD de 5,56 mm - Ch. 5,56mm 30Cps SD - Magazynek 5,56mm 30rd SD - 5.56mm 30ks SD Zásobník - Carregador de 30 projéteis SD de 5,56mm - Caricatore 5.56mm 30Rnd Sil. - Магазин из 30-ти 5.56 мм дозвуковых - - - 5.56mm SD - 5,56 mm Hangtompítós - 5,56mm SD - 5,56 mm SD - 5,56mm SD - 5,56mm SD - 5.56mm SD - 5,56mm SD - 5.56 Sil. - 5.56 мм дозвуковые - - - Caliber: 5.56x45 mm SD<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Hangtompítós<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm SD<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm SD<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5.56x45 mm SD<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm SD<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm SD<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm SD<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm Sil.<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм дозвуковые<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - 5.56mm 30Rnd AP Mag 5,56 mm Páncéltörő 30-as Tár @@ -474,52 +438,7 @@ Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - - Caliber: 7.62x51mm M118LR<br />Rounds: 20<br />Type: M14 - Kaliber: 7,62x51 mm M118LR<br />Lőszerek: 20<br />Típus: M14 - Kaliber: 7,62x51mm M118LR<br />Schuss: 20<br />Typ: M14 - Calibre: 7,62x51mm M118LR<br />Balas: 20<br />Tipo: M14 - Kaliber: 7,62 x 51 mm M118LR<br />Pociski: 20<br />Typ: M14 - Kalibr: 7.62x51mm M118LR<br />Náboje: 20<br />Typ: M14 - Calibre : 7,62x51mm M118LR<br />Cartouches: 20<br />Type: M14 - Calibre: 7,62x51mm M118LR<br />Projéteis: 20<br />Tipo: M14 - Калибр: 7.62x51mm M118LR<br />Патронов: 20<br />Тип: M14 - Calibro: 7.62x51mm M118LR<br />Munizioni:20<br />In uso su: M14 - - - .338 LM 10Rnd Tracer Mag - .338 LM 10-Schuss-Magazin Leuchtspur - Magazynek .338 LM 10rd Smugacz - .338 LM 10Rnd Svítící Zásobník - - - .338 LM Tracer - .338 LM Leuchtspur - .338 LM Smugacz - .338 LM Svítící - - - Caliber: .338 Lapua Magnum Tracer<br />Rounds: 10<br />Used in: MAR-10 - Kaliber: .338 Lapua Magnum Leuchtspur<br />Schuss: 10<br />Verwendet für: MAR-10 - Kaliber: .338 Lapua Magnum Smugacz<br />Pociski: 10<br />Używane w: MAR-10 - - - .338 LM 10Rnd IR-DIM Mag - .338 LM 10-Schuss-Magazin Leuchtspur IR-DIM - Magazynek .338 LM 10rd IR-DIM - - - .338 LM IR-DIM - .338 LM IR-DIM - .338 LM IR-DIM - .338 LM IR-DIM - - - Caliber: .338 Lapua Magnum Tracer IR-DIM<br />Rounds: 10<br />Used in: MAR-10 - Kaliber: .338 Lapua Magnum Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: MAR-10 - Kaliber: .338 Lapua Magnum Smugacz IR-DIM<br />Pociski: 10<br />Używane w: MAR-10 - .338 LM 10Rnd AP Mag .338 LM 10-Schuss-Magazin Hartkern @@ -536,22 +455,6 @@ Kaliber: .338 Lapua Magnum Hartkern<br />Schuss: 10<br />Verwendet für: MAR-10 Kaliber: .338 Lapua Magnum AP<br />Pociski: 10<br />Używany w: MAR-10 - - .338 LM 10Rnd SD Mag - .338 LM 10-Schuss-Magazin Unterschall - Magazynek .338 LM 10rd SD - - - .338 LM SD - .338 LM SD - .338 LM SD - .338 LM SD - - - Caliber: .338 Lapua Magnum SD<br />Rounds: 10<br />Used in: MAR-10 - Kaliber: .338 Lapua Magnum Unterschall<br />Schuss: 10<br />Verwendet für: MAR-10 - Kaliber: .338 Lapua Magnum SD<br />Pociski: 10<br />Używany w: MAR-10 - .338 NM 130Rnd Tracer Belt @@ -650,22 +553,6 @@ Kaliber: 9,3x64mm Hartkern<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3 x 64 mm AP<br />Pociski: 10<br />Używany w: Cyrus - - 9.3mm 10Rnd SD Mag - 9,3mm 10-Schuss-Magazin Unterschall - Magazynek 9,3mm 10rd SD - - - 9.3mm SD - 9,3mm SD - 9,3mm SD - 9.3mm SD - - - Caliber: 9.3x64mm SD<br />Rounds: 10<br />Used in: Cyrus - Kaliber: 9,3x64mm Unterschall<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm SD<br />Pociski: 10<br />Używany w: Cyrus - 9.3mm 150Rnd Tracer Belt @@ -716,16 +603,112 @@ Kaliber: 9,3 x 64 mm AP<br />Pociski: 150<br />Używane w: Navid + 9x19mm 16Rnd Mag + 9x19mm + 9x19mm 16Rnd Mag + 9x19mm 30Rnd Mag + 9x19mm + 9x19mm 30Rnd Mag + + + 7.62x54mm 10Rnd Tracer IR-DIM Mag + + + 7.62mm IR-DIM + + + 7.62x54mm 10Rnd Tracer IR-DIM Mag + + + 6.5mm 100Rnd Tracer IR-DIM Mag + + + 6.5mm IR-DIM + + + 6.5mm 100Rnd Tracer IR-DIM Mag + + + 6.5mm 200Rnd Tracer IR-DIM Belt + + + 6.5mm IR-DIM + + + 6.5mm 200Rnd Tracer IR-DIM Belt + + + 5.56mm 30Rnd Mag (Mk262) + + + 5.56mm (Mk262) + + + Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 + + + 5.56mm 30Rnd Mag (Mk318) + + + 5.56mm (Mk318) + + + Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 + + + 7.62mm 10Rnd Mag (M118LR) + + + 7.62mm (M118LR) + + + Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 + + + 7.62mm 20Rnd Mag (M118LR) + + + 7.62mm (M118LR) + + + Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 + + + 7.62mm 20Rnd Mag (Mk248 Mod 0) + + + 7.62mm (Mk248 Mod 0) + + + Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 + + + 7.62mm 20Rnd Mag (Mk248 Mod 1) + + + 7.62mm (Mk248 Mod 1) + + + Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 + + + 7.62mm 20Rnd Mag (Berger Hybrid OTM) + + + 7.62mm (OTM) + + + Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 \ No newline at end of file From 1d64b8c36ee8ed8bb5dcca9d2fd62912fa40c037 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 14 Apr 2015 22:22:36 +0200 Subject: [PATCH 054/247] Added the new magazines into various ammo boxes --- addons/ballistics/CfgVehicles.hpp | 150 ++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index efd2132d95..e114bef671 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -9,4 +9,154 @@ class CfgVehicles { //hitPart = "systemChat str _this"; }; }; + + class NATO_Box_Base; + class Box_NATO_Wps_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + }; + }; + + class Box_NATO_WpsSpecial_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + }; + }; + + class Box_NATO_Ammo_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + }; + }; + + class Box_NATO_Support_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,6); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3); + }; + }; + + class ReammoBox_F; + class B_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + }; + }; + + class EAST_Box_Base; + class Box_East_Wps_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class Box_East_WpsSpecial_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class Box_East_Ammo_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class Box_East_Support_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,6); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + }; + }; + + class IND_Box_Base; + class Box_IND_Wps_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class Box_IND_WpsSpecial_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4); + }; + }; + + class Box_IND_Ammo_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class FIA_Box_Base_F; + class Box_FIA_Wps_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class Box_FIA_Ammo_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class I_supplyCrate_F: B_supplyCrate_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class IG_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + }; + }; + + class C_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + }; + }; + + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_1_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + }; + }; }; From 035ed573b8b255877c85378e3f48933f56677334 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 14 Apr 2015 22:23:36 +0200 Subject: [PATCH 055/247] Reworked the magazine configs --- addons/ballistics/CfgWeapons.hpp | 143 ++++++++++++++++++++++++++++++- 1 file changed, 139 insertions(+), 4 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 513829130f..7944215c29 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -56,6 +56,14 @@ class CfgWeapons { }; }; class arifle_MX_SW_F: arifle_MX_Base_F { + magazines[] = { + "100Rnd_65x39_caseless_mag_Tracer", + "100Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_100Rnd_65x39_caseless_mag_Tracer_Dim", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; initSpeed = -1.0; ACE_barrelTwist=9; ACE_barrelLength=16.0; @@ -76,6 +84,12 @@ class CfgWeapons { }; }; class arifle_MXM_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", + "ACE_30Rnd_65x47_Scenar_mag" + }; initSpeed = -1.018; ACE_barrelTwist=9; ACE_barrelLength=18; @@ -111,6 +125,11 @@ class CfgWeapons { /* Other */ class LMG_Mk200_F: Rifle_Long_Base_F { + magazines[] = { + "200Rnd_65x39_cased_Box", + "200Rnd_65x39_cased_Box_Tracer", + "ACE_200Rnd_65x39_cased_Box_Tracer_Dim" + }; initSpeed = -0.9763; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -180,7 +199,7 @@ class CfgWeapons { /* SMGs */ class SDAR_base_F: Rifle_Base_F { - initSpeed = -0.9723; + initSpeed = -0.989; class Single: Mode_SemiAuto { dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus // some extra because Kel-Tec. @@ -284,26 +303,51 @@ class CfgWeapons { ACE_barrelLength=7; }; class arifle_Katiba_F: arifle_katiba_Base_F { - initSpeed = -1.09; + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; + initSpeed = -1.08; ACE_barrelTwist=8; ACE_barrelLength=28.7; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; initSpeed = -1.07; ACE_barrelTwist=8; ACE_barrelLength=26.8; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { - initSpeed = -1.09; + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; + initSpeed = -1.08; ACE_barrelTwist=8; ACE_barrelLength=28.7; }; class arifle_MX_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; initSpeed = -0.99; ACE_barrelTwist=9; ACE_barrelLength=14.5; }; class arifle_MX_GL_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; initSpeed = -0.99; ACE_barrelTwist=9; ACE_barrelLength=14.5; @@ -315,6 +359,11 @@ class CfgWeapons { }; */ class arifle_MXC_F: arifle_MX_Base_F { + magazines[] = { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer", + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + }; initSpeed = -0.965; ACE_barrelTwist=8; ACE_barrelLength=10.5; @@ -326,7 +375,17 @@ class CfgWeapons { }; */ class arifle_SDAR_F: SDAR_base_F { - initSpeed = -0.9723; + magazines[] = { + "20Rnd_556x45_UW_mag", + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; + initSpeed = -0.989; ACE_barrelTwist=11.25; ACE_barrelLength=18; }; @@ -336,16 +395,43 @@ class CfgWeapons { ACE_barrelLength=7.7; }; class arifle_TRG20_F: Tavor_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; initSpeed = -0.95; ACE_barrelTwist=7; ACE_barrelLength=15; }; class arifle_TRG21_F: Tavor_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; initSpeed = -0.989; ACE_barrelTwist=7; ACE_barrelLength=18.1; }; class arifle_TRG21_GL_F: Tavor_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; initSpeed = -0.989; ACE_barrelTwist=7; ACE_barrelLength=18.1; @@ -357,16 +443,43 @@ class CfgWeapons { }; */ class arifle_Mk20_F: mk20_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; initSpeed = -0.98; ACE_barrelTwist=7; ACE_barrelLength=17.4; }; class arifle_Mk20C_F: mk20_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; initSpeed = -0.956; ACE_barrelTwist=7; ACE_barrelLength=16; }; class arifle_Mk20_GL_F: mk20_base_F { + magazines[] = { + "30Rnd_556x45_Stanag", + "30Rnd_556x45_Stanag_Tracer_Red", + "30Rnd_556x45_Stanag_Tracer_Green", + "30Rnd_556x45_Stanag_Tracer_Yellow", + "ACE_30Rnd_556x45_Stanag_Mk262_mag", + "ACE_30Rnd_556x45_Stanag_Mk318_mag", + "ACE_30Rnd_556x45_Stanag_Tracer_Dim" + }; initSpeed = -0.956; ACE_barrelTwist=7; ACE_barrelLength=16; @@ -377,11 +490,21 @@ class CfgWeapons { ACE_barrelLength=5.5; }; class srifle_DMR_01_F: DMR_01_base_F { + magazines[] = { + "10Rnd_762x54_Mag", + "ACE_10Rnd_762x54_Tracer_mag" + }; initSpeed = -1.025; ACE_barrelTwist=9.5; ACE_barrelLength=24; }; class srifle_EBR_F: EBR_base_F { + magazines[] = { + "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer_Dim", + "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mag_SD" + }; initSpeed = -0.9724; ACE_barrelTwist=12; ACE_barrelLength=18; @@ -409,6 +532,12 @@ class CfgWeapons { ACE_barrelLength=26; }; class srifle_DMR_03_F: DMR_03_base_F { + magazines[] = { + "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer_Dim", + "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mag_SD" + }; initSpeed = -0.9843; ACE_barrelTwist=10; ACE_barrelLength=20; @@ -424,6 +553,12 @@ class CfgWeapons { ACE_barrelLength=24.41; }; class srifle_DMR_06_camo_F: DMR_06_base_F { + magazines[] = { + "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer_Dim", + "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mag_SD" + }; initSpeed = -0.9916; ACE_barrelTwist=12; ACE_barrelLength=22; From 91e25dc215df2340bae62b2a03fc502857ce5a2c Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 22:34:08 +0200 Subject: [PATCH 056/247] Missing stringtable entries --- addons/medical/stringtable.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 391e277083..5704fd0bb9 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1284,6 +1284,18 @@ %1 założył stazę %1 a appliqué un garrot
+ + Heavily wounded + Schwer verwundet: + + + Lightly wounded + Leicht verwundet: + + + Very lightly wounded + Sehr leicht verwundet: + Head Kopf From 2391c5e6d6264df1423df7670ba7e5ba6bd411c0 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 22:34:19 +0200 Subject: [PATCH 057/247] Tweak crate names --- addons/medical/CfgVehicles.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index dc13964752..2b1f7c9468 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -878,7 +878,7 @@ class CfgVehicles { class ACE_medicalSupplyCrate: NATO_Box_Base { scope = 2; accuracy = 1000; - displayName = "[ACE] Medical Supply Crate (basic)"; + displayName = "[ACE] Medical Supply Crate (Basic)"; model = PATHTOF(data\ace_medcrate.p3d); author = "$STR_ACE_Common_ACETeam"; class TransportItems { @@ -913,7 +913,7 @@ class CfgVehicles { }; }; class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate { - displayName = "[ACE] Medical Supply Crate (advanced)"; + displayName = "[ACE] Medical Supply Crate (Advanced)"; class TransportItems { class ACE_fieldDressing { name = "ACE_fieldDressing"; From 13d7649c4a5957365cac9a698f9321564c9e04dd Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 22:49:26 +0200 Subject: [PATCH 058/247] Buff colour flashing effect --- addons/medical/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 7bcb536cd3..296673ea5a 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -197,7 +197,7 @@ if (isNil QGVAR(level)) then { } else { GVAR(effectPainCA) ppEffectEnable false; if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { - _strength = _strength * 0.6; + _strength = _strength * 0.9; GVAR(effectPainCC) ppEffectEnable true; GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]]; GVAR(effectPainCC) ppEffectCommit 0.01; From 676f7c8732508b1bce2e7ef746d492b6bbd4b7e1 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 22:49:39 +0200 Subject: [PATCH 059/247] Remove hitpart from action names for non-self --- addons/medical/ACE_Medical_Actions.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index 72263c0b45..036dd5e9d9 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -7,7 +7,7 @@ class ACE_Head { icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitHead"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); @@ -78,7 +78,7 @@ class ACE_Torso { icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitBody"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); @@ -178,7 +178,7 @@ class ACE_ArmLeft { distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); @@ -334,7 +334,7 @@ class ACE_ArmRight { distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); @@ -487,7 +487,7 @@ class ACE_LegLeft { distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); @@ -628,7 +628,7 @@ class ACE_LegRight { distance = MEDICAL_ACTION_DISTANCE; class Bandage { - displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; + displayName = "$STR_ACE_Medical_Bandage"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); From f07949cf193a6daf188bad6cacd83585901d2831 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 22:57:18 +0200 Subject: [PATCH 060/247] Remove some old todos --- addons/medical/CfgWeapons.hpp | 1 - addons/medical/XEH_postInit.sqf | 5 ----- 2 files changed, 6 deletions(-) diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 51795d266c..8fd58e2571 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -19,7 +19,6 @@ class CfgWeapons { }; }; - // @todo localize class ACE_ItemCore; class ACE_fieldDressing: ACE_ItemCore { scope = 2; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 296673ea5a..12adad4210 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -153,11 +153,6 @@ GVAR(effectTimeBlood) = time; GVAR(lastHeartBeat) = time; GVAR(lastHeartBeatSound) = time; -// @todo, remove once parameters are set up -if (isNil QGVAR(level)) then { - GVAR(level) = 0; -}; - // HEARTRATE BASED EFFECTS [{ _heartRate = ACE_player getVariable [QGVAR(heartRate), 70]; From 9e64538bc7f1b89572a3fca3a97c3613487fb8b4 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 23:00:17 +0200 Subject: [PATCH 061/247] Fix minor adjustment strings --- addons/scopes/stringtable.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index c04a4e79dc..9e070efa73 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -1,21 +1,20 @@  - - "Minor adjustment up + Minor adjustment up Zerowanie powoli w górę - "Minor adjustment down + Minor adjustment down Zerowanie powoli w dół - "Minor adjustment right + Minor adjustment right Zerowanie powoli w prawo - "Minor adjustment left + Minor adjustment left Zerowanie powoli w lewo @@ -39,4 +38,4 @@ Zresetuj wyzerowanie - \ No newline at end of file + From 9b80245479f32a9fbb358c84a5a1004016c5937d Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 14 Apr 2015 23:13:02 +0200 Subject: [PATCH 062/247] Fix speed limiter not working --- addons/vehicles/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/vehicles/XEH_postInit.sqf b/addons/vehicles/XEH_postInit.sqf index 8f714105b6..c7665cf2aa 100644 --- a/addons/vehicles/XEH_postInit.sqf +++ b/addons/vehicles/XEH_postInit.sqf @@ -7,7 +7,7 @@ if !(hasInterface) exitWith {}; ["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", { // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isnotinside"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific if !(ACE_player == driver vehicle ACE_player && {vehicle ACE_player isKindOf 'Car' || From c6943fbdaf2b73b84c0134970168be5c72043b78 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 14:45:21 -0700 Subject: [PATCH 063/247] fixes to ACRE volume, and this transform should really be in set/get global volume. Closes #588 --- addons/common/functions/fnc_setHearingCapability.sqf | 2 +- addons/common/functions/fnc_setVolume.sqf | 6 +++--- addons/hearing/functions/fnc_updateVolume.sqf | 2 +- addons/medical/XEH_postInit.sqf | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/common/functions/fnc_setHearingCapability.sqf b/addons/common/functions/fnc_setHearingCapability.sqf index 26d8ca98ac..c90a5448ae 100644 --- a/addons/common/functions/fnc_setHearingCapability.sqf +++ b/addons/common/functions/fnc_setHearingCapability.sqf @@ -52,4 +52,4 @@ _lowestVolume = 1; // Set Radio mod variables. player setVariable ["tf_globalVolume", _lowestVolume]; -player setVariable ["acre_sys_core_globalVolume", _lowestVolume]; +[_lowestVolume] call acre_api_fnc_setGlobalVolume; diff --git a/addons/common/functions/fnc_setVolume.sqf b/addons/common/functions/fnc_setVolume.sqf index ee2c42e39c..133a09bd24 100644 --- a/addons/common/functions/fnc_setVolume.sqf +++ b/addons/common/functions/fnc_setVolume.sqf @@ -27,8 +27,8 @@ if (_setVolume) then { player setVariable ["tf_unable_to_use_radio", false]; // ACRE2 - [NORMAL_LEVEL] call acre_api_fnc_setGlobalVolume; - player setVariable ["acre_sys_core_isDisabled", false, true]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [NORMAL_LEVEL^0.33] call acre_api_fnc_setGlobalVolume; }; + player setVariable ["acre_sys_core_isDisabled", false, true]; } else { // Vanilla Game @@ -40,7 +40,7 @@ if (_setVolume) then { player setVariable ["tf_unable_to_use_radio", true]; // ACRE2 - [MUTED_LEVEL] call acre_api_fnc_setGlobalVolume; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [MUTED_LEVEL^0.33] call acre_api_fnc_setGlobalVolume; }; player setVariable ["acre_sys_core_isDisabled", true, true]; }; diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 1aa38848a5..dd51f30e19 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -56,7 +56,7 @@ if (!(missionNameSpace getVariable [QGVAR(disableVolumeUpdate), false])) then { 0.1 fadeSound _volume; 0.1 fadeSpeech _volume; ACE_player setVariable ["tf_globalVolume", _volume]; - if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume] call acre_api_fnc_setGlobalVolume;}; + if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume^(0.33)] call acre_api_fnc_setGlobalVolume;}; }; //hintSilent format ["GVAR(currentDeafness), _Volume = %1, %2", GVAR(currentDeafness), _volume]; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 1b0a38f1af..905c34cd48 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -21,14 +21,14 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; _unit setVariable ["tf_unable_to_use_radio", true, true]; _unit setVariable ["acre_sys_core_isDisabled", true, true]; - _unit setVariable ["acre_sys_core_globalVolume", 0.4]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4] call acre_api_fnc_setGlobalVolume; }; } else { _unit setVariable ["tf_globalVolume", 1]; _unit setVariable ["tf_voiceVolume", 1, true]; _unit setVariable ["tf_unable_to_use_radio", false, true]; _unit setVariable ["acre_sys_core_isDisabled", false, true]; - _unit setVariable ["acre_sys_core_globalVolume", 1]; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [1] call acre_api_fnc_setGlobalVolume; }; }; }; }] call ace_common_fnc_addEventHandler; From 85c10328ae27d28230ea9b3e15a418cb4d39d5e2 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 14:58:19 -0700 Subject: [PATCH 064/247] missed one. --- addons/common/functions/fnc_setHearingCapability.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_setHearingCapability.sqf b/addons/common/functions/fnc_setHearingCapability.sqf index c90a5448ae..76837b4433 100644 --- a/addons/common/functions/fnc_setHearingCapability.sqf +++ b/addons/common/functions/fnc_setHearingCapability.sqf @@ -52,4 +52,4 @@ _lowestVolume = 1; // Set Radio mod variables. player setVariable ["tf_globalVolume", _lowestVolume]; -[_lowestVolume] call acre_api_fnc_setGlobalVolume; +if (!isNil "acre_api_fnc_setGlobalVolume") then { [_lowestVolume^0.33] call acre_api_fnc_setGlobalVolume; }; From c136b78fc8052877086d0bc4d553dfa8bfb5e20d Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 15:11:49 -0700 Subject: [PATCH 065/247] rename 20mm --- addons/aircraft/CfgAmmo.hpp | 2 +- addons/aircraft/CfgMagazines.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/aircraft/CfgAmmo.hpp b/addons/aircraft/CfgAmmo.hpp index f29c1d56d6..41462354d8 100644 --- a/addons/aircraft/CfgAmmo.hpp +++ b/addons/aircraft/CfgAmmo.hpp @@ -16,7 +16,7 @@ class CfgAmmo { explosionEffects = "ExploAmmoExplosion"; model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; }; - class ACE_20mm_HEDP : B_20mm {}; + class ACE_20mm_HE : B_20mm {}; class ACE_20mm_AP : B_20mm { hit = 50; indirectHit = 12; diff --git a/addons/aircraft/CfgMagazines.hpp b/addons/aircraft/CfgMagazines.hpp index 2445182163..b09bac6943 100644 --- a/addons/aircraft/CfgMagazines.hpp +++ b/addons/aircraft/CfgMagazines.hpp @@ -10,7 +10,7 @@ class CfgMagazines { // an extended magazine for the comanche class 300Rnd_20mm_shells; class ACE_500Rnd_20mm_shells_Comanche: 300Rnd_20mm_shells { - ammo = "ACE_20mm_HEDP"; + ammo = "ACE_20mm_HE"; count = 500; }; }; From ad750977e0d1c4f602ecd1737f4706742130c776 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Tue, 14 Apr 2015 19:17:05 -0300 Subject: [PATCH 066/247] Fix ACRE volume on medical unconsciousness --- addons/medical/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 280861adb4..309bb2a888 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -21,7 +21,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; _unit setVariable ["tf_unable_to_use_radio", true, true]; _unit setVariable ["acre_sys_core_isDisabled", true, true]; - if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4] call acre_api_fnc_setGlobalVolume; }; + if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4^0.33] call acre_api_fnc_setGlobalVolume; }; } else { _unit setVariable ["tf_globalVolume", 1]; _unit setVariable ["tf_voiceVolume", 1, true]; From 81e61e2f047de2ca90a79f33d2a18a633c75ed3e Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 15:30:04 -0700 Subject: [PATCH 067/247] Added non-radio speaking event to ACRE isSpeaking functionality. Why is this propegating a setVariable every speaking event though? ACRE already propegates that. Closes #591 --- addons/nametags/functions/fnc_initIsSpeaking.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index b7dc920fa2..56c5cfc2f1 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -42,7 +42,7 @@ _pfEHCode = switch (true) do { case (isClass (configFile >> "cfgPatches" >> "acre_api")): { { _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = ([ACE_player] call ACRE_api_fnc_isBroadcasting) || {!(isNull findDisplay 55)}; + _newSetting = ([ACE_player] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) || {!(isNull findDisplay 55)}; if (!(_oldSetting isEqualTo _newSetting)) then { ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; }; From 3543b9c8068307296289ddcd752e8a5218535d4c Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Wed, 15 Apr 2015 00:43:42 +0200 Subject: [PATCH 068/247] PL Translation Some french, german and russian entries were listed twice, had to remove one of two here and there so this list is for revision by different translators --- addons/ballistics/stringtable.xml | 72 +++++++++++++++++++++------- addons/common/stringtable.xml | 8 +--- addons/interact_menu/stringtable.xml | 1 - addons/interaction/stringtable.xml | 4 -- addons/laserpointer/stringtable.xml | 6 ++- addons/medical/stringtable.xml | 36 ++++++-------- addons/microdagr/stringtable.xml | 11 +++-- 7 files changed, 81 insertions(+), 57 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 721e561f83..5cc3186963 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -33,7 +33,7 @@ Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL @@ -69,7 +69,7 @@ Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL @@ -105,7 +105,7 @@ Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL @@ -142,7 +142,7 @@ Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: Katiba + Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba @@ -178,7 +178,7 @@ Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm SD<br />Naboje: 30<br />Używane w: Katiba + Kaliber: 6,5x39 mm SD<br />Naboje: 30<br />Używane w: Katiba Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba @@ -214,7 +214,7 @@ Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5 x 39 mm AP<br />Pociski: 30<br />Używane w: Katiba + Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: Katiba Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba @@ -251,7 +251,7 @@ Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm Smugowy IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -287,7 +287,7 @@ Kaliber: 5,56x45 mm AP<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56 x 45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45 mm AP<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Ráže: 5.56x45 mm AP<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibro: 5.56x45 mm AP<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -324,7 +324,7 @@ Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -360,7 +360,7 @@ Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -396,7 +396,7 @@ Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -432,7 +432,7 @@ Kaliber: 7,62x51 mm AP<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm AP<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm AP<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62 x 51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR + Kaliber: 7,62x51 mm AP<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51 mm AP<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm AP<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR @@ -519,7 +519,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -535,7 +535,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus 9.3mm 10Rnd AP Mag @@ -551,7 +551,7 @@ Caliber: 9.3x64mm AP<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Hartkern<br />Schuss: 10<br />Verwendet für: Cyrus - Kaliber: 9,3 x 64 mm AP<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64 mm AP<br />Pociski: 10<br />Używany w: Cyrus @@ -568,7 +568,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid - Kaliber: 9,3 x 64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -584,7 +584,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 150<br />Verwendet für: Navid - Kaliber: 9,3 x 64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid 9.3mm 150Rnd AP Belt @@ -600,115 +600,151 @@ Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Schuss: 150<br />Verwendet für: Navid - Kaliber: 9,3 x 64 mm AP<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid 9x19mm 16Rnd Mag + Magazynek 9x19mm 16rd 9x19mm + 9x19mm 9x19mm 16Rnd Mag + Magazynek 9x19mm 16rd 9x19mm 30Rnd Mag + Magazynek 9x19mm 30rd 9x19mm + 9x19mm 9x19mm 30Rnd Mag + Magazynek 9x19mm 30rd 7.62x54mm 10Rnd Tracer IR-DIM Mag + Magazynek 7,62x54 mm 10rd Smugacz IR-DIM 7.62mm IR-DIM + 7,62mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag + Magazynek 7,62x54 mm 10rd Smugacz IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag + Magazynek 6,5mm 100rd Smugacz IR-DIM 6.5mm IR-DIM + 6,5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag + Magazynek 6,5mm 100rd Smugacz IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt + Magazynek 6,5mm 200rd Smugacz IR-DIM 6.5mm IR-DIM + 6,5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt + Magazynek 6,5mm 200rd Smugacz IR-DIM 5.56mm 30Rnd Mag (Mk262) + Magazynek 5,56mm 30rd Mk262 5.56mm (Mk262) + 5,56mm (Mk262) Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 + Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30 5.56mm 30Rnd Mag (Mk318) + Magazynek 5,56mm 30rd Mk318 5.56mm (Mk318) + 5,56mm (Mk318) Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 + Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30 7.62mm 10Rnd Mag (M118LR) + Magazynek 7,62mm 10rd (M118LR) 7.62mm (M118LR) + 7,62mm (M118LR) Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 + Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10 7.62mm 20Rnd Mag (M118LR) + Magazynek 7,62mm 20rd (M118LR) 7.62mm (M118LR) + 7,62mm (M118LR) Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 + Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) + Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7,62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51 mm NATO (Mk248 Mod 0)<br />Pociski: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) + Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm (Mk248 Mod 1) + 7,62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 + Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) + Magazynek 7,62mm 20rd (Berger Hybrid OTM) 7.62mm (OTM) + 7,62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 + Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 \ No newline at end of file diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index f29ff773a4..ee82f9c3a5 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -325,7 +325,6 @@ Acepta peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. - Подтвердить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий. Přijimutí žádosti poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions. @@ -336,7 +335,6 @@ Rechazar peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. - Отклонить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий. Zamítnutí žádostii poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions. @@ -433,7 +431,7 @@ A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. - Die Banane ist eine essbare Frucht, biologisch betrachtet jedoch eine Beere. Sie wächst an unterschiedlichen, krautartigen Gewächsen aus der Familie der Musa. + Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen). Una banana es una fruta comestible, botanicamente una baya, producida por varios tipos de grandes plantas herbáceas del género Musa. Banán je protáhlé ovoce a plod banánovníku (epigeická bobule). Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotto da un gran numero di grandi pianti erbacee dotate di fiori, della famiglia delle Musaceae. @@ -442,8 +440,4 @@ Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa. - - Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen). - - diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index d10c6c93b7..bd8ded64ce 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -3,7 +3,6 @@ Always display cursor for self interaction - Toujours afficher le curseur pour l'interaction personnelle Immer den Cursor für Selbst-Interaktionen anzeigen. Mostrar siempre el cursor para la interacción propia Всегда показывать курсор для взаимодействия с собой diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d28756364b..259ee9c339 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -12,7 +12,6 @@ Torso - Torse Torso Torso Trup @@ -22,7 +21,6 @@ Head - Tête Kopf Cabeza Hlava @@ -68,7 +66,6 @@ Weapon - Arme Waffe Arma Zbraň @@ -697,7 +694,6 @@ Interact - Interagir Interagiere Interagir Interakce diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index b9d046a03a..d53ab478e0 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,4 +1,5 @@  + @@ -39,14 +40,17 @@ Laser Laser + Laser IR Laser IR-Laser + Laser IR Switch Laser / IR Laser Umschalten Laser / IR-Laser + Przełącz Laser / Laser IR - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 5704fd0bb9..65b663708b 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,5 @@  + @@ -18,7 +19,6 @@ Aplikovat adrenalin Injecter de l'épinéphrine Ввести адреналин - Adrénaline Adrenalin Injetar Epinefrina Inietta Epinefrina @@ -49,7 +49,6 @@ Transfuse Plasma - Plasma Plasmatransfusion Transfundir plasma Transfúze plazmy @@ -59,7 +58,6 @@ Transfuse Saline - Solution Saline Salzlösungtransfusion Transfundir salino Transfúze fyziologický roztoku @@ -69,7 +67,6 @@ Apply Tourniquet - Garrot Aderpresse anwenden Aplicar torniquete Aplikovat škrtidlo @@ -186,7 +183,6 @@ Injecting Atropine ... - Injection d'Atropine ... Atropin injizieren ... Inyectando Atropina ... Aplikuji atropin ... @@ -208,7 +204,6 @@ Transfusing Saline ... - Transfusion de Solution Saline Sallösungtransfusion ... Transfusión de salino ... Probíha transfúze fyziologický roztoku ... @@ -218,7 +213,6 @@ Transfusing Plasma ... - Transfusion de Plasma Plasmatransfusion ... Transfusión de plasma ... Probíha transfúze plazmy ... @@ -294,7 +288,6 @@ Check Pulse - Vérification du Pouls Puls überprüfen Comprobar pulso Проверить пульс @@ -421,7 +414,6 @@ Minor - Blessé léger Gering Menor Незначительная @@ -906,7 +898,6 @@ Bodybag Sac à corps Мешок для трупов - Housse mortuaire Bolsa para cadáveres Worek na zwłoki Leichensack @@ -947,7 +938,6 @@ You checked %1 Vous diagnostiquez %1 Вы осмотрели раненого %1 - Vous examinez %1 Examinando a %1 Zbadałeś %1 Kontrolliert %1 @@ -957,6 +947,7 @@ Vous avez trouvé une tension de %2/%3 Артериальное давление %2/%3 La Presión Arterial es %2/%3 + Wyczuwasz ciśnienie krwi o wartości %2/%3 You find a low blood pressure @@ -1000,7 +991,6 @@ Pulse - Pulsations Пульс Pouls Pulso @@ -1017,7 +1007,6 @@ You checked %1 - Vous avez Diagnostiqué %1 Вы осмотрели раненого %1 Vous examinez %1 Examinando a %1 @@ -1076,14 +1065,12 @@ You check response of patient Vous vérifiez la réponse du patient Вы проверяете реакцию раненого - Vérification de l'état de conscience du patient Compruebas si el paciente reacciona Sprawdzasz przytomność pacjenta Du prüfst ob der Patient ansprechbar ist %1 is responsive - %1 est conscient %1 реагирует на раздражители %1 est conscient %1 ha reaccionado @@ -1092,7 +1079,6 @@ %1 is not responsive - %1 n'est pas conscient %1 не реагирует %1 est inconscient %1 no reacciona @@ -1101,7 +1087,6 @@ You checked %1 - Vous diagnostiqué %1 Вы осмотрели раненого %1 Vous avez examiné %1 Examinas a %1 @@ -1112,7 +1097,6 @@ Bandaged Bandé Повязка наложена - Pansement appliqué Vendado Zabandażowano @@ -1120,7 +1104,6 @@ You bandage %1 (%2) Vous bandez %1 (%2) Вы перевязали раненого %1 (%2) - Vous avez pansé %1 (%2) Aplicas vendaje a %1 en %2 Bandażujesz %1 (%2) @@ -1128,7 +1111,6 @@ %1 is bandaging you %1 vous bande %1 перевязывает вас - %1 vous applique un pansement %1 te está vendando %1 bandażuje Ciebie @@ -1287,50 +1269,62 @@ Heavily wounded Schwer verwundet: + Ciężko ranny Lightly wounded Leicht verwundet: + Lekko ranny Very lightly wounded Sehr leicht verwundet: + B. lekko ranny Head Kopf + Głowa Torso Torso + Tors Left Arm Linker Arm + Lewe ramię Right Arm Rechter Arm + Prawe ramię Left Leg Linkes Bein + Lewa noga Right Leg Rechtes Bein + Prawa noga Pain Effect Type Schmerzeffekt-Typ + Rodzaj efektu bólu Colour Flashing Farbblinken + Pulsujące kolory Chromatic Aberration Chromatische Aberration + Aberracja chromatyczna - + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 0f3c1368cb..12962ea1ac 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,4 +1,5 @@  + @@ -201,7 +202,7 @@ MicoDAGR Anzeigemodus Wechseln Conmutar modo de pantalla del MicroDAGR Сменить режим показа MicroDAGR - Przełącz tryb wyświetlania MicroDAGR + Przełącz GUI MicroDAGR Basculer le mode d'affichage MicroDAGR Přepnout zobrazení MircroDAGRu @@ -211,7 +212,7 @@ Mostrar MicroDAGR Показать MicroDAGR Ukázat MicroDAGR GPS - Pokaż MicroDAGR + Pokaż<br />MicroDAGR Afficher MicroDAGR @@ -220,7 +221,7 @@ Configurar MicroDAGR Настроить MicroDAGR Konfigurovat MicroDAGR GPS - Konfiguruj MicroDAGR + Konfiguruj<br />MicroDAGR Configurer MicroDAGR @@ -229,8 +230,8 @@ Cerrar MicroDAGR Закрыть MicroDAGR Zavřít MicroDAGR GPS - Zamknij MicroDAGR + Zamknij<br />MicroDAGR Fermer MicroDAGR - + \ No newline at end of file From ee04ea2f41b3583ecf31c4d55c402588eb1e3395 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Tue, 14 Apr 2015 20:21:11 -0300 Subject: [PATCH 069/247] Allow actions on coordinates instead of selections --- addons/interact_menu/functions/fnc_compileMenu.sqf | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index a0b9b31dd4..e5b6e28c57 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -38,10 +38,17 @@ _recurseFnc = { _distance = getNumber (_entryCfg >> "distance"); _icon = getText (_entryCfg >> "icon"); _statement = compile (getText (_entryCfg >> "statement")); - _selection = getText (_entryCfg >> "selection"); - if (_selection == "") then { - _selection = [0,0,0]; + + _selection = ""; + if (isArray ( _entryCfg >> "selection" )) then { + _selection = getArray ( _entryCfg >> "selection" ) + } else { + _selection = getText (_entryCfg >> "selection") + if (_selection == "") then { + _selection = [0,0,0]; + }; }; + _condition = getText (_entryCfg >> "condition"); if (_condition == "") then {_condition = "true"}; From d538cd257cd130800093f8e8d7da719b884616e7 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Wed, 15 Apr 2015 01:44:33 +0200 Subject: [PATCH 070/247] PL translation fix Typo, wrote Mk248 Mod 0, should be Mk248 Mod 1 --- addons/ballistics/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 5cc3186963..51447237b4 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -724,7 +724,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 1) - Magazynek 7,62mm 20rd (Mk248 Mod 0) + Magazynek 7,62mm 20rd (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -747,4 +747,4 @@ Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 - \ No newline at end of file + From 4cdf61ab9eb0bfe89b8c40fb0da390c638229a57 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 01:50:58 +0200 Subject: [PATCH 071/247] fix misc issues with rallypoints --- addons/respawn/CfgEventHandlers.hpp | 43 ++- addons/respawn/CfgVehicles.hpp | 330 ++++++++---------- .../respawn/functions/fnc_moveRallypoint.sqf | 6 +- addons/respawn/functions/fnc_restoreGear.sqf | 14 + .../functions/fnc_teleportToRallypoint.sqf | 23 +- 5 files changed, 210 insertions(+), 206 deletions(-) diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index c4a50615d1..7b00950931 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -6,15 +6,54 @@ class Extended_PreInit_EventHandlers { class Extended_Killed_EventHandlers { class CAManBase { - class GVAR(HandleGear) { + class ADDON { killed = QUOTE(_this call FUNC(handleKilled)); }; }; }; + class Extended_Respawn_EventHandlers { class CAManBase { - class GVAR(HandleGear) { + class ADDON { respawn = QUOTE(_this call FUNC(handleRespawn)); }; }; }; + +class Extended_Init_EventHandlers { + class ACE_Rallypoint_West { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_East { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_Independent { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_West_Base { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_East_Base { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); + }; + }; + + class ACE_Rallypoint_Independent_Base { + class ADDON { + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); + }; + }; +}; diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 4b763074c2..c8ca4f9216 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -1,6 +1,6 @@ class CfgVehicles { class Module_F; - class ACE_ModuleRespawn : Module_F { + class ACE_ModuleRespawn: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Respawn System"; @@ -8,20 +8,24 @@ class CfgVehicles { scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_Respawn_ca.paa)); + class Arguments { class SavePreDeathGear { displayName = "Save Gear?"; description = "Respawn with the gear a soldier had just before his death?"; typeName = "BOOL"; + class values { class Yes { name = "Yes"; value = 1; }; class No { default = 1; name = "No"; value = 0; }; }; }; + class RemoveDeadBodiesDisconnected { displayName = "Remove bodies?"; description = "Remove player bodies after disconnect?"; typeName = "BOOL"; + class values { class Yes { default = 1; name = "Yes"; value = 1; }; class No { name = "No"; value = 0; }; @@ -30,7 +34,7 @@ class CfgVehicles { }; }; - class ACE_ModuleFriendlyFire : Module_F { + class ACE_ModuleFriendlyFire: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Friendly Fire Messages"; @@ -38,11 +42,11 @@ class CfgVehicles { scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa)); - class Arguments { - }; + + class Arguments {}; }; - class ACE_ModuleRallypoint : Module_F { + class ACE_ModuleRallypoint: Module_F { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Rallypoint System"; @@ -50,186 +54,8 @@ class CfgVehicles { scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa)); - class Arguments { - }; - }; - // rallypoints - class FlagCarrier; - class Flag_NATO_F : FlagCarrier { - class ACE_Actions; - }; - - class Flag_CSAT_F : FlagCarrier { - class ACE_Actions; - }; - - class Flag_AAF_F : FlagCarrier { - class ACE_Actions; - }; - - // static - class ACE_Rallypoint_West: Flag_NATO_F { - XEH_ENABLED; - - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint West Base"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Rallypoint"; - distance = 4; - condition = QUOTE(side group _player == west); - statement = QUOTE([ARR_3(_player, side group _player, false)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_Rallypoint_East: Flag_CSAT_F { - XEH_ENABLED; - - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint East Base"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Rallypoint"; - distance = 4; - condition = QUOTE(side group _player == east); - statement = QUOTE([ARR_3(_player, side group _player, false)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_Rallypoint_Independent: Flag_AAF_F { - XEH_ENABLED; - - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint Independent Base"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Rallypoint"; - distance = 4; - condition = QUOTE(side group _player == independent); - statement = QUOTE([ARR_3(_player, side group _player, false)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - // moveable - class ACE_RallypointExit_West: Flag_NATO_F { - XEH_ENABLED; - - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint West"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Base"; - distance = 4; - condition = QUOTE(side group _player == west); - statement = QUOTE([ARR_3(_player, side group _player, true)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_RallypointExit_East: Flag_CSAT_F { - XEH_ENABLED; - - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint East"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Base"; - distance = 4; - condition = QUOTE(side group _player == east); - statement = QUOTE([ARR_3(_player, side group _player, true)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; - }; - - class ACE_RallypointExit_Independent: Flag_AAF_F { - XEH_ENABLED; - - author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint Independent"; - vehicleClass = QGVAR(Rallypoints); - - class EventHandlers { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); - }; - class ACE_Actions : ACE_Actions { - class ACE_MainActions { - distance = 5; - condition = "true"; - selection = ""; - class ACE_Teleport { - displayName = "Teleport to Base"; - distance = 4; - condition = QUOTE(side group _player == independent); - statement = QUOTE([ARR_3(_player, side group _player, true)] call FUNC(teleportToRallypoint)); - showDisabled = 1; - priority = 1; - }; - }; - }; + class Arguments {}; }; // team leader @@ -245,4 +71,140 @@ class CfgVehicles { }; }; }; + + // rallypoints + class FlagCarrier; + class Flag_NATO_F: FlagCarrier { + class ACE_Actions; + }; + + class Flag_CSAT_F: FlagCarrier { + class ACE_Actions; + }; + + class Flag_AAF_F: FlagCarrier { + class ACE_Actions; + }; + + // static + class ACE_Rallypoint_West_Base: Flag_NATO_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "Rallypoint West Base"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + distance = 4; + condition = QUOTE(side group _player == west); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West')] call FUNC(teleportToRallypoint)); + position[] = {0,0,-1}; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_East_Base: Flag_CSAT_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "Rallypoint East Base"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + distance = 4; + condition = QUOTE(side group _player == east); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East')] call FUNC(teleportToRallypoint)); + position[] = {0,0,-1}; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_Independent_Base: Flag_AAF_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "Rallypoint Independent Base"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + distance = 4; + condition = QUOTE(side group _player == independent); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent')] call FUNC(teleportToRallypoint)); + position[] = {0,0,-1}; + showDisabled = 1; + priority = 1; + }; + }; + }; + + // moveable + class ACE_Rallypoint_West: Flag_NATO_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "Rallypoint West"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToBase"; + distance = 4; + condition = QUOTE(side group _player == west); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West_Base')] call FUNC(teleportToRallypoint)); + position[] = {0,0,-1}; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_East: Flag_CSAT_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "Rallypoint East"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToBase"; + distance = 4; + condition = QUOTE(side group _player == east); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East_Base')] call FUNC(teleportToRallypoint)); + position[] = {0,0,-1}; + showDisabled = 1; + priority = 1; + }; + }; + }; + + class ACE_Rallypoint_Independent: Flag_AAF_F { + XEH_ENABLED; + + author = "$STR_ACE_Common_ACETeam"; + displayName = "Rallypoint Independent"; + vehicleClass = QGVAR(Rallypoints); + + class ACE_Actions: ACE_Actions { + class ACE_Teleport { + displayName = "$STR_ACE_Respawn_TeleportedToBase"; + distance = 4; + condition = QUOTE(side group _player == independent); + statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent_Base')] call FUNC(teleportToRallypoint)); + position[] = {0,0,-1}; + showDisabled = 1; + priority = 1; + }; + }; + }; }; diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index dcd4810844..d937363310 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -26,8 +26,8 @@ _this spawn { _rallypoint = [ objNull, missionNamespace getVariable ["ACE_Rallypoint_West", objNull], - missionNamespace getVariable ["ACE_RallypointExit_East", objNull], - missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull] + missionNamespace getVariable ["ACE_Rallypoint_East", objNull], + missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull] ] select ([west, east, independent] find _side) + 1; if (isNull _rallypoint) exitWith {}; @@ -50,5 +50,5 @@ _this spawn { _marker setMarkerTextLocal format ["%1:%2", [date select 3, 2, 0] call CBA_fnc_FORMATNumber, [date select 4, 2, 0] call CBA_fnc_FORMATNumber]; */ - [localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured); + [localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured); }; diff --git a/addons/respawn/functions/fnc_restoreGear.sqf b/addons/respawn/functions/fnc_restoreGear.sqf index 18afba344b..5a00e3425c 100644 --- a/addons/respawn/functions/fnc_restoreGear.sqf +++ b/addons/respawn/functions/fnc_restoreGear.sqf @@ -76,6 +76,8 @@ if (_goggles != "") then { _unit addItemToVest _x; }forEach _vestitems; +private "_flagRemoveDummyBag"; +_flagRemoveDummyBag = false; if(format["%1", _backpack] != "") then { _unit addBackpack _backpack; @@ -87,6 +89,12 @@ if(format["%1", _backpack] != "") then { { _unit addItemToBackpack _x; } forEach _backpackitems; + +} else { + // dummy backpack to ensure mags being loaded + _unit addBackpack "B_Kitbag_Base"; + + _flagRemoveDummyBag = true; }; @@ -138,6 +146,12 @@ if (_handgunweapon != "") then { }; +// remove dummy bagpack +if (_flagRemoveDummyBag) then { + removeBackpack _unit; +}; + + _assignedItems = _assignedItems - [_binocular]; // items diff --git a/addons/respawn/functions/fnc_teleportToRallypoint.sqf b/addons/respawn/functions/fnc_teleportToRallypoint.sqf index 8d898441ee..82a1d68e05 100644 --- a/addons/respawn/functions/fnc_teleportToRallypoint.sqf +++ b/addons/respawn/functions/fnc_teleportToRallypoint.sqf @@ -18,30 +18,19 @@ #include "script_component.hpp" -private ["_unit", "_side", "_toBase", "_rallypoint"]; +private ["_unit", "_side", "_rallypoint", "_toBase"]; _unit = _this select 0; _side = _this select 1; -_toBase = _this select 2; +_rallypoint = _this select 2; // rallypoint names are defined in CfgVehicles.hpp -_rallypoint = ([ - [ - objNull, - missionNamespace getVariable ["ACE_RallypointExit_West", objNull], - missionNamespace getVariable ["ACE_RallypointExit_East", objNull], - missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull] - ], - [ - objNull, - missionNamespace getVariable ["ACE_Rallypoint_West", objNull], - missionNamespace getVariable ["ACE_Rallypoint_East", objNull], - missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull] - ] -] select _toBase) select ([west, east, independent] find _side) + 1; +_toBase = _rallypoint find "_Base" != -1; + +_rallypoint = missionNamespace getVariable [_rallypoint, objNull], if (isNull _rallypoint) exitWith {}; -_unit setPosASL (getPosASL _rallypoint); +_unit setPosASL getPosASL _rallypoint; [[localize "STR_ACE_Respawn_TeleportedToRallypoint", localize "STR_ACE_Respawn_TeleportedToBase"] select _toBase] call EFUNC(common,displayTextStructured); From b39209cc28357ef5535936a38d5bbf61a1f01ff5 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 17:09:13 -0700 Subject: [PATCH 072/247] BAD @esteldunedain! BAD DOGGY! --- addons/interact_menu/functions/fnc_compileMenu.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index e5b6e28c57..baf8e1c272 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -43,7 +43,7 @@ _recurseFnc = { if (isArray ( _entryCfg >> "selection" )) then { _selection = getArray ( _entryCfg >> "selection" ) } else { - _selection = getText (_entryCfg >> "selection") + _selection = getText (_entryCfg >> "selection"); if (_selection == "") then { _selection = [0,0,0]; }; From 1488ba2aac5be6a0f37c50922e888e7d6e04b58c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 14 Apr 2015 19:52:30 -0500 Subject: [PATCH 073/247] #595 - Hide ace optino button if no world loaded I wanted to use a rscMapControl onDraw, but it throws an error onMouseMoving seems odd, but it works and I don't have to overload onLoad --- addons/optionsmenu/config.cpp | 26 +++++++++++++------------- addons/optionsmenu/gui/pauseMenu.hpp | 5 ++++- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index 89d5768603..675e415e47 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -1,23 +1,23 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - units[] = {"ACE_moduleAllowConfigExport"}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"Glowbal", "PabstMirror"}; - authorUrl = "http://github.com/Glowbal"; - VERSION_CONFIG; - }; + class ADDON { + units[] = {"ACE_moduleAllowConfigExport"}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"Glowbal", "PabstMirror"}; + authorUrl = "http://github.com/Glowbal"; + VERSION_CONFIG; + }; }; class CfgAddons { - class PreloadAddons { - class ADDON { - list[] = {QUOTE(ADDON)}; + class PreloadAddons { + class ADDON { + list[] = {QUOTE(ADDON)}; + }; }; - }; }; diff --git a/addons/optionsmenu/gui/pauseMenu.hpp b/addons/optionsmenu/gui/pauseMenu.hpp index d6a831c2aa..c4cbae9916 100644 --- a/addons/optionsmenu/gui/pauseMenu.hpp +++ b/addons/optionsmenu/gui/pauseMenu.hpp @@ -96,11 +96,14 @@ class RscDisplayInterruptEditor3D: RscStandardDisplay { }; }; class RscDisplayMain: RscStandardDisplay { + //Hide the button if there is no world (-world=empty) + //Seems odd to use onMouseMoving, but I don't want to overload onLoad + onMouseMoving = "((_this select 0) displayCtrl 80085) ctrlShow (missionName != '');"; class controls { class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase { action = "if (missionName != '') then {createDialog 'ACE_settingsMenu';};"; y = "4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + safezoneY"; + idc = 80085; }; }; }; - From 2940d1f83cc521b9f89835f57f263709f7dfe3b2 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 03:10:17 +0200 Subject: [PATCH 074/247] base rallypoints create a respawn marker if none is present in the mission --- addons/respawn/CfgEventHandlers.hpp | 14 ++++++++------ addons/respawn/functions/fnc_initRallypoint.sqf | 7 ++++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index 7b00950931..9ff7a2bae8 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -23,37 +23,39 @@ class Extended_Respawn_EventHandlers { class Extended_Init_EventHandlers { class ACE_Rallypoint_West { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_2(_this select 0,'')] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_East { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_2(_this select 0,'')] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_Independent { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_2(_this select 0,'')] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_West_Base { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_2(_this select 0,'respawn_west')] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_East_Base { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_2(_this select 0,'respawn_east')] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_Independent_Base { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_2(_this select 0,'respawn_guerrila')] call FUNC(initRallypoint)); }; }; + + //respawn_civilian }; diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index cb4d55146f..c266026e11 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -16,9 +16,10 @@ #include "script_component.hpp" -private ["_rallypoint", "_name"]; +private ["_rallypoint", "_respawnMarker", "_name"]; _rallypoint = _this select 0; +_respawnMarker = _this select 1; if (!local _rallypoint) exitWith {}; @@ -31,3 +32,7 @@ if (isNil _name) then { deleteVehicle _rallypoint; diag_log text "[ACE] Respawn: ERROR Multiple Rallypoints of same type."; }; + +if (isServer && {_respawnMarker != ""} && {!(_respawnMarker in allMapMarkers)}) then { + createMarker [_respawnMarker, _rallypoint]; +}; From 37de67395f1af80ddce823f6fca4ff08206357cd Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 18:18:27 -0700 Subject: [PATCH 075/247] Fixed: issue where Javelin wouldn't hit > 1500 --- addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf index 4e83e046ff..dc8b9b8e9d 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf @@ -57,7 +57,8 @@ switch( (_state select 0) ) do { }; case STAGE_COAST: { TRACE_1("STAGE_COAST",""); - if(_distanceShooterToTarget < 1250 || _distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) )) then { + TRACE_1("", ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ); + if(_distanceShooterToTarget < 1250 || _distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then { _state set[0, STAGE_TERMINAL]; }; _returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)]; From ef6d0902386765811317bd6867388872a1b2cac8 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 18:18:38 -0700 Subject: [PATCH 076/247] Fixed: JAV_DIR was erroring. --- .../functions/fnc_attackProfile_JAV_DIR.sqf | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf index da01b7d900..822afd7f1b 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf @@ -43,12 +43,8 @@ switch( (_state select 0) ) do { }; case STAGE_CLIMB: { TRACE_1("STAGE_CLIMB",""); - _cruisAlt = 60; - if(_distanceShooterToTarget < w) then { - _cruisAlt = 60 * (_distanceShooterToTarget/2000); - TRACE_1("_cruisAlt", _cruisAlt); - }; - + _cruisAlt = 60 * (_distanceShooterToTarget/2000); + if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then { _state set[0, STAGE_TERMINAL]; } else { From ad95105508cc712beb256d32886c8fc3f2a9eeea Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 18:25:02 -0700 Subject: [PATCH 077/247] Added and enabled AMG for AI. --- addons/missileguidance/ACE_Settings.hpp | 7 ++++ addons/missileguidance/CfgEventhandlers.hpp | 8 ++++- addons/missileguidance/XEH_pre_init.sqf | 3 +- .../{fnc_fired.sqf => fnc_onFired.sqf} | 34 ++++++++++++------- .../functions/fnc_onIncomingMissile.sqf | 7 ++++ .../functions/fnc_seekerType_SALH.sqf | 12 ++++--- addons/missileguidance/stringtable.xml | 6 ++++ 7 files changed, 59 insertions(+), 18 deletions(-) rename addons/missileguidance/functions/{fnc_fired.sqf => fnc_onFired.sqf} (74%) create mode 100644 addons/missileguidance/functions/fnc_onIncomingMissile.sqf diff --git a/addons/missileguidance/ACE_Settings.hpp b/addons/missileguidance/ACE_Settings.hpp index 060bde199b..fdd4743546 100644 --- a/addons/missileguidance/ACE_Settings.hpp +++ b/addons/missileguidance/ACE_Settings.hpp @@ -6,4 +6,11 @@ class ACE_Settings { displayName = "$STR_ACE_MissileGuidance"; description = "$STR_ACE_MissileGuidance_Desc"; }; + class GVAR(enabledForAI) { + value = 1; + typeName = "BOOL"; + isClientSetable = 1; + displayName = "$STR_ACE_MissileGuidance_AI"; + description = "$STR_ACE_MissileGuidance_AI_Desc"; + }; }; \ No newline at end of file diff --git a/addons/missileguidance/CfgEventhandlers.hpp b/addons/missileguidance/CfgEventhandlers.hpp index 49f067ff46..8afeb9245e 100644 --- a/addons/missileguidance/CfgEventhandlers.hpp +++ b/addons/missileguidance/CfgEventhandlers.hpp @@ -12,6 +12,12 @@ class Extended_PostInit_EventHandlers { class Extended_FiredBIS_EventHandlers { class All { - ADDON = QUOTE(_this call FUNC(fired)); + ADDON = QUOTE(_this call FUNC(onFired)); + }; +}; + +class Extended_IncomingMissile_EventHandlers { + class All { + ADDON = QUOTE(_this call FUNC(onIncomingMissile)); }; }; \ No newline at end of file diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 8d277bc3b0..d19b8475c9 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -7,7 +7,8 @@ PREP(changeMissileDirection); PREP(checkSeekerAngle); PREP(checkLos); -PREP(fired); +PREP(onFired); +PREP(onIncomingMissile); PREP(guidancePFH); PREP(doAttackProfile); diff --git a/addons/missileguidance/functions/fnc_fired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf similarity index 74% rename from addons/missileguidance/functions/fnc_fired.sqf rename to addons/missileguidance/functions/fnc_onFired.sqf index 8b90b2353f..dea8d256f1 100644 --- a/addons/missileguidance/functions/fnc_fired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -2,10 +2,10 @@ #include "script_component.hpp" // Bail if guidance is disabled -if(!GVAR(enabled)) exitWith { false }; - // Bail on locality of the projectile, it should be local to us -if(!local _projectile) exitWith { false }; +if(!GVAR(enabled) || {!local _projectile} ) exitWith { false }; + +if(!GVAR(enableForAI) && {!isPlayer _shooter} ) exitWith { false }; private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"]; PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); @@ -20,10 +20,13 @@ _enabled = getNumber ( _config >> "enabled"); if(isNil "_enabled" || {_enabled != 1}) exitWith { false }; _target = (vehicle _shooter) getVariable [QGVAR(target), nil]; +_targetPos = (vehicle _shooter) getVariable [QGVAR(targetPosition), nil]; _seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil]; _attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil]; _lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil]; +_launchPos = getPosASL (vehicle _shooter); + TRACE_3("Begin guidance", _target, _seekerType, _attackProfile); if ( isNil "_seekerType" || { ! ( _seekerType in (getArray (_config >> "seekerTypes" ) ) ) } ) then { @@ -38,21 +41,28 @@ if ( isNil "_lockMode" || { ! ( _lockMode in (getArray (_config >> "seekerLockMo // If we didn't get a target, try to fall back on tab locking if(isNil "_target") then { - _canUseLock = getNumber (_config >> "canVanillaLock"); - if(_canUseLock > 0) then { - // @TODO: Get vanilla target - _vanillaTarget = cursorTarget; - - TRACE_1("Using Vanilla Locking", _vanillaTarget); - if(!isNil "_vanillaTarget") then { - _target = _vanillaTarget; + + if(!isPlayer _shooter) then { + // This was an AI shot, lets still guide it on the AI target + _target = _shooter getVariable[QGVAR(vanilla_target), nil]; + TRACE_1("Detected AI Shooter!", _target); + } else { + _canUseLock = getNumber (_config >> "canVanillaLock"); + if(_canUseLock > 0) then { + // @TODO: Get vanilla target + _vanillaTarget = cursorTarget; + + TRACE_1("Using Vanilla Locking", _vanillaTarget); + if(!isNil "_vanillaTarget") then { + _target = _vanillaTarget; + }; }; }; }; TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); [FUNC(guidancePFH), 0, [_this, - [ACE_player, + [_shooter, [_target, _targetPos, _launchPos], _seekerType, _attackProfile, diff --git a/addons/missileguidance/functions/fnc_onIncomingMissile.sqf b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf new file mode 100644 index 0000000000..f819a97562 --- /dev/null +++ b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf @@ -0,0 +1,7 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +PARAMS_3(_target,_ammo,_shooter); + +if !(local (gunner _shooter) || {local _shooter}) exitWith {}; + +_shooter setVariable [QGVAR(vanilla_target),_target, false]; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index b6ed8d65a4..07f997a041 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -8,10 +8,14 @@ _launchParams = _this select 1; _seekerParams = _launchParams select 3; _angleFov = _seekerParams select 0; -_laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); -_foundTargetPos = _laserResult select 0; -TRACE_1("Search", _laserResult); - +if(!isNil "_target") then { + // Handle AI or moving vanilla lasers + _foundTargetPos = getPosASL _target; +} else { + _laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); + _foundTargetPos = _laserResult select 0; + TRACE_1("Search", _laserResult); +}; if(!isNil "_foundTargetPos") then { //_canSeeTarget = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle); diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 3ee166a6ff..5c136388ba 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -12,6 +12,12 @@ Avançado Missile Guidance Részletes rakéta irányító Расширенный ракетой + + + Advanced Missile Guidance for AI + + + Enables advanced guidance on AI units. Enables advanced guidance mechanics and selection for different missiles and fire modes. From b307b4bc4bc662929df19b1e815f0c0265db62a7 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 18:38:52 -0700 Subject: [PATCH 078/247] Fixed: Flummi missed 2 isClientSettable renames. --- addons/interact_menu/config.cpp | 2 +- addons/missileguidance/ACE_Settings.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index bb1b09cc20..f87062bf6f 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -26,7 +26,7 @@ class ACE_Settings { class GVAR(UseListMenu) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_UseListMenu"; }; }; diff --git a/addons/missileguidance/ACE_Settings.hpp b/addons/missileguidance/ACE_Settings.hpp index fdd4743546..0ecd4b8cbc 100644 --- a/addons/missileguidance/ACE_Settings.hpp +++ b/addons/missileguidance/ACE_Settings.hpp @@ -2,14 +2,14 @@ class ACE_Settings { class GVAR(enabled) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_MissileGuidance"; description = "$STR_ACE_MissileGuidance_Desc"; }; class GVAR(enabledForAI) { value = 1; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_MissileGuidance_AI"; description = "$STR_ACE_MissileGuidance_AI_Desc"; }; From 91c8c89e87d9ef08efb30d1faf98b6fa542e5a72 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 14 Apr 2015 20:47:07 -0500 Subject: [PATCH 079/247] Only sync A3 VON status over network --- .../nametags/functions/fnc_initIsSpeaking.sqf | 49 ++++++++----------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index 56c5cfc2f1..95403e0894 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -20,8 +20,8 @@ if (isServer) then { //If someone disconnects while speaking, reset their variable addMissionEventHandler ["HandleDisconnect", { PARAMS_1(_disconnectedPlayer); - if (_disconnectedPlayer getVariable [QGVAR(isSpeaking), false]) then { - _disconnectedPlayer setVariable [QGVAR(isSpeaking), false, true]; + if (_disconnectedPlayer getVariable [QGVAR(isSpeakingInGame), false]) then { + _disconnectedPlayer setVariable [QGVAR(isSpeakingInGame), false, true]; }; }]; }; @@ -31,46 +31,39 @@ if (!hasInterface) exitWith {}; ["playerChanged", { //When player changes, make sure to reset old unit's variable PARAMS_2(_newUnit,_oldUnit); - if (_oldUnit getVariable [QGVAR(isSpeaking), false]) then { - _oldUnit setVariable [QGVAR(isSpeaking), false, true]; + if ((!isNull _oldUnit) && {_oldUnit getVariable [QGVAR(isSpeakingInGame), false]}) then { + _oldUnit setVariable [QGVAR(isSpeakingInGame), false, true]; }; }] call EFUNC(common,addEventHandler); +//PFEH to watch the internal VON icon +//Note: class RscDisplayVoiceChat {idd = 55}; //only present when talking +[{ + _oldSetting = ACE_player getVariable [QGVAR(isSpeakingInGame), false]; + _newSetting = (!(isNull findDisplay 55)); + if (!(_oldSetting isEqualTo _newSetting)) then { + ACE_player setVariable [QGVAR(isSpeakingInGame), _newSetting, true]; + }; +} , 0.1, []] call CBA_fnc_addPerFrameHandler; -//For performance, chose different code paths at mission start based on installed mods (once, instead of checking each time) -_pfEHCode = switch (true) do { + +DFUNC(isSpeaking) = switch (true) do { case (isClass (configFile >> "cfgPatches" >> "acre_api")): { { - _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = ([ACE_player] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) || {!(isNull findDisplay 55)}; - if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; - }; + PARAMS_1(_unit); + (_unit getVariable [QGVAR(isSpeakingInGame), false]) || ([_unit] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) }; }; case (isClass (configFile >> "cfgPatches" >> "task_force_radio")): { - //Note: TFAR has a TFAR_fnc_isSpeaking function, but it has a fairly costly `callExtension` - //I think it's much faster to use the internal "tf_isSpeaking" variable - //If we don't care about the built-in VON, we could switch this to a pure event driven system { - _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = (ACE_player getVariable ["tf_isSpeaking", false]) || {!(isNull findDisplay 55)}; - if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; - }; + PARAMS_1(_unit); + (_unit getVariable [QGVAR(isSpeakingInGame), false]) || (_unit getVariable ["tf_isSpeaking", false]) }; }; default { - //Note: class RscDisplayVoiceChat {idd = 55}; //only present when talking { - _oldSetting = ACE_player getVariable [QGVAR(isSpeaking), false]; - _newSetting = (!(isNull findDisplay 55)); - if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeaking), _newSetting, true]; - }; + PARAMS_1(_unit); + (_unit getVariable [QGVAR(isSpeakingInGame), false]) }; }; }; - -//Is 0.05sec precision enough?? -[_pfEHCode, 0.05, []] call CBA_fnc_addPerFrameHandler; From 00b9e2d72ca7584268b78636d49a842ab39ebab5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 14 Apr 2015 20:49:44 -0500 Subject: [PATCH 080/247] draw3d --- addons/nametags/XEH_postInit.sqf | 1 + addons/nametags/XEH_preInit.sqf | 2 -- addons/nametags/functions/fnc_onDraw3d.sqf | 10 +++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index ab3cd03391..1df20e45e7 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -5,6 +5,7 @@ if (!hasInterface) exitWith {}; +GVAR(ShowNamesTime) = -10; // Add keybinds ["ACE3", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames", diff --git a/addons/nametags/XEH_preInit.sqf b/addons/nametags/XEH_preInit.sqf index 80c06cff1f..9fae94fd08 100644 --- a/addons/nametags/XEH_preInit.sqf +++ b/addons/nametags/XEH_preInit.sqf @@ -12,6 +12,4 @@ PREP(onDraw3d); PREP(onMouseZChanged); PREP(setText); -GVAR(ShowNamesTime) = -10; - ADDON = true; diff --git a/addons/nametags/functions/fnc_onDraw3d.sqf b/addons/nametags/functions/fnc_onDraw3d.sqf index 8aa503d377..d35cef0d67 100644 --- a/addons/nametags/functions/fnc_onDraw3d.sqf +++ b/addons/nametags/functions/fnc_onDraw3d.sqf @@ -50,9 +50,9 @@ if ((GVAR(showPlayerNames) in [2,4]) && {_onKeyPressAlphaMax > 0}) then { _alpha = _alpha min _onKeyPressAlphaMax; _icon = ICON_NONE; if (GVAR(showSoundWaves) == 2) then { //icon will be drawn below, so only show name here - _icon = if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target}) then {ICON_NAME} else {_defaultIcon}; + _icon = if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target}) then {ICON_NAME} else {_defaultIcon}; } else { - _icon = if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {ICON_NAME_SPEAK} else {_defaultIcon}; + _icon = if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {ICON_NAME_SPEAK} else {_defaultIcon}; }; [_player, _target, _alpha, _distance * 0.026, _icon] call FUNC(drawNameTagIcon); @@ -77,10 +77,10 @@ if (((GVAR(showPlayerNames) in [1,3]) && {_onKeyPressAlphaMax > 0}) || {GVAR(sho _icon = ICON_NONE; if ((GVAR(showPlayerNames) in [1,3]) && {_onKeyPressAlphaMax > 0}) then { - if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {_icon = ICON_NAME_SPEAK;} else {_icon = _defaultIcon}; + if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target} && {GVAR(showSoundWaves) > 0}) then {_icon = ICON_NAME_SPEAK;} else {_icon = _defaultIcon}; } else { //showSoundWaves must be 2, only draw speak icon - if ((_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target}) then {_icon = ICON_SPEAK;}; + if (([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target}) then {_icon = ICON_SPEAK;}; }; if ((_icon != ICON_NONE) && @@ -96,7 +96,7 @@ if (((GVAR(showPlayerNames) in [1,3]) && {_onKeyPressAlphaMax > 0}) || {GVAR(sho _alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min (1 - 0.15 * (_projDist * 5 - _distance - 3)) min 1) * GVAR(PlayerNamesMaxAlpha); - if ((GVAR(showSoundWaves) == 2) && {(_target getVariable [QGVAR(isSpeaking), false]) && {(vehicle _target) == _target}}) then { + if ((GVAR(showSoundWaves) == 2) && {([_target] call FUNC(isSpeaking)) && {(vehicle _target) == _target}}) then { _alpha = 1; } else { _alpha = _alpha min _onKeyPressAlphaMax; From ee340789602485d8cdd2ee33ddf8a4f0cbe6666b Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Tue, 14 Apr 2015 22:53:10 -0300 Subject: [PATCH 081/247] Add early visibility check to interact menu --- .../functions/fnc_renderActionPoints.sqf | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 45c0c46a61..1d941435be 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -14,19 +14,25 @@ GVAR(currentOptions) = []; -private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_objectActions","_target","_player","_action","_actionData","_active"]; +private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_objectActions","_target","_player","_action","_actionData","_active","_cameraPos","_cameraDir"]; _player = ACE_player; - _fnc_renderNearbyActions = { // Render all nearby interaction menus #define MAXINTERACTOBJECTS 3 + _cameraPos = (positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL); + _cameraDir = ((positionCameraToWorld [0, 0, 1]) call EFUNC(common,positionToASL)) vectorDiff _cameraPos; + _numInteractObjects = 0; - _nearestObjects = nearestObjects [ACE_player, ["All"], 15]; + _nearestObjects = nearestObjects [ACE_player, ["All"], 13]; { _target = _x; + // Quick oclussion test. Exit for object more than 1 m behind the camera plane + _lambda = ((getPosASL _x) vectorDiff _cameraPos) vectorDotProduct _cameraDir; + if (_lambda < -1) exitWith {}; + _numInteractions = 0; // Prevent interacting with yourself or your own vehicle if (_target != ACE_player && {_target != vehicle ACE_player}) then { From 53ce7d0be40c52ae7b6c95065967a82a2fc36846 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Tue, 14 Apr 2015 23:12:48 -0300 Subject: [PATCH 082/247] Increase the tolerance to 2m --- addons/interact_menu/functions/fnc_renderActionPoints.sqf | 4 ++-- addons/interact_menu/script_component.hpp | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 1d941435be..702da00f29 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -29,9 +29,9 @@ _fnc_renderNearbyActions = { { _target = _x; - // Quick oclussion test. Exit for object more than 1 m behind the camera plane + // Quick oclussion test. Exit for object more than 2 m behind the camera plane _lambda = ((getPosASL _x) vectorDiff _cameraPos) vectorDotProduct _cameraDir; - if (_lambda < -1) exitWith {}; + if (_lambda < -2) exitWith {}; _numInteractions = 0; // Prevent interacting with yourself or your own vehicle diff --git a/addons/interact_menu/script_component.hpp b/addons/interact_menu/script_component.hpp index 958d1c802d..a086b02613 100644 --- a/addons/interact_menu/script_component.hpp +++ b/addons/interact_menu/script_component.hpp @@ -9,4 +9,6 @@ #define DEBUG_SETTINGS DEBUG_SETTINGS_INTERACT_MENU #endif -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file +#include "\z\ace\addons\main\script_macros.hpp" + +#define ENABLE_PERFORMANCE_COUNTERS From 57acee0f89d0bacc658c0c5438147b7d8d174ee9 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 14 Apr 2015 19:19:14 -0700 Subject: [PATCH 083/247] Changed: Cleaned up Missile guidance setting for AI, SCALAR. --- addons/missileguidance/ACE_Settings.hpp | 12 +++--------- .../missileguidance/functions/fnc_onFired.sqf | 4 ++-- .../functions/fnc_onIncomingMissile.sqf | 3 ++- addons/missileguidance/stringtable.xml | 18 ------------------ 4 files changed, 7 insertions(+), 30 deletions(-) diff --git a/addons/missileguidance/ACE_Settings.hpp b/addons/missileguidance/ACE_Settings.hpp index 0ecd4b8cbc..d489ef15f3 100644 --- a/addons/missileguidance/ACE_Settings.hpp +++ b/addons/missileguidance/ACE_Settings.hpp @@ -1,16 +1,10 @@ class ACE_Settings { class GVAR(enabled) { - value = 1; - typeName = "BOOL"; + value = 2; + typeName = "SCALAR"; isClientSettable = 1; displayName = "$STR_ACE_MissileGuidance"; description = "$STR_ACE_MissileGuidance_Desc"; - }; - class GVAR(enabledForAI) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_MissileGuidance_AI"; - description = "$STR_ACE_MissileGuidance_AI_Desc"; + values[] = {"Off", "Player Only", "Player and AI"}; }; }; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index dea8d256f1..186a622417 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -3,9 +3,9 @@ // Bail if guidance is disabled // Bail on locality of the projectile, it should be local to us -if(!GVAR(enabled) || {!local _projectile} ) exitWith { false }; +if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false }; -if(!GVAR(enableForAI) && {!isPlayer _shooter} ) exitWith { false }; +if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false }; private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"]; PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); diff --git a/addons/missileguidance/functions/fnc_onIncomingMissile.sqf b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf index f819a97562..33ebeb34e2 100644 --- a/addons/missileguidance/functions/fnc_onIncomingMissile.sqf +++ b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf @@ -2,6 +2,7 @@ #include "script_component.hpp" PARAMS_3(_target,_ammo,_shooter); -if !(local (gunner _shooter) || {local _shooter}) exitWith {}; +if(GVAR(enabled) < 1) exitWith {}; // bail if enabled +if !(local (gunner _shooter) || {local _shooter}) exitWith {}; // bail if not shooter _shooter setVariable [QGVAR(vanilla_target),_target, false]; \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 5c136388ba..16c9a7ec74 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -12,24 +12,6 @@ Avançado Missile Guidance Részletes rakéta irányító Расширенный ракетой - - - Advanced Missile Guidance for AI - - - Enables advanced guidance on AI units. - - - Enables advanced guidance mechanics and selection for different missiles and fire modes. - - - Włącza zaawansowaną mechanikę i wybór dla różnych rakiet i trybów strzału. - Aktiviert die erweiterten Mechaniken für unterschiedliche Raketen und Feuermodi. - Povoluje pokročilou mechaniku řízení střel. - - - - Hydra-70 DAGR Missile From c397246534543c0ecfe4c0b206b9ea8f0268b056 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Tue, 14 Apr 2015 23:22:08 -0300 Subject: [PATCH 084/247] Fix the fov test. Issue not fixed --- .../functions/fnc_renderActionPoints.sqf | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 702da00f29..9c100ea9ad 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -29,44 +29,44 @@ _fnc_renderNearbyActions = { { _target = _x; - // Quick oclussion test. Exit for object more than 2 m behind the camera plane + // Quick oclussion test. Exit for object more than 1 m behind the camera plane _lambda = ((getPosASL _x) vectorDiff _cameraPos) vectorDotProduct _cameraDir; - if (_lambda < -2) exitWith {}; + if (_lambda > -1) then { + _numInteractions = 0; + // Prevent interacting with yourself or your own vehicle + if (_target != ACE_player && {_target != vehicle ACE_player}) then { - _numInteractions = 0; - // Prevent interacting with yourself or your own vehicle - if (_target != ACE_player && {_target != vehicle ACE_player}) then { + // Iterate through object actions, find base level actions and render them if appropiate + _actionsVarName = format [QGVAR(Act_%1), typeOf _target]; + GVAR(objectActionList) = _target getVariable [QGVAR(actions), []]; + { + // Only render them directly if they are base level actions + if (count (_x select 1) == 0) then { + // Try to render the menu + _action = _x; + if ([_target, _action] call FUNC(renderBaseMenu)) then { + _numInteractions = _numInteractions + 1; + }; + }; + } forEach GVAR(objectActionList); - // Iterate through object actions, find base level actions and render them if appropiate - _actionsVarName = format [QGVAR(Act_%1), typeOf _target]; - GVAR(objectActionList) = _target getVariable [QGVAR(actions), []]; - { - // Only render them directly if they are base level actions - if (count (_x select 1) == 0) then { - // Try to render the menu + // Iterate through base level class actions and render them if appropiate + _classActions = missionNamespace getVariable [_actionsVarName, []]; + { _action = _x; + // Try to render the menu if ([_target, _action] call FUNC(renderBaseMenu)) then { _numInteractions = _numInteractions + 1; }; - }; - } forEach GVAR(objectActionList); + } forEach _classActions; - // Iterate through base level class actions and render them if appropiate - _classActions = missionNamespace getVariable [_actionsVarName, []]; - { - _action = _x; - // Try to render the menu - if ([_target, _action] call FUNC(renderBaseMenu)) then { - _numInteractions = _numInteractions + 1; + // Limit the amount of objects the player can interact with + if (_numInteractions > 0) then { + _numInteractObjects = _numInteractObjects + 1; }; - } forEach _classActions; - - // Limit the amount of objects the player can interact with - if (_numInteractions > 0) then { - _numInteractObjects = _numInteractObjects + 1; }; + if (_numInteractObjects >= MAXINTERACTOBJECTS) exitWith {}; }; - if (_numInteractObjects >= MAXINTERACTOBJECTS) exitWith {}; } forEach _nearestObjects; }; From 7ad9238bbf35fe7cd8d1359a739c56062e57c00c Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Tue, 14 Apr 2015 23:32:03 -0300 Subject: [PATCH 085/247] Fixes --- addons/interact_menu/functions/fnc_renderActionPoints.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 9c100ea9ad..8d4734c8f8 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -25,11 +25,11 @@ _fnc_renderNearbyActions = { _cameraDir = ((positionCameraToWorld [0, 0, 1]) call EFUNC(common,positionToASL)) vectorDiff _cameraPos; _numInteractObjects = 0; - _nearestObjects = nearestObjects [ACE_player, ["All"], 13]; + _nearestObjects = nearestObjects [((getPosASL ACE_player) vectorAdd (_cameraDir vectorMultiply 5)) call EFUNC(common,ASLToPosition), ["All"], 8]; { _target = _x; - // Quick oclussion test. Exit for object more than 1 m behind the camera plane + // Quick oclussion test. Skip objects more than 1 m behind the camera plane _lambda = ((getPosASL _x) vectorDiff _cameraPos) vectorDotProduct _cameraDir; if (_lambda > -1) then { _numInteractions = 0; @@ -65,8 +65,8 @@ _fnc_renderNearbyActions = { _numInteractObjects = _numInteractObjects + 1; }; }; - if (_numInteractObjects >= MAXINTERACTOBJECTS) exitWith {}; }; + if (_numInteractObjects >= MAXINTERACTOBJECTS) exitWith {}; } forEach _nearestObjects; }; From d6a293c573e61f8702f404491b243da00b18a8f9 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 05:19:03 +0200 Subject: [PATCH 086/247] disable firing if menu is opened --- addons/interaction/XEH_postInit.sqf | 3 ++ addons/interaction/XEH_preInit.sqf | 1 + .../functions/fnc_handlePlayerChanged.sqf | 31 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 addons/interaction/functions/fnc_handlePlayerChanged.sqf diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 98b1cc1523..dc019b101f 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -74,3 +74,6 @@ GVAR(isOpeningDoor) = false; [29, [false, false, false]], false] call cba_fnc_addKeybind; ["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); + +// disable firing while the interact menu is is is opened +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventHandler); diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index 6f10a4e834..f6d742f419 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -14,6 +14,7 @@ PREP(getDoor); PREP(getDoorAnimations); PREP(getDown); PREP(getSelectedButton); +PREP(handlePlayerChanged); PREP(hideMenu); PREP(hideMouseHint); PREP(isInRange); diff --git a/addons/interaction/functions/fnc_handlePlayerChanged.sqf b/addons/interaction/functions/fnc_handlePlayerChanged.sqf new file mode 100644 index 0000000000..0e16d5db9e --- /dev/null +++ b/addons/interaction/functions/fnc_handlePlayerChanged.sqf @@ -0,0 +1,31 @@ +/* + * Author: commy2 + * + * Disables firing while the menu is opened. Called from playerChanged eh. + * + * Argument: + * 0: New unit to add the addAction eh (Object) + * 1: Old unit to remove the addAction eh (String) + * + * Return value: + * NOPE + */ +#include "script_component.hpp" + +private ["_newUnit", "_oldUnit"]; + +_newUnit = _this select 0; +_oldUnit = _this select 1; + +// add to new unit +private "_ehid"; +_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {systemChat "snap"}] call EFUNC(common,addActionEventHandler); + +_newUnit setVariable [QGVAR(AAEHID), _ehid]; + +// remove from old unit +_ehid = _oldUnit getVariable [QGVAR(AAEHID), -1]; + +[_oldUnit, "DefaultAction", _ehid] call EFUNC(common,removeActionEventHandler); + +_oldUnit setVariable [QGVAR(AAEHID), -1]; From c81fa61f2e4a37af15256bbf8441c2b0a5dd6bc6 Mon Sep 17 00:00:00 2001 From: firefly2442 Date: Tue, 14 Apr 2015 22:34:58 -0500 Subject: [PATCH 087/247] match to exact directory name (case-sensitive) --- extensions/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt index 46aa4f3446..6028771554 100644 --- a/extensions/CMakeLists.txt +++ b/extensions/CMakeLists.txt @@ -27,7 +27,7 @@ include_directories(AFTER "common") # Add extensions to build here add_subdirectory(fcs) -add_subdirectory(breakline) +add_subdirectory(breakLine) add_subdirectory(advanced_ballistics) message("Build Type: ${CMAKE_BUILD_TYPE}") \ No newline at end of file From 428688422ec0470a0ebd55d9b365fd609b5a4285 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 14 Apr 2015 22:47:57 -0500 Subject: [PATCH 088/247] Missing stringtable for listMenu --- addons/interact_menu/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index bd8ded64ce..fdd9a2e6b4 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -10,6 +10,9 @@ Zawsze wyświetlaj kursor dla własnej interakcji Toujours afficher le curseur pour les interactions sur soi-même + + Display interact menu as a list + Interact Key Fremdinteraktionsmenü-Taste From 1f51a3fc8ac5fd27275621244c300dd997d318b5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 14 Apr 2015 23:10:05 -0500 Subject: [PATCH 089/247] Never use this func anywhere --- addons/nametags/XEH_preInit.sqf | 1 - .../nametags/functions/fnc_onMouseZChanged.sqf | 18 ------------------ 2 files changed, 19 deletions(-) delete mode 100644 addons/nametags/functions/fnc_onMouseZChanged.sqf diff --git a/addons/nametags/XEH_preInit.sqf b/addons/nametags/XEH_preInit.sqf index 9fae94fd08..f3c9a97cba 100644 --- a/addons/nametags/XEH_preInit.sqf +++ b/addons/nametags/XEH_preInit.sqf @@ -9,7 +9,6 @@ PREP(getVehicleData); PREP(initIsSpeaking); PREP(moduleNameTags); PREP(onDraw3d); -PREP(onMouseZChanged); PREP(setText); ADDON = true; diff --git a/addons/nametags/functions/fnc_onMouseZChanged.sqf b/addons/nametags/functions/fnc_onMouseZChanged.sqf deleted file mode 100644 index 8892f201bc..0000000000 --- a/addons/nametags/functions/fnc_onMouseZChanged.sqf +++ /dev/null @@ -1,18 +0,0 @@ -/* - Author: aeroson - - Description: - Callback for mouse wheel change - - Parameters: - None - - Returns: - Nothing -*/ - -#include "script_component.hpp" - -if(call FUNC(canShow)) then { - call FUNC(doShow); -}; From a9f44530c9f58cd24d1193f6172ed901d8a225f9 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Wed, 15 Apr 2015 01:20:20 -0300 Subject: [PATCH 090/247] Move the function that prevents firing while the interact_menu is open to the interact_menu pbo --- addons/interact_menu/XEH_clientInit.sqf | 3 +++ addons/interact_menu/XEH_preInit.sqf | 1 + .../functions/fnc_handlePlayerChanged.sqf | 12 ++++-------- addons/interaction/XEH_postInit.sqf | 3 --- addons/interaction/XEH_preInit.sqf | 1 - 5 files changed, 8 insertions(+), 12 deletions(-) rename addons/{interaction => interact_menu}/functions/fnc_handlePlayerChanged.sqf (74%) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index bcb2d5aa8e..ea4a971563 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -50,3 +50,6 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; GVAR(actionSelected) = false; [] call FUNC(keyUp); }] call EFUNC(common,addEventhandler); + +// disable firing while the interact menu is is is opened +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventHandler); diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index c15f8d388d..b4a3504cdd 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -9,6 +9,7 @@ PREP(compileMenuSelfAction); PREP(collectActiveActionTree); PREP(createAction); PREP(findActionNode); +PREP(handlePlayerChanged); PREP(isSubPath); PREP(keyDown); PREP(keyUp); diff --git a/addons/interaction/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf similarity index 74% rename from addons/interaction/functions/fnc_handlePlayerChanged.sqf rename to addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index 0e16d5db9e..bb5c3afb53 100644 --- a/addons/interaction/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -1,21 +1,17 @@ /* * Author: commy2 - * * Disables firing while the menu is opened. Called from playerChanged eh. * * Argument: - * 0: New unit to add the addAction eh (Object) - * 1: Old unit to remove the addAction eh (String) + * 0: New unit to add the addAction eh + * 1: Old unit to remove the addAction eh * * Return value: - * NOPE + * None */ #include "script_component.hpp" -private ["_newUnit", "_oldUnit"]; - -_newUnit = _this select 0; -_oldUnit = _this select 1; +EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index dc019b101f..98b1cc1523 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -74,6 +74,3 @@ GVAR(isOpeningDoor) = false; [29, [false, false, false]], false] call cba_fnc_addKeybind; ["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); - -// disable firing while the interact menu is is is opened -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventHandler); diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index f6d742f419..6f10a4e834 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -14,7 +14,6 @@ PREP(getDoor); PREP(getDoorAnimations); PREP(getDown); PREP(getSelectedButton); -PREP(handlePlayerChanged); PREP(hideMenu); PREP(hideMouseHint); PREP(isInRange); From 5faf4b7dfa55526b2d16a2437503d949961b55c9 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Wed, 15 Apr 2015 01:27:29 -0300 Subject: [PATCH 091/247] Remove comment --- addons/interact_menu/functions/fnc_handlePlayerChanged.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index bb5c3afb53..fe25853733 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -15,7 +15,7 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; -_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {systemChat "snap"}] call EFUNC(common,addActionEventHandler); +_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {}] call EFUNC(common,addActionEventHandler); _newUnit setVariable [QGVAR(AAEHID), _ehid]; From 25e8e93fd065ef4de50a8996b7008ed3d8bf95a0 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Wed, 15 Apr 2015 01:32:42 -0300 Subject: [PATCH 092/247] Add back stringtables for the list menu --- addons/interact_menu/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index bd8ded64ce..dddf90a4de 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -10,6 +10,10 @@ Zawsze wyświetlaj kursor dla własnej interakcji Toujours afficher le curseur pour les interactions sur soi-même + + Display interaction menus as lists + Mostrar los menus de interacción como listas + Interact Key Fremdinteraktionsmenü-Taste From d0f4fb8de2b96fb9591c475f69afe237ca913f3c Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 14 Apr 2015 23:50:48 -0500 Subject: [PATCH 093/247] Update how-to-make-a-feature-request.md minor spelling fixes --- documentation/user/how-to-make-a-feature-request.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/user/how-to-make-a-feature-request.md b/documentation/user/how-to-make-a-feature-request.md index 7a317a2c5f..bfc5401f38 100644 --- a/documentation/user/how-to-make-a-feature-request.md +++ b/documentation/user/how-to-make-a-feature-request.md @@ -8,7 +8,7 @@ parent: wiki ### Before requesting -ACE 2, AGM and CSE had a lot of features implemented or planned. All of them are or have been evaluated for inclusion in ACE3 itself, and we'd like to port the mayority of them eventually. However, due to time constraints, we have only managed to do a fraction of the job so far. +ACE 2, AGM and CSE had a lot of features implemented or planned. All of them are or have been evaluated for inclusion in ACE3 itself, and we'd like to port the majority of them eventually. However, due to time constraints, we have only managed to do a fraction of the job so far. There's really no point on making feature requests for anything included or planned for inclusion in ACE2, AGM or CSE. The majority of those things are been considered for porting or rewritting already. @@ -21,4 +21,4 @@ There's really no point on making feature requests for anything included or plan In order not to spam the issue tracker with duplicated requests, we have have created a single Issue for feature request. Any and all requests should be done there, where they will get discussed and evaluated. Before posting a new one, please make sure to check the previous entries on the thread and make a quick search; please don't reiterate requests that had already been either accepted for inclusion or disregarded. -Accepted feature requests may be moved to a sepparate issue by moderators for further discussion. +Accepted feature requests may be moved to a separate issue by moderators for further discussion. From 6c4e50a98de7a6186ef2d82c5ac0aa07b9e71359 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 08:31:40 +0200 Subject: [PATCH 094/247] localized names for rallypoints, auto assign slot of group leader at the start of the mission as JIP persistant rallypoint mover slot --- addons/respawn/CfgEventHandlers.hpp | 9 ++++ addons/respawn/CfgVehicles.hpp | 12 ++--- addons/respawn/XEH_preInit.sqf | 1 + .../functions/fnc_handleInitPostServer.sqf | 54 +++++++++++++++++++ .../respawn/functions/fnc_handleRespawn.sqf | 5 ++ addons/respawn/stringtable.xml | 24 +++++++++ 6 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 addons/respawn/functions/fnc_handleInitPostServer.sqf diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index 9ff7a2bae8..6d7356a607 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -59,3 +59,12 @@ class Extended_Init_EventHandlers { //respawn_civilian }; + +// auto assign rallypoint leader +class Extended_InitPost_EventHandlers { + class CAManBase { + class ADDON { + init = QUOTE(_this call FUNC(handleInitPostServer)); + }; + }; +}; diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index c8ca4f9216..28e33c6b3e 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -91,7 +91,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint West Base"; + displayName = "$STR_ACE_Respawn_RallypointWestBase"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -111,7 +111,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint East Base"; + displayName = "$STR_ACE_Respawn_RallypointEastBase"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -131,7 +131,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint Independent Base"; + displayName = "$STR_ACE_Respawn_RallypointIndependentBase"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -152,7 +152,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint West"; + displayName = "STR_ACE_Respawn_RallypointWest"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -172,7 +172,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint East"; + displayName = "STR_ACE_Respawn_RallypointEast"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -192,7 +192,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "Rallypoint Independent"; + displayName = "STR_ACE_Respawn_RallypointIndependent"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { diff --git a/addons/respawn/XEH_preInit.sqf b/addons/respawn/XEH_preInit.sqf index f57e1f3714..8b3f309126 100644 --- a/addons/respawn/XEH_preInit.sqf +++ b/addons/respawn/XEH_preInit.sqf @@ -5,6 +5,7 @@ ADDON = false; PREP(canMoveRallypoint); PREP(handleKilled); PREP(handleRespawn); +PREP(handleInitPostServer); PREP(initRallypoint); PREP(module); PREP(moduleFriendlyFire); diff --git a/addons/respawn/functions/fnc_handleInitPostServer.sqf b/addons/respawn/functions/fnc_handleInitPostServer.sqf new file mode 100644 index 0000000000..c83354b24e --- /dev/null +++ b/addons/respawn/functions/fnc_handleInitPostServer.sqf @@ -0,0 +1,54 @@ +// by commy2 +// execute on server only! +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +private ["_group0", "_rallypoint"]; + +_group0 = group _unit; // _group is a reserved veriable and shouldn't be used + +_rallypoint = [ + objNull, + missionNamespace getVariable ["ACE_Rallypoint_West", objNull], + missionNamespace getVariable ["ACE_Rallypoint_East", objNull], + missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull] +] select ([west, east, independent] find side _group0) + 1; + +// exit if no moveable rallypoint is placed for that side +if (isNull _rallypoint) exitWith {}; + +// find leader +private "_leaderVarName"; +_leaderVarName = _group0 getVariable [QGVAR(leaderVarName), ""]; + +// exit if group already has a playable slot assigned as rallypoint leader +if (_leaderVarName != "") exitWith { + // assign JIP unit as rallypoint leader + if (str _unit == _leaderVarName) then { + _unit setVariable ["ACE_canMoveRallypoint", true, true]; + }; +}; + +// treat group leader +_unit = leader _group0; + +_leaderVarName = vehicleVarName _unit; + +if (_leaderVarName == "") then { + private "_leaderID"; + _leaderID = GETGVAR(NextLeaderID,0); + + _leaderVarName = format [QGVAR(Rallypoint_Leader_%1), _leaderID]; + + _unit setVehicleVarName _leaderVarName; + + GVAR(NextLeaderID) = _leaderID + 1; +}; + +// prevent group from getting multiple leaders; use this to assign rallypoint moving ability on JIP +_group0 setVariable [QGVAR(leaderVarName), _leaderVarName]; + +_unit setVariable ["ACE_canMoveRallypoint", true, true]; diff --git a/addons/respawn/functions/fnc_handleRespawn.sqf b/addons/respawn/functions/fnc_handleRespawn.sqf index a9fe3293ac..33a0ec09e5 100644 --- a/addons/respawn/functions/fnc_handleRespawn.sqf +++ b/addons/respawn/functions/fnc_handleRespawn.sqf @@ -25,3 +25,8 @@ _respawnedUnit = _this select 0; if (GVAR(SavePreDeathGear)) then { [_respawnedUnit, GVAR(unitGear)] call FUNC(restoreGear); }; + +// fix for setVariable public being lost on respawn for machines that JIP after the command was broadcasted +if (_respawnedUnit getVariable ["ACE_canMoveRallypoint", false]) then { + _respawnedUnit setVariable ["ACE_canMoveRallypoint", true, true]; +}; diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 2aa4360275..958bc9b56f 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -37,5 +37,29 @@ Przeteleportowano do punktu zbiórki Odteleportován na rallypoint + + Rallypoint West (Base) + Sammelpunkt West (Basis) + + + Rallypoint East (Base) + Sammelpunkt Ost (Basis) + + + Rallypoint Independent (Base) + Sammelpunkt Widerstand (Basis) + + + Rallypoint West + Sammelpunkt West + + + Rallypoint East + Sammelpunkt Ost + + + Rallypoint Independent + Sammelpunkt Widerstand + From 09289fbf48098ffe23ba0bde1065472d2ce814cc Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 08:34:30 +0200 Subject: [PATCH 095/247] only on server though --- addons/respawn/CfgEventHandlers.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index 6d7356a607..58aa8995ee 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -64,7 +64,7 @@ class Extended_Init_EventHandlers { class Extended_InitPost_EventHandlers { class CAManBase { class ADDON { - init = QUOTE(_this call FUNC(handleInitPostServer)); + serverInit = QUOTE(_this call FUNC(handleInitPostServer)); }; }; }; From af3fdf9b91c04a3164fc5b60f11f8a0bf396c4bf Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:28:09 +0200 Subject: [PATCH 096/247] Update stringtable.xml Italian translation --- addons/medical/stringtable.xml | 148 +++++++++++++++++++++++++++++++-- 1 file changed, 143 insertions(+), 5 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 65b663708b..a2db83b09b 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -10,6 +10,7 @@ Wstrzyknij atropinę Injecter de l'atropine Ввести атропин + Inietta atropina Inject Epinephrine @@ -21,7 +22,7 @@ Ввести адреналин Adrenalin Injetar Epinefrina - Inietta Epinefrina + Inietta epinefrina Inject Morphine @@ -45,7 +46,7 @@ Transfusion Infúzió Transfundir Sangue - Effettua Trasfusione + Effettua trasfusione di sangue Transfuse Plasma @@ -55,6 +56,7 @@ Przetocz osocze Transfuser du Plasma Перелить плазму + Effettua trasfusione di plasma Transfuse Saline @@ -64,6 +66,7 @@ Przetocz solankę Transfuser de la Saline Перелить физраствор + Effettua trasfusione di soluzione salina Apply Tourniquet @@ -72,6 +75,7 @@ Aplikovat škrtidlo Załóż stazę Appliquer un garrot + Applica laccio emostatico Bandage @@ -189,6 +193,7 @@ Wstrzykiwanie atropiny ... Injection d'Atropine ... Введение атропина... + Inietto l'atropina ... Transfusing Blood ... @@ -200,7 +205,7 @@ Transfusion Sanguine ... Infúzió... Transfundindo Sangue ... - Effettuo la trasfusione ... + Effettuo la trasfusione di sangue ... Transfusing Saline ... @@ -210,6 +215,7 @@ Przetaczanie solanki ... Transfusion de saline ... Переливание физраствора... + Effettuo la rasfusione di salina Transfusing Plasma ... @@ -219,6 +225,7 @@ Przetaczanie osocza ... Transfusion de Plasma ... Переливание плазмы... + Effettu la trasfusione di plasma ... Bandaging ... @@ -240,6 +247,7 @@ Zakładanie stazy ... Mise en place du Garrot ... Наложение жгута... + Sto applicando il laccio emostatico ... Medical @@ -260,6 +268,7 @@ Obinadlo Bandaż jałowy Bandage rapide + Bendaggio rapido Packing Bandage @@ -267,6 +276,7 @@ Vendaje compresivo Компресионный пакет Bandaż uciskowy + Bendaggio compressivo Elastic Bandage @@ -276,6 +286,7 @@ Elastické obinadlo Bandaż elastyczny Pansement élastique + Bendaggio elastico QuikClot @@ -285,6 +296,7 @@ Opatrunek QuikClot QuikClot Hémostatique + QuikClot(polvere emostatica) Check Pulse @@ -294,6 +306,7 @@ Zkontrolovat pulz Sprawdź tętno Vérifier les pulsations + Controlla il polso Check Blood Pressure @@ -303,6 +316,7 @@ Zkontrolovat krevní tlak Sprawdź ciśnienie krwi Vérification de la Tension + Controlla pressionsa sanguigna Triage Card @@ -312,6 +326,7 @@ Karta segregacyjna Karta Triage Carte de Triage + Triage Card Tourniquet @@ -321,6 +336,7 @@ Škrtidlo Staza Garrot + Laccio emostatico Remove Tourniquet @@ -330,6 +346,7 @@ Sundat škrtidlo Zdejmij stazę Enlever le Garrot + Rimuovi laccio emostatico Give Blood IV (1000ml) @@ -339,6 +356,7 @@ Podaj krew IV (1000ml) Administrer du Sang en IV (1000ml) Podat krev. transfúzi (1000ml) + Effettua trasfusione sangue IV (1000ml) Give Blood IV (500ml) @@ -348,6 +366,7 @@ Podaj krew IV (500ml) Administrer du Sang en IV (500ml) Podat krev. transfúzi (500ml) + Effettua trasfusione sangue IV (500ml) Give Blood IV (250ml) @@ -357,6 +376,7 @@ Podaj krew IV (250ml) Administrer du Sang en IV (250ml) Podat krev. transfúzi (250ml) + Effettua trasfusione sangue IV (250ml) Give Plasma IV (1000ml) @@ -366,6 +386,7 @@ Podaj osocze IV (1000ml) Administrer du Plasma en IV (1000ml) Podat plazmu (1000ml) + Effettua trasfusione plasma IV (1000ml) Give Plasma IV (500ml) @@ -375,6 +396,7 @@ Podaj osocze IV (500ml) Administrer du Plasma en IV (500ml) Podat plazmu (500ml) + Effettua trasfusione plasma IV (500ml) Give Plasma IV (250ml) @@ -384,6 +406,7 @@ Podaj osocze IV (250ml) Administrer du Plasma en IV (250ml) Podat plazmu (250ml) + Effettua trasfusione plasma IV (250ml) Give Saline IV (1000ml) @@ -393,6 +416,7 @@ Podaj solankę IV (1000ml) Administrer de la Solution Saline en IV (1000ml) Podaz fyz. roztok (1000ml) + Effettua trasfusione salina IV (1000ml) Give Saline IV (500ml) @@ -402,6 +426,7 @@ Podaj solankę IV (500ml) Administrer de la Solution Saline en IV (500ml) Podaz fyz. roztok (500ml) + Effettua trasfusione salina IV (500ml) Give Saline IV (250ml) @@ -411,6 +436,7 @@ Podaj solankę IV (250ml) Administrer de la Solution Saline en IV (250ml) Podaz fyz. roztok (250ml) + Effettua trasfusione salina IV (250ml) Minor @@ -420,6 +446,7 @@ Normalny Mineur Minimální + Minore Delayed @@ -429,6 +456,7 @@ Différé Verzögert Odložitelný + Differito Immediate @@ -438,6 +466,7 @@ Urgence Immédiate Sofort Okamžiý + Immediata Deceased @@ -447,6 +476,7 @@ Décédé Verstorben Mrtvý + Deceduto None @@ -456,6 +486,7 @@ Aucun Keine Nic + Nessuna Normal breathing @@ -465,6 +496,7 @@ Normalny oddech Normale Atmung Dýchá normálně + Respiro normale No breathing @@ -474,6 +506,7 @@ Aucune Respiration Brak oddechu Nedýchá + Mancanza di respiro Difficult breathing @@ -483,6 +516,7 @@ Trudności z oddychaniem Schwere Atmung Dýchá s obtížemi + Difficoltà a respirare Almost no breathing @@ -492,6 +526,7 @@ Respiration Faible Prawie brak oddechu Skoro nedýchá + Respira a fatica Bleeding @@ -501,6 +536,7 @@ Saignement Krwawienie zewnętrzne Krvácí + Sanguinando In Pain @@ -510,6 +546,7 @@ Ressent de la Douleur W bólu V bolestech + Con dolore Lost a lot of Blood @@ -519,6 +556,7 @@ A Perdu Bcp de Sang Stracił dużo krwi Ztratil hodně krve + Ha perso parecchio sangue Tourniquet [CAT] @@ -528,6 +566,7 @@ Garrot [CAT] Staza [typ. CAT] Škrtidlo [CAT] + Laccio emostatico [CAT] Receiving IV [%1ml] @@ -537,6 +576,7 @@ Otrzymywanie IV [%1ml] Transfusion en IV [%1ml] Přijímání transfúze [%1ml] + Ricevendo IV [%1ml] Bandage (Basic) @@ -546,6 +586,7 @@ Bandage (Standard) Bandaż (jałowy) Bandáž (standartní) + Bendaggio (base) Used to cover a wound @@ -554,6 +595,7 @@ Utilisé Pour Couvrir Une Blessure Używany w celu przykrycia i ochrony miejsca zranienia Verwendet, um Wunden abzudecken + Usato per coprire una ferita A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. @@ -562,6 +604,7 @@ Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. + Una benda apposta, utilizzata per coprire una ferita, la quale è applicato sopra di essa una volta fermata l'emorragia. Packing Bandage @@ -570,6 +613,7 @@ Vendaje compresivo Bandage Mèche Bandaż (uciskowy) + Bendaggio compressivo Used to pack medium to large wounds and stem the bleeding @@ -578,6 +622,7 @@ Se utiliza para vendar heridas medianas o grandes y detener el sangrado Utilisé pour remplir la cavité créée dans une blessure de taille moyenne à grande. Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. + Usato su medie o larghe ferite per fermare emorragie. A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. @@ -585,6 +630,7 @@ Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. Bandage pouvant être inseré dans les blessures pour éponger le saignement et faciliter la guerrison. Ce bandage est optionnel pour soigner les lésions polytraumatique. Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. + Un bendaggio usato per bendare ferite con emorragie e facilitare la guarigione. Bendare una ferita è una opzione su ferite di vario tipo. Bandage (Elastic) @@ -594,6 +640,7 @@ Bandage (Élastique) Bandaż (elastyczny) Bandáž (elastická) + Benda (Elastica) Bandage kit, Elastic @@ -602,6 +649,7 @@ Kit de vendaje (Elástico) Bandage Compressif Élastique Zestaw bandaży elastycznych. + Kit bendaggio, elastico Allows an even compression and extra support to the injured area. @@ -610,6 +658,7 @@ Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement. Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada + Permette di comprimevere e aiutare la zone ferita. Tourniquet (CAT) @@ -619,6 +668,7 @@ Garrot (CAT) Staza (typ. CAT) Škrtidlo (CAT) + Laccio emostatico (CAT) Slows down blood loss when bleeding @@ -627,6 +677,7 @@ Ralentit le saignement Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. Verringert den Blutverlust während einer Blutung + Rallenta la perdita di sangue in caso di sanguinamento A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. @@ -635,6 +686,7 @@ Un dispositif permettant de compresser les artères et veines afin de réduire la perte de sang. Opaska uciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. Ein Gerät, das Druck auf Venen und Arterien ausübt und so den Blutfluss verringert. + Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. Morphine autoinjector @@ -644,6 +696,7 @@ Auto-injecteur de Morphine Autostrzykawka z morfiną Autoinjektor morfin + Autoiniettore di morfina Used to combat moderate to severe pain experiences @@ -652,6 +705,7 @@ Usado para combatir los estados dolorosos de moderados a severos Utilisé pour réduire les douleurs modérées à sévères. Morfina. Ma silne działanie przeciwbólowe. + Usato per combattere il dolore. An analgesic used to combat moderate to severe pain experiences. @@ -660,6 +714,7 @@ Un Analgésique puissant servant à réduire les douleurs modérées à sévères. Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. Ein Schmerzmittel um mäßige bis starke Schmerzen zu behandeln + Un analgesico usato per combattere il dolore. Atropin autoinjector @@ -669,6 +724,7 @@ Autostrzykawka AtroPen Atropin Autoinjektor Autoinjektor atropin + Autoiniettore di Atropina Used in NBC scenarios @@ -677,6 +733,7 @@ Utilisé en cas d'attaque CBRN Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Verwendet bei ABC Kontamination + Usato in situazioni con gas nervino. A drug used by the Military in NBC scenarios. @@ -685,6 +742,7 @@ Médicament utilisé par l'armée en cas d'attaque CBRN Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. Ein Medikament, das vom Militär bei ABC Kontamination verwendet wird. + E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. Epinephrine autoinjector @@ -694,6 +752,7 @@ Autostrzykawka EpiPen Epiniphrin Autoinjektor Autoinjektor adrenalin + Autoiniettore di Epinefrina Increase heart rate and counter effects given by allergic reactions @@ -702,6 +761,7 @@ Augmente la fréquence cadiaque et annule les effets d'une réaction anaphylactique Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne Steigert die Herzfrequenz, um den Effekt von allergischen Reaktionen zu bekämpfen + Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. @@ -709,6 +769,7 @@ Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. Medicament qui fonctionne sur le système nerveux sympathique créant une dilatation des bronches, augmente la fréquence cardiaque et annule les effets d'une réaction allergique (anaphylaxie). Utilisé lors d'arrêt cardio-respiratoire pour augmenter les chances de retrouver un pouls. EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. + Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco. Plasma IV (1000ml) @@ -717,6 +778,7 @@ Plasma Sanguin IV (1000ml) Osocze IV (1000ml) Plasma IV (1000ml) + Plasma IV (1000ml) A volume-expanding blood supplement. @@ -724,6 +786,7 @@ Suplemento para expandir el volumen sanguíneo. Supplément visant à remplacer les volumes sanguin Składnik krwi, używany do zwiększenia jej objętości. + Aiuta ad aumentare il volume sanguigno. A volume-expanding blood supplement. @@ -731,6 +794,7 @@ Suplemento para expandir el volumen sanguíneo. Supplément visant à remplacer le volume sanguin et remplace les plaquettes. Składnik krwi, używany do zwiększenia jej objętości. + Aiuta ad aumentare il volume sanguigno. Plasma IV (500ml) @@ -739,6 +803,7 @@ Plasma Sanguin IV (500ml) Osocze IV (500ml) Plasma IV (500ml) + Plasma IV (500ml) Plasma IV (250ml) @@ -747,6 +812,7 @@ Plasma Sanguin (250ml) Osocze IV (250ml) Plasma IV (250ml) + Plasma IV (250ml) Blood IV (1000ml) @@ -755,6 +821,7 @@ Cullot Sanguin IV (1000ml) Krew IV (1000ml) Blut IV (1000ml) + Sangue IV (1000ml) Blood IV, for restoring a patients blood (keep cold) @@ -762,12 +829,14 @@ Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych + Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos. + Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue. Blood IV (500ml) @@ -776,6 +845,7 @@ Cullot Sanguin IV (500ml) Krew IV (500ml) Blut IV (500ml) + Sangue IV (500ml) Blood IV (250ml) @@ -784,6 +854,7 @@ Cullot Sanguin IV (250ml) Krew IV (250ml) Blut IV (250ml) + Samgue IV (250ml) Saline IV (1000ml) @@ -792,6 +863,7 @@ Solution Saline 0.9% IV (1000ml) Solanka 0,9% IV (1000ml) Kochsalzlösung (1000ml) + Soluzione salina IV (1000ml) Saline IV, for restoring a patients blood @@ -799,6 +871,7 @@ Solución salina intravenosa, para restaurar el volumen sanguíneo Solution Saline 0.9% IV, pour rétablir temporairement la tension artérielle Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta + Soluzione salina, usata per ripristinare sangue nei pazienti. A medical volume-replenishing agent introduced into the blood system through an IV infusion. @@ -806,6 +879,7 @@ Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. Un remplacement temporaire pour rétablir la tension artérielle lors de perte sanguine, administré par intra-veineuse Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). + Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV. Saline IV (500ml) @@ -814,6 +888,7 @@ Solution Saline 0.9% IV (500ml) Solanka 0,9% IV (500ml) Kochsalzlösung (500ml) + Soluzione salina IV (500ml) Saline IV (250ml) @@ -822,6 +897,7 @@ Solution Saline 0.9% IV (250ml) Solanka 0,9% IV (250ml) Kochsalzlösung (250ml) + Soluzione salina IV (250ml) Basic Field Dressing (QuikClot) @@ -830,6 +906,7 @@ Bandage Regulier (Coagulant) Podstawowy pakiet opatrunkowy (QuikClot) Verbandpäckchen(Gerinnungsmittel) + Bendaggio emostatico (QuikClot) QuikClot bandage @@ -838,6 +915,7 @@ Bandage coagulant Hemostatyczny pakiet QuikClot. Podstawowy opatrunek stosowany na rany. Bandage mit Gerinnungsmittel + Bendaggio emostatico (QuikClot) Hemostatic bandage with coagulant that stops bleeding. @@ -846,6 +924,7 @@ Proszkowy opatrunek adsorpcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. Vendaje hemostático con coagulante que detiene el sangrado. Verband mit Gerinnungsmittel, um starke Blutung zu behandeln. + Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue Personal Aid Kit @@ -854,6 +933,7 @@ Équipement de support vital Apteczka osobista Persönliches Verbandpäckchen + Pronto soccorso personale Includes various treatment kit needed for stitching or advanced treatment @@ -862,6 +942,7 @@ Inclue du matériel medical pour les traitements avancés, tel les points de suture. Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego Beinhaltet medizinisches Material für fortgeschrittene Behandlung und zum Nähen. + Include vario materiale medico per trattamenti avanzati. @@ -869,6 +950,7 @@ W znacznym stopniu poprawia stan pacjenta + Surgical Kit @@ -877,6 +959,7 @@ Kit quirúrgico Zestaw do szycia ran Operationsset + Kit chirurgico Surgical Kit for in field advanced medical treatment @@ -885,6 +968,7 @@ Kit quirúrgico para el tratamiento avanzado en el campo de batalla Zestaw pozwalający na zszywanie ran w polu Operationsset für fortgeschrittene medizinische Feldversorgung + Kit chirurgico per trattamenti avanzati sul campo. Surgical Kit for in field advanced medical treatment @@ -893,6 +977,7 @@ Zestaw pozwalający na zszywanie ran w polu Operationsset für fortgeschrittene medizinische Feldversorgung Trousse chirurgicale pour le traitement sur le terrain + Kit chirurgico per trattamenti avanzati sul campo. Bodybag @@ -901,6 +986,7 @@ Bolsa para cadáveres Worek na zwłoki Leichensack + Sacca per corpi A bodybag for dead bodies @@ -909,6 +995,7 @@ Una bolsa para cadáveres Worek do pakowania zwłok Ein Leichensack für Tote + Una sacca nera per trasportare cadaveri. A bodybag for dead bodies @@ -917,6 +1004,7 @@ Una bolsa para cadáveres Worek do pakowania zwłok Ein Leichensack für Tote + Una sacca nera per trasportare cadaveri. Blood Pressure @@ -925,6 +1013,7 @@ Presión arterial Ciśnienie krwi Blutdruck + Pressione sanguigna Checking Blood Pressure.. @@ -933,6 +1022,7 @@ Comprobando presión arterial... Sprawdzanie ciśnienia krwi... Blutdruck kontrollieren... + Controllando la pressione sanguigna.. You checked %1 @@ -941,6 +1031,7 @@ Examinando a %1 Zbadałeś %1 Kontrolliert %1 + Hai diagnosticato %1 You find a blood pressure of %2/%3 @@ -948,6 +1039,7 @@ Артериальное давление %2/%3 La Presión Arterial es %2/%3 Wyczuwasz ciśnienie krwi o wartości %2/%3 + Hai riscontrato una pressione di %2/%3 You find a low blood pressure @@ -956,6 +1048,7 @@ La presión arterial es baja Wyczuwasz niskie ciśnienie krwi Blutdruck ist niedrig + La pressione sanguigna è bassa You find a normal blood pressure @@ -964,6 +1057,7 @@ La presión arterial es normal Wyczuwasz normalne ciśnienie krwi Blutdruck ist normal + La pressione sanguigna è normale You find a high blood pressure @@ -972,6 +1066,7 @@ La presión arterial es alta Wyczuwasz wysokie ciśnienie krwi Blutdruck ist hoch + La pressione sanguigna è alta You find no blood pressure @@ -980,6 +1075,7 @@ No hay presión arterial Nie wyczuwasz ciśnienia krwi Patient hat keinen Blutdruck + La pressione sanguigna è assente You fail to find a blood pressure @@ -988,6 +1084,7 @@ No puedes encontrar presión arterial Nie udało Ci się sprawdzić ciśnienia krwi Blutdruck konnte nicht gefunden werden + Manca strumento per misurare pressione sanguigna Pulse @@ -996,6 +1093,7 @@ Pulso Tętno Puls + Polso Checking Heart Rate.. @@ -1004,6 +1102,7 @@ Comprobando ritmo cardíaco... Sprawdzanie tętna... Kontrolliere Herzfrequenz + Controllando il battito cardiaco.. You checked %1 @@ -1012,6 +1111,7 @@ Examinando a %1 Zbadałeś %1 Kontrolliertt %1 + Hai diagnosticato %1 You find a Heart Rate of %2 @@ -1020,6 +1120,7 @@ El ritmo cardíaco es de %2 Wyczuwasz tętno o wartości %2 Herzfrequenz ist %2 + Il battito cardiaco è %2 You find a weak Heart Rate @@ -1028,6 +1129,7 @@ El ritmo cardíaco es débil Wyczuwasz słabe tętno Schwacher Puls + Hai riscontrato un debole battito cardiaco You find a strong Heart Rate @@ -1036,6 +1138,7 @@ El ritmo cardíaco está acelerado Wyczuwasz silne tętno Starker Puls + Hai riscontrato un forte battito cardiaco You find a normal Heart Rate @@ -1044,6 +1147,7 @@ El ritmo cardíaco es bueno Wyczuwasz normalne tętno Normaler Puls + Hai riscontrato un normale battito cardiaco You find no Heart Rate @@ -1052,6 +1156,7 @@ No tiene ritmo cardíaco Wyczuwasz brak tętna Kein Puls gefunden + Hai riscontrato una assenza di battito cardiaco Response @@ -1060,6 +1165,7 @@ Respuesta Przytomność Ansprechbarkeit + Risposta You check response of patient @@ -1068,6 +1174,7 @@ Compruebas si el paciente reacciona Sprawdzasz przytomność pacjenta Du prüfst ob der Patient ansprechbar ist + Controlli la risposta del paziente %1 is responsive @@ -1076,6 +1183,7 @@ %1 ha reaccionado %1 jest przytomny %1 ist anprechbar + %1 e' cosciente %1 is not responsive @@ -1084,6 +1192,7 @@ %1 no reacciona %1 jest nieprzytomny %1 ist nicht ansprechbar + %1 e' incosciente You checked %1 @@ -1092,6 +1201,7 @@ Examinas a %1 Zbadałeś %1 Du versucht %1 anzusprechen + Hai controllato %1 Bandaged @@ -1099,6 +1209,7 @@ Повязка наложена Vendado Zabandażowano + Bendato You bandage %1 (%2) @@ -1106,6 +1217,7 @@ Вы перевязали раненого %1 (%2) Aplicas vendaje a %1 en %2 Bandażujesz %1 (%2) + Stai bendando %1 (%2) %1 is bandaging you @@ -1113,6 +1225,7 @@ %1 перевязывает вас %1 te está vendando %1 bandażuje Ciebie + %1 ti sta bendando You start stitching injures from %1 (%2) @@ -1120,6 +1233,7 @@ Vous suturez %1 (%2) Estás suturando heridas de %1 en %2 Zszywasz rany %1 (%2) + Stai suturando le ferite di %1 (%2) Stitching @@ -1127,6 +1241,7 @@ Sutures Suturando Szycie + Suturando You treat the airway of %1 @@ -1134,6 +1249,7 @@ Vous traitez les voies respiratoires de %1 Estás intubando a %1 Udrażniasz drogi oddechowe %1 + Controlli le vie respiratorie di %1 Airway @@ -1142,6 +1258,7 @@ Drogi oddechowe Atemwege Voies respiratoires + Vie respiratorie %1 is treating your airway @@ -1149,6 +1266,7 @@ %1 traite vos voies respiratoires %1 te está intubando %1 udrażnia Twoje drogi oddechowe + %1 ti sta trattando le vie respiratorie Drag @@ -1184,7 +1302,7 @@ Déposer Elenged Largar - Lascia + Load Patient Into @@ -1216,6 +1334,7 @@ Выгрузить пациента Wyładuj pacjenta Débarquer le Patient + Scarica il paziente Load patient @@ -1223,6 +1342,7 @@ Погрузить пациента Załaduj pacjenta Embarquer le Patient + Carica il paziente Place body in bodybag @@ -1230,6 +1350,7 @@ Поместить тело в мешок для трупов Zapakuj ciało do worka na zwłoki Mettre le corps dans la housse mortuaire + Metti il corpo nella sacca per cadaveri Placing body in bodybag @@ -1237,6 +1358,7 @@ Упаковка тела Pakowanie ciała do worka na zwłoki Placement du corps dans la housse + Stai mettendo il corpo nella sacca %1 has bandaged patient @@ -1244,6 +1366,7 @@ %1 перевязал пациента %1 zabandażował pacjenta %1 a pansé le patient + %1 ha bendato il paziente %1 used %2 @@ -1251,6 +1374,7 @@ %1 использовал %2 %1 użył %2 %1 utilise %2 + %1 ha usato %2 %1 has given an IV @@ -1258,6 +1382,7 @@ %1 провел переливание %1 podał IV %1 a administré une IV + %1 ha somministrato una IV %1 applied a tourniquet @@ -1265,66 +1390,79 @@ %1 наложил жгут %1 założył stazę %1 a appliqué un garrot + %1 ha applicato un laccio emostatico Heavily wounded Schwer verwundet: Ciężko ranny + Gravemente ferito Lightly wounded Leicht verwundet: Lekko ranny + Leggermente ferito Very lightly wounded Sehr leicht verwundet: B. lekko ranny + Ferito lievemente Head Kopf Głowa + Testa Torso Torso Tors + Torso Left Arm Linker Arm Lewe ramię + Braccio sinistro Right Arm Rechter Arm Prawe ramię + Braccio destro Left Leg Linkes Bein Lewa noga + Gamba sinistra Right Leg Rechtes Bein Prawa noga + Gamba destra Pain Effect Type Schmerzeffekt-Typ Rodzaj efektu bólu + Pain Effect Type Colour Flashing Farbblinken Pulsujące kolory + Colore lampeggiante Chromatic Aberration Chromatische Aberration Aberracja chromatyczna + Aberrazione cromatica - \ No newline at end of file + From 532ee164115bba856db38c7e2edd409cd06c56a2 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:30:56 +0200 Subject: [PATCH 097/247] Update stringtable.xml Italian translation --- addons/advanced_ballistics/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 29560ce149..f19aa1e672 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -5,10 +5,12 @@ Show Wind Info Pokaż inf. o wietrze + Mostra indicazioni del vento Show Protractor Pokaż kątomierz + Mostra il rapportatore - \ No newline at end of file + From 2daa0e2d2935bd1593239b62a7f0808e4033c164 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:32:01 +0200 Subject: [PATCH 098/247] Update stringtable.xml Italian translation --- addons/aircraft/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 1ec3d09ae6..ae1993f6a7 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -34,6 +34,7 @@ Otevřít nákladní prostor Rámpát kinyitni Открыть грузовой отсек + Apri la porta del cargo Close Cargo Door @@ -44,6 +45,7 @@ Zavřít nákladní prostor Rámpát zárni Закрыть грузовой отсек + Chiudi la porta del cargo From f328d302e1defcfb2bf619de9cf40c106da1f910 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:42:25 +0200 Subject: [PATCH 099/247] Update stringtable.xml Italian translation --- addons/captives/stringtable.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 292da895f3..f5812b2bf7 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -71,6 +71,7 @@ Fogoly berakása Загрузить пленного Embarcar Prisioneiro + Carica il prigioniero Unload Captive @@ -82,6 +83,7 @@ Fogoly kivevése Выгрузить пленного Desembarcar Prisioneiro + Scarica il prigioniero Cable Tie @@ -128,6 +130,7 @@ Motozás Обыскать человека Revistar + Perquisisci la persona/Italian> Surrender @@ -137,6 +140,7 @@ Vzdát se Poddaj się Сдаться в плен + Arreso Stop Surrendering @@ -146,6 +150,7 @@ Přestat se vzdávat Podejmij walkę ponownie Отменить сдачу в плен + Annulla la resa Only use on alive units @@ -155,6 +160,7 @@ Použitelné jen na živé jednotky Używaj tylko na żywych jednostkach Применимо только к живым юнитам + Si può fare solo su persone vive Only use on dismounted inf @@ -164,6 +170,7 @@ Použitelné jen na pěsích jednotkách Używaj tylko na piechocie poza wszelkimi pojazdami Применимо только к пехоте вне техники + Si può usare solo su fanteria a piedi Nothing under mouse @@ -173,6 +180,7 @@ Nic není vybráno Nie ma nic pod kursorem Ничего не выделено + Niente selezionato From aaee9c72c1270ebdf73fe6e8ae4cf58203c60a5e Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:44:13 +0200 Subject: [PATCH 100/247] Update stringtable.xml Italian translation --- addons/disarming/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index e6820dbf16..67a7bb0d76 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -6,6 +6,7 @@ Öffne Inventar Otwórz ekwipunek Otevřít inventář + Apri l'inventario From c9e452a000c515a7b1f17fdb0740e92bc34da038 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:48:52 +0200 Subject: [PATCH 101/247] Update stringtable.xml Italian --- addons/disposable/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 86c4b2d8e8..f94c872948 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -10,6 +10,7 @@ Lanzador utilizado Használt cső Отстрелянная труба + Tubo utilizzato Used disposable rocket launcher @@ -20,6 +21,7 @@ Lanzador desechable utilizado Használt rakétavető Отстрелянная одноразовая пусковая установка + Lanciarazzi monouso utilizzato Preloaded Missile Dummy @@ -30,6 +32,7 @@ Preloaded Missile Dummy Preloaded Missile Dummy Заряженная ракетная пустышка + Missile stupido precaricato From 45fec0409d0a04adc480d54f1bb03d3490caaf0e Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:51:26 +0200 Subject: [PATCH 102/247] Update stringtable.xml Italian --- addons/explosives/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 44dde34452..626b23596a 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -48,6 +48,7 @@ Robbanóanyag kódja: %1 Código do explosivo: %1 Код подрыва: %1 + Codice esplosivo: %1 Place @@ -488,6 +489,7 @@ Utilizado para detonar explosivos remotamente al soltarlo. Robbanóanyagok távoli robbantásához Используется для дистанционного подрыва, после смерти оператора. + Usato per attivare esplosivi quando rilasciato Pick up @@ -496,6 +498,7 @@ Sebrat Podnieś Ramasser + Raccogli From b28ef3d22dcfc01c1ed305d23a6bf5ef26d6e4b8 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:52:40 +0200 Subject: [PATCH 103/247] Update stringtable.xml Italian --- addons/fcs/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 1f1b0d3acf..69b81c6779 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -9,6 +9,7 @@ Označit cíl / Změřit vzdálenost Iluminar objetivo / Medir distancia Подсветить цель / Замерить расстояние + Illumina l'obiettivo / Misura la distanza Zeroed To From eceb7595234592383f4be2cfbb206c946bb22424 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:53:35 +0200 Subject: [PATCH 104/247] Update stringtable.xml Italian --- addons/frag/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 3fa60aacf7..25d4f04a9a 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -9,6 +9,7 @@ Wyłącz fragmentację odłamków Выключить разлёт осколков Désactive la fragmentation + Disattiva la frammentazione From 9a8dd905f21008463b8e1b84d1b1c5a4d8fd74f5 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:56:39 +0200 Subject: [PATCH 105/247] Update stringtable.xml --- addons/hearing/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index a29915d5f8..da0f44a43c 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -105,6 +105,7 @@ Knalltrauma deaktivieren Vypnout pískání v uších Wyłącz dzwonienie w uszach + Disabilita il ronzio From 544894a05ee382835b472b3c26191e71b573dfd4 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 10:59:44 +0200 Subject: [PATCH 106/247] Update stringtable.xml Italian --- addons/interact_menu/stringtable.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index dddf90a4de..f403cf32a8 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -9,10 +9,12 @@ Zobrazit kurzor v menu pro vlastní interakci Zawsze wyświetlaj kursor dla własnej interakcji Toujours afficher le curseur pour les interactions sur soi-même + Mostra sempre il cursore per le auto interazioni Display interaction menus as lists Mostrar los menus de interacción como listas + Mostra il menù di interazione come lista Interact Key @@ -22,6 +24,7 @@ Klávesa pro interakci Klawisz interakcji Touche d'interaction + Tasto interazione Self Interaction Key @@ -31,6 +34,7 @@ Klávesa pro vlastní interakci Klawisz własnej interakcji Touche d'interaction personnelle + Tasto per auto interazioni Self Actions @@ -40,6 +44,7 @@ Vlastní akce Własne akcje Interaction personnelle + Auto interazioni Vehicle Actions @@ -49,6 +54,7 @@ Interakce s vozidly Akcje pojazdu Interaction véhicule + Interazioni con veicoli From 6e7c1ce9d2b8e0858bbf0828bd1a4797b938f3cb Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:04:18 +0200 Subject: [PATCH 107/247] Update stringtable.xml Ita --- addons/interaction/stringtable.xml | 31 +++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index b7379026ef..ce18f514f4 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -9,6 +9,7 @@ Interakcje Interactions Взаимодействия + Interazioni Torso @@ -18,6 +19,7 @@ Tors Torse Торс + Torso Head @@ -27,6 +29,7 @@ Głowa Tête Голова + Testa Left Arm @@ -36,6 +39,7 @@ Lewe ramię Bras gauche Левая рука + Braccio sinistro Right Arm @@ -45,6 +49,7 @@ Prawe ramię Bras droit Правая рука + Braccio destro Left Leg @@ -54,6 +59,7 @@ Lewa noga Jambe gauche Левая нога + Gamba sinistra Right Leg @@ -63,6 +69,7 @@ Prawa noga Jambe droite Правая нога + Gamba destra Weapon @@ -72,6 +79,7 @@ Broń Arme Оружие + Arma Interaction Menu @@ -83,7 +91,7 @@ Меню взаимодействия Interakció Menu de Interação - Menù Interattivo + Menù interazione Interaction Menu (Self) @@ -95,7 +103,7 @@ Меню взаимодействия (с собой) Interakció (saját) Menu de Interação (Individual) - Menù Interattivo (Individuale) + Menù interazione (Individuale) Open / Close Door @@ -203,7 +211,7 @@ ТАНЦЕВАТЬ! TÁNC! DANCE! - Balla! + DANZA! Stop Dancing @@ -541,21 +549,25 @@ Join Red Unirse al rojo Rejoindre Rouge + Unisciti al team rosso Join Green Unirse al verde Rejoindre Verte + Unisciti al team verde Join Blue Unirse al azul Rejoindre Bleue + Unisciti al team blu Join Yellow Unirse al amarillo Rejoindre Jaune + Unisciti al team giallo You joined Team %1 @@ -566,7 +578,7 @@ Připojil ses do %1 týmu Вы присоединились к группе %1 Você uniu-se à Equipe %1 - Sei entrato nella Squadra %1 + Sei entrato nella team %1 Csatlakoztál a %1 csapathoz @@ -578,7 +590,7 @@ Opustit tým Покинуть группу Deixar Equipe - Lascia la Squadra + Lascia il team Csapat elhagyása @@ -590,7 +602,7 @@ Opustil si tým Вы покинули группу Você deixou a Equipe - Hai lasciato la squadra + Hai lasciato il team Elhagytad a csapatot @@ -625,7 +637,7 @@ Tecla modificadora Клавиша-модификатор Tecla Modificadora - Modifica Tasto + Modifica tasto Módosító billentyű Modifikátor @@ -639,6 +651,7 @@ Hatótávolságon kívül Poza zasięgiem Mimo dosah + Non in raggio Equipment @@ -649,6 +662,7 @@ Vybavení Felszerelés Снаряжение + Equipaggiamento Push @@ -659,6 +673,7 @@ Odstrčit Tolás Толкать + Spingi Interact @@ -668,6 +683,7 @@ Взаимодействовать Interakcja Interactuar + Interagisci Passengers @@ -677,6 +693,7 @@ Pasažéři Pasażerowie Passagers + Passeggeri From 5c7b8247c53ad1f7f708319f420bf7e14cf13db2 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:05:57 +0200 Subject: [PATCH 108/247] Update stringtable.xml Italian --- addons/inventory/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 0702f677fa..64784c2a96 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -9,6 +9,7 @@ Zvětšit zobrazení inventáře Powiększ UI ekwipunku Agrandir la taille d'affichage de l'inventaire + Ingrandisci il menù inventario Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. @@ -18,6 +19,7 @@ Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. Ekwipunek skalowany jest poprzez rozmiar UI. Ta opcja pozwala powiększyć rozmiar UI ekwipunku, lecz nie zwiększa rozmiaru fontu pozwalając na wyświetlanie większej ilości wierszy. L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices permettant d'afficher plus de ligne + Normalmente il menù inventario è scalato in base alle dimensioni interfaccia. Questa opzione di permette di ingrandirlo ulteriormente ma senza aumentare la dimensione del testo. From d1936d8e1be428ae29c47e9a43121f60b4190486 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:06:42 +0200 Subject: [PATCH 109/247] Update stringtable.xml Italian --- addons/javelin/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index f0e933ad0d..3c53402de2 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -8,6 +8,7 @@ Zamknout cíl(držet) Namierz cel (przytrzymaj) Verrouiller cible (maintenir) + Aggangia il bersagio Cycle Fire Mode @@ -16,6 +17,7 @@ Cyklování režimů palby Przełącz tryb ognia Cycle mode de tir + Alterna le modalità di fuoco From 8c0f52e6153b83c7e32a2f9c13f41286e90162a2 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:08:04 +0200 Subject: [PATCH 110/247] Update stringtable.xml Italian --- addons/kestrel4500/stringtable.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 310884f989..0008da266a 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -21,22 +21,27 @@ Open Kestrel 4500 Otwórz Kestrel 4500 + Accendi Kestrel 4500 Show Kestrel 4500 Pokaż Kestrel 4500 + Mostra Kestrel 4500 Hide Kestrel 4500 Ukryj Kestrel 4500 + Nascondi Kestrel 4500 Open Kestrel 4500 Otwórz Kestrel 4500 + Accendi Kestrel 4500 Show Kestrel 4500 Pokaż Kestrel 4500 + Mostra Kestrel 4500 - \ No newline at end of file + From 96be1baddcdb820418a42e1d3d0465c0c0f65b74 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:08:43 +0200 Subject: [PATCH 111/247] Update stringtable.xml Italian --- addons/laser_selfdesignate/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 4fda0c031e..628c78b57d 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -9,6 +9,7 @@ Laserový značkovač zapnut Desygnator laserowy wł. Désignateur Laser Allumé + Designatore laser acceso Laser Designator Off @@ -18,6 +19,7 @@ Laserový značkovat vypnut Desygnator laserowy wył. Désignateur Laser Éteint + Designatore laser spento From f931c1a42ce4c445f94e25dc3e5e787c9203c7b3 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:10:05 +0200 Subject: [PATCH 112/247] Update stringtable.xml Italian --- addons/laserpointer/stringtable.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index d53ab478e0..a3429a1fbf 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -9,6 +9,7 @@ Лазерный прицел (красный) Laserové ukazovátko (červené) Wskaźnik laserowy (czerwony) + Puntatore laser (rosso) Laser Pointer (green) @@ -17,6 +18,7 @@ Лазерный прицел (зелёный) Laserové ukazovátko (zelené) Wskaźnik laserowy (zielony) + Puntatore laser (verde) Emits visible light. @@ -25,6 +27,7 @@ Испускает узкий пучок видимого света. Vyzařuje viditelné světlo. Wydziela widzialne światło. + Emette luce visibile <t color='#9cf953'>Use: </t>Turn Laser ON/OFF @@ -51,6 +54,7 @@ Switch Laser / IR Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR + Alterna Laser / IR Laser - \ No newline at end of file + From 5238647021d5d42bdb6206df8df4d95f06cd8735 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:12:15 +0200 Subject: [PATCH 113/247] Update stringtable.xml Italian --- addons/magazinerepack/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index a524b015f9..c98f009f80 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -81,6 +81,7 @@ Перепаковка завершена Páskování dokončeno Przepakowywanie zakończone + Riempi caricatore Repacking Interrupted @@ -90,6 +91,7 @@ Перепаковка прервана Páskování přerušeno Przepakowywanie przerwane + Riempimento interrotto %1 Full and %2 Partial @@ -99,6 +101,7 @@ %1 полных и %2 неполных %1 plný a %2 částečně Pełnych: %1.<br />Częściowo pełnych: %2. + %1 pieno e %2 parziale From cb2e1c5116d03c1e9644e4b1df5d9c80ab2f2f63 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:13:19 +0200 Subject: [PATCH 114/247] Update stringtable.xml Italian --- addons/maptools/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index f2bc71e324..74c5773027 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -142,6 +142,7 @@ Dirección: %1° Irány: %1 Направление: %1° + Direzione : %1° From 924cd80e6045ef4f681815c7fe5547b463792594 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:13:47 +0200 Subject: [PATCH 115/247] Update stringtable.xml ITalian --- addons/markers/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index 65da73a026..60a357611d 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -10,6 +10,7 @@ Kierunek: %1° Dirección: %1° Направление: %1° + Direzione: %1° - \ No newline at end of file + From 47f8161855f05fd15704947719944b37eae06340 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:18:22 +0200 Subject: [PATCH 116/247] Update stringtable.xml Italian --- addons/microdagr/stringtable.xml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 12962ea1ac..ec92773357 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -10,6 +10,7 @@ MicroDAGR GPS MicroDAGR GPS MicroDAGR GPS + MicroDAGR GPS MicroDAGR advanced GPS receiver @@ -19,6 +20,7 @@ Zaawansowany odbiornik GPS MicroDAGR Récepteur GPS MicroDAGR MicroDAGR pokročílá GPS příjímač + MicroDAGR ricevitore GPS avanzato Angular Unit: @@ -28,6 +30,7 @@ Unité angulaire Winkeleinheit: Úhlová jednotka: + Unità angolare: Mils @@ -37,6 +40,7 @@ Tysiączne Mils Mils + Miglia Show Waypoints On Map: @@ -46,6 +50,7 @@ Pokaż PT na mapie: Montrer points de passage sur la carte Ukázat waypointy na mapě: + Mostra waypoint sulla mappa: Degrees @@ -55,13 +60,14 @@ Stopnie Degrés Stupně + Gradi On Zapnuto Allumé Ein - + Acceso Wł. Ativar Вкл. @@ -72,7 +78,7 @@ Vypnuto Eteint Aus - No + Spento Wył. Desativar Выкл. @@ -86,6 +92,7 @@ Entrer coordonnées Koordinaten eingeben: Napiš souřadnice: + Introduci griglia coordinate: Name of [%1] @@ -95,6 +102,7 @@ Nazwa [%1] Nom de %1 Název [%1] + Nome di [%1] MGRS-New @@ -104,6 +112,7 @@ MGRS-Nowy Info-MGRS MGRS-Nový + Nuovo MGRS WGD @@ -113,6 +122,7 @@ WGD WGD WGD + WGD Range: @@ -122,6 +132,7 @@ Dystans: Distance: Vzdálenost: + Distanza: Compass Direction @@ -131,6 +142,7 @@ Azymut Azimut Azimut: + Azimut Mark @@ -140,6 +152,7 @@ Oznacz Marque Označit + Marca Waypoints @@ -149,6 +162,7 @@ Waypointy Punkty trasy Point de passage + waypoints Connect To @@ -158,6 +172,7 @@ Připojit k Podłącz do Connecter + Collega a Settings @@ -167,6 +182,7 @@ Настройки Nastavení Ustawienia + Impostaizoni SetWP @@ -176,6 +192,7 @@ Nastavit WP UstawPT Définir point de passage + Definisci WayPoints Add @@ -185,6 +202,7 @@ Přidat Dodaj Ajouter + Aggiungi Delete @@ -205,6 +223,7 @@ Przełącz GUI MicroDAGR Basculer le mode d'affichage MicroDAGR Přepnout zobrazení MircroDAGRu + Alterna modalità display MicroDAGR Show MicoDAGR @@ -214,6 +233,7 @@ Ukázat MicroDAGR GPS Pokaż<br />MicroDAGR Afficher MicroDAGR + Mostra MicroDAGR Configure MicroDAGR @@ -223,6 +243,7 @@ Konfigurovat MicroDAGR GPS Konfiguruj<br />MicroDAGR Configurer MicroDAGR + ConfiguraMicroDAGR Close MicroDAGR @@ -232,6 +253,7 @@ Zavřít MicroDAGR GPS Zamknij<br />MicroDAGR Fermer MicroDAGR + Chiudi MicroDAGR - \ No newline at end of file + From 76ff1da57a52bd2195eb7cd60b5b070c9ed0c1aa Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:19:54 +0200 Subject: [PATCH 117/247] Update stringtable.xml Italian --- addons/missileguidance/stringtable.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 16c9a7ec74..921ad84701 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -8,7 +8,7 @@ Zaawansowane naprowadzanie rakiet Erweiterte Raketenlenkung Pokročilé řízení střel - Avanzato Missile Guidance + Guida missili avanzata Avançado Missile Guidance Részletes rakéta irányító Расширенный ракетой @@ -20,7 +20,7 @@ Hydra-70 DAGR Hydra-70 DAGR Rackete Hydra-70 DAGR - + Missile Hydra-70 DAGR @@ -32,7 +32,7 @@ DAGR DAGR DAGR - + DAGR @@ -44,7 +44,7 @@ Laserowo naprowadzana rakieta Hydra-70 DAGR Hydra-70 Lasergelenkte DAGR Rakete Hydra-70 DAGR laserem naváděná střela - + Hydra-70 DAGR missile guida laser @@ -56,7 +56,7 @@ Hellfire II AGM-114K Hellfire II AGM-114K Hellfire II AGM-114K - + Missile Hellfire II AGM-114K @@ -68,7 +68,7 @@ AGM-114K AGM-114K AGM-114K - + AGM-114K @@ -80,7 +80,7 @@ Laserowo naprowadzana rakieta Hellfire II AGM-114K Hellfire II AGM-114K Lasergelenkte Rakete Hellfire II AGM-114K laserem naváděná střela - + Missile guida laser Hellfire II AGM-114K From bc62891122bbfb465604bcf53e8f8fcdaa8f6e5d Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 11:24:20 +0200 Subject: [PATCH 118/247] Update stringtable.xml Italian --- addons/movement/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index 9de9e9033f..0672c593f6 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -33,6 +33,7 @@ Trepar Vylézt Подняться + Arrampicati Can't climb here @@ -42,6 +43,7 @@ No se puede trepar aquí Zde není možné vylézt Не можете подняться здесь + Non puoi arrampicarti qui From bd5ed1362185e9ba2f15b4ecebf6f41fd356438d Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 12:27:20 +0200 Subject: [PATCH 119/247] Added ACE_65x39_Caseless_green_Tracer_Dim --- addons/ballistics/CfgAmmo.hpp | 38 +++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index cea249cb4f..2528a49c77 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -126,6 +126,10 @@ class CfgAmmo { class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { nvgOnly = 1; }; + class B_65x39_Caseless_green; + class ACE_65x39_Caseless_green_Tracer_Dim : B_65x39_Caseless_green { + nvgOnly = 1; + }; class ACE_65x47_Ball_Scenar: B_65x39_Caseless { airFriction=-0.00078; @@ -463,23 +467,6 @@ class CfgAmmo { ACE_muzzleVelocities[]={960}; ACE_barrelLengths[]={29}; }; - class ACE_338_Ball : B_408_Ball { - airFriction=-0.000526; - caliber=1.55; - deflecting=12; - hit=20; - typicalSpeed=826; - ACE_caliber=0.338; - ACE_bulletLength=1.70; - ACE_bulletMass=300; - ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.381}; - ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ICAO"; - ACE_dragModel=7; - ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; - }; class B_338_Ball : BulletBase { ACE_caliber=0.338; ACE_bulletLength=1.558; @@ -504,6 +491,23 @@ class CfgAmmo { ACE_muzzleVelocities[]={790, 807, 820}; ACE_barrelLengths[]={20, 24, 26}; }; + class ACE_338_Ball : B_338_Ball { + airFriction=-0.000526; + caliber=1.55; + deflecting=12; + hit=20; + typicalSpeed=826; + ACE_caliber=0.338; + ACE_bulletLength=1.70; + ACE_bulletMass=300; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.381}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 820, 826, 830}; + ACE_barrelLengths[]={20, 24, 26.5, 28}; + }; class B_127x54_Ball : BulletBase { ACE_caliber=0.50; ACE_bulletLength=2.540; From 42dbd8f5d275cee32257176805a1492b81ce4f10 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 12:30:48 +0200 Subject: [PATCH 120/247] Continued work on the magazine classes: *Fixed Katiba using the wrong magazine *Added ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim *Added ACE_10Rnd_338_300gr_HPBT_Mag *Changed some of the .338 magazine initSpeeds to match the new Mar-10 barrel length *Added the new caseless green ir dim magazine to the ammo crates *Allowed the Mar-10 to shoot .300 Win Mag --- addons/ballistics/CfgMagazines.hpp | 51 ++++++++++++++++++------------ addons/ballistics/CfgVehicles.hpp | 2 ++ addons/ballistics/CfgWeapons.hpp | 29 ++++++++++------- addons/ballistics/stringtable.xml | 18 +++++++++++ 4 files changed, 68 insertions(+), 32 deletions(-) diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index f9e936dc04..de3f80fd83 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -30,15 +30,21 @@ class CfgMagazines { descriptionShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription"; picture = "\A3\weapons_f\data\ui\m_200rnd_65x39_yellow_ca.paa"; }; - class 30Rnd_65x39_caseless_mag_Tracer: 30Rnd_65x39_caseless_mag { - }; + class 30Rnd_65x39_caseless_mag_Tracer; class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_65x39_Caseless_Tracer_Dim"; displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_ca.paa"; + }; + class 30Rnd_65x39_caseless_green_mag_Tracer; + class ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim: 30Rnd_65x39_caseless_green_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_65x39_Caseless_green_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; }; class 30Rnd_556x45_Stanag: CA_Magazine { @@ -108,8 +114,7 @@ class CfgMagazines { initSpeed = 325; }; - class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag - { + class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x51_Ball_M118LR"; count=10; @@ -118,8 +123,7 @@ class CfgMagazines { descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description"; initSpeed = 780; }; - class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag - { + class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x51_Ball_M118LR"; displayName = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Name"; @@ -127,40 +131,45 @@ class CfgMagazines { descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description"; initSpeed = 780; }; - class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag - { + class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x67_Ball_Mk248_Mod_0"; displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name"; displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort"; descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description"; - initSpeed = 865; + initSpeed = 900; }; - class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag - { + class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x67_Ball_Mk248_Mod_1"; displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name"; displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort"; descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description"; - initSpeed = 847; + initSpeed = 880; }; - class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag - { + class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x67_Ball_Berger_Hybrid_OTM"; displayName = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name"; displayNameShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort"; descriptionShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description"; - initSpeed = 800; + initSpeed = 832; }; - class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag - { + class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_65x47_Ball_Scenar"; - count=30; - displayName = "30rnd 6.5mm Mag (HPBT Scenar)"; - descriptionshort = "Caliber: 65x47 mm (HPBT Scenar)
Rounds: 30
Used in: MXM"; + displayName = "$STR_ACE_30Rnd_65x47_Scenar_mag_Name"; + displayNameShort = "$STR_ACE_30Rnd_65x47_Scenar_mag_NameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x47_Scenar_mag_Description"; + }; + class 10Rnd_338_Mag; + class ACE_10Rnd_338_300gr_HPBT_Mag: 10Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_338_Ball"; + displayName = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description"; + initSpeed = 800; }; class 30Rnd_9x21_Mag: CA_Magazine { diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index e114bef671..7c32774f9f 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -65,6 +65,7 @@ class CfgVehicles { class Box_East_WpsSpecial_F: EAST_Box_Base { class TransportMagazines { MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4); }; @@ -154,6 +155,7 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4); MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 7944215c29..d5b6ad448f 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -304,9 +304,9 @@ class CfgWeapons { }; class arifle_Katiba_F: arifle_katiba_Base_F { magazines[] = { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer", - "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + "30Rnd_65x39_caseless_green", + "30Rnd_65x39_caseless_green_mag_Tracer", + "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; ACE_barrelTwist=8; @@ -314,9 +314,9 @@ class CfgWeapons { }; class arifle_Katiba_C_F: arifle_katiba_Base_F { magazines[] = { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer", - "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + "30Rnd_65x39_caseless_green", + "30Rnd_65x39_caseless_green_mag_Tracer", + "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.07; ACE_barrelTwist=8; @@ -324,9 +324,9 @@ class CfgWeapons { }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { magazines[] = { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer", - "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" + "30Rnd_65x39_caseless_green", + "30Rnd_65x39_caseless_green_mag_Tracer", + "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; ACE_barrelTwist=8; @@ -527,9 +527,16 @@ class CfgWeapons { ACE_barrelLength=43.3; }; class srifle_DMR_02_F: DMR_02_base_F { - initSpeed = -1.0; + magazines[] = { + "10Rnd_338_Mag", + "ACE_10Rnd_338_300gr_HPBT_Mag", + "ACE_20Rnd_762x67_Mk248_Mod_0_Mag", + "ACE_20Rnd_762x67_Mk248_Mod_1_Mag", + "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" + }; + initSpeed = -0.962; ACE_barrelTwist=10; - ACE_barrelLength=26; + ACE_barrelLength=20; }; class srifle_DMR_03_F: DMR_03_base_F { magazines[] = { diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 51447237b4..760a07b7aa 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -746,5 +746,23 @@ Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 + + 6.5x47mm 30Rnd Mag (HPBT Scenar) + + + 6.5mm Scenar + + + Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30 + + + 8.6x70mm 10Rnd Mag (300gr Sierra MatchKing HPBT) + + + .338 (HPBT) + + + Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 + From 9f289e1721f8cc2bfc77c7467d2e1d1b319a4276 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 12:53:02 +0200 Subject: [PATCH 121/247] Fixed incorrect return values in some key handlers: *Wind info *Protractor --- .../advanced_ballistics/functions/fnc_displayProtractor.sqf | 6 +++--- addons/advanced_ballistics/initKeybinds.sqf | 1 - addons/weather/XEH_postInit.sqf | 1 - addons/weather/functions/fnc_displayWindInfo.sqf | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf index 2fbe558651..5fbdf2f12a 100644 --- a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf +++ b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf @@ -22,9 +22,9 @@ if (GVAR(Protractor)) exitWith { 1 cutText ["", "PLAIN"]; true }; -if (weaponLowered ACE_player) exitWith { true }; -if (vehicle ACE_player != ACE_player) exitWith { true }; -if (currentWeapon ACE_player != primaryWeapon ACE_player) exitWith { true }; +if (weaponLowered ACE_player) exitWith { false }; +if (vehicle ACE_player != ACE_player) exitWith { false }; +if (currentWeapon ACE_player != primaryWeapon ACE_player) exitWith { false }; 2 cutText ["", "PLAIN"]; EGVAR(weather,WindInfo) = false; diff --git a/addons/advanced_ballistics/initKeybinds.sqf b/addons/advanced_ballistics/initKeybinds.sqf index 5649fb943e..59866576aa 100644 --- a/addons/advanced_ballistics/initKeybinds.sqf +++ b/addons/advanced_ballistics/initKeybinds.sqf @@ -5,7 +5,6 @@ // Statement [] call FUNC(displayProtractor); - false }, {false}, [37, [true, true, false]], false, 0] call CBA_fnc_addKeybind; // (CTRL + SHIFT + K) diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index ff78eeb727..75e1277fee 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -18,7 +18,6 @@ // Statement [] call FUNC(displayWindInfo); - false }, {false}, [37, [true, false, false]], false, 0] call CBA_fnc_addKeybind; // (SHIFT + K) diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf index da1b8be267..61d556a27c 100644 --- a/addons/weather/functions/fnc_displayWindInfo.sqf +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -19,8 +19,8 @@ if (GVAR(WindInfo)) exitWith { 0 cutText ["", "PLAIN"]; true }; -if (underwater ACE_player) exitWith { true }; -if (vehicle ACE_player != ACE_player) exitWith { true }; +if (underwater ACE_player) exitWith { false }; +if (vehicle ACE_player != ACE_player) exitWith { false }; 2 cutText ["", "PLAIN"]; EGVAR(advanced_ballistics,Protractor) = false; From 8f94bbfec8778cc6bc921f19688b77be4e6d9fef Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 15 Apr 2015 13:55:07 +0200 Subject: [PATCH 122/247] Make stringtableduplicates.py more useful --- tools/stringtableduplicates.py | 76 ++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/tools/stringtableduplicates.py b/tools/stringtableduplicates.py index 16b2763853..b9b4920059 100755 --- a/tools/stringtableduplicates.py +++ b/tools/stringtableduplicates.py @@ -2,55 +2,59 @@ import os import sys + +import xml.dom from xml.dom import minidom -# STRINGTABLE DUPLICATE FINDER +# STRINGTABLE DIAG TOOL # Author: KoffeinFlummi -# ---------------------------- -# Counts duplicate stringtable entries +# --------------------- +# Counts duplicates stringtable entries + + +def check_module(projectpath, module): + """ Checks the given module for all the different languages. """ + localized = [] + + stringtablepath = os.path.join(projectpath, module, "stringtable.xml") + try: + xmldoc = minidom.parse(stringtablepath) + except IOError: + return 0 + keys = xmldoc.getElementsByTagName("Key") + + duplicates = 0 + for key in keys: + children = key.childNodes + entries = [] + for c in range(children.length): + entries.append(children.item(c)) + entries = list(filter(lambda x: x.nodeType == x.ELEMENT_NODE, entries)) + entries = list(map(lambda x: str(x.nodeName).lower(), entries)) + diff = len(entries) - len(list(set(entries))) + duplicates += diff + if diff > 0: + print key.getAttribute("ID") + + return duplicates def main(): scriptpath = os.path.realpath(__file__) projectpath = os.path.dirname(os.path.dirname(scriptpath)) projectpath = os.path.join(projectpath, "addons") - entries = {} + print("###############################") + print("# Stringtable Duplicates Tool #") + print("###############################\n") + duplicates = 0 for module in os.listdir(projectpath): - if module[0] == ".": - continue - stringtablepath = os.path.join(projectpath, module, "stringtable.xml") - try: - xmldoc = minidom.parse(stringtablepath) - except: - continue + d = check_module(projectpath, module) - keys = xmldoc.getElementsByTagName("English") - for key in keys: - text = key.firstChild.wholeText - parentid = key.parentNode.getAttribute("ID") - if text in entries: - entries[text].append(parentid) - else: - entries[text] = [parentid] + print("# {} {}".format(module.ljust(20), d)) + duplicates += d - entries = {k: v for k, v in entries.items() if len(v) > 1} - output = list([[k, v] for k, v in entries.items()]) - output = sorted(output, key=lambda x: len(x[1])*-1) - - print("Potential duplicate stringtable entries:\n") - for l in output: - k, v = l - print(k.ljust(50), end=" ") - print("Listed %i times in: %s" % (len(v), ", ".join(v))) - - print("\n# MARKDOWN\n") - - print("| Text | # Occurences | Containing Entries |") - print("|------|-------------:|--------------------|") - - for l in output: - print("| %s | %i | %s |" % (l[0], len(l[1]), ", ".join(l[1]))) + print("\nTotal number of duplicates: {}".format(duplicates)) if __name__ == "__main__": main() From 9b94692ca5a68dd8b1b54128b3b5d6bc3e103f6a Mon Sep 17 00:00:00 2001 From: Coren4 Date: Wed, 15 Apr 2015 15:02:36 +0200 Subject: [PATCH 123/247] Update AUTHORS.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 906fc706a4..46ecb651a9 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -77,3 +77,4 @@ BlackPixxel Asgar Serran Kavinsky BlackPixxel +Coren From 238cf1cc6351f7f0a552a482d529ea703e1d17fe Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 15:06:28 +0200 Subject: [PATCH 124/247] Added keybinds for ATragMX and Kestrel 4500 (empty by default) --- addons/atragmx/XEH_postInit.sqf | 2 +- addons/atragmx/initKeybinds.sqf | 2 +- addons/kestrel4500/XEH_postInit.sqf | 2 +- addons/kestrel4500/initKeybinds.sqf | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 6875b4382e..31c526fab7 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -//#include "initKeybinds.sqf" +#include "initKeybinds.sqf" if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then { GVAR(gunList) = profileNamespace getVariable "ACE_ATragMX_gunList"; diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index 28616b872f..d8a69a09e3 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -8,4 +8,4 @@ false }, {false}, -[197, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (PRINT) \ No newline at end of file +[0, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) \ No newline at end of file diff --git a/addons/kestrel4500/XEH_postInit.sqf b/addons/kestrel4500/XEH_postInit.sqf index 878f9ca0ce..461ed533db 100644 --- a/addons/kestrel4500/XEH_postInit.sqf +++ b/addons/kestrel4500/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -//#include "initKeybinds.sqf" +#include "initKeybinds.sqf" GVAR(Menus) = ["Direction", "Wind SPD m/s", "CROSSWIND m/s", "HEADWIND m/s", "TEMP °C", "HUMIDITY %", "BARO hPA", "ALTITUDE m", "User Screen 1", "User Screen 2"]; diff --git a/addons/kestrel4500/initKeybinds.sqf b/addons/kestrel4500/initKeybinds.sqf index 657e10d907..585856cbbb 100644 --- a/addons/kestrel4500/initKeybinds.sqf +++ b/addons/kestrel4500/initKeybinds.sqf @@ -8,7 +8,7 @@ false }, {false}, -[70, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (SCROLL) +[0, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) ["ACE3", QGVAR(DisplayKestrelKey), localize "STR_ACE_Kestrel4500_DisplayKestrelKey", { @@ -20,4 +20,4 @@ false }, {false}, -[70, [true, false, false]], false, 0] call CBA_fnc_addKeybind; // (SHIFT + SCROLL) +[0, [true, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) From def6c9135b605f9900c1d258141bdac20bb57c79 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 15 Apr 2015 15:31:10 +0200 Subject: [PATCH 125/247] Fix typos in devenv doc --- .../development/setting-up-the-development-environment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 0fbc0793f2..fe76ca6a20 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -70,12 +70,12 @@ mklink /D "[Arma 3 installation folder]\z\ace" "[location of the ACE3 project]" mklink /D "P:\z\ace" "[location of the ACE3 project]" ``` -Then, copy the `cba` folder from the `tools` folder to `P:\x\cba`. Create the `x` folder if needed. That folder contains the part of the CBA source code that are required for the macros to work. +Then, copy the `cba` folder from the `tools` folder to `P:\x\cba`. Create the `x` folder if needed. That folder contains the parts of the CBA source code that are required for the macros to work. ## Creating a Test Build -To create a development build of ACE to test changes or to debug something, run the `build.bat` file in the `tools` folder. This will populate the `addons` folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use [file patching](#file-patching). +To create a development build of ACE to test changes or to debug something, run the `build.py` file in the `tools` folder. This will populate the `addons` folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use [file patching](#file-patching). This also means that you cannot distribute this build to others. From bf8f9b48182ddcc02c485bf1dad7cee1da407dd7 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 15:34:01 +0200 Subject: [PATCH 126/247] all I need is a $ --- addons/respawn/CfgVehicles.hpp | 6 +++--- addons/respawn/functions/fnc_handleInitPostServer.sqf | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 28e33c6b3e..56d2058d2c 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -152,7 +152,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "STR_ACE_Respawn_RallypointWest"; + displayName = "$STR_ACE_Respawn_RallypointWest"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -172,7 +172,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "STR_ACE_Respawn_RallypointEast"; + displayName = "$STR_ACE_Respawn_RallypointEast"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { @@ -192,7 +192,7 @@ class CfgVehicles { XEH_ENABLED; author = "$STR_ACE_Common_ACETeam"; - displayName = "STR_ACE_Respawn_RallypointIndependent"; + displayName = "$STR_ACE_Respawn_RallypointIndependent"; vehicleClass = QGVAR(Rallypoints); class ACE_Actions: ACE_Actions { diff --git a/addons/respawn/functions/fnc_handleInitPostServer.sqf b/addons/respawn/functions/fnc_handleInitPostServer.sqf index c83354b24e..f8a0479717 100644 --- a/addons/respawn/functions/fnc_handleInitPostServer.sqf +++ b/addons/respawn/functions/fnc_handleInitPostServer.sqf @@ -41,7 +41,7 @@ if (_leaderVarName == "") then { private "_leaderID"; _leaderID = GETGVAR(NextLeaderID,0); - _leaderVarName = format [QGVAR(Rallypoint_Leader_%1), _leaderID]; + _leaderVarName = format [QUOTE(ACE_Rallypoint_Leader_%1), _leaderID]; _unit setVehicleVarName _leaderVarName; From 67100406336a5a7b3d9a8b4e82c65dc99178f036 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 16:13:53 +0200 Subject: [PATCH 127/247] toLower in, always follow your own advice --- addons/hearing/functions/fnc_firedNear.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index c66361801e..72776b68c6 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -31,7 +31,7 @@ _muzzle = _this select 4; _mode = _this select 5; _ammo = _this select 6; -if (_weapon in ["Throw", "Put"]) exitWith {}; +if (toLower _weapon in ["throw", "put"]) exitWith {}; if (_unit != vehicle _unit && {!([_unit] call EFUNC(common,isTurnedOut))}) exitWith {}; _silencer = switch (_weapon) do { From 95b04d08402e4c1c011377c875517b17f4b0eb59 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 16:22:42 +0200 Subject: [PATCH 128/247] Added custom airFriction values for the new marksmen ammo types. --- addons/ballistics/CfgAmmo.hpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 2528a49c77..87f3a99df1 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -248,6 +248,8 @@ class CfgAmmo { ACE_barrelLengths[]={16, 20, 24, 26}; }; class B_762x54_Ball : BulletBase { + airFriction=-0.001023; + typicalSpeed=820; ACE_caliber=0.312; ACE_bulletLength=1.14; ACE_bulletMass=152; @@ -428,6 +430,8 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24, 26}; }; class B_93x64_Ball : BulletBase { + airFriction=-0.00106; + typicalSpeed=880; ACE_caliber=0.366; ACE_bulletLength=1.350; ACE_bulletMass=230; @@ -468,6 +472,8 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class B_338_Ball : BulletBase { + airFriction=-0.00061 + typicalSpeed=915; ACE_caliber=0.338; ACE_bulletLength=1.558; ACE_bulletMass=250; @@ -480,6 +486,8 @@ class CfgAmmo { ACE_barrelLengths[]={20, 26, 28}; }; class B_338_NM_Ball : BulletBase { + airFriction=-0.000537; + typicalSpeed=820; ACE_caliber=0.338; ACE_bulletLength=1.70; ACE_bulletMass=300; @@ -509,9 +517,11 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24, 26.5, 28}; }; class B_127x54_Ball : BulletBase { - ACE_caliber=0.50; + airFriction=-0.00014; + typicalSpeed=300; + ACE_caliber=0.510; ACE_bulletLength=2.540; - ACE_bulletMass=950; + ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; From 9c1b40f5a36bb20435a488ca343c25377b02134e Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 16:40:20 +0200 Subject: [PATCH 129/247] preparing for improved positions of action points --- addons/respawn/CfgVehicles.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 56d2058d2c..384376b00c 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -100,7 +100,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == west); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West')] call FUNC(teleportToRallypoint)); - position[] = {0,0,-1}; + position = "[0,0,-1]"; showDisabled = 1; priority = 1; }; @@ -120,7 +120,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == east); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East')] call FUNC(teleportToRallypoint)); - position[] = {0,0,-1}; + position = "[0,0,-1]"; showDisabled = 1; priority = 1; }; @@ -140,7 +140,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == independent); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent')] call FUNC(teleportToRallypoint)); - position[] = {0,0,-1}; + position = "[0,0,-1]"; showDisabled = 1; priority = 1; }; @@ -161,7 +161,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == west); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West_Base')] call FUNC(teleportToRallypoint)); - position[] = {0,0,-1}; + position = "[0,0,-1]"; showDisabled = 1; priority = 1; }; @@ -181,7 +181,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == east); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East_Base')] call FUNC(teleportToRallypoint)); - position[] = {0,0,-1}; + position = "[0,0,-1]"; showDisabled = 1; priority = 1; }; @@ -201,7 +201,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == independent); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent_Base')] call FUNC(teleportToRallypoint)); - position[] = {0,0,-1}; + position = "[0,0,-1]"; showDisabled = 1; priority = 1; }; From bbc24b6d029c1101df788c28c1ebaa65d6633c69 Mon Sep 17 00:00:00 2001 From: Legolasindar Date: Wed, 15 Apr 2015 16:49:43 +0200 Subject: [PATCH 130/247] Update stringtable.xml added spanish translate --- addons/advanced_ballistics/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index f19aa1e672..d460ac4268 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -6,11 +6,13 @@ Show Wind Info Pokaż inf. o wietrze Mostra indicazioni del vento + Mostrar información del viento Show Protractor Pokaż kątomierz Mostra il rapportatore + Mostrar transportador From 0d28a890e1229ad8b1aa29559fc671f58151e07f Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 08:19:21 -0700 Subject: [PATCH 131/247] Fixes: Cycle fire mode on Titan was not working. Closes #603 --- addons/javelin/functions/fnc_showFireMode.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/javelin/functions/fnc_showFireMode.sqf b/addons/javelin/functions/fnc_showFireMode.sqf index 35dff9dbd3..88374548c0 100644 --- a/addons/javelin/functions/fnc_showFireMode.sqf +++ b/addons/javelin/functions/fnc_showFireMode.sqf @@ -4,8 +4,8 @@ TRACE_1("enter", _this); private["_player", "_currentFireMode"]; -_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "TOP"]; -if(_currentFireMode == "TOP") then { +_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"]; +if(_currentFireMode == "JAV_TOP") then { __JavelinIGUITop ctrlSetTextColor __ColorGreen; __JavelinIGUIDir ctrlSetTextColor __ColorGray; } else { From 6fca6017591acf97b16e162fc7ee4336be202fc7 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 18:24:57 +0300 Subject: [PATCH 132/247] Kestrel 4500NV translation to Russian --- addons/kestrel4500/stringtable.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index e9a72d82a8..3a0e18b9e5 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -17,27 +17,33 @@ Kestrel 4500 Pocket Weather Tracker Anemomentr skrzydełkowy Kestrel 4500 + Карманная метеостанция Kestrel 4500NV Open Kestrel 4500 Otwórz Kestrel 4500 Kestrel 4500 elővétele + Открыть Kestrel 4500NV Show Kestrel 4500 Pokaż Kestrel 4500 + Показать Kestrel 4500NV Hide Kestrel 4500 Ukryj Kestrel 4500 + Убрать Kestrel 4500NV Open Kestrel 4500 Otwórz Kestrel 4500 + Открыть Kestrel 4500NV Show Kestrel 4500 Pokaż Kestrel 4500 + Показать Kestrel 4500NV From 64504a95156916f222e8b822414c66912ce287b7 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 18:27:28 +0300 Subject: [PATCH 133/247] addons/interact_menu translation to Russian --- addons/interact_menu/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index eb03f86355..8960f99e60 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -14,6 +14,7 @@ Display interaction menus as lists Mostrar los menus de interacción como listas + Показывать меню взаимодействия в виде списка Interact Key From 9caba1e3a33aefefec4c8f6ecf179aea54a93331 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 18:29:38 +0300 Subject: [PATCH 134/247] addons/weather/ translation to Russian --- addons/weather/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 4827751c6b..85b1e96383 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -5,6 +5,7 @@ Show Wind Info Pokaż inf. o wietrze + Показать информацию о погоде - \ No newline at end of file + From 40b784fb7acbf803222c3b1c1f1ca8c213faf7c7 Mon Sep 17 00:00:00 2001 From: Ivan Navarro Cabello Date: Wed, 15 Apr 2015 17:41:10 +0200 Subject: [PATCH 135/247] update stringtable added spanish translate --- addons/atragmx/stringtable.xml | 3 ++ addons/ballistics/stringtable.xml | 78 +++++++++++++++++++++++++++-- addons/javelin/stringtable.xml | 5 +- addons/kestrel4500/stringtable.xml | 8 ++- addons/laserpointer/stringtable.xml | 6 ++- addons/medical/stringtable.xml | 15 +++++- addons/scopes/stringtable.xml | 12 ++++- addons/weather/stringtable.xml | 1 + 8 files changed, 120 insertions(+), 8 deletions(-) diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index 6b6a921c2a..c831e8c9e5 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -17,14 +17,17 @@ Open ATragMX Otwórz ATragMX + Abrir ATragMX Rugged PDA with ATragMX Przenośny PDA z kalkulatorem balistycznym ATragMX + PDA rugerizada con ATragMX Open ATragMX Otwórz ATragMX + Abrir ATragMX \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 41070fa3dd..6419b1a199 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -310,7 +310,7 @@ 7.62mm Tracer 7,62 mm Nyomjelző 7,62mm Leuchtspur - 7,62mm Trazadora + 7,62mm trazadora 7,62mm Traçantes 7,62mm Smugacz 7.62mm Svítící @@ -334,7 +334,7 @@ 7.62mm 20rnd Tracer IR-DIM Mag 7,62 mm Nyomjelző IR-DIM 20-as Tár 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM - Cargador de 20 balas IR-DIM de 7,62mm + Cargador de 20 balas trazadoras IR-DIM de 7,62mm Ch. 7,62mm 20Cps Traçantes IR-DIM Magazynek 7,62mm 20rd Smugacz IR-DIM 7.62mm 20ks Svítící IR-DIM Zásobník @@ -443,326 +443,398 @@ .338 LM 10Rnd AP Mag .338 LM 10-Schuss-Magazin Hartkern Magazynek .338 LM 10rd AP + Cargador de 20 balas AP de .338 LM .338 LM AP .338 LM AP .338 LM AP .338 LM AP + .338 LM AP Caliber: .338 Lapua Magnum AP<br />Rounds: 10<br />Used in: MAR-10 Kaliber: .338 Lapua Magnum Hartkern<br />Schuss: 10<br />Verwendet für: MAR-10 Kaliber: .338 Lapua Magnum AP<br />Pociski: 10<br />Używany w: MAR-10 + Calibre: .338 Lapua Magnum AP<br />Balas: 10<br />Se usa en: MAR-10 .338 NM 130Rnd Tracer Belt .338 NM 130-Schuss-Gurt Leuchtspur Taśma .338 NM 130rd Smugacz + Cinta de 130 balas trazadoras de .338 NM .338 NM Tracer .338 NM Leuchtspur .338 NM Tracer .338 NM Svítící + .338 NM trazadora Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG + Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG .338 NM 130Rnd IR-DIM Belt .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM Taśma .338 NM 130rd IR-DIM + Cinta de 130 balas IR-DIM de .338 NM .338 NM IR-DIM .338 LM IR-DIM .338 NM IR-DIM .338 NM IR-DIM + .338 NM IR-DIM Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG + Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG .338 NM 130Rnd AP Belt .338 NM 130-Schuss-Gurt Hartkern Taśma .338 NM 130rd AP + Cinta de 130 balas AP de .338 NM .338 NM AP .338 NM AP .338 NM AP .338 NM AP + .338 NM AP Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Hartkern<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG + Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG 9.3mm 10Rnd Tracer Mag 9,3mm 10-Schuss-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz + Cargador de 10 balas trazadoras de 9.3mm 9.3mm Tracer 9,3mm Leuchtspur 9,3mm Smugacz 9.3mm Svítící + 9.3mm trazadora Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag 9,3mm 10-Schuss-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM + Cargador de 10 balas trazadoras IR-DIM de 9.3mm 9.3mm IR-DIM 9,3mm IR-DIM 9,3mm IR-DIM 9.3mm IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus 9.3mm 10Rnd AP Mag 9,3mm 10-Schuss-Magazin Hartkern Magazynek 9,3mm 10rd AP + Cargador de 10 balas AP de 9.3mm 9.3mm AP 9,3mm AP 9,3mm AP 9.3mm AP + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Hartkern<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3x64 mm AP<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm AP<br />Balas: 10<br />Se usa en: Cyrus 9.3mm 150Rnd Tracer Belt 9,3mm 150-Schuss-Gurt Leuchtspur Taśma 9,3mm 150rd Smugacz + Cinta de 150 balas trazadoras de 9.3mm 9.3mm Tracer 9,3mm Leuchtspur 9,3mm Smugacz 9.3mm Svítící + 9.3mm trazadora Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid 9.3mm 150Rnd Tracer IR-DIM Belt 9,3mm 150-Schuss-Gurt Leuchtspur IR-DIM Taśma 9,3mm 150rd Smugacz IR-DIM + Cinta de 150 balas trazadoras IR-DIM de 9.3mm 9.3mm IR-DIM 9,3mm IR-DIM 9,3mm IR-DIM 9.3mm IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 150<br />Verwendet für: Navid Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid 9.3mm 150Rnd AP Belt 9,3mm 150-Schuss-Gurt Hartkern Taśma 9,3mm 150rd AP + Cinta de 150 balas AP de 9.3mm 9.3mm AP 9,3mm AP 9,3mm AP 9.3mm AP + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Schuss: 150<br />Verwendet für: Navid Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid 9x19mm 16Rnd Mag Magazynek 9x19mm 16rd + Cargador de 16 balas de 9x19mm 9x19mm 9x19mm + 9x19mm 9x19mm 16Rnd Mag Magazynek 9x19mm 16rd + Cargador de 16 balas de 9x19mm 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd + Cargador de 30 balas de 9x19mm 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd + Cargador de 30 balas de 9x19mm 7.62x54mm 10Rnd Tracer IR-DIM Mag Magazynek 7,62x54 mm 10rd Smugacz IR-DIM + Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm 7.62mm IR-DIM 7,62mm IR-DIM + 7.62mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag Magazynek 7,62x54 mm 10rd Smugacz IR-DIM + Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM + Cargador de 100 balas trazadoras IR-DIM de 6.5mm 6.5mm IR-DIM 6,5mm IR-DIM + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM + Cargador de 100 balas trazadoras IR-DIM de 6.5mm 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM + Cinta de 200 balas trazadoras IR-DIM de 6.5mm 6.5mm IR-DIM 6,5mm IR-DIM + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM + Cinta de 200 balas trazadoras IR-DIM de 6.5mm 5.56mm 30Rnd Mag (Mk262) Magazynek 5,56mm 30rd Mk262 + Cargador de 30 balas de 5.56mm (Mk262) 5.56mm (Mk262) 5,56mm (Mk262) + 5.56mm (Mk262) Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30 + Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd Mk318 + Cargador de 30 balas de 5.56mm (Mk318) 5.56mm (Mk318) 5,56mm (Mk318) + 5.56mm (Mk318) Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30 + Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) + Cargador de 10 balas de 7.62mm (M118LR) 7.62mm (M118LR) 7,62mm (M118LR) + 7.62mm (M118LR) Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10 + Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) + Cargador de 20 balas de 7.62mm (M118LR) 7.62mm (M118LR) 7,62mm (M118LR) + 7.62mm (M118LR) Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 + Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) + Cargador de 20 balas de 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7,62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (Mk248 Mod 0)<br />Pociski: 20 + Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) + Cargador de 20 balas de 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7,62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20 + Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) + Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) 7.62mm (OTM) 7,62mm (OTM) + 7.62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 + Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) + Cargador de 30 balas de 6.5x47mm (HPBT Scenar) 6.5mm Scenar + 6.5mm Scenar Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30 + Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 8.6x70mm 10Rnd Mag (300gr Sierra MatchKing HPBT) + Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) .338 (HPBT) + .338 (HPBT) Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 + Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 - + \ No newline at end of file diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index f41adba0e3..961ef1bb68 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -1,4 +1,5 @@  + @@ -9,6 +10,7 @@ Namierz cel (przytrzymaj) Verrouiller cible (maintenir) Célpontra állás (Lenyomva tartott) + Fijar objetivo (Mantener) Cycle Fire Mode @@ -18,6 +20,7 @@ Przełącz tryb ognia Cycle mode de tir Tüzelési mód váltása + Cambiar modo de disparo - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index e9a72d82a8..17bfacbffc 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -17,27 +17,33 @@ Kestrel 4500 Pocket Weather Tracker Anemomentr skrzydełkowy Kestrel 4500 + Kestrel 4500 Pocket Weather Tracker Open Kestrel 4500 Otwórz Kestrel 4500 Kestrel 4500 elővétele + Abrir Kestrel 4500 Show Kestrel 4500 Pokaż Kestrel 4500 + Mostrar Kestrel 4500 Hide Kestrel 4500 Ukryj Kestrel 4500 + Esconder Kestrel 4500 Open Kestrel 4500 Otwórz Kestrel 4500 + Abrir Kestrel 4500 Show Kestrel 4500 Pokaż Kestrel 4500 + Mostrar Kestrel 4500 - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 5d7aa03c67..7d1c3393e8 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,4 +1,5 @@  + @@ -47,16 +48,19 @@ Laser Laser Laser + Laser IR Laser IR-Laser Laser IR + Laser IR Switch Laser / IR Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR + Cambiar Laser / Laser IR - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 8547a36eae..af7bc08eba 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,5 @@  + @@ -1391,61 +1392,73 @@ Heavily wounded Schwer verwundet: Ciężko ranny + Gravemente herido Lightly wounded Leicht verwundet: Lekko ranny + Levemente herido Very lightly wounded Sehr leicht verwundet: B. lekko ranny + Muy levemente herido Head Kopf Głowa + Cabeza Torso Torso Tors + Torso Left Arm Linker Arm Lewe ramię + Brazo izquierdo Right Arm Rechter Arm Prawe ramię + Brazo derecho Left Leg Linkes Bein Lewa noga + Pierna izquierda Right Leg Rechtes Bein Prawa noga + Pierna derecha Pain Effect Type Schmerzeffekt-Typ Rodzaj efektu bólu + Tipo de efecto de dolor Colour Flashing Farbblinken Pulsujące kolory + Parpadeo de color Chromatic Aberration Chromatische Aberration Aberracja chromatyczna + Aberración cromática - + \ No newline at end of file diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 9e070efa73..548e5d6642 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -1,41 +1,51 @@  + Minor adjustment up Zerowanie powoli w górę + Ajuste menor arriba Minor adjustment down Zerowanie powoli w dół + Ajuste menor abajo Minor adjustment right Zerowanie powoli w prawo + Ajuste menor derecha Minor adjustment left Zerowanie powoli w lewo + Ajuste menor izquierda Major adjustment up Zerowanie w górę + Ajuste mayor arriba Major adjustment down Zerowanie w dół + Ajuste mayor abajo Major adjustment right Zerowanie w prawo + Ajuste mayor derecha Major adjustment left Zerowanie w lewo + Ajuste mayor izquierda Set zero adjustment Zresetuj wyzerowanie + Establecer ajuste a cero - + \ No newline at end of file diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 4827751c6b..41259ec8cc 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -5,6 +5,7 @@ Show Wind Info Pokaż inf. o wietrze + Mostrar información del viento \ No newline at end of file From ad67fca8f4f8066e2ff898cda58003f4273dc8b1 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 17:45:48 +0200 Subject: [PATCH 136/247] Update stringtable.xml --- addons/interaction/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index ce18f514f4..dd63efef07 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -578,7 +578,7 @@ Připojil ses do %1 týmu Вы присоединились к группе %1 Você uniu-se à Equipe %1 - Sei entrato nella team %1 + Sei entrato nel team %1 Csatlakoztál a %1 csapathoz From ead2b1f06447d2494c17d6813a7802fb7b23ffca Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 15 Apr 2015 17:52:12 +0200 Subject: [PATCH 137/247] Update AUTHORS.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 34feb3838f..e2930ee461 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -67,6 +67,7 @@ rakowozz Raspu86 Riccardo Petricca Robert Boklahánics +ramius86 simon84 Sniperwolf572 Tonic From a3965424b9fdce9d7c1aa509331589727604fd93 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 19:09:10 +0300 Subject: [PATCH 138/247] addons/medical translation to Russian --- addons/medical/stringtable.xml | 37 +++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 8547a36eae..ea69c1c722 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -74,6 +74,7 @@ Aplikovat škrtidlo Załóż stazę Appliquer un garrot + Наложить жгут Bandage @@ -165,7 +166,7 @@ Inyectando Morfina ... Wstrzykiwanie morfiny ... Aplikuji morfin ... - Введение морфина... + Введение морфина ... Injection de Morphine... Morfium beadása ... Injetando Morfina ... @@ -177,7 +178,7 @@ Inyectando Epinefrina ... Wstrzykiwanie adrenaliny ... Aplikuji adrenalin ... - Введение адреналина... + Введение адреналина ... Injection d'Adrénaline ... Epinefrin beadása ... Injetando Epinefrina ... @@ -190,7 +191,7 @@ Aplikuji atropin ... Wstrzykiwanie atropiny ... Injection d'Atropine ... - Введение атропина... + Введение атропина ... Atropin beadása ... @@ -199,7 +200,7 @@ Transfusión de sangre ... Przetaczanie krwi ... Probíhá transfúze krve ... - Переливание крови... + Переливание крови ... Transfusion Sanguine ... Infúzió vérrel ... Transfundindo Sangue ... @@ -212,7 +213,7 @@ Probíha transfúze fyziologický roztoku ... Przetaczanie solanki ... Transfusion de saline ... - Переливание физраствора... + Переливание физраствора ... Infúzió sós vizzel ... @@ -222,7 +223,7 @@ Probíha transfúze plazmy ... Przetaczanie osocza ... Transfusion de Plasma ... - Переливание плазмы... + Переливание плазмы ... Infúzió vérplazmával ... @@ -235,7 +236,7 @@ Sto applicando la benda ... Bekötözés ... Atando ... - Перевязывание... + Перевязывание ... Applying Tourniquet ... @@ -244,7 +245,7 @@ Aplikuji škrtidlo Zakładanie stazy ... Mise en place du Garrot ... - Наложение жгута... + Наложение жгута ... Érszorító felhelyezése ... @@ -1014,7 +1015,7 @@ Checking Blood Pressure.. Mesure de la tension ... - Проверка артериального давления... + Проверка артериального давления ... Comprobando presión arterial... Sprawdzanie ciśnienia krwi... Blutdruck kontrollieren... @@ -1093,7 +1094,7 @@ Checking Heart Rate.. Vérification du rythme cardiaque ... - Проверка пульса... + Проверка пульса ... Comprobando ritmo cardíaco... Sprawdzanie tętna... Kontrolliere Herzfrequenz @@ -1182,7 +1183,7 @@ %1 is not responsive - %1 не реагирует + %1 не реагирует на раздражители %1 est inconscient %1 no reacciona %1 jest nieprzytomny @@ -1350,7 +1351,7 @@ Placing body in bodybag Colocando cuerpo en bolsa para cadáveres - Упаковка тела + Упаковка тела ... Pakowanie ciała do worka na zwłoki Placement du corps dans la housse Test hullazsákba helyezése ... @@ -1391,61 +1392,73 @@ Heavily wounded Schwer verwundet: Ciężko ranny + Сильно ранен Lightly wounded Leicht verwundet: Lekko ranny + Легко ранен Very lightly wounded Sehr leicht verwundet: B. lekko ranny + Очень легко ранен Head Kopf Głowa + Голова Torso Torso Tors + Торс Left Arm Linker Arm Lewe ramię + Левая рука Right Arm Rechter Arm Prawe ramię + Правая рука Left Leg Linkes Bein Lewa noga + Левая нога Right Leg Rechtes Bein Prawa noga + Правая нога Pain Effect Type Schmerzeffekt-Typ Rodzaj efektu bólu + Вид боли Colour Flashing Farbblinken Pulsujące kolory + Разноцветные вспышки Chromatic Aberration Chromatische Aberration Aberracja chromatyczna + Хроматическая аберрация From c793df48486e6f59867bfa5aadeea9f8580f77fe Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 09:10:00 -0700 Subject: [PATCH 139/247] Changed: Safety mode on Titan, it now doesnt show as unloaded Fixed: Some TOP shots would miss, Fixed: Lock constraints would show on fast weapon switch. --- addons/javelin/CfgEventhandlers.hpp | 6 ++ addons/javelin/RscInGameUI.hpp | 2 +- addons/javelin/XEH_pre_init.sqf | 1 + addons/javelin/functions/fnc_onFired.sqf | 18 ++++++ addons/javelin/functions/fnc_onOpticDraw.sqf | 58 +++++++++++++------ addons/javelin/functions/fnc_onOpticLoad.sqf | 3 +- .../javelin/functions/fnc_onOpticUnload.sqf | 20 +++++++ .../functions/fnc_attackProfile_JAV_TOP.sqf | 5 +- 8 files changed, 92 insertions(+), 21 deletions(-) create mode 100644 addons/javelin/functions/fnc_onFired.sqf create mode 100644 addons/javelin/functions/fnc_onOpticUnload.sqf diff --git a/addons/javelin/CfgEventhandlers.hpp b/addons/javelin/CfgEventhandlers.hpp index 2c44a05e3a..ae7f95b232 100644 --- a/addons/javelin/CfgEventhandlers.hpp +++ b/addons/javelin/CfgEventhandlers.hpp @@ -9,4 +9,10 @@ class Extended_PostInit_EventHandlers { init = QUOTE(call COMPILE_FILE(XEH_post_init)); clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit)); }; +}; + +class Extended_FiredBIS_EventHandlers { + class All { + ADDON = QUOTE(_this call FUNC(onFired)); + }; }; \ No newline at end of file diff --git a/addons/javelin/RscInGameUI.hpp b/addons/javelin/RscInGameUI.hpp index 8b33c95c01..d845c1d00b 100644 --- a/addons/javelin/RscInGameUI.hpp +++ b/addons/javelin/RscInGameUI.hpp @@ -14,7 +14,7 @@ class RscInGameUI { idd = 300; controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"}; onLoad = QUOTE(_this call FUNC(onOpticLoad)); - onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];"; + onUnload = QUOTE(_this call FUNC(onOpticUnload)); class ACE_javelin_elements_group: RscControlsGroup { diff --git a/addons/javelin/XEH_pre_init.sqf b/addons/javelin/XEH_pre_init.sqf index 2b2e980191..1accd4a8f4 100644 --- a/addons/javelin/XEH_pre_init.sqf +++ b/addons/javelin/XEH_pre_init.sqf @@ -6,6 +6,7 @@ PREP(lockKeyUp); PREP(cycleFireMode); PREP(showFireMode); +PREP(onFired); PREP(onOpticLoad); PREP(onOpticDraw); diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf new file mode 100644 index 0000000000..fde0f94365 --- /dev/null +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -0,0 +1,18 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); + +// Bail on not missile +if(! (_weapon in ["launch_Titan_short_F"]) ) exitWith { false }; + +_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; +if(!isNil "_pfh_handle") then { + //[_pfh_handle] call cba_fnc_removePerFrameHandler; + //uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil]; + + __JavelinIGUITargeting ctrlShow false; + __JavelinIGUITargetingGate ctrlShow false; + __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; +}; \ No newline at end of file diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 85877f1f16..3a64a36802 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -11,18 +11,6 @@ TRACE_1("enter", _this); private["_isJavelin", "_args", "_lastTick", "_runTime", "_soundTime", "_lockTime", "_newTarget", "_currentTarget", "_range", "_pos", "_targetArray"]; -if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) - || { (vehicle ACE_player) != ACE_player } - ) exitWith { - __JavelinIGUITargeting ctrlShow false; - __JavelinIGUITargetingGate ctrlShow false; - __JavelinIGUITargetingLines ctrlShow false; - __JavelinIGUITargetingConstraints ctrlShow false; - - [(_this select 1)] call cba_fnc_removePerFrameHandler; - uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil]; -}; - // Reset arguments if we havnt rendered in over a second _args = uiNamespace getVariable[QGVAR(arguments), [] ]; if( (count _args) > 0) then { @@ -40,6 +28,21 @@ _runTime = _args select 2; _lockTime = _args select 3; _soundTime = _args select 4; _randomLockInterval = _args select 5; +_fireDisabledEH = _args select 6; + +if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) + || { (vehicle ACE_player) != ACE_player } + ) exitWith { + __JavelinIGUITargeting ctrlShow false; + __JavelinIGUITargetingGate ctrlShow false; + __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; + + _fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire); + + [(_this select 1)] call cba_fnc_removePerFrameHandler; + uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil]; +}; // Find a target within the optic range _newTarget = objNull; @@ -106,6 +109,27 @@ if((call CBA_fnc_getFoV) select 1 > 9) then { __JavelinIGUIWFOV ctrlSetTextColor __ColorGreen; }; +FUNC(disableFire) = { + _firedEH = _this select 0; + + if(_firedEH < 0) then { + _firedEH = [ACE_player, "DefaultAction", {true}, { + _canFire = ACE_player getVariable["ace_missileguidance_target", nil]; + if(!isNil "_canFire") exitWith { false }; + true + }] call EFUNC(common,addActionEventHandler); + }; + _firedEH +}; +FUNC(enableFire) = { + _firedEH = _this select 0; + + if(_firedEH > 0) then { + [ACE_player, "DefaultAction", _firedEH] call EFUNC(common,removeActionEventHandler); + }; + -1 +}; + if (isNull _newTarget) then { // No targets found _currentTarget = objNull; @@ -120,8 +144,7 @@ if (isNull _newTarget) then { ACE_player setVariable ["ace_missileguidance_target",nil, false]; // Disallow fire - if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; }; - + _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); } else { if (_newTarget distance ACE_player < 2500 && {(call CBA_fnc_getFoV) select 1 > 9} @@ -176,7 +199,7 @@ if (isNull _newTarget) then { ACE_player setVariable["ace_missileguidance_target", _currentTarget, false]; // Allow fire - ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0]; + _fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire); if(diag_tickTime > _soundTime) then { playSound "ACE_Javelin_Locked"; @@ -217,7 +240,7 @@ if (isNull _newTarget) then { _soundTime = diag_tickTime + 0.25; }; // Disallow fire - if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; }; + _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); }; }; } else { @@ -234,7 +257,7 @@ if (isNull _newTarget) then { ACE_player setVariable ["ace_missileguidance_target",nil, false]; // Disallow fire - if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; }; + _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); }; }; @@ -246,5 +269,6 @@ _args set[1, _currentTarget]; _args set[2, _runTime]; _args set[3, _lockTime]; _args set[4, _soundTime]; +_args set[6, _fireDisabledEH]; uiNamespace setVariable[QGVAR(arguments), _args ]; \ No newline at end of file diff --git a/addons/javelin/functions/fnc_onOpticLoad.sqf b/addons/javelin/functions/fnc_onOpticLoad.sqf index d38e1c3305..a2b2692859 100644 --- a/addons/javelin/functions/fnc_onOpticLoad.sqf +++ b/addons/javelin/functions/fnc_onOpticLoad.sqf @@ -25,7 +25,8 @@ uiNameSpace setVariable [QGVAR(arguments), 0, // Run Time 0, // Lock Time 0, // Sound timer - (random __LOCKONTIMERANDOM) // random lock time addition + (random __LOCKONTIMERANDOM), // random lock time addition + -1 ] ]; diff --git a/addons/javelin/functions/fnc_onOpticUnload.sqf b/addons/javelin/functions/fnc_onOpticUnload.sqf new file mode 100644 index 0000000000..38acc1cd1c --- /dev/null +++ b/addons/javelin/functions/fnc_onOpticUnload.sqf @@ -0,0 +1,20 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +TRACE_1("enter", _this); + +uiNameSpace setVariable ['ACE_RscOptics_javelin',nil]; + +_pfh = uiNamespace getVariable["ACE_RscOptics_javelin_PFH", nil ]; +if(!isNil "_pfh") then { + [_pfh] call CBA_fnc_removePerFrameHandler; + uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil]; +}; + +_args = uiNamespace getVariable[QGVAR(arguments), nil ]; +if(!isNil "_args") then { + _disableFireEH = _args select 6; + if(_disableFireEH > 0) then { + [ACE_player, "DefaultAction", _disableFireEH] call EFUNC(common,removeActionEventHandler); + }; + uiNameSpace setVariable [QGVAR(arguments),nil]; +}; diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf index dc8b9b8e9d..fd86c2bf03 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf @@ -58,10 +58,11 @@ switch( (_state select 0) ) do { case STAGE_COAST: { TRACE_1("STAGE_COAST",""); TRACE_1("", ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ); - if(_distanceShooterToTarget < 1250 || _distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then { + if(_distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then { _state set[0, STAGE_TERMINAL]; + } else { + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)]; }; - _returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)]; }; case STAGE_TERMINAL: { TRACE_1("STAGE_TERMINAL",""); From 5923f246fdec8806f542b480fc05084c637833ca Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 09:25:19 -0700 Subject: [PATCH 140/247] Fixed: only exit on shooter. --- addons/javelin/functions/fnc_onFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf index fde0f94365..e873e5cf3e 100644 --- a/addons/javelin/functions/fnc_onFired.sqf +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -4,7 +4,7 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile -if(! (_weapon in ["launch_Titan_short_F"]) ) exitWith { false }; +if( _shooter != ACE_player || { ! (_weapon in ["launch_Titan_short_F"]) } ) exitWith { false }; _pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; if(!isNil "_pfh_handle") then { From 6ea38a9946a8fd2201989a4ffb568177e7b55e78 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 11:34:27 -0500 Subject: [PATCH 141/247] Only check A3 VON if no radio mods running --- .../nametags/functions/fnc_initIsSpeaking.sqf | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index 95403e0894..d8ffda756c 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -36,32 +36,33 @@ if (!hasInterface) exitWith {}; }; }] call EFUNC(common,addEventHandler); -//PFEH to watch the internal VON icon -//Note: class RscDisplayVoiceChat {idd = 55}; //only present when talking -[{ - _oldSetting = ACE_player getVariable [QGVAR(isSpeakingInGame), false]; - _newSetting = (!(isNull findDisplay 55)); - if (!(_oldSetting isEqualTo _newSetting)) then { - ACE_player setVariable [QGVAR(isSpeakingInGame), _newSetting, true]; - }; -} , 0.1, []] call CBA_fnc_addPerFrameHandler; +if (isClass (configFile >> "cfgPatches" >> "acre_api")) then { + diag_log text format ["[ACE_nametags] - ACRE Detected"]; + DFUNC(isSpeaking) = { + PARAMS_1(_unit); + ([_unit] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) + }; +} else { + if (isClass (configFile >> "cfgPatches" >> "task_force_radio")) then { + diag_log text format ["[ACE_nametags] - TFR Detected"]; + DFUNC(isSpeaking) = { + PARAMS_1(_unit); + (_unit getVariable ["tf_isSpeaking", false]) + }; + } else { + //No Radio Mod - Start a PFEH to watch the internal VON icon + //Note: class RscDisplayVoiceChat {idd = 55} - only present when talking -DFUNC(isSpeaking) = switch (true) do { -case (isClass (configFile >> "cfgPatches" >> "acre_api")): { - { - PARAMS_1(_unit); - (_unit getVariable [QGVAR(isSpeakingInGame), false]) || ([_unit] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) - }; - }; -case (isClass (configFile >> "cfgPatches" >> "task_force_radio")): { - { - PARAMS_1(_unit); - (_unit getVariable [QGVAR(isSpeakingInGame), false]) || (_unit getVariable ["tf_isSpeaking", false]) - }; - }; - default { - { + [{ + _oldSetting = ACE_player getVariable [QGVAR(isSpeakingInGame), false]; + _newSetting = (!(isNull findDisplay 55)); + if (!(_oldSetting isEqualTo _newSetting)) then { + ACE_player setVariable [QGVAR(isSpeakingInGame), _newSetting, true]; + }; + } , 0.1, []] call CBA_fnc_addPerFrameHandler; + + DFUNC(isSpeaking) = { PARAMS_1(_unit); (_unit getVariable [QGVAR(isSpeakingInGame), false]) }; From e84689a7718eb6b4f17a8f5c0a61184867c62961 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 11:46:01 -0500 Subject: [PATCH 142/247] #544 - Change ERROR warning to debug trace --- addons/captives/functions/fnc_setHandcuffed.sqf | 17 ++++++++--------- .../captives/functions/fnc_setSurrendered.sqf | 3 +-- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index e992339186..5f134ab03b 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -29,11 +29,11 @@ if ((_unit getVariable [QGVAR(isHandcuffed), false]) isEqualTo _state) exitWith if (_state) then { _unit setVariable [QGVAR(isHandcuffed), true, true]; [_unit, QGVAR(Handcuffed), true] call EFUNC(common,setCaptivityStatus); - + if (_unit getVariable [QGVAR(isSurrendering), false]) then { //If surrendering, stop [_unit, false] call FUNC(setSurrendered); }; - + //Set unit cargoIndex (will be -1 if dismounted) _unit setVariable [QGVAR(CargoIndex), ((vehicle _unit) getCargoIndex _unit), true]; @@ -47,30 +47,29 @@ if (_state) then { if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then { [_unit] call EFUNC(common,fixLoweredRifleAnimation); [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); - + //Adds an animation changed eh //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { - ERROR("Handcuff animation interrupted"); - // systemChat format ["debug %2: new %1", _newAnimation, time]; + TRACE_1("Handcuff animation interrupted",_newAnimation); [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); }; }]; _unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID]; - + }; }, [_unit], 0.01, 0] call EFUNC(common,waitAndExecute); } else { _unit setVariable [QGVAR(isHandcuffed), false, true]; [_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus); - - //remove AnimChanged EH + + //remove AnimChanged EH _animChangedEHID = _unit getVariable [QGVAR(handcuffAnimEHID), -1]; _unit removeEventHandler ["AnimChanged", _animChangedEHID]; _unit setVariable [QGVAR(handcuffAnimEHID), -1]; - + if (((vehicle _unit) == _unit) && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { //Break out of hands up animation loop [_unit, "ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation); diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index 30f9105511..d774e7f6e0 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -51,8 +51,7 @@ if (_state) then { _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { - ERROR("Surrender animation interrupted"); - // systemChat format ["debug %2: new %1", _newAnimation, time]; + TRACE_1("Surrender animation interrupted",_newAnimation); [_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation); }; }]; From 252fb671190fc8412983502d8f387109add299a9 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 19:50:32 +0300 Subject: [PATCH 143/247] Update stringtable.xml --- addons/explosives/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 05410e621e..c34b6d3cc6 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -497,6 +497,7 @@ Podnieś Ramasser Felszedés + Поднять From d8eb564c654e56335e04f4e520163eba14010964 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 19:52:29 +0300 Subject: [PATCH 144/247] Update stringtable.xml --- addons/overheating/stringtable.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 3aaeebdb00..4bb91688fa 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -15,7 +15,7 @@ Display a notification whenever your weapon gets jammed Zeige einen Hinweis, wenn die Waffe eine Ladehemmung hat. Mostrar notificación cada vez que el arma se encasquille - Демонстровать уведомление, каждый раз, когда клинит Ваше оружие. + Показывать уведомление каждый раз, когда клинит Ваше оружие. Zobrazí upozornění při zaseknutí zbraně Wyświetl powiadomienie za każdym razem, kiedy Twoja broń ulegnie zacięciu Affiche une notification lors d'un enrayement @@ -100,7 +100,7 @@ Wymienianie lufy... Vyměňuji hlaveň ... Changement du canon... - Смена ствола... + Смена ствола ... Cső kicserélése folyamatban... Substituindo cano... Sto sostituendo la canna ... @@ -136,6 +136,7 @@ Zkontrolovat teplotu zbraně Vérifier la température Fegyverhő ellenőrzése + Проверить температуру оружия Checking temperature ... From 7051152d934770e858d505c6db534ef1510dfa5e Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 19:53:42 +0300 Subject: [PATCH 145/247] Update stringtable.xml --- addons/disarming/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 508c9f1d3d..ee121d0480 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -7,6 +7,7 @@ Otwórz ekwipunek Otevřít inventář Abrir inventario + Открыть инвентарь From 64d6bbaf2607016b80d027e10a8bb8b435ba5ec6 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 18:55:20 +0200 Subject: [PATCH 146/247] Fixed an incorrect BC in an ATragMX gun profile --- addons/atragmx/XEH_postInit.sqf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 31c526fab7..61bbf8b845 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -6,16 +6,16 @@ if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then { GVAR(gunList) = profileNamespace getVariable "ACE_ATragMX_gunList"; } else { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Elevation Scope Step, Windage Scope Step, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Ammo Class Name, Magazine Class Name, BC, Drag Model, Atmosphere Model - GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.700, 1, "ASM" ], - ["12.7x99mm" , 880, 100, 0.0607, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ], - ["12.7x54mm" , 290, 100, 0.3913, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 61.56, "B_127x54_Ball" , "10Rnd_127x54_Mag" , 1.050, 1, "ASM" ], - ["10.4x77mm" , 910, 100, 0.0572, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ], - ["9.3×64mm" , 870, 100, 0.0632, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ], - ["8.6×70mm" , 915, 100, 0.0572, -0.0006100, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"], - ["7.62x51mm" , 850, 100, 0.0639, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"], - ["6.5x39mm" , 800, 100, 0.0689, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless", "30Rnd_65x39_caseless_mag", 0.263, 1, "ICAO"], - ["5.56x45mm" , 920, 100, 0.0584, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ], - ["5.56x45mm Mk262" , 850, 100, 0.0643, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "RH_556x45_Mk262" , "RH_30Rnd_556x45_Mk262" , 0.361, 1, "ASM" ]]; + GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.630, 1, "ASM" ], + ["12.7x99mm" , 880, 100, 0.0607, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ], + ["12.7x54mm" , 290, 100, 0.3913, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 61.56, "B_127x54_Ball" , "10Rnd_127x54_Mag" , 1.050, 1, "ASM" ], + ["10.4x77mm" , 910, 100, 0.0572, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ], + ["9.3×64mm" , 870, 100, 0.0632, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ], + ["8.6×70mm" , 915, 100, 0.0572, -0.0006100, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"], + ["7.62x51mm" , 850, 100, 0.0639, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"], + ["6.5x39mm" , 800, 100, 0.0689, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless" , "30Rnd_65x39_caseless_mag" , 0.263, 1, "ICAO"], + ["5.56x45mm" , 920, 100, 0.0584, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ], + ["5.56x45mm Mk262" , 850, 100, 0.0643, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "ACE_556x45_Ball_Mk262" , "ACE_30Rnd_556x45_Stanag_Mk262_mag", 0.361, 1, "ASM" ]]; profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; }; From ea2281616ea1675c8e632877dc098f8c5dd8eb6a Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 09:55:40 -0700 Subject: [PATCH 147/247] Enable all variants of Titan. Can now vanilla-lock in cadet mode. --- addons/javelin/CfgWeapons.hpp | 3 +++ addons/javelin/functions/fnc_onFired.sqf | 4 +++- addons/javelin/functions/fnc_onOpticDraw.sqf | 4 +--- addons/missileguidance/CfgAmmo.hpp | 4 ++++ addons/missileguidance/functions/fnc_onFired.sqf | 5 ++--- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index cef967e32e..4e7091c653 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -8,6 +8,9 @@ class CfgWeapons { weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = PATHTOF(data\reticle_titan.p3d); + canLock = 1; + + lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf index e873e5cf3e..04a023c9d8 100644 --- a/addons/javelin/functions/fnc_onFired.sqf +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -4,7 +4,9 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile -if( _shooter != ACE_player || { ! (_weapon in ["launch_Titan_short_F"]) } ) exitWith { false }; +if( _shooter != ACE_player) exitWith { false }; + +if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith { }; _pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; if(!isNil "_pfh_handle") then { diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 3a64a36802..358b68ebc1 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -30,9 +30,7 @@ _soundTime = _args select 4; _randomLockInterval = _args select 5; _fireDisabledEH = _args select 6; -if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) - || { (vehicle ACE_player) != ACE_player } - ) exitWith { +if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith { __JavelinIGUITargeting ctrlShow false; __JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingLines ctrlShow false; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index a05ecee9bc..3b74c87065 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -50,6 +50,8 @@ class CfgAmmo { //maxDeflection = 0.5; //incDeflection = 0.005; + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + // Guidance type for munitions defaultSeekerType = "SALH"; seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" }; @@ -120,6 +122,8 @@ class CfgAmmo { //maxDeflection = 0.5; //incDeflection = 0.005; + canVanillaLock = 0; + // Guidance type for munitions defaultSeekerType = "Optic"; seekerTypes[] = { "Optic" }; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 186a622417..ad713d8884 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -41,15 +41,14 @@ if ( isNil "_lockMode" || { ! ( _lockMode in (getArray (_config >> "seekerLockMo // If we didn't get a target, try to fall back on tab locking if(isNil "_target") then { - if(!isPlayer _shooter) then { // This was an AI shot, lets still guide it on the AI target _target = _shooter getVariable[QGVAR(vanilla_target), nil]; TRACE_1("Detected AI Shooter!", _target); } else { _canUseLock = getNumber (_config >> "canVanillaLock"); - if(_canUseLock > 0) then { - // @TODO: Get vanilla target + // @TODO: Get vanilla target + if(_canUseLock > 0 || cadetMode) then { _vanillaTarget = cursorTarget; TRACE_1("Using Vanilla Locking", _vanillaTarget); From 3773238e25ef2ac717e0e1b9e1db3c95c3f5be1d Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 19:56:34 +0300 Subject: [PATCH 148/247] Update stringtable.xml --- addons/atragmx/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index 6b6a921c2a..1468632a9b 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -17,14 +17,17 @@ Open ATragMX Otwórz ATragMX + Открыть ATragMX Rugged PDA with ATragMX Przenośny PDA z kalkulatorem balistycznym ATragMX + Защищенный КПК с ATragMX Open ATragMX Otwórz ATragMX + Открыть ATragMX - \ No newline at end of file + From e0c34f22bf59230174df93142f3f0b102a9ab4bb Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 18:59:11 +0200 Subject: [PATCH 149/247] Added ACE_338_Ball_API526 and updated some airFriction values --- addons/ballistics/CfgAmmo.hpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 87f3a99df1..8e75e6ce03 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -502,8 +502,6 @@ class CfgAmmo { class ACE_338_Ball : B_338_Ball { airFriction=-0.000526; caliber=1.55; - deflecting=12; - hit=20; typicalSpeed=826; ACE_caliber=0.338; ACE_bulletLength=1.70; @@ -516,6 +514,21 @@ class CfgAmmo { ACE_muzzleVelocities[]={800, 820, 826, 830}; ACE_barrelLengths[]={20, 24, 26.5, 28}; }; + class ACE_338_Ball_API526 : B_338_Ball { + airFriction=-0.000526; + caliber=2.4; + typicalSpeed=826; + ACE_caliber=0.338; + ACE_bulletLength=1.535; + ACE_bulletMass=253; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.290}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={880, 915, 925}; + ACE_barrelLengths[]={20, 26, 28}; + }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; @@ -545,6 +558,8 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { + airFriction=-0.000374; + typicalSpeed=860; ACE_caliber=0.510; ACE_bulletLength=2.540; ACE_bulletMass=750; @@ -557,6 +572,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class B_127x108_Ball : BulletBase { + airFriction=-0.00064; typicalSpeed=820; ACE_caliber=0.511; ACE_bulletLength=2.520; From f8061922f7d4857e52c93bacb6c1b51de57aa002 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 18:59:41 +0200 Subject: [PATCH 150/247] Added ACE_10Rnd_338_API526_Mag, ACE_5Rnd_127x99_Mag, ACE_5Rnd_127x99_AMAX_Mag --- addons/ballistics/CfgMagazines.hpp | 27 ++++++++++++++++++ addons/ballistics/CfgVehicles.hpp | 16 +++++++++++ addons/ballistics/stringtable.xml | 46 ++++++++++++++++++------------ 3 files changed, 71 insertions(+), 18 deletions(-) diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index de3f80fd83..7a97b3609e 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -171,6 +171,33 @@ class CfgMagazines { descriptionShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description"; initSpeed = 800; }; + class ACE_10Rnd_338_API526_Mag: 10Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_338_Ball_API526"; + displayName = "$STR_ACE_10Rnd_338_API526_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_338_API526_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_API526_Mag_Description"; + initSpeed = 880; + }; + + class 5Rnd_127x108_Mag; + class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "B_127x99_Ball"; + displayName = "$STR_ACE_5Rnd_127x99_Mag_Name"; + displayNameShort = "$STR_ACE_5Rnd_127x99_Mag_NameShort"; + descriptionShort = "$STR_ACE_5Rnd_127x99_Mag_Description"; + initSpeed = 853; + }; + class ACE_5Rnd_127x99_AMAX_Mag: 5Rnd_127x108_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_127x99_Ball_AMAX"; + displayName = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Name"; + displayNameShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_NameShort"; + descriptionShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Description"; + initSpeed = 860; + }; + class 30Rnd_9x21_Mag: CA_Magazine { initSpeed = 450; diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index 7c32774f9f..81252df0f2 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -23,6 +23,10 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); }; }; @@ -32,6 +36,10 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); }; }; @@ -41,6 +49,10 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,6); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); }; }; @@ -159,6 +171,10 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4);I a }; }; }; diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 41070fa3dd..0b39dcb9d3 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -438,23 +438,6 @@ Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - - - .338 LM 10Rnd AP Mag - .338 LM 10-Schuss-Magazin Hartkern - Magazynek .338 LM 10rd AP - - - .338 LM AP - .338 LM AP - .338 LM AP - .338 LM AP - - - Caliber: .338 Lapua Magnum AP<br />Rounds: 10<br />Used in: MAR-10 - Kaliber: .338 Lapua Magnum Hartkern<br />Schuss: 10<br />Verwendet für: MAR-10 - Kaliber: .338 Lapua Magnum AP<br />Pociski: 10<br />Używany w: MAR-10 - .338 NM 130Rnd Tracer Belt @@ -756,7 +739,7 @@ Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30 - 8.6x70mm 10Rnd Mag (300gr Sierra MatchKing HPBT) + .338 10Rnd Mag (300gr Sierra MatchKing HPBT) .338 (HPBT) @@ -764,5 +747,32 @@ Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 + + .338 10Rnd Mag (API526) + + + .338 AP + + + Caliber: 8.6x70mm (API526)<br />Rounds: 10 + + + 12.7x99mm 5Rnd Mag + + + 12.7mm + + + Caliber: 12.7x99mm<br />Rounds: 5 + + + 12.7x99mm 5Rnd Mag (AMAX) + + + 12.7mm + + + Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 + From 92031cc3542a4809b0ad14a8f4142bb4941ce9ec Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 19:59:45 +0300 Subject: [PATCH 151/247] Update stringtable.xml --- addons/laserpointer/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 5d7aa03c67..eb328e5997 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -47,16 +47,19 @@ Laser Laser Laser + Лазер IR Laser IR-Laser Laser IR + ИК-лазер Switch Laser / IR Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR + Изменить режим Лазер / ИК-лазер From 0c4734637b1679b2b591cbf3f77167aca7408944 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 19:00:14 +0200 Subject: [PATCH 152/247] Fixed the GM6 barrel length and updated the magazines array --- addons/ballistics/CfgWeapons.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index d5b6ad448f..add91d0fa2 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -522,14 +522,21 @@ class CfgWeapons { ACE_barrelLength=29; }; class srifle_GM6_F: GM6_base_F { + magazines[] = { + "5Rnd_127x108_Mag", + "5Rnd_127x108_APDS_Mag", + "ACE_5Rnd_127x99_Mag", + "ACE_5Rnd_127x99_AMAX_Mag" + }; initSpeed = -1.0; ACE_barrelTwist=15; - ACE_barrelLength=43.3; + ACE_barrelLength=36.6; }; class srifle_DMR_02_F: DMR_02_base_F { magazines[] = { "10Rnd_338_Mag", "ACE_10Rnd_338_300gr_HPBT_Mag", + "ACE_10Rnd_338_API526_Mag", "ACE_20Rnd_762x67_Mk248_Mod_0_Mag", "ACE_20Rnd_762x67_Mk248_Mod_1_Mag", "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" From fe72eef3da65a7a9c368b438f3ae37a4b51f2535 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 20:02:41 +0300 Subject: [PATCH 153/247] Update stringtable.xml --- addons/advanced_ballistics/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index f19aa1e672..b0a6e97f34 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -6,11 +6,13 @@ Show Wind Info Pokaż inf. o wietrze Mostra indicazioni del vento + Показать информацию о ветре Show Protractor Pokaż kątomierz Mostra il rapportatore + Показать транспортир From 396bd3954e2b70797aa7eacc510c20cd1766413a Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 19:04:41 +0200 Subject: [PATCH 154/247] Fixed a typo --- addons/ballistics/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index 81252df0f2..9dd4a7083d 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -174,7 +174,7 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4); - MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4);I a + MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4); }; }; }; From 26d53d255f2267e434c0a5fd316de3c17ad6d0ee Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Wed, 15 Apr 2015 20:08:39 +0300 Subject: [PATCH 155/247] Update stringtable.xml --- addons/scopes/stringtable.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 9e070efa73..16d6b60c4c 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -4,38 +4,47 @@ Minor adjustment up Zerowanie powoli w górę + Малая корректировка ВВЕРХ Minor adjustment down Zerowanie powoli w dół + Малая корректировка ВНИЗ Minor adjustment right Zerowanie powoli w prawo + Малая корректировка ВПРАВО Minor adjustment left Zerowanie powoli w lewo + Малая корректировка ВЛЕВО Major adjustment up Zerowanie w górę + Большая корректировка ВВЕРХ Major adjustment down Zerowanie w dół + Большая корректировка ВНИЗ Major adjustment right Zerowanie w prawo + Большая корректировка ВПРАВО Major adjustment left Zerowanie w lewo + Большая корректировка ВЛЕВО Set zero adjustment Zresetuj wyzerowanie + Сбросить корректировку From 25b7f779f14d0ae0ffd885b340182337225b9bc8 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 10:11:13 -0700 Subject: [PATCH 156/247] Difficulty magic. --- addons/javelin/functions/fnc_onOpticDraw.sqf | 4 ++-- addons/javelin/functions/fnc_onOpticUnload.sqf | 2 +- addons/missileguidance/functions/fnc_onFired.sqf | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 358b68ebc1..13669b9d2e 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -110,7 +110,7 @@ if((call CBA_fnc_getFoV) select 1 > 9) then { FUNC(disableFire) = { _firedEH = _this select 0; - if(_firedEH < 0) then { + if(_firedEH < 0 && difficulty > 0) then { _firedEH = [ACE_player, "DefaultAction", {true}, { _canFire = ACE_player getVariable["ace_missileguidance_target", nil]; if(!isNil "_canFire") exitWith { false }; @@ -122,7 +122,7 @@ FUNC(disableFire) = { FUNC(enableFire) = { _firedEH = _this select 0; - if(_firedEH > 0) then { + if(_firedEH > 0 && difficulty > 0) then { [ACE_player, "DefaultAction", _firedEH] call EFUNC(common,removeActionEventHandler); }; -1 diff --git a/addons/javelin/functions/fnc_onOpticUnload.sqf b/addons/javelin/functions/fnc_onOpticUnload.sqf index 38acc1cd1c..4086c02766 100644 --- a/addons/javelin/functions/fnc_onOpticUnload.sqf +++ b/addons/javelin/functions/fnc_onOpticUnload.sqf @@ -13,7 +13,7 @@ if(!isNil "_pfh") then { _args = uiNamespace getVariable[QGVAR(arguments), nil ]; if(!isNil "_args") then { _disableFireEH = _args select 6; - if(_disableFireEH > 0) then { + if(_disableFireEH > 0 && difficulty > 0) then { [ACE_player, "DefaultAction", _disableFireEH] call EFUNC(common,removeActionEventHandler); }; uiNameSpace setVariable [QGVAR(arguments),nil]; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index ad713d8884..dd96821692 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -48,7 +48,7 @@ if(isNil "_target") then { } else { _canUseLock = getNumber (_config >> "canVanillaLock"); // @TODO: Get vanilla target - if(_canUseLock > 0 || cadetMode) then { + if(_canUseLock > 0 || difficulty < 1) then { _vanillaTarget = cursorTarget; TRACE_1("Using Vanilla Locking", _vanillaTarget); From 18be5276a9171e1b85b18a67240ea620eee05b0c Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 19:18:42 +0200 Subject: [PATCH 157/247] rally point moved eh, markers at rallypoint positions --- addons/respawn/CfgEventHandlers.hpp | 7 +++ addons/respawn/XEH_postInit.sqf | 5 +++ addons/respawn/XEH_preInit.sqf | 2 + .../functions/fnc_handlePlayerChanged.sqf | 44 +++++++++++++++++++ .../respawn/functions/fnc_initRallypoint.sqf | 44 ++++++++++++++++--- .../respawn/functions/fnc_moveRallypoint.sqf | 8 ++-- .../functions/fnc_updateRallypoint.sqf | 17 +++++++ 7 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 addons/respawn/XEH_postInit.sqf create mode 100644 addons/respawn/functions/fnc_handlePlayerChanged.sqf create mode 100644 addons/respawn/functions/fnc_updateRallypoint.sqf diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index 58aa8995ee..46ebd08657 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -1,9 +1,16 @@ + class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; + class Extended_Killed_EventHandlers { class CAManBase { class ADDON { diff --git a/addons/respawn/XEH_postInit.sqf b/addons/respawn/XEH_postInit.sqf new file mode 100644 index 0000000000..ada5765e86 --- /dev/null +++ b/addons/respawn/XEH_postInit.sqf @@ -0,0 +1,5 @@ +// by commy2 +#include "script_component.hpp" + +["rallypointMoved", {_this call FUNC(updateRallypoint)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); // hide enemy rallypoint markers diff --git a/addons/respawn/XEH_preInit.sqf b/addons/respawn/XEH_preInit.sqf index 8b3f309126..dd116f108c 100644 --- a/addons/respawn/XEH_preInit.sqf +++ b/addons/respawn/XEH_preInit.sqf @@ -4,6 +4,7 @@ ADDON = false; PREP(canMoveRallypoint); PREP(handleKilled); +PREP(handlePlayerChanged); PREP(handleRespawn); PREP(handleInitPostServer); PREP(initRallypoint); @@ -16,5 +17,6 @@ PREP(removeDisconnectedPlayer); PREP(restoreGear); PREP(showFriendlyFireMessage); PREP(teleportToRallypoint); +PREP(updateRallypoint); ADDON = true; diff --git a/addons/respawn/functions/fnc_handlePlayerChanged.sqf b/addons/respawn/functions/fnc_handlePlayerChanged.sqf new file mode 100644 index 0000000000..db699066bc --- /dev/null +++ b/addons/respawn/functions/fnc_handlePlayerChanged.sqf @@ -0,0 +1,44 @@ +// by commy2 +#include "script_component.hpp" + +private "_newUnit"; + +_newUnit = _this select 0; + +switch (side group _newUnit) do { + case (west): { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + }; + + case (east): { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + }; + + case (independent): { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 1; + }; + + default { + ((missionNamespace getVariable ["ACE_Rallypoint_West", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_West_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_East_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + ((missionNamespace getVariable ["ACE_Rallypoint_Independent_Base", objNull]) getVariable [QGVAR(marker), ""]) setMarkerAlphaLocal 0; + }; +}; diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index c266026e11..81058614ed 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -16,23 +16,53 @@ #include "script_component.hpp" -private ["_rallypoint", "_respawnMarker", "_name"]; +private ["_rallypoint", "_respawnMarker", "_side"]; _rallypoint = _this select 0; _respawnMarker = _this select 1; +_side = _this select 2; -if (!local _rallypoint) exitWith {}; - +private "_name"; _name = typeOf _rallypoint; +// init visible marker +if (hasInterface) then { + private ["_marker", "_type"]; + + _marker = format ["ACE_Marker_%1", _name]; + + // exit if it already exist + if (_marker in allMapMarkers) exitWith {}; + + _marker = createMarkerLocal [_marker, getPosASL _rallypoint]; + _type = ["selector_selectedFriendly", "selector_selectedEnemy"] select (_respawnMarker == ""); + + _marker setMarkerTypeLocal _type; + _marker setMarkerAlphaLocal ([0,1] select (_side == playerSide)); // playerSide to guarantee init + + private "_markerDate"; + _markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; + + _marker setMarkerTextLocal _markerDate; + + _rallypoint setVariable [QGVAR(marker), _marker]; +}; + +if (!isServer) exitWith {}; + if (isNil _name) then { missionNamespace setVariable [_name, _rallypoint]; publicVariable _name; + + _rallypoint setVariable [QGVAR(side), _side, true]; + + if (_respawnMarker != "" && {!(_respawnMarker in allMapMarkers)}) then { + createMarker [_respawnMarker, _rallypoint]; + }; + + ["rallypointMoved", [_rallypoint, _side]] call EFUNC(common,globalEvent); + } else { deleteVehicle _rallypoint; diag_log text "[ACE] Respawn: ERROR Multiple Rallypoints of same type."; }; - -if (isServer && {_respawnMarker != ""} && {!(_respawnMarker in allMapMarkers)}) then { - createMarker [_respawnMarker, _rallypoint]; -}; diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index d937363310..2b008bf122 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -44,11 +44,9 @@ _this spawn { _rallypoint setPosATL _position; _unit reveal _rallypoint; - /* - _marker = format ["AGM_RallyPoint_%1", _side]; - _marker setMarkerPos _position; - _marker setMarkerTextLocal format ["%1:%2", [date select 3, 2, 0] call CBA_fnc_FORMATNumber, [date select 4, 2, 0] call CBA_fnc_FORMATNumber]; - */ + _rallypoint setVariable [QGVAR(markerDate), format ["%1:%2", date select 3, date select 4], true]; + + ["rallypointMoved", [_rallypoint, _side]] call EFUNC(common,globalEvent); [localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured); }; diff --git a/addons/respawn/functions/fnc_updateRallypoint.sqf b/addons/respawn/functions/fnc_updateRallypoint.sqf new file mode 100644 index 0000000000..2510a58a30 --- /dev/null +++ b/addons/respawn/functions/fnc_updateRallypoint.sqf @@ -0,0 +1,17 @@ +// by commy2 +#include "script_component.hpp" + +private ["_rallypoint", "_side"]; + +_rallypoint = _this select 0; +_side = _this select 1; + +if (!hasInterface) exitWith {}; + +private ["_marker", "_markerDate"]; + +_marker = _rallypoint getVariable [QGVAR(marker), ""]; +_markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; + +_marker setMarkerPosLocal getPosASL _rallypoint; +_marker setMarkerTextLocal _markerDate; From ae198fa307d1acce77c3440a22167b6583369092 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 10:32:52 -0700 Subject: [PATCH 158/247] documentation matching re-orginization. --- documentation/feature/javelin.md | 10 ++++++++++ documentation/features/feature-list.md | 20 +++++++++++++++++++ documentation/features/titan-javelin-usage.md | 10 ++++++++++ .../framework/advanced-missile-guidance.md | 10 ++++++++++ .../fragmentation-configuration.md | 2 +- 5 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 documentation/feature/javelin.md create mode 100644 documentation/features/feature-list.md create mode 100644 documentation/features/titan-javelin-usage.md create mode 100644 documentation/framework/advanced-missile-guidance.md rename documentation/{development => framework}/fragmentation-configuration.md (99%) diff --git a/documentation/feature/javelin.md b/documentation/feature/javelin.md new file mode 100644 index 0000000000..eecfa8844a --- /dev/null +++ b/documentation/feature/javelin.md @@ -0,0 +1,10 @@ +--- +layout: wiki +title: Javelin/Titan Locking and Firing +group: feature +order: 5 +parent: wiki +--- + +## 1. Overview +Blah blah blah \ No newline at end of file diff --git a/documentation/features/feature-list.md b/documentation/features/feature-list.md new file mode 100644 index 0000000000..9edc405ba2 --- /dev/null +++ b/documentation/features/feature-list.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Features Documentation +group: features +order: 0 +parent: wiki +--- + + +**This page will get updated soon.** + + +## Table of Contents + + 1. [][[Advanced Missile Guidanced Framework|WikiLink]] + 2. [yy](#yy) + 3. [zz](#zz) + + +## What ACE3 has to offer diff --git a/documentation/features/titan-javelin-usage.md b/documentation/features/titan-javelin-usage.md new file mode 100644 index 0000000000..8115e6812b --- /dev/null +++ b/documentation/features/titan-javelin-usage.md @@ -0,0 +1,10 @@ +--- +layout: wiki +title: ACE Titan and Javelin +group: features +order: 0 +parent: wiki +--- + + +**This page will get updated soon.** diff --git a/documentation/framework/advanced-missile-guidance.md b/documentation/framework/advanced-missile-guidance.md new file mode 100644 index 0000000000..e67bfbe0f3 --- /dev/null +++ b/documentation/framework/advanced-missile-guidance.md @@ -0,0 +1,10 @@ +--- +layout: wiki +title: Advanced Missile Guidance +group: framework +order: 5 +parent: wiki +--- + +## 1. Overview +Blah blah blah \ No newline at end of file diff --git a/documentation/development/fragmentation-configuration.md b/documentation/framework/fragmentation-configuration.md similarity index 99% rename from documentation/development/fragmentation-configuration.md rename to documentation/framework/fragmentation-configuration.md index 17ff36fa13..1372b2b69a 100644 --- a/documentation/development/fragmentation-configuration.md +++ b/documentation/framework/fragmentation-configuration.md @@ -1,7 +1,7 @@ --- layout: wiki title: Fragmentation Configuration -group: development +group: framework parent: wiki order: 7 --- From 3cff85e85d74a438f6dd4dfffae7641e8e54c83a Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 19:51:34 +0200 Subject: [PATCH 159/247] Added Mk319 Mod 0 ammo and magazines --- addons/ballistics/CfgAmmo.hpp | 20 +++++++++++++-- addons/ballistics/CfgMagazines.hpp | 19 +++++++++++++- addons/ballistics/CfgVehicles.hpp | 11 +++++++- addons/ballistics/CfgWeapons.hpp | 3 +++ addons/ballistics/stringtable.xml | 40 ++++++++++++++++++++++++------ 5 files changed, 81 insertions(+), 12 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 8e75e6ce03..a0fa47c452 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -148,7 +148,7 @@ class CfgAmmo { class B_762x51_Ball : BulletBase { airFriction=-0.001035; typicalSpeed=833; - hit=14; + hit=9; ACE_caliber=0.308; ACE_bulletLength=1.14; ACE_bulletMass=146; @@ -180,6 +180,22 @@ class CfgAmmo { ACE_muzzleVelocities[]={750, 780, 790, 794}; ACE_barrelLengths[]={16, 20, 24, 26}; }; + class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { + airFriction=-0.0014; + caliber=0.85; + hit=14; + typicalSpeed=890; + ACE_caliber=0.308; + ACE_bulletLength=1.24; + ACE_bulletMass=130; + ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; + ACE_ballisticCoefficients[]={0.277}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=1; + ACE_muzzleVelocities[]={838, 892, 910}; + ACE_barrelLengths[]={13, 16, 20}; + }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -234,7 +250,7 @@ class CfgAmmo { class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; caliber=0.5; - hit=16; + hit=6; typicalSpeed=790; ACE_caliber=0.308; ACE_bulletLength=1.340; diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index 7a97b3609e..ef36fcca78 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -117,12 +117,21 @@ class CfgMagazines { class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x51_Ball_M118LR"; - count=10; + count = 10; displayName = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Name"; displayNameShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort"; descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description"; initSpeed = 780; }; + class ACE_10Rnd_762x51_Mk319_Mod_0_Mag: 10Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Mk319_Mod_0"; + count = 10; + displayName = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Description"; + initSpeed = 900; + }; class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x51_Ball_M118LR"; @@ -131,6 +140,14 @@ class CfgMagazines { descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description"; initSpeed = 780; }; + class ACE_20Rnd_762x51_Mk319_Mod_0_Mag: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_762x51_Ball_Mk319_Mod_0"; + displayName = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Name"; + displayNameShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_NameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Description"; + initSpeed = 900; + }; class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x67_Ball_Mk248_Mod_0"; diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index 9dd4a7083d..f992f8cc8b 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -35,6 +35,8 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); @@ -46,7 +48,9 @@ class CfgVehicles { class Box_NATO_Support_F: NATO_Box_Base { class TransportMagazines { MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); - MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,6); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3); MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); @@ -62,6 +66,8 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); }; }; @@ -157,7 +163,10 @@ class CfgVehicles { class ACE_Box_Misc: Box_NATO_Support_F { class TransportMagazines { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4); + MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_1_Mag,4); diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index add91d0fa2..dad5356755 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -503,6 +503,7 @@ class CfgWeapons { "20Rnd_762x51_Mag", "ACE_20Rnd_762x51_Mag_Tracer_Dim", "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9724; @@ -550,6 +551,7 @@ class CfgWeapons { "20Rnd_762x51_Mag", "ACE_20Rnd_762x51_Mag_Tracer_Dim", "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9843; @@ -571,6 +573,7 @@ class CfgWeapons { "20Rnd_762x51_Mag", "ACE_20Rnd_762x51_Mag_Tracer_Dim", "ACE_20Rnd_762x51_M118LR_Mag", + "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9916; diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 0b39dcb9d3..4786555236 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -650,8 +650,8 @@ Magazynek 5,56mm 30rd Mk262 - 5.56mm (Mk262) - 5,56mm (Mk262) + 5.56mm Mk262 + 5,56mm Mk262 Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 @@ -662,8 +662,8 @@ Magazynek 5,56mm 30rd Mk318 - 5.56mm (Mk318) - 5,56mm (Mk318) + 5.56mm Mk318 + 5,56mm Mk318 Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 @@ -674,8 +674,8 @@ Magazynek 7,62mm 10rd (M118LR) - 7.62mm (M118LR) - 7,62mm (M118LR) + 7.62mm M118LR + 7,62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 @@ -686,13 +686,37 @@ Magazynek 7,62mm 20rd (M118LR) - 7.62mm (M118LR) - 7,62mm (M118LR) + 7.62mm M118LR + 7,62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 + + 7.62mm 10Rnd Mag (Mk319 Mod 0) + Magazynek 7,62mm 10rd (Mk319 Mod 0) + + + 7.62mm Mk319 + 7,62mm Mk319 + + + Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 + Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10 + + + 7.62mm 20Rnd Mag (Mk319 Mod 0) + Magazynek 7,62mm 20rd (Mk319 Mod 0) + + + 7.62mm Mk319 + 7,62mm Mk319 + + + Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20 + 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) From e54d8dc827f05362d3b25b34a56ea48c97bd0355 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 12:55:16 -0500 Subject: [PATCH 160/247] ProgressBar - Fixed Alignment --- addons/common/ProgressScreen.hpp | 135 ++++++++++---------- addons/common/functions/fnc_progressBar.sqf | 19 +-- 2 files changed, 76 insertions(+), 78 deletions(-) diff --git a/addons/common/ProgressScreen.hpp b/addons/common/ProgressScreen.hpp index 751d48af9f..df07e5ca2f 100644 --- a/addons/common/ProgressScreen.hpp +++ b/addons/common/ProgressScreen.hpp @@ -1,77 +1,74 @@ - class GVAR(ProgressBar_Dialog) { - idd = -1; - movingEnable = false; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];); - objects[] = {}; + idd = -1; + movingEnable = false; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];); + objects[] = {}; - class controlsBackground { - class Background { - idc = -1; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0.0}; - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; + class controlsBackground { + class Background { + idc = -1; + moving = 0; + font = "TahomaB"; + text = ""; + sizeEx = 0; + lineSpacing = 0; + access = 0; + type = 0; + style = 0; + size = 1; + colorBackground[] = {0, 0, 0, 0.0}; + colorText[] = {0, 0, 0, 0}; + x = "safezoneX"; + y = "safezoneY"; + w = "safezoneW"; + h = "safezoneH"; + }; + class Progress: ACE_gui_RscProgress { + idc = 1; + x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "37.8 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = ".8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorFrame[] = {0,0,0,0.0}; + colorBar[] = {0.27,0.5,0.31,0.8}; + texture = "#(argb,8,8,3)color(1,1,1,0.7)"; + }; + class Title_Bar : ACE_gui_staticBase { + idc = 2; + style = 0x22; + colorBackground[] = {0, 0, 0, 0}; + colorText[] = {1, 1, 1, 1}; + x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; }; - - class Progress: ACE_gui_RscProgress { - idc = 1; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = ".8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorFrame[] = {0,0,0,0.0}; - colorBar[] = {0.27,0.5,0.31,0.8}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - }; - - class Title_Bar : ACE_gui_staticBase { - idc = 2; - style = 0x22; - colorBackground[] = {0, 0, 0, 0}; - colorText[] = {1, 1, 1, 1}; - x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - }; }; class GVAR(DisableMouse_Dialog) { - idd = -1; - movingEnable = false; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];); - objects[] = {}; - class controlsBackground { - class Background { - idc = -1; - moving = 0; - font = "TahomaB"; - text = ""; - sizeEx = 0; - lineSpacing = 0; - access = 0; - type = 0; - style = 0; - size = 1; - colorBackground[] = {0, 0, 0, 0};//0.5 - colorText[] = {0, 0, 0, 0}; - x = "safezoneX"; - y = "safezoneY"; - w = "safezoneW"; - h = "safezoneH"; + idd = -1; + movingEnable = false; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];); + objects[] = {}; + class controlsBackground { + class Background { + idc = -1; + moving = 0; + font = "TahomaB"; + text = ""; + sizeEx = 0; + lineSpacing = 0; + access = 0; + type = 0; + style = 0; + size = 1; + colorBackground[] = {0, 0, 0, 0};//0.5 + colorText[] = {0, 0, 0, 0}; + x = "safezoneX"; + y = "safezoneY"; + w = "safezoneW"; + h = "safezoneH"; + }; }; - }; }; diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 3191a57d72..03c56398c4 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -26,7 +26,7 @@ PARAMS_4(_totalTime,_args,_onFinish,_onFail); DEFAULT_PARAM(4,_localizedTitle,""); DEFAULT_PARAM(5,_condition,{true}); DEFAULT_PARAM(6,_exceptions,[]); -private ["_player", "_perFrameFunction"]; +private ["_player", "_perFrameFunction", "_ctrlPos"]; _player = ACE_player; @@ -35,14 +35,15 @@ closeDialog 0; createDialog QGVAR(ProgressBar_Dialog); (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetText _localizedTitle; -if (GVAR(SettingProgressBarLocation) == 1) then { - private "_ctrlPos"; - _ctrlPos = [1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2), 29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2), 38 * (((safezoneW / safezoneH) min 1.2) / 40), 0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)]; - (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; - (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; - (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; - (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; -}; +//Adjust position based on user setting: +_ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)); +_ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))]; +(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; +_ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBar)); +_ctrlPos set [1, ((0.1 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))]; +(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; _perFrameFunction = { From 1a117a58932989057b63994d8b7e3406467f7748 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 11:04:37 -0700 Subject: [PATCH 161/247] AMG documentation update. --- .../framework/advanced-missile-guidance.md | 101 +++++++++++++++++- 1 file changed, 99 insertions(+), 2 deletions(-) diff --git a/documentation/framework/advanced-missile-guidance.md b/documentation/framework/advanced-missile-guidance.md index e67bfbe0f3..3029b7b3bd 100644 --- a/documentation/framework/advanced-missile-guidance.md +++ b/documentation/framework/advanced-missile-guidance.md @@ -6,5 +6,102 @@ order: 5 parent: wiki --- -## 1. Overview -Blah blah blah \ No newline at end of file +# 1. Overview + +The ACE Advanced Missile Guidance Framework provides a setup of configuration settings, functions and a execution framework for addon makers to integrate with the missile guidance and targeting mechanisms of ACE. It also provides for mod makers to create their own custom guidance methods within the framework. + +The framework provides all the functionality needed for guidance; from laser locking, target specification and selection, to handling the fired events and tracking and steering the vehicle based on provided parameters. This way, all that needs to be defined in addons is the appropriate CfgAmmo entries for the missile. + +The framework also provides addon makers and scripters with the ability to configure custom seeker types and attack profiles, which are defined below. This allows for complete control of the guidance, locking and flight of a missile at the discretion of the addon maker. + +ACE3 provides a full suite of base concepts and guidance for the majority of modern missile weaponry avialable today; these includes all basic types of seekers (SALH/SACLOS/Optic/Thermal/etc) - as well as the different common attack profiles utilized with guided munitions (such as top-down attacks). + +Finally, flight profiles and mechanics for realistic missile simulations are also implemented; allowing for lock-steering bump guidance flight such as with the M47 Dragon or GBU steering fins, or finely tuned direct flight guidance which is currently avialable with other missile types. + +# 2. Details + +The framework is broken up into 3 major components: Locking Types, Seeker Types and Attack Profiles. In combination, these components build out the entire process of launching, locking and going terminal flight against targets. + +### Components + +##### 1. Locking Types +Locking types provide the basic functionality of targeting which will be based to a seeker type, providing target aquisition for seekers. This provides the basic functionality for providing pre-determined targets for a seeker, or allowing the seeker to perform its own target aquisition and locking. Additionally, the seeker may reference back into the locking type in order to re-perform target aquisition. + +##### 2. Seeker Types +Each seeker is generally assumed to be the logic for the seeker head unit within any given munition. Seekers within this framework provide the basic targeting functionality for the entire framework. The locking type will provide a generic target to the seeker, or the seeker may aquire a target on its own. The seeker then provides a target, either an object or a ASL position, which is then passed further into the framework. This target (or position) should be the actual current target position for the missiles flight. Seekers are required to perform all limitations and checks within their systems, although various limitations have been provided in this framework such as LOS FOV, laser guidance, etc. + +##### 3. Attack Profiles + +An attack profile adjusts the current target flight location to create the actual flight path of the missile. The attack profile is provided with all parameters of the system, including the returned target of the seeker. Using this information, the attack profile then will adjust the *direct flight target position* to specifically direct where and how the missile shall flight. + +## How it all ties together + +The system is executed in a linear series of calls to each step of the process, and feeding back the return from that step to the next step. Execution is conducted using Locking->Seeker->Profile, iteratively every frame of execution. Flight times are adjusted to accTime values and FPS lag, giving consistent flight. + +On each step of execution, a target specification array [targetObj, targetPos] is passed to the locking type, which then will return a possible modified target array. Next, this modified data is passed to the seeker type - which then, in turn, returns a position vector to the current "seeked" target position (ASL). Last, this target position is passed to the attack profile, who then returns an "adjusted attack position (ASL)", which is the location the missile should *currently* be homing on for flight. + +In the simplest sense, the entire system provides the flight trajectory of the missile homing directly on the "adjusted attack position"; thus, an attack profile would ajust this position to direct the missile. For example, Top down attacks return the adjusted attack position high above the target, until entering their terminal stages, which then changes the position to be directly ontop of the target - thus "walking the missile" along its flight path and to the kill. + +# 2. Adding AMG to a missile + +## Enabling guidance on Ammo Types +``` +class CfgAmmo { + class MissileBase; + class MyMissileType : MissileBase { + // Turn off arma crosshair-guidance + manualControl = 0; + + // Begin ACE guidance Configs + class ace_missileguidance { + enabled = 1; + + minDeflection = 0.00025; // Minium flap deflection for guidance + maxDeflection = 0.001; // Maximum flap deflection for guidance + incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet modes. All 'recruit' games use vanilla locking + + // Seeker type and settings for munitions + defaultSeekerType = "SALH"; + seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + seekerAngle = 90; // Angle in front of the missile which can be searched + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 1; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = { "LIN", "DIR", "MID", "HI" }; + }; +``` + +# 2. Creating your own custom seekers and attack profiles + +## Adding seeker types and attack profiles + +``` +class ace_missileguidance_attackProfiles{ + class MyAttackProfile { + name = ""; + visualName = ""; + description = ""; + + functionName = "my_fnc_doAttackProfile"; + }; +}; +class ace_missileguidance_seekerTypes { + class MySeekerType { + name = ""; + visualName = ""; + description = ""; + + functionName = "my_fnc_doSeekerType"; + }; +}; +``` \ No newline at end of file From bc5b9bdfe90ec202de318099019fa5d9ea90e724 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 20:11:08 +0200 Subject: [PATCH 162/247] French : update / fix strintable --- addons/interaction/stringtable.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 680c0409c1..0c10336309 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -33,6 +33,7 @@ Left Arm + Bras gauche Linker Arm Brazo izquierdo Levá paže @@ -194,7 +195,7 @@ Asumir el liderazgo Przejmij dowodzenie Stát se velitelem - Devenir Leader + Devenir Chef de groupe Стать лидером Vezetés átvétele Tornar-se Líder @@ -564,7 +565,7 @@ Join Team<br/>Green Team Grün<br/>beitreten Unirse al<br/>equipo verde - Rejoindre<br/>Verte + Rejoindre<br/>Vert Dołącz do<br/>drużyny zielonej Připojit do<br/>Zeleného týmu Присоединиться<br/>к зеленой группе @@ -576,7 +577,7 @@ Join Team<br/>Blue Team Blau<br/>beitreten Unirse al<br/>equipo azul - Rejoindre<br/>Bleue + Rejoindre<br/>Bleu Dołącz do<br/>drużyny niebieskiej Připojit do<br/>Modrého týmu Присоединиться<br/>к синей группе From 3a062a4ff93cd6a5391505438e6287e0ce7db49d Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 20:33:11 +0200 Subject: [PATCH 163/247] Fixed incorrect Mk319 Mod 0 BC/airFriction --- addons/atragmx/XEH_postInit.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 61bbf8b845..664bc76ba4 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -12,7 +12,7 @@ if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then { ["10.4x77mm" , 910, 100, 0.0572, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ], ["9.3×64mm" , 870, 100, 0.0632, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ], ["8.6×70mm" , 915, 100, 0.0572, -0.0006100, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"], - ["7.62x51mm" , 850, 100, 0.0639, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"], + ["7.62x51mm" , 820, 100, 0.0639, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"], ["6.5x39mm" , 800, 100, 0.0689, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless" , "30Rnd_65x39_caseless_mag" , 0.263, 1, "ICAO"], ["5.56x45mm" , 920, 100, 0.0584, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ], ["5.56x45mm Mk262" , 850, 100, 0.0643, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "ACE_556x45_Ball_Mk262" , "ACE_30Rnd_556x45_Stanag_Mk262_mag", 0.361, 1, "ASM" ]]; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index a0fa47c452..dfcd18aa52 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -181,7 +181,7 @@ class CfgAmmo { ACE_barrelLengths[]={16, 20, 24, 26}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { - airFriction=-0.0014; + airFriction=-0.00103; caliber=0.85; hit=14; typicalSpeed=890; @@ -189,7 +189,7 @@ class CfgAmmo { ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; - ACE_ballisticCoefficients[]={0.277}; + ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; From d68cc8f40e86e04996cc9977f677aca6e56fe0da Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 20:50:03 +0200 Subject: [PATCH 164/247] sync rallypoint marker on jip --- addons/respawn/CfgEventHandlers.hpp | 16 +++++----- .../respawn/functions/fnc_initRallypoint.sqf | 30 +++++++++++-------- .../respawn/functions/fnc_moveRallypoint.sqf | 2 +- .../functions/fnc_updateRallypoint.sqf | 5 ++-- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/addons/respawn/CfgEventHandlers.hpp b/addons/respawn/CfgEventHandlers.hpp index 46ebd08657..00b6f01cea 100644 --- a/addons/respawn/CfgEventHandlers.hpp +++ b/addons/respawn/CfgEventHandlers.hpp @@ -30,45 +30,43 @@ class Extended_Respawn_EventHandlers { class Extended_Init_EventHandlers { class ACE_Rallypoint_West { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_2(_this select 0,'')] call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_3(_this select 0,'',west)] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_East { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_2(_this select 0,'')] call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_3(_this select 0,'',east)] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_Independent { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_2(_this select 0,'')] call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_3(_this select 0,'',independent)] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_West_Base { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_2(_this select 0,'respawn_west')] call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; [ARR_3(_this select 0,'respawn_west',west)] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_East_Base { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_2(_this select 0,'respawn_east')] call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; [ARR_3(_this select 0,'respawn_east',east)] call FUNC(initRallypoint)); }; }; class ACE_Rallypoint_Independent_Base { class ADDON { - init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_2(_this select 0,'respawn_guerrila')] call FUNC(initRallypoint)); + init = QUOTE((_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; [ARR_3(_this select 0,'respawn_guerrila',independent)] call FUNC(initRallypoint)); //respawn_civilian }; }; - - //respawn_civilian }; -// auto assign rallypoint leader class Extended_InitPost_EventHandlers { + // auto assign rallypoint leader class CAManBase { class ADDON { serverInit = QUOTE(_this call FUNC(handleInitPostServer)); diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index 81058614ed..44671b7c45 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -27,25 +27,31 @@ _name = typeOf _rallypoint; // init visible marker if (hasInterface) then { - private ["_marker", "_type"]; + // fix init having wrong position, vars etc. + [_rallypoint, _respawnMarker, _side, _name] spawn { + _rallypoint = _this select 0; + _respawnMarker = _this select 1; + _side = _this select 2; + _name = _this select 3; - _marker = format ["ACE_Marker_%1", _name]; + _marker = format ["ACE_Marker_%1", _name]; - // exit if it already exist - if (_marker in allMapMarkers) exitWith {}; + // exit if it already exist + if (_marker in allMapMarkers) exitWith {}; - _marker = createMarkerLocal [_marker, getPosASL _rallypoint]; - _type = ["selector_selectedFriendly", "selector_selectedEnemy"] select (_respawnMarker == ""); + _marker = createMarkerLocal [_marker, getPosASL _rallypoint]; + _type = ["selector_selectedFriendly", "selector_selectedEnemy"] select (_respawnMarker == ""); - _marker setMarkerTypeLocal _type; - _marker setMarkerAlphaLocal ([0,1] select (_side == playerSide)); // playerSide to guarantee init + _marker setMarkerTypeLocal _type; + _marker setMarkerAlphaLocal ([0,1] select (_side == playerSide)); // playerSide to guarantee init - private "_markerDate"; - _markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; + private "_markerDate"; + _markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; - _marker setMarkerTextLocal _markerDate; + _marker setMarkerTextLocal _markerDate; - _rallypoint setVariable [QGVAR(marker), _marker]; + _rallypoint setVariable [QGVAR(marker), _marker]; + }; }; if (!isServer) exitWith {}; diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index 2b008bf122..62d2742ef9 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -46,7 +46,7 @@ _this spawn { _rallypoint setVariable [QGVAR(markerDate), format ["%1:%2", date select 3, date select 4], true]; - ["rallypointMoved", [_rallypoint, _side]] call EFUNC(common,globalEvent); + ["rallypointMoved", [_rallypoint, _side, _position]] call EFUNC(common,globalEvent); [localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured); }; diff --git a/addons/respawn/functions/fnc_updateRallypoint.sqf b/addons/respawn/functions/fnc_updateRallypoint.sqf index 2510a58a30..248955155a 100644 --- a/addons/respawn/functions/fnc_updateRallypoint.sqf +++ b/addons/respawn/functions/fnc_updateRallypoint.sqf @@ -1,10 +1,11 @@ // by commy2 #include "script_component.hpp" -private ["_rallypoint", "_side"]; +private ["_rallypoint", "_side", "_position"]; _rallypoint = _this select 0; _side = _this select 1; +_position = _this select 2; if (!hasInterface) exitWith {}; @@ -13,5 +14,5 @@ private ["_marker", "_markerDate"]; _marker = _rallypoint getVariable [QGVAR(marker), ""]; _markerDate = _rallypoint getVariable [QGVAR(markerDate), ""]; -_marker setMarkerPosLocal getPosASL _rallypoint; +_marker setMarkerPosLocal _position; _marker setMarkerTextLocal _markerDate; From fa14befe63774c4e2e6d16b6b85cc299e02f8f27 Mon Sep 17 00:00:00 2001 From: Clon1998 Date: Wed, 15 Apr 2015 20:51:29 +0200 Subject: [PATCH 165/247] Update AUTHORS.txt Added my self to the # CONTRIBUTORS --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index e2930ee461..fa47b6a427 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -33,6 +33,7 @@ Aggr094 Anthariel BlackQwar Brakoviejo +Clon1998 Codingboy Crusty eRazeri From 550c32e801ff7e2a0483db52ddcad052ccd4d1ef Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 20:53:41 +0200 Subject: [PATCH 166/247] French : update stringtable --- addons/ballistics/stringtable.xml | 88 ++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 4786555236..d47bec4c63 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -443,360 +443,444 @@ .338 NM 130Rnd Tracer Belt .338 NM 130-Schuss-Gurt Leuchtspur Taśma .338 NM 130rd Smugacz + Bande .338 NM 130Cps Traçante .338 NM Tracer .338 NM Leuchtspur .338 NM Tracer .338 NM Svítící + .338 NM Traçante Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG + Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG .338 NM 130Rnd IR-DIM Belt .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM Taśma .338 NM 130rd IR-DIM + Bande .338 NM 130Cps IR-DIM .338 NM IR-DIM .338 LM IR-DIM .338 NM IR-DIM .338 NM IR-DIM + .338 NM IR-DIM Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG + Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG .338 NM 130Rnd AP Belt .338 NM 130-Schuss-Gurt Hartkern Taśma .338 NM 130rd AP + Bande .338 NM 130Cps AP .338 NM AP .338 NM AP .338 NM AP .338 NM AP + .338 NM AP Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Hartkern<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG + Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG 9.3mm 10Rnd Tracer Mag 9,3mm 10-Schuss-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz + Chargeur 9.3mm 10Cps Traçante 9.3mm Tracer 9,3mm Leuchtspur 9,3mm Smugacz 9.3mm Svítící + 9.3mm Traçante Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag 9,3mm 10-Schuss-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM + Chargeur 9.3mm 10Cps Traçante IR-DIM 9.3mm IR-DIM 9,3mm IR-DIM 9,3mm IR-DIM 9.3mm IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus 9.3mm 10Rnd AP Mag 9,3mm 10-Schuss-Magazin Hartkern Magazynek 9,3mm 10rd AP + Chargeur 9.3mm 10Cps AP 9.3mm AP 9,3mm AP 9,3mm AP 9.3mm AP + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Hartkern<br />Schuss: 10<br />Verwendet für: Cyrus Kaliber: 9,3x64 mm AP<br />Pociski: 10<br />Używany w: Cyrus + Calibre: 9.3x64mm AP<br />Cartouches: 10<br />Utilisé dans: Cyrus 9.3mm 150Rnd Tracer Belt 9,3mm 150-Schuss-Gurt Leuchtspur Taśma 9,3mm 150rd Smugacz + Bande 9.3mm 150Cps Traçante 9.3mm Tracer 9,3mm Leuchtspur 9,3mm Smugacz 9.3mm Svítící + 9.3mm Traçante Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid 9.3mm 150Rnd Tracer IR-DIM Belt 9,3mm 150-Schuss-Gurt Leuchtspur IR-DIM Taśma 9,3mm 150rd Smugacz IR-DIM + Bande 9.3mm 150Cps Traçante IR-DIM 9.3mm IR-DIM 9,3mm IR-DIM 9,3mm IR-DIM 9.3mm IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 150<br />Verwendet für: Navid Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid 9.3mm 150Rnd AP Belt 9,3mm 150-Schuss-Gurt Hartkern Taśma 9,3mm 150rd AP + Bande 9.3mm 150Cps AP 9.3mm AP 9,3mm AP 9,3mm AP 9.3mm AP + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Schuss: 150<br />Verwendet für: Navid Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid + Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid 9x19mm 16Rnd Mag Magazynek 9x19mm 16rd + Chargeur 9x19mm 16Cps 9x19mm 9x19mm + 9x19mm - 9x19mm 16Rnd Mag + 9x19mm 30Rnd Mag Magazynek 9x19mm 16rd + 9x19mm 30Cps 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd + 9x19mm 30Cps 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd + 9x19mm 30Cps 7.62x54mm 10Rnd Tracer IR-DIM Mag Magazynek 7,62x54 mm 10rd Smugacz IR-DIM + Chargeur 7.62x54mm 10Rnd Traçante IR-DIM 7.62mm IR-DIM 7,62mm IR-DIM + 7.62mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag Magazynek 7,62x54 mm 10rd Smugacz IR-DIM + Chargeur 7.62x54mm 10Cps Traçante IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM + Chargeur 6.5mm 100Rnd Traçante IR-DIM 6.5mm IR-DIM 6,5mm IR-DIM + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM + Chargeur 6.5mm 100Rnd Traçante IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM + Bande 6.5mm 200Rnd Traçante IR-DIM 6.5mm IR-DIM 6,5mm IR-DIM + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM + Bande 6.5mm 200Cps Traçante IR-DIM 5.56mm 30Rnd Mag (Mk262) Magazynek 5,56mm 30rd Mk262 + 5.56mm 30Cps (Mk262) 5.56mm Mk262 5,56mm Mk262 + 5.56mm Mk262 Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30 + Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd Mk318 + 5.56mm 30Cps (Mk318) 5.56mm Mk318 5,56mm Mk318 + 5.56mm Mk318 Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30 + Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) + 7.62mm 10Cps (M118LR) 7.62mm M118LR 7,62mm M118LR + 7.62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10 + Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) + 7.62mm 20Cps (M118LR) 7.62mm M118LR 7,62mm M118LR + 7.62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 + Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) + 7.62mm 10Cps (Mk319 Mod 0) 7.62mm Mk319 7,62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10 + Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) + 7.62mm 20Cps (Mk319 Mod 0) 7.62mm Mk319 7,62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20 + Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) + 7.62mm 20Cps (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7,62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 - Kaliber: 7,62x51 mm NATO (Mk248 Mod 0)<br />Pociski: 20 + Kaliber: 7,62x67 mm NATO (Mk248 Mod 0)<br />Pociski: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) + 7.62mm 20Cps (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7,62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) + 7.62 20Cps (Berger Hybrid OTM) 7.62mm (OTM) 7,62mm (OTM) + 7.62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 + Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) + 6.5x47mm 30Cps (HPBT Scenar) 6.5mm Scenar + 6.5mm Scenar Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30 + Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 .338 10Rnd Mag (300gr Sierra MatchKing HPBT) + .338 10 Cps (300gr Sierra MatchKing HPBT) .338 (HPBT) + .338 (HPBT) Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 + Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10 .338 10Rnd Mag (API526) + .338 10Cps (API526) .338 AP + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 + Calibre: 8.6x70mm (API526)<br />Cartouches: 10 12.7x99mm 5Rnd Mag + 12.7x99mm 5Cps 12.7mm + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 + Calibre: 12.7x99mm<br />Cartouches: 5 12.7x99mm 5Rnd Mag (AMAX) + 12.7x99mm 5Rnd Mag (AMAX) 12.7mm + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 + Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5 From 5bcb0ec4930cf08f0d9bfeb3e4874edfc1dccadf Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 12:09:47 -0700 Subject: [PATCH 167/247] Forgot to set terminal on short-range attacks. Fixes #630 --- .../functions/fnc_attackProfile_JAV_TOP.sqf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf index fd86c2bf03..6b15a3e20a 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf @@ -48,9 +48,12 @@ switch( (_state select 0) ) do { _cruisAlt = 140 * (_distanceShooterToTarget/1250); TRACE_1("_cruisAlt", _cruisAlt); }; - if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then { - _state set[0, STAGE_COAST]; + if(_cruisAlt < 140) then { + _state set[0, STAGE_TERMINAL]; + } else { + _state set[0, STAGE_COAST]; + }; } else { _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2]; }; From c0dbf10971277d1ced73550ba1df852622f11b4f Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 21:14:00 +0200 Subject: [PATCH 168/247] French : update stringtable --- addons/kestrel4500/stringtable.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 3a0e18b9e5..bd9133f625 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -18,32 +18,38 @@ Kestrel 4500 Pocket Weather Tracker Anemomentr skrzydełkowy Kestrel 4500 Карманная метеостанция Kestrel 4500NV + Station météo portable Kestrel 4500 Open Kestrel 4500 Otwórz Kestrel 4500 Kestrel 4500 elővétele Открыть Kestrel 4500NV + Ouvrir Kestrel 4500 Show Kestrel 4500 Pokaż Kestrel 4500 Показать Kestrel 4500NV + Afficher Kestrel 4500 Hide Kestrel 4500 Ukryj Kestrel 4500 Убрать Kestrel 4500NV + Cacher Kestrel 4500 Open Kestrel 4500 Otwórz Kestrel 4500 Открыть Kestrel 4500NV + Ouvrir Kestrel 4500 Show Kestrel 4500 Pokaż Kestrel 4500 Показать Kestrel 4500NV + Afficher Kestrel 4500 From df61f5c995df9227e4be9ad3150dda395b44e9ae Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 21:15:57 +0200 Subject: [PATCH 169/247] French : update stringtable --- addons/interact_menu/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 8960f99e60..4a763e4fa9 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -15,6 +15,7 @@ Display interaction menus as lists Mostrar los menus de interacción como listas Показывать меню взаимодействия в виде списка + Afficher le menu d'interaction au format liste Interact Key From 56f6c60e1af394dfeb3b51c22f151ccb91964d6f Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 21:17:35 +0200 Subject: [PATCH 170/247] French : update stringtable --- addons/weather/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 85b1e96383..46a0653269 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -6,6 +6,7 @@ Show Wind Info Pokaż inf. o wietrze Показать информацию о погоде + Afficher information du vent From 18c65108c3421e23ef96caec1d0e160937cd95ff Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 21:24:24 +0200 Subject: [PATCH 171/247] French : update stringtable --- addons/laserpointer/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index eb328e5997..cf4dd742b0 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -48,18 +48,21 @@ Laser Laser Лазер + Laser IR Laser IR-Laser Laser IR ИК-лазер + Laser IR Switch Laser / IR Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR Изменить режим Лазер / ИК-лазер + Changer Laser / Laser IR From 10cf02e8569dc4305daa7aca8b496198b82f3534 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 15 Apr 2015 12:25:57 -0700 Subject: [PATCH 172/247] Slower climb phase.Refs #630 --- .../missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf | 4 ++-- .../missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf index 822afd7f1b..ecb469527a 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf @@ -48,12 +48,12 @@ switch( (_state select 0) ) do { if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then { _state set[0, STAGE_TERMINAL]; } else { - _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2]; + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*1.5]; }; }; case STAGE_TERMINAL: { TRACE_1("STAGE_TERMINAL",""); - //_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02]; + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.002]; }; }; diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf index 6b15a3e20a..c5933e6df9 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf @@ -55,7 +55,7 @@ switch( (_state select 0) ) do { _state set[0, STAGE_COAST]; }; } else { - _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2]; + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*1.5]; }; }; case STAGE_COAST: { @@ -70,6 +70,7 @@ switch( (_state select 0) ) do { case STAGE_TERMINAL: { TRACE_1("STAGE_TERMINAL",""); //_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02]; + _returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.002]; }; }; From 5a7ad8217064ab3333c49f918668ac646972fb3a Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 15 Apr 2015 21:26:12 +0200 Subject: [PATCH 173/247] French : update stringtable --- addons/advanced_ballistics/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index b0a6e97f34..badba32960 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -7,12 +7,14 @@ Pokaż inf. o wietrze Mostra indicazioni del vento Показать информацию о ветре + Afficher les info du vent Show Protractor Pokaż kątomierz Mostra il rapportatore Показать транспортир + Afficher le rapporteur From 6f6d080dbdea800fc81015978669acb2841ddcfa Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 15 Apr 2015 22:16:54 +0200 Subject: [PATCH 174/247] port inject sound --- addons/medical/sounds/Inject.ogg | Bin 0 -> 30817 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 addons/medical/sounds/Inject.ogg diff --git a/addons/medical/sounds/Inject.ogg b/addons/medical/sounds/Inject.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8418078e0f65f738b3bc5ded07cb9b17e8711ced GIT binary patch literal 30817 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 Date: Wed, 15 Apr 2015 22:19:43 +0200 Subject: [PATCH 175/247] port alternative wirecutter sound --- addons/logistics_wirecutter/sound/wirecut.ogg | Bin 0 -> 5488 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 addons/logistics_wirecutter/sound/wirecut.ogg diff --git a/addons/logistics_wirecutter/sound/wirecut.ogg b/addons/logistics_wirecutter/sound/wirecut.ogg new file mode 100644 index 0000000000000000000000000000000000000000..902488c1df6ea5076598a31c3df9f62a78975eaa GIT binary patch literal 5488 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 cYzesuCH3||T6!)NJ>g{vy+kF<6B=3mFW Date: Wed, 15 Apr 2015 22:49:47 +0200 Subject: [PATCH 176/247] Polished the ammo classes some more --- addons/ballistics/CfgAmmo.hpp | 127 +++++++++++++++++----------------- 1 file changed, 62 insertions(+), 65 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index dfcd18aa52..1a783de813 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -85,7 +85,7 @@ class CfgAmmo { ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ASM"; + ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; ACE_barrelLengths[]={10, 16.3, 20}; @@ -103,13 +103,13 @@ class CfgAmmo { ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ASM"; + ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; ACE_barrelLengths[]={10, 16.3, 20}; }; class B_65x39_Caseless : BulletBase { - airFriction=-0.000772; + airFriction=-0.000785; typicalSpeed=800; ACE_caliber=0.264; ACE_bulletLength=1.295; @@ -142,8 +142,8 @@ class CfgAmmo { ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; - ACE_muzzleVelocities[]={760, 790, 820, 830}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; + ACE_barrelLengths[]={10, 16, 20, 24, 26}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -173,10 +173,10 @@ class CfgAmmo { ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; - ACE_velocityBoundaries[]={853, 549, 549, 549}; + ACE_ballisticCoefficients[]={0.243}; + ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; - ACE_dragModel=1; + ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; ACE_barrelLengths[]={16, 20, 24, 26}; }; @@ -196,57 +196,6 @@ class CfgAmmo { ACE_muzzleVelocities[]={838, 892, 910}; ACE_barrelLengths[]={13, 16, 20}; }; - class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball - { - airFriction=-0.000830; - caliber=1.08; - hit=17; - typicalSpeed=900; - ACE_caliber=0.308; - ACE_bulletLength=1.353; - ACE_bulletMass=190; - ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.268}; - ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ICAO"; - ACE_dragModel=7; - ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; - }; - class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball - { - airFriction=-0.000815; - caliber=1.12; - hit=18; - typicalSpeed=867; - ACE_caliber=0.308; - ACE_bulletLength=1.489; - ACE_bulletMass=220; - ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.310}; - ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ICAO"; - ACE_dragModel=7; - ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; - }; - class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball - { - airFriction=-0.00076; - caliber=1.15; - hit=19; - typicalSpeed=853; - ACE_caliber=0.308; - ACE_bulletLength=1.602; - ACE_bulletMass=230; - ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.368}; - ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ICAO"; - ACE_dragModel=7; - ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; - }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; caliber=0.5; @@ -263,6 +212,54 @@ class CfgAmmo { ACE_muzzleVelocities[]={305, 325, 335, 340}; ACE_barrelLengths[]={16, 20, 24, 26}; }; + class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { + airFriction=-0.000830; + caliber=1.08; + hit=17; + typicalSpeed=900; + ACE_caliber=0.308; + ACE_bulletLength=1.353; + ACE_bulletMass=190; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.268}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={865, 900, 924}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { + airFriction=-0.000815; + caliber=1.12; + hit=18; + typicalSpeed=867; + ACE_caliber=0.308; + ACE_bulletLength=1.489; + ACE_bulletMass=220; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.310}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={847, 867, 877}; + ACE_barrelLengths[]={20, 24, 26}; + }; + class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { + airFriction=-0.00076; + caliber=1.15; + hit=19; + typicalSpeed=853; + ACE_caliber=0.308; + ACE_bulletLength=1.602; + ACE_bulletMass=230; + ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; + ACE_ballisticCoefficients[]={0.368}; + ACE_velocityBoundaries[]={}; + ACE_standardAtmosphere="ICAO"; + ACE_dragModel=7; + ACE_muzzleVelocities[]={800, 853, 884}; + ACE_barrelLengths[]={20, 24, 26}; + }; class B_762x54_Ball : BulletBase { airFriction=-0.001023; typicalSpeed=820; @@ -366,7 +363,7 @@ class CfgAmmo { ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ASM"; + ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; ACE_barrelLengths[]={4, 5, 9}; @@ -381,7 +378,7 @@ class CfgAmmo { ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ASM"; + ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; ACE_barrelLengths[]={3.8, 5, 9}; @@ -411,7 +408,7 @@ class CfgAmmo { ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; - ACE_standardAtmosphere="ASM"; + ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; ACE_barrelLengths[]={4, 4.61, 9}; @@ -488,7 +485,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class B_338_Ball : BulletBase { - airFriction=-0.00061 + airFriction=-0.000606 typicalSpeed=915; ACE_caliber=0.338; ACE_bulletLength=1.558; @@ -516,7 +513,7 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24, 26}; }; class ACE_338_Ball : B_338_Ball { - airFriction=-0.000526; + airFriction=-0.000535; caliber=1.55; typicalSpeed=826; ACE_caliber=0.338; @@ -531,7 +528,7 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24, 26.5, 28}; }; class ACE_338_Ball_API526 : B_338_Ball { - airFriction=-0.000526; + airFriction=-0.000673; caliber=2.4; typicalSpeed=826; ACE_caliber=0.338; From 25e1fd2df3ef15953ed9ccf5c51ccad5f46c0367 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 15 Apr 2015 22:50:04 +0200 Subject: [PATCH 177/247] Completely overworked the ATragMX gun list --- addons/atragmx/XEH_postInit.sqf | 42 +++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 664bc76ba4..9d769d84a3 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -6,16 +6,38 @@ if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then { GVAR(gunList) = profileNamespace getVariable "ACE_ATragMX_gunList"; } else { // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Elevation Scope Step, Windage Scope Step, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Ammo Class Name, Magazine Class Name, BC, Drag Model, Atmosphere Model - GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.630, 1, "ASM" ], - ["12.7x99mm" , 880, 100, 0.0607, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ], - ["12.7x54mm" , 290, 100, 0.3913, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 61.56, "B_127x54_Ball" , "10Rnd_127x54_Mag" , 1.050, 1, "ASM" ], - ["10.4x77mm" , 910, 100, 0.0572, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ], - ["9.3×64mm" , 870, 100, 0.0632, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ], - ["8.6×70mm" , 915, 100, 0.0572, -0.0006100, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"], - ["7.62x51mm" , 820, 100, 0.0639, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"], - ["6.5x39mm" , 800, 100, 0.0689, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless" , "30Rnd_65x39_caseless_mag" , 0.263, 1, "ICAO"], - ["5.56x45mm" , 920, 100, 0.0584, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ], - ["5.56x45mm Mk262" , 850, 100, 0.0643, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "ACE_556x45_Ball_Mk262" , "ACE_30Rnd_556x45_Stanag_Mk262_mag", 0.361, 1, "ASM" ]]; + GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.630, 1, "ASM" ], + + ["12.7x99mm AMAX" , 860, 100, 0.0612, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.60, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 1.050, 1, "ASM" ], + ["12.7x99mm" , 853, 100, 0.0623, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ], + + ["12.7x54mm" , 300, 100, 0.3394, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.60, "B_127x54_Ball" , "10Rnd_127x54_Mag" , 1.050, 1, "ASM" ], + + [".408 Chey Tac" , 910, 100, 0.0569, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ], + + ["9.3×64mm" , 870, 100, 0.0619, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 14.90, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ], + + [".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"], + [".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 0.338, 0.338, 120, 0, 0, 19.44, "ACE_338_Ball" , "ACE_10Rnd_338_300gr_HPBT_Mag" , 0.381, 7, "ICAO"], + [".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.39, "ACE_338_Ball_API526" , "ACE_10Rnd_338_API526_Mag" , 0.290, 7, "ICAO"], + + [".300WM Mk248 Mod 0", 900, 100, 0.0584, -0.0008300, 3.81, 0, 0.338, 0.338, 120, 0, 0, 13.31, "ACE_762x67_Ball_Mk248_Mod_0" , "ACE_20Rnd_762x67_Mk248_Mod_0_Mag" , 0.268, 7, "ICAO"], + [".300WM Mk248 Mod 1", 867, 100, 0.0611, -0.0008150, 3.81, 0, 0.338, 0.338, 120, 0, 0, 14.26, "ACE_762x67_Ball_Mk248_Mod_1" , "ACE_20Rnd_762x67_Mk248_Mod_1_Mag" , 0.310, 7, "ICAO"], + [".300WM Berger OTM" , 853, 100, 0.0622, -0.0007600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 14.90, "ACE_762x67_Ball_Berger_Hybrid_OTM", "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag", 0.368, 7, "ICAO"], + + ["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.849, "B_762x54_Ball" , "10Rnd_762x54_Mag" , 0.400, 1, "ICAO"], + + ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.525, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.200, 7, "ICAO"], + ["7.62x51mm M118LR" , 820, 100, 0.0662, -0.0008525, 3.81, 0, 0.338, 0.338, 120, 0, 0, 11.34, "ACE_762x51_Ball_M118LR" , "ACE_20Rnd_762x51_M118LR_Mag" , 0.243, 7, "ICAO"], + ["7.62x51mm Mk319" , 820, 100, 0.0670, -0.0010300, 3.81, 0, 0.338, 0.338, 120, 0, 0, 8.424, "ACE_762x51_Ball_Mk319_Mod_0" , "ACE_20Rnd_762x51_Mk319_Mod_0_Mag" , 0.377, 1, "ICAO"], + ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 0.338, 0.338, 120, 0, 0, 12.96, "ACE_762x51_Ball_Subsonic" , "ACE_20Rnd_762x51_Mag_SD" , 0.235, 7, "ICAO"], + + ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.970, "B_65x39_Caseless" , "30Rnd_65x39_caseless_mag" , 0.263, 7, "ICAO"], + ["6.5x47mm Lapua" , 800, 100, 0.0682, -0.0007710, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.007, "ACE_65x47_Ball_Scenar" , "ACE_30Rnd_65x47_Scenar_mag" , 0.290, 7, "ICAO"], + + ["5.56x45mm M855" , 870, 100, 0.0626, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.018, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.151, 7, "ASM" ], + ["5.56x45mm Mk262" , 820, 100, 0.0671, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "ACE_556x45_Ball_Mk262" , "ACE_30Rnd_556x45_Stanag_Mk262_mag" , 0.361, 1, "ASM" ], + ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.018, "ACE_556x45_Ball_Mk318" , "ACE_30Rnd_556x45_Stanag_Mk318_mag" , 0.307, 1, "ASM" ]]; profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; }; From dd09cc4d0691d2f9c53492c1d6c717a151ce3866 Mon Sep 17 00:00:00 2001 From: Tachii Date: Thu, 16 Apr 2015 00:57:15 +0300 Subject: [PATCH 178/247] Update fnc_createAction.sqf typo --- addons/interact_menu/functions/fnc_createAction.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_createAction.sqf b/addons/interact_menu/functions/fnc_createAction.sqf index 172bbea3a4..0b0030a1b4 100644 --- a/addons/interact_menu/functions/fnc_createAction.sqf +++ b/addons/interact_menu/functions/fnc_createAction.sqf @@ -19,7 +19,7 @@ * Action * * Example: - * [VulcanPinch","Vulcan Pinch","",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction; + * ["VulcanPinch","Vulcan Pinch","",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction; * * Public: No */ From 361efe41474cbe60a67389286a0c45acd6e06a4c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 17:03:59 -0500 Subject: [PATCH 179/247] Missing NoVoice words Protocol bin\config.bin/ACE_RadioProtocolNoRadio/: Missing word RallyUp / UnderFireE --- addons/common/CfgVoice.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/common/CfgVoice.hpp b/addons/common/CfgVoice.hpp index 9c53338e6e..1fb0f5d2b6 100644 --- a/addons/common/CfgVoice.hpp +++ b/addons/common/CfgVoice.hpp @@ -199,6 +199,8 @@ class ACE_RadioProtocolNoRadio: RadioProtocolBase { Ready[] = {}; Waiting[] = {}; StandingBy[] = {}; + RallyUp[] = {}; + UnderFireE[] = {}; /*IAmReady[] = {}; ReadyForOrders[] = {}; AwaitingOrders[] = {};*/ From c0c5af295799b8788c8cc5fee1b7bebf49da8993 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 17:07:06 -0500 Subject: [PATCH 180/247] ballistics - fix ubc --- addons/ballistics/CfgAmmo.hpp | 4 ++-- addons/ballistics/CfgMagazines.hpp | 2 +- addons/ballistics/CfgWeapons.hpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 1a783de813..d82f336952 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -260,7 +260,7 @@ class CfgAmmo { ACE_muzzleVelocities[]={800, 853, 884}; ACE_barrelLengths[]={20, 24, 26}; }; - class B_762x54_Ball : BulletBase { + class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; ACE_caliber=0.312; @@ -485,7 +485,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class B_338_Ball : BulletBase { - airFriction=-0.000606 + airFriction=-0.000606; typicalSpeed=915; ACE_caliber=0.338; ACE_bulletLength=1.558; diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index ef36fcca78..9ce3ad3eb0 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -244,7 +244,7 @@ class CfgMagazines { initSpeed = 250; }; - class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: CA_Magazine { + class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: 30Rnd_45ACP_Mag_SMG_01 { initSpeed = 250; }; diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index dad5356755..26b07303c0 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -422,7 +422,7 @@ class CfgWeapons { ACE_barrelTwist=7; ACE_barrelLength=18.1; }; - class arifle_TRG21_GL_F: Tavor_base_F { + class arifle_TRG21_GL_F: arifle_TRG21_F { magazines[] = { "30Rnd_556x45_Stanag", "30Rnd_556x45_Stanag_Tracer_Red", From 0076be6a86e3890e0315c31a7d0a849d34dd1502 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 17:08:35 -0500 Subject: [PATCH 181/247] Fix stringtables --- addons/captives/stringtable.xml | 2 +- addons/medical/stringtable.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 54e5b26554..fec8e703b1 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -130,7 +130,7 @@ Motozás Обыскать человека Revistar - Perquisisci la persona/Italian> + Perquisisci la persona Surrender diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index d6b277463e..c9043b5b09 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1416,7 +1416,7 @@ Déposer Elengedés Largar - + Rrilascia Load Patient Into From 0f4b7d0977f5d738f1e4fcc35aa1acadfbecdb70 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 16 Apr 2015 00:14:05 +0200 Subject: [PATCH 182/247] fixes #347 Please?? --- addons/medical/functions/fnc_treatmentTourniquet.sqf | 2 +- addons/medical/functions/fnc_treatmentTourniquetLocal.sqf | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index cff9458426..da50c5c1bf 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -40,7 +40,7 @@ if ((_tourniquets select _part) > 0) exitwith { }; _removeItem = _items select 0; -[[_target, _removeItem], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ +[[_target, _removeItem, _selectionName], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [_target, _removeItem] call FUNC(addToTriageCard); [_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf index 064761aea0..3b1a351bab 100644 --- a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf @@ -16,12 +16,10 @@ private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo"]; _target = _this select 0; _tourniquetItem = _this select 1; +_selectionName = _this select 2; -//[_target,"treatment",format["%1 applied a tourniquet on %2",[_caller] call EFUNC(common,getName),_selectionName]] call FUNC(addActivityToLog); -//[_target,_removeItem] call FUNC(addToTriageList); [_target] call FUNC(addToInjuredCollection); - _part = [_selectionName] call FUNC(selectionNameToNumber); // Place a tourniquet on the bodypart From 59ae4623ff49d438b57a0294c68bc60508938983 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 16 Apr 2015 00:17:17 +0200 Subject: [PATCH 183/247] Derp --- addons/medical/functions/fnc_treatmentTourniquetLocal.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf index 3b1a351bab..289f852a06 100644 --- a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf @@ -13,7 +13,7 @@ */ #include "script_component.hpp" -private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo"]; +private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo", "_selectionName"]; _target = _this select 0; _tourniquetItem = _this select 1; _selectionName = _this select 2; From 23f47f97ae2b818381e6d42b4d7b4536cfc00ac5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 18:32:47 -0500 Subject: [PATCH 184/247] Wirecutter - better sound effects, cleanup --- .../logistics_wirecutter/CfgEventHandlers.hpp | 1 - addons/logistics_wirecutter/CfgSounds.hpp | 15 ++++-------- addons/logistics_wirecutter/CfgWeapons.hpp | 24 +++++++++---------- addons/logistics_wirecutter/config.cpp | 2 +- .../functions/fnc_cutDownFence.sqf | 19 ++++++++++----- .../functions/fnc_getNearestFence.sqf | 6 ++--- .../functions/fnc_interactEH.sqf | 2 +- .../functions/fnc_isFence.sqf | 13 +++++----- 8 files changed, 41 insertions(+), 41 deletions(-) diff --git a/addons/logistics_wirecutter/CfgEventHandlers.hpp b/addons/logistics_wirecutter/CfgEventHandlers.hpp index 79c3aaa959..3daad1425a 100644 --- a/addons/logistics_wirecutter/CfgEventHandlers.hpp +++ b/addons/logistics_wirecutter/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); diff --git a/addons/logistics_wirecutter/CfgSounds.hpp b/addons/logistics_wirecutter/CfgSounds.hpp index 9958190ec1..aa5f3464f6 100644 --- a/addons/logistics_wirecutter/CfgSounds.hpp +++ b/addons/logistics_wirecutter/CfgSounds.hpp @@ -1,12 +1,7 @@ class CfgSounds { - class ACE_Wirecutter_sound { - name = "ACE_wirecutter_sound"; - sound[] = {QUOTE(PATHTOF(sound\wire_cut.ogg)), "db-0", 1}; - titles[] = {}; - }; - class ACE_Wirecutter_sound_long { - name = "ACE_wirecutter_sound_long"; - sound[] = {QUOTE(PATHTOF(sound\wire_cut_long.ogg)), "db-0", 1}; - titles[] = {}; - }; + class ACE_Wirecutter_sound { + name = "ACE_wirecutter_sound"; + sound[] = {QUOTE(PATHTOF(sound\wirecut.ogg)), "db-0", 1}; + titles[] = {}; + }; }; diff --git a/addons/logistics_wirecutter/CfgWeapons.hpp b/addons/logistics_wirecutter/CfgWeapons.hpp index 76b1003f34..648bc3a3f8 100644 --- a/addons/logistics_wirecutter/CfgWeapons.hpp +++ b/addons/logistics_wirecutter/CfgWeapons.hpp @@ -1,16 +1,16 @@ class CfgWeapons { - class InventoryItem_Base_F; - class ACE_ItemCore; + class InventoryItem_Base_F; + class ACE_ItemCore; - class ACE_wirecutter: ACE_ItemCore { - author = "$STR_ACE_Common_ACETeam"; - displayName = "$STR_ACE_logistics_wirecutter_wirecutterName"; - descriptionShort = "$STR_ACE_logistics_wirecutter_wirecutterDescription"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - picture = QUOTE(PATHTOF(ui\item_wirecutter_ca.paa)); - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 100; + class ACE_wirecutter: ACE_ItemCore { + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_logistics_wirecutter_wirecutterName"; + descriptionShort = "$STR_ACE_logistics_wirecutter_wirecutterDescription"; + model = "\A3\weapons_F\ammo\mag_univ.p3d"; + picture = QUOTE(PATHTOF(ui\item_wirecutter_ca.paa)); + scope = 2; + class ItemInfo: InventoryItem_Base_F { + mass = 100; + }; }; - }; }; diff --git a/addons/logistics_wirecutter/config.cpp b/addons/logistics_wirecutter/config.cpp index 6e1db15061..8e14bde892 100644 --- a/addons/logistics_wirecutter/config.cpp +++ b/addons/logistics_wirecutter/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {}; + weapons[] = {"ACE_wirecutter"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interaction"}; author[] = {"gpgpgpgp", "PabstMirror"}; diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf index ee4c512cd2..0186ea4b3a 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf @@ -16,19 +16,26 @@ */ #include "script_component.hpp" +#define SOUND_CLIP_TIME_SPACEING 1.5 private ["_timeToCut"]; PARAMS_2(_unit,_fenceObject); if (_unit != ACE_player) exitWith {}; -_timeToCut = if ([ACE_player] call EFUNC(common,isEngineer)) then {5} else {10}; +_timeToCut = if ([ACE_player] call EFUNC(common,isEngineer)) then {7.5} else {11}; [ACE_player, "AinvPknlMstpSnonWnonDr_medic5", 0] call EFUNC(common,doAnimation); -if (_timeToCut > 5) then { - playSound "ACE_wirecutter_sound_long"; -} else { - playSound "ACE_wirecutter_sound"; +_progressCheck = { + PARAMS_2(_args,_passedTime); + EXPLODE_2_PVT(_args,_fenceObject,_lastSoundEffectTime); + if (_passedTime > (_lastSoundEffectTime + SOUND_CLIP_TIME_SPACEING)) then { + // playSound "ACE_wirecutter_sound"; + playSound3D [QUOTE(PATHTO_R(sound\wirecut.ogg)), objNull, false, (getPosASL ACE_player), 1, 1, 10]; + _args set [1, _passedTime]; + }; + + ((!isNull _fenceObject) && {(damage _fenceObject) < 1} && {("ACE_wirecutter" in (items ACE_player))}) }; -[_timeToCut, [_fenceObject], {(_this select 0) call FUNC(cutDownFenceCallback)}, {(_this select 0) call FUNC(cutDownFenceAbort)}, localize "STR_ACE_logistics_wirecutter_CuttingFence"] call EFUNC(common,progressBar); +[_timeToCut, [_fenceObject,0], {(_this select 0) call FUNC(cutDownFenceCallback)}, {(_this select 0) call FUNC(cutDownFenceAbort)}, localize "STR_ACE_logistics_wirecutter_CuttingFence", _progressCheck] call EFUNC(common,progressBar); diff --git a/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf b/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf index c9e59b41a0..15bfbdb8ef 100644 --- a/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_getNearestFence.sqf @@ -20,9 +20,9 @@ PARAMS_1(_unit); _nearestFence = objNull; { - if ((isNull _nearestFence) && {[_x] call FUNC(isFence)}) then { - _nearestFence = _x; - }; + if ((isNull _nearestFence) && {[_x] call FUNC(isFence)}) then { + _nearestFence = _x; + }; } forEach nearestObjects [_unit, [], 15]; _nearestFence diff --git a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf index 6dace9c42d..ddd180047c 100644 --- a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf +++ b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf @@ -35,7 +35,7 @@ if (!("ACE_wirecutter" in (items ace_player))) exitWith {}; } else { // Prevent Rare Error when ending mission with interact key down: if (isNull ace_player) exitWith {}; - + //If player moved >5 meters from last pos, then rescan if (((getPosASL ace_player) distance _setPosition) > 5) then { diff --git a/addons/logistics_wirecutter/functions/fnc_isFence.sqf b/addons/logistics_wirecutter/functions/fnc_isFence.sqf index aee9a22ef9..1ab97a67af 100644 --- a/addons/logistics_wirecutter/functions/fnc_isFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_isFence.sqf @@ -17,11 +17,9 @@ #include "script_component.hpp" //find is case sensitive, so keep everything lowercase -#define FENCE_A3_TYPENAMES ["land_net_fence_4m_f", "land_net_fence_8m_f", "land_net_fenced_8m_f", "land_new_wiredfence_5m_f", "land_new_wiredfence_10m_dam_f", "land_new_wiredfence_10m_f", "land_pipe_fence_4m_f", "land_pipe_fence_4mnolc_f", "land_sportground_fence_f", "land_wired_fence_4m_f", "land_wired_fence_4md_f", "land_wired_fence_8m_f", "land_wired_fence_8md_f", "land_razorwire_f"] -#define FENCE_A3_P3DS ["mil_wiredfence_f.p3d"] +#define FENCE_TYPENAMES ["land_net_fence_4m_f", "land_net_fence_8m_f", "land_net_fenced_8m_f", "land_new_wiredfence_5m_f", "land_new_wiredfence_10m_dam_f", "land_new_wiredfence_10m_f", "land_pipe_fence_4m_f", "land_pipe_fence_4mnolc_f", "land_sportground_fence_f", "land_wired_fence_4m_f", "land_wired_fence_4md_f", "land_wired_fence_8m_f", "land_wired_fence_8md_f", "land_razorwire_f"] -#define FENCE_AIA_TYPENAMES [] -#define FENCE_AIA_P3DS ["wall_indfnc_3.p3d", "wall_indfnc_9.p3d", "wall_indfnc_corner.p3d", "pletivo_wired.p3d", "wall_fen1_5.p3d"] +#define FENCE_P3DS ["mil_wiredfence_f.p3d","wall_indfnc_3.p3d", "wall_indfnc_9.p3d", "wall_indfnc_corner.p3d", "pletivo_wired.p3d", "wall_fen1_5.p3d"] private ["_typeOf", "_returnValue"]; PARAMS_1(_object); @@ -30,14 +28,15 @@ _typeOf = toLower (typeOf _object); _returnValue = false; if (_typeOf != "") then { - _returnValue = _typeOf in (FENCE_A3_TYPENAMES + FENCE_AIA_TYPENAMES); + //If the fence has configEntry we can check it directly + _returnValue = _typeOf in FENCE_TYPENAMES; } else { _typeOf = toLower (str _object); //something like "123201: wall_indfnc_9.p3d" { - if ((_typeOf find _x) != -1) then { + if ((_typeOf find _x) != -1) exitWith { _returnValue = true; }; - } forEach (FENCE_A3_P3DS + FENCE_AIA_P3DS); + } forEach FENCE_P3DS; }; _returnValue From 4169351b1ab2e1c8f2889e49054a568bdad37e25 Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 16 Apr 2015 02:00:37 +0200 Subject: [PATCH 185/247] fix addActionEH didn't work after respawn --- addons/common/functions/fnc_addActionEventHandler.sqf | 8 ++++++-- addons/common/functions/fnc_removeActionEventHandler.sqf | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/addons/common/functions/fnc_addActionEventHandler.sqf b/addons/common/functions/fnc_addActionEventHandler.sqf index a75b1537d1..a0e9d24f2c 100644 --- a/addons/common/functions/fnc_addActionEventHandler.sqf +++ b/addons/common/functions/fnc_addActionEventHandler.sqf @@ -31,7 +31,11 @@ if (typeName _statement == "STRING") then { _name = format ["ACE_Action_%1", _action]; -_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]]; +_actionsVar = _unit getVariable [_name, [-1, [-1, [], []], objNull]]; + +if (_unit != _actionsVar select 2) then { // check if the unit is still valid, fixes respawn issues + _actionsVar = [-1, [-1, [], []], objNull]; +}; _actionID = _actionsVar select 0; _actions = _actionsVar select 1; @@ -65,6 +69,6 @@ if (_actionID == -1) then { _actionID = _unit addAction _addAction; }; -_unit setVariable [_name, [_actionID, [_id, _actionIDs, _actions]], false]; +_unit setVariable [_name, [_actionID, [_id, _actionIDs, _actions], _unit], false]; _id diff --git a/addons/common/functions/fnc_removeActionEventHandler.sqf b/addons/common/functions/fnc_removeActionEventHandler.sqf index 7d92b3de75..2bcc970ab0 100644 --- a/addons/common/functions/fnc_removeActionEventHandler.sqf +++ b/addons/common/functions/fnc_removeActionEventHandler.sqf @@ -23,7 +23,7 @@ if (_id == -1) exitWith {}; _name = format ["ACE_Action_%1", _action]; -_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]]; +_actionsVar = _unit getVariable [_name, [-1, [-1, [], []], objNull]]; _actionID = _actionsVar select 0; _actions = _actionsVar select 1; @@ -32,6 +32,8 @@ _currentID = _actions select 0; _actionIDs = _actions select 1; _actions = _actions select 2; +if (_unit != _actionsVar select 2) exitWith {}; + _id = _actionIDs find _id; if (_id == -1) exitWith {}; @@ -47,4 +49,4 @@ if (count _actions == 0) then { _actionID = -1; }; -_unit setVariable [_name, [_actionID, [_currentID, _actionIDs, _actions]], false]; +_unit setVariable [_name, [_actionID, [_currentID, _actionIDs, _actions], _unit], false]; From b2625c43e7f1aaa172627f16e587bd215eb10a97 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 20:30:05 -0500 Subject: [PATCH 186/247] #644 - Extra Space in macro --- .../laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf index f8ff2ca0f5..aa46c383bd 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" if( (count _this) > 2) then { - EXPLODE_3_PVT(_this,_shooter,_laserUuid, _localLaserTarget); + EXPLODE_3_PVT(_this,_shooter,_laserUuid,_localLaserTarget); [_laserUuid] call EFUNC(laser,laserOff); // @TODO: Nou gets to field all tickets about missing lasers. From 80516f4f6197c87e7fe9080cb1734b5d1461175a Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 22:27:12 -0500 Subject: [PATCH 187/247] Increase Sound Volume --- addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf index 0186ea4b3a..5153176de2 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf @@ -31,7 +31,7 @@ _progressCheck = { EXPLODE_2_PVT(_args,_fenceObject,_lastSoundEffectTime); if (_passedTime > (_lastSoundEffectTime + SOUND_CLIP_TIME_SPACEING)) then { // playSound "ACE_wirecutter_sound"; - playSound3D [QUOTE(PATHTO_R(sound\wirecut.ogg)), objNull, false, (getPosASL ACE_player), 1, 1, 10]; + playSound3D [QUOTE(PATHTO_R(sound\wirecut.ogg)), objNull, false, (getPosASL ACE_player), 3, 1, 10]; _args set [1, _passedTime]; }; From 58dfc6aa97c80dae442483c477ae7c2816466287 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 15 Apr 2015 22:34:24 -0500 Subject: [PATCH 188/247] Add item to ace misc box --- addons/logistics_wirecutter/CfgVehicles.hpp | 8 ++++++++ addons/logistics_wirecutter/config.cpp | 1 + 2 files changed, 9 insertions(+) create mode 100644 addons/logistics_wirecutter/CfgVehicles.hpp diff --git a/addons/logistics_wirecutter/CfgVehicles.hpp b/addons/logistics_wirecutter/CfgVehicles.hpp new file mode 100644 index 0000000000..a31d9c0d99 --- /dev/null +++ b/addons/logistics_wirecutter/CfgVehicles.hpp @@ -0,0 +1,8 @@ +class CfgVehicles { + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_wirecutter,4); + }; + }; +}; diff --git a/addons/logistics_wirecutter/config.cpp b/addons/logistics_wirecutter/config.cpp index 8e14bde892..89fbd1c10f 100644 --- a/addons/logistics_wirecutter/config.cpp +++ b/addons/logistics_wirecutter/config.cpp @@ -15,3 +15,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgSounds.hpp" #include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" From 9c9136ae91bf511d3290fe2022a06f58b40f148e Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 16 Apr 2015 02:54:50 -0500 Subject: [PATCH 189/247] Stringtable cleanup --- addons/explosives/stringtable.xml | 1 - addons/javelin/stringtable.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index c8d46aad30..d0b61d0814 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -44,7 +44,6 @@ Kod ładunku: %1 Code explosif: %1 Kód výbušniny: %1 - Codice dell'esplosivo : %1 Robbanóanyag kódja: %1 Código do explosivo: %1 Код подрыва: %1 diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index 819bb0f46d..0290abafed 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -1,4 +1,3 @@ -<<<<<<< HEAD From a129f18a2ad51ffb73dc1be6012c66bc3d8e8c14 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:13:50 +0200 Subject: [PATCH 190/247] Update stringtable.xml Italian --- addons/winddeflection/stringtable.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 897a3c556b..8e2e00d96e 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -11,6 +11,7 @@ Vent Windinformationen Szélinformáció + Informazioni sul vento Direction: %1 @@ -21,6 +22,7 @@ Direction %1 Windrichtung: %1 Irány: %1 + Direzione: %1 Speed: %1 m/s @@ -31,6 +33,7 @@ Vitesse %1 m/s Geschwindigkeit: %1m/s Sebesség: %1 m/s + Velocità: %1 m/s Weather Information @@ -41,6 +44,7 @@ Météo Wetterinformationen Időjárás-Információ + Meteo Humidity: %1% @@ -51,6 +55,7 @@ Humidité: %1% Luftfeuchtigkeit: %1 Páratartalom: %1% + Umidità: %1% From b3d4e2f48f0011d4371ff61607e4c90673c14632 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:14:18 +0200 Subject: [PATCH 191/247] Update stringtable.xml IT --- addons/weather/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 46a0653269..0837919e34 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -7,6 +7,7 @@ Pokaż inf. o wietrze Показать информацию о погоде Afficher information du vent + Mostra informazioni sul vento From c1655aa9a9f79e8e0935b95abb765cf7ebd275df Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:16:17 +0200 Subject: [PATCH 192/247] Update stringtable.xml IT --- addons/weaponselect/stringtable.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index d534ecd29b..d7d2929a5f 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -10,6 +10,7 @@ Wyświetl tekst przy rzucie granatem Afficher texte lors d'un lancé de grenade Szöveg mutatása gránát eldobásakor + Mostra indicazioni nel lancio granate Display a hint or text on grenade throw. @@ -20,6 +21,7 @@ Wyświetla powiadomienie lub tekst przy rzucie granatem. Afficher texte/info au lancé de grenade Jelez egy súgót vagy szöveget a gránát eldobásakor. + Mostra un suggerimento quando si lanciano granate Select Pistol @@ -55,7 +57,7 @@ Sélectionner Lanceur Rakétavető Kiválasztása Selecionar Lançador - Seleziona il Lanciatore + Seleziona il Lanciamissili Select Grenade Launcher @@ -162,6 +164,7 @@ Gránát: %1 Граната %1 Grenade %1 + Granata %1 Ready Grenade @@ -172,6 +175,7 @@ Gránát előkészítése Подготовить гранату Grenade prête + Granata pronta Select Frag Grenade @@ -194,7 +198,7 @@ Nem-robbanó Gránát Kiválasztása Zvolit Ne-Výbušný Granát Selecionar Granada - Seleziona Altre Granate + Seleziona granate non a frammentazione Выбрать гранату @@ -218,6 +222,7 @@ Žádné granáty Nincs több gránát Гранат не осталось + Granate esaurite No frags left @@ -264,6 +269,7 @@ Wystrzel granat dymny Füstvető eltüzelése Запустить дымовую завесу + Lancia fumogeno From 5e7fb0fb6467012b9155948be7e9e8cf283526ab Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:18:49 +0200 Subject: [PATCH 193/247] Update stringtable.xml IT --- addons/vehiclelock/stringtable.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index a327352f9b..349cd46e98 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -10,6 +10,7 @@ Odemknout vozidlo Jármű nyitása Открыть машину + Apri il veicolo Lock Vehicle @@ -20,6 +21,7 @@ Zamknout vozidlo Jármű zárása Закрыть машину + Chiudi il veicolo Lockpick Vehicle @@ -30,6 +32,7 @@ Vypáčit vozidlo Jármű feltörése Взломать замок + Scassina veicolo Picking Lock.... @@ -40,6 +43,7 @@ Páčim vozidlo... Zár feltörése... Взламываем замок... + Scassino il veicolo.... A custom key that will open a specific vehicle. @@ -50,6 +54,7 @@ Vlastní klíč, který otevře konkrétní vozidlo. Egy egyedi kulcs, ami egy meghatározott járművet nyit ki. Ключ от конкретной машины. + Una chiave personalizzata che apre determinati veicoli. A Master Key will open any lock, no matter what! @@ -60,6 +65,7 @@ Hlavní klíč otevře libovolný zámek, bez vyjímek! Egy főkulcs, ami minden zárat kinyit, helyzettől függetlenül! Универсальный ключ, открывающий любой замок. + Una chiave principale che apre qualsiasi serratura! A lockpick set that can pick the locks of most vehicles. @@ -70,6 +76,7 @@ Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. Egy tolvajkulcs-készlet, mely a legtöbb jármű zárjait fel tudja törni. Набор отмычек, которым можно взломать почти любую машину. + Un grimardello per forzare la maggior parte dei veicoli A key that should open most WEST vehicles. @@ -80,6 +87,7 @@ Klíč který by měl otevřít většinou Západních vozidel. Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. Ключ для открытия большинства машин Запада. + Una chiave che apre la maggior parte dei veicoli WEST A key that should open most EAST vehicle. @@ -90,6 +98,7 @@ Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. Ключ для открытия большинства машин Востока. + Una chaive che apr ela maggior parte dei veicoli EAST A key that should open most INDEP vehicle. @@ -100,6 +109,7 @@ Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít většinu Nezávislých vozidel. Ключ для открытия большинства машин Независимых. + Una chaive che apr ela maggior parte dei veicoli INDEP A key that should open most CIV vehicle. @@ -110,6 +120,7 @@ Klíč který by měl otevřít většinu Civilních vozidel. Egy kulcs, ami a CIVIL járművek többségét ki tudja nyitni. Ключ для открытия большинства машин Гражданских. + Una chaive che apr ela maggior parte dei veicoli CIV From 59643152bd7bc5e23251db5ce1563270a6fe307b Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:19:43 +0200 Subject: [PATCH 194/247] Update stringtable.xml IT --- addons/switchunits/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index c95da37337..58b0b46d6d 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -10,6 +10,7 @@ Cambiado de unidad Unité changée Egység átváltva + Cambia unità This unit is too close to the enemy. @@ -20,6 +21,7 @@ Esta unidad está demasiado cerca del enemigo. Cette unité est trop proche des ennemis Ez az egység túl közel van az ellenséghez. + Questa unità è troppo vicina al nemico. From fda1febc30f8e4c86bf2547e78f368fb5a4181eb Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:21:49 +0200 Subject: [PATCH 195/247] Update stringtable.xml IT --- addons/scopes/stringtable.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 16d6b60c4c..396e32c6d6 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -5,46 +5,55 @@ Minor adjustment up Zerowanie powoli w górę Малая корректировка ВВЕРХ + Regola leggermente alzata in alto Minor adjustment down Zerowanie powoli w dół Малая корректировка ВНИЗ + Regola leggermente alzata in basso Minor adjustment right Zerowanie powoli w prawo Малая корректировка ВПРАВО + Regola leggermente il tiro a destra Minor adjustment left Zerowanie powoli w lewo Малая корректировка ВЛЕВО + Regola leggermete il tiro a sinistra Major adjustment up Zerowanie w górę Большая корректировка ВВЕРХ + Regola l'alzata in alto Major adjustment down Zerowanie w dół Большая корректировка ВНИЗ + Regola l'alzata in basso Major adjustment right Zerowanie w prawo Большая корректировка ВПРАВО + Regola il tiro a destra Major adjustment left Zerowanie w lewo Большая корректировка ВЛЕВО + Regola il tiro a sinistra Set zero adjustment Zresetuj wyzerowanie Сбросить корректировку + Resetta i valori del tiro From 0655c3f3b69e1186b54e71c0d326cb68eb4dad52 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:22:32 +0200 Subject: [PATCH 196/247] Update stringtable.xml IT --- addons/safemode/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index 40691bd7da..521651999a 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -10,6 +10,7 @@ Biztonságos mód Предохранитель Sécurité + Sicura inserita Take off Safety @@ -20,6 +21,7 @@ Biztonsági kapcsoló eltolása Снять с предохранителя Enlever sécurité + Togli la sicura Put on Safety @@ -30,6 +32,7 @@ Biztonsági kapcsoló helyretolása Поставить на предохранитель Sécurité mise + Inserisci la sicura Took off Safety @@ -40,6 +43,7 @@ Biztonságos mód megszüntetve Снят с предохранителя Sécurité enlevée + Togli la sicura From 13de953aaba349e36aaba4b4b03f8af56fbff74a Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:23:34 +0200 Subject: [PATCH 197/247] Update stringtable.xml IT --- addons/respawn/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index af003b4c28..7b3d997a1c 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -10,6 +10,7 @@ Rozmieszczenie za 5 sekund ... Respawn za 5 sekund... Kihelyezés 5 másodperc múlva ... + Dispiegamento in 5 secondi ... Rallypoint deployed @@ -20,6 +21,7 @@ Punkt zbiórki rozmieszczony Rallypoint umístěn Gyülekezőpont elhelyezve + Rallypoint dispiegato Teleported to Base @@ -30,6 +32,7 @@ Przeteleportowano do bazy Odteleportován na základnu Bázisra teleportálva + Teleportato alla base Teleported to Rallypoint @@ -40,6 +43,7 @@ Przeteleportowano do punktu zbiórki Odteleportován na rallypoint Gyülekezőpontra teleportálva + Teleportato al rallypoint Rallypoint West (Base) From 66ba74e79d997b9b86e0fa0ac1d771b66e13d730 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:24:17 +0200 Subject: [PATCH 198/247] Update stringtable.xml IT --- addons/reloadlaunchers/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index ff5637eaf6..7716050334 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -11,6 +11,7 @@ Załaduj wyrzutnię Charger lanceur Kilövö betöltése + Carica lanciamissili Loading launcher ... @@ -21,6 +22,7 @@ Nabíjím odpalovač ... Ładowanie wyrzutni ... Kilövő betöltés alatt ... + Carico il lanciamissili ... Launcher loaded @@ -31,6 +33,7 @@ Odpalovač nabit Wyrzutnia załadowana Kilövő betöltve + Lanciamissili caricato Load %1 @@ -41,6 +44,7 @@ Nabít %1 Załadowano %1 %1 betöltése + Caricato %1 From 500098d0610c07189276a69777f0e5f00e14a440 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:25:39 +0200 Subject: [PATCH 199/247] Update stringtable.xml IT --- addons/reload/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 7c401fec05..51956670b7 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -10,6 +10,7 @@ Sprawdź stan amunicji przy przeładowaniu broni Vérification des munitions au rechargement Lőszer ellenőrzése a fegyver újratöltésekor + Controlla le munizioni ricaricando Check the ammo in your new magazine on magazine reload. @@ -20,6 +21,7 @@ Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni Vérification du nombre de munition au rechargement A lőszer ellenőrzése az új tárad behelyezésekor újratöltés közben. + Controlla le munizioni rimanenti nel caricatore in fase di cambio caricatore. Check Ammo @@ -54,6 +56,7 @@ Podłącz taśmę Gurt anhängen Töltényheveder összekötése + Attacca la tracolla Linking belt... @@ -64,6 +67,7 @@ Podłączanie taśmy... Gurt anhängen ... Töltényheveder összekötése folyamatban... + Attacco la tracolla... From 23cb1058fc386ea282fcd832c37853d803948686 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:26:55 +0200 Subject: [PATCH 200/247] Update stringtable.xml IT --- addons/parachute/stringtable.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index 52ccaefe77..a1de714331 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -11,6 +11,7 @@ Altímetro Magasságmérő Высотомер + Altimetro Altimeter Watch @@ -21,6 +22,7 @@ Reloj altímetro Magasságmérős karóra Часы с высотомером + Controlla l'altimetro Used to show height, descent rate and the time. @@ -31,6 +33,7 @@ Utilizado para mostrar altura, tasa de descenso y hora. Mutatja a magasságot, a zuhanási sebességet, és az időt. Используется для определения высоты, скорости снижения и времени. + Usato per mostrare l'altitudine, la velocità di discesa e l'ora. Non-Steerable Parachute @@ -41,6 +44,7 @@ Neříditelný padák Irányíthatatlan ejtőernyő Неуправляемый парашют + Paracadute non manovrabile - \ No newline at end of file + From ba510facbd550549e432b7ec5fb1e71b9e3deee9 Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:29:17 +0200 Subject: [PATCH 201/247] Update stringtable.xml IT --- addons/optionsmenu/stringtable.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index c4ac2b1593..f9bd537e3f 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -22,6 +22,7 @@ Napraw animację Corriger animation Animációk kijavítása + Fixa l'animazione Reset All @@ -32,6 +33,7 @@ Resetuj wszystko Défaut Minden visszaállítása + Resetta tutto Colors @@ -42,6 +44,7 @@ Barvy Kolory Színek + Colori Options @@ -64,6 +67,7 @@ Valeurs Werte Értékek + Valori Yes @@ -98,6 +102,7 @@ Ustawienie: Paramètres Opció: + Parametri: Export @@ -108,6 +113,7 @@ Eksport Exporter Exportálás + Esporta Open Export Menu @@ -118,6 +124,7 @@ Otwórz menu eksportowania Ouvrir le menu d'exportation Exportálási menü megnyitása + Apri menù esportazione String input. @@ -127,6 +134,7 @@ Wpisywanie tekstu. Entrée String bevitel. + Stringa di unput. Array. Seperate elements by using ,. @@ -137,6 +145,7 @@ Tableau. Séparation par ,. Tabulka. Odděl elementy použitím ,. Array. Válasszad el az elemeket vesszővel. + Array. Separa gli elementi usando ,. Number @@ -147,6 +156,7 @@ Cyfra Nombre Szám + Numero Uknown input type @@ -157,6 +167,7 @@ Nieznany rodzaj danych Type d'entrée inconnue Ismeretlen beviteli típus + Input inserito sconosciuto Save input @@ -167,6 +178,7 @@ Zapisz dane Sauvegarder Bevitel elmentése + Salva input Include Client Settings @@ -177,6 +189,7 @@ Zawrzyj ustawienia klienta Inclure paramètres client Kliens-beállítások melléklése + Includi i parametri del client Exclude Client Settings @@ -187,6 +200,7 @@ Wyklucz ustawienia klienta Exclure paramètres client Kliens-beállítások elhagyása + Escludi i parametri del client Settings exported to clipboard @@ -197,6 +211,7 @@ Ustawienia wyeksportowano do schowka Paramètres exportés dans le presse papier Beállítások exportálva a vágólapba + Parametri esportati alla clipboard From 00c0839ce5e284c3224153cf7828f7214c5eee0a Mon Sep 17 00:00:00 2001 From: Marco Date: Thu, 16 Apr 2015 10:33:15 +0200 Subject: [PATCH 202/247] Update stringtable.xml IT --- addons/nametags/stringtable.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 32eb35781b..4f6e2cfb93 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -10,6 +10,7 @@ Pokaż imiona Nevek mutatása Показать имена + Mostra i nomi Show player names @@ -30,7 +31,7 @@ Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) Noms uniquement sous le curseur (si noms affichés) Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) - Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) + Mostra i nomi solo se puntati (richiede mostra nomi abilitato) Mostrar nome de jogador somente no cursor (requer nome de jogadores) Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) Показать имена игроков только под курсором (требует имен игроков) @@ -44,6 +45,7 @@ Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) Показать имена игроков только по нажатию клавиши (требует имен игроков) + Mostra i nomi solo se si preme il tasto (richiede mostra nomi abilitato) Show player ranks (requires player names) @@ -52,7 +54,7 @@ Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) Grade des joueurs (si noms affichés) Zobrazit hodnosti hráčů (vyžaduje jména hráčů) - Mostra i gradi (richiede i nomi dei giocatori abilitati) + Mostra i gradi (richiede mostra nomi abilitato) Mostrar patente de jogadores (requer nome de jogadores) Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) Показать звания игроков (требует имен игроков) @@ -66,6 +68,7 @@ Zobrazit info o posádce vozidla Показать экипаж Jármű-legénység adatainak mutatása + Mostra le informazioni sull'equipaggio del veicolo Show name tags for AI units @@ -76,6 +79,7 @@ Wyświetl imiona jednostek AI Afficher les noms des IA Névcímkék mutatása MI-egységeknél + Mostra le tag nomi per le unità AI Show SoundWaves (requires player names) @@ -86,6 +90,7 @@ Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) "Hanghullámok" mutatása (a nevek mutatása szükséges) + Mostra barra movimento audio (richiede mostra nomi abilitato) Default Nametag Color (Non Group Members) @@ -96,6 +101,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) + Colore nametag di default (membri non del gruppo) From aa724129d1720c45eb8e3249c0b865001ea2a407 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 10:51:33 +0200 Subject: [PATCH 203/247] Tuned down the default timeToLive value. --- addons/ballistics/CfgAmmo.hpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index d82f336952..76a3970063 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -3,21 +3,20 @@ class CfgAmmo { class BulletCore; class BulletBase: BulletCore { - // Default: 6 | More is good, but too much is bad (especially with wind deflection / advanced ballistics) - timeToLive = 10; + timeToLive=6; }; class B_20mm : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_25mm : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_35mm_AA : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_30mm_AP : BulletBase { - timeToLive = 30; + timeToLive=30; }; class B_556x45_Ball : BulletBase { @@ -458,6 +457,7 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24.41, 26}; }; class B_408_Ball : BulletBase { + timeToLive=10; airFriction=-0.000395; typicalSpeed=910; ACE_caliber=0.408; @@ -473,6 +473,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class ACE_106x83mm_Ball : B_408_Ball { + timeToLive=10; ACE_caliber=0.416; ACE_bulletLength=2.089; ACE_bulletMass=398; @@ -485,6 +486,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class B_338_Ball : BulletBase { + timeToLive=10; airFriction=-0.000606; typicalSpeed=915; ACE_caliber=0.338; @@ -513,6 +515,7 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24, 26}; }; class ACE_338_Ball : B_338_Ball { + timeToLive=10; airFriction=-0.000535; caliber=1.55; typicalSpeed=826; @@ -528,6 +531,7 @@ class CfgAmmo { ACE_barrelLengths[]={20, 24, 26.5, 28}; }; class ACE_338_Ball_API526 : B_338_Ball { + timeToLive=10; airFriction=-0.000673; caliber=2.4; typicalSpeed=826; @@ -557,6 +561,7 @@ class CfgAmmo { ACE_barrelLengths[]={17.2}; }; class B_127x99_Ball : BulletBase { + timeToLive=10; airFriction=-0.0006; typicalSpeed=853; ACE_caliber=0.510; @@ -571,6 +576,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { + timeToLive=10; airFriction=-0.000374; typicalSpeed=860; ACE_caliber=0.510; @@ -585,6 +591,7 @@ class CfgAmmo { ACE_barrelLengths[]={29}; }; class B_127x108_Ball : BulletBase { + timeToLive=10; airFriction=-0.00064; typicalSpeed=820; ACE_caliber=0.511; From 58d7ff792b4a3295d531bc12304f32ad940975df Mon Sep 17 00:00:00 2001 From: Lex Rivera Date: Thu, 16 Apr 2015 13:28:50 +0300 Subject: [PATCH 204/247] Add link to issue reporting format --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dd464966f2..f56811dbd8 100644 --- a/README.md +++ b/README.md @@ -37,10 +37,11 @@ The mod is **built modularly** — almost any PBO can be removed, thus a team ca #### Guides & How-Tos If you installed ACE3, but have trouble understanding how it all works, or where to start — see [Getting Started](https://github.com/acemod/ACE3/blob/master/documentation/user/getting-started.md). + #### Contributing If you want to help put with the ongoing development, you can do so by looking for possible bugs or by contributing new features. To contribute something to ACE, simply fork this repository and submit your pull requests for review by other collaborators. In the process, please add yourself to the author array of any .pbo you will be editing and the AUTHORS.txt file; including a valid email address. -To report a bug, propose a feature, or suggest a change to the existing one — please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues). +To report a bug, propose a feature, or suggest a change to the existing one — please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues). See [this link](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) for details. #### Testing & Building If you want to help us test the latest development changes, feel free to download our master branch, using either git — if familiar with the process — or directly, by following [this link](https://github.com/acemod/ACE3/archive/master.zip). From aa5972a03a2cf124c6a706adf11a4d318c16725b Mon Sep 17 00:00:00 2001 From: Lex Rivera Date: Thu, 16 Apr 2015 13:30:09 +0300 Subject: [PATCH 205/247] Damn you, web editor --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f56811dbd8..3ec6fe0683 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,6 @@ The mod is **built modularly** — almost any PBO can be removed, thus a team ca #### Guides & How-Tos If you installed ACE3, but have trouble understanding how it all works, or where to start — see [Getting Started](https://github.com/acemod/ACE3/blob/master/documentation/user/getting-started.md). - #### Contributing If you want to help put with the ongoing development, you can do so by looking for possible bugs or by contributing new features. To contribute something to ACE, simply fork this repository and submit your pull requests for review by other collaborators. In the process, please add yourself to the author array of any .pbo you will be editing and the AUTHORS.txt file; including a valid email address. From e00dd1c2f21f23958f4cbf9081d1a942f55b9565 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Thu, 16 Apr 2015 14:10:48 +0300 Subject: [PATCH 206/247] addons/realisticnames translation to Russian --- addons/realisticnames/stringtable.xml | 72 +++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index a39736c902..2b02d7f5b7 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1049,6 +1049,7 @@ P99 P99 P99 + P99 MP-443 Grach @@ -1058,6 +1059,7 @@ MP-443 Grach MP-443 Grach MP-443 Grach + МР-443 "Грач" ACP-C2 @@ -1067,6 +1069,7 @@ ACP-C2 ACP-C2 ACP-C2 + ACP-C2 FNX-45 Tactical @@ -1076,6 +1079,7 @@ FNX-45 Tactical FNX-45 Tactical FNX-45 Tactical + FNX-45 Tactical Chiappa Rhino 60DS @@ -1085,6 +1089,7 @@ Chiappa Rhino 60DS Chiappa Rhino 6DS Chiappa Rhino 60DS + Chiappa Rhino 60DS Taurus Judge @@ -1094,6 +1099,7 @@ Taurus Judge Taurus Judge Taurus Judge + Taurus Judge NLAW @@ -1103,6 +1109,7 @@ NLAW NLAW NLAW + NLAW RPG-32 @@ -1112,6 +1119,7 @@ RPG-32 RPG-32 RPG-32 + РПГ-32 Mini-Spike (AA) @@ -1121,6 +1129,7 @@ Mini-Spike (AA) Mini-Spike (Repülő-elhárító) Mini-Spike (AA) + Mini-Spike (AA) Mini-Spike (AT) @@ -1130,6 +1139,7 @@ Mini-Spike (AT) Mini-Spike (Tankelhárító) Mini-Spike (AT) + Mini-Spike (AT) MX @@ -1139,6 +1149,7 @@ MX MX MX + MX MX (Black) @@ -1148,6 +1159,7 @@ MX ( Noir) MX (Fekete) MX (Negro) + MX (черный) MXC @@ -1157,6 +1169,7 @@ MXC MXC MXC + MXC MXC (Black) @@ -1166,6 +1179,7 @@ MXC (Noir) MXC (Fekete) MXC (Negro) + MXC (черный) MX 3GL @@ -1175,6 +1189,7 @@ MX 3GL MX 3GL MX 3GL + MX 3GL MX 3GL (Black) @@ -1184,6 +1199,7 @@ MX 3 GL (Noir) MX 3GL (Fekete) MX 3GL (Negro) + MX 3GL (черный) MX LSW @@ -1193,6 +1209,7 @@ MX LSW MX LSW MX LSW + MX LSW MX LSW (Black) @@ -1202,6 +1219,7 @@ MX LSW (Noir) MX LSW (Fekete) MX LSW (Negro) + MX LSW (черный) MXM @@ -1211,6 +1229,7 @@ MXM MXM MXM + MXM MXM (Black) @@ -1220,6 +1239,7 @@ MXM (Noir) MXM (Fekete) MXM (Negro) + MXM (черный) KT2002 Katiba @@ -1229,6 +1249,7 @@ KT2002 Katiba KT2002 Katiba KT2002 Katiba + KT2002 Катиба KT2002C Katiba @@ -1238,6 +1259,7 @@ KT2002C Katiba KT2002C Katiba KT2002C Katiba + KT2002C Катиба KT2002 Katiba KGL @@ -1247,6 +1269,7 @@ KT2002 Katiba KGL KT2002 Katiba KGL KT2002 Katiba KGL + KT2002 Катиба KGL F2000 (Camo) @@ -1256,6 +1279,7 @@ F2000 (Camo) F2000 (Terepmintás) F2000 (Camuflaje) + F2000 (камо) F2000 @@ -1265,6 +1289,7 @@ F2000 F2000 F2000 + F2000 F2000 Tactical (Camo) @@ -1274,6 +1299,7 @@ F2000 Tactical (Camo) F2000 Tactical (Terepmintás) F2000 Tactical (Camuflaje) + F2000 Tactical (камо) F2000 Tactical @@ -1283,6 +1309,7 @@ F2000 Tactical F2000 Tactical F2000 Tactical + F2000 Tactical F2000 EGLM (Camo) @@ -1292,6 +1319,7 @@ F2000 EGLM (Camo) F2000 EGLM (Terepmintás) F2000 EGLM (Camuflaje) + F2000 EGLM (камо) F2000 EGLM @@ -1301,6 +1329,7 @@ F2000 EGLM F2000 EGLM F2000 EGLM + F2000 EGLM TAR-21 @@ -1310,6 +1339,7 @@ TAR-21 TAR-21 TAR-21 + TAR-21 CTAR-21 @@ -1319,6 +1349,7 @@ CTAR-21 CTAR-21 CTAR-21 + CTAR-21 TAR-21 EGLM @@ -1328,6 +1359,7 @@ TAR-21 EGLM TAR-21 EGLM TAR-21 EGLM + TAR-21 EGLM Vector SMG @@ -1337,6 +1369,7 @@ Vector SMG Vector SMG Vector SMG + Vector SMG Scorpion Evo 3 A1 @@ -1346,6 +1379,7 @@ Scorpion Evo 3 A1 Scorpion Evo 3 A1 Scorpion Evo 3 A1 + Scorpion Evo 3 A1 CPW @@ -1355,6 +1389,7 @@ CPW CPW CPW + CPW RFB SDAR @@ -1364,6 +1399,7 @@ RFB SDAR RFB SDAR RFB SDAR + RFB SDAR Stoner 99 LMG @@ -1373,6 +1409,7 @@ Stoner 99 LMG Stoner 99 Könnyűgéppuska Stoner 99 LMG + Stoner 99 LMG Negev NG7 @@ -1382,6 +1419,7 @@ Negev NG7 Negev NG7 Negev NG7 + Negev NG7 Mk14 Mod 1 EBR @@ -1391,6 +1429,7 @@ Mk 14 Mod 1 EBR Mk14 Mod 1 EBR Mk14 Mod 1 EBR + Mk14 Mod 1 EBR GM6 Lynx @@ -1400,6 +1439,7 @@ GM6 Lynx GM6 Gepárd GM6 Lynx + GM6 Lynx GM6 Lynx (Camo) @@ -1409,6 +1449,7 @@ GM6 Lynx (Camo) GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) + GM6 Lynx (камо) M200 Intervention @@ -1418,6 +1459,7 @@ M200 Intervention M200 Intervention M200 Intervention + M200 Intervention M200 Intervention (Camo) @@ -1427,6 +1469,7 @@ M200 Intervention (Camo) M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) + M200 Intervention (камо) VS-121 @@ -1436,174 +1479,203 @@ VS-121 VS-121 VS-121 + VS-121 TODO: MAR-10 .338 TODO: MAR-10 .338 MAR-10 .338 TODO: MAR-10 .338 + TODO: MAR-10 .338 TODO: MAR-10 .338 (Black) TODO: MAR-10 .338 (Black) MAR-10 .338 (Noir) TODO: MAR-10 .338 (Negro) + TODO: MAR-10 .338 (черный) TODO: MAR-10 .338 (Camo) TODO: MAR-10 .338 (Camo) MAR-10 .338 (Camo) TODO: MAR-10 .338 (Camuflaje) + TODO: MAR-10 .338 (камо) TODO: MAR-10 .338 (Sand) TODO: MAR-10 .338 (Sand) MAR-10 .338 (Beige) TODO: MAR-10 .338 (Arena) + TODO: MAR-10 .338 (песочный) TODO: Mk-I EMR 7.62 mm TODO: Mk-I EMR 7.62 mm Mk-l EMR 7.62 mm TODO: Mk-I EMR 7.62 mm + TODO: Mk-I EMR 7.62 мм TODO: Mk-I EMR 7.62 mm (Black) TODO: Mk-I EMR 7.62 mm (Black) Mk-l EMR 7.62 mm (Noir) TODO: Mk-I EMR 7.62 mm (Negro) + TODO: Mk-I EMR 7.62 мм (черный) TODO: Mk-I EMR 7.62 mm (Khaki) TODO: Mk-I EMR 7.62 mm (Khaki) Mk-l EMR 7.62 mm (Kaki) TODO: Mk-I EMR 7.62 mm (Caqui) + TODO: Mk-I EMR 7.62 мм (хаки) TODO: Mk-I EMR 7.62 mm (Sand) TODO: Mk-I EMR 7.62 mm (Sand) Mk-l EMR 7.62 mm (Beige) TODO: Mk-I EMR 7.62 mm (Arena) + TODO: Mk-I EMR 7.62 мм (песочный) TODO: Mk-I EMR 7.62 mm (Camo) TODO: Mk-I EMR 7.62 mm (Camo) Mk-l EMR 7.62 mm (Camo) TODO: Mk-I EMR 7.62 mm (Camuflaje) + TODO: Mk-I EMR 7.62 мм (камо) TODO: Mk-I EMR 7.62 mm (Woodland) TODO: Mk-I EMR 7.62 mm (Woodland) Mk-l EMR 7.62 mm (Woodland) TODO: Mk-I EMR 7.62 mm (Bosque) + TODO: Mk-I EMR 7.62 мм (лесной) TODO: NATO DMR (provisional) spotter TODO: NATO DMR (provisional) spotter NATO DMR (provisoire) Observateur TODO: NATO DMR (provisional) observador + TODO: NATO DMR (provisional) корректировщик TODO: ASP-1 Kir 12.7 mm TODO: ASP-1 Kir 12.7 mm ASP-1 Kir 12.7 mm TODO: ASP-1 Kir 12.7 mm + TODO: ASP-1 Kir 12.7 мм TODO: ASP-1 Kir 12.7 mm (Black) TODO: ASP-1 Kir 12.7 mm (Black) ASP-1 Kir 12.7 mm (Noir) TODO: ASP-1 Kir 12.7 mm (Negro) + TODO: ASP-1 Kir 12.7 мм (черный) TODO: ASP-1 Kir 12.7 mm (Tan) TODO: ASP-1 Kir 12.7 mm (Tan) ASP-1 Kir 12.7 mm (Tan) TODO: ASP-1 Kir 12.7 mm (Tan) + TODO: ASP-1 Kir 12.7 мм (бронзовый) TODO: Cyrus 9.3 mm TODO: Cyrus 9.3 mm Cyrus 9.3 mm TODO: Cyrus 9.3 mm + TODO: Cyrus 9.3 мм TODO: Cyrus 9.3 mm (Black) TODO: Cyrus 9.3 mm (Black) Cyrus 9.3 mm (Noir) TODO: Cyrus 9.3 mm (Negro) + TODO: Cyrus 9.3 мм (черный) TODO: Cyrus 9.3 mm (Hex) TODO: Cyrus 9.3 mm (Hex) Cyrus 9.3 mm (Hex) TODO: Cyrus 9.3 mm (Hex) + TODO: Cyrus 9.3 мм (гекс) TODO: Cyrus 9.3 mm (Tan) TODO: Cyrus 9.3 mm (Tan) Cyrus 9.3 mm (Tan) TODO: Cyrus 9.3 mm (Tan) + TODO: Cyrus 9.3 мм (бронза) TODO: Mk14 7.62 mm TODO: Mk14 7.62 mm Mk 14 7.62 mm TODO: Mk14 7.62 mm + TODO: Mk14 7.62 мм TODO: Mk14 7.62 mm (Camo) TODO: Mk14 7.62 mm (Camo) Mk 14 7.62 mm (Camo) TODO: Mk14 7.62 mm (Camuflaje) + TODO: Mk14 7.62 мм (камо) TODO: Mk14 7.62 mm (Olive) TODO: Mk14 7.62 mm (Olive) Mk 14 7.62 mm (Olive) TODO: Mk14 7.62 mm (Oliva) + TODO: Mk14 7.62 мм (олива) TODO: Navid 9.3 mm TODO: Navid 9.3 mm Navid 9.3 mm TODO: Navid 9.3 mm + TODO: Navid 9.3 мм TODO: Navid 9.3 mm (Hex) TODO: Navid 9.3 mm (Hex) Navid 9.3 mm (Hex) TODO: Navid 9.3 mm (Hex) + TODO: Navid 9.3 мм (гекс) TODO: Navid 9.3 mm (Tan) TODO: Navid 9.3 mm (Tan) Navid 9.3 mm (Tan) TODO: Navid 9.3 mm (Tan) + TODO: Navid 9.3 мм (бронза) TODO: SPMG .338 TODO: SPMG .338 SPMG .338 TODO: SPMG .338 + TODO: SPMG .338 TODO: SPMG .338 (MTP) TODO: SPMG .338 (MTP) SPMG .338 (MTP) TODO: SPMG .338 (MTP) + TODO: SPMG .338 (MTP) TODO: SPMG .338 (Black) TODO: SPMG .338 (Black) SPMG .338 (Noir) TODO: SPMG .338 (Negro) + TODO: SPMG .338 (черный) TODO: SPMG .338 (Sand) TODO: SPMG .338 (Sand) SPMG .338 (Beige) TODO: SPMG .338 (Arena) + TODO: SPMG .338 (песочный) From 15240ac87c62468c9466bd09c5a33f83396e3528 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 13:42:28 +0200 Subject: [PATCH 207/247] Minor code change in the extension detection logic --- addons/advanced_ballistics/XEH_postInit.sqf | 5 +++-- addons/advanced_ballistics/script_component.hpp | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 783a5be569..41615696ac 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -33,9 +33,10 @@ GVAR(AtmosphericDensitySimulationEnabled) = true; GVAR(currentGrid) = 0; GVAR(INIT_MESSAGE_ENABLED) = false; -GVAR(extensionAvailable) = "ace_advanced_ballistics" callExtension "version" == "1.0"; +GVAR(extensionVersion) = ("ace_advanced_ballistics" callExtension "version"); +GVAR(extensionAvailable) = (GVAR(extensionVersion) == EXTENSION_REQUIRED_VERSION); if (!GVAR(extensionAvailable)) exitWith { - if ("ace_advanced_ballistics" callExtension "version" == "") then { + if (GVAR(extensionVersion) == "") then { diag_log text "[ACE] ERROR: ace_advanced_ballistics.dll is missing"; } else { diag_log text "[ACE] ERROR: ace_advanced_ballistics.dll is incompatible"; diff --git a/addons/advanced_ballistics/script_component.hpp b/addons/advanced_ballistics/script_component.hpp index 273afa2f49..70c2f47990 100644 --- a/addons/advanced_ballistics/script_component.hpp +++ b/addons/advanced_ballistics/script_component.hpp @@ -24,3 +24,5 @@ #define STD_AIR_DENSITY_ICAO 1.22498 #define STD_AIR_DENSITY_ASM 1.20885 #define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h)) + +#define EXTENSION_REQUIRED_VERSION "1.0" From ca3293aa1a33e00aed3f83c4db5dca0295794ade Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 13:43:41 +0200 Subject: [PATCH 208/247] Added ACE_Box_Ammo (WIP): *TODO: Define a model --- addons/ballistics/CfgVehicles.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index f992f8cc8b..4ea9fc87a2 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -160,7 +160,12 @@ class CfgVehicles { }; }; - class ACE_Box_Misc: Box_NATO_Support_F { + class ACE_Box_Ammo: NATO_Box_Base { + scope = 2; + accuracy = 1000; + displayName = "[ACE] Ammo Supply Crate"; + // TODO: model = "..."; + author = "$STR_ACE_Common_ACETeam"; class TransportMagazines { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4); From d6cadb593acff5c104c014eb812b1f348411fbf0 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 13:44:54 +0200 Subject: [PATCH 209/247] Enabled the ATragMX to use the advanced ballistics extension --- addons/atragmx/functions/fnc_calculate_solution.sqf | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/atragmx/functions/fnc_calculate_solution.sqf b/addons/atragmx/functions/fnc_calculate_solution.sqf index 90263a608c..4e7f5981c1 100644 --- a/addons/atragmx/functions/fnc_calculate_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_solution.sqf @@ -109,8 +109,12 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do { if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { if (missionNamespace getVariable [QEGVAR(advanced_ballistics,AdvancedAirDragEnabled), false]) then { private ["_drag"]; - _drag = -1 * ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation)); - _bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag); + _drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then { + parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed])) + } else { + ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation)) + }; + _bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (-1 * _drag); }; } else { _bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction); From 55d9f7a3da2a1fde95146d321e9bdc0a1f70a90c Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 13:46:32 +0200 Subject: [PATCH 210/247] The previous GUI state is now restored when you open the ATragMX --- .../atragmx/functions/fnc_create_dialog.sqf | 20 +++++++++------- addons/atragmx/functions/fnc_init.sqf | 10 ++++++++ .../functions/fnc_show_add_new_gun.sqf | 2 ++ .../atragmx/functions/fnc_show_gun_list.sqf | 10 +++++++- .../atragmx/functions/fnc_show_main_page.sqf | 2 ++ .../atragmx/functions/fnc_show_range_card.sqf | 2 ++ .../functions/fnc_show_range_card_setup.sqf | 10 ++++++++ .../fnc_show_target_range_assist.sqf | 17 +++++++++++++ .../fnc_show_target_speed_assist.sqf | 24 +++++++++++++++++++ .../fnc_show_target_speed_assist_timer.sqf | 2 ++ .../fnc_target_speed_assist_timer.sqf | 2 -- .../atragmx/functions/fnc_toggle_gun_list.sqf | 6 ----- .../functions/fnc_toggle_range_card.sqf | 2 -- .../functions/fnc_toggle_range_card_setup.sqf | 10 +------- .../fnc_toggle_target_range_assist.sqf | 15 ------------ .../fnc_toggle_target_speed_assist.sqf | 22 ----------------- .../functions/fnc_update_target_selection.sqf | 2 -- .../functions/fnc_update_unit_selection.sqf | 2 -- addons/atragmx/script_component.hpp | 4 +++- 19 files changed, 94 insertions(+), 70 deletions(-) diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 01cdcba184..8dc0f3e34f 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -23,15 +23,19 @@ createDialog 'ATragMX_Display'; call FUNC(update_target_selection); -true call FUNC(show_main_page); +GVAR(showMainPage) call FUNC(show_main_page); -false call FUNC(show_add_new_gun); -false call FUNC(show_gun_list); -false call FUNC(show_range_card); -false call FUNC(show_range_card_setup); -false call FUNC(show_target_range_assist); -false call FUNC(show_target_speed_assist); -false call FUNC(show_target_speed_assist_timer); +GVAR(showAddNewGun) call FUNC(show_add_new_gun); +GVAR(showGunList) call FUNC(show_gun_list); +GVAR(showRangeCard) call FUNC(show_range_card); +if (GVAR(showRangeCard)) then { + ctrlSetFocus (_dsp displayCtrl 5001); + [] call FUNC(update_range_card); +}; +GVAR(showRangeCardSetup) call FUNC(show_range_card_setup); +GVAR(showTargetRangeAssist) call FUNC(show_target_range_assist); +GVAR(showTargetSpeedAssist) call FUNC(show_target_speed_assist); +GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer); { lbAdd [6000, _x select 0]; diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf index 3f46a71fe2..267c04ea6f 100644 --- a/addons/atragmx/functions/fnc_init.sqf +++ b/addons/atragmx/functions/fnc_init.sqf @@ -56,3 +56,13 @@ GVAR(windageOutput) = [0, 0, 0, 0]; GVAR(leadOutput) = [0, 0, 0, 0]; GVAR(tofOutput) = [0, 0, 0, 0]; GVAR(velocityOutput) = [0, 0, 0, 0]; + +GVAR(showMainPage) = true; +GVAR(showAddNewGun) = false; +GVAR(showGunList) = false; +GVAR(showRangeCard) = false; +GVAR(showRangeCardSetup) = false; +GVAR(showTargetRangeAssist) = false; +GVAR(showTargetSpeedAssist) = false; +GVAR(showTargetSpeedAssistTimer) = false; + diff --git a/addons/atragmx/functions/fnc_show_add_new_gun.sqf b/addons/atragmx/functions/fnc_show_add_new_gun.sqf index 12815194dd..b1fd1deb44 100644 --- a/addons/atragmx/functions/fnc_show_add_new_gun.sqf +++ b/addons/atragmx/functions/fnc_show_add_new_gun.sqf @@ -15,4 +15,6 @@ */ #include "script_component.hpp" +GVAR(showAddNewGun) = _this; + {ctrlShow [_x, _this]} forEach [11000, 11001, 11002, 11003]; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_show_gun_list.sqf b/addons/atragmx/functions/fnc_show_gun_list.sqf index c34784e27a..8834f755f0 100644 --- a/addons/atragmx/functions/fnc_show_gun_list.sqf +++ b/addons/atragmx/functions/fnc_show_gun_list.sqf @@ -15,4 +15,12 @@ */ #include "script_component.hpp" -{ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007]; \ No newline at end of file +GVAR(showGunList) = _this; + +{ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007]; + +if (_this) then { + ctrlSetFocus (_dsp displayCtrl 6002); + + lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))]; +}; diff --git a/addons/atragmx/functions/fnc_show_main_page.sqf b/addons/atragmx/functions/fnc_show_main_page.sqf index 5eaf5eb560..941c7559c8 100644 --- a/addons/atragmx/functions/fnc_show_main_page.sqf +++ b/addons/atragmx/functions/fnc_show_main_page.sqf @@ -15,5 +15,7 @@ */ #include "script_component.hpp" +GVAR(showMainPage) = _this; + {ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 30, 300, 31, 310, 32, 320, 33, 330, 34, 340, 40, 400, 401, 402, 403, 41, 410, 411, 412, 42, 420, 500, 501, 502, 503, 600, 601, 602, 603, 1000, 2000, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008]; diff --git a/addons/atragmx/functions/fnc_show_range_card.sqf b/addons/atragmx/functions/fnc_show_range_card.sqf index 655630f6c5..5728d18546 100644 --- a/addons/atragmx/functions/fnc_show_range_card.sqf +++ b/addons/atragmx/functions/fnc_show_range_card.sqf @@ -15,4 +15,6 @@ */ #include "script_component.hpp" +GVAR(showRangeCard) = _this; + {ctrlShow [_x, _this]} forEach [5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007]; diff --git a/addons/atragmx/functions/fnc_show_range_card_setup.sqf b/addons/atragmx/functions/fnc_show_range_card_setup.sqf index 3ed8cb5184..e9afe41cc5 100644 --- a/addons/atragmx/functions/fnc_show_range_card_setup.sqf +++ b/addons/atragmx/functions/fnc_show_range_card_setup.sqf @@ -15,4 +15,14 @@ */ #include "script_component.hpp" +GVAR(showRangeCardSetup) = _this; + {ctrlShow [_x, _this]} forEach [10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009]; + +if (_this) then { + ctrlSetFocus (_dsp displayCtrl 10006); + + ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))]; + ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))]; + ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))]; +}; diff --git a/addons/atragmx/functions/fnc_show_target_range_assist.sqf b/addons/atragmx/functions/fnc_show_target_range_assist.sqf index 964e5f93d0..e3ca0a2626 100644 --- a/addons/atragmx/functions/fnc_show_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_range_assist.sqf @@ -15,4 +15,21 @@ */ #include "script_component.hpp" +GVAR(showTargetRangeAssist) = _this; + {ctrlShow [_x, _this]} forEach [7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020]; + +if (_this) then { + ctrlSetFocus (_dsp displayCtrl 7018); + + ctrlSetText [7012, Str(parseNumber(ctrlText 320))]; + ctrlSetText [7013, Str(parseNumber(ctrlText 340))]; + + if (GVAR(currentUnit) != 2) then + { + ctrlSetText [7016, "Yards"]; + } else + { + ctrlSetText [7016, "Meters"]; + }; +}; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf index ce1e8588b9..90425e26db 100644 --- a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf @@ -15,4 +15,28 @@ */ #include "script_component.hpp" +GVAR(showTargetSpeedAssist) = _this; + {ctrlShow [_x, _this]} forEach [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015]; + +if (_this) then { + ctrlSetFocus (_dsp displayCtrl 8012); + + ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; + + if (GVAR(currentUnit) != 2) then + { + ctrlSetText [8008, "Yards"]; + } else + { + ctrlSetText [8008, "Meters"]; + }; + + if (GVAR(currentUnit) != 1) then + { + ctrlSetText [8011, "m/s"]; + } else + { + ctrlSetText [8011, "mph"]; + }; +}; diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf index 5b809b7ca9..8f2ff0c83e 100644 --- a/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf @@ -15,4 +15,6 @@ */ #include "script_component.hpp" +GVAR(showTargetSpeedAssistTimer) = _this; + {ctrlShow [_x, _this]} forEach [9000, 9001, 9002]; diff --git a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf index 90acd1a84f..d8414ba692 100644 --- a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - if !(ctrlVisible 9000) then { false call FUNC(show_target_speed_assist); diff --git a/addons/atragmx/functions/fnc_toggle_gun_list.sqf b/addons/atragmx/functions/fnc_toggle_gun_list.sqf index 4e24e4cb77..cd4acb1f76 100644 --- a/addons/atragmx/functions/fnc_toggle_gun_list.sqf +++ b/addons/atragmx/functions/fnc_toggle_gun_list.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - if (ctrlVisible 6000) then { false call FUNC(show_gun_list); @@ -29,8 +27,4 @@ if (ctrlVisible 6000) then { false call FUNC(show_main_page); true call FUNC(show_gun_list); - - ctrlSetFocus (_dsp displayCtrl 6002); - - lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))]; }; diff --git a/addons/atragmx/functions/fnc_toggle_range_card.sqf b/addons/atragmx/functions/fnc_toggle_range_card.sqf index 6a5c386de7..6a75ea5445 100644 --- a/addons/atragmx/functions/fnc_toggle_range_card.sqf +++ b/addons/atragmx/functions/fnc_toggle_range_card.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - if (ctrlVisible 5006) then { false call FUNC(show_range_card); diff --git a/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf b/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf index 28534c9dd9..71da18349b 100644 --- a/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf +++ b/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf @@ -3,7 +3,7 @@ * Toggles the range card setup screen on/off * * Arguments: - * Nothing + * Apply new range card settings * * Return Value: * Nothing @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - if (ctrlVisible 10000) then { false call FUNC(show_range_card_setup); @@ -35,10 +33,4 @@ if (ctrlVisible 10000) then { false call FUNC(show_range_card); true call FUNC(show_range_card_setup); - - ctrlSetFocus (_dsp displayCtrl 10006); - - ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))]; - ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))]; - ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))]; }; diff --git a/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf b/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf index 352a6d0e1f..04e9307ded 100644 --- a/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - if (ctrlVisible 7000) then { false call FUNC(show_target_range_assist); @@ -31,17 +29,4 @@ if (ctrlVisible 7000) then { false call FUNC(show_main_page); true call FUNC(show_target_range_assist); - - ctrlSetFocus (_dsp displayCtrl 7018); - - ctrlSetText [7012, Str(parseNumber(ctrlText 320))]; - ctrlSetText [7013, Str(parseNumber(ctrlText 340))]; - - if (GVAR(currentUnit) != 2) then - { - ctrlSetText [7016, "Yards"]; - } else - { - ctrlSetText [7016, "Meters"]; - }; }; diff --git a/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf b/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf index 0bda7ad019..66ffaa5d07 100644 --- a/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - if (ctrlVisible 8000) then { false call FUNC(show_target_speed_assist); @@ -31,24 +29,4 @@ if (ctrlVisible 8000) then { false call FUNC(show_main_page); true call FUNC(show_target_speed_assist); - - ctrlSetFocus (_dsp displayCtrl 8012); - - ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; - - if (GVAR(currentUnit) != 2) then - { - ctrlSetText [8008, "Yards"]; - } else - { - ctrlSetText [8008, "Meters"]; - }; - - if (GVAR(currentUnit) != 1) then - { - ctrlSetText [8011, "m/s"]; - } else - { - ctrlSetText [8011, "mph"]; - }; }; diff --git a/addons/atragmx/functions/fnc_update_target_selection.sqf b/addons/atragmx/functions/fnc_update_target_selection.sqf index d48412def0..476c22d658 100644 --- a/addons/atragmx/functions/fnc_update_target_selection.sqf +++ b/addons/atragmx/functions/fnc_update_target_selection.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - (_dsp displayCtrl 500) ctrlEnable true; (_dsp displayCtrl 501) ctrlEnable true; (_dsp displayCtrl 502) ctrlEnable true; diff --git a/addons/atragmx/functions/fnc_update_unit_selection.sqf b/addons/atragmx/functions/fnc_update_unit_selection.sqf index dacc228032..f6a51c5cfc 100644 --- a/addons/atragmx/functions/fnc_update_unit_selection.sqf +++ b/addons/atragmx/functions/fnc_update_unit_selection.sqf @@ -15,8 +15,6 @@ */ #include "script_component.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") - (_dsp displayCtrl 600) ctrlEnable true; (_dsp displayCtrl 601) ctrlEnable true; (_dsp displayCtrl 602) ctrlEnable true; diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index 062df59d19..014524c6dd 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -9,4 +9,6 @@ #define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX #endif -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file +#include "\z\ace\addons\main\script_macros.hpp" + +#define _dsp (uiNamespace getVariable "ATragMX_Display") From 4ff68eabd440e779a6612d7a629fbceab8c709c1 Mon Sep 17 00:00:00 2001 From: Coren4 Date: Thu, 16 Apr 2015 14:59:19 +0200 Subject: [PATCH 211/247] Update stringtable.xml --- addons/interact_menu/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ede985d6b3..98cac6116a 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -18,6 +18,7 @@ Показывать меню взаимодействия в виде списка Afficher le menu d'interaction au format liste Mostra il menù di interazione come lista + Wyświetlaj menu interakcji jako listę Interact Key From dca11e523b1c313ffadb2afee16e38de136b1b1d Mon Sep 17 00:00:00 2001 From: Tachii Date: Thu, 16 Apr 2015 18:08:58 +0300 Subject: [PATCH 212/247] Update stringtable.xml --- addons/attach/stringtable.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index e950d6ea59..db98c4fffc 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -11,7 +11,7 @@ Acoplar item >> Attacca l'oggetto >> Tárgy hozzácsatolása >> - Добавить приспособления + Прикрепить предмет Attach @@ -23,7 +23,7 @@ Acoplar Attacca Hozzácsatolás - Присоединить + Прикрепить Detach item @@ -47,7 +47,7 @@ Marcador IV Acoplado Strobo IR attaccata Infravörös jeladó hozzácsatolva - ИК-маяк присоединён + ИК-маяк прикреплён IR Strobe Detached @@ -71,7 +71,7 @@ Granada IV Acoplada Granata IR attaccata Infravörös gránát hozzácsatolva - ИК-граната присоединена + ИК-граната прикреплена IR Grenade Detached @@ -95,7 +95,7 @@ Chemlight Acoplada Chemlight attaccata Chemlight hozzácsatolva - Химсвет присоединён + Химсвет прикреплён Chemlight Detached From def2f9c28ee3b87c7a5618ea7802a99d3b2bb745 Mon Sep 17 00:00:00 2001 From: Tachii Date: Thu, 16 Apr 2015 18:13:53 +0300 Subject: [PATCH 213/247] Update stringtable.xml --- addons/captives/stringtable.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index fec8e703b1..5683eaf0d3 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -95,7 +95,7 @@ Algema Plástica Fascietta Gyorskötöző - Кабельная стяжка + Пластиковые наручники Cable ties that allow you to restrain prisoners. @@ -107,7 +107,7 @@ A algema plástica permite que você contenha prisioneiros. Fascietta che ti consente di arrestare i prigionieri. Gyorskötöző, emberek foglyulejtéséhez használható. - Кабельные стяжки позволяют связывать пленников. + Пластиковые наручники позволяют связывать пленников. Inventory of frisked person @@ -117,7 +117,7 @@ Motozott személy felszerelése Inventář prohledávané osoby Ekwipunek rewidowanej osoby - Инвентарь обысканных лиц + Инвентарь обысканного человека Inventário da pessoa revistada @@ -139,7 +139,7 @@ Rendirse Vzdát se Poddaj się - Сдаться в плен + Сдаться Megadás Arreso @@ -150,7 +150,7 @@ Dejar de rendirse Přestat se vzdávat Podejmij walkę ponownie - Отменить сдачу в плен + Прекратить сдачу в плен Megadás abbahagyása Annulla la resa From 184d7c85065fe1ae2a3669a0880548dd1c2cc05f Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 08:18:30 -0700 Subject: [PATCH 214/247] Tool addition. Search for missing private declarations by file. --- tools/search_privates.py | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 tools/search_privates.py diff --git a/tools/search_privates.py b/tools/search_privates.py new file mode 100644 index 0000000000..61ac155e64 --- /dev/null +++ b/tools/search_privates.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 + +import fnmatch +import os +import re +import ntpath +from pyparsing import * + + + + +def check_privates(filepath): + + def pushClosing(t): + closingStack.append(closing.expr) + closing << Literal( closingFor[t[0]] ) + + def popClosing(): + closing << closingStack.pop() + + with open(filepath, 'r') as file: + content = file.read() + + priv_use = [] + priv_use = [] + priv_declared = [] + + # Regex search privates + srch = re.compile('(? 0: + print filepath + for bad_priv in missing: + print '\t' + bad_priv + +def main(): + + print("#########################") + print("# Search your Privates #") + print("#########################") + + sqf_list = [] + for root, dirnames, filenames in os.walk('../addons'): + for filename in fnmatch.filter(filenames, '*.sqf'): + sqf_list.append(os.path.join(root, filename)) + + for filename in sqf_list: + check_privates(filename) + +if __name__ == "__main__": + main() \ No newline at end of file From 2466d83cac6f5e55b860fe9ce2e3876227d0deee Mon Sep 17 00:00:00 2001 From: Tachii Date: Thu, 16 Apr 2015 18:19:11 +0300 Subject: [PATCH 215/247] Update stringtable.xml --- addons/common/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index ade58c3742..d9ee389166 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -403,7 +403,7 @@ Die Hintergrundfarbe der ACE-Hinweise. El color de fondo de las notificaciones del ACE Il colore di sfondo dei suggerimenti dell'ACE. - Цвет фона всплывающий подсказок АСЕ. + Цвет фона всплывающих подсказок АСЕ. Kolor tła dla powiadomień ACE Notifications ACE: couleur de l'arrière plan Barva pozadí ACE nápověd. From f5078020fbf358ea888fede1f68a0f0a858200db Mon Sep 17 00:00:00 2001 From: Tachii Date: Thu, 16 Apr 2015 18:20:40 +0300 Subject: [PATCH 216/247] Update AUTHORS.txt https://github.com/acemod/ACE3/blob/master/addons/movement/config.cpp I want to be famous! --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index fa47b6a427..52238dc8ac 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -81,3 +81,4 @@ BlackPixxel Asgar Serran Kavinsky Coren +Tachi From e6f29cfdb1e5dc12d1f56f127c5ebf70267092de Mon Sep 17 00:00:00 2001 From: Tachii Date: Thu, 16 Apr 2015 18:23:00 +0300 Subject: [PATCH 217/247] Update AUTHORS.txt --- AUTHORS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 52238dc8ac..2f16aea49c 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -71,6 +71,7 @@ Robert Boklahánics ramius86 simon84 Sniperwolf572 +Tachi Tonic Tourorist Valentin Torikian @@ -81,4 +82,3 @@ BlackPixxel Asgar Serran Kavinsky Coren -Tachi From defe46b7695fbaa4852ff9d6c7cd17f8a13c0988 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 17:30:50 +0200 Subject: [PATCH 218/247] Added new PFH abort condition (velocity < 100 m/s) --- .../functions/fnc_handleFired.sqf | 16 +++++++++------- .../functions/fnc_updateTrajectoryPFH.sqf | 18 +++++++++--------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index d628f012ee..a36f576bd6 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -158,15 +158,17 @@ if (GVAR(AdvancedAirDragEnabled)) then { [{ private ["_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; EXPLODE_4_PVT(_this select 0,_bullet,_caliber,_bulletTraceVisible,_index); - - if (!alive _bullet) exitWith { - [_this select 1] call cba_fnc_removePerFrameHandler; - }; - + _bulletVelocity = velocity _bullet; _bulletPosition = getPosASL _bullet; - - if (_bulletTraceVisible && vectorMagnitude _bulletVelocity > 600) then { + + _bulletSpeed = vectorMagnitude _bulletVelocity; + + if (!alive _bullet || _bulletSpeed < 100) exitWith { + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + if (_bulletTraceVisible && _bulletSpeed > 600) then { drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; }; diff --git a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf index 9859f330dd..42bac3eac8 100644 --- a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf +++ b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf @@ -22,17 +22,17 @@ _bullet = _args select 0; _airFriction = _args select 1; _time = _args select 2; - - if (!alive _bullet) exitwith { - [_this select 1] call cba_fnc_removePerFrameHandler; - }; - - _deltaT = time - _time; - _args set[2, time]; - + _bulletVelocity = velocity _bullet; _bulletSpeed = vectorMagnitude _bulletVelocity; - + + if (!alive _bullet || _bulletSpeed < 100) exitwith { + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + _deltaT = time - _time; + _args set[2, time]; + if (vectorMagnitude ACE_wind > 0) then { _trueVelocity = _bulletVelocity vectorDiff ACE_wind; _trueSpeed = vectorMagnitude _trueVelocity; From fe7596d28d4be75267a888d877a736b11cd02605 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 08:46:11 -0700 Subject: [PATCH 219/247] handles CBA PARAMS_ and EXPLODE_ --- tools/search_privates.py | 48 ++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index 61ac155e64..20b8f49ab1 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -4,11 +4,38 @@ import fnmatch import os import re import ntpath -from pyparsing import * +import sys +import argparse +def get_private_declare(content): + priv_declared = [] + + srch = re.compile('private.*') + priv_srch_declared = srch.findall(content) + priv_srch_declared = sorted(set(priv_srch_declared)) + + priv_dec_str = ''.join(priv_srch_declared) + + srch = re.compile('') + priv_split = srch.findall(priv_dec_str) + priv_split = sorted(set(priv_split)) + priv_declared += priv_split; + + srch = re.compile('PARAMS_[0-9].*|EXPLODE_PVT_[0-9].*') + priv_srch_declared = srch.findall(content) + priv_srch_declared = sorted(set(priv_srch_declared)) + + priv_dec_str = ''.join(priv_srch_declared) + + srch = re.compile('(? Date: Thu, 16 Apr 2015 17:52:21 +0200 Subject: [PATCH 220/247] Minor performance improvement --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index a36f576bd6..182166d3af 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -95,12 +95,11 @@ if (GVAR(ammoTemperatureEnabled)) then { }; }; -// TODO: Make _bulletTraceVisible global and toggle it with events _bulletTraceVisible = false; -if (GVAR(bulletTraceEnabled) && currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then { +if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER" && currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then { _opticsName = (primaryWeaponItems ACE_player) select 2; _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); - _bulletTraceVisible = (_opticType == 2 || currentWeapon ACE_player in ["ACE_Vector", "Binocular", "Rangefinder", "Laserdesignator"]) && cameraView == "GUNNER"; + _bulletTraceVisible = (_opticType == 2 || currentWeapon ACE_player in ["ACE_Vector", "Binocular", "Rangefinder", "Laserdesignator"]); }; _caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); From b50c615e2c2a962476101e26e1d11bb61bcca89b Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 09:00:22 -0700 Subject: [PATCH 221/247] Updated for module-specific command line argument. --- tools/search_privates.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index 20b8f49ab1..eccde2fc26 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -21,7 +21,7 @@ def get_private_declare(content): priv_split = sorted(set(priv_split)) priv_declared += priv_split; - srch = re.compile('PARAMS_[0-9].*|EXPLODE_PVT_[0-9].*') + srch = re.compile('PARAMS_[0-9].*|EXPLODE_[0-9]_PVT.*') priv_srch_declared = srch.findall(content) priv_srch_declared = sorted(set(priv_srch_declared)) @@ -89,7 +89,12 @@ def main(): print("#########################") sqf_list = [] - for root, dirnames, filenames in os.walk('../addons'): + + parser = argparse.ArgumentParser() + parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default=".") + args = parser.parse_args() + + for root, dirnames, filenames in os.walk('../addons' + '/' + args.module): for filename in fnmatch.filter(filenames, '*.sqf'): sqf_list.append(os.path.join(root, filename)) From e35d3dab49c3a15b3606022e15c045d8c54800a8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 18:14:32 +0200 Subject: [PATCH 222/247] Overworked the ATragMX target slot logic: *Added missing privates *Solutions are now automatically calculated on target/gun selection --- addons/atragmx/RscTitles.hpp | 16 +++++----- addons/atragmx/XEH_preInit.sqf | 1 + .../functions/fnc_calculate_range_card.sqf | 22 +++++++------- .../fnc_calculate_scope_base_angle.sqf | 1 + .../fnc_calculate_target_solution.sqf | 23 +++++++------- addons/atragmx/functions/fnc_change_gun.sqf | 12 ++++---- .../functions/fnc_change_target_slot.sqf | 26 ++++++++++++++++ .../functions/fnc_cycle_scope_unit.sqf | 2 +- addons/atragmx/functions/fnc_init.sqf | 12 ++++---- addons/atragmx/functions/fnc_parse_input.sqf | 28 ++++++++--------- .../fnc_reset_relative_click_memory.sqf | 4 +-- addons/atragmx/functions/fnc_save_gun.sqf | 2 +- .../atragmx/functions/fnc_show_gun_list.sqf | 2 +- .../functions/fnc_update_atmosphere.sqf | 8 ++--- addons/atragmx/functions/fnc_update_gun.sqf | 22 +++++++------- .../functions/fnc_update_range_card.sqf | 8 ++--- .../fnc_update_relative_click_memory.sqf | 4 +-- .../atragmx/functions/fnc_update_result.sqf | 10 +++---- .../functions/fnc_update_scope_unit.sqf | 4 +-- .../functions/fnc_update_zero_range.sqf | 30 +++++++++---------- 20 files changed, 133 insertions(+), 104 deletions(-) create mode 100644 addons/atragmx/functions/fnc_change_target_slot.sqf diff --git a/addons/atragmx/RscTitles.hpp b/addons/atragmx/RscTitles.hpp index 8c0a647839..b60ff03fdc 100644 --- a/addons/atragmx/RscTitles.hpp +++ b/addons/atragmx/RscTitles.hpp @@ -230,12 +230,12 @@ class ATragMX_Display { w=0.03; h=0.03; colorBackground[]={0,0,0,0.0}; - action=QUOTE(((GVAR(currentGun) select GVAR(currentTarget)) + (count GVAR(gunList)) - 1) % (count GVAR(gunList)) call FUNC(change_gun)); + action=QUOTE((GVAR(currentGun) + (count GVAR(gunList)) - 1) % (count GVAR(gunList)) call FUNC(change_gun)); }; class BOTTOM: TOP { idc=-1; y=0.265*safezoneH+safezoneY+0.955; - action=QUOTE(((GVAR(currentGun) select GVAR(currentTarget)) + (count GVAR(gunList)) + 1) % (count GVAR(gunList)) call FUNC(change_gun)); + action=QUOTE((GVAR(currentGun) + (count GVAR(gunList)) + 1) % (count GVAR(gunList)) call FUNC(change_gun)); }; class LEFT: ATragMX_RscButton { idc=-1; @@ -244,12 +244,12 @@ class ATragMX_Display { w=0.05; h=0.03; colorBackground[]={0,0,0,0}; - action=QUOTE(call FUNC(parse_input); GVAR(currentTarget) = (4 + GVAR(currentTarget) - 1) % 4; call FUNC(update_target_selection)); + action=QUOTE(((4 + GVAR(currentTarget) - 1) % 4) call FUNC(change_target_slot)); }; class RIGHT: LEFT { idc=-1; x=0.55*safezoneW+safezoneX+0.2725; - action=QUOTE(call FUNC(parse_input); GVAR(currentTarget) = (4 + GVAR(currentTarget) + 1) % 4; call FUNC(update_target_selection)); + action=QUOTE(((4 + GVAR(currentTarget) + 1) % 4) call FUNC(change_target_slot)); }; class TOP_LEFT: ATragMX_RscButton { idc=-1; @@ -420,25 +420,25 @@ class ATragMX_Display { colorBackgroundDisabled[]={0,0,0,1}; colorBackgroundActive[]={0,0,0,0}; text="A"; - action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=0; call FUNC(update_target_selection)); + action=QUOTE(0 call FUNC(change_target_slot)); }; class TEXT_TARGET_B: TEXT_TARGET_A { idc=501; x=0.550*safezoneW+safezoneX+0.2281; text="B"; - action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=1; call FUNC(update_target_selection)); + action=QUOTE(1 call FUNC(change_target_slot)); }; class TEXT_TARGET_C: TEXT_TARGET_B { idc=502; x=0.550*safezoneW+safezoneX+0.2512; text="C"; - action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=2; call FUNC(update_target_selection)); + action=QUOTE(2 call FUNC(change_target_slot)); }; class TEXT_TARGET_D: TEXT_TARGET_B { idc=503; x=0.550*safezoneW+safezoneX+0.2743; text="D"; - action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=3; call FUNC(update_target_selection)); + action=QUOTE(3 call FUNC(change_target_slot)); }; class TEXT_TARGET: TEXT_GUN { diff --git a/addons/atragmx/XEH_preInit.sqf b/addons/atragmx/XEH_preInit.sqf index 91024d05a3..0224fc3e9c 100644 --- a/addons/atragmx/XEH_preInit.sqf +++ b/addons/atragmx/XEH_preInit.sqf @@ -11,6 +11,7 @@ PREP(calculate_target_solution); PREP(calculate_target_speed_assist); PREP(can_show); PREP(change_gun); +PREP(change_target_slot); PREP(create_dialog); PREP(cycle_range_card_columns); PREP(cycle_scope_unit); diff --git a/addons/atragmx/functions/fnc_calculate_range_card.sqf b/addons/atragmx/functions/fnc_calculate_range_card.sqf index 05625a53f6..aecd6496af 100644 --- a/addons/atragmx/functions/fnc_calculate_range_card.sqf +++ b/addons/atragmx/functions/fnc_calculate_range_card.sqf @@ -18,21 +18,21 @@ [] call FUNC(parse_input); private ["_scopeBaseAngle"]; -_scopeBaseAngle = ((GVAR(workingMemory) select GVAR(currentTarget)) select 3); +_scopeBaseAngle = (GVAR(workingMemory) select 3); private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; -_bulletMass = (GVAR(workingMemory) select GVAR(currentTarget)) select 12; -_boreHeight = (GVAR(workingMemory) select GVAR(currentTarget)) select 5; -_airFriction = (GVAR(workingMemory) select GVAR(currentTarget)) select 4; -_muzzleVelocity = (GVAR(workingMemory) select GVAR(currentTarget)) select 1; -_bc = (GVAR(workingMemory) select GVAR(currentTarget)) select 15; -_dragModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 16; -_atmosphereModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 17; +_bulletMass = GVAR(workingMemory) select 12; +_boreHeight = GVAR(workingMemory) select 5; +_airFriction = GVAR(workingMemory) select 4; +_muzzleVelocity = GVAR(workingMemory) select 1; +_bc = GVAR(workingMemory) select 15; +_dragModel = GVAR(workingMemory) select 16; +_atmosphereModel = GVAR(workingMemory) select 17; private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = (GVAR(temperature) select GVAR(currentTarget)); -_barometricPressure = (GVAR(barometricPressure) select GVAR(currentTarget)); -_relativeHumidity = (GVAR(relativeHumidity) select GVAR(currentTarget)); +_temperature = GVAR(temperature); +_barometricPressure = GVAR(barometricPressure); +_relativeHumidity = GVAR(relativeHumidity); if (GVAR(currentUnit) == 1) then { _temperature = (_temperature - 32) / 1.8; diff --git a/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf b/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf index 4822b08b37..17370c82b2 100644 --- a/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf +++ b/addons/atragmx/functions/fnc_calculate_scope_base_angle.sqf @@ -34,6 +34,7 @@ _temperature = 15; _barometricPressure = 1013.25; _relativeHumidity = 0; +private ["_result"]; _result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, 0, 0, 0, 0, _zeroRange, _airFriction, 1, "ICAO", false] call FUNC(calculate_solution); _scopeBaseAngle + (_result select 0) / 60 diff --git a/addons/atragmx/functions/fnc_calculate_target_solution.sqf b/addons/atragmx/functions/fnc_calculate_target_solution.sqf index 57783d9cca..3f4c92c191 100644 --- a/addons/atragmx/functions/fnc_calculate_target_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_target_solution.sqf @@ -18,21 +18,21 @@ [] call FUNC(parse_input); private ["_scopeBaseAngle"]; -_scopeBaseAngle = ((GVAR(workingMemory) select GVAR(currentTarget)) select 3); +_scopeBaseAngle = (GVAR(workingMemory) select 3); private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; -_bulletMass = (GVAR(workingMemory) select GVAR(currentTarget)) select 12; -_boreHeight = (GVAR(workingMemory) select GVAR(currentTarget)) select 5; -_airFriction = (GVAR(workingMemory) select GVAR(currentTarget)) select 4; -_muzzleVelocity = (GVAR(workingMemory) select GVAR(currentTarget)) select 1; -_bc = (GVAR(workingMemory) select GVAR(currentTarget)) select 15; -_dragModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 16; -_atmosphereModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 17; +_bulletMass = GVAR(workingMemory) select 12; +_boreHeight = GVAR(workingMemory) select 5; +_airFriction = GVAR(workingMemory) select 4; +_muzzleVelocity = GVAR(workingMemory) select 1; +_bc = GVAR(workingMemory) select 15; +_dragModel = GVAR(workingMemory) select 16; +_atmosphereModel = GVAR(workingMemory) select 17; private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = (GVAR(temperature) select GVAR(currentTarget)); -_barometricPressure = (GVAR(barometricPressure) select GVAR(currentTarget)); -_relativeHumidity = (GVAR(relativeHumidity) select GVAR(currentTarget)); +_temperature = GVAR(temperature); +_barometricPressure = GVAR(barometricPressure); +_relativeHumidity = GVAR(relativeHumidity); if (GVAR(currentUnit) == 1) then { _temperature = (_temperature - 32) / 1.8; @@ -55,6 +55,7 @@ if (GVAR(currentUnit) == 1) then _targetSpeed = _targetSpeed / 2.23693629; }; +private ["_result"]; _result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, _windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, false] call FUNC(calculate_solution); diff --git a/addons/atragmx/functions/fnc_change_gun.sqf b/addons/atragmx/functions/fnc_change_gun.sqf index 259441d51d..520e4e85be 100644 --- a/addons/atragmx/functions/fnc_change_gun.sqf +++ b/addons/atragmx/functions/fnc_change_gun.sqf @@ -17,14 +17,14 @@ if (_this < 0 || _this > (count GVAR(gunList)) - 1) exitWith {}; -GVAR(workingMemory) set [GVAR(currentTarget), +(GVAR(gunList) select _this)]; -GVAR(currentGun) set [GVAR(currentTarget), _this]; +GVAR(workingMemory) = +(GVAR(gunList) select _this); +GVAR(currentGun) = _this; -lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))]; +lbSetCurSel [6000, GVAR(currentGun)]; -if ((GVAR(scopeUnits) select (GVAR(currentScopeUnit) select GVAR(currentTarget))) != "Clicks") then +if ((GVAR(scopeUnits) select GVAR(currentScopeUnit)) != "Clicks") then { - GVAR(currentScopeUnit) set [GVAR(currentTarget), (GVAR(workingMemory) select GVAR(currentTarget)) select 6]; + GVAR(currentScopeUnit) = GVAR(workingMemory) select 6; }; [] call FUNC(update_gun); @@ -35,4 +35,4 @@ GVAR(leadOutput) set [GVAR(currentTarget), 0]; GVAR(tofOutput) set [GVAR(currentTarget), 0]; GVAR(velocityOutput) set [GVAR(currentTarget), 0]; -[] call FUNC(update_result); +[] call FUNC(calculate_target_solution); diff --git a/addons/atragmx/functions/fnc_change_target_slot.sqf b/addons/atragmx/functions/fnc_change_target_slot.sqf new file mode 100644 index 0000000000..6e6951c6bf --- /dev/null +++ b/addons/atragmx/functions/fnc_change_target_slot.sqf @@ -0,0 +1,26 @@ +/* + * Author: Ruthberg + * Selects a target slot (A, B, C or D) + * + * Arguments: + * target + * + * Return Value: + * Nothing + * + * Example: + * 2 call ace_atragmx_fnc_change_target_slot + * + * Public: No + */ +#include "script_component.hpp" + +private ["_target"]; +_target = 0 max _this min 3; + +call FUNC(parse_input); + +GVAR(currentTarget) = _target; +call FUNC(update_target_selection); + +call FUNC(calculate_target_solution); diff --git a/addons/atragmx/functions/fnc_cycle_scope_unit.sqf b/addons/atragmx/functions/fnc_cycle_scope_unit.sqf index 99704220d4..36f704bd2d 100644 --- a/addons/atragmx/functions/fnc_cycle_scope_unit.sqf +++ b/addons/atragmx/functions/fnc_cycle_scope_unit.sqf @@ -17,7 +17,7 @@ [] call FUNC(parse_input); -GVAR(currentScopeUnit) set [GVAR(currentTarget), ((GVAR(currentScopeUnit) select GVAR(currentTarget)) + 1) % (count GVAR(scopeUnits))]; +GVAR(currentScopeUnit) = (GVAR(currentScopeUnit) + 1) % (count GVAR(scopeUnits)); [] call FUNC(update_scope_unit); [] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf index 267c04ea6f..8fda3570fa 100644 --- a/addons/atragmx/functions/fnc_init.sqf +++ b/addons/atragmx/functions/fnc_init.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -GVAR(workingMemory) = [+(GVAR(gunList) select 0), +(GVAR(gunList) select 0), +(GVAR(gunList) select 0), +(GVAR(gunList) select 0)]; +GVAR(workingMemory) = +(GVAR(gunList) select 0); GVAR(scopeUnits) = ["MILs", "TMOA", "SMOA", "Clicks"]; @@ -37,13 +37,13 @@ GVAR(speedAssistNumTicksUnit) = 0; GVAR(speedAssistTimer) = true; GVAR(currentUnit) = 2; -GVAR(currentGun) = [0, 0, 0, 0]; +GVAR(currentGun) = 0; GVAR(currentTarget) = 0; -GVAR(currentScopeUnit) = [0, 0, 0, 0]; +GVAR(currentScopeUnit) = 0; -GVAR(temperature) = [15, 15, 15, 15]; -GVAR(barometricPressure) = [1013.25, 1013.25, 1013.25, 1013.25]; -GVAR(relativeHumidity) = [0.5, 0.5, 0.5, 0.5]; +GVAR(temperature) = 15; +GVAR(barometricPressure) = 1013.25; +GVAR(relativeHumidity) = 0.5; GVAR(windSpeed) = [0, 0, 0, 0]; GVAR(windDirection) = [12, 12, 12, 12]; diff --git a/addons/atragmx/functions/fnc_parse_input.sqf b/addons/atragmx/functions/fnc_parse_input.sqf index 4a525dcad8..7d364cbdfc 100644 --- a/addons/atragmx/functions/fnc_parse_input.sqf +++ b/addons/atragmx/functions/fnc_parse_input.sqf @@ -15,9 +15,9 @@ */ #include "script_component.hpp" -GVAR(temperature) set [GVAR(currentTarget), parseNumber(ctrlText 200)]; -GVAR(barometricPressure) set [GVAR(currentTarget), 0 max parseNumber(ctrlText 210)]; -GVAR(relativeHumidity) set [GVAR(currentTarget), (0 max parseNumber(ctrlText 220) min 100) / 100]; +GVAR(temperature) = parseNumber(ctrlText 200); +GVAR(barometricPressure) = 0 max parseNumber(ctrlText 210); +GVAR(relativeHumidity) = (0 max parseNumber(ctrlText 220) min 100) / 100; GVAR(windSpeed) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 300)) min 50]; GVAR(windDirection) set [GVAR(currentTarget), 1 max Round(parseNumber(ctrlText 310)) min 12]; @@ -44,20 +44,20 @@ _boreHeight = 0.1 max _boreHeight min 10; _bulletMass = 1 max _bulletMass min 100; _muzzleVelocity = 100 max _muzzleVelocity min 1400; -(GVAR(workingMemory) select GVAR(currentTarget)) set [5, _boreHeight]; -(GVAR(workingMemory) select GVAR(currentTarget)) set [12, _bulletMass]; +GVAR(workingMemory) set [5, _boreHeight]; +GVAR(workingMemory) set [12, _bulletMass]; if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (missionNamespace getVariable [QEGVAR(advanced_ballistics,AdvancedAirDragEnabled), false])) then { - (GVAR(workingMemory) select GVAR(currentTarget)) set [15, _airFriction]; + GVAR(workingMemory) set [15, _airFriction]; } else { - (GVAR(workingMemory) select GVAR(currentTarget)) set [4, _airFriction]; + GVAR(workingMemory) set [4, _airFriction]; }; -(GVAR(workingMemory) select GVAR(currentTarget)) set [1, _muzzleVelocity]; +GVAR(workingMemory) set [1, _muzzleVelocity]; -private ["_elevationCur", "_elevationCur", "_elevationScopeStep", "_windageScopeStep"]; +private ["_elevationCur", "_windageCur", "_elevationScopeStep", "_windageScopeStep"]; _elevationCur = parseNumber(ctrlText 402); _windageCur = parseNumber(ctrlText 412); -switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do +switch (GVAR(currentScopeUnit)) do { case 0: { @@ -73,16 +73,16 @@ switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do case 3: { - _elevationScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 7); - _windageScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 8); + _elevationScopeStep = (GVAR(workingMemory) select 7); + _windageScopeStep = (GVAR(workingMemory) select 8); _elevationCur = _elevationCur * _elevationScopeStep; _windageCur = _windageCur * _windageScopeStep; }; }; -(GVAR(workingMemory) select GVAR(currentTarget)) set [10, _elevationCur]; -(GVAR(workingMemory) select GVAR(currentTarget)) set [11, _windageCur]; +GVAR(workingMemory) set [10, _elevationCur]; +GVAR(workingMemory) set [11, _windageCur]; [] call FUNC(update_gun); [] call FUNC(update_atmosphere); diff --git a/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf b/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf index 1a20af7452..96d638dc1a 100644 --- a/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf +++ b/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -(GVAR(workingMemory) select GVAR(currentTarget)) set [10, 0]; -(GVAR(workingMemory) select GVAR(currentTarget)) set [11, 0]; +GVAR(workingMemory) set [10, 0]; +GVAR(workingMemory) set [11, 0]; [] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_save_gun.sqf b/addons/atragmx/functions/fnc_save_gun.sqf index d797939991..4b42f2027f 100644 --- a/addons/atragmx/functions/fnc_save_gun.sqf +++ b/addons/atragmx/functions/fnc_save_gun.sqf @@ -18,7 +18,7 @@ private ["_index"]; _index = 0 max (lbCurSel 6000); -GVAR(gunList) set [_index, +(GVAR(workingMemory) select GVAR(currentTarget))]; +GVAR(gunList) set [_index, +GVAR(workingMemory)]; lbClear 6000; { diff --git a/addons/atragmx/functions/fnc_show_gun_list.sqf b/addons/atragmx/functions/fnc_show_gun_list.sqf index 8834f755f0..e51aaba13b 100644 --- a/addons/atragmx/functions/fnc_show_gun_list.sqf +++ b/addons/atragmx/functions/fnc_show_gun_list.sqf @@ -22,5 +22,5 @@ GVAR(showGunList) = _this; if (_this) then { ctrlSetFocus (_dsp displayCtrl 6002); - lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))]; + lbSetCurSel [6000, GVAR(currentGun)]; }; diff --git a/addons/atragmx/functions/fnc_update_atmosphere.sqf b/addons/atragmx/functions/fnc_update_atmosphere.sqf index 91f1831b04..68a60f72e9 100644 --- a/addons/atragmx/functions/fnc_update_atmosphere.sqf +++ b/addons/atragmx/functions/fnc_update_atmosphere.sqf @@ -15,10 +15,10 @@ */ #include "script_component.hpp" -ctrlSetText [200, Str(Round((GVAR(temperature) select GVAR(currentTarget)) * 10) / 10)]; +ctrlSetText [200, Str(Round(GVAR(temperature) * 10) / 10)]; if (GVAR(currentUnit) == 1) then { - ctrlSetText [210, Str(Round((GVAR(barometricPressure) select GVAR(currentTarget)) * 100) / 100)]; + ctrlSetText [210, Str(Round(GVAR(barometricPressure) * 100) / 100)]; } else { - ctrlSetText [210, Str(Round(GVAR(barometricPressure) select GVAR(currentTarget)))]; + ctrlSetText [210, Str(Round(GVAR(barometricPressure)))]; }; -ctrlSetText [220, Str(Round((GVAR(relativeHumidity) select GVAR(currentTarget)) * 100 * 10) / 10)]; +ctrlSetText [220, Str(Round(GVAR(relativeHumidity) * 100 * 10) / 10)]; diff --git a/addons/atragmx/functions/fnc_update_gun.sqf b/addons/atragmx/functions/fnc_update_gun.sqf index cd80e5f122..1e12439878 100644 --- a/addons/atragmx/functions/fnc_update_gun.sqf +++ b/addons/atragmx/functions/fnc_update_gun.sqf @@ -15,39 +15,39 @@ */ #include "script_component.hpp" -ctrlSetText [1000, (GVAR(workingMemory) select GVAR(currentTarget)) select 0]; +ctrlSetText [1000, GVAR(workingMemory) select 0]; if (GVAR(currentUnit) == 1) then { - ctrlSetText [ 100, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 5) / 2.54 * 100) / 100)]; + ctrlSetText [ 100, Str(Round((GVAR(workingMemory) select 5) / 2.54 * 100) / 100)]; } else { - ctrlSetText [ 100, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 5) * 100) / 100)]; + ctrlSetText [ 100, Str(Round((GVAR(workingMemory) select 5) * 100) / 100)]; }; if (GVAR(currentUnit) == 1) then { - ctrlSetText [ 110, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 12) * 15.4323584))]; + ctrlSetText [ 110, Str(Round((GVAR(workingMemory) select 12) * 15.4323584))]; } else { - ctrlSetText [ 110, Str(Round((GVAR(workingMemory) select GVAR(currentTarget)) select 12))]; + ctrlSetText [ 110, Str(Round(GVAR(workingMemory) select 12))]; }; if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (missionNamespace getVariable [QEGVAR(advanced_ballistics,AdvancedAirDragEnabled), false])) then { - ctrlSetText [ 120, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 15) * 1000) / 1000)]; + ctrlSetText [ 120, Str(Round((GVAR(workingMemory) select 15) * 1000) / 1000)]; } else { - ctrlSetText [ 120, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 4) * -1000 * 1000) / 1000)]; + ctrlSetText [ 120, Str(Round((GVAR(workingMemory) select 4) * -1000 * 1000) / 1000)]; }; if (GVAR(currentUnit) == 1) then { - ctrlSetText [130, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 1) * 3.2808399))]; + ctrlSetText [130, Str(Round((GVAR(workingMemory) select 1) * 3.2808399))]; } else { - ctrlSetText [130, Str(Round((GVAR(workingMemory) select GVAR(currentTarget)) select 1))]; + ctrlSetText [130, Str(Round(GVAR(workingMemory) select 1))]; }; if (GVAR(currentUnit) == 2) then { - ctrlSetText [140, Str(Round((GVAR(workingMemory) select GVAR(currentTarget)) select 2))]; + ctrlSetText [140, Str(Round(GVAR(workingMemory) select 2))]; } else { - ctrlSetText [140, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 2) * 1.0936133))]; + ctrlSetText [140, Str(Round((GVAR(workingMemory) select 2) * 1.0936133))]; }; [] call FUNC(update_scope_unit); diff --git a/addons/atragmx/functions/fnc_update_range_card.sqf b/addons/atragmx/functions/fnc_update_range_card.sqf index 546c38d24c..358a74ce5d 100644 --- a/addons/atragmx/functions/fnc_update_range_card.sqf +++ b/addons/atragmx/functions/fnc_update_range_card.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -private ["_range", "_elevation", "_windage", "_lead", "_TOF", "_velocity", "_kineticEnergy", "_rangeOutput", "_elevationOutput", "_windageOutput", "_lastColumnOutput"]; +private ["_range", "_elevation", "_windage", "_elevationScopeStep", "_windageScopeStep", "_lead", "_TOF", "_velocity", "_kineticEnergy", "_rangeOutput", "_elevationOutput", "_windageOutput", "_lastColumnOutput"]; _lastColumnOutput = ""; ctrlSetText [5006, (GVAR(rangeCardLastColumns) select GVAR(rangeCardCurrentColumn))]; @@ -39,7 +39,7 @@ lnbClear 5007; _velocity = _x select 5; _kineticEnergy = _x select 6; - switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do + switch (GVAR(currentScopeUnit)) do { case 0: { @@ -55,8 +55,8 @@ lnbClear 5007; case 3: { - _elevationScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 7); - _windageScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 8); + _elevationScopeStep = (GVAR(workingMemory) select 7); + _windageScopeStep = (GVAR(workingMemory) select 8); _elevation = Round(_elevation / _elevationScopeStep); _windage = Round(_windage / _windageScopeStep); diff --git a/addons/atragmx/functions/fnc_update_relative_click_memory.sqf b/addons/atragmx/functions/fnc_update_relative_click_memory.sqf index 378124ad4f..1d5add83db 100644 --- a/addons/atragmx/functions/fnc_update_relative_click_memory.sqf +++ b/addons/atragmx/functions/fnc_update_relative_click_memory.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -(GVAR(workingMemory) select GVAR(currentTarget)) set [10, (GVAR(elevationOutput) select GVAR(currentTarget))]; -(GVAR(workingMemory) select GVAR(currentTarget)) set [11, (GVAR(windageOutput) select GVAR(currentTarget))]; +GVAR(workingMemory) set [10, (GVAR(elevationOutput) select GVAR(currentTarget))]; +GVAR(workingMemory) set [11, (GVAR(windageOutput) select GVAR(currentTarget))]; [] call FUNC(update_result); diff --git a/addons/atragmx/functions/fnc_update_result.sqf b/addons/atragmx/functions/fnc_update_result.sqf index 11ff8a314e..addd1034b2 100644 --- a/addons/atragmx/functions/fnc_update_result.sqf +++ b/addons/atragmx/functions/fnc_update_result.sqf @@ -19,15 +19,15 @@ private ["_elevationAbs", "_elevationRel", "_elevationCur", "_windageAbs", "_win _elevationAbs = (GVAR(elevationOutput) select GVAR(currentTarget)); _windageAbs = (GVAR(windageOutput) select GVAR(currentTarget)); -_elevationCur = (GVAR(workingMemory) select GVAR(currentTarget)) select 10; -_windageCur = (GVAR(workingMemory) select GVAR(currentTarget)) select 11; +_elevationCur = GVAR(workingMemory) select 10; +_windageCur = GVAR(workingMemory) select 11; _elevationRel = _elevationAbs - _elevationCur; _windageRel = _windageAbs - _windageCur; _lead = (GVAR(leadOutput) select GVAR(currentTarget)); -switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do +switch (GVAR(currentScopeUnit)) do { case 0: { @@ -55,8 +55,8 @@ switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do case 3: { - _elevationScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 7); - _windageScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 8); + _elevationScopeStep = (GVAR(workingMemory) select 7); + _windageScopeStep = (GVAR(workingMemory) select 8); _elevationAbs = Round(_elevationAbs / _elevationScopeStep); _windageAbs = Round(_windageAbs / _windageScopeStep); diff --git a/addons/atragmx/functions/fnc_update_scope_unit.sqf b/addons/atragmx/functions/fnc_update_scope_unit.sqf index 2a4435c376..55bb703eee 100644 --- a/addons/atragmx/functions/fnc_update_scope_unit.sqf +++ b/addons/atragmx/functions/fnc_update_scope_unit.sqf @@ -15,5 +15,5 @@ */ #include "script_component.hpp" -ctrlSetText [2000, GVAR(scopeUnits) select (GVAR(currentScopeUnit) select GVAR(currentTarget))]; -ctrlSetText [5000, GVAR(scopeUnits) select (GVAR(currentScopeUnit) select GVAR(currentTarget))]; +ctrlSetText [2000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; +ctrlSetText [5000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; diff --git a/addons/atragmx/functions/fnc_update_zero_range.sqf b/addons/atragmx/functions/fnc_update_zero_range.sqf index 15e65c38a6..e7f0c2c301 100644 --- a/addons/atragmx/functions/fnc_update_zero_range.sqf +++ b/addons/atragmx/functions/fnc_update_zero_range.sqf @@ -16,16 +16,16 @@ #include "script_component.hpp" private ["_scopeBaseAngle"]; -_scopeBaseAngle = ((GVAR(workingMemory) select GVAR(currentTarget)) select 3); +_scopeBaseAngle = (GVAR(workingMemory) select 3); private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"]; -_bulletMass = (GVAR(workingMemory) select GVAR(currentTarget)) select 12; -_boreHeight = (GVAR(workingMemory) select GVAR(currentTarget)) select 5; -_airFriction = (GVAR(workingMemory) select GVAR(currentTarget)) select 4; -_muzzleVelocity = (GVAR(workingMemory) select GVAR(currentTarget)) select 1; -_bc = (GVAR(workingMemory) select GVAR(currentTarget)) select 15; -_dragModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 16; -_atmosphereModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 17; +_bulletMass = GVAR(workingMemory) select 12; +_boreHeight = GVAR(workingMemory) select 5; +_airFriction = GVAR(workingMemory) select 4; +_muzzleVelocity = GVAR(workingMemory) select 1; +_bc = GVAR(workingMemory) select 15; +_dragModel = GVAR(workingMemory) select 16; +_atmosphereModel = GVAR(workingMemory) select 17; private ["_zeroRange"]; _zeroRange = Round(parseNumber(ctrlText 140)); @@ -34,14 +34,14 @@ if (GVAR(currentUnit) != 2) then _zeroRange = _zeroRange / 1.0936133; }; if (_zeroRange < 10) exitWith { - (GVAR(workingMemory) select GVAR(currentTarget)) set [2, _zeroRange]; - (GVAR(workingMemory) select GVAR(currentTarget)) set [3, 0]; + GVAR(workingMemory) set [2, _zeroRange]; + GVAR(workingMemory) set [3, 0]; }; private ["_temperature", "_barometricPressure", "_relativeHumidity"]; -_temperature = (GVAR(temperature) select GVAR(currentTarget)); -_barometricPressure = (GVAR(barometricPressure) select GVAR(currentTarget)); -_relativeHumidity = (GVAR(relativeHumidity) select GVAR(currentTarget)); +_temperature = GVAR(temperature); +_barometricPressure = GVAR(barometricPressure); +_relativeHumidity = GVAR(relativeHumidity); if (GVAR(currentUnit) == 1) then { _temperature = (_temperature - 32) / 1.8; @@ -51,5 +51,5 @@ if (GVAR(currentUnit) == 1) then private ["_result"]; _result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, 0, 0, 0, 0, _zeroRange, _bc, _dragModel, _atmosphereModel, false] call FUNC(calculate_solution); -(GVAR(workingMemory) select GVAR(currentTarget)) set [2, _zeroRange]; -(GVAR(workingMemory) select GVAR(currentTarget)) set [3, _scopeBaseAngle + (_result select 0) / 60]; +GVAR(workingMemory) set [2, _zeroRange]; +GVAR(workingMemory) set [3, _scopeBaseAngle + (_result select 0) / 60]; From 4e4dee18df3ad25dbf73578308011939578b6231 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 18:21:19 +0200 Subject: [PATCH 223/247] Added missing privates / Removed unused privates --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 182166d3af..baa3a871fa 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_bulletTranslation", "_airFriction", "_dragModel", "_velocityBoundaryData", "_muzzleVelocity", "_muzzleVelocityCoef", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ACE_Elevation", "_ACE_Windage", "_ID"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityCoef", "_muzzleAccessory", "_initSpeedCoef", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -191,7 +191,7 @@ if (GVAR(AdvancedAirDragEnabled)) then { if ((GVAR(bulletDatabaseOccupiedIndices) pushBack _index) == 0) then { [{ - private ["_bulletDatabaseEntry", "_bullet", "_caliber", "_muzzleVelocity", "_frames", "_speed", "_airFriction", "_airFrictionRef", "_dragModel", "_atmosphereModel", "_ballisticCoefficient", "_ballisticCoefficients", "_velocityBoundaries", "_airDensity", "_stabilityFactor", "_transonicStabilityCoef", "_twistDirection", "_unit", "_bulletTraceVisible", "_index", "_temperature", "_humidity", "_deltaT", "_TOF", "_bulletPosition", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_bulletSpeedAvg", "_wind", "_drag", "_dragRef", "_vect", "_accel", "_accelRef", "_centripetalAccel", "_pressure", "_pressureDeviation", "_windSourceObstacle", "_windSourceTerrain", "_height", "_roughnessLength"]; + private ["_bulletDatabaseEntry", "_bullet", "_caliber", "_muzzleVelocity", "_frames", "_speed", "_airFriction", "_airFrictionRef", "_dragModel", "_atmosphereModel", "_ballisticCoefficient", "_ballisticCoefficients", "_velocityBoundaries", "_airDensity", "_stabilityFactor", "_transonicStabilityCoef", "_twistDirection", "_unit", "_bulletTraceVisible", "_index", "_temperature", "_humidity", "_deltaT", "_TOF", "_bulletPosition", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_bulletSpeedAvg", "_wind", "_drag", "_dragRef", "_vect", "_accel", "_accelRef", "_centripetalAccel", "_pressure", "_pressureDeviation", "_windSourceObstacle", "_windSourceTerrain", "_height", "_roughnessLength", "_bulletDir", "_horizontalDeflection", "_horizontalDeflectionPartial", "_spinDrift", "_spinDriftPartial"]; { _bulletDatabaseEntry = (GVAR(bulletDatabase) select _x); From 4c749a30cf29e529a537b82c3926116b97e5ef4f Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 09:22:11 -0700 Subject: [PATCH 224/247] ignore leading numbers search_privates --- tools/search_privates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index eccde2fc26..8276bef848 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -27,7 +27,7 @@ def get_private_declare(content): priv_dec_str = ''.join(priv_srch_declared) - srch = re.compile('(? Date: Thu, 16 Apr 2015 18:29:23 +0200 Subject: [PATCH 225/247] Added missing parentheses --- tools/search_privates.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index 8276bef848..fa4801771d 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -78,9 +78,9 @@ def check_privates(filepath): missing.append(s) if len(missing) > 0: - print filepath + print (filepath) for bad_priv in missing: - print '\t' + bad_priv + print ('\t' + bad_priv) def main(): @@ -102,4 +102,4 @@ def main(): check_privates(filename) if __name__ == "__main__": - main() \ No newline at end of file + main() From 9d87f08aa629a677c3d515c26b21feb18d0622e8 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 09:48:21 -0700 Subject: [PATCH 226/247] Regex's kill kids. --- tools/search_privates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index 8276bef848..eef6535e46 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -16,7 +16,7 @@ def get_private_declare(content): priv_dec_str = ''.join(priv_srch_declared) - srch = re.compile('') + srch = re.compile('(? Date: Thu, 16 Apr 2015 18:52:48 +0200 Subject: [PATCH 227/247] Added missing privates --- addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf index 42bac3eac8..f5f1d3861e 100644 --- a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf +++ b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" [{ - private ["_bullet", "_airFriction", "_args", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueVelocity", "_dragRef", "_drag", "_accelRef", "_accel"]; + private ["_args", "_bullet", "_airFriction", "_time", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_dragRef", "_drag", "_accelRef", "_accel"]; _args = _this select 0; _bullet = _args select 0; From 9db256ad8d80a43374056490b2eabbd9b7258d89 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 09:54:52 -0700 Subject: [PATCH 228/247] ignore preceeding numbers --- tools/search_privates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index 55a6dfc791..9cc55fbdcc 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -53,7 +53,7 @@ def check_privates(filepath): # Regex search privates - srch = re.compile('(? Date: Thu, 16 Apr 2015 19:00:37 +0200 Subject: [PATCH 229/247] Fixed constant name not following the coding-guideline --- addons/atragmx/functions/fnc_create_dialog.sqf | 2 +- addons/atragmx/functions/fnc_show_gun_list.sqf | 2 +- .../atragmx/functions/fnc_show_range_card_setup.sqf | 2 +- .../functions/fnc_show_target_range_assist.sqf | 2 +- .../functions/fnc_show_target_speed_assist.sqf | 2 +- .../functions/fnc_target_speed_assist_timer.sqf | 2 +- addons/atragmx/functions/fnc_toggle_range_card.sqf | 2 +- .../functions/fnc_update_target_selection.sqf | 12 ++++++------ .../atragmx/functions/fnc_update_unit_selection.sqf | 8 ++++---- addons/atragmx/script_component.hpp | 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 8dc0f3e34f..73945a4030 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -29,7 +29,7 @@ GVAR(showAddNewGun) call FUNC(show_add_new_gun); GVAR(showGunList) call FUNC(show_gun_list); GVAR(showRangeCard) call FUNC(show_range_card); if (GVAR(showRangeCard)) then { - ctrlSetFocus (_dsp displayCtrl 5001); + ctrlSetFocus (__DSP displayCtrl 5001); [] call FUNC(update_range_card); }; GVAR(showRangeCardSetup) call FUNC(show_range_card_setup); diff --git a/addons/atragmx/functions/fnc_show_gun_list.sqf b/addons/atragmx/functions/fnc_show_gun_list.sqf index e51aaba13b..565da71ce6 100644 --- a/addons/atragmx/functions/fnc_show_gun_list.sqf +++ b/addons/atragmx/functions/fnc_show_gun_list.sqf @@ -20,7 +20,7 @@ GVAR(showGunList) = _this; {ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007]; if (_this) then { - ctrlSetFocus (_dsp displayCtrl 6002); + ctrlSetFocus (__DSP displayCtrl 6002); lbSetCurSel [6000, GVAR(currentGun)]; }; diff --git a/addons/atragmx/functions/fnc_show_range_card_setup.sqf b/addons/atragmx/functions/fnc_show_range_card_setup.sqf index e9afe41cc5..98e5f57998 100644 --- a/addons/atragmx/functions/fnc_show_range_card_setup.sqf +++ b/addons/atragmx/functions/fnc_show_range_card_setup.sqf @@ -20,7 +20,7 @@ GVAR(showRangeCardSetup) = _this; {ctrlShow [_x, _this]} forEach [10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009]; if (_this) then { - ctrlSetFocus (_dsp displayCtrl 10006); + ctrlSetFocus (__DSP displayCtrl 10006); ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))]; ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))]; diff --git a/addons/atragmx/functions/fnc_show_target_range_assist.sqf b/addons/atragmx/functions/fnc_show_target_range_assist.sqf index e3ca0a2626..f7b973876f 100644 --- a/addons/atragmx/functions/fnc_show_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_range_assist.sqf @@ -20,7 +20,7 @@ GVAR(showTargetRangeAssist) = _this; {ctrlShow [_x, _this]} forEach [7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020]; if (_this) then { - ctrlSetFocus (_dsp displayCtrl 7018); + ctrlSetFocus (__DSP displayCtrl 7018); ctrlSetText [7012, Str(parseNumber(ctrlText 320))]; ctrlSetText [7013, Str(parseNumber(ctrlText 340))]; diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf index 90425e26db..43b9afe470 100644 --- a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf @@ -20,7 +20,7 @@ GVAR(showTargetSpeedAssist) = _this; {ctrlShow [_x, _this]} forEach [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015]; if (_this) then { - ctrlSetFocus (_dsp displayCtrl 8012); + ctrlSetFocus (__DSP displayCtrl 8012); ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; diff --git a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf index d8414ba692..da4b68a7c7 100644 --- a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf @@ -20,7 +20,7 @@ if !(ctrlVisible 9000) then { false call FUNC(show_target_speed_assist); true call FUNC(show_target_speed_assist_timer); - ctrlSetFocus (_dsp displayCtrl 9002); + ctrlSetFocus (__DSP displayCtrl 9002); [{ private ["_args", "_startTime"]; diff --git a/addons/atragmx/functions/fnc_toggle_range_card.sqf b/addons/atragmx/functions/fnc_toggle_range_card.sqf index 6a75ea5445..e5d5cb0269 100644 --- a/addons/atragmx/functions/fnc_toggle_range_card.sqf +++ b/addons/atragmx/functions/fnc_toggle_range_card.sqf @@ -24,7 +24,7 @@ if (ctrlVisible 5006) then false call FUNC(show_main_page); true call FUNC(show_range_card); - ctrlSetFocus (_dsp displayCtrl 5001); + ctrlSetFocus (__DSP displayCtrl 5001); [] call FUNC(calculate_range_card); [] call FUNC(update_range_card); diff --git a/addons/atragmx/functions/fnc_update_target_selection.sqf b/addons/atragmx/functions/fnc_update_target_selection.sqf index 476c22d658..2a29d05fb1 100644 --- a/addons/atragmx/functions/fnc_update_target_selection.sqf +++ b/addons/atragmx/functions/fnc_update_target_selection.sqf @@ -15,13 +15,13 @@ */ #include "script_component.hpp" -(_dsp displayCtrl 500) ctrlEnable true; -(_dsp displayCtrl 501) ctrlEnable true; -(_dsp displayCtrl 502) ctrlEnable true; -(_dsp displayCtrl 503) ctrlEnable true; +(__DSP displayCtrl 500) ctrlEnable true; +(__DSP displayCtrl 501) ctrlEnable true; +(__DSP displayCtrl 502) ctrlEnable true; +(__DSP displayCtrl 503) ctrlEnable true; -(_dsp displayCtrl 500 + GVAR(currentTarget)) ctrlEnable false; +(__DSP displayCtrl 500 + GVAR(currentTarget)) ctrlEnable false; -ctrlSetFocus (_dsp displayCtrl 3000); +ctrlSetFocus (__DSP displayCtrl 3000); [] call FUNC(update_unit_selection); diff --git a/addons/atragmx/functions/fnc_update_unit_selection.sqf b/addons/atragmx/functions/fnc_update_unit_selection.sqf index f6a51c5cfc..5468d2d0fc 100644 --- a/addons/atragmx/functions/fnc_update_unit_selection.sqf +++ b/addons/atragmx/functions/fnc_update_unit_selection.sqf @@ -15,11 +15,11 @@ */ #include "script_component.hpp" -(_dsp displayCtrl 600) ctrlEnable true; -(_dsp displayCtrl 601) ctrlEnable true; -(_dsp displayCtrl 602) ctrlEnable true; +(__DSP displayCtrl 600) ctrlEnable true; +(__DSP displayCtrl 601) ctrlEnable true; +(__DSP displayCtrl 602) ctrlEnable true; -(_dsp displayCtrl 600 + GVAR(currentUnit)) ctrlEnable false; +(__DSP displayCtrl 600 + GVAR(currentUnit)) ctrlEnable false; [] call FUNC(update_gun); [] call FUNC(update_atmosphere); diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index 014524c6dd..60b3083a96 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -11,4 +11,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define _dsp (uiNamespace getVariable "ATragMX_Display") +#define __DSP (uiNamespace getVariable "ATragMX_Display") From 61d1e6854ecbd6db76f62476a12985e88eee037e Mon Sep 17 00:00:00 2001 From: Ivan Navarro Cabello Date: Thu, 16 Apr 2015 19:03:15 +0200 Subject: [PATCH 230/247] added spanish translation added spanish translation to ballistics and respawn --- addons/ballistics/stringtable.xml | 19 +++++++++++++++++-- addons/respawn/stringtable.xml | 10 ++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index cf59b59f40..c95da8d760 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -480,7 +480,7 @@ Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Schuss: 130<br />Verwendet für: SPMG Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG - Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG @@ -805,31 +805,37 @@ 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) 7.62mm 10Cps (Mk319 Mod 0) + Cargador de 10 balas de 7.62mm (Mk319 Mod 0) 7.62mm Mk319 7,62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 + Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) 7.62mm 20Cps (Mk319 Mod 0) + Cargador de 20 balas de 7.62mm (Mk319 Mod 0) 7.62mm Mk319 7,62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 + Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) @@ -918,38 +924,47 @@ .338 10Rnd Mag (API526) .338 10Cps (API526) + Cargador de 10 balas de .338 (API526) .338 AP .338 AP + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 Calibre: 8.6x70mm (API526)<br />Cartouches: 10 + Calibre: 8.6x70mm (API526)<br />Balas: 10 12.7x99mm 5Rnd Mag 12.7x99mm 5Cps + Cargador de 5 balas de 12.7x99mm 12.7mm 12.7mm + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 Calibre: 12.7x99mm<br />Cartouches: 5 + Calibre: 12.7x99mm<br />Balas: 5 12.7x99mm 5Rnd Mag (AMAX) 12.7x99mm 5Rnd Mag (AMAX) + Cargador de 5 balas de 12.7x99mm (AMAX) 12.7mm 12.7mm + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5 + Calibre: 12.7x99mm (AMAX)<br />Balas: 5 - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index af003b4c28..409a149f83 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -5,7 +5,7 @@ Deploy in 5 seconds ... Déploiement dans 5 secondes ... Wird in 5 Sekunden errichtet ... - Desplegando en 5 segundos ... + Despliegue en 5 segundos ... Возрождение через 5 секунд ... Rozmieszczenie za 5 sekund ... Respawn za 5 sekund... @@ -44,26 +44,32 @@ Rallypoint West (Base) Sammelpunkt West (Basis) + Punto de reunión Oeste (Base) Rallypoint East (Base) Sammelpunkt Ost (Basis) + Punto de reunión Este (Base) Rallypoint Independent (Base) Sammelpunkt Widerstand (Basis) + Punto de reunión Independiente (Base) Rallypoint West Sammelpunkt West + Punto de reunión Oeste Rallypoint East Sammelpunkt Ost + Punto de reunión Este Rallypoint Independent Sammelpunkt Widerstand + Punto de reunión Independiente - + \ No newline at end of file From 6a942ac8209cce075fcb7284e6c8eb8e5d5c8b47 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 16 Apr 2015 10:10:24 -0700 Subject: [PATCH 231/247] Fixed: ACE_Fake**** Was showing in arsenal. Fixes #670 --- addons/common/CfgMagazines.hpp | 1 + addons/common/CfgWeapons.hpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/addons/common/CfgMagazines.hpp b/addons/common/CfgMagazines.hpp index 815ab6db9f..465ea57f78 100644 --- a/addons/common/CfgMagazines.hpp +++ b/addons/common/CfgMagazines.hpp @@ -2,6 +2,7 @@ class CfgMagazines { class CA_Magazine; class ACE_FakeMagazine: CA_Magazine { + scopeCurator = 1; descriptionShort = ""; displayName = ""; displayNameShort = ""; diff --git a/addons/common/CfgWeapons.hpp b/addons/common/CfgWeapons.hpp index c2d1532f40..cf8c06798e 100644 --- a/addons/common/CfgWeapons.hpp +++ b/addons/common/CfgWeapons.hpp @@ -14,6 +14,8 @@ class CfgWeapons { class ACE_FakePrimaryWeapon: Rifle_Base_F { scope = 2; + scopeCurator = 1; + displayName = ""; model = "\A3\Weapons_f\empty"; picture = ""; From e06fd7350e7980da734f3452ab4603be74750d97 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 16 Apr 2015 12:10:40 -0500 Subject: [PATCH 232/247] DEFAULT_PARAM KEY_PARAM private check --- tools/search_privates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/search_privates.py b/tools/search_privates.py index 9cc55fbdcc..404c56f4db 100644 --- a/tools/search_privates.py +++ b/tools/search_privates.py @@ -21,7 +21,7 @@ def get_private_declare(content): priv_split = sorted(set(priv_split)) priv_declared += priv_split; - srch = re.compile('PARAMS_[0-9].*|EXPLODE_[0-9]_PVT.*') + srch = re.compile('PARAMS_[0-9].*|EXPLODE_[0-9]_PVT.*|DEFAULT_PARAM.*|KEY_PARAM.*') priv_srch_declared = srch.findall(content) priv_srch_declared = sorted(set(priv_srch_declared)) From 638433614c8778ec7b9b80b269ec6829376fa130 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 16 Apr 2015 12:36:12 -0500 Subject: [PATCH 233/247] Some missing private defines. --- addons/attach/functions/fnc_attach.sqf | 1 + addons/attach/functions/fnc_canAttach.sqf | 2 +- addons/attach/functions/fnc_detach.sqf | 2 +- addons/attach/functions/fnc_getChildrenAttachActions.sqf | 1 + addons/backpacks/functions/fnc_backpackOpened.sqf | 6 +----- addons/captives/XEH_postInit.sqf | 1 + addons/captives/functions/fnc_doLoadCaptive.sqf | 1 + addons/captives/functions/fnc_moduleSurrender.sqf | 1 + addons/captives/functions/fnc_setHandcuffed.sqf | 2 ++ addons/captives/functions/fnc_setSurrendered.sqf | 2 ++ addons/disarming/functions/fnc_canBeDisarmed.sqf | 2 ++ addons/disarming/functions/fnc_disarmDropItems.sqf | 5 +++++ addons/disarming/functions/fnc_eventTargetStart.sqf | 2 ++ addons/disarming/functions/fnc_getAllGearUnit.sqf | 2 ++ addons/disarming/functions/fnc_openDisarmDialog.sqf | 3 +++ addons/disarming/functions/fnc_showItemsInListbox.sqf | 2 +- addons/disarming/functions/fnc_verifyMagazinesMoved.sqf | 2 +- addons/disposable/XEH_postInitClient.sqf | 5 ++--- 18 files changed, 30 insertions(+), 12 deletions(-) diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index 3bb54eee16..45b1c0a336 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -62,6 +62,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment _actionID = _unit addAction [format ["%1", localize "STR_ACE_Attach_CancelAction"], {GVAR(placeAction) = 0}]; [{ + private "_startingPosition"; PARAMS_2(_args,_pfID); EXPLODE_7_PVT(_args,_unit,_attachToVehicle,_itemClassname,_itemVehClass,_tempObject,_onAtachText,_actionID); diff --git a/addons/attach/functions/fnc_canAttach.sqf b/addons/attach/functions/fnc_canAttach.sqf index d0930dc069..18071092d5 100644 --- a/addons/attach/functions/fnc_canAttach.sqf +++ b/addons/attach/functions/fnc_canAttach.sqf @@ -19,7 +19,7 @@ PARAMS_3(_attachToVehicle,_player,_args); -private ["_itemName", "_attachLimit", "_attachedObjects"]; +private ["_itemName", "_attachLimit", "_attachedObjects","_playerPos"]; _itemName = [_args, 0, ""] call CBA_fnc_defaultParam; _attachLimit = [6, 1] select (_player == _attachToVehicle); diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf index 99ac646013..a56936301d 100644 --- a/addons/attach/functions/fnc_detach.sqf +++ b/addons/attach/functions/fnc_detach.sqf @@ -18,7 +18,7 @@ PARAMS_2(_attachToVehicle,_unit); -private ["_attachedObjects", "_attachedItems"]; +private ["_attachedObjects", "_attachedItems", "_itemDisplayName"]; _attachedObjects = _attachToVehicle getVariable [QGVAR(Objects), []]; _attachedItems = _attachToVehicle getVariable [QGVAR(ItemNames), []]; diff --git a/addons/attach/functions/fnc_getChildrenAttachActions.sqf b/addons/attach/functions/fnc_getChildrenAttachActions.sqf index 3594e10bd6..fb432146be 100644 --- a/addons/attach/functions/fnc_getChildrenAttachActions.sqf +++ b/addons/attach/functions/fnc_getChildrenAttachActions.sqf @@ -17,6 +17,7 @@ */ #include "script_component.hpp" +private ["_listed", "_actions", "_item", "_displayName", "_picture", "_action"]; PARAMS_2(_target,_player); _listed = []; diff --git a/addons/backpacks/functions/fnc_backpackOpened.sqf b/addons/backpacks/functions/fnc_backpackOpened.sqf index 1894d68f23..3f5cf53994 100644 --- a/addons/backpacks/functions/fnc_backpackOpened.sqf +++ b/addons/backpacks/functions/fnc_backpackOpened.sqf @@ -13,11 +13,7 @@ */ #include "script_component.hpp" -private ["_unit", "_target"]; - -_unit = _this select 0; -_target = _this select 1; -_backpack = _this select 2; +PARAMS_3(_unit,_target,_backpack); // do cam shake if the target is the player if ([_target] call EFUNC(common,isPlayer)) then { diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 651edbcf86..f91f24025e 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -7,6 +7,7 @@ if (isServer) then { addMissionEventHandler ["HandleDisconnect", { PARAMS_1(_disconnectedPlayer); + private "_escortedUnit"; _escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull]; if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then { detach _escortedUnit; diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf index 9fd65a130d..97ecd98a0a 100644 --- a/addons/captives/functions/fnc_doLoadCaptive.sqf +++ b/addons/captives/functions/fnc_doLoadCaptive.sqf @@ -18,6 +18,7 @@ #include "script_component.hpp" PARAMS_3(_unit,_target,_vehicle); +private "_objects"; if (isNull _target) then { _objects = attachedObjects _unit; diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf index 0506b0cc17..bf0e04cd6a 100644 --- a/addons/captives/functions/fnc_moduleSurrender.sqf +++ b/addons/captives/functions/fnc_moduleSurrender.sqf @@ -18,6 +18,7 @@ #include "script_component.hpp" PARAMS_3(_logic,_units,_activated); +private ["_bisMouseOver", "_mouseOverObject"]; if (!_activated) exitWith {}; diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index 5f134ab03b..bd141988bb 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -50,6 +50,7 @@ if (_state) then { //Adds an animation changed eh //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) + private "_animChangedEHID"; _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { @@ -66,6 +67,7 @@ if (_state) then { [_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus); //remove AnimChanged EH + private "_animChangedEHID"; _animChangedEHID = _unit getVariable [QGVAR(handcuffAnimEHID), -1]; _unit removeEventHandler ["AnimChanged", _animChangedEHID]; _unit setVariable [QGVAR(handcuffAnimEHID), -1]; diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index d774e7f6e0..22de70921d 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -48,6 +48,7 @@ if (_state) then { if (_unit getVariable [QGVAR(isSurrendering), false] && {(vehicle _unit) == _unit}) then { //Adds an animation changed eh //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain) + private "_animChangedEHID"; _animChangedEHID = _unit addEventHandler ["AnimChanged", { PARAMS_2(_unit,_newAnimation); if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then { @@ -63,6 +64,7 @@ if (_state) then { [_unit, QGVAR(Surrendered), false] call EFUNC(common,setCaptivityStatus); //remove AnimChanged EH + private "_animChangedEHID"; _animChangedEHID = _unit getVariable [QGVAR(surrenderAnimEHID), -1]; _unit removeEventHandler ["AnimChanged", _animChangedEHID]; _unit setVariable [QGVAR(surrenderAnimEHID), -1]; diff --git a/addons/disarming/functions/fnc_canBeDisarmed.sqf b/addons/disarming/functions/fnc_canBeDisarmed.sqf index 04171a900d..25ec884919 100644 --- a/addons/disarming/functions/fnc_canBeDisarmed.sqf +++ b/addons/disarming/functions/fnc_canBeDisarmed.sqf @@ -17,6 +17,8 @@ PARAMS_1(_target); +private ["_animationStateCfgMoves", "_putDownAnim"]; + //Check animationState for putDown anim //This ensures the unit doesn't have to actualy do any animation to drop something //This should always be true for the 3 possible status effects that allow disarming diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index 24ab96a2cf..2cb3e89b5d 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -20,6 +20,9 @@ #define TIME_MAX_WAIT 5 +private ["_fncSumArray", "_return", "_holder", "_dropPos", "_targetMagazinesStart", "_holderMagazinesStart", "_xClassname", "_xAmmo", "_targetMagazinesEnd", "_holderMagazinesEnd", "_holderItemsStart", "_targetItemsStart", "_addToCrateClassnames", "_addToCrateCount", "_index", "_holderItemsEnd", "_targetItemsEnd", "_holderIsEmpty"]; + + PARAMS_3(_caller,_target,_listOfItemsToRemove); DEFAULT_PARAM(3,_doNotDropAmmo,false); //By default units drop all weapon mags when dropping a weapon @@ -154,6 +157,8 @@ if (_holderIsEmpty) then { //Start the PFEH to do the actions (which could take >1 frame) [{ + private ["_needToRemoveWeapon", "_needToRemoveMagazines", "_needToRemoveBackpack", "_needToRemoveVest", "_needToRemoveUniform", "_error", "_magsToPickup", "_index", "_magazinesInHolder"]; + PARAMS_2(_args,_pfID); EXPLODE_8_PVT(_args,_caller,_target,_listOfItemsToRemove,_holder,_holderIsEmpty,_maxWaitTime,_doNotDropAmmo,_startingMagazines); diff --git a/addons/disarming/functions/fnc_eventTargetStart.sqf b/addons/disarming/functions/fnc_eventTargetStart.sqf index c91f717e2a..316ec2b656 100644 --- a/addons/disarming/functions/fnc_eventTargetStart.sqf +++ b/addons/disarming/functions/fnc_eventTargetStart.sqf @@ -20,6 +20,8 @@ PARAMS_3(_caller,_target,_listOfObjectsToRemove); +private "_itemsToAdd"; + _itemsToAdd = []; { if (_x == (uniform _target)) then { diff --git a/addons/disarming/functions/fnc_getAllGearUnit.sqf b/addons/disarming/functions/fnc_getAllGearUnit.sqf index d07f40c972..a319c006ee 100644 --- a/addons/disarming/functions/fnc_getAllGearUnit.sqf +++ b/addons/disarming/functions/fnc_getAllGearUnit.sqf @@ -17,6 +17,8 @@ PARAMS_1(_target); +private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"]; + _allItems = ((weapons _target) + (magazines _target) + (items _target) + (assignedItems _target)); if ((backpack _target) != "") then { diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index 6da123b831..832f32ced5 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -28,6 +28,7 @@ ] PARAMS_2(_caller,_target); +private "_display"; //Sanity Checks if (_caller != ACE_player) exitwith {ERROR("Player isn't caller?");}; @@ -59,6 +60,7 @@ GVAR(disarmTarget) = _target; //Setup PFEH [{ + private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems"]; disableSerialization; EXPLODE_2_PVT(_this,_args,_pfID); EXPLODE_3_PVT(_args,_player,_target,_display); @@ -71,6 +73,7 @@ GVAR(disarmTarget) = _target; GVAR(disarmTarget) = objNull; if (!isNull _display) then {closeDialog 0;}; //close dialog if still open } else { + _groundContainer = _display displayCtrl 632; _targetContainer = _display displayCtrl 633; _playerName = _display displayCtrl 111; diff --git a/addons/disarming/functions/fnc_showItemsInListbox.sqf b/addons/disarming/functions/fnc_showItemsInListbox.sqf index e040233b82..5c809de4a2 100644 --- a/addons/disarming/functions/fnc_showItemsInListbox.sqf +++ b/addons/disarming/functions/fnc_showItemsInListbox.sqf @@ -19,7 +19,7 @@ disableSerialization; PARAMS_2(_listBoxCtrl,_itemsCountArray); -private "_classname"; +private ["_classname", "_count", "_displayName", "_picture"]; { _displayName = ""; diff --git a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf index 779a5e39ba..e1753f390a 100644 --- a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf +++ b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf @@ -20,7 +20,7 @@ */ #include "script_component.hpp" -private ["_problem", "_beginingArray"]; +private ["_problem", "_beginingArray", "_index"]; PARAMS_4(_startA,_endA,_startB,_endB); diff --git a/addons/disposable/XEH_postInitClient.sqf b/addons/disposable/XEH_postInitClient.sqf index 1fe598137f..c20dfa886b 100644 --- a/addons/disposable/XEH_postInitClient.sqf +++ b/addons/disposable/XEH_postInitClient.sqf @@ -5,7 +5,6 @@ #include "script_component.hpp" ["inventoryDisplayLoaded",{ - _player = ACE_player; - [_player] call FUNC(takeLoadedATWeapon); - [_player, (_this select 0)] call FUNC(updateInventoryDisplay); + [ACE_player] call FUNC(takeLoadedATWeapon); + [ACE_player, (_this select 0)] call FUNC(updateInventoryDisplay); }] call EFUNC(common,addEventHandler); \ No newline at end of file From 3d14b171a6a671af160f3cf0d296c3db72546840 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 16 Apr 2015 19:38:07 +0200 Subject: [PATCH 234/247] Make make.py itself support 32-&64-bit systems ... ... because having two different files is dumb. --- tools/make.py | 15 +- tools/make64.py | 837 ------------------------------------------------ 2 files changed, 12 insertions(+), 840 deletions(-) delete mode 100644 tools/make64.py diff --git a/tools/make.py b/tools/make.py index bd27f893f5..29cf3f1956 100644 --- a/tools/make.py +++ b/tools/make.py @@ -200,7 +200,10 @@ def find_depbo_tools(regKey): reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) try: - k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") + try: + k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\pboProject") + except FileNotFoundError: + k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") try: pboproject_path = winreg.QueryValueEx(k, "exe")[0] winreg.CloseKey(k) @@ -208,7 +211,10 @@ def find_depbo_tools(regKey): except: print_error("ERROR: Could not find pboProject.") - k = winreg.OpenKey(reg, r"Software\Mikero\rapify") + try: + k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\rapify") + except FileNotFoundError: + k = winreg.OpenKey(reg, r"Software\Mikero\rapify") try: rapify_path = winreg.QueryValueEx(k, "exe")[0] winreg.CloseKey(k) @@ -216,7 +222,10 @@ def find_depbo_tools(regKey): except: print_error("Could not find rapify.") - k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") + try: + k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\MakePbo") + except FileNotFoundError: + k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") try: makepbo_path = winreg.QueryValueEx(k, "exe")[0] winreg.CloseKey(k) diff --git a/tools/make64.py b/tools/make64.py deleted file mode 100644 index b6635f884e..0000000000 --- a/tools/make64.py +++ /dev/null @@ -1,837 +0,0 @@ -#!/usr/bin/env python -# vim: set fileencoding=utf-8 : - -# make.py -# An Arma 3 addon build system - -############################################################################### - -# The MIT License (MIT) - -# Copyright (c) 2013-2014 Ryan Schultz - -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: - -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -############################################################################### - -__version__ = "0.3dev" - -import sys - -if sys.version_info[0] == 2: - print("Python 3 is required.") - sys.exit(1) - -import os -import os.path -import shutil -import platform -import glob -import subprocess -import hashlib -import configparser -import json -import traceback -import time -import re - -if sys.platform == "win32": - import winreg - -############################################################################### -# http://akiscode.com/articles/sha-1directoryhash.shtml -# Copyright (c) 2009 Stephen Akiki -# MIT License (Means you can do whatever you want with this) -# See http://www.opensource.org/licenses/mit-license.php -# Error Codes: -# -1 -> Directory does not exist -# -2 -> General error (see stack traceback) -def get_directory_hash(directory): - directory_hash = hashlib.sha1() - if not os.path.exists (directory): - return -1 - - try: - for root, dirs, files in os.walk(directory): - for names in files: - path = os.path.join(root, names) - try: - f = open(path, 'rb') - except: - # You can't open the file for some reason - f.close() - continue - - while 1: - # Read file in as little chunks - buf = f.read(4096) - if not buf: break - new = hashlib.sha1(buf) - directory_hash.update(new.digest()) - f.close() - - except: - # Print the stack traceback - traceback.print_exc() - return -2 - - return directory_hash.hexdigest() - -# Copyright (c) André Burgaud -# http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/ -if sys.platform == "win32": - from ctypes import windll, Structure, c_short, c_ushort, byref - - SHORT = c_short - WORD = c_ushort - - class COORD(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("X", SHORT), - ("Y", SHORT)] - - class SMALL_RECT(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("Left", SHORT), - ("Top", SHORT), - ("Right", SHORT), - ("Bottom", SHORT)] - - class CONSOLE_SCREEN_BUFFER_INFO(Structure): - """struct in wincon.h.""" - _fields_ = [ - ("dwSize", COORD), - ("dwCursorPosition", COORD), - ("wAttributes", WORD), - ("srWindow", SMALL_RECT), - ("dwMaximumWindowSize", COORD)] - - # winbase.h - STD_INPUT_HANDLE = -10 - STD_OUTPUT_HANDLE = -11 - STD_ERROR_HANDLE = -12 - - # wincon.h - FOREGROUND_BLACK = 0x0000 - FOREGROUND_BLUE = 0x0001 - FOREGROUND_GREEN = 0x0002 - FOREGROUND_CYAN = 0x0003 - FOREGROUND_RED = 0x0004 - FOREGROUND_MAGENTA = 0x0005 - FOREGROUND_YELLOW = 0x0006 - FOREGROUND_GREY = 0x0007 - FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified. - - BACKGROUND_BLACK = 0x0000 - BACKGROUND_BLUE = 0x0010 - BACKGROUND_GREEN = 0x0020 - BACKGROUND_CYAN = 0x0030 - BACKGROUND_RED = 0x0040 - BACKGROUND_MAGENTA = 0x0050 - BACKGROUND_YELLOW = 0x0060 - BACKGROUND_GREY = 0x0070 - BACKGROUND_INTENSITY = 0x0080 # background color is intensified. - - stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) - SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute - GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo - - def get_text_attr(): - """Returns the character attributes (colors) of the console screen - buffer.""" - csbi = CONSOLE_SCREEN_BUFFER_INFO() - GetConsoleScreenBufferInfo(stdout_handle, byref(csbi)) - return csbi.wAttributes - - def set_text_attr(color): - """Sets the character attributes (colors) of the console screen - buffer. Color is a combination of foreground and background color, - foreground and background intensity.""" - SetConsoleTextAttribute(stdout_handle, color) -############################################################################### - -def find_bi_tools(work_drive): - """Find BI tools.""" - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") - arma3tools_path = winreg.QueryValueEx(k, "path")[0] - winreg.CloseKey(k) - except: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - - addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe") - dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe") - dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe") - cfgconvert_path = os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe") - - if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path) and os.path.isfile(cfgconvert_path): - return [addonbuilder_path, dssignfile_path, dscreatekey_path, cfgconvert_path] - else: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - -def find_depbo_tools(regKey): - """Use registry entries to find DePBO-based tools.""" - stop = False - - if regKey == "HKCU": - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - stop = True - else: - reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) - - try: - k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\pboProject") - try: - pboproject_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found pboproject.") - except: - print_error("ERROR: Could not find pboProject.") - - k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\rapify") - try: - rapify_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found rapify.") - except: - print_error("Could not find rapify.") - - k = winreg.OpenKey(reg, r"Software\Wow6432Node\Mikero\MakePbo") - try: - makepbo_path = winreg.QueryValueEx(k, "exe")[0] - winreg.CloseKey(k) - print("Found makepbo.") - except: - print_error("Could not find makepbo.") - except: - if stop == True: - raise Exception("BadDePBO", "DePBO tools not installed correctly") - return -1 - - - #Strip any quotations from the path due to a MikeRo tool bug which leaves a trailing space in some of its registry paths. - return [pboproject_path.strip('"'),rapify_path.strip('"'),makepbo_path.strip('"')] - -def color(color): - """Set the color. Works on Win32 and normal terminals.""" - if sys.platform == "win32": - if color == "green": - set_text_attr(FOREGROUND_GREEN | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "red": - set_text_attr(FOREGROUND_RED | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "blue": - set_text_attr(FOREGROUND_BLUE | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) - elif color == "reset": - set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) - elif color == "grey": - set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) - else : - if color == "green": - sys.stdout.write('\033[92m') - elif color == "red": - sys.stdout.write('\033[91m') - elif color == "blue": - sys.stdout.write('\033[94m') - elif color == "reset": - sys.stdout.write('\033[0m') - -def print_error(msg): - color("red") - print ("ERROR: " + msg) - color("reset") - -def print_green(msg): - color("green") - print(msg) - color("reset") - -def print_blue(msg): - color("blue") - print(msg) - color("reset") - -def print_yellow(msg): - color("yellow") - print(msg) - color("reset") - -############################################################################### - -def main(argv): - """Build an Arma addon suite in a directory from rules in a make.cfg file.""" - print_blue(("\nmake.py for Arma, v" + __version__)) - - if sys.platform != "win32": - print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") - sys.exit(1) - - reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) - try: - k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") - arma3tools_path = winreg.QueryValueEx(k, "path")[0] - winreg.CloseKey(k) - except: - raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") - - # Default behaviors - test = False # Copy to Arma 3 directory? - arg_modules = False # Only build modules on command line? - make_release = False # Make zip file from the release? - release_version = 0 # Version of release - use_pboproject = True # Default to pboProject build tool - make_target = "DEFAULT" # Which section in make.cfg to use for the build - new_key = False # Make a new key and use it to sign? - quiet = False # Suppress output from build tool? - - # Parse arguments - if "help" in argv or "-h" in argv or "--help" in argv: - print (""" -make.py [help] [test] [force] [key ] [target ] [release ] - [module name] [module name] [...] - -test -- Copy result to Arma 3. -release -- Make archive with . -force -- Ignore cache and build all. -target -- Use rules in make.cfg under heading [] rather than - default [Make] -key -- Use key in working directory with to sign. If it does not - exist, create key. -quiet -- Suppress command line output from build tool. - -If module names are specified, only those modules will be built. - -Examples: - make.py force test - Build all modules (ignoring cache) and copy the mod folder to the Arma 3 - directory. - make.py mymodule_gun - Only build the module named 'mymodule_gun'. - make.py force key MyNewKey release 1.0 - Build all modules (ignoring cache), sign them with NewKey, and pack them - into a zip file for release with version 1.0. - - -If a file called $NOBIN$ is found in the module directory, that module will not be binarized. - -See the make.cfg file for additional build options. -""") - sys.exit(0) - - if "force" in argv: - argv.remove("force") - force_build = True - else: - force_build = False - - if "test" in argv: - test = True - argv.remove("test") - - if "release" in argv: - make_release = True - release_version = argv[argv.index("release") + 1] - argv.remove(release_version) - argv.remove("release") - - if "target" in argv: - make_target = argv[argv.index("target") + 1] - argv.remove("target") - argv.remove(make_target) - force_build = True - - if "key" in argv: - new_key = True - key_name = argv[argv.index("key") + 1] - argv.remove("key") - argv.remove(key_name) - - if "quiet" in argv: - quiet = True - argv.remove("quiet") - - # Get the directory the make script is in. - make_root = os.path.dirname(os.path.realpath(__file__)) - make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) - os.chdir(make_root) - - # Get latest commit ID - try: - gitpath = os.path.join(os.path.dirname(make_root), ".git") - assert os.path.exists(gitpath) - - commit_id = subprocess.check_output(["git", "rev-parse", "HEAD"]) - commit_id = str(commit_id, "utf-8")[:8] - except: - print_error("FAILED TO DETERMINE COMMIT ID.") - commit_id = "NOGIT" - - cfg = configparser.ConfigParser(); - try: - cfg.read(os.path.join(make_root, "make.cfg")) - - # Project name (with @ symbol) - project = cfg.get(make_target, "project", fallback="@"+os.path.basename(os.getcwd())) - - # Private key path - key = cfg.get(make_target, "key", fallback=None) - - # Project prefix (folder path) - prefix = cfg.get(make_target, "prefix", fallback="") - - # Should we autodetect modules on a complete build? - module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True) - - # Manual list of modules to build for a complete build - modules = cfg.get(make_target, "modules", fallback=None) - # Parse it out - if modules: - modules = [x.strip() for x in modules.split(',')] - else: - modules = [] - - # List of directories to ignore when detecting - ignore = [x.strip() for x in cfg.get(make_target, "ignore", fallback="release").split(',')] - - # BI Tools work drive on Windows - work_drive = cfg.get(make_target, "work_drive", fallback="P:\\") - - # Which build tool should we use? - build_tool = cfg.get(make_target, "build_tool", fallback="addonbuilder").lower() - - # Release/build directory, relative to script dir - release_dir = cfg.get(make_target, "release_dir", fallback="release") - - # Project PBO file prefix (files are renamed to prefix_name.pbo) - pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) - - # Project module Root - module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) - module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) - print_green ("module_root: " + module_root) - if (os.path.isdir(module_root)): - os.chdir(module_root) - else: - print_error ("Directory " + module_root + " does not exist.") - sys.exit() - - except: - raise - print_error("Could not parse make.cfg.") - sys.exit(1) - - - - # See if we have been given specific modules to build from command line. - if len(argv) > 1 and not make_release: - arg_modules = True - modules = argv[1:] - - # Find the tools we need. - try: - tools = find_bi_tools(work_drive) - addonbuilder = tools[0] - dssignfile = tools[1] - dscreatekey = tools[2] - cfgconvert = tools[3] - - except: - print_error("Arma 3 Tools are not installed correctly or the P: drive has not been created.") - sys.exit(1) - - if build_tool == "pboproject": - try: - depbo_tools = find_depbo_tools("HKLM") - if depbo_tools == -1: - depbo_tools = find_depbo_tools("HKCU") - pboproject = depbo_tools[0] - rapifyTool = depbo_tools[1] - makepboTool = depbo_tools[2] - except: - raise - print_error("Could not find dePBO tools. Download the needed tools from: https://dev.withsix.com/projects/mikero-pbodll/files") - sys.exit(1) - - # Try to open and deserialize build cache file. - try: - cache = {} - with open(os.path.join(make_root, "make.cache"), 'r') as f: - cache_raw = f.read() - - cache = json.loads(cache_raw) - - except: - print ("No cache found.") - cache = {} - - # Get list of subdirs in make root. - dirs = next(os.walk(module_root))[1] - - # Autodetect what directories to build. - if module_autodetect and not arg_modules: - modules = [] - for path in dirs: - # Any dir that has a config.cpp in its root is an addon to build. - config_path = os.path.join(path, 'config.cpp') - if os.path.isfile(config_path) and not path in ignore: - modules.append(path) - - # Make the key specified from command line if necessary. - if new_key: - if not os.path.isfile(os.path.join(module_root, key_name + ".biprivatekey")): - print_green("\nRequested key does not exist.") - ret = subprocess.call([dscreatekey, key_name]) # Created in make_root - if ret == 0: - print_blue("Created: " + os.path.join(module_root, key_name + ".biprivatekey")) - else: - print_error("Failed to create key!") - - try: - print_blue("Copying public key to release directory.") - - try: - os.makedirs(os.path.join(module_root, release_dir, "Keys")) - except: - pass - - shutil.copyfile(os.path.join(module_root, key_name + ".bikey"), os.path.join(module_root, release_dir, "Keys", key_name + ".bikey")) - - except: - raise - print_error("Could not copy key to release directory.") - - else: - print_green("\nNOTE: Using key " + os.path.join(module_root, key_name + ".biprivatekey")) - - key = os.path.join(module_root, key_name + ".biprivatekey") - - - # For each module, prep files and then build. - for module in modules: - print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) - - # Cache check - if module in cache: - old_sha = cache[module] - else: - old_sha = "" - - #We always build ACE_common so we can properly show the correct version stamp in the RPT file. - if module == "common": - old_sha = "" - - # Hash the module - new_sha = get_directory_hash(os.path.join(module_root, module)) - - # Check if it needs rebuilt - # print ("Hash:", new_sha) - if old_sha == new_sha: - if not force_build: - print("Module has not changed.") - # Skip everything else - continue - - # Only do this if the project isn't stored directly on the work drive. - # Split the path at the drive name and see if they are on the same drive (usually P:) - if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: - try: - # Remove old work drive version (ignore errors) - shutil.rmtree(os.path.join(work_drive, prefix, module), True) - - # Copy module to the work drive - shutil.copytree(module, os.path.join(work_drive, prefix, module)) - - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - #else: - #print("WARNING: Module is stored on work drive (" + work_drive + ").") - - try: - # Remove the old pbo, key, and log - old = os.path.join(module_root, release_dir, project, "Addons", module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - - if pbo_name_prefix: - old = os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - - # Build the module into a pbo - print_blue("Building: " + os.path.join(work_drive, prefix, module)) - print_blue("Destination: " + os.path.join(module_root, release_dir, project, "Addons")) - - # Make destination folder (if needed) - try: - os.makedirs(os.path.join(module_root, release_dir, project, "Addons")) - except: - pass - - # Run build tool - build_successful = False - if build_tool == "pboproject": - try: - #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - - os.chdir("P:\\") - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -bin return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -txt return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - - # Include build number - try: - configpath = os.path.join(work_drive, prefix, module, "config.cpp") - f = open(configpath, "r") - configtext = f.read() - f.close() - - if configtext: - patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - except: - raise - print_error("Failed to include build number") - continue - - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - print_green("$NOBIN$ Found. Proceeding with non-binarizing!") - cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"Addons")] - - else: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] - - color("grey") - if quiet: - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - else: - ret = subprocess.call(cmd) - color("reset") - - if ret == 0: - print_green("pboProject return code == " + str(ret)) - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(module_root, release_dir, project, "Addons", module+".pbo"), os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - # Sign result - if key: - print("Signing with " + key + ".") - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("pboProject return code == " + str(ret)) - print_error("Module not successfully built/signed.") - print ("Resuming build...") - continue - - #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp - #print_green("\Pabst (restoring): " + os.path.join(work_drive, prefix, module, "config.cpp")) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.remove(os.path.join(work_drive, prefix, module, "config.bin")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - # Back to the root - os.chdir(module_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - elif build_tool== "addonbuilder": - # Detect $NOBIN$ and do not binarize if found. - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - do_binarize = False - print("$NOBIN$ file found in module, packing only.") - else: - do_binarize = True - try: - # Call AddonBuilder - os.chdir("P:\\") - - cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "Addons"), "-clear", "-project="+work_drive] - if not do_binarize: - cmd.append("-packonly") - - if quiet: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - os.chdir(previousDirectory) - else: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - print_error("Current directory - " + os.getcwd()) - ret = subprocess.call(cmd) - os.chdir(previousDirectory) - print_error("Current directory - " + os.getcwd()) - color("reset") - print_green("completed") - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(make_root, release_dir, project, "Addons", module+".pbo"), os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - - if ret == 0: - # Sign result - if key: - print("Signing with " + key + ".") - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("Module not successfully built.") - - # Back to the root - os.chdir(make_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - else: - print_error("Unknown build_tool " + build_tool + "!") - - # Update the hash for a successfully built module - if build_successful: - cache[module] = new_sha - - # Done building all modules! - - # Write out the cache state - cache_out = json.dumps(cache) - with open(os.path.join(make_root, "make.cache"), 'w') as f: - f.write(cache_out) - - # Delete the pboproject temp files if building a release. - if make_release and build_tool == "pboproject": - try: - shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True) - except: - print_error("ERROR: Could not delete pboProject temp files.") - - print_green("\nDone.") - - # Make release - if make_release: - print_blue("\nMaking release: " + project + "-" + release_version + ".zip") - - try: - # Delete all log files - for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "Addons")): - for currentFile in files: - if currentFile.lower().endswith("log"): - os.remove(os.path.join(root, currentFile)) - - # Create a zip with the contents of release/ in it - shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir)) - except: - raise - print_error("Could not make release.") - - # Copy to Arma 3 folder for testing - if test: - print_blue("\nCopying to Arma 3.") - - if sys.platform == "win32": - reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) - try: - k = winreg.OpenKey(reg, r"SOFTWARE\Wow6432Node\Bohemia Interactive\Arma 3") - a3_path = winreg.EnumValue(k, 1)[1] - winreg.CloseKey(k) - except: - print_error("Could not find Arma 3's directory in the registry.") - else: - a3_path = cygwin_a3path - - if os.path.exists(a3_path): - try: - shutil.rmtree(os.path.join(a3_path, project), True) - shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) - except: - print_error("Could not copy files. Is Arma 3 running?") - -if __name__ == "__main__": - main(sys.argv) -input("Press Enter to continue...") From 17946063049486dc8d87f75da088138c771f7efb Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 16 Apr 2015 19:52:20 +0200 Subject: [PATCH 235/247] Got rid of the __DSP macro --- addons/atragmx/functions/fnc_create_dialog.sqf | 2 +- addons/atragmx/functions/fnc_show_gun_list.sqf | 2 +- .../atragmx/functions/fnc_show_range_card_setup.sqf | 2 +- .../functions/fnc_show_target_range_assist.sqf | 2 +- .../functions/fnc_show_target_speed_assist.sqf | 2 +- .../functions/fnc_target_speed_assist_timer.sqf | 2 +- addons/atragmx/functions/fnc_toggle_range_card.sqf | 2 +- .../functions/fnc_update_target_selection.sqf | 12 ++++++------ .../atragmx/functions/fnc_update_unit_selection.sqf | 8 ++++---- addons/atragmx/script_component.hpp | 2 -- 10 files changed, 17 insertions(+), 19 deletions(-) diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 73945a4030..59ec3528af 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -29,7 +29,7 @@ GVAR(showAddNewGun) call FUNC(show_add_new_gun); GVAR(showGunList) call FUNC(show_gun_list); GVAR(showRangeCard) call FUNC(show_range_card); if (GVAR(showRangeCard)) then { - ctrlSetFocus (__DSP displayCtrl 5001); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001); [] call FUNC(update_range_card); }; GVAR(showRangeCardSetup) call FUNC(show_range_card_setup); diff --git a/addons/atragmx/functions/fnc_show_gun_list.sqf b/addons/atragmx/functions/fnc_show_gun_list.sqf index 565da71ce6..5e1cdfa453 100644 --- a/addons/atragmx/functions/fnc_show_gun_list.sqf +++ b/addons/atragmx/functions/fnc_show_gun_list.sqf @@ -20,7 +20,7 @@ GVAR(showGunList) = _this; {ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007]; if (_this) then { - ctrlSetFocus (__DSP displayCtrl 6002); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 6002); lbSetCurSel [6000, GVAR(currentGun)]; }; diff --git a/addons/atragmx/functions/fnc_show_range_card_setup.sqf b/addons/atragmx/functions/fnc_show_range_card_setup.sqf index 98e5f57998..3d44c14b53 100644 --- a/addons/atragmx/functions/fnc_show_range_card_setup.sqf +++ b/addons/atragmx/functions/fnc_show_range_card_setup.sqf @@ -20,7 +20,7 @@ GVAR(showRangeCardSetup) = _this; {ctrlShow [_x, _this]} forEach [10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009]; if (_this) then { - ctrlSetFocus (__DSP displayCtrl 10006); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 10006); ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))]; ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))]; diff --git a/addons/atragmx/functions/fnc_show_target_range_assist.sqf b/addons/atragmx/functions/fnc_show_target_range_assist.sqf index f7b973876f..60de30930f 100644 --- a/addons/atragmx/functions/fnc_show_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_range_assist.sqf @@ -20,7 +20,7 @@ GVAR(showTargetRangeAssist) = _this; {ctrlShow [_x, _this]} forEach [7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020]; if (_this) then { - ctrlSetFocus (__DSP displayCtrl 7018); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 7018); ctrlSetText [7012, Str(parseNumber(ctrlText 320))]; ctrlSetText [7013, Str(parseNumber(ctrlText 340))]; diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf index 43b9afe470..3ac05f3f4f 100644 --- a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf @@ -20,7 +20,7 @@ GVAR(showTargetSpeedAssist) = _this; {ctrlShow [_x, _this]} forEach [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015]; if (_this) then { - ctrlSetFocus (__DSP displayCtrl 8012); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 8012); ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; diff --git a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf index da4b68a7c7..6e47461cf3 100644 --- a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf @@ -20,7 +20,7 @@ if !(ctrlVisible 9000) then { false call FUNC(show_target_speed_assist); true call FUNC(show_target_speed_assist_timer); - ctrlSetFocus (__DSP displayCtrl 9002); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 9002); [{ private ["_args", "_startTime"]; diff --git a/addons/atragmx/functions/fnc_toggle_range_card.sqf b/addons/atragmx/functions/fnc_toggle_range_card.sqf index e5d5cb0269..572a4fe6ae 100644 --- a/addons/atragmx/functions/fnc_toggle_range_card.sqf +++ b/addons/atragmx/functions/fnc_toggle_range_card.sqf @@ -24,7 +24,7 @@ if (ctrlVisible 5006) then false call FUNC(show_main_page); true call FUNC(show_range_card); - ctrlSetFocus (__DSP displayCtrl 5001); + ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001); [] call FUNC(calculate_range_card); [] call FUNC(update_range_card); diff --git a/addons/atragmx/functions/fnc_update_target_selection.sqf b/addons/atragmx/functions/fnc_update_target_selection.sqf index 2a29d05fb1..d63f84a90c 100644 --- a/addons/atragmx/functions/fnc_update_target_selection.sqf +++ b/addons/atragmx/functions/fnc_update_target_selection.sqf @@ -15,13 +15,13 @@ */ #include "script_component.hpp" -(__DSP displayCtrl 500) ctrlEnable true; -(__DSP displayCtrl 501) ctrlEnable true; -(__DSP displayCtrl 502) ctrlEnable true; -(__DSP displayCtrl 503) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 500) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 501) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 502) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 503) ctrlEnable true; -(__DSP displayCtrl 500 + GVAR(currentTarget)) ctrlEnable false; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 500 + GVAR(currentTarget)) ctrlEnable false; -ctrlSetFocus (__DSP displayCtrl 3000); +ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 3000); [] call FUNC(update_unit_selection); diff --git a/addons/atragmx/functions/fnc_update_unit_selection.sqf b/addons/atragmx/functions/fnc_update_unit_selection.sqf index 5468d2d0fc..2882954c5b 100644 --- a/addons/atragmx/functions/fnc_update_unit_selection.sqf +++ b/addons/atragmx/functions/fnc_update_unit_selection.sqf @@ -15,11 +15,11 @@ */ #include "script_component.hpp" -(__DSP displayCtrl 600) ctrlEnable true; -(__DSP displayCtrl 601) ctrlEnable true; -(__DSP displayCtrl 602) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 600) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 601) ctrlEnable true; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 602) ctrlEnable true; -(__DSP displayCtrl 600 + GVAR(currentUnit)) ctrlEnable false; +((uiNamespace getVariable "ATragMX_Display") displayCtrl 600 + GVAR(currentUnit)) ctrlEnable false; [] call FUNC(update_gun); [] call FUNC(update_atmosphere); diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index 60b3083a96..f7ec6e68e8 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -10,5 +10,3 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" - -#define __DSP (uiNamespace getVariable "ATragMX_Display") From fa6cb3e75ce2390614203def390b3dd179450dba Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 16 Apr 2015 12:58:54 -0500 Subject: [PATCH 236/247] #672 - Don't show speaking icon for unconc players --- addons/nametags/functions/fnc_initIsSpeaking.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index d8ffda756c..daddd36c05 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -41,14 +41,14 @@ if (isClass (configFile >> "cfgPatches" >> "acre_api")) then { diag_log text format ["[ACE_nametags] - ACRE Detected"]; DFUNC(isSpeaking) = { PARAMS_1(_unit); - ([_unit] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting) + (([_unit] call acre_api_fnc_isSpeaking) || ([ACE_player] call acre_api_fnc_isBroadcasting)) && {!(_unit getVariable ["ACE_isUnconscious", false])} }; } else { if (isClass (configFile >> "cfgPatches" >> "task_force_radio")) then { diag_log text format ["[ACE_nametags] - TFR Detected"]; DFUNC(isSpeaking) = { PARAMS_1(_unit); - (_unit getVariable ["tf_isSpeaking", false]) + (_unit getVariable ["tf_isSpeaking", false]) && {!(_unit getVariable ["ACE_isUnconscious", false])} }; } else { //No Radio Mod - Start a PFEH to watch the internal VON icon @@ -64,7 +64,7 @@ if (isClass (configFile >> "cfgPatches" >> "acre_api")) then { DFUNC(isSpeaking) = { PARAMS_1(_unit); - (_unit getVariable [QGVAR(isSpeakingInGame), false]) + (_unit getVariable [QGVAR(isSpeakingInGame), false]) && {!(_unit getVariable ["ACE_isUnconscious", false])} }; }; }; From e12831bee474814bee5fd4f02f4dc10a9ccb40b6 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 16 Apr 2015 15:17:53 -0500 Subject: [PATCH 237/247] #678 - Missing Text Height in settingMenu --- addons/optionsmenu/gui/settingsMenu.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/optionsmenu/gui/settingsMenu.hpp b/addons/optionsmenu/gui/settingsMenu.hpp index 93d35b284c..5361aa7172 100644 --- a/addons/optionsmenu/gui/settingsMenu.hpp +++ b/addons/optionsmenu/gui/settingsMenu.hpp @@ -94,6 +94,8 @@ class ACE_settingsMenu { periodFocus = 1; periodOver = 1; action = QUOTE([MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged);); + SizeEx = (UNITY * 1); + Size = (UNITY * 1); }; class selectionAction_2: selectionAction_1 { idc = 1001; @@ -221,6 +223,8 @@ class ACE_settingsMenu { periodFocus = 1; periodOver = 1; action = "closedialog 0;"; + SizeEx = (UNITY * 1); + Size = (UNITY * 1); }; class action_reset: actionClose { idc = 1100; From 7d5a70246b6f352d9a25e1e69927bfa8d7484f68 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 16 Apr 2015 22:10:33 -0500 Subject: [PATCH 238/247] Remove unnecessary cfgSounds --- addons/logistics_wirecutter/CfgSounds.hpp | 7 ------- addons/logistics_wirecutter/config.cpp | 1 - 2 files changed, 8 deletions(-) delete mode 100644 addons/logistics_wirecutter/CfgSounds.hpp diff --git a/addons/logistics_wirecutter/CfgSounds.hpp b/addons/logistics_wirecutter/CfgSounds.hpp deleted file mode 100644 index aa5f3464f6..0000000000 --- a/addons/logistics_wirecutter/CfgSounds.hpp +++ /dev/null @@ -1,7 +0,0 @@ -class CfgSounds { - class ACE_Wirecutter_sound { - name = "ACE_wirecutter_sound"; - sound[] = {QUOTE(PATHTOF(sound\wirecut.ogg)), "db-0", 1}; - titles[] = {}; - }; -}; diff --git a/addons/logistics_wirecutter/config.cpp b/addons/logistics_wirecutter/config.cpp index 89fbd1c10f..d83cff4035 100644 --- a/addons/logistics_wirecutter/config.cpp +++ b/addons/logistics_wirecutter/config.cpp @@ -13,6 +13,5 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" -#include "CfgSounds.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" From 54daa02aa4dbd216d497eeba5d8955024eeeaa36 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 17 Apr 2015 01:44:38 -0300 Subject: [PATCH 239/247] Weather: headers + privates --- addons/weather/XEH_postInit.sqf | 2 ++ addons/weather/functions/fnc_displayWindInfo.sqf | 7 +++---- addons/weather/functions/fnc_getMapData.sqf | 1 - addons/weather/functions/fnc_getWind.sqf | 11 +++++++++++ addons/weather/functions/fnc_serverController.sqf | 11 +++++++++++ 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index 75e1277fee..9276e710da 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -39,6 +39,7 @@ _fnc_updateWind = { // Update Rain _fnc_updateRain = { + private ["_oldStrength","_rainStrength","_transitionTime","_periodPosition","_periodPercent"]; if(GVAR(enableRain)) then { if(!isNil "ACE_RAIN_PARAMS" && {!isNil QGVAR(rain_period_start_time)}) then { _oldStrength = ACE_RAIN_PARAMS select 0; @@ -56,6 +57,7 @@ _fnc_updateRain = { // Update Temperature _fnc_updateTemperature = { + private ["_time","_month","_hourlyCoef","_avgTemperature","_pS1","_pS2"]; _time = daytime; _month = date select 1; diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf index 61d556a27c..d84cddd106 100644 --- a/addons/weather/functions/fnc_displayWindInfo.sqf +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -1,6 +1,5 @@ /* * Author: Ruthberg - * * Displays a wind info (colored arrow) in the top left corner of the screen * * Argument: @@ -29,13 +28,13 @@ GVAR(WindInfo) = true; [{ private ["_windSpeed", "_windDir", "_playerDir", "_windIndex", "_windColor", "_newWindSpeed", "_windSource", "_height"]; - + if !(GVAR(WindInfo) && !(underwater ACE_player) && vehicle ACE_player == ACE_player) exitWith { GVAR(WindInfo) = false; 0 cutText ["", "PLAIN"]; [_this select 1] call cba_fnc_removePerFrameHandler; }; - + _windIndex = 12; _windColor = [1, 1, 1, 1]; @@ -46,7 +45,7 @@ GVAR(WindInfo) = true; } else { vectorMagnitude ACE_wind; }; - + if (_windSpeed > 0.2) then { _playerDir = getDir ACE_player; _windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index 86a05fb225..fecf9f34f7 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -1,6 +1,5 @@ /* * Author: Ruthberg, esteldunedain - * * Get the weather data for the current map * * Argument: diff --git a/addons/weather/functions/fnc_getWind.sqf b/addons/weather/functions/fnc_getWind.sqf index e25d53309d..b0fbf5e8fa 100644 --- a/addons/weather/functions/fnc_getWind.sqf +++ b/addons/weather/functions/fnc_getWind.sqf @@ -1,4 +1,15 @@ +/* + * Author: ACE2 Team + * Calculate current wind locally from the data broadcasted by the server + * + * Argument: + * None + * + * Return value: + * Wind + */ #include "script_component.hpp" +private ["_dir","_dirInc","_dirRange","_period","_periodPercent","_periodPosition","_return","_spd","_spdInc","_spdRange"]; _return = [0,0,0]; if(!isNil "ACE_WIND_PARAMS") then { diff --git a/addons/weather/functions/fnc_serverController.sqf b/addons/weather/functions/fnc_serverController.sqf index 7646475e81..e29836fc18 100644 --- a/addons/weather/functions/fnc_serverController.sqf +++ b/addons/weather/functions/fnc_serverController.sqf @@ -1,4 +1,15 @@ +/* + * Author: ACE2 Team, esteldunedain + * Calculate the wind and rain evolution on the server. Broadcast the current and next values to the clients + * + * Argument: + * None + * + * Return value: + * None + */ #include "script_component.hpp" +private ["_gustCount","_gustDir","_gustSpeed","_gustTime","_gusts","_i","_lastRain","_maxInterval","_rainOverCast","_startDir","_startSpeed","_time","_timeTillGust","_transitionTime"]; // Rain simulation if(GVAR(rain_period_count) > GVAR(rain_next_period)) then { From e38a6fc62bed074ec3ec399d327adfc9b5bf884a Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Fri, 17 Apr 2015 12:01:01 +0300 Subject: [PATCH 240/247] one more russian fix --- addons/captives/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 5683eaf0d3..f609aabd93 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -95,7 +95,7 @@ Algema Plástica Fascietta Gyorskötöző - Пластиковые наручники + Кабельная стяжка Cable ties that allow you to restrain prisoners. @@ -107,7 +107,7 @@ A algema plástica permite que você contenha prisioneiros. Fascietta che ti consente di arrestare i prigionieri. Gyorskötöző, emberek foglyulejtéséhez használható. - Пластиковые наручники позволяют связывать пленников. + Кабельные стяжки позволяют связывать пленников. Inventory of frisked person From 20565e8b026a89789721feb49bad1f4bf0457ce5 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 17 Apr 2015 11:02:01 +0200 Subject: [PATCH 241/247] hide height / velocity while parachuting, freefallig in expert mode, fix 692 --- addons/parachute/XEH_postInit.sqf | 3 +- addons/parachute/XEH_preInit.sqf | 1 + .../fnc_handleInfoDisplayChanged.sqf | 41 +++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index ead4b33943..2b449d9674 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -40,5 +40,4 @@ GVAR(PFH) = false; }] call EFUNC(common,addEventHandler); // don't show speed and height when in expert mode -["Parachute", {if (!cadetMode) then {_dlg = _this select 0; {(_dlg displayCtrl _x) ctrlShow false} forEach [121, 122, 1004, 1005, 1006, 1014];};}] call EFUNC(common,addInfoDisplayEventHandler); //@todo addEventHandler infoDisplayChanged with select 1 == "Parachute" -["Soldier", {if (!cadetMode) then {_dlg = _this select 0; {_ctrl = (_dlg displayCtrl _x); _ctrl ctrlSetPosition [0,0,0,0]; _ctrl ctrlCommit 0;} forEach [380, 382]};}] call EFUNC(common,addInfoDisplayEventHandler); //@todo addEventHandler infoDisplayChanged with select 1 == "Soldier" +["infoDisplayChanged", {_this call FUNC(handleInfoDisplayChanged)}] call EFUNC(common,addEventHandler); diff --git a/addons/parachute/XEH_preInit.sqf b/addons/parachute/XEH_preInit.sqf index 91c24606c6..f446d955b8 100644 --- a/addons/parachute/XEH_preInit.sqf +++ b/addons/parachute/XEH_preInit.sqf @@ -18,6 +18,7 @@ ADDON = false; PREP(doLanding); +PREP(handleInfoDisplayChanged); PREP(hideAltimeter); PREP(onEachFrame); PREP(showAltimeter); diff --git a/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf b/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf new file mode 100644 index 0000000000..9b076256dd --- /dev/null +++ b/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf @@ -0,0 +1,41 @@ +/* + * Author: commy2 + * Hides the height and velocity display while freefalling or parachuting on higher difficulties. + * + * Arguments: + * Stuff from infoDisplayChanged eventhandler. + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +private ["_dialog", "_type"]; + +_dialog = _this select 0; +_type = _this select 1; + +// don't do anything in noob mode +if (cadetMode) exitWith {}; + +switch (_type) do { + case ("Parachute"): { + { + (_dialog displayCtrl _x) ctrlShow false; + } forEach [121, 122, 1004, 1005, 1006, 1014]; + }; + + case ("Soldier"): { + { + private "_control"; + _control = (_dialog displayCtrl _x); + + // these reset ctrlShow every frame by the engine. Set height/width to 0 as work around. + _control ctrlSetPosition [0,0,0,0]; + _control ctrlCommit 0; + } forEach [380, 382]; + }; +}; +nil // switch might return true if no case was found. Just to make sure the return value matches From 45d639b395c5c843ced5babaaf3b3ee2414a2ad0 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 17 Apr 2015 12:28:06 +0200 Subject: [PATCH 242/247] disposable cleanup, fix #696 --- addons/disposable/CfgEventHandlers.hpp | 26 +++++------------------- addons/disposable/CfgMagazines.hpp | 1 + addons/disposable/XEH_postInit.sqf | 10 +++++++++ addons/disposable/XEH_postInitClient.sqf | 10 --------- 4 files changed, 16 insertions(+), 31 deletions(-) create mode 100644 addons/disposable/XEH_postInit.sqf delete mode 100644 addons/disposable/XEH_postInitClient.sqf diff --git a/addons/disposable/CfgEventHandlers.hpp b/addons/disposable/CfgEventHandlers.hpp index 02d0cb625f..4b5614f553 100644 --- a/addons/disposable/CfgEventHandlers.hpp +++ b/addons/disposable/CfgEventHandlers.hpp @@ -1,44 +1,28 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; class Extended_PostInit_EventHandlers { class ADDON { - clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) ); + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; class Extended_FiredBIS_EventHandlers { class CAManBase { class ADDON { - firedBIS = QUOTE( _this call FUNC(replaceATWeapon) ); + firedBIS = QUOTE(_this call FUNC(replaceATWeapon)); }; }; }; // handle preloaded missile -class Extended_Init_EventHandlers { +class Extended_InitPost_EventHandlers { class CAManBase { class ADDON { - init = QUOTE( _this call FUNC(takeLoadedATWeapon) ); - }; - }; -}; - -class Extended_Take_EventHandlers { - class CAManBase { - class ADDON { - take = QUOTE( _this call FUNC(takeLoadedATWeapon); [_this select 0] call FUNC(updateInventoryDisplay); ); - }; - }; -}; - -class Extended_Put_EventHandlers { - class CAManBase { - class ADDON { - put = QUOTE( [_this select 0] call FUNC(updateInventoryDisplay); ); + init = QUOTE([ARR_2(_this select 0, secondaryWeapon (_this select 0))] call FUNC(takeLoadedATWeapon); systemChat str [ARR_2(_this select 0, secondaryWeapon (_this select 0))]); }; }; }; diff --git a/addons/disposable/CfgMagazines.hpp b/addons/disposable/CfgMagazines.hpp index 8fbae08dfd..6265c06f50 100644 --- a/addons/disposable/CfgMagazines.hpp +++ b/addons/disposable/CfgMagazines.hpp @@ -3,6 +3,7 @@ class CfgMagazines { class ACE_PreloadedMissileDummy: NLAW_F { // The dummy magazine author = "$STR_ACE_Common_ACETeam"; scope = 1; + scopeArsenal = 1; displayName = "$STR_ACE_Disposable_PreloadedMissileDummy"; picture = PATHTOEF(common,UI\blank_CO.paa); weaponPoolAvailable = 0; diff --git a/addons/disposable/XEH_postInit.sqf b/addons/disposable/XEH_postInit.sqf new file mode 100644 index 0000000000..bc51974bc6 --- /dev/null +++ b/addons/disposable/XEH_postInit.sqf @@ -0,0 +1,10 @@ +// by commy2 +#include "script_component.hpp" + +if (!hasInterface) exitWith {}; + +["inventoryDisplayLoaded", {[ACE_player, _this select 0] call FUNC(updateInventoryDisplay)}] call EFUNC(common,addEventHandler); +["playerInventoryChanged", { + [_this select 0, _this select 1 select 11] call FUNC(takeLoadedATWeapon); + [_this select 0] call FUNC(updateInventoryDisplay); +}] call EFUNC(common,addEventHandler); diff --git a/addons/disposable/XEH_postInitClient.sqf b/addons/disposable/XEH_postInitClient.sqf deleted file mode 100644 index c20dfa886b..0000000000 --- a/addons/disposable/XEH_postInitClient.sqf +++ /dev/null @@ -1,10 +0,0 @@ -// by commy2 - -// The Arma InventoryOpened EH fires actually before the inventory dialog is opened (findDisplay 602 => displayNull). - -#include "script_component.hpp" - -["inventoryDisplayLoaded",{ - [ACE_player] call FUNC(takeLoadedATWeapon); - [ACE_player, (_this select 0)] call FUNC(updateInventoryDisplay); -}] call EFUNC(common,addEventHandler); \ No newline at end of file From 26944ea84e8eb07d81c9558cf110604e5d89edc7 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 17 Apr 2015 13:01:38 +0200 Subject: [PATCH 243/247] make altimeter actually usable with parachutes --- addons/parachute/XEH_postInit.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index 2b449d9674..19e6d413a2 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -14,12 +14,13 @@ * Public: No */ #include "script_component.hpp" + if (!hasInterface) exitWith {}; ["ACE3", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter", { // Conditions: canInteract - if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; + if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; if (!('ACE_Altimeter' in assignedItems ace_player)) exitWith {false}; if (!(missionNamespace getVariable [QGVAR(AltimeterActive), false])) then { [ace_player] call FUNC(showAltimeter); From c2214efeb1c8175be8e37a8a55cd5bd9732ffacb Mon Sep 17 00:00:00 2001 From: EpMAK Date: Fri, 17 Apr 2015 14:54:28 +0300 Subject: [PATCH 244/247] Russian stringtables finished Filled all the missing lines, little errors fixed. --- addons/respawn/stringtable.xml | 6 ++++++ addons/vehiclelock/stringtable.xml | 6 +++--- addons/weaponselect/stringtable.xml | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 409a149f83..dceeb687fe 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -45,31 +45,37 @@ Rallypoint West (Base) Sammelpunkt West (Basis) Punto de reunión Oeste (Base) + Точка сбора Синих (База) Rallypoint East (Base) Sammelpunkt Ost (Basis) Punto de reunión Este (Base) + Точка сбора Красных (База) Rallypoint Independent (Base) Sammelpunkt Widerstand (Basis) Punto de reunión Independiente (Base) + Точка сбора Независимых (База Rallypoint West Sammelpunkt West Punto de reunión Oeste + Точка сбора Синих Rallypoint East Sammelpunkt Ost Punto de reunión Este + Точка сбора Красных Rallypoint Independent Sammelpunkt Widerstand Punto de reunión Independiente + Точка сбора Независимых \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index a327352f9b..6bf62bb671 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -79,7 +79,7 @@ Klucz, który powinien otworzyć większość pojazdów ZACHODU. Klíč který by měl otevřít většinou Západních vozidel. Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. - Ключ для открытия большинства машин Запада. + Ключ для открытия большинства машин Красных. A key that should open most EAST vehicle. @@ -89,7 +89,7 @@ Klucz, który powinien otworzyć większość pojazdów WSCHODU. Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. - Ключ для открытия большинства машин Востока. + Ключ для открытия большинства машин Синих. A key that should open most INDEP vehicle. @@ -112,4 +112,4 @@ Ключ для открытия большинства машин Гражданских. - + \ No newline at end of file diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index d534ecd29b..ae99f3e032 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -229,7 +229,7 @@ Už nejsou granáty Não há granadas de fragmentação restantes Nessuna granata a frammentazione rimanente - Осколочныких гранат нет + Осколочных гранат нет No misc. grenades left @@ -266,4 +266,4 @@ Запустить дымовую завесу - + \ No newline at end of file From e83ab4049fd6e3bbcc3d3e2e74306f5f1ecf52a4 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 17 Apr 2015 07:30:55 -0700 Subject: [PATCH 245/247] Fixed: Tabs everywhere. --- addons/aircraft/CfgAmmo.hpp | 6 +++--- addons/aircraft/Heli_Attack_01_base_F.hpp | 8 ++++---- addons/optics/CfgWeapons.hpp | 16 ++++++++-------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/addons/aircraft/CfgAmmo.hpp b/addons/aircraft/CfgAmmo.hpp index 41462354d8..8aa5d3173e 100644 --- a/addons/aircraft/CfgAmmo.hpp +++ b/addons/aircraft/CfgAmmo.hpp @@ -2,7 +2,7 @@ class CfgAmmo { class BulletBase; class B_20mm : BulletBase { - hit = 80; + hit = 80; indirectHit = 12; indirectHitRange = 2; //2; caliber = 1.4; @@ -13,7 +13,7 @@ class CfgAmmo { tracerEndTime = 3.5; CraterEffects = "ExploAmmoCrater"; - explosionEffects = "ExploAmmoExplosion"; + explosionEffects = "ExploAmmoExplosion"; model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; }; class ACE_20mm_HE : B_20mm {}; @@ -23,7 +23,7 @@ class CfgAmmo { indirectHitRange = 0.3; //2; explosive = 0; CraterEffects = ""; - explosionEffects = ""; + explosionEffects = ""; }; // adjust minigun caliber and deflection to other ammo diff --git a/addons/aircraft/Heli_Attack_01_base_F.hpp b/addons/aircraft/Heli_Attack_01_base_F.hpp index 7276b3e402..22f2da3833 100644 --- a/addons/aircraft/Heli_Attack_01_base_F.hpp +++ b/addons/aircraft/Heli_Attack_01_base_F.hpp @@ -907,7 +907,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { thermalMode[] = {0,1}; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; class Medium: Wide @@ -918,7 +918,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { maxFov = 0.093; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F"; }; class Narrow: Wide @@ -929,7 +929,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { maxFov = 0.029; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; @@ -941,7 +941,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { maxFov = 0.01; gunnerOpticsColor[] = {0,0,0,1}; directionStabilized = 1; - horizontallyStabilized = 1; + horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp index 7749db0bc4..6d61ff98a2 100644 --- a/addons/optics/CfgWeapons.hpp +++ b/addons/optics/CfgWeapons.hpp @@ -5,20 +5,20 @@ class CfgWeapons { class Default; class Binocular: Default { - forceOptics = 0; // Allow using compass with Binocular - opticsZoomMin = 0.056889; // 5.25x power - opticsZoomMax = 0.056889; // 9 px/mil - modelOptics = "\z\ace\addons\optics\models\NWD_M22_5x"; // 7 horizontal field of view - visionMode[] = {"Normal"}; // Can't use nvgs with binoculars any more than you can with scopes - // Fix AI using Binocs on short range - #18737 + forceOptics = 0; // Allow using compass with Binocular + opticsZoomMin = 0.056889; // 5.25x power + opticsZoomMax = 0.056889; // 9 px/mil + modelOptics = "\z\ace\addons\optics\models\NWD_M22_5x"; // 7 horizontal field of view + visionMode[] = {"Normal"}; // Can't use nvgs with binoculars any more than you can with scopes + // Fix AI using Binocs on short range - #18737 // minRange = 300; // 300 = uses Rangefinder often (runs a few meters, stops, uses RF, repeats) minRange = 500; //500 = seem almost never use it..? - minRangeProbab = 0.001; + minRangeProbab = 0.001; midRange = 1000; midRangeProbab = 0.01; maxRange = 5000; maxRangeProbab = 0.01; - }; + }; // zooming reticle scopes class optic_DMS: ItemCore { From bb2383cffd960fb01d7be37448df87706cf5fd60 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 17 Apr 2015 09:51:43 -0500 Subject: [PATCH 246/247] #700 - ProgressBar Visual Improvement --- addons/common/ProgressScreen.hpp | 33 ++++++++++++--------- addons/common/functions/fnc_progressBar.sqf | 10 ++++--- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/addons/common/ProgressScreen.hpp b/addons/common/ProgressScreen.hpp index df07e5ca2f..ab624669cf 100644 --- a/addons/common/ProgressScreen.hpp +++ b/addons/common/ProgressScreen.hpp @@ -1,7 +1,7 @@ class GVAR(ProgressBar_Dialog) { idd = -1; movingEnable = false; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBG)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 2)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 3)];); objects[] = {}; class controlsBackground { @@ -23,26 +23,31 @@ class GVAR(ProgressBar_Dialog) { w = "safezoneW"; h = "safezoneH"; }; - class Progress: ACE_gui_RscProgress { + class TitleBackground: ACE_gui_staticBase { idc = 1; - x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "37.8 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = ".8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorFrame[] = {0,0,0,0.0}; - colorBar[] = {0.27,0.5,0.31,0.8}; - texture = "#(argb,8,8,3)color(1,1,1,0.7)"; - }; - class Title_Bar : ACE_gui_staticBase { - idc = 2; - style = 0x22; - colorBackground[] = {0, 0, 0, 0}; + style = ST_CENTER; + sizeEx = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0, 0, 0, 0.5}; colorText[] = {1, 1, 1, 1}; x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; + class Progress: ACE_gui_RscProgress { + idc = 2; + x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorFrame[] = {1,1,1,0.5}; + colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; + texture = "#(argb,8,8,3)color(1,1,1,0.7)"; + }; + class TitleText: TitleBackground { + idc = 3; + colorBackground[] = {0, 0, 0, 0}; + }; }; }; diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 03c56398c4..f7d927556c 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -38,12 +38,14 @@ createDialog QGVAR(ProgressBar_Dialog); //Adjust position based on user setting: _ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)); _ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))]; -(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; -(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; -_ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBar)); -_ctrlPos set [1, ((0.1 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))]; + +(uiNamespace getVariable QGVAR(ctrlProgressBG)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBG)) ctrlCommit 0; (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos; (uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0; +(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos; +(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; + _perFrameFunction = { From 6e077de829d2a7c95a1f443553e40289f939a278 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 17 Apr 2015 12:13:23 -0500 Subject: [PATCH 247/247] Medical - Use default value instead of 0 for getVar #683 - should prevent people getting knocked out from any damage source if the variables are undefined --- addons/medical/XEH_postInit.sqf | 2 +- addons/medical/functions/fnc_addToInjuredCollection.sqf | 6 +++--- addons/medical/functions/fnc_handleUnitVitals.sqf | 4 ++-- addons/medical/functions/fnc_setCardiacArrest.sqf | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 309bb2a888..ae6c87c1c6 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -248,7 +248,7 @@ if (USE_WOUND_EVENT_SYNC) then { }; [ - {(((_this select 0) getvariable [QGVAR(bloodVolume), 0]) < 65)}, + {(((_this select 0) getvariable [QGVAR(bloodVolume), 100]) < 65)}, {(((_this select 0) getvariable [QGVAR(pain), 0]) > 0.9)}, {(((_this select 0) call FUNC(getBloodLoss)) > 0.25)}, {((_this select 0) getvariable [QGVAR(inReviveState), false])}, diff --git a/addons/medical/functions/fnc_addToInjuredCollection.sqf b/addons/medical/functions/fnc_addToInjuredCollection.sqf index 82c385f0e1..cbe146d701 100644 --- a/addons/medical/functions/fnc_addToInjuredCollection.sqf +++ b/addons/medical/functions/fnc_addToInjuredCollection.sqf @@ -33,10 +33,10 @@ if ([_unit] call FUNC(hasMedicalEnabled) || _force) then { [_this select 1] call CBA_fnc_removePerFrameHandler; if (!local _unit) then { if (GVAR(level) >= 2) then { - _unit setvariable [QGVAR(heartRate), _unit getvariable [QGVAR(heartRate), 0], true]; - _unit setvariable [QGVAR(bloodPressure), _unit getvariable [QGVAR(bloodPressure), [0, 0]], true]; + _unit setvariable [QGVAR(heartRate), _unit getvariable [QGVAR(heartRate), 80], true]; + _unit setvariable [QGVAR(bloodPressure), _unit getvariable [QGVAR(bloodPressure), [80, 120]], true]; }; - _unit setvariable [QGVAR(bloodVolume), _unit getvariable [QGVAR(bloodVolume), 0], true]; + _unit setvariable [QGVAR(bloodVolume), _unit getvariable [QGVAR(bloodVolume), 100], true]; }; } else { [_unit] call FUNC(handleUnitVitals); diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 81c9ffea40..2b175d7ca2 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -27,7 +27,7 @@ if (_syncValues) then { _unit setvariable [QGVAR(lastMomentValuesSynced), time]; }; -_bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 0]) + ([_unit] call FUNC(getBloodVolumeChange)); +_bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 100]) + ([_unit] call FUNC(getBloodVolumeChange)); _bloodVolume = _bloodVolume max 0; _unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues]; @@ -100,7 +100,7 @@ if (GVAR(level) >= 2) then { }; // Set the vitals - _heartRate = (_unit getvariable [QGVAR(heartRate), 0]) + (([_unit] call FUNC(getHeartRateChange)) * _interval); + _heartRate = (_unit getvariable [QGVAR(heartRate), 80]) + (([_unit] call FUNC(getHeartRateChange)) * _interval); _unit setvariable [QGVAR(heartRate), _heartRate, _syncValues]; _bloodPressure = [_unit] call FUNC(getBloodPressure); diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index cebf968898..b4483defc2 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -33,7 +33,7 @@ _timeInCardiacArrest = 120 + round(random(600)); _startTime = _args select 1; _timeInCardiacArrest = _args select 2; - _heartRate = _unit getvariable [QGVAR(heartRate), 0]; + _heartRate = _unit getvariable [QGVAR(heartRate), 80]; if (_heartRate > 0 || !alive _unit) exitwith { [(_this select 1)] call cba_fnc_removePerFrameHandler; _unit setvariable [QGVAR(inCardiacArrest), nil,true];