From df3927324aa8ac0a5b23ff0d874664633e44264f Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 01:24:58 +0200 Subject: [PATCH 001/145] wep_javelin PL translation --- addons/wep_javelin/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/wep_javelin/stringtable.xml b/addons/wep_javelin/stringtable.xml index 4068d6f0a6..20b0019bef 100644 --- a/addons/wep_javelin/stringtable.xml +++ b/addons/wep_javelin/stringtable.xml @@ -6,7 +6,7 @@ Lock Target (Hold) Lock Target (Hold) Lock Target (Hold) - Lock Target (Hold) + Namierz cel (przytrzymaj) Lock Target (Hold) Lock Target (Hold) Lock Target (Hold) @@ -15,7 +15,7 @@ Cycle Fire Mode Cycle Fire Mode Cycle Fire Mode - Cycle Fire Mode + Przełącz tryb ognia Cycle Fire Mode Cycle Fire Mode Cycle Fire Mode From aa8275460f322f644470cd01fee1bc35847c1957 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 01:29:26 +0200 Subject: [PATCH 002/145] weaponselect PL translation --- addons/weaponselect/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 3a39d59396..f8495960e7 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -4,9 +4,11 @@ Display text on grenade throw + Wyświetl tekst przy rzucie granatem Display a hint or text on grenade throw. + Wyświetla hint lub tekst przy rzucie granatem. Select Pistol @@ -251,4 +253,4 @@ Запустить дымовую завесу - \ No newline at end of file + From 08590d98a379f11d8c75586d782fe174ac3dc70a Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 01:35:09 +0200 Subject: [PATCH 003/145] respawn PL translation --- addons/respawn/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 59a9b2b31c..4ca569cbcd 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -4,18 +4,22 @@ Deploy in 5 seconds ... Wird in 5 Sekunden errichtet ... + Rozmieszczenie za 5 sekund ... Rallypoint deployed Rallypoint errichtet + Punkt zbiórki rozmieszczony Teleported to Base Zur Basis teleportiert + Przeteleportowano do bazy Teleported to Rallypoint Zum Rallypoint teleportiert + Przeteleportowano do punktu zbiórki From ce46961ef1aeda9cbc356a3e0c0efb616068092a Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 01:38:13 +0200 Subject: [PATCH 004/145] reloadlaunchers PL translation --- addons/reloadlaunchers/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 6677153419..5d054ba878 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -5,19 +5,23 @@ Load launcher Panzerabwehr laden + Załaduj wyrzutnię Loading launcher ... Panzerabwehr wird geladen ... + Ładowanie wyrzutni ... Launcher loaded Panzerabwehr geladen + Wyrzutnia załadowana Load %1 Lade %1 + Załadowano %1 From f61832f735b0960b89f979b05daa478d621b2de9 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 01:44:43 +0200 Subject: [PATCH 005/145] reload PL translation --- addons/reload/stringtable.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 40f36c6549..e89034de83 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -4,9 +4,11 @@ Check ammo on weapon reload + Sprawdź stan amunicji przy przeładowaniu broni Check the ammo in your new magazine on magazine reload. + Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni Check Ammo @@ -34,9 +36,11 @@ Link belt + Podłącz taśmę Linking belt... + Podłączanie taśmy... From a150ab43e152e6f4fbb85b4fcb6740d57d33fd49 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 01:53:28 +0200 Subject: [PATCH 006/145] Update stringtable.xml --- addons/realisticnames/stringtable.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 9ccd7752d2..b9c72f3541 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1041,66 +1041,82 @@ 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 (AA) MX MX + MX MX (Black) MX (Black) + MX (Czarny) MXC MXC + MXC MXC (Black) MXC (Black) + MXC (Czarny) MX 3GL MX 3GL + MX 3GL MX 3GL (Black) MX 3GL (Black) + MX 3GL (Czarny) MX LSW From d193fd513fb4434133b1f669ad19ecb12ab16606 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 02:02:59 +0200 Subject: [PATCH 007/145] realisticnames PL translation --- addons/realisticnames/stringtable.xml | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index b9c72f3541..63e5c2828b 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1121,114 +1121,142 @@ MX LSW MX LSW + MX LSW MX LSW (Black) MX LSW (Black) + MX LSW (Czarny) MXM MXM + MXM MXM (Black) MXM (Black) + MXM (Czarny) 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 (kamuflaż) F2000 F2000 + F2000 F2000 Tactical (Camo) F2000 Tactical (Camo) + F2000 Tactical (kamuflaż) F2000 Tactical F2000 Tactical + F2000 Tactical F2000 EGLM (Camo) F2000 EGLM (Camo) + F2000 EGLM (kamuflaż) 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 (kamuflaż) M200 Intervention M200 Intervention + M200 Intervention M200 Intervention (Camo) M200 Intervention (Camo) + M200 Intervention (kamuflaż) VS-121 VS-121 + VS-121 From 03faa32cefb4550fb6cf00b5fecd619c42693053 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 02:07:19 +0200 Subject: [PATCH 008/145] overheating PL translation --- addons/overheating/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 5d2c9595df..d30cd1931d 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -4,9 +4,11 @@ Display text on jam + Wyświetl tekst przy zacięciu broni Display a notification whenever your weapon gets jammed + Wyświetl powiadomienie za każdym razem, kiedy Twoja broń ulegnie zacięciu Spare barrel @@ -153,4 +155,4 @@ Температура - \ No newline at end of file + From 5255c9140840c9ef5df2b4e81e760f0c482651bd Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 02:20:22 +0200 Subject: [PATCH 009/145] optionsmenu PL translation --- addons/optionsmenu/stringtable.xml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 76407da435..dad052407e 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -16,16 +16,19 @@ Fix Animation + Napraw animację Reset All Rücksetzen + Resetuj wszystko Colors Farben цвета Colors + Kolory Options @@ -41,6 +44,7 @@ Values + Wartości Yes @@ -72,36 +76,47 @@ Einstellung: Yстановки: Ajuste: + Ustawienie: Export + Eksport Open Export Menu + Otwórz menu eksportowania String input. + Wpisywanie tekstu. Array. Seperate elements by using ,. + Tablica. Oddziel elementy używając ,. Number + Cyfra Uknown input type + Nieznany rodzaj danych Save input + Zapisz dane Include Client Settings + Zawrzyj ustawienia klienta Exclude Client Settings + Wyklucz ustawienia klienta Settings exported to clipboard + Ustawienia wyeksportowano do schowka - \ No newline at end of file + From 0f9614eb4fbf3b51631aee43a35e656aef9b1c1a Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 02:36:23 +0200 Subject: [PATCH 010/145] nametags PL translation SoundWaves :) --- addons/nametags/stringtable.xml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 622df44aca..4dd1043fc5 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -8,7 +8,7 @@ Mostrar nombres Afficher noms Zobrazit jména - Pokaż nazwy + Pokaż imiona Nevek mutatása Показать имена @@ -16,7 +16,7 @@ Show player names Spielernamen anzeigen Mostrar nombres de jugadores - Pokaż nazwy graczy + Pokaż imiona graczy Afficher nom des joueurs Játékosnevek mutatása Zobrazit jména hráčů @@ -26,7 +26,7 @@ Show player name only on cursor (requires player names) - Pokaż nazwę gracza tylko pod kursorem + Pokaż imiona graczy tylko pod kursorem (wymagana opcja Pokaż imiona graczy) 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) @@ -42,14 +42,14 @@ 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 + Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) 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) + Pokaż rangi graczy (wymagana opcja Pokaż imiona 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áčů) @@ -62,20 +62,23 @@ Show vehicle crew info Zeige Fahrzeugbesatzung Mostrar tripulantes - Pokaż informacje o załodze pojazdu + Pokaż załogę pojazdu Zobrazit info o posádce vozidla Показать экипаж Show name tags for AI units + Wyświetl imiona jednostek AI Show SoundWaves (requires player names) Zeigen Schallwelle (benötigt spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) + Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Default Nametag Color (Non Group Members) + Domyślny kolor imion (członkowie spoza grupy) - \ No newline at end of file + From 6cbb6206c1afef09cd1c68d07c5ef83430c3a366 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 02:47:19 +0200 Subject: [PATCH 011/145] microdagr PL translation fixed typo in line 119 --- addons/microdagr/stringtable.xml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 772a7a172f..ccedfd346f 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -4,21 +4,27 @@ MicroDAGR GPS + MicroDAGR GPS MicroDAGR advanced GPS receiver + Zaawansowany odbiornik GPS MicroDAGR Angular Unit: + Jednostka kątowa: Mils + Milsy Show Waypoints On Map: + Pokaż pkt. trasy na mapie: Degrees + Stopnie On @@ -44,43 +50,55 @@ Enter Grid Cords: + Wprowadź współrzędne: Name of [%1] + Nazwa [%1] MGRS-New + MGRS-Nowy WGD + WGD Range: Reichweite: + Odległość: Compass Direction + Kierunek Mark + Oznacz Waypoints Wegpunkte + Punkty trasy Connect To + Podłącz do Settings Einstellungen Configuración + Ustawienia SetWP + UstawPT Add + Dodaj Delete @@ -95,15 +113,19 @@ Toggle MicroDAGR Display Mode + Przełącz tryb wyświetlania MicroDAGR - Show MicoDAGR + Show MicroDAGR + Pokaż MicroDAGR Configure MicroDAGR + Konfiguruj MicroDAGR Close MicroDAGR + Zamknij MicroDAGR - \ No newline at end of file + From 685d21169d9ac5711399febf0baff077269d3b3e Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:03:03 +0200 Subject: [PATCH 012/145] magazinerepack PL translation Had to make some shifts in lines 70 and 93 to make it sound good in PL --- addons/magazinerepack/stringtable.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d8fd5ca177..a4f8f812f4 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -67,7 +67,7 @@ %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 + Pełnych magazynków: %1. Dodatkowych naboi: %2. %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 @@ -78,16 +78,19 @@ Repacking Finished Wiederverpacken Fertig Reembalaje Finalizado + Przepakowywanie zakończone Repacking Interrupted Umpacken Unterbrochen Reempaque Interrupted + Przepakowywanie przerwane %1 Full and %2 Partial %1 Vollständigen und %2 Teilweisen %1 Total y %2 Parcial + Pełnych: %1. Częściowo pełnych: %2. - \ No newline at end of file + From e0a2a144c5e10a807202d472af94b58c8877036c Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:10:05 +0200 Subject: [PATCH 013/145] logistics_wirecutter --- addons/logistics_wirecutter/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index cf6e96c1aa..e219149939 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -6,9 +6,11 @@ Wirecutter Drahtschneider Wirecutter + Nożyce do cięcia drutu Wirecutter + Służą do... cięcia drutu i płotów Cut Fence @@ -47,4 +49,4 @@ Забор вырезан - \ No newline at end of file + From 8b6ac39d1dafb00344be23751c90fbe40def9445 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:13:59 +0200 Subject: [PATCH 014/145] laserpointer PL translation --- 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 87b36618a6..f9fb99087b 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -5,15 +5,18 @@ Laser Pointer (red) Laserpointer (rot) + Wskaźnik laserowy (czerwony) Laser Pointer (green) Laserpointer (grün) + Wskaźnik laserowy (zielony) Emits visible light. Strahlt sichtbares Licht aus. + Wydziela widzialne światło. @@ -22,7 +25,7 @@ <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'>Użyj: </t>wł./wył. laser <t color='#9cf953'>Uso: </t>Ativar/Desativar laser <t color='#9cf953'>Использовать: </t>вкл/выкл лазер <t color='#9cf953'>Usar: </t>encender/apagar láser From e13199af2a1a809a5a6097284bc34b1c885107db Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:15:28 +0200 Subject: [PATCH 015/145] laser_selfdesignate PL translation --- addons/laser_selfdesignate/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 70f8912cfe..4562110539 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -4,9 +4,11 @@ Laser<br/>Designator On + Laser<br/>Dezygnator wł. Laser<br/>Designator Off + Laser<br/>Dezygnator wył. - \ No newline at end of file + From aaa4dcba2cefe02b76db71e0605be4560f883515 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:19:37 +0200 Subject: [PATCH 016/145] inventory PL translation --- addons/inventory/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 9ca01373d1..034afd6986 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -4,9 +4,11 @@ Make Inventory Display Bigger + Powiększ widok ekwipunku 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. + 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. - \ No newline at end of file + From 2984aa2e8cdb1e8fff1b7a24e3ac42e2fa2d6dbf Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:26:03 +0200 Subject: [PATCH 017/145] interaction PL translation --- addons/interaction/stringtable.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index dcd87056e2..3a26158980 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -4,27 +4,35 @@ Interactions + Interakcje Torso + Tors Head + Głowa Left Arm + Lewe ramię Right Arm + Prawe ramię Left Leg + Lewa noga Right Leg + Prawa noga Weapon + Broń Interaction Menu @@ -42,7 +50,7 @@ Interaction Menu (Self) Interaktionsmenü (Selbst) Menú de interacción (Propia) - Menu interakcji (na siebie) + Menu interakcji (własne) Menu interakce (vlastní) Menu d'interaction (Perso) Меню взаимодействия (с собой) @@ -655,6 +663,7 @@ Passengers + Pasażerowie From e907553abce3693d0b9f76503e58dcdd110f88c5 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:28:14 +0200 Subject: [PATCH 018/145] interact_menu PL translation --- addons/interact_menu/stringtable.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6e5ce8fdb2..7bc502f0ba 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -4,18 +4,23 @@ Always display cursor for self interaction + Zawsze wyświetlaj kursor dla własnej interakcji Interact Key + Klawisz interakcji Self Interaction Key + Klawisz własnej interakcji Self Actions + Własne akcje Vehicle Actions + Akcje pojazdu - \ No newline at end of file + From d874140268bca74bd3725c8e6bfb3e1e93626de1 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:33:40 +0200 Subject: [PATCH 019/145] hearing PL translation --- addons/hearing/stringtable.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 7f6110915a..e72c97f388 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -30,7 +30,7 @@ Earplugs in Ohrenstöpsel drinnen Poner tapones - Załóż stopery + Włóż stopery Dát špunty do uší Беруши надеты Bouchons mis @@ -42,7 +42,7 @@ Earplugs out Ohrenstöpsel raus Quitar tapones - Zdejmij stopery + Wyjmij stopery Vyndat špunty z uší Беруши сняты Bouchons enlevés @@ -54,7 +54,7 @@ Earplugs in Ohrenstöpsel drinnen Tapones puestos - Stopery założone + Stopery włożone Špunty v uších Беруши надеты Bouchons mis @@ -66,7 +66,7 @@ Earplugs out Ohrenstöpsel raus Tapones quitados - Stopery zdjęte + Stopery wyjęte Špunty venku z uší Беруши сняты Bouchons enlevés @@ -101,6 +101,7 @@ Disable ear ringing Desactivar zumbido de oídos + Wyłącz dzwonienie w uszach - \ No newline at end of file + From 2925100ec60dd539343bead3d7fa9df2829a3a9a Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:36:32 +0200 Subject: [PATCH 020/145] frag PL translation --- addons/frag/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index f3562ee5b1..43eff93d1e 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -6,7 +6,7 @@ (Æ) Disable Fragmentation (Æ) Zakázat fragmentaci granátů (Æ) Weapons: Keine Schrapnelle -(Æ) Wyłącz głowice fragmentacyjne +(Æ) Wyłącz dyspersję odłamków (Æ) Выключить разлёт осколков (Æ) Disable Fragmentation (Æ) Disable Fragmentation From 022e17417f5d47f9c499e3c50ff084b6b991945b Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:37:30 +0200 Subject: [PATCH 021/145] frag PL translation --- addons/frag/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 43eff93d1e..10a65daabf 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -6,7 +6,7 @@ (Æ) Disable Fragmentation (Æ) Zakázat fragmentaci granátů (Æ) Weapons: Keine Schrapnelle -(Æ) Wyłącz dyspersję odłamków +(Æ) Wyłącz fragmentację odłamków (Æ) Выключить разлёт осколков (Æ) Disable Fragmentation (Æ) Disable Fragmentation From ae1b2f04b04e8984c419a007794475d5c49117f2 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:39:05 +0200 Subject: [PATCH 022/145] fcs PL translation --- addons/fcs/stringtable.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 154d874f73..20e6511300 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -32,7 +32,7 @@ Adjust FCS Range (Up) Entfernung des FLS erhöhen - Zwiększ zasięg FCS + Zwiększ zasięg SKO Ajustar distancia del FCS (arriba) Nastavit FCS Náměr (nahoru) Augmenter la distance du SCT @@ -44,7 +44,7 @@ Adjust FCS Range (Down) Entfernung des FLS verringern - Zmniejsz zasięg FCS + Zmniejsz zasięg SKO Ajustar distancia del FCS (abajo) Nastavit FCS Náměr (dolů) Réduire la distance du SCT @@ -58,7 +58,7 @@ FLS zurücksetzen Reiniciar FCS Réinitialiser le SCT - Resetuj FCS + Resetuj SKO Resetovat FCS FCS visszaállítása Reiniciar FCS @@ -70,7 +70,7 @@ FLS wurde zurückgesetzt. FCS reiniciado SCT réinitialisé. - FCS został zresetowany. + SKO został zresetowany. FCS byl resetován. Az FCS visszaállítva FCS reiniciado. From d0787ab2d89daf9e22dce0d9d6e31903eab59e95 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:40:03 +0200 Subject: [PATCH 023/145] explosives PL translation --- addons/explosives/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 57ef190460..30cea614b1 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -492,6 +492,7 @@ Pick up + Podnieś From 6be80caf2e3c43f34b09fe0d26ca2148799d9876 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 03:41:12 +0200 Subject: [PATCH 024/145] dragging PL translation --- addons/dragging/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 1fca04fee1..6b97268209 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -29,10 +29,10 @@ Item to heavy Gegenstand zu schwer + Przedmiot zbyt ciężki + Display text on jam + Afficher un text à la surchauffe Display a notification whenever your weapon gets jammed + Afficher un texte quand votre arme surchauffe Spare barrel @@ -153,4 +155,4 @@ Температура - \ No newline at end of file + From 87f5873c2aa625557009a604d672cd0cc71fd1dd Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 05:50:08 +0200 Subject: [PATCH 037/145] Update stringtable.xml Added: French Translation (90%) Fixed: Uknow to Unknow (line 101) --- addons/optionsmenu/stringtable.xml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 76407da435..88c6fa1461 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -16,19 +16,23 @@ Fix Animation + Corriger l'Animation Reset All + Par défaut Rücksetzen Colors + Couleurs Farben цвета Colors Options + Options Optionen Opciones Opcje @@ -41,6 +45,7 @@ Values + Valeurs Yes @@ -75,33 +80,42 @@ Export + Exporter Open Export Menu + Ouvrir le menu d'exportation String input. Array. Seperate elements by using ,. + Array. Séparer les élements en utilisant ,. Number + Nombre - Uknown input type + Unknown input type + Input inconnue Save input + Sauvegarder les inputs Include Client Settings + Inclure les paramètres de client Exclude Client Settings + Exclure les paramètres de client Settings exported to clipboard + Paramètres exportés dans le presse-papier - \ No newline at end of file + From 627f8fb41b501c7396ce8bd0dd2bf36fb859fe90 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 05:53:29 +0200 Subject: [PATCH 038/145] Update stringtable.xml Added: French Translation (100%) --- addons/nametags/stringtable.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 622df44aca..88e09c9601 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -60,6 +60,7 @@ Show vehicle crew info + Afficher les informations de l'équipage du véhicule Zeige Fahrzeugbesatzung Mostrar tripulantes Pokaż informacje o załodze pojazdu @@ -68,14 +69,17 @@ Show name tags for AI units + Afficher les noms pour les unités IA Show SoundWaves (requires player names) + Afficher l'ondulation audio (requiert les noms des joueurs) Zeigen Schallwelle (benötigt spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) Default Nametag Color (Non Group Members) + Couleur par défaut pour les noms (unités non groupées) - \ No newline at end of file + From 0d8145073fc1617ed26472ef078333b788836b81 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 05:54:45 +0200 Subject: [PATCH 039/145] Update stringtable.xml Added: French Translation (100%) --- addons/movement/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index d31896acaa..6dc8cd5c15 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -28,6 +28,7 @@ Climb + Monter Klettern Wspinaczka Trepar @@ -36,6 +37,7 @@ Can't climb here + Je ne peut pas monter ici Kann hier nicht klettern Nie możesz wspiąć się tutaj No se puede trepar aquí @@ -43,4 +45,4 @@ Не можете подняться здесь - \ No newline at end of file + From d6b2d13a727e1abf5bab0cc95be0c55af99c83ed Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:00:22 +0200 Subject: [PATCH 040/145] Update stringtable.xml Added: French Translation (95%) --- addons/microdagr/stringtable.xml | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 772a7a172f..e2ec9b20d9 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -4,21 +4,27 @@ MicroDAGR GPS + GPS MicroDAGR MicroDAGR advanced GPS receiver + MicroDAGR un GPS avancé Angular Unit: + Unité angulaire: Mils + Mils Show Waypoints On Map: + Afficher les points de passage sur la carte : Degrees + Degrés On @@ -44,35 +50,45 @@ Enter Grid Cords: + Entrer Grid Cords : Name of [%1] + Nom de [%1] MGRS-New + Nouveau MGRS WGD + WGD Range: + Distance : Reichweite: Compass Direction + Direction de la boussole Mark + Marqueur Waypoints + Point de passage Wegpunkte Connect To + Connexion a Settings + Paramètres Einstellungen Configuración @@ -81,6 +97,7 @@ Add + Ajouter Delete @@ -95,15 +112,19 @@ Toggle MicroDAGR Display Mode + Basculer sur l'affichage du MicroDAGR Show MicoDAGR + Afficher le MicroDAGR Configure MicroDAGR + Configurer le MicroDAGR Close MicroDAGR + Fermer le MicroDAGR - \ No newline at end of file + From 95e53fd1bf48d006e7b7db0541749f6ae1c65f25 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:20:04 +0200 Subject: [PATCH 041/145] Update stringtable.xml Added: French Translations (~85%) --- addons/medical/stringtable.xml | 76 ++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 4 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index ec01d3b626..d92166cd52 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,10 +1,11 @@  - + Inject Atropine + Injecter de l'atropine Inject Epinephrine @@ -44,12 +45,15 @@ Transfuse Plasma + Transfuser du Plasma Transfuse Saline + Transfuser de la Saline Apply Tourniquet + Appliquer un garrot Bandage @@ -161,6 +165,7 @@ Injecting Atropine ... + Injection d'Atropine ... Transfusing Blood ... @@ -176,9 +181,11 @@ Transfusing Saline ... + Transfusion de saline ... Transfusing Plasma ... + Transfusion de Plasma ... Bandaging ... @@ -194,6 +201,7 @@ Applying Tourniquet ... + Mise en place du garrot Medical @@ -208,74 +216,94 @@ Field Dressing + Bandage rapide Packing Bandage Elastic Bandage + Bandage Élastique QuikClot Check Pulse + Vérifier les pulsations Check Blood Pressure + Vérifier la pression sanguine Triage Card Tourniquet + Garrot Remove Tourniquet + Enlever le garrot Give Blood IV (1000ml) + Mettre une poche de Sang IV (1000ml) Give Blood IV (500ml) + Mettre une poche de Sang IV (500ml) Give Blood IV (250ml) + Mettre une poche de Sang IV (250ml) Give Plasma IV (1000ml) + Mettre une poche de Plasma IV (1000ml) Give Plasma IV (500ml) + Mettre une poche de Plasma IV (500ml) Give Plasma IV (250ml) + Mettre une poche de Plasma IV (250ml) Give Saline IV (1000ml) + Mettre une poche de Saline IV (1000ml) Give Saline IV (500ml) + Mettre une poche de Saline IV (500ml) Give Saline IV (250ml) + Mettre une poche de Saline IV (250ml) Minor + Mineur Delayed + Délayé Immediate + Immédiat Deceased + Décédé None + Aucun Normal breathing @@ -330,11 +358,12 @@ Tourniquet [CAT] Жгут Torniquete [CAT] - Garot [CAT] + Garrot [CAT] Opaska uciskowa [CAT] Receiving IV [%1ml] + Réception IV [%1ml] @@ -633,31 +662,37 @@ Surgical Kit + Kit de chirurgien Хирургический набор Kit Quirúrgico Surgical Kit for in field advanced medical treatment + Kit de chirurgien pour les soins avancés sur le terrain Набор для хирургической помощи в полевых условиях Kit Quirúrgico para el tratamiento avanzado en el campo de batalla + Surgical Kit for in field advanced medical treatment Surgical Kit for in field advanced medical treatment Набор для хирургической помощи в полевых условиях Kit Quirúrgico para el tratamiento avanzado en el campo de batalla Bodybag + Sac à corps Мешок для трупов Bolsa para cadáveres A bodybag for dead bodies + Un sac pour les cadavres Мешок для упаковки трупов Bolsa para cadáveres A bodybag for dead bodies + Un sac pour les cadavres Мешок для упаковки трупов Bolsa para cadáveres @@ -665,126 +700,151 @@ Blood Pressure + Pression sanguine Артериальное давление Presión Arterial Checking Blood Pressure.. + Vérification de la pression sanguine Проверка артериального давления... Comprobando Presión Arterial... You checked %1 + Vous diagnostiquez %1 Вы осмотрели раненого %1 Examinando a %1 You find a blood pressure of %2/%3 + Vous pris une pression sanguine de %2/%3 Артериальное давление %2/%3 La Presión Arterial es %2/%3 You find a low blood pressure + Vous avez trouvé une pression sanguine base Давление низкое La Presión Arterial es baja You find a normal blood pressure + Vous avez trouvé une pression sanguine normale Давление нормальное La Presión Arterial es normal You find a high blood pressure + Vous avez trouvé une forte pression sanguine Давление высокое La Presión Arterial es alta You find no blood pressure + Vous n'avez pas trouvé de pression sanguine Давления нет No hay Presión Arterial You fail to find a blood pressure + Vous avez raté le diagnostique de la pression sanguine Артериальное давление не определяется No puedes encontrar Presión Arterial Pulse + Pulsations Пульс Pulso Checking Heart Rate.. + Diagnostique de la fréquence cardiaque Проверка пульса... Comprobando Pulso... You checked %1 + Vous avez Diagnostiqué %1 Вы осмотрели раненого %1 Examinando a %1 You find a Heart Rate of %2 + Vous avez trouvé une fréquence cardiaque de %2 Пульс %2 уд./мин. El Pulso es %2 - You find a weak Heart Rate + You find a faible fréquence cardiaque + Vous avez trouvé une fréquence cardiaque de %2 Пульс слабый El Pulso es débil You find a strong Heart Rate + Vous avez trouvé une forte fréquence cardiaque Пульс учащенный El Pulso está acelerado You find a normal Heart Rate + Vous avez trouvé une fréquence cardiaque normale Пульс в норме El Pulso es bueno You find no Heart Rate + Vous n'avez trouvé de fréquence cardiaque Пульс не прощупывается No tiene Pulso Response + Réponse Реакция Reacciona You check response of patient + Vous vérifiez la réponse du patient Вы проверяете реакцию раненого Compruebas si el paciente reacciona %1 is responsive + %1 est conscient %1 реагирует на раздражители %1 ha reaccionado %1 is not responsive + %1 n'est pas conscient %1 не реагирует %1 no reacciona You checked %1 + Vous diagnostiqué %1 Вы осмотрели раненого %1 Examinas a %1 Bandaged + Bandé Повязка наложена Vendado You bandage %1 (%2) + Vous bandez %1 (%2) Вы перевязали раненого %1 (%2) Aplicas vendaje a %1 en %2 %1 is bandaging you + %1 vous bande %1 перевязывает вас %1 te está vendando @@ -875,30 +935,38 @@ Unload patient + Décharger le patient Load patient + Charger le patient Place body in bodybag + Placer le corps dans le sac à cadavre Placing body in bodybag + Mise en sac du corps dans le sac à cadavre %1 has bandaged patient + %1 à bandé un patient %1 used %2 + %1 utilise %2 %1 has given an IV + %1 à donné un IV %1 applied a tourniquet + %1 à appliqué un garrot - \ No newline at end of file + From 0c851a6d9a30af526f5b4222186a6c71981c23ab Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:22:26 +0200 Subject: [PATCH 042/145] Update stringtable.xml Added: French Translations (100%) --- addons/magazinerepack/stringtable.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d8fd5ca177..dbf49b7a1a 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -76,18 +76,21 @@ Repacking Finished + Réorganisation terminé Wiederverpacken Fertig Reembalaje Finalizado Repacking Interrupted + Réorganisation Interrompue Umpacken Unterbrochen Reempaque Interrupted %1 Full and %2 Partial + %1 Complet et %2 Partiellement %1 Vollständigen und %2 Teilweisen %1 Total y %2 Parcial - \ No newline at end of file + From 523417ba3cace13d1209b18634af978ae7e911ca Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:23:13 +0200 Subject: [PATCH 043/145] Update stringtable.xml Added: French Translation (100%) --- addons/logistics_wirecutter/stringtable.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index cf6e96c1aa..14b85a4eb6 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,14 +1,16 @@  - + Wirecutter + Coupe clôture Drahtschneider Wirecutter Wirecutter + Coupe clôture Cut Fence @@ -47,4 +49,4 @@ Забор вырезан - \ No newline at end of file + From 0191abc5290f51acd3accad50bbf2c12e3689acf Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:25:05 +0200 Subject: [PATCH 044/145] Update stringtable.xml Added: French Translation (100%) --- 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 87b36618a6..682d0b079b 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -4,22 +4,25 @@ Laser Pointer (red) + Pointeur laser (rouge) Laserpointer (rot) Laser Pointer (green) + Pointeur laser (vert) Laserpointer (grün) Emits visible light. + Diffuse un rayon lumineux visible. Strahlt sichtbares Licht aus. <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'>Utiliser : </t>laser allumé/éteint <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 From dd8f9cd8d625b5dca0a73c08c466afad57451b26 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:27:04 +0200 Subject: [PATCH 045/145] Update stringtable.xml Added: French Translation (100%) --- addons/inventory/stringtable.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 9ca01373d1..d3d06a7808 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -1,12 +1,14 @@  - + Make Inventory Display Bigger + Augmente la taille d'affichage de l'inventaire 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. + Normalement, l'inventaire est automatiquement messuré par la taille de l'interface de l'utilisateur. Cette option vous permet d'augmenter la taille d'affichage de l'inventaire, cependant, cette option n'augmente pas la police d'écriture et le nombre de place. - \ No newline at end of file + From b5841f8f09efdd7ddbad9f5db315dd6b0a2ba7af Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:28:59 +0200 Subject: [PATCH 046/145] Update stringtable.xml Added: French Translation (100%) --- addons/interaction/stringtable.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index dcd87056e2..b16839ccd2 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,30 +1,38 @@  - + Interactions + Interactions Torso + Torse Head + Tête Left Arm + Bras Gauche Right Arm + Bras Droit Left Leg + Jambe Gauche Right Leg + Jambe Droite Weapon + Arme Interaction Menu @@ -647,6 +655,7 @@ Interact + Intéragir Interagiere Interakce Взаимодействовать @@ -655,6 +664,7 @@ Passengers + Passagers From 81122e0839e2873b2266b8a0c09334e0ac38aa7d Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:30:49 +0200 Subject: [PATCH 047/145] Update stringtable.xml Added: French Translation (100%) --- addons/interact_menu/stringtable.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6e5ce8fdb2..41851ffa55 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,21 +1,26 @@  - + Always display cursor for self interaction + Toujours afficher le curseur pour les interactions sur soi-même Interact Key + Touche d'interaction Self Interaction Key + Touche d'Interaction sur soi-même Self Actions + Actions sur soi-même Vehicle Actions + Actions sur les véhicules - \ No newline at end of file + From 04bf321099a28c32d4bac48eb1e7d7e00b8b152f Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:31:42 +0200 Subject: [PATCH 048/145] Update stringtable.xml Added: French Translation (100%) --- addons/hearing/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 7f6110915a..81f5e2ce6d 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -100,7 +100,8 @@ Disable ear ringing + Désactiver les tintements d'oreille Desactivar zumbido de oídos - \ No newline at end of file + From 396f6bd0ea924e7aa45f07c1de6b137962d98809 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Fri, 10 Apr 2015 06:34:36 +0200 Subject: [PATCH 049/145] Update AUTHORS.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index b931d774ac..2f84f52daf 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -30,6 +30,7 @@ ACCtomeek Adanteh aeroson Aggr094 +Anthariel BlackQwar Brakoviejo Codingboy From 16b2311376358587f03123b129050d99e9fae700 Mon Sep 17 00:00:00 2001 From: Asgar Date: Fri, 10 Apr 2015 14:21:55 +0200 Subject: [PATCH 050/145] Added German translation for a couple of things, --- addons/medical/stringtable.xml | 1902 +++++++++++++------------ addons/microdagr/stringtable.xml | 18 +- addons/nametags/stringtable.xml | 4 +- addons/optionsmenu/stringtable.xml | 6 +- addons/reload/stringtable.xml | 10 +- addons/winddeflection/stringtable.xml | 70 +- 6 files changed, 1062 insertions(+), 948 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index a5dfdbba49..7341191558 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,974 +1,1056 @@  - + - - - Inject Atropine - 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 - - - Transfuse Saline - Salzlösungtransfusion - - - Apply Tourniquet - Aderpresse anwenden - - - 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 ... - Aplikuju Morfin ... - Введение морфина... - Injection de Morphine... - Morfium beadása... - Injetando Morfina ... - Inietto la morfina ... - - - Injecting Epinephrine ... - Epinephrin injizieren ... - Inyectando Epinefrina ... - Wstrzykiwanie adrenaliny ... - Aplikuju Adrenalin ... - Введение андреналина - Injection d'Adrénaline ... - Adrenalin beadása... - Injetando Epinefrina ... - Inietto l'epinefrina ... - - - Injecting Atropine ... - Atropin injizieren ... - - - Transfusing Blood ... - Bluttransfusion ... - Realizando transfusión ... - Przetaczanie krwi ... - Probíhá transfúze krve ... - Переливание крови... - Transfusion Sanguine ... - Infúzió... - Transfundindo Sangue ... - Effettuo la trasfusione ... - - - Transfusing Saline ... - Sallösungtransfusion ... - - - Transfusing Plasma ... - Plasmatransfusion ... - - - Bandaging ... - Verbinden ... - Vendando ... - Bandażowanie ... - Obvazuji ... - Pansement ... - Sto applicando la benda ... - Bekötözés... - Atando ... - Перевязывание.... - - - Applying Tourniquet ... - Aderpresse ... - - - Medical - Zdravotní - Médical - Sanitäter - Medico - Medyczne - Médico - Медик - Médico - - - Field Dressing - - - Packing Bandage - - - Elastic Bandage - - - QuikClot - - - Check Pulse - Puls überprüfen - - - Check Blood Pressure - Blutdruck messen - - - Triage Card - Triage Karte - - - Tourniquet - Tourniquet - - - Remove Tourniquet - Entferne Tourniquet - - - Give Blood IV (1000ml) - - - Give Blood IV (500ml) - - - Give Blood IV (250ml) - - - Give Plasma IV (1000ml) - - - Give Plasma IV (500ml) - - - Give Plasma IV (250ml) - - - Give Saline IV (1000ml) - - - Give Saline IV (500ml) - - - Give Saline IV (250ml) - - - Minor - Gering - - - Delayed - - - Immediate - - - Deceased - - - None - - - Normal breathing - Дыхание в норме - Respiración normal - Respiration Normale - Normalny oddech - - - No breathing - Дыхания нет - No respira - Apnée - Brak oddechu - - - Difficult breathing - Дыхание затруднено - Dificultad para respirar - Difficultée Respiratoire - Trudności z oddychaniem - - - Almost no breathing - Дыхания почти нет - Casi sin respirar - Respiration Faible - Prawie brak oddechu - - - Bleeding - Кровотечение - Sangrando - Seignement - Krwawienie zewnętrzne - - - In Pain - Испытывает боль - Con Dolor - A De La Douleur - W bólu - - - Lost a lot of Blood - Большая кровопотеря - Mucha Sangre perdida - A Perdu Bcp de Sang - Stracił dużo krwi - - - Tourniquet [CAT] - Жгут - Torniquete [CAT] - Garot [CAT] - Opaska uciskowa [CAT] - - - Receiving IV [%1ml] - - - - Bandage (Basic) - Повязка (обычная) - Vendaje (Básico) - Bandage (Standard) - Bandaż (jałowy) - - - Used to cover a wound - Для перевязки ран - 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 + + + Inject Atropine + 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 + + + Transfuse Saline + Salzlösungtransfusion + + + Apply Tourniquet + Aderpresse anwenden + + + 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 ... + Aplikuju Morfin ... + Введение морфина... + Injection de Morphine... + Morfium beadása... + Injetando Morfina ... + Inietto la morfina ... + + + Injecting Epinephrine ... + Epinephrin injizieren ... + Inyectando Epinefrina ... + Wstrzykiwanie adrenaliny ... + Aplikuju Adrenalin ... + Введение андреналина + Injection d'Adrénaline ... + Adrenalin beadása... + Injetando Epinefrina ... + Inietto l'epinefrina ... + + + Injecting Atropine ... + Atropin injizieren ... + + + Transfusing Blood ... + Bluttransfusion ... + Realizando transfusión ... + Przetaczanie krwi ... + Probíhá transfúze krve ... + Переливание крови... + Transfusion Sanguine ... + Infúzió... + Transfundindo Sangue ... + Effettuo la trasfusione ... + + + Transfusing Saline ... + Sallösungtransfusion ... + + + Transfusing Plasma ... + Plasmatransfusion ... + + + Bandaging ... + Verbinden ... + Vendando ... + Bandażowanie ... + Obvazuji ... + Pansement ... + Sto applicando la benda ... + Bekötözés... + Atando ... + Перевязывание.... + + + Applying Tourniquet ... + Aderpresse ... + + + Medical + Zdravotní + Médical + Sanitäter + Medico + Medyczne + Médico + Медик + Médico + + + Field Dressing + Verbandpäckchen + + + Packing Bandage + Mullbinde + + + Elastic Bandage + Elastischer Verband + + + QuikClot + Gerinnungsmittel + + + Check Pulse + Puls überprüfen + + + Check Blood Pressure + Blutdruck messen + + + Triage Card + Triage Karte + + + Tourniquet + Tourniquet + + + Remove Tourniquet + Entferne Tourniquet + + + Give Blood IV (1000ml) + Bluttransfusion IV (1000ml) + + + Give Blood IV (500ml) + Bluttransfusion IV (500ml) + + + Give Blood IV (250ml) + Bluttransfusion IV (250ml) + + + Give Plasma IV (1000ml) + Plasmatransfusion IV (1000ml) + + + Give Plasma IV (500ml) + Plasmatransfusion IV (500ml) + + + Give Plasma IV (250ml) + Plasmatransfusion IV (250ml) + + + Give Saline IV (1000ml) + Kochsaltzlösung IV (1000ml) + + + Give Saline IV (500ml) + Kochsaltzlösung IV (500ml) + + + Give Saline IV (250ml) + Kochsaltzlösung IV (250ml) + + + Minor + Gering + + + Delayed + Verzögert + + + Immediate + Sofort + + + Deceased + tot + + + None + Keine + + + Normal breathing + Дыхание в норме + Respiración normal + Respiration Normale + Normalny oddech + Normale Atmung + + + No breathing + Дыхания нет + No respira + Apnée + Brak oddechu + Keine Atmung + + + Difficult breathing + Дыхание затруднено + Dificultad para respirar + Difficultée Respiratoire + Trudności z oddychaniem + Schwere Atmung + + + Almost no breathing + Дыхания почти нет + Casi sin respirar + Respiration Faible + Prawie brak oddechu + Fast keine Atmung + + + Bleeding + Кровотечение + Sangrando + Seignement + Krwawienie zewnętrzne + Blutet + + + In Pain + Испытывает боль + Con Dolor + A De La Douleur + W bólu + Hat Schmerzen + + + Lost a lot of Blood + Большая кровопотеря + Mucha Sangre perdida + A Perdu Bcp de Sang + Stracił dużo krwi + Große Menge Blut verloren + + + Tourniquet [CAT] + Жгут + Torniquete [CAT] + Garot [CAT] + Opaska uciskowa [CAT] + Aderpresse [CAT] + + + Receiving IV [%1ml] + Erhalte IV [%1ml] + + + Bandage (Basic) + Повязка (обычная) + Vendaje (Básico) + Bandage (Standard) + Bandaż (jałowy) + Bandage (Standard) + + + Used to cover a wound + Для перевязки ран + Utilizado para cubrir una herida + Utilisé Pour Couvrir Une Blessure + Używany w celu przykrycia i ochrony miejsca zranienia + Verwendet um Wunden abzudecken + + + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. - Повязка, накладываемая поверх раны после остановки кровотечения. - Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez + Повязка, накладываемая поверх раны после остановки кровотечения. + 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 + 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. + Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. - - - Packing Bandage - Тампонирующая повязка - Vendaje Compresivo - Bandage Mèche - Bandaż (uciskowy) - - - Used to pack medium to large wounds and stem the bleeding - Для тампонирования ран среднего и большого размера и остановки кровотечения. - Se utiliza para vendar heridas medianas y 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 + + + Packing Bandage + Тампонирующая повязка + Vendaje Compresivo + Bandage Mèche + Bandaż (uciskowy) + Mullbinde + + + Used to pack medium to large wounds and stem the bleeding + Для тампонирования ран среднего и большого размера и остановки кровотечения. + Se utiliza para vendar heridas medianas y 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. + Verwendet um mittlere bis große Wunden abzudecken und Blutungen zu stoppen + + + 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 + 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 + 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) - Повязка (давящая) - Vendaje (Elástico) - Bandage (Élastique) - Bandaż (elastyczny) - - - Bandage kit, Elastic - Давящая повязка - Vendaje (Elástico) - Bandage Compressif Élastique - Zestaw bandaży elastycznych. - - - - - Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la + Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. + + + Bandage (Elastic) + Повязка (давящая) + Vendaje (Elástico) + Bandage (Élastique) + Bandaż (elastyczny) + Bandage (Elastisch) + + + Bandage kit, Elastic + Давящая повязка + Vendaje (Elástico) + Bandage Compressif Élastique + Zestaw bandaży elastycznych. + Elastische Binde (Kompressionsbinde) + + + + + 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) - Жгут - Torniquete (CAT) - Garot (CAT) - Staza (typ. CAT) - - - Slows down blood loss when bleeding - Уменьшает кровопотерю при кровотечении. - 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 + 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) + Жгут + Torniquete (CAT) + Garot (CAT) + Staza (typ. CAT) + Aderpresse (CAT) + + + Slows down blood loss when bleeding + Уменьшает кровопотерю при кровотечении. + Reduce la velocidad de pérdida de sangre + Ralentit le seignement + Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. + Verringert den Blutverlust während einer Blutung + + + 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 + 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 + 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 - Морфин в автоматическом шприце - Morfina auto-inyectable - Auto-injecteur de Morphine - Autostrzykawka z morfiną - - - Used to combat moderate to severe pain experiences - Для снятия средних и сильных болевых ощущений. - Usado para combatir los estados dolorosos 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 moderado a severo. - 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 + Ein Gerät einschränkendes Gerät das Druck auf das Venen und Arterien ausübt und so den Blutfluss verringert. Dadurch wird der Blutverlust bei einer Blutung verringert. + + + Morphine autoinjector + Морфин в автоматическом шприце + Morfina auto-inyectable + Auto-injecteur de Morphine + Autostrzykawka z morfiną + Morphium Autoinjektor + + + Used to combat moderate to severe pain experiences + Для снятия средних и сильных болевых ощущений. + Usado para combatir los estados dolorosos moderados a severos + Utiliser pour contrer les douleurs modéré à severes. + Morfina. Ma silne działanie przeciwbólowe. + Verwendet um mäßige bis starke Schmerzen zu behandeln + + + An analgesic used to combat moderate to severe pain experiences. + Анальгетик для снятия средних и сильных болевых ощущений. + Analgésico usado para combatir los estados dolorosos de moderado a severo. + 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. + Ein Schmerzmittel um mäßige bis starke Schmerzen zu behandeln + + + 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. + Verwendet bei ABC Kontamination + + + 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 + Ein Medikament, das vom Militär bei ABC Kontamination verwendet wird. + + + Epinephrine autoinjector + Адреналин в автоматическом шприце + Epinefrina auto-inyectable + Auto-injecteur d'épinéphrine + Autostrzykawka EpiPen + Epiniphrin 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 + Steigert die Herzfrequenz um den Effekt von allergischen Reaktionen zu bekämpfen + + + 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 + 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 + 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 + 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 Intravenoso (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 Intravenoso (500ml) - Plasma Sanguin IV (500ml) - Osocze IV (500ml) - - - Plasma IV (250ml) - Плазма для в/в вливания (250 мл) - Plasma Intravenoso (250ml) - Plasma Sanguin (250ml) - Osocze IV (250ml) - - - Blood IV (1000ml) - Кровь для переливания (1000 мл) - Sangre Intravenosa (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 + + + Plasma IV (1000ml) + Плазма для в/в вливания (1000 мл) + Plasma Intravenoso (1000ml) + Plasma Sanguin IV (1000ml) + Osocze IV (1000ml) + Plasma 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 Intravenoso (500ml) + Plasma Sanguin IV (500ml) + Osocze IV (500ml) + Plasma IV (500ml) + + + Plasma IV (250ml) + Плазма для в/в вливания (250 мл) + Plasma Intravenoso (250ml) + Plasma Sanguin (250ml) + Osocze IV (250ml) + Plasma IV (250ml) + + + Blood IV (1000ml) + Кровь для переливания (1000 мл) + Sangre Intravenosa (1000ml) + Cullot Sanguin IV (1000ml) + Krew IV (1000ml) + Blut 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 группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема + Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. - Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume + 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 + 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 perdido. Uso + Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdido. Uso habitual durante el transporte de heridos. - - - Blood IV (500ml) - Кровь для переливания (500 мл) - Sangre Intravenosa (500ml) - Cullot Sanguin IV (500ml) - Krew IV (500ml) - - - Blood IV (250ml) - Кровь для переливания (250 мл) - Sangre Intravenosa (250ml) - Cullot Sanguin IV (250ml) - Krew IV (250ml) - - - Saline IV (1000ml) - Физраствор для в/в вливания (1000 мл) - Solución Salina Intravenosa (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. + + + Blood IV (500ml) + Кровь для переливания (500 мл) + Sangre Intravenosa (500ml) + Cullot Sanguin IV (500ml) + Krew IV (500ml) + Blut IV (500ml) + + + Blood IV (250ml) + Кровь для переливания (250 мл) + Sangre Intravenosa (250ml) + Cullot Sanguin IV (250ml) + Krew IV (250ml) + Blut IV (250ml) + + + Saline IV (1000ml) + Физраствор для в/в вливания (1000 мл) + Solución Salina Intravenosa (1000ml) + solution Saline 0.9% IV (1000ml) + Solanka 0,9% IV (1000ml) + Kochsalzlösung (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 + 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 + 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 мл) - Solución Salina Intravenosa (500ml) - Solution Saline 0.9% IV (500ml) - Solanka 0,9% IV (500ml) - - - Saline IV (250ml) - Физраствор для в/в вливания (250 мл) - Solución Salina Intravenosa (250ml) - Solution Saline 0.9% IV (250ml) - Solanka 0,9% IV (250ml) - - - Basic Field Dressing (QuikClot) - Первичный перевязочный пакет (QuikClot) - Vendaje Básico (Coagulante) - Bandage Regulier (Coagulant) - Opatrunek QuikClot - - - QuikClot bandage - Гемостатический пакет QuikClot - Venda Coagulante - Bandage coagulant - Podstawowy opatrunek stosowany na rany - - - - - Un bandage servant a coaguler les seignements mineur à moyen. - Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i + + + Saline IV (500ml) + Физраствор для в/в вливания (500 мл) + Solución Salina Intravenosa (500ml) + Solution Saline 0.9% IV (500ml) + Solanka 0,9% IV (500ml) + Kochsalzlösung (500ml) + + + Saline IV (250ml) + Физраствор для в/в вливания (250 мл) + Solución Salina Intravenosa (250ml) + Solution Saline 0.9% IV (250ml) + Solanka 0,9% IV (250ml) + Kochsalzlösung (250ml) + + + Basic Field Dressing (QuikClot) + Первичный перевязочный пакет (QuikClot) + Vendaje Básico (Coagulante) + Bandage Regulier (Coagulant) + Opatrunek QuikClot + Verbandpäckchen(Gerinnungsmittel) + + + QuikClot bandage + Гемостатический пакет QuikClot + Venda Coagulante + Bandage coagulant + Podstawowy opatrunek stosowany na rany + Bandage mit Gerinnungsmittel + + + + + 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 - Аптечка - Kit de Soporte Vital Avanzado - Équipement de support Vitale - Apteczka osobista - - - Includes various treatment kit needed for stitching or advanced treatment - Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. + Vendaje Hemostático con coagulante que detiene el sangrado. + Verband mit Gerinnungsmittel um starke Blutung zu behandeln. + + + Personal Aid Kit + Аптечка + Kit de Soporte Vital Avanzado + Équipement de support Vitale + Apteczka osobista + Persönliches Verbandpäckchen + + + 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 - Мешок для упаковки трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - 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 Pulso... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a Heart Rate of %2 - Пульс %2 уд./мин. - El Pulso es %2 - - - You find a weak Heart Rate - Пульс слабый - El Pulso es débil - - - You find a strong Heart Rate - Пульс учащенный - El Pulso está acelerado - - - You find a normal Heart Rate - Пульс в норме - El Pulso es bueno - - - You find no Heart Rate - Пульс не прощупывается - No tiene Pulso - - - Response - Реакция - Reacciona - - - 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 - - - Load patient - - - Place body in bodybag - - - Placing body in bodybag - - - - %1 has bandaged patient - - - %1 used %2 - - - %1 has given an IV - - - %1 applied a tourniquet - - - - + 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 + Beinhaltet medizinisches Material fortgeschrittene Behandlung und zum nähen. + + + + + + + + + Surgical Kit + Хирургический набор + Kit Quirúrgico + Operationsset + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit Quirúrgico para el tratamiento avanzado en el campo de batalla + Operationsset für fortgeschrittene medizinische Feldversorgung + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit Quirúrgico para el tratamiento avanzado en el campo de batalla + Operationsset für fortgeschrittene medizinische Feldversorgung + + + Bodybag + Мешок для трупов + Bolsa para cadáveres + Leichensack + + + A bodybag for dead bodies + Мешок для упаковки трупов + Bolsa para cadáveres + Ein Leichensack für Tote + + + A bodybag for dead bodies + Мешок для упаковки трупов + Bolsa para cadáveres + Ein Leichensack für Tote + + + Blood Pressure + Артериальное давление + Presión Arterial + Blutdruck + + + Checking Blood Pressure.. + Проверка артериального давления... + Comprobando Presión Arterial... + Blutdruck kontrollieren... + + + You checked %1 + Вы осмотрели раненого %1 + Examinando a %1 + Kontrolliert %1 + + + You find a blood pressure of %2/%3 + Артериальное давление %2/%3 + La Presión Arterial es %2/%3 + Blutdruck ist %2/%3 + + + You find a low blood pressure + Давление низкое + La Presión Arterial es baja + Blutdruck ist niedrig + + + You find a normal blood pressure + Давление нормальное + La Presión Arterial es normal + Blutdruck ist normal + + + You find a high blood pressure + Давление высокое + La Presión Arterial es alta + Blutdruck ist hoch + + + You find no blood pressure + Давления нет + No hay Presión Arterial + Patient hat keinen Blutdruck + + + You fail to find a blood pressure + Артериальное давление не определяется + No puedes encontrar Presión Arterial + Blutdruck konnte nicht gefunden werden + + + Pulse + Пульс + Pulso + Puls + + + Checking Heart Rate.. + Проверка пульса... + Comprobando Pulso... + Kontrolliere Herzfrequenz + + + You checked %1 + Вы осмотрели раненого %1 + Examinando a %1 + Kontrolliertt %1 + + + You find a Heart Rate of %2 + Пульс %2 уд./мин. + El Pulso es %2 + Herzfrequenz ist %2 + + + You find a weak Heart Rate + Пульс слабый + El Pulso es débil + Schwacher Puls + + + You find a strong Heart Rate + Пульс учащенный + El Pulso está acelerado + Starker Puls + + + You find a normal Heart Rate + Пульс в норме + El Pulso es bueno + Normaler Puls + + + You find no Heart Rate + Пульс не прощупывается + No tiene Pulso + Kein Puls gefunden + + + Response + Реакция + Reacciona + Ansprechbarkeit + + + You check response of patient + Вы проверяете реакцию раненого + Compruebas si el paciente reacciona + Du prüfst ob der Patient ansprechbar ist + + + %1 is responsive + %1 реагирует на раздражители + %1 ha reaccionado + %1 ist anprechbar + + + %1 is not responsive + %1 не реагирует + %1 no reacciona + %1 ist nicht ansprechbar + + + You checked %1 + Вы осмотрели раненого %1 + Examinas a %1 + Du versucht %1 anzusprechen + + + 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 + Atemwege + + + %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 + + + Load patient + + + Place body in bodybag + + + Placing body in bodybag + + + %1 has bandaged patient + + + %1 used %2 + + + %1 has given an IV + + + %1 applied a tourniquet + + + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 772a7a172f..18728d4c64 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,24 +1,30 @@  - + MicroDAGR GPS + MicroDAGR GPS MicroDAGR advanced GPS receiver + MicroDAGR Verbesserter GPS Empfänger Angular Unit: + Winkeleinheit: Mils + Mils Show Waypoints On Map: + Zeige Wegpunkte auf Karte Degrees + Grad On @@ -44,6 +50,7 @@ Enter Grid Cords: + Gitter Koordinaten eingeben: Name of [%1] @@ -60,9 +67,11 @@ Compass Direction + Kompass Richtung Mark + Markieren Waypoints @@ -70,6 +79,7 @@ Connect To + Verbinde zu Settings @@ -78,9 +88,11 @@ SetWP + WP setzen Add + Hinzufügen Delete @@ -95,15 +107,19 @@ Toggle MicroDAGR Display Mode + MicoDAGR Anzeigemodus wählen Show MicoDAGR + Zeige MicroDAGR Configure MicroDAGR + Konfiguriere MicroDAGR Close MicroDAGR + Schließe MicroDAGR \ No newline at end of file diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 622df44aca..e832b2ce94 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -68,6 +68,7 @@ Show name tags for AI units + Zeige Namen für KI Einheiten Show SoundWaves (requires player names) @@ -76,6 +77,7 @@ Default Nametag Color (Non Group Members) + Standard Namenfarbe (Nicht Gruppenmitglieder) \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 76407da435..32a551e613 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -41,6 +41,7 @@ Values + Werte Yes @@ -75,9 +76,11 @@ Export + Exportieren Open Export Menu + Öffne Exportier Menü String input. @@ -93,6 +96,7 @@ Save input + Speichere Eingabe Include Client Settings diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 40f36c6549..dfb5e98ca0 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,12 +1,14 @@ - - + + Check ammo on weapon reload + Munition beim Nachladen prüfen Check the ammo in your new magazine on magazine reload. + Munition im neuen Magazin beim Magazinfüllen prüfen Check Ammo @@ -34,9 +36,11 @@ Link belt + Gurt anhängen Linking belt... + Gurt anhängen... - + \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index b52100046f..42dd3838c3 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,32 +1,38 @@ - - - - - - Wind Information - Informacje o wietrze - Información del viento - - - Direction: %1 - Kierunek: %1 - Dirección: %1 - - - Speed: %1 m/s - Prędkość: %1 - Velocidad: %1 m/s - - - Weather Information - Informacje o pogodzie - Información Meteorológica - - - Humidity: %1% - Wilgotność: %1 - Humedad: %1% - - - - + + + + + + + Wind Information + Informacje o wietrze + Información del viento + Windinformationen + + + Direction: %1 + Kierunek: %1 + Dirección: %1 + Richtung: %1 + + + Speed: %1 m/s + Prędkość: %1 + Velocidad: %1 m/s + Geschwindigkeit: %1m/s + + + Weather Information + Informacje o pogodzie + Información Meteorológica + Wetterinformationen + + + Humidity: %1% + Wilgotność: %1 + Humedad: %1% + Feuchtigkeit: %1% + + + + \ No newline at end of file From 439dfa7b3cdbb8656722e0dfb788719e54c186de Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 16:31:47 +0200 Subject: [PATCH 051/145] laser_selfdesignate PL translation fixes --- addons/laser_selfdesignate/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 4562110539..b9be287963 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -4,11 +4,11 @@ Laser<br/>Designator On - Laser<br/>Dezygnator wł. + Desygnator<br/>laserowy wł. Laser<br/>Designator Off - Laser<br/>Dezygnator wył. + Desygnator<br/>laserowy wył. From a95b0b051c2fec62a05f8a3476a0621e9593b0a8 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 16:33:09 +0200 Subject: [PATCH 052/145] inventory PL translation --- addons/inventory/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 034afd6986..3618fbc59f 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -4,7 +4,7 @@ Make Inventory Display Bigger - Powiększ widok ekwipunku + Powiększ UI ekwipunku 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. From 584c77a0b6e67f3d92cd1aa100aa23a13025e7fc Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 10 Apr 2015 17:07:40 +0200 Subject: [PATCH 053/145] microdagr PL translation fixes --- addons/microdagr/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index ccedfd346f..b064aef598 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -20,7 +20,7 @@ Show Waypoints On Map: - Pokaż pkt. trasy na mapie: + Pokaż PT na mapie: Degrees @@ -67,7 +67,7 @@ Range: Reichweite: - Odległość: + Dystans: Compass Direction From a4b9090e347b1c6d6aa01ad134ed076598930138 Mon Sep 17 00:00:00 2001 From: nic547 <32dominic.ri@gmail.com> Date: Fri, 10 Apr 2015 21:01:49 +0200 Subject: [PATCH 054/145] Added new ammotypes for both types of .388 ammo --- addons/magazines/CfgAmmo.hpp | 14 +++++++++ addons/magazines/CfgMagazines.hpp | 32 +++++++++++++++++++++ addons/magazines/CfgWeapons.hpp | 14 +++++++++ addons/magazines/stringtable.xml | 48 +++++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+) diff --git a/addons/magazines/CfgAmmo.hpp b/addons/magazines/CfgAmmo.hpp index 2e1e9fceea..e04f793cb6 100644 --- a/addons/magazines/CfgAmmo.hpp +++ b/addons/magazines/CfgAmmo.hpp @@ -107,4 +107,18 @@ class CfgAmmo { //typicalspeed = 792; //airfriction = -0.0008577; }; + + /* .338 Lapua Magnum */ + + // IR Dim + class B_338_Ball; + class ACE_B_338_Ball_Tracer_Dim: B_338_Ball { + nvgOnly = 1; + }; + + /* .338 Norma Magnum */ + class B_338_NM_Ball; + class ACE_B_338_NM_Ball_Tracer_Dim: B_338_NM_Ball { + nvgOnly = 1; + }; }; diff --git a/addons/magazines/CfgMagazines.hpp b/addons/magazines/CfgMagazines.hpp index 86cb6d9e1b..bfdf327ee4 100644 --- a/addons/magazines/CfgMagazines.hpp +++ b/addons/magazines/CfgMagazines.hpp @@ -136,4 +136,36 @@ class CfgMagazines { displayNameShort = "$STR_ACE_20Rnd_762x51_mag_APNameShort"; descriptionShort = "$STR_ACE_20Rnd_762x51_mag_APDescription"; }; + class 10Rnd_338_Mag; + /* .338 Lapua Magnum */ + class ACE_10Rnd_338_Mag_Tracer: 10Rnd_338_Mag { + author="$STR_ACE_Common_ACETeam" + displayName = "$STR_ACE_10Rnd_388_Mag_TracerName"; + displayNameShort = "$STR_ACE_10Rnd_388_Mag_TracerNameShort"; + descriptionShort = "$STR_ACE_10Rnd_388_Mag_TracerDescription"; + tracersEvery = 1; + }; + class ACE_10Rnd_338_Mag_Tracer_Dim: ACE_10Rnd_338_Mag_Tracer { + author="$STR_ACE_Common_ACETeam" + ammo = "ACE_B_338_Ball_Tracer_Dim" + displayName = "$STR_ACE_10Rnd_388_Mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_10Rnd_388_Mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_10Rnd_388_Mag_Tracer_DimDescription"; + }; + /* .333 Norma Magnum */ + class 130Rnd_338_Mag; + class ACE_130Rnd_338_Mag_Tracer: 130Rnd_338_Mag { + author="$STR_ACE_Common_ACETeam" + displayName = "$STR_ACE_130Rnd_388_Mag_TracerName"; + displayNameShort = "$STR_ACE_130Rnd_388_Mag_TracerNameShort"; + descriptionShort = "$STR_ACE_130Rnd_388_Mag_TracerDescription"; + tracersEvery = 1; + }; + class ACE_130Rnd_338_Mag_Tracer_Dim: ACE_130Rnd_338_Mag_Tracer { + author="$STR_ACE_Common_ACETeam" + ammo = "ACE_B_338_NM_Ball_Tracer_Dim" + displayName = "$STR_ACE_130Rnd_388_Mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_130Rnd_388_Mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_130Rnd_388_Mag_Tracer_DimDescription"; + } }; diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp index 46344d5f06..fd6243089b 100644 --- a/addons/magazines/CfgWeapons.hpp +++ b/addons/magazines/CfgWeapons.hpp @@ -103,6 +103,20 @@ class CfgWeapons { }; }; }; + + class DMR_02_base_F: Rifle_Long_Base_F { + magazines[] += { + "ACE_10Rnd_338_Mag_Tracer", + "ACE_10Rnd_338_Mag_Tracer_Dim" + }; + }; + + class MMG_02_base_F: Rifle_Long_Base_F { + magazines[] += { + "ACE_130Rnd_338_Mag_Tracer", + "ACE_130Rnd_338_Mag_Tracer_Dim" + }; + }; /* Assault Rifles */ diff --git a/addons/magazines/stringtable.xml b/addons/magazines/stringtable.xml index c8f652fa39..b81fe3d3ed 100644 --- a/addons/magazines/stringtable.xml +++ b/addons/magazines/stringtable.xml @@ -486,5 +486,53 @@ Калибр: 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 + + + .338 LM Tracer + .338 LM Leuchtspur + + + 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 + + + .338 LM 10Rnd IR-DIM Mag + .338 LM 10-Schuss-Magazin Leuchtspur 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 + + + .338 NM 130Rnd Tracer Belt + .338 NM 130-Schuss-Gurt Leuchtspur + + + .338 NM Tracer + .338 NM Leuchtspur + + + 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 + + + .338 NM 130Rnd IR-DIM Belt + .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM + + + .338 NM IR-DIM + .338 LM 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 + From a37cd51fe712633144a539e4aaf7a66edb68db6f Mon Sep 17 00:00:00 2001 From: nic547 <32dominic.ri@gmail.com> Date: Sat, 11 Apr 2015 15:02:56 +0200 Subject: [PATCH 055/145] more stuff - added more ammotypes - stringtable now follows guideline --- addons/magazines/CfgAmmo.hpp | 55 +- addons/magazines/CfgMagazines.hpp | 99 ++- addons/magazines/CfgWeapons.hpp | 17 +- addons/magazines/stringtable.xml | 1143 +++++++++++++++-------------- 4 files changed, 754 insertions(+), 560 deletions(-) diff --git a/addons/magazines/CfgAmmo.hpp b/addons/magazines/CfgAmmo.hpp index e04f793cb6..6ed27581f4 100644 --- a/addons/magazines/CfgAmmo.hpp +++ b/addons/magazines/CfgAmmo.hpp @@ -107,18 +107,65 @@ class CfgAmmo { //typicalspeed = 792; //airfriction = -0.0008577; }; - - /* .338 Lapua Magnum */ - + + + /* .338 Lapua Magnum */ + // IR Dim class B_338_Ball; class ACE_B_338_Ball_Tracer_Dim: B_338_Ball { nvgOnly = 1; }; - + + //AP + class ACE_B_338_Ball_AP: B_338_Ball { + caliber = 3.6; + hit = 18.9; + }; + + //SD + class ACE_B_338_Ball_SD: B_338_Ball { + airFriction = -0.00036; + hit = 15.75; + supersonicCrackFar[] = {}; + supersonicCrackNear[] = {}; + typicalSpeed = 320; + audibleFire = 1.2; + visibleFire = 4.0; + }; + + /* .338 Norma Magnum */ + + //IR Dim class B_338_NM_Ball; class ACE_B_338_NM_Ball_Tracer_Dim: B_338_NM_Ball { nvgOnly = 1; }; + + + /* 9.3x64mm */ + + //IR Dim + class B_93x64_Ball; + class ACE_B_93x64_Ball_Tracer_Dim: B_93x64_Ball { + nvgOnly = 1; + }; + + //AP + class ACE_B_93x64_Ball_AP: B_93x64_Ball { + caliber = 4.0; + hit = 21; + }; + + //SD + class ACE_B_93x64_Ball_SD: B_93x64_Ball { + airFriction = -0.00042; + hit = 17.5; + supersonicCrackFar[] = {}; + supersonicCrackNear[] = {}; + typicalSpeed = 320; + audibleFire = 1.2; + visibleFire = 4.0; + }; }; diff --git a/addons/magazines/CfgMagazines.hpp b/addons/magazines/CfgMagazines.hpp index bfdf327ee4..de19a86f7a 100644 --- a/addons/magazines/CfgMagazines.hpp +++ b/addons/magazines/CfgMagazines.hpp @@ -136,36 +136,97 @@ class CfgMagazines { displayNameShort = "$STR_ACE_20Rnd_762x51_mag_APNameShort"; descriptionShort = "$STR_ACE_20Rnd_762x51_mag_APDescription"; }; + + + /* 338 Lapua Magnum */ class 10Rnd_338_Mag; - /* .338 Lapua Magnum */ class ACE_10Rnd_338_Mag_Tracer: 10Rnd_338_Mag { - author="$STR_ACE_Common_ACETeam" - displayName = "$STR_ACE_10Rnd_388_Mag_TracerName"; - displayNameShort = "$STR_ACE_10Rnd_388_Mag_TracerNameShort"; - descriptionShort = "$STR_ACE_10Rnd_388_Mag_TracerDescription"; + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_10Rnd_338_Mag_TracerName"; + displayNameShort = "$STR_ACE_10Rnd_338_Mag_TracerNameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_Mag_TracerDescription"; tracersEvery = 1; }; + class ACE_10Rnd_338_Mag_Tracer_Dim: ACE_10Rnd_338_Mag_Tracer { - author="$STR_ACE_Common_ACETeam" - ammo = "ACE_B_338_Ball_Tracer_Dim" + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_338_Ball_Tracer_Dim"; displayName = "$STR_ACE_10Rnd_388_Mag_Tracer_DimName"; - displayNameShort = "$STR_ACE_10Rnd_388_Mag_Tracer_DimNameShort"; - descriptionShort = "$STR_ACE_10Rnd_388_Mag_Tracer_DimDescription"; + displayNameShort = "$STR_ACE_10Rnd_338_Mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_Mag_Tracer_DimDescription"; }; + + class ACE_10Rnd_338_Mag_AP: 10Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo ="ACE_B_338_Ball_AP"; + displayName = "$STR_ACE_10Rnd_338_Mag_APName"; + displayNameShort = "$STR_ACE_10Rnd_338_Mag_APNameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_Mag_APDescription"; + }; + + class ACE_10Rnd_338_Mag_SD: 10Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_338_Ball_SD"; + displayName = "$STR_ACE_10Rnd_338_Mag_SDName"; + displayNameShort = "$STR_ACE_10Rnd_338_Mag_SDNameShort"; + descriptionShort = "$STR_ACE_10Rnd_338_Mag_SDDescription"; + initSpeed = 320; + }; + + /* .333 Norma Magnum */ + class 130Rnd_338_Mag; class ACE_130Rnd_338_Mag_Tracer: 130Rnd_338_Mag { - author="$STR_ACE_Common_ACETeam" - displayName = "$STR_ACE_130Rnd_388_Mag_TracerName"; - displayNameShort = "$STR_ACE_130Rnd_388_Mag_TracerNameShort"; - descriptionShort = "$STR_ACE_130Rnd_388_Mag_TracerDescription"; + author = "$STR_ACE_Common_ACETeam"; + displayName = "$STR_ACE_130Rnd_338_Mag_TracerName"; + displayNameShort = "$STR_ACE_130Rnd_338_Mag_TracerNameShort"; + descriptionShort = "$STR_ACE_130Rnd_338_Mag_TracerDescription"; tracersEvery = 1; }; + class ACE_130Rnd_338_Mag_Tracer_Dim: ACE_130Rnd_338_Mag_Tracer { - author="$STR_ACE_Common_ACETeam" - ammo = "ACE_B_338_NM_Ball_Tracer_Dim" - displayName = "$STR_ACE_130Rnd_388_Mag_Tracer_DimName"; - displayNameShort = "$STR_ACE_130Rnd_388_Mag_Tracer_DimNameShort"; - descriptionShort = "$STR_ACE_130Rnd_388_Mag_Tracer_DimDescription"; - } + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_338_NM_Ball_Tracer_Dim"; + displayName = "$STR_ACE_130Rnd_338_Mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_130Rnd_338_Mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_130Rnd_338_Mag_Tracer_DimDescription"; + }; + + + /* 9.3x64mm */ + + class 10Rnd_93x64_DMR_05_Mag; + class ACE_10Rnd_93x64_DMR_05_Mag_Tracer: 10Rnd_93x64_DMR_05_Mag { + author = "$STR_ACE_Common_ACEETeam"; + displayName = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerName"; + displayNameShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerNameShort"; + descriptionShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerDescription"; + tracersEvery = 1; + }; + + class ACE_10Rnd_93x64_DMR_05_Mag_Tracer_Dim: ACE_10Rnd_93x64_DMR_05_Mag_Tracer { + author = "$STR_ACE_Common_ACEETeam"; + ammo ="ACE_B_93x64_Ball_Tracer_Dim"; + displayName = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimDescription"; + }; + + class ACE_10Rnd_93x64_DMR_05_Mag_AP: 10Rnd_93x64_DMR_05_Mag { + author = "$STR_ACE_Common_ACEETeam"; + ammo = "ACE_B_93x64_Ball_AP"; + displayName = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_APName"; + displayNameShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_APNameShort"; + descriptionShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_APDescription"; + }; + + class ACE_10Rnd_93x64_DMR_05_Mag_SD: 10Rnd_93x64_DMR_05_Mag { + author = "$STR_ACE_Common_ACEETeam"; + ammo = "ACE_B_93x64_Ball_SD"; + displayName = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_SDName"; + displayNameShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_SDNameShort"; + descriptionShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_SDDescription"; + initSpeed = 320; + }; }; diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp index fd6243089b..f1c9049894 100644 --- a/addons/magazines/CfgWeapons.hpp +++ b/addons/magazines/CfgWeapons.hpp @@ -103,14 +103,16 @@ class CfgWeapons { }; }; }; - + class DMR_02_base_F: Rifle_Long_Base_F { magazines[] += { "ACE_10Rnd_338_Mag_Tracer", - "ACE_10Rnd_338_Mag_Tracer_Dim" + "ACE_10Rnd_338_Mag_Tracer_Dim", + "ACE_10Rnd_338_Mag_AP", + "ACE_10Rnd_338_Mag_SD" }; }; - + class MMG_02_base_F: Rifle_Long_Base_F { magazines[] += { "ACE_130Rnd_338_Mag_Tracer", @@ -118,6 +120,15 @@ class CfgWeapons { }; }; + class DMR_05_base_F: Rifle_Long_Base_F { + magazines[] += { + "ACE_10Rnd_93x64_DMR_05_Mag_Tracer", + "ACE_10Rnd_93x64_DMR_05_Mag_Tracer_Dim", + "ACE_10Rnd_93x64_DMR_05_Mag_AP", + "ACE_10Rnd_93x64_DMR_05_Mag_SD" + }; + }; + /* Assault Rifles */ diff --git a/addons/magazines/stringtable.xml b/addons/magazines/stringtable.xml index b81fe3d3ed..bdb32796cb 100644 --- a/addons/magazines/stringtable.xml +++ b/addons/magazines/stringtable.xml @@ -1,538 +1,613 @@  - - - - 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 - - - .338 LM 10Rnd Tracer Mag - .338 LM 10-Schuss-Magazin Leuchtspur - - - .338 LM Tracer - .338 LM Leuchtspur - - - 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 - - - .338 LM 10Rnd IR-DIM Mag - .338 LM 10-Schuss-Magazin Leuchtspur 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 - - - .338 NM 130Rnd Tracer Belt - .338 NM 130-Schuss-Gurt Leuchtspur - - - .338 NM Tracer - .338 NM Leuchtspur - - - 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 - - - .338 NM 130Rnd IR-DIM Belt - .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM - - - .338 NM IR-DIM - .338 LM 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 - - + + + + 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 + + + + .338 LM 10Rnd Tracer Mag + .338 LM 10-Schuss-Magazin Leuchtspur + + + .338 LM Tracer + .338 LM Leuchtspur + + + 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 + + + .338 LM 10Rnd IR-DIM Mag + .338 LM 10-Schuss-Magazin Leuchtspur 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 + + + .338 LM 10Rnd AP Mag + .338 LM 10-Schuss-Magazin Hartkern + + + .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 + + + .338 LM 10Rnd SD Mag + .338 LM 10-Schuss-Magazin Unterschall + + + .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 + + + + .338 NM 130Rnd Tracer Belt + .338 NM 130-Schuss-Gurt Leuchtspur + + + .338 NM Tracer + .338 NM Leuchtspur + + + 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 + + + .338 NM 130Rnd IR-DIM Belt + .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM + + + .338 NM IR-DIM + .338 LM 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 + + + + 9.3mm 10Rnd Tracer Mag + 9,3mm 10-Schuss-Magazin Leuchtspur + + + 9.3mm Tracer + 9,3mm Leuchtspur + + + Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus + Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus + + + 9.3mm 10Rnd Tracer IR-DIM Mag + 9,3mm 10-Schuss-Magazin Leuchtspur 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 + + + 9.3mm 10Rnd AP Mag + 9,3mm 10-Schuss-Magazin Hartkern + + + 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 + + + 9.3mm 10Rnd SD Mag + 9,3mm 10-Schuss-Magazin Unterschall + + + 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 + + From 9cf44b1d3235e782b49e80abdda83ea4173baf18 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 11 Apr 2015 15:46:41 +0200 Subject: [PATCH 056/145] initial commit --- addons/common/functions/fnc_muteUnit.sqf | 17 +++++++++++++++-- addons/common/functions/fnc_unmuteUnit.sqf | 19 ++++++++++++++++--- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index 8edf9df391..f3c5dcff9d 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -5,21 +5,34 @@ * * Argument: * 0: Unit (Object) + * 1: Reason to mute the unit (String) * * Return value: * Nothing */ #include "script_component.hpp" -private ["_unit", "_speaker"]; +private ["_unit", "_reason"]; _unit = _this select 0; +_reason = _this select 1; if (isNull _unit) exitWith {}; +// add reason to mute to the unit +private "_muteUnitReasons"; +_muteUnitReasons = _unit getVariable [QGVAR(muteUnitReasons), []]; + +if !(_reason in _muteUnitReasons) then { + _muteUnitReasons pushBack _reason; + _unit setVariable [QGVAR(muteUnitReasons), _muteUnitReasons, true]; +}; + +private "_speaker"; _speaker = speaker _unit; + if (_speaker == "ACE_NoVoice") exitWith {}; -[0, "{(_this select 1) setSpeaker 'ACE_NoVoice'}", _unit, "ACE_Speaker"] call FUNC(execPersistentFnc); +["setSpeaker", _unit, [_unit, "ACE_NoVoice"]] call FUNC(targetEvent); _unit setVariable ["ACE_OriginalSpeaker", _speaker, true]; diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index 8de7708d4b..14ecef290b 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -1,23 +1,36 @@ /* * Author: commy2 * - * Unmutes the unit. + * Unmutes the unit. Only unmutes if the last reason was removed. * * Argument: * 0: Unit (Object) + * 1: Reason to unmute the unit. (String) * * Return value: * Nothing */ #include "script_component.hpp" -private ["_unit", "_speaker"]; +private ["_unit", "_reason"]; _unit = _this select 0; +_reason = _this select 1; if (isNull _unit) exitWith {}; +// remove reason to mute to the unit +private "_muteUnitReasons"; +_muteUnitReasons = _unit getVariable [QGVAR(muteUnitReasons), []]; + +if (_reason in _muteUnitReasons) then { + _muteUnitReasons deleteAt (_muteUnitReasons find _reason); + _unit setVariable [QGVAR(muteUnitReasons), _muteUnitReasons, true]; +}; + +private "_speaker"; _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""]; + if (_speaker == "") exitWith {}; -[0, format ["{(_this select 1) setSpeaker '%1'}", _speaker], _unit, "ACE_Speaker"] call FUNC(execPersistentFnc); +["setSpeaker", _unit, [_unit, _speaker]] call FUNC(targetEvent); From 38adfbcb7079387ea244b70b0d0e823cb2debdc1 Mon Sep 17 00:00:00 2001 From: Kllrt Date: Sat, 11 Apr 2015 16:33:00 +0200 Subject: [PATCH 057/145] Added missing CZ strings and made little revision --- addons/attach/stringtable.xml | 17 +- addons/captives/stringtable.xml | 9 +- addons/common/stringtable.xml | 12 +- addons/disposable/stringtable.xml | 4 +- addons/dragging/stringtable.xml | 7 +- addons/explosives/stringtable.xml | 13 +- addons/flashsuppressors/stringtable.xml | 14 +- addons/goggles/stringtable.xml | 6 +- addons/grenades/stringtable.xml | 24 +- addons/hearing/stringtable.xml | 3 +- addons/interact_menu/stringtable.xml | 9 +- addons/interaction/stringtable.xml | 31 +- addons/inventory/stringtable.xml | 6 +- addons/kestrel/stringtable.xml | 4 +- addons/laser_selfdesignate/stringtable.xml | 6 +- addons/laserpointer/stringtable.xml | 10 +- addons/logistics_uavbattery/stringtable.xml | 6 +- addons/logistics_wirecutter/stringtable.xml | 6 +- addons/magazinerepack/stringtable.xml | 15 +- addons/maptools/stringtable.xml | 6 +- addons/medical/stringtable.xml | 29 +- addons/microdagr/stringtable.xml | 13 +- addons/missileguidance/stringtable.xml | 82 +- addons/movement/stringtable.xml | 4 +- addons/nametags/stringtable.xml | 6 +- addons/nightvision/stringtable.xml | 8 +- addons/optionsmenu/stringtable.xml | 18 +- addons/overheating/stringtable.xml | 6 +- addons/realisticnames/stringtable.xml | 2642 ++++++++++--------- addons/reload/stringtable.xml | 10 +- addons/reloadlaunchers/stringtable.xml | 54 +- addons/vector/stringtable.xml | 4 +- addons/weaponselect/stringtable.xml | 6 +- addons/wep_javelin/stringtable.xml | 46 +- addons/winddeflection/stringtable.xml | 70 +- 35 files changed, 1623 insertions(+), 1583 deletions(-) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 27a0517f9a..a86c82e008 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -44,7 +44,7 @@ Marcador IR acoplado Przyczepiono stroboskop IR Strobe IR attaché - IR Značkovač Připnutý + IR Značkovač připnutý Marcador IV Acoplado Strobo IR attaccata Infravörös jeladó hozzácsatolva @@ -56,7 +56,7 @@ Marcador IR quitado Odczepiono stroboskop IR Strobe IR détaché - IR Značkovač Odepnutý + IR Značkovač odepnutý Marcador IV Separado Strobo IR staccata Infravörös jeladó lecsatolva @@ -68,7 +68,7 @@ Granada IR acoplada Przyczepiono granat IR Grenade IR attachée - IR Granát Připnutý + IR Granát připnutý Granada IV Acoplada Granata IR attaccata Infravörös gránát hozzácsatolva @@ -80,7 +80,7 @@ Granada IR quitada Odczepiono granat IR Grenade IR détachée - IR Granát Odepnutý + IR Granát odepnutý Granada IV Separada Granata IR staccata Infravörös gránát lecsatolva @@ -92,7 +92,7 @@ Barra de luz acoplada Przyczepiono światło chemiczne Chemlight attaché - Chemické světlo Připnuto + Chemické světlo připnuto Chemlight Acoplada Chemlight attaccata Chemlight hozzácsatolva @@ -104,7 +104,7 @@ Barra de luz quitada Odczepiono światło chemiczne Chemlight détaché - Chemické světlo Odepnuto + Chemické světlo odepnuto Chemlight Separada Chemlight staccata Chemlight hozzácsatolva @@ -174,6 +174,7 @@ Befestigen fehlgeschlagen Присоединить Ошибка Error al acoplar + Připnutí selhalo - + \ No newline at end of file diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 897782747f..d07db4de95 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -134,26 +134,31 @@ 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 - + \ No newline at end of file diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 04a98e6b38..93f40e4720 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -43,7 +43,7 @@ ACE Optionen Opciones ACE Opcje ACE - ACE Nastavení + Nastavení ACE ACE Options ACE Настройки Opções do ACE @@ -248,7 +248,7 @@ Aktion abgebrochen. Acción cancelada. Przerwano czynność - Akce přerušena + Akce přerušena. Action annulée. Действие отменено. Ação cancelada. @@ -300,12 +300,14 @@ Anfrage annehmen Aceptar peticiones Akceptuj prośby + Přijmout žádost Decline Requests Anfrage ablehnen Rechazar peticiones Ignoruj prośby + Zamítnout žádost Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -363,11 +365,13 @@ Banana Banane 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. 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). - + \ No newline at end of file diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 8b6c032961..1cdbf36ca2 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -26,7 +26,7 @@ Preloaded Missile Dummy Preloaded Missile Dummy Preloaded Missile Dummy - Preloaded Missile Dummy + Přednabitá dummy střela Preloaded Missile Dummy Preloaded Missile Dummy Preloaded Missile Dummy diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 9193d2712e..57536c7f97 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -1,5 +1,5 @@ - - + + @@ -40,6 +40,7 @@ Não é possível carregar o item devido a seu peso Non è possibile trascinare l'oggetto a causa del suo peso Túl nehéz ahhoz, hogy elhúzd --> + Moc težké Carry @@ -54,4 +55,4 @@ Нести - + \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 386e1677ed..ec2a995df6 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -80,7 +80,7 @@ + Modificador, girar + Modificateur, tourner + Modificatore, rotazione - + Otočit + + Modifikátor, otočit + Változtatás, forgatás + modyfikator, obracanie + Modificador, rotaciona @@ -140,7 +140,7 @@ Dispositivo de detonación M57 Zapalnik M57 M57 Dispositif de mise à feu - M57 Odpalovací Zařízení + Odpalovací zařízení M57 Detonatore M57 M57 Detonátor M57 Dispositivo de Detonação @@ -152,7 +152,7 @@ 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 + 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 @@ -164,7 +164,7 @@ Dispositivo de detonación MK26 Zapalnik M26 M26 Dispositif de mise à feu - M26 Odpalovací Zařízení + Odpalovací zařízení M26 Detonatore M26 M26 Detonátor M26 Dispositivo de Detonação @@ -494,6 +494,7 @@ Pick up Aufnehmen Recoger + Sebrat - + \ No newline at end of file diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 3f6cc7b0d2..6f48202b04 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -9,7 +9,7 @@ Soppressore di fiamma (6.5mm) Supressor de Clarão (6,5mm) Tłumik płomieni (6,5 mm) - Tlumič záblesku (6,5 mm) + Tlumič plamene (6,5 mm) Cache-flamme (6,5 mm) Пламегаситель (6,5 мм) Supresor (6,5 mm) @@ -21,7 +21,7 @@ Soppressore di fiamma (7.62mm) Supressor de Clarão (7,62mm) Tłumik płomieni (7,62 mm) - Tlumič záblesku (7,62 mm) + Tlumič plamene (7,62 mm) Cache-flamme (7,62 mm) Пламегаситель (7,62 мм) Supresor (7,62 mm) @@ -33,7 +33,7 @@ Soppressore di fiamma (5.56mm) Supressor de Clarão (5,56mm) Tłumik płomieni (5,56 mm) - Tlumič záblesku (5,56 mm) + Tlumič plamene (5,56 mm) Cache-flamme (5,56 mm) Пламегаситель (5,56 мм) Supresor (5,56 mm) @@ -45,7 +45,7 @@ Soppressore di fiamma (.45 ACP) Supressor de Clarão (.45 ACP) Tłumik płomieni (.45 ACP) - Tlumič záblesku (.45 ACP) + Tlumič plamene (.45 ACP) Cache-flamme (.45 ACP) Пламегаситель (.45 ACP) Supresor (.45 ACP) @@ -57,10 +57,10 @@ Soppressore di fiamma (9 mm) Supressor de Clarão (9mm) Tłumik płomieni (9 mm) - Tlumič záblesku (9 mm) + Tlumič plamene (9 mm) Cache-flamme (9 mm) Пламегаситель (9 мм) Supresor (9 mm) - + \ No newline at end of file diff --git a/addons/goggles/stringtable.xml b/addons/goggles/stringtable.xml index 1756442176..fc10113f55 100644 --- a/addons/goggles/stringtable.xml +++ b/addons/goggles/stringtable.xml @@ -1,12 +1,12 @@  - + Show Goggle Effects in Third Person Brilleneffekt in dritter Person anzeigen Mostrar efectos de las gafas en tercera persona - Zobrazit účinky brýlí v třetí osobě + 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 @@ -27,4 +27,4 @@ Pulisci gli occhiali - + \ No newline at end of file diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 1129d44271..1c7eb83188 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -1,5 +1,5 @@ - - + + @@ -19,7 +19,7 @@ Normaler Wurf Lanzamiento normal Normalny rzut - Normální + Normální hod Lancer Normal Нормальный бросок Normál dobás @@ -31,7 +31,7 @@ Hoher Wurf Lanzamiento alto Rzut lobem - Vysoko + Vysoký hod Lancer Haut Высокий бросок Magas dobás @@ -43,7 +43,7 @@ Präziser Wurf Lanzamiento preciso Precyzyjny rzut - Přesně + Přesný hod Lancer Précis Точный бросок Pontos dobás @@ -80,7 +80,7 @@ Granada aturdidora M84 M84 Grenade Incapacitante Granat hukowy M84 - M84 Omračující granát + Omračující granát M84 M84 светозвуковая граната M84 Villanógránát Granata Stordente M84 @@ -101,7 +101,7 @@ M127A1 Hand Held Signal (White) M127A1 Leuchtmittel (Weiß) - M127A1 Světlice (Bílá) + Světlice M127A1 (Bílá) M127A1 Jelzőrakéta (Fehér) M127A1 Bengala (Bianco) Flara ręczna sygnałowa M127A1 (biała) @@ -113,7 +113,7 @@ M127A1 Hand Held Signal (Red) M127A1 Leuchtmittel (Rot) - M127A1 Světlice (Červená) + Světlice M127A1 (Červená) M127A1 Jelzőrakéta (Piros) M127A1 Bengala (Rosso) Flara ręczna sygnałowa M127A1 (czerwona) @@ -125,7 +125,7 @@ M127A1 Hand Held Signal (Green) M127A1 Leuchtmittel (Grün) - M127A1 Světlice (Zelená) + Světlice M127A1 (Zelená) M127A1 Jelzőrakéta (Zöld) M127A1 Bengala (Verde) Flara ręczna sygnałowa M127A1 (zielona) @@ -137,7 +137,7 @@ M127A1 Hand Held Signal (Yellow) M127A1 Leuchtmittel (Gelb) - M127A1 Světlice (Žlutá) + Světlice M127A1 (Žlutá) M127A1 Jelzőrakéta (Sárga) M127A1 Bengala (Giallo) Flara ręczna sygnałowa M127A1 (żółta) @@ -185,7 +185,7 @@ Yellow Hand Flare Gelbe Leuchtkugel, wird wie eine Granate geworfen. - Světlice Žlutá + Světlice (Žlutá) Jelzőrakéta (Sárga) Bengala (Giallo) Flara ręczna (żółta) @@ -243,4 +243,4 @@ M127A1 (Amarilla) - + \ No newline at end of file diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index f042128301..4022e8d4a5 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -102,6 +102,7 @@ Disable ear ringing Desactivar zumbido de oídos Knalltrauma deaktivieren + Vypnout pískání v uších \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index e0f2c4967e..889f8524ef 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,31 +1,36 @@  - + 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 Interaktionstaste Tecla de interacción + Klávesa pro interakci Self Interaction Key Selbst-Interaktionstaste Tecla de interacción propia + Klávesa pro vlastní interakci Self Actions Selbst-Interaktion Acciones propias + Vlastní akce Vehicle Actions Fahrzeug-Interaktion Acciones de vehículo + Interakce s vozidly - + \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index cd2d6ece01..2c3349293f 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,46 +1,54 @@  - + Interactions Interaktion Interacciones + Interakce Torso Torso Torso + Trup Head Kopf Cabeza + Hlava Left Arm Arm links Brazo izquierdo + Levá paže Right Arm Arm rechts Brazo derecho + Pravá paže Left Leg Bein links Pierna izquierda + Levá noha Right Leg Bein rechts Pierna derecha + Pravá hona Weapon Waffe Arma + Zbraň Interaction Menu @@ -143,7 +151,7 @@ Gruppe verlassen Dejar grupo Opuść grupę - Odejít ze skupiny + Opustit skupinu Quitter Groupe Выйти из группы Csoport elhagyása @@ -203,7 +211,7 @@ Gesten Gestos Gesty - Gesta + Posunky Signaux Жесты Kézjelek @@ -385,7 +393,7 @@ On te tape sur l'épaule Zostałeś klepnięty po ramieniu Vállonveregettek - Někdo tě poklepal na rameno + Někdo tě poklepal na PRAVÉ rameno Вас похлопали по плечу Você foi tocado no ombro Ti è stato dato un colpetto sulla spalla @@ -397,7 +405,7 @@ On te tape sur l'épaule. Zostałeś klepnięty po ramieniu Vállonveregettek - Někdo tě poklepal na rameno. + Někdo tě poklepal na LEVÉ rameno. Вас похлопали по плечу Você foi tocado no ombro. Ti è stato dato un colpetto sulla spalla @@ -516,7 +524,7 @@ Unirse al<br/>equipo rojo Rejoindre<br/>Rouge Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného Týmu + Připojit do<br/>Červeného týmu Присоединиться<br/>к красной группе Unir-se à<br/>Equipe Vermelha Entra nella<br/>Squadra Rossa @@ -528,7 +536,7 @@ Unirse al<br/>equipo verde Rejoindre<br/>Verte Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného Týmu + Připojit do<br/>Zeleného týmu Присоединиться<br/>к зеленой группе Unir-se à<br/>Equipe Verde Entra nella<br/>Squadra Verde @@ -540,7 +548,7 @@ Unirse al<br/>equipo azul Rejoindre<br/>Bleue Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého Týmu + Připojit do<br/>Modrého týmu Присоединиться<br/>к синей группе Unir-se à<br/>Equipe Azul Entra nella<br/>Squadra Blu @@ -552,7 +560,7 @@ Unirse al<br/>equipo amarillo Rejoindre<br/>Jaune Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého Týmu + Připojit do<br/>Žlutého týmu Присоединиться<br/>к желтой группе Unir-se à<br/>Equipe Amarela Entra nella<br/>Squadra Gialla @@ -564,7 +572,7 @@ Te has unido al equipo %1 Tu as rejoint l'équipe %1 Dołączyłeś do drużyny %1 - Připojil ses do Týmu %1 + Připojil ses do %1 týmu Вы присоединились к группе %1 Você uniu-se à Equipe %1 Sei entrato nella Squadra %1 @@ -673,6 +681,7 @@ Passengers Passagiere Pasajeros + Pasažéři - + \ No newline at end of file diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index bd84935808..9263cbf79b 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -1,16 +1,18 @@  - + Make Inventory Display Bigger Die Anzeige des Inventar vergrößern. 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. Normalerweise wird die Größe des Inventars mit der Größe der UI skaliert. Diese Einstellung allerdings vergrößert das Inventar bei gleichbleibender Schriftgröße, so dass mehr Einträge angzeigt werden können. 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. - + \ No newline at end of file diff --git a/addons/kestrel/stringtable.xml b/addons/kestrel/stringtable.xml index 5f54fd6489..f3388dfe51 100644 --- a/addons/kestrel/stringtable.xml +++ b/addons/kestrel/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -30,7 +30,7 @@ Anemómetro balístico Applied Ballistics Meter Urządzenie do monitorowania pogody - Zařízení pro měření vítru + Zařízení pro měření větru Monitoraggio Balistico Attivo Applied Ballistics Meter Medidor Balístico Ativo diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index da8030cb69..013beee16f 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -1,16 +1,18 @@  - + Laser<br/>Designator On Lasermarkierer<br/>an Laser<br/>Designador encendido + Laserový<br/>značkovač zapnut Laser<br/>Designator Off Lasermarkierer<br/>aus Laser<br/>Designador apagado + Laserový<br/>značkovat vypnut - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 87b36618a6..3c364c9e8b 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,21 +1,22 @@  + - 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 @@ -27,6 +28,5 @@ <t color='#9cf953'>Использовать: </t>вкл/выкл лазер <t color='#9cf953'>Usar: </t>encender/apagar láser - - + \ No newline at end of file diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index fbd9004290..e9bd6aa1af 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -21,7 +21,7 @@ Pas de batterie UAV Potrzebujesz baterii UAV Szükséged van egy UAV akkumulátorra - Potřebuješ UAV-Baterii + Potřebuješ UAV baterii Você precisa de uma Bateria para VANT Hai bisogno di una Batteria UAV Требуется аккумулятор БПЛА @@ -45,7 +45,7 @@ Batterie UAV Bateria UAV UAV akkumulátor - UAV-Baterie + UAV baterie Bateria para VANT Batteria UAV Аккумулятор БПЛА diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index 91d321d75c..d5e795bfdf 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,16 +1,18 @@  - + Wirecutter Drahtschneider Cortador de cables + Štípací kleště Wirecutter Schneidet Draht. Cortador de cables + Štípačky Cut Fence @@ -49,4 +51,4 @@ Забор вырезан - + \ No newline at end of file diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d63dd2d2cd..1f3968bc87 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -20,7 +20,7 @@ Menú de selección de cargador Sélectionner menu des chargeurs Menu wyboru magazynków - Zvolit Menu Zásobníků + Zvolit Menu zásobníků Seleziona Menù di Ricarica Menu de Seleção de Carregador Fegyvertár menü kiválasztás @@ -32,7 +32,7 @@ Seleccionar cargador Sélectionner chargeur Wybierz magazynek - Zvolit Zásobník + Zvolit zásobník Seleziona Caricatore Selecionar Carregador Tár kiválasztása @@ -44,7 +44,7 @@ Reorganizando cargadores ... Réorganisation des chargeurs ... Przepakowywanie magazynków ... - Páskuji Zásobníky ... + Páskuji zásobníky ... Sto ricaricando le munizioni ... Reorganizando Carregadores ... Újratárazás ... @@ -56,7 +56,7 @@ Cargadores reorganizados Chargeurs réorganisés Magazynki przepakowane - Přepáskované Zásobníky + Přepáskované zásobníky Caricatore ricaricato Carregadores Reorganizados Újratárazott tárak @@ -78,16 +78,19 @@ 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 plný a %2 částečně - + \ No newline at end of file diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index 5dd4578976..4c9515f537 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -8,7 +8,7 @@ Outils de navigation Narzędzia nawigacyjne Kartenwerkzeug - Pomůcky k Mapě + Pomůcky k mapě Strumenti Cartografici Ferramentas de Mapa Térképészeti eszközök @@ -32,7 +32,7 @@ Outils de navigation Narzędzia nawigacyjne Kartenwerkzeug - Pomůcky k Mapě + Pomůcky k mapě Strumenti Cartografici Ferramentas de Mapa Térképészeti eszközök diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 7036e6863d..fb3c8a9ce9 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,18 +1,19 @@  - + Inject Atropine Atropin Inyectar atropina + Aplikovat atropin Inject Epinephrine Epinephrine injizieren Inyectar Epinefrina Wtrzyknij adrenalinę - Aplikovat Adrenalin + Aplikovat adrenalin Ввести андреналил Adrénaline Adrenalin @@ -24,7 +25,7 @@ Morphin injizieren Inyectar Morfina Wstrzyknij morfinę - Aplikovat Morfin + Aplikovat morfin Ввести морфин Morphine Morfium @@ -47,16 +48,19 @@ Transfuse Plasma Plasmatransfusion Transfundir plasma + Transfúze plazmy Transfuse Saline Salzlösungtransfusion Transfundir salina + Transfúze fyziologický roztoku Apply Tourniquet Aderpresse anwenden Aplicar torniquete + Aplikovat škrtidlo Bandage @@ -147,7 +151,7 @@ Morphin injizieren ... Inyectando Morfina ... Wstrzykiwanie morfiny ... - Aplikuju Morfin ... + Aplikuji morfin ... Введение морфина... Injection de Morphine... Morfium beadása... @@ -159,7 +163,7 @@ Epinephrin injizieren ... Inyectando Epinefrina ... Wstrzykiwanie adrenaliny ... - Aplikuju Adrenalin ... + Aplikuji adrenalin ... Введение андреналина Injection d'Adrénaline ... Adrenalin beadása... @@ -169,6 +173,7 @@ Injecting Atropine ... Atropin injizieren ... + Aplikuji atropin ... Transfusing Blood ... @@ -186,11 +191,13 @@ Transfusing Saline ... Sallösungtransfusion ... Transfusión de salina ... + Probíha transfúze fyziologický roztoku ... Transfusing Plasma ... Plasmatransfusion ... Transfusión de plasma ... + Probíha transfúze plazmy ... Bandaging ... @@ -208,6 +215,7 @@ Applying Tourniquet ... Aderpresse ... Aplicando torniquete ... + Aplikuji škrtidlo Medical @@ -223,6 +231,7 @@ Field Dressing Compresa de campaña + Obinadlo Packing Bandage @@ -231,6 +240,7 @@ Elastic Bandage Vendaje elástico + Elastické obinadlo QuikClot @@ -240,11 +250,13 @@ Check Pulse Puls überprüfen Comprobar pulso + Zkontrolovat pulz Check Blood Pressure Blutdruck messen Comprobar presión arterial + Zkontrolovat krevní tlak Triage Card @@ -255,11 +267,13 @@ Tourniquet Tourniquet Torniquete + Škrtidlo Remove Tourniquet Entferne Tourniquet Quitar torniquete + Sundat škrtidlo Give Blood IV (1000ml) @@ -378,7 +392,6 @@ Receiving IV [%1ml] Reciviendo IV [%1ml] - Bandage (Basic) Повязка (обычная) @@ -764,7 +777,6 @@ Мешок для упаковки трупов Bolsa para cadáveres - Blood Pressure Артериальное давление @@ -991,7 +1003,6 @@ Placing body in bodybag Colocando cuerpo en bolsa para cadáveres - %1 has bandaged patient %1 has vendado al paciente @@ -1009,4 +1020,4 @@ %1 aplicado torniquete - + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 3431ad8fa9..4f136ce872 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,10 +1,11 @@  - + MicroDAGR GPS GPS MicroDAGR + MicroDAGR GPS MicroDAGR advanced GPS receiver @@ -81,23 +82,28 @@ Waypoints Puntos de ruta Wegpunkte + Waypointy Connect To Conectar a + Připojit k Settings Einstellungen Configuración + Nastavení SetWP Establecer PR + Nastavit WP Add Añadir + Přidat Delete @@ -117,14 +123,17 @@ Show MicoDAGR Mostrar MicroDAGR + Ukázat MicroDAGR GPS Configure MicroDAGR Configurar MicroDAGR + Konfigurovat MicroDAGR GPS Close MicroDAGR Cerrar MicroDAGR + Zavřít MicroDAGR GPS - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index fc17de4722..db490e242c 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -8,7 +8,7 @@ Avancée Missile orientation Asystent Missile Erweiterte Missile Guidance - Advanced Missile Guidance + Pokročilé řízení střel Avanzato Missile Guidance Avançado Missile Guidance Részletes rakéta irányító @@ -20,7 +20,7 @@ - + Povoluje pokročilou mechaniku řízení střel. @@ -28,80 +28,8 @@ /* Weapons */ - - Hydra-70 DAGR Missile - - - - - - - - - - - - DAGR - - - - - - - - - - - - Hydra-70 DAGR Laser Guided Missile - - - - - - - - - - + Hydra-70 DAGR MissileHydra-70 DAGRDAGRDAGRHydra-70 DAGR Laser Guided MissileHydra-70 DAGR Laserově naváděna střela /* Weapons */ - - Hellfire II AGM-114K Missile - - - - - - - - - - - - AGM-114K - - - - - - - - - - - - Hellfire II AGM-114K Laser Guided Missile - - - - - - - - - - - - + Hellfire II AGM-114K MissileHellfire II AGM-114KAGM-114KAGM-114KHellfire II AGM-114K Laser Guided MissileHellfire II AGM-114K Laserově naváděná střela \ No newline at end of file diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index d31896acaa..b04347f975 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -8,7 +8,7 @@ Mostrar peso en libras Afficher le poids en lb Pokaż ciężar w funtach - Zobrazit váhu v lb + Zobrazit váhu v librách Mostra peso in libbre Mostrar peso em libras Súly megjelenítése fontban. diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 2f37193b17..42f332ca72 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -69,15 +69,17 @@ Show name tags for AI units Mostrar etiquetas de nombre para unidades IA + Zobrazit jména AI Show SoundWaves (requires player names) Zeigen Schallwelle (benötigt spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) + Zobrazit SoundWaves (vyžaduje jména hráčů) Default Nametag Color (Non Group Members) Color de etiquetas de nombre por defecto (No miembros de grupo) - + \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 16ead016da..2dad02e3bd 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -84,7 +84,7 @@ NS-Brille (Weitwinkel) Sistema de visión nocturna (Panorámicas) Gogle noktowizyjne (panoramiczne) - Noktovizor (Široký) + Noktovizor (Širokoúhlý) ПНВ (Широкий) @@ -92,7 +92,7 @@ Helligkeit: %1 Brillo: %1 Czułość: %1 - Zvýšení: %1 + Jas: %1 Luminosité : %1 Контраст: Fényerő: %1 @@ -124,4 +124,4 @@ Riduci la luminosità dell'NVG - + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 6975ff4223..7f01a2fa09 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -17,17 +17,20 @@ Fix Animation Arreglar animación + Opravit animace Reset All Rücksetzen Reiniciar todo + Vyresetovat vše Colors Farben цвета Colores + Barvy Options @@ -44,6 +47,7 @@ Values Valores + Hodnoty Yes @@ -79,10 +83,12 @@ Export Exportar + Exportovat Open Export Menu Abrir menu d'exportación + Otevřít exportovací menu String input. @@ -95,26 +101,32 @@ Number Numero + Číslo - Uknown input type + Unknown input type Tipo de entrada desconocida + Neznámý vstup Save input Guardar entrada + Uložit vstup Include Client Settings Incluir configuración de cliente + Zahrnout nastavení klienta Exclude Client Settings Excluir configuración de cliente + Nezahrnout nastavení klienta Settings exported to clipboard Configuración exportada al portapapeles + Nastevení exportována do schránky - + \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index bc28c3a47d..058092bbda 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,14 +1,16 @@  - + Display text on jam Mostrar texto al encasquillar + Zobrazit upozornění při zaseknutí Display a notification whenever your weapon gets jammed Mostrar notificación cada vez que el arma se encasquille + Zobrazí upozornění při zaseknutí zbraně Spare barrel @@ -155,4 +157,4 @@ Температура - + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 9ccd7752d2..0041207857 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,1310 +1,1336 @@  - + - - - 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 + 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) + + + \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index a7873948b1..5522d531f5 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,14 +1,16 @@ - - + + Check ammo on weapon reload Comprovar munición al recargar el arma + Zkontrolovat munici při nabití Check the ammo in your new magazine on magazine reload. Comprueva la munición del nuevo cargador al recargar. + Kontroluje munice při nabití nového zásobníku. Check Ammo @@ -37,10 +39,12 @@ Link belt Enlazar cinta + Spojit pás munice Linking belt... Enlazando cinta... + Spojuji pás... - + \ No newline at end of file diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 87ebbe4b75..38a7e317ba 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,28 +1,30 @@  - + - - - Load launcher - Panzerabwehr laden - Cargar lanzador - - - Loading launcher ... - Panzerabwehr wird geladen ... - Cargando lanzador ... - - - Launcher loaded - Panzerabwehr geladen - Lanzador cargado - - - - Load %1 - Lade %1 - Cargar %1 - - - - + + + Load launcher + Panzerabwehr laden + Cargar lanzador + Nabít odpalovač + + + Loading launcher ... + Panzerabwehr wird geladen ... + Cargando lanzador ... + Nabíjím odpalovač ... + + + Launcher loaded + Panzerabwehr geladen + Lanzador cargado + Odpalovač nabit + + + Load %1 + Lade %1 + Cargar %1 + Nabít %1 + + + \ No newline at end of file diff --git a/addons/vector/stringtable.xml b/addons/vector/stringtable.xml index 7a27cf272e..2a5f29b509 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -32,7 +32,7 @@ Vector - Tecla de acimut Vector - Touche Azimuth Vector - Azymut - Vector - Zobrazit Azimut + Vector - Zobrazit azimut Vector - Tasto Azimuth Vector - Tecla de Azimute Vector - Irányszög gomb diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index dd65d3a4d9..b7022a1c55 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -1,14 +1,16 @@  - + Display text on grenade throw Mostrar texto al lanzar granada + Zobrazí text při hodu granátem Display a hint or text on grenade throw. Muestra una notificación o texto al lanzar granada + Zobrazí upozornění nebo text při hodu granátem. Select Pistol @@ -253,4 +255,4 @@ Запустить дымовую завесу - + \ No newline at end of file diff --git a/addons/wep_javelin/stringtable.xml b/addons/wep_javelin/stringtable.xml index a691c750cb..303c9fe609 100644 --- a/addons/wep_javelin/stringtable.xml +++ b/addons/wep_javelin/stringtable.xml @@ -1,24 +1,24 @@ - - + + - - - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Lock Target (Hold) - Fijar objetivo (Mantener) - Lock Target (Hold) - - - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cycle Fire Mode - Cambiar modo de fuego - Cycle Fire Mode - - - + + + Lock Target (Hold) + Lock Target (Hold) + Lock Target (Hold) + Lock Target (Hold) + Zamknout cíl(držet) + Fijar objetivo (Mantener) + Lock Target (Hold) + + + Cycle Fire Mode + Cycle Fire Mode + Cycle Fire Mode + Cycle Fire Mode + Cyklování režimů palby + Cambiar modo de fuego + Cycle Fire Mode + + + \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index a1e67fa0d4..a941061b0e 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,32 +1,38 @@ - - - - - - Wind Information - Informacje o wietrze - Información del viento - - - Direction: %1 - Kierunek: %1 - Dirección: %1 - - - Speed: %1 m/s - Prędkość: %1 - Velocidad: %1 m/s - - - Weather Information - Informacje o pogodzie - Información meteorológica - - - Humidity: %1% - Wilgotność: %1 - Humedad: %1% - - - - + + + + + + + Wind Information + Informacje o wietrze + Información del viento + Informace o větru + + + Direction: %1 + Kierunek: %1 + Dirección: %1 + Směr: %1 + + + Speed: %1 m/s + Prędkość: %1 + Velocidad: %1 m/s + Rychlost: %1 m/s + + + Weather Information + Informacje o pogodzie + Información meteorológica + Informace o počasí + + + Humidity: %1% + Wilgotność: %1 + Humedad: %1% + Vlhkost: %1% + + + + \ No newline at end of file From b9077888aafeb25848c1de7aba5dd2fe15fe0c07 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 11 Apr 2015 20:26:43 +0200 Subject: [PATCH 058/145] unmute handleing --- addons/common/functions/fnc_unmuteUnit.sqf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index 14ecef290b..94ba72f5a4 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -28,6 +28,9 @@ if (_reason in _muteUnitReasons) then { _unit setVariable [QGVAR(muteUnitReasons), _muteUnitReasons, true]; }; +// don't unmute if there is another mute reason! +if (count _muteUnitReasons > 0) exitWith {}; + private "_speaker"; _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""]; From 63e5247d3b11eec7c1ab5ae5dbf9325052d227d8 Mon Sep 17 00:00:00 2001 From: nic547 <32dominic.ri@gmail.com> Date: Sat, 11 Apr 2015 21:00:41 +0200 Subject: [PATCH 059/145] more ammotypes for the mags --- addons/magazines/CfgAmmo.hpp | 6 ++++ addons/magazines/CfgMagazines.hpp | 34 +++++++++++++++++++++ addons/magazines/CfgWeapons.hpp | 13 ++++++-- addons/magazines/stringtable.xml | 51 ++++++++++++++++++++++++++++++- 4 files changed, 101 insertions(+), 3 deletions(-) diff --git a/addons/magazines/CfgAmmo.hpp b/addons/magazines/CfgAmmo.hpp index 6ed27581f4..8a9a3ec209 100644 --- a/addons/magazines/CfgAmmo.hpp +++ b/addons/magazines/CfgAmmo.hpp @@ -142,6 +142,12 @@ class CfgAmmo { class ACE_B_338_NM_Ball_Tracer_Dim: B_338_NM_Ball { nvgOnly = 1; }; + + //AP + class ACE_B_338_NM_Ball_AP: B_338_NM_Ball { + caliber = 3.2; + hit = 16.8; + }; /* 9.3x64mm */ diff --git a/addons/magazines/CfgMagazines.hpp b/addons/magazines/CfgMagazines.hpp index de19a86f7a..cea8c31004 100644 --- a/addons/magazines/CfgMagazines.hpp +++ b/addons/magazines/CfgMagazines.hpp @@ -192,9 +192,18 @@ class CfgMagazines { displayNameShort = "$STR_ACE_130Rnd_338_Mag_Tracer_DimNameShort"; descriptionShort = "$STR_ACE_130Rnd_338_Mag_Tracer_DimDescription"; }; + + class ACE_130Rnd_338_Mag_AP: 130Rnd_338_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_338_NM_Ball_AP"; + displayName = "$STR_ACE_130Rnd_338_Mag_APName"; + displayNameShort = "$STR_ACE_130Rnd_338_Mag_APNameShort"; + descriptionShort = "$STR_ACE_130Rnd_338_Mag_APDescription"; + }; /* 9.3x64mm */ + //10Rnd Mags class 10Rnd_93x64_DMR_05_Mag; class ACE_10Rnd_93x64_DMR_05_Mag_Tracer: 10Rnd_93x64_DMR_05_Mag { @@ -229,4 +238,29 @@ class CfgMagazines { descriptionShort = "$STR_ACE_10Rnd_93x64_DMR_05_Mag_SDDescription"; initSpeed = 320; }; + //150Rnd Belt + class 150Rnd_93x64_Mag; + class ACE_150Rnd_93x64_Mag_Tracer: 150Rnd_93x64_Mag { + author = "$STR_ACE_Common_ACEETeam"; + displayName = "$STR_ACE_150Rnd_93x64_Mag_TracerName"; + displayNameShort = "$STR_ACE_150Rnd_93x64_Mag_TracerNameShort"; + descriptionShort = "$STR_ACE_150Rnd_93x64_Mag_TracerDescription"; + tracersEvery = 1; + }; + + class ACE_150Rnd_93x64_Mag_Tracer_Dim: ACE_150Rnd_93x64_Mag_Tracer { + author = "$STR_ACE_Common_ACEETeam"; + ammo ="ACE_B_93x64_Ball_Tracer_Dim"; + displayName = "$STR_ACE_150Rnd_93x64_Mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_150Rnd_93x64_Mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_150Rnd_93x64_Mag_Tracer_DimDescription"; + }; + + class ACE_150Rnd_93x64_Mag_AP: 150Rnd_93x64_Mag { + author = "$STR_ACE_Common_ACEETeam"; + ammo = "ACE_B_93x64_Ball_AP"; + displayName = "$STR_ACE_150Rnd_93x64_Mag_APName"; + displayNameShort = "$STR_ACE_150Rnd_93x64_Mag_APNameShort"; + descriptionShort = "$STR_ACE_150Rnd_93x64_Mag_APDescription"; + }; }; diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp index f1c9049894..4710e1d70b 100644 --- a/addons/magazines/CfgWeapons.hpp +++ b/addons/magazines/CfgWeapons.hpp @@ -113,10 +113,11 @@ class CfgWeapons { }; }; - class MMG_02_base_F: Rifle_Long_Base_F { + class MMG_02_base_F: Rifle_Long_Base_F { magazines[] += { "ACE_130Rnd_338_Mag_Tracer", - "ACE_130Rnd_338_Mag_Tracer_Dim" + "ACE_130Rnd_338_Mag_Tracer_Dim", + "ACE_130Rnd_338_Mag_AP" }; }; @@ -128,6 +129,14 @@ class CfgWeapons { "ACE_10Rnd_93x64_DMR_05_Mag_SD" }; }; + + class MMG_01_base_F: Rifle_Long_Base_F { + magazines[] += { + "ACE_150Rnd_93x64_Mag_Tracer", + "ACE_150Rnd_93x64_Mag_Tracer_Dim", + "ACE_150Rnd_93x64_Mag_AP" + }; + }; /* Assault Rifles */ diff --git a/addons/magazines/stringtable.xml b/addons/magazines/stringtable.xml index bdb32796cb..ff2a3eaae8 100644 --- a/addons/magazines/stringtable.xml +++ b/addons/magazines/stringtable.xml @@ -560,7 +560,19 @@ 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 - + + .338 NM 130Rnd AP Belt + .338 NM 130-Schuss-Gurt Hartkern + + + .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 + + 9.3mm 10Rnd Tracer Mag 9,3mm 10-Schuss-Magazin Leuchtspur @@ -609,5 +621,42 @@ Caliber: 9.3x64mm SD<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Unterschall<br />Schuss: 10<br />Verwendet für: Cyrus + + + 9.3mm 150Rnd Tracer Belt + 9,3mm 150-Schuss-Gurt Leuchtspur + + + 9.3mm Tracer + 9,3mm Leuchtspur + + + Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid + Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid + + + 9.3mm 150Rnd Tracer IR-DIM Belt + 9,3mm 150-Schuss-Gurt Leuchtspur 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 + + + 9.3mm 150Rnd AP Belt + 9,3mm 150-Schuss-Gurt Hartkern + + + 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 + From 082ab5155e15b13019d76418bb8a7cbc7fdd5cef Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 21:27:49 +0200 Subject: [PATCH 060/145] Minor performance improvements Before avg: 0.0858495ms After avg: 0.0701045ms --- .../functions/fnc_handleDamage_caching.sqf | 68 ++++++------------- 1 file changed, 22 insertions(+), 46 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_caching.sqf b/addons/medical/functions/fnc_handleDamage_caching.sqf index ddd0b6c920..ef775aeb30 100644 --- a/addons/medical/functions/fnc_handleDamage_caching.sqf +++ b/addons/medical/functions/fnc_handleDamage_caching.sqf @@ -34,18 +34,8 @@ if (_selectionName in _hitSelections) then { _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))); }; - -// we want to move damage to another selection; have to do it ourselves. -// this is only the case for limbs, so this will not impact the killed EH. -if (_selectionName != (_this select 1)) then { - _unit setHitPointDamage [_hitPoints select (_hitSelections find _selectionName), _damage + _newDamage]; - _newDamage = 0; -}; -// ?????? -_damage = _damage + _newDamage; - // Check for vehicle crash -if (vehicle _unit != _unit && !(vehicle _unit isKindOf "StaticWeapon") && {isNull _source} && {_projectile == ""} && {_selectionName == ""}) then { +if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selectionName == ""}) then { if (missionNamespace getvariable [QGVAR(allowVehicleCrashDamage), true]) then { _selectionName = _hitSelections select (floor(random(count _hitSelections))); _projectile = "vehiclecrash"; @@ -54,10 +44,11 @@ if (vehicle _unit != _unit && !(vehicle _unit isKindOf "StaticWeapon") && {isNul // From AGM medical: // Exclude falling damage to everything other than legs; reduce structural damage. -if (((velocity _unit) select 2 < -5) && (vehicle _unit == _unit)) then { +if (((velocity _unit) select 2 < -5) && {(vehicle _unit == _unit)}) then { _unit setVariable [QGVAR(isFalling), True]; }; -if (_unit getVariable [QGVAR(isFalling), false] && !(_selectionName in ["", "leg_l", "leg_r"])) exitWith {}; + +if (_unit getVariable [QGVAR(isFalling), false] && {!(_selectionName in ["", "leg_l", "leg_r"])}) exitWith {}; if (_unit getVariable [QGVAR(isFalling), false]) then { _newDamage = _newDamage * 0.7; }; @@ -69,21 +60,14 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo_damageCaching), -3]) + 2) t // handle the cached damages 3 frames later [{ - private ["_args","_unit","_frameNo"]; + private "_args"; _args = _this select 0; - _unit = _args select 0; - _frameNo = _args select 1; - if (diag_frameno > _frameNo + 2) then { - _cache_projectiles = _unit getVariable [QGVAR(cachedProjectiles), []]; - _cache_hitpoints = _unit getVariable [QGVAR(cachedHitPoints), []]; - _cache_damages = _unit getVariable [QGVAR(cachedDamages), []]; - _cache_params = _unit getVariable [QGVAR(cachedHandleDamageParams), []]; + if (diag_frameno > (_args select 1) + 2) then { + _cache_params = (_args select 0) getVariable [QGVAR(cachedHandleDamageParams), []]; { - if (typeName _x == typeName "") then { - (_cache_params select _foreachIndex) call FUNC(handleDamage_advanced); - }; - }foreach _cache_projectiles; + _x call FUNC(handleDamage_advanced); + }foreach _cache_params; [(_this select 1)] call cba_fnc_removePerFrameHandler; }; }, 0, [_unit, diag_frameno] ] call CBA_fnc_addPerFrameHandler; @@ -102,40 +86,32 @@ _cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); // Caching of the damage events if (_selectionName != "") then { - + private ["_index","_otherDamage"]; + _index = _cache_projectiles find _projectile; // Check if the current projectile has already been handled once - if (_projectile in _cache_projectiles) then { - private ["_index","_otherDamage"]; - // if it has been handled, find the index in the cache - _index = _cache_projectiles find _projectile; - + if (_index >= 0) exitwith { // Find the previous damage this projectile has done _otherDamage = (_cache_damages select _index); // Take the highest damage of the two - if (_otherDamage > _newDamage) then { - _newDamage = 0; - } else { + if (_newDamage > _otherDamage) then { private ["_hitPoint", "_restore"]; // Restore the damage before the previous damage was processed _hitPoint = _cache_hitpoints select _index; _restore = ((_unit getHitPointDamage _hitPoint) - _otherDamage) max 0; _unit setHitPointDamage [_hitPoint, _restore]; - // Make entry unfindable and add the new damage cache - _cache_projectiles set [_index, objNull]; - _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); - _cache_damages pushBack _newDamage; - _cache_params pushBack [_unit, _selectionName, _damage, _source, _projectile]; + _cache_hitpoints set [_index, (_hitPoints select (_hitSelections find _selectionName))]; + _cache_damages set [_index, _newDamage]; + _cache_params set[_index, _this]; }; - } else { - // This is an unhandled projectile - _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); - _cache_damages pushBack _newDamage; - _cache_params pushBack [_unit, _selectionName, _damage, _source, _projectile]; }; + + // This is an unhandled projectile + _cache_projectiles pushBack _projectile; + _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); + _cache_damages pushBack _newDamage; + _cache_params pushBack _this; }; // Store the new cached values From 51906e341db39b1565bd4faede7c369cbc202c14 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 22:29:11 +0200 Subject: [PATCH 061/145] Removed unused variables --- addons/medical/functions/fnc_handleDamage_wounds.sqf | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_wounds.sqf b/addons/medical/functions/fnc_handleDamage_wounds.sqf index 1eebe038cd..5933651e57 100644 --- a/addons/medical/functions/fnc_handleDamage_wounds.sqf +++ b/addons/medical/functions/fnc_handleDamage_wounds.sqf @@ -52,10 +52,10 @@ _allPossibleInjuries = []; // Check if the damage is higher as the min damage for the specific injury if (_damage >= _minDamage && {_damage <= _maxDamage || _maxDamage < 0}) then { - _classType = _x select 0; + //_classType = _x select 0; _selections = _x select 1; - _bloodLoss = _x select 2; - _pain = _x select 3; + //_bloodLoss = _x select 2; + //_pain = _x select 3; // Check if the injury can be applied to the given selection name if ("All" in _selections || _selectionName in _selections) then { @@ -73,9 +73,7 @@ _allPossibleInjuries = []; }foreach _allInjuriesForDamageType; // No possible wounds available for this damage type or damage amount. -if (_highestPossibleSpot < 0) exitwith { - -}; +if (_highestPossibleSpot < 0) exitwith {}; // Administration for open wounds and ids _openWounds = _unit getvariable[QGVAR(openWounds), []]; @@ -125,7 +123,7 @@ _woundsCreated = []; _painToAdd = _painToAdd + (_toAddInjury select 3); }; }; -}foreach (_injuryTypeInfo select 0); +}foreach (_injuryTypeInfo select 0); // foreach damage thresholds _unit setvariable [QGVAR(openWounds), _openWounds, !USE_WOUND_EVENT_SYNC]; From c69f71ba71c445aa8e3235876644013e764bfd10 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 22:29:32 +0200 Subject: [PATCH 062/145] formatting --- .../medical/functions/fnc_handleDamage_advancedSetDamage.sqf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf b/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf index 74db6029d2..f464ef5a94 100644 --- a/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf @@ -16,9 +16,7 @@ private ["_unit", "_bodyStatus", "_headDamage", "_torsoDamage", "_handsDamage", "_legsDamage"]; _unit = _this select 0; -if (!local _unit) exitwith { - // execute only local -}; +if (!local _unit) exitwith {}; _bodyStatus = _unit getvariable [QGVAR(bodyPartStatus),[0,0,0,0,0,0]]; // ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"] From e8d2a009944ef72df93a78f48004a2f36312e490 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 22:30:52 +0200 Subject: [PATCH 063/145] Added GVAR(HITPOINTS) and GVAR(SELECTIONS) variables No longer have to recreate the selection and hitpoint arrays every time --- addons/medical/XEH_preInit.sqf | 3 ++ addons/medical/functions/fnc_handleDamage.sqf | 14 ++---- .../functions/fnc_handleDamage_caching.sqf | 44 ++++++++++++------- 3 files changed, 35 insertions(+), 26 deletions(-) diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf index c18a116e31..8e1fd5856f 100644 --- a/addons/medical/XEH_preInit.sqf +++ b/addons/medical/XEH_preInit.sqf @@ -102,4 +102,7 @@ GVAR(IVBags) = []; call FUNC(parseConfigForInjuries); +GVAR(HITPOINTS) = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; +GVAR(SELECTIONS) = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; + ADDON = true; diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 074f8c41fa..1632a8f55b 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_hitPoints", "_typeOfDamage"]; +private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage"]; _unit = _this select 0; _selection = _this select 1; _damage = _this select 2; @@ -32,8 +32,7 @@ if (typeName _projectile == "OBJECT") then { }; // If the damage is being weird, we just tell it to fuck off. -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -if !(_selection in (_hitSelections + [""])) exitWith {0}; +if !(_selection in (GVAR(SELECTIONS) + [""])) exitWith {0}; _damageReturn = _damage; if (GVAR(level) < 2) then { @@ -46,8 +45,7 @@ if (GVAR(level) >= 2) then { // lets use basic for the time being.. _damageReturn = _this call FUNC(handleDamage_basic); }; - - [_unit, _selection, _damage, _source, _projectile] call FUNC(handleDamage_caching); + _newDamage = _this call FUNC(handleDamage_caching); if (_damageReturn > 0.9) then { @@ -59,12 +57,6 @@ if (GVAR(level) >= 2) then { _minLethalDamage = GVAR(minLethalDamages) select _typeIndex; }; - _hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; - _newDamage = _damage - (damage _unit); - if (_selection in _hitSelections) then { - _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selection))); - }; - if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)} && {_selection in ["", "head", "body"]}) then { if ([_unit] call FUNC(setDead)) then { _damageReturn = 1; diff --git a/addons/medical/functions/fnc_handleDamage_caching.sqf b/addons/medical/functions/fnc_handleDamage_caching.sqf index ef775aeb30..98b2373c74 100644 --- a/addons/medical/functions/fnc_handleDamage_caching.sqf +++ b/addons/medical/functions/fnc_handleDamage_caching.sqf @@ -25,8 +25,8 @@ _damage = _this select 2; _source = _this select 3; _projectile = _this select 4; -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -_hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; +_hitSelections = GVAR(SELECTIONS); +_hitPoints = GVAR(HITPOINTS); // Calculate change in damage. _newDamage = _damage - (damage _unit); @@ -34,6 +34,8 @@ if (_selectionName in _hitSelections) then { _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))); }; +//_damage = _damage + _newDamage; + // Check for vehicle crash if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selectionName == ""}) then { if (missionNamespace getvariable [QGVAR(allowVehicleCrashDamage), true]) then { @@ -60,13 +62,15 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo_damageCaching), -3]) + 2) t // handle the cached damages 3 frames later [{ - private "_args"; + private ["_args", "_params"]; _args = _this select 0; if (diag_frameno > (_args select 1) + 2) then { _cache_params = (_args select 0) getVariable [QGVAR(cachedHandleDamageParams), []]; + _cache_damages = (_args select 0) getVariable QGVAR(cachedDamages); { - _x call FUNC(handleDamage_advanced); + _params = _x + [_cache_damages select _foreachIndex]; + _params call FUNC(handleDamage_advanced); }foreach _cache_params; [(_this select 1)] call cba_fnc_removePerFrameHandler; }; @@ -78,23 +82,22 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo_damageCaching), -3]) + 2) t _unit setVariable [QGVAR(cachedHandleDamageParams), []]; }; -// Make sure there's only one damaged selection per projectile per frame. -_cache_projectiles = _unit getVariable QGVAR(cachedProjectiles); -_cache_hitpoints = _unit getVariable QGVAR(cachedHitPoints); -_cache_damages = _unit getVariable QGVAR(cachedDamages); -_cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); - // Caching of the damage events if (_selectionName != "") then { + _cache_projectiles = _unit getVariable QGVAR(cachedProjectiles); private ["_index","_otherDamage"]; _index = _cache_projectiles find _projectile; // Check if the current projectile has already been handled once if (_index >= 0) exitwith { + _cache_damages = _unit getVariable QGVAR(cachedDamages); // Find the previous damage this projectile has done _otherDamage = (_cache_damages select _index); // Take the highest damage of the two if (_newDamage > _otherDamage) then { + _cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); + _cache_hitpoints = _unit getVariable QGVAR(cachedHitPoints); + private ["_hitPoint", "_restore"]; // Restore the damage before the previous damage was processed _hitPoint = _cache_hitpoints select _index; @@ -104,18 +107,29 @@ if (_selectionName != "") then { _cache_hitpoints set [_index, (_hitPoints select (_hitSelections find _selectionName))]; _cache_damages set [_index, _newDamage]; _cache_params set[_index, _this]; + + _unit setVariable [QGVAR(cachedProjectiles), _cache_projectiles]; + _unit setVariable [QGVAR(cachedHitPoints), _cache_hitpoints]; + _unit setVariable [QGVAR(cachedDamages), _cache_damages]; + _unit setVariable [QGVAR(cachedHandleDamageParams), _cache_params]; }; }; + _cache_hitpoints = _unit getVariable QGVAR(cachedHitPoints); + _cache_damages = _unit getVariable QGVAR(cachedDamages); + _cache_params = _unit getVariable QGVAR(cachedHandleDamageParams); + // This is an unhandled projectile _cache_projectiles pushBack _projectile; _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); _cache_damages pushBack _newDamage; _cache_params pushBack _this; + + // Store the new cached values + _unit setVariable [QGVAR(cachedProjectiles), _cache_projectiles]; + _unit setVariable [QGVAR(cachedHitPoints), _cache_hitpoints]; + _unit setVariable [QGVAR(cachedDamages), _cache_damages]; + _unit setVariable [QGVAR(cachedHandleDamageParams), _cache_params]; }; -// Store the new cached values -_unit setVariable [QGVAR(cachedProjectiles), _cache_projectiles]; -_unit setVariable [QGVAR(cachedHitPoints), _cache_hitpoints]; -_unit setVariable [QGVAR(cachedDamages), _cache_damages]; -_unit setVariable [QGVAR(cachedHandleDamageParams), _cache_params]; +_newDamage; From 6cc115a6287377df6b1287e28eeb0a88346ebcf0 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 22:31:17 +0200 Subject: [PATCH 064/145] We already determine the new damage in caching, so we will use that value instead of recalculating it here --- addons/medical/functions/fnc_handleDamage_advanced.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_advanced.sqf b/addons/medical/functions/fnc_handleDamage_advanced.sqf index 751896be44..ba0eb8af24 100644 --- a/addons/medical/functions/fnc_handleDamage_advanced.sqf +++ b/addons/medical/functions/fnc_handleDamage_advanced.sqf @@ -25,21 +25,21 @@ _selectionName = _this select 1; _amountOfDamage = _this select 2; _sourceOfDamage = _this select 3; _typeOfProjectile = _this select 4; +_newDamage = _this select 5; // Most likely taking exessive fire damage. Lets exit. -if (isNull _sourceOfDamage && (_selectionName == "head" || isBurning _unit) && _typeOfProjectile == "" && vehicle _unit == _unit) exitwith { +if (isNull _sourceOfDamage && {_typeOfProjectile == ""} && {vehicle _unit == _unit} && {(_selectionName == "head" || isBurning _unit)}) exitwith { 0 }; - _typeOfDamage = [_typeOfProjectile] call FUNC(getTypeOfDamage); _part = [_selectionName] call FUNC(selectionNameToNumber); _hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; // Sorting out the damage _damageBodyParts = _unit getvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0]]; -_newDamage = _amountOfDamage - (_unit getHitPointDamage (_hitPoints select _part)); _damageBodyParts set [_part, (_damageBodyParts select _part) + _newDamage]; _unit setvariable [QGVAR(bodyPartStatus), _damageBodyParts, true]; + [_unit] call FUNC(handleDamage_advancedSetDamage); [_unit, _selectionName, _newDamage, _typeOfProjectile, _typeOfDamage] call FUNC(handleDamage_wounds); From 97fa40b4c1f2d7aff514c497396fc9bea9d4d776 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 22:31:38 +0200 Subject: [PATCH 065/145] Make use of new global variables for selections and hitpoints --- .../medical/functions/fnc_handleDamage_basic.sqf | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 2986e1b2f7..96e3214b0e 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -44,13 +44,9 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then { _unit setVariable [QGVAR(preventDeath), false]; }; - -_hitSelections = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]; -_hitPoints = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; - _newDamage = _damage - (damage _unit); -if (_selectionName in _hitSelections) then { - _newDamage = _damage - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))); +if (_selectionName in GVAR(SELECTIONS)) then { + _newDamage = _damage - (_unit getHitPointDamage (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName))); }; _damage = _damage - _newDamage; @@ -61,7 +57,7 @@ if (((velocity _unit) select 2 < -5) and (vehicle _unit == _unit)) then { _unit setVariable [QGVAR(isFalling), true]; }; if (_unit getVariable [QGVAR(isFalling), false] and !(_selectionName in ["", "leg_l", "leg_r"])) exitWith { - (_unit getHitPointDamage (_hitPoints select (_hitSelections find _selectionName))) max 0.01; + (_unit getHitPointDamage (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName))) max 0.01; }; if (_unit getVariable [QGVAR(isFalling), false]) then { _newDamage = _newDamage * 0.7; @@ -85,12 +81,12 @@ if (_selectionName != "" and !(_unit getVariable QGVAR(isFalling))) then { // Make entry unfindable _cache_projectiles set [_index, objNull]; _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); + _cache_hitpoints pushBack (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName)); _cache_damages pushBack _newDamage; }; } else { _cache_projectiles pushBack _projectile; - _cache_hitpoints pushBack (_hitPoints select (_hitSelections find _selectionName)); + _cache_hitpoints pushBack (GVAR(HITPOINTS) select (GVAR(SELECTIONS) find _selectionName)); _cache_damages pushBack _newDamage; }; _unit setVariable [QGVAR(projectiles), _cache_projectiles]; From e00f0ea4c3503860b3a12b48609472be4f5a569b Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 11 Apr 2015 22:47:10 +0200 Subject: [PATCH 066/145] No longer creates a new waitAndExec for every handleDamage call --- .../functions/fnc_handleDamage_basic.sqf | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 96e3214b0e..aa9c2f61df 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -42,6 +42,20 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then { _unit setVariable [QGVAR(damages), []]; _unit setVariable [QGVAR(structDamage), 0]; _unit setVariable [QGVAR(preventDeath), false]; + // Assign orphan structural damage to torso + [{ + private ["_unit", "_damagesum"]; + _unit = _this select 0; + _damagesum = (_unit getHitPointDamage "HitHead") + + (_unit getHitPointDamage "HitBody") + + (_unit getHitPointDamage "HitLeftArm") + + (_unit getHitPointDamage "HitRightArm") + + (_unit getHitPointDamage "HitLeftLeg") + + (_unit getHitPointDamage "HitRightLeg"); + if (_damagesum < 0.06 and damage _unit > 0.06 and alive _unit) then { + _unit setHitPointDamage ["HitBody", damage _unit]; + }; + }, [_unit], 2, 0.1] call EFUNC(common,waitAndExecute); }; _newDamage = _damage - (damage _unit); @@ -105,30 +119,12 @@ if (_selectionName == "") then { }; }; - -// Assign orphan structural damage to torso -[{ - private ["_unit", "_damagesum"]; - _unit = _this select 0; - _damagesum = (_unit getHitPointDamage "HitHead") + - (_unit getHitPointDamage "HitBody") + - (_unit getHitPointDamage "HitLeftArm") + - (_unit getHitPointDamage "HitRightArm") + - (_unit getHitPointDamage "HitLeftLeg") + - (_unit getHitPointDamage "HitRightLeg"); - if (_damagesum < 0.06 and damage _unit > 0.06 and alive _unit) then { - _unit setHitPointDamage ["HitBody", damage _unit]; - }; -}, [_unit], 2, 0.1] call EFUNC(common,waitAndExecute); - - if (_selectionName == "") then { _damage = _damage + (_unit getVariable QGVAR(structDamage)); } else { _damage = _damage + _newDamage; }; - // Leg Damage _legdamage = (_unit getHitPointDamage "HitLeftLeg") + (_unit getHitPointDamage "HitRightLeg"); if (_selectionName == "leg_l") then { @@ -139,9 +135,9 @@ if (_selectionName == "leg_r") then { }; if (_legdamage >= LEGDAMAGETRESHOLD1) then { - if (_unit getHitPointDamage "HitLegs" != 1) then {_unit setHitPointDamage ["HitLegs", 1]}; + _unit setHitPointDamage ["HitLegs", 1]; } else { - if (_unit getHitPointDamage "HitLegs" != 0) then {_unit setHitPointDamage ["HitLegs", 0]}; + _unit setHitPointDamage ["HitLegs", 0]; }; // @todo: force prone for completely fucked up legs. @@ -156,9 +152,9 @@ if (_selectionName == "hand_r") then { }; if (_armdamage >= ARMDAMAGETRESHOLD1) then { - if (_unit getHitPointDamage "HitHands" != 1) then {_unit setHitPointDamage ["HitHands", 1]}; + _unit setHitPointDamage ["HitHands", 1]; } else { - if (_unit getHitPointDamage "HitHands" != 0) then {_unit setHitPointDamage ["HitHands", 0]}; + _unit setHitPointDamage ["HitHands", 0]; }; // @todo: Drop weapon for full damage. @@ -170,7 +166,6 @@ if (_selectionName == "") then { _unit setVariable [QGVAR(pain), _pain min 1, true]; }; - // Unconsciousness if (_selectionName == "" and _damage >= UNCONSCIOUSNESSTRESHOLD and From 37a80139b8be0649fb9bc34fac8af43baac2da2d Mon Sep 17 00:00:00 2001 From: Kllrt Date: Sun, 12 Apr 2015 00:56:58 +0200 Subject: [PATCH 067/145] Update AUTHORS.txt --- AUTHORS.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 86c3c6ef9a..5e86e0057c 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -50,6 +50,7 @@ havena Hawkins jokoho48 Jonpas +Kllrt Legolasindar "Viper" licht-im-Norden87 MarcBook @@ -66,4 +67,4 @@ Sniperwolf572 Tonic Tourorist Valentin Torikian -zGuba \ No newline at end of file +zGuba From 8386c0e22a0a1d646fb65ccf2855ecd9a8528d4d Mon Sep 17 00:00:00 2001 From: Nou Date: Sat, 11 Apr 2015 18:36:10 -0700 Subject: [PATCH 068/145] Seeker system and network enabled laser simulation. --- addons/laser/XEH_post_init.sqf | 3 +- addons/laser/XEH_pre_init.sqf | 11 +- addons/laser/functions/fnc_handleLaserOff.sqf | 8 + addons/laser/functions/fnc_handleLaserOn.sqf | 7 + addons/laser/functions/fnc_laserOff.sqf | 16 ++ addons/laser/functions/fnc_laserOn.sqf | 23 +++ addons/laser/functions/fnc_rotateVectLine.sqf | 4 +- .../functions/fnc_rotateVectLineGetMap.sqf | 13 +- .../functions/fnc_seekerFindLaserSpot.sqf | 139 ++++++++++++++++++ addons/laser/functions/fnc_shootCone.sqf | 33 ++--- addons/laser/functions/fnc_shootRay.sqf | 10 +- 11 files changed, 227 insertions(+), 40 deletions(-) create mode 100644 addons/laser/functions/fnc_handleLaserOff.sqf create mode 100644 addons/laser/functions/fnc_handleLaserOn.sqf create mode 100644 addons/laser/functions/fnc_laserOff.sqf create mode 100644 addons/laser/functions/fnc_laserOn.sqf create mode 100644 addons/laser/functions/fnc_seekerFindLaserSpot.sqf diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index 6904ee6c47..fb189d5041 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -1,3 +1,4 @@ #include "script_component.hpp" -NO_DEDICATED; +["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call EFUNC(common,addEventHandler); +["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call EFUNC(common,addEventHandler); diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 4e4a39e8bf..5798e3c9a7 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -12,9 +12,18 @@ PREP(findStrongestRay); PREP(translateToModelSpace); PREP(translateToWeaponSpace); +PREP(seekerFindLaserSpot); +PREP(laserOn); +PREP(laserOff); +PREP(handleLaserOn); +PREP(handleLaserOff); + + PREP(laser_init); PREP(laserTargetPFH); ACE_LASERS = []; -ACE_DEFAULT_LASER_CODE = 1001; \ No newline at end of file +ACE_DEFAULT_LASER_CODE = 1001; + +GVAR(laserEmitters) = HASH_CREATE; \ No newline at end of file diff --git a/addons/laser/functions/fnc_handleLaserOff.sqf b/addons/laser/functions/fnc_handleLaserOff.sqf new file mode 100644 index 0000000000..573bd8197b --- /dev/null +++ b/addons/laser/functions/fnc_handleLaserOff.sqf @@ -0,0 +1,8 @@ +//fnc_handleLaserOff.sqf +#include "script_component.hpp" + +private ["_uuid"]; +_uuid = _this select 0; +if(HASH_HASKEY(GVAR(laserEmitters), _uuid)) then { + HASH_REM(GVAR(laserEmitters), _uuid); +}; diff --git a/addons/laser/functions/fnc_handleLaserOn.sqf b/addons/laser/functions/fnc_handleLaserOn.sqf new file mode 100644 index 0000000000..bac53a8957 --- /dev/null +++ b/addons/laser/functions/fnc_handleLaserOn.sqf @@ -0,0 +1,7 @@ +//fnc_handleLaserOn.sqf +#include "script_component.hpp" + +private ["_uuid", "_args"]; +_uuid = _this select 0; +_args = _this select 1; +HASH_SET(GVAR(laserEmitters), _uuid, _args); diff --git a/addons/laser/functions/fnc_laserOff.sqf b/addons/laser/functions/fnc_laserOff.sqf new file mode 100644 index 0000000000..84613cd988 --- /dev/null +++ b/addons/laser/functions/fnc_laserOff.sqf @@ -0,0 +1,16 @@ +/* + * Author: Nou + * Turn a laser designator off. + * + * Arguments: + * 0: UUID (from laserOn) + * + * Return value: + * None + */ + +#include "script_component.hpp" + +private ["_uuid"]; +_uuid = _this select 0; +["laser_laserOff", [_uuid]] call EFUNC(common,globalEvent); diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf new file mode 100644 index 0000000000..3091acc3f6 --- /dev/null +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -0,0 +1,23 @@ +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Emitter + * 1: Owner + * 2: Method, can be code, which emitter and owner are passed to, an array with a position memory point and weapon name, or an array with a position memory point, a vector begining memory point, and vector ending memory point. + * 3: Wavelength (1550nm is common eye safe) + * 4: Laser code + * 5: Beam divergence (in mils off beam center). + * + * Return value: + * String, UUID for sending to laserOff function. + */ + +#include "script_component.hpp" + +private ["_uuid", "_args"]; +_uuid = format["%1%2%3", floor diag_tickTime, floor random 1000, floor random 10000]; +_args = [_uuid, _this]; +["laser_laserOn", _args] call EFUNC(common,globalEvent); +_uuid; diff --git a/addons/laser/functions/fnc_rotateVectLine.sqf b/addons/laser/functions/fnc_rotateVectLine.sqf index b0360cc330..ec85a83cb7 100644 --- a/addons/laser/functions/fnc_rotateVectLine.sqf +++ b/addons/laser/functions/fnc_rotateVectLine.sqf @@ -32,7 +32,5 @@ if (_d != 0) then { }; /* Inverse of step 1 */ -_q1 set[0, (_q2 select 0) + (_p1 select 0)]; -_q1 set[1, (_q2 select 1) + (_p1 select 1)]; -_q1 set[2, (_q2 select 2) + (_p1 select 2)]; +_q1 = _q2 vectorAdd _p1; _q1; \ No newline at end of file diff --git a/addons/laser/functions/fnc_rotateVectLineGetMap.sqf b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf index fdbd6533ef..dc4b1b54c3 100644 --- a/addons/laser/functions/fnc_rotateVectLineGetMap.sqf +++ b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf @@ -5,19 +5,12 @@ _p = _this select 0; _p1 = _this select 1; _p2 = _this select 2; -_q1 = []; _q2 = []; -_u = []; /* Step 1 */ -_q1 set[0, (_p select 0) - (_p1 select 0)]; -_q1 set[1, (_p select 1) - (_p1 select 1)]; -_q1 set[2, (_p select 2) - (_p1 select 2)]; - -_u set[0, (_p2 select 0) - (_p1 select 0)]; -_u set[1, (_p2 select 1) - (_p1 select 1)]; -_u set[2, (_p2 select 2) - (_p1 select 2)]; -_u = _u call BIS_fnc_unitVector; +_q1 = _p vectorDiff _p1; +_u = _p2 vectorDiff _p1; +_u = vectorNormalized _u; _d = sqrt((_u select 1)*(_u select 1) + (_u select 2)*(_u select 2)); /* Step 2 */ diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf new file mode 100644 index 0000000000..141e0236d0 --- /dev/null +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -0,0 +1,139 @@ +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Position of seeker (ASL) + * 1: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. + * 2: Seeker laser code. + * + * Return value: + * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. + */ + +#include "script_component.hpp" + +private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method", + "_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index", + "_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"]; + +_pos = _this select 0; +_seekerWavelengths = _this select 1; +_seekerCode = _this select 2; + +_spots = []; +_buckets = []; +_excludes = []; +_bucketIndex = 0; +_finalPos = nil; +_finalOwner = nil; + +{ + _obj = _x select 0; + _owner = _x select 1; + _method = _x select 2; + _emitterWavelength = _x select 3; + _laserCode = _x select 4; + _divergence = _x select 5; + if(alive _obj && {_emitterWavelength >= (_seekerWavelengths select 0)} && {_emitterWavelength <= (_seekerWavelengths select 1)} && {_laserCode == _seekerCode}) then { + _laser = []; + if(IS_CODE(_method)) then { + _laser = _x call _method; + } else { + if(IS_ARRAY(_method)) then { + if(count _method == 2) then { + _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), _obj weaponDirection (_method select 1)]; + } else { + if(count _method == 3) then { + _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), (ATLtoASL (_obj modelToWorldVisual (_method select 1))) vectorFromTo (ATLtoASL (_obj modelToWorldVisual (_method select 2)))]; + }; + }; + }; + }; + _laserPos = _laser select 0; + _laserDir = _laser select 1; + _res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone); + { + _spots pushBack [_x select 0, _owner]; + } forEach (_res select 2); + }; +} forEach (GVAR(laserEmitters) select 1); + +if((count _spots) > 0) then { + _bucketPos = nil; + _bucketList = nil; + _c = 0; + while { count(_spots) != count(_excludes) && _c < (count _spots) } do { + scopeName "mainSearch"; + { + if(!(_forEachIndex in _excludes)) then { + _index = _buckets pushBack [_x, [_x]]; + _excludes pushBack _forEachIndex; + _bucketPos = _x select 0; + _bucketList = (_buckets select _index) select 1; + breakTo "mainSearch"; + }; + } forEach _spots; + { + if(!(_forEachIndex in _excludes)) then { + _testPos = (_x select 0); + if(_testPos vectorDistanceSqr _bucketPos <= 100) then { + _bucketList pushBack _x; + _excludes pushBack _forEachIndex; + }; + }; + } forEach _spots; + _c = _c + 1; + }; + _finalBuckets = []; + _largest = -1; + _largestIndex = 0; + { + _index = _finalBuckets pushBack []; + _bucketList = _finalBuckets select _index; + { + _testPos = (_x select 0); + if(!terrainIntersectASL [_pos, _testPos] && {!lineIntersects [_pos, _testPos]}) then { + _bucketList pushBack _x; + }; + } forEach (_x select 1); + if((count _bucketList) > _largest) then { + _largest = (count _bucketList); + _largestIndex = _index; + }; + } forEach _buckets; + + _finalBucket = _finalBuckets select _largestIndex; + _owners = HASH_CREATE; + + if(count _finalBucket > 0) then { + _avgX = 0; + _avgY = 0; + _avgZ = 0; + { + player sideChat format["x: %1", _x]; + _avgX = _avgX + ((_x select 0) select 0); + _avgY = _avgY + ((_x select 0) select 1); + _avgZ = _avgZ + ((_x select 0) select 2); + _owner = _x select 1; + if(HASH_HASKEY(_owners, _owner)) then { + _count = HASH_GET(_owners, _owner); + HASH_SET(_owners, _owner, _count+1); + } else { + HASH_SET(_owners, _owner, 1); + }; + } forEach _finalBucket; + _count = count _finalBucket; + _finalPos = [_avgX/_count, _avgY/_count, _avgZ/_count]; + _maxOwner = -1; + _maxOwnerIndex = 0; + { + if((_owners select 1) select _forEachIndex > _maxOwner) then { + _maxOwner = (_owners select 1) select _forEachIndex; + _maxOwnerIndex = _forEachIndex; + }; + } forEach (_owners select 0); + _finalOwner = (_owners select 0) select _maxOwnerIndex; + }; +}; +[_finalPos, _owner]; diff --git a/addons/laser/functions/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf index e33edd10bc..ff719cbf4a 100644 --- a/addons/laser/functions/fnc_shootCone.sqf +++ b/addons/laser/functions/fnc_shootCone.sqf @@ -1,8 +1,13 @@ #include "script_component.hpp" - +// #define DEBUG_MODE_FULL +private ["_divergence","_pos","_vec","_longestReturn","_shortestReturn","_resultPositions","_p1","_p2","_p","_v","_cp","_vecRotateMap","_result", + "_resultPos","_distance","_count","_pos2","_radOffset","_offset","_offsetPos","_offsetVector"]; _divergence = 0.3; _pos = _this select 0; _vec = _this select 1; +if(count _this > 2) then { + _divergence = _this select 2; +}; _longestReturn = -1000000000; _shortestReturn = 1000000000; _resultPositions = []; @@ -10,7 +15,7 @@ _p1 = [0,0,0]; _p2 = +_vec; _p = (_vec call CBA_fnc_vect2polar); _v = [(_p select 0), (_p select 1), (_p select 2)+90] call CBA_fnc_polar2vect; -_cp = [_vec, _v] call BIS_fnc_crossProduct; +_cp = _vec vectorCrossProduct _v; _vecRotateMap = [_cp, _p1, _p2] call FUNC(rotateVectLineGetMap); @@ -24,28 +29,21 @@ if(!isNil "_resultPos") then { if(_distance > _longestReturn) then { _longestReturn = _distance; }; - _resultPositions set[(count _resultPositions), _result]; + _resultPositions pushBack _result; #ifdef DEBUG_MODE_FULL - DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + // DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + drawLine3D [ASLtoATL _pos, ASLtoATL _resultPos, [1,0,0,1]]; #endif }; _count = 8; -_pos2 = [ - (_pos select 0)+((_vec select 0)*1000), - (_pos select 1)+((_vec select 1)*1000), - (_pos select 2)+((_vec select 2)*1000) - ]; +_pos2 = _pos vectorAdd (_vec vectorMultiply 1000); { for "_i" from 0 to ceil(_count*_x) do { _radOffset = random 360; _offset = [_vecRotateMap, (((360/_count)*_i)+_radOffset) mod 360] call FUNC(rotateVectLine); - _offsetPos = [ - (_pos2 select 0)+((_offset select 0)*(_divergence*_x)), - (_pos2 select 1)+((_offset select 1)*(_divergence*_x)), - (_pos2 select 2)+((_offset select 2)*(_divergence*_x)) - ]; - _offsetVector = [_pos, _offsetPos] call BIS_fnc_vectorFromXtoY; + _offsetPos = _pos2 vectorAdd (_offset vectorMultiply (_divergence*_x)); + _offsetVector = _pos vectorFromTo _offsetPos; _result = [_pos, _offsetVector] call FUNC(shootRay); _resultPos = _result select 0; if(!isNil "_resultPos") then { @@ -56,9 +54,10 @@ _pos2 = [ if(_distance > _longestReturn) then { _longestReturn = _distance; }; - _resultPositions set[(count _resultPositions), _result]; + _resultPositions pushBack _result; #ifdef DEBUG_MODE_FULL - DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + // DRAW_LINES set[(count DRAW_LINES), [_pos, _resultPos, [0, 1, 0, 1]]]; + drawLine3D [ASLtoATL _pos, ASLtoATL _resultPos, [1,0,0,1]]; #endif }; }; diff --git a/addons/laser/functions/fnc_shootRay.sqf b/addons/laser/functions/fnc_shootRay.sqf index 62847d16b6..83b257ed7b 100644 --- a/addons/laser/functions/fnc_shootRay.sqf +++ b/addons/laser/functions/fnc_shootRay.sqf @@ -11,13 +11,8 @@ _lastPos = +_pos; { scopeName "mainSearch"; for "_i" from 1 to 10 do { - _nextPos = [ - (_lastPos select 0)+((_vec select 0)*_x), - (_lastPos select 1)+((_vec select 1)*_x), - (_lastPos select 2)+((_vec select 2)*_x) - ]; - - if(lineIntersects [_lastPos, _nextPos] || terrainIntersectASL [_lastPos, _nextPos]) then { + _nextPos = _lastPos vectorAdd (_vec vectorMultiply _x); + if(terrainIntersectASL [_lastPos, _nextPos] || {lineIntersects [_lastPos, _nextPos]}) then { _resultPos = _lastPos; breakTo "mainSearch"; } else { @@ -25,6 +20,5 @@ _lastPos = +_pos; _lastPos = _nextPos; }; }; - } forEach _fidelity; [_resultPos, _distance]; \ No newline at end of file From db3f816843efd0d4e0d9996e5264dd64e3f79c31 Mon Sep 17 00:00:00 2001 From: Nou Date: Sat, 11 Apr 2015 20:13:52 -0700 Subject: [PATCH 069/145] Reduce default number of rays, make it an argument for shootCone. Accuracy is still the same with 3 to 8, just better FPS. Rangefinders should probably use a higher number (8 is good, 24+1 rays in total per shot). --- addons/laser/functions/fnc_shootCone.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/laser/functions/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf index ff719cbf4a..559a96dc27 100644 --- a/addons/laser/functions/fnc_shootCone.sqf +++ b/addons/laser/functions/fnc_shootCone.sqf @@ -1,5 +1,5 @@ #include "script_component.hpp" -// #define DEBUG_MODE_FULL +#define DEBUG_MODE_FULL private ["_divergence","_pos","_vec","_longestReturn","_shortestReturn","_resultPositions","_p1","_p2","_p","_v","_cp","_vecRotateMap","_result", "_resultPos","_distance","_count","_pos2","_radOffset","_offset","_offsetPos","_offsetVector"]; _divergence = 0.3; @@ -35,7 +35,7 @@ if(!isNil "_resultPos") then { drawLine3D [ASLtoATL _pos, ASLtoATL _resultPos, [1,0,0,1]]; #endif }; -_count = 8; +_count = 3; _pos2 = _pos vectorAdd (_vec vectorMultiply 1000); { From 40c5de8cfb2e2a563f9dd46e7571812d7717074e Mon Sep 17 00:00:00 2001 From: Nou Date: Sat, 11 Apr 2015 20:14:03 -0700 Subject: [PATCH 070/145] Reduce default number of rays, make it an argument for shootCone. Accuracy is still the same with 3 to 8, just better FPS. Rangefinders should probably use a higher number (8 is good, 24+1 rays in total per shot). --- addons/laser/functions/fnc_shootCone.sqf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/laser/functions/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf index 559a96dc27..324f46184f 100644 --- a/addons/laser/functions/fnc_shootCone.sqf +++ b/addons/laser/functions/fnc_shootCone.sqf @@ -8,6 +8,10 @@ _vec = _this select 1; if(count _this > 2) then { _divergence = _this select 2; }; +_count = 3; +if(count _this > 3) then { + _count = _this select 3; +}; _longestReturn = -1000000000; _shortestReturn = 1000000000; _resultPositions = []; @@ -35,7 +39,7 @@ if(!isNil "_resultPos") then { drawLine3D [ASLtoATL _pos, ASLtoATL _resultPos, [1,0,0,1]]; #endif }; -_count = 3; + _pos2 = _pos vectorAdd (_vec vectorMultiply 1000); { From 54f29d75f51c18708540cb82cedc9b1fe1d7c3af Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 12 Apr 2015 10:05:49 +0200 Subject: [PATCH 071/145] functions to mute unit --- addons/common/CfgEventHandlers.hpp | 5 +++++ addons/common/XEH_postInit.sqf | 1 + addons/common/XEH_preInit.sqf | 1 + .../common/functions/fnc_muteUnitHandleRespawn.sqf | 12 ++++++++++++ addons/common/functions/fnc_restoreVariablesJIP.sqf | 3 --- 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 addons/common/functions/fnc_muteUnitHandleRespawn.sqf diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index eef90451ae..b31785cfaf 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -41,4 +41,9 @@ class Extended_Respawn_EventHandlers { respawn = QUOTE(_this call FUNC(resetAllDefaults)); }; }; + class CAManBase { + class GVAR(muteUnit) { + respawn = QUOTE(_this call FUNC(muteUnitHandleRespawn)); + }; + }; }; diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index f09dae0eb3..e470e91c95 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -35,6 +35,7 @@ if (hasInterface) then { ["setDir", {(_this select 0) setDir (_this select 1)}] call FUNC(addEventhandler); ["setFuel", {(_this select 0) setFuel (_this select 1)}] call FUNC(addEventhandler); +["setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call FUNC(addEventhandler); // hack to get PFH to work in briefing [QGVAR(onBriefingPFH), "onEachFrame", { diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 8d62e9df70..d013138759 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -124,6 +124,7 @@ PREP(moduleCheckPBOs); PREP(moduleLSDVehicles); PREP(moveToTempGroup); PREP(muteUnit); +PREP(muteUnitHandleRespawn); PREP(numberToDigits); PREP(numberToDigitsString); PREP(numberToString); diff --git a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf new file mode 100644 index 0000000000..021b083bfd --- /dev/null +++ b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf @@ -0,0 +1,12 @@ +// by commy2 +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +// setVariable is broken on JIP after respawn +_unit setVariable [QGVAR(muteUnitReasons), _unit getVariable [QGVAR(muteUnitReasons), []], true]; + +// fix mp issues with respawning and the speaker +["setSpeaker", [_unit, speaker _unit]] call FUNC(globalEvent); diff --git a/addons/common/functions/fnc_restoreVariablesJIP.sqf b/addons/common/functions/fnc_restoreVariablesJIP.sqf index 2c173a054c..ca185082cb 100644 --- a/addons/common/functions/fnc_restoreVariablesJIP.sqf +++ b/addons/common/functions/fnc_restoreVariablesJIP.sqf @@ -23,6 +23,3 @@ _respawnVariables pushBack "ACE_PersistentFunctions"; { _unit setVariable [_x, _unit getVariable _x, true]; } forEach _respawnVariables; - -// fix speaker after respawn -[_unit, format ["{_this setSpeaker '%1'}", speaker _unit], 2] call FUNC(execRemoteFnc); From 32400a21ac69cfd5d22c282a2035dc3139b62418 Mon Sep 17 00:00:00 2001 From: Asgar Date: Sun, 12 Apr 2015 10:49:22 +0200 Subject: [PATCH 072/145] update AUTHORS.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index b931d774ac..ebe3fb5019 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -65,3 +65,4 @@ simon84 Tonic Tourorist Valentin Torikian +Asgar Serran \ No newline at end of file From be8ff397676ab3b9cbe59657424e430b98ec1603 Mon Sep 17 00:00:00 2001 From: Kllrt Date: Sun, 12 Apr 2015 10:58:00 +0200 Subject: [PATCH 073/145] Fixed broken missileguidaince stringtable.xml sry --- addons/missileguidance/stringtable.xml | 132 +++++++++++++++++++------ 1 file changed, 102 insertions(+), 30 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index db490e242c..d64e3e31ab 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -1,35 +1,107 @@  - + - - - Advanced Missile Guidance - Avanzada Misiles Orientación - Avancée Missile orientation - Asystent Missile - Erweiterte Missile Guidance - Pokročilé řízení střel - Avanzato Missile Guidance - Avançado Missile Guidance - Részletes rakéta irányító - Расширенный ракетой - - - Enables advanced guidance mechanics and selection for different missiles and fire modes. - - - - - Povoluje pokročilou mechaniku řízení střel. - - - - - - - /* Weapons */ - Hydra-70 DAGR MissileHydra-70 DAGRDAGRDAGRHydra-70 DAGR Laser Guided MissileHydra-70 DAGR Laserově naváděna střela + + + Advanced Missile Guidance + Avanzada Misiles Orientación + Avancée Missile orientation + Asystent Missile + Erweiterte Missile Guidance + Pokročilé řízení střel + Avanzato Missile Guidance + Avançado Missile Guidance + Részletes rakéta irányító + Расширенный ракетой + + + Enables advanced guidance mechanics and selection for different missiles and fire modes. + + + + + Povoluje pokročilou mechaniku řízení střel. + + + + + /* Weapons */ - Hellfire II AGM-114K MissileHellfire II AGM-114KAGM-114KAGM-114KHellfire II AGM-114K Laser Guided MissileHellfire II AGM-114K Laserově naváděná střela + + Hydra-70 DAGR Missile + + + + + Hydra-70 DAGR + + + + + + + DAGR + + + + + DAGR + + + + + + + Hydra-70 DAGR Laser Guided Missile + + + + + Hydra-70 DAGR laserem naváděná střela + + + + + + + /* 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 + + + + + + + \ No newline at end of file From e87f491470fc9b8a928470779f6887fed2051afd Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 12 Apr 2015 11:17:58 +0200 Subject: [PATCH 074/145] mute implementation in noradio, handle post init on remote units --- addons/common/CfgEventHandlers.hpp | 3 ++ addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_muteUnit.sqf | 2 +- .../functions/fnc_muteUnitHandleInitPost.sqf | 11 +++++++ addons/noradio/XEH_post_initClient.sqf | 32 +++++++++---------- addons/noradio/XEH_post_initServer.sqf | 6 +--- 6 files changed, 32 insertions(+), 23 deletions(-) create mode 100644 addons/common/functions/fnc_muteUnitHandleInitPost.sqf diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index b31785cfaf..ce0938f063 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -26,6 +26,9 @@ class Extended_InitPost_EventHandlers { class GVAR(forceWalk) { init = QUOTE(if (local (_this select 0)) then {_this call FUNC(applyForceWalkStatus);};); }; + class GVAR(muteUnit) { + init = QUOTE(_this call FUNC(muteUnitHandleInitPost)); + }; }; }; diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index d013138759..b5382d0b5e 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -124,6 +124,7 @@ PREP(moduleCheckPBOs); PREP(moduleLSDVehicles); PREP(moveToTempGroup); PREP(muteUnit); +PREP(muteUnitHandleInitPost); PREP(muteUnitHandleRespawn); PREP(numberToDigits); PREP(numberToDigitsString); diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index f3c5dcff9d..5c496ea58e 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -33,6 +33,6 @@ _speaker = speaker _unit; if (_speaker == "ACE_NoVoice") exitWith {}; -["setSpeaker", _unit, [_unit, "ACE_NoVoice"]] call FUNC(targetEvent); +["setSpeaker", [_unit, "ACE_NoVoice"]] call FUNC(globalEvent); _unit setVariable ["ACE_OriginalSpeaker", _speaker, true]; diff --git a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf new file mode 100644 index 0000000000..f0abcfcf01 --- /dev/null +++ b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf @@ -0,0 +1,11 @@ +// by commy2 +#include "script_component.hpp" + +private "_unit"; + +_unit = _this select 0; + +// setSpeaker gets overwritten after init on remote units; if unit is muted, setSpeaker again +if (count (_unit getVariable [QGVAR(muteUnitReasons), []]) > 0) then { + ["setSpeaker", [_unit, "ACE_NoVoice"]] call FUNC(localEvent); +}; diff --git a/addons/noradio/XEH_post_initClient.sqf b/addons/noradio/XEH_post_initClient.sqf index e192a101f8..4f35a1ced9 100644 --- a/addons/noradio/XEH_post_initClient.sqf +++ b/addons/noradio/XEH_post_initClient.sqf @@ -1,31 +1,29 @@ // by commy2 - #include "script_component.hpp" +/* _setupPlayer = { - if (!isNull ACE_player) then { - [(_this select 1)] call cba_fnc_removePerFrameHandler; + if (!isNull ACE_player) then { + [(_this select 1)] call cba_fnc_removePerFrameHandler; - [ACE_player] call EFUNC(common,muteUnit); - ACE_player setVariable [QGVAR(isMuted), true, true]; - }; + [ACE_player, "isPlayer"] call EFUNC(common,muteUnit); + }; }; [_setupPlayer, 0, []] call CBA_fnc_addPerFrameHandler; +*/ + +if (!hasInterface) exitWith {}; // Mutes/unmutes units when the player changes ["playerChanged", { - EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); + EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); - // On player change mute the new player - [_newPlayer] call EFUNC(common,muteUnit); - _newPlayer setVariable [QGVAR(isMuted), true, true]; - - // Unmute the old player - //@todo: sort interaction with medical system - if (!(_oldPlayer getVariable ["ACE_isUnconscious", false]) && {alive _oldPlayer}) then { - [_oldPlayer] call EFUNC(common,unMuteUnit); - }; - _oldPlayer setVariable [QGVAR(isMuted), false, true]; + // On player change mute the new player + [_newPlayer, "isPlayer"] call EFUNC(common,muteUnit); + // Unmute the old player + if (alive _oldPlayer) then { + [_oldPlayer, "isPlayer"] call EFUNC(common,unmuteUnit); + }; }] call EFUNC(common,addEventhandler); diff --git a/addons/noradio/XEH_post_initServer.sqf b/addons/noradio/XEH_post_initServer.sqf index 90b7473144..ae2dc16ec1 100644 --- a/addons/noradio/XEH_post_initServer.sqf +++ b/addons/noradio/XEH_post_initServer.sqf @@ -1,10 +1,6 @@ // by commy2 - #include "script_component.hpp" addMissionEventHandler ["HandleDisconnect", { - if !((_this select 0) getVariable ["ACE_isUnconscious", false]) then { //@ToDo: ai waking up will be silent? - _this call EFUNC(common,unMuteUnit); - }; - (_this select 0) setVariable [QGVAR(isMuted), false, true]; + [_this select 0, "isPlayer"] call EFUNC(common,unmuteUnit); }]; From 0f1115c33b165e9a39c01d1c904b8de0b9e567e1 Mon Sep 17 00:00:00 2001 From: nic547 <32dominic.ri@gmail.com> Date: Sun, 12 Apr 2015 13:08:50 +0200 Subject: [PATCH 075/145] Added new Ammotypes into the AGM crate --- addons/magazines/CfgVehicles.hpp | 14 ++++++++++++++ addons/magazines/newclasses.txt | 28 ++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/addons/magazines/CfgVehicles.hpp b/addons/magazines/CfgVehicles.hpp index a7c2654d71..66e63cfa09 100644 --- a/addons/magazines/CfgVehicles.hpp +++ b/addons/magazines/CfgVehicles.hpp @@ -153,6 +153,20 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,2); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,2); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_AP,2);*/ + MACRO_ADDMAGAZINE(ACE_10Rnd_338_Mag_Tracer,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_Mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_Mag_AP,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_338_Mag_SD,2); + MACRO_ADDMAGAZINE(ACE_130Rnd_338_Mag_Tracer,2); + MACRO_ADDMAGAZINE(ACE_130Rnd_338_Mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_130Rnd_338_Mag_AP,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_93x64_DMR_05_Mag_Tracer,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_93x64_DMR_05_Mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_93x64_DMR_05_Mag_AP,2); + MACRO_ADDMAGAZINE(ACE_10Rnd_93x64_DMR_05_Mag_SD,2); + MACRO_ADDMAGAZINE(ACE_150Rnd_93x64_Mag_Tracer,2); + MACRO_ADDMAGAZINE(ACE_150Rnd_93x64_Mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_150Rnd_93x64_Mag_AP,2); }; }; }; diff --git a/addons/magazines/newclasses.txt b/addons/magazines/newclasses.txt index 1a711e8c37..0c40a1b904 100644 --- a/addons/magazines/newclasses.txt +++ b/addons/magazines/newclasses.txt @@ -18,6 +18,16 @@ ACE_B_762x51_Ball_SD ACE_B_762x51_Ball_AP ACE_B_762x51_M118LR +ACE_B_338_Ball_Tracer_Dim +ACE_B_338_Ball_AP +ACE_B_338_Ball_SD + +ACE_B_338_NM_Ball_Tracer_Dim +ACE_B_338_NM_Ball_AP + +ACE_B_93x64_Ball_Tracer_Dim +ACE_B_93x64_Ball_AP +ACE_B_93x64_Ball_SD // CFGMagazines @@ -37,3 +47,21 @@ ACE_20Rnd_762x51_Mag_Tracer ACE_20Rnd_762x51_Mag_Tracer_Dim ACE_20Rnd_762x51_Mag_SD ACE_20Rnd_762x51_Mag_AP + +ACE_10Rnd_338_Mag_Tracer +ACE_10Rnd_338_Mag_Tracer_Dim +ACE_10Rnd_338_Mag_AP +ACE_10Rnd_338_Mag_SD + +ACE_130Rnd_338_Mag_Tracer +ACE_130Rnd_338_Mag_Tracer_Dim +ACE_130Rnd_338_Mag_AP + +ACE_10Rnd_93x64_DMR_05_Mag_Tracer +ACE_10Rnd_93x64_DMR_05_Mag_Tracer_Dim +ACE_10Rnd_93x64_DMR_05_Mag_AP +ACE_10Rnd_93x64_DMR_05_Mag_SD + +ACE_150Rnd_93x64_Mag_Tracer +ACE_150Rnd_93x64_Mag_Tracer_Dim +ACE_150Rnd_93x64_Mag_AP \ No newline at end of file From b6657813992aafacd4a1ac300bd6bf80499ea854 Mon Sep 17 00:00:00 2001 From: Legolasindar Date: Sun, 12 Apr 2015 13:58:06 +0200 Subject: [PATCH 076/145] Update stringtable.xml updated spanish translation and added some english missed translation --- addons/medical/stringtable.xml | 108 ++++++++++++++++----------------- 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index bb31db88bb..c1d2e3cc2d 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -4,7 +4,7 @@ Inject Atropine Atropin injizieren - Inyectar atropina + Inyectar Atropina Ввести атропин @@ -52,7 +52,7 @@ Transfuse Saline Salzlösungtransfusion - Transfundir salina + Transfundir salino Влить физраствор @@ -172,12 +172,13 @@ Injecting Atropine ... Atropin injizieren ... + Inyectando Atropina ... Введение атропина ... Transfusing Blood ... Bluttransfusion ... - Realizando transfusión ... + Transfusión de sangre ... Przetaczanie krwi ... Probíhá transfúze krve ... Переливание крови... @@ -189,7 +190,7 @@ Transfusing Saline ... Sallösungtransfusion ... - Transfusión de salina ... + Transfusión de salino ... Вливание физраствора ... @@ -402,7 +403,7 @@ In Pain Unter Schmerzen Испытывает боль - Con Dolor + Con dolor A De La Douleur W bólu @@ -410,7 +411,7 @@ Lost a lot of Blood Hat eine große Menge Blut verloren Большая кровопотеря - Mucha Sangre perdida + Mucha sangre perdida A Perdu Bcp de Sang Stracił dużo krwi @@ -456,7 +457,7 @@ Packing Bandage Verband Тампонирующая повязка - Vendaje Compresivo + Vendaje compresivo Bandage Mèche Bandaż (uciskowy) @@ -464,7 +465,7 @@ 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 y grandes y detener el sangrado + 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. @@ -487,12 +488,12 @@ Bandage kit, Elastic Verbandssatz, Elastisch Давящая повязка - Vendaje (Elástico) + 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. @@ -534,14 +535,14 @@ Used to combat moderate to severe pain experiences Wird verwendet um moderate bis starke Schmärzen zu lindern. Для снятия средних и сильных болевых ощущений. - Usado para combatir los estados dolorosos moderados a severos + 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 moderado a severo. + 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. @@ -562,7 +563,7 @@ A drug used by the Military in NBC scenarios. Препарат, используемый в войсках для защиты от оружия массового поражения. - Medicamento usado por Militares en escenarios NBQ + 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. @@ -581,10 +582,7 @@ 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. - + 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. @@ -593,7 +591,7 @@ Plasma IV (1000ml) Плазма для в/в вливания (1000 мл) - Plasma Intravenoso (1000ml) + Plasma IV (1000ml) Plasma Sanguin IV (1000ml) Osocze IV (1000ml) @@ -614,28 +612,28 @@ Plasma IV (500ml) Плазма для в/в вливания (500 мл) - Plasma Intravenoso (500ml) + Plasma IV (500ml) Plasma Sanguin IV (500ml) Osocze IV (500ml) Plasma IV (250ml) Плазма для в/в вливания (250 мл) - Plasma Intravenoso (250ml) + Plasma IV (250ml) Plasma Sanguin (250ml) Osocze IV (250ml) Blood IV (1000ml) Кровь для переливания (1000 мл) - Sangre Intravenosa (1000ml) + 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) + 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 @@ -644,33 +642,33 @@ Кровь 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 perdido. Uso habitual durante el transporte de heridos. + 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 Intravenosa (500ml) + Sangre IV (500ml) Cullot Sanguin IV (500ml) Krew IV (500ml) Blood IV (250ml) Кровь для переливания (250 мл) - Sangre Intravenosa (250ml) + Sangre IV (250ml) Cullot Sanguin IV (250ml) Krew IV (250ml) Saline IV (1000ml) Физраствор для в/в вливания (1000 мл) - Solución Salina Intravenosa (1000ml) + 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 + 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 @@ -684,42 +682,42 @@ Saline IV (500ml) Физраствор для в/в вливания (500 мл) - Solución Salina Intravenosa (500ml) + Salino IV (500ml) Solution Saline 0.9% IV (500ml) Solanka 0,9% IV (500ml) Saline IV (250ml) Физраствор для в/в вливания (250 мл) - Solución Salina Intravenosa (250ml) + Salino IV (250ml) Solution Saline 0.9% IV (250ml) Solanka 0,9% IV (250ml) Basic Field Dressing (QuikClot) Первичный перевязочный пакет (QuikClot) - Vendaje Básico (Coagulante) + Vendaje básico (QuickClot) Bandage Regulier (Coagulant) Opatrunek QuikClot QuikClot bandage Гемостатический пакет QuikClot - Venda Coagulante + 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. + Vendaje hemostático con coagulante que detiene el sangrado. Personal Aid Kit Аптечка - Kit de Soporte Vital Avanzado + Botiquín de primeros auxilios Équipement de support Vitale Apteczka osobista @@ -739,17 +737,17 @@ Surgical Kit Хирургический набор - Kit Quirúrgico + Kit quirúrgico Surgical Kit for in field advanced medical treatment Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla + 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 + Kit quirúrgico para el tratamiento avanzado en el campo de batalla Bodybag @@ -759,22 +757,22 @@ A bodybag for dead bodies Мешок для упаковки трупов - Bolsa para cadáveres + Una bolsa para cadáveres A bodybag for dead bodies Мешок для упаковки трупов - Bolsa para cadáveres + Una bolsa para cadáveres Blood Pressure Артериальное давление - Presión Arterial + Presión arterial Checking Blood Pressure.. Проверка артериального давления... - Comprobando Presión Arterial... + Comprobando presión arterial... You checked %1 @@ -784,32 +782,32 @@ You find a blood pressure of %2/%3 Артериальное давление %2/%3 - La Presión Arterial es %2/%3 + La presión arterial es %2/%3 You find a low blood pressure Давление низкое - La Presión Arterial es baja + La presión arterial es baja You find a normal blood pressure Давление нормальное - La Presión Arterial es normal + La presión arterial es normal You find a high blood pressure Давление высокое - La Presión Arterial es alta + La presión arterial es alta You find no blood pressure Давления нет - No hay Presión Arterial + No hay presión arterial You fail to find a blood pressure Артериальное давление не определяется - No puedes encontrar Presión Arterial + No puedes encontrar presión arterial Pulse @@ -819,7 +817,7 @@ Checking Heart Rate.. Проверка пульса... - Comprobando Pulso... + Comprobando ritmo cardíaco... You checked %1 @@ -829,32 +827,32 @@ You find a Heart Rate of %2 Пульс %2 уд./мин. - El Pulso es %2 + El ritmo cardíaco es de %2 You find a weak Heart Rate Пульс слабый - El Pulso es débil + El ritmo cardíaco es débil You find a strong Heart Rate Пульс учащенный - El Pulso está acelerado + El ritmo cardíaco está acelerado You find a normal Heart Rate Пульс в норме - El Pulso es bueno + El ritmo cardíaco es bueno You find no Heart Rate Пульс не прощупывается - No tiene Pulso + No tiene ritmo cardíaco Response Реакция - Reacciona + Respuesta You check response of patient @@ -909,7 +907,7 @@ Airway Дыхательные пути - Vías Aéreas + Vías aéreas %1 is treating your airway From 215f3059f3a8e57b77d31b99fdaed17bcbe2eaa2 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Sun, 12 Apr 2015 15:33:24 +0300 Subject: [PATCH 077/145] Update AUTHORS.txt Russian translation --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 7e8e919682..a0e55fa59f 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -69,3 +69,4 @@ Tourorist Valentin Torikian zGuba Aleksey EpMAK Yermakov +ruPaladin From d2fbd5c735be0b5d418a3bcea09b4d7d571d2729 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sun, 12 Apr 2015 14:42:49 +0200 Subject: [PATCH 078/145] Fix groups --- documentation/development/ace3-config-entries.md | 2 +- documentation/development/ace3-events-system.md | 2 +- documentation/development/arma-3-issues.md | 2 +- .../development/arma-3-scheduler-and-our-practices.md | 2 +- documentation/development/coding-guidelines.md | 2 +- documentation/development/extension-guidelines.md | 2 +- documentation/development/fragmentation-configuration.md | 2 +- documentation/development/how-to-translate-ace3.md | 2 +- documentation/development/merging-pull-requests.md | 4 ++-- documentation/development/modularity-and-pbo-structure.md | 2 +- .../development/setting-up-the-development-environment.md | 2 +- documentation/missionmaker/modules.md | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index f56285052d..cc0104a8b1 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -1,7 +1,7 @@ --- layout: wiki title: ACE3 Config Entries -group: dev +group: development parent: wiki order: 2 --- diff --git a/documentation/development/ace3-events-system.md b/documentation/development/ace3-events-system.md index 6b708b01dd..d7c99e558e 100644 --- a/documentation/development/ace3-events-system.md +++ b/documentation/development/ace3-events-system.md @@ -1,7 +1,7 @@ --- layout: wiki title: ACE3 Events System -group: dev +group: development parent: wiki order: 3 --- diff --git a/documentation/development/arma-3-issues.md b/documentation/development/arma-3-issues.md index 46b68a0447..8b7e0b3e2d 100644 --- a/documentation/development/arma-3-issues.md +++ b/documentation/development/arma-3-issues.md @@ -1,7 +1,7 @@ --- layout: wiki title: Arma 3 Issues -group: dev +group: development parent: wiki order: 6 --- diff --git a/documentation/development/arma-3-scheduler-and-our-practices.md b/documentation/development/arma-3-scheduler-and-our-practices.md index 90646b3b4a..bef0224819 100644 --- a/documentation/development/arma-3-scheduler-and-our-practices.md +++ b/documentation/development/arma-3-scheduler-and-our-practices.md @@ -1,7 +1,7 @@ --- layout: wiki title: Arma 3 Scheduler And Our Practices -group: dev +group: development parent: wiki order: 8 --- diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index c3517dec1d..f72263eeaa 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -1,7 +1,7 @@ --- layout: wiki title: Coding Guidelines -group: dev +group: development parent: wiki order: 1 --- diff --git a/documentation/development/extension-guidelines.md b/documentation/development/extension-guidelines.md index b56349e82b..0558d49d5e 100644 --- a/documentation/development/extension-guidelines.md +++ b/documentation/development/extension-guidelines.md @@ -1,7 +1,7 @@ --- layout: wiki title: Extension Guidelines -group: dev +group: development parent: wiki order: 9 --- diff --git a/documentation/development/fragmentation-configuration.md b/documentation/development/fragmentation-configuration.md index ab0baa0612..17ff36fa13 100644 --- a/documentation/development/fragmentation-configuration.md +++ b/documentation/development/fragmentation-configuration.md @@ -1,7 +1,7 @@ --- layout: wiki title: Fragmentation Configuration -group: dev +group: development parent: wiki order: 7 --- diff --git a/documentation/development/how-to-translate-ace3.md b/documentation/development/how-to-translate-ace3.md index a6f81c3b30..b7e23fa575 100644 --- a/documentation/development/how-to-translate-ace3.md +++ b/documentation/development/how-to-translate-ace3.md @@ -1,7 +1,7 @@ --- layout: wiki title: How to translate ACE3 -group: dev +group: development parent: wiki order: 20 --- diff --git a/documentation/development/merging-pull-requests.md b/documentation/development/merging-pull-requests.md index 2e754efe93..6bc34464f0 100644 --- a/documentation/development/merging-pull-requests.md +++ b/documentation/development/merging-pull-requests.md @@ -1,7 +1,7 @@ --- layout: wiki title: Merging Pull Requests -group: dev +group: development parent: wiki order: 5 --- @@ -33,4 +33,4 @@ Non-trivial pull requests remain open for a minimum of 48 hours, to give all oth If a pull request adds a new addon, or changes something else, like the README, everyone has 72 hours to comment on the changes. After that, one of the team leads ([NouberNou](https://github.com/NouberNou), [KoffeinFlummi](https://github.com/KoffeinFlummi), [Glowbal](https://github.com/Glowbal)) will merge it. -Trivial changes such as spelling fixes can be merged immediately by any contributor. \ No newline at end of file +Trivial changes such as spelling fixes can be merged immediately by any contributor. diff --git a/documentation/development/modularity-and-pbo-structure.md b/documentation/development/modularity-and-pbo-structure.md index b992455db7..ad1194e39c 100644 --- a/documentation/development/modularity-and-pbo-structure.md +++ b/documentation/development/modularity-and-pbo-structure.md @@ -1,7 +1,7 @@ --- layout: wiki title: Modularity And PBO Structure -group: dev +group: development parent: wiki order: 4 --- diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 3d0f0b1937..0fbc0793f2 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -1,7 +1,7 @@ --- layout: wiki title: Setting Up The Development Environment -group: dev +group: development parent: wiki order: 0 --- diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 1ea5b6c4eb..0b0f13f8d6 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -1,7 +1,7 @@ --- layout: wiki title: Modules -group: missionMaker +group: missionmaker order: 5 parent: wiki --- From 9184ef479abc507c5393c50a8dba3a08c247935c Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 12 Apr 2015 14:47:08 +0200 Subject: [PATCH 079/145] add disarm icon, add action psd, move icon files --- addons/disarming/CfgVehicles.hpp | 2 +- addons/disarming/UI/disarm.paa | Bin 0 -> 5625 bytes extras/assets/icons/Icons_Actions.psd | Bin 0 -> 38637 bytes extras/assets/icons/png/Icon_Actions/disarm.png | Bin 0 -> 1849 bytes .../Icon_Module_Ambient_Sounds_ca.png | Bin .../Icon_Module_BFTracking_ca.png | Bin .../Icon_Module_CheckPBO_ca.png | Bin .../Icon_Module_Explosives_ca.png | Bin .../Icon_Module_FriendlyFire_ca.png | Bin .../Icon_Module_Hearing_ca.png | Bin .../Icon_Module_Interaction_ca.png | Bin .../{ => Icon_Module}/Icon_Module_LSD_ca.png | Bin .../Icon_Module_Make_Unit_Surrender_ca.png | Bin .../{ => Icon_Module}/Icon_Module_Map_ca.png | Bin .../Icon_Module_Medical_ca.png | Bin .../Icon_Module_NameTags_ca.png | Bin .../Icon_Module_Rallypoint_ca.png | Bin .../Icon_Module_Respawn_ca.png | Bin .../Icon_Module_SwitchUnits_ca.png | Bin .../Icon_Module_VehicleKey_ca.png | Bin .../Icon_Module_VehicleLock_ca.png | Bin .../{ => Icon_Module}/Icon_Module_Wind_ca.png | Bin .../Icon_Module_microDAGR_ca.png | Bin 23 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 addons/disarming/UI/disarm.paa create mode 100644 extras/assets/icons/Icons_Actions.psd create mode 100644 extras/assets/icons/png/Icon_Actions/disarm.png rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Ambient_Sounds_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_BFTracking_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_CheckPBO_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Explosives_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_FriendlyFire_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Hearing_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Interaction_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_LSD_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Make_Unit_Surrender_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Map_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Medical_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_NameTags_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Rallypoint_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Respawn_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_SwitchUnits_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_VehicleKey_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_VehicleLock_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_Wind_ca.png (100%) rename extras/assets/icons/png/{ => Icon_Module}/Icon_Module_microDAGR_ca.png (100%) diff --git a/addons/disarming/CfgVehicles.hpp b/addons/disarming/CfgVehicles.hpp index 5a85dc1287..381aaed93e 100644 --- a/addons/disarming/CfgVehicles.hpp +++ b/addons/disarming/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { distance = 3.5; condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPlayerDisarmUnit)); statement = QUOTE([ARR_2(_player,_target)] call FUNC(openDisarmDialog)); - icon = "\a3\Modules_F_Curator\Data\portraitRespawnInventory_ca.paa"; + icon = PATHTOF(UI\disarm.paa); exceptions[] = {}; }; }; diff --git a/addons/disarming/UI/disarm.paa b/addons/disarming/UI/disarm.paa new file mode 100644 index 0000000000000000000000000000000000000000..d13f38daee48a1a406ce40079c6b6be7d949cf8f GIT binary patch literal 5625 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 literal 0 HcmV?d00001 diff --git a/extras/assets/icons/png/Icon_Module_Ambient_Sounds_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Ambient_Sounds_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Ambient_Sounds_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Ambient_Sounds_ca.png diff --git a/extras/assets/icons/png/Icon_Module_BFTracking_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_BFTracking_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_BFTracking_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_BFTracking_ca.png diff --git a/extras/assets/icons/png/Icon_Module_CheckPBO_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_CheckPBO_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_CheckPBO_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_CheckPBO_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Explosives_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Explosives_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Explosives_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Explosives_ca.png diff --git a/extras/assets/icons/png/Icon_Module_FriendlyFire_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_FriendlyFire_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_FriendlyFire_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_FriendlyFire_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Hearing_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Hearing_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Hearing_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Hearing_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Interaction_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Interaction_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Interaction_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Interaction_ca.png diff --git a/extras/assets/icons/png/Icon_Module_LSD_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_LSD_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_LSD_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_LSD_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Make_Unit_Surrender_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Make_Unit_Surrender_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Make_Unit_Surrender_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Make_Unit_Surrender_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Map_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Map_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Map_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Map_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Medical_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Medical_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Medical_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Medical_ca.png diff --git a/extras/assets/icons/png/Icon_Module_NameTags_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_NameTags_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_NameTags_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_NameTags_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Rallypoint_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Rallypoint_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Rallypoint_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Rallypoint_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Respawn_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Respawn_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Respawn_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Respawn_ca.png diff --git a/extras/assets/icons/png/Icon_Module_SwitchUnits_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_SwitchUnits_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_SwitchUnits_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_SwitchUnits_ca.png diff --git a/extras/assets/icons/png/Icon_Module_VehicleKey_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_VehicleKey_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_VehicleKey_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_VehicleKey_ca.png diff --git a/extras/assets/icons/png/Icon_Module_VehicleLock_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_VehicleLock_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_VehicleLock_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_VehicleLock_ca.png diff --git a/extras/assets/icons/png/Icon_Module_Wind_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_Wind_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_Wind_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_Wind_ca.png diff --git a/extras/assets/icons/png/Icon_Module_microDAGR_ca.png b/extras/assets/icons/png/Icon_Module/Icon_Module_microDAGR_ca.png similarity index 100% rename from extras/assets/icons/png/Icon_Module_microDAGR_ca.png rename to extras/assets/icons/png/Icon_Module/Icon_Module_microDAGR_ca.png From 91df52056bdd413d3189684862256fd3c4d5c5f2 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 11:13:54 -0300 Subject: [PATCH 080/145] Only display "Surrender" action if the player is not holding a weapon. --- addons/captives/functions/fnc_canSurrender.sqf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/captives/functions/fnc_canSurrender.sqf b/addons/captives/functions/fnc_canSurrender.sqf index 3ee687cfc1..3b810a0c5c 100644 --- a/addons/captives/functions/fnc_canSurrender.sqf +++ b/addons/captives/functions/fnc_canSurrender.sqf @@ -18,6 +18,8 @@ PARAMS_2(_unit,_newSurrenderState); +if (currentWeapon _unit != "") exitWith {false}; + private "_returnValue"; _returnValue = if (_newSurrenderState) then { From 3842272c43b6b9d73f904802a0add0b3972febf8 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Sun, 12 Apr 2015 17:55:53 +0200 Subject: [PATCH 081/145] Update stringtable.xml Fixing French & English translation error that I've made on the line : 780 and 781 (thanks KoffeinFlummi) --- addons/medical/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index d92166cd52..148c7748f6 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -777,8 +777,8 @@ El Pulso es %2 - You find a faible fréquence cardiaque - Vous avez trouvé une fréquence cardiaque de %2 + You find a fweak Heart Rate + Vous avez trouvé une faible fréquence cardiaque Пульс слабый El Pulso es débil From 3f84ac481710410ae7985daaf90ed062a9e26405 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Sun, 12 Apr 2015 17:59:53 +0200 Subject: [PATCH 082/145] Update stringtable.xml --- addons/medical/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 148c7748f6..0c4ea4c5bb 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -777,7 +777,7 @@ El Pulso es %2 - You find a fweak Heart Rate + You find a weak Heart Rate Vous avez trouvé une faible fréquence cardiaque Пульс слабый El Pulso es débil From 3ee421a2335af9fbb5527ce079f1c35ebd329a61 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Sun, 12 Apr 2015 18:08:06 +0200 Subject: [PATCH 083/145] Update stringtable.xml Wrong french translation for the line 173. --- addons/attach/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 34e8883537..0c170aea37 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -170,7 +170,7 @@ Attach Failed - Échec du Attacher + Échec de l'attachement Befestigen Fehlgeschlagen Присоединить Ошибка Error al acoplar From 3db8f4ad44079179fd93a30b36134e7153004354 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Sun, 12 Apr 2015 18:10:41 +0200 Subject: [PATCH 084/145] Update stringtable.xml Added: Some missing french translation. --- addons/captives/stringtable.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 0c81a0bf1d..a30a287235 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -132,26 +132,31 @@ Surrender + Se rendre Kapitulieren Rendirse Stop Surrendering + Arrêt de se rendre Den Kampf erneut aufnehmen Dejar de rendirse Only use on alive units + Utilisation uniquement sur les unités en vie Nur bei lebenden Einheiten verwendbar Utilizar solo en unidades vivas Only use on dismounted inf + Utilisation uniquement sur les infanteries Nur bei abgesessener Infanterie verwendbar Utilizar solo en infanteria desmontada Nothing under mouse + Rien sous la souris Es wurde nichts ausgewählt Nada bajo el ratón From 8d79fd242ab3654e63aa97457afe6604b42a80e3 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Sun, 12 Apr 2015 18:18:52 +0200 Subject: [PATCH 085/145] Update stringtable.xml Added: Some missing french translations. (I took 10 minutes to translate the banana description (-:) --- addons/common/stringtable.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index bcd2b149aa..07cc1e3b71 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -317,33 +317,43 @@ Feedback icons + Icônes de Feedback 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. + Sélectionner la position de ou désactiver les îcones de feedback sur votre écran. Ces îcones sont là pour vous fournir un feedback du statut votre personnage et les actions à effectuer. Progress bar location + Localisation de la barre de progression Set the desired location of the progress bar on your screen. + Définisez l'endroit que vous désirer pour faire appraître la barre de progression. Hint Background color + Couleur de fond des astuces The color of the background from the ACE hints. + Définisez la couleur de fond pour les astuces fournies par ACE. Hint text font color + Couleur du texte des astuces 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. + Définisez la couleur du texte des astuces fournies par ACE. La couleur est celle par défaut affichée à travers toutes les astuces de ACE seulement si aucune couleur n'est défnie. Banana + Banane A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. + Une banane est un fruit comestible, botaniquement une baie, produite par plusieurs types de grandes plantes herbacées à fleurs dans le genre Musa. - \ No newline at end of file + From 45f3300967891d89837a2273a97e72476c7c8135 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Sun, 12 Apr 2015 18:20:32 +0200 Subject: [PATCH 086/145] Update stringtable.xml Added: Missing french translation. --- addons/explosives/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 57ef190460..6ee545361e 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -492,6 +492,7 @@ Pick up + Prendre From 10c32f264e816f4d6c219cd524a3819904a57ef6 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 12 Apr 2015 18:21:28 +0200 Subject: [PATCH 087/145] increase engagement ranges / burst mode on new mmg / full auto dmr --- addons/ai/CfgWeapons.hpp | 194 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) diff --git a/addons/ai/CfgWeapons.hpp b/addons/ai/CfgWeapons.hpp index 22e8f703fc..be3245cce3 100644 --- a/addons/ai/CfgWeapons.hpp +++ b/addons/ai/CfgWeapons.hpp @@ -574,4 +574,198 @@ class CfgWeapons { maxRange = 1200; //1000; }; }; + + // marksmen marksmen + class DMR_03_base_F: Rifle_Long_Base_F { + modes[] += {"ACE_Burst_far"}; + + class Single: Mode_SemiAuto { + minRange = 120; // 2; + minRangeProbab = 0.7; // 0.3; + midRangeProbab = 0.3; // 0.7; + }; + + class FullAuto; + + class single_close_optics1: Single { + minRange = 120; // 2; + minRangeProbab = 0.8; // 0.05; + midRangeProbab = 0.05; // 0.8; + }; + + class single_medium_optics1: single_close_optics1 { + minRangeProbab = 0.7; // 0.05; + midRangeProbab = 0.05; // 0.7; + }; + + class single_far_optics1: single_medium_optics1 { + minRange = 400; // 300; + minRangeProbab = 0.5; // 0.05; + midRangeProbab = 0.05; // 0.5; + }; + + class fullauto_medium: FullAuto { + minRange = 20; // 2; + maxRange = 150; // 100; + burst = "3 + round random 5"; // 3; + }; + + class ACE_Burst_far: fullauto_medium { + aiRateOfFire = 2.0; + aiRateOfFireDistance = 500; + minRange = 400; + minRangeProbab = 0.1; + midRange = 500; + midRangeProbab = 0.2; + maxRange = 600; + maxRangeProbab = 0.2; + burst = "2 + round random 3"; + }; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + modes[] += {"ACE_Burst_far"}; + + class Single: Mode_SemiAuto { + minRange = 120; // 2; + minRangeProbab = 0.7; // 0.3; + midRangeProbab = 0.3; // 0.7; + }; + + class FullAuto; + + class single_close_optics1: Single { + minRange = 120; // 2; + minRangeProbab = 0.8; // 0.05; + midRangeProbab = 0.05; // 0.8; + }; + + class single_medium_optics1: single_close_optics1 { + minRangeProbab = 0.7; // 0.05; + midRangeProbab = 0.05; // 0.7; + }; + + class single_far_optics1: single_medium_optics1 { + minRange = 400; // 300; + minRangeProbab = 0.5; // 0.05; + midRangeProbab = 0.05; // 0.5; + }; + + class fullauto_medium: FullAuto { + minRange = 20; // 2; + maxRange = 150; // 100; + burst = "3 + round random 5"; // 3; + }; + + class ACE_Burst_far: fullauto_medium { + aiRateOfFire = 2.0; + aiRateOfFireDistance = 500; + minRange = 400; + minRangeProbab = 0.1; + midRange = 500; + midRangeProbab = 0.2; + maxRange = 600; + maxRangeProbab = 0.2; + burst = "2 + round random 3"; + }; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + modes[] += {"ACE_Burst_far"}; + + class Single: Mode_SemiAuto { + minRange = 120; // 2; + minRangeProbab = 0.7; // 0.3; + midRangeProbab = 0.3; // 0.7; + }; + + class FullAuto; + + class single_close_optics1: Single { + minRange = 120; // 2; + minRangeProbab = 0.8; // 0.05; + midRangeProbab = 0.05; // 0.8; + }; + + class single_medium_optics1: single_close_optics1 { + minRangeProbab = 0.7; // 0.05; + midRangeProbab = 0.05; // 0.7; + }; + + class single_far_optics1: single_medium_optics1 { + minRange = 400; // 300; + minRangeProbab = 0.5; // 0.05; + midRangeProbab = 0.05; // 0.5; + }; + + class fullauto_medium: FullAuto { + minRange = 20; // 2; + maxRange = 150; // 100; + burst = "3 + round random 5"; // 3; + }; + + class ACE_Burst_far: fullauto_medium { + aiRateOfFire = 2.0; + aiRateOfFireDistance = 500; + minRange = 400; + minRangeProbab = 0.1; + midRange = 500; + midRangeProbab = 0.2; + maxRange = 600; + maxRangeProbab = 0.2; + burst = "2 + round random 3"; + }; + }; + + // marksmen medium mg + class MMG_01_base_F: Rifle_Long_Base_F { + aiDispersionCoefY = 25.0; + aiDispersionCoefX = 20.0; + modes[] += {"ACE_Burst_far"}; + + class manual; + class burst; + class close; + class short; + class medium; + class ACE_Burst_far: medium { + aiRateOfFire = 6.0; + aiRateOfFireDistance = 900; + minRange = 700; + minRangeProbab = 0.1; + midRange = 900; + midRangeProbab = 0.2; + maxRange = 1100; + maxRangeProbab = 0.2; + burst = "3 + round random 5"; + }; + + class far_optic1; + class far_optic2; + }; + + class MMG_02_base_F: Rifle_Long_Base_F { + aiDispersionCoefY = 20.0; + aiDispersionCoefX = 15.0; + modes[] += {"ACE_Burst_far"}; + + class manual; + class close; + class short; + class medium; + class ACE_Burst_far: medium { + aiRateOfFire = 6.0; + aiRateOfFireDistance = 900; + minRange = 700; + minRangeProbab = 0.1; + midRange = 900; + midRangeProbab = 0.2; + maxRange = 1100; + maxRangeProbab = 0.2; + burst = "3 + round random 5"; + }; + + class far_optic1; + class far_optic2; + }; }; From 4a23b8be0024fd9ba3427c98a23f14f4e98a9317 Mon Sep 17 00:00:00 2001 From: Nou Date: Sun, 12 Apr 2015 10:52:50 -0700 Subject: [PATCH 088/145] Allow string function names. --- addons/laser/functions/fnc_laserOn.sqf | 2 +- .../functions/fnc_seekerFindLaserSpot.sqf | 20 +++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index 3091acc3f6..38daeea382 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -5,7 +5,7 @@ * Arguments: * 0: Emitter * 1: Owner - * 2: Method, can be code, which emitter and owner are passed to, an array with a position memory point and weapon name, or an array with a position memory point, a vector begining memory point, and vector ending memory point. + * 2: Method, can be code, which emitter and owner are passed to, a string function name, an array with a position memory point and weapon name, or an array with a position memory point, a vector begining memory point, and vector ending memory point. * 3: Wavelength (1550nm is common eye safe) * 4: Laser code * 5: Beam divergence (in mils off beam center). diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf index 141e0236d0..421748a681 100644 --- a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -39,15 +39,19 @@ _finalOwner = nil; _laser = []; if(IS_CODE(_method)) then { _laser = _x call _method; - } else { - if(IS_ARRAY(_method)) then { - if(count _method == 2) then { - _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), _obj weaponDirection (_method select 1)]; - } else { - if(count _method == 3) then { - _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), (ATLtoASL (_obj modelToWorldVisual (_method select 1))) vectorFromTo (ATLtoASL (_obj modelToWorldVisual (_method select 2)))]; + } else { + if(IS_STRING(_method)) then { + _laser = _x call (missionNamespace getVariable [_method, {}]); + } else { + if(IS_ARRAY(_method)) then { + if(count _method == 2) then { + _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), _obj weaponDirection (_method select 1)]; + } else { + if(count _method == 3) then { + _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), (ATLtoASL (_obj modelToWorldVisual (_method select 1))) vectorFromTo (ATLtoASL (_obj modelToWorldVisual (_method select 2)))]; + }; }; - }; + }; }; }; _laserPos = _laser select 0; From 01797fd3b92c36833ed12fba2690aec8380b573d Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:01:22 -0700 Subject: [PATCH 089/145] Integarate laser code into SALH guidance + self_designate. Note todo items. --- addons/laser/XEH_pre_init.sqf | 1 + .../functions/fnc_drawVisibleLaserTargets.sqf | 1 + addons/laser/functions/fnc_laserOn.sqf | 2 +- addons/laser/functions/fnc_laser_init.sqf | 8 +- addons/laser_selfdesignate/XEH_pre_init.sqf | 3 +- .../functions/fnc_findLaserSource.sqf | 19 +++ .../functions/fnc_laserHudDesignateOff.sqf | 24 +--- .../functions/fnc_laserHudDesignateOn.sqf | 122 +++++++----------- .../functions/fnc_seekerType_SALH.sqf | 13 +- 9 files changed, 89 insertions(+), 104 deletions(-) create mode 100644 addons/laser/functions/fnc_drawVisibleLaserTargets.sqf create mode 100644 addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 5798e3c9a7..3fde1769e0 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -18,6 +18,7 @@ PREP(laserOff); PREP(handleLaserOn); PREP(handleLaserOff); +PREP(drawVisibleLaserTargets); PREP(laser_init); diff --git a/addons/laser/functions/fnc_drawVisibleLaserTargets.sqf b/addons/laser/functions/fnc_drawVisibleLaserTargets.sqf new file mode 100644 index 0000000000..161364c0f2 --- /dev/null +++ b/addons/laser/functions/fnc_drawVisibleLaserTargets.sqf @@ -0,0 +1 @@ +// @TODO: This is to draw the actual LaserTarget positions to utilize for laser shooting. \ No newline at end of file diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index 3091acc3f6..eb3cfd31f5 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -13,7 +13,7 @@ * Return value: * String, UUID for sending to laserOff function. */ - + #include "script_component.hpp" private ["_uuid", "_args"]; diff --git a/addons/laser/functions/fnc_laser_init.sqf b/addons/laser/functions/fnc_laser_init.sqf index 2790459724..1be770e4c8 100644 --- a/addons/laser/functions/fnc_laser_init.sqf +++ b/addons/laser/functions/fnc_laser_init.sqf @@ -5,21 +5,23 @@ TRACE_1("enter", _this); // Add the target to the global targets array // Everyone tracks them - // Add the laser localized to the laser array, and give it the default localized code PUSH(ACE_LASERS, _laserTarget); + // Check the vehicle, otherwise use the default _laserTarget setVariable ["ACE_LASER_CODE", ACE_DEFAULT_LASER_CODE, false]; + // Clean the lasers of any null objects while we are here REM(ACE_LASERS, objNull); if(!(local _laserTarget)) exitWith { }; + // The target is local, so its on this client if(!isDedicated) then { - _laserTarget setVariable ["ACE_LASERTARGET_SHOOTER", ACE_player, true]; + _laserTarget setVariable [QGVAR(owner), ACE_player, true]; [FUNC(laserTargetPFH), 0, [_laserTarget, ACE_player]] call cba_fnc_addPerFrameHandler; } else { // server side ownership of laser - //_laserTarget setVariable ["ACE_LASERTARGET_SHOOTER", nil, false]; + _laserTarget setVariable [QGVAR(owner), nil, true]; }; diff --git a/addons/laser_selfdesignate/XEH_pre_init.sqf b/addons/laser_selfdesignate/XEH_pre_init.sqf index dd971b9539..3f8c92e4db 100644 --- a/addons/laser_selfdesignate/XEH_pre_init.sqf +++ b/addons/laser_selfdesignate/XEH_pre_init.sqf @@ -5,7 +5,8 @@ PREP(laserHudDesignateOn); PREP(laserHudDesignateOff); PREP(unitTurretHasDesignator); -GVAR(laser) = nil; +PREP(findLaserSource); + GVAR(active) = false; FUNC(getPosASL) = {visiblePositionASL (_this select 0)}; diff --git a/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf b/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf new file mode 100644 index 0000000000..a432b838d8 --- /dev/null +++ b/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf @@ -0,0 +1,19 @@ +//findLaserSource.sqf +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +private["_emitter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"]; + +_emmiter = _this select 0; +_owner = _this select 1; + +_gunnerInfo = [_emmiter, (currentWeapon _emmiter)] call CBA_fnc_getFirer; +_turretInfo = [_emmiter, _gunnerInfo select 1] call EFUNC(common,getTurretDirection); +_povPos = _turretInfo select 0; +_povDir = _turretInfo select 1; + +if(!isNil "_povPos" && !isNil "_povDir") exitWith { + [_povPos, _povDir] +}; + +[-1,-1] \ No newline at end of file diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf index 02ea7e6e70..fc50e571c7 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf @@ -1,28 +1,12 @@ #include "script_component.hpp" if( (count _this) > 2) then { - EXPLODE_3_PVT(_this,_vehicle,_shooter,_laserTarget); - // We got the optional vehicle list, clear the parameters - _vehicle setVariable[QGVAR(currentTarget), [], true]; + EXPLODE_3_PVT(_this,_shooter,_laserUuid, _localLaserTarget); + + [_laserUuid] call EFUNC(laser,laserOff); + deleteVehicle _localLaserTarget; }; -if(isNil QGVAR(laser)) exitWith { - false -}; -if(!local GVAR(laser)) then { - false -}; - -_handle = GVAR(laser) getVariable ["ACE_PFH_HANDLE", nil]; -if(!isNil "_handle") then { - [_handle] call cba_fnc_removePerFrameHandler; -}; - -REM(ACE_LASERS, GVAR(laser)); -deleteVehicle GVAR(laser); -GVAR(laser) = nil; GVAR(active) = false; - - 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 a6c8fc2295..e7518041ed 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -6,102 +6,72 @@ TRACE_1("enter", _this); #define FCS_UPDATE_DELAY 1 FUNC(laserHudDesignatePFH) = { - private["_strongestResultPos", "_args", "_laserTarget", "_shooter", "_vehicle", "_weapon", "_gunnerInfo", "_turret", "_pov", "_gunBeg", "_gunEnd", "_povPos", "_povDir", "_result", "_resultPositions", "_firstResult", "_forceUpdateTime"]; + private["_strongestResultPos", "_args", "_localLaserTarget", "_laserResultPosition", "_laserResult", "_shooter", "_vehicle", "_weapon", "_gunnerInfo", "_turretInfo", "_pov", "_gunBeg", "_gunEnd", "_povPos", "_povDir", "_result", "_resultPositions", "_firstResult", "_forceUpdateTime"]; _args = _this select 0; - _laserTarget = _args select 0; - _shooter = _args select 1; - - TRACE_1("", _args, (_laserTarget getVariable["ACE_LASER_CODE"])); - if((vehicle ACE_player) != _shooter || !alive _shooter || isNull _vehicle || isNull _laserTarget || !GVAR(active) ) exitWith { - [_vehicle, _shooter, _laserTarget] call FUNC(laserHudDesignateOff); + _shooter = _args select 0; + _localLaserTarget = _args select 2; + _vehicle = vehicle _shooter; + TRACE_1("", _args); + + if((vehicle _shooter) == _shooter || !alive _shooter || isNull _vehicle || !GVAR(active) ) exitWith { + _args call FUNC(laserHudDesignateOff); }; if(!([_shooter] call FUNC(unitTurretHasDesignator)) ) exitWith { - [_vehicle, _shooter, _laserTarget] call FUNC(laserHudDesignateOff); + _args call FUNC(laserHudDesignateOff); }; - if( (count _args) < 3) then { - _args set[2, diag_tickTime + FCS_UPDATE_DELAY]; + if( (count _args) < 4) then { + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; }; - _forceUpdateTime = _args select 2; - - _vehicle = vehicle _shooter; - _weapon = currentWeapon _vehicle; - - // Retrieve the gunner and turret memory point information - _gunnerInfo = [_vehicle, _weapon] call CBA_fnc_getFirer; + _forceUpdateTime = _args select 3; + + _gunnerInfo = [_vehicle, (currentWeapon _vehicle)] call CBA_fnc_getFirer; _turretInfo = [_vehicle, _gunnerInfo select 1] call EFUNC(common,getTurretDirection); _povPos = _turretInfo select 0; - _povDir = _turretInfo select 1; - _targetInfo = _vehicle getVariable[QGVAR(currentTarget), [] ]; - if( (count _targetInfo) > 0) then { - if(_laserTarget != (_targetInfo select 0) ) then { - _targetInfo = [] - }; - }; - if( (count _targetInfo) < 1) then { - _targetInfo = [_laserTarget, 1001]; // TODO: set laser code - _vehicle setVariable[QGVAR(currentTarget), _targetInfo, true]; - _laserTarget setVariable[QGVAR(owner), _vehicle, true]; - }; - - - _result = [_povPos, _povDir] call EFUNC(laser,shootCone); - if((count _result) > 0) then { - _resultPositions = _result select 2; + _laserResult = [_povPos, [1550,1550], 1001] call EFUNC(laser,seekerFindLaserSpot); + _laserResultPosition = _laserResult select 0; + TRACE_1("Search", _laserResult); - if((count _resultPositions) > 0) then { - _strongestResultPos = [_resultPositions, _povPos] call EFUNC(laser,findStrongestRay); - - // If the laser has moved less than a half meter, then dont move it. - // Just regular use of lasers will commonly make them move this much, - // but not across multiple close frames. - // This loses accuracy a little, but saves position updates per frame. - TRACE_5("", diag_tickTime, _forceUpdateTime, getPosASL _laserTarget, _strongestResultPos, ((getPosASL _laserTarget) distance _pos)); - - if(diag_tickTime > _forceUpdateTime) then { - TRACE_1("FCS Update", ""); - ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; - }; - - //if( (_laserTarget distance _strongestResultPos) > 0.1) then { - TRACE_1("LaserPos Update", ""); - _laserTarget setPosATL (ASLToATL _strongestResultPos); - //}; - - if(diag_tickTime > _forceUpdateTime) then { - _args set[2, diag_tickTime + FCS_UPDATE_DELAY]; - }; -#ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], (getPosATL _laserTarget), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; - - { - private["_position"]; - _position = _x select 0; - drawLine3d [ASLToATL _povPos, ASLToATL _position, [0,0,1,1] ]; - } forEach _resultPositions; -#endif + if((count _laserResult) > 0) then { + // If the laser has moved less than a half meter, then dont move it. + // Just regular use of lasers will commonly make them move this much, + // but not across multiple close frames. + // This loses accuracy a little, but saves position updates per frame. + TRACE_4("", diag_tickTime, _forceUpdateTime, _laserResultPosition, (_laserResultPosition vectorDistance _pos)); + + if(diag_tickTime > _forceUpdateTime) then { + TRACE_1("FCS Update", ""); + ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; }; + + if(diag_tickTime > _forceUpdateTime) then { + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; + }; + + _localLaserTarget setPosASL _laserResultPosition; + +#ifdef DEBUG_MODE_FULL + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _laserResultPosition, 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; + drawLine3d [ASLToATL _povPos, ASLToATL _laserResultPosition, [0,0,1,1] ]; +#endif }; - _this set[0, _args]; }; -private ["_laserTarget", "_handle", "_vehicle"]; +private ["_laserTarget", "_handle", "_vehicle", "_laserUuid"]; -if(isNil QGVAR(laser)) then { - _laserTarget = "LaserTargetW" createVehicle (getpos ACE_player); - +if(!GVAR(active)) then { GVAR(active) = true; - _handle = [FUNC(laserHudDesignatePFH), 0.1, [_laserTarget, ACE_player]] call cba_fnc_addPerFrameHandler; - _laserTarget setVariable ["ACE_PFH_HANDLE", _handle, false]; + TRACE_1("Activating laser", ""); + _laserUuid = [(vehicle ACE_player), ACE_player, FUNC(findLaserSource), 1550, 1001, 1] call EFUNC(laser,laserOn); - // Clear the vehicle parameters - _vehicle setVariable[QGVAR(currentTarget), [], true]; - - GVAR(laser) = _laserTarget; + // @TODO: Create the local target for the players side + _localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player); + + _handle = [FUNC(laserHudDesignatePFH), 0.25, [ACE_player, _laserUuid, _localLaserTarget]] call cba_fnc_addPerFrameHandler; } else { [] call FUNC(laserHudDesignateOff); [] call FUNC(laserHudDesignateOn); diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index f4d36285d8..d54a86c74c 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -1,4 +1,4 @@ -//#define DEBUG_MODE_FULL +#define DEBUG_MODE_FULL #include "script_component.hpp" EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); @@ -10,8 +10,15 @@ _launchParams = _this select 1; _seekerParams = _launchParams select 3; // TODO: this needs to be shootCone/findStrongestRay after testing -_targets = [_projectile, ACE_DEFAULT_LASER_CODE, (_seekerParams select 0)] call ace_laser_fnc_findLaserDesignator; -_foundTargetPos = getPosASL (_targets select 1); +//_targets = [_projectile, ACE_DEFAULT_LASER_CODE, (_seekerParams select 0)] call ace_laser_fnc_findLaserDesignator; +//_foundTargetPos = getPosASL (_targets select 1); + +_laserResult = [(getPosASL _projectile), [1550,1550], 1001] call EFUNC(laser,seekerFindLaserSpot); +_foundTargetPos = _laserResult select 0; +TRACE_1("Search", _laserResult); + +// @TODO: Check angle to target from seeker head + TRACE_1("Seeker return target pos", _foundTargetPos); _foundTargetPos; \ No newline at end of file From 887e1d1d99054fccdb2eefa3e3b313182f01836f Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:14:12 -0700 Subject: [PATCH 090/145] Remove optional laser visual. --- addons/laser/CfgWeapons.hpp | 8 ++++++++ addons/laser/config.cpp | 3 ++- .../functions/fnc_laserHudDesignateOff.sqf | 3 ++- .../functions/fnc_laserHudDesignateOn.sqf | 8 +++++--- 4 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 addons/laser/CfgWeapons.hpp diff --git a/addons/laser/CfgWeapons.hpp b/addons/laser/CfgWeapons.hpp new file mode 100644 index 0000000000..ede7ee0a3c --- /dev/null +++ b/addons/laser/CfgWeapons.hpp @@ -0,0 +1,8 @@ +/* +class Default; +class Item_Base_F; + +class Laserdesignator_mounted : Default {}; +class Item_Laserdesignator : Item_Base_F {}; + +*/ \ No newline at end of file diff --git a/addons/laser/config.cpp b/addons/laser/config.cpp index 4b209b866e..3f430619ef 100644 --- a/addons/laser/config.cpp +++ b/addons/laser/config.cpp @@ -11,4 +11,5 @@ class CfgPatches { }; #include "CfgEventhandlers.hpp" -#include "CfgVehicles.hpp" \ No newline at end of file +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" \ No newline at end of file diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf index fc50e571c7..8df58f01bb 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf @@ -4,7 +4,8 @@ if( (count _this) > 2) then { EXPLODE_3_PVT(_this,_shooter,_laserUuid, _localLaserTarget); [_laserUuid] call EFUNC(laser,laserOff); - deleteVehicle _localLaserTarget; + // @TODO: Nou gets to field all tickets about missing lasers. + //deleteVehicle _localLaserTarget; }; GVAR(active) = false; diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index e7518041ed..85fef8f059 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -50,7 +50,8 @@ FUNC(laserHudDesignatePFH) = { _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; }; - _localLaserTarget setPosASL _laserResultPosition; + // @TODO: Nou gets to field all tickets about missing lasers. + //_localLaserTarget setPosASL _laserResultPosition; #ifdef DEBUG_MODE_FULL drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _laserResultPosition, 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; @@ -69,9 +70,10 @@ if(!GVAR(active)) then { _laserUuid = [(vehicle ACE_player), ACE_player, FUNC(findLaserSource), 1550, 1001, 1] call EFUNC(laser,laserOn); // @TODO: Create the local target for the players side - _localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player); + // @TODO: Nou gets to field all tickets about missing lasers. + //_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player); - _handle = [FUNC(laserHudDesignatePFH), 0.25, [ACE_player, _laserUuid, _localLaserTarget]] call cba_fnc_addPerFrameHandler; + _handle = [FUNC(laserHudDesignatePFH), 0.25, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; } else { [] call FUNC(laserHudDesignateOff); [] call FUNC(laserHudDesignateOn); From 6be8cc8d84488b0fa9509bea2b1ff532da67371c Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:29:33 -0700 Subject: [PATCH 091/145] Removed: Laser visuals Updated: comments and function defs Changed: pass function name, not full code. --- addons/laser/CfgVehicles.hpp | 11 +++++--- .../functions/fnc_findLaserSource.sqf | 13 +++++++++- .../functions/fnc_laserHudDesignateOff.sqf | 12 +++++++++ .../functions/fnc_laserHudDesignateOn.sqf | 26 +++++++++---------- 4 files changed, 45 insertions(+), 17 deletions(-) diff --git a/addons/laser/CfgVehicles.hpp b/addons/laser/CfgVehicles.hpp index 07b8055f0e..2a75a54e03 100644 --- a/addons/laser/CfgVehicles.hpp +++ b/addons/laser/CfgVehicles.hpp @@ -2,8 +2,13 @@ class CfgVehicles { class All; class LaserTarget: All { - class EventHandlers { - init = QUOTE(_this call FUNC(laser_init)); - }; + // LaserTargets are not visual unless in the visual spectrum + model = ""; + threat[] = {0,0,0}; + }; + + // Visual laserTarget override + class ACE_LaserTarget_Visual : LaserTarget { + model = "\A3\Weapons_f\laserTgt.p3d"; }; }; \ No newline at end of file diff --git a/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf b/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf index a432b838d8..ac1ae7e438 100644 --- a/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf +++ b/addons/laser_selfdesignate/functions/fnc_findLaserSource.sqf @@ -1,4 +1,15 @@ -//findLaserSource.sqf +/* + * Author: jaynus + * Handler function for laser network code. + * + * Argument: + * 0: Emitter + * 1: Owner + * + * Return value: + * [position, direction] + */ + //findLaserSource.sqf //#define DEBUG_MODE_FULL #include "script_component.hpp" diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf index 8df58f01bb..17e7fcb76e 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOff.sqf @@ -1,3 +1,15 @@ +/* + * Author: jaynus + * Turns off passed laser self designation. + * + * Argument: + * 0: Shooter, player shooting the laser + * 1: LaserUUID, the UUID of the laser returned by EFUNC(laser,laserOn) + * 2: Local laser target, unused. + * + * Return value: + * true + */ #include "script_component.hpp" if( (count _this) > 2) then { diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index 85fef8f059..0480e9f748 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -1,4 +1,14 @@ -//#define DEBUG_MODE_FULL +/* + * Author: jaynus + * Turns on laser self designation from this vehicle based on the turret. + * There are no arguments, because it is all strictly based on the users vehicle. + * + * Argument: + * + * Return value: + * N/A + */ + //#define DEBUG_MODE_FULL #include "script_component.hpp" TRACE_1("enter", _this); @@ -14,7 +24,7 @@ FUNC(laserHudDesignatePFH) = { _vehicle = vehicle _shooter; TRACE_1("", _args); - if((vehicle _shooter) == _shooter || !alive _shooter || isNull _vehicle || !GVAR(active) ) exitWith { + if((vehicle _shooter) == _shooter || {!alive _shooter} || {isNull _vehicle} || {!GVAR(active)} ) exitWith { _args call FUNC(laserHudDesignateOff); }; if(!([_shooter] call FUNC(unitTurretHasDesignator)) ) exitWith { @@ -35,18 +45,8 @@ FUNC(laserHudDesignatePFH) = { TRACE_1("Search", _laserResult); if((count _laserResult) > 0) then { - // If the laser has moved less than a half meter, then dont move it. - // Just regular use of lasers will commonly make them move this much, - // but not across multiple close frames. - // This loses accuracy a little, but saves position updates per frame. - TRACE_4("", diag_tickTime, _forceUpdateTime, _laserResultPosition, (_laserResultPosition vectorDistance _pos)); - if(diag_tickTime > _forceUpdateTime) then { - TRACE_1("FCS Update", ""); ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; - }; - - if(diag_tickTime > _forceUpdateTime) then { _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; }; @@ -67,7 +67,7 @@ if(!GVAR(active)) then { GVAR(active) = true; TRACE_1("Activating laser", ""); - _laserUuid = [(vehicle ACE_player), ACE_player, FUNC(findLaserSource), 1550, 1001, 1] call EFUNC(laser,laserOn); + _laserUuid = [(vehicle ACE_player), ACE_player, QFUNC(findLaserSource), 1550, 1001, 1] call EFUNC(laser,laserOn); // @TODO: Create the local target for the players side // @TODO: Nou gets to field all tickets about missing lasers. From 9273a32d2394e6ae6a1d1d000fb69e2143e34e02 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:38:07 -0700 Subject: [PATCH 092/145] code cleanup, default laser parameters, getVariable self designation specifics. --- addons/laser/XEH_pre_init.sqf | 4 +++ addons/laser_selfdesignate/CfgUI.hpp | 32 ------------------- addons/laser_selfdesignate/CfgVehicles.hpp | 6 ---- addons/laser_selfdesignate/config.cpp | 2 -- .../functions/fnc_laserHudDesignateOn.sqf | 10 ++++-- 5 files changed, 12 insertions(+), 42 deletions(-) delete mode 100644 addons/laser_selfdesignate/CfgUI.hpp diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 3fde1769e0..e10067a3cc 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -25,6 +25,10 @@ PREP(laser_init); PREP(laserTargetPFH); ACE_LASERS = []; + +// Laser default variables ACE_DEFAULT_LASER_CODE = 1001; +ACE_DEFAULT_LASER_WAVELENGTH = 1550; +ACE_DEFAULT_LASER_BEAMSPREAD = 1; GVAR(laserEmitters) = HASH_CREATE; \ No newline at end of file diff --git a/addons/laser_selfdesignate/CfgUI.hpp b/addons/laser_selfdesignate/CfgUI.hpp deleted file mode 100644 index e8823e04f8..0000000000 --- a/addons/laser_selfdesignate/CfgUI.hpp +++ /dev/null @@ -1,32 +0,0 @@ -class RscPicture; -class RscText; -class RscControlsGroupNoScrollbars; -/* This disables air radar. We need to make this a seperate HUD addon -class RscInGameUI -{ - class RscUnitInfo - { - class CA_Radar: RscControlsGroupNoScrollbars - { - class controls - { - class CA_RadarBackground: RscPicture { - colorText[] = {0,0,0,0}; - text = ""; - }; - class CA_RadarIcon: RscPicture { - colorText[] = {0,0,0,0}; - }; - class CA_Heading: RscText { - colorText[] = {0,0,0,0}; - }; - }; - }; - }; -}; -class CfgInGameUI -{ - -}; - -*/ \ No newline at end of file diff --git a/addons/laser_selfdesignate/CfgVehicles.hpp b/addons/laser_selfdesignate/CfgVehicles.hpp index b29d8a4394..02d8b32b3d 100644 --- a/addons/laser_selfdesignate/CfgVehicles.hpp +++ b/addons/laser_selfdesignate/CfgVehicles.hpp @@ -8,12 +8,6 @@ class CfgVehicles { class Turrets { class MainTurret; }; - - // TODO: move these to a different HUD addon - // commanderCanSee = 2+32; - // gunnerCanSee = 2+32; - // driverCanSee = 2+32; - }; class Helicopter_Base_F: Helicopter {}; diff --git a/addons/laser_selfdesignate/config.cpp b/addons/laser_selfdesignate/config.cpp index 33c31ba7e5..19ec28063b 100644 --- a/addons/laser_selfdesignate/config.cpp +++ b/addons/laser_selfdesignate/config.cpp @@ -10,8 +10,6 @@ class CfgPatches { }; }; -#include "CfgUI.hpp" - #include "CfgEventhandlers.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index 0480e9f748..f5066070f7 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -61,13 +61,19 @@ FUNC(laserHudDesignatePFH) = { _this set[0, _args]; }; -private ["_laserTarget", "_handle", "_vehicle", "_laserUuid"]; +private ["_laserTarget", "_handle", "_vehicle", "_laserUuid", "_waveLength", "_beamSpread", "_laserCode"]; if(!GVAR(active)) then { GVAR(active) = true; TRACE_1("Activating laser", ""); - _laserUuid = [(vehicle ACE_player), ACE_player, QFUNC(findLaserSource), 1550, 1001, 1] call EFUNC(laser,laserOn); + + // Get the self-designation variables, or use defaults + _laserCode = (vehicle ACE_player) getVariable[QGVAR(currentCode), ACE_DEFAULT_LASER_CODE]; + _waveLength = (vehicle ACE_player) getVariable[QGVAR(currentWaveLength), ACE_DEFAULT_LASER_WAVELENGTH]; + _beamSpread = (vehicle ACE_player) getVariable[QGVAR(currentBeamSpread), ACE_DEFAULT_LASER_BEAMSPREAD]; + + _laserUuid = [(vehicle ACE_player), ACE_player, QFUNC(findLaserSource), _waveLength, _laserCode, _beamSpread] call EFUNC(laser,laserOn); // @TODO: Create the local target for the players side // @TODO: Nou gets to field all tickets about missing lasers. From 197b13e6d928e68c0e8a1a07a04a78eb3f7a0a2c Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:41:50 -0700 Subject: [PATCH 093/145] Use current codes for FCS updates. --- .../functions/fnc_laserHudDesignateOn.sqf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index f5066070f7..1d4505baa2 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -40,7 +40,10 @@ FUNC(laserHudDesignatePFH) = { _turretInfo = [_vehicle, _gunnerInfo select 1] call EFUNC(common,getTurretDirection); _povPos = _turretInfo select 0; - _laserResult = [_povPos, [1550,1550], 1001] call EFUNC(laser,seekerFindLaserSpot); + _laserCode = (vehicle ACE_player) getVariable[QGVAR(currentCode), ACE_DEFAULT_LASER_CODE]; + _beamSpread = (vehicle ACE_player) getVariable[QGVAR(currentBeamSpread), ACE_DEFAULT_LASER_BEAMSPREAD]; + + _laserResult = [_povPos, [_beamSpread,_beamSpread], _laserCode] call EFUNC(laser,seekerFindLaserSpot); _laserResultPosition = _laserResult select 0; TRACE_1("Search", _laserResult); From 7f0e54b9c34f44bd3279ac7bf75c11b9a9e6df01 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:43:37 -0700 Subject: [PATCH 094/145] More defaults. --- .../laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf | 4 ++-- addons/missileguidance/functions/fnc_seekerType_SALH.sqf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index 1d4505baa2..ecf79da1dd 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -41,9 +41,9 @@ FUNC(laserHudDesignatePFH) = { _povPos = _turretInfo select 0; _laserCode = (vehicle ACE_player) getVariable[QGVAR(currentCode), ACE_DEFAULT_LASER_CODE]; - _beamSpread = (vehicle ACE_player) getVariable[QGVAR(currentBeamSpread), ACE_DEFAULT_LASER_BEAMSPREAD]; + _waveLength = (vehicle ACE_player) getVariable[QGVAR(currentWaveLength), ACE_DEFAULT_LASER_WAVELENGTH]; - _laserResult = [_povPos, [_beamSpread,_beamSpread], _laserCode] call EFUNC(laser,seekerFindLaserSpot); + _laserResult = [_povPos, [_waveLength,_waveLength], _laserCode] call EFUNC(laser,seekerFindLaserSpot); _laserResultPosition = _laserResult select 0; TRACE_1("Search", _laserResult); diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index d54a86c74c..6fc301ad21 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -13,7 +13,7 @@ _seekerParams = _launchParams select 3; //_targets = [_projectile, ACE_DEFAULT_LASER_CODE, (_seekerParams select 0)] call ace_laser_fnc_findLaserDesignator; //_foundTargetPos = getPosASL (_targets select 1); -_laserResult = [(getPosASL _projectile), [1550,1550], 1001] call EFUNC(laser,seekerFindLaserSpot); +_laserResult = [(getPosASL _projectile), [ACE_DEFAULT_WAVELENGTH,ACE_DEFAULT_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); _foundTargetPos = _laserResult select 0; TRACE_1("Search", _laserResult); From 9287d6fe445647b6a603f9ed7847ccb121de5b49 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 11:46:28 -0700 Subject: [PATCH 095/145] Remove dead code. --- .../functions/fnc_laserHudDesignateOn.sqf | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index ecf79da1dd..c480c051bb 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -36,6 +36,9 @@ FUNC(laserHudDesignatePFH) = { }; _forceUpdateTime = _args select 3; + // @TODO: We don't have anything here we need to do the calculations for right now + /* + _gunnerInfo = [_vehicle, (currentWeapon _vehicle)] call CBA_fnc_getFirer; _turretInfo = [_vehicle, _gunnerInfo select 1] call EFUNC(common,getTurretDirection); _povPos = _turretInfo select 0; @@ -43,24 +46,22 @@ FUNC(laserHudDesignatePFH) = { _laserCode = (vehicle ACE_player) getVariable[QGVAR(currentCode), ACE_DEFAULT_LASER_CODE]; _waveLength = (vehicle ACE_player) getVariable[QGVAR(currentWaveLength), ACE_DEFAULT_LASER_WAVELENGTH]; + _laserResult = [_povPos, [_waveLength,_waveLength], _laserCode] call EFUNC(laser,seekerFindLaserSpot); _laserResultPosition = _laserResult select 0; TRACE_1("Search", _laserResult); if((count _laserResult) > 0) then { - if(diag_tickTime > _forceUpdateTime) then { - ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; - _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; - }; - // @TODO: Nou gets to field all tickets about missing lasers. //_localLaserTarget setPosASL _laserResultPosition; - -#ifdef DEBUG_MODE_FULL - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _laserResultPosition, 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; - drawLine3d [ASLToATL _povPos, ASLToATL _laserResultPosition, [0,0,1,1] ]; -#endif }; + */ + + if(diag_tickTime > _forceUpdateTime) then { + ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; + }; + _this set[0, _args]; }; @@ -82,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.25, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; + _handle = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; } else { [] call FUNC(laserHudDesignateOff); [] call FUNC(laserHudDesignateOn); From 5251de844721c4601dcbe12c94ca1b925da4cc50 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 12:16:26 -0700 Subject: [PATCH 096/145] break out seeker angle check. more laser code cleanup. --- addons/laser/XEH_pre_init.sqf | 1 - .../functions/fnc_findLaserDesignator.sqf | 74 ------------------- addons/laser/functions/fnc_shootCone.sqf | 2 +- addons/missileguidance/XEH_pre_init.sqf | 2 + .../functions/fnc_checkSeekerAngle.sqf | 50 +++++++++++++ .../functions/fnc_seekerType_SALH.sqf | 20 ++--- 6 files changed, 64 insertions(+), 85 deletions(-) delete mode 100644 addons/laser/functions/fnc_findLaserDesignator.sqf create mode 100644 addons/missileguidance/functions/fnc_checkSeekerAngle.sqf diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index e10067a3cc..f243c0f659 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -6,7 +6,6 @@ PREP(shootRay); PREP(shootCone); PREP(checkLos); -PREP(findLaserDesignator); PREP(findStrongestRay); PREP(translateToModelSpace); diff --git a/addons/laser/functions/fnc_findLaserDesignator.sqf b/addons/laser/functions/fnc_findLaserDesignator.sqf deleted file mode 100644 index 902775ebd5..0000000000 --- a/addons/laser/functions/fnc_findLaserDesignator.sqf +++ /dev/null @@ -1,74 +0,0 @@ -//#define DEBUG_MODE_FULL -#include "script_component.hpp" - -private ["_seeker", "_headingPitch", "_found", "_vectorTo", "_polarTo", "_dir", "_vertOk", "_horzOk", "_fov", - "_closestDistance", "_pos1", "_pos2", "_disCheck", "_currentTarget", "_potentialTargets", "_offset", "_vector"]; - -_seeker = _this select 0; -_laserCode = _this select 1; -_fov = if (count _this > 2) then {_this select 2} else {75}; -_vector = if (count _this > 3) then {_this select 3} else {vectorDir _seeker}; -_offset = if (count _this > 4) then {_this select 4} else {[0,0,0]}; - -_headingPitch = _vector call CBA_fnc_vect2polar; -_currentTarget = nil; -_found = false; - -_getPosASL = {visiblePositionASL (_this select 0)}; - -LOG("Searching lasers"); -if(!(isNil "ACE_LASERS")) then { - _potentialTargets = []; - TRACE_1("", ACE_LASERS); - - { - if(!(isNull _x)) then { - _sensorPos = ATLtoASL(_seeker modelToWorldVisual _offset); - _vectorTo = [_sensorPos, ([_x] call _getPosASL)] call BIS_fnc_vectorFromXToY; - _polarTo = _vectorTo call CBA_fnc_vect2polar; - _dir = _polarTo select 1; - _dir = _dir - (_headingPitch select 1); - - TRACE_4("Calc", _sensorPos, _vectorTo, _polarTo, _dir); - - if (_dir < 0) then {_dir = _dir + 360}; - if (_dir > 360) then {_dir = _dir - 360}; - _vertOk = false; - _horzOk = false; - if(_dir < _fov || {_dir > (360-_fov)}) then { - _horzOk = true; - }; - if(abs((abs(_polarTo select 2))-(abs(_headingPitch select 2))) < _fov) then { - _vertOk = true; - }; - - TRACE_2("Results", _vertOk, _horzOk); - - if(_vertOk && {_horzOk}) then { - // Does the laser currently have our current code, if we have one? - _targetCode = _x getVariable ["ACE_LASER_CODE", ACE_DEFAULT_LASER_CODE]; - TRACE_1("Target in sight, checking code", _targetCode, _laserCode); - if(_targetCode == _laserCode) then { - _potentialTargets set[(count _potentialTargets), _x]; - }; - }; - }; - - } forEach ACE_LASERS; - - TRACE_1("", _potentialTargets); - - _closestDistance = 100000; - { - _pos1 = (getPosASL _seeker); - _pos2 = ([_x] call _getPosASL); - _disCheck = _pos1 distance _pos2; - // shouldn't this bail out when a valid target is found instead of iterating over all potential targets ? - if(_disCheck < _closestDistance && {[_pos1, _pos2, _x, _seeker] call FUNC(checkLos)}) then { - _found = true; - _currentTarget = _x; - _closestDistance = _disCheck; - }; - } forEach _potentialTargets; -}; -[_found, _currentTarget] \ No newline at end of file diff --git a/addons/laser/functions/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf index 324f46184f..801353d4f7 100644 --- a/addons/laser/functions/fnc_shootCone.sqf +++ b/addons/laser/functions/fnc_shootCone.sqf @@ -1,5 +1,5 @@ #include "script_component.hpp" -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL private ["_divergence","_pos","_vec","_longestReturn","_shortestReturn","_resultPositions","_p1","_p2","_p","_v","_cp","_vecRotateMap","_result", "_resultPos","_distance","_count","_pos2","_radOffset","_offset","_offsetPos","_offsetVector"]; _divergence = 0.3; diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 873715fef8..4d4a0b18b4 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -3,6 +3,8 @@ PREP(rotateVectLineGetMap); PREP(rotateVectLine); +PREP(checkSeekerAngle); + PREP(fired); PREP(guidancePFH); diff --git a/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf b/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf new file mode 100644 index 0000000000..7308ce1723 --- /dev/null +++ b/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf @@ -0,0 +1,50 @@ +/* + * Author: jaynus + * Returns whether the target position is within the maximum angle FOV of the provided seeker + * objects current direction. + * + * Argument: + * 0: Seeker [Object] + * 1: Target [Position] + * 2: Max Angle [Degrees] + * + * Return value: + * Boolean + */ + + #define DEBUG_MODE_FULL +#include "script_component.hpp" +private["_seeker", "_targetPos", "_seekerMaxAngle", "_vectorTo", "_sensorPos", "_vertOk", "_horzOk", "_dir", "_headingPitch"]; + +_seeker = _this select 0; +_targetPos = _this select 1; +_seekerMaxAngle = _this select 2; + +_vertOk = false; +_horzOk = false; + +_sensorPos = getPosASL _seeker; +_vectorTo = _sensorPos vectorFromTo _targetPos; + +_headingPitch = (vectorDir _seeker) call CBA_fnc_vect2polar; +_polarTo = _vectorTo call CBA_fnc_vect2polar; + +_dir = _polarTo select 1; +_dir = _dir - (_headingPitch select 1); + +if (_dir < 0) then {_dir = _dir + 360}; +if (_dir > 360) then {_dir = _dir - 360}; + _vertOk = false; + _horzOk = false; +if(_dir < _angleFov || {_dir > (360-_angleFov)}) then { + _horzOk = true; +}; +if(abs((abs(_polarTo select 2))-(abs(_headingPitch select 2))) < _angleFov) then { + _vertOk = true; +}; + +if(!_vertOk || !_horzOk ) exitWith { + false +}; + +true \ 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 6fc301ad21..1c579678be 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -2,23 +2,25 @@ #include "script_component.hpp" EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -private["_targets", "_foundTargetPos", "_launchParams", "_seekerParams", "_targetLaunchParams"]; - _seekerTargetPos = _this select 0; _launchParams = _this select 1; _seekerParams = _launchParams select 3; -// TODO: this needs to be shootCone/findStrongestRay after testing -//_targets = [_projectile, ACE_DEFAULT_LASER_CODE, (_seekerParams select 0)] call ace_laser_fnc_findLaserDesignator; -//_foundTargetPos = getPosASL (_targets select 1); - -_laserResult = [(getPosASL _projectile), [ACE_DEFAULT_WAVELENGTH,ACE_DEFAULT_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); +_laserResult = [(getPosASL _projectile), [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); _foundTargetPos = _laserResult select 0; TRACE_1("Search", _laserResult); -// @TODO: Check angle to target from seeker head +if(!isNil "_foundTargetPos") then { + _angleFov = _seekerParams select 0; + _canSeeTarget = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle); + + // If we got here, it was an invalid target, just return a spot 5m in front of the missile + if(!_canSeeTarget) then { + _foundTargetPos = _sensorPos vectorAdd ((velocity _projectile) vectorMultiply 5); + }; + +}; -TRACE_1("Seeker return target pos", _foundTargetPos); _foundTargetPos; \ No newline at end of file From 38c3f43dd63d8e3b0d9b991cbc749ea6dab56fe2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 14:39:49 -0500 Subject: [PATCH 097/145] Fix UBC Updating base class Turrets->, by z\ace\addons\missileguidance\config.bin/CfgVehicles/B_Heli_Attack_01_F/Turrets/ --- addons/missileguidance/CfgVehicles.hpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/addons/missileguidance/CfgVehicles.hpp b/addons/missileguidance/CfgVehicles.hpp index ec07cd96c1..7707717c9e 100644 --- a/addons/missileguidance/CfgVehicles.hpp +++ b/addons/missileguidance/CfgVehicles.hpp @@ -1,19 +1,29 @@ class CfgVehicles { - class Heli_Attack_01_base_F; - class B_Heli_Attack_01_F : Heli_Attack_01_base_F { + class AllVehicles; + class Air: AllVehicles { + class Turrets; + }; + + class Helicopter: Air { class Turrets { class MainTurret; }; }; + class Helicopter_Base_F: Helicopter {}; + class Heli_Attack_01_base_F: Helicopter_Base_F {}; + class B_Heli_Attack_01_F : Heli_Attack_01_base_F { + class Turrets: Turrets { + class MainTurret; + }; + }; class ACE_Comanche_Test : B_Heli_Attack_01_F { - displayName = "ACE_Comanche_Test"; + displayName = "ACE_Comanche_Test"; author = "ACE Team"; - class Library - { - libTextDesc = "ACE_Comanche_Test"; - }; + class Library { + libTextDesc = "ACE_Comanche_Test"; + }; class Turrets: Turrets { class MainTurret: MainTurret { magazines[] = {"ACE_500Rnd_20mm_shells_Comanche", "24Rnd_ACE_Hellfire_AGM114K"}; @@ -21,4 +31,3 @@ class CfgVehicles { }; }; }; - From 2e83e56a735c649809756540abc1b26c4dbc1a81 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 13:02:09 -0700 Subject: [PATCH 098/145] Seeker integration. --- addons/missileguidance/XEH_pre_init.sqf | 1 + .../functions/fnc_checkLos.sqf | 29 +++++++++++++++++++ .../functions/fnc_seekerType_Optic.sqf | 29 +++++++++++++++---- .../functions/fnc_seekerType_SALH.sqf | 2 +- 4 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_checkLos.sqf diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 4d4a0b18b4..403d6245ca 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -4,6 +4,7 @@ PREP(rotateVectLineGetMap); PREP(rotateVectLine); PREP(checkSeekerAngle); +PREP(checkLos); PREP(fired); diff --git a/addons/missileguidance/functions/fnc_checkLos.sqf b/addons/missileguidance/functions/fnc_checkLos.sqf new file mode 100644 index 0000000000..f21a841367 --- /dev/null +++ b/addons/missileguidance/functions/fnc_checkLos.sqf @@ -0,0 +1,29 @@ +/* + * Author: jaynus + * Returns whether the seeker object can see the target position with lineIntersect + * + * Argument: + * 0: Seeker [Object] + * 1: Target [Object] + * + * Return value: + * Boolean + */ +#include "script_component.hpp" +private["_seeker", "_seekerPos", "_target", "_targetPos", "_return", "_vectorTo", "_searchPos"]; +_seeker = _this select 0; +_target = _this select 1; + +_targetPos = getPosASL _target; +_seekerPos = getPosASL _seeker; +_return = true; + +if(!(terrainIntersectASL [ _seekerPos, _targetPos])) then { + if(lineIntersects [_seekerPos, _targetPos, _seeker, _target]) then { + _return = false; + }; +} else { + _return = false; +}; + +_return; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index 3ce123d89c..9539c2c8f6 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -19,14 +19,31 @@ if(!isNil "_target") then { _foundTargetPos = getPosASL _target; }; -TRACE_2("", _target, _foundTargetPos); +/* @TODO: This is seeker LOS and angle checks for LOAL only; LOBL does not need visual +_angleFov = _seekerParams select 0; +_angleOkay = [_projectile, _foundTargetPos, _angleFov] call FUNC(checkSeekerAngle); -_projectileSpeed = (vectorMagnitude velocity _projectile); -_distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetPos; +_losOkay = false; +if(_angleOkay) then { + _losOkay = [_projectile, _target] call FUNC(checkSeekerLos); +}; +TRACE_2("", _angleOkay, _losOkay); -_eta = _distanceToTarget / _projectileSpeed; +// If we got here, it was an invalid target, just return a spot 5m in front of the missile +if(!_angleOkay || !_losOkay) then { + _foundTargetPos = _sensorPos vectorAdd ((velocity _projectile) vectorMultiply 5); +} else { + TRACE_2("", _target, _foundTargetPos); -_adjustVelocity = (velocity _target) vectorMultiply _eta; -_foundTargetPos = _foundTargetPos vectorAdd _adjustVelocity; + // @TODO: Configurable lead for seekers + _projectileSpeed = (vectorMagnitude velocity _projectile); + _distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetPos; + _eta = _distanceToTarget / _projectileSpeed; + + _adjustVelocity = (velocity _target) vectorMultiply _eta; + _foundTargetPos = _foundTargetPos vectorAdd _adjustVelocity; +}; + +*/ _foundTargetPos; \ 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 1c579678be..828550aeeb 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -1,4 +1,4 @@ -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL #include "script_component.hpp" EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); From 2317a3c9889f1f22e44c0031e575ff30600daa6a Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 14:03:15 -0700 Subject: [PATCH 099/145] Visually hide laser targets. --- addons/laser/CfgVehicles.hpp | 27 ++++++++++++++++--- addons/laser/XEH_pre_init.sqf | 2 +- addons/laser/functions/fnc_laserTargetPFH.sqf | 13 ++++++--- addons/laser/functions/fnc_laser_init.sqf | 17 +++++++----- .../fnc_vanillaLaserSeekerHandler.sqf | 26 ++++++++++++++++++ 5 files changed, 70 insertions(+), 15 deletions(-) create mode 100644 addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf diff --git a/addons/laser/CfgVehicles.hpp b/addons/laser/CfgVehicles.hpp index 2a75a54e03..f4e2ed42ab 100644 --- a/addons/laser/CfgVehicles.hpp +++ b/addons/laser/CfgVehicles.hpp @@ -2,13 +2,32 @@ class CfgVehicles { class All; class LaserTarget: All { - // LaserTargets are not visual unless in the visual spectrum - model = ""; - threat[] = {0,0,0}; + // @TODO: Changing the model and simulation hides it, but THEN IT DOESNT SPAWN WTF!? + model = "\A3\Weapons_F\empty.p3d"; + simulation = "nvmarker"; + nvTarget = 1; + //simulation = "laserTarget"; + //threat[] = {0,0,0}; + class EventHandlers { + init = QUOTE(_this call FUNC(laser_init)); + }; + + diffuse[] = {0,0,0}; + ambient[] = {0,0,0}; + brightness = 0; + name = "pozicni blik"; + drawLight = 0; + drawLightSize = 0; + drawLightCenterSize = 0; + activeLight = 0; + blinking = 0; + dayLight = 0; + onlyInNvg = 0; + useFlare = 0; }; // Visual laserTarget override class ACE_LaserTarget_Visual : LaserTarget { - model = "\A3\Weapons_f\laserTgt.p3d"; + //model = "\A3\Weapons_f\laserTgt.p3d"; }; }; \ No newline at end of file diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index f243c0f659..242300791f 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -20,7 +20,7 @@ PREP(handleLaserOff); PREP(drawVisibleLaserTargets); PREP(laser_init); - +PREP(vanillaLaserSeekerHandler); PREP(laserTargetPFH); ACE_LASERS = []; diff --git a/addons/laser/functions/fnc_laserTargetPFH.sqf b/addons/laser/functions/fnc_laserTargetPFH.sqf index bdab413685..15d0fa03d0 100644 --- a/addons/laser/functions/fnc_laserTargetPFH.sqf +++ b/addons/laser/functions/fnc_laserTargetPFH.sqf @@ -1,20 +1,25 @@ +#define DEBUG_MODE_FULL #include "script_component.hpp" +TRACE_1("enter", _this); private["_args", "_laserTarget"]; //TRACE_1("enter", _this); _args = _this select 0; _laserTarget = _args select 0; +_shooter = _args select 1; +_uuid = _args select 2; -if(isNull _laserTarget || !alive player) exitWith { +if(isNull _laserTarget || !alive _shooter) exitWith { [(_this select 1)] call cba_fnc_removePerFrameHandler; REM(ACE_LASERS, _laserTarget); + + // Remove laseron + [_uuid] call FUNC(laserOff); }; -_end = diag_tickTime; - #ifdef DEBUG_MODE_FULL // Iconize the location of the actual laserTarget -_pos = [_laserTarget] call FUNC(getPosASL); +_pos = getPosASL _laserTarget; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,0,1], (ASLtoATL _pos), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"]; { diff --git a/addons/laser/functions/fnc_laser_init.sqf b/addons/laser/functions/fnc_laser_init.sqf index 1be770e4c8..7c39c9be87 100644 --- a/addons/laser/functions/fnc_laser_init.sqf +++ b/addons/laser/functions/fnc_laser_init.sqf @@ -1,15 +1,18 @@ +#define DEBUG_MODE_FULL #include "script_component.hpp" -PARAMS_1(_laserTarget); - TRACE_1("enter", _this); +PARAMS_1(_laserTarget); + // Add the target to the global targets array // Everyone tracks them // Add the laser localized to the laser array, and give it the default localized code PUSH(ACE_LASERS, _laserTarget); // Check the vehicle, otherwise use the default -_laserTarget setVariable ["ACE_LASER_CODE", ACE_DEFAULT_LASER_CODE, false]; +_laserTarget setVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE, false]; +_laserTarget setVariable [QGVAR(beamSpread), ACE_DEFAULT_LASER_BEAMSPREAD, false]; +_laserTarget setVariable [QGVAR(waveLength), ACE_DEFAULT_LASER_WAVELENGTH, false]; // Clean the lasers of any null objects while we are here REM(ACE_LASERS, objNull); @@ -18,9 +21,11 @@ if(!(local _laserTarget)) exitWith { }; // The target is local, so its on this client if(!isDedicated) then { - _laserTarget setVariable [QGVAR(owner), ACE_player, true]; - - [FUNC(laserTargetPFH), 0, [_laserTarget, ACE_player]] call cba_fnc_addPerFrameHandler; + // @TODO: Get ownership variables and set them on the vehicle + + _uuid = [(vehicle ACE_player), ACE_player, QFUNC(vanillaLaserSeekerHandler), ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_CODE, ACE_DEFAULT_LASER_BEAMSPREAD] call FUNC(laserOn); + _laserTarget setVariable [QGVAR(uuid), _uuid, false]; + [FUNC(laserTargetPFH), 1, [_laserTarget, ACE_player, _uuid]] call cba_fnc_addPerFrameHandler; } else { // server side ownership of laser _laserTarget setVariable [QGVAR(owner), nil, true]; diff --git a/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf b/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf new file mode 100644 index 0000000000..bbd36bd92d --- /dev/null +++ b/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf @@ -0,0 +1,26 @@ +/* + * Author: jaynus + * Handler function for laser network code. + * + * Argument: + * 0: Emitter + * 1: Owner + * + * Return value: + * [position, direction] + */ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +private["_emitter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"]; + +_emmiter = _this select 0; +_owner = _this select 1; + +// Not in a vehicle.... +// @TODO: handle lasering from turrets +if( (vehicle _owner) == _owner && alive _owner ) exitWith { + [(eyePos _owner), (eyeDirection _owner)] +}; + +[-1,-1] \ No newline at end of file From c9e2eb0869475a9a85d7847a321b9e3b2e6e9b19 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 14:05:12 -0700 Subject: [PATCH 100/145] Changed: no-crosshair reticle for Titan by BlackPixxel --- AUTHORS.txt | 1 + addons/javelin/CfgWeapons.hpp | 3 ++- addons/javelin/data/reticle_titan.p3d | Bin 0 -> 1416 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 addons/javelin/data/reticle_titan.p3d diff --git a/AUTHORS.txt b/AUTHORS.txt index 5642606e91..148f2835fb 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -71,3 +71,4 @@ Valentin Torikian zGuba Aleksey EpMAK Yermakov ruPaladin +BlackPixxel \ No newline at end of file diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index eccdd30623..cef967e32e 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -6,7 +6,8 @@ class CfgWeapons { class launch_Titan_base : Launcher_Base_F { weaponInfoType = "ACE_RscOptics_javelin"; - + modelOptics = PATHTOF(data\reticle_titan.p3d); + lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; diff --git a/addons/javelin/data/reticle_titan.p3d b/addons/javelin/data/reticle_titan.p3d new file mode 100644 index 0000000000000000000000000000000000000000..afc0f6c9b492d2e698d244b1e30899ee13464e6d GIT binary patch literal 1416 zcmc&!Jx>Bb5Z&_=)Sp0ii9$qjN@Iu-jUtT%4N5F7A^4PJf1_iG>Yl zVPj%qO)RX8jkPu=#(Bcvu{2UScXKmuXLsH(yGv{{zOHFP&?~lr>oE^mfGIN2F<_Dx z?@GgS{v7sx&fNlkyw{q*(;bZX(_X75?!>P2Y~%IfIec~3UVr^~&~#$N@0VIVaVI`) zxRz&5-n#MR^!AMtBYu{7=!rWqY8K)++_wMk4^s&v9eqPx{(1<#h6204j>6;QLl4b` z5HPuYB7SM1b5!LA2WmJC#+6atKD#!(uBfot8hnXvbDaft{C gUmw0Ud|jLthnwfMSN-2t(<7x!JiAdS+IqK&Z`z*E!vFvP literal 0 HcmV?d00001 From 509b5e1a0531f37bf2a494c00c9dcb8061d80031 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 14:12:21 -0700 Subject: [PATCH 101/145] Integration of lasers for vanilla laser designation as well. Remove debug. --- addons/laser/XEH_pre_init.sqf | 2 +- addons/laser/functions/fnc_laserTargetPFH.sqf | 4 ++-- addons/laser/functions/fnc_laser_init.sqf | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 242300791f..e160a533f2 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -23,7 +23,7 @@ PREP(laser_init); PREP(vanillaLaserSeekerHandler); PREP(laserTargetPFH); -ACE_LASERS = []; +GVAR(VanillaLasers) = []; // Laser default variables ACE_DEFAULT_LASER_CODE = 1001; diff --git a/addons/laser/functions/fnc_laserTargetPFH.sqf b/addons/laser/functions/fnc_laserTargetPFH.sqf index 15d0fa03d0..d73d9f070a 100644 --- a/addons/laser/functions/fnc_laserTargetPFH.sqf +++ b/addons/laser/functions/fnc_laserTargetPFH.sqf @@ -1,4 +1,4 @@ -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL #include "script_component.hpp" TRACE_1("enter", _this); @@ -11,7 +11,7 @@ _uuid = _args select 2; if(isNull _laserTarget || !alive _shooter) exitWith { [(_this select 1)] call cba_fnc_removePerFrameHandler; - REM(ACE_LASERS, _laserTarget); + REM(GVAR(VanillaLasers), _laserTarget); // Remove laseron [_uuid] call FUNC(laserOff); diff --git a/addons/laser/functions/fnc_laser_init.sqf b/addons/laser/functions/fnc_laser_init.sqf index 7c39c9be87..378ee38407 100644 --- a/addons/laser/functions/fnc_laser_init.sqf +++ b/addons/laser/functions/fnc_laser_init.sqf @@ -1,4 +1,4 @@ -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL #include "script_component.hpp" TRACE_1("enter", _this); @@ -7,7 +7,7 @@ PARAMS_1(_laserTarget); // Add the target to the global targets array // Everyone tracks them // Add the laser localized to the laser array, and give it the default localized code -PUSH(ACE_LASERS, _laserTarget); +PUSH(GVAR(VanillaLasers), _laserTarget); // Check the vehicle, otherwise use the default _laserTarget setVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE, false]; @@ -15,7 +15,7 @@ _laserTarget setVariable [QGVAR(beamSpread), ACE_DEFAULT_LASER_BEAMSPREAD, false _laserTarget setVariable [QGVAR(waveLength), ACE_DEFAULT_LASER_WAVELENGTH, false]; // Clean the lasers of any null objects while we are here -REM(ACE_LASERS, objNull); +REM(GVAR(VanillaLasers), objNull); if(!(local _laserTarget)) exitWith { }; @@ -25,7 +25,7 @@ if(!isDedicated) then { _uuid = [(vehicle ACE_player), ACE_player, QFUNC(vanillaLaserSeekerHandler), ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_CODE, ACE_DEFAULT_LASER_BEAMSPREAD] call FUNC(laserOn); _laserTarget setVariable [QGVAR(uuid), _uuid, false]; - [FUNC(laserTargetPFH), 1, [_laserTarget, ACE_player, _uuid]] call cba_fnc_addPerFrameHandler; + [FUNC(laserTargetPFH), 0, [_laserTarget, ACE_player, _uuid]] call cba_fnc_addPerFrameHandler; } else { // server side ownership of laser _laserTarget setVariable [QGVAR(owner), nil, true]; From 7343805a6cd87bd42c9a92211977f281f247ab15 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 12 Apr 2015 18:24:41 -0300 Subject: [PATCH 102/145] Added issue regarding mouse events handlers on displays --- documentation/development/arma-3-issues.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/arma-3-issues.md b/documentation/development/arma-3-issues.md index 8b7e0b3e2d..3b4a6f036b 100644 --- a/documentation/development/arma-3-issues.md +++ b/documentation/development/arma-3-issues.md @@ -19,6 +19,7 @@ Keeping track of Arma 3 issues that need to be fixed. If you want to support us * [commy2: 0022671: setVariable is not always JIP persistent](http://feedback.arma3.com/view.php?id=22671) * [CorruptedHeart: 0022318: Can no longer use "MenuBack" shortcut in AddAction](http://feedback.arma3.com/view.php?id=22318) * [James2464: 0023725: All Environment Rocks Should Have PhysX LODs](http://feedback.arma3.com/view.php?id=23725) +* [Jaynus: 0023679: Display event handler return values for mouse buttons should be respected](http://feedback.arma3.com/view.php?id=23679) **Resolved:** From 807ebd8bfe06beb66acd13d71306a4a5f1c2d50e Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 17:14:30 -0500 Subject: [PATCH 103/145] Resave reticle_titan in objectBuilder --- addons/javelin/data/reticle_titan.p3d | Bin 1416 -> 1440 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/addons/javelin/data/reticle_titan.p3d b/addons/javelin/data/reticle_titan.p3d index afc0f6c9b492d2e698d244b1e30899ee13464e6d..682296f0c82019ff462841e6b3d8299f747d35ab 100644 GIT binary patch literal 1440 zcmc&zJx>Bb5Z&_={Q3oSmmowWr!QCKgo2hFTjFah|YbIU9+E5B6r>&h5;*o4MFlJgg{;(VuMx!Z8!KC%d@SC9zrPh5;O-tr{CU4Q5SO_ly-Y=y4wyXSA7$_<$#{;=8{h|Bz} z?pT{YZTI6z_s*@%5kJp74#Z^+%|NG9{nr0ipRrm$&#=C%K|YK9Q4%%=afCLjg_y4r zL=Vs(aOY<=G)evltrLAY2u|(~@PJ-1dEPoMrVey&7{;wprYJp@02EFO(zC-?wP&$cK?Qto0(cLzg7ob0 zRqa{qRqSsZ{gpd{!oyYF-H1jNHId_md?b@Kiz>_Y)MI)9Of7uO8hkPBV%|_6J%V=Z z!D0^Bb5Z&_=)Sp0ii9$qjN@Iu-jUtT%4N5F7A^4PJf1_iG>Yl zVPj%qO)RX8jkPu=#(Bcvu{2UScXKmuXLsH(yGv{{zOHFP&?~lr>oE^mfGIN2F<_Dx z?@GgS{v7sx&fNlkyw{q*(;bZX(_X75?!>P2Y~%IfIec~3UVr^~&~#$N@0VIVaVI`) zxRz&5-n#MR^!AMtBYu{7=!rWqY8K)++_wMk4^s&v9eqPx{(1<#h6204j>6;QLl4b` z5HPuYB7SM1b5!LA2WmJC#+6atKD#!(uBfot8hnXvbDaft{C gUmw0Ud|jLthnwfMSN-2t(<7x!JiAdS+IqK&Z`z*E!vFvP From 9e6d2638066e667acb41a3cf7ba9d77f259b3408 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 12 Apr 2015 15:40:57 -0700 Subject: [PATCH 104/145] Allowing automatic resume on error when one module fails to build. --- tools/make.py | 1 - tools/make64.py | 1 - 2 files changed, 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index cdd2de22ed..65f447bff9 100644 --- a/tools/make.py +++ b/tools/make.py @@ -675,7 +675,6 @@ See the make.cfg file for additional build options. if not build_successful: print_error("pboProject return code == " + str(ret)) print_error("Module not successfully built/signed.") - input("Press Enter to continue...") print ("Resuming build...") continue diff --git a/tools/make64.py b/tools/make64.py index 61dee96310..0382bb9179 100644 --- a/tools/make64.py +++ b/tools/make64.py @@ -675,7 +675,6 @@ See the make.cfg file for additional build options. if not build_successful: print_error("pboProject return code == " + str(ret)) print_error("Module not successfully built/signed.") - input("Press Enter to continue...") print ("Resuming build...") continue From 638868b3da3bf1285b3e5f39f353b8f67bb05e7f Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 00:41:50 +0200 Subject: [PATCH 105/145] Update stringtable.xml Added: French translation (100%). --- addons/laser_selfdesignate/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 70f8912cfe..8fb80b1b2a 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -4,9 +4,11 @@ Laser<br/>Designator On + Désignateur<br/>Laser Allumé Laser<br/>Designator Off + Désignateur<br/>Laser Éteint - \ No newline at end of file + From 2ec9b9408321a9c786b0449edcbcd9b4bc7efef9 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 01:18:04 +0200 Subject: [PATCH 106/145] Update stringtable.xml Fixed: Wrong translation (thx Dirtyhank) --- addons/switchunits/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index acf6e51805..185ab1dff4 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -3,7 +3,7 @@ Switched unit - Unité à transférée + Unité à transférer Einheit gewechselt Юнит переключен Prohozená jednotka From 9bb865a73fe54e5250e7c466c21ac877341b0c94 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 01:18:24 +0200 Subject: [PATCH 107/145] Update stringtable.xml --- addons/switchunits/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 185ab1dff4..77f730a637 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -12,7 +12,7 @@ This unit is too close to the enemy. - Cette unité est trop prêt d'un ennemi. + Cette unité est trop près d'un ennemi. Diese Einheit ist zu nah am Feind. Юнит слишком близок к противнику Tato jednotka je moc blízko k nepříteli. From 4bd489cd966b5711d084aa29c3b4b76e8f9d0dbf Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 16:18:39 -0700 Subject: [PATCH 108/145] Fixed: Javelin CLU UI should have been a PFH not a draw. Migrated. Closes #531 --- addons/javelin/RscInGameUI.hpp | 9 +---- addons/javelin/functions/fnc_onOpticDraw.sqf | 38 ++++++++++++++------ addons/javelin/functions/fnc_onOpticLoad.sqf | 8 ++++- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/addons/javelin/RscInGameUI.hpp b/addons/javelin/RscInGameUI.hpp index e208e18834..8c73f3d8d1 100644 --- a/addons/javelin/RscInGameUI.hpp +++ b/addons/javelin/RscInGameUI.hpp @@ -14,7 +14,7 @@ class RscInGameUI { idd = 300; controls[] = { "ACE_javelin_elements_group", "CA_Distance", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"}; onLoad = QUOTE(_this call FUNC(onOpticLoad)); - onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];"; + onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];"; class CA_Distance: RscOpticsValue { idc = 151; @@ -45,13 +45,6 @@ class RscInGameUI { height = 0.001; }; class Controls { - class JavelinLocking : RscMapControl { - onDraw = QUOTE(_this call FUNC(onOpticDraw)); - idc = -1; - w = 0; - h = 0; - }; - class ACE_javelin_Day_mode_off: RscPicture { idc = 1001; x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX"; diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index a319c61de5..643c12e4c3 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -1,6 +1,6 @@ -//#define DEBUG_MODE_FULL +#define DEBUG_MODE_FULL #include "script_component.hpp" -//TRACE_1("enter", _this); +TRACE_1("enter", _this); #define __TRACKINTERVAL 0 // how frequent the check should be. #define __LOCKONTIME 3.0 // Lock on won't occur sooner @@ -10,7 +10,19 @@ #define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5 #define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5 -private["_args", "_lastTick", "_runTime", "_soundTime", "_lockTime", "_newTarget", "_currentTarget", "_range", "_pos", "_targetArray"]; +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), [] ]; @@ -21,6 +33,8 @@ if( (count _args) > 0) then { }; }; +TRACE_1("Running", "Running"); + // Pull the arguments _currentTarget = _args select 1; _runTime = _args select 2; @@ -37,9 +51,6 @@ if ((velocity ACE_player) distance [0,0,0] > 0.5 && {cameraView == "GUNNER"} && // Refresh the firemode [] call FUNC(showFireMode); - -// Only start locking on holding tab -if(!GVAR(isLockKeyDown)) exitWith { false }; _range = parseNumber (ctrlText __JavelinIGUIRangefinder); if (_range > 50 && {_range < 2500}) then { @@ -73,8 +84,10 @@ if (isNull _newTarget) then { __JavelinIGUISeek ctrlSetTextColor __ColorGray; __JavelinIGUINFOV ctrlSetTextColor __ColorGreen; + __JavelinIGUITargeting ctrlShow false; __JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingLines ctrlShow false; + __JavelinIGUITargetingConstraints ctrlShow false; ACE_player setVariable ["ace_missileguidance_target",nil, false]; @@ -82,8 +95,9 @@ if (isNull _newTarget) then { //if (ACE_player ammo "Javelin" > 0 || {ACE_player ammo "ACE_Javelin_Direct" > 0}) then {ACE_player setWeaponReloadingTime //[player, "Javelin", 0.2];}; } else { if (_newTarget distance ACE_player < 2500 - // && {(call CBA_fnc_getFoV) select 1 > 7} - // && { (currentVisionMode ACE_player == 2)} + && {(call CBA_fnc_getFoV) select 1 > 9} + && { (currentVisionMode ACE_player == 2)} + && GVAR(isLockKeyDown) ) then { // Lock on after 3 seconds if(_currentTarget != _newTarget) then { @@ -98,8 +112,9 @@ if (isNull _newTarget) then { __JavelinIGUISeek ctrlSetTextColor __ColorGreen; __JavelinIGUINFOV ctrlSetTextColor __ColorNull; + __JavelinIGUITargeting ctrlShow true; - __JavelinIGUITargetingConstrains ctrlShow true; + __JavelinIGUITargetingConstrains ctrlShow false; __JavelinIGUITargetingGate ctrlShow true; __JavelinIGUITargetingLines ctrlShow true; @@ -187,10 +202,11 @@ if (isNull _newTarget) then { } else { // Something is wrong with our seek _currentTarget = objNull; - + ACE_player setVariable["ace_missileguidance_target", nil, false]; + __JavelinIGUISeek ctrlSetTextColor __ColorGray; __JavelinIGUINFOV ctrlSetTextColor __ColorGray; - __JavelinIGUITargetingConstrains ctrlShow false; + __JavelinIGUITargeting ctrlShow false; __JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingLines ctrlShow false; diff --git a/addons/javelin/functions/fnc_onOpticLoad.sqf b/addons/javelin/functions/fnc_onOpticLoad.sqf index 49e9a25e61..a12d0ef176 100644 --- a/addons/javelin/functions/fnc_onOpticLoad.sqf +++ b/addons/javelin/functions/fnc_onOpticLoad.sqf @@ -24,4 +24,10 @@ uiNameSpace setVariable [QGVAR(arguments), 0, // Lock Time 0 // Sound timer ] -]; \ No newline at end of file +]; + +_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; +if(isNil "_pfh_handle") then { + _pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler; + uiNamespace setVariable["ACE_RscOptics_javelin_PFH", _pfh_handle]; +}; \ No newline at end of file From 9a25fb4f2f55ce5221cb20a76a4c171db8658f90 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 16:19:18 -0700 Subject: [PATCH 109/145] Remove debug. --- addons/javelin/functions/fnc_onOpticDraw.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 643c12e4c3..2412c2d5a1 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -1,4 +1,4 @@ -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL #include "script_component.hpp" TRACE_1("enter", _this); From d50bff866b4e51c745eb1f3ddb1fc4ed2a092507 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 18:27:21 -0500 Subject: [PATCH 110/145] addToInventory use addMagazineArray -maybe fix #530 --- .../common/functions/fnc_addToInventory.sqf | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/addons/common/functions/fnc_addToInventory.sqf b/addons/common/functions/fnc_addToInventory.sqf index b28d864df8..c7fff21a30 100644 --- a/addons/common/functions/fnc_addToInventory.sqf +++ b/addons/common/functions/fnc_addToInventory.sqf @@ -4,9 +4,10 @@ * or places it in a weaponHolder if no space. * * Arguments: - * 0: Unit (OBJECT) - * 1: Classname (String) - * 2: Container (String, Optional) uniform, vest, backpack + * 0: Unit + * 1: Classname + * 2: Container (uniform, vest, backpack) + * 3: Magazine Ammo Count * * Return Value: * Array: @@ -19,6 +20,9 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_classname); +DEFAULT_PARAM(2,_container,""); +DEFAULT_PARAM(3,_ammoCount,-1); + private "_addedToPlayer"; private "_container"; private "_canAdd"; @@ -27,29 +31,19 @@ private "_type"; _canAdd = false; _addedToPlayer = true; -if((count _this) > 2) then { - _container = _this select 2; -} else { - _container = nil; -}; - _type = [_classname] call EFUNC(common,getItemType); -if(!isNil "_container") then { - switch (_container) do { - case "vest": { _canAdd = _unit canAddItemToVest _classname; }; - case "backpack": { _canAdd = _unit canAddItemToBackpack _classname; }; - case "uniform": { _canAdd = _unit canAddItemToUniform _classname; }; - }; -} else { - _container = ""; - _canAdd = _unit canAdd _classname; +switch (_container) do { + case "vest": { _canAdd = _unit canAddItemToVest _classname; }; + case "backpack": { _canAdd = _unit canAddItemToBackpack _classname; }; + case "uniform": { _canAdd = _unit canAddItemToUniform _classname; }; + default {_canAdd = _unit canAdd _classname;}; }; switch ((_type select 0)) do { case "weapon": { if (_canAdd) then { - switch (_container) do { + switch (_container) do { case "vest": { (vestContainer _unit) addWeaponCargoGlobal [_classname, 1]; }; case "backpack": { (backpackContainer _unit) addWeaponCargoGlobal [_classname, 1]; }; case "uniform": { (uniformContainer _unit) addWeaponCargoGlobal [_classname, 1]; }; @@ -64,24 +58,25 @@ switch ((_type select 0)) do { }; }; case "magazine": { + if (_ammoCount == -1) then {_ammoCount = getNumber (configFile >> "CfgMagazines" >> _classname >> "count");}; if (_canAdd) then { switch (_container) do { - case "vest": { (vestContainer _unit) addMagazineCargoGlobal [_classname, 1]; }; - case "backpack": { (backpackContainer _unit) addMagazineCargoGlobal [_classname, 1]; }; - case "uniform": { (uniformContainer _unit) addMagazineCargoGlobal [_classname, 1]; }; - default { _unit addMagazineGlobal _classname; }; + case "vest": { (vestContainer _unit) addMagazineCargoGlobal [_classname, _ammoCount]; }; + case "backpack": { (backpackContainer _unit) addMagazineCargoGlobal [_classname, _ammoCount]; }; + case "uniform": { (uniformContainer _unit) addMagazineCargoGlobal [_classname, _ammoCount]; }; + default {_unit addMagazine [_classname, _ammoCount]; }; }; } else { _addedToPlayer = false; _pos = _unit modelToWorldVisual [0,1,0.05]; _unit = createVehicle ["WeaponHolder_Single_F",_pos,[],0,"NONE"]; - _unit addMagazineCargoGlobal [_classname, 1]; + _unit addMagazineCargoGlobal [_classname, _ammoCount]; _unit setPosATL _pos; }; }; case "item": { if (_canAdd) then { - switch (_container) do { + switch (_container) do { case "vest": { _unit addItemToVest _classname; }; case "backpack": { _unit addItemToBackpack _classname; }; case "uniform": { _unit addItemToUniform _classname; }; From 74967910a30be139fbd6e3ab4fb02427699e5cb2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 18:27:55 -0500 Subject: [PATCH 111/145] opps --- addons/common/functions/fnc_addToInventory.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/common/functions/fnc_addToInventory.sqf b/addons/common/functions/fnc_addToInventory.sqf index c7fff21a30..339055487b 100644 --- a/addons/common/functions/fnc_addToInventory.sqf +++ b/addons/common/functions/fnc_addToInventory.sqf @@ -24,7 +24,6 @@ DEFAULT_PARAM(2,_container,""); DEFAULT_PARAM(3,_ammoCount,-1); private "_addedToPlayer"; -private "_container"; private "_canAdd"; private "_type"; From c2253cf199521b2a5d9ede902e696471b81ca36b Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 01:30:16 +0200 Subject: [PATCH 112/145] Update stringtable.xml --- addons/overheating/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 0afb99c447..5e83a1db31 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -4,7 +4,7 @@ Display text on jam - Afficher un text à la surchauffe + Afficher un texte à la surchauffe Display a notification whenever your weapon gets jammed From bd28f08559678a18f1047d87ec303f98fb5c53f3 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 01:30:50 +0200 Subject: [PATCH 113/145] Update stringtable.xml --- addons/movement/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index 6dc8cd5c15..822f74b611 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -37,7 +37,7 @@ Can't climb here - Je ne peut pas monter ici + je ne peux pas monter ici Kann hier nicht klettern Nie możesz wspiąć się tutaj No se puede trepar aquí From 0e925bc006d164a1eaf0141b12c184e8b09e5261 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 01:31:49 +0200 Subject: [PATCH 114/145] Update stringtable.xml --- addons/microdagr/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index e2ec9b20d9..ac2279a4f9 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -84,7 +84,7 @@ Connect To - Connexion a + Connexion à Settings From db5d54dffd309b9bf4e3f7c52a7693c26c013ec3 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 16:38:43 -0700 Subject: [PATCH 115/145] Only allow for laser designator for vanilla compensation. --- addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf b/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf index bbd36bd92d..38cd1839f9 100644 --- a/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf +++ b/addons/laser/functions/fnc_vanillaLaserSeekerHandler.sqf @@ -19,8 +19,8 @@ _owner = _this select 1; // Not in a vehicle.... // @TODO: handle lasering from turrets -if( (vehicle _owner) == _owner && alive _owner ) exitWith { - [(eyePos _owner), (eyeDirection _owner)] +if( (vehicle _emmiter) == _emmiter && alive _emmiter && (currentWeapon _emmiter) == "LaserDesignator") exitWith { + [(eyePos _emmiter), (eyeDirection _emmiter)] }; [-1,-1] \ No newline at end of file From fd4cb50d3d9d6ca82a88425261a6424f962df831 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 12 Apr 2015 16:44:39 -0700 Subject: [PATCH 116/145] Remove thermal, prep for coding. --- addons/laser/CfgWeapons.hpp | 14 +++++++------- addons/laser/RscInGameUI.hpp | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 addons/laser/RscInGameUI.hpp diff --git a/addons/laser/CfgWeapons.hpp b/addons/laser/CfgWeapons.hpp index ede7ee0a3c..70a25e6f85 100644 --- a/addons/laser/CfgWeapons.hpp +++ b/addons/laser/CfgWeapons.hpp @@ -1,8 +1,8 @@ -/* -class Default; -class Item_Base_F; -class Laserdesignator_mounted : Default {}; -class Item_Laserdesignator : Item_Base_F {}; - -*/ \ No newline at end of file +class CfgWeapons { + class Binocular; + + class Laserdesignator : Binocular { + visionMode[] = {"Normal","NVG"}; + }; +}; diff --git a/addons/laser/RscInGameUI.hpp b/addons/laser/RscInGameUI.hpp new file mode 100644 index 0000000000..457d320520 --- /dev/null +++ b/addons/laser/RscInGameUI.hpp @@ -0,0 +1 @@ +// TODO: RscOptics_LaserDesignator for laser code designation \ No newline at end of file From 77058857e67ffbaa81b7b2b111c5101604814499 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:02:19 +0200 Subject: [PATCH 117/145] Update stringtable.xml Wrong translation --- addons/medical/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 0c4ea4c5bb..0566c1eb14 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -14,7 +14,7 @@ Wtrzyknij adrenalinę Aplikovat Adrenalin Ввести андреналил - Adrénaline + Injecter de l'épinéphrine Adrenalin Injetar Epinefrina Inietta Epinefrina From 98acdc40894ff412a887b27e328bb25af4a7dd22 Mon Sep 17 00:00:00 2001 From: Nou Date: Sun, 12 Apr 2015 17:03:11 -0700 Subject: [PATCH 118/145] M22 binocular mil reticle ported from ACE2. --- addons/optics/CfgWeapons.hpp | 17 +++++++++++++++++ addons/optics/models/NWD_M22_5x.p3d | Bin 0 -> 10405 bytes addons/optics/reticles/4x_M22.paa | Bin 0 -> 31448 bytes addons/optics/reticles/M22_font.paa | Bin 0 -> 22016 bytes addons/optics/reticles/bino_dirt.paa | Bin 0 -> 91640 bytes addons/optics/reticles/bino_ring.paa | Bin 0 -> 55661 bytes 6 files changed, 17 insertions(+) create mode 100644 addons/optics/models/NWD_M22_5x.p3d create mode 100644 addons/optics/reticles/4x_M22.paa create mode 100644 addons/optics/reticles/M22_font.paa create mode 100644 addons/optics/reticles/bino_dirt.paa create mode 100644 addons/optics/reticles/bino_ring.paa diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp index 29a3ff8c98..e42ae3780f 100644 --- a/addons/optics/CfgWeapons.hpp +++ b/addons/optics/CfgWeapons.hpp @@ -2,6 +2,23 @@ class CfgWeapons { class ItemCore; class InventoryOpticsItem_Base_F; + 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 + // 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; + midRange = 1000; + midRangeProbab = 0.01; + maxRange = 5000; + maxRangeProbab = 0.01; + }; // zooming reticle scopes class optic_DMS: ItemCore { diff --git a/addons/optics/models/NWD_M22_5x.p3d b/addons/optics/models/NWD_M22_5x.p3d new file mode 100644 index 0000000000000000000000000000000000000000..b6df76e30bc1248bf28fa1e585658189f100aa8a GIT binary patch literal 10405 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 O>0bpjl$+J`(f$vV<+pJF literal 0 HcmV?d00001 diff --git a/addons/optics/reticles/M22_font.paa b/addons/optics/reticles/M22_font.paa new file mode 100644 index 0000000000000000000000000000000000000000..539907d61fedca8cb49db4bde245cbe56260e118 GIT binary patch literal 22016 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 z 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 literal 0 HcmV?d00001 diff --git a/addons/optics/reticles/bino_ring.paa b/addons/optics/reticles/bino_ring.paa new file mode 100644 index 0000000000000000000000000000000000000000..53499af7ce29e73dbc152e5db31f66023fda4818 GIT binary patch literal 55661 zcmdSBd3+P+)iyjMc>}YISrUOQ%}6##ni89A(HPPvCBaJqJTwWo37eaQ(MUkjrb*M-5Qu}pBq2*F5aO`Kcr^O1aoYEL|NQ>_ z`28#_S(>@;bDwja>s;r)m7lxu#@Zh*xbgPdJc1zd^7547=k>LVtmirWv!35rd(#cp za}qz+^CdUja7zfkC-K8ACx~;862!%W1Tl1&AZ)z^G2&x_Sd5?l5C578+ty{ogj|l` z2!i?d2fh^kfBS2pNSOakBrAB4Xkh{p5!!&?7BZuxf4^4qf2Q_??j#tdR4c17O6}Q9 zS5x1!UWqV`|0Z6W!U;qmPOM@@Vu&avn;QCNa}v?C$rmTCjtY|NEAIFD1%eE1*xKe( zh`hn%bsL&i)|g~=a8xn5u;MxE?rp40R4nZBNrW-DnDFbQ@!hRN#dEkaCy@5ZpBJxxtRn8ei!YIewrmu%lAXKq-5F$@ljDO|V8FB0Fh z7UFgCyKjg+tj=6H&l^ns*H;!EdbY2C@WzRAyh&U>7rxf75#;5w#0y-UI6KN)^&g|< ztdWZIbeEasH6nGPi_HnirUrkCxa$7Z(u##X(RDT2vvQMPt!}Ac1tB~@R;*ujhL>FB z=UBsOd!cE?8JRPkO<6wW?DPpl^vs_1qwK6+wsjq5bMbV1#E>^ZTsTdH3w=5>@I`p6 zUnRczJd(f4XWGtxI;xP%x=!-C^W2Hn0ZjC4AFmQ;j`0%luaEI?x)%@s{3sw2N8@B0 z7GW=Lk$2>)g@?NO3cfe?!K^DeH|xsA_V;xK_^fLKF4!1Mh)sP{{V7*+g#8#k;*rFy z=XgWl(ynAh)96C4KkeEB^C>RdK+B%>O+LY8yYe+rvCgl%F8wQVdWApk`f7AxlV1?S z=SkxJ6=!e}@>Ak9Ov?H7iSQM_z=Y2zq)&7n!GOO!6n6Sm=JS7qCt7y?xZ(ZG+zuTbukj*LUYzBA3qj6L%)Ju7~w6e5G9RC0yTro*X@XhfgXy*B`g9^d`u& zeM$J?KR@Jk^3(_6e7{6|`tGPwIMs=_!-WWs$T1BV} z7S8%j;^0=d;>Hd14qkO?&%^Wn{6CoB?x%T)dG$$N3jOJEUMIHy2J?OSQC^i_YUWLH zTas7l|4j)0@yN#{y0MRy=uB65ke4=AH1T@4q5&>mZi-vZv5D|(_`g87g)qsiTd~rY z7S9myOc(j>mjuBkA_Jc$If*%UJaT@OFGrvLh){Cggzd|omhh)O)%nT0;Zv|k-$BA7 zFh1R-B{?;EXb;O$FF&z(Y9?hv1h$s zV%mNl&cQ&>{)E?@c^e)gsy1|WctzrOW9`@NO8BJ0$C}32yK=x1+i#kZA0C7CY{^x` ziavZMzLJLzul(i0T}>PEyt$%BR<>{|@v{fq5C5jiXV`2H{A}U;4G6%Wjw!rugI@@d zKYgGj#Qw)TbF~OVi}d51K)WRg^Oxz1En7KJ8gOeOy!XnvIN5~txpX>w(w}e*d``gU z&-D|PhKrSm&wDUG)phc3ydsmmIiSMTHvaG`mHkL zQ%kofSjJY&RgMkJ+;!Qfl;u6yl)Ua}?imY`npY){UiBMgwqLGH-rna|2=c$~PhQ97 zl0UhxWt82ok>rE-60fl)*>n#~yy|X%_=*-zB3CX~ihbq_4=f*5%$lD2m+?lUO0MsM zt?z2#Oya(~c)?@6z*(R_?>`0@k@~of%PBzjfcR!F0%ZtMrbNPnB=NXsAt%%8S2XYv zy`sS<(%-nn$a0@S=byW>uwldT3eq4wa%A1|240Z-I(_Dt+mQST;;X~Sa50?Y)VqAn z*|(qIWcT4e6P!-`y%Y03_#&M4&HusBcR!8`zobS+HzAZ;f2!moc-B8Srf?@v$wfZC zD)|>ycf}uwUNCdMxa+=1ai>oqZ4cesGIN99q?_(m#}3Jy;lv#uSVmyY@4t)JU%0Ok zm%k^*%kBs#W3z#iuGu`lQ(FEWK|+|C$A=A^>`X5 z*CU`p8(^lE>xMz&6NA=<=4eud*xDROUFq`0rK=IL!7s$^-?jKQtcrN`Ylbel&F9OT z{JN5?2%q+4-#8Z^h?0jpL=jgycs_Tx$ytMg_#eij%xE;SI zZodWjv4iYttC;<7hk7GUH?#PuRO!$LR@oQSBr@-D&mzArwG3P4&5O~KTh9B9O$Y_a zdGTM$C7(juzx^V)ZQTxF-`V4yxD;U(2`>A|yBOiIG}2l3ZYBwy@(Za0k7hIf1gwJyd0sCo< z;nP6G+iwY%_~qzrH@5)ff4m5mTXGW~Zv7#jBYyM)c;52G3)?QpmfdvvmO91m(``4` z@d{lj5;yXud(n;fUHZ4tHpb}?RY=U?#b_fZL~XrYohuLfl|fH7(&yFodD2o-`J#X( z`Bc~CuOnAh_|o)+e-fkZt9%mi^+_e`6Jq39P ztCf=PzLeYs#7aF6w|@=EgV?f~HzMT5pC)Iss&nni$e`&HBDU4{Q!9u3@ko<$#cw3t zrZ{^8;2GGV(9tV$NovxHo>GL1>5ANrYr%8$#GSYDCUM8&SaDO<%g0?=m<{G! z@!F6Cj3l~JmJz1Yf%;(klb@O3f zow%_!J|c@@TPcIQA;cT$6uAlLAD)DmzFv;mw`OHdCjKw~+nS)Sf?8=(xfERyVYB~UU_|9Kdmm~)+cFBv9%0!j9!lU;0r{Kw7~ zT>0P&$R_lkpTQuvCBj2~DfEX2c_fjiR&~#XliHR0sK`*x!m9`G>8@i9+O~3e_v~GM zNxC4xTte8wYb1CLuadXa;kQLMz;HKR zkEHp->j2&53+F4RfQ@yvu+oj8ww#w!%KWD5I*B)(3q%ZUzR*TmAsQaxmsZr)ATUDJ zZ3tSK02}k08F?PACC{_cfHd#6<$D41a}l_jg?uf0U|(@Am7fU>quredUZyNT?^*@x zwQgfo*LUAU2UbJ^Lez&W_swTS9;;iH(_LR4!hrhT;#CG540-CWJCa**u{SsJN`mZs z5>Hg-#b3cIezyudRhyg_zc2I7F`&8ehW+l|*7r1L}cta zR**QgEPPvQmNi69bpm))=WRFhnk{I$7B9q`Z@w|8xnRE;z&*tUN4!Bs-qT&zS@u{U zz+cI<_ z-VE4(?u_uDU&_s$j_b{t&KpD&^^9Ndm@|#nnc35D11nPq1V!NAokUVH;<6Hr46T@_ z(gR7X_~~TSenK+IfzKicRPfj{A6p?<_IWpN%E#UU$bax>tkhrs2upTt#2x>*7Q_3) z&%j)taHpiJeoeAJau3zeciE>qSFQk!y#KDz#c(YbU|o{oRfcPtM0f4<8xpzn*6tfv ziG)i@%#UxfEKz&w4@T9n#;D6G^?_8gjXeJ23tpa zO>#yMXr6G*2($n&$>{;&I@WYe<4X=SH=P0H;^K5w*bWPKRB=c~mO+E4LD&=l%Cx2u zuaUzp=v9ta#oLe$xYpPYNuuN<@g^lry{NB6S0?YR{Vtg#7$2b2k7xfVg) z5+3Aq7Z6M!kfy==mfTb+MJ&_OwwrGR&*zOW7{m}Yepw-*LkyBkZRsw`zUI!gqwR0{gyZ(XWZrtu zBA5bORJsCiNnI-T6BVy|!&N zM$*#6E2RDYX8&Ioj`K-*tM0~YNEs4wHyl+$t^hW~?f^W>($XaaXXs@8;_fakE-gYr zxb+9!oFY}K5kQ?J|6o2muw0TlbF5`?dVWp#JZeC9R_p?KlIFlr;VYa-RD0rL6YM{C zdi)Z+(gjMQJ7-n$IXEAj35Esj)9ETMI@ELy)hA#dR^<(6e!$mq-LAcD6)3k^$+Dyj z>m{kY10DVfWi&#~S3WM;0gm7;=LIL}^}vaBVyXv@Ys>5>r@Af3a7}SzQeckCC*%~S z1@CZIFuX>#kzH5=@Y?^EVqZu{vzfI)QC&sZLcesILj|k+f^0J`w@h8f8yd>ak_C@U zUBBFCs^5N&RIW$Q^ugw*K0qXYe1K0&Jzd?LNZ<1UGQpl z`~6A(Uq{$rb_*f^q==6QFGWFP6k?hN7$t7MIiN*?Ii;?Z<=vQ6%Gv4O)pp3!)Q{Bm}Kx2l$yZ6VxLjC6| zr{m|&VL4s6!U5A`#hBX}%dfb<2Dik*Gfpr;rVI#%2R%yTfuKv_b?xMyHcW9t7knZF z=djTDG{HD?GC^1Q=M17;nmV_zk>a~KH)~mA`xHo0I*c1|E-99 zg+D7nNgxky9c}MKDDM6Pym-s6VS)7z;^Bcc%xINf9uB0WdOQW=G5e9lRRY{kcUid` zDG7i0;dQ+E;xNo!FDd!(@vR8@&^(VQpJPROYfzwJsd>}8m3(0G>?+(|B4!5h!Rb66 zs<_CxPJdSP^8y32A~&buq85+y#FuvZ4b=PCkP87Gmh$-M5g9th_o)!sCWE2^_>65d0WIZ*UVOsNCQ z34(epFWE}31s$1uEy9r*`#nv4Tabf^RKcn~`0s>FsZUTVwWzK8rJXxYQTF6TGH+eO z`=~3v`4oDHB%eOYo00y%L6Tdd ztOA2s^tA~|fmg~R0~MU)awNe?IK>GNuS}I)1F(_Yldi#pCQVdEU zeaHN!c7Mzr_iP7=8EwYZ}eALIWSF*qXr3{6Y+Icm5=wKJm}P-MlEj9VJ)B ze3H5s1Ek5fwzRy&>crj_WM`e;yc*?m%Y%{JC7)o+TYXRcqFn9*WjnA7E2Y|2L?Bj` zkiU3|)!h0}Oa?oN$*?7Ov(m?D<=PM@L^&fu|@<4zu+Oiml%G}As~0@+2tYx)^0ix)w!|nK(Tmz^sV^5j`*AmC zmYw=Lm~wBbTw$;*@9w~$_o29_U$Jm^!-JrxiZk!gd#IYLmoE6?>M{#iNU#dix$Mrd zOx|sr=^8U}Bvf zHgS~!6Zuu*nsIGp4U}VhvSM%3GZmud0-SIP4dSN}9Rm-**s^O?-?Oadj1SFbMdzxZ zUiQNcAa$dZ9CV;DqYxLZP)vz2#jW|^)1!-#;w%pbCJ*;%=E=m!-Y(X(jT(sz@o)Ly z?p)MXQAZUd%N(}MGv#`!exFwv8`M(dcLT}1@Ss=e}Vh&`W>%Fo{OX4RozeB4_-UoOub*9mq=S;f7&&{^kl(Ixhn$)-UJd^iEKJxMkzqX>hDr zK|URw&VymlmHu$fVIy2tuImCfsDfJ5vJEI>C~)EmD<^oIu&qurrSWV7h$1VvltCoA z>#KxFASX^FUV}f|ra{bSmDTYpFAG^$MF8-lg~^h!M3R@qmWsWj#s*ZOZz>me^HL&O2D&8pLQdo=gut4#M(qtjX2bK@r9Z);l$PwTc)gn>E z3$|g@nfyK7Sef})HW1JoAu6Wnwzl4Yph9FE=EwZsVuM$M$)p0=6QWU2&32v|5FI zTJr5$#ik?+D%@qQq%ZZ+WF(5pR0OV_Tv4S+c%}{dbk{ZGBKZ|40!yHCMJ7tljcm(KofCJB;1yv;*7-wTabl&WPRo{c zvAS(U5i(Srd#~X3`f3K)tG-Ub|m4p`f607Q#u%$!O5<+efAtTv9@5}^L8C6CBtrIuMC|MQ= zFtAniX$iNk&9x+UIJP3g@1^GHyvK~32a%vz36vNCC(-^2l)D}=+QrIIy1R>2V;-kR zR3n`6F{^HJO%56gAKz3O8#=V-6mPr%&EK7h_;85|^ZCOSP~MX@0v(hhC1dXV;8wVb zh00Qe7M^E_sVlQ#{f1y%?1CYA!4-516+t@?4graFp_AZ@Kld{T z?Dj|R>8`$f(WgwZH7%=u?ud^yKyRtRM<@$QIo(~!lt7^kJv|NirfObRlHsrhtI$6=V5=z!F zOZ{X@QIEPNVR~f_WsntG1Ew+&-si#sxV24W#mf)$ajD4OQN^70IwydlMy4SPtIv-a z6~C|x)Cc;3WE+WI_)56XF)+FzBw`*l{4 z-6`#LR+8BYw-95MXnbgk9H)mJUXvq3bpTE1^mV)t<#Uo_0#XDGSm%vMc~*IV7v5ww zu_C4PfoHZ};u6x{rat7>&H#RpXOjUbOf>q1no2{g6vBb5tDwyufTKkU`{34$q`3ld zfvJfDyA`JGTpgcvGEA}PwDamMd3KQdc5>l{>i=WVAAWDpYt;5ty?&+LomL+o7hu!s z)OFAM)AZM1d+F$fFS->HeEH1BadHvVsj`Ajp!J7uz=_}9#v7&OMihOJj@8ipetoZE zm8m~p4g>*8>oj~;OOi{M06ff?CFsT~L>V+^{zu6I%HAyB7z&~QH6$`L&rt(86g&jd z;xt%hW&rE==`^+^qanw5QomlrCWf|kZf6tGq;DrU^%T0BlVwoq8bbPEy%Jhvnn-t{jH9cy zup=+CWm>kOOR|(K?4+m^#ZZmz+E5YHoyeCcqnSyP%Wmg&%5H-_XGp}t4NR#-v{W$F z!`8fzvbq(SW5IZP5f^X22(PajZ8`Hn-BTK_6Cm@_31?9HlQuEI90a5w-IHv zmGL|&&!PZq>lbApgaEui`-C{%%c<&^QRB$Bcd_EJwY>5%{GfOQP-bKiQbLus3DjdPtI=(Pbxg59PZOoO zxv5{}Y3JdPb#pawCem582A!X<)iI+r*L1b4&T7#z3-Qo`3Lb4X4@rV8Fo|K?p3>0R z4Qezi=<#zOcy-t1e_>jmK>>1o*@IM+`3P?N?w|15b9*tC$F~8LS6SZqs}*idMNV3M zPb4z5g;P!-I?09~ce89xx_uF9IOdkRa_ug!Y6l^ZK?qP5)Yev`_pT5@RfS6mATwx8 zOC_07avRXoFUaMJ>Jw#;+f-MbWMy?~X9FI)x9#=oGCetviaNr%O5r%b6dx`(`#g(~ z!PatCJ7GODHco^1(g87=K@Y}ygZ^>fE&5dj$~%qKXlSREwlm{E!(ixGxPAbVE? zg$BPdx{VAmm2gVU#k9gJkz2+aG()H8Z$a?LOQ$oBu}V1a?5D}1p3Muq`lK(qQS|9Y zfDGH;!s~6qC}wZ*Yc!?x-Zm>KVzG0&o>e{ELp?^3Xg*#kFRL z@=8!1j}fIv+kAR5U=(a+$gf2MvU=_Kq$7_wSrV!y^Im=cJ>s_3LBF9{v73#rgm!;8 z5RdL+CIj1o!*=20#~?XrWI-OWmMPJsd9ceEMVe{42*%P(K^~Kg1zQ>_)lw!myvgyP zB9|ncvIgad{^VD)t{mcy#^+6W`E@;8C8#Zz~_?)5L$>wGsVuIktRhH-}Di z_{Yh|Sj`4RD*}PObs?)Nx~ZBkER;lkDE6LsVYv zFHk*dfU2r&JQJ{flqfSAwlMeQWh$j8Q&*Y#IDq(K;a-I+u>%-$Bg zu;Z}9zJG7QDB7pl$i)j`4Wl;irt2ZrT}0_j97A)|mtYdNV>5)jxQ@@&{$K%;X}j$P*->-ZFUbIdgj_Q-!>KaTi~b2TMwPCFMtdS? zM!g;gK@~0!3Jo&ZUYSZkmu{Qe8;c;Wj6`9qKukGXn1MePP9J#&$cYcI5 z>Efcc+-yIjpS@%2V;%zAKSYeW&To3bLp+TF5i4R ziYnY+ z)8mh~JHlC3Xs=4Bpd#}m84{bE8dHpEs5A6v!>)OP8dQ$Q$z4IE4Y_u5b5Lz#LQJs| zl?=&B6Coy;lHkCd@MnT(HffWXmZH}}oEOQWzl{s{#r{m>Qpzh6m;Z%TP(C{ky~&em z@9|5e+95vW`ePsk9~c{#qu^1h&{)swDyFE~Zu&9OW8Gq~7~8`6nU{L}3F$ha+iIEt z$@Gv_D#*6kl~m19Hl=dBvLL9d{&HAgDiay8!l%Tj!q94xo=o|vqGTEBlSvcZYIgG? zzY+DMQj7dr3j6;|87qt(WTFg?o7{>@<;}e-d07rL>_WW)EpKFzBR{!(Rw_Ehr_inW zoO+z8t2Q)hMDt|W0gW$)30hPC`|#>E8+14evfMg;|Ik{hq&9Mq7pkek1I}+gLGBAm z{Rckc6>rNaHfiuj#&$mlxUXb zz^m={>KPPwbVnfG4vx^y$^C(;z*!=k<<#sH8kp@agGjj9H7QI|w&nw+*Sd9e^P+$e z^_lcF-ZRkP#9;O5k545>V>HURQ|#R+PaAiH0Sg6;+o{DB5pi&FO5Qd?D4 zYZlQNXGNl!sm)5sIl?ilbO~Ygy<%%L8&$Bs)kfv-Z|(Id{dq%|T8iGEECYSX%jYvA z*>v`sPf>I@zdWRTzEx15m&HKG8=jP?e14t)rqB5iRbo!K|cy< zQe1`ii1vr?s(;lqe5mH{x)bD2rGeQX;HmZuIOd6LHJ_rFuvln;RIH6xGXuP7AD%Tg z1rmeTquQ5v=V~<4`3b196o>aro(PLyJH8ct_!FL#x`5ZzppoJXqg7-%$Hv1&k91eTd0 z$v|e}n06dfJ!H@UDS?v_Xb9%oyL~-=qdo7++3qKHE>C;4$>jM@EVpg=`~yq4mWU(! zkYEpN13Gj*jj2BS2xPC}EUZNB_eC00SFtxATQrflZMWZ&De7U<^uo*&*tz$E1)!mX zC!6g-R04IX;<|%RwPW{(jhP16k}Lq$WlRm2t7dQA4!?!02E9a$WZ&ddC*XI@0<>*4 zR#@Q3Z@#V|A49HGPB3}dsErj*G|OO7n9zIhU4rl!ASek;JpoC|;m)-`_Woon;CJT{ zm+64fjzNEgxGZ7&m9hS;em$?mO4f)XYpOE#>dmi3%0(|LXxUQHZPfNlrw-y$6{dQy8aPem zWty2KIvqel$qaJBz3thCU30V(kt}pYHJD2=q2}r=9B`ZwWt>_H(@+!@k3Yr%79rtN zVpyr~29UEHl|G}L{IVPNO~pO}K$9olrna*>{obqa^Dfi?v5w~9(+!V5fP*Rs%%3)H zOiRjVUa1Uw9#wkjkIEIviz7r!ZlVI0&-i5L53fsd=3Q1F+S)#4(ls-&J5ZOwlT?%d zmP?Kl`m2zPO|_+nai{1lR92 z*=Pl(5+0rwGQ|wV^eGcPVgeF$q6k$;`^B?vJ-itPn>3lc+T+*zPrU0<5lJ+X>`efR`DvAf{3RzlCvuzp=ches9BuqK>So0S&!sd;)Tz4t$3ePbQXkQ z(!^vD<3coQ(W(@k5#ZPb1e)2bl7-Y3!VeY?EOi7mGPzpTRYX>4`~<>_(6NdHF%H*_ z$FRpI#wW~6RxEA0a$XtmnM=R^1X3>f*$0^-HXHpAOS^xo6=N!~eH{Yf_rHLj#g}`O zn9r!OEe}&qVh`Hzo?hT&dAy?rx!$9ASfwBK0|io1(Odk`W{E^LFk5XtHDZ2*>V)ze z&vv3^h^%Owsu26%2c_op#5LnRlD-?e%IKcW)l#hY2|&I5Ml<}QgpGTGZ66UwKiRQ#^@$Qj5OMNQ+&kw_&A`J~62U5z& zzizi&(~00R%QoSVh5YC}yc%l?dxQiM^Yd^4k1fLEm(JJ!iIqq)7ASxk?F0ql?pR z$kk~3L4mVTMQbz$;pM>wAbQ;V$kA1(i^QTH;96_XW(WwSd^S4<$PPuIoq@C27^hBK z>6aj)m;tfhpwZOOsX}{nN6!|&)=!>yY`+B0g6U3u5V^A1r#Z>PZ@}7SS$Z?Cm%a2P zw6G07ckn{OzKmLT>C6JEfRKEuymZNMWTB6SJeI~j6twBwH^^w9#X|GKBqy2O5DN&~ ztRQ$8m7ftg?D19lZByOdBairn*revtS5V~>*2blFFi9m*LL4Up$F|}Iwb}xok)?_b zI_vk%!u>Q>yP-nrKRlax#hMb%eJbsEoM6zAKQ;%ldNY^R_i~0F`KsQRpuhbh!^dMs z(Bqb3aG)G;`Y+ofUu=QGK<;=3nFLJgxg;RKRMDDMBIE-N^(ofW&>d81sHoN+WJJ%6 zAus|6fBQTo8)I|}{ z7Nfl+6d|AJY}kz+>2p+JQiQF{dpvsP;- zSmDSuE(Z5>*)jz?>UUG*8rQ|}6=<_Ke-}QDOxB0p7OoQ(*(cxK-8~X62XE5_c$*$u zi_SM;`)REHRS66$N;ckM#d4IqV{zsQswjj#z}Wc;-$Lx`ZV2x>Y4!1G1c{=To9&xr zznpM%4hC}VM_$>@3#MO?v7?Og^J+h3neUo$ttf&rtw<9&ni`$4<_G^BH4>9lctfT} zW}K1$ilSQ%xZj%6E)(t;6gpU8uFbeY757j!TiJKt;1HG?8~6e7VJ=$XLb=52ITB)iT8Y@}+L`gvA@@r>G}cvk@IHv)0<8XQdyNM)4|H`^ScP zuH-@cfM(?cwS55TXbKYI0LrH;XGm9H?)i(kPhd(lzC zKAg9#eHU$ScPgjB_ICXbFF7}rv-DF`!K1E+8|!V?o;gg} zLfA@R;uG~ha%&xaJ^rJGy!pZp7K|!na||FkpvI^tc_mh^)S~gZ8hTOyxlnUNpyOFHh<96iIwur2)c-xFg@T0yI@2#${SrLvGI! zHpCBuf(&YeC}JX1Hf!MpAz3c?sTEEKQ>!v-0Wr~l*PuOe$4*D3U+n1S()5={0A7hB z8O&_|OW;5+LrRW58|QWBBg-T9dY?+(yVR|lJC^w3u_Zw4B{z9A%PSY5-6F&7gk}iS zF+`k4HG4Muq=WwQawXwS6H{o16~S&fQM_{*CnO*fPMX-7<;27>r0heRSt-#ARC*i8 z+-_Az(^C2_KX_#qvI{jL(>lChM$vR|1O<7AAeIUJ-_PdSHPY2d_SxeC(+zS$CWSo^ zm(L)E&Ya*At`mR5bm(_>!#w1k4r(2%OV9lpN%65&4o(T#nxc!xRs)C0$nD5lx&?fu zZ1s%Ex>~G*#8?#02H?}(a6JtoMr<>ih*6ybSUU2RBhT*+#ACZTHFk6d+!c*EogSZ2 z1_5&o9Ije2W-%v83GmbcqK(hCW9wi$I>)H^`$LsVKP!Z&(IF_-I!z2O(00q~9?gOD zg@Q&upO%j-dmqI#w23hJ?dOPbUH$S1IGOJ3(Ls>)ZP?*&du6?&6Wd0ezxyS@>8{m{ z?v%bAHn?jkDhiXdI*l}d0mqQA!=n~i)x<{ga4|d+FsH78Hb1m^hTqUVDIG|Xi6ges zY&^yVYSgv88jI|z5XO+fe+TSAR{ ze=9Mnn8GT}#{7oK+l-XF%c5FlfA15}BeLX??7Il1nsC;HTR*o{5)#ZufculWT&H8PmHPVeaoNi=sHo}|AU*ihEtEO>OBs+t$ zC0*d3219z?j!w!RQp?rY(iD>UGAsvcv`>%6_To2k`|Jk}!O@Nd6m#(`JWvxuE~=1_ z;Ba-#RYrTYmqup zLDHqvXjYLcvU*?+TuY600y$)efkMYjCFW1{qc8gQ^tf5U#bY6B>=-vg2?=Jb*>1DS z8=@1-Ks;lhTrj80=_AWJy~3mlAPw^2H=l#PNHk0i4xN(!2;08+BxvQ6zrcup-iW8M z`by1eJXvR{WLR4wuq9ZbCxoJ`W?B=dV!;8d%C>{C2%I{+nY^DGkwgy`^)pV8qRnaO zoJx-_cI40B0*wb8Hy%TyH)hq#F>G-G%qk|ZXqu3i1`_O7V$5jF0Av5wBF6U^rcayX zPRSs^=}Q2l{Q@?pQsBjh0fv+Cmu%n!434 z5TUijHlQ&UqbAn62tLP<=%-?!A6Vo4FH4P*vEjlo%`icuzWD-Tirnz|VQ?z>FuFpn zH~*J6i5H)O)bjGXlV3*UieIyy2`?~~}!BhmL%^NL6GHbWYB zp!MRgg;rE$^-#dnLpCfzGb6@h!{a{-n-j|nn%8HWL#^+5rL=L`oqc|jPZRL{6_D@n zRS_rSXJ)Wj^9fcZ{^ZXzc_$7s1{qNCtnjM11#K3NtBBni{akZzBQRdO9LgC3gH)V zFtVt37yPUo#RhU8H8LcD6EQW0&LHls70?xvA=YPUvvsG}xMutsl>muQslYsw9Q?Li z5z(~1@J}S)FVVE7j~qa)j?MC~0Q~;A9&7)*Us@|5g&Oaal?2o)hQ#POU7l5mV3W4>)YKafjPT`CyLo zpCZz9`Q+a{is;i_e}5e@K>oQMj8-Bx{T7*cZBso5UFD&0edX0N3j$(#cK{KoxT?hT zum_<89LtJnyeTo$ivN@2l3BO51u&Tf3Qhr>NwQV5(&gFydKOs|W(NyLjnq>z%c^tER<$o4Gjmi8T6}kA!dyqErR@~Y6 zboKUwoMEy;sLC+08&ccUc&R_p(T!o7;sAh$pD%uT7PQv?ivDQmGw5?D{Y(PK zP=&k5n{RMzXW`g}>6egQJ#qJL%)9dlrUb{R64Exu_JQRxASD5$^$IW>{HcE5-j#E8 z8M|L45scI{0hKC&&43b(&1+z7cCn*^86|bV{&1bkNf$$)k5!fE*oz&n_Ds|*ob+jO z2}zH_Haha`af`1x`~DUg*a!vuomY9&`KRZ=?4HFTF*$x;B!4r$GQob&()!VtU-9WE z#z8*R-S7-GUQ&tcNjT+Y?WCe-SB)(k+&sf4rdeK3KmRF|PtdW?T}@iy~@7C^~HCTA_m>Y7M$96PX+DxLUGDg+LauUH#Uvy~nR? zA}{>2ejTeyUma1-fXf`+j}B038&+OGQqDxl-#rYMHze}E(V^hwll7pTXeQr+GtD{o zEp=f2B$$k8Z7I=lUIk3e(mP`4sbZU_ue|%IBTIMtm4rt;i33z-BWJ|QQ}VbuN*A7mPHa`>;PDZmpPwC{kOVFW)zXAZ;s!SRQO1D@fN-`S9 zWi@$xQU!2M9V;K*yaj3^I>3vOu895#`z2Ic2c@IS-Va*&P$tJME}li@EoiTQau!e- zMDltN$>A26a1Ud{D%^qVuuQOy@Jo1z*nj`_&Fk&HQo&tPAmF*`4*HaY&Y_5Kopv&7kWmF)_c= z!CU=$Sbj5vX5FHUY1v-^!Y-r72VrTAIuG0%qIo%+mPhw^pfyXJ(lKFwb_-~iCL3l@ zOb5WD;pMV7KQDyU7#{Yk)&i6mw1jWA7;G8UGmaH<=pqb!iMxFMArhwT!*qS+WiAa# zVvvn@Ji)7tkNqrisnLhMm$Aize(Q@XKv&Auj-{0dY1UkWjU}cV^}Lp-K#1rx4uD?k z*XQ$IToQW=K;t~l?j6WYx^og$gmG%OiS*i6 zZJ1zP-;eqQYt&FBnK9{@W8DCp1LrCFur>6Pzw>eV-EpM+yw4=|ZUVPJ1*LX0Kfo)W z*j6>XPzg`Y;fpm)tIYWRh+rei3_XU>v(9F8KuYg`^J9Y*J7w{@Be)EW=reKXpU?Vl)|z?c87##!3a^G9S-~qAY#-b> z_UbFXT%>+6{=6RzC5f=Q;ci5tWUHPzrgCtzFTHGL(1FodM`;LOc{I0l3)U^bDjin3 zDA%_7g_BqtM`0*lw%^%I*+M#YmrxUvDpf%CH-pghQ`crBxXkcie`1;3jXJy_L`zEA zt;NXVp88j=ze#`jA*wgsc_@W)ae69tXH z+$v16Qm+10)|BPBU?^}P>qI}?!>YLjVv^1E>LtiSI?h?e)16*(x!cLB3FjnFN-pz%7HL4ll$+M%T6v7puf7YdXk0 z)HNa6MvU&E?7md&o9Oxaa>`D|)^VxWKiryvm8IWpJ>ebGea3pRyUpI{KU3 z>DbjXGtd)`@zN)j_TDVacI)!ynK-D+YPl6^)kA!xsFY7*MRBahT~dW~|D zDQyHDJD}q%rzYF4od8IwM`Xso_qy_FN(T@#Af<~!LGk1+UOZ|2-;6xj48!Z35u--! zm+GucL_D047{Y2l7upgC6MJ*-(B%?a>Ed#)S$gSgqz`(_qx9M1Ko$DfUwM^z>rcp{ z+kcOuV}oJ^^y+)-pPonAh(`O}cQ&T0&ro)Ito~_$W_0nwR+1T+ilIjr1EQY{_{PjR zf=DNQ<+o;^-;Lc2>SijRl&g6y2Ihv|otnm;T{TUO9v`9sdAyl#wS_V+W~|Zy;G#-H zI%^~xP6$`l(63Lb4Dllj-9aR5)YAhSVJ#xT=OSPAE{>clhq#mtq+);MW!JWKAW@Cv zx?j{+vQqoQjl34MMenG8dKOhk#_Fr%X$O};)q%ZLGQ7xy7x6}{3RzN1%+X@w2^k5m znRHC72X9^h@mww$n+Xs3q{P@!Xj?^5acCWGrGs1>=(RN6HYzV9PmgynOj*1G`;(Lo z2ZsAmM*CjUE#BWBVwIDTk2l~<#diav?E`h+aPoVUq?D7aDu4Y6hJqgb`|(T2ttYKWjP804UktS|i5^BMzS6Co#CKZR?pwMM zFsY_3HOA5ah9zgU7MxHghY#<~40^H&a28vva{#AOCJ-?zSz=@NXrxi_dL@mcWO>OH zj|>SMXa){YBS|#c$7(UKu#Vxut;6pFsD_Md9EHu&5K5ud%Q!8;rOh+P>w$g8u)EQ9 zpc9~|_rJV>*BIOS)%9a9<2b-Cmm_aNGphGkU)dD1zL3QFvKATNrh$3T);DL+ws|u) zzB-SCXRc$@H1Ay;87il23+ToGwx%UKdaS3VQb|(e^5_+`%g&VMvVOGBgfOMOn;cclGEBYAok{U zC>0)m*n!qJiN+D^Ob>S|Kv(sSMK{FB8K@GY=u%)0057?%uQ7q1f(LF&oW#DF`B3Iz zUDQ6obmE2bY9z>U`=v*{N*)qU{i9U=0(vnAViKa=1F?E6d zlw*Dj*U1mXp#KVj?VB$tFzB@F)FI1CAG`@dq=vd)!0sGVYkv%9SJJLu|D;|S02JGs zq8shfzp(GjI$ZxfmxA8{I~ItJr|0>llY*5l@kIpG)8HGGe&id_5i28B(DfiwN!n6X z>|8v3Et)zyjic8FJ)xE^$Hh_b)ISMFnPQ!YXr_v4>3U3%(>j>x@w5&8@%=1bz$`wq zBo(?s%@yzl>A?{%B}Zpm9zD@h5BsDYPXqku{`aFp^>$w(x7UJ-7<3^i@vL?9#v~FC zSYUhK(ig^7zv9!9;Qa}O#zFNKAVJG|RIRmwS0>FjCE4W2PDpAg+5>E$HiP?UE%$w?=?DJkIhZa8V1y)Po zdX9+!gBF#OILMl@!B+D3!yQ2;da1mmOpQ9A*EKuFCr?mwtl?X3^9LgKJ%J7A9rgRD zf(40J2PXUU#Kp6V!K}(oA9H_`z_!+puo>Nzc^USVTz_mq$+Qki76au_C8BrmIAa~p zftz46K91uHcjZZQ9ZwHFU+%}Ku#y^zWg?H8+E_k&^A=0GZ=9BJ~2zs z5*{t>19MbPB0l8aW-t}MT3{WHi_gGo6Nv<;6{1MdsWJecHSQZSZNtTImEQ40CniTL zU%{Es)cW!x7~=nF?@HjCs?z9oIGJ>oZ5P3`tiv4YB3D=<6IdMsysV72I$)MYbiU@iwPvEV z%wWW7o!?_4v+tWW+V8>6g3p7Li|);a06ev_V)U5w_BWJAPSM~_$)skvD#8+Wwl>?} zpD!O4X#PVpR*jE6h+JzkyY61j=N2usH?1o@SqMwPt#H*bkPRO6G(a*S%@mA~h^2hI z!WdNt4vsUxO9NIzX%%FBxuRmIb?nSkgH%DvupiQ`jsj;C#$Q3u(*_P4a1dT)&{ zA{#h~cx0nF>5~zy5bJdWv;Hcvjn-N?Sc(=}IJ!lMRW^b+gK8ryINL2_K2^KdyzycU z!d&y8Z^uq(V0c>-XRiB|i!)m3pDY1g7_Fi^=e00bcfmgKvISU$&<#Y#V2>FgXljqe zTGpfu)fs}#x;ml8BjA*EI)8JcKG2NLr&~QLcM%Fv1gBzsp!Ibt0-mgW5FAo59QX(F zZL*X}mUPa@(&?$k8gf#+wQ`{=+8|GNM&a=Wd63WVL##0n?CYtC&NvyO1((j{Y#cq~ zJ!OP_6F#%oT((rnkvz03kO+vSG7N5o*TR4x;!D7CH(p5F`$_Zt#+AeOaKHcnO2>655{C z`DeHQe2d#HqzhNV2ey zbYy1e;7>!`c=H38eK{C0)>BIDW#!$7D2Eq(VlM5_Y5d(63NYDfUpE&Czxx_deQZ|% zLGb&x!>41We!Cu0>|gHZBG!BD@N5lS>u8dR8XN}jnHSsEkRvFg5@pLvs$n6AXyJGR zY^QCd{$LSwt|~|svMsR83If5>7Fo8}QWK@0E?L^1BbpM~2RSmtYf<@%b0i091+p{< zHMo#R`J0ii*jyfAXTW(mxmh5ON$Qk9H^FeOJIp~&4_L5ln{~sitTLK+<+Gd`R3TyM^Y2zegRrN%;2~8S z^XM1%Lo}P^?Z0(}g;;$cM61qoFXmgcWI>D2d=l=Q1`lY%-^~~U-A(H>p&*v*#7c#P z_{0IO)55(yxm$7+^n4m?UvzQAutuS5&^pI}YOFE^K@20Xo$Ow2%5tJK_)uLj?oo{JW6MNAz3eY z$lrlx^w(U63Py0&!-RpEx_*?uTR0)mot4RjQuKjtqQX;iB($Xg&Ps>DAB4LMpD4Nt zW3|8+g)JBS1T}}} zs+qWhzG)Kp2aD2xXCj=D%}DzXVcV`-$pzVw3R^DaQJRIMY?W|$4j1v{3_>93Z?Q$} zqXss3<`$~MtWB0VDcT^DS)=Aaw@Ab}(_($2ihSMjLtwk~1ISO!KEz%=506{kM<-Fc z>WvpUkLAzpOOh~`k=VqFSRj7QSbuV%?$N#|=MQFcSiVTPNG*c%1I^eOAi>Po zV?rhkA}M{{IR(UG!{;=T4nA1heFbUAg3BN0fVu}0nb{|P%>}4N zS2b)Q#i~V|g|aPt1j~7rteub(m(svaw_>k8Xf~JD0RmK646rCJW}c)Oxiws>3PS<} z3eY#B2q6zFXY_1=B|+6hk@-D3%r=<9>}II-AXa!$&Pd04MO}=reLWcMC8Vv@o_PzP z{tfmnb&zCw?)nu#eRvHQutH(^zK=ROo=kgR&kNFD9H+2V44NCBjyanBGIMM z1tE_r;DFeVcr?Y?lY_Pm%8($B3aTSQb~xu2l3FmG=or!V1TtxLR2ycG$ubYJ4aF0Q zP2jbR^+m6Bjv9qwn2ndtK`8}>pLr9rb&TxhA83QKQx0 zzC@XjGRO`-U@1}I8E&hl7?KsMc61|;Gsc>uM-t`%3BSYsjMH^Sah305;8W&{hSpe4*|3fxnKB~U}#3ZYN770NyF z_e|?_$PWmTBF<$W*gDphkmRNVK5Yy?LL%Nim>a(%f(@~PV4mI zHH8H0{5+E33^Xx+&DRw3tWJ+UmI6errRZnnv7;*1Qt}Ea>b)lHFvI`T^C~vsaESdh zx`15&^lRIfL;VsjXO>t=m7?%u`a}o*?Gw`|vM@u53hh_32Fye?e;0Lyd3#AwA3};F zJ+;DRkKu>#MMqjup9MF4W~c8`J1P28ss%>?P@+%5u>%KSSB1{oGwM}t>f;bp7U=W! zu(YwvCl$zN4p>sIG)b@EO*2j`CRrYrDCX>)XO+s3#IbZq;ZnTdOrK+Ek&?zf@H^79 z`nyyC>hhcR6#UCvIEpcR@-pBToqrJ(s_M5Y-GZ}+YFuhFb0!FpgHsTm!7cCo!5ACm zPM=m28X*c%-ue^AM=Jf&UdO6}1xi&|>b0*rhnM%Ab9|V$z=A99)~+l(i{D&6&PAl3 zz9fc&8D04>h<#_g?VY_iB4Alq8K92;j#Pa$GNPlu_U_%#hF=MuUstmln~A|6IoF^A zf4on6cEdhZgxP&>EsbjT_;&r1C{>Rl_HNO?ExT0_#k{mEz`*Ew|V!)7v{# zX4$<%WNa;y{IoFq85Y!#( z(5Z|@l*IaZ!HZ>Dcm4vqGNKE8RI^Is%0F4N5{P{IGUsN_{L!_V6xu%yUl#MiLw34V zg&BEv1&UL)Mb*yXbgZ;@D4YJpU0pU!K>EWv$=MF-iZVhitFe39V81T5Z6O`I`&QDI zJLbk}MzfA;WcUP_nkq=y`4#A@ZFX!jZl7hRF)Zpf#J^Ct&ft6uN_V2qT!}9Iu&*| zBwLJFFo+P-BU*yJK<3JaVqwiHWgzP!La>XWl*B(U{I`t=S?ftFil_5&_9imqofB4iX!rya#TA|9?+r+kzB>wu&iU|5?4Sakyf)zc6y)6 zBcEPM!7VBI)4?JTN_4al9@aPFTm>vPDgu`#0*$x_~ zJ-`-koQm}0P?&|3>3m>gG(hvTCiK1U`Mxk>v6I@Mj{@wSx z_T#VwoxtrN1rP)IOKi@yYIpt|FOEvEm}_REKqghYnpEUwt0%=U8a3Mp5{NLt&1K!?IbznM9&av(|%3Rl}n?PAD^yKm>B`r2x* z)-Ahz1__#==S)WOjG6kL*&RM#q&70zpk>lHT&KznoZC7PDb~zbqy$j*m3uYrQMw|| zDXU#h3Kdf-mH-!#jvN8mg|m1@P-4^&bO;Lba9oetLKoyVf<_cbU{!lq`7jU+%jR$a zIKZHV^K<0XDRv2D(Es(|D< zm^RFgdkS3o3#w4Q=#DyjpZl{Sbxf++2_M`#z2;85w|Y`nO%G(>jB?2905z#Z{C-WE z%A_0Z3P)8QPD}07V0#yKw!u*3)x!I$EkK=AOSKZ!W>c1Gd{S+|QIKozS*A5h$F-~7 zhWw#Ov$9abQRxXKP6u%odG0_mv|$5?LZEU6*oEh?v>%%7T#bK*z(%ivFqlaAXphqj zt?)qoiDybwKD~ev{UUd^+F#M=?8O5w;1Cp-Dq?vDL1As$1n@DnZX7s%8yVKvfpI1QJdvoL)v1?O6scwT?vzzE+icd6`af zx=kIGj#E=&$S!JBG3ghjDX4iw9gwN=IpZk%ITX~D(TZUx`W=yt7_v1Ar-jtD%A#^2 zt3&U&Z|{b^s-Sd;tg!|K6KHx6gF@79=|E`=j{y=fqX}%x7BfG>u}n%6Evuz}zE=eW zEz6=HM3jNMm@GwfGtOzkfI7BLAT#kBKO;~@Qm-~DoM!Yk{Hgs?o;qAX4E}S6@Yn$J z*Jeo?l7A@wN=Q@TBX^@{V_4;6gv%G?ltZ>yBz2(M05xy6D|%YxUtqOowBns9rPF6V z`h$1IWnj5t8RvZfm5;K^49K{aga3>QML@S>kH*BvLB~bIUGzDPF`v{HA29^g9Ya<@ z?!ed~JWNh@LCB!8P(zqT=TFH3e~`4X!@gRHS@7;{L#&rcS|lE*wn#HkU(_X)LNrAs zk_-w`!pw-%Yu6OjL)amA)Aw7{T1->8K4 z$Sc~At1=rdA4N?{3-kUTkmtqFuWUq~S3vsji)-mt2l)DdIvv*Rw{`7*P3@M}%qAx} zQ8!POybrRZW?}8fOdgBkf9f!!2PwMc<2IH*En z)H&B+GIna5ReCcsP@-@dc0e>`i^&rqDT!*AN;AYK==QdH9Lgju+Oz|cl9lFl(Wn?K z=}6B~nHw`wIddRA#c>~w?Lxt_4$McITX^C(uIW{`uM9BfUycRD8csb0)fi#^w3ZM+%e5+RLFvkQ*m$Ub z8oOhTBnw%Ds9@-pRhl6C-O_2LSooMmp$ZDpbAnVA=0%DW9)DueO|El4nGre zyPg@Z_MtA`FLF()u>KvVi`XU4pO00vQbxEF+koP;tDw+)QsJ-eA=Q^uk%}d^O3tII z0%MzT zVu|S@OHUUgQ5dV$K_)w^v1Sc=EX{!W7N>i)PR76bRjrBH2cr-v0A?ypNGaRencv5%^>3fkSFb~`C!+NI$b@lAg-h7MF^Co|AqmHe(JCVBN3FB zU0(-oPnmIhtfCf{6%|J5(0#3HKLfm&GQGl6_0eglSk}1)Cmv{6cbeUzjxOD`=Przn z9x=Fcm&Uvz2mX`l!O{Ykd^t3m!Y$ukuL|`jtkH#fX}P- zjTi^D?H?}3c&wvCQk_%6p@u&=59X*dUG5+wxFx`}%~!eDvs;M9Is6;+XvsFt$OzWX zxB0KCBlfCV&P`1v^;gP}@l6S>)~z zhNBNEK$!!@3Itq7C?->U-cBoFfv65^och`|n|H{wTui4fq;stTD!K>kt928Nx-llE z0d^JMh?K`QMuvn}Fol82b_D#i(ny;vQTmy;@!*dRY*_;u|5ua&m#%E(P{hmUQiUt* zT!5M~2YoG_j=zkfh%KBwUZrqXKIPDa_4_pueKBEsb_m%hkq;Yy5xIJgf<_g7Tn*?Y z8Ll;Vs+~2Y)R+sB*`-HWL8fMn-PJA^yBYZmlV4{=l?h|wGG)uHxVpz_>v zoS%7AXErR`KE}o4TZ{wNzuew+-K>&%WSI*ZA3HU7+&5$8}-z0%DxpJLe8C?X+94 z3M|w47=dXtisq@!hOr}S?$`JkR$(;23!@mud1QHmAha2J2m?9{cn64GuH_R#6`tP1 zJL)+TyFh$_3+UU6G@c6G?9H69LhoK+Z9qX8lJuEDdX|kjGPPY5|AF2!0PzZe4XA?X zHe7fGzMT_0YwlJ%CBlx?$k9Z8Bqe%ip)F|s;oHhUW|c!{GR#H)ChCla(SGJhjhmHg zAmIygiBz`;h7W@JS351}S(io^(%W5Cy0CtV+G!SgRhza|l;bCR&k?QJzHg}>g_hMO zl&&(dg3+cLIkXd;%fn;c3p1gb*EJURr=96FeNZ}=Uw65JD*uMvTU$t*a>&r5N3;K zA|^3irtQ!M?I?Pn#;k<&g)Z|66ijgREod*|%xl_MQN1KA3TE$>;Us08!&;7EyQxpBB{TvPGPjD%*J^)fpun=Blt2xS;p4( zokh-gtdhc>=fH~T#0--@2W$yd_tDL2B z>8m3(K09=QBCIdMw8~)}(3~&jCp1aYn}vz{B*f@Ke-T7_z3C4UGVA@on=bBAx|xsv zY(Kpa%jUz6Z1E@q(w$4OLjLjX$Z}S>B@1R@nUFHu+WF9>ZDWZfa++2aDtn`QFMAk$tvTh0U+k}UI} zkCAtUz@Y|h@ZO%TOli+pv&v=Ys;P%Wd~d(_eXJ-B{v7WY{i-fUcljykKgm6FaMl78 z+^thVHaATKRuB?8$lXyzQ1&54FmkwT{b6-P2HV8V!Ypypf&pR~(qR2eyE0lKK%@h6{&^Ct!u;o>P?m0L2MQjsKbqGC6TO}MifjS%v_Li7JQ&oe?SVdoGL^Xs6bNO%LS2a#XbbKEYw__;pc9ShU z+0SZVV4eky*ejfAWPMO+B{_i9lyT_I1f=)MIQdqgSw-q*EF@xK*g(|bcyz2fT8V-b zuxFV}m+NMn-NSj<^c0)0Z|RYdI#+Em2-(_zM-bWb21;H<@Z z7PIsF2ovrki5USl^ch|zLr5rd@hEuX$P@NU$i9(1;U#qH_ZvVn@Z7kW3KOYHPgxOA z#g0*l2hy)?J7m_l442d%EIm7!f!k1R+iBp8lg5}V&|wx)Mk-0_*{*hP?R-GvW<&z) z?i&vxVZjAyx6F8Nj7W4&iynnR&$!kUs!Ua#u_e~CjhKnXMfhvcEqEK8FcD^I3CPi$ zJwfZ}S@?9B%JdQfVPu8Fa5;CN!YGFTD|8u7qc0gGydDVz7D4)9WHPHmm3lMw^Ry`G z(!;qFQp0TtU64du(?7usTzDOD9eGmcXWjV0Jr7TxHw$$6JtJyl zs$B-`G}B|0*hkABIl>uL1*j225Vr@W2vXTuIocpAPM6Vr+cf0-3y&d12w{5)_Nb8= zXSR?Siv6KV!k~In;6ptB14R2!hnl#E1Z9jZ)Z)2y%<0xw%qkpWa6x0LnjjTkg5;t~ zP#8nylnFHjvGho!sO4f~Y1n|R;WAa|4VTNJHohdN(;aO+#ChD++e@@A!!db=(=aNq zl~CRrPJ_G!l;=JnC{jn=t)I?Uc?_4{z#=~X=x!`a+SYMqX+ur5Q0ufnLItSVX3j^Y zj54bSSHAn#4EVK`lC)kdif2<)*uJx*~+yY0{JlQ`Nt&JXM{E&Ja(Jwg3yUazDEPB^}19jc>YK zg{9^y#4{PIYCPIdCFf*Dk=hy`W9WG4DC2TEbB_#Smg#**{JO?H;#9!C{85!z@`ndu zl7ZnLLY^Qf)LupWIaGxeV!$mkk5!DG)B=(ptF*7%4)r=R-<2|U0#WfY*={%{P|%5e z8rdBPp!Xr`rfP=4R0Sz~)>uUdtI%CVBI`t9qz)af-aYi7%xS^v40zoNas_E_dt{P{e#0}cgZKT6oH;~2P%C-A1WVur6`(4* z!a^pRGL3?AhgT0iALtmVpm;IFdMZnUxnFt<=H9*hW@O52H+yj1Hm$XA4!K85G00Xk%R^__vNh%oOz z$9bgwMuq@t&Jo@>wAupw~Op>fpn1Lu5pRyg(Legup3y}AL8VUgyW58?* zcK3pqH6~A)*6gV+MEp~s-+-My>iZbv!U!XfYh0e5TG#yTVB|}0DV+64V*1;^*PwDU zvuh1!mi^GCa4kQHdA@B%%{sMlxoBEh^}6v*LX~Ty4wFD@6*(I;(PsHDbclgFG-IL4 znJvl|S7V+FbuLGt28AfbYkdK|+kp@)6o(>(1t<$%e@B?HYD0OV(1lL%OEN~~x4hhQISVLrvO*R9(tQLja zv2D91VA0{2XS&e+7EUvX3PeJb96unTG@*fb^CYK3z9I@uEzkt2LWH7nR8ah9UY0SM z2=n}7AfLvi3b($AxajYi3#iP}>d6q0mhoh^&CD32snALsss*yPG}{n)?i_`v!ri^t zrY!VZ8db#ick|$-Pme4^+9Bs&F2EsL7L8FxUVaVdLgz-6o4IVzHj;jA~om;02 zG!btHL>q81>Nrw+7TyJ$e6(pM$= zuvh)-x#~?rh4-F5P>mP=aRX;&f9l|(=J^$}mJ>jvsRE8G??L#y z<#(=v&x_u(9#KURy~_^XaWl5rc+*THLOz0)QUi9x4YaNhqAh4C$gM*wW!OLjPQ6`d zR)raxRQTw2jjsy7Rs^cnL*xjG0#yws>nEdYZpO9g&6wsJJ9t}@rnIp zcAxwyyyDoYT(BDPL$R=zS#UGqfR6ImHqJzSb($vND6At6UYTN;-Lnwe0z|C+PLM6G z!#W1_$J4hCL`>F3t#OLmQ@miJ&oLTrq^KYa5&!aDtiOYnOK(?eqs+0VZCVSvb8Qpc zQ!vgkaR2g|AYkmfMVSe@7Ti*xIi-!rbOoOx!3e#s3h<5rasm z_Zf^n2i`G<5K)-9QXN%?Si#AQA2v$KAdaHCuyhA(EWd$3*B z1YMS*R@j6kb%o72jknx{zD+3wYmVn&ZmAV@S~G)Po(PM*5bU@zStwQD z8vu^5t>JIesn1 zZ)Wqcb42!6u-oYo>cY%A6U@xmlzT!9ikN!wA7!PYQ7ZO9|M4^V+-Q>-kmJvd`M5z3 zH~4{Y!wr6rV-9Y}gB$YThCCqB;D$VqV-CI%c@QD9?S)6@^Y`_UwzZsZUqN&8EtYuu zau~gusiEWT&!RIo7uBozb`;g1s1v_QJnx3RhY9%_={ZcE?$ychcZ^Wh_`AkX`FeXPynx#s;?xG!(N zE1S4B7TVRBbAsx;Aw4~SQ7t!%H}J<){`YuakMAXd=R}@gBgc{LmHQ&!{`7H*TAcf$ zIgZcU%c!CaciMTppCNd@ezEV^M4ljMyAJy_KJ+hc%dduxI|R6~JpTS7j_Wk|AVt>@pDD?vMn-v?!R z$F+AP=pj3!aeA^mkfxCoi3GmlROH^&C+^QmA^0ZfA(OO|_&wH6(huKx{_mkgGrD&1 zct;MCSaB1N_q*%7sT=0M#J8WdAyocS0^eoRj!it;>frhLmT_IX_9V5ZXn^mz1bvKU z3EqkC7a=x2Ssx6SqP;Ak{|9H1c7mU?(;G{U?n``MoC1B2Bp)(GjU`8t?1OY+7M`TD>a!<(1q+X>zmPxJh1FGtw) zQwe_NruD~rOg>JAP15%T*$CZF!h2{I@Whde@%fgd;snm5>ls4GgNq4%C-`pKQP1NY z!*^){U&4>_8Oivf@eShpMfCE2j{kM`dH5|V^}()Iem(ZyFAy_6-@@bFdQ0qtK_2f( zj{f-SruT1;≪@Cg?#S1HMV^!5O5DlQ%I@#Q!5nCHmqt&yQ&W9A@8|;AhC^XFBSS z@Yf0d)+16q{(Y3P|5oAqt;0VO>ybP@Uy*Z=@12=E-k)qICru{ow*X?qubxfdbN4i~ zKT5P`YGqI1NKu|1^2hYYA9&+1%LM+JgVeXr+A@lczaR431o^?^pDKX7-Z6!53+c}5 z@gni*l6%q{CVHC_BYP|M4x*zd41m73A|-(JpO;Z2Y7Bz=<_u<;qb}53H&NY z^}k+%`cFrb@Gs2n-v)oV(&<9+7At|t#K4D#~*v0IyVn=dBx@9kx=91)(sO$Gh=T{);f-Z@#< za!TU-C{B^Be{Fk0KBNiipbu_N=xh2Ia#xb&H#u|bpNGG{h+e*S{83lp!7ee+@0Ws| znV;GUd3*i9G6aO4P4M4c)*Ri@B>tbq0neoCx}5&}JY3ozZ)qCxYMz?H(@VOrPIo*> zzeAosfP-9k`3?IFXPW;1!TWl8_{#CWj^871_LuMPZb1Ifwx@agAD)BLZ<6@Eq9m3V z#a}N`*r5Ltcoq!kFAuUaaDpmwfa3g~DayeSMhSX?y@r&mr}_0mY`ujD-}wF4&&U6_ z_E(Po74Um!g5P`hlhb2&m&WIN-(CIjwNL5ap3L=^2g+fw>%9MCm>Bes#NUwb-oVTIuX{efYtR2* z;~%C{>!`&3TDS}Rp0k^`?_O9=@G|iDt(aB^{!QRJMce;6Hw=kU+n(m{&ynC%s3d*y zIluGQ3BQ;99ly8p{Qh0T_4-#$UtbpQ>+g@e+bRB3hT^H{7~!`Q z4LE2hiN9A?wyZNJ;XmDA+t{0Qoy+Tw?=Y!NSav4C@8VRP2(&P)ViNwG&|h&TWfJ}`+}9ufMbp9mPbToRYH-9)68_4e zII1eCJva-e<0aV(nJLKNZA!=kBJcMhWjao8*W^8^J90zb|0DYD3-SJ3gU07K8lqBL zs7yYds`q)Ewt)oa`1O5v1Am-o6mQR)1paLj@@?ZtBJUH|3kKnSuzdXf0hu;cTAOFYuJ7Pe8 z`e4%ge?LvwzkLJ$YkE8dbH`+JmgUo;&e~4N6t)mBoiQ&V$ znWLxC@{Z%p1ccNh4e~$vw7Ss4xPJUSew+Vat{|tXIOAJ8zV}EPr{~cDa&()_eqY)MikguWrvKjU-kq;qOoZ7#IxgqMLx}S!JhmPCUBuGk$!Tbl3CA^pHZyUO3v32%{EIREI7p z%o5xDjmcp=*SG(-^#38~+2Xmv)APjzB#bSwE%|Us|M6Of=9DLgow4b$utOeC35~GC zq_hJOB~u^&(cAp^vF!ay!wkRl`1?S}lt><@zaM|>x%w;S*SuNxl&QrMO$x)FnrlOt zT_UU}KP?uv%a1pcMmy<#A!R!;vf`Ty%lNY6e=h8~`m?GYo}b^Ej%|#jZOu7(BupU@ zc2tyUGnFNUor%eKljZ|%%!cBmFmN)vdLi?cq16RIgXeFMCeT2Hr_-?Fts{q_BkiR5Jbq{^@i}(0nlww)$<`ruf3~ z@A78;C23o~rL<)?!fbfFCk(*&lia*A5#0K3C)~ckyRd9;LjHdd9^dr!FB*TJMF=hf9NFKk zF+8Kcn-vN||0-_=TvmE_y_S?6v??d(#j8oxAIe2te?A&XnCZnr?{ghr z;{7Y}KA4&O`_2vRZ#J1y(Z)evar^|bQ{!k#d?Mb)$j^NlGx#lH)<*l%;@|HxR2w2V zF(BS96ZC(78rAZOvhp7{+x~9;Z>Q3qrx<>B>Fxngqdz>tzh6SNj8(c4W-;~oC*Hp= z+rIw&m&&U*mZEZJ{CNf;qE*i(%oriHxV@<22tVIn_I=miA4N74qN#W@>n;7sb>2X^P@ajL}y|kjS26{_0u@AFB*NE8O*bx>>ZG$ zAVHQKb?gIDrz$?pKfg%Gu9ts4^V%cU148at{JMx*@pdv9|J^j2y;6=6j*8!3NUdmB zIuG(>bN&6-x6`R~;uftvPeyrx?}qH{X!KWuD4v@Jg1;K{^ literal 0 HcmV?d00001 From 67be3403600ea24b6ff6249691a99956af8c9bed Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:05:15 +0200 Subject: [PATCH 119/145] 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 b16839ccd2..36bb99ffd4 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -655,7 +655,7 @@ Interact - Intéragir + Interagir Interagiere Interakce Взаимодействовать From 161866a8e569cd1afe59a0dbb14101d23cdc96a3 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:05:36 +0200 Subject: [PATCH 120/145] Update stringtable.xml --- addons/inventory/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index d3d06a7808..c327ea2253 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -8,7 +8,7 @@ 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. - Normalement, l'inventaire est automatiquement messuré par la taille de l'interface de l'utilisateur. Cette option vous permet d'augmenter la taille d'affichage de l'inventaire, cependant, cette option n'augmente pas la police d'écriture et le nombre de place. + Normalement, l'inventaire est automatiquement mesuré par la taille de l'interface de l'utilisateur. Cette option vous permet d'augmenter la taille d'affichage de l'inventaire, cependant, cette option n'augmente pas la police d'écriture et le nombre de place. From 7523dd011faaf3f366622e03876629c133106d80 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:06:17 +0200 Subject: [PATCH 121/145] 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 07cc1e3b71..544bfbf981 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -329,7 +329,7 @@ Set the desired location of the progress bar on your screen. - Définisez l'endroit que vous désirer pour faire appraître la barre de progression. + Définisez l'endroit que vous désirez pour faire appraître la barre de progression. Hint Background color From e176df463699aa25385f12a5ecbd2772c8490862 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:10:23 +0200 Subject: [PATCH 122/145] Update stringtable.xml --- addons/disposable/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 8b6c032961..50c0ca2415 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -25,7 +25,7 @@ Preloaded Missile Dummy Preloaded Missile Dummy - Preloaded Missile Dummy + Missile préchargé Dummy Preloaded Missile Dummy Preloaded Missile Dummy Preloaded Missile Dummy @@ -33,4 +33,4 @@ Заряженная ракетная пустышка - \ No newline at end of file + From d9f9dffbc0609238576d720ac322cd109392dbcf Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:11:12 +0200 Subject: [PATCH 123/145] Update stringtable.xml --- addons/aircraft/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 4d1c49fff6..c0966ddcfb 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -40,7 +40,7 @@ Close Cargo Door Laderampe schließen Cerrar compuerta de carga - Fermer Rampe Cargo + Fermer la Rampe du Cargo Zamknij drzwi ładowni Zavřít nákladní prostor Rámpát zárni From 2939862e8c9dba4433ab3e4f3496f09e25bee631 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:12:56 +0200 Subject: [PATCH 124/145] Update stringtable.xml --- addons/dragging/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 9193d2712e..53c0abf5b6 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -30,12 +30,13 @@ Item to heavy Gegenstand zu schwer Articulo demasiado pesado + Objet trop lourd Dieser Gegenstand kann nicht gezogen werden, da er zu schwer ist. Não é possível carregar o item devido a seu peso Non è possibile trascinare l'oggetto a causa del suo peso From 7a8cd684a3d9ff6744ffc92f41d98af3bd061f83 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:19:58 +0200 Subject: [PATCH 125/145] Update stringtable.xml --- addons/wep_javelin/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/wep_javelin/stringtable.xml b/addons/wep_javelin/stringtable.xml index 4068d6f0a6..a2f9f5261c 100644 --- a/addons/wep_javelin/stringtable.xml +++ b/addons/wep_javelin/stringtable.xml @@ -5,7 +5,7 @@ Lock Target (Hold) Lock Target (Hold) - Lock Target (Hold) + Vérouiller la Cible (Maintenir) Lock Target (Hold) Lock Target (Hold) Lock Target (Hold) @@ -14,7 +14,7 @@ Cycle Fire Mode Cycle Fire Mode - Cycle Fire Mode + Mode de Tir (Cycle) Cycle Fire Mode Cycle Fire Mode Cycle Fire Mode From 8339d15087004b28d07e3334b750d7fdbd1030ed Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:21:57 +0200 Subject: [PATCH 126/145] Update stringtable.xml Added: French translations (note, I've already removed a % at the line 30 --- addons/winddeflection/stringtable.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index b52100046f..2ebdefb4ea 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -4,26 +4,31 @@ Wind Information + Informations sur le Vent Informacje o wietrze Información del viento Direction: %1 + Direction : %1 Kierunek: %1 Dirección: %1 Speed: %1 m/s + Vitesse : %1 m/s Prędkość: %1 Velocidad: %1 m/s Weather Information + Informations sur la Météo Informacje o pogodzie Información Meteorológica - Humidity: %1% + Humidity: %1 + Humidité : %1 Wilgotność: %1 Humedad: %1% From 3e8c8384cf21a5135b1bf1c07e9426b3a78b3846 Mon Sep 17 00:00:00 2001 From: Anthariel Date: Mon, 13 Apr 2015 02:24:13 +0200 Subject: [PATCH 127/145] Update stringtable.xml Missing translation --- addons/weaponselect/stringtable.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 3a39d59396..0cae87e255 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -142,6 +142,7 @@ Grenade %1 + Grenade %1 Granate %1 Granada %1 Granat %1 @@ -151,6 +152,7 @@ Ready Grenade + Grenade Prête Granate nehmen Granada lista Przygotuj granat @@ -163,7 +165,7 @@ Explosive Granate auswählen Seleccionar granada de fragmenación Wybierz granat odłamkowy - Sélectionner grenade à fragmentation + Sélectionner une grenade à fragmentation Repeszgránát Kiválasztása Zvolit Výbušný Granát Selecionar Granada de Fragmentação @@ -251,4 +253,4 @@ Запустить дымовую завесу - \ No newline at end of file + From 36b92b3d443150312fafc97beb71a59ae229703b Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 22:44:19 -0500 Subject: [PATCH 128/145] Don't do client stuff on dedicated. --- addons/fcs/XEH_clientInit.sqf | 2 ++ addons/javelin/XEH_clientInit.sqf | 2 ++ addons/movement/XEH_postInit.sqf | 2 ++ addons/safemode/XEH_postInit.sqf | 2 ++ addons/vector/XEH_postInit.sqf | 2 ++ 5 files changed, 10 insertions(+) diff --git a/addons/fcs/XEH_clientInit.sqf b/addons/fcs/XEH_clientInit.sqf index d3605d87a7..3338e739e1 100644 --- a/addons/fcs/XEH_clientInit.sqf +++ b/addons/fcs/XEH_clientInit.sqf @@ -4,6 +4,8 @@ GVAR(enabled) = false; GVAR(time) = 0; GVAR(position) = [0,0,0]; +if (!hasInterface) exitWith {}; + #include "initKeybinds.sqf" ["infoDisplayChanged", { diff --git a/addons/javelin/XEH_clientInit.sqf b/addons/javelin/XEH_clientInit.sqf index 1d3b546e39..38b006ca24 100644 --- a/addons/javelin/XEH_clientInit.sqf +++ b/addons/javelin/XEH_clientInit.sqf @@ -1,3 +1,5 @@ #include "script_component.hpp" +if (!hasInterface) exitWith {}; + #include "initKeybinds.sqf" \ No newline at end of file diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index 310b689e15..224cd93273 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -1,6 +1,8 @@ //by commy2 #include "script_component.hpp" +if (!hasInterface) exitWith {}; + ["inventoryDisplayLoaded", { [{ diff --git a/addons/safemode/XEH_postInit.sqf b/addons/safemode/XEH_postInit.sqf index ff6a76d834..aa13029547 100644 --- a/addons/safemode/XEH_postInit.sqf +++ b/addons/safemode/XEH_postInit.sqf @@ -1,6 +1,8 @@ // by esteldunedain #include "script_component.hpp" +if (!hasInterface) exitWith {}; + //["Soldier", {_player = ACE_player; if (currentWeapon _player in (_player getVariable [QGVAR(safedWeapons), []])) then {[false] call FUNC(setSafeModeVisual)}] call EFUNC(common,addInfoDisplayEventHandler); //@todo addEventHandler infoDisplayChanged with select 1 == "Soldier" diff --git a/addons/vector/XEH_postInit.sqf b/addons/vector/XEH_postInit.sqf index 8bbf7d7aa6..0969a4285d 100644 --- a/addons/vector/XEH_postInit.sqf +++ b/addons/vector/XEH_postInit.sqf @@ -1,4 +1,6 @@ // by commy2 #include "script_component.hpp" +if (!hasInterface) exitWith {}; + #include "initKeybinds.sqf" From 7719da2f66acc7bf7ea4b95d0250630e3bfd01d9 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 22:45:55 -0500 Subject: [PATCH 129/145] Javelin Localiztion --- addons/javelin/initKeybinds.sqf | 2 +- addons/javelin/stringtable.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/javelin/initKeybinds.sqf b/addons/javelin/initKeybinds.sqf index 6634b1f623..ecce40bbf0 100644 --- a/addons/javelin/initKeybinds.sqf +++ b/addons/javelin/initKeybinds.sqf @@ -27,4 +27,4 @@ [ACE_player] call FUNC(cycleFireMode); false }, -[15, [false, true, false]], false] call cba_fnc_addKeybind; //Shift+Tab Key \ No newline at end of file +[15, [false, true, false]], false] call cba_fnc_addKeybind; //Ctrl+Tab Key \ No newline at end of file diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index 9560160141..ec929bffc1 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -1,13 +1,13 @@  - + Lock Target (Hold) Ziel aufschalten Захватить цель (удерживать) Zamknout cíl(držet) - + Cycle Fire Mode Wechsle Feuermodus Переключение режимов огня From b50a7a0147631b652cd33e4224576c68eda94472 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 12 Apr 2015 22:56:46 -0500 Subject: [PATCH 130/145] Try to fix degree symbol (encoding issue) --- addons/microdagr/functions/fnc_updateDisplay.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/microdagr/functions/fnc_updateDisplay.sqf b/addons/microdagr/functions/fnc_updateDisplay.sqf index af577049a0..2a5f34a12c 100644 --- a/addons/microdagr/functions/fnc_updateDisplay.sqf +++ b/addons/microdagr/functions/fnc_updateDisplay.sqf @@ -1,4 +1,4 @@ -/* +/* * Author: PabstMirror * Updates the display (several times a second) called from the pfeh * @@ -53,7 +53,7 @@ case (APP_MODE_INFODISPLAY): { _compassAngleText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (getDir ace_player))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "" //degree symbol is in UTF-8 + ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODEDISPLAY_HEADINGNUM) ctrlSetText _compassAngleText; @@ -92,7 +92,7 @@ case (APP_MODE_INFODISPLAY): { _bearingText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (_bearing))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "" //degree symbol is in UTF-8 + ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; _2dDistanceKm = ((GVAR(gpsPositionASL) select [0,2]) distance (_targetPosLocationASL select [0,2])) / 1000; _rangeText = format ["%1km", ([_2dDistanceKm, 1, 1] call CBA_fnc_formatNumber)]; @@ -112,7 +112,7 @@ case (APP_MODE_COMPASS): { _compassAngleText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (getDir ace_player))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "M" //degree symbol is in UTF-8 + ([(floor (getDir ace_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODECOMPASS_HEADING) ctrlSetText _compassAngleText; @@ -149,7 +149,7 @@ case (APP_MODE_COMPASS): { _bearingText = if (GVAR(settingUseMils)) then { [(floor ((6400 / 360) * (_bearing))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "M" //degree symbol is in UTF-8 + ([(floor (_bearing)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; _2dDistanceKm = ((GVAR(gpsPositionASL) select [0,2]) distance (_targetPosLocationASL select [0,2])) / 1000; _rangeText = format ["%1km", ([_2dDistanceKm, 1, 1] call CBA_fnc_formatNumber)]; From 669dbe10c9afaa6ec641559216d0e894dd85a5f4 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 13 Apr 2015 00:23:00 -0500 Subject: [PATCH 131/145] BecomeLeader - Don't create new group --- addons/interaction/CfgEventHandlers.hpp | 2 +- addons/interaction/CfgVehicles.hpp | 5 +- addons/interaction/XEH_clientInit.sqf | 6 ++ addons/interaction/XEH_postInit.sqf | 70 +++++++++++++++++++ addons/interaction/XEH_preInit.sqf | 2 + .../functions/fnc_canBecomeLeader.sqf | 21 ++++++ .../functions/fnc_doBecomeLeader.sqf | 21 ++++++ 7 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 addons/interaction/XEH_postInit.sqf create mode 100644 addons/interaction/functions/fnc_canBecomeLeader.sqf create mode 100644 addons/interaction/functions/fnc_doBecomeLeader.sqf diff --git a/addons/interaction/CfgEventHandlers.hpp b/addons/interaction/CfgEventHandlers.hpp index 17200056b8..380867183f 100644 --- a/addons/interaction/CfgEventHandlers.hpp +++ b/addons/interaction/CfgEventHandlers.hpp @@ -6,7 +6,7 @@ class Extended_PreInit_EventHandlers { class Extended_PostInit_EventHandlers { class ADDON { - clientInit = QUOTE( call COMPILE_FILE(XEH_clientInit) ); + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index e85300f301..bd36f42703 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -260,12 +260,11 @@ class CfgVehicles { icon = PATHTOF(UI\team\team_white_ca.paa); hotkey = "N"; }; - class ACE_BecomeLeader { displayName = "$STR_ACE_Interaction_BecomeLeader"; - condition = QUOTE(count (units group _player) > 1 && {leader group _player != _player}); + condition = QUOTE(_this call FUNC(canBecomeLeader)); exceptions[] = {"isNotInside"}; - statement = QUOTE(_newGroup = createGroup side group _player; (units group _player) joinSilent _newGroup; _newGroup selectLeader _player;); + statement = QUOTE(_this call FUNC(doBecomeLeader)); showDisabled = 1; priority = 1.0; icon = PATHTOF(UI\team\team_white_ca.paa); diff --git a/addons/interaction/XEH_clientInit.sqf b/addons/interaction/XEH_clientInit.sqf index 1ed3883f02..d252cd6aa1 100644 --- a/addons/interaction/XEH_clientInit.sqf +++ b/addons/interaction/XEH_clientInit.sqf @@ -4,6 +4,12 @@ ACE_Modifier = 0; +//SelectLeader Event Handler for BecomeLeader action: +[QGVAR(selectLeader), { + PARAMS_2(_group,_leader); + _group selectLeader _leader; +}] call EFUNC(common,addEventHandler); + if (!hasInterface) exitWith {}; GVAR(isOpeningDoor) = false; diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf new file mode 100644 index 0000000000..1ed3883f02 --- /dev/null +++ b/addons/interaction/XEH_postInit.sqf @@ -0,0 +1,70 @@ +// by commy2 and esteldunedain + +#include "script_component.hpp" + +ACE_Modifier = 0; + +if (!hasInterface) exitWith {}; + +GVAR(isOpeningDoor) = false; + +// restore global fire teams for JIP +{ + _team = _x getVariable [QGVAR(assignedFireTeam), ""]; + if (_team != "") then {_x assignTeam _team}; +} forEach allUnits; + + +// Add keybinds +["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if (GVAR(isOpeningDoor) || {[2] call FUNC(getDoor) select 1 == ''}) exitWith {false}; + + // Statement + call EFUNC(interaction,openDoor); + true +}, +{ + //Probably don't want any condidtions here, so variable never gets locked down + // Statement + GVAR(isOpeningDoor) = false; + true +}, +[57, [false, true, false]], false] call cba_fnc_addKeybind; //Key CTRL+Space + + +["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + // Conditions: specific + if !([ACE_player, cursorTarget] call FUNC(canTapShoulder)) exitWith {false}; + + // Statement + [ACE_player, cursorTarget] call FUNC(tapShoulder); + true +}, +{false}, +[20, [true, false, false]], false] call cba_fnc_addKeybind; + +["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", +{ + // Conditions: canInteract + //if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed + + // Statement + ACE_Modifier = 1; + // Return false so it doesn't block other actions + false +}, +{ + //Probably don't want any condidtions here, so variable never gets locked down + ACE_Modifier = 0; + false; +}, +[29, [false, false, false]], false] call cba_fnc_addKeybind; + +["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index 671535c36d..6f10a4e834 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -6,8 +6,10 @@ PREP(addPassengerActions); PREP(addPassengersActions); PREP(addSelectableItem); PREP(applyButtons); +PREP(canBecomeLeader); PREP(canInteractWithCivilian); PREP(canTapShoulder); +PREP(doBecomeLeader); PREP(getDoor); PREP(getDoorAnimations); PREP(getDown); diff --git a/addons/interaction/functions/fnc_canBecomeLeader.sqf b/addons/interaction/functions/fnc_canBecomeLeader.sqf new file mode 100644 index 0000000000..11234ad6d7 --- /dev/null +++ b/addons/interaction/functions/fnc_canBecomeLeader.sqf @@ -0,0 +1,21 @@ +/* + * Author: PabstMirror + * Test if can Become Leader of group + * + * Arguments: + * 0: target + * 1: player + * + * Return Value: + * + * + * Example: + * [player, player] call ace_interaction_fnc_canBecomeLeader + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_target,_player); + +(count (units group _player) > 1) && {leader group _player != _player} diff --git a/addons/interaction/functions/fnc_doBecomeLeader.sqf b/addons/interaction/functions/fnc_doBecomeLeader.sqf new file mode 100644 index 0000000000..24bfa66c11 --- /dev/null +++ b/addons/interaction/functions/fnc_doBecomeLeader.sqf @@ -0,0 +1,21 @@ + /* + * Author: PabstMirror + * Become Leader of group + * + * Arguments: + * 0: target + * 1: player + * + * Return Value: + * None + * + * Example: + * [player, player] call ace_interaction_fnc_doBecomeLeader + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_2(_target,_player); + +[QGVAR(selectLeader), (units group _player), [(group _player), _player]] call EFUNC(common,targetEvent); From 70dbae5a25ee432d1a3d7f118beaa20634031cca Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 13 Apr 2015 00:32:07 -0500 Subject: [PATCH 132/145] #527 - Unconscious switching groups --- addons/medical/functions/fnc_setUnconscious.sqf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index e373901610..32c94dfc3c 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -67,7 +67,8 @@ _unit setUnitPos "DOWN"; [_unit, true] call EFUNC(common,disableAI); // So the AI does not get stuck, we are moving the unit to a temp group on its own. -[_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); +//Unconscious units shouldn't be put in another group #527: +// [_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); [_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus); [_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); @@ -114,7 +115,8 @@ _startingTime = time; [_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus); // Swhich the unit back to its original group - [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); + //Unconscious units shouldn't be put in another group #527: + // [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); [_unit, false] call EFUNC(common,disableAI); _unit setUnitPos _originalPos; // This is not position but stance (DOWN, MIDDLE, UP) From 878bdadbb332e3e36a356526fd40b8a9fb7624ac Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 13 Apr 2015 00:46:45 -0500 Subject: [PATCH 133/145] Switch clientInit to postInit --- addons/interaction/XEH_clientInit.sqf | 76 --------------------------- addons/interaction/XEH_postInit.sqf | 6 +++ 2 files changed, 6 insertions(+), 76 deletions(-) delete mode 100644 addons/interaction/XEH_clientInit.sqf diff --git a/addons/interaction/XEH_clientInit.sqf b/addons/interaction/XEH_clientInit.sqf deleted file mode 100644 index d252cd6aa1..0000000000 --- a/addons/interaction/XEH_clientInit.sqf +++ /dev/null @@ -1,76 +0,0 @@ -// by commy2 and esteldunedain - -#include "script_component.hpp" - -ACE_Modifier = 0; - -//SelectLeader Event Handler for BecomeLeader action: -[QGVAR(selectLeader), { - PARAMS_2(_group,_leader); - _group selectLeader _leader; -}] call EFUNC(common,addEventHandler); - -if (!hasInterface) exitWith {}; - -GVAR(isOpeningDoor) = false; - -// restore global fire teams for JIP -{ - _team = _x getVariable [QGVAR(assignedFireTeam), ""]; - if (_team != "") then {_x assignTeam _team}; -} forEach allUnits; - - -// Add keybinds -["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", -{ - // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - // Conditions: specific - if (GVAR(isOpeningDoor) || {[2] call FUNC(getDoor) select 1 == ''}) exitWith {false}; - - // Statement - call EFUNC(interaction,openDoor); - true -}, -{ - //Probably don't want any condidtions here, so variable never gets locked down - // Statement - GVAR(isOpeningDoor) = false; - true -}, -[57, [false, true, false]], false] call cba_fnc_addKeybind; //Key CTRL+Space - - -["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", -{ - // Conditions: canInteract - if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - // Conditions: specific - if !([ACE_player, cursorTarget] call FUNC(canTapShoulder)) exitWith {false}; - - // Statement - [ACE_player, cursorTarget] call FUNC(tapShoulder); - true -}, -{false}, -[20, [true, false, false]], false] call cba_fnc_addKeybind; - -["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", -{ - // Conditions: canInteract - //if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed - - // Statement - ACE_Modifier = 1; - // Return false so it doesn't block other actions - false -}, -{ - //Probably don't want any condidtions here, so variable never gets locked down - ACE_Modifier = 0; - false; -}, -[29, [false, false, false]], false] call cba_fnc_addKeybind; - -["isNotSwimming", {!underwater (_this select 0)}] call EFUNC(common,addCanInteractWithCondition); diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 1ed3883f02..98b1cc1523 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -4,6 +4,12 @@ ACE_Modifier = 0; +//SelectLeader Event Handler for BecomeLeader action: +[QGVAR(selectLeader), { + PARAMS_2(_group,_leader); + _group selectLeader _leader; +}] call EFUNC(common,addEventHandler); + if (!hasInterface) exitWith {}; GVAR(isOpeningDoor) = false; From 2a015482a11edc7e1d9b4aa8016c741d7f716e74 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 13 Apr 2015 01:03:08 -0500 Subject: [PATCH 134/145] Old Interaction Events (1713999 is long dead) --- addons/interaction/CfgEventHandlers.hpp | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/addons/interaction/CfgEventHandlers.hpp b/addons/interaction/CfgEventHandlers.hpp index 380867183f..7b003bbe8c 100644 --- a/addons/interaction/CfgEventHandlers.hpp +++ b/addons/interaction/CfgEventHandlers.hpp @@ -1,27 +1,11 @@ class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); - }; + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; }; class Extended_PostInit_EventHandlers { - class ADDON { + class ADDON { init = QUOTE(call COMPILE_FILE(XEH_postInit)); - }; -}; - -class Extended_GetIn_EventHandlers { - class All { - class ADDONnu { - clientGetIn = QUOTE( if (_this select 2 == ACE_player && {!isNull (findDisplay 1713999)}) then {(findDisplay 1713999) closeDisplay 1}); }; - }; -}; - -class Extended_GetOut_EventHandlers { - class All { - class ADDONnu { - clientGetOut = QUOTE( if (_this select 2 == ACE_player && {!isNull (findDisplay 1713999)}) then {(findDisplay 1713999) closeDisplay 1}); - }; - }; }; From 7111cdd8ffce9913f1d4aeac3390821fa2aba812 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 13 Apr 2015 03:16:33 -0500 Subject: [PATCH 135/145] #540 - remove debug spam --- addons/captives/functions/fnc_setHandcuffed.sqf | 2 +- addons/captives/functions/fnc_setSurrendered.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index 5917532874..e992339186 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -54,7 +54,7 @@ if (_state) then { 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]; + // systemChat format ["debug %2: new %1", _newAnimation, time]; [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation); }; }]; diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index 73451863dd..30f9105511 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -52,7 +52,7 @@ if (_state) then { 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]; + // systemChat format ["debug %2: new %1", _newAnimation, time]; [_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation); }; }]; From bf3e3d3b64866a26acebdc9f5ff75c1655f478f8 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 13 Apr 2015 03:46:42 -0500 Subject: [PATCH 136/145] #542 - ACE_fakeWeapon not found --- addons/medical/functions/fnc_setUnconscious.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 32c94dfc3c..89ab5ee3b3 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -52,7 +52,7 @@ if (animationState _unit in ["ladderriflestatic","laddercivilstatic"]) then { }; if (vehicle _unit == _unit) then { if (primaryWeapon _unit == "") then { - _unit addWeapon "ACE_fakeWeapon"; + _unit addWeapon "ACE_FakePrimaryWeapon"; }; _unit selectWeapon (primaryWeapon _unit); _unit switchMove ""; From 915ac46e0412aaa72f16174a84d9934339f5a791 Mon Sep 17 00:00:00 2001 From: Kllrt Date: Mon, 13 Apr 2015 11:00:47 +0200 Subject: [PATCH 137/145] Very small typo in CZ translation -.- --- 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 c1ec7ff6d9..f797673953 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -404,7 +404,7 @@ On te tape sur l'épaule. Zostałeś klepnięty po ramieniu Vállonveregettek - Někdo tě poklepal na LEVÉ rameno. + Někdo tě poklepal na LEVÉ rameno Вас похлопали по плечу Você foi tocado no ombro. Ti è stato dato un colpetto sulla spalla From 363a6b3738b88dd274eeace17864e96d292b4739 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 13 Apr 2015 14:32:55 +0200 Subject: [PATCH 138/145] Fix erroneus tag in nametags stringtable Re: f6c7d444 --- addons/nametags/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 903a486fc4..7275ab3da9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -73,7 +73,7 @@ Показывать именые метки ИИ Zobrazit jména AI Wyświetl imiona jednostek AI - Afficher les noms pour les unités IA + Afficher les noms pour les unités IA Show SoundWaves (requires player names) From 8c24d9ec35a94f691ea56631317a0286cb2928ca Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 13 Apr 2015 15:25:30 +0200 Subject: [PATCH 139/145] fix invalid xml, fix duplicate keys --- addons/medical/stringtable.xml | 5 +---- addons/microdagr/stringtable.xml | 1 - addons/optionsmenu/stringtable.xml | 1 - addons/reload/stringtable.xml | 10 ++-------- 4 files changed, 3 insertions(+), 14 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 98fdab8a8b..f1ceccb1cb 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -441,7 +441,6 @@ Normal breathing - Normales Atmen Дыхание в норме Respiración normal Respiration Normale @@ -458,7 +457,6 @@ Difficult breathing - Schweres Atmen Дыхание затруднено Dificultad para respirar Difficultée Respiratoire @@ -594,7 +592,6 @@ Slows down blood loss when bleeding - Veringert den Blutverlust Уменьшает кровопотерю при кровотечении. Reduce la velocidad de pérdida de sangre Ralentit le seignement @@ -914,7 +911,7 @@ You find a blood pressure of %2/%3 - Vous pris une pression sanguine de %2/%3 + Vous pris une pression sanguine de %2/%3 Артериальное давление %2/%3 La presión arterial es %2/%3 Ciśnienie krwi wynosi %2/%3 diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 7981fe1226..0b99792642 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -157,7 +157,6 @@ SetWP - SetzeWP WP setzen Establecer PR Установить МТ diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index c4534edff9..ac62e5445f 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -42,7 +42,6 @@ Options - Options Optionen Opciones Opcje diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 9f3cee93f1..8911c288ea 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -4,24 +4,20 @@ 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í Sprawdź stan amunicji przy przeładowaniu broni Vérifier les munitions pendant le rechargement d'une arme - Munition beim Nachladen prüfen 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. Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni Vérifier les munitions dans votre nouveau chargeur au rechargement de vos chargeurs. - Munition im neuen Magazin beim Magazinfüllen prüfen Check Ammo @@ -49,7 +45,6 @@ Link belt - Gurt herstellen Attacher bande Enlazar cinta Сцепить ленты @@ -59,13 +54,12 @@ Linking belt... - Stelle Gurt her.... - Attachement de la bande .. + Attachement de la bande ... Enlazando cinta... Сцепка лент ... Spojuji pás... Podłączanie taśmy... - Gurt anhängen... + Gurt anhängen ... From cba66366bdb819246f88a7fc1734e541d2495024 Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 13 Apr 2015 15:25:51 +0200 Subject: [PATCH 140/145] fix invalid xml --- addons/dragging/stringtable.xml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index fd5fc70573..51fcf43c0b 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -31,15 +31,9 @@ Articulo demasiado pesado Przedmiot zbyt ciężki Objet trop lourd - - Dieser Gegenstand kann nicht gezogen werden, da er zu schwer ist. Não é possível carregar o item devido a seu peso Non è possibile trascinare l'oggetto a causa del suo peso - Túl nehéz ahhoz, hogy elhúzd --> + Túl nehéz ahhoz, hogy elhúzd Слишком тяжело Moc težké From ec381699ca14151cba3540198c1e09da7267c747 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Mon, 13 Apr 2015 16:48:14 +0200 Subject: [PATCH 141/145] fix missing class Am I doin it right? Works for me. --- addons/magazines/CfgWeapons.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp index 18cff2fe83..787867070e 100644 --- a/addons/magazines/CfgWeapons.hpp +++ b/addons/magazines/CfgWeapons.hpp @@ -30,7 +30,7 @@ class CfgWeapons { /* Katiba */ - + class Rifle_Long_Base_F; class arifle_katiba_Base_F: Rifle_Base_F { magazines[] += { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim", From ac886828b0e766bae0fb590c35793b7487bf02b3 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Mon, 13 Apr 2015 18:02:48 +0200 Subject: [PATCH 142/145] Fixes --- addons/common/stringtable.xml | 7 +- addons/disarming/stringtable.xml | 13 +- addons/explosives/stringtable.xml | 5 +- addons/flashsuppressors/stringtable.xml | 176 +-- addons/grenades/stringtable.xml | 487 +++---- addons/logistics_uavbattery/stringtable.xml | 151 +- addons/logistics_wirecutter/stringtable.xml | 115 +- addons/magazinerepack/stringtable.xml | 205 +-- addons/magazines/stringtable.xml | 1362 ++++++++++--------- addons/microdagr/stringtable.xml | 441 +++--- addons/missileguidance/stringtable.xml | 80 +- addons/optionsmenu/stringtable.xml | 365 ++--- addons/overheating/stringtable.xml | 316 ++--- addons/vector/stringtable.xml | 102 +- addons/vehiclelock/stringtable.xml | 226 +-- 15 files changed, 2016 insertions(+), 2035 deletions(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 659792f21a..35d3a62220 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,4 +1,5 @@  + @@ -41,7 +42,7 @@ ACE Options ACE Optionen Opciones ACE - Opcje ACE + Ustawienia ACE Nastavení ACE ACE Options ACE Настройки @@ -421,8 +422,8 @@ 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). - Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków. Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii. Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana. + Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.<br />Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.<br />Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana. Une banane est un fruit comestible, botaniquement une baie, produite par plusieurs types de grandes plantes herbacées à fleurs dans le genre Musa. - + \ No newline at end of file diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 845d0c286e..7bc381a64e 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -1,9 +1,10 @@  - + - - - Open Inventory - - + + + Open Inventory + Otwórz ekwipunek + + \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index b8ea358f95..f0df907f16 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,5 @@  + @@ -81,7 +82,7 @@ + Modificatore, rotazione + Modifikátor, otočit + Változtatás, forgatás - + modyfikator, obracanie + + Modyfikator, obrót + Modificador, rotaciona + Bращать @@ -498,4 +499,4 @@ Prendre - + \ No newline at end of file diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 77b1e30995..d3185fc2b0 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -1,90 +1,90 @@  - + - - - Flash Suppressor (6.5 mm) - Lángrejtő (6,5 mm) - Mündungsfeuerdämpfer (6,5 mm) - Soppressore di fiamma (6.5mm) - Supressor de Clarão (6,5mm) - Tłumik płomieni (6,5 mm) - Tlumič plamene (6,5 mm) - Cache-flamme (6,5 mm) - Пламегаситель (6,5 мм) - Supresor (6,5 mm) - - - Flash Suppressor (7.62 mm) - Lángrejtő (7,62 mm) - Mündungsfeuerdämpfer (7,62 mm) - Soppressore di fiamma (7.62mm) - Supressor de Clarão (7,62mm) - Tłumik płomieni (7,62 mm) - Tlumič plamene (7,62 mm) - Cache-flamme (7,62 mm) - Пламегаситель (7,62 мм) - Supresor (7,62 mm) - - - Flash Suppressor (5.56 mm) - Lángrejtő (5,56 mm) - Mündungsfeuerdämpfer (5,56 mm) - Soppressore di fiamma (5.56mm) - Supressor de Clarão (5,56mm) - Tłumik płomieni (5,56 mm) - Tlumič plamene (5,56 mm) - Cache-flamme (5,56 mm) - Пламегаситель (5,56 мм) - Supresor (5,56 mm) - - - Flash Suppressor (.45 ACP) - Lángrejtő (.45 ACP) - Mündungsfeuerdämpfer (.45 ACP) - Soppressore di fiamma (.45 ACP) - Supressor de Clarão (.45 ACP) - Tłumik płomieni (.45 ACP) - Tlumič plamene (.45 ACP) - Cache-flamme (.45 ACP) - Пламегаситель (.45 ACP) - Supresor (.45 ACP) - - - Flash Suppressor (9 mm) - Lángrejtő (9 mm) - Mündungsfeuerdämpfer (9 mm) - Soppressore di fiamma (9 mm) - Supressor de Clarão (9mm) - Tłumik płomieni (9 mm) - Tlumič plamene (9 mm) - Cache-flamme (9 mm) - Пламегаситель (9 мм) - Supresor (9 mm) - - - Flash Suppressor (.338) - Lángrejtő (.338) - Mündungsfeuerdämpfer (.338) - Soppressore di fiamma (.338) - Supressor de Clarão (.338) - Tłumik płomieni (.338) - Tlumič záblesku (.338) - Cache-flamme (.338) - Пламегаситель (.338) - Supresor (.338) - - - Flash Suppressor (9.3 mm) - Lángrejtő (9,3 mm) - Mündungsfeuerdämpfer (9,3 mm) - Soppressore di fiamma (9.3mm) - Supressor de Clarão (9,3mm) - Tłumik płomieni (9,3 mm) - Tlumič záblesku (9,3 mm) - Cache-flamme (9,3 mm) - Пламегаситель (9,3 мм) - Supresor (9,3 mm) - - - + + + Flash Suppressor (6.5 mm) + Lángrejtő (6,5 mm) + Mündungsfeuerdämpfer (6,5 mm) + Soppressore di fiamma (6.5mm) + Supressor de Clarão (6,5mm) + Tłumik płomienia (6,5 mm) + Tlumič plamene (6,5 mm) + Cache-flamme (6,5 mm) + Пламегаситель (6,5 мм) + Supresor (6,5 mm) + + + Flash Suppressor (7.62 mm) + Lángrejtő (7,62 mm) + Mündungsfeuerdämpfer (7,62 mm) + Soppressore di fiamma (7.62mm) + Supressor de Clarão (7,62mm) + Tłumik płomienia (7,62 mm) + Tlumič plamene (7,62 mm) + Cache-flamme (7,62 mm) + Пламегаситель (7,62 мм) + Supresor (7,62 mm) + + + Flash Suppressor (5.56 mm) + Lángrejtő (5,56 mm) + Mündungsfeuerdämpfer (5,56 mm) + Soppressore di fiamma (5.56mm) + Supressor de Clarão (5,56mm) + Tłumik płomienia (5,56 mm) + Tlumič plamene (5,56 mm) + Cache-flamme (5,56 mm) + Пламегаситель (5,56 мм) + Supresor (5,56 mm) + + + Flash Suppressor (.45 ACP) + Lángrejtő (.45 ACP) + Mündungsfeuerdämpfer (.45 ACP) + Soppressore di fiamma (.45 ACP) + Supressor de Clarão (.45 ACP) + Tłumik płomienia (.45 ACP) + Tlumič plamene (.45 ACP) + Cache-flamme (.45 ACP) + Пламегаситель (.45 ACP) + Supresor (.45 ACP) + + + Flash Suppressor (9 mm) + Lángrejtő (9 mm) + Mündungsfeuerdämpfer (9 mm) + Soppressore di fiamma (9 mm) + Supressor de Clarão (9mm) + Tłumik płomienia (9 mm) + Tlumič plamene (9 mm) + Cache-flamme (9 mm) + Пламегаситель (9 мм) + Supresor (9 mm) + + + Flash Suppressor (.338) + Lángrejtő (.338) + Mündungsfeuerdämpfer (.338) + Soppressore di fiamma (.338) + Supressor de Clarão (.338) + Tłumik płomienia (.338) + Tlumič záblesku (.338) + Cache-flamme (.338) + Пламегаситель (.338) + Supresor (.338) + + + Flash Suppressor (9.3 mm) + Lángrejtő (9,3 mm) + Mündungsfeuerdämpfer (9,3 mm) + Soppressore di fiamma (9.3mm) + Supressor de Clarão (9,3mm) + Tłumik płomienia (9,3 mm) + Tlumič záblesku (9,3 mm) + Cache-flamme (9,3 mm) + Пламегаситель (9,3 мм) + Supresor (9,3 mm) + + + \ No newline at end of file diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 69f829037e..41c699af5f 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 + Przełącz sposób 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 + Wysoki rzut + 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. + Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego. + 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) + + + \ No newline at end of file diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index 27ae24999f..feca4d07ec 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 baterii przenośnego 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 ... + Заряжается ... + + + \ No newline at end of file diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index d8cce85c5c..01bd6b99f3 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,59 +1,60 @@  + - - - Wirecutter - Coupe clôture - Drahtschneider - Cortador de cables - Клещи-кусачки - Štípací kleště - Nożyce do cięcia drutu - - - Wirecutter - Schneidet Draht. - Cortador de cables - Позволяют быстро перекусывать сеточные конструкции. - Štípačky - Służą do... cięcia drutu i płotów - Coupe clôture - - - 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 + Coupe clôture + Drahtschneider + Cortador de cables + Клещи-кусачки + Štípací kleště + Nożyce do cięcia drutu + + + Wirecutter + Schneidet Draht. + Cortador de cables + Позволяют быстро перекусывать сеточные конструкции. + Štípačky + Służą do cięcia drutu i płotów + Coupe clôture + + + 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 0d9cad41fa..35531452d2 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,104 +1,105 @@  + - - - 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 - Pełnych magazynków: %1. Dodatkowych naboi: %2. - %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 - Réorganisation terminé - Wiederverpacken Fertig - Reembalaje finalizado - Перепаковка завершена - Páskování dokončeno - Przepakowywanie zakończone - - - Repacking Interrupted - Réorganisation Interrompue - Umpacken Unterbrochen - Reembalaje interrumpido - Перепаковка прервана - Páskování přerušeno - Przepakowywanie przerwane - - - %1 Full and %2 Partial - %1 Complet et %2 Partiellement - %1 Vollständigen und %2 Teilweisen - %1 Total y %2 Parcial - %1 полных и %2 неполных - %1 plný a %2 částečně - Pełnych: %1. Częściowo pełnych: %2. - - - + + + 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 + Pełnych magazynków: %1.<br /> Dodatkowych naboi: %2. + %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 + Réorganisation terminé + Wiederverpacken Fertig + Reembalaje finalizado + Перепаковка завершена + Páskování dokončeno + Przepakowywanie zakończone + + + Repacking Interrupted + Réorganisation Interrompue + Umpacken Unterbrochen + Reembalaje interrumpido + Перепаковка прервана + Páskování přerušeno + Przepakowywanie przerwane + + + %1 Full and %2 Partial + %1 Complet et %2 Partiellement + %1 Vollständigen und %2 Teilweisen + %1 Total y %2 Parcial + %1 полных и %2 неполных + %1 plný a %2 částečně + Pełnych: %1.<br />Częściowo pełnych: %2. + + + \ No newline at end of file diff --git a/addons/magazines/stringtable.xml b/addons/magazines/stringtable.xml index 5832824b0e..e1646814ab 100644 --- a/addons/magazines/stringtable.xml +++ b/addons/magazines/stringtable.xml @@ -1,662 +1,704 @@  - + - - - - 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 - - - - .338 LM 10Rnd Tracer Mag - .338 LM 10-Schuss-Magazin Leuchtspur - - - .338 LM Tracer - .338 LM Leuchtspur - - - 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 - - - .338 LM 10Rnd IR-DIM Mag - .338 LM 10-Schuss-Magazin Leuchtspur 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 - - - .338 LM 10Rnd AP Mag - .338 LM 10-Schuss-Magazin Hartkern - - - .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 - - - .338 LM 10Rnd SD Mag - .338 LM 10-Schuss-Magazin Unterschall - - - .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 - - - - .338 NM 130Rnd Tracer Belt - .338 NM 130-Schuss-Gurt Leuchtspur - - - .338 NM Tracer - .338 NM Leuchtspur - - - 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 - - - .338 NM 130Rnd IR-DIM Belt - .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM - - - .338 NM IR-DIM - .338 LM 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 - - - .338 NM 130Rnd AP Belt - .338 NM 130-Schuss-Gurt Hartkern - - - .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 - - - - 9.3mm 10Rnd Tracer Mag - 9,3mm 10-Schuss-Magazin Leuchtspur - - - 9.3mm Tracer - 9,3mm Leuchtspur - - - Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus - Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus - - - 9.3mm 10Rnd Tracer IR-DIM Mag - 9,3mm 10-Schuss-Magazin Leuchtspur 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 - - - 9.3mm 10Rnd AP Mag - 9,3mm 10-Schuss-Magazin Hartkern - - - 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 - - - 9.3mm 10Rnd SD Mag - 9,3mm 10-Schuss-Magazin Unterschall - - - 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 - - - - 9.3mm 150Rnd Tracer Belt - 9,3mm 150-Schuss-Gurt Leuchtspur - - - 9.3mm Tracer - 9,3mm Leuchtspur - - - Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid - Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid - - - 9.3mm 150Rnd Tracer IR-DIM Belt - 9,3mm 150-Schuss-Gurt Leuchtspur 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 - - - 9.3mm 150Rnd AP Belt - 9,3mm 150-Schuss-Gurt Hartkern - - - 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 - - - + + + + 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 + + + + .338 LM 10Rnd Tracer Mag + .338 LM 10-Schuss-Magazin Leuchtspur + Magazynek .338 LM 10rd Smugacz + + + .338 LM Tracer + .338 LM Leuchtspur + .338 LM Smugacz + + + 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 + + + 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 + Magazynek .338 LM 10rd 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 LM 10Rnd SD Mag + .338 LM 10-Schuss-Magazin Unterschall + Magazynek .338 LM 10rd 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 + .338 NM 130-Schuss-Gurt Leuchtspur + Taśma .338 NM 130rd Smugacz + + + .338 NM Tracer + .338 NM Leuchtspur + .338 NM Tracer + + + 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 + + + .338 NM 130Rnd IR-DIM Belt + .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM + Taśma .338 NM 130rd IR-DIM + + + .338 NM IR-DIM + .338 LM 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 + + + .338 NM 130Rnd AP Belt + .338 NM 130-Schuss-Gurt Hartkern + Taśma .338 NM 130rd 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 + + + + 9.3mm 10Rnd Tracer Mag + 9,3mm 10-Schuss-Magazin Leuchtspur + Magazynek 9.3mm 10rd Smugacz + + + 9.3mm Tracer + 9,3mm Leuchtspur + 9,3mm Smugacz + + + 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 + + + 9.3mm 10Rnd Tracer IR-DIM Mag + 9,3mm 10-Schuss-Magazin Leuchtspur IR-DIM + Magazynek 9,3mm 10rd Smugacz 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,3 x 64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + + + 9.3mm 10Rnd AP Mag + 9,3mm 10-Schuss-Magazin Hartkern + Magazynek 9,3mm 10rd 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,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 + + + 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 + 9,3mm 150-Schuss-Gurt Leuchtspur + Taśma 9,3mm 150rd Smugacz + + + 9.3mm Tracer + 9,3mm Leuchtspur + 9,3mm Smugacz + + + 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 + + + 9.3mm 150Rnd Tracer IR-DIM Belt + 9,3mm 150-Schuss-Gurt Leuchtspur IR-DIM + Taśma 9,3mm 150rd Smugacz 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,3 x 64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + + + 9.3mm 150Rnd AP Belt + 9,3mm 150-Schuss-Gurt Hartkern + Taśma 9,3mm 150rd 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,3 x 64 mm AP<br />Pociski: 150<br />Używane w: Navid + + + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 0b99792642..68bec58765 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,222 +1,223 @@  + - - - MicroDAGR GPS - MicroDAGR GPS - GPS MicroDAGR - MicroDAGR GPS - MicroDAGR GPS - MicroDAGR GPS - GPS MicroDAGR - - - MicroDAGR advanced GPS receiver - MicroDAGR verbesserter GPS Empfänger - Receptor avanzado GPS MicroDAGR - Многофункциональный GPS-приёмник. - Zaawansowany odbiornik GPS MicroDAGR - MicroDAGR un GPS avancé - - - Angular Unit: - Unidad angular: - Угловые единицы: - Jednostka kątowa: - Unité angulaire: - Winkeleinheit: - - - Mils - Mils - Mils - Тысячные - Milsy - Mils - - - Show Waypoints On Map: - Zeige Wegpunkte auf Karte - Mostrar puntos de ruta en el mapa: - Показывать маршрутные точки на карте: - Pokaż PT na mapie: - Afficher les points de passage sur la carte : - - - Degrees - Grad - Grados - Градусы - Stopnie - Degrés - - - On - Zapnuto - Oui - Ein - - Wł. - Ativar - Вкл. - Encendido - - - Off - Vypnuto - Non - Aus - No - Wył. - Desativar - Выкл. - Apagado - - - Enter Grid Cords: - Introducir coordenadas de cuadrícula: - Введите координаты: - Wprowadź współrzędne: - Entrer Grid Cords : - Koordinaten eingeben: - - - Name of [%1] - Name von [%1] - Nombre de [%1] - Название [%1] - Nazwa [%1] - Nom de [%1] - - - MGRS-New - MGRS-NEU - Nuevo-MGRS - MGRS-Новая - MGRS-Nowy - Nouveau MGRS - - - WGD - WGD - WGD - WGD - WGD - WGD - - - Range: - Distancia: - Reichweite: - Дистанция: - Dystans: - Distance : - - - Compass Direction - Kompass Richtung - Dirección de la brújula - Азимут - Kierunek - Direction de la boussole - - - Mark - Markieren - Marca - Отметка - Oznacz - Marqueur - - - Waypoints - Puntos de ruta - Wegpunkte - Машрутные точки - Waypointy - Punkty trasy - Point de passage - - - Connect To - Conectar a - Соединиться с - Verbinde zu - Připojit k - Podłącz do - Connexion à - - - Settings - Paramètres - Einstellungen - Configuración - Настройки - Nastavení - Ustawienia - - - SetWP - WP setzen - Establecer PR - Установить МТ - Nastavit WP - UstawPT - - - Add - Hinzufügen - Añadir - Добавить - Přidat - Dodaj - Ajouter - - - Delete - Smazat - Supprimer - Löschen - Elimina - Usuń - Excluir - Удалить - Borrar - - - Toggle MicroDAGR Display Mode - MicoDAGR Anzeigemodus wählen - Conmutar modo de pantalla del MicroDAGR - Сменить режим показа MicroDAGR - Przełącz tryb wyświetlania MicroDAGR - Basculer sur l'affichage du MicroDAGR - - - Show MicoDAGR - Zeige MicroDAGR - Mostrar MicroDAGR - Показать MicroDAGR - Ukázat MicroDAGR GPS - Pokaż MicroDAGR - Afficher le MicroDAGR - - - Configure MicroDAGR - Konfiguriere MicroDAGR - Configurar MicroDAGR - Настроить MicroDAGR - Konfigurovat MicroDAGR GPS - Konfiguruj MicroDAGR - Configurer le MicroDAGR - - - Close MicroDAGR - Schließe MicroDAGR - Cerrar MicroDAGR - Закрыть MicroDAGR - Zavřít MicroDAGR GPS - Zamknij MicroDAGR - Fermer le MicroDAGR - - - + + + MicroDAGR GPS + MicroDAGR GPS + GPS MicroDAGR + MicroDAGR GPS + MicroDAGR GPS + MicroDAGR GPS + GPS MicroDAGR + + + MicroDAGR advanced GPS receiver + MicroDAGR verbesserter GPS Empfänger + Receptor avanzado GPS MicroDAGR + Многофункциональный GPS-приёмник. + Zaawansowany odbiornik GPS MicroDAGR + MicroDAGR un GPS avancé + + + Angular Unit: + Unidad angular: + Угловые единицы: + Jednostka kątowa: + Unité angulaire: + Winkeleinheit: + + + Mils + Mils + Mils + Тысячные + Tysiączne + Mils + + + Show Waypoints On Map: + Zeige Wegpunkte auf Karte + Mostrar puntos de ruta en el mapa: + Показывать маршрутные точки на карте: + Pokaż PT na mapie: + Afficher les points de passage sur la carte : + + + Degrees + Grad + Grados + Градусы + Stopnie + Degrés + + + On + Zapnuto + Oui + Ein + + Wł. + Ativar + Вкл. + Encendido + + + Off + Vypnuto + Non + Aus + No + Wył. + Desativar + Выкл. + Apagado + + + Enter Grid Cords: + Introducir coordenadas de cuadrícula: + Введите координаты: + Wprowadź współrzędne: + Entrer Grid Cords : + Koordinaten eingeben: + + + Name of [%1] + Name von [%1] + Nombre de [%1] + Название [%1] + Nazwa [%1] + Nom de [%1] + + + MGRS-New + MGRS-NEU + Nuevo-MGRS + MGRS-Новая + MGRS-Nowy + Nouveau MGRS + + + WGD + WGD + WGD + WGD + WGD + WGD + + + Range: + Distancia: + Reichweite: + Дистанция: + Dystans: + Distance : + + + Compass Direction + Kompass Richtung + Dirección de la brújula + Азимут + Azymut + Direction de la boussole + + + Mark + Markieren + Marca + Отметка + Oznacz + Marqueur + + + Waypoints + Puntos de ruta + Wegpunkte + Машрутные точки + Waypointy + Punkty trasy + Point de passage + + + Connect To + Conectar a + Соединиться с + Verbinde zu + Připojit k + Podłącz do + Connexion à + + + Settings + Paramètres + Einstellungen + Configuración + Настройки + Nastavení + Ustawienia + + + SetWP + WP setzen + Establecer PR + Установить МТ + Nastavit WP + UstawPT + + + Add + Hinzufügen + Añadir + Добавить + Přidat + Dodaj + Ajouter + + + Delete + Smazat + Supprimer + Löschen + Elimina + Usuń + Excluir + Удалить + Borrar + + + Toggle MicroDAGR Display Mode + MicoDAGR Anzeigemodus wählen + Conmutar modo de pantalla del MicroDAGR + Сменить режим показа MicroDAGR + Przełącz tryb wyświetlania MicroDAGR + Basculer sur l'affichage du MicroDAGR + + + Show MicoDAGR + Zeige MicroDAGR + Mostrar MicroDAGR + Показать MicroDAGR + Ukázat MicroDAGR GPS + Pokaż MicroDAGR + Afficher le MicroDAGR + + + Configure MicroDAGR + Konfiguriere MicroDAGR + Configurar MicroDAGR + Настроить MicroDAGR + Konfigurovat MicroDAGR GPS + Konfiguruj MicroDAGR + Configurer le MicroDAGR + + + Close MicroDAGR + Schließe MicroDAGR + Cerrar MicroDAGR + Закрыть MicroDAGR + Zavřít MicroDAGR GPS + Zamknij MicroDAGR + Fermer le MicroDAGR + + + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index d64e3e31ab..45a65c52a1 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -6,7 +6,7 @@ Advanced Missile Guidance Avanzada Misiles Orientación Avancée Missile orientation - Asystent Missile + Zaawansowane naprowadzanie rakiet Erweiterte Missile Guidance Pokročilé řízení střel Avanzato Missile Guidance @@ -18,7 +18,7 @@ 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. Povoluje pokročilou mechaniku řízení střel. @@ -28,80 +28,8 @@ /* 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 DAGRDAGRDAGRDAGRHydra-70 DAGR Laser Guided MissileLaserowo naprowadzana rakieta Hydra-70 DAGRHydra-70 DAGR laserem naváděná střela /* 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-114KAGM-114KAGM-114KAGM-114KHellfire II AGM-114K Laser Guided MissileLaserowo naprowadzana rakieta Hellfire II AGM-114KHellfire II AGM-114K laserem naváděná střela \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index ac62e5445f..79db8a06f8 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,184 +1,185 @@  + - - - 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 - Napraw animację - Corriger l'Animation - - - Reset All - Alles Zurücksetzen - Reiniciar todo - Полный сброс - Vyresetovat vše - Resetuj wszystko - Par défaut - - - Colors - Couleurs - Farben - Colores - Цвета - Barvy - Kolory - - - Options - Optionen - Opciones - Opcje - Nastavení - Options - Настройки - Opções - Opciók - Opzioni - - - Values - Valores - Значения - Hodnoty - Wartości - Valeurs - Werte - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Setting: - Nastavení: - Einstellung: - Установки: - Ajuste: - Ustawienie: - - - Export - Exportieren - Exportar - Экспорт - Exportovat - Eksport - Exporter - - - Open Export Menu - Öffne Exportmenü - Abrir menu d'exportación - Открыть меню экспорта - Otevřít exportovací menu - Otwórz menu eksportowania - Ouvrir le menu d'exportation - - - String input. - String input. - Introducir frase - Строчный ввод. - Wpisywanie tekstu. - - - Array. Seperate elements by using ,. - Array. Teile unterschiedliche Elemente mit ,. - Matriz. Separa elementos usando ,. - Массив. Разделяйте элемены, используя запятую. - Tablica. Oddziel elementy używając ,. - Array. Séparer les élements en utilisant ,. - - - Number - Nummer - Numero - Число - Číslo - Cyfra - Nombre - - - Uknown input type - Unbekannter Eingabetyp - Tipo de entrada desconocida - Неизвестный тип ввода - Neznámý vstup - Nieznany rodzaj danych - Input inconnue - - - Save input - Speichere Eingabe - Guardar entrada - Сохранить ввод - Uložit vstup - Zapisz dane - Sauvegarder les inputs - - - Include Client Settings - Beinhalte Client-Einstellungen - Incluir configuración de cliente - Включить настройки клиента - Zahrnout nastavení klienta - Zawrzyj ustawienia klienta - Inclure les paramètres de client - - - Exclude Client Settings - Schließe Client-Einstellungen aus - Excluir configuración de cliente - Исключить настройки клиента - Nezahrnout nastavení klienta - Wyklucz ustawienia klienta - Exclure les paramètres de client - - - Settings exported to clipboard - Einstellungen in die Zwischenablage exportiert - Configuración exportada al portapapeles - Настройки экспортированы в буфер обмена - Nastevení exportována do schránky - Ustawienia wyeksportowano do schowka - Paramètres exportés dans le presse-papier - - - + + + ACE Options + ACE Optionen + Opciones ACE + Ustawienia ACE + ACE Nastavení + ACE Options + ACE Настройки + Opções do ACE + ACE Opciók + Opzioni ACE + + + Fix Animation + Behebe Animation + Arreglar animación + Фикс анимации + Opravit animace + Napraw animację + Corriger l'Animation + + + Reset All + Alles Zurücksetzen + Reiniciar todo + Полный сброс + Vyresetovat vše + Resetuj wszystko + Par défaut + + + Colors + Couleurs + Farben + Colores + Цвета + Barvy + Kolory + + + Options + Optionen + Opciones + Opcje + Nastavení + Options + Настройки + Opções + Opciók + Opzioni + + + Values + Valores + Значения + Hodnoty + Wartości + Valeurs + Werte + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Setting: + Nastavení: + Einstellung: + Установки: + Ajuste: + Ustawienie: + + + Export + Exportieren + Exportar + Экспорт + Exportovat + Eksport + Exporter + + + Open Export Menu + Öffne Exportmenü + Abrir menu d'exportación + Открыть меню экспорта + Otevřít exportovací menu + Otwórz menu eksportowania + Ouvrir le menu d'exportation + + + String input. + String input. + Introducir frase + Строчный ввод. + Wpisywanie tekstu. + + + Array. Seperate elements by using ,. + Array. Teile unterschiedliche Elemente mit ,. + Matriz. Separa elementos usando ,. + Массив. Разделяйте элемены, используя запятую. + Tablica. Oddziel elementy używając ,. + Array. Séparer les élements en utilisant ,. + + + Number + Nummer + Numero + Число + Číslo + Cyfra + Nombre + + + Uknown input type + Unbekannter Eingabetyp + Tipo de entrada desconocida + Неизвестный тип ввода + Neznámý vstup + Nieznany rodzaj danych + Input inconnue + + + Save input + Speichere Eingabe + Guardar entrada + Сохранить ввод + Uložit vstup + Zapisz dane + Sauvegarder les inputs + + + Include Client Settings + Beinhalte Client-Einstellungen + Incluir configuración de cliente + Включить настройки клиента + Zahrnout nastavení klienta + Zawrzyj ustawienia klienta + Inclure les paramètres de client + + + Exclude Client Settings + Schließe Client-Einstellungen aus + Excluir configuración de cliente + Исключить настройки клиента + Nezahrnout nastavení klienta + Wyklucz ustawienia klienta + Exclure les paramètres de client + + + Settings exported to clipboard + Einstellungen in die Zwischenablage exportiert + Configuración exportada al portapapeles + Настройки экспортированы в буфер обмена + Nastevení exportována do schránky + Ustawienia wyeksportowano do schowka + Paramètres exportés dans le presse-papier + + + \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 93dcc93d96..afafd44d55 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,159 +1,161 @@  + - - - Display text on jam - Zeige Text bei Ladehemmung - Mostrar texto al encasquillar - Показывать текст, когда клинит оружие - Zobrazit upozornění při zaseknutí - Wyświetl tekst przy zacięciu broni - Afficher un texte à la surchauffe - - - 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 - Afficher un texte quand votre arme surchauffe - - - 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í + Wyświetl tekst przy zacięciu broni + Afficher un texte à la surchauffe + + + 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 + Afficher un texte quand votre arme surchauffe + + + 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! + Zacięcie! + 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 + Sprawdź temperaturę<br/>broni + + + 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/vector/stringtable.xml b/addons/vector/stringtable.xml index 2a5f29b509..05289d189f 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -1,54 +1,54 @@  - + - - - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - Vector IV - - - Rangefinder - Laserentfernungsmesser - Telémetro - Télémètre - Dalmierz - Dálkoměr - Telemetro - Távolságmérő - Telêmetro - Дальномер - - - Vector - Azimuth Key - Vector - Azimuth-Taste - Vector - Tecla de acimut - Vector - Touche Azimuth - Vector - Azymut - Vector - Zobrazit azimut - Vector - Tasto Azimuth - Vector - Tecla de Azimute - Vector - Irányszög gomb - Vector – Азимут - - - Vector - Distance Key - Vector - Entfernungs-Taste - Vector - Tecla de distancia - Vector - Touche Distance - Vector - Odległość - Vector - Zobrazit vzdálenost - Vecto - Tasto Distanza - Vector - Tecla de Distância - Vector - Távolság gomb - Vector – Расстояние - - + + + Vector IV + Vector IV + Vector IV + Vector IV + Vector IV + Vector IV + Vector IV + Vector IV + Vector IV + Vector IV + + + Rangefinder + Laserentfernungsmesser + Telémetro + Télémètre + Dalmierz laserowy + Dálkoměr + Telemetro + Távolságmérő + Telêmetro + Дальномер + + + Vector - Azimuth Key + Vector - Azimuth-Taste + Vector - Tecla de acimut + Vector - Touche Azimuth + Vector - Azymut + Vector - Zobrazit azimut + Vector - Tasto Azimuth + Vector - Tecla de Azimute + Vector - Irányszög gomb + Vector – Азимут + + + Vector - Distance Key + Vector - Entfernungs-Taste + Vector - Tecla de distancia + Vector - Touche Distance + Vector - Odległość + Vector - Zobrazit vzdálenost + Vecto - Tasto Distanza + Vector - Tecla de Distância + Vector - Távolság gomb + Vector – Расстояние + + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 580283dcab..d2dcde42e9 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... + 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 + Ключ для открытия большинства машин Гражданских. + + \ No newline at end of file From 87acec03f4eb3cf330ab31364f4e6acb9bd6341e Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 13 Apr 2015 09:45:44 -0700 Subject: [PATCH 143/145] Protect against CfgConvert errors from crashing make.py and properly restore config.cpp - fixes #557 --- tools/make.py | 28 +++++++++++++++++----------- tools/make64.py | 28 +++++++++++++++++----------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/tools/make.py b/tools/make.py index 65f447bff9..6222932727 100644 --- a/tools/make.py +++ b/tools/make.py @@ -606,14 +606,17 @@ See the make.cfg file for additional build options. 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)) - input("Press Enter to continue...") + 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)) - input("Press Enter to continue...") + 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: @@ -622,13 +625,16 @@ See the make.cfg file for additional build options. configtext = f.read() f.close() - 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() + 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") diff --git a/tools/make64.py b/tools/make64.py index 0382bb9179..24f8ea2b0b 100644 --- a/tools/make64.py +++ b/tools/make64.py @@ -606,14 +606,17 @@ See the make.cfg file for additional build options. 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)) - input("Press Enter to continue...") + 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)) - input("Press Enter to continue...") + 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: @@ -622,13 +625,16 @@ See the make.cfg file for additional build options. configtext = f.read() f.close() - 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() + 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") From 5269f32d627bb4ac4f82f07184994add198e0685 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Mon, 13 Apr 2015 19:11:39 +0200 Subject: [PATCH 144/145] weird but fixed Something went wrong there, but fixed --- addons/missileguidance/stringtable.xml | 79 ++++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 4 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 45a65c52a1..91c4b98cbf 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -28,8 +28,79 @@ /* Weapons */ - Hydra-70 DAGR MissileHydra-70 DAGRHydra-70 DAGRDAGRDAGRDAGRHydra-70 DAGR Laser Guided MissileLaserowo naprowadzana rakieta Hydra-70 DAGRHydra-70 DAGR laserem naváděná střela + + Hydra-70 DAGR Missile + + + Hydra-70 DAGR + + Hydra-70 DAGR + + + + + + + DAGR + + + DAGR + + DAGR + + + + + + + Hydra-70 DAGR Laser Guided Missile + + + Laserowo naprowadzana rakieta Hydra-70 DAGR + + Hydra-70 DAGR laserem naváděná střela + + + + + - /* Weapons */ - Hellfire II AGM-114K MissileHellfire II AGM-114KHellfire II AGM-114KAGM-114KAGM-114KAGM-114KHellfire II AGM-114K Laser Guided MissileLaserowo naprowadzana rakieta Hellfire II AGM-114KHellfire II AGM-114K laserem naváděná střela - \ No newline at end of file + /* Weapons */ + + Hellfire II AGM-114K Missile + + + Hellfire II AGM-114K + + Hellfire II AGM-114K + + + + + + + AGM-114K + + + AGM-114K + + AGM-114K + + + + + + + Hellfire II AGM-114K Laser Guided Missile + + + Laserowo naprowadzana rakieta Hellfire II AGM-114K + + Hellfire II AGM-114K laserem naváděná střela + + + + + + + From 2cd456432ee48100eed7248dbf1a91cba56396d3 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Mon, 13 Apr 2015 19:17:42 +0200 Subject: [PATCH 145/145] Update stringtable.xml --- addons/missileguidance/stringtable.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 91c4b98cbf..e0edd79308 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -26,8 +26,6 @@ - - /* Weapons */ Hydra-70 DAGR Missile @@ -64,8 +62,6 @@ - - /* Weapons */ Hellfire II AGM-114K Missile