This commit is contained in:
ulteq 2015-04-18 21:18:18 +02:00
commit c950324c75
67 changed files with 566 additions and 333 deletions

View File

@ -7,7 +7,7 @@
<Polish>Pokaż inf. o wietrze</Polish>
<Italian>Mostra indicazioni del vento</Italian>
<Russian>Показать информацию о ветре</Russian>
<French>Afficher les info du vent</French>
<French>Afficher les info sur le vent</French>
<Spanish>Mostrar información del viento</Spanish>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_ProtractorKey">
@ -19,4 +19,4 @@
<Spanish>Mostrar transportador</Spanish>
</Key>
</Package>
</Project>
</Project>

View File

@ -19,6 +19,7 @@
<Polish>Otwórz ATragMX</Polish>
<Russian>Открыть ATragMX</Russian>
<Spanish>Abrir ATragMX</Spanish>
<French>Ouvrir ATragMX</French>
</Key>
<Key ID="STR_ACE_ATragMX_Description">
<English>Rugged PDA with ATragMX</English>
@ -31,6 +32,7 @@
<Polish>Otwórz ATragMX</Polish>
<Russian>Открыть ATragMX</Russian>
<Spanish>Abrir ATragMX</Spanish>
<French>Ouvrir ATragMX</French>
</Key>
</Package>
</Project>
</Project>

View File

@ -42,7 +42,7 @@
<German>IR-Stroboskop befestigt</German>
<Spanish>Marcador IR acoplado</Spanish>
<Polish>Przyczepiono stroboskop IR</Polish>
<French>Strobe IR attaché</French>
<French>Balise IR attachée</French>
<Czech>IR Značkovač připnutý</Czech>
<Portuguese>Marcador IV Acoplado</Portuguese>
<Italian>Strobo IR attaccata</Italian>
@ -54,7 +54,7 @@
<German>IR-Stroboskop entfernt</German>
<Spanish>Marcador IR quitado</Spanish>
<Polish>Odczepiono stroboskop IR</Polish>
<French>Strobe IR détaché</French>
<French>Balise IR détachée</French>
<Czech>IR Značkovač odepnutý</Czech>
<Portuguese>Marcador IV Separado</Portuguese>
<Italian>Strobo IR staccata</Italian>
@ -126,7 +126,7 @@
<German>IR-Stroboskop</German>
<Spanish>Marcador IR</Spanish>
<Polish>Stroboskop IR</Polish>
<French>Strobe IR</French>
<French>Balise IR</French>
<Czech>IR Značkovač</Czech>
<Portuguese>Marcador IV</Portuguese>
<Italian>Strobo IR</Italian>
@ -138,7 +138,7 @@
<German>Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist.</German>
<Polish>Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne.</Polish>
<Spanish>El Marcador IR permite señalizar su posisición a través de una baliza visible solo a través de dispositivos de visión nocturna. </Spanish>
<French>Le Strobe IR permet de signaler votre position grace à un clignotement visible par des JVN.</French>
<French>La balise IR permet de signaler votre position grace à un clignotement visible par des JVN.</French>
<Czech>IR Značkovač je Infračerveně zářící stroboskop umožňující signalizaci vaší pozice díky blikajícímu světlu, které je vidět pouze při užití noktovizoru.</Czech>
<Portuguese>O Marcador IV permite que você sinalize sua posição através de um pulso visível somente com equipamento de visão noturna.</Portuguese>
<Italian>La Strobo IR è una luce stroboscopica che ti permette di segnalare la tua posizione grazie all'emissione di impulsi ad infrarossi visibili solo con i visori notturni.</Italian>
@ -204,4 +204,4 @@
<Russian>%1&lt;br/&gt;отсоединена</Russian>
</Key>
</Package>
</Project>
</Project>

View File

@ -134,7 +134,7 @@
</Key>
<Key ID="STR_ACE_Captives_StartSurrendering">
<English>Surrender</English>
<French>Capituler</French>
<French>Se rendre</French>
<German>Kapitulieren</German>
<Spanish>Rendirse</Spanish>
<Czech>Vzdát se</Czech>
@ -156,7 +156,7 @@
</Key>
<Key ID="STR_ACE_Captives_Zeus_OnlyAlive">
<English>Only use on alive units</English>
<French>Utiliser uniquement sur unité vivante</French>
<French>Utiliser uniquement sur une unité vivante</French>
<German>Nur bei lebenden Einheiten verwendbar</German>
<Spanish>Utilizar solo en unidades vivas</Spanish>
<Czech>Použitelné jen na živé jednotky</Czech>
@ -167,7 +167,7 @@
</Key>
<Key ID="STR_ACE_Captives_Zeus_OnlyInfantry">
<English>Only use on dismounted inf</English>
<French>Utiliser uniquement sur personnel à pied</French>
<French>Utiliser uniquement sur du personnel à pied</French>
<German>Nur bei abgesessener Infanterie verwendbar</German>
<Spanish>Utilizar solo en infanteria desmontada</Spanish>
<Czech>Použitelné jen na pěsích jednotkách</Czech>
@ -178,7 +178,7 @@
</Key>
<Key ID="STR_ACE_Captives_Zeus_NothingSelected">
<English>Nothing under mouse</English>
<French>Rien sous la souris</French>
<French>Rien sous le curseur</French>
<German>Es wurde nichts ausgewählt</German>
<Spanish>Nada bajo el ratón</Spanish>
<Czech>Nic není vybráno</Czech>
@ -188,4 +188,4 @@
<Italian>Niente selezionato</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -272,7 +272,7 @@
<Spanish>Desactivar menú de mando</Spanish>
<Polish>Wyłącz menu dowodzenia</Polish>
<Czech>Vypnout velící menu</Czech>
<French>Désactiver Menu Commande</French>
<French>Désactiver menu commande</French>
<Russian>Выключить командное меню</Russian>
<Hungarian>Parancsnoki menü kikapcsolása</Hungarian>
<Italian>Disabilita Menù di comando</Italian>
@ -329,7 +329,7 @@
<Italian>Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni.</Italian>
<Czech>Přijimutí žádosti poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti.</Czech>
<Russian>Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий</Russian>
<French>Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions.</French>
<French>Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions.</French>
<Hungarian>Más játékosok általi kérések elfogadása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre.</Hungarian>
</Key>
<Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TOOLTIP">
@ -340,7 +340,7 @@
<Italian>Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni.</Italian>
<Czech>Zamítnutí žádostii poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti.</Czech>
<Russian>Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий</Russian>
<French>Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions.</French>
<French>Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions.</French>
<Hungarian>Más játékosok általi kérések elutasítása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre.</Hungarian>
</Key>
<Key ID="STR_ACE_Common_SettingFeedbackIconsName">
@ -383,7 +383,7 @@
<Italian>Modifica la posizione su schermo della barra di avanzamento.</Italian>
<Russian>Установите желаемое положение строки состояния на экране.</Russian>
<Polish>Ustaw pożądaną lokalizację paska postępu na ekranie</Polish>
<French>Appliquer la postion de la barre de progression sur l'écran</French>
<French>Appliquer la position de la barre de progression sur l'écran</French>
<Czech>Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce.</Czech>
<Hungarian>Itt beállítható az állapotjelző sáv képernyődön lévő helyzete.</Hungarian>
</Key>
@ -405,7 +405,7 @@
<Italian>Il colore di sfondo dei suggerimenti dell'ACE.</Italian>
<Russian>Цвет фона всплывающих подсказок АСЕ.</Russian>
<Polish>Kolor tła dla powiadomień ACE</Polish>
<French>Notifications ACE: couleur de l'arrière plan</French>
<French>Notification ACE: couleur de l'arrière plan</French>
<Czech>Barva pozadí ACE nápověd.</Czech>
<Hungarian>Az ACE-súgók hátterének színe.</Hungarian>
</Key>
@ -427,7 +427,7 @@
<Italian>Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se questo non è altrimenti specificato.</Italian>
<Russian>Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок.</Russian>
<Polish>Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru.</Polish>
<French>Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte afficher dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications</French>
<French>Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications</French>
<Czech>Barva fontu ACE nápověd. Toto je standardní barva pro všechen text zobrazovaný ACE nápovědami, pokud nemá nápověda žádnou specifikanou barvu.</Czech>
<Hungarian>Az ACE-súgók betűkészletének színek. Ez a szín alapértelmezett az összes szövegre az ACE-súgórendszerben, ha a súgószöveg maga nem ad meg más színt.</Hungarian>
</Key>
@ -454,4 +454,4 @@
<French>Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa.</French>
</Key>
</Package>
</Project>
</Project>

View File

@ -9,6 +9,7 @@
<Spanish>Abrir inventario</Spanish>
<Russian>Открыть инвентарь</Russian>
<Italian>Apri l'inventario</Italian>
<French>Ouvrir l'inventaire</French>
</Key>
</Package>
</Project>
</Project>

View File

@ -114,7 +114,7 @@
<German>Mobiltelefon</German>
<Spanish>Télefono móvil</Spanish>
<Polish>Telefon komórkowy</Polish>
<French>Téléphone Portable</French>
<French>Téléphone portable</French>
<Czech>Telefon</Czech>
<Italian>Cellulare</Italian>
<Hungarian>Mobiltelefon</Hungarian>
@ -294,7 +294,7 @@
<German>"Platzieren"-Menü</German>
<Spanish>Menú de colocación</Spanish>
<Polish>Menu umieszczania</Polish>
<French>Menu Placement</French>
<French>Menu placement</French>
<Czech>Menu Umístění</Czech>
<Italian>Menù di collocamento</Italian>
<Hungarian>Elhelyezési menü</Hungarian>
@ -450,7 +450,7 @@
<Polish>Czujnik magnetyczny (wybuch w górę)</Polish>
<Spanish>Sensor IM (ataque inferior)</Spanish>
<German>Magnetfeldsensor (Bodenangriff)</German>
<French>Capteur Magnétique (par le bas)</French>
<French>Capteur magnétique (par le bas)</French>
<Czech>Magnetický Senzor (Výbuch ze spoda)</Czech>
<Italian>Sensore Magnetico di Prossimità (Attacco inferiore)</Italian>
<Hungarian>Mágneses mező érzékelő (Bottom Attack)</Hungarian>
@ -502,4 +502,4 @@
<Italian>Raccogli</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -35,13 +35,6 @@ class RscInGameUI {
};
};
};
class RscOptics_LaserDesignator {
class CA_IGUI_elements_group: RscControlsGroup {
class controls {
MACRO_RANGEFINDER
};
};
};
class RscWeaponRangeFinderMAAWS {
class CA_IGUI_elements_group: RscControlsGroup {
class controls {

View File

@ -20,7 +20,7 @@
<Spanish>Lanzamiento normal</Spanish>
<Polish>Normalny rzut</Polish>
<Czech>Normální hod</Czech>
<French>Lancer Normal</French>
<French>Lancer normal</French>
<Russian>Нормальный бросок</Russian>
<Hungarian>Normál dobás</Hungarian>
<Italian>Lancio normale</Italian>
@ -32,7 +32,7 @@
<Spanish>Lanzamiento alto</Spanish>
<Polish>Wysoki rzut</Polish>
<Czech>Vysoký hod</Czech>
<French>Lancer Haut</French>
<French>Lancer haut</French>
<Russian>Высокий бросок</Russian>
<Hungarian>Magas dobás</Hungarian>
<Italian>Lancio verso l'alto</Italian>
@ -44,7 +44,7 @@
<Spanish>Lanzamiento preciso</Spanish>
<Polish>Precyzyjny rzut</Polish>
<Czech>Přesný hod</Czech>
<French>Lancer Précis</French>
<French>Lancer précis</French>
<Russian>Точный бросок</Russian>
<Hungarian>Pontos dobás</Hungarian>
<Italian>Lancio preciso</Italian>
@ -56,7 +56,7 @@
<Spanish>Rodar granada</Spanish>
<Polish>Po ziemi</Polish>
<Czech>Po zemi</Czech>
<French>Lancer Roulé</French>
<French>Lancer roulé</French>
<Russian>Катить гранату</Russian>
<Hungarian>Gránát gurítása</Hungarian>
<Italian>Fai rotolare la granata</Italian>
@ -78,7 +78,7 @@
<English>M84 Stun Grenade</English>
<German>M84 Blendgranate</German>
<Spanish>Granada aturdidora M84</Spanish>
<French>M84 Grenade Incapacitante</French>
<French>M84 Grenade incapacitante</French>
<Polish>Granat hukowy M84</Polish>
<Czech>Omračující granát M84</Czech>
<Russian>M84 светозвуковая граната</Russian>
@ -243,4 +243,4 @@
<Spanish>M127A1 (Amarilla)</Spanish>
</Key>
</Package>
</Project>
</Project>

View File

@ -80,7 +80,7 @@
<Polish>Nie masz stoperów</Polish>
<Czech>Nemáš žádné špunty</Czech>
<Russian>У вас нет беруш</Russian>
<French>Vous n'avez pas de Bouchons Anti-Bruits</French>
<French>Vous n'avez pas de bouchons anti-bruits</French>
<Hungarian>Nincsen füldugód</Hungarian>
<Portuguese>Você não possui protetores auriculares</Portuguese>
<Italian>Non hai i tappi auricolari</Italian>
@ -109,4 +109,4 @@
<Italian>Disabilita il ronzio</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -16,7 +16,7 @@
<English>Display interaction menus as lists</English>
<Spanish>Mostrar los menus de interacción como listas</Spanish>
<Russian>Показывать меню взаимодействия в виде списка</Russian>
<French>Afficher le menu d'interaction au format liste</French>
<French>Afficher le menu d'interaction sous forme de liste</French>
<Italian>Mostra il menù di interazione come lista</Italian>
<Polish>Wyświetlaj menu interakcji jako listę</Polish>
</Key>
@ -65,4 +65,4 @@
<Italian>Interazioni con veicoli</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -0,0 +1,32 @@
class CfgVehicles {
class LandVehicle;
class StaticWeapon : LandVehicle {
class Turrets;
};
class StaticMGWeapon : StaticWeapon {
class Turrets : Turrets {
class MainTurret;
};
};
class AT_01_base_F: StaticMGWeapon {
class Turrets : Turrets {
class MainTurret : MainTurret {
weapons[] = { "missiles_titan_static_at" };
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
turretInfoType = "ACE_RscOptics_javelin";
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
opticsZoomMin = 0.08333;
opticsZoomMax = 0.04167;
opticsZoomInit = 0.08333;
opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"};
opticsFlare = 0;
discretefov[] = {0.08333,0.04167};
discreteInitIndex = 0;
};
};
};
};

View File

@ -1,17 +1,38 @@
class CfgWeapons {
class Launcher;
class MissileLauncher;
class Launcher_Base_F : Launcher {
class WeaponSlotsInfo;
};
};
// @TODO: AA by default, motherfuckers
class missiles_titan : MissileLauncher {
};
class launch_Titan_base : Launcher_Base_F {
class missiles_titan_at : missiles_titan {
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 1;
canLock = 0;
magazines[] = {"1Rnd_GAT_missiles"};
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};
class missiles_titan_static_at : missiles_titan_at { };
// @TODO: AA by default, motherfuckers
class launch_Titan_base : Launcher_Base_F {};
class launch_Titan_short_base : launch_Titan_base {
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};
};

View File

@ -255,9 +255,9 @@ class RscInGameUI {
idc = 6999;
x = "SafezoneX";
y = "SafezoneY";
w = "SafezoneW";
h = "SafezoneH";
y = "SafezoneY";
w = "SafezoneW";
h = "SafezoneH";
enabled = 0;
class Controls {

View File

@ -13,4 +13,5 @@ class CfgPatches {
#include "CfgEventhandlers.hpp"
#include "RscInGameUI.hpp"
#include "CfgSounds.hpp"
#include "CfgWeapons.hpp"
#include "CfgWeapons.hpp"
#include "CfgVehicles.hpp"

View File

@ -6,7 +6,10 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
// Bail on not missile
if( _shooter != ACE_player) exitWith { false };
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith { };
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom))
&&
{ ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) }
) exitWith { };
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
if(!isNil "_pfh_handle") then {

View File

@ -5,12 +5,15 @@ TRACE_1("enter", _this);
#define __TRACKINTERVAL 0 // how frequent the check should be.
#define __LOCKONTIME 3 // Lock on won't occur sooner
private["_apos", "_aposX", "_aposY", "_args", "_boundsInput", "_bpos", "_canFire", "_constraintBottom"];
private["_constraintLeft", "_constraintRight", "_constraintTop", "_currentTarget", "_fireDisabledEH"];
private["_firedEH", "_fov", "_lastTick", "_lockTime", "_maxX", "_maxY", "_minX", "_minY", "_newTarget"];
private["_offsetX", "_offsetY", "_pos", "_randomLockInterval", "_randomPosWithinBounds", "_range"];
private["_runTime", "_soundTime", "_targetArray", "_zamerny"];
#define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5
#define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5
private["_isJavelin", "_args", "_lastTick", "_runTime", "_soundTime", "_lockTime", "_newTarget", "_currentTarget", "_range", "_pos", "_targetArray"];
// Reset arguments if we havnt rendered in over a second
_args = uiNamespace getVariable[QGVAR(arguments), [] ];
if( (count _args) > 0) then {
@ -30,13 +33,18 @@ _soundTime = _args select 4;
_randomLockInterval = _args select 5;
_fireDisabledEH = _args select 6;
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith {
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom))
&&
{ ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) }
) exitWith {
__JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false;
__JavelinIGUITargetingConstraints ctrlShow false;
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
if(!isNil "_fireDisabledEH") then {
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
};
[(_this select 1)] call cba_fnc_removePerFrameHandler;
uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
@ -55,13 +63,21 @@ if ((velocity ACE_player) distance [0,0,0] > 0.5 && {cameraView == "GUNNER"} &&
// bail on not loaded
if (ACE_player ammo (currentWeapon ACE_player) == 0) exitWith { };
if( (vehicle ACE_player) != ACE_player) then {
if( (vehicle player) magazineTurretAmmo ["1Rnd_GAT_missiles", [0]] < 1) exitWith {
TRACE_1("No turret ammo, exit", "");
};
} else {
if (ACE_player ammo (currentWeapon ACE_player) < 1 ) exitWith {
TRACE_1("No ammo, exit", "");
};
};
_range = parseNumber (ctrlText __JavelinIGUIRangefinder);
TRACE_1("Viewing range", _range);
if (_range > 50 && {_range < 2500}) then {
_pos = positionCameraToWorld [0,0,_range];
_targetArray = _pos nearEntities ["AllVehicles", _range/25];
_targetArray = _pos nearEntities ["AllVehicles", _range/100];
TRACE_1("Searching at range", _targetArray);
if (count (_targetArray) > 0) then {
_newTarget = _targetArray select 0;
@ -144,6 +160,8 @@ if (isNull _newTarget) then {
// Disallow fire
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
} else {
_fov = [] call CBA_fnc_getFoV;
TRACE_1("FOV", _fov);
if (_newTarget distance ACE_player < 2500
&& {(call CBA_fnc_getFoV) select 1 > 9}
&& { (currentVisionMode ACE_player == 2)}

View File

@ -1,6 +1,7 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
TRACE_1("enter", _this);
private["_args", "_disableFireEH", "_pfh"];
uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="WEP_JAVELIN">
<Key ID="STR_ACE_JAVELIN_LockTarget">
@ -7,7 +7,7 @@
<Russian>Захватить цель (удерживать)</Russian>
<Czech>Zamknout cíl(držet)</Czech>
<Polish>Namierz cel (przytrzymaj)</Polish>
<French>Verrouiller cible (maintenir)</French>
<French>Verrouiller la cible (maintenir)</French>
<Hungarian>Célpontra állás (Lenyomva tartott)</Hungarian>
<Italian>Aggangia il bersagio</Italian>
<Spanish>Fijar objetivo (Mantener)</Spanish>
@ -24,4 +24,4 @@
<Spanish>Cambiar modo de disparo</Spanish>
</Key>
</Package>
</Project>
</Project>

View File

@ -4,30 +4,17 @@ class CfgVehicles {
class LaserTarget: All {
// @TODO: Changing the model and simulation hides it, but THEN IT DOESNT SPAWN WTF!?
model = "\A3\Weapons_F\empty.p3d";
simulation = "nvmarker";
nvTarget = 1;
//simulation = "laserTarget";
//threat[] = {0,0,0};
destrType = "DestructNo";
simulation = "house";
class EventHandlers {
init = QUOTE(_this call FUNC(laser_init));
};
diffuse[] = {0,0,0};
ambient[] = {0,0,0};
brightness = 0;
name = "pozicni blik";
drawLight = 0;
drawLightSize = 0;
drawLightCenterSize = 0;
activeLight = 0;
blinking = 0;
dayLight = 0;
onlyInNvg = 0;
useFlare = 0;
};
// Visual laserTarget override
class ACE_LaserTarget_Visual : LaserTarget {
//model = "\A3\Weapons_f\laserTgt.p3d";
simulation = "LaserTarget";
model = "\A3\Weapons_f\laserTgt.p3d";
};
};

View File

@ -1 +1,144 @@
// TODO: RscOptics_LaserDesignator for laser code designation
class RscControlsGroup;
class VScrollbar;
class HScrollbar;
class RscText;
class RscMapControl;
class RscInGameUI {
class RscOptics_LaserDesignator {
idd = 300;
controls[] = {"CA_IGUI_elements_group"};
onLoad = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',(_this select 0)];";
onUnload = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',nil];";
class CA_IGUI_elements_group: RscControlsGroup {
idc = 170;
x = "0 * (0.01875 * SafezoneH) + (SafezoneX + ((SafezoneW - SafezoneH) / 2))";
y = "0 * (0.025 * SafezoneH) + (SafezoneY)";
w = "53.5 * (0.01875 * SafezoneH)";
h = "40 * (0.025 * SafezoneH)";
class VScrollbar: VScrollbar {
width = 0;
};
class HScrollbar: HScrollbar {
height = 0;
};
class controls {
class CA_OpticsZoom: RscText {
idc = 180;
style = 1;
colorText[] = {0.706,0.0745,0.0196,1};
sizeEx = "0.038*SafezoneH";
shadow = 0;
font = "EtelkaMonospacePro";
text = "4.5";
x = "43.85 * (0.01875 * SafezoneH)";
y = "19.6 * (0.025 * SafezoneH)";
w = "4.5 * (0.01875 * SafezoneH)";
h = "1.1 * (0.025 * SafezoneH)";
};
class ACE_Distance: RscText {
idc = 123002;
style = 0;
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "2456";
x = "24.6 * (0.01875 * SafezoneH)";
y = "3 * (0.025 * SafezoneH)";
w = "4 * (0.01875 * SafezoneH)";
h = "1.5 * (0.025 * SafezoneH)";
};
class CA_Distance: RscText {
idc = 151;
style = 0;
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "2456";
x = 0;
y = 0;
w = 0;
h = 0;
};
class CA_Elev: RscText {
idc = 175;
style = 1;
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "80.5";
x = "32.7 * (0.01875 * SafezoneH)";
y = "3 * (0.025 * SafezoneH)";
w = "5 * (0.01875 * SafezoneH)";
h = "1.5 * (0.025 * SafezoneH)";
};
class CA_VisionMode: RscText {
idc = 179;
style = 0;
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "VIS";
x = "6.5 * (0.01875 * SafezoneH)";
y = "19.6 * (0.025 * SafezoneH)";
w = "4 * (0.01875 * SafezoneH)";
h = "1.1 * (0.025 * SafezoneH)";
};
class CA_Laser: RscText {
idc = 158;
style = "0x30 + 0x800";
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa";
x = "29.2 * (0.01875 * SafezoneH)";
y = "3 * (0.025 * SafezoneH)";
w = "3.5 * (0.01875 * SafezoneH)";
h = "1.5 * (0.025 * SafezoneH)";
};
class CA_Heading: RscText {
idc = 156;
style = 0;
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "023";
x = "16.1 * (0.01875 * SafezoneH)";
y = "3 * (0.025 * SafezoneH)";
w = "3.5 * (0.01875 * SafezoneH)";
h = "1.6 * (0.025 * SafezoneH)";
};
class ACE_LaserCode_Helper : RscMapControl {
idc = -1;
onDraw = QUOTE(_this call FUNC(onLaserDesignatorDraw));
w = 0;
h = 0;
};
class ACE_LaserCode : RscText {
idc = 123001;
style = 0;
sizeEx = "0.038*SafezoneH";
colorText[] = {0.706,0.0745,0.0196,1};
shadow = 0;
font = "EtelkaMonospacePro";
text = "Code: 1001";
x = "32.7 * (0.01875 * SafezoneH)";
y = "35.5 * (0.025 * SafezoneH)";
w = "12 * (0.01875 * SafezoneH)";
h = "1.6 * (0.025 * SafezoneH)";
};
};
};
};
};

View File

@ -2,3 +2,4 @@
["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call EFUNC(common,addEventHandler);
["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call EFUNC(common,addEventHandler);

View File

@ -8,8 +8,7 @@ PREP(checkLos);
PREP(findStrongestRay);
PREP(translateToModelSpace);
PREP(translateToWeaponSpace);
PREP(onLaserDesignatorDraw);
PREP(seekerFindLaserSpot);
PREP(laserOn);

View File

@ -12,4 +12,5 @@ class CfgPatches {
#include "CfgEventhandlers.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
#include "CfgWeapons.hpp"
#include "RscInGameUI.hpp"

View File

@ -1 +1,9 @@
// @TODO: This is to draw the actual LaserTarget positions to utilize for laser shooting.
// This is a debug function for displaying visible lasers for ourselves
#include "script_component.hpp"
diag_log text format["[ACE]: Laser Emitter Dump"];
{
diag_log text format[" %1", _x];
diag_log text format[" %2", HASH_GET(GVAR(laserEmitters), _x)];
} forEach GVAR(laserEmitters) select 0;

View File

@ -1,5 +1,5 @@
#include "script_component.hpp"
private["_checkPos", "_i", "_largest", "_largestSpot", "_list", "_outliers", "_remainingSpots", "_samplePos", "_spot", "_spots", "_testPos"];
_list = _this select 0;
_checkPos = _this select 1;
_spots = [];

View File

@ -2,7 +2,7 @@
#include "script_component.hpp"
TRACE_1("enter", _this);
private["_args", "_laserTarget"];
private["_args", "_laserTarget", "_pos", "_shooter", "_uuid"];
//TRACE_1("enter", _this);
_args = _this select 0;
_laserTarget = _args select 0;

View File

@ -3,6 +3,7 @@
TRACE_1("enter", _this);
PARAMS_1(_laserTarget);
private["_uuid"];
// Add the target to the global targets array
// Everyone tracks them

View File

@ -0,0 +1,15 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
private["_laserCode"];
_laserCode = ACE_player getVariable[QGVAR(code), ACE_DEFAULT_LASER_CODE];
if(!isNil "_laserCode") then {
__LaserDesignatorIGUI_LaserCode ctrlSetText format["Code: %1", [_laserCode, 4, 0, false] call CBA_fnc_formatNumber];
};
if(! (ctrlShown __LaserDesignatorIGUI_LaserOn) ) then {
// TODO: hide distance
__LaserDesignatorIGUI_ACE_Distance ctrlSetText "----";
} else {
__LaserDesignatorIGUI_ACE_Distance ctrlSetText (ctrlText __LaserDesignatorIGUI_CA_Distance);
};

View File

@ -1,5 +1,5 @@
#include "script_component.hpp"
private["_d", "_map", "_p", "_theta", "_u"];
_map = _this select 0;
_theta = _this select 1;

View File

@ -15,10 +15,11 @@
#include "script_component.hpp"
private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method",
"_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index",
"_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"];
private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method"];
private ["_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index"];
private ["_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"];
private["_dir", "_seekerCos", "_seekerFov", "_testDotProduct", "_testPoint", "_testPointVector"];
_pos = _this select 0;
_dir = vectorNormalized (_this select 1);
_seekerFov = _this select 2;

View File

@ -1,7 +1,6 @@
#include "script_component.hpp"
//#define DEBUG_MODE_FULL
private ["_divergence","_pos","_vec","_longestReturn","_shortestReturn","_resultPositions","_p1","_p2","_p","_v","_cp","_vecRotateMap","_result",
"_resultPos","_distance","_count","_pos2","_radOffset","_offset","_offsetPos","_offsetVector"];
private ["_i", "_divergence","_pos","_vec","_longestReturn","_shortestReturn","_resultPositions","_p1","_p2","_p","_v","_cp","_vecRotateMap","_result", "_resultPos","_distance","_count","_pos2","_radOffset","_offset","_offsetPos","_offsetVector"];
_divergence = 0.3;
_pos = _this select 0;
_vec = _this select 1;

View File

@ -1,16 +0,0 @@
_object = _this select 0;
_origin = getPosASL _object;
_matrix = _this select 1;
_xVec = _matrix select 0;
_yVec = _matrix select 1;
_zVec = _matrix select 2;
_offset = _this select 2;
_x = _offset select 0;
_y = _offset select 1;
_z = _offset select 2;
_out = (((_xVec vectorMultiply _x) vectorAdd (_yVec vectorMultiply _y)) vectorAdd (_zVec vectorMultiply _z)) vectorAdd _origin;
_out;

View File

@ -1,22 +0,0 @@
_object = _this select 0;
_origin = getPosASL _object;
_matrix = _this select 1;
_xVec = _matrix select 0;
_yVec = _matrix select 1;
_zVec = _matrix select 2;
_offset = _this select 2;
_offset = _offset vectorDiff _origin;
_x = _offset select 0;
_y = _offset select 1;
_z = _offset select 2;
_out = [
((_xVec select 0)*_x) + ((_xVec select 1)*_y) + ((_xVec select 2)*_z),
((_yVec select 0)*_x) + ((_yVec select 1)*_y) + ((_yVec select 2)*_z),
((_zVec select 0)*_x) + ((_zVec select 1)*_y) + ((_zVec select 2)*_z)
];
_out;

View File

@ -12,7 +12,7 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
private["_emitter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"];
private["_emmiter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"];
_emmiter = _this select 0;
_owner = _this select 1;

View File

@ -12,4 +12,11 @@
#include "\z\ace\Addons\main\script_macros.hpp"
#define FIREMODE_DIRECT_LOAL 1
#define FIREMODE_DIRECT_LOAL 1
#define __LaserDesignatorIGUI (uiNamespace getVariable ["ACE_RscOptics_LaserDesignator", nil])
#define __LaserDesignatorIGUI_LaserCode (__LaserDesignatorIGUI displayCtrl 123001)
#define __LaserDesignatorIGUI_ACE_Distance (__LaserDesignatorIGUI displayCtrl 123002)
#define __LaserDesignatorIGUI_CA_Distance (__LaserDesignatorIGUI displayCtrl 151)
#define __LaserDesignatorIGUI_LaserOn (__LaserDesignatorIGUI displayCtrl 158)

View File

@ -13,7 +13,7 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
private["_emitter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"];
private["_emmiter", "_owner", "_gunnerInfo", "_turretInfo", "_povPos", "_povDir"];
_emmiter = _this select 0;
_owner = _this select 1;

View File

@ -43,8 +43,8 @@ FUNC(laserHudDesignatePFH) = {
_turretInfo = [_vehicle, _gunnerInfo select 1] call EFUNC(common,getTurretDirection);
_povPos = _turretInfo select 0;
_laserCode = (vehicle ACE_player) getVariable[QGVAR(currentCode), ACE_DEFAULT_LASER_CODE];
_waveLength = (vehicle ACE_player) getVariable[QGVAR(currentWaveLength), ACE_DEFAULT_LASER_WAVELENGTH];
_laserCode = (vehicle ACE_player) getVariable["ace_laser_code", ACE_DEFAULT_LASER_CODE];
_waveLength = (vehicle ACE_player) getVariable["ace_laser_waveLength", ACE_DEFAULT_LASER_WAVELENGTH];
_laserResult = [_povPos, [_waveLength,_waveLength], _laserCode] call EFUNC(laser,seekerFindLaserSpot);
@ -73,9 +73,9 @@ if(!GVAR(active)) then {
TRACE_1("Activating laser", "");
// Get the self-designation variables, or use defaults
_laserCode = (vehicle ACE_player) getVariable[QGVAR(currentCode), ACE_DEFAULT_LASER_CODE];
_waveLength = (vehicle ACE_player) getVariable[QGVAR(currentWaveLength), ACE_DEFAULT_LASER_WAVELENGTH];
_beamSpread = (vehicle ACE_player) getVariable[QGVAR(currentBeamSpread), ACE_DEFAULT_LASER_BEAMSPREAD];
_laserCode = (vehicle ACE_player) getVariable["ace_laser_code", ACE_DEFAULT_LASER_CODE];
_waveLength = (vehicle ACE_player) getVariable["ace_laser_waveLength", ACE_DEFAULT_LASER_WAVELENGTH];
_beamSpread = (vehicle ACE_player) getVariable["ace_laser_beamSpread", ACE_DEFAULT_LASER_BEAMSPREAD];
_laserUuid = [(vehicle ACE_player), ACE_player, QFUNC(findLaserSource), _waveLength, _laserCode, _beamSpread] call EFUNC(laser,laserOn);

View File

@ -8,7 +8,7 @@
<Russian>ЛЦУ ВКЛ</Russian>
<Czech>Laserový značkovač zapnut</Czech>
<Polish>Desygnator laserowy wł.</Polish>
<French>Désignateur Laser Allumé</French>
<French>Désignateur laser allumé</French>
<Hungarian>Lézeres Megjelölő Be</Hungarian>
<Italian>Designatore laser acceso</Italian>
</Key>
@ -19,9 +19,9 @@
<Russian>ЛЦУ ВЫКЛ</Russian>
<Czech>Laserový značkovat vypnut</Czech>
<Polish>Desygnator laserowy wył.</Polish>
<French>Désignateur Laser Éteint</French>
<French>Désignateur laser éteint</French>
<Hungarian>Lézeres Megjelölő Ki</Hungarian>
<Italian>Designatore laser spento</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -5,7 +5,7 @@
<English>Repack Magazines</English>
<German>Magazine umpacken</German>
<Spanish>Reorganizar cargadores</Spanish>
<French>Réorganiser chargeurs</French>
<French>Réorganiser les chargeurs</French>
<Polish>Przepakuj magazynki</Polish>
<Czech>Přepáskovat Zásobníky</Czech>
<Italian>Ricarica Caricatori</Italian>
@ -107,4 +107,4 @@
<Italian>%1 pieno e %2 parziale</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -66,7 +66,7 @@
<Spanish>Transfundir salino</Spanish>
<Czech>Transfúze fyziologický roztoku</Czech>
<Polish>Przetocz sól fizjologiczną</Polish>
<French>Transfuser de la Saline</French>
<French>Transfuser de la solution saline</French>
<Russian>Перелить физраствор</Russian>
<Hungarian>Infúzió (sós víz)</Hungarian>
<Italian>Effettua trasfusione di soluzione salina</Italian>
@ -288,6 +288,7 @@
<Polish>Bandaż uciskowy</Polish>
<Hungarian>Nyomókötszer</Hungarian>
<Italian>Bendaggio compressivo</Italian>
<French>Bandage gauze</French>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_ElasticBandage">
<English>Elastic Bandage</English>
@ -329,7 +330,7 @@
<Russian>Проверить давление</Russian>
<Czech>Zkontrolovat krevní tlak</Czech>
<Polish>Sprawdź ciśnienie krwi</Polish>
<French>Vérification de la Tension</French>
<French>Vérification de la tension</French>
<Hungarian>Vérnyomás megmérése</Hungarian>
<Italian>Controlla pressionsa sanguigna</Italian>
</Key>
@ -340,7 +341,7 @@
<Russian>Медкарта</Russian>
<Polish>Karta segregacyjna</Polish>
<Czech>Karta Triage</Czech>
<French>Carte de Triage</French>
<French>Carte de triage</French>
<Hungarian>Orvosi lap</Hungarian>
<Italian>Triage Card</Italian>
</Key>
@ -362,7 +363,7 @@
<Russian>Снять жгут</Russian>
<Czech>Sundat škrtidlo</Czech>
<Polish>Zdejmij stazę</Polish>
<French>Enlever le Garrot</French>
<French>Enlever le garrot</French>
<Hungarian>Érszorító leszedése</Hungarian>
<Italian>Rimuovi laccio emostatico</Italian>
</Key>
@ -372,7 +373,7 @@
<Spanish>Dar Sangre IV (1000ml)</Spanish>
<Russian>Дать кровь для в/в вливания (1000 мл)</Russian>
<Polish>Podaj krew IV (1000ml)</Polish>
<French>Administrer du Sang en IV (1000ml)</French>
<French>Administrer du sang en IV (1000ml)</French>
<Czech>Podat krev. transfúzi (1000ml)</Czech>
<Hungarian>Vér adása intravénásan (1000ml)</Hungarian>
<Italian>Effettua trasfusione sangue IV (1000ml)</Italian>
@ -383,7 +384,7 @@
<Spanish>Dar Sangre IV (500ml)</Spanish>
<Russian>Дать кровь для в/в вливания (500 мл)</Russian>
<Polish>Podaj krew IV (500ml)</Polish>
<French>Administrer du Sang en IV (500ml)</French>
<French>Administrer du sang en IV (500ml)</French>
<Czech>Podat krev. transfúzi (500ml) </Czech>
<Hungarian>Vér adása intravénásan (500ml)</Hungarian>
<Italian>Effettua trasfusione sangue IV (500ml)</Italian>
@ -394,7 +395,7 @@
<Spanish>Dar Sangre IV (250ml)</Spanish>
<Russian>Дать кровь для в/в вливания (250 мл)</Russian>
<Polish>Podaj krew IV (250ml)</Polish>
<French>Administrer du Sang en IV (250ml)</French>
<French>Administrer du sang en IV (250ml)</French>
<Czech>Podat krev. transfúzi (250ml)</Czech>
<Hungarian>Vér adása intravénásan (250ml)</Hungarian>
<Italian>Effettua trasfusione sangue IV (250ml)</Italian>
@ -405,7 +406,7 @@
<Spanish>Dar Plasma IV (1000ml)</Spanish>
<Russian>Дать плазму для в/в вливания (1000 мл)</Russian>
<Polish>Podaj osocze IV (1000ml)</Polish>
<French>Administrer du Plasma en IV (1000ml)</French>
<French>Administrer du plasma en IV (1000ml)</French>
<Czech>Podat plazmu (1000ml)</Czech>
<Hungarian>Vérplazma adása intravénásan (1000ml)</Hungarian>
<Italian>Effettua trasfusione plasma IV (1000ml)</Italian>
@ -416,7 +417,7 @@
<Spanish>Dar Plasma IV (500ml)</Spanish>
<Russian>Дать плазму для в/в вливания (500 мл)</Russian>
<Polish>Podaj osocze IV (500ml)</Polish>
<French>Administrer du Plasma en IV (500ml)</French>
<French>Administrer du plasma en IV (500ml)</French>
<Czech>Podat plazmu (500ml)</Czech>
<Hungarian>Vérplazma adása intravénásan (500ml)</Hungarian>
<Italian>Effettua trasfusione plasma IV (500ml)</Italian>
@ -427,7 +428,7 @@
<Spanish>Dar Plasma IV (250ml)</Spanish>
<Russian>Дать плазму для в/в вливания (250 мл)</Russian>
<Polish>Podaj osocze IV (250ml)</Polish>
<French>Administrer du Plasma en IV (250ml)</French>
<French>Administrer du plasma en IV (250ml)</French>
<Czech>Podat plazmu (250ml)</Czech>
<Hungarian>Vérplazma adása intravénásan (250ml)</Hungarian>
<Italian>Effettua trasfusione plasma IV (250ml)</Italian>
@ -438,7 +439,7 @@
<Spanish>Dar Salino IV (1000ml)</Spanish>
<Russian>Дать физраствор для в/в вливания (1000 мл)</Russian>
<Polish>Podaj sól fizjologiczną IV (1000ml)</Polish>
<French>Administrer de la Solution Saline en IV (1000ml)</French>
<French>Administrer de la solution saline en IV (1000ml)</French>
<Czech>Podaz fyz. roztok (1000ml)</Czech>
<Hungarian>Sós víz adása intravénásan (1000ml)</Hungarian>
<Italian>Effettua trasfusione salina IV (1000ml)</Italian>
@ -449,7 +450,7 @@
<Spanish>Dar Salino IV (500ml)</Spanish>
<Russian>Дать физраствор для в/в вливания (500 мл)</Russian>
<Polish>Podaj sól fizjologiczną IV (500ml)</Polish>
<French>Administrer de la Solution Saline en IV (500ml)</French>
<French>Administrer de la solution saline en IV (500ml)</French>
<Czech>Podaz fyz. roztok (500ml)</Czech>
<Hungarian>Sós víz adása intravénásan (500ml)</Hungarian>
<Italian>Effettua trasfusione salina IV (500ml)</Italian>
@ -460,7 +461,7 @@
<Spanish>Dar Salino IV (250ml)</Spanish>
<Russian>Дать физраствор для в/в вливания (250 мл)</Russian>
<Polish>Podaj sól fizjologiczną IV (250ml)</Polish>
<French>Administrer de la Solution Saline en IV (250ml)</French>
<French>Administrer de la solution saline en IV (250ml)</French>
<Czech>Podaz fyz. roztok (250ml)</Czech>
<Hungarian>Sós víz adása intravénásan (250ml)</Hungarian>
<Italian>Effettua trasfusione salina IV (250ml)</Italian>
@ -471,7 +472,7 @@
<Spanish>Menor</Spanish>
<Russian>Незначительная</Russian>
<Polish>Normalny</Polish>
<French>Mineur</French>
<French>Léger</French>
<Czech>Minimální</Czech>
<Hungarian>Enyhe</Hungarian>
<Italian>Minore</Italian>
@ -524,7 +525,7 @@
<English>Normal breathing</English>
<Russian>Дыхание в норме</Russian>
<Spanish>Respiración normal</Spanish>
<French>Respiration Normale</French>
<French>Respiration normale</French>
<Polish>Normalny oddech</Polish>
<German>Normale Atmung</German>
<Czech>Dýchá normálně</Czech>
@ -536,7 +537,7 @@
<German>Keine Atmung</German>
<Russian>Дыхание отсутствует</Russian>
<Spanish>No respira</Spanish>
<French>Aucune Respiration</French>
<French>Aucune respiration</French>
<Polish>Brak oddechu</Polish>
<Czech>Nedýchá</Czech>
<Hungarian>Nincs légzés</Hungarian>
@ -546,7 +547,7 @@
<English>Difficult breathing</English>
<Russian>Дыхание затруднено</Russian>
<Spanish>Dificultad para respirar</Spanish>
<French>Difficultée Respiratoire</French>
<French>Difficultée respiratoire</French>
<Polish>Trudności z oddychaniem</Polish>
<German>Schwere Atmung</German>
<Czech>Dýchá s obtížemi</Czech>
@ -558,7 +559,7 @@
<German>Fast keine Atmung</German>
<Russian>Дыхание очень слабое</Russian>
<Spanish>Casi sin respiración</Spanish>
<French>Respiration Faible</French>
<French>Respiration faible</French>
<Polish>Prawie brak oddechu</Polish>
<Czech>Skoro nedýchá</Czech>
<Hungarian>Alig van légzés</Hungarian>
@ -580,7 +581,7 @@
<German>Hat Schmerzen</German>
<Russian>Испытывает боль</Russian>
<Spanish>Con dolor</Spanish>
<French>Ressent de la Douleur</French>
<French>Ressent de la douleur</French>
<Polish>W bólu</Polish>
<Czech>V bolestech</Czech>
<Hungarian>Fájdalom alatt</Hungarian>
@ -591,7 +592,7 @@
<German>Hat eine große Menge Blut verloren</German>
<Russian>Большая кровопотеря</Russian>
<Spanish>Mucha sangre perdida</Spanish>
<French>A Perdu Bcp de Sang</French>
<French>A perdu beaucoup de sang</French>
<Polish>Stracił dużo krwi</Polish>
<Czech>Ztratil hodně krve</Czech>
<Hungarian>Sok vért vesztett</Hungarian>
@ -634,7 +635,7 @@
<English>Used to cover a wound</English>
<Russian>Для перевязки ран</Russian>
<Spanish>Utilizado para cubrir una herida</Spanish>
<French>Utilisé Pour Couvrir Une Blessure</French>
<French>Utilisé pour couvrir une blessure</French>
<Polish>Używany w celu przykrycia i ochrony miejsca zranienia</Polish>
<German>Verwendet, um Wunden abzudecken</German>
<Hungarian>Sebesülések befedésére alkalmas</Hungarian>
@ -655,7 +656,7 @@
<German>Mullbinde</German>
<Russian>Тампонирующая повязка</Russian>
<Spanish>Vendaje compresivo</Spanish>
<French>Bandage Mèche</French>
<French>Bandage gauze</French>
<Polish>Bandaż (uciskowy)</Polish>
<Hungarian>Nyomókötszer</Hungarian>
<Italian>Bendaggio compressivo</Italian>
@ -665,7 +666,7 @@
<German>Verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German>
<Russian>Для тампонирования ран среднего и большого размера и остановки кровотечения.</Russian>
<Spanish>Se utiliza para vendar heridas medianas o grandes y detener el sangrado</Spanish>
<French>Utilisé pour remplir la cavité créée dans une blessure de taille moyenne à grande.</French>
<French>Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies</French>
<Polish>Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia.</Polish>
<Hungarian>Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer</Hungarian>
<Italian>Usato su medie o larghe ferite per fermare emorragie.</Italian>
@ -674,7 +675,7 @@
<English>A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries.</English>
<Russian>Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны.</Russian>
<Spanish>Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos.</Spanish>
<French>Bandage pouvant être inseré dans les blessures pour éponger le saignement et faciliter la guerrison. Ce bandage est optionnel pour soigner les lésions polytraumatique.</French>
<French>Bandage servant à recouvrir les blessures pour arrêter les hémmoragies et faciliter la guérisson. Recouvrir une blessure est optionnel dans le cas de blessures polytraumatiques</French>
<Polish>Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran.</Polish>
<Hungarian>Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén.</Hungarian>
<Italian>Un bendaggio usato per bendare ferite con emorragie e facilitare la guarigione. Bendare una ferita è una opzione su ferite di vario tipo.</Italian>
@ -695,7 +696,7 @@
<German>Elastische Binde (Kompressionsbinde)</German>
<Russian>Давящая повязка</Russian>
<Spanish>Kit de vendaje (Elástico)</Spanish>
<French>Bandage Compressif Élastique</French>
<French>Bandage compressif élastique</French>
<Polish>Zestaw bandaży elastycznych.</Polish>
<Hungarian>Rugalmas kötszercsomag, "rögzítő"</Hungarian>
<Italian>Kit bendaggio, elastico</Italian>
@ -766,7 +767,7 @@
<English>An analgesic used to combat moderate to severe pain experiences.</English>
<Russian>Обезболивающее для снятия средних и сильных болевых ощущений.</Russian>
<Spanish>Analgésico usado para combatir los estados dolorosos de moderados a severos.</Spanish>
<French>Un Analgésique puissant servant à réduire les douleurs modérées à sévères.</French>
<French>Un analgésique puissant servant à réduire les douleurs modérées à sévères.</French>
<Polish>Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe.</Polish>
<German>Ein Schmerzmittel um mäßige bis starke Schmerzen zu behandeln</German>
<Hungarian>Egy fájdalomcsillapító anyag, jellemzően mérsékelt vagy erős fájdalom esetén alkalmazandó.</Hungarian>
@ -864,7 +865,7 @@
<English>Plasma IV (500ml)</English>
<Russian>Плазма для в/в вливания (500 мл)</Russian>
<Spanish>Plasma IV (500ml)</Spanish>
<French>Plasma Sanguin IV (500ml)</French>
<French>Plasma sanguin IV (500ml)</French>
<Polish>Osocze IV (500ml)</Polish>
<German>Plasma IV (500ml)</German>
<Hungarian>Vérplazma-infúzió (500ml)</Hungarian>
@ -874,7 +875,7 @@
<English>Plasma IV (250ml)</English>
<Russian>Плазма для в/в вливания (250 мл)</Russian>
<Spanish>Plasma IV (250ml)</Spanish>
<French>Plasma Sanguin (250ml)</French>
<French>Plasma sanguin (250ml)</French>
<Polish>Osocze IV (250ml)</Polish>
<German>Plasma IV (250ml)</German>
<Hungarian>Vérplazma-infúzió (250ml)</Hungarian>
@ -884,7 +885,7 @@
<English>Blood IV (1000ml)</English>
<Russian>Кровь для переливания (1000 мл)</Russian>
<Spanish>Sangre IV (1000ml)</Spanish>
<French>Cullot Sanguin IV (1000ml)</French>
<French>Cullot sanguin IV (1000ml)</French>
<Polish>Krew IV (1000ml)</Polish>
<German>Blut IV (1000ml)</German>
<Hungarian>Vér-infúzió (1000ml)</Hungarian>
@ -894,7 +895,7 @@
<English>Blood IV, for restoring a patients blood (keep cold)</English>
<Russian>Пакет крови для возмещения объема потерянной крови (хранить в холодильнике)</Russian>
<Spanish>Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío)</Spanish>
<French>Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. </French>
<French>Cullot sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. </French>
<Polish>Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych</Polish>
<Hungarian>Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó)</Hungarian>
<Italian>Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco)</Italian>
@ -905,12 +906,13 @@
<Polish>Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala.</Polish>
<Spanish>Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos.</Spanish>
<Italian>Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue.</Italian>
<French>Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC</French>
</Key>
<Key ID="STR_ACE_MEDICAL_BLOOD_IV_500">
<English>Blood IV (500ml)</English>
<Russian>Кровь для переливания (500 мл)</Russian>
<Spanish>Sangre IV (500ml)</Spanish>
<French>Cullot Sanguin IV (500ml)</French>
<French>Cullot sanguin IV (500ml)</French>
<Polish>Krew IV (500ml)</Polish>
<German>Blut IV (500ml)</German>
<Hungarian>Vér-infúzió (500ml)</Hungarian>
@ -920,7 +922,7 @@
<English>Blood IV (250ml)</English>
<Russian>Кровь для переливания (250 мл)</Russian>
<Spanish>Sangre IV (250ml)</Spanish>
<French>Cullot Sanguin IV (250ml)</French>
<French>Cullot sanguin IV (250ml)</French>
<Polish>Krew IV (250ml)</Polish>
<German>Blut IV (250ml)</German>
<Hungarian>Vér-infúzió (250ml)</Hungarian>
@ -930,7 +932,7 @@
<English>Saline IV (1000ml)</English>
<Russian>Физраствор для в/в вливания (1000 мл)</Russian>
<Spanish>Solución Salina IV (1000ml)</Spanish>
<French>Solution Saline 0.9% IV (1000ml)</French>
<French>Solution saline 0.9% IV (1000ml)</French>
<Polish>Sól fizjologiczna IV (1000ml)</Polish>
<German>Kochsalzlösung (1000ml)</German>
<Hungarian>0,9%-os sósvíz-infúzió (1000ml)</Hungarian>
@ -940,7 +942,7 @@
<English>Saline IV, for restoring a patients blood</English>
<Russian>Пакет физраствора для возмещения объема потерянной крови</Russian>
<Spanish>Solución salina intravenosa, para restaurar el volumen sanguíneo</Spanish>
<French>Solution Saline 0.9% IV, pour rétablir temporairement la tension artérielle</French>
<French>Solution saline 0.9% IV, pour rétablir temporairement la tension artérielle</French>
<Polish>Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta</Polish>
<Hungarian>0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására</Hungarian>
<Italian>Soluzione salina, usata per ripristinare sangue nei pazienti.</Italian>
@ -949,7 +951,7 @@
<English>A medical volume-replenishing agent introduced into the blood system through an IV infusion.</English>
<Russian>Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания</Russian>
<Spanish>Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa.</Spanish>
<French>Un remplacement temporaire pour rétablir la tension artérielle lors de perte sanguine, administré par intra-veineuse</French>
<French>Un remplacant temporaire pour rétablir la tension artérielle lors de perte sanguine, administré par intra-veineuse</French>
<Polish>Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV).</Polish>
<Hungarian>Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni.</Hungarian>
<Italian>Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV.</Italian>
@ -958,7 +960,7 @@
<English>Saline IV (500ml)</English>
<Russian>Физраствор для в/в вливания (500 мл)</Russian>
<Spanish>Salino IV (500ml)</Spanish>
<French>Solution Saline 0.9% IV (500ml)</French>
<French>Solution saline 0.9% IV (500ml)</French>
<Polish>Sól fizjologiczna IV (500ml)</Polish>
<German>Kochsalzlösung (500ml)</German>
<Hungarian>0,9%-os sósvíz-infúzió (500ml)</Hungarian>
@ -968,7 +970,7 @@
<English>Saline IV (250ml)</English>
<Russian>Физраствор для в/в вливания (250 мл)</Russian>
<Spanish>Salino IV (250ml)</Spanish>
<French>Solution Saline 0.9% IV (250ml)</French>
<French>Solution saline 0.9% IV (250ml)</French>
<Polish>Sól fizjologiczna IV (250ml)</Polish>
<German>Kochsalzlösung (250ml)</German>
<Hungarian>0,9%-os sósvíz-infúzió (250ml)</Hungarian>
@ -978,7 +980,7 @@
<English>Basic Field Dressing (QuikClot)</English>
<Russian>Первичный перевязочный пакет (QuikClot)</Russian>
<Spanish>Vendaje básico (QuickClot)</Spanish>
<French>Bandage Regulier (Coagulant)</French>
<French>Bandage basique (Hémostatique)</French>
<Polish>Podstawowy pakiet opatrunkowy (QuikClot)</Polish>
<German>Verbandpäckchen(Gerinnungsmittel)</German>
<Hungarian>Általános zárókötszer (QuikClot)</Hungarian>
@ -988,7 +990,7 @@
<English>QuikClot bandage</English>
<Russian>Гемостатический пакет QuikClot</Russian>
<Spanish>Vendaje QuikClot</Spanish>
<French>Bandage coagulant</French>
<French>Bandage hémostatique</French>
<Polish>Hemostatyczny pakiet QuikClot. Podstawowy opatrunek stosowany na rany.</Polish>
<German>Bandage mit Gerinnungsmittel</German>
<Hungarian>QuikClot kötszer</Hungarian>
@ -1064,7 +1066,7 @@
</Key>
<Key ID="STR_ACE_MEDICAL_BODYBAG_DISPLAY">
<English>Bodybag</English>
<French>Sac à corps</French>
<French>Housse mortuaire</French>
<Russian>Мешок для трупов</Russian>
<Spanish>Bolsa para cadáveres</Spanish>
<Polish>Worek na zwłoki</Polish>
@ -1427,7 +1429,7 @@
<Polish>Załaduj pacjenta</Polish>
<Czech>Naložit pacianta do</Czech>
<Russian>Погрузить пациента в</Russian>
<French>Embarquer le Patient</French>
<French>Embarquer le patient</French>
<Hungarian>Sebesült berakása</Hungarian>
<Portuguese>Carregar Paciente Em</Portuguese>
<Italian>Carica paziente nel</Italian>
@ -1439,7 +1441,7 @@
<Polish>Wyładuj pacjenta</Polish>
<Czech>Vyložit pacienta</Czech>
<Russian>Выгрузить пациента</Russian>
<French>Débarquer le Patient</French>
<French>Débarquer le patient</French>
<Hungarian>Sebesült kihúzása</Hungarian>
<Portuguese>Descarregar Paciente</Portuguese>
<Italian>Scarica il paziente</Italian>
@ -1449,7 +1451,7 @@
<Spanish>Descargar el paciente</Spanish>
<Russian>Выгрузить пациента</Russian>
<Polish>Wyładuj pacjenta</Polish>
<French>Débarquer le Patient</French>
<French>Débarquer le patient</French>
<Hungarian>Sebesült kihúzása</Hungarian>
<Italian>Scarica il paziente</Italian>
</Key>
@ -1458,7 +1460,7 @@
<Spanish>Cargar el paciente en</Spanish>
<Russian>Погрузить пациента</Russian>
<Polish>Załaduj pacjenta</Polish>
<French>Embarquer le Patient</French>
<French>Embarquer le patient</French>
<Hungarian>Sebesült berakása</Hungarian>
<Italian>Carica il paziente</Italian>
</Key>
@ -1523,6 +1525,7 @@
<Russian>Сильно ранен</Russian>
<Italian>Gravemente ferito</Italian>
<Spanish>Gravemente herido</Spanish>
<French>Lourdement blessé</French>
</Key>
<Key ID="STR_ACE_Medical_LightlyWounded">
<English>Lightly wounded</English>
@ -1531,6 +1534,7 @@
<Russian>Легко ранен</Russian>
<Italian>Leggermente ferito</Italian>
<Spanish>Levemente herido</Spanish>
<French>Légèrement blessé</French>
</Key>
<Key ID="STR_ACE_Medical_VeryLightlyWounded">
<English>Very lightly wounded</English>
@ -1539,6 +1543,7 @@
<Russian>Очень легко ранен</Russian>
<Italian>Ferito lievemente</Italian>
<Spanish>Muy levemente herido</Spanish>
<French>Très légèrement blessé</French>
</Key>
<Key ID="STR_ACE_Medical_Head">
<English>Head</English>
@ -1547,6 +1552,7 @@
<Russian>Голова</Russian>
<Italian>Testa</Italian>
<Spanish>Cabeza</Spanish>
<French>Tête</French>
</Key>
<Key ID="STR_ACE_Medical_Torso">
<English>Torso</English>
@ -1555,6 +1561,7 @@
<Russian>Торс</Russian>
<Italian>Torso</Italian>
<Spanish>Torso</Spanish>
<French>Torse</French>
</Key>
<Key ID="STR_ACE_Medical_LeftArm">
<English>Left Arm</English>
@ -1563,6 +1570,7 @@
<Russian>Левая рука</Russian>
<Italian>Braccio sinistro</Italian>
<Spanish>Brazo izquierdo</Spanish>
<French>Bras gouche</French>
</Key>
<Key ID="STR_ACE_Medical_RightArm">
<English>Right Arm</English>
@ -1571,6 +1579,7 @@
<Russian>Правая рука</Russian>
<Italian>Braccio destro</Italian>
<Spanish>Brazo derecho</Spanish>
<French>Bras droit</French>
</Key>
<Key ID="STR_ACE_Medical_LeftLeg">
<English>Left Leg</English>
@ -1579,6 +1588,7 @@
<Russian>Левая нога</Russian>
<Italian>Gamba sinistra</Italian>
<Spanish>Pierna izquierda</Spanish>
<French>Jambe gauche</French>
</Key>
<Key ID="STR_ACE_Medical_RightLeg">
<English>Right Leg</English>
@ -1587,6 +1597,7 @@
<Russian>Правая нога</Russian>
<Italian>Gamba destra</Italian>
<Spanish>Pierna derecha</Spanish>
<French>Jambe droite</French>
</Key>
<Key ID="STR_ACE_Medical_painEffectType">
<English>Pain Effect Type</English>
@ -1595,6 +1606,7 @@
<Russian>Вид боли</Russian>
<Italian>Pain Effect Type</Italian>
<Spanish>Tipo de efecto de dolor</Spanish>
<French>Type d'effet de douleur</French>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Flash">
<English>Colour Flashing</English>
@ -1603,6 +1615,7 @@
<Russian>Разноцветные вспышки</Russian>
<Italian>Colore lampeggiante</Italian>
<Spanish>Parpadeo de color</Spanish>
<French>Flash de couleur</French>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Chroma">
<English>Chromatic Aberration</English>
@ -1611,6 +1624,7 @@
<Russian>Хроматическая аберрация</Russian>
<Italian>Aberrazione cromatica</Italian>
<Spanish>Aberración cromática</Spanish>
<French>Aberration chromatique</French>
</Key>
</Package>
</Project>

View File

@ -8,29 +8,29 @@ class CfgAmmo {
class M_PG_AT : MissileBase {
model = "\A3\Weapons_F\Ammo\Rocket_01_fly_F";
proxyShape = "\A3\Weapons_F\Ammo\Rocket_01_F";
proxyShape = "\A3\Weapons_F\Ammo\Rocket_01_F";
irLock = 0;
laserLock = 0;
airLock = 0;
weaponLockSystem = "2 + 16";
laserLock = 0;
airLock = 0;
weaponLockSystem = "2 + 16";
maxSpeed = 720;
maxControlRange = 5000;
maneuvrability = 8;
timeToLive = 60;
simulationStep = 0.01;
airFriction = 0.1;
sideAirFriction = 0.16;
initTime = 0.002;
thrustTime = 1.07;
thrust = 530;
fuseDistance = 2;
maxSpeed = 720;
maxControlRange = 5000;
maneuvrability = 8;
timeToLive = 60;
simulationStep = 0.01;
airFriction = 0.1;
sideAirFriction = 0.16;
initTime = 0.002;
thrustTime = 1.07;
thrust = 530;
fuseDistance = 2;
effectsMissileInit = "MissileDAR1";
effectsMissile = "missile2";
whistleDist = 4;
muzzleEffect = "";
effectsMissileInit = "MissileDAR1";
effectsMissile = "missile2";
whistleDist = 4;
muzzleEffect = "";
// Turn off arma crosshair-guidance
manualControl = 0;
@ -46,9 +46,6 @@ class CfgAmmo {
minDeflection = 0.00025; // Minium flap deflection for guidance
maxDeflection = 0.001; // Maximum flap deflection for guidance
incDeflection = 0.0005; // The incrmeent in which deflection adjusts.
//minDeflection = 0.005;
//maxDeflection = 0.5;
//incDeflection = 0.005;
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
@ -73,17 +70,17 @@ class CfgAmmo {
class ACE_Hydra70_DAGR : M_PG_AT {
displayName = "$STR_ACE_Hydra70_DAGR";
displayNameShort = "$STR_ACE_Hydra70_DAGR_Short";
displayNameShort = "$STR_ACE_Hydra70_DAGR_Short";
description = "$STR_ACE_Hydra70_DAGR";
descriptionShort = "$STR_ACE_Hydra70_DAGR_Desc";
descriptionShort = "$STR_ACE_Hydra70_DAGR_Desc";
};
class ACE_Hellfire_AGM114K : ACE_Hydra70_DAGR {
displayName = "$STR_ACE_Hellfire_AGM114K";
displayNameShort = "$STR_ACE_Hellfire_AGM114K_Short";
displayNameShort = "$STR_ACE_Hellfire_AGM114K_Short";
description = "$STR_ACE_Hellfire_AGM114K_desc";
description = "$STR_ACE_Hellfire_AGM114K_desc";
descriptionShort = "$STR_ACE_Hellfire_AGM114K_desc";
// @TODO: placeholder model to at least make it look different
@ -92,21 +89,22 @@ class CfgAmmo {
hit = 1400;
indirectHit = 71;
indirectHitRange = 4.5;
effectsMissile = "missile2";
indirectHitRange = 4.5;
effectsMissile = "missile2";
};
// Titan
class M_Titan_AT : MissileBase {
irLock = 0;
laserLock = 0;
airLock = 0;
laserLock = 0;
airLock = 0;
// Turn off arma crosshair-guidance
manualControl = 0;
hit = 1400;
hit = 1400; // default: 800
indirectHit = 20;
indirectHitRange = 2;
// ACE uses these values
//trackOversteer = 1;
//trackLead = 0;
@ -118,9 +116,6 @@ class CfgAmmo {
minDeflection = 0.00005; // Minium flap deflection for guidance
maxDeflection = 0.025; // Maximum flap deflection for guidance
incDeflection = 0.00005; // The incrmeent in which deflection adjusts.
//minDeflection = 0.005;
//maxDeflection = 0.5;
//incDeflection = 0.005;
canVanillaLock = 0;

View File

@ -17,7 +17,7 @@ class CfgVehicles {
class MainTurret;
};
};
class ACE_Comanche_Test : B_Heli_Attack_01_F {
displayName = "ACE_Comanche_Test";
author = "ACE Team";
@ -30,4 +30,5 @@ class CfgVehicles {
};
};
};
};

View File

@ -1,65 +0,0 @@
THIS IS A WIP FUNCTIONALITY, DUE TO CHANGE
class M_PG_AT : MissileBase {
model = "\A3\Weapons_F\Ammo\Rocket_01_fly_F";
proxyShape = "\A3\Weapons_F\Ammo\Rocket_01_F";
irLock = 0;
laserLock = 0;
airLock = 0;
weaponLockSystem = "2 + 16";
maxSpeed = 720;
maxControlRange = 5000;
maneuvrability = 8;
timeToLive = 60;
simulationStep = 0.01;
airFriction = 0.1;
sideAirFriction = 0.16;
initTime = 0.002;
thrustTime = 1.07;
thrust = 530;
fuseDistance = 2;
effectsMissileInit = "MissileDAR1";
effectsMissile = "missile2";
whistleDist = 4;
muzzleEffect = "";
// Turn off arma crosshair-guidance
manualControl = 0;
// ACE uses these values
trackOversteer = 1;
trackLead = 0;
// Begin ACE guidance Configs
class ACE_MissileGuidance {
enabled = 1;
minDeflection = 0.005; // Minium flap deflection for guidance
maxDeflection = 0.025; // Maximum flap deflection for guidance
incDeflection = 0.005; // The incrmeent in which deflection adjusts.
//minDeflection = 0.005;
//maxDeflection = 0.5;
//incDeflection = 0.005;
// Guidance type for munitions
defaultSeekerType = "SALH";
seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" };
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = { "LOAL", "LOBL" };
seekerAngle = 90; // Angle in front of the missile which can be searched
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 1;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "LIN";
attackProfiles[] = { "LIN", "DIR", "MID", "HI", "TOP", "PYM" };
};
};

View File

@ -1,2 +1,3 @@
#include "script_component.hpp"
[QGVAR(handoff), {_this call FUNC(handleHandoff)}] call EFUNC(common,addEventHandler);

View File

@ -14,6 +14,9 @@ PREP(guidancePFH);
PREP(doAttackProfile);
PREP(doSeekerSearch);
PREP(doHandoff);
PREP(handleHandoff);
// Attack Profiles
PREP(attackProfile_LIN);
PREP(attackProfile_DIR);

View File

@ -9,6 +9,7 @@
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"];
private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos", "_state"];
private["_cruisAlt", "_distanceShooterToTarget", "_shooterPos"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
@ -53,7 +54,7 @@ switch( (_state select 0) ) do {
};
case STAGE_TERMINAL: {
TRACE_1("STAGE_TERMINAL","");
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.002];
_returnTargetPos = _seekerTargetPos;
};
};

View File

@ -9,6 +9,8 @@
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"];
private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos", "_state"];
private["_cruisAlt", "_distanceShooterToTarget", "_shooterPos"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
@ -70,7 +72,7 @@ switch( (_state select 0) ) do {
case STAGE_TERMINAL: {
TRACE_1("STAGE_TERMINAL","");
//_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02];
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.002];
_returnTargetPos = _seekerTargetPos;
};
};

View File

@ -3,7 +3,7 @@
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"];
private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos"];
private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos", "_shooterPos"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;

View File

@ -2,8 +2,7 @@
#include "script_component.hpp"
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_attackProfilePos"];
private["_testName", "_attackProfilePos", "_attackProfile", "_attackProfileName", "_attackProfilesCfg", "_i", "_launchParams", "_testame", "_testProfile"];
_launchParams = ((_this select 1) select 1);
_attackProfileName = _launchParams select 3;

View File

@ -0,0 +1,4 @@
#include "script_component.hpp"
PARAMS_2(_target,_args);
[QGVAR(handoff), [_target, _args]] call EFUNC(common,globalEvent);

View File

@ -2,7 +2,7 @@
#include "script_component.hpp"
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_seekerProfilePos"];
private["_seekerProfilePos", "_i", "_launchParams", "_seekerType", "_seekerTypeName", "_seekerTypesCfg", "_testName", "_testProfile"];
_launchParams = ((_this select 1) select 1);
_seekerTypeName = _launchParams select 2;

View File

@ -7,6 +7,7 @@ private["_launchParams", "_targetLaunchParams", "_flightParams", "_seekerParams"
private["_lastRunTime", "_runtimeDelta", "_adjustTime", "_args", "_seekerTargetPos", "_projectilePos"];
private["_profileAdjustedTargetPos", "_incDeflection", "_minDeflection", "_maxDeflection"];
private["_targetVector", "_adjustVector", "_finalAdjustVector", "_changeVector", "_pitch", "_yaw", "_roll"];
private["_PS", "_distanceToTarget", "_targetRelativeVector", "_vectorTo"];
_args = _this select 0;
EXPLODE_7_PVT((_args select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
@ -92,6 +93,10 @@ if(accTime > 0) then {
drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,1,1], ASLtoATL _projectilePos, 0.75, 0.75, 0, str _vectorTo, 1, 0.025, "TahomaB"];
drawLine3D [ASLtoATL _projectilePos, ASLtoATL _profileAdjustedTargetPos, [1,0,0,1]];
_ps = "#particlesource" createVehicleLocal (ASLtoATL _projectilePos);
_PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil];
_PS setDropInterval 3.0;
hintSilent format["d: %1", _distanceToTarget];
#endif

View File

@ -0,0 +1,6 @@
#include "script_component.hpp"
PARAMS_2(_target,_args);
if(!local _target) exitWith {};
[FUNC(guidancePFH), 0, _args] call cba_fnc_addPerFrameHandler;

View File

@ -8,6 +8,8 @@ if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false };
if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false };
private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"];
private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"];
PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
// Bail on not missile
@ -60,27 +62,37 @@ if(isNil "_target") then {
};
TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile);
[FUNC(guidancePFH), 0, [_this,
[_shooter,
[_target, _targetPos, _launchPos],
_seekerType,
_attackProfile,
_lockMode
],
[
getNumber ( _config >> "minDeflection" ),
getNumber ( _config >> "maxDeflection" ),
getNumber ( _config >> "incDeflection" )
],
[
getNumber ( _config >> "seekerAngle" ),
getNumber ( _config >> "seekerAccuracy" ),
getNumber ( _config >> "seekerMaxRange" )
],
[ diag_tickTime, [], [] ]
]
] call cba_fnc_addPerFrameHandler;
_args = [_this,
[_shooter,
[_target, _targetPos, _launchPos],
_seekerType,
_attackProfile,
_lockMode
],
[
getNumber ( _config >> "minDeflection" ),
getNumber ( _config >> "maxDeflection" ),
getNumber ( _config >> "incDeflection" )
],
[
getNumber ( _config >> "seekerAngle" ),
getNumber ( _config >> "seekerAccuracy" ),
getNumber ( _config >> "seekerMaxRange" )
],
[ diag_tickTime, [], [] ]
];
// Hand off to the guiding unit. We just use local player so local PFH fires for now
// Laser code needs to give us a shooter for LOBL, or the seeker unit needs to be able to shift locality
// Based on its homing laser
// Lasers need to be handled in a special LOAL/LOBL case
_guidingUnit = ACE_player;
if(local _guidingUnit) then {
[FUNC(guidancePFH), 0, _args ] call cba_fnc_addPerFrameHandler;
} else {
[QGVAR(handoff), [_guidingUnit, _args] ] call FUNC(doHandoff);
};
/* Clears locking settings
(vehicle _shooter) setVariable [QGVAR(target), nil];
(vehicle _shooter) setVariable [QGVAR(seekerType), nil];

View File

@ -1,4 +1,5 @@
#include "script_component.hpp"
private["_d", "_map", "_p", "_theta", "_u"];
_map = _this select 0;
_theta = _this select 1;

View File

@ -3,6 +3,7 @@
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_targets", "_foundTargetPos", "_launchParams", "_seekerParams", "_targetLaunchParams"];
private["_angleFov", "_angleOkay", "_losOkay", "_seekerTargetPos", "_sensorPos", "_target"];
_seekerTargetPos = _this select 0;
@ -17,6 +18,7 @@ TRACE_1("", _launchParams);
_foundTargetPos = [0,0,0];
if(!isNil "_target") then {
_foundTargetPos = getPosASL _target;
//_foundTargetPos = (_target modelToWorldVisual (getCenterOfMass _target));
};
// @TODO: This is seeker LOS and angle checks for LOAL only; LOBL does not need visual

View File

@ -2,8 +2,8 @@
#include "script_component.hpp"
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_angleFov", "_canSeeTarget", "_foundTargetPos", "_laserResult", "_launchParams", "_seekerParams", "_seekerTargetPos", "_sensorPos", "_target"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
_seekerParams = _launchParams select 3;
_angleFov = _seekerParams select 0;

View File

@ -4,7 +4,7 @@
<Key ID="STR_ACE_MissileGuidance">
<English>Advanced Missile Guidance</English>
<Spanish>Avanzada Misiles Orientación</Spanish>
<French>Avancée Missile orientation</French>
<French>Guidage avancé de missile</French>
<Polish>Zaawansowane naprowadzanie rakiet</Polish>
<German>Erweitertes Raketenlenksystem</German>
<Czech>Pokročilé řízení střel</Czech>
@ -13,10 +13,13 @@
<Hungarian>Fejlett rakétairányító</Hungarian>
<Russian>Расширенный ракетой</Russian>
</Key>
<Key ID="STR_ACE_MissileGuidance_Desc">
<English>Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types.</English>
</Key>
<Key ID="STR_ACE_Hydra70_DAGR">
<English>Hydra-70 DAGR Missile</English>
<Spanish></Spanish>
<French></French>
<French>Hydra-70 DAGR</French>
<Polish>Hydra-70 DAGR</Polish>
<German>Hydra-70 DAGR Rackete</German>
<Czech>Hydra-70 DAGR</Czech>
@ -28,7 +31,7 @@
<Key ID="STR_ACE_Hydra70_DAGR_Short">
<English>DAGR</English>
<Spanish></Spanish>
<French></French>
<French>DAGR</French>
<Polish>DAGR</Polish>
<German>DAGR</German>
<Czech>DAGR</Czech>
@ -40,7 +43,7 @@
<Key ID="STR_ACE_Hydra70_DAGR_Desc">
<English>Hydra-70 DAGR Laser Guided Missile</English>
<Spanish></Spanish>
<French></French>
<French>Missile à guidage Hydra-70 DAGR</French>
<Polish>Laserowo naprowadzana rakieta Hydra-70 DAGR</Polish>
<German>Hydra-70 DAGR lasergelenkte Rakete</German>
<Czech>Hydra-70 DAGR laserem naváděná střela</Czech>
@ -52,7 +55,7 @@
<Key ID="STR_ACE_Hellfire_AGM114K">
<English>Hellfire II AGM-114K Missile</English>
<Spanish></Spanish>
<French></French>
<French>Hellfire II AGM-114K</French>
<Polish>Hellfire II AGM-114K</Polish>
<German>Hellfire II AGM-114K</German>
<Czech>Hellfire II AGM-114K</Czech>
@ -64,7 +67,7 @@
<Key ID="STR_ACE_Hellfire_AGM114K_Short">
<English>AGM-114K</English>
<Spanish></Spanish>
<French></French>
<French>AGM-114K</French>
<Polish>AGM-114K</Polish>
<German>AGM-114K</German>
<Czech>AGM-114K</Czech>
@ -76,7 +79,7 @@
<Key ID="STR_ACE_Hellfire_AGM114K_desc">
<English>Hellfire II AGM-114K Laser Guided Missile</English>
<Spanish></Spanish>
<French></French>
<French>Missile à guidage laser Hellfire II AGM-114K</French>
<Polish>Laserowo naprowadzana rakieta Hellfire II AGM-114K</Polish>
<German>Hellfire II AGM-114K Lasergelenkte Rakete</German>
<Czech>Hellfire II AGM-114K laserem naváděná střela</Czech>
@ -86,4 +89,4 @@
<Russian></Russian>
</Key>
</Package>
</Project>
</Project>

View File

@ -17,7 +17,7 @@
<German>Spielernamen anzeigen</German>
<Spanish>Mostrar nombres de jugadores</Spanish>
<Polish>Pokaż imiona graczy</Polish>
<French>Afficher nom des joueurs</French>
<French>Afficher les nom des joueurs</French>
<Hungarian>Játékosnevek mutatása</Hungarian>
<Czech>Zobrazit jména hráčů</Czech>
<Portuguese>Mostrar nomes de jogadores</Portuguese>
@ -104,4 +104,4 @@
<Italian>Colore nametag di default (membri non del gruppo)</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -215,6 +215,7 @@
</Key>
<Key ID="STR_ACE_optionsMenu_uiScaing">
<English>Option Menu UI Scaling</English>
<French>Menu option: taille de l'UI</French>
</Key>
</Package>
</Project>

View File

@ -1135,7 +1135,7 @@
<English>Mini-Spike (AT)</English>
<German>Mini-Spike (PALR)</German>
<Czech>Mini-Spike (PT)</Czech>
<Polish>Mini-Spike (AA)</Polish>
<Polish>Mini-Spike (AT)</Polish>
<French>Mini-Spike (AT)</French>
<Hungarian>Mini-Spike (Tankelhárító)</Hungarian>
<Spanish>Mini-Spike (AT)</Spanish>
@ -1554,7 +1554,7 @@
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_spotter">
<English>TODO: NATO DMR (provisional) spotter</English>
<Czech>TODO: NATO DMR (provisional) spotter</Czech>
<French>NATO DMR (provisoire) Observateur</French>
<French>NATO DMR (provisoire) observateur</French>
<Spanish>TODO: NATO DMR (provisional) observador</Spanish>
<Russian>TODO: NATO DMR (provisional) корректировщик</Russian>
</Key>
@ -1678,4 +1678,4 @@
<Russian>TODO: SPMG .338 (песочный)</Russian>
</Key>
</Package>
</Project>
</Project>

View File

@ -52,6 +52,7 @@
<Spanish>Punto de reunión Oeste (Base)</Spanish>
<Russian>Точка сбора Синих (База)</Russian>
<Polish>Punkt zbiórki Zachodu (Baza)</Polish>
<French>Point de ralliement OUEST (Base)</French>
</Key>
<Key ID="STR_ACE_Respawn_RallypointEastBase">
<English>Rallypoint East (Base)</English>
@ -59,6 +60,7 @@
<Spanish>Punto de reunión Este (Base)</Spanish>
<Russian>Точка сбора Красных (База)</Russian>
<Polish>Punkt zbiórki Wschodu (Baza)</Polish>
<French>Point de ralliement EST (Base)</French>
</Key>
<Key ID="STR_ACE_Respawn_RallypointIndependentBase">
<English>Rallypoint Independent (Base)</English>
@ -66,6 +68,7 @@
<Spanish>Punto de reunión Independiente (Base)</Spanish>
<Russian>Точка сбора Независимых (База</Russian>
<Polish>Punkt zbiórki Ruchu oporu (Baza)</Polish>
<French>Point de ralliement Indépendant (Base)</French>
</Key>
<Key ID="STR_ACE_Respawn_RallypointWest">
<English>Rallypoint West</English>
@ -73,6 +76,7 @@
<Spanish>Punto de reunión Oeste</Spanish>
<Russian>Точка сбора Синих</Russian>
<Polish>Punkt zbiórki Zachodu</Polish>
<French>Point de ralliement OUEST</French>
</Key>
<Key ID="STR_ACE_Respawn_RallypointEast">
<English>Rallypoint East</English>
@ -80,6 +84,7 @@
<Spanish>Punto de reunión Este</Spanish>
<Russian>Точка сбора Красных</Russian>
<Polish>Punkt zbiórki Wschodu</Polish>
<French>Point de ralliement EST</French>
</Key>
<Key ID="STR_ACE_Respawn_RallypointIndependent">
<English>Rallypoint Independent</English>
@ -87,6 +92,7 @@
<Spanish>Punto de reunión Independiente</Spanish>
<Russian>Точка сбора Независимых</Russian>
<Polish>Punkt zbiórki Ruchu oporu</Polish>
<French>Point de ralliement Indépendant</French>
</Key>
</Package>
</Project>

View File

@ -7,6 +7,7 @@
<Russian>Малая корректировка ВВЕРХ</Russian>
<Spanish>Ajuste menor arriba</Spanish>
<Italian>Regola leggermente alzata in alto</Italian>
<French>Hausse +</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustDownMinor">
<English>Minor adjustment down</English>
@ -14,6 +15,7 @@
<Russian>Малая корректировка ВНИЗ</Russian>
<Spanish>Ajuste menor abajo</Spanish>
<Italian>Regola leggermente alzata in basso</Italian>
<French>Hausse -</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustRightMinor">
<English>Minor adjustment right</English>
@ -21,6 +23,7 @@
<Russian>Малая корректировка ВПРАВО</Russian>
<Spanish>Ajuste menor derecha</Spanish>
<Italian>Regola leggermente il tiro a destra</Italian>
<French>Dérive +</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMinor">
<English>Minor adjustment left</English>
@ -28,6 +31,7 @@
<Russian>Малая корректировка ВЛЕВО</Russian>
<Spanish>Ajuste menor izquierda</Spanish>
<Italian>Regola leggermete il tiro a sinistra</Italian>
<French>Dérive -</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustUpMajor">
<English>Major adjustment up</English>
@ -35,6 +39,7 @@
<Russian>Большая корректировка ВВЕРХ</Russian>
<Spanish>Ajuste mayor arriba</Spanish>
<Italian>Regola l'alzata in alto</Italian>
<French>Hausse +++</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustDownMajor">
<English>Major adjustment down</English>
@ -42,6 +47,7 @@
<Russian>Большая корректировка ВНИЗ</Russian>
<Spanish>Ajuste mayor abajo</Spanish>
<Italian>Regola l'alzata in basso</Italian>
<French>Hausse ---</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustRightMajor">
<English>Major adjustment right</English>
@ -49,6 +55,7 @@
<Russian>Большая корректировка ВПРАВО</Russian>
<Spanish>Ajuste mayor derecha</Spanish>
<Italian>Regola il tiro a destra</Italian>
<French>Dérive +++</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMajor">
<English>Major adjustment left</English>
@ -56,6 +63,7 @@
<Russian>Большая корректировка ВЛЕВО</Russian>
<Spanish>Ajuste mayor izquierda</Spanish>
<Italian>Regola il tiro a sinistra</Italian>
<French>Dérive ---</French>
</Key>
<Key ID="STR_ACE_Scopes_AdjustZero">
<English>Set zero adjustment</English>
@ -63,6 +71,7 @@
<Russian>Сбросить корректировку</Russian>
<Spanish>Establecer ajuste a cero</Spanish>
<Italian>Resetta i valori del tiro</Italian>
<French>RAZ corrections</French>
</Key>
</Package>
</Project>
</Project>

View File

@ -5,9 +5,9 @@
<English>Show Wind Info</English>
<Polish>Pokaż inf. o wietrze</Polish>
<Russian>Показать информацию о погоде</Russian>
<French>Afficher information du vent</French>
<French>Afficher information sur le vent</French>
<Spanish>Mostrar información del viento</Spanish>
<Italian>Mostra informazioni sul vento</Italian>
</Key>
</Package>
</Project>
</Project>

View File

@ -0,0 +1,22 @@
#!/usr/bin/env python3
import os
import argparse
from pygithub3 import Github
def main():
gh = Github(user='acemod', repo='ACE3')
pull_requests = gh.pull_requests.list().all()
for request in pull_requests:
files = gh.pull_requests.list_files(request.number).all()
for file in files:
# print file.filename
if '.sqf' in file.filename:
print file
if __name__ == "__main__":
main()

View File

@ -81,10 +81,25 @@ def check_privates(filepath):
if len(missing) > 0:
print (filepath)
private_output = 'private[';
first = True
for bad_priv in missing:
if first:
first = False
private_output = private_output + '"' + bad_priv
else:
private_output = private_output + '", "' + bad_priv
private_output = private_output + '"];';
print (private_output)
for bad_priv in missing:
print ('\t' + bad_priv)
bad_count_file = bad_count_file + 1
return bad_count_file
def main():