From fde8f7383f4d4e63f4ff47e37b1cde4e0ac98fc0 Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Sun, 28 Jun 2015 13:08:47 -0500
Subject: [PATCH 01/48] Map Opened/Closed Events + use in maptools
---
addons/common/XEH_postInit.sqf | 18 ++++++++++
addons/maptools/XEH_postInitClient.sqf | 16 +++++++--
addons/maptools/XEH_preInit.sqf | 1 -
.../functions/fnc_mapStateUpdater.sqf | 33 -------------------
.../functions/fnc_updateMapToolMarkers.sqf | 10 ++++++
5 files changed, 42 insertions(+), 36 deletions(-)
delete mode 100644 addons/maptools/functions/fnc_mapStateUpdater.sqf
diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf
index 3796a4fdc8..159ef1883a 100644
--- a/addons/common/XEH_postInit.sqf
+++ b/addons/common/XEH_postInit.sqf
@@ -353,5 +353,23 @@ GVAR(deviceKeyCurrentIndex) = -1;
{false},
[0xC7, [true, false, false]], false] call cba_fnc_addKeybind; //SHIFT + Home Key
+//Map opened/closed Events:
+GVAR(mapOpened) = false;
+[] spawn {
+ waitUntil {(!isNull findDisplay 12)};
+ ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["Draw", {
+ if (!GVAR(mapOpened)) then {
+ GVAR(mapOpened) = true;
+ ["mapOpened", []] call FUNC(localEvent);
+ [{
+ if (!visibleMap) then {
+ GVAR(mapOpened) = false;
+ ["mapClosed", []] call FUNC(localEvent);
+ [_this select 1] call CBA_fnc_removePerFrameHandler;
+ };
+ }, 0, []] call CBA_fnc_addPerFrameHandler;
+ };
+ }];
+};
GVAR(commonPostInited) = true;
diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf
index 8129a75b15..e227463711 100644
--- a/addons/maptools/XEH_postInitClient.sqf
+++ b/addons/maptools/XEH_postInitClient.sqf
@@ -67,6 +67,18 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737];
// Update the size and rotation of map tools
[] call FUNC(updateMapToolMarkers);
-
- [FUNC(mapStateUpdater), 0, []] call CBA_fnc_addPerFrameHandler;
};
+
+["mapOpened", {
+ // Show and update map tools if required
+ [] call FUNC(updateMapToolMarkers);
+ // Show GPS if required
+ [GVAR(mapGpsShow)] call FUNC(openMapGps);
+}] call EFUNC(common,addEventHandler);
+
+["mapClosed", {
+ // Hide GPS
+ [false] call FUNC(openMapGps);
+ // Cancel drawing
+ call FUNC(cancelDrawing);
+}] call EFUNC(common,addEventHandler);
diff --git a/addons/maptools/XEH_preInit.sqf b/addons/maptools/XEH_preInit.sqf
index 2da38996c3..2bcd68385a 100644
--- a/addons/maptools/XEH_preInit.sqf
+++ b/addons/maptools/XEH_preInit.sqf
@@ -16,7 +16,6 @@ PREP(handleMouseButton);
PREP(handleMouseMove);
PREP(handleMouseZChanged);
PREP(isInsideMapTool);
-PREP(mapStateUpdater);
PREP(openMapGps);
PREP(openMapGpsUpdate);
PREP(removeLineMarker);
diff --git a/addons/maptools/functions/fnc_mapStateUpdater.sqf b/addons/maptools/functions/fnc_mapStateUpdater.sqf
deleted file mode 100644
index 2b4e634567..0000000000
--- a/addons/maptools/functions/fnc_mapStateUpdater.sqf
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#include "script_component.hpp"
-
-if (visibleMap) then {
- // Show/Hide draw buttons
- if ("ACE_MapTools" in items ACE_player) then {
- { ((finddisplay 12) displayctrl _x) ctrlShow true; } forEach GVAR(drawing_controls);
- } else {
- { ((finddisplay 12) displayctrl _x) ctrlShow false; } forEach GVAR(drawing_controls);
- if (GVAR(drawing_isDrawing)) then {
- call FUNC(cancelDrawing);
- };
- };
-};
-
-//When Map is Closed:
-if (GVAR(mapVisableLastFrame) && (!visibleMap)) then {
- GVAR(mapVisableLastFrame) = false;
- // Hide GPS
- [false] call FUNC(openMapGps);
- // Cancel drawing
- call FUNC(cancelDrawing);
-};
-
-//When Map is Opened:
-if ((!GVAR(mapVisableLastFrame)) && (visibleMap)) then {
- //todo: "mapOpened" Event????
- GVAR(mapVisableLastFrame) = true;
- // Show and update map tools if required
- [] call FUNC(updateMapToolMarkers);
- // Show GPS if required
- [GVAR(mapGpsShow)] call FUNC(openMapGps);
-};
diff --git a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
index fa6db8872a..959be6752e 100644
--- a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
+++ b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
@@ -20,6 +20,16 @@ PARAMS_1(_theMap);
private ["_rotatingTexture", "_textureWidth", "_scale", "_xPos", "_yPos"];
+// Show/Hide draw buttons
+if ("ACE_MapTools" in items ACE_player) then {
+ { ((finddisplay 12) displayctrl _x) ctrlShow true; } forEach GVAR(drawing_controls);
+} else {
+ { ((finddisplay 12) displayctrl _x) ctrlShow false; } forEach GVAR(drawing_controls);
+ if (GVAR(drawing_isDrawing)) then {
+ call FUNC(cancelDrawing);
+ };
+};
+
if (!("ACE_MapTools" in items ACE_player)|| {GVAR(mapTool_Shown) == 0}) exitWith {};
_rotatingTexture = "";
From 5609ec7b6b90233cdfbadac5ea093296e6902cc1 Mon Sep 17 00:00:00 2001
From: Jonathan Pereira
Date: Sat, 25 Jul 2015 12:56:50 -0300
Subject: [PATCH 02/48] Added PT-BR translations
New PT-BR translations, including the slideshow and spectator module.
---
addons/interact_menu/stringtable.xml | 3 +++
addons/interaction/stringtable.xml | 9 +++++----
addons/medical/stringtable.xml | 6 ++++++
addons/slideshow/stringtable.xml | 13 +++++++++++++
addons/spectator/stringtable.xml | 15 +++++++++++++++
5 files changed, 42 insertions(+), 4 deletions(-)
diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml
index 5ab782803d..736b520f94 100644
--- a/addons/interact_menu/stringtable.xml
+++ b/addons/interact_menu/stringtable.xml
@@ -90,6 +90,7 @@
Akcje ZeusaAkce ZeuseAcciones Zeus
+ Ações do ZeusInteraction - Text Max
@@ -256,12 +257,14 @@
Pokazuj akcje dla budynkówZobrazit akci pro budovyMostrar acciones para edificios
+ Mostrar ações para edifíciosAdds interaction actions for opening doors and mounting ladders on buildings. (Note: There is a performance cost when opening interaction menu, especially in towns)Dodaje opcje interakcji dla otwierania drzwi oraz wchodzenia po drabinach do budynków. Uwaga: Użycie tej opcji może spowodować spadek wydajności menu interakcji, szczególnie w dużych miastach.Přidá možnost interakce pro otevření dvěří a umistňovat žebříky na budovy. (Poznámka: Použití této možnosti snižuje výkon při otevírání pomocí interakčního menu, zejména ve velkých městech.) Añade las acciones de interacción para la apertura de puertas y montaje de escaleras en los edificios. (Nota: Hay un coste de rendimiento al abrir el menú de interacción, especialmente en las ciudades)
+ Adiciona ações de interações para abrir portas e montar escadas em edifícios. (Nota: Existe um custo de performance quando aberto o menu de interação, especialmente em cidades)
\ No newline at end of file
diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml
index 5bd3282872..7e5eca1947 100644
--- a/addons/interaction/stringtable.xml
+++ b/addons/interaction/stringtable.xml
@@ -798,6 +798,7 @@
OtwórzOtevřítAbrir
+ AbrirInteraction System
@@ -805,7 +806,7 @@
Sistema de interacciónInteraktionssystemSystém interakce
- Sistema de interação
+ Sistema de interaçãoEnable Team Management
@@ -813,7 +814,7 @@
Habilitar gestión de equiposAktiviere GruppenverwaltungPovolit správu týmu
- Habilitar gestão de equipes
+ Habilitar gestão de equipesShould players be allowed to use the Team Management Menu? Default: Yes
@@ -821,15 +822,15 @@
¿Deben tener permitido los jugadores el uso del menu de gestión de equipos? Por defecto: SiSollen Spieler das Gruppenverwaltungsmenü verwenden dürfen? Standard: JaMohou hráči použít menu správy týmu? Výchozí: Ano
- Devem os jogadores ter permissão de usar o menu de gestão de equipes? Padrão: Sim
+ Devem os jogadores ter permissão de usar o menu de gestão de equipes? Padrão: SimTeam management allows color allocation for team members, taking team command and joining/leaving teams.Na zarządzanie drużyną składa się: przydział kolorów dla członków drużyny, przejmowanie dowodzenia, dołączanie/opuszczanie drużyn.Die Gruppenverwaltung erlaubt die Zuweisung von Farben für Einheiten, die Kommandierung und das Beitreten/Verlassen einer Gruppe.Správa týmu se skládá z: přidělení barev pro členy týmu, převzetí velení, připojení/odpojení.
- O módulo de gestão de equipe é composto por: a atribuição de cores para os membros da equipe, comando das equipes, juntando-se / deixando equipes.La gestión del equipo permite la asignación de colores para los miembros del equipo, tomando el mando del equipo y uniendo/dejando equipos.
+ O módulo de gestão de equipe é composto por: a atribuição de cores para os membros da equipe, comando das equipes, juntando-se / deixando equipes.
\ No newline at end of file
diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml
index 5ceb625f59..b65343d1bf 100644
--- a/addons/medical/stringtable.xml
+++ b/addons/medical/stringtable.xml
@@ -3193,11 +3193,13 @@
Condition PAKPodmínka osobní lékárničkyCondición EPA
+ Condição do KPSWhen can the Personal Aid Kit be used?Kde může být použita osobní lékárnička?¿Cuando se puede utilizar el Equipo de primeros auxilios?
+ Onde o kit de primeiros socorros pode ser utilizado?Anywhere
@@ -3302,11 +3304,13 @@
Condition Surgical kit (Adv)Podmínka chirurgické soupravy (Pokr.)Condición de equipo quirúrgico (Av)
+ Condição do Kit Cirúrgico (Avançado)When can the Surgical kit be used?Kde může být použita chirurgická souprava?¿Cuando se puede utilizar el equipo quirúrgico?
+ Onde o kit cirúrgico pode ser utilizado?Bloodstains
@@ -3635,11 +3639,13 @@
AnytimeKdykoliSiempre
+ SempreStableStabilníEstable
+ Estável
\ No newline at end of file
diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml
index 63547c06e2..98e8b0e236 100644
--- a/addons/slideshow/stringtable.xml
+++ b/addons/slideshow/stringtable.xml
@@ -3,42 +3,55 @@
Slideshow
+ Apresentação de SlidesThis module allows you to set up slide-shows on different objects. One module per image list. Only objects with hiddenSelection 0 are supported.
+ Este módulo permite que você monte apresentações de slides em diferentes objetos. Um módulo por lista de imagem. Somente objetos com hiddenSelection 0 são suportados.Objects
+ ObjetosObject names (can also be synchronized objects) slide-show will be displayed on, separated by commas if multiple. Reference INFO for object support.
+ Nomes dos objetos (também podem ser objetos sincronizados) em que a apresentação de slides será mostrada, separado por vírgulas se for mais de um. Referência INFO para suporte do objeto.Controllers
+ ControlesController object names, separated by commas if multiple.
+ Nome dos objetos de controle, separado por vírgula se mais de um.Images
+ ImagensList of images that will be used for the slide-show, separated by commas, with full path correctly formatted (eg. images\image.paa).
+ Lista das imagens que serão utilizadas na apresentação de slides, separadas por vírgula, com o caminho completo corretamente formatado (ex: imagens\imagem.paa).Interaction Names
+ Nomes de InteraçãoList of names that will be used for interaction entries, separated by commas, in order of images.
+ Lista dos nomes que serão usados para entradas de interação, separados por vírgulas, na ordem das imagens.Slide Duration
+ Duração do SlideDuration of each slide. Default: 0 (Automatic Transitions Disabled)
+ Duração de cada slide. Padrão: 0 (Transição automática desabilitada)Slides
+ Slides
\ No newline at end of file
diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml
index 5cd585108a..a4865cdb9c 100644
--- a/addons/spectator/stringtable.xml
+++ b/addons/spectator/stringtable.xml
@@ -6,90 +6,105 @@
ObserwatorPozorovatelEspectador
+ EspectadorEnable SpectatorAktywuj obserwatoraPovolit pozorovateleActivar espectador
+ Ativar espectadorBegin spectating on player death?Włącz obserwatora po śmierci gracza?Přepnout do pozorovatele po hráčově smrti?¿Comenzar como espectador al morir el jugador?
+ Começar como espectador após morte de jogador?Player Side OnlyTylko strona graczaPouze strana hráčeSólo bando del jugador
+ Somente lado do jogadorOnly spectate units belonging to player's side?Pozwól obserwować jednostki będące tylko po stronie gracza?Pozorovat pouze jednotky patřící k hráčově straně?¿Sólo observar unidades que pertenecen al bando del jugador?
+ Somente observar unidades que pertençam ao lado do jogador?Spectate AIObserwacja AIPozorovat AIObservar IA
+ Observar IAAllow spectating of AI units?Pozwól obserwować jednostki AI?Umožnit pozorovat AI jednotky?¿Permitir observar unidades de la IA?
+ Permitir observar unidades da IA?Track UnitsŚledź jednostkiSledovat jednotkySeguir unidades
+ Rastrear unidadesTrack units' movements throughout mission?Śledź ruch jednostek w trakcie misji?Sledovat pohyby jednotek napříč misí?¿Seguimiento de movimientos de unidades a lo largo de la misión?
+ Rastrear unidades ao longo da missão?Start PositionPozycja startowaPočáteční pozicePosición de inicio
+ Posição de inícioUse this module as a starting position for spectator camera?Użyj pozycji modułu jako pozycje startową dla kamery obserwatora?Použít tento modul jako počáteční pozici pro pozorovací kameru?¿Utiliza este módulo como una posición de inicio para la cámara de espectador?
+ Usar este módulo como uma posição de início para a câmera do espectador?End MissionZakończ misjęKonec miseFinalizar misión
+ Finalizar missãoEnd mission when all players dead (default BIS behaviour)?Zakończ misję kiedy wszyscy gracze będą martwi (domyślne zachowanie BIS)?Ukončit misi když umřou všichni hráči (výchozí BIS chování)?¿Finalizar misión cuando todos los jugadores mueran (comportamiento por defecto de BIS)?
+ Finalizar missão quando todos os jogadores estiverem mortos (Comportamento padrão da BIS)?View DistanceZasięg widzeniaDohlednostDistancia de visión
+ Distância de visãoOKOKOKAceptar
+ OK
\ No newline at end of file
From d0f91c5ebfdbfe6f68a1f79da45200afcebe4103 Mon Sep 17 00:00:00 2001
From: Harakhti
Date: Thu, 30 Jul 2015 14:40:51 +0200
Subject: [PATCH 03/48] Row 1
Not a miracle, but it's something.
---
addons/advanced_ballistics/stringtable.xml | 24 +++++
addons/ballistics/stringtable.xml | 1 +
addons/captives/stringtable.xml | 10 +-
addons/common/stringtable.xml | 18 +++-
addons/explosives/stringtable.xml | 10 +-
addons/finger/stringtable.xml | 12 ++-
addons/frag/stringtable.xml | 4 +-
addons/hearing/stringtable.xml | 4 +-
addons/interact_menu/stringtable.xml | 9 +-
addons/interaction/stringtable.xml | 5 +
addons/map/stringtable.xml | 8 ++
addons/medical/stringtable.xml | 106 +++++++++++++++++++++
addons/microdagr/stringtable.xml | 9 +-
addons/missileguidance/stringtable.xml | 3 +
addons/missionmodules/stringtable.xml | 9 ++
addons/mk6mortar/stringtable.xml | 6 +-
addons/mx2a/stringtable.xml | 4 +-
addons/optionsmenu/stringtable.xml | 21 +++-
addons/parachute/stringtable.xml | 4 +-
addons/rangecard/stringtable.xml | 9 +-
addons/respawn/stringtable.xml | 12 ++-
addons/sitting/stringtable.xml | 5 +
addons/tacticalladder/stringtable.xml | 11 ++-
23 files changed, 280 insertions(+), 24 deletions(-)
diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml
index b30485aae6..45e0d042a5 100644
--- a/addons/advanced_ballistics/stringtable.xml
+++ b/addons/advanced_ballistics/stringtable.xml
@@ -32,6 +32,7 @@
Erweiterte BallistikPokročilá balistikaBalística avançada
+ Fejlett ballisztikaAdvanced Ballistics
@@ -40,6 +41,7 @@
Erweiterte BallistikPokročilá balistikaBalística avançada
+ Fejlett ballisztikaEnables advanced ballistics
@@ -48,6 +50,7 @@
Aktiviert die erweiterte BallistikAktivuje pokročilou balistikuAtiva balística avançada
+ Engedélyezi a fejlett ballisztikátEnabled For Snipers
@@ -56,6 +59,7 @@
Für Scharfschützen aktiviertPovoleno pro odstřelovačeAtivar para caçadores
+ Mesterlövészeknek engedélyezveEnables advanced ballistics for non local snipers (when using high power optics)
@@ -64,6 +68,7 @@
Aktiviert die erweiterte Ballistik für nicht lokale Scharfschützen (bei Benutzung von Optiken mit starker Vergrößerung)Aktivuje pokročilou balistiku pro nelokální odstřelovače (když používá výkonnou optiku)Ativa balística avançada para caçadores não locais (quando usando miras telescópicas)
+ Engedélyezi a fejlett ballisztikát nem-helyi mesterlövészeknek (nagy-teljesítményű optika használatakor)Enabled For Group Members
@@ -72,6 +77,7 @@
Für Gruppenmitglieder aktiviertPovoleno pro členy skupinyAtivada para membros do grupo
+ Csoporttagoknak engedélyezveEnables advanced ballistics for non local group members
@@ -80,6 +86,7 @@
Aktiviert die erweiterte Ballistik für nicht lokale GruppenmitgliederAktivuje pokročilou balistiku pro nelokální členy skupinyAtiva balística avançada para membros de grupo não locais
+ Engedélyezi a fejlett ballisztikát nem-helyi csoporttagoknakEnabled For Everyone
@@ -88,6 +95,7 @@
Für jeden aktiviertPovoleno pro všechnyAtivada para todos
+ Mindenkinek engedélyezveEnables advanced ballistics for all non local players (enabling this may degrade performance during heavy firefights in multiplayer)
@@ -96,6 +104,7 @@
Aktiviert die erweiterte Ballistik für alle nicht lokalen Spieler (das Aktivieren dieser Funktion kann zur Beeinträchtigung des Spielerlebnisses im Multiplayer führen)Aktivovat pokročilou balistiku pro všechny nelokální hráče (aktivace této možnosti způsobuje pokles snímu za sekundu během těžké přestřelky v multiplayeru)Ativa balística avançada para todos os jogadores não locais (ativando isso pode degradar a performance durante troca de tiros intensas no multiplayer)
+ Engedélyezi a fejlett ballisztikát az összes nem-helyi játékosnak (ez a funkció leronthatja a teljesítményt intenzív többjátékos tűzharcok alatt)Always Enabled For Group Members
@@ -104,6 +113,7 @@
Für Gruppenmitglieder immer aktiviertVždy povoleno pro členy skupinySempre ativada para membros do grupo
+ Mindig engedélyezve csoporttagoknakAlways enables advanced ballistics when a group member fires
@@ -112,6 +122,7 @@
Aktiviert die erweiterte Ballistik immer, wenn ein Gruppenmitglied schießtAktivuje pokročilou balistiku pro členy skupinySempre ative balística avançada quando um membro do grupo disparar
+ Mindig engedélyezi a fejlett ballisztikát, ha egy csoporttag tüzelDisabled In FullAuto Mode
@@ -120,6 +131,7 @@
Beim vollautomatischen Feuern deaktiviertZakázáno v automatickém režimu střelbyDesabilitar no modo automático
+ Automata módban letiltvaDisables the advanced ballistics during full auto fire
@@ -128,6 +140,7 @@
Deaktiviert die erweiterte Ballistik beim vollautomatischen FeuernZákáže pokročilou balistiku během střelby v režimu automatDesabilitar a balística avançada durante fogo automático
+ Letiltja a fejlett ballisztikát automata tüzelés folyamánEnable Ammo Temperature Simulation
@@ -136,6 +149,7 @@
Simulation der Munitionstemperatur aktivierenPovolit simulaci teploty municeAtivar simulação de temperatura de munição
+ Lőszer-hő szimuláció engedélyezéseMuzzle velocity varies with ammo temperature
@@ -144,6 +158,7 @@
Munitionstemperatur hat Einfluss auf die MündungsgeschwindigkeitÚsťová rychlost je závislá na teplotě municeA velocidade de saída varia com a temperatura da munição
+ A kezdősebesség a lőszer hőmérsékletétől függően változóEnable Barrel Length Simulation
@@ -152,6 +167,7 @@
Simulation der Lauflänge aktivierenPovolit simulaci délky hlavněAtivar a simulação de comprimento do cano
+ Csőhossz-szimuláció engedélyezéseMuzzle velocity varies with barrel length
@@ -160,6 +176,7 @@
Lauflänge beeinflusst MündungsgeschwindigkeitÚsťová rychlost je závislá na délce hlavněA velocidade de saída caria com o comprimento do cano
+ A kezdősebesség a cső hosszától függően változóEnable Bullet Trace Effect
@@ -168,6 +185,7 @@
Geschossspureffekt aktivierenPovolit efekt trasírekAtiva efeito traçante de projétil
+ Nyomkövető-effekt engedélyezéseEnables a bullet trace effect to high caliber bullets (only visible when looking through high power optics)
@@ -176,6 +194,7 @@
Aktiviere Geschossspureffekt für hohe Kaliber (bei Benutzung von Optiken mit starker Vergrößerung)Aktivuje efekt trasírek z vysokokaliberních zbraní (viditelné pouze skrze výkonnou optiku)Ativa o efeito traçante de projétil para projéteis de alto calibre (somente visível quando observado por miras telescópicas)
+ Engedélyezi a nagy kaliberű lövedékek nyomának vizuális követését (csak nagy teljesítményű optikán keresztül látható)Simulation Interval
@@ -184,6 +203,7 @@
SimulationsintervallInterval simulaceIntervalo da simulação
+ Szimuláció intervallumaDefines the interval between every calculation step
@@ -192,6 +212,7 @@
Legt das Intervall zwischen den Berechnungsschritten festUrčuje interval mezi každým výpočtemDefine o intervalo entre cada cálculo
+ Meghatározza a számítási lépések közötti időintervallumotSimulation Radius
@@ -200,6 +221,7 @@
SimulationsradiusRozsah simulaceRaio de simulação
+ Szimuláció hatóköreDefines the radius around the player (in meters) at which advanced ballistics are applied to projectiles
@@ -208,12 +230,14 @@
Gibt den Radius (in Metern) um den Spieler an, bei dem die erweiterte Ballistik auf Geschosse angewendet wirdUrčuje oblast kolem hráče (v metrech), kde je pokročilá balistika použita na projektilDefine o raio ao redor do jogador (em metros) onde a balística avançada será aplicada aos projéteis
+ Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnakThis module enables advanced ballistics simulation - meaning the trajectory of projectiles is influenced by variables like air temperature, atmospheric pressure, humidity, gravity, the type of ammunition and the weapon from which it was fired.Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki.Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice.Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa.
+ Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket.
\ No newline at end of file
diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml
index db44078980..70591dcbfe 100644
--- a/addons/ballistics/stringtable.xml
+++ b/addons/ballistics/stringtable.xml
@@ -1599,6 +1599,7 @@
[ACE] Munitionskiste[ACE] Bedna s municí[ACE] Caixa com suprimentos de munição
+ [ACE] Lőszeres láda
\ No newline at end of file
diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml
index 39cf65cac7..dfeea70c34 100644
--- a/addons/captives/stringtable.xml
+++ b/addons/captives/stringtable.xml
@@ -164,6 +164,7 @@
Einheit kapitulieren lassenVzdávající se jednotkaFazer unidade se render
+ Egység kapitulálásaSync a unit to make them surrender.<br />Source: ace_captives
@@ -172,6 +173,7 @@
Einheit synchronisieren, um sie kapitulieren zu lassen.<br />Quelle: ace_captivesSynchronizuj s jednotkou, která se má vzdát.<br />Zdroj: ace_captivesSincroniza uma unidade para fazer com que ela se renda. <br/>Fonte: ace_captives
+ Egység szinkronizálása, hogy kapituláljon.<br />Forrás: ace_captivesCaptives Settings
@@ -180,6 +182,7 @@
Nastavení zajatceGefangenen-EinstellungenAjustes de prisioneiros
+ Fogoly-beállításokControls settings for surrender and cable ties
@@ -188,6 +191,7 @@
Toto kontroluje nastavení kapitulace a poutEinstellungen zur Kapitulation und KabelbindernControla as configurações de rendição e abraçadeiras
+ Szabályozza a kapituláció és bilincselés beállításaitCan handcuff own side
@@ -196,6 +200,7 @@
Může spoutat spolubojovníkyKann Teamkollegen fesselnPode algemar o próprio lado
+ Saját oldal megbilincselhetőCan players cabletie units on their own side
@@ -204,6 +209,7 @@
Mohou hráči spoutat jednotky na své straněKönnen Spieler eigene Einheiten fesselnOs jogadores podem algemar unidades do seu lado
+ A játékosok megkötözhetik-e a saját oldalukon lévő egységeketAllow surrendering
@@ -212,6 +218,7 @@
Povolit vzdáváníKapitulation erlaubenPermite rendição
+ Kapituláció engedélyezésePlayers can surrender after holstering their weapon
@@ -220,6 +227,7 @@
Hráč se může vzdát poté, co si skryje zbraňSpieler können kapitulieren, nachdem sie ihre Waffe geholstert habenJogadores podem se render depois de guardar sua arma
+ A játékosok megadhatják magukat a fegyverük elrakása után
-
+
\ No newline at end of file
diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml
index 6ed5e10d5a..b1faab907e 100644
--- a/addons/common/stringtable.xml
+++ b/addons/common/stringtable.xml
@@ -477,9 +477,9 @@
Überprüfe PBOsZkontrolovat PBOVerificar PBOs
+ PBO-k ellenőrzése
- Sprawdzaj spójność addonów z serweremEste módulo verifica la integridad de los addons con los que iniciamos el simuladorDieses Modul überprüft ob jeder Spieler die richtigen PBO-Dateien hat.
@@ -493,6 +493,7 @@
AktionAkceAção
+ CselekvésWhat to do with people who do not have the right PBOs?
@@ -501,6 +502,7 @@
Was soll mit Leuten passieren, die nicht die richtigen PBOs haben?Co udělat s lidmi, co nemají správné addony?O que fazer com pessoas que não tem os PBOs corretos?
+ Mi legyen azokkal a személyekkel, akiknek nincsenek meg a helyes PBO-k?Warn once
@@ -509,6 +511,7 @@
Einmal verwarnenUpozornit jednouAvisar uma vez
+ Egyszeri figyelmeztetésWarn (permanent)
@@ -517,6 +520,7 @@
Immer verwarnenUpozornit (permanentně)Avisar (permanente)
+ Figyelmeztetés (tartós)Kick
@@ -525,6 +529,7 @@
KickenVyhoditChutar
+ KirúgásCheck all addons
@@ -533,6 +538,7 @@
Alle Addons überprüfenZkontrolovat všechny addonyVerificar todos addons
+ Összes bővítmény ellenőrzéseCheck all addons instead of only those of ACE?
@@ -541,6 +547,7 @@
Alle Addons anstatt nur ACE überprüfen?Zkontrolovat všechny addony namísto jen těch od ACE?Verificar todos addons invés de só os do ACE?
+ Az összes bővítmény ellenőrzése, csak az ACE helyett?Whitelist
@@ -549,6 +556,7 @@
WhitelistSeznam povolenýchLista branca
+ FehérlistaWhat addons are allowed regardless?
@@ -557,6 +565,7 @@
Welche Addons werden dennoch erlaubt?Jaké addony jsou povoleny?Quais addons são permitidos de qualquer maneira?
+ Milyen bővítmények vannak feltétlenül engedélyezve?LSD Vehicles
@@ -565,6 +574,7 @@
LSD-FahrzeugeLSD vozidlaVeículos LSD
+ LSD járművekAdds LSD effect to synchronized vehicle
@@ -573,6 +583,7 @@
Fügt einen LSD-Effekt zum synchronisierten Fahrzeug hinzuPřidá LSD efekt pro synchronizované vozidlaAdiciona efeito LSD ao veículo sincronizado
+ LSD-effekt hozzáadása a szinkronizált járművekhezToggle Handheld Device
@@ -581,6 +592,7 @@
Ativa dispositivo de mãoPrzełącz urządzenie podręcznePřepnout ruční zařízení
+ Kézi eszköz kapcsolásaClose Handheld Device
@@ -589,6 +601,7 @@
Fecha dispositivo de mãoZamknij urządzenie podręczneZavřít ruční zařízení
+ Kézi eszköz bezárásaCycle Handheld Devices
@@ -597,6 +610,7 @@
Troca dispositivos de mãoNastępne urządzenie podręczneProcházet ruční zařízení
+ Kézi eszköz váltása
-
+
\ No newline at end of file
diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml
index a985b428c1..b4b9f7c7cf 100644
--- a/addons/explosives/stringtable.xml
+++ b/addons/explosives/stringtable.xml
@@ -476,7 +476,7 @@
Spínač mrtvého mužeCzuwakDetonador de hombre muerto
- Dead Man's Switch
+ Halott ember kapcsolójaDetonador do homem mortoКнопка мертвецаDetonatore a rilascio
@@ -512,6 +512,7 @@
SprengstoffsystemSystém výbušninSistema de explosivos
+ Robbanóanyag-rendszerRequire specialists?
@@ -520,6 +521,7 @@
Benötigt Sprengstoffexperten?Vyžadovat specialistu?Requer especialista?
+ Specialisták igénylése?Require explosive specialists to disable explosives? Default: No
@@ -528,6 +530,7 @@
Benötige Sprengstoffexperte um Sprengladungen zu entschärfen? Standard: NeinVyžadovat specialistu na zneškodnění výbušniny? Výchozí: NeRequer especialista em explosivos para desativar explosivos? Padrão: Não
+ Szükséges-e egy specialista a robbanóanyagok hatástalanításához? Alapértelmezett: NemPunish non-specialists?
@@ -536,6 +539,7 @@
Bestrafe Nicht-Sprengstoffexperten?Potrestat, pokud není specialista?Punir não especialistas?
+ Nem-specialisták büntetése?Increase the time it takes to complete actions for non-specialists? Default: Yes
@@ -544,6 +548,7 @@
Entschärfungszeit für Nicht-Sprengstoffexperten erhöhen? Standard: JaZvýšit čas potřebný k dokončení akce pokud není specialista? Výchozí: AnoAumentar o tempo necessário para completar ações por não especialistas? Padrão: Sim
+ Nem-specialisták esetén több ideig tartson a cselekvés befejezése? Alapértelmezett: IgenExplode on defusal?
@@ -551,6 +556,7 @@
Eksplozja przy rozbrajaniu?Explodovat při zneškodňování?Explotar al desactivar?
+ Robbanás hatástalanításkor?Enable certain explosives to explode on defusal? Default: Yes
@@ -558,6 +564,7 @@
Spraw, aby niektóre ładunki wybuchowe eksplodowały przy próbie ich rozbrojenia? Domyślnie:TakUmožnit u některých výbušnin explozi při pokusu je zneškodnit? Výchozí: Ano¿Habilitar ciertos explosivos para estallar al desactivar? Por defecto: Sí
+ Meghatározott robbanóanyagok felrobbanjanak-e hatástalanításkor? Alapértelmezett: IgenThis module adjusts the settings related to explosives.
@@ -565,6 +572,7 @@
Dieses Modul erlaubt die Einstellungen für Sprengstoffe zu verändern.Tento modul umoňuje přizpůsobit nastavení týkajících se výbušnin.Este módulo permite personalizar as definições relacionadas a explosivos.
+ Ez a modul a robbanóanyagokhoz kötött beállításokat szabályozza.
\ No newline at end of file
diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml
index bbc308fcd7..57fab198fb 100644
--- a/addons/finger/stringtable.xml
+++ b/addons/finger/stringtable.xml
@@ -4,37 +4,47 @@
Show finger indicator to selfОтображать пальце-индикатор для показывающего игрока
+ Saját mutatási indikátor megjelenítéseRender the indicator for the pointing player. This option doesn't affect whether the other players would see the indicatorОтображать индикатор для показывающего игрока. Эта настройка не влияет на то, будутт ли другие игроки видеть индикатор
+ Az indikátor megjelenítése a mutató játékosnak. Ez a beállítás nem változtat azon, hogy más játékosok látják-e az indikátort.Finger indicatorПальце-индикатор
+ Ujj-indikátorColor of the finger-pointing indicator circleЦвет индикатора пальце-указания
+ Mutatási indikátor körének színeAction "point a finger at"Действие "показать пальцем на"
+ Cselekvés "ujj rámutatása"Points, and shows a virtual marker of where you are looking to nearby units. Can be held down.
+ Mutat, és elhelyez egy virtuális jelölőt a nézett területhez közeli egységekhez. Lenyomva tartható.Finger Settings
+ Ujj beállításaiFinger Pointing Enabled
+ Mutatás engedélyezéseFinger Max Range
+ Ujj maximum hatótávjaHow far away players can finger each other. [default: 4]
+ Milyen messziről ujjazhatják egymást a játékosok. [alapértelmezett: 4]
-
+
\ No newline at end of file
diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml
index 5a59b15a4a..c4fac44ec0 100644
--- a/addons/frag/stringtable.xml
+++ b/addons/frag/stringtable.xml
@@ -8,6 +8,7 @@
SplittersimulationSimulace fragmentaceSimulação de fragmentação
+ Repesz-szimulációEnable the ACE Fragmentation Simulation
@@ -16,6 +17,7 @@
Aktiviere die ACE-SplittersimulationPovolit ACE simulaci fragmentaceAtiva a simulação de fragmentação do ACE
+ Az ACE repesz-szimuláció engedélyezéseSpalling Simulation
@@ -82,4 +84,4 @@
(Somente SP) Requer um reinício de missão / editor. Habilita o rastreamento visual de projéteis de fragmentação e estilhaçamento apenas no modo de jogo SP.
-
+
\ No newline at end of file
diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml
index dbd063b752..6316e06043 100644
--- a/addons/hearing/stringtable.xml
+++ b/addons/hearing/stringtable.xml
@@ -116,6 +116,7 @@
GehörSluchAudição
+ HallásEnable combat deafness?
@@ -124,6 +125,7 @@
Aktiviere Taubheit im Gefecht?Povolit ztrátu sluchu?Ativar surdez em combate?
+ Harci süketség engedélyezése?Enable combat deafness?
@@ -132,9 +134,9 @@
Aktiviere Taubheit im Gefecht?Povolit ztrátu sluchu?Ativar surdez em combate?
+ Harci süketség engedélyezése?
- Głuchota bojowa pojawia się w momentach, kiedy stoimy w pobliżu broni wielkokalibrowej bez ochrony słuchu, lub np. podczas ostrzału artyleryjskiego. Moduł ten pozwala na włączenie lub wyłączenie tego efektu.Dieses Modul aktiviert/deaktiviert die Taubheit im Gefecht. Wenn aktiviert, können Spieler ohne Gehörschutz taub werden, wenn eine Waffe in ihrer Nähe abgefeuert wird oder eine Explosion stattfindet.Ztráta sluchu je možná ve chvíly, kdy se v bezprostřední blízkosti střílí z velkorážní zbraně nebo při bombardování a osoba je bez ochrany sluchu (např. špunty). Tento modul umožňuje tuto věc povolit nebo zakázat.
diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml
index b55e8483a1..3963125481 100644
--- a/addons/interact_menu/stringtable.xml
+++ b/addons/interact_menu/stringtable.xml
@@ -90,6 +90,7 @@
Akcje ZeusaAkce ZeuseAcciones Zeus
+ Zeus cselekvésekInteraction - Text Max
@@ -230,6 +231,7 @@
Pozadí menu interakceInteraktionsmenü-HintergrundFundo do menu de interação
+ Cselekvő menü háttereBlur the background while the interaction menu is open.
@@ -238,6 +240,7 @@
Rozmazat obraz pokud je interakční menu otevřené.Den Hintergrund verschwimmen lassen, während das Interaktionsmenü geöffnet ist.Desfocar o fundo enquanto o menu de interação está aberto.
+ A háttér elmosása a cselekvő menü használata alatt.Blur screen
@@ -246,6 +249,7 @@
Rozmazaný obrazVerschwommenes BildDesfoque de tela
+ Kép elmosásaBlack
@@ -254,18 +258,21 @@
Černý obrazPretoSchwarz
+ FeketeShow actions for buildingsPokazuj akcje dla budynkówZobrazit akci pro budovyMostrar acciones para edificios
+ Cselekvések mutatása épületeknélAdds interaction actions for opening doors and mounting ladders on buildings. (Note: There is a performance cost when opening interaction menu, especially in towns)Dodaje opcje interakcji dla otwierania drzwi oraz wchodzenia po drabinach do budynków. Uwaga: Użycie tej opcji może spowodować spadek wydajności menu interakcji, szczególnie w dużych miastach.Přidá možnost interakce pro otevření dvěří a umistňovat žebříky na budovy. (Poznámka: Použití této možnosti snižuje výkon při otevírání pomocí interakčního menu, zejména ve velkých městech.) Añade las acciones de interacción para la apertura de puertas y montaje de escaleras en los edificios. (Nota: Hay un coste de rendimiento al abrir el menú de interacción, especialmente en las ciudades)
+ Cselekvéseket engedélyez ajtók kinyitására és létrák mászására. (Figyelem: ez teljesítményvesztéssel járhat a menü megnyitásakor, főleg városokban)
-
+
\ No newline at end of file
diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml
index 5bd3282872..34a20f4df9 100644
--- a/addons/interaction/stringtable.xml
+++ b/addons/interaction/stringtable.xml
@@ -798,6 +798,7 @@
OtwórzOtevřítAbrir
+ NyitásInteraction System
@@ -806,6 +807,7 @@
InteraktionssystemSystém interakceSistema de interação
+ Interakciós rendszerEnable Team Management
@@ -814,6 +816,7 @@
Aktiviere GruppenverwaltungPovolit správu týmuHabilitar gestão de equipes
+ Csapatkezelés engedélyezéseShould players be allowed to use the Team Management Menu? Default: Yes
@@ -822,6 +825,7 @@
Sollen Spieler das Gruppenverwaltungsmenü verwenden dürfen? Standard: JaMohou hráči použít menu správy týmu? Výchozí: AnoDevem os jogadores ter permissão de usar o menu de gestão de equipes? Padrão: Sim
+ A játékosoknak engedélyezve legyen a csapatkezelő menü? Alapértelmezett: IgenTeam management allows color allocation for team members, taking team command and joining/leaving teams.
@@ -830,6 +834,7 @@
Správa týmu se skládá z: přidělení barev pro členy týmu, převzetí velení, připojení/odpojení. O módulo de gestão de equipe é composto por: a atribuição de cores para os membros da equipe, comando das equipes, juntando-se / deixando equipes.La gestión del equipo permite la asignación de colores para los miembros del equipo, tomando el mando del equipo y uniendo/dejando equipos.
+ A csapatkezelés engedélyezi a tagok színének meghatározását, a vezetés átvételét, és csapatoknál be-és kilépést.
\ No newline at end of file
diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml
index 3f2d312fae..793dd88599 100644
--- a/addons/map/stringtable.xml
+++ b/addons/map/stringtable.xml
@@ -8,6 +8,7 @@
KarteMapaMapa
+ TérképMap illumination?
@@ -87,6 +88,7 @@
Blue Force TrackingBlue Force TrackingRastreio de forças azuis
+ Blue Force követésBFT Enable
@@ -94,6 +96,7 @@
Aktywuj BFTPovolit BFTActivar BFT
+ BFT engedélyezéseEnable Blue Force Tracking. Default: No
@@ -101,6 +104,7 @@
Aktywuj Blue Force Tracking. Domyślnie: NiePovolit Blue Force Tracking. Výchozí: NeActivar Blue Force Tracking. Por defecto: No
+ Blue Force követés engedélyezése. Alapértelmezett: NemInterval
@@ -109,6 +113,7 @@
IntervallIntervalIntervalo
+ IntervallumHow often the markers should be refreshed (in seconds)
@@ -117,6 +122,7 @@
Wie oft sollen die Markierungen aktualisiert werden (in Sekunden)Jak často budou značky aktualizovány (v sekundách)Frequência em que os marcadores devem ser atualizados (em segundos)
+ Milyen gyakran frissüljenek a jelölők (másodpercben)Hide AI groups?
@@ -125,6 +131,7 @@
KI-Gruppen verstecken?Skrýt AI skupiny?Esconder grupos de IA?
+ AI csoportok elrejtése?Hide markers for 'AI only' groups?
@@ -133,6 +140,7 @@
Verstecke Marker für "nur KI"-Gruppen?Skrýt značky pouze pro AI skupiny?Esconder marcadores que pertencem ao grupo de IA?
+ Jelölők elrejtése "csak AI" csoportoknál?This module allows the tracking of allied units with BFT map markers.
diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml
index 32c38397c0..8fe1afa08e 100644
--- a/addons/medical/stringtable.xml
+++ b/addons/medical/stringtable.xml
@@ -1593,6 +1593,7 @@
KeineŽádnýNada
+ NincsWeak
@@ -2213,6 +2214,7 @@
Obvázání odstraňuje skvrny od krveEl vendaje elimina las manchas de sangreBandagem remove manchas de sangue
+ A kötözés eltávolítja a vérfoltokatPain is only temporarily suppressed
@@ -2221,6 +2223,7 @@
Bolest je potlačena pouze dočasněEl dolor se suprime solo temporalmenteDor é suprimida somente temporáriamente
+ A fájdalom csak ideiglenesen csökkenPain Effect Type
@@ -2734,6 +2737,7 @@
ACE-MedicsystemACE ZdravotnickéACE Médico
+ ACE Orvosi RendszerMedical Settings [ACE]
@@ -2743,6 +2747,7 @@
Medizinische Einstellungen [ACE]Lékařské nastavení [ACE]Ajustes médicos [ACE]
+ Orvosi beállítások [ACE]Medical Level
@@ -2752,6 +2757,7 @@
Medizinisches LevelÚroveň medickéhoNível médico
+ Orvosi szintWhat is the medical simulation level?
@@ -2761,6 +2767,7 @@
Wie hoch soll das medizinische Simulationslevel sein?Jaká je úroveň lékařské simulace?Qual o nível de simulação médica?
+ Milyen komplex legyen az orvosi szimuláció?Basic
@@ -2770,6 +2777,7 @@
StandardZákladníBásica
+ AlapAdvanced
@@ -2779,6 +2787,7 @@
ErweitertPokročiléAvançada
+ FejlettMedics setting
@@ -2788,6 +2797,7 @@
Medizinische EinstellungenÚroveň zdravotníkůConfiguração médica
+ Orvosok beállításaWhat is the level of detail prefered for medics?
@@ -2796,6 +2806,7 @@
¿Cuál es el nivel de detalle preferido para los médicos?Jaká úroveň detailů je preferována pro zdravotníky?Qual o nível de detalhe preferido para os médicos?
+ Mi a javasolt részletesség orvosok számára?Disable medics
@@ -2805,6 +2816,7 @@
Sanitäter deaktivierenZakázat zdravotníkyDesativar médicos
+ Orvosok letiltásaEnable Litter
@@ -2814,6 +2826,7 @@
Abfälle aktivierenPovolit odpadkyAtivar lixo médico
+ Szemét engedélyezéseEnable litter being created upon treatment
@@ -2823,6 +2836,7 @@
Aktiviere Abfälle, wenn eine Behandlung durchgeführt wurdeVytváří odpad zdravotnického materiálu pří léčeníAtivar lixo ser criado após tratamento
+ Engedélyezi a szemét keletkezését ellátáskorLife time of litter objects
@@ -2832,6 +2846,7 @@
Dauer des angezeigten AbfallsŽivotnost pro odpadkyTempo de vida dos objetos do lixo
+ Szemétobjektumok élettartamaHow long should litter objects stay? In seconds. -1 is forever.
@@ -2841,6 +2856,7 @@
Wie lange sollen Abfälle am Boden liegen (in Sekunden)? -1 ist für immer.Za jak dlouho začnou odpadky mizet? V sekundách. -1 navždy.Quanto tempo os objetos do lixo devem ficar? Em segundos. -1 é para sempre.
+ Milyen sokáig legyenek jelen a szemétobjektumok (másodpercben)? A -1 végtelen időt jelent.Enable Screams
@@ -2850,6 +2866,7 @@
Schreie aktivierenPovolit křikAtivar gritos
+ Kiáltások engedélyezéseEnable screaming by injuried units
@@ -2859,6 +2876,7 @@
Aktiviere Schreie bei verletzten EinheitenPovolit křičení zraněných jednotekAtiva gritos para unidades feridas
+ Engedélyezi a sérült egységek kiáltásaitPlayer Damage
@@ -2868,6 +2886,7 @@
SpielerschadenPoškození hráčeDano do jogador
+ Játékos sérülésWhat is the damage a player can take before being killed?
@@ -2877,6 +2896,7 @@
Wie viel Schaden kann ein Spieler erleiden, bevor er getötet wird?Jaké poškození může hráč dostat než bude zabit?Qal é o dano que um jogador pode sofrer antes de morrer?
+ Mennyi sérülést szenvedhet el egy játékos, mielőtt meghal?AI Damage
@@ -2886,6 +2906,7 @@
KI-SchadenPoškození AIDano da IA
+ AI sérülésWhat is the damage an AI can take before being killed?
@@ -2895,6 +2916,7 @@
Wie viel Schaden kann eine KI erleiden, bis sie getötet wird?Jaké poškození může AI dostat než bude zabito?Qual é o dano que uma IA pode sofrer antes de morrer?
+ Mennyi sérülést szenvedhet el egy AI, mielőtt meghal?AI Unconsciousness
@@ -2904,6 +2926,7 @@
KI-BewusstlosigkeitBezvědomí AIInconsciência da IA
+ AI eszméletlenségAllow AI to go unconscious
@@ -2913,6 +2936,7 @@
KI kann bewusstlos werdenUmožňuje AI upadnout do bezvědomíPermite IA ficar inconsciente
+ Engedélyezi az AI eszméletének elvesztésétRemote Controlled AI
@@ -2920,6 +2944,7 @@
IA controlada remotamenteZdalnie sterowane AIVzdáleně ovládané AI
+ Távvezérelt AITreat remote controlled units as AI not players?
@@ -2927,6 +2952,7 @@
Tratar unidades remotamente controladas como IA?Traktuj jednostki zdalnie sterowane (przez Zeusa) jako AI, nie jako graczy?Ošetřit vzdáleně ovládané jednotky jako AI, ne jako hráče?
+ Távvezérelt egységek AI-ként, nem játékosként való kezelése?Disabled
@@ -2936,6 +2962,7 @@
DeaktiviertZakázánoDesativado
+ LetiltvaEnabled
@@ -2945,6 +2972,7 @@
AktiviertPovolenoAtivado
+ EngedélyezvePrevent instant death
@@ -2954,6 +2982,7 @@
Verhindere direkten TodZabránit okamžité smrtiPrevinir morte instantânea
+ Azonnali halál kiiktatásaHave a unit move to unconscious instead of death
@@ -2963,6 +2992,7 @@
Lässt eine Einheit bewusstlos werden anstatt zu sterbenJednotka upadne do bezvědomí namísto smrtiFazer a unidade ficar inconsciente invés de morrer
+ Egy egység kerüljön eszméletlen állapotba a halott helyettBleeding coefficient
@@ -2972,6 +3002,7 @@
VerblutungsmultiplikatorKoeficient krváceníCoeficiente de sangramento
+ Vérzési koefficiensCoefficient to modify the bleeding speed
@@ -2981,6 +3012,7 @@
Multiplikator um die Verblutungsgeschwindigkeit zu verändernKoeficient rychlosti krváceníCoeficiente para modificar a velocidade do sangramento
+ Egy szorzó a vérzés sebességének szabályozásáraPain coefficient
@@ -2990,6 +3022,7 @@
SchmerzmultiplikatorKoeficient bolestiCoeficiente de dor
+ Fájdalmi koefficiensCoefficient to modify the pain intensity
@@ -2999,6 +3032,7 @@
Multiplikator um den Schmerzintensität zu verändernKoeficient intenzity bolestiCoeficiente para modificar a instensidade de dor
+ Egy szorzó a fájdalom erősségének szabályozásáraSync status
@@ -3008,6 +3042,7 @@
Status synchronisierenSynchronizovat statusSincronizar estado
+ Szinkronizációs állapotKeep unit status synced. Recommended on.
@@ -3017,6 +3052,7 @@
Status der Einheit synchron halten. Sollte aktiviert bleiben.Udržuje status jednotky synchronizovaný. Doporučeno zapnout.Mater o estado da unidade sincronizado. Recomendado ativado.
+ Egységállapotok szinkronizálása. Javasolt a bekapcsolása.Provides a medical system for both players and AI.
@@ -3026,6 +3062,7 @@
Aktiviert ein medizinisches System für Spieler und KI.Poskytuje zdravotní systém pro hráče a AI.Proporciona o sistema médico para os jogadores e a IA.
+ Egy orvosi rendszert ad játékosok és AI-k számára.Advanced Medical Settings [ACE]
@@ -3035,6 +3072,7 @@
Erweiterte medizinische Einstellungen [ACE]Pokročilé zdravotnické nastavení [ACE]Ajustes médicos avançados [ACE]
+ Fejlett orvosi beállítások [ACE]Enabled for
@@ -3044,6 +3082,7 @@
Aktiviert fürPovoleno proHabilitado para
+ Engedélyezve...Select what units the advanced medical system will be enabled for
@@ -3053,6 +3092,7 @@
Wähle aus welche Einheiten das erweiterte medizinische System habenVyberte, pro jaké jednotky bude pokročilý zdravotní systém povolenSelecione quais unidades o sistema médico avançado será habilitado
+ Kiválasztható, mely egységek számára legyen engedélyezve a fejlett orvosi rendszerPlayers only
@@ -3062,6 +3102,7 @@
Nur SpielerPouze hráčiSomente jogadores
+ Csak játékosokPlayers and AI
@@ -3071,6 +3112,7 @@
Spieler und KIHráči a AIJogadores e IA
+ Játékosok és AIEnable Advanced wounds
@@ -3080,6 +3122,7 @@
Aktiviere erweiterte WundenPovolit pokročilé zraněníAtivar ferimentos avançados
+ Komplex sebek engedélyezéseAllow reopening of bandaged wounds?
@@ -3089,6 +3132,7 @@
Erlaube das Öffnen von bandagierten Wunden?Umožnit znovuotevření zavázané rány?Permitr reabertura de ferimentos enfaixados?
+ Visszanyílhatnak a bekötözött sebek?Vehicle Crashes
@@ -3098,6 +3142,7 @@
FahrzeugunfällePoškození z kolizeBatidas de veículos
+ JárműbalesetekDo units take damage from a vehicle crash?
@@ -3107,6 +3152,7 @@
Bekommen Einheiten von Fahrzeugunfällen Schaden?Dostane jednotka poškození při autonehodě?As unidades recebem dano de uma batida de veículo?
+ Sérülnek-e az egységek autós ütközés során?Allow PAK
@@ -3116,6 +3162,7 @@
Erlaube ErstehilfekastenPovolit osobní lékárničkyPermitir Kit de Primeiros Socorros
+ Elsősegélycsomag engedélyezéseWho can use the PAK for full heal?
@@ -3125,6 +3172,7 @@
Wer kann den Erstehilfekasten für eine Endheilung verwenden?Kdo může použít osobní lékárničku pro plné vyléčení?Quem pode usar o KPS para cura completa?
+ Ki használhatja az elsősegélycsomagot teljes gyógyításra?Anyone
@@ -3134,6 +3182,7 @@
JederKdokolivQualquer um
+ AkárkiMedics only
@@ -3143,6 +3192,7 @@
Nur SanitäterPouze zdravotníkSomente médicos
+ Csak orvosokDoctors only
@@ -3152,6 +3202,7 @@
Nur ÄrztePouze doktorSomente doutores
+ Csak doktorokRemove PAK on use
@@ -3161,6 +3212,7 @@
Entferne Erstehilfekasten bei VerwendungOdebrat osobní lékárničku po použitíRemover o KPS depois do uso
+ Elsősegélycsomag eltávolítása használatkorShould PAK be removed on usage?
@@ -3170,6 +3222,7 @@
Sollen Erstehilfekästen bei Verwendung entfernt werden?Má se osobní lékárnička odstranit po použití?Deve o KPS ser removido depois do uso?
+ Eltávolítódjon az elsősegélycsomag használatkor?Locations PAK
@@ -3179,6 +3232,7 @@
Orte für ErstehilfekastenLokace osobní lékárničkyLocalizações do KPS
+ Elsősegélycsomag helyekWhere can the Personal Aid Kit be used?
@@ -3188,16 +3242,19 @@
Wo kann der Erstehilfekasten verwendet werden?Kde může být použita osobní lékárnička?Onde o kit de primeiros socorros pode ser utilizado?
+ Hol lehet az elsősegélycsomagot használni?Condition PAKPodmínka osobní lékárničkyCondición EPA
+ Elsősegélycsomag állapotWhen can the Personal Aid Kit be used?Kde může být použita osobní lékárnička?¿Cuando se puede utilizar el Equipo de primeros auxilios?
+ Mikor lehet az elsősegélycsomagot használni?Anywhere
@@ -3207,6 +3264,7 @@
ÜberallKdekolivQualquer lugar
+ AkárholMedical vehicles
@@ -3216,6 +3274,7 @@
Medizinische FahrzeugeZdravotnická vozidlaVeículos médcos
+ Orvosi járművekMedical facility
@@ -3225,6 +3284,7 @@
Medizinische EinrichtungenZdravotnické zařízeníInstalação médica
+ Orvosi létesítményVehicles & facility
@@ -3234,6 +3294,7 @@
Fahrzeuge & EinrichtungenVozidla a zařízeníVeículos e instalações
+ Járművek & létesítményDisabled
@@ -3243,6 +3304,7 @@
DeaktiviertZakázánoDesativado
+ LetiltvaAllow Surgical kit (Adv)
@@ -3252,6 +3314,7 @@
Erlaube OperationskastenPovolit chirurgickou soupravu (Pokr.)Permite kit cirúrgico (avançado)
+ Sebészkészlet (Fejlett) engedélyezéseWho can use the surgical kit?
@@ -3261,6 +3324,7 @@
Wer kann den Operationskasten verwenden?Kdo může použít chirurgickou soupravu?Quem pode usar o kit cirúrgico?
+ Ki használhatja a sebészkészletet?Remove Surgical kit (Adv)
@@ -3270,6 +3334,7 @@
Enrtferne Operationskasten (erweitert)Odebrat chirurgickou soupravu (Pokr.)Remover kit cirúrgico (avançado)
+ Sebészkészlet (Fejlett) eltávolításaShould Surgical kit be removed on usage?
@@ -3279,6 +3344,7 @@
Entferne Operationskästen bei Verwendung?Odebrat chirurgickou soupravu po použití?Deve o kit cirúrgico ser removido após o uso?
+ Eltávolítódjon a sebészkészlet használatkor?Locations Surgical kit (Adv)
@@ -3288,6 +3354,7 @@
Orte für Operationskästen (erweitert)Lokace chirurgické soupravy (Pokr.)Localizações do kit cirúrgico (avançado)
+ Sebészkészlet (Fejlett) helyeiWhere can the Surgical kit be used?
@@ -3297,16 +3364,19 @@
Wo kann der Operationskasten verwendet werden?Kde může být použita chirurgická souprava?Onde o kit cirúrgico pode ser utilizado?
+ Hol lehet a sebészkészletet használni?Condition Surgical kit (Adv)Podmínka chirurgické soupravy (Pokr.)Condición de equipo quirúrgico (Av)
+ Sebészkészlet állapotWhen can the Surgical kit be used?Kde může být použita chirurgická souprava?¿Cuando se puede utilizar el equipo quirúrgico?
+ Mikor lehet a sebészkészletet használni?Bloodstains
@@ -3315,6 +3385,7 @@
Skvrny od krveManchas de sangreManchas de sangue
+ VérfoltokBandaging removes bloodstains
@@ -3323,6 +3394,7 @@
Obvázání odstraňuje skvrny od krveEl vendaje elimina las manchas de sangreBandagem remove manchas de sangue
+ Kötözés eltávolítja a vérfoltokatPain suppression
@@ -3331,6 +3403,7 @@
Potlačení bolestiSupresión del dolorSupressão de dor
+ FájdalomcsillapításPain is only temporarily suppressed, not removed
@@ -3339,6 +3412,7 @@
Bolest je potlačena, ale jen dočastněEl dolor se suprime solo temporalmente, no se elimina.Dor é somente temporáriamente suprimida, não removida
+ A fájdalom csak ideiglenesen csökken, nem távolítódik elConfigure the treatment settings from ACE Medical
@@ -3348,6 +3422,7 @@
Behandlungseinstellungen vom ACE-Medical konfigurierenKonfigurace nastavení léčby ze zdravotnické systému ACEConfigure as opções de tratamento do ACE Médico
+ Kezelési lehetőségek konfigurálása az ACE Orvosi rendszerbőlRevive Settings [ACE]
@@ -3357,6 +3432,7 @@
Wiederbelebungseinstellungen [ACE]Nastavení oživení [ACE]Sistema de reavivamento [ACE]
+ Újraélesztés beállításai [ACE]Enable Revive
@@ -3366,6 +3442,7 @@
Erlaube WiederbelebungPovolit oživeníHabilitar reavivamento
+ Újraélesztés engedélyezéseEnable a basic revive system
@@ -3375,6 +3452,7 @@
Aktiviere Standard-WiederbelebungssystemPovolit základní systém oživeníHabilitar um sistema básico de reavivamento
+ Egy alap újraélesztési rendszer engedélyezéseMax Revive time
@@ -3384,6 +3462,7 @@
Maximale WiederbelebungszeitMaximální čas pro oživeníTempo máximo de reavivamento
+ Maximum újraélesztési időMax amount of seconds a unit can spend in revive state
@@ -3393,6 +3472,7 @@
Maximale Zeitspanne in Sekunden die eine Einheit im Wiederbelebungszustand verbringen kannMaximální doba v agónii v sekundáchQuantidade máxima de segundos que uma unidade pode gastar em um estado de reavivamento
+ Maximum másodperc, amit egy egység újraélesztési állapotban tölthetMax Revive lives
@@ -3402,6 +3482,7 @@
Maximale Leben bei WiederbelebungMaximální počet oživeníVidas máximas do reavivado
+ Maximum újraélesztési lehetőségekMax amount of lives a unit. 0 or -1 is disabled.
@@ -3411,6 +3492,7 @@
Maximale Anzahl von Leben einer Einheit. 0 or -1 bedeutet deaktiviert.Maximální počet životu pro jednotku. 0 nebo -1 je zakázáno.Quantidade máxima de vidas por unidade. 0 ou -1 é desativado.
+ Egy egység maximum "életei". 0 vagy -1 letiltja.Provides a medical system for both players and AI.
@@ -3420,6 +3502,7 @@
Aktiviert das Medicsystem für Spieler und KI.Poskytuje zdravotní systém pro hráče a AI.Proporciona um sistema médico para jogadores e IA.
+ Egy orvosi rendszert ad játékosok és AI-k számára.Set Medic Class [ACE]
@@ -3429,6 +3512,7 @@
Setze Sanitäterklassen [ACE]Určit třídu medika [ACE]Definir classe médica [ACE]
+ Orvos beállítása [ACE]List
@@ -3438,6 +3522,7 @@
ListeSeznamLista
+ ListaList of unit names that will be classified as medic, separated by commas.
@@ -3447,6 +3532,7 @@
Liste von Namen, die als Sanitäter verwendet werden. Wird durch Kommas getrennt.Seznam osob které budou klasifikovány jako zdravotník, oddělené čárkami.Lista dos nomes das unidades que se classificam como médicos, separados por vírgulas.
+ Azon egységek nevei, melyek orvosként vannak meghatározva, vesszővel elválasztva.Is Medic
@@ -3456,6 +3542,7 @@
Ist SanitäterJe zdravotníkÉ médico
+ Orvos-eThis module allows you to assign the medic class to selected units.
@@ -3463,6 +3550,7 @@
Dieses Modul legt fest welche Einheit ein Sanitäter ist.Tento modul určuje, která jednotka je zdravotník.Este módulo determina qual unidade é um paramédico.
+ Ez a modul engedélyezi az orvosi jelző hozzárendelését kiválasztott egységekhez.None
@@ -3472,6 +3560,7 @@
KeineŽádnýNada
+ NincsRegular medic
@@ -3481,6 +3570,7 @@
Normaler SanitäterŘadový zdravotníkMédico regular
+ Hagyományos orvosDoctor (Only Advanced Medics)
@@ -3490,6 +3580,7 @@
Arzt (nur erweiterte Sanitäter)Doktor (Pouze pokročilý zdravotníci)Doutor (Somente médicos avançados)
+ Doktor (csak fejlett orvosok)Assigns the ACE medic class to a unit
@@ -3499,6 +3590,7 @@
Weise die ACE-Sanitäterklasse einer Einheit zuPřiřadí ACE třídu zdravotníka do jednotkyAtribui a classe médica do ACE a uma unidade
+ Az ACE orvosi jelző hozzárendelése egy egységhezSet Medical Vehicle [ACE]
@@ -3508,6 +3600,7 @@
Setze medizinisches Fahrzeug [ACE]Určit zdravotnické vozidlo [ACE]Definir veículo médico [ACE]
+ Orvosi jármű beállítása [ACE]List
@@ -3517,6 +3610,7 @@
ListeSeznamLista
+ ListaList of vehicles that will be classified as medical vehicle, separated by commas.
@@ -3526,6 +3620,7 @@
Liste ovn Fahrzeugen, die als medizinische Fahrzeuge verwendet werden. Wird durch Kommas getrennt.Seznam vozidel které budou klasifikovány jako zdravotnická vozidla, oddělené čárkami.Lista de veículos que serão classificados como veículos médicos, separados por vírgulas.
+ Orvosi járműveknek tekintett járművek listája, vesszővel elválasztva.Is Medical Vehicle
@@ -3535,6 +3630,7 @@
Ist medizinisches FahrzeugJe zdravotnické vozidloÉ um veículo médico
+ Orvosi jármű-eWhatever or not the objects in the list will be a medical vehicle.
@@ -3544,6 +3640,7 @@
Leg fest ob das Objekt in der Liste ein medizinisches Fahrzeug ist.Ať už jsou nebo nejsou objekty v seznamu budou zdravotnická vozidla.Se serão ou não os objetos dessa lista veículos médicos.
+ A listában lévő objektumok orvosi járművek-e, vagy sem.Assigns the ACE medic class to a unit
@@ -3553,6 +3650,7 @@
Weist die ACE-Sanitäterklasse einer Einheit zuPřiřadí ACE třídu zdravotníka do jednotkyAtribui a classe médica ACE a uma unidade
+ Hozzárendeli az ACE orvosi jelzőt egy egységhezSet Medical Facility [ACE]
@@ -3562,6 +3660,7 @@
Setze medizinische Einrichtung [ACE]Určit zdravotnické zařízení [ACE]Definir instalação médica [ACE]
+ Orvosi létesítmény beállítása [ACE]Is Medical Facility
@@ -3571,6 +3670,7 @@
Ist eine medizinische EinrichtungJe zdravotnické zařízeníÉ uma instalação médica
+ Orvosi létesítmény-eRegisters an object as a medical facility
@@ -3580,6 +3680,7 @@
Definiert ein Objekt als medizinische EinrichtungRegistruje objekt jako zdravotnické zařízeníRegistra um objeto como instalacão médica
+ Egy objektum orvosi létesítményként való regisztrálásaDefines an object as a medical facility. This allows for more advanced treatments. Can be used on buildings and vehicles.
@@ -3589,6 +3690,7 @@
Definiert ein Objekt als medizinische Einrichtung. Das ermöglicht weitere Behandlungen. Kann bei Gebäuden und Fahrzeugen verwendet werden.Definuje objekt jako zdravotnické zařízení. To umožňuje více pokročilé léčení. Může být použito na budovy nebo na vozidla.Define um objeto como instalação médica. Isso permite tratamentos mais avançados. Pode ser utilizado em edifícios e veículos.
+ Egy objektumot orvosi létesítményként határoz meg. Ez fejlett ellátási lehetőségeket engedélyez. Használható járműveken és épületeken.[ACE] Medical Supply Crate (Basic)
@@ -3598,6 +3700,7 @@
[ACE] Medizinische Kiste (standard)[ACE] Zdravotnické zásoby (základní)[ACE] Caixa com suprimentos médicos
+ [ACE] Orvosi láda (Alap)[ACE] Medical Supply Crate (Advanced)
@@ -3607,6 +3710,7 @@
[ACE] Medizinische Kiste (erweitert)[ACE] Zdravotnické zásoby (pokročilé)[ACE] Caixa com suprimentos médicos (Avançados)
+ [ACE] Orvosi láda (Fejlett)Yes
@@ -3636,11 +3740,13 @@
AnytimeKdykoliSiempre
+ AkármikorStableStabilníEstable
+ Stabil
\ No newline at end of file
diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml
index a636ffa4de..8933de478f 100644
--- a/addons/microdagr/stringtable.xml
+++ b/addons/microdagr/stringtable.xml
@@ -308,6 +308,7 @@
MicroDAGR - Vyplnění mapyMicroDAGR-KartenfüllungPreenchimento de mapa do MicroDAGR
+ MicroDAGR térképkitöltésMicroDAGR Map Fill
@@ -316,6 +317,7 @@
MicroDAGR - Vyplnění mapyMicroDAGR-KartenfüllungPreenchimento de mapa do MicroDAGR
+ MicroDAGR térképkitöltésHow much map data is filled on MicroDAGR's
@@ -324,6 +326,7 @@
Wie viel Daten auf einem MicroDAGR zu sehen sindKolik informací je načteno do MicroDAGR?Quanta informação é preenchida no mapa do MicroDAGR
+ Mennyi térképadatot tartalmaz a MicroDAGRFull Satellite + Buildings
@@ -332,6 +335,7 @@
Satellitenbild + GebäudeSatelit + BudovySatélite completo + Edifícios
+ Teljes műholdas + épületekTopographical + Roads
@@ -340,6 +344,7 @@
Topografisch + StraßenTopografické + CestyTopográfico + Estradas
+ Topográfia + utakNone (Cannot use map view)
@@ -348,6 +353,7 @@
Keine (kann keine Kartenansicht verwenden)Žádný (Nelze použít zobrazení mapy)Nada (Não pode usar a tela de mapa)
+ Semmi (nem használható a térképnézet)Controls how much data is filled on the microDAGR items. Less data restricts the map view to show less on the minimap.<br />Source: microDAGR.pbo
@@ -356,6 +362,7 @@
Steuert wie viel Daten auf dem microDAGR zu sehen ist. Weniger Daten schränken die Kartenansicht ein, um mehr auf der Minimap zu sehen.<br />Quelle: microDAGR.pboTento modul umožňuje kontrolovat, kolik informací je obsaženo v MicroDAGR. Menší množství dat omezené zobrazením mapy ukazují méně věcí na minimapě.<br />Zdroj: microDAGR.pboControla quantos dados são preenchidos nos itens microDAGR. Menos dados restringe a visualização de mapa para mostrar menos informações no minimapa<br/>Fonte: MicroDAGR.pbo
+ Meghatárroza a MicroDAGR objektumok térképének tartalmát. A kevesebb adat korlátozza a térképnézeti módot az eszközön. <br />Forrás: microDAGR.pbo
-
+
\ No newline at end of file
diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml
index 2845767f15..2a0544fab7 100644
--- a/addons/missileguidance/stringtable.xml
+++ b/addons/missileguidance/stringtable.xml
@@ -104,6 +104,7 @@
AusVypnoutDesligado
+ KiPlayer Only
@@ -112,6 +113,7 @@
Nur SpielerPouze hráčiSomente jogador
+ Csak játékosokPlayer and AI
@@ -120,6 +122,7 @@
Spieler und KIHráči a AIJogador e IA
+ Játékosok és AI
\ No newline at end of file
diff --git a/addons/missionmodules/stringtable.xml b/addons/missionmodules/stringtable.xml
index b99285850d..dfa461072b 100644
--- a/addons/missionmodules/stringtable.xml
+++ b/addons/missionmodules/stringtable.xml
@@ -8,6 +8,7 @@
ACE-MissionsmoduleACE Moduly miseMódulo de missões ACE
+ ACE küldetési modulokAmbiance Sounds [ACE]
@@ -16,6 +17,7 @@
Umgebungsgeräusche [ACE]Zvuky prostředí [ACE][ACE] Sons ambientes
+ Ambiens hangok [ACE]Sounds
@@ -24,6 +26,7 @@
SoundsZvukySons
+ HangokClass names of the ambiance sounds to be played. Seperated by ','
@@ -40,6 +43,7 @@
MindestabstandMinimální vzdálenostDistância mínima
+ Minimális távolságUsed for calculating a random position and sets the minimal distance between the players and the played sound file(s)
@@ -56,6 +60,7 @@
MaximalabstandMaximální vzdálenostDistância máxima
+ Maximális távolságUsed for calculating a random position and sets the maximum distance between the players and the played sound file(s)
@@ -72,6 +77,7 @@
Minimale VerzögerungMinimální prodlevaAtraso mínimo
+ Minimum késleltetésMinimal delay between sounds played
@@ -88,6 +94,7 @@
Maximale VerzögerungMaximální prodlevaAtraso máximo
+ Maximum késleltetésMaximum delay between sounds played
@@ -104,6 +111,7 @@
Spielern folgenNásledovat hráčeSeguir jogadores
+ Játékosok követéseFollow players. If set to false, loop will play sounds only nearby logic position.
@@ -120,6 +128,7 @@
LautstärkeHlasitostVolume
+ HangerőThe volume of the sounds played
diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml
index 26ab485db2..300445d482 100644
--- a/addons/mk6mortar/stringtable.xml
+++ b/addons/mk6mortar/stringtable.xml
@@ -56,6 +56,7 @@
MK6-EinstellungenMK6 - NastaveníAjustes do MK6
+ MK6 beállításokAir Resistance
@@ -64,6 +65,7 @@
LuftwiderstandOdpor vzduchuResistência do Ar
+ LégellenállásFor Player Shots, Model Air Resistance and Wind Effects
@@ -80,6 +82,7 @@
Erlaube MK6-ComputerMK6 - Povolit počítačPermitir computador do MK6
+ MK6 számítógép engedélyezéseShow the Computer and Rangefinder (these NEED to be removed if you enable air resistance)
@@ -96,6 +99,7 @@
Erlaube MK6-KompassMK6 - Povolit kompasPermitir bússula do MK6
+ MK6 iránytű engedélyezéseShow the MK6 Digital Compass
@@ -104,9 +108,9 @@
Zeige MK6-Digitaler-KompassMK6 - Zobrazit digitální kompasMostra a bússula digital do MK6
+ Az MK6 digitális iránytű megjelenítése
- Moduł ten pozwala dostosować ustawienia moździerza MK6.Dieses Modul erlaubt das Einstellen des MK6-Mörsers.Tento modul umožňuje nastavení minometu MK6.
diff --git a/addons/mx2a/stringtable.xml b/addons/mx2a/stringtable.xml
index e8df673866..0de9ce7ff6 100644
--- a/addons/mx2a/stringtable.xml
+++ b/addons/mx2a/stringtable.xml
@@ -8,6 +8,7 @@
MX-2AMX-2AMX-2A
+ MX-2AThermal imaging device
@@ -16,6 +17,7 @@
Dispositivo de imagen térmicaTermální dalekohledDispositivo de imagem térmica
+ Hőleképező készülék
-
+
\ No newline at end of file
diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml
index 376935297e..74430baedc 100644
--- a/addons/optionsmenu/stringtable.xml
+++ b/addons/optionsmenu/stringtable.xml
@@ -248,6 +248,7 @@
Erlaube Config-Export [ACE]Povolit export natavení [ACE][ACE] Permitir exportação de configurações
+ Konfiguráció-exportálás engedélyezése [ACE]Allow
@@ -256,6 +257,7 @@
ErlaubePovolitPermitir
+ EngedélyezésAllow export of all settings to a server config formatted.
@@ -280,6 +282,7 @@
VersteckenSkrýtOcultar
+ ElrejtésTop right, downwards
@@ -288,6 +291,7 @@
Open rechts, nach untenVpravo nahoře, dolůSuperior direito, para baixo
+ Jobb felül, lefeleTop right, to the left
@@ -296,6 +300,7 @@
Von rechts nach linksVpravo nahoře, do levaSuperior direito, à esquerda
+ Jobb felül, balraTop left, downwards
@@ -304,6 +309,7 @@
Von links, nach untenVlevo nahoře, dolůSuperior esquerdo, para baixo
+ Bal felül, lefeleTop left, to the right
@@ -312,6 +318,7 @@
Oben links nach rechtsVlevo nahoře, do pravaSuperior esquerdo, para a direita
+ Bal felül, jobbraTop
@@ -320,6 +327,7 @@
ObenNahořeAcima
+ FentBottom
@@ -328,6 +336,7 @@
UntenDoleAbaixo
+ AlulDebug To Clipboard
@@ -336,6 +345,7 @@
Debug do schránkyDebug in die ZwischenablageDepuração para área de transferência
+ Debug a vágólapraSends debug information to RPT and clipboard.
@@ -344,12 +354,15 @@
Pošle debug informace do RPT a schránky.Protokolliert Debug-Informationen im RPT und speichert sie in der Zwischenablage.Envia informação de depuração para RPT e área de transferência.
+ Debug információt küld az RPT-be és a vágólapra.
-
+ Headbug Fix
+ "Fejhiba" fix
-
+ Resets your animation state.
+ Visszaállítja az animációs állapotodat.ACE News
@@ -358,6 +371,7 @@
Notícias do ACEWiadomości ACEACE Novinky
+ ACE hírekShow News on Main Menu
@@ -366,6 +380,7 @@
Mostrar notícias no menu principalPokazuj wiadomości ACE w menu głównymZobrazit novinky v hlavním menu
+ Hírek mutatása a főmenüben
-
+
\ No newline at end of file
diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml
index b9ccad48a4..66d6670e51 100644
--- a/addons/parachute/stringtable.xml
+++ b/addons/parachute/stringtable.xml
@@ -52,10 +52,12 @@
Cut ParachuteFallschirm abschneiden
+ Ejtőernyő elvágásaReserve ParachuteReserve Fallschirm
+ Tartalék ejtőernyő
-
+
\ No newline at end of file
diff --git a/addons/rangecard/stringtable.xml b/addons/rangecard/stringtable.xml
index bda93bcab3..20c3a17e0f 100644
--- a/addons/rangecard/stringtable.xml
+++ b/addons/rangecard/stringtable.xml
@@ -8,6 +8,7 @@
Vzdálenostní tabulkaEntfernungsspinneTabela de distâncias
+ Távolsági kártya50 METER increments -- MRAD/MRAD (reticle/turrets)
@@ -16,6 +17,7 @@
Přidat 50 METRŮ -- MRAD/MRAD (síťka/věže)50-Meter-Schritte MRAD/MRAD (Fadenkreuz/Geschützturm)Incrementos de 50 METROS - MRAD/MRAD (retícula/torres)
+ 50 MÉTERES lépések - MRAD/MRAD (célzó/lövegek)Open Range Card
@@ -24,6 +26,7 @@
Otevřít vzdálenostní tabulkuÖffne EntfernungsspinneAbrir tabela de distâncias
+ Távolsági kártya kinyitásaOpen Range Card Copy
@@ -32,6 +35,7 @@
Otevřít kopii vzdálenostní tabulkyÖffne Kopie der EntfernungsspinneAbrir cópia da tabela de distâncias
+ Távolsági kártya-másolat kinyitásaOpen Range Card
@@ -40,6 +44,7 @@
Otevřít vzdálenostní tabulkuÖffne EntfernungsspinneAbrir tabela de distäncias
+ Távolsági kártya kinyitásaOpen Range Card Copy
@@ -48,6 +53,7 @@
Otevřít kopii vzdálenostní tabulkyÖffne Kopie der EntfernungsspinneAbrir cópia da tabela de distâncias
+ Távolsági kártya-másolat kinyitásaCopy Range Card
@@ -56,6 +62,7 @@
Kopírovat vzdálenostní tabulkuKopiere EntfernungsspinneCopiar tabela de distäncias
+ Távolsági kártya másolása
-
+
\ No newline at end of file
diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml
index 4b649173f0..99d189ca50 100644
--- a/addons/respawn/stringtable.xml
+++ b/addons/respawn/stringtable.xml
@@ -152,6 +152,7 @@
Respawn-SystemSystém znovuzrozeníSistema de Renascimento
+ Respawn-rendszerSave Gear?
@@ -160,6 +161,7 @@
Ausrüstung speichern?Uložit výbavu?Salvar equipamento?
+ Felszerelés elmentése?Respawn with the gear a soldier had just before his death?
@@ -168,6 +170,7 @@
Mit der Ausrüstung, die ein Soldat vor seinem Tod hatte, respawnen?Znovuubjevit s výbavou kterou měl voják před smrtí?Renascer com o equipamento que um soldado tinha antes de sua morte?
+ Az egység halála előtti felszerelésével való respawnolása?Remove bodies?
@@ -176,6 +179,7 @@
Körper entfernen?Odstranit těla?Remover corpos?
+ Holttestek eltávolítása?Remove player bodies after disconnect?
@@ -184,9 +188,9 @@
Entferne Spielerkörper nach dem Trennen einer Verbindung?Odstranit hráčova těla po odpojení?Remover corpos dos jogadores depois de desconectar?
+ Játékosi testek eltávolítása távozás után?
- Moduł ten pozwala dostosować ustawienia odrodzenia (respawnu).Dieses Modul erlaubt es die Respawn-Einstellungen anzupassen.Tento modul umožňuje nastavení znovuzrození (spawn).
@@ -199,9 +203,9 @@
Freundbeschuss-NachrichtenUpozornění na přátelskou střelbuMensagens de fogo amigo
+ Baráti tűz üzenetek
- Użycie tego modułu na misji spowoduje wyświetlenie wiadomości na czacie w przypadku, kiedy zostanie popełniony friendly fire - wyświetlona zostanie wtedy wiadomość kto kogo zabił.Zobrazí zprávu v chatu v případě, když budete střílet na vlastní jednotky. Ve zprávě se zobrazí kdo na koho střílel, popř. kdo koho zabil.Usando este módulo em uma missão para exibir mensagens chat, no caso de quando você faz um fogo amigo - então a mensagem será exibida mostrando quem matou quem.
@@ -213,9 +217,9 @@
Rallypoint-SystemSystém shromážděníSistema de ponto de encontro
+ Gyülekezőpont-rendszer
- Moduł ten pozwala zastosować na misji "punkt zbiórki", do którego można szybko przeteleportować się z "bazy". Wymaga postawienia odpowiednich obiektów na mapie - bazy oraz flagi. Obydwa dostępne są w kategorii Puste -> ACE Odrodzenie.Tento modul umožňuje určit místo shromaždiště, kam se mohou jednokty rychle teleportovat ze "základny". Toto vyžaduje vhodné objekty v mapě - základna a vlajka. Oba dva můžete najít v kategorii Prázdné -> ACE Oživení.Este módulo permite que você aplique em uma missão "pontos de encontro", que pode rapidamente se teletransportar para a "base". Ele requer colocar objetos apropriados no mapa - base e bandeiras. Ambos estão disponíveis na categoria em branco -> ACE Revival.
@@ -227,6 +231,7 @@
Bewege RallypointPřesun na shromaždištěMover para ponto de encontro
+ Gyülekezőpont mozgatásaACE Respawn
@@ -235,6 +240,7 @@
ACE-RespawnACE ZnovuzrozeníACE Respawn
+ ACE Respawn
\ No newline at end of file
diff --git a/addons/sitting/stringtable.xml b/addons/sitting/stringtable.xml
index 443c34c360..e26c2b36f0 100644
--- a/addons/sitting/stringtable.xml
+++ b/addons/sitting/stringtable.xml
@@ -7,6 +7,7 @@
SentarSednout siSentarse
+ LeülésStand Up
@@ -14,6 +15,7 @@
LevantarVstátLevantarse
+ FelállásEnable Sitting
@@ -21,6 +23,7 @@
Aktywuj siadaniePovolit sezeníAcivar asiento
+ Ülés engedélyezéseSitting
@@ -28,6 +31,7 @@
SiadanieSedícíSentarse
+ ÜlésThis module allows you to disable the ability to sit on chairs and toilets.
@@ -35,6 +39,7 @@
Moduł ten pozwala na włączenie lub wyłączenie możliwości siadania na krzesłach i toaletach.Tento modul dovoluje zakázat možnost sedět na židlých a toaletách.Este módulo te permite desactivar la capacidad de sentarte en sillas y aseos.
+ Ez a modul lehetővé teszi a székekre és toalettekre való leülés letiltását.
\ No newline at end of file
diff --git a/addons/tacticalladder/stringtable.xml b/addons/tacticalladder/stringtable.xml
index 4342ac5408..53a6935484 100644
--- a/addons/tacticalladder/stringtable.xml
+++ b/addons/tacticalladder/stringtable.xml
@@ -10,7 +10,7 @@
Telescopic LadderTeleskopický žebříkTelescopic Ladder
- Telescopic Ladder
+ Teleszkopikus létraEscada telescópica
@@ -22,7 +22,7 @@
Deploy ladderRozložit žebříkDeploy ladder
- Deploy ladder
+ Létra lerakásaImplantar escada
@@ -34,7 +34,7 @@
Drop ladderPoložit žebříkDrop ladder
- Drop ladder
+ Létra eldobásaDerrubar escada
@@ -44,6 +44,7 @@
Upravit žebříkAjustar escaleraAjustar escada
+ Létra állításaPosition ladder
@@ -54,7 +55,7 @@
Position ladderUmístit žebříkPosition ladder
- Position ladder
+ Létra elhelyezésePosicionar escada
@@ -66,7 +67,7 @@
Pickup ladderVzít žebříkPickup ladder
- Pickup ladder
+ Létra felvételePegar escada
From 2b23958fd184b81585b0d938858bc6f66e23c6c9 Mon Sep 17 00:00:00 2001
From: Harakhti
Date: Thu, 30 Jul 2015 16:06:32 +0200
Subject: [PATCH 04/48] Row 2
It gets tedious after a while, especially if your language lacks
technical terms. That or my B2 language exam isn't good enough.
---
addons/frag/stringtable.xml | 8 ++++++++
addons/map/stringtable.xml | 10 ++++++++++
addons/missionmodules/stringtable.xml | 7 +++++++
addons/mk6mortar/stringtable.xml | 2 ++
addons/nametags/stringtable.xml | 28 ++++++++++++++++++++++++++-
addons/optionsmenu/stringtable.xml | 2 ++
addons/switchunits/stringtable.xml | 14 +++++++++++++-
addons/vehiclelock/stringtable.xml | 3 +++
addons/viewdistance/stringtable.xml | 27 +++++++++++++++++++++++++-
addons/weather/stringtable.xml | 14 ++++++++++++++
addons/winddeflection/stringtable.xml | 5 ++++-
addons/yardage450/stringtable.xml | 5 ++++-
addons/zeus/stringtable.xml | 17 +++++++++++++++-
13 files changed, 136 insertions(+), 6 deletions(-)
diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml
index c4fac44ec0..205fb50c75 100644
--- a/addons/frag/stringtable.xml
+++ b/addons/frag/stringtable.xml
@@ -26,6 +26,7 @@
ExplosionssimulationSimulace úlomkůSimulação de estilhaços
+ Pattogzás-szimulációEnable the ACE Spalling Simulation
@@ -34,6 +35,7 @@
Aktiviere ACE-ExplosionssimulationPovolit ACE simulaci úlomkůAtiva a simulação de estilhaços do ACE
+ Az ACE pattogzás-szimuláció engedélyezéseMaximum Projectiles Tracked
@@ -42,6 +44,7 @@
Maximalzahl der verfolgten ProjektileMaximální počet sledovaných projektilůMáximo de projéteis rastreados
+ Maximum követett repeszekThis setting controls the maximum amount of projectiles the fragmentation and spalling system will track at any given time. If more projectiles are fired, they will not be tracked. Lower this setting if you do not want FPS drops at high-count projectile scenarios ( >200 rounds in the air at once)
@@ -50,6 +53,7 @@
Diese Einstellung steuert die maximale Anzahl an Projektilen, die das Splitter- und Explosionssystem gleichzeitig verfolgen wird. Wenn mehr Projektile abgefeuert werden, werden sie nicht verfolgt werden. Diese Einstellung zu verringern, kann FPS-Einbrüche bei Szenarien mit vielen Projektilen verhindern (>200 Objekte gleichzeitig in der Luft)Toto nastavení kontroluje maximální množství projektilů z fragmentace a úlomků, která jsou sledována v dané době. Pokud je vystřeleno více projektilů, tak nebudou sledovány. Snižte toto nastavení pokud si nepřejete propady FPS v situacích, kde je velké množství projektilů ( >200 nábojů najednou ve vzduchu)Esta definição controla a quantidade máxima de projéteis que o sistema de fragmentação e estilhaçamento irá acompanhar em qualquer momento. Se mais projéteis são disparados, eles não serão rastreados. Diminua essa configuração se você não quiser que o FPS caia em cenários com alta contagem de projéteis (> 200 projéteis no ar ao mesmo tempo)
+ Ez a beállítás szabályozza a repeszeződés és pattogzás által kilőtt objektumok követett számát. Ha több ez a szám, ezek az objektumok nem lesznek követve. Csökkentsd ezt a beállítást, ha nem akarsz lassulásokat magas-törmelékmennyiségű helyzetekben (200+ repesz a levegőben egyszerre)Maximum Projectiles Per Frame
@@ -58,6 +62,7 @@
Maks. liczba pocisków na klatkęMaximální počet projektilů ze jeden snímekProjéteis máximos por quadro
+ Maximum repesz/képkockaThe number of spall track calculations to perform in any given frame. This helps spread the FPS impact of tracking spall rounds across multiple frames, limiting its impact even further.
@@ -66,6 +71,7 @@
El número de cálculos de esquirlas que se hará en cualquier cuadro. Esto ayuda a dispersar el impacto en FPS del seguimiento de esquirlas de balas a través de múltiples cuadros, lo que limita aún más su impacto.Počet úlomků v daném snímku. Toto pomáhá rozšířit FPS dopad sledovaného úlomku napříč více snímky, omezuje jeho vliv ještě více.O número de cálculos por estilhaço rastreado para executar em qualquer quadro. Isso ajuda a distribuir o impacto no FPS do rastreamento de estilhaço em vários quadros, o que limita o seu impacto ainda mais.
+ A lepattogzási útvonalak számításának darabjai képkockánként. Ez eloszlatja az FPS-megszakadást több képkockára, ezzel csökkentve a súlyosságát.(SP Only) Frag/Spall Debug Tracing
@@ -74,6 +80,7 @@
(Pouze SP) Debug sledování Frag/Úlomků(nur SP) Splitter-/Explosions-Debug-Verfolgung(Somente SP) Depuração de fragmentação e estilhaços traçantes
+ (Csak SP) Repesz/Pattogzás debug követés(SP Only) Requires a mission/editor restart. Enables visual tracing of fragmentation and spalling rounds in SP game mode only.
@@ -82,6 +89,7 @@
(nur SP) Splitter-/Explosions-Debugging(Pouze SP) Vyžaduje restart mise/editoru. Aktivuje vizuální stopování fragmentace a úlomů pouze v režimu jednoho hráče.(Somente SP) Requer um reinício de missão / editor. Habilita o rastreamento visual de projéteis de fragmentação e estilhaçamento apenas no modo de jogo SP.
+ (Csak SP) Küldetés/Editor újraindítás szükséges. Engedélyezi a repeszek és pattogzó lövedékek vizuális nyomkövetését, csak egyjátékos módok alatt.
\ No newline at end of file
diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml
index 793dd88599..5fc03d4343 100644
--- a/addons/map/stringtable.xml
+++ b/addons/map/stringtable.xml
@@ -17,6 +17,7 @@
KartenausleuchtungOsvětlení mapyIluminação do mapa?
+ Térkép megvilágítása?Calculate dynamic map illumination based on light conditions?
@@ -25,6 +26,7 @@
Berechne die Kartenauslichtung anhand des Umgebungslichts?Vypočítat dynamické osvětlení mapy na základně světelných podmínek?Calcular a iluminação dinâmica do mapa de acordo com as condições de luz?
+ Számítódjon a térkép megvilágítottsága a környezeti fényviszonyokból?Map shake?
@@ -33,6 +35,7 @@
KamerawackelnTřesení mapy?Tremor de mapa?
+ Térkép-rázkódás?Make map shake when walking?
@@ -41,6 +44,7 @@
Kamerawackeln beim Gehen?Umožnit třesení mapy za pochodu?Tremer o mapa enquanto caminha?
+ Rázkódjon-e a térkép mozgáskor?Limit map zoom?
@@ -49,6 +53,7 @@
Kartenzoom einschränkenOmezit přiblížení mapy?Limitar zoom do mapa?
+ Térkép-nagyítás korlátozása?Limit the amount of zoom available for the map?
@@ -57,6 +62,7 @@
Zoomstufe der Karte einschränken?Omezit stupeň přiblížení pro mapu?Limitar a quantidade de zoom disponível para o mapa?
+ Korlátozva legyen-e a nagyítás mennyisége a térképnél?Show cursor coordinates?
@@ -65,6 +71,7 @@
Zeige Cursor-Koordinaten?Zobrazit souřadnice u kurzoru?Mostrar coordenadas no cursor?
+ Kurzor-koordináták mutatása?Show the grid coordinates on the mouse pointer?
@@ -73,6 +80,7 @@
Gitter-Koordinaten auf dem Mauszeiger anzeigen?Zobrazit souřadnice u kurzoru v mapě?Mostrar as coordenadas de grade no ponteiro do mouse?
+ Mutatva legyen-e a kurzornál található rész rácskoordinátája?This module allows you to customize the map screen.
@@ -80,6 +88,7 @@
Dieses Modul erweitert die Kartenfunktionen.Tento modul umožňuje přizpůsobit mapu s obrazem.Este módulo permite que você personalize a tela de mapa.
+ Ez a modul lehetővé teszi a térképnézet testreszabását.Blue Force Tracking
@@ -148,6 +157,7 @@
Dieses Modul ermöglicht es verbündete Einheiten mit dem BFT auf der Karte zu verfolgen.Umožňuje sledovat přátelské jednokty na mapě v rámci BFT.Permite que você acompanhe as posições no mapa das unidades aliadas com marcadores RFA.
+ Ez a modul lehetővé teszi a szövetséges egységek követését BFT térképjelzőjkkel.
\ No newline at end of file
diff --git a/addons/missionmodules/stringtable.xml b/addons/missionmodules/stringtable.xml
index dfa461072b..6085e00b32 100644
--- a/addons/missionmodules/stringtable.xml
+++ b/addons/missionmodules/stringtable.xml
@@ -52,6 +52,7 @@
Wird verwendet, um eine zufällige Position zu bestimmen und setzt den Mindestabstand zwischen Spielern und der/den abzuspielenden Sounddatei(en) festPoužívá se pro výpočet náhodné pozice a určuje minimální vzdálenost mezi hráči a přehrávaným zvukem.Usada para calcular uma posição aleatória e definir a distância mínima entre os jogadores e os arquivos de sons que estão sendo reproduzidos.
+ Egy véletlenszerű pozíció számításához használt érték, amihez megadja a minimum távolságot a játékosok és a lejátszott hangfájl(ok) közöttMaximum Distance
@@ -69,6 +70,7 @@
Wird verwendet, um eine zufällige Position zu bestimmen und setzt den Maximalabstand zwischen Spielern und der/den abzuspielenden Sounddatei(en) festPoužívá se pro výpočet náhodné pozice a určuje maximální vzdálenost mezi hráči a přehrávaným zvukem.Usado para calcular uma posição aleatória e definir uma distância máxima entre os jogadores e os arquivos de sons que estão sendo reproduzidos.
+ Egy véletlenszerű pozíció számításához használt érték, amihez megadja a maximum távolságot a játékosok és a lejátszott hangfájl(ok) közöttMinimal Delay
@@ -86,6 +88,7 @@
Minimale Verzögerung zwischen abzuspielenden SoundsMinimální prodleva mezi přehrávanými zvukyAtraso mínimo entre os sons reproduzidos
+ Minimum késleltetés a lejátszott hangok közöttMaximum Delay
@@ -103,6 +106,7 @@
Maximale Verzögerung zwischen abzuspielenden SoundsMaximální prodleva mezi přehrávanými zvukyAtraso máximo entre os sons reproduzidos
+ Maximum késleltetés a lejátszott hangok közöttFollow Players
@@ -120,6 +124,7 @@
Spielern folgen. Wenn auf falsch gesetzt, werden Sounds nur in der Nähe des Logikmoduls abgespielt.Následuj hráče. Pokud je FALSE, smyčka zvuku bude přehrávána na nejbližší pozici logiki.Segue os jogadores. Se esta desabilitado (falso), o loop reproduzirá os sons somente perto de sua posição lógica.
+ Játékosok követése. Ha le van tiltva, az ismétlés csak a legközelebbi logikai ponton játszik le hangokat.Volume
@@ -137,6 +142,7 @@
Lautstärke der abzuspielenden SoundsHlasitost přehrávaného zvukuO volume em que os sons serão reproduzidos
+ A lejátszott hangok hangerejeAmbiance sounds loop (synced across MP)
@@ -145,6 +151,7 @@
Umgebungsgeräusch-Schleife (im MP synchronisiert)Smyčka okkolního zvuku (synchronizováno v MP)Loop de sons ambientes (sincronizados através do MP)
+ Ambiens hangok folyamatossága (MP alatt szinkronizálva)
\ No newline at end of file
diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml
index 300445d482..394154a70b 100644
--- a/addons/mk6mortar/stringtable.xml
+++ b/addons/mk6mortar/stringtable.xml
@@ -74,6 +74,7 @@
Für Spielerschüsse, Luftwiderstand und WindeffektePro hráčovu střelbu, Model odporu vzduchu a povětrných podmínekPara disparos do jogador, modelo de resistência de ar e efeitos de vento
+ Játékos általi lövésekhez, legyen-e számított légellenállás és szélhatásAllow MK6 Computer
@@ -91,6 +92,7 @@
Zeige den Computer und den Entfernungsmesser an (diese MÜSSEN entfernt werden, wenn der Luftwiderstand aktiviert ist)Zobrazit počítač a dálkoměr (toto MUSÍ být odstraněno pokud je zapnut odpor vzduchu)Mostra o computador e o medidor de distância (estes DEVEM ser removidos se você habilitar resistência do ar)
+ A távmérő és számítógép megjelenítése (ezeket el KELL távolítani ha a légellenállás engedélyezve van)Allow MK6 Compass
diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml
index e811b3447c..56ca2e3a5f 100644
--- a/addons/nametags/stringtable.xml
+++ b/addons/nametags/stringtable.xml
@@ -116,6 +116,7 @@
NamensanzeigenJmenovkyEtiquetas de nome
+ NévcímkékPlayer Names View Dist.
@@ -124,6 +125,7 @@
Spielernamen-DistanzVzdálenost zobrazení jména hráčůDistância de visão dos nomes dos jogadores
+ Játékosok nevének látótávjaDistance in meters at which player names are shown. Default: 5
@@ -132,6 +134,7 @@
Distanz in Metern bei der Spielernamen angezeigt werden. Standard: 5Vzdálenost v metrech pro zobrazení jména. Výchozí: 5Distância em metros que os nomes dos jogadores são mostrados. Padrão: 5
+ Méterben megadott érték a játékosok nevének mutatására. Alapértelmezett: 5Show name tags for AI?
@@ -140,6 +143,7 @@
Zeige Namensanzeigen für KI?Zobrazit jmenovky pro AI?Mostrar nomes para IA?
+ Névcímkék megjelenítése AI-nál?Show the name and rank tags for friendly AI units? Default: Do not force
@@ -148,6 +152,7 @@
Zeige den Namen und Rang für freundliche KI-Einheiten? Standard: nicht erwzingenZobrazit jména a hodnosti pro spřátelené AI jednotky? Výchozí: NevynucovatMostra o nome e patente para unidades IA aliadas? Padrão: Não forçar
+ Mutassa-e a szövetséges AI egységek nevét és rangját? Alapértelmezett: Nincs felülbírálásDo Not Force
@@ -156,6 +161,7 @@
Nicht erzwingenNevynucovatNão forçar
+ Nincs felülbírálásForce Hide
@@ -164,6 +170,7 @@
Verstecken erzwingenVynuceno skrýtOcultar forçado
+ Erőltetett rejtettForce Show
@@ -172,6 +179,7 @@
Anzeigen erzwingenVynuceno zobrazitMostrar forçado
+ Erőltetett láthatóShow crew info?
@@ -180,6 +188,7 @@
Zeige Besatzungsinfo?Zobrazit informace o posádce?Mostrar informação de tripulação?
+ Legénységi adatok megjelenítése?Show vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force
@@ -188,6 +197,7 @@
Zeige Fahrzeugbesatzungsinfo oder erlaube Spielern es auszuwählen. Standard: nicht erzwingen.Zobrazit informace o posádce, nebo nechat aby si hráč vybral sám. Výchozí: Nevynucovat Mostrar informações de tripulação ou por padrão permitir a escolha dos jogadores. Padrão: Não forçar.
+ A legénységi adatok mutatása, alapértelmezett esetben a játékos által kiválasztható. Alapértelmezett: Nincs felülbírálásShow for Vehicles
@@ -196,6 +206,7 @@
Zeige bei FahrzeugenZobrazit pro vozidlaMostrar para veículos
+ Mutatás járműveknélShow cursor NameTag for vehicle commander (only if client has name tags enabled)Default: No
@@ -212,6 +223,7 @@
Este módulo permite personalizar la configuración y la distancia de las Etiquetas de nombre.Tento modul umožňuje si přizpůsobit nastavení a vzdálenost jmenovky.Este módulo permite que você personalize as configurações e distâncias de etiquetas de nome.
+ Ez a modul lehetővé teszi a névcímkék beállításainak testreszabását.Disabled
@@ -220,6 +232,7 @@
DeaktiviertZakázánoDesativado
+ LetiltvaEnabled
@@ -228,6 +241,7 @@
AktiviertPovolenoAtivado
+ EngedélyezveOnly on Cursor
@@ -236,6 +250,7 @@
Nur bei MausPouze na kurzorSomente no cursor
+ Csak kurzorraOnly on Keypress
@@ -244,6 +259,7 @@
Nur bei TastendruckPouze na klávesuSomente em tecla ativada
+ Csak gombnyomásraOnly on Cursor and Keypress
@@ -252,6 +268,7 @@
Nur Maus und TastendruckPouze na kurzor a klávesuSomente em cursor ou tecla ativada
+ Csak kurzorra és gombnyomásraForce Show Only on Cursor
@@ -260,6 +277,7 @@
Vynuceno zobrazit pouze na kurzorErzwinge nur mit Mauszeiger anzuzeigenForçar mostrar somente no cursor
+ Erőltetett látható, csak kurzorraForce Show Only on Keypress
@@ -268,6 +286,7 @@
Vynuceno zobrazit pouze na klávesuErzwinge nur mit Tastendruck anzuzeigenForçar somente mostrar em tecla ativada
+ Erőltetett látható, csak gombnyomásraForce Show Only on Cursor and Keypress
@@ -276,6 +295,7 @@
Vynuceno zobrazit pouze na kurzor a klávesuErzwinge nur mit Mauszeiger und Tastendruck anzuzeigenForçar mostrar somente em cursor e tecla ativada
+ Erőltetett látható, csak kurzorra és gombnyomásraUse Nametag settings
@@ -284,6 +304,7 @@
Verwende NamenanzeigenPoužít nastavení jmenovkyUsar ajustes de etiquetas de nome
+ Névcímkék beállításának használataAlways Show All
@@ -292,6 +313,7 @@
Immer alle zeigenVždy zobrazit všeSempre mostrar tudo
+ Mindig minden mutatásaShow player names and set their activation. Default: Enabled
@@ -300,6 +322,7 @@
Zobrazit jména hráčů a nastavit jejich aktivaci. Výchozí: PovolenoErlaubt das Anzeigen von Spielernamen und stellt ein, ob sie standardmäßig aktiviert oder deaktiviert sind. Standard: aktiviertMostrar os nomes dos jogadores e definir sua ativação. Padrão: Ativado
+ Mutassa a játékosok nevét és kezelje az aktivációjukat. Alapértelmezett: EngedélyezveEffect of sound waves above the heads of speaking players after holding the PTT key. This option works with TFAR and ACRE2.
@@ -308,6 +331,7 @@
Efekt zvukových vln nad hlavami hráčů když mluví skrz PTT klávesu. Tato volba funguje s TFAR a ACRE2.Es wird ein Schallwellensymbol über den Köpfen von sprechenden Spielern angezeigt, die ihre Push-to-Talk-Taste drücken. Diese Option funktioniert mit TFAR und ACRE2.Efeito de ondas sonoras acima das cabeças dos jogadores que falam depois mantendo pressionada a tecla PTT. Esta opção funciona com TFAR e ACRE2.
+ Hanghullám-effekt a beszélő játékosok feje felett a PTT-gomb lenyomásakor. Ez a beállítás TFAR és ACRE2 alatt működik.Nametags Size
@@ -316,6 +340,7 @@
Velikost jmenovkyNamensschildgrößeTamanho das etiquetas de nome
+ Névcímkék méreteText and Icon Size Scaling
@@ -324,6 +349,7 @@
Velikost textu a ikonText- und SymbolgrößenEscala de tamanho dos ícones e textos
+ Szöveg és ikon méretének skálázása
-
+
\ No newline at end of file
diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml
index 74430baedc..b26bf6261a 100644
--- a/addons/optionsmenu/stringtable.xml
+++ b/addons/optionsmenu/stringtable.xml
@@ -266,6 +266,7 @@
Erlaube alle Einstellungen in einer Server-Config zu exportieren.Povolit exportovat všechna nastavení do formátu server configu.Permitir exportação de todas as configurações para uma configuração formatada de servidor.
+ Az összes beállítás szerver-konfigurációba való exportálásának engedélyezése.When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard.
@@ -274,6 +275,7 @@
Wenn erlaubt, können die Einstellungsmodifikationen angezeigt und im SP exportiert werden. Wenn auf "Exportieren" geklickt wird, wird eine formatierte Config-Datei in der Zwischenablage abgespeichert.Pokud je povoleno, budete mít přístup k modifikaci nastavení a exportování v SP. Kliknutím na export umístníte formátovaný config do vaší schránky.Quando permitido, você tem acesso à modificação de definições e exportação em SP. Clicando em exportação colocará a configuração formatada em sua área de transferência.
+ Engedélyezéskor hozzáférést kapsz a beállítások módosításához és exportálásához egyjátékos módban. Exportáláskor a formázott konfiguráció a vágólapra kerül.Hide
diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml
index 2d0bc91314..71ef5a9704 100644
--- a/addons/switchunits/stringtable.xml
+++ b/addons/switchunits/stringtable.xml
@@ -32,6 +32,7 @@
Einheiten-Switch-System?Systém výměny stranSistema de troca de unidades
+ Egységváltó-rendszerSwitch to West?
@@ -40,6 +41,7 @@
Nach BLUFOR wechseln?Přesunout k BLUFOR?Trocar para Oeste?
+ Átváltás BLUFOR-ra?Allow switching to west units?
@@ -48,6 +50,7 @@
Erlaube das Wechseln zu BLUFOR-Einheiten?Povolit přesun k BLUFOR?Permitir troca de unidades para o Oeste?
+ Nyugat-fakciós egységekre való váltás engedélyezése?Switch to East?
@@ -56,6 +59,7 @@
Nach OPFOR wechseln?Přesunout k OPFOR?Trocar para Leste?
+ Átváltás OPFOR-ra?Allow switching to east units?
@@ -64,6 +68,7 @@
Erlaube das Wechseln zu OPFOR-Einheiten?Povolit přesun k OPFOR?Permitir troca de unidades para o Leste?
+ Kelet-fakciós egységekre való váltás engedélyezése?Switch to Independent?
@@ -72,6 +77,7 @@
Nach INDFOR wechseln?Přesunout k INDFOR?Trocar para Indenpendente
+ Átváltás INDFOR-ra?Allow switching to independent units?
@@ -80,6 +86,7 @@
Erlaube das Wechseln zu INDFOR-Einheiten?Povolit přesun k INDFOR?Permitir troca de unidades para o Indenpendente?
+ Független egységekre való váltás engedélyezése?Switch to Civilian?
@@ -88,6 +95,7 @@
Nach CIVILIAN wechseln?Přesunout k CIVILISTŮM?Trocar para Civis?
+ Átváltás civilre?Allow switching to civilian units?
@@ -96,6 +104,7 @@
Erlaube das Wechseln zu CIVILIAN-Einheiten?Povolit přesun k CIVILISTŮM?Permitir troca de unidades para o Civil?
+ Civil egységekre való váltás engedélyezése?Enable Safe Zone?
@@ -104,6 +113,7 @@
Aktiviere Sicherheitszone?Povolit bezpečné oblasti?Habilitar zona segura?
+ Biztonságos zóna engedélyezése?Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone.
@@ -112,6 +122,7 @@
Aktiviere eine Sicherheitszone um feindliche Einheiten? Spieler können nicht zu Einheiten in der Sicherheitszone wechseln.Povolit bezpečnou zónu kolem nepřátelských jednotek? Hráči se nemohou změnit strany/jednotky uvnitř bezpečné zóny.Habilitar uma zona segur ao redor das unidades inimigas? Jogadores não conseguirão trocar para unidades dentro dessa zona segura.
+ Engedélyezve legyen-e egy biztonságos zóna az ellenségek körül? A játékosok nem tudnak a biztonságos zónán belüli egységekre váltani.Safe Zone Radius
@@ -120,6 +131,7 @@
SicherheitszonenradiusOblast bezpečné zónyRaio da zona segura
+ Biztonságos zóna hatóköreThe safe zone around players from a different team. Default: 200
@@ -128,9 +140,9 @@
Die Sicherheitszone um Spieler von einem anderen Team. Standard: 200Bezpečná zóna kolem hráče z jiných týmu. Výchozí: 200A zona segura ao redor dos jogadores de diferentes equipes. Padrão: 200
+ A biztonságos zóna más csapatból lévő játékosok körül. Alapértelmezett: 200
- Moduł ten pozwala na zmianę strony w trakcie gry.Tento modul umožňuje přepínání mazi dostupnými stranami.Este módulo permite mudar o lado à disposição dos jogadores.
diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml
index 89a64faf8a..1d567fba62 100644
--- a/addons/vehiclelock/stringtable.xml
+++ b/addons/vehiclelock/stringtable.xml
@@ -180,6 +180,7 @@
UnverändertJak jeComo está
+ Úgy-ahogyLocked
@@ -188,6 +189,7 @@
GesperrtZamčenoFechado
+ ZárvaUnlocked
@@ -196,6 +198,7 @@
OffenOdemčenoAberto
+ NyitvaDefault Lockpick Strength
diff --git a/addons/viewdistance/stringtable.xml b/addons/viewdistance/stringtable.xml
index bdf96f35a0..f5757a55cc 100644
--- a/addons/viewdistance/stringtable.xml
+++ b/addons/viewdistance/stringtable.xml
@@ -8,6 +8,7 @@
Omezovač dohlednostiSichtweitenbegrenzungLimitador de distância de visão
+ Látótáv-korlátozóAllows limiting maximum view distance that can be set by players.
@@ -16,6 +17,7 @@
Umožňuje určit maximální dohlednost, kterou si může hráč nastavitErlaubt das Einschränken der maximalen Sichtweite, welche von Spielern eingestellt werden kann.Permite limitar a distância máxima de visão que pode ser definida pelos jogadores.
+ Lehetővé teszi a játékosok által a látótávolság maximumának korlátozását.Enable ACE viewdistance
@@ -24,6 +26,7 @@
Povolit ACE dohlednostAktiviere ACE-SichtweiteHabilitar distância de visão ACE
+ ACE látótávolság engedélyezéseEnables ACE viewdistance
@@ -32,6 +35,7 @@
Povolit ACE dohlednostAktiviert ACE-SichtweiteHabilita a distância de visão ACE
+ Engedélyezi az ACE látótávolságotView Distance Limit
@@ -40,6 +44,7 @@
Limit dohlednostiSichtweitengrenzeLimite da distância de visão
+ Látótáv-korlátSets the limit for how high clients can raise their view distance (up to 10000)
@@ -48,6 +53,7 @@
Stanoví limit jak daleko si může client zvýšit dohlednost (do 10000)Setze die Grenze fest, wie weit Spieler ihre Sichtweite erhöhen können (bis 10000)Estabelecer um limite de quão alto os clientes podem aumentar sua distância de visão (até 10000)
+ Korlátozza, mekkora látótávolságot állíthatnak be a kliensek (maximum 10000-ig)Limit for client's view distance set here and can overridden by module
@@ -56,6 +62,7 @@
Limit dohlednoti pro klienty se nastavuje zde a může být potlačeno pomocí modulu.Stellt die Grenze für die Sichtweite des Spielers ein. Das kann von einem Modul überschrieben werden.Permite limitar a distância de visão máxima que pode ser definida por jogadores. Pode ser substituído por módulo.
+ A kliens látótávolsága itt állítható be, és felülbírálható modulok általClient View Distance (On Foot)
@@ -64,6 +71,7 @@
Dohlednost (Pěšák)Spielersichtweite (zu Fuß)Distância de visão do cliente (A pé)
+ Kliens látótáv (gyalog)Changes in game view distance when the player is on foot.
@@ -72,6 +80,7 @@
Změna dohlednosti pro hráče pokud jde po svých.Verändert die Sichtweite, wenn ein Spieler zu Fuß unterwegs ist.Muda a distância de visão do jogador dentro do jogo quando ele está a pé.
+ Megváltoztatja a játékon belüli látótávolságot, amennyiben a játékos gyalogosan van.Client View Distance (Land Vehicle)
@@ -80,6 +89,7 @@
Dohlednost (Pozemní technika)Spielersichtweite (Landfahrzeuge)Distância de visão do cliente (Veículo terrestre)
+ Kliens látótáv (szárazföldi jármű)Changes in game view distance when the player is in a land vehicle.
@@ -88,6 +98,7 @@
Změna dohlednosti pro hráče pokud je v pozemní technice.Verändert die Sichtweite, wenn ein Spieler in einem Landfahrzeug ist.Muda a distância de visão do jogador dentro do jogo quando ele está dentro de um veículo terrestre.
+ Megváltoztatja a játékon belüli látótávolságot, amennyiben a játékos szárazföldi járműben van.Client View Distance (Air Vehicle)
@@ -96,6 +107,7 @@
Dohlednost (Vzdušná technika)Spielersichtweite (Luftfahrzeuge)Distância de visão do cliente (Veículo aéreo)
+ Kliens látótáv (légi jármű)Changes in game view distance when the player is in an air vehicle.
@@ -104,6 +116,7 @@
Změna dohlednosti pro hráče pokud je ve vzdušné technice.Verändert die Sichtweite wenn ein Spieler in einem Luftfahrzeug ist.Muda a distância de visão do jogador dentro do jogo quando ele está dentro de um veículo aéreo.
+ Megváltoztatja a játékon belüli látótávolságot, amennyiben a játékos légi járműben van.Dynamic Object View Distance
@@ -112,6 +125,7 @@
Dynamická dohlednost objektůDynamische ObjektsichtweiteDistância de visão dinâmica dos objetos
+ Dinamikus objektum-látótávSets the object view distance as a coefficient of the view distance.
@@ -120,6 +134,7 @@
Nastaví objekt dohlednosti jako koeficient dohlednosti.Passt die Objektsichtweite dynamisch der Sichtweite an.Estabelece a distância de visão dos objetos com um coeficiente da distância de visão.
+ Beállítja az objektum-látótávot a megadott látótáv koefficienseként.Off
@@ -128,6 +143,7 @@
VypnoutAusDesligado
+ KikapcsolvaVery Low
@@ -136,6 +152,7 @@
Velmi máloSehr niedrigMuito baixo
+ MinimálisLow
@@ -144,6 +161,7 @@
MáloNiedrigBaixo
+ AlacsonyMedium
@@ -152,6 +170,7 @@
StředněMittelMédio
+ KözepesHigh
@@ -160,6 +179,7 @@
HodněHochAlto
+ MagasVery High
@@ -168,6 +188,7 @@
Velmi hodněSehr hochMuito alto
+ MaximálisView Distance:
@@ -176,6 +197,7 @@
Dohlednost:Sichtweite:Distância de visão:
+ Látótávolság:Object View Distance is
@@ -184,6 +206,7 @@
Dohlednost objektů jeObjektsichtweite istDistância de visão do objeto é
+ Az objektum-látótávolság:That option is invalid! The limit is
@@ -192,6 +215,7 @@
Tato volba je neplatná! Limit jeDiese Option ist ungültig! Die Grenze istEssa opção é inválida. O limte é
+ Ez a beállítás érvénytelen! A maximum mennyiségVideo Settings
@@ -200,6 +224,7 @@
Nastavení videaGrafikeinstellungenAjustes de vídeo
+ Videobeállítások
-
+
\ No newline at end of file
diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml
index 69e2d4a792..aa6243b519 100644
--- a/addons/weather/stringtable.xml
+++ b/addons/weather/stringtable.xml
@@ -20,6 +20,7 @@
WetterPočasíClima
+ IdőjárásMultiplayer synchronized ACE weather module
@@ -28,6 +29,7 @@
ACE-Wettermodul (synchron im Multiplayer)Synchronizovat ACE počasí v multiplayeruMódulo climático ACE para sincronismo multiplayer
+ Többjátékos szinkronizált ACE időjárás modulWeather propagation
@@ -36,6 +38,7 @@
WetterübertragungZměny počasíPropagação do clima
+ Időjárás-változásEnables server side weather propagation
@@ -44,6 +47,7 @@
Aktiviere serverseitige WetterübertragungAktivuje změny počasí na straně serveruAtiva propagação de clima via server
+ Engedélyezi a szerveroldali időjárás-változástACE Weather
@@ -52,6 +56,7 @@
ACE-WetterACE počasíClima ACE
+ ACE IdőjárásOverrides the default weather (editor, mission settings) with ACE weather (map based)
@@ -60,6 +65,7 @@
Überschreibt das Standardwetter (Editor, Missionseinstellungen) mit dem ACE-Wetter (kartenbasiert)Přepíše výchozí počasí (editor, nastavení mise) s ACE počasím (podle mapy)Sobreescreve o clima padrão (editor, ajustes de missão) pelo sistema de clima ACE (baseado por mapa)
+ Felülbírálja az alapértelmezett időjárást (editor, küldetésbeállítások) az ACE időjárással (térkép-alapú) Sync Rain
@@ -68,6 +74,7 @@
Regen synchronisierenSynchronizuj déšťSincronizar chuva
+ Eső szinkronizálásaSynchronizes rain
@@ -76,6 +83,7 @@
Synchronisiert den RegenSynchronizace deštěSincroniza a chuva
+ Szinkronizálja az esőtSync Wind
@@ -84,6 +92,7 @@
Wind synchronisierenSynchronizuj vítrSincronizar vento
+ Szél szinkronizálásaSynchronizes wind
@@ -92,6 +101,7 @@
Synchronisiert den WindSynchronizace větruSincroniza o vento
+ Szinkronizálja a szeletSync Misc
@@ -100,6 +110,7 @@
Sonstiges synchronisierenSynchronizuj různéSincronizar outros
+ Egyéb szinkronizálásaSynchronizes lightnings, rainbow, fog, ...
@@ -108,6 +119,7 @@
Synchronisiert Blitze, Regenbögen, Nebel, ...Synchronizace blesků, duhy, mlhy, ...Sincroniza relâmpagos, arco-íris, neblina...
+ Szinkronizálja a villámokat, szivárványokat, ködöt, ...Update Interval
@@ -116,6 +128,7 @@
AktualisierungsintervallInterval aktualizaceIntervalo de atualização
+ Frissítési intervallumDefines the interval (seconds) between weather updates
@@ -124,6 +137,7 @@
Definiert das Intervall (in Sekunden) zwischen WetteraktualisierungenUrčit interval (v sekundách) mezi aktualizacemi počasíDefina o intervalo (em segundos) entre as atualizações de clima
+ Megadja az intervallumot (másodpercben) az időjárás-frissítések között
\ No newline at end of file
diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml
index f7b4324233..d643dbfd7f 100644
--- a/addons/winddeflection/stringtable.xml
+++ b/addons/winddeflection/stringtable.xml
@@ -108,6 +108,7 @@
SimulationsintervallInterval simulaceIntervalo de simulação
+ Szimulációs intervallumDefines the interval between every calculation step
@@ -116,6 +117,7 @@
Definiert das Intervall zwischen jedem BerechnungsschrittUrčuje interval mezi každým výpočtemDefine o intervalo entre cada cálculo
+ Megszabja a számítási lépések közötti intervallumotSimulation Radius
@@ -124,6 +126,7 @@
SimulationsradiusOblast simulaceRadio da Simulação
+ Szimulációs hatókörDefines the radius around the player (in meters) at which projectiles are wind deflected
@@ -142,4 +145,4 @@
Influência do vento na trajetória dos projéteis
-
+
\ No newline at end of file
diff --git a/addons/yardage450/stringtable.xml b/addons/yardage450/stringtable.xml
index 30887673e7..7a3a6bdef2 100644
--- a/addons/yardage450/stringtable.xml
+++ b/addons/yardage450/stringtable.xml
@@ -8,6 +8,7 @@
Yardage 450Yardage 450Yardage 450
+ Yardage 450Laser Rangefinder
@@ -16,6 +17,7 @@
Telémetro láserLaserový dálkoměrMedidor de Distância a laser
+ Lézeres távolságmérőYardage 450 - Power Button
@@ -24,6 +26,7 @@
Yardage 450 - Botón de encendidoYardage 450 - Tlačítko napájeníYardage 450 - Botão de energia
+ Yardage 450 - Főkapcsoló gomb
-
+
\ No newline at end of file
diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml
index 7c70978aa4..e4af41a208 100644
--- a/addons/zeus/stringtable.xml
+++ b/addons/zeus/stringtable.xml
@@ -8,6 +8,7 @@
Nastavení ZeuseZeus-EinstellungenAjustes do Zeus
+ Zeus beállításokProvides control over various aspects of Zeus.
@@ -40,6 +41,7 @@
Orel ZeuseZeus-AdlerÁguia do Zeus
+ Zeus sasSpawn an eagle that follows the Zeus camera.
@@ -48,6 +50,7 @@
Vytvoří orla, který následuje kameru Zeuse.Erstelle einen Adler, der der Zeus-Kamera folgt.Cria uma águia que segue a câmera do Zeus
+ Lerak egy sast, ami követi a Zeus kamerát.Wind Sounds
@@ -56,6 +59,7 @@
Zvuky větruWindgeräuscheSons de vento
+ SzélhangokPlay wind sounds when Zeus remote controls a unit.
@@ -72,6 +76,7 @@
Varování před dělostřelectvemArtilleriewarnungAviso de explosivos
+ Tüzérségi figyelmeztetésPlay a radio warning when Zeus uses ordnance.
@@ -80,6 +85,7 @@
Přehrát varování (rádio) když Zeus použije dělostřelectvo.Spiele eine Radiowarnung ab, wenn Zeus Artillerie verwendet.Reproduz uma aviso via rádio quando o Zeus usa um explosivo.
+ Rádiós figyelmeztetés kiadása, ha a Zeus tüzérséget használ.Reveal Mines
@@ -88,6 +94,7 @@
Odhalit minyEnthülle MinenRevelar minas
+ Aknák feltárásaReveal mines to allies and place map markers.
@@ -96,6 +103,7 @@
Odhalí miny pro spojence a umístnit jejich značku na mapu.Enthülle Minen gegenüber Verbündeten und platziere Kartenmarkierungen.Revelar minas para aliados e colocar marcadores no mapa.
+ Feltárja az aknákat a szövetségeseknek, és jelölőket helyez el a térképen.Reveal to Allies
@@ -104,6 +112,7 @@
Odhalit pro spojenceAn Verbündete weitergebenRevelar para aliados
+ Feltárás a szövetségeseknekAllies + Map Markers
@@ -112,6 +121,7 @@
Spojenci + Značky na mapěVerbündete + KartenmarkierungenAliados + Marcadores no mapa
+ Szövetségesek + térkép jelölőkToggle Captive
@@ -120,6 +130,7 @@
Přepnout - VězeňGefangennahme umschaltenAlternar prisioneiro
+ Elfogott állapot váltásaToggle Surrender
@@ -128,6 +139,7 @@
Přepnout - VzdáváníAufgabe umschaltenAlternar rendição
+ Kapituláló állapot váltásaToggle Unconscious
@@ -136,6 +148,7 @@
Přepnout - BezvědomíBewusstlosigkeit umschaltenAlternar inconsciência
+ Eszméletlen állapot váltásaUnit must be alive
@@ -168,6 +181,7 @@
Jednotka nemí být vězeňEinheit darf nicht gefangen seinUnidade não pode ser prisioneira
+ Csak elfogatlan egységeken használniPlace on a unit
@@ -188,6 +202,7 @@
Vyžaduje addon, který není přítomenBenötigt ein Addon, das nicht vorhanden istRequer um addon que não está presente
+ Egy jelenleg hiányzó bővítményt igényel
-
+
\ No newline at end of file
From b2aa5eee45f601092061b11148707a78227d5bae Mon Sep 17 00:00:00 2001
From: Harakhti
Date: Thu, 30 Jul 2015 16:28:50 +0200
Subject: [PATCH 05/48] Row 3
BINGO FUEL
---
addons/slideshow/stringtable.xml | 13 +++++++++++++
addons/tripod/stringtable.xml | 10 +++++++---
addons/vehiclelock/stringtable.xml | 16 +++++++++++++---
addons/winddeflection/stringtable.xml | 7 +++++++
addons/zeus/stringtable.xml | 4 ++++
5 files changed, 44 insertions(+), 6 deletions(-)
diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml
index 63547c06e2..f9d96efe69 100644
--- a/addons/slideshow/stringtable.xml
+++ b/addons/slideshow/stringtable.xml
@@ -3,42 +3,55 @@
Slideshow
+ VetítésThis module allows you to set up slide-shows on different objects. One module per image list. Only objects with hiddenSelection 0 are supported.
+ Ez a modul lehetővé teszi a különböző objektumokon való vetítést. Egy modul/képlista. Csak "hiddenSelection 0"-t tartalmazó objektumok felelnek meg.Objects
+ ObjektumokObject names (can also be synchronized objects) slide-show will be displayed on, separated by commas if multiple. Reference INFO for object support.
+ Objektum nevek (szinkronizált is lehet) amik a vetítésen megjelennek, több darab esetén vesszővel elválasztva. Objektumtámogatásért az INFO-t tekintsd meg.Controllers
+ VezérlőkController object names, separated by commas if multiple.
+ Vezérlő objektum nevek, vesszővel elválasztva több darab esetén.Images
+ KépekList of images that will be used for the slide-show, separated by commas, with full path correctly formatted (eg. images\image.paa).
+ A képek listája amit a vetítés használni fog, vesszővel elválasztva, megfelelően formázott teljes útvonallal (pl. képek\kép.paa)Interaction Names
+ Interakciós nevekList of names that will be used for interaction entries, separated by commas, in order of images.
+ Olyan nevek listája, melyek interakciós célra kellenek, vesszővel elválasztva, kép szerinti sorrendben.Slide Duration
+ Dia időtartamDuration of each slide. Default: 0 (Automatic Transitions Disabled)
+ A diák időtartama. Alapértelmezett: 0 (Automatikus váltás letiltva)Slides
+ Diák
\ No newline at end of file
diff --git a/addons/tripod/stringtable.xml b/addons/tripod/stringtable.xml
index caddca415f..fc74ed8b92 100644
--- a/addons/tripod/stringtable.xml
+++ b/addons/tripod/stringtable.xml
@@ -10,7 +10,7 @@
SSWT KitSSWT soupravaSSWT Kit
- SSWT Kit
+ SSWT KészletKit SSWT
@@ -22,7 +22,7 @@
Place SSWT KitRozlož souprava SSWTPlace SSWT Kit
- Place SSWT Kit
+ SSWT készlet elhelyezéseColocar kit SSWT
@@ -32,6 +32,7 @@
Zvednout SSWT soupravuSSWT-Werkzeug aufhebenPegar kit SSWT
+ SSWT készlet felvételeAdjust SSWT Kit
@@ -40,6 +41,7 @@
Regulovat SSWT soupravuSSWT-Werkzeug anpassenAjustar kit SSWT
+ SSWT készlet állításaDone
@@ -48,6 +50,7 @@
HotovoFertigFeito
+ Kész+ Modifier, adjust
@@ -56,6 +59,7 @@
+ Modifikátor, regulace+ Modifikator, anpassen+ Modificador, ajuste
+ + Módosító, szabályzás
-
+
\ No newline at end of file
diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml
index 1d567fba62..c190117fd0 100644
--- a/addons/vehiclelock/stringtable.xml
+++ b/addons/vehiclelock/stringtable.xml
@@ -140,6 +140,7 @@
FahrzeugsperreinstellungenNastavení zámku vozidlaConfiguração de fechadura do veículo
+ Jármű-zár beállításLock Vehicle Inventory
@@ -148,6 +149,7 @@
Sperre FahrzeuginventarInventář zamčeného vozidlaBloquear inventário do veículo
+ Jármű rakodótér zárásLocks the inventory of locked vehicles
@@ -156,6 +158,7 @@
Sperrt das Inventar von gesperrten FahrzeugenZamknout inventář u zamčených vozidelBloqueia o inventário de veículos fechados
+ Bezárja a zárt járművek rakterét isVehicle Starting Lock State
@@ -164,6 +167,7 @@
Fahrzeuge spawnen gesperrtPočáteční stav zámku vozidlaEstado inicial da fechadura dos veículos
+ Jármű kezdő zár-állapotSet lock state for all vehicles (removes ambiguous lock states)
@@ -172,6 +176,7 @@
Setze Sperrstatus für alle Fahrzeuge (entfernt unklare Sperrzustände)Nastavit stav zámku u všech vozidel (odstraňuje nejednoznačné stavy zámků)Definir estados de fechadura para todos os veículos (remove estados de fechadura ambíguos)
+ Beállítja a zár-állapotot az összes járműhöz (eltávolítja az azonosíthatatlan zárállapotokat)As Is
@@ -180,7 +185,7 @@
UnverändertJak jeComo está
- Úgy-ahogy
+ Úgy-ahogyLocked
@@ -189,7 +194,7 @@
GesperrtZamčenoFechado
- Zárva
+ ZárvaUnlocked
@@ -198,7 +203,7 @@
OffenOdemčenoAberto
- Nyitva
+ NyitvaDefault Lockpick Strength
@@ -207,6 +212,7 @@
Standard-Pick-StärkeVýchozí síla páčidlaDurabilidade padrão da chave micha
+ Alapértelmezett zártörő-erősségDefault Time to lockpick (in seconds). Default: 10
@@ -215,6 +221,7 @@
Standardzeit um ein Schloss zu knacken (in Sekunden). Standard: 10Čas k vypáčení zámku (v sekundách). Výchozí: 10Tempo padrão para forçar a fechadura (em segundos). Padrão: 10
+ Alapértelmezett idő a zárfeltöréshez (másodpercben). Alapértelmezett: 10Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states.<br />Source: vehiclelock.pbo
@@ -223,6 +230,7 @@
Einstellungen für Pick-Stärke und anfänglichen Fahrzeugsperrzustand. Entfernt unklare Sperrzustände.<br />Quelle: vehiclelock.pboNastavení síly vypáčení a počáteční stav zámku vozidla. Odstraňuje nejednoznačné stavy zámků.<br />Zdroj: vehiclelock.pboDefinições para a durabilidade da chave micha e estado inicial da fechadura do veículo. Remove estados de fechadura ambíguas <br /> Fonte: Vehiclelock.pbo
+ Beállítások a zártörő erősségére és alapértelmezett zár-állapotra a járműveken. Eltávolítja az azonosíthatatlan zár-állapotokat. <br />Forrás: vehiclelock.pboVehicle Key Assign
@@ -231,6 +239,7 @@
FahrzeugschlüsselzuweisungPřidělení klíče k vozidluAtribuição de chave de veículo
+ Járműkulcs-osztásSync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start.<br />Source: vehiclelock.pbo
@@ -239,6 +248,7 @@
Synchronisiere mit Fahrzeugen und Spielern. Wird eigene Schlüssel an Spieler für jedes synchronisierte Fahrzeuge aushändigen. Nur gültig für am Missionsstart existierende Fahrzeuge.<br />Quelle: vehiclelock.pboSynchronizuj s vozidly a hráči. Hráč dostane klíč ke každému synchonizovanému vozidlu. Platné pouze pro objekty přítomné na začátku mise.<br />Zdroj: vehiclelock.pboSincronizar com veículos e jogadores. Irá distribuir chaves personalizadas para os jogadores para cada veículo sincronizado. Só é válido para objetos presentes no início da missão <br /> Fonte: vehiclelock.pbo
+ Szinkronizál a járművekkel és játékosokkal. Egyedi kulcsokat oszt ki a játékosoknak minden szinkronizált járműhöz. Csak a küldetés indításakor jelenlévő járművekhez érvényes. <br />Forrás: vehiclelock.pbo
\ No newline at end of file
diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml
index d643dbfd7f..dd96760310 100644
--- a/addons/winddeflection/stringtable.xml
+++ b/addons/winddeflection/stringtable.xml
@@ -68,6 +68,7 @@
Účinky větruWindablenkungDesvio de vento
+ Szél-hárításWind Deflection
@@ -76,6 +77,7 @@
WindablenkungÚčinky větruDesvio de vento
+ Szél-hárításEnables wind deflection
@@ -84,6 +86,7 @@
Aktiviert WindablenkungUmožňit vliv větruAtiva o desvio de vento
+ Engedélyezi a szél-hárítástVehicle Enabled
@@ -92,6 +95,7 @@
Fahrzeuge aktiviertVozidla povolenaAtivado em veículos
+ Jármű engedélyezveEnables wind deflection for static/vehicle gunners
@@ -100,6 +104,7 @@
Aktiviere Windablenkung für statische oder FahrzeugschützenUmožnit vliv větru pro střelce z vozidla/statikyAtiva o desvio de vento para atiradores de estáticas e veículos
+ Engedélyezi a szél-hárítást a statikus/jármű-lövészeknélSimulation Interval
@@ -135,6 +140,7 @@
Gibt den Radius (in Metern) um den Spieler an, in dem Projektile vom Wind beeinflusst werdenDefinuje oblast kolem hráče (v metrech) v které je projektil ovlivněn větremDefine o raio ao redor do jogador (em metros) em qual os projéteis são desviados pelo vento
+ Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékeket háríthatja a szélWind influence on projectiles trajectory
@@ -143,6 +149,7 @@
Windeinfluss auf die GeschossbahnenVítr ovlivňuje trajektorii projektiluInfluência do vento na trajetória dos projéteis
+ Szél hatása a lövedékek röppályájára
\ No newline at end of file
diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml
index e4af41a208..2246cd1786 100644
--- a/addons/zeus/stringtable.xml
+++ b/addons/zeus/stringtable.xml
@@ -17,6 +17,7 @@
Poskytuje kontrolu na různými aspekty Zeuse.Bietet die Steuerung verschiedener Zeus-Optionen an.Proporciona controle sobre diversos aspectos do Zeus.
+ Különböző beállítási lehetőségeket biztosít a Zeus részeihez.Ascension Messages
@@ -25,6 +26,7 @@
Zpráva o novém ZeusoviAufstiegsnachrichtenMensagens de ascensão
+ Felemelkedési üzenetekDisplay global popup messages when a player is assigned as Zeus.
@@ -33,6 +35,7 @@
Zobrazit globální zprávu když je hráč přiřazen jako Zeus.Zeige globale Popup-Nachrichten wenn ein Spieler zu Zeus wird.Mostra uma mensagem popup quando um jogador é atribuido ao Zeus.
+ Globális üzeneteket jelez ki, ha egy játékos Zeus-nak lesz beosztva.Zeus Eagle
@@ -68,6 +71,7 @@
Přehrát varování (vítr) když Zeus převezmě kontrolu nad jednotkou.Spiele Windgeräusche ab, wenn Zeus eine Einheit steuert.Reproduz sons de vento quando uma unidade é remotamente controlada pelo Zeus.
+ Szélhangokat játszik le, ha a Zeus távvezérel egy egységet.Ordnance Warning
From 861119f22fa2449bf77697a502ac46e246be9188 Mon Sep 17 00:00:00 2001
From: Harakhti
Date: Sat, 1 Aug 2015 14:54:29 +0200
Subject: [PATCH 06/48] Sync rephrasing with upstream
The humor wilts quickly.
---
addons/finger/stringtable.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml
index 57fab198fb..0b1b4f65d7 100644
--- a/addons/finger/stringtable.xml
+++ b/addons/finger/stringtable.xml
@@ -44,7 +44,7 @@
How far away players can finger each other. [default: 4]
- Milyen messziről ujjazhatják egymást a játékosok. [alapértelmezett: 4]
+ A maximális távolság, amelyben a közeli játékosoknak megjelenik az indikátor. [alapértelmezett: 4 méter]
\ No newline at end of file
From c6fbdb420c13f0c3d0224079cd84fe8ec7d25c83 Mon Sep 17 00:00:00 2001
From: jokoho48
Date: Thu, 13 Aug 2015 23:42:20 +0200
Subject: [PATCH 07/48] Code cleanup of Hearing module
---
addons/hearing/XEH_postInit.sqf | 2 +-
addons/hearing/functions/fnc_addEarPlugs.sqf | 3 +-
addons/hearing/functions/fnc_earRinging.sqf | 3 +-
.../hearing/functions/fnc_explosionNear.sqf | 2 +-
addons/hearing/functions/fnc_firedNear.sqf | 32 +++++++++----------
.../hearing/functions/fnc_hasEarPlugsIn.sqf | 3 +-
.../hearing/functions/fnc_moduleHearing.sqf | 3 +-
.../hearing/functions/fnc_putInEarplugs.sqf | 2 +-
.../hearing/functions/fnc_removeEarplugs.sqf | 2 +-
addons/hearing/functions/fnc_updateVolume.sqf | 4 +--
10 files changed, 25 insertions(+), 31 deletions(-)
diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf
index ad73ed55d5..66406ad917 100644
--- a/addons/hearing/XEH_postInit.sqf
+++ b/addons/hearing/XEH_postInit.sqf
@@ -15,7 +15,7 @@ GVAR(time4) = 0;
["SettingsInitialized", {
// Spawn volume updating process
- [FUNC(updateVolume), 1, [false] ] call CBA_fnc_addPerFrameHandler;
+ [FUNC(updateVolume), 1, [false]] call CBA_fnc_addPerFrameHandler;
}] call EFUNC(common,addEventHandler);
//Update veh attunation when player veh changes
diff --git a/addons/hearing/functions/fnc_addEarPlugs.sqf b/addons/hearing/functions/fnc_addEarPlugs.sqf
index 62ed4518e2..b2e43bc718 100644
--- a/addons/hearing/functions/fnc_addEarPlugs.sqf
+++ b/addons/hearing/functions/fnc_addEarPlugs.sqf
@@ -14,8 +14,7 @@
* Public: No
*/
#include "script_component.hpp"
-
-PARAMS_1(_unit);
+params ["_unit"];
// Exit if hearing is disabled or soldier has earplugs already in (persistence scenarios)
if (!GVAR(enableCombatDeafness) || {[_unit] call FUNC(hasEarPlugsIn)}) exitWith {};
diff --git a/addons/hearing/functions/fnc_earRinging.sqf b/addons/hearing/functions/fnc_earRinging.sqf
index 6a896c1820..63ca3e5f1c 100644
--- a/addons/hearing/functions/fnc_earRinging.sqf
+++ b/addons/hearing/functions/fnc_earRinging.sqf
@@ -15,8 +15,7 @@
* Public: No
*/
#include "script_component.hpp"
-
-PARAMS_2(_unit,_strength);
+params ["_unit", "_strength"];
if (_unit != ACE_player) exitWith {};
if (_strength < 0.05) exitWith {};
diff --git a/addons/hearing/functions/fnc_explosionNear.sqf b/addons/hearing/functions/fnc_explosionNear.sqf
index dde9bc50cc..8cea263fec 100644
--- a/addons/hearing/functions/fnc_explosionNear.sqf
+++ b/addons/hearing/functions/fnc_explosionNear.sqf
@@ -19,7 +19,7 @@
//Only run if deafness or ear ringing is enabled:
if ((!GVAR(enableCombatDeafness)) && GVAR(DisableEarRinging)) exitWith {};
-PARAMS_2(_unit,_damage);
+params ["_unit", "_damage"];
private ["_strength"];
_strength = 0 max _damage;
diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf
index 6fc48b27fa..5adf66fb25 100644
--- a/addons/hearing/functions/fnc_firedNear.sqf
+++ b/addons/hearing/functions/fnc_firedNear.sqf
@@ -24,7 +24,7 @@
//Only run if deafness or ear ringing is enabled:
if ((!GVAR(enableCombatDeafness)) && GVAR(DisableEarRinging)) exitWith {};
-PARAMS_7(_object,_firer,_distance,_weapon,_muzzle,_mode,_ammo);
+params ["_object", "_firer", "_distance", "_weapon", "_muzzle", "_mode", "_ammo"];
//Only run if firedNear object is player or player's vehicle:
if ((ACE_player != _object) && {(vehicle ACE_player) != _object}) exitWith {};
@@ -37,11 +37,11 @@ _vehAttenuation = if ((ACE_player == (vehicle ACE_player)) || {isTurnedOut ACE_p
_distance = 1 max _distance;
-_silencer = switch (_weapon) do {
- case (primaryWeapon _firer) : {(primaryWeaponItems _firer) select 0};
- case (secondaryWeapon _firer) : {(secondaryWeaponItems _firer) select 0};
- case (handgunWeapon _firer) : {(handgunItems _firer) select 0};
- default {""};
+_silencer = call {
+ if (primaryWeapon _firer) exitWith {(primaryWeaponItems _firer) select 0};
+ if (secondaryWeapon _firer) exitWith {(secondaryWeaponItems _firer) select 0};
+ if (handgunWeapon _firer) exitWith {(handgunItems _firer) select 0};
+ ""
};
_audibleFireCoef = 1;
@@ -58,7 +58,7 @@ if (count _weaponMagazines == 0) then {
_muzzleMagazines = getArray (configFile >> "CfgWeapons" >> _weapon >> _x >> "magazines");
_weaponMagazines append _muzzleMagazines;
};
- } forEach _muzzles;
+ } count _muzzles;
{
_ammoType = getText(configFile >> "CfgMagazines" >> _x >> "ammo");
_weaponMagazines set [_forEachIndex, [_x, _ammoType]];
@@ -68,11 +68,11 @@ if (count _weaponMagazines == 0) then {
_magazine = "";
{
- EXPLODE_2_PVT(_x,_magazineType,_ammoType);
+ params ["_magazineType", "_ammoType"];
if (_ammoType == _ammo) exitWith {
_magazine = _magazineType;
};
-} forEach _weaponMagazines;
+} count _weaponMagazines;
if (_magazine == "") exitWith {};
@@ -80,14 +80,12 @@ _initSpeed = getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed")
_ammoConfig = (configFile >> "CfgAmmo" >> _ammo);
_parentClasses = [_ammoConfig, true] call BIS_fnc_returnParents;
_caliber = getNumber(_ammoConfig >> "ACE_caliber");
-_caliber = switch (true) do {
- case ("ShellBase" in _parentClasses): { 80 };
- case ("RocketBase" in _parentClasses): { 200 };
- case ("MissileBase" in _parentClasses): { 600 };
- case ("SubmunitionBase" in _parentClasses): { 80 };
- default {
- if (_caliber <= 0) then { 6.5 } else { _caliber };
- };
+_caliber = call {
+ if ("ShellBase" in _parentClasses) exitWith { 80 };
+ if ("RocketBase" in _parentClasses) exitWith { 200 };
+ if ("MissileBase" in _parentClasses) exitWith { 600 };
+ if ("SubmunitionBase" in _parentClasses) exitWith { 80 };
+ if (_caliber <= 0) then { 6.5 } else { _caliber };
};
_loudness = (_caliber ^ 1.25 / 10) * (_initspeed / 1000) * _audibleFireCoef / 5;
_strength = _vehAttenuation * (_loudness - (_loudness / 50 * _distance)); // linear drop off
diff --git a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf
index 58dc302888..67a76685f4 100644
--- a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf
+++ b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf
@@ -14,7 +14,6 @@
* Public: No
*/
#include "script_component.hpp"
-
-PARAMS_1(_unit);
+params ["_unit"];
_unit getVariable ["ACE_hasEarPlugsin", false]
diff --git a/addons/hearing/functions/fnc_moduleHearing.sqf b/addons/hearing/functions/fnc_moduleHearing.sqf
index 6ec0af0231..50675022a0 100644
--- a/addons/hearing/functions/fnc_moduleHearing.sqf
+++ b/addons/hearing/functions/fnc_moduleHearing.sqf
@@ -9,8 +9,7 @@
* None
*/
#include "script_component.hpp"
-
-PARAMS_3(_logic,_units,_activated);
+params ["_logic", "_units", "_activated"];
if !(_activated) exitWith {};
diff --git a/addons/hearing/functions/fnc_putInEarplugs.sqf b/addons/hearing/functions/fnc_putInEarplugs.sqf
index 8b11e6ba25..8d5479c17b 100644
--- a/addons/hearing/functions/fnc_putInEarplugs.sqf
+++ b/addons/hearing/functions/fnc_putInEarplugs.sqf
@@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
-PARAMS_1(_player);
+params ["_player"];
// Plugs in inventory, putting them in
_player removeItem "ACE_EarPlugs";
diff --git a/addons/hearing/functions/fnc_removeEarplugs.sqf b/addons/hearing/functions/fnc_removeEarplugs.sqf
index 19a34831cd..f5b5ca2442 100644
--- a/addons/hearing/functions/fnc_removeEarplugs.sqf
+++ b/addons/hearing/functions/fnc_removeEarplugs.sqf
@@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
-PARAMS_1(_player);
+params ["_player"];
if !(_player canAdd "ACE_EarPlugs") exitWith { // inventory full
[localize LSTRING(Inventory_Full)] call EFUNC(common,displayTextStructured);
diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf
index 3a72e8eb3b..f1cb063971 100644
--- a/addons/hearing/functions/fnc_updateVolume.sqf
+++ b/addons/hearing/functions/fnc_updateVolume.sqf
@@ -19,9 +19,9 @@
//Only run if deafness or ear ringing is enabled:
if ((!GVAR(enableCombatDeafness)) && GVAR(DisableEarRinging)) exitWith {};
-EXPLODE_1_PVT((_this select 0),_justUpdateVolume);
-
private["_volume", "_soundTransitionTime"];
+(_this select 0) params ["_justUpdateVolume"];
+
GVAR(deafnessDV) = (GVAR(deafnessDV) min 20) max 0;
GVAR(volume) = (1 - (GVAR(deafnessDV) / 20)) max 0;
From cb8d009ef033a629fbb41328007ba8cebdf8d816 Mon Sep 17 00:00:00 2001
From: jokoho48
Date: Fri, 14 Aug 2015 00:31:42 +0200
Subject: [PATCH 08/48] Woops
---
addons/hearing/functions/fnc_firedNear.sqf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf
index 5adf66fb25..02de8db928 100644
--- a/addons/hearing/functions/fnc_firedNear.sqf
+++ b/addons/hearing/functions/fnc_firedNear.sqf
@@ -38,9 +38,9 @@ _vehAttenuation = if ((ACE_player == (vehicle ACE_player)) || {isTurnedOut ACE_p
_distance = 1 max _distance;
_silencer = call {
- if (primaryWeapon _firer) exitWith {(primaryWeaponItems _firer) select 0};
- if (secondaryWeapon _firer) exitWith {(secondaryWeaponItems _firer) select 0};
- if (handgunWeapon _firer) exitWith {(handgunItems _firer) select 0};
+ if (_weapon == primaryWeapon _firer) exitWith {(primaryWeaponItems _firer) select 0};
+ if (_weapon == secondaryWeapon _firer) exitWith {(secondaryWeaponItems _firer) select 0};
+ if (_weapon == handgunWeapon _firer) exitWith {(handgunItems _firer) select 0};
""
};
@@ -68,7 +68,7 @@ if (count _weaponMagazines == 0) then {
_magazine = "";
{
- params ["_magazineType", "_ammoType"];
+ _x params ["_magazineType", "_ammoType"];
if (_ammoType == _ammo) exitWith {
_magazine = _magazineType;
};
From bd56d1bb83855cd055f21b2e779337e19fab87f1 Mon Sep 17 00:00:00 2001
From: jokoho48
Date: Fri, 14 Aug 2015 00:36:36 +0200
Subject: [PATCH 09/48] ok that is my fault
---
addons/hearing/functions/fnc_firedNear.sqf | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf
index 02de8db928..1ede8db3ea 100644
--- a/addons/hearing/functions/fnc_firedNear.sqf
+++ b/addons/hearing/functions/fnc_firedNear.sqf
@@ -37,11 +37,11 @@ _vehAttenuation = if ((ACE_player == (vehicle ACE_player)) || {isTurnedOut ACE_p
_distance = 1 max _distance;
-_silencer = call {
- if (_weapon == primaryWeapon _firer) exitWith {(primaryWeaponItems _firer) select 0};
- if (_weapon == secondaryWeapon _firer) exitWith {(secondaryWeaponItems _firer) select 0};
- if (_weapon == handgunWeapon _firer) exitWith {(handgunItems _firer) select 0};
- ""
+_silencer = switch (_weapon) do {
+ case (primaryWeapon _firer) : {(primaryWeaponItems _firer) select 0};
+ case (secondaryWeapon _firer) : {(secondaryWeaponItems _firer) select 0};
+ case (handgunWeapon _firer) : {(handgunItems _firer) select 0};
+ default {""};
};
_audibleFireCoef = 1;
From c35fc35eb34b80ae21a7df1dccc625f95948c183 Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Fri, 14 Aug 2015 21:29:01 -0500
Subject: [PATCH 10/48] Captive FFV stuff
---
addons/captives/XEH_postInit.sqf | 3 +-
addons/captives/XEH_preInit.sqf | 1 +
.../captives/functions/fnc_canLoadCaptive.sqf | 2 +-
.../captives/functions/fnc_doFriskPerson.sqf | 1 -
.../fnc_findEmptyNonFFVCargoSeat.sqf | 40 +++++++++++++++++++
.../captives/functions/fnc_handleGetOut.sqf | 1 +
.../functions/fnc_handleUnitInitPost.sqf | 2 +-
.../functions/fnc_moduleSurrender.sqf | 4 +-
.../captives/functions/fnc_setHandcuffed.sqf | 39 +++++++++++++-----
.../captives/functions/fnc_setSurrendered.sqf | 10 ++---
.../functions/fnc_vehicleCaptiveMoveIn.sqf | 6 ++-
.../functions/fnc_vehicleCaptiveMoveOut.sqf | 1 +
12 files changed, 86 insertions(+), 24 deletions(-)
create mode 100644 addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf
diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf
index da2192d3d6..1372b4e10a 100644
--- a/addons/captives/XEH_postInit.sqf
+++ b/addons/captives/XEH_postInit.sqf
@@ -6,12 +6,11 @@
if (isServer) then {
addMissionEventHandler ["HandleDisconnect", {
- PARAMS_1(_disconnectedPlayer);
+ params ["_disconnectedPlayer"];
private "_escortedUnit";
_escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull];
if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then {
detach _escortedUnit;
- //systemChat "debug: DC detach";
};
if (_disconnectedPlayer getVariable [QGVAR(isEscorting), false]) then {
_disconnectedPlayer setVariable [QGVAR(isEscorting), false, true];
diff --git a/addons/captives/XEH_preInit.sqf b/addons/captives/XEH_preInit.sqf
index 31bcbe8e02..d2b5b615bb 100644
--- a/addons/captives/XEH_preInit.sqf
+++ b/addons/captives/XEH_preInit.sqf
@@ -16,6 +16,7 @@ PREP(doFriskPerson);
PREP(doLoadCaptive);
PREP(doRemoveHandcuffs);
PREP(doUnloadCaptive);
+PREP(findEmptyNonFFVCargoSeat);
PREP(handleGetIn);
PREP(handleGetOut);
PREP(handleKilled);
diff --git a/addons/captives/functions/fnc_canLoadCaptive.sqf b/addons/captives/functions/fnc_canLoadCaptive.sqf
index 0e028ac1ec..1cdc4d86a1 100644
--- a/addons/captives/functions/fnc_canLoadCaptive.sqf
+++ b/addons/captives/functions/fnc_canLoadCaptive.sqf
@@ -35,4 +35,4 @@ if (isNull _vehicle) then {
&& {!isNull _vehicle}
&& {_unit getVariable [QGVAR(isEscorting), false]}
&& {_target getVariable [QGVAR(isHandcuffed), false]}
-&& {_vehicle emptyPositions "cargo" > 0}
+&& {([_vehicle] call FUNC(findEmptyNonFFVCargoSeat)) != -1}
diff --git a/addons/captives/functions/fnc_doFriskPerson.sqf b/addons/captives/functions/fnc_doFriskPerson.sqf
index e14025b88f..9a8a423dc3 100644
--- a/addons/captives/functions/fnc_doFriskPerson.sqf
+++ b/addons/captives/functions/fnc_doFriskPerson.sqf
@@ -18,7 +18,6 @@
private ["_weapon", "_listedItemClasses", "_actions", "_allGear"];
-PARAMS_2(_player,_unit);
params ["_player", "_unit"];
_weapon = currentWeapon _player;
diff --git a/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf b/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf
new file mode 100644
index 0000000000..a6bd625870
--- /dev/null
+++ b/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf
@@ -0,0 +1,40 @@
+#include "script_component.hpp"
+
+params ["_vehicle"];
+
+_vehicleConfig = configFile >> "CfgVehicles" >> (typeOf _vehicle);
+
+_proxyOrder = getArray (_vehicleConfig >> "getInProxyOrder");
+_transportSoldier = getNumber (_vehicleConfig >> "transportSoldier");
+_realCargoCount = if (isArray (_vehicleConfig >> "getInProxyOrder")) then {count _proxyOrder} else {_transportSoldier};
+
+//Find FFV turrets:
+_ffvCargoIndexes = [];
+{
+ _turretConfig = [_vehicleConfig, _x] call EFUNC(common,getTurretConfigPath);
+ _isCargoProxy = ((getText (_turretConfig >> "proxyType")) == "CPCargo") && {isNumber (_turretConfig >> "proxyIndex")};
+
+ if (_isCargoProxy) then {
+ _proxyCargoIndex = getNumber (_turretConfig >> "proxyIndex");
+ _cargoIndex = _proxyOrder find _proxyCargoIndex;
+ _ffvCargoIndexes pushBack _cargoIndex;
+ };
+} forEach (allTurrets [_vehicle, true]);
+
+//Find Empty Seats:
+_occupiedSeats = [];
+{
+ _x params ["", "", "_xIndex"];
+ if (_xIndex > -1) then {_occupiedSeats pushBack _xIndex;};
+} forEach (fullCrew _vehicle);
+
+TRACE_3("Searching for empty seat",_realCargoCount,_ffvCargoIndexes,_occupiedSeats);
+
+_emptyCargoSeatReturn = -1;
+for "_index" from 0 to (_realCargoCount - 1) do {
+ if ((!(_index in _ffvCargoIndexes)) && {!(_index in _occupiedSeats)}) exitWith {
+ _emptyCargoSeatReturn = _index;
+ };
+};
+
+_emptyCargoSeatReturn
diff --git a/addons/captives/functions/fnc_handleGetOut.sqf b/addons/captives/functions/fnc_handleGetOut.sqf
index daf88b7e34..756c14ec10 100644
--- a/addons/captives/functions/fnc_handleGetOut.sqf
+++ b/addons/captives/functions/fnc_handleGetOut.sqf
@@ -30,4 +30,5 @@ if ((local _unit) && {_unit getVariable [QGVAR(isHandcuffed), false]}) then {
};
[_unit, "ACE_AmovPercMstpScapWnonDnon", 2] call EFUNC(common,doAnimation);
+ [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
};
diff --git a/addons/captives/functions/fnc_handleUnitInitPost.sqf b/addons/captives/functions/fnc_handleUnitInitPost.sqf
index 66cbcff794..52957acd68 100644
--- a/addons/captives/functions/fnc_handleUnitInitPost.sqf
+++ b/addons/captives/functions/fnc_handleUnitInitPost.sqf
@@ -18,7 +18,7 @@
params ["_unit"];
// prevent players from throwing grenades (added to all units)
-[_unit, "Throw", {((_this select 1) getVariable [QGVAR(isHandcuffed), false]) || {(_this select 1) getVariable [QGVAR(isSurrendering), false]}}, {}] call EFUNC(common,addActionEventhandler);
+// [_unit, "Throw", {systemChat "a"; ((_this select 1) getVariable [QGVAR(isHandcuffed), false]) || {(_this select 1) getVariable [QGVAR(isSurrendering), false]}; true}, {systemChat "b";}] call EFUNC(common,addActionEventhandler);
if (local _unit) then {
// reset status on mission start
diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf
index 64c80af35c..bdb0f7c1b5 100644
--- a/addons/captives/functions/fnc_moduleSurrender.sqf
+++ b/addons/captives/functions/fnc_moduleSurrender.sqf
@@ -26,11 +26,11 @@ if (!_activated) exitWith {};
if (local _logic) then {
//Modules run before postInit can instal the event handler, so we need to wait a little bit
[{
- PARAMS_1(_units);
+ params ["_units"];
{
["SetSurrendered", [_x], [_x, true]] call EFUNC(common,targetEvent);
} forEach _units;
- }, [_units], 0.05, 0.05]call EFUNC(common,waitAndExecute);
+ }, [_units], 0.05]call EFUNC(common,waitAndExecute);
deleteVehicle _logic;
};
diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf
index 9bde3b399d..413e3d59b5 100644
--- a/addons/captives/functions/fnc_setHandcuffed.sqf
+++ b/addons/captives/functions/fnc_setHandcuffed.sqf
@@ -43,24 +43,43 @@ if (_state) then {
// fix anim on mission start (should work on dedicated servers)
[{
params ["_unit"];
- if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then {
+ if (!(_unit getVariable [QGVAR(isHandcuffed), false])) exitWith {};
+
+ if ((vehicle _unit) == _unit) then {
[_unit] call EFUNC(common,fixLoweredRifleAnimation);
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
+ };
- //Adds an animation changed eh
- //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
- private "_animChangedEHID";
- _animChangedEHID = _unit addEventHandler ["AnimChanged", {
- PARAMS_2(_unit,_newAnimation);
+ //Adds an animation changed eh
+ //If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
+ private "_animChangedEHID";
+ TRACE_1("Adding animChangedEH",_unit);
+ _animChangedEHID = _unit addEventHandler ["AnimChanged", {
+ params ["_unit", "_newAnimation"];
+ TRACE_2("AnimChanged",_unit,_newAnimation);
+ if (_unit == (vehicle _unit)) then {
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
TRACE_1("Handcuff animation interrupted",_newAnimation);
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
};
- }];
- _unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID];
+ } else {
+ // _turretPath = [];
+ // {
+ // _x params ["_xUnit", "", "", "_xTurretPath"];
+ // if (_unit == _xUnit) exitWith {_turretPath = _xTurretPath};
+ // } forEach (fullCrew (vehicle _unit));
+ // TRACE_1("turret Path",_turretPath);
+ // if (_turretPath isEqualTo []) exitWith {};
+ // _turretConfig = [(configFile >> "CfgVehicles" >> (typeOf (vehicle _unit))), _turretPath] call EFUNC(common,getTurretConfigPath);
+ // _gunnerAction = getText (_turretConfig >> "gunnerAction");
+ // TRACE_1("reseting to",_gunnerAction);
+ // [_unit, "ACE_HandcuffedFFV", 2] call EFUNC(common,doAnimation);
+ // [_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
+ };
+ }];
+ _unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID];
- };
- }, [_unit], 0.01, 0] call EFUNC(common,waitAndExecute);
+ }, [_unit], 0.01] call EFUNC(common,waitAndExecute);
} else {
_unit setVariable [QGVAR(isHandcuffed), false, true];
[_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus);
diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf
index 4fad2d3853..22736c8e59 100644
--- a/addons/captives/functions/fnc_setSurrendered.sqf
+++ b/addons/captives/functions/fnc_setSurrendered.sqf
@@ -43,13 +43,13 @@ if (_state) then {
// fix anim on mission start (should work on dedicated servers)
[{
- PARAMS_1(_unit);
+ params ["_unit"];
if (_unit getVariable [QGVAR(isSurrendering), false] && {(vehicle _unit) == _unit}) then {
//Adds an animation changed eh
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
private "_animChangedEHID";
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
- PARAMS_2(_unit,_newAnimation);
+ params ["_unit", "_newAnimation"];
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
TRACE_1("Surrender animation interrupted",_newAnimation);
[_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation);
@@ -57,7 +57,7 @@ if (_state) then {
}];
_unit setVariable [QGVAR(surrenderAnimEHID), _animChangedEHID];
};
- }, [_unit], 0.01, 0] call EFUNC(common,waitAndExecute);
+ }, [_unit], 0.01] call EFUNC(common,waitAndExecute);
} else {
_unit setVariable [QGVAR(isSurrendering), false, true];
[_unit, QGVAR(Surrendered), false] call EFUNC(common,setCaptivityStatus);
@@ -85,8 +85,8 @@ if (_state) then {
//spin up a PFEH, to watching animationState for the next 20 seconds to make sure we don't enter "hands up"
//Handles long animation chains
[{
- PARAMS_2(_args,_pfID);
- EXPLODE_2_PVT(_args,_unit,_maxTime);
+ params ["_args", "_pfID"];
+ _args params ["_unit", "_maxTime"];
//If waited long enough or they re-surrendered or they are unconscious, exit loop
if ((ACE_time > _maxTime) || {_unit getVariable [QGVAR(isSurrendering), false]} || {_unit getVariable ["ACE_isUnconscious", false]}) exitWith {
[_pfID] call CBA_fnc_removePerFrameHandler;
diff --git a/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf b/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf
index 7e30fe4af4..6e79725242 100644
--- a/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf
+++ b/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf
@@ -20,7 +20,9 @@ private ["_cargoIndex"];
params ["_target","_vehicle"];
-_target moveInCargo _vehicle;
+_cargoIndex = [_vehicle] call FUNC(findEmptyNonFFVCargoSeat);
+if (_cargoIndex < 0) exitWith {ERROR("No Seat Avail");};
+
+_target moveInCargo [_vehicle, _cargoIndex];
_target assignAsCargo _vehicle;
-_cargoIndex = _vehicle getCargoIndex _target;
_target setVariable [QGVAR(CargoIndex), _cargoIndex, true];
diff --git a/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf b/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf
index 000d5ef568..db8a7bd12e 100644
--- a/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf
+++ b/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf
@@ -20,4 +20,5 @@ _unit setVariable [QGVAR(CargoIndex), -1, true];
moveOut _unit;
[_unit, "ACE_AmovPercMstpScapWnonDnon", 2] call EFUNC(common,doAnimation);
+[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
unassignVehicle _unit;
From 1f9a98f77d7caf1242cfcb6391cb099756301464 Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Mon, 17 Aug 2015 21:51:40 -0500
Subject: [PATCH 11/48] Cleanup / Params
---
addons/maptools/XEH_postInitClient.sqf | 12 ++++------
.../maptools/functions/fnc_addLineMarker.sqf | 2 +-
.../functions/fnc_calculateMapScale.sqf | 4 ++--
.../functions/fnc_copyMapReceiveMarkers.sqf | 2 +-
.../functions/fnc_copyMapRemoteSend.sqf | 2 +-
.../maptools/functions/fnc_copyMapStart.sqf | 2 +-
.../maptools/functions/fnc_handleKeyDown.sqf | 4 +++-
.../functions/fnc_handleMouseButton.sqf | 24 ++++++++-----------
.../functions/fnc_handleMouseMove.sqf | 7 +++---
addons/maptools/functions/fnc_openMapGps.sqf | 2 +-
.../functions/fnc_removeLineMarker.sqf | 2 +-
.../functions/fnc_updateLineMarker.sqf | 2 +-
.../functions/fnc_updateMapToolMarkers.sqf | 6 ++---
13 files changed, 33 insertions(+), 38 deletions(-)
diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf
index e227463711..34c0a9e750 100644
--- a/addons/maptools/XEH_postInitClient.sqf
+++ b/addons/maptools/XEH_postInitClient.sqf
@@ -26,11 +26,11 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737];
_fnc_installMapEvents = {
private "_d";
_d = _this;
- ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}];
- ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}];
- ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonUp", {[0, _this] call FUNC(handleMouseButton)}];
- ((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["Draw", {_this call FUNC(updateMapToolMarkers);}];
- (finddisplay _d) displayAddEventHandler ["KeyDown", {_this call FUNC(handleKeyDown);}];
+ ((findDisplay _d) displayCtrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}];
+ ((findDisplay _d) displayCtrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}];
+ ((findDisplay _d) displayCtrl 51) ctrlAddEventHandler ["MouseButtonUp", {[0, _this] call FUNC(handleMouseButton)}];
+ ((findDisplay _d) displayCtrl 51) ctrlAddEventHandler ["Draw", {_this call FUNC(updateMapToolMarkers);}];
+ (findDisplay _d) displayAddEventHandler ["KeyDown", {_this call FUNC(handleKeyDown);}];
};
// Wait until the briefing map is detected
@@ -70,8 +70,6 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737];
};
["mapOpened", {
- // Show and update map tools if required
- [] call FUNC(updateMapToolMarkers);
// Show GPS if required
[GVAR(mapGpsShow)] call FUNC(openMapGps);
}] call EFUNC(common,addEventHandler);
diff --git a/addons/maptools/functions/fnc_addLineMarker.sqf b/addons/maptools/functions/fnc_addLineMarker.sqf
index 157891a262..017dc5b494 100644
--- a/addons/maptools/functions/fnc_addLineMarker.sqf
+++ b/addons/maptools/functions/fnc_addLineMarker.sqf
@@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
-PARAMS_4(_name,_startPos,_endPos,_color);
+params ["_name", "_startPos", "_endPos", "_color"];
private ["_marker", "_difPos", "_mag"];
diff --git a/addons/maptools/functions/fnc_calculateMapScale.sqf b/addons/maptools/functions/fnc_calculateMapScale.sqf
index 4723a4f5e1..78bfae43af 100644
--- a/addons/maptools/functions/fnc_calculateMapScale.sqf
+++ b/addons/maptools/functions/fnc_calculateMapScale.sqf
@@ -14,7 +14,7 @@
private ["_screenOffset", "_pos"];
-_pos = ((finddisplay 12) displayctrl 51) ctrlMapScreenToWorld [0.5, 0.5];
-_screenOffset = ((finddisplay 12) displayctrl 51) posWorldToScreen [(_pos select 0) + 100, (_pos select 1)];
+_pos = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5];
+_screenOffset = ((findDisplay 12) displayCtrl 51) posWorldToScreen [(_pos select 0) + 100, (_pos select 1)];
(_screenOffset select 0) - 0.5
diff --git a/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf b/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf
index 44f6ed6203..6c3c706208 100644
--- a/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf
+++ b/addons/maptools/functions/fnc_copyMapReceiveMarkers.sqf
@@ -12,7 +12,7 @@
*/
#include "script_component.hpp"
-PARAMS_1(_lineMarkers);
+params ["_lineMarkers"];
{
private "_marker";
diff --git a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf
index f4aebf6093..551019f900 100644
--- a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf
+++ b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf
@@ -12,6 +12,6 @@
#include "script_component.hpp"
-PARAMS_1(_requester);
+params ["_requester"];
["drawing_sendbackMarkers", _requester, [GVAR(drawing_lineMarkers)]] call EFUNC(common,targetEvent);
diff --git a/addons/maptools/functions/fnc_copyMapStart.sqf b/addons/maptools/functions/fnc_copyMapStart.sqf
index a39c74d225..7295f6f499 100644
--- a/addons/maptools/functions/fnc_copyMapStart.sqf
+++ b/addons/maptools/functions/fnc_copyMapStart.sqf
@@ -17,6 +17,6 @@
#include "script_component.hpp"
-PARAMS_1(_player,_target);
+params ["_player", "_target"];
["drawing_requestMarkers", _target, [_player]] call EFUNC(common,targetEvent);
diff --git a/addons/maptools/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf
index d1f9e199c9..297c87e789 100644
--- a/addons/maptools/functions/fnc_handleKeyDown.sqf
+++ b/addons/maptools/functions/fnc_handleKeyDown.sqf
@@ -15,7 +15,7 @@
#include "script_component.hpp"
-PARAMS_5(_display,_code,_shiftKey,_ctrlKey,_altKey);
+params ["", "_code"];
private ["_handled", "_relPos", "_diffVector", "_magDiffVector", "_lambdaLong", "_lambdaTrasAbs"];
@@ -30,6 +30,7 @@ if (_code == DIK_ESCAPE) exitWith {
call FUNC(cancelDrawing);
_handled = true;
};
+ _handled
};
if (_code == DIK_DELETE) exitWith {
@@ -65,6 +66,7 @@ if (_code == DIK_DELETE) exitWith {
};
} forEach GVAR(drawing_lineMarkers);
};
+ _handled
};
_handled
diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf
index 16cabe9719..ec0d1264fc 100644
--- a/addons/maptools/functions/fnc_handleMouseButton.sqf
+++ b/addons/maptools/functions/fnc_handleMouseButton.sqf
@@ -1,6 +1,5 @@
/*
* Author: esteldunedain
- *
* Handle mouse buttons.
*
* Argument:
@@ -13,23 +12,18 @@
#include "script_component.hpp"
-private ["_control", "_button", "_screenPos", "_shiftKey", "_ctrlKey", "_handled", "_pos", "_altKey", "_gui", "_marker"];
+params ["_dir", "_params"];
+_params params ["_control", "_button", "_screenPosX", "_screenPosY", "_shiftKey", "_ctrlKey", "_altKey"];
-PARAMS_2(_dir,_params);
-_control = _params select 0;
-_button = _params select 1;
-_screenPos = [_params select 2, _params select 3];
-_shiftKey = _params select 4;
-_ctrlKey = _params select 5;
-_altKey = _params select 6;
-_handled = false;
+private["_gui", "_handled", "_marker", "_pos"];
+_handled = false;
// If it's not a left button event, exit
-if (_button != 0) exitWith {};
+if (_button != 0) exitWith {_handled};
// If releasing
-if (_dir != 1 && (GVAR(mapTool_isDragging) or GVAR(mapTool_isRotating))) exitWith {
+if ((_dir != 1) && {(GVAR(mapTool_isDragging) || GVAR(mapTool_isRotating))}) exitWith {
GVAR(mapTool_isDragging) = false;
GVAR(mapTool_isRotating) = false;
_handled = true;
@@ -42,7 +36,7 @@ if (_dir == 1) exitWith {
if !(call FUNC(canDraw)) exitWith {_handled = false;};
// Transform mouse screen position to coordinates
- _pos = _control ctrlMapScreenToWorld _screenPos;
+ _pos = _control ctrlMapScreenToWorld [_screenPosX, _screenPosY];
_pos set [count _pos, 0];
if (GVAR(drawing_isDrawing)) exitWith {
@@ -52,7 +46,7 @@ if (_dir == 1) exitWith {
// [GVAR(drawing_tempLineMarker), "FUNC(addLineMarker)", 2] call EFUNC(common,execRemoteFnc);
["drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call EFUNC(common,globalEvent);
// Log who drew on the briefing screen
- (text format ["[ACE] Server: Player %1 drew on the briefing screen", name player]) call EFUNC(common,serverLog);
+ (text format ["[ACE] Server: Player %1 drew on the briefing screen", profileName]) call EFUNC(common,serverLog);
} else {
GVAR(drawing_tempLineMarker) call FUNC(updateLineMarker);
GVAR(drawing_lineMarkers) pushBack (+GVAR(drawing_tempLineMarker));
@@ -96,6 +90,8 @@ if (_dir == 1) exitWith {
};
_handled = true;
};
+
+ _handled
};
_handled
diff --git a/addons/maptools/functions/fnc_handleMouseMove.sqf b/addons/maptools/functions/fnc_handleMouseMove.sqf
index 2148c5a162..7e2883382b 100644
--- a/addons/maptools/functions/fnc_handleMouseMove.sqf
+++ b/addons/maptools/functions/fnc_handleMouseMove.sqf
@@ -1,6 +1,5 @@
/*
* Author: esteldunedain
- *
* Handle mouse movement over the map tool.
*
* Argument:
@@ -13,11 +12,11 @@
#include "script_component.hpp"
+params ["_control", "_mousePosX", "_mousePosY"];
+
private ["_control", "_pos"];
-_control = _this select 0;
-_pos = [_this select 1, _this select 2];
-GVAR(mousePosition) = _control ctrlMapScreenToWorld _pos;
+GVAR(mousePosition) = _control ctrlMapScreenToWorld [_mousePosX, _mousePosY];
GVAR(mousePosition) set [2, 0]; //convert 2d pos to 3d
// If cannot draw then exit
diff --git a/addons/maptools/functions/fnc_openMapGps.sqf b/addons/maptools/functions/fnc_openMapGps.sqf
index 7d29d9e169..dc2df07b57 100644
--- a/addons/maptools/functions/fnc_openMapGps.sqf
+++ b/addons/maptools/functions/fnc_openMapGps.sqf
@@ -12,7 +12,7 @@
*/
#include "script_component.hpp"
-PARAMS_1(_shouldOpenGps);
+params ["_shouldOpenGps"];
private ["_isOpen"];
diff --git a/addons/maptools/functions/fnc_removeLineMarker.sqf b/addons/maptools/functions/fnc_removeLineMarker.sqf
index be82970524..bd0a16adb1 100644
--- a/addons/maptools/functions/fnc_removeLineMarker.sqf
+++ b/addons/maptools/functions/fnc_removeLineMarker.sqf
@@ -11,7 +11,7 @@
#include "script_component.hpp"
-PARAMS_1(_name);
+params ["_name"];
deleteMarkerLocal _name;
{
diff --git a/addons/maptools/functions/fnc_updateLineMarker.sqf b/addons/maptools/functions/fnc_updateLineMarker.sqf
index a745bfa123..6400d02461 100644
--- a/addons/maptools/functions/fnc_updateLineMarker.sqf
+++ b/addons/maptools/functions/fnc_updateLineMarker.sqf
@@ -13,7 +13,7 @@
*/
#include "script_component.hpp"
-PARAMS_4(_name,_startPos,_endPos,_color);
+params ["_name", "_startPos", "_endPos", "_color"];
private ["_difPos", "_mag"];
diff --git a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
index 959be6752e..c4f2f6f1dc 100644
--- a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
+++ b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
@@ -16,15 +16,15 @@
#define CENTER_OFFSET_Y_PERC 0.1606
#define CONSTANT_SCALE 0.2
-PARAMS_1(_theMap);
+params ["_theMap"];
private ["_rotatingTexture", "_textureWidth", "_scale", "_xPos", "_yPos"];
// Show/Hide draw buttons
if ("ACE_MapTools" in items ACE_player) then {
- { ((finddisplay 12) displayctrl _x) ctrlShow true; } forEach GVAR(drawing_controls);
+ { ((findDisplay 12) displayCtrl _x) ctrlShow true; } forEach GVAR(drawing_controls);
} else {
- { ((finddisplay 12) displayctrl _x) ctrlShow false; } forEach GVAR(drawing_controls);
+ { ((findDisplay 12) displayCtrl _x) ctrlShow false; } forEach GVAR(drawing_controls);
if (GVAR(drawing_isDrawing)) then {
call FUNC(cancelDrawing);
};
From 4a245bd935c8d5b77b8f0c974b7d6acfccec4586 Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Mon, 17 Aug 2015 22:21:18 -0500
Subject: [PATCH 12/48] Remove Spawn for CBA_fnc_addPerFrameHandler
---
addons/common/XEH_postInit.sqf | 35 ++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf
index 43b5478eff..0dbbff04ec 100644
--- a/addons/common/XEH_postInit.sqf
+++ b/addons/common/XEH_postInit.sqf
@@ -373,21 +373,24 @@ GVAR(deviceKeyCurrentIndex) = -1;
//Map opened/closed Events:
GVAR(mapOpened) = false;
-[] spawn {
- waitUntil {(!isNull findDisplay 12)};
- ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["Draw", {
- if (!GVAR(mapOpened)) then {
- GVAR(mapOpened) = true;
- ["mapOpened", []] call FUNC(localEvent);
- [{
- if (!visibleMap) then {
- GVAR(mapOpened) = false;
- ["mapClosed", []] call FUNC(localEvent);
- [_this select 1] call CBA_fnc_removePerFrameHandler;
- };
- }, 0, []] call CBA_fnc_addPerFrameHandler;
- };
- }];
-};
+[{
+ if (!isNull (findDisplay 12)) then {
+ [_this select 1] call CBA_fnc_removePerFrameHandler;
+ TRACE_1("Installing Map Draw EH for MapOpened event");
+ ((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["Draw", {
+ if (!GVAR(mapOpened)) then {
+ GVAR(mapOpened) = true;
+ ["mapOpened", []] call FUNC(localEvent);
+ [{
+ if (!visibleMap) then {
+ GVAR(mapOpened) = false;
+ ["mapClosed", []] call FUNC(localEvent);
+ [_this select 1] call CBA_fnc_removePerFrameHandler;
+ };
+ }, 0, []] call CBA_fnc_addPerFrameHandler;
+ };
+ }];
+ };
+}, 0, []] call CBA_fnc_addPerFrameHandler;
GVAR(commonPostInited) = true;
From 4e3bbfac1677c0f09178012521907671c2d55cdd Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Tue, 18 Aug 2015 16:57:56 -0500
Subject: [PATCH 13/48] Clean old updateMapToolMarkers calls
---
addons/maptools/CfgVehicles.hpp | 10 ++++----
addons/maptools/XEH_postInitClient.sqf | 3 ---
.../maptools/functions/fnc_handleKeyDown.sqf | 3 ++-
.../functions/fnc_handleMouseButton.sqf | 23 +++++++++----------
.../functions/fnc_handleMouseMove.sqf | 6 ++---
.../functions/fnc_updateLineMarker.sqf | 1 +
.../functions/fnc_updateMapToolMarkers.sqf | 2 +-
7 files changed, 22 insertions(+), 26 deletions(-)
diff --git a/addons/maptools/CfgVehicles.hpp b/addons/maptools/CfgVehicles.hpp
index 5c3266d2d6..063f88f38b 100644
--- a/addons/maptools/CfgVehicles.hpp
+++ b/addons/maptools/CfgVehicles.hpp
@@ -14,7 +14,7 @@ class CfgVehicles {
class ACE_MapToolsHide {
displayName = CSTRING(MapToolsHide);
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0}));
- statement = QUOTE(GVAR(mapTool_Shown) = 0; [] call FUNC(updateMapToolMarkers));
+ statement = QUOTE(GVAR(mapTool_Shown) = 0;);
exceptions[] = {"isNotDragging", "notOnMap", "isNotInside", "isNotSitting"};
showDisabled = 1;
priority = 5;
@@ -22,7 +22,7 @@ class CfgVehicles {
class ACE_MapToolsShowNormal {
displayName = CSTRING(MapToolsShowNormal);
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 1}));
- statement = QUOTE(GVAR(mapTool_Shown) = 1; [] call FUNC(updateMapToolMarkers));
+ statement = QUOTE(GVAR(mapTool_Shown) = 1;);
exceptions[] = {"isNotDragging", "notOnMap", "isNotInside", "isNotSitting"};
showDisabled = 1;
priority = 4;
@@ -30,7 +30,7 @@ class CfgVehicles {
class ACE_MapToolsShowSmall {
displayName = CSTRING(MapToolsShowSmall);
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 2}));
- statement = QUOTE(GVAR(mapTool_Shown) = 2; [] call FUNC(updateMapToolMarkers));
+ statement = QUOTE(GVAR(mapTool_Shown) = 2;);
exceptions[] = {"isNotDragging", "notOnMap", "isNotInside", "isNotSitting"};
showDisabled = 1;
priority = 3;
@@ -38,7 +38,7 @@ class CfgVehicles {
class ACE_MapToolsAlignNorth {
displayName = CSTRING(MapToolsAlignNorth);
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0}));
- statement = QUOTE(GVAR(mapTool_angle) = 0; [] call FUNC(updateMapToolMarkers));
+ statement = QUOTE(GVAR(mapTool_angle) = 0;);
exceptions[] = {"isNotDragging", "notOnMap", "isNotInside", "isNotSitting"};
showDisabled = 1;
priority = 2;
@@ -46,7 +46,7 @@ class CfgVehicles {
class ACE_MapToolsAlignCompass {
displayName = CSTRING(MapToolsAlignCompass);
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0} && {('ItemCompass' in assigneditems ACE_player) || {'ItemCompass' in assigneditems ACE_player}}));
- statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player; [] call FUNC(updateMapToolMarkers));
+ statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player;);
exceptions[] = {"isNotDragging", "notOnMap", "isNotInside", "isNotSitting"};
showDisabled = 1;
priority = 1;
diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf
index 34c0a9e750..1e428f71b7 100644
--- a/addons/maptools/XEH_postInitClient.sqf
+++ b/addons/maptools/XEH_postInitClient.sqf
@@ -64,9 +64,6 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737];
// Install event handlers on the map control and display (control = 51)
GVAR(drawing_syncMarkers) = false;
12 call _fnc_installMapEvents;
-
- // Update the size and rotation of map tools
- [] call FUNC(updateMapToolMarkers);
};
["mapOpened", {
diff --git a/addons/maptools/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf
index 297c87e789..a83522ac91 100644
--- a/addons/maptools/functions/fnc_handleKeyDown.sqf
+++ b/addons/maptools/functions/fnc_handleKeyDown.sqf
@@ -16,10 +16,11 @@
#include "script_component.hpp"
params ["", "_code"];
+TRACE_1("params",_code);
private ["_handled", "_relPos", "_diffVector", "_magDiffVector", "_lambdaLong", "_lambdaTrasAbs"];
-_handled = false;
+_handled = false;
#define DIK_ESCAPE 0x01
#define DIK_DELETE 0xD3
diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf
index ec0d1264fc..442ec4d50e 100644
--- a/addons/maptools/functions/fnc_handleMouseButton.sqf
+++ b/addons/maptools/functions/fnc_handleMouseButton.sqf
@@ -14,6 +14,7 @@
params ["_dir", "_params"];
_params params ["_control", "_button", "_screenPosX", "_screenPosY", "_shiftKey", "_ctrlKey", "_altKey"];
+TRACE_2("params",_dir,_params);
private["_gui", "_handled", "_marker", "_pos"];
@@ -23,16 +24,14 @@ _handled = false;
if (_button != 0) exitWith {_handled};
// If releasing
-if ((_dir != 1) && {(GVAR(mapTool_isDragging) || GVAR(mapTool_isRotating))}) exitWith {
- GVAR(mapTool_isDragging) = false;
- GVAR(mapTool_isRotating) = false;
- _handled = true;
- _handled
-};
-
-// If clicking
-if (_dir == 1) exitWith {
-
+if (_dir != 1) then {
+ if (GVAR(mapTool_isDragging) || GVAR(mapTool_isRotating)) then {
+ GVAR(mapTool_isDragging) = false;
+ GVAR(mapTool_isRotating) = false;
+ _handled = true;
+ };
+} else {
+ // If clicking
if !(call FUNC(canDraw)) exitWith {_handled = false;};
// Transform mouse screen position to coordinates
@@ -43,7 +42,6 @@ if (_dir == 1) exitWith {
// Already drawing -> Add tempLineMarker to permanent list
if (GVAR(drawing_syncMarkers)) then {
deleteMarkerLocal (GVAR(drawing_tempLineMarker) select 0);
- // [GVAR(drawing_tempLineMarker), "FUNC(addLineMarker)", 2] call EFUNC(common,execRemoteFnc);
["drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call EFUNC(common,globalEvent);
// Log who drew on the briefing screen
(text format ["[ACE] Server: Player %1 drew on the briefing screen", profileName]) call EFUNC(common,serverLog);
@@ -90,8 +88,9 @@ if (_dir == 1) exitWith {
};
_handled = true;
};
-
_handled
};
+diag_log text format ["HJa %1", _handled];
+
_handled
diff --git a/addons/maptools/functions/fnc_handleMouseMove.sqf b/addons/maptools/functions/fnc_handleMouseMove.sqf
index 7e2883382b..b27087290b 100644
--- a/addons/maptools/functions/fnc_handleMouseMove.sqf
+++ b/addons/maptools/functions/fnc_handleMouseMove.sqf
@@ -13,6 +13,7 @@
#include "script_component.hpp"
params ["_control", "_mousePosX", "_mousePosY"];
+TRACE_3("params",_control,_mousePosX,_mousePosY);
private ["_control", "_pos"];
@@ -31,6 +32,7 @@ if !(call FUNC(canDraw)) exitWith {
// Handle drawing
if (GVAR(drawing_isDrawing)) exitWith {
GVAR(drawing_tempLineMarker) set [2, GVAR(mousePosition)];
+ TRACE_1("updating line pos",GVAR(mousePosition));
GVAR(drawing_tempLineMarker) call FUNC(updateLineMarker);
false
};
@@ -43,8 +45,6 @@ if (GVAR(mapTool_isDragging)) exitWith {
GVAR(mapTool_pos) set [0, (GVAR(mapTool_startPos) select 0) + (GVAR(mousePosition) select 0) - (GVAR(mapTool_startDragPos) select 0)];
GVAR(mapTool_pos) set [1, (GVAR(mapTool_startPos) select 1) + (GVAR(mousePosition) select 1) - (GVAR(mapTool_startDragPos) select 1)];
- // Update the size and rotation of the maptool
- [] call FUNC(updateMapToolMarkers);
true
};
@@ -55,8 +55,6 @@ if (GVAR(mapTool_isRotating)) exitWith {
_angle = (180 + ((GVAR(mousePosition) select 0) - (GVAR(mapTool_startPos) select 0)) atan2 ((GVAR(mousePosition) select 1) - (GVAR(mapTool_startPos) select 1)) mod 360);
GVAR(mapTool_angle) = GVAR(mapTool_startAngle) + _angle - GVAR(mapTool_startDragAngle);
- // Update the size and rotation of the maptool
- [] call FUNC(updateMapToolMarkers);
true
};
diff --git a/addons/maptools/functions/fnc_updateLineMarker.sqf b/addons/maptools/functions/fnc_updateLineMarker.sqf
index 6400d02461..12aee5b1df 100644
--- a/addons/maptools/functions/fnc_updateLineMarker.sqf
+++ b/addons/maptools/functions/fnc_updateLineMarker.sqf
@@ -14,6 +14,7 @@
#include "script_component.hpp"
params ["_name", "_startPos", "_endPos", "_color"];
+TRACE_4("params",_name,_startPos,_endPos,_color);
private ["_difPos", "_mag"];
diff --git a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
index c4f2f6f1dc..5c88d907b8 100644
--- a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
+++ b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf
@@ -21,7 +21,7 @@ params ["_theMap"];
private ["_rotatingTexture", "_textureWidth", "_scale", "_xPos", "_yPos"];
// Show/Hide draw buttons
-if ("ACE_MapTools" in items ACE_player) then {
+if ([] call FUNC(canDraw)) then {
{ ((findDisplay 12) displayCtrl _x) ctrlShow true; } forEach GVAR(drawing_controls);
} else {
{ ((findDisplay 12) displayCtrl _x) ctrlShow false; } forEach GVAR(drawing_controls);
From 645e8a63efc42038ba7e11c83645003e1c5dacdb Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Thu, 20 Aug 2015 04:20:46 -0500
Subject: [PATCH 14/48] Captive FFV Lock Animation
---
addons/captives/CfgMoves.hpp | 13 ++++++
.../captives/functions/fnc_canLoadCaptive.sqf | 33 +++++++++------
.../captives/functions/fnc_doLoadCaptive.sqf | 40 ++++++++++++-------
.../captives/functions/fnc_setHandcuffed.sqf | 12 +++++-
.../functions/fnc_vehicleCaptiveMoveIn.sqf | 13 ++++--
addons/captives/script_component.hpp | 2 +
6 files changed, 81 insertions(+), 32 deletions(-)
diff --git a/addons/captives/CfgMoves.hpp b/addons/captives/CfgMoves.hpp
index aa64e85e22..6c0bfc3ce9 100644
--- a/addons/captives/CfgMoves.hpp
+++ b/addons/captives/CfgMoves.hpp
@@ -18,6 +18,11 @@ class CfgMovesBasic {
default = "ACE_AmovPercMstpSsurWnonDnon";
PutDown = "";
};
+ class ACE_CivilHandCuffedFFVActions: ACE_CivilStandHandcuffedActions {
+ stop = "ACE_HandcuffedFFV";
+ StopRelaxed = "ACE_HandcuffedFFV";
+ default = "ACE_HandcuffedFFV";
+ };
};
};
@@ -55,6 +60,14 @@ class CfgMovesMaleSdr: CfgMovesBasic {
InterpolateTo[] = {"Unconscious",0.01,"ACE_AmovPercMstpSnonWnonDnon_AmovPercMstpScapWnonDnon",0.1};
};
+ //Handcuffed-FFV:
+ class ACE_HandcuffedFFV: ACE_AmovPercMstpScapWnonDnon {
+ file = "\A3\cargoposes_F_heli\anim\passenger_flatground_3idleunarmed.rtm";
+ actions = "ACE_CivilHandCuffedFFVActions";
+ ConnectTo[] = {"ACE_AmovPercMstpScapWnonDnon",0.1};
+ };
+
+
//Surrender Anims:
class ACE_AmovPercMstpSnonWnonDnon_AmovPercMstpSsurWnonDnon: CutSceneAnimationBase {
actions = "ACE_CivilStandSurrenderActions";
diff --git a/addons/captives/functions/fnc_canLoadCaptive.sqf b/addons/captives/functions/fnc_canLoadCaptive.sqf
index 1cdc4d86a1..254f0de693 100644
--- a/addons/captives/functions/fnc_canLoadCaptive.sqf
+++ b/addons/captives/functions/fnc_canLoadCaptive.sqf
@@ -17,22 +17,31 @@
*/
#include "script_component.hpp"
-private ["_objects"];
params ["_unit", "_target","_vehicle"];
-if (isNull _target) then {
- _objects = attachedObjects _unit;
- _objects = [_objects, {_this getVariable [QGVAR(isHandcuffed), false]}] call EFUNC(common,filter);
- if ((count _objects) > 0) then {_target = _objects select 0;};
+if ((isNull _target) && {_unit getVariable [QGVAR(isEscorting), false]}) then {
+ //Looking at a vehicle while escorting, get target from attached objects:
+ {
+ if (_x getVariable [QGVAR(isHandcuffed), false]) exitWith {
+ _target = _x;
+ };
+ } forEach (attachedObjects _unit);
};
+if ((isNull _target) || {(vehicle _target) != _target} || {!(_target getVariable [QGVAR(isHandcuffed), false])}) exitWith {false};
if (isNull _vehicle) then {
- _objects = nearestObjects [_unit, ["Car", "Tank", "Helicopter", "Plane", "Ship"], 10];
- if ((count _objects) > 0) then {_vehicle = _objects select 0;};
+ //Looking at a captive unit, search for nearby vehicles with valid seats:
+ {
+ // if (([_x] call FUNC(findEmptyNonFFVCargoSeat)) != -1) exitWith {
+ if ((_x emptyPositions "cargo") > 0) exitWith {
+ _vehicle = _x;
+ };
+ } forEach (nearestObjects [_unit, ["Car", "Tank", "Helicopter", "Plane", "Ship"], 10]);
+} else {
+ // if (([_vehicle] call FUNC(findEmptyNonFFVCargoSeat)) == -1) then {
+ if ((_vehicle emptyPositions "cargo") == 0) then {
+ _vehicle = objNull;
+ };
};
-(!isNull _target)
-&& {!isNull _vehicle}
-&& {_unit getVariable [QGVAR(isEscorting), false]}
-&& {_target getVariable [QGVAR(isHandcuffed), false]}
-&& {([_vehicle] call FUNC(findEmptyNonFFVCargoSeat)) != -1}
+(!isNull _vehicle)
diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf
index d7df42eb0a..a4d7df8892 100644
--- a/addons/captives/functions/fnc_doLoadCaptive.sqf
+++ b/addons/captives/functions/fnc_doLoadCaptive.sqf
@@ -1,6 +1,6 @@
/*
* Author: commy2
- * Unit loads the target object into a vehicle.
+ * Unit loads the target object into a vehicle. (logic same as canLoadCaptive)
*
* Arguments:
* 0: Unit that wants to load a captive
@@ -24,7 +24,7 @@
The project is entirely **open-source** and all contributions are welcome. Feel free to maintain your own custom version, so long as the changes you make are open to the public in accordance with the GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)).
-The mod is **built modularly**, so almost any included PBO can be easily removed from the configuration. This way, a team can maintain its own tailored version of ACE by simply excluding any components they don't need, or those possibly in conflict with other add-ons. Modules themselves, e.g. the medical system, also include various customization options, allowing mission designers to tweak the overall experience.
+The mod is **built modularly**, so almost any included PBO can be easily removed from the configuration. This way, a team can maintain its own tailored version of ACE3 by simply excluding any components they don't need, or those possibly in conflict with other mods. Modules themselves, e.g. the medical system, also include various customization options, allowing mission designers to tweak the overall experience.
### Core features
* Brand new 3D interaction/action system
@@ -66,7 +66,7 @@ If you installed ACE3 but have trouble understanding how it all works, or where
* [Getting started](http://ace3mod.com/wiki/user/getting-started.html)
#### Contributing
-You can help out with the ongoing development by looking for potential bugs in our code base, or by contributing new features. To contribute something to ACE, simply fork this repository and submit your pull requests for review by other collaborators. Remember to add yourself to the author array of any PBO you will be editing and the [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) file; including a valid email address.
+You can help out with the ongoing development by looking for potential bugs in our code base, or by contributing new features. To contribute something to ACE3, simply fork this repository and submit your pull requests for review by other collaborators. Remember to add yourself to the author array of any PBO you will be editing and the [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) file; including a valid email address.
Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report a bug, propose a feature, or suggest changes to the existing ones. See also:
* [How to report an issue](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
@@ -74,4 +74,4 @@ Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report
#### Testing & building
To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build:
-* [Setting up the development environment](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE for testing purposes.
+* [Setting up the development environment](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes.
diff --git a/documentation/README_DE.md b/documentation/README_DE.md
index 0b5ca4d0ef..6d932e2450 100644
--- a/documentation/README_DE.md
+++ b/documentation/README_DE.md
@@ -1,27 +1,31 @@
**ACE3** ist ein Gemeinschaftsprojekt der sich zusammengeschlossenen Moddinggruppen von **ACE2**, **AGM** und **CSE** mit dem Ziel den Realismus und die Spieltiefe von Arma 3 zu steigern.
Da die MOD vollkommen als **open-source** Projekt gestaltet ist, steht es jedem frei Änderungen vorzuschlagen, oder seine eigene, modifizierte Version zu erstellen, solange diese ebenfalls der Öffentlichkeit zugänglich ist und mit GNU General Public License übereinstimmt. (Weitere Informationen ist der Lizenzdatei in diesem Projekt entnehmbar)
-Die Mod ist **modular gestaltet** — beinahe jede PBO kann entfernt werden, sodass jede Gemeinschaft ihre eigene Version der Mod unterhalten kann. Dies kann zum Beispiel einige Funktionalitäten ausschließen, da das Feature nicht gewünscht ist, oder es mit einer anderen MOD in Konflikt gerät etc. .Ebenfalls können viele Einstellungen vom Missionsersteller vorgenommen werden (u.a. am medizinischem System), sodass eine individuelle Erfahrung gewährleistet wird.
+Die Mod ist **modular gestaltet** — beinahe jede PBO kann entfernt werden, sodass jede Gemeinschaft ihre eigene Version der Mod unterhalten kann. Dies kann zum Beispiel einige Funktionalitäten ausschließen, da das Feature nicht gewünscht ist, oder es mit einer anderen MOD in Konflikt gerät etc. .Ebenfalls können viele Einstellungen vom Missionsersteller vorgenommen werden (u.a. am medizinischem System), sodass eine individuelle Erfahrung gewährleistet wird.
### Features
* Verbessertes medizinisches System
@@ -35,14 +39,16 @@ Die Mod ist **modular gestaltet** — beinahe jede PBO kann entfernt werden, so
***und noch viel mehr...***
#### Anleitungen
-Du hast ACE3 installiert, hast aber keine Ahnung was und wie alles funktioniert und wo sich was befindet? [Erste Schritte](https://github.com/acemod/ACE3/blob/master/documentation/user/getting-started.md).
+Du hast ACE3 installiert, hast aber keine Ahnung was und wie alles funktioniert und wo sich was befindet?
+* [Erste Schritte](http://ace3mod.com/wiki/user/getting-started.html).
#### Mitwirken
-Wenn du bei der Entwicklung der MOD mithelfen möchtest, so kannst du dies tun, indem du nach Fehlern Ausschau hältst, oder neue Funktionen vorschlägst. Um etwas beizutragen, "Forke" einfach dieses Archiv (bzw. repository) und erstelle deine "Pull-Request", welche von anderen Entwicklern und Beiträgern überprüft wird. Bitte trage dich dabei in "AUTHORS.txt" mit deinem Nutzernamen und einer gütligen Email-Adresse ein.
+Wenn du bei der Entwicklung der MOD mithelfen möchtest, so kannst du dies tun, indem du nach Fehlern Ausschau hältst, oder neue Funktionen vorschlägst. Um etwas beizutragen, "Forke" einfach dieses Archiv (bzw. repository) und erstelle deine "Pull-Request", welche von anderen Entwicklern und Beiträgern überprüft wird. Bitte trage dich dabei in [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) mit deinem Nutzernamen und einer gütligen Email-Adresse ein.
-Um einen Fehler oder ein Feature zu melden bzw. ein bereits Bestehendes zu ändern - nutze unseren [Issue Tracker](https://github.com/acemod/ACE3/issues).
+Um einen Fehler oder ein Feature zu melden bzw. ein bereits Bestehendes zu ändern - nutze unseren [Issue Tracker](https://github.com/acemod/ACE3/issues). Besuche auch:
+* [Wie kann ich ein Problem melden](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
+* [Wie kann ich ein Feature Request erstellen](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
#### Testen & MOD erstellen
-Wenn du die neusten Entwicklungen erleben und uns dabei helfen möchtest bestehende Fehler zu entdecken, lade dir einfach die "Master Branch" herunter. Entweder nutzt du Git - wenn die Schritte bekannt sind - oder du lädst es dir direkt über [diesen Link] (https://github.com/acemod/ACE3/archive/master.zip) herunter.
-
-Wie du deine eigene Entwicklungsumgebung und eine Testversion von ACE erstellst folge [dieser Anleitung](https://github.com/acemod/ACE3/blob/master/documentation/development/setting-up-the-development-environment.md).
+Wenn du die neusten Entwicklungen erleben und uns dabei helfen möchtest bestehende Fehler zu entdecken, lade dir einfach die "Master Branch" herunter. Entweder nutzt du [Git](https://help.github.com/articles/fetching-a-remote/) - wenn die Schritte bekannt sind - oder du lädst es dir direkt über [diesen Link](https://github.com/acemod/ACE3/archive/master.zip) herunter.
+Wie du deine eigene Entwicklungsumgebung und eine Testversion von ACE3 erstellst folge [dieser Anleitung](https://github.com/acemod/ACE3/blob/master/documentation/development/setting-up-the-development-environment.md).
diff --git a/documentation/README_PL.md b/documentation/README_PL.md
index 4d4c36a619..157a254742 100644
--- a/documentation/README_PL.md
+++ b/documentation/README_PL.md
@@ -1,27 +1,21 @@
@@ -30,7 +24,7 @@
Projekt ten jest całkowicie **otwarty źródłowo** i wszelki wkład w rozwój jest mile widziany. Możesz bez przeszkód prowadzić swoją własną dostosowaną wersję, o ile zmiany jakie wprowadzisz będą otwarte dla publiki zgodnie z GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)).
-Modyfikacja ta jest **budowana modułowo**, dzięki temu prawie każdy dostarczony plik PBO może zostać łatwo usunięty z konfiguracji. Dzięki temu, grupa może prowadzić własną, dostosowaną do siebie, wersję ACE wyłączając elementy, których nie potrzebują, lub które po prostu nie działają z innymi addonami. Moduły same w sobie np. system medyczny, posiadają wiele możliwości konfiguracji, pozwalając mission designerom dostosować ogólne doświadczenie z gry.
+Modyfikacja ta jest **budowana modułowo**, dzięki temu prawie każdy dostarczony plik PBO może zostać łatwo usunięty z konfiguracji. Dzięki temu, grupa może prowadzić własną, dostosowaną do siebie, wersję ACE3 wyłączając elementy, których nie potrzebują, lub które po prostu nie działają z innymi addonami. Moduły same w sobie np. system medyczny, posiadają wiele możliwości konfiguracji, pozwalając mission designerom dostosować ogólne doświadczenie z gry.
### Główne cechy
* Całkowicie nowy system akcji/interakcji 3D
@@ -72,7 +66,7 @@ Jeżeli zainstalowałeś ACE3 lecz masz problem ze zrozumieniem jak to wszystko
* [Wprowadzenie](http://ace3mod.com/wiki/user/getting-started.html)
#### Współpraca
-Możesz pomóc w rozwoju addonu szukając potencjalnych bugów w naszym kodzie, lub zgłaszając nowe funkcje. Aby wnieść swój wkład do ACE, po prostu zforkuj to repozytorium na swoje konto GitHub i zgłoś swoje pull requesty do przeglądu przez innych współpracowników. Pamiętaj, aby dodać siebie do listy autorów każdego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodając także swój adres e-mail.
+Możesz pomóc w rozwoju addonu szukając potencjalnych bugów w naszym kodzie, lub zgłaszając nowe funkcje. Aby wnieść swój wkład do ACE3, po prostu zforkuj to repozytorium na swoje konto GitHub i zgłoś swoje pull requesty do przeglądu przez innych współpracowników. Pamiętaj, aby dodać siebie do listy autorów każdego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodając także swój adres e-mail.
Używaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zgłaszać bugi, proponować nowe funkcje lub sugerować zmiany do aktualnie istniejących. Zobacz także:
* [Jak zgłosić bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
@@ -80,4 +74,4 @@ Używaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zg
#### Testowanie i budowanie
Aby pomóc nam w testowaniu najnowszych zmian rozwojowych, pobierz nasz master branch ([bezpośrednio](https://github.com/acemod/ACE3/archive/master.zip), lub [korzystając z git](https://help.github.com/articles/fetching-a-remote/)), a następnie złóż testowego build-a:
-* [Konfiguracja środowiska do testów](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – intrukcja krok-po-kroku jak poprawnie ustawić i zbudować wersję ACE do celów testowych.
+* [Konfiguracja środowiska do testów](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – intrukcja krok-po-kroku jak poprawnie ustawić i zbudować wersję ACE3 do celów testowych.
From 8d291705513c249af323eef1dc2ff85a0ceb0d05 Mon Sep 17 00:00:00 2001
From: jokoho48
Date: Tue, 25 Aug 2015 19:33:10 +0200
Subject: [PATCH 23/48] fixing Spelling Issues Change from DEBUG_SETTINGS_CORE
to DEBUG_SETTINGS_MAIN
---
addons/main/config.cpp | 33 ++++----------------------------
addons/main/script_component.hpp | 6 +++---
2 files changed, 7 insertions(+), 32 deletions(-)
diff --git a/addons/main/config.cpp b/addons/main/config.cpp
index 52f2c6d4ac..241183bc87 100644
--- a/addons/main/config.cpp
+++ b/addons/main/config.cpp
@@ -541,50 +541,25 @@ class CfgPatches {
"a3_weapons_f_vests",
"a3data",
"map_vr",
- "extended_eventhandlers", "CBA_UI", "CBA_XEH", "CBA_XEH_A3",
- "ace_common"
+ "extended_eventhandlers", "CBA_UI", "CBA_XEH", "CBA_XEH_A3"
};
- author[] = {ELSTRING(common,ACETeam)};
+ author[] = {ECSTRING(common,ACETeam)};
authorUrl = "http://ace3mod.com/";
versionDesc = "ACE3";
- //versionAct = QUOTE(['MAIN',_this] execVM '\z\ace\addons\main\about.sqf';);
- versionAct = "";
VERSION_CONFIG;
};
};
class CfgMods {
class PREFIX {
- dir = "@ACE3";
+ dir = "@ace";
name = "Advanced Combat Environment 3";
picture = "A3\Ui_f\data\Logos\arma3_expansion_alpha_ca";
hidePicture = "true";
hideName = "true";
actionName = "Website";
action = "http://ace3mod.com/";
- description = "Bugtracker: https://github.com/acemod/ACE3/issues";
- };
-};
-
-class CfgSettings {
- class CBA {
- class Versioning {
- class PREFIX {
- level = DEFAULT_VERSIONING_LEVEL;
- handler = "ace_common_fnc_mismatch";
- class Dependencies {
- CBA[]={"cba_main", {1,0,0}, "true"};
- XEH[]={"cba_xeh", {1,0,0}, "true"};
- };
- };
- };
- /*
- class Registry {
- class PREFIX {
- removed[] = {};
- };
- };
- */
+ description = "Issue Tracker: https://github.com/acemod/ACE3/issues";
};
};
diff --git a/addons/main/script_component.hpp b/addons/main/script_component.hpp
index 9a18b78a7a..3ac1d0b7aa 100644
--- a/addons/main/script_component.hpp
+++ b/addons/main/script_component.hpp
@@ -3,12 +3,12 @@
// #define DEBUG_MODE_FULL
-#ifdef DEBUG_ENABLED_CORE
+#ifdef DEBUG_ENABLED_MAIN
#define DEBUG_MODE_FULL
#endif
-#ifdef DEBUG_SETTINGS_CORE
- #define DEBUG_SETTINGS DEBUG_SETTINGS_CORE
+#ifdef DEBUG_SETTINGS_MAIN
+ #define DEBUG_SETTINGS DEBUG_SETTINGS_MAIN
#endif
#include "\z\ace\addons\main\script_macros.hpp"
From 393b69f20c2d3a400805ce5ac9e200f94d7dbc68 Mon Sep 17 00:00:00 2001
From: jonpas
Date: Tue, 25 Aug 2015 19:48:18 +0200
Subject: [PATCH 24/48] Readme * to -
---
README.md | 68 +++++++++++++++++++-------------------
documentation/README_DE.md | 24 +++++++-------
documentation/README_PL.md | 68 +++++++++++++++++++-------------------
3 files changed, 80 insertions(+), 80 deletions(-)
diff --git a/README.md b/README.md
index 73e959d4ea..827e7d2562 100644
--- a/README.md
+++ b/README.md
@@ -27,51 +27,51 @@ The project is entirely **open-source** and all contributions are welcome. Feel
The mod is **built modularly**, so almost any included PBO can be easily removed from the configuration. This way, a team can maintain its own tailored version of ACE3 by simply excluding any components they don't need, or those possibly in conflict with other mods. Modules themselves, e.g. the medical system, also include various customization options, allowing mission designers to tweak the overall experience.
### Core features
-* Brand new 3D interaction/action system
-* Performance and reliability framework
-* Focus on modularity and customization
-* New flexible client and server settings & configuration
-* Improved medical system with various levels (basic/advanced) focus on gameplay/realism
-* Proper & consistent network-synced weather
-* Wind and weather-based ballistics
-* Captivity system
-* Explosives system, including different trigger types
-* Map screen improvements – marker placement and map tools
-* Advanced missile guidance and laser designation
+- Brand new 3D interaction/action system
+- Performance and reliability framework
+- Focus on modularity and customization
+- New flexible client and server settings & configuration
+- Improved medical system with various levels (basic/advanced) focus on gameplay/realism
+- Proper & consistent network-synced weather
+- Wind and weather-based ballistics
+- Captivity system
+- Explosives system, including different trigger types
+- Map screen improvements – marker placement and map tools
+- Advanced missile guidance and laser designation
#### Additional features
-* Carrying and dragging
-* Realistic names for vehicles and weapons
-* A fire control system (FCS) for armored vehicles and helicopters
-* Realistic ballistics/FCS calculated in C/C++ extensions
-* Backblast area and overpressure simulation
-* Disposable launchers
-* Realistic G-forces
-* Vehicle locking
-* Realistic night and thermal vision modes
-* Magazine repacking
-* Realistic weapon overheating mechanic
-* Combat deafness (temporary loss of hearing) simulation
-* Improved ragdoll physics
-* Improved interactions for AARs and ammo bearers
-* Adjustable sniper scopes
-* No idle animation with lowered weapon
-* No talking player avatar
-* Jumping over obstacles, climbing over walls and cutting down fences
-* Vector, MicroDAGR and Kestrel devices
+- Carrying and dragging
+- Realistic names for vehicles and weapons
+- A fire control system (FCS) for armored vehicles and helicopters
+- Realistic ballistics/FCS calculated in C/C++ extensions
+- Backblast area and overpressure simulation
+- Disposable launchers
+- Realistic G-forces
+- Vehicle locking
+- Realistic night and thermal vision modes
+- Magazine repacking
+- Realistic weapon overheating mechanic
+- Combat deafness (temporary loss of hearing) simulation
+- Improved ragdoll physics
+- Improved interactions for AARs and ammo bearers
+- Adjustable sniper scopes
+- No idle animation with lowered weapon
+- No talking player avatar
+- Jumping over obstacles, climbing over walls and cutting down fences
+- Vector, MicroDAGR and Kestrel devices
***and much more...***
### Guides & how-tos
If you installed ACE3 but have trouble understanding how it all works, or where to start, read this first:
-* [Getting started](http://ace3mod.com/wiki/user/getting-started.html)
+- [Getting started](http://ace3mod.com/wiki/user/getting-started.html)
#### Contributing
You can help out with the ongoing development by looking for potential bugs in our code base, or by contributing new features. To contribute something to ACE3, simply fork this repository and submit your pull requests for review by other collaborators. Remember to add yourself to the author array of any PBO you will be editing and the [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) file; including a valid email address.
Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report a bug, propose a feature, or suggest changes to the existing ones. See also:
-* [How to report an issue](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
-* [How to make a feature request](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
+- [How to report an issue](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
+- [How to make a feature request](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
#### Testing & building
To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build:
-* [Setting up the development environment](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes.
+- [Setting up the development environment](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes.
diff --git a/documentation/README_DE.md b/documentation/README_DE.md
index 6d932e2450..f70562e389 100644
--- a/documentation/README_DE.md
+++ b/documentation/README_DE.md
@@ -28,26 +28,26 @@ Da die MOD vollkommen als **open-source** Projekt gestaltet ist, steht es jedem
Die Mod ist **modular gestaltet** — beinahe jede PBO kann entfernt werden, sodass jede Gemeinschaft ihre eigene Version der Mod unterhalten kann. Dies kann zum Beispiel einige Funktionalitäten ausschließen, da das Feature nicht gewünscht ist, oder es mit einer anderen MOD in Konflikt gerät etc. .Ebenfalls können viele Einstellungen vom Missionsersteller vorgenommen werden (u.a. am medizinischem System), sodass eine individuelle Erfahrung gewährleistet wird.
### Features
-* Verbessertes medizinisches System
-* Logistik System: U.a. Transport und Fahrzeugreparatur
-* Sprengstoffsystem mit unterschiedlichen Zündern
-* Gefangenensystem
-* Reale Namen für Arma 3 Fahrzeuge und Waffen
-* Realistisches, ballistisches Verhalten (Wind und Luftfeuchtigkeit)
-* Simulation der Rückstrahlzone
-* Ein Feuerleitsystem für gepanzerte Fahrzeuge und Hubschrauber
- ***und noch viel mehr...***
+- Verbessertes medizinisches System
+- Logistik System: U.a. Transport und Fahrzeugreparatur
+- Sprengstoffsystem mit unterschiedlichen Zündern
+- Gefangenensystem
+- Reale Namen für Arma 3 Fahrzeuge und Waffen
+- Realistisches, ballistisches Verhalten (Wind und Luftfeuchtigkeit)
+- Simulation der Rückstrahlzone
+- Ein Feuerleitsystem für gepanzerte Fahrzeuge und Hubschrauber
+***und noch viel mehr...***
#### Anleitungen
Du hast ACE3 installiert, hast aber keine Ahnung was und wie alles funktioniert und wo sich was befindet?
-* [Erste Schritte](http://ace3mod.com/wiki/user/getting-started.html).
+- [Erste Schritte](http://ace3mod.com/wiki/user/getting-started.html).
#### Mitwirken
Wenn du bei der Entwicklung der MOD mithelfen möchtest, so kannst du dies tun, indem du nach Fehlern Ausschau hältst, oder neue Funktionen vorschlägst. Um etwas beizutragen, "Forke" einfach dieses Archiv (bzw. repository) und erstelle deine "Pull-Request", welche von anderen Entwicklern und Beiträgern überprüft wird. Bitte trage dich dabei in [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) mit deinem Nutzernamen und einer gütligen Email-Adresse ein.
Um einen Fehler oder ein Feature zu melden bzw. ein bereits Bestehendes zu ändern - nutze unseren [Issue Tracker](https://github.com/acemod/ACE3/issues). Besuche auch:
-* [Wie kann ich ein Problem melden](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
-* [Wie kann ich ein Feature Request erstellen](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
+- [Wie kann ich ein Problem melden](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
+- [Wie kann ich ein Feature Request erstellen](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
#### Testen & MOD erstellen
Wenn du die neusten Entwicklungen erleben und uns dabei helfen möchtest bestehende Fehler zu entdecken, lade dir einfach die "Master Branch" herunter. Entweder nutzt du [Git](https://help.github.com/articles/fetching-a-remote/) - wenn die Schritte bekannt sind - oder du lädst es dir direkt über [diesen Link](https://github.com/acemod/ACE3/archive/master.zip) herunter.
diff --git a/documentation/README_PL.md b/documentation/README_PL.md
index 157a254742..56a9c72caa 100644
--- a/documentation/README_PL.md
+++ b/documentation/README_PL.md
@@ -27,51 +27,51 @@ Projekt ten jest całkowicie **otwarty źródłowo** i wszelki wkład w rozwój
Modyfikacja ta jest **budowana modułowo**, dzięki temu prawie każdy dostarczony plik PBO może zostać łatwo usunięty z konfiguracji. Dzięki temu, grupa może prowadzić własną, dostosowaną do siebie, wersję ACE3 wyłączając elementy, których nie potrzebują, lub które po prostu nie działają z innymi addonami. Moduły same w sobie np. system medyczny, posiadają wiele możliwości konfiguracji, pozwalając mission designerom dostosować ogólne doświadczenie z gry.
### Główne cechy
-* Całkowicie nowy system akcji/interakcji 3D
-* Wydajna i niezawodna struktura
-* Skupienie na modułowości i customizacji
-* Elastyczny system ustawień i konfiguracji opcji u klienta i serwera
-* Ulepszony system medyczny z różnymi stopniami zaawansowania (podstawowy/rozszerzony) skupiony na grywalności i realizmowi
-* Prawidłowa i spójna synchronizowana pogoda
-* Balistyka oparta na warunkach pogodowych i wietrze
-* Możliwość brania jeńców
-* Rozszerzony system ładunków wybuchowych, włączając w to użycie różnego rodzaju zapalników
-* Ulepszenia mapy - stawianie markerów i przybory mapy
-* Zaawansowane naprowadzanie rakiet i wskazywanie laserem
+- Całkowicie nowy system akcji/interakcji 3D
+- Wydajna i niezawodna struktura
+- Skupienie na modułowości i customizacji
+- Elastyczny system ustawień i konfiguracji opcji u klienta i serwera
+- Ulepszony system medyczny z różnymi stopniami zaawansowania (podstawowy/rozszerzony) skupiony na grywalności i realizmowi
+- Prawidłowa i spójna synchronizowana pogoda
+- Balistyka oparta na warunkach pogodowych i wietrze
+- Możliwość brania jeńców
+- Rozszerzony system ładunków wybuchowych, włączając w to użycie różnego rodzaju zapalników
+- Ulepszenia mapy - stawianie markerów i przybory mapy
+- Zaawansowane naprowadzanie rakiet i wskazywanie laserem
#### Dodatkowe cechy
-* Przeciąganie i przenoszenie
-* Realistyczne nazwy pojazdów i broni
-* System kontroli ognia (SKO) dla pojazdów opancerzonych oraz śmigłowców
-* Realistyczna balistyka/SKO obliczana w rozszerzeniach C/C++
-* Symulacja strefy backblastu i podciśnienia
-* Jednorazowe wyrzutnie
-* Realistyczne siły G
-* Zamykanie pojazdów na kluczyk
-* Realistyczne tryby termowizji oraz noktowizji
-* Przepakowywanie magazynków
-* Realistyczna mechanika przegrzewania broni
-* Symulacja głuchoty bitewnej (tymczasowej utraty słuchu)
-* Ulepszona fizyka ragdoll
-* Ulepszona interakcja dla asystentów i amunicyjnych
-* Regulowane celowniki snajperskie
-* Usunięte animacje bezczynności z opuszczoną bronią
-* Usunięte głosy awatara gracza
-* Skakanie przez przeszkody, wspinanie się na ściany i przecinanie płotów
-* Urządzenia Vector, MicroDAGR, Kestrel
+- Przeciąganie i przenoszenie
+- Realistyczne nazwy pojazdów i broni
+- System kontroli ognia (SKO) dla pojazdów opancerzonych oraz śmigłowców
+- Realistyczna balistyka/SKO obliczana w rozszerzeniach C/C++
+- Symulacja strefy backblastu i podciśnienia
+- Jednorazowe wyrzutnie
+- Realistyczne siły G
+- Zamykanie pojazdów na kluczyk
+- Realistyczne tryby termowizji oraz noktowizji
+- Przepakowywanie magazynków
+- Realistyczna mechanika przegrzewania broni
+- Symulacja głuchoty bitewnej (tymczasowej utraty słuchu)
+- Ulepszona fizyka ragdoll
+- Ulepszona interakcja dla asystentów i amunicyjnych
+- Regulowane celowniki snajperskie
+- Usunięte animacje bezczynności z opuszczoną bronią
+- Usunięte głosy awatara gracza
+- Skakanie przez przeszkody, wspinanie się na ściany i przecinanie płotów
+- Urządzenia Vector, MicroDAGR, Kestrel
***i wiele wiele więcej...***
### Poradniki i instrukcje
Jeżeli zainstalowałeś ACE3 lecz masz problem ze zrozumieniem jak to wszystko działa, lub gdzie zacząć, zacznij od przeczytania tego:
-* [Wprowadzenie](http://ace3mod.com/wiki/user/getting-started.html)
+- [Wprowadzenie](http://ace3mod.com/wiki/user/getting-started.html)
#### Współpraca
Możesz pomóc w rozwoju addonu szukając potencjalnych bugów w naszym kodzie, lub zgłaszając nowe funkcje. Aby wnieść swój wkład do ACE3, po prostu zforkuj to repozytorium na swoje konto GitHub i zgłoś swoje pull requesty do przeglądu przez innych współpracowników. Pamiętaj, aby dodać siebie do listy autorów każdego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodając także swój adres e-mail.
Używaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zgłaszać bugi, proponować nowe funkcje lub sugerować zmiany do aktualnie istniejących. Zobacz także:
-* [Jak zgłosić bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
-* [Jak zgłosić feature request-a](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
+- [Jak zgłosić bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html)
+- [Jak zgłosić feature request-a](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html)
#### Testowanie i budowanie
Aby pomóc nam w testowaniu najnowszych zmian rozwojowych, pobierz nasz master branch ([bezpośrednio](https://github.com/acemod/ACE3/archive/master.zip), lub [korzystając z git](https://help.github.com/articles/fetching-a-remote/)), a następnie złóż testowego build-a:
-* [Konfiguracja środowiska do testów](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – intrukcja krok-po-kroku jak poprawnie ustawić i zbudować wersję ACE3 do celów testowych.
+- [Konfiguracja środowiska do testów](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – intrukcja krok-po-kroku jak poprawnie ustawić i zbudować wersję ACE3 do celów testowych.
From f1e5ca24bfdacd7102c577d83b1dced11249e4a9 Mon Sep 17 00:00:00 2001
From: jonpas
Date: Wed, 26 Aug 2015 06:11:52 +0200
Subject: [PATCH 25/48] Updated required CBA files
---
.../cba/addons/main/script_macros_common.hpp | 1159 ++++++++++-------
tools/cba/addons/xeh/init_pre.sqf | 310 ++---
tools/cba/addons/xeh/script_xeh.hpp | 45 +-
3 files changed, 839 insertions(+), 675 deletions(-)
diff --git a/tools/cba/addons/main/script_macros_common.hpp b/tools/cba/addons/main/script_macros_common.hpp
index 1385d7b389..78893db662 100644
--- a/tools/cba/addons/main/script_macros_common.hpp
+++ b/tools/cba/addons/main/script_macros_common.hpp
@@ -1,11 +1,11 @@
/*
- Header: script_macros_common.hpp
+ Header: script_macros_common.hpp
- Description:
- A general set of useful macro functions for use by CBA itself or by any module that uses CBA.
+ Description:
+ A general set of useful macro functions for use by CBA itself or by any module that uses CBA.
- Authors:
- Sickboy and Spooner
+ Authors:
+ Sickboy and Spooner
*/
/* ****************************************************
@@ -40,27 +40,27 @@
*/
#ifndef MAINPREFIX
- #define MAINPREFIX x
+ #define MAINPREFIX x
#endif
#ifndef SUBPREFIX
- #define SUBPREFIX addons
+ #define SUBPREFIX addons
#endif
#ifndef MAINLOGIC
- #define MAINLOGIC main
+ #define MAINLOGIC main
#endif
#ifndef VERSION
- #define VERSION 0
+ #define VERSION 0
#endif
#ifndef VERSION_AR
- #define VERSION_AR VERSION
+ #define VERSION_AR VERSION
#endif
#ifndef VERSION_CONFIG
- #define VERSION_CONFIG version = VERSION; versionStr = QUOTE(VERSION); versionAr[] = {VERSION_AR}
+ #define VERSION_CONFIG version = VERSION; versionStr = QUOTE(VERSION); versionAr[] = {VERSION_AR}
#endif
#define ADDON DOUBLES(PREFIX,COMPONENT)
@@ -72,50 +72,50 @@ Group: Debugging
/* -------------------------------------------
Macros: DEBUG_MODE_x
- Managing debugging based on debug level.
+ Managing debugging based on debug level.
- According to the *highest* level of debugging that has been defined *before* script_macros_common.hpp is included,
- only the appropriate debugging commands will be functional. With no level explicitely defined, assume DEBUG_MODE_NORMAL.
+ According to the *highest* level of debugging that has been defined *before* script_macros_common.hpp is included,
+ only the appropriate debugging commands will be functional. With no level explicitely defined, assume DEBUG_MODE_NORMAL.
- DEBUG_MODE_FULL - Full debugging output.
- DEBUG_MODE_NORMAL - All debugging except and (Default setting if none specified).
- DEBUG_MODE_MINIMAL - Only and enabled.
+ DEBUG_MODE_FULL - Full debugging output.
+ DEBUG_MODE_NORMAL - All debugging except and (Default setting if none specified).
+ DEBUG_MODE_MINIMAL - Only and enabled.
Examples:
- In order to turn on full debugging for a single file,
- (begin example)
- // Top of individual script file.
- #define DEBUG_MODE_FULL
- #include "script_component.hpp"
- (end)
+ In order to turn on full debugging for a single file,
+ (begin example)
+ // Top of individual script file.
+ #define DEBUG_MODE_FULL
+ #include "script_component.hpp"
+ (end)
- In order to force minimal debugging for a single component,
- (begin example)
- // Top of addons\\script_component.hpp
- // Ensure that any FULL and NORMAL setting from the individual files are undefined and MINIMAL is set.
- #ifdef DEBUG_MODE_FULL
- #undef DEBUG_MODE_FULL
- #endif
- #ifdef DEBUG_MODE_NORMAL
- #undef DEBUG_MODE_NORMAL
- #endif
- #ifndef DEBUG_MODE_MINIMAL
- #define DEBUG_MODE_MINIMAL
- #endif
- #include "script_macros.hpp"
- (end)
+ In order to force minimal debugging for a single component,
+ (begin example)
+ // Top of addons\\script_component.hpp
+ // Ensure that any FULL and NORMAL setting from the individual files are undefined and MINIMAL is set.
+ #ifdef DEBUG_MODE_FULL
+ #undef DEBUG_MODE_FULL
+ #endif
+ #ifdef DEBUG_MODE_NORMAL
+ #undef DEBUG_MODE_NORMAL
+ #endif
+ #ifndef DEBUG_MODE_MINIMAL
+ #define DEBUG_MODE_MINIMAL
+ #endif
+ #include "script_macros.hpp"
+ (end)
- In order to turn on full debugging for a whole addon,
- (begin example)
- // Top of addons\main\script_macros.hpp
- #ifndef DEBUG_MODE_FULL
- #define DEBUG_MODE_FULL
- #endif
- #include "\x\cba\addons\main\script_macros_common.hpp"
- (end)
+ In order to turn on full debugging for a whole addon,
+ (begin example)
+ // Top of addons\main\script_macros.hpp
+ #ifndef DEBUG_MODE_FULL
+ #define DEBUG_MODE_FULL
+ #endif
+ #include "\x\cba\addons\main\script_macros_common.hpp"
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
// If DEBUG_MODE_FULL, then also enable DEBUG_MODE_NORMAL.
@@ -142,20 +142,20 @@ Author:
/* -------------------------------------------
Macro: LOG()
- Log a timestamped message into the RPT log.
+ Log a timestamped message into the RPT log.
- Only run if or higher is defined.
+ Only run if or higher is defined.
Parameters:
- MESSAGE - Message to record [String]
+ MESSAGE - Message to record [String]
Example:
- (begin example)
- LOG("Initiated clog-dancing simulator.");
- (end)
+ (begin example)
+ LOG("Initiated clog-dancing simulator.");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#ifdef DEBUG_MODE_FULL
#define LOG(MESSAGE) [THIS_FILE_, __LINE__, MESSAGE] call CBA_fnc_log
@@ -165,20 +165,20 @@ Author:
/* -------------------------------------------
Macro: WARNING()
- Record a timestamped, non-critical error in the RPT log.
+ Record a timestamped, non-critical error in the RPT log.
- Only run if or higher is defined.
+ Only run if or higher is defined.
Parameters:
- MESSAGE - Message to record [String]
+ MESSAGE - Message to record [String]
Example:
- (begin example)
- WARNING("This function has been deprecated. Please don't use it in future!");
- (end)
+ (begin example)
+ WARNING("This function has been deprecated. Please don't use it in future!");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#ifdef DEBUG_MODE_NORMAL
#define WARNING(MESSAGE) [THIS_FILE_, __LINE__, ('WARNING: ' + MESSAGE)] call CBA_fnc_log
@@ -188,152 +188,171 @@ Author:
/* -------------------------------------------
Macro: ERROR()
- Record a timestamped, critical error in the RPT log.
+ Record a timestamped, critical error in the RPT log.
- The heading is "ERROR" (use for a specific title).
+ The heading is "ERROR" (use for a specific title).
- TODO: Popup an error dialog & throw an exception.
+ TODO: Popup an error dialog & throw an exception.
Parameters:
- MESSAGE - Message to record [String]
+ MESSAGE - Message to record [String]
Example:
- (begin example)
- ERROR("Value not found","value of frog not found in config ...yada...yada...");
- (end)
+ (begin example)
+ ERROR("Value not found","value of frog not found in config ...yada...yada...");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define ERROR(MESSAGE) \
- [THIS_FILE_, __LINE__, "ERROR", MESSAGE] call CBA_fnc_error;
+ [THIS_FILE_, __LINE__, "ERROR", MESSAGE] call CBA_fnc_error;
/* -------------------------------------------
Macro: ERROR_WITH_TITLE()
- Record a timestamped, critical error in the RPT log.
+ Record a timestamped, critical error in the RPT log.
- The title can be specified (in the heading is always just "ERROR")
- Newlines (\n) in the MESSAGE will be put on separate lines.
+ The title can be specified (in the heading is always just "ERROR")
+ Newlines (\n) in the MESSAGE will be put on separate lines.
- TODO: Popup an error dialog & throw an exception.
+ TODO: Popup an error dialog & throw an exception.
Parameters:
- TITLE - Title of error message [String]
- MESSAGE - Body of error message [String]
+ TITLE - Title of error message [String]
+ MESSAGE - Body of error message [String]
Example:
- (begin example)
- ERROR_WITH_TITLE("Value not found","Value of frog not found in config ...yada...yada...");
- (end)
+ (begin example)
+ ERROR_WITH_TITLE("Value not found","Value of frog not found in config ...yada...yada...");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define ERROR_WITH_TITLE(TITLE,MESSAGE) \
- [THIS_FILE_, __LINE__, TITLE, MESSAGE] call CBA_fnc_error;
+ [THIS_FILE_, __LINE__, TITLE, MESSAGE] call CBA_fnc_error;
+
+/* -------------------------------------------
+Macro: MESSAGE_WITH_TITLE()
+ Record a single line, timestamped log entry in the RPT log.
+
+Parameters:
+ TITLE - Title of log message [String]
+ MESSAGE - Body of message [String]
+
+Example:
+ (begin example)
+ MESSAGE_WITH_TITLE("Value found","Value of frog found in config ");
+ (end)
+
+Author:
+ Killswitch
+------------------------------------------- */
+#define MESSAGE_WITH_TITLE(TITLE,MESSAGE) \
+ [THIS_FILE_, __LINE__, TITLE + ': ' + (MESSAGE)] call CBA_fnc_log;
/* -------------------------------------------
Macro: RETNIL()
- If a variable is undefined, return the value nil. Otherwise, return the
- variable itself.
+ If a variable is undefined, return the value nil. Otherwise, return the
+ variable itself.
Parameters:
- VARIABLE - the variable to check
+ VARIABLE - the variable to check
Example:
- (begin example)
- // _var is undefined
- hintSilent format ["_var=%1", RETNIL(_var) ]; // "_var=any"
- (end example)
+ (begin example)
+ // _var is undefined
+ hintSilent format ["_var=%1", RETNIL(_var) ]; // "_var=any"
+ (end example)
Author:
- Alef (see CBA issue #8514)
+ Alef (see CBA issue #8514)
------------------------------------------- */
#define RETNIL(VARIABLE) if (isNil{VARIABLE}) then {nil} else {VARIABLE}
/* -------------------------------------------
Macros: TRACE_n()
- Log a message and 1-8 variables to the RPT log.
+ Log a message and 1-8 variables to the RPT log.
- Only run if is defined.
+ Only run if is defined.
- TRACE_1(MESSAGE,A) - Log 1 variable.
- TRACE_2(MESSAGE,A,B) - Log 2 variables.
- TRACE_3(MESSAGE,A,B,C) - Log 3 variables.
- TRACE_4(MESSAGE,A,B,C,D) - Log 4 variables.
- TRACE_5(MESSAGE,A,B,C,D,E) - Log 5 variables.
- TRACE_6(MESSAGE,A,B,C,D,E,F) - Log 6 variables.
- TRACE_7(MESSAGE,A,B,C,D,E,F,G) - Log 7 variables.
- TRACE_8(MESSAGE,A,B,C,D,E,F,G,H) - Log 8 variables.
- TRACE_9(MESSAGE,A,B,C,D,E,F,G,H,I) - Log 9 variables.
+ TRACE_1(MESSAGE,A) - Log 1 variable.
+ TRACE_2(MESSAGE,A,B) - Log 2 variables.
+ TRACE_3(MESSAGE,A,B,C) - Log 3 variables.
+ TRACE_4(MESSAGE,A,B,C,D) - Log 4 variables.
+ TRACE_5(MESSAGE,A,B,C,D,E) - Log 5 variables.
+ TRACE_6(MESSAGE,A,B,C,D,E,F) - Log 6 variables.
+ TRACE_7(MESSAGE,A,B,C,D,E,F,G) - Log 7 variables.
+ TRACE_8(MESSAGE,A,B,C,D,E,F,G,H) - Log 8 variables.
+ TRACE_9(MESSAGE,A,B,C,D,E,F,G,H,I) - Log 9 variables.
Parameters:
- MESSAGE - Message to add to the trace [String]
- A..H - Variable names to log values of [Any]
+ MESSAGE - Message to add to the trace [String]
+ A..H - Variable names to log values of [Any]
Example:
- (begin example)
- TRACE_3("After takeoff",_vehicle player,getPos (_vehicle player), getPosASL (_vehicle player));
- (end)
+ (begin example)
+ TRACE_3("After takeoff",_vehicle player,getPos (_vehicle player), getPosASL (_vehicle player));
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define PFORMAT_1(MESSAGE,A) \
- format ['%1: A=%2', MESSAGE, RETNIL(A)]
+ format ['%1: A=%2', MESSAGE, RETNIL(A)]
#define PFORMAT_2(MESSAGE,A,B) \
- format ['%1: A=%2, B=%3', MESSAGE, RETNIL(A), RETNIL(B)]
+ format ['%1: A=%2, B=%3', MESSAGE, RETNIL(A), RETNIL(B)]
#define PFORMAT_3(MESSAGE,A,B,C) \
- format ['%1: A=%2, B=%3, C=%4', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C)]
+ format ['%1: A=%2, B=%3, C=%4', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C)]
#define PFORMAT_4(MESSAGE,A,B,C,D) \
- format ['%1: A=%2, B=%3, C=%4, D=%5', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D)]
+ format ['%1: A=%2, B=%3, C=%4, D=%5', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D)]
#define PFORMAT_5(MESSAGE,A,B,C,D,E) \
- format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E)]
+ format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E)]
#define PFORMAT_6(MESSAGE,A,B,C,D,E,F) \
- format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F)]
+ format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F)]
#define PFORMAT_7(MESSAGE,A,B,C,D,E,F,G) \
- format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G)]
+ format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G)]
#define PFORMAT_8(MESSAGE,A,B,C,D,E,F,G,H) \
- format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H)]
+ format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H)]
#define PFORMAT_9(MESSAGE,A,B,C,D,E,F,G,H,I) \
- format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9, I=%10', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H), RETNIL(I)]
+ format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9, I=%10', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H), RETNIL(I)]
#ifdef DEBUG_MODE_FULL
#define TRACE_1(MESSAGE,A) \
- [THIS_FILE_, __LINE__, PFORMAT_1(MESSAGE,A)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_1(MESSAGE,A)] call CBA_fnc_log
#define TRACE_2(MESSAGE,A,B) \
- [THIS_FILE_, __LINE__, PFORMAT_2(MESSAGE,A,B)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_2(MESSAGE,A,B)] call CBA_fnc_log
#define TRACE_3(MESSAGE,A,B,C) \
- [THIS_FILE_, __LINE__, PFORMAT_3(MESSAGE,A,B,C)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_3(MESSAGE,A,B,C)] call CBA_fnc_log
#define TRACE_4(MESSAGE,A,B,C,D) \
- [THIS_FILE_, __LINE__, PFORMAT_4(MESSAGE,A,B,C,D)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_4(MESSAGE,A,B,C,D)] call CBA_fnc_log
#define TRACE_5(MESSAGE,A,B,C,D,E) \
- [THIS_FILE_, __LINE__, PFORMAT_5(MESSAGE,A,B,C,D,E)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_5(MESSAGE,A,B,C,D,E)] call CBA_fnc_log
#define TRACE_6(MESSAGE,A,B,C,D,E,F) \
- [THIS_FILE_, __LINE__, PFORMAT_6(MESSAGE,A,B,C,D,E,F)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_6(MESSAGE,A,B,C,D,E,F)] call CBA_fnc_log
#define TRACE_7(MESSAGE,A,B,C,D,E,F,G) \
- [THIS_FILE_, __LINE__, PFORMAT_7(MESSAGE,A,B,C,D,E,F,G)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_7(MESSAGE,A,B,C,D,E,F,G)] call CBA_fnc_log
#define TRACE_8(MESSAGE,A,B,C,D,E,F,G,H) \
- [THIS_FILE_, __LINE__, PFORMAT_8(MESSAGE,A,B,C,D,E,F,G,H)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_8(MESSAGE,A,B,C,D,E,F,G,H)] call CBA_fnc_log
#define TRACE_9(MESSAGE,A,B,C,D,E,F,G,H,I) \
- [THIS_FILE_, __LINE__, PFORMAT_9(MESSAGE,A,B,C,D,E,F,G,H,I)] call CBA_fnc_log
+ [THIS_FILE_, __LINE__, PFORMAT_9(MESSAGE,A,B,C,D,E,F,G,H,I)] call CBA_fnc_log
#else
@@ -360,37 +379,37 @@ Group: General
#define QUOTE(var1) #var1
#ifdef MODULAR
- #define COMPONENT_T DOUBLES(t,COMPONENT)
- #define COMPONENT_M DOUBLES(m,COMPONENT)
- #define COMPONENT_S DOUBLES(s,COMPONENT)
- #define COMPONENT_C DOUBLES(c,COMPONENT)
- #define COMPONENT_F COMPONENT_C
+ #define COMPONENT_T DOUBLES(t,COMPONENT)
+ #define COMPONENT_M DOUBLES(m,COMPONENT)
+ #define COMPONENT_S DOUBLES(s,COMPONENT)
+ #define COMPONENT_C DOUBLES(c,COMPONENT)
+ #define COMPONENT_F COMPONENT_C
#else
- #define COMPONENT_T COMPONENT
- #define COMPONENT_M COMPONENT
- #define COMPONENT_S COMPONENT
- #define COMPONENT_F COMPONENT
- #define COMPONENT_C COMPONENT
+ #define COMPONENT_T COMPONENT
+ #define COMPONENT_M COMPONENT
+ #define COMPONENT_S COMPONENT
+ #define COMPONENT_F COMPONENT
+ #define COMPONENT_C COMPONENT
#endif
/* -------------------------------------------
Macro: INC()
Description:
- Increase a number by one.
+ Increase a number by one.
Parameters:
- VAR - Variable to increment [Number]
+ VAR - Variable to increment [Number]
Example:
- (begin example)
- _counter = 0;
- INC(_counter);
- // _counter => 1
- (end)
+ (begin example)
+ _counter = 0;
+ INC(_counter);
+ // _counter => 1
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define INC(var) var = (var) + 1
@@ -398,20 +417,20 @@ Author:
Macro: DEC()
Description:
- Decrease a number by one.
+ Decrease a number by one.
Parameters:
- VAR - Variable to decrement [Number]
+ VAR - Variable to decrement [Number]
Example:
- (begin example)
- _counter = 99;
- DEC(_counter);
- // _counter => 98
- (end)
+ (begin example)
+ _counter = 99;
+ DEC(_counter);
+ // _counter => 98
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define DEC(var) var = (var) - 1
@@ -419,27 +438,27 @@ Author:
Macro: ADD()
Description:
- Add a value to a variable. Variable and value should be both Numbers or both Strings.
+ Add a value to a variable. Variable and value should be both Numbers or both Strings.
Parameters:
- VAR - Variable to add to [Number or String]
- VALUE - Value to add [Number or String]
+ VAR - Variable to add to [Number or String]
+ VALUE - Value to add [Number or String]
Examples:
- (begin example)
- _counter = 2;
- ADD(_counter,3);
- // _counter => 5
- (end)
- (begin example)
- _str = "hello";
- ADD(_str," ");
- ADD(_str,"Fred");
- // _str => "hello Fred"
- (end)
+ (begin example)
+ _counter = 2;
+ ADD(_counter,3);
+ // _counter => 5
+ (end)
+ (begin example)
+ _str = "hello";
+ ADD(_str," ");
+ ADD(_str,"Fred");
+ // _str => "hello Fred"
+ (end)
Author:
- Sickboy
+ Sickboy
------------------------------------------- */
#define ADD(var1,var2) var1 = (var1) + (var2)
@@ -447,18 +466,18 @@ Author:
Macro: SUB()
Description:
- Subtract a value from a number variable. VAR and VALUE should both be Numbers.
+ Subtract a value from a number variable. VAR and VALUE should both be Numbers.
Parameters:
- VAR - Variable to subtract from [Number]
- VALUE - Value to subtract [Number]
+ VAR - Variable to subtract from [Number]
+ VALUE - Value to subtract [Number]
Examples:
- (begin example)
- _numChickens = 2;
- SUB(_numChickens,3);
- // _numChickens => -1
- (end)
+ (begin example)
+ _numChickens = 2;
+ SUB(_numChickens,3);
+ // _numChickens => -1
+ (end)
------------------------------------------- */
#define SUB(var1,var2) var1 = (var1) - (var2)
@@ -466,24 +485,24 @@ Examples:
Macro: REM()
Description:
- Remove an element from an array each time it occurs.
+ Remove an element from an array each time it occurs.
- This recreates the entire array, so use BIS_fnc_removeIndex if modification of the original array is required
- or if only one of the elements that matches ELEMENT needs to be removed.
+ This recreates the entire array, so use BIS_fnc_removeIndex if modification of the original array is required
+ or if only one of the elements that matches ELEMENT needs to be removed.
Parameters:
- ARRAY - Array to modify [Array]
- ELEMENT - Element to remove [Any]
+ ARRAY - Array to modify [Array]
+ ELEMENT - Element to remove [Any]
Examples:
- (begin example)
- _array = [1, 2, 3, 4, 3, 8];
- REM(_array,3);
- // _array = [1, 2, 4, 8];
- (end)
+ (begin example)
+ _array = [1, 2, 3, 4, 3, 8];
+ REM(_array,3);
+ // _array = [1, 2, 4, 8];
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define REM(var1,var2) SUB(var1,[var2])
@@ -491,21 +510,21 @@ Author:
Macro: PUSH()
Description:
- Appends a single value onto the end of an ARRAY. Change is made to the ARRAY itself, not creating a new array.
+ Appends a single value onto the end of an ARRAY. Change is made to the ARRAY itself, not creating a new array.
Parameters:
- ARRAY - Array to push element onto [Array]
- ELEMENT - Element to push [Any]
+ ARRAY - Array to push element onto [Array]
+ ELEMENT - Element to push [Any]
Examples:
- (begin example)
- _fish = ["blue", "green", "smelly"];
- PUSH(_fish,"monkey-flavoured");
- // _fish => ["blue", "green", "smelly", "monkey-flavoured"]
- (end)
+ (begin example)
+ _fish = ["blue", "green", "smelly"];
+ PUSH(_fish,"monkey-flavoured");
+ // _fish => ["blue", "green", "smelly", "monkey-flavoured"]
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define PUSH(var1,var2) (var1) pushBack (var2)
@@ -513,27 +532,27 @@ Author:
Macro: ISNILS()
Description:
- Sets a variable with a value, but only if it is undefined.
+ Sets a variable with a value, but only if it is undefined.
Parameters:
- VARIABLE - Variable to set [Any, not nil]
- DEFAULT_VALUE - Value to set VARIABLE to if it is undefined [Any, not nil]
+ VARIABLE - Variable to set [Any, not nil]
+ DEFAULT_VALUE - Value to set VARIABLE to if it is undefined [Any, not nil]
Examples:
- (begin example)
- // _fish is undefined
- ISNILS(_fish,0);
- // _fish => 0
- (end)
- (begin example)
- _fish = 12;
- // ...later...
- ISNILS(_fish,0);
- // _fish => 12
- (end)
+ (begin example)
+ // _fish is undefined
+ ISNILS(_fish,0);
+ // _fish => 0
+ (end)
+ (begin example)
+ _fish = 12;
+ // ...later...
+ ISNILS(_fish,0);
+ // _fish => 12
+ (end)
Author:
- Sickboy
+ Sickboy
------------------------------------------- */
#define ISNILS(VARIABLE,DEFAULT_VALUE) if (isNil #VARIABLE) then { ##VARIABLE = ##DEFAULT_VALUE }
#define ISNILS2(var1,var2,var3,var4) ISNILS(TRIPLES(var1,var2,var3),var4)
@@ -550,14 +569,14 @@ Author:
#define GETVARMAINS(var1,var2) GETVARS(var1,MAINLOGIC,var2)
#ifndef PATHTO_SYS
- #define PATHTO_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\##var2\##var3.sqf
+ #define PATHTO_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\##var2\##var3.sqf
#endif
#ifndef PATHTOF_SYS
- #define PATHTOF_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\##var2\##var3
+ #define PATHTOF_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\##var2\##var3
#endif
#ifndef PATHTOF2_SYS
- #define PATHTOF2_SYS(var1,var2,var3) MAINPREFIX\##var1\SUBPREFIX\##var2\##var3
+ #define PATHTOF2_SYS(var1,var2,var3) MAINPREFIX\##var1\SUBPREFIX\##var2\##var3
#endif
#define PATHTO_R(var1) PATHTOF2_SYS(PREFIX,COMPONENT_C,var1)
@@ -606,7 +625,7 @@ Author:
#define CACHE_DIS(var1) (!isNil "CBA_RECOMPILE" || CACHE_DIS_SYS(configFile,var1) || CACHE_DIS_SYS(missionConfigFile,var1))
#ifndef DEBUG_SETTINGS
- #define DEBUG_SETTINGS [false, true, false]
+ #define DEBUG_SETTINGS [false, true, false]
#endif
#define MSG_INIT QUOTE(Initializing: ADDON version: VERSION)
@@ -625,34 +644,34 @@ Author:
#define VERSIONING_SYS(var1) class CfgSettings \
{ \
- class CBA \
- { \
- class Versioning \
- { \
- class var1 \
- { \
- }; \
- }; \
- }; \
+ class CBA \
+ { \
+ class Versioning \
+ { \
+ class var1 \
+ { \
+ }; \
+ }; \
+ }; \
};
#define VERSIONING VERSIONING_SYS(PREFIX)
/* -------------------------------------------
Macro: GVAR()
- Get full variable identifier for a global variable owned by this component.
+ Get full variable identifier for a global variable owned by this component.
Parameters:
- VARIABLE - Partial name of global variable owned by this component [Any].
+ VARIABLE - Partial name of global variable owned by this component [Any].
Example:
- (begin example)
- GVAR(frog) = 12;
- // In SPON_FrogDancing component, equivalent to SPON_FrogDancing_frog = 12
- (end)
+ (begin example)
+ GVAR(frog) = 12;
+ // In SPON_FrogDancing component, equivalent to SPON_FrogDancing_frog = 12
+ (end)
Author:
- Sickboy
+ Sickboy
------------------------------------------- */
#define GVAR(var1) DOUBLES(ADDON,var1)
#define EGVAR(var1,var2) DOUBLES(DOUBLES(PREFIX,var1),var2)
@@ -660,19 +679,19 @@ Author:
/* -------------------------------------------
Macro: GVARMAIN()
- Get full variable identifier for a global variable owned by this addon.
+ Get full variable identifier for a global variable owned by this addon.
Parameters:
- VARIABLE - Partial name of global variable owned by this addon [Any].
+ VARIABLE - Partial name of global variable owned by this addon [Any].
Example:
- (begin example)
- GVARMAIN(frog) = 12;
- // In SPON_FrogDancing component, equivalent to SPON_frog = 12
- (end)
+ (begin example)
+ GVARMAIN(frog) = 12;
+ // In SPON_FrogDancing component, equivalent to SPON_frog = 12
+ (end)
Author:
- Sickboy
+ Sickboy
------------------------------------------- */
#define GVARMAIN(var1) GVARMAINS(PREFIX,var1)
// TODO: What's this?
@@ -693,7 +712,7 @@ Author:
#define PREP(var1) TRIPLES(ADDON,fnc,var1) = compile preProcessFileLineNumbers 'PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))'
#define PREPMAIN(var1) TRIPLES(PREFIX,fnc,var1) = compile preProcessFileLineNumbers 'PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))'
#else
- #define PREP(var1) ['PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))', 'TRIPLES(ADDON,fnc,var1)'] call SLX_XEH_COMPILE_NEW
+ #define PREP(var1) ['PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))', 'TRIPLES(ADDON,fnc,var1)'] call SLX_XEH_COMPILE_NEW
#define PREPMAIN(var1) ['PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))', 'TRIPLES(PREFIX,fnc,var1)'] call SLX_XEH_COMPILE_NEW
#endif
@@ -703,27 +722,27 @@ Author:
#define EFUNC(var1,var2) FUNC_INNER(var1,var2)
#ifndef PRELOAD_ADDONS
- #define PRELOAD_ADDONS class CfgAddons \
+ #define PRELOAD_ADDONS class CfgAddons \
{ \
- class PreloadAddons \
- { \
- class ADDON \
- { \
- list[]={ QUOTE(ADDON) }; \
- }; \
- }; \
+ class PreloadAddons \
+ { \
+ class ADDON \
+ { \
+ list[]={ QUOTE(ADDON) }; \
+ }; \
+ }; \
}
#endif
/* -------------------------------------------
Macros: ARG_#()
- Select from list of array arguments
+ Select from list of array arguments
Parameters:
- VARIABLE(1-8) - elements for the list
+ VARIABLE(1-8) - elements for the list
Author:
- Rommel
+ Rommel
------------------------------------------- */
#define ARG_1(A,B) ((A) select (B))
#define ARG_2(A,B,C) (ARG_1(ARG_1(A,B),C))
@@ -736,14 +755,14 @@ Author:
/* -------------------------------------------
Macros: ARR_#()
- Create list from arguments. Useful for working around , in macro parameters.
- 1-8 arguments possible.
+ Create list from arguments. Useful for working around , in macro parameters.
+ 1-8 arguments possible.
Parameters:
- VARIABLE(1-8) - elements for the list
+ VARIABLE(1-8) - elements for the list
Author:
- Nou
+ Nou
------------------------------------------- */
#define ARR_1(ARG1) ARG1
#define ARR_2(ARG1,ARG2) ARG1, ARG2
@@ -756,15 +775,15 @@ Author:
/* -------------------------------------------
Macros: FORMAT_#(STR, ARG1)
- Format - Useful for working around , in macro parameters.
- 1-8 arguments possible.
+ Format - Useful for working around , in macro parameters.
+ 1-8 arguments possible.
Parameters:
- STRING - string used by format
- VARIABLE(1-8) - elements for usage in format
+ STRING - string used by format
+ VARIABLE(1-8) - elements for usage in format
Author:
- Nou & Sickboy
+ Nou & Sickboy
------------------------------------------- */
#define FORMAT_1(STR,ARG1) format[STR, ARG1]
#define FORMAT_2(STR,ARG1,ARG2) format[STR, ARG1, ARG2]
@@ -781,32 +800,32 @@ Author:
/* -------------------------------------------
Macros: IS_x()
- Checking the data types of variables.
+ Checking the data types of variables.
- IS_ARRAY() - Array
- IS_BOOL() - Boolean
- IS_BOOLEAN() - UI display handle(synonym for )
- IS_CODE() - Code block (i.e a compiled function)
- IS_CONFIG() - Configuration
- IS_CONTROL() - UI control handle.
- IS_DISPLAY() - UI display handle.
- IS_FUNCTION() - A compiled function (synonym for )
- IS_GROUP() - Group.
- IS_INTEGER() - Is a number a whole number?
- IS_LOCATION() - World location.
- IS_NUMBER() - A floating point number (synonym for )
- IS_OBJECT() - World object.
- IS_SCALAR() - Floating point number.
- IS_SCRIPT() - A script handle (as returned by execVM and spawn commands).
- IS_SIDE() - Game side.
- IS_STRING() - World object.
- IS_TEXT() - Structured text.
+ IS_ARRAY() - Array
+ IS_BOOL() - Boolean
+ IS_BOOLEAN() - UI display handle(synonym for )
+ IS_CODE() - Code block (i.e a compiled function)
+ IS_CONFIG() - Configuration
+ IS_CONTROL() - UI control handle.
+ IS_DISPLAY() - UI display handle.
+ IS_FUNCTION() - A compiled function (synonym for )
+ IS_GROUP() - Group.
+ IS_INTEGER() - Is a number a whole number?
+ IS_LOCATION() - World location.
+ IS_NUMBER() - A floating point number (synonym for )
+ IS_OBJECT() - World object.
+ IS_SCALAR() - Floating point number.
+ IS_SCRIPT() - A script handle (as returned by execVM and spawn commands).
+ IS_SIDE() - Game side.
+ IS_STRING() - World object.
+ IS_TEXT() - Structured text.
Parameters:
- VARIABLE - Variable to check if it is of a particular type [Any, not nil]
+ VARIABLE - Variable to check if it is of a particular type [Any, not nil]
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define IS_META_SYS(VAR,TYPE) (if (isNil {VAR}) then { false } else { (typeName (VAR)) == TYPE })
#define IS_ARRAY(VAR) IS_META_SYS(VAR,"ARRAY")
@@ -829,107 +848,120 @@ Author:
#define IS_INTEGER(VAR) if ( IS_SCALAR(VAR) ) then { (floor(VAR) == (VAR)) } else { false }
#define IS_NUMBER(VAR) IS_SCALAR(VAR)
+#define FLOAT_TO_STRING(num) (str parseNumber (str (_this%_this) + str floor abs _this) + "." + (str (abs _this-floor abs _this) select [2]) + "0")
+
/* -------------------------------------------
Macro: SCRIPT()
- Sets name of script (relies on PREFIX and COMPONENT values being #defined).
+ Sets name of script (relies on PREFIX and COMPONENT values being #defined).
Parameters:
- NAME - Name of script [Indentifier]
+ NAME - Name of script [Indentifier]
Example:
- (begin example)
- SCRIPT(eradicateMuppets);
- (end)
+ (begin example)
+ SCRIPT(eradicateMuppets);
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define SCRIPT(NAME) \
- scriptName 'PREFIX\COMPONENT\NAME'
+ scriptName 'PREFIX\COMPONENT\NAME'
/* -------------------------------------------
Macros: EXPLODE_n()
- Splitting an ARRAY into a number of variables (A, B, C, etc).
+ DEPRECATED - Use param/params commands added in Arma 3 1.48
- Note that this NOT does make the created variables private.
- _PVT variants do.
+ Splitting an ARRAY into a number of variables (A, B, C, etc).
- EXPLODE_1(ARRAY,A,B) - Split a 1-element array into separate variable.
- EXPLODE_2(ARRAY,A,B) - Split a 2-element array into separate variables.
- EXPLODE_3(ARRAY,A,B,C) - Split a 3-element array into separate variables.
- EXPLODE_4(ARRAY,A,B,C,D) - Split a 4-element array into separate variables.
- EXPLODE_5(ARRAY,A,B,C,D,E) - Split a 5-element array into separate variables.
- EXPLODE_6(ARRAY,A,B,C,D,E,F) - Split a 6-element array into separate variables.
- EXPLODE_7(ARRAY,A,B,C,D,E,F,G) - Split a 7-element array into separate variables.
- EXPLODE_8(ARRAY,A,B,C,D,E,F,G,H) - Split a 8-element array into separate variables.
- EXPLODE_9(ARRAY,A,B,C,D,E,F,G,H,I) - Split a 9-element array into separate variables.
+ Note that this NOT does make the created variables private.
+ _PVT variants do.
+
+ EXPLODE_1(ARRAY,A,B) - Split a 1-element array into separate variable.
+ EXPLODE_2(ARRAY,A,B) - Split a 2-element array into separate variables.
+ EXPLODE_3(ARRAY,A,B,C) - Split a 3-element array into separate variables.
+ EXPLODE_4(ARRAY,A,B,C,D) - Split a 4-element array into separate variables.
+ EXPLODE_5(ARRAY,A,B,C,D,E) - Split a 5-element array into separate variables.
+ EXPLODE_6(ARRAY,A,B,C,D,E,F) - Split a 6-element array into separate variables.
+ EXPLODE_7(ARRAY,A,B,C,D,E,F,G) - Split a 7-element array into separate variables.
+ EXPLODE_8(ARRAY,A,B,C,D,E,F,G,H) - Split a 8-element array into separate variables.
+ EXPLODE_9(ARRAY,A,B,C,D,E,F,G,H,I) - Split a 9-element array into separate variables.
Parameters:
- ARRAY - Array to read from [Array]
- A..H - Names of variables to set from array [Identifier]
+ ARRAY - Array to read from [Array]
+ A..H - Names of variables to set from array [Identifier]
Example:
- (begin example)
- _array = ["fred", 156.8, 120.9];
- EXPLODE_3(_array,_name_height,_weight);
- (end)
+ (begin example)
+ _array = ["fred", 156.8, 120.9];
+ EXPLODE_3(_array,_name,_height,_weight);
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
-#define EXPLODE_1_SYS(ARRAY,A) A = if (IS_ARRAY((ARRAY))) then { (ARRAY) select 0 } else { ARRAY }
+#define EXPLODE_1_SYS(ARRAY,A) A = ARRAY param [0]
#define EXPLODE_1(ARRAY,A) EXPLODE_1_SYS(ARRAY,A); TRACE_1("EXPLODE_1, " + QUOTE(ARRAY),A)
-#define EXPLODE_1_PVT(ARRAY,A) \
- private #A; \
- EXPLODE_1(ARRAY,A)
+#define EXPLODE_1_PVT(ARRAY,A) ARRAY params [#A]; TRACE_1("EXPLODE_1, " + QUOTE(ARRAY),A)
-#define EXPLODE_2_SYS(ARRAY,A,B) EXPLODE_1_SYS(ARRAY,A); B = (ARRAY) select 1
+#define EXPLODE_2_SYS(ARRAY,A,B) EXPLODE_1_SYS(ARRAY,A); B = ARRAY param [1]
#define EXPLODE_2(ARRAY,A,B) EXPLODE_2_SYS(ARRAY,A,B); TRACE_2("EXPLODE_2, " + QUOTE(ARRAY),A,B)
-#define EXPLODE_2_PVT(ARRAY,A,B) \
- private [#A,#B]; \
- EXPLODE_2(ARRAY,A,B)
+#define EXPLODE_2_PVT(ARRAY,A,B) ARRAY params [#A,#B]; TRACE_2("EXPLODE_2, " + QUOTE(ARRAY),A,B)
-#define EXPLODE_3_SYS(ARRAY,A,B,C) EXPLODE_2_SYS(ARRAY,A,B); C = (ARRAY) select 2
+#define EXPLODE_3_SYS(ARRAY,A,B,C) EXPLODE_2_SYS(ARRAY,A,B); C = ARRAY param [2]
#define EXPLODE_3(ARRAY,A,B,C) EXPLODE_3_SYS(ARRAY,A,B,C); TRACE_3("EXPLODE_3, " + QUOTE(ARRAY),A,B,C)
-#define EXPLODE_3_PVT(ARRAY,A,B,C) \
- private [#A,#B,#C]; \
- EXPLODE_3(ARRAY,A,B,C)
-
-#define EXPLODE_4_SYS(ARRAY,A,B,C,D) EXPLODE_3_SYS(ARRAY,A,B,C); D = (ARRAY) select 3
+#define EXPLODE_3_PVT(ARRAY,A,B,C) ARRAY params [#A,#B,#C]; TRACE_3("EXPLODE_3, " + QUOTE(ARRAY),A,B,C)
+
+#define EXPLODE_4_SYS(ARRAY,A,B,C,D) EXPLODE_3_SYS(ARRAY,A,B,C); D = ARRAY param [3]
#define EXPLODE_4(ARRAY,A,B,C,D) EXPLODE_4_SYS(ARRAY,A,B,C,D); TRACE_4("EXPLODE_4, " + QUOTE(ARRAY),A,B,C,D)
-#define EXPLODE_4_PVT(ARRAY,A,B,C,D) \
- private [#A,#B,#C,#D]; \
- EXPLODE_4(ARRAY,A,B,C,D)
+#define EXPLODE_4_PVT(ARRAY,A,B,C,D) ARRAY params [#A,#B,#C,#D]; TRACE_4("EXPLODE_4, " + QUOTE(ARRAY),A,B,C,D)
-#define EXPLODE_5_SYS(ARRAY,A,B,C,D,E) EXPLODE_4_SYS(ARRAY,A,B,C,D); E = (ARRAY) select 4
+#define EXPLODE_5_SYS(ARRAY,A,B,C,D,E) EXPLODE_4_SYS(ARRAY,A,B,C,D); E = ARRAY param [4]
#define EXPLODE_5(ARRAY,A,B,C,D,E) EXPLODE_5_SYS(ARRAY,A,B,C,D,E); TRACE_5("EXPLODE_5, " + QUOTE(ARRAY),A,B,C,D,E)
-#define EXPLODE_5_PVT(ARRAY,A,B,C,D,E) \
- private [#A,#B,#C,#D,#E]; \
- EXPLODE_5(ARRAY,A,B,C,D,E)
+#define EXPLODE_5_PVT(ARRAY,A,B,C,D,E) ARRAY params [#A,#B,#C,#D,#E]; TRACE_5("EXPLODE_5, " + QUOTE(ARRAY),A,B,C,D,E)
-#define EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F) EXPLODE_5_SYS(ARRAY,A,B,C,D,E); F = (ARRAY) select 5
+#define EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F) EXPLODE_5_SYS(ARRAY,A,B,C,D,E); F = ARRAY param [5]
#define EXPLODE_6(ARRAY,A,B,C,D,E,F) EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F); TRACE_6("EXPLODE_6, " + QUOTE(ARRAY),A,B,C,D,E,F)
-#define EXPLODE_6_PVT(ARRAY,A,B,C,D,E,F) \
- private [#A,#B,#C,#D,#E,#F]; \
- EXPLODE_6(ARRAY,A,B,C,D,E,F)
+#define EXPLODE_6_PVT(ARRAY,A,B,C,D,E,F) ARRAY params [#A,#B,#C,#D,#E,#F]; TRACE_6("EXPLODE_6, " + QUOTE(ARRAY),A,B,C,D,E,F)
-#define EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G) EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F); G = (ARRAY) select 6
+#define EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G) EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F); G = ARRAY param [6]
#define EXPLODE_7(ARRAY,A,B,C,D,E,F,G) EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G); TRACE_7("EXPLODE_7, " + QUOTE(ARRAY),A,B,C,D,E,F,G)
-#define EXPLODE_7_PVT(ARRAY,A,B,C,D,E,F,G) \
- private [#A,#B,#C,#D,#E,#F,#G]; \
- EXPLODE_7(ARRAY,A,B,C,D,E,F,G)
+#define EXPLODE_7_PVT(ARRAY,A,B,C,D,E,F,G) ARRAY params [#A,#B,#C,#D,#E,#F,#G]; TRACE_7("EXPLODE_7, " + QUOTE(ARRAY),A,B,C,D,E,F,G)
-#define EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H) EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G); H = (ARRAY) select 7
+#define EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H) EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G); H = ARRAY param [7]
#define EXPLODE_8(ARRAY,A,B,C,D,E,F,G,H) EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H); TRACE_8("EXPLODE_8, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H)
-#define EXPLODE_8_PVT(ARRAY,A,B,C,D,E,F,G,H) \
- private [#A,#B,#C,#D,#E,#F,#G,#H]; \
- EXPLODE_8(ARRAY,A,B,C,D,E,F,G,H)
+#define EXPLODE_8_PVT(ARRAY,A,B,C,D,E,F,G,H) ARRAY params [#A,#B,#C,#D,#E,#F,#G,#H]; TRACE_8("EXPLODE_8, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H)
-#define EXPLODE_9_SYS(ARRAY,A,B,C,D,E,F,G,H,I) EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H); I = (ARRAY) select 8
+#define EXPLODE_9_SYS(ARRAY,A,B,C,D,E,F,G,H,I) EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H); I = ARRAY param [8]
#define EXPLODE_9(ARRAY,A,B,C,D,E,F,G,H,I) EXPLODE_9_SYS(ARRAY,A,B,C,D,E,F,G,H,I); TRACE_9("EXPLODE_9, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H,I)
-#define EXPLODE_9_PVT(ARRAY,A,B,C,D,E,F,G,H,I) \
- private [#A,#B,#C,#D,#E,#F,#G,#H,#I]; \
- EXPLODE_9(ARRAY,A,B,C,D,E,F,G,H,I)
+#define EXPLODE_9_PVT(ARRAY,A,B,C,D,E,F,G,H,I) ARRAY params [#A,#B,#C,#D,#E,#F,#G,#H,#I]; TRACE_9("EXPLODE_9, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H,I)
+
+/* -------------------------------------------
+Macro: xSTRING()
+ Get full string identifier from a stringtable owned by this component.
+
+Parameters:
+ VARIABLE - Partial name of global variable owned by this component [Any].
+
+Example:
+ ADDON is CBA_Balls.
+ (begin example)
+ // Localized String (localize command must still be used with it)
+ LSTRING(Example); // STR_CBA_Balls_Example;
+ // Config String (note the $)
+ CSTRING(Example); // $STR_CBA_Balls_Example;
+ (end)
+
+Author:
+ Jonpas
+------------------------------------------- */
+#ifndef STRING_MACROS_GUARD
+#define STRING_MACROS_GUARD
+ #define LSTRING(var1) QUOTE(TRIPLES(STR,ADDON,var1))
+ #define ELSTRING(var1,var2) QUOTE(TRIPLES(STR,DOUBLES(PREFIX,var1),var2))
+ #define CSTRING(var1) QUOTE(TRIPLES($STR,ADDON,var1))
+ #define ECSTRING(var1,var2) QUOTE(TRIPLES($STR,DOUBLES(PREFIX,var1),var2))
+#endif
/* -------------------------------------------
@@ -938,37 +970,39 @@ Group: Managing Function Parameters
/* -------------------------------------------
Macros: PARAMS_n()
- Setting variables based on parameters passed to a function.
+ DEPRECATED - Use param/params commands added in Arma 3 1.48
- Each parameter is defines as private and set to the appropriate value from _this.
+ Setting variables based on parameters passed to a function.
- PARAMS_1(A) - Get 1 parameter from the _this array (or _this if it's not an array).
- PARAMS_2(A,B) - Get 2 parameters from the _this array.
- PARAMS_3(A,B,C) - Get 3 parameters from the _this array.
- PARAMS_4(A,B,C,D) - Get 4 parameters from the _this array.
- PARAMS_5(A,B,C,D,E) - Get 5 parameters from the _this array.
- PARAMS_6(A,B,C,D,E,F) - Get 6 parameters from the _this array.
- PARAMS_7(A,B,C,D,E,F,G) - Get 7 parameters from the _this array.
- PARAMS_8(A,B,C,D,E,F,G,H) - Get 8 parameters from the _this array.
+ Each parameter is defines as private and set to the appropriate value from _this.
+
+ PARAMS_1(A) - Get 1 parameter from the _this array (or _this if it's not an array).
+ PARAMS_2(A,B) - Get 2 parameters from the _this array.
+ PARAMS_3(A,B,C) - Get 3 parameters from the _this array.
+ PARAMS_4(A,B,C,D) - Get 4 parameters from the _this array.
+ PARAMS_5(A,B,C,D,E) - Get 5 parameters from the _this array.
+ PARAMS_6(A,B,C,D,E,F) - Get 6 parameters from the _this array.
+ PARAMS_7(A,B,C,D,E,F,G) - Get 7 parameters from the _this array.
+ PARAMS_8(A,B,C,D,E,F,G,H) - Get 8 parameters from the _this array.
Parameters:
- A..H - Name of variable to read from _this [Identifier]
+ A..H - Name of variable to read from _this [Identifier]
Example:
- A function called like this:
- (begin example)
- [_name,_address,_telephone] call recordPersonalDetails;
- (end)
- expects 3 parameters and those variables could be initialised at the start of the function definition with:
- (begin example)
- recordPersonalDetails = {
- PARAMS_3(_name,_address,_telephone);
- // Rest of function follows...
- };
- (end)
+ A function called like this:
+ (begin example)
+ [_name,_address,_telephone] call recordPersonalDetails;
+ (end)
+ expects 3 parameters and those variables could be initialised at the start of the function definition with:
+ (begin example)
+ recordPersonalDetails = {
+ PARAMS_3(_name,_address,_telephone);
+ // Rest of function follows...
+ };
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define PARAMS_1(A) EXPLODE_1_PVT(_this,A)
#define PARAMS_2(A,B) EXPLODE_2_PVT(_this,A,B)
@@ -982,59 +1016,62 @@ Author:
/* -------------------------------------------
Macro: DEFAULT_PARAM()
- Getting a default function parameter. This may be used together with to have a mix of required and
- optional parameters.
+ DEPRECATED - Use param/params commands added in Arma 3 1.48
+
+ Getting a default function parameter. This may be used together with to have a mix of required and
+ optional parameters.
Parameters:
- INDEX - Index of parameter in _this [Integer, 0+]
- NAME - Name of the variable to set [Identifier]
- DEF_VALUE - Default value to use in case the array is too short or the value at INDEX is nil [Any]
+ INDEX - Index of parameter in _this [Integer, 0+]
+ NAME - Name of the variable to set [Identifier]
+ DEF_VALUE - Default value to use in case the array is too short or the value at INDEX is nil [Any]
Example:
- A function called with optional parameters:
- (begin example)
- [_name] call myFunction;
- [_name, _numberOfLegs] call myFunction;
- [_name, _numberOfLegs, _hasAHead] call myFunction;
- (end)
- 1 required parameter and 2 optional parameters. Those variables could be initialised at the start of the function
- definition with:
- (begin example)
- myFunction = {
- PARAMS_1(_name);
- DEFAULT_PARAM(1,_numberOfLegs,2);
- DEFAULT_PARAM(2,_hasAHead,true);
- // Rest of function follows...
- };
- (end)
+ A function called with optional parameters:
+ (begin example)
+ [_name] call myFunction;
+ [_name, _numberOfLegs] call myFunction;
+ [_name, _numberOfLegs, _hasAHead] call myFunction;
+ (end)
+ 1 required parameter and 2 optional parameters. Those variables could be initialised at the start of the function
+ definition with:
+ (begin example)
+ myFunction = {
+ PARAMS_1(_name);
+ DEFAULT_PARAM(1,_numberOfLegs,2);
+ DEFAULT_PARAM(2,_hasAHead,true);
+ // Rest of function follows...
+ };
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define DEFAULT_PARAM(INDEX,NAME,DEF_VALUE) \
- private #NAME; \
- NAME = [RETNIL(_this), INDEX, DEF_VALUE] call CBA_fnc_defaultParam; \
- TRACE_3("DEFAULT_PARAM",INDEX,NAME,DEF_VALUE)
+ private [#NAME,"_this"]; \
+ ISNILS(_this,[]); \
+ NAME = _this param [INDEX, DEF_VALUE]; \
+ TRACE_3("DEFAULT_PARAM",INDEX,NAME,DEF_VALUE)
/* -------------------------------------------
Macro: KEY_PARAM()
- Get value from key in _this list, return default when key is not included in list.
+ Get value from key in _this list, return default when key is not included in list.
Parameters:
- KEY - Key name [String]
- NAME - Name of the variable to set [Identifier]
- DEF_VALUE - Default value to use in case key not found [ANY]
+ KEY - Key name [String]
+ NAME - Name of the variable to set [Identifier]
+ DEF_VALUE - Default value to use in case key not found [ANY]
Example:
Author:
- Muzzleflash
+ Muzzleflash
------------------------------------------- */
#define KEY_PARAM(KEY,NAME,DEF_VALUE) \
- private #NAME; \
- NAME = [toLower KEY, toUpper KEY, DEF_VALUE, RETNIL(_this)] call CBA_fnc_getArg; \
- TRACE_3("KEY_PARAM",KEY,NAME,DEF_VALUE)
+ private #NAME; \
+ NAME = [toLower KEY, toUpper KEY, DEF_VALUE, RETNIL(_this)] call CBA_fnc_getArg; \
+ TRACE_3("KEY_PARAM",KEY,NAME,DEF_VALUE)
/* -------------------------------------------
Group: Assertions
@@ -1044,94 +1081,210 @@ Group: Assertions
/* -------------------------------------------
Macro: ASSERT_TRUE()
- Asserts that a CONDITION is true. When an assertion fails, an error is raised with the given MESSAGE.
+ Asserts that a CONDITION is true. When an assertion fails, an error is raised with the given MESSAGE.
Parameters:
- CONDITION - Condition to assert as true [Boolean]
- MESSSAGE - Message to display if (A OPERATOR B) is false [String]
+ CONDITION - Condition to assert as true [Boolean]
+ MESSSAGE - Message to display if (A OPERATOR B) is false [String]
Example:
- (begin example)
- ASSERT_TRUE(_frogIsDead,"The frog is alive");
- (end)
+ (begin example)
+ ASSERT_TRUE(_frogIsDead,"The frog is alive");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define ASSERT_TRUE(CONDITION,MESSAGE) \
- if (not (CONDITION)) then \
- { \
- ASSERTION_ERROR('Assertion (CONDITION) failed!\n\n' + (MESSAGE)); \
- }
+ if (not (CONDITION)) then \
+ { \
+ ASSERTION_ERROR('Assertion (CONDITION) failed!\n\n' + (MESSAGE)); \
+ }
/* -------------------------------------------
Macro: ASSERT_FALSE()
- Asserts that a CONDITION is false. When an assertion fails, an error is raised with the given MESSAGE.
+ Asserts that a CONDITION is false. When an assertion fails, an error is raised with the given MESSAGE.
Parameters:
- CONDITION - Condition to assert as false [Boolean]
- MESSSAGE - Message to display if (A OPERATOR B) is true [String]
+ CONDITION - Condition to assert as false [Boolean]
+ MESSSAGE - Message to display if (A OPERATOR B) is true [String]
Example:
- (begin example)
- ASSERT_FALSE(_frogIsDead,"The frog died");
- (end)
+ (begin example)
+ ASSERT_FALSE(_frogIsDead,"The frog died");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define ASSERT_FALSE(CONDITION,MESSAGE) \
- if (CONDITION) then \
- { \
- ASSERTION_ERROR('Assertion (not (CONDITION)) failed!\n\n' + (MESSAGE)) \
- }
+ if (CONDITION) then \
+ { \
+ ASSERTION_ERROR('Assertion (not (CONDITION)) failed!\n\n' + (MESSAGE)) \
+ }
/* -------------------------------------------
Macro: ASSERT_OP()
- Asserts that (A OPERATOR B) is true. When an assertion fails, an error is raised with the given MESSAGE.
+ Asserts that (A OPERATOR B) is true. When an assertion fails, an error is raised with the given MESSAGE.
Parameters:
- A - First value [Any]
- OPERATOR - Binary operator to use [Operator]
- B - Second value [Any]
- MESSSAGE - Message to display if (A OPERATOR B) is false. [String]
+ A - First value [Any]
+ OPERATOR - Binary operator to use [Operator]
+ B - Second value [Any]
+ MESSSAGE - Message to display if (A OPERATOR B) is false. [String]
Example:
- (begin example)
- ASSERT_OP(_fish,>,5,"Too few fish!");
- (end)
+ (begin example)
+ ASSERT_OP(_fish,>,5,"Too few fish!");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define ASSERT_OP(A,OPERATOR,B,MESSAGE) \
- if (not ((A) OPERATOR (B))) then \
- { \
- ASSERTION_ERROR('Assertion (A OPERATOR B) failed!\n' + 'A: ' + (str (A)) + '\n' + 'B: ' + (str (B)) + "\n\n" + (MESSAGE)); \
- }
+ if (not ((A) OPERATOR (B))) then \
+ { \
+ ASSERTION_ERROR('Assertion (A OPERATOR B) failed!\n' + 'A: ' + (str (A)) + '\n' + 'B: ' + (str (B)) + "\n\n" + (MESSAGE)); \
+ }
/* -------------------------------------------
Macro: ASSERT_DEFINED()
- Asserts that a VARIABLE is defined. When an assertion fails, an error is raised with the given MESSAGE..
+ Asserts that a VARIABLE is defined. When an assertion fails, an error is raised with the given MESSAGE..
Parameters:
- VARIABLE - Variable to test if defined [String or Function].
- MESSAGE - Message to display if variable is undefined [String].
+ VARIABLE - Variable to test if defined [String or Function].
+ MESSAGE - Message to display if variable is undefined [String].
Examples:
- (begin example)
- ASSERT_DEFINED("_anUndefinedVar","Too few fish!");
- ASSERT_DEFINED({ obj getVariable "anUndefinedVar" },"Too many fish!");
- (end)
+ (begin example)
+ ASSERT_DEFINED("_anUndefinedVar","Too few fish!");
+ ASSERT_DEFINED({ obj getVariable "anUndefinedVar" },"Too many fish!");
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define ASSERT_DEFINED(VARIABLE,MESSAGE) \
- if (isNil VARIABLE) then \
- { \
- ASSERTION_ERROR('Assertion (VARIABLE is defined) failed!\n\n' + (MESSAGE)); \
- }
+ if (isNil VARIABLE) then \
+ { \
+ ASSERTION_ERROR('Assertion (VARIABLE is defined) failed!\n\n' + (MESSAGE)); \
+ }
+
+/* -------------------------------------------
+Group: Unit tests
+------------------------------------------- */
+#define TEST_SUCCESS(MESSAGE) MESSAGE_WITH_TITLE("Test OK",MESSAGE)
+#define TEST_FAIL(MESSAGE) ERROR_WITH_TITLE("Test FAIL",MESSAGE)
+
+/* -------------------------------------------
+Macro: TEST_TRUE()
+ Tests that a CONDITION is true.
+ If the condition is not true, an error is raised with the given MESSAGE.
+
+Parameters:
+ CONDITION - Condition to assert as true [Boolean]
+ MESSSAGE - Message to display if (A OPERATOR B) is false [String]
+
+Example:
+ (begin example)
+ TEST_TRUE(_frogIsDead,"The frog is alive");
+ (end)
+
+Author:
+ Killswitch
+------------------------------------------- */
+#define TEST_TRUE(CONDITION, MESSAGE) \
+ if (CONDITION) then \
+ { \
+ TEST_SUCCESS('(CONDITION)'); \
+ } \
+ else \
+ { \
+ TEST_FAIL('(CONDITION) ' + (MESSAGE)); \
+ }
+
+/* -------------------------------------------
+Macro: TEST_FALSE()
+ Tests that a CONDITION is false.
+ If the condition is not false, an error is raised with the given MESSAGE.
+
+Parameters:
+ CONDITION - Condition to test as false [Boolean]
+ MESSSAGE - Message to display if (A OPERATOR B) is true [String]
+
+Example:
+ (begin example)
+ TEST_FALSE(_frogIsDead,"The frog died");
+ (end)
+
+Author:
+ Killswitch
+------------------------------------------- */
+#define TEST_FALSE(CONDITION, MESSAGE) \
+ if (not (CONDITION)) then \
+ { \
+ TEST_SUCCESS('(not (CONDITION))'); \
+ } \
+ else \
+ { \
+ TEST_FAIL('(not (CONDITION)) ' + (MESSAGE)); \
+ }
+
+/* -------------------------------------------
+Macro: TEST_OP()
+ Tests that (A OPERATOR B) is true.
+ If the test fails, an error is raised with the given MESSAGE.
+
+Parameters:
+ A - First value [Any]
+ OPERATOR - Binary operator to use [Operator]
+ B - Second value [Any]
+ MESSSAGE - Message to display if (A OPERATOR B) is false. [String]
+
+Example:
+ (begin example)
+ TEST_OP(_fish,>,5,"Too few fish!");
+ (end)
+
+Author:
+ Killswitch
+------------------------------------------- */
+#define TEST_OP(A,OPERATOR,B,MESSAGE) \
+ if ((A) OPERATOR (B)) then \
+ { \
+ TEST_SUCCESS('(A OPERATOR B)') \
+ } \
+ else \
+ { \
+ TEST_FAIL('(A OPERATOR B)') \
+ };
+
+/* -------------------------------------------
+Macro: TEST_DEFINED()
+ Tests that a VARIABLE is defined.
+
+Parameters:
+ VARIABLE - Variable to test if defined [String or Function].
+ MESSAGE - Message to display if variable is undefined [String].
+
+Examples:
+ (begin example)
+ TEST_DEFINED("_anUndefinedVar","Too few fish!");
+ TEST_DEFINED({ obj getVariable "anUndefinedVar" },"Too many fish!");
+ (end)
+
+Author:
+ Killswitch
+------------------------------------------- */
+#define TEST_DEFINED(VARIABLE,MESSAGE) \
+ if (not isNil VARIABLE) then \
+ { \
+ TEST_SUCCESS('(' + VARIABLE + ' is defined)'); \
+ } \
+ else \
+ { \
+ TEST_FAIL('(' + VARIABLE + ' is not defined)' + (MESSAGE)); \
+ }
/* -------------------------------------------
Group: Managing Deprecation
@@ -1139,117 +1292,117 @@ Group: Managing Deprecation
/* -------------------------------------------
Macro: DEPRECATE_SYS()
- Allow deprecation of a function that has been renamed.
+ Allow deprecation of a function that has been renamed.
- Replaces an old OLD_FUNCTION (which will have PREFIX_ prepended) with a NEW_FUNCTION
- (PREFIX_ prepended) with the intention that the old function will be disabled in the future.
+ Replaces an old OLD_FUNCTION (which will have PREFIX_ prepended) with a NEW_FUNCTION
+ (PREFIX_ prepended) with the intention that the old function will be disabled in the future.
- Shows a warning in RPT each time the deprecated function is used, but runs the new function.
+ Shows a warning in RPT each time the deprecated function is used, but runs the new function.
Parameters:
- OLD_FUNCTION - Full name of old function [Identifier for function that does not exist any more]
- NEW_FUNCTION - Full name of new function [Function]
+ OLD_FUNCTION - Full name of old function [Identifier for function that does not exist any more]
+ NEW_FUNCTION - Full name of new function [Function]
Example:
- (begin example)
- // After renaming CBA_fnc_frog as CBA_fnc_fish
- DEPRECATE_SYS(CBA_fnc_frog,CBA_fnc_fish);
- (end)
+ (begin example)
+ // After renaming CBA_fnc_frog as CBA_fnc_fish
+ DEPRECATE_SYS(CBA_fnc_frog,CBA_fnc_fish);
+ (end)
Author:
- Sickboy
+ Sickboy
------------------------------------------- */
#define DEPRECATE_SYS(OLD_FUNCTION,NEW_FUNCTION) \
- OLD_FUNCTION = { \
- WARNING('Deprecated function used: OLD_FUNCTION (new: NEW_FUNCTION) in ADDON'); \
- if (isNil "_this") then { call NEW_FUNCTION } else { _this call NEW_FUNCTION }; \
- }
+ OLD_FUNCTION = { \
+ WARNING('Deprecated function used: OLD_FUNCTION (new: NEW_FUNCTION) in ADDON'); \
+ if (isNil "_this") then { call NEW_FUNCTION } else { _this call NEW_FUNCTION }; \
+ }
/* -------------------------------------------
Macro: DEPRECATE()
- Allow deprecation of a function, in the current component, that has been renamed.
+ Allow deprecation of a function, in the current component, that has been renamed.
- Replaces an OLD_FUNCTION (which will have PREFIX_ prepended) with a NEW_FUNCTION
- (PREFIX_ prepended) with the intention that the old function will be disabled in the future.
+ Replaces an OLD_FUNCTION (which will have PREFIX_ prepended) with a NEW_FUNCTION
+ (PREFIX_ prepended) with the intention that the old function will be disabled in the future.
- Shows a warning in RPT each time the deprecated function is used, but runs the new function.
+ Shows a warning in RPT each time the deprecated function is used, but runs the new function.
Parameters:
- OLD_FUNCTION - Name of old function, assuming PREFIX [Identifier for function that does not exist any more]
- NEW_FUNCTION - Name of new function, assuming PREFIX [Function]
+ OLD_FUNCTION - Name of old function, assuming PREFIX [Identifier for function that does not exist any more]
+ NEW_FUNCTION - Name of new function, assuming PREFIX [Function]
Example:
- (begin example)
- // After renaming CBA_fnc_frog as CBA_fnc_fish
- DEPRECATE(fnc_frog,fnc_fish);
- (end)
+ (begin example)
+ // After renaming CBA_fnc_frog as CBA_fnc_fish
+ DEPRECATE(fnc_frog,fnc_fish);
+ (end)
Author:
- Sickboy
+ Sickboy
------------------------------------------- */
#define DEPRECATE(OLD_FUNCTION,NEW_FUNCTION) \
- DEPRECATE_SYS(DOUBLES(PREFIX,OLD_FUNCTION),DOUBLES(PREFIX,NEW_FUNCTION))
+ DEPRECATE_SYS(DOUBLES(PREFIX,OLD_FUNCTION),DOUBLES(PREFIX,NEW_FUNCTION))
/* -------------------------------------------
Macro: OBSOLETE_SYS()
- Replace a function that has become obsolete.
+ Replace a function that has become obsolete.
- Replace an obsolete OLD_FUNCTION with a simple COMMAND_FUNCTION, with the intention that anyone
- using the function should replace it with the simple command, since the function will be disabled in the future.
+ Replace an obsolete OLD_FUNCTION with a simple COMMAND_FUNCTION, with the intention that anyone
+ using the function should replace it with the simple command, since the function will be disabled in the future.
- Shows a warning in RPT each time the deprecated function is used, and runs the command function.
+ Shows a warning in RPT each time the deprecated function is used, and runs the command function.
Parameters:
- OLD_FUNCTION - Full name of old function [Identifier for function that does not exist any more]
- COMMAND_CODE - Code to replace the old function [Function]
+ OLD_FUNCTION - Full name of old function [Identifier for function that does not exist any more]
+ COMMAND_CODE - Code to replace the old function [Function]
Example:
- (begin example)
- // In Arma2, currentWeapon command made the CBA_fMyWeapon function obsolete:
- OBSOLETE_SYS(CBA_fMyWeapon,{ currentWeapon player });
- (end)
+ (begin example)
+ // In Arma2, currentWeapon command made the CBA_fMyWeapon function obsolete:
+ OBSOLETE_SYS(CBA_fMyWeapon,{ currentWeapon player });
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define OBSOLETE_SYS(OLD_FUNCTION,COMMAND_CODE) \
- OLD_FUNCTION = { \
- WARNING('Obsolete function used: (use: OLD_FUNCTION) in ADDON'); \
- if (isNil "_this") then { call COMMAND_CODE } else { _this call COMMAND_CODE }; \
- }
+ OLD_FUNCTION = { \
+ WARNING('Obsolete function used: (use: OLD_FUNCTION) in ADDON'); \
+ if (isNil "_this") then { call COMMAND_CODE } else { _this call COMMAND_CODE }; \
+ }
/* -------------------------------------------
Macro: OBSOLETE()
- Replace a function, in the current component, that has become obsolete.
+ Replace a function, in the current component, that has become obsolete.
- Replace an obsolete OLD_FUNCTION (which will have PREFIX_ prepended) with a simple
- COMMAND_CODE, with the intention that anyone using the function should replace it with the simple
- command.
+ Replace an obsolete OLD_FUNCTION (which will have PREFIX_ prepended) with a simple
+ COMMAND_CODE, with the intention that anyone using the function should replace it with the simple
+ command.
- Shows a warning in RPT each time the deprecated function is used.
+ Shows a warning in RPT each time the deprecated function is used.
Parameters:
- OLD_FUNCTION - Name of old function, assuming PREFIX [Identifier for function that does not exist any more]
- COMMAND_CODE - Code to replace the old function [Function]
+ OLD_FUNCTION - Name of old function, assuming PREFIX [Identifier for function that does not exist any more]
+ COMMAND_CODE - Code to replace the old function [Function]
Example:
- (begin example)
- // In Arma2, currentWeapon command made the CBA_fMyWeapon function obsolete:
- OBSOLETE(fMyWeapon,{ currentWeapon player });
- (end)
+ (begin example)
+ // In Arma2, currentWeapon command made the CBA_fMyWeapon function obsolete:
+ OBSOLETE(fMyWeapon,{ currentWeapon player });
+ (end)
Author:
- Spooner
+ Spooner
------------------------------------------- */
#define OBSOLETE(OLD_FUNCTION,COMMAND_CODE) \
- OBSOLETE_SYS(DOUBLES(PREFIX,OLD_FUNCTION),COMMAND_CODE)
+ OBSOLETE_SYS(DOUBLES(PREFIX,OLD_FUNCTION),COMMAND_CODE)
#define BWC_CONFIG(NAME) class NAME { \
- units[] = {}; \
- weapons[] = {}; \
- requiredVersion = REQUIRED_VERSION; \
- requiredAddons[] = {}; \
- version = VERSION; \
+ units[] = {}; \
+ weapons[] = {}; \
+ requiredVersion = REQUIRED_VERSION; \
+ requiredAddons[] = {}; \
+ version = VERSION; \
}
// XEH Specific
diff --git a/tools/cba/addons/xeh/init_pre.sqf b/tools/cba/addons/xeh/init_pre.sqf
index 8e6a31f8c8..44b4657aca 100644
--- a/tools/cba/addons/xeh/init_pre.sqf
+++ b/tools/cba/addons/xeh/init_pre.sqf
@@ -23,10 +23,10 @@ uiNamespace setVariable ["CBA_isCached", CBA_isCached];
if (isNil "SLX_XEH_RECOMPILE") then { SLX_XEH_RECOMPILE = CACHE_DIS(xeh) };
if (!isMultiplayer || {isDedicated} || {CBA_isCached == -1}) then {
- uiNamespace setVariable ["SLX_XEH_CACHE_KEYS", []];
- uiNamespace setVariable ["SLX_XEH_CACHE_KEYS2", []];
- uiNamespace setVariable ["SLX_XEH_CACHE_KEYS3", []];
- uiNamespace setVariable ["CBA_CACHE_KEYS", []];
+ uiNamespace setVariable ["SLX_XEH_CACHE_KEYS", []];
+ uiNamespace setVariable ["SLX_XEH_CACHE_KEYS2", []];
+ uiNamespace setVariable ["SLX_XEH_CACHE_KEYS3", []];
+ uiNamespace setVariable ["CBA_CACHE_KEYS", []];
};
SLX_XEH_CACHE_KEYS = uiNamespace getVariable "SLX_XEH_CACHE_KEYS";
@@ -46,24 +46,24 @@ SLX_XEH_DisableLogging = isClass(configFile/"CfgPatches"/"Disable_XEH_Logging");
/* CBA_fnc_defaultParam = {
- PARAMS_3(_params,_index,_defaultValue);
-
- private "_value";
-
- if (!isNil "_defaultValue") then {
- _value = _defaultValue;
- };
-
- if (!isNil "_params" && {(typeName _params) == "ARRAY"} && {count _params > _index} && {!isNil { _params select _index }}) then {
- _value = _params select _index;
- };
-
- // Return.
- if (isNil "_value") then {
- nil;
- } else {
- _value;
- };
+ params ["_params","_index","_defaultValue"];
+
+ private "_value";
+
+ if (!isNil "_defaultValue") then {
+ _value = _defaultValue;
+ };
+
+ if (!isNil "_params" && {(typeName _params) == "ARRAY"} && {count _params > _index} && {!isNil { _params select _index }}) then {
+ _value = _params select _index;
+ };
+
+ // Return.
+ if (isNil "_value") then {
+ nil;
+ } else {
+ _value;
+ };
};
*/
@@ -74,10 +74,10 @@ if (time > 0) then { XEH_LOG("XEH WARNING: Time > 0; This probably means there a
_cfgRespawn = (missionConfigFile/"respawn");
_respawn = false;
if ( isNumber(_cfgRespawn) ) then {
- _respawn = !(getNumber(_cfgRespawn) in [0, 1, 4, 5]);
+ _respawn = !(getNumber(_cfgRespawn) in [0, 1, 4, 5]);
};
if ( isText(_cfgRespawn) ) then {
- _respawn = !(getText(_cfgRespawn) in ["none", "bird", "group", "side"]);
+ _respawn = !(getText(_cfgRespawn) in ["none", "bird", "group", "side"]);
};
SLX_XEH_objects = []; // Temporary array, to track InitPosts at mission initialization
@@ -90,81 +90,81 @@ _level = 0; // pre v1.60
// TODO: Improve v1.60 detection
// TODO: Temporary disabled due to #28652
//if ((isNumber (configFile >> "CfgDifficulties" >> "recruit" >> "recoilCoef")) && (isNumber (configFile >> "CfgVehicles" >> "Car" >> "turnCoef"))) then {
- //_level = 1; // v1.60
+ //_level = 1; // v1.60
//};
FUNC(determineProductVersion) = {
- private "_pv";
- _pv = call {productVersion};
+ private "_pv";
+ _pv = call {productVersion};
- // A2 (and OA pre 1.61beta, and TOH pre 1.05?) does not support productVersion so we deal with it manually
- if (isNil "_pv") then {
- _pv = if (isClass(configFile >> "CfgPatches" >> "A3_Map_Stratis")) then {
- // A3 Backup
- ["Arma 3 Alpha","Arma3Alpha", -1, -1]; //,5,102571]
+ // A2 (and OA pre 1.61beta, and TOH pre 1.05?) does not support productVersion so we deal with it manually
+ if (isNil "_pv") then {
+ _pv = if (isClass(configFile >> "CfgPatches" >> "A3_Map_Stratis")) then {
+ // A3 Backup
+ ["Arma 3 Alpha","Arma3Alpha", -1, -1]; //,5,102571]
- } else {
- if (isClass(configFile >> "CfgPatches" >> "United_States_H")) then {
- // TOH Backup
- ["TakeOn H", "TakeOnH", -1, -1];
- } else {
- if (isClass(configFile >> "CfgPatches" >> "Takistan")) then {
- // OA Backup
- ["ArmA 2OA", "ArmA2OA", -1, -1];
- } else {
- // A2 Backup
- ["ArmA 2", "ArmA2", -1, -1];
- };
- };
- };
- };
+ } else {
+ if (isClass(configFile >> "CfgPatches" >> "United_States_H")) then {
+ // TOH Backup
+ ["TakeOn H", "TakeOnH", -1, -1];
+ } else {
+ if (isClass(configFile >> "CfgPatches" >> "Takistan")) then {
+ // OA Backup
+ ["ArmA 2OA", "ArmA2OA", -1, -1];
+ } else {
+ // A2 Backup
+ ["ArmA 2", "ArmA2", -1, -1];
+ };
+ };
+ };
+ };
- _pv;
+ _pv;
};
FUNC(determineGame) = {
- // 0 = A2
- // 1 = OA
- // 2 = TOH
- // 3 = A3 :P
- private "_pv";
- _pv = call FUNC(determineProductVersion);
+ // 0 = A2
+ // 1 = OA
+ // 2 = TOH
+ // 3 = A3 :P
+ private "_pv";
+ _pv = call FUNC(determineProductVersion);
- switch (_pv select 1) do {
- case "ArmA2": {0};
- case "ArmA2OA": {1};
- case "TakeOnH": {2};
- case "Arma3Alpha": {3};
- case "Arma3": {3};
- default {0};
- };
+ switch (_pv select 1) do {
+ case "ArmA2": {0};
+ case "ArmA2OA": {1};
+ case "TakeOnH": {2};
+ case "Arma3Alpha": {3};
+ case "Arma3": {3};
+ default {0};
+ };
};
// System array with machine / mission / session information
SLX_XEH_MACHINE =
[
- !isDedicated, // 0 - isClient (and thus has player)
- false, // 1 - isJip
- !isServer, // 2 - isDedicatedClient (and thus not a Client-Server)
- isServer, // 3 - isServer
- isDedicated, // 4 - isDedicatedServer (and thus not a Client-Server)
- false, // 5 - Player Check Finished
- !isMultiplayer, // 6 - SP?
- false, // 7 - StartInit Passed
- false, // 8 - Postinit Passed
- isMultiplayer && {_respawn}, // 9 - Multiplayer && respawn?
- if (isDedicated) then { 0 } else { if (isServer) then { 1 } else { 2 } }, // 10 - Machine type (only 3 possible configurations)
- _id, // 11 - SESSION_ID
- _level, // 12 - LEVEL - Used for version determination
- false, // 13 - TIMEOUT - PostInit timedOut
- call FUNC(determineGame), // 14 - Game
- call FUNC(determineProductVersion) // 15 - Product+Version
+ !isDedicated, // 0 - isClient (and thus has player)
+ false, // 1 - isJip
+ !isServer, // 2 - isDedicatedClient (and thus not a Client-Server)
+ isServer, // 3 - isServer
+ isDedicated, // 4 - isDedicatedServer (and thus not a Client-Server)
+ false, // 5 - Player Check Finished
+ !isMultiplayer, // 6 - SP?
+ false, // 7 - StartInit Passed
+ false, // 8 - Postinit Passed
+ isMultiplayer && {_respawn}, // 9 - Multiplayer && respawn?
+ if (isDedicated) then { 0 } else { if (isServer) then { 1 } else { 2 } }, // 10 - Machine type (only 3 possible configurations)
+ _id, // 11 - SESSION_ID
+ _level, // 12 - LEVEL - Used for version determination
+ false, // 13 - TIMEOUT - PostInit timedOut
+ call FUNC(determineGame), // 14 - Game
+ call FUNC(determineProductVersion) // 15 - Product+Version
];
SLX_XEH_DUMMY = switch (SLX_XEH_MACHINE select 14) do {
- case 2: {"Helipad_Invisible_H" };
- case 3: {"Land_HelipadEmpty_F" };
- default { "HeliHEmpty" };
+ case 2: {"Helipad_Invisible_H" };
+ case 3: {"Land_HelipadEmpty_F" };
+ default { "HeliHEmpty" };
};
SLX_XEH_STR = ""; // Empty string
@@ -259,24 +259,24 @@ call COMPILE_FILE(init_eh); // All XEH Event functions
GVAR(init_obj) = SLX_XEH_DUMMY createVehicleLocal [0, 0, 0];
GVAR(init_obj) addEventHandler ["killed", {
- #ifdef DEBUG_MODE_FULL
- XEH_LOG("XEH: VehicleCrewInit: "+str(count vehicles));
- #endif
+ #ifdef DEBUG_MODE_FULL
+ XEH_LOG("XEH: VehicleCrewInit: "+str(count vehicles));
+ #endif
- {
- _sim = getText(configFile/"CfgVehicles"/(typeOf _x)/"simulation");
- _crew = crew _x;
- /*
- * If it's a vehicle then start event handlers for the crew.
- * (Vehicles have crew and are neither humanoids nor game logics)
- */
- if (count _crew > 0 && {{ _sim == _x }count["soldier", "invisible"] == 0}) then {
- { if !(_x in SLX_XEH_INIT_MEN) then { [_x] call SLX_XEH_EH_Init } } forEach _crew;
- };
- } forEach vehicles;
- SLX_XEH_INIT_MEN = nil;
-
- deleteVehicle GVAR(init_obj);GVAR(init_obj) = nil
+ {
+ _sim = getText(configFile/"CfgVehicles"/(typeOf _x)/"simulation");
+ _crew = crew _x;
+ /*
+ * If it's a vehicle then start event handlers for the crew.
+ * (Vehicles have crew and are neither humanoids nor game logics)
+ */
+ if (count _crew > 0 && {{ _sim == _x }count["soldier", "invisible"] == 0}) then {
+ { if !(_x in SLX_XEH_INIT_MEN) then { [_x] call SLX_XEH_EH_Init } } forEach _crew;
+ };
+ } forEach vehicles;
+ SLX_XEH_INIT_MEN = nil;
+
+ deleteVehicle GVAR(init_obj);GVAR(init_obj) = nil
}];
GVAR(init_obj) setDamage 1; // Schedule to run itsy bitsy later
@@ -284,73 +284,75 @@ GVAR(init_obj) setDamage 1; // Schedule to run itsy bitsy later
// Prepare postInit
GVAR(init_obj2) = SLX_XEH_DUMMY createVehicleLocal [0, 0, 0];
GVAR(init_obj2) addEventHandler ["killed", {
- call COMPILE_FILE(init_post);
- deleteVehicle GVAR(init_obj2);GVAR(init_obj2) = nil;
+ call COMPILE_FILE(init_post);
+ deleteVehicle GVAR(init_obj2);GVAR(init_obj2) = nil;
}];
// Schedule PostInit
SLX_XEH_STR spawn {
- // Warn if PostInit takes longer than 10 tickTime seconds
- SLX_XEH_STR spawn {
- private["_time2Wait"];
- _time2Wait = diag_ticktime + 10;
- waituntil {diag_ticktime > _time2Wait};
- if !(SLX_XEH_MACHINE select 8) then {
- XEH_LOG("WARNING: PostInit did not finish in a timely fashion");
- waitUntil {time > 0};
- // Consider there will be no player if neither PostInit-Ready, nor PlayerCheck-Ready
- if !(SLX_XEH_MACHINE select 8 || {SLX_XEH_MACHINE select 5}) then { SLX_XEH_MACHINE set [13, true]; };
- };
- };
+ // Warn if PostInit takes longer than 10 tickTime seconds
+ SLX_XEH_STR spawn {
+ private["_time2Wait"];
+ _time2Wait = diag_ticktime + 10;
+ waituntil {diag_ticktime > _time2Wait};
+ if !(SLX_XEH_MACHINE select 8) then {
+ XEH_LOG("WARNING: PostInit did not finish in a timely fashion");
+ waitUntil {time > 0};
+ // Consider there will be no player if neither PostInit-Ready, nor PlayerCheck-Ready
+ if !(SLX_XEH_MACHINE select 8 || {SLX_XEH_MACHINE select 5}) then { SLX_XEH_MACHINE set [13, true]; };
+ };
+ };
- // On Server + Non JIP Client, we are now after all objects have inited
- // and at the briefing, still time == 0
- if (isNull player) then {
- #ifdef DEBUG_MODE_FULL
- "NULL PLAYER" call SLX_XEH_LOG;
- #endif
- if !((SLX_XEH_MACHINE select 4) || {(SLX_XEH_MACHINE select 6)}) then { // only if MultiPlayer and not dedicated
- #ifdef DEBUG_MODE_FULL
- "JIP" call SLX_XEH_LOG;
- #endif
-
- SLX_XEH_MACHINE set [1, true]; // set JIP
- // TEST for weird jip-is-server-issue :S
- if (!(SLX_XEH_MACHINE select 2) || {SLX_XEH_MACHINE select 3} || {SLX_XEH_MACHINE select 4}) then {
- str(["WARNING: JIP Client, yet wrong detection", SLX_XEH_MACHINE]) call SLX_XEH_LOG;
- SLX_XEH_MACHINE set [2, true]; // set Dedicated client
- SLX_XEH_MACHINE set [3, false]; // set server
- SLX_XEH_MACHINE set [4, false]; // set dedicatedserver
- };
- waitUntil { !(isNull player) || {SLX_XEH_MACHINE select 13} };
- if (SLX_XEH_MACHINE select 13) then { XEH_LOG("WARNING: TimedOut waiting for player object to be ready. Continueing PostInit without Player ready") };
- };
- };
-
- if !(isNull player) then {
- if (isNull (group player) && {player isKindOf "CAManBase"}) then {
- // DEBUG TEST: Crashing due to JIP, or when going from briefing
- // into game
- #ifdef DEBUG_MODE_FULL
- "NULLGROUP" call SLX_XEH_LOG;
- #endif
- waitUntil { !(isNull (group player)) };
- };
- waitUntil { local player };
- };
+ // On Server + Non JIP Client, we are now after all objects have inited
+ // and at the briefing, still time == 0
+ if (isNull player) then {
+ #ifdef DEBUG_MODE_FULL
+ "NULL PLAYER" call SLX_XEH_LOG;
+ #endif
+ if !((SLX_XEH_MACHINE select 4) || {(SLX_XEH_MACHINE select 6)}) then { // only if MultiPlayer and not dedicated
+ #ifdef DEBUG_MODE_FULL
+ "JIP" call SLX_XEH_LOG;
+ #endif
- GVAR(init_obj2) setDamage 1; // Schedule to run itsy bitsy later
+ // TEST for weird jip-is-server-issue :S
+ if (!(SLX_XEH_MACHINE select 2) || {SLX_XEH_MACHINE select 3} || {SLX_XEH_MACHINE select 4}) then {
+ str(["WARNING: JIP Client, yet wrong detection", SLX_XEH_MACHINE]) call SLX_XEH_LOG;
+ SLX_XEH_MACHINE set [2, true]; // set Dedicated client
+ SLX_XEH_MACHINE set [3, false]; // set server
+ SLX_XEH_MACHINE set [4, false]; // set dedicatedserver
+ };
+ waitUntil { !(isNull player) || {SLX_XEH_MACHINE select 13} };
+ if (SLX_XEH_MACHINE select 13) then { XEH_LOG("WARNING: TimedOut waiting for player object to be ready. Continueing PostInit without Player ready") };
+ };
+ };
- SLX_XEH_MACHINE set [5, true]; // set player check = complete
+ if !(isNull player) then {
+ if (isNull (group player) && {player isKindOf "CAManBase"}) then {
+ // DEBUG TEST: Crashing due to JIP, or when going from briefing
+ // into game
+ #ifdef DEBUG_MODE_FULL
+ "NULLGROUP" call SLX_XEH_LOG;
+ #endif
+ waitUntil { !(isNull (group player)) };
+ };
+ waitUntil { local player };
+ };
+
+ // set JIP
+ SLX_XEH_MACHINE set [1, !isDedicated && getClientState in ["BRIEFING SHOWN","BRIEFING READ","GAME FINISHED","DEBRIEFING READ"]];
+
+ GVAR(init_obj2) setDamage 1; // Schedule to run itsy bitsy later
+
+ SLX_XEH_MACHINE set [5, true]; // set player check = complete
};
// Load and call any "pre-init", run-once event handlers
/*
- Compile code strings in the Extended_PreInit_EventHandlers class and call
- them. This is done once per mission and before any extended init event
- handler code is run. An addon maker can put run-once initialisation code
- in such a pre-init "EH" rather than in a normal XEH init EH which might be
- called several times.
+ Compile code strings in the Extended_PreInit_EventHandlers class and call
+ them. This is done once per mission and before any extended init event
+ handler code is run. An addon maker can put run-once initialisation code
+ in such a pre-init "EH" rather than in a normal XEH init EH which might be
+ called several times.
*/
{ (_x/SLX_XEH_STR_PreInit) call FUNC(init_once) } forEach SLX_XEH_CONFIG_FILES;
diff --git a/tools/cba/addons/xeh/script_xeh.hpp b/tools/cba/addons/xeh/script_xeh.hpp
index ec7a1d8b88..ba55dbc917 100644
--- a/tools/cba/addons/xeh/script_xeh.hpp
+++ b/tools/cba/addons/xeh/script_xeh.hpp
@@ -1,8 +1,14 @@
+/*
+ Header: script_xeh.hpp
+
+ Description:
+ Used internally.
+*/
/////////////////////////////////////////////////////////////////////////////////
// MACRO: EXTENDED_EVENTHANDLERS
-// XEH uses all existing event handlers
+// Add all XEH event handlers
/////////////////////////////////////////////////////////////////////////////////
-#define EXTENDED_EVENTHANDLERS init = QUOTE(if(isNil'SLX_XEH_MACHINE')then{call compile preProcessFileLineNumbers '\x\cba\addons\xeh\init_pre.sqf'};_this call SLX_XEH_EH_Init); \
+#define EXTENDED_EVENTHANDLERS init = "_this call SLX_XEH_EH_Init"; \
fired = "_this call SLX_XEH_EH_Fired"; \
animChanged = "_this call SLX_XEH_EH_AnimChanged"; \
animDone = "_this call SLX_XEH_EH_AnimDone"; \
@@ -45,22 +51,25 @@ weaponDisAssembled = "_this call SLX_XEH_EH_WeaponDisassembled";
-/////////////////////////////////////////////////////////////////////////////////
-// MACRO: DELETE_EVENTHANDLERS
-//
-// Example:
-//
-// class DefaultEventhandlers;
-// class Car_F;
-// class MRAP_01_base_F: Car_F {
-// class EventHandlers;
-// };
-// class B_MRAP_01_F: MRAP_01_base_F {
-// class Eventhandlers: EventHandlers {
-// DELETE_EVENTHANDLERS
-// };
-// };
-/////////////////////////////////////////////////////////////////////////////////
+/*
+ MACRO: DELETE_EVENTHANDLERS
+
+ Removes all event handlers.
+
+ Example:
+ (begin example)
+ class DefaultEventhandlers;
+ class Car_F;
+ class MRAP_01_base_F: Car_F {
+ class EventHandlers;
+ };
+ class B_MRAP_01_F: MRAP_01_base_F {
+ class Eventhandlers: EventHandlers {
+ DELETE_EVENTHANDLERS
+ };
+ };
+ (end example)
+*/
#define DELETE_EVENTHANDLERS delete init; \
delete fired; \
From b3838262f1c916fc49002f86c98576cdd5e404d3 Mon Sep 17 00:00:00 2001
From: jonpas
Date: Wed, 26 Aug 2015 21:33:55 +0200
Subject: [PATCH 26/48] Fixed duplicated part of DE readme
---
documentation/README_DE.md | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/documentation/README_DE.md b/documentation/README_DE.md
index f70562e389..a6c333eb42 100644
--- a/documentation/README_DE.md
+++ b/documentation/README_DE.md
@@ -18,8 +18,7 @@
-
**ACE3** ist ein Gemeinschaftsprojekt der sich zusammengeschlossenen Moddinggruppen von **ACE2**, **AGM** und **CSE** mit dem Ziel den Realismus und die Spieltiefe von Arma 3 zu steigern.
From 23f8bbaca17f6529eaf24fee1fc910424858c064 Mon Sep 17 00:00:00 2001
From: jonpas
Date: Wed, 26 Aug 2015 21:34:51 +0200
Subject: [PATCH 27/48] Improved german langauge
---
documentation/README_DE.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/documentation/README_DE.md b/documentation/README_DE.md
index a6c333eb42..be47583c03 100644
--- a/documentation/README_DE.md
+++ b/documentation/README_DE.md
@@ -18,7 +18,7 @@
-
**ACE3** ist ein Gemeinschaftsprojekt der sich zusammengeschlossenen Moddinggruppen von **ACE2**, **AGM** und **CSE** mit dem Ziel den Realismus und die Spieltiefe von Arma 3 zu steigern.
From 497199e5ed252042d62286ea475e83ee9a67012b Mon Sep 17 00:00:00 2001
From: jonpas
Date: Wed, 26 Aug 2015 21:35:37 +0200
Subject: [PATCH 28/48] Changed CBA A3 link from Armaholic to GitHub
---
README.md | 2 +-
documentation/README_DE.md | 2 +-
documentation/README_PL.md | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 827e7d2562..755eaceb30 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
-
**ACE3** is a joint effort by the teams behind **ACE2**, **AGM** and **CSE** to improve the realism and authenticity of Arma 3.
diff --git a/documentation/README_DE.md b/documentation/README_DE.md
index be47583c03..23d54f9e35 100644
--- a/documentation/README_DE.md
+++ b/documentation/README_DE.md
@@ -18,7 +18,7 @@
-
**ACE3** ist ein Gemeinschaftsprojekt der sich zusammengeschlossenen Moddinggruppen von **ACE2**, **AGM** und **CSE** mit dem Ziel den Realismus und die Spieltiefe von Arma 3 zu steigern.
diff --git a/documentation/README_PL.md b/documentation/README_PL.md
index 56a9c72caa..3fbeb31664 100644
--- a/documentation/README_PL.md
+++ b/documentation/README_PL.md
@@ -18,7 +18,7 @@
-