Merge branch 'master' of https://github.com/KoffeinFlummi/ACE3 into rallypointfix

This commit is contained in:
commy2 2015-04-15 00:06:12 +02:00
commit 7c5a6538a9
129 changed files with 3790 additions and 3657 deletions

View File

@ -76,4 +76,4 @@ ruPaladin <happyworm24@rambler.ru>
BlackPixxel BlackPixxel
Asgar Serran <piechottaf@web.de> Asgar Serran <piechottaf@web.de>
Kavinsky <nmunozfernandez@gmail.com> Kavinsky <nmunozfernandez@gmail.com>
BlackPixxel

View File

@ -1,11 +0,0 @@
#define GRAVITY 9.80665
#define ABSOLUTE_ZERO_IN_CELSIUS -273.15
#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS)
#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS)
#define UNIVERSAL_GAS_CONSTANT 8.314
#define WATER_VAPOR_MOLAR_MASS 0.018016
#define DRY_AIR_MOLAR_MASS 0.028964
#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058
#define STD_AIR_DENSITY_ICAO 1.22498
#define STD_AIR_DENSITY_ASM 1.20885
#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h))

View File

@ -15,7 +15,6 @@
* None * None
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#include "defines.h"
private ["_temperature", "_pressure", "_relativeHumidity"]; private ["_temperature", "_pressure", "_relativeHumidity"];
_temperature = _this select 0; // in C _temperature = _this select 0; // in C
@ -30,7 +29,7 @@ if (_relativeHumidity > 0) then {
_pSat = 6.1078 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3)); _pSat = 6.1078 * 10 ^ ((7.5 * _temperature) / (_temperature + 237.3));
_vaporPressure = _relativeHumidity * _pSat; _vaporPressure = _relativeHumidity * _pSat;
_partialPressure = _pressure - _vaporPressure; _partialPressure = _pressure - _vaporPressure;
(_partialPressure * DRY_AIR_MOLAR_MASS + _vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(_temperature)) (_partialPressure * DRY_AIR_MOLAR_MASS + _vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(_temperature))
} else { } else {
_pressure / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(_temperature)) _pressure / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(_temperature))

View File

@ -16,7 +16,6 @@
* Public: No * Public: No
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#include "defines.h"
private ["_ballisticCoefficient", "_temperature", "_pressure", "_relativeHumidity", "_atmosphereModel", "_airDensity"]; private ["_ballisticCoefficient", "_temperature", "_pressure", "_relativeHumidity", "_atmosphereModel", "_airDensity"];
_ballisticCoefficient = _this select 0; _ballisticCoefficient = _this select 0;

View File

@ -18,7 +18,6 @@
* Public: No * Public: No
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#include "defines.h"
private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_bulletTranslation", "_airFriction", "_dragModel", "_velocityBoundaryData", "_muzzleVelocity", "_muzzleVelocityCoef", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ACE_Elevation", "_ACE_Windage", "_ID"]; private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_bulletTranslation", "_airFriction", "_dragModel", "_velocityBoundaryData", "_muzzleVelocity", "_muzzleVelocityCoef", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ACE_Elevation", "_ACE_Windage", "_ID"];
_unit = _this select 0; _unit = _this select 0;
@ -153,17 +152,17 @@ if (GVAR(AdvancedAirDragEnabled)) then {
#ifdef USE_ADVANCEDBALLISTICS_DLL #ifdef USE_ADVANCEDBALLISTICS_DLL
GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000;
"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; "ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)];
[{ [{
private ["_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; private ["_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"];
EXPLODE_4_PVT(_this select 0,_bullet,_caliber,_bulletTraceVisible,_index); EXPLODE_4_PVT(_this select 0,_bullet,_caliber,_bulletTraceVisible,_index);
if (!alive _bullet) exitWith { if (!alive _bullet) exitWith {
[_this select 1] call cba_fnc_removePerFrameHandler; [_this select 1] call cba_fnc_removePerFrameHandler;
}; };
_bulletVelocity = velocity _bullet; _bulletVelocity = velocity _bullet;
_bulletPosition = getPosASL _bullet; _bulletPosition = getPosASL _bullet;

View File

@ -11,4 +11,16 @@
#define DEBUG_SETTINGS DEBUG_SETTINGS_ADVANCEDBALLISTICS #define DEBUG_SETTINGS DEBUG_SETTINGS_ADVANCEDBALLISTICS
#endif #endif
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#define GRAVITY 9.80665
#define ABSOLUTE_ZERO_IN_CELSIUS -273.15
#define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS)
#define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS)
#define UNIVERSAL_GAS_CONSTANT 8.314
#define WATER_VAPOR_MOLAR_MASS 0.018016
#define DRY_AIR_MOLAR_MASS 0.028964
#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058
#define STD_AIR_DENSITY_ICAO 1.22498
#define STD_AIR_DENSITY_ASM 1.20885
#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h))

View File

@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <!-- Edited with tabler. -->
<Project name="ACE">
<Package name="AdvancedBallistics"> <Package name="AdvancedBallistics">
<Key ID="STR_ACE_AdvancedBallistics_WindInfoKey"> <Key ID="STR_ACE_AdvancedBallistics_WindInfoKey">
<English>Show Wind Info</English> <English>Show Wind Info</English>
<Polish>Pokaż inf. o wietrze</Polish>
</Key> </Key>
<Key ID="STR_ACE_AdvancedBallistics_ProtractorKey"> <Key ID="STR_ACE_AdvancedBallistics_ProtractorKey">
<English>Show Protractor</English> <English>Show Protractor</English>
<Polish>Pokaż kątomierz</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,50 +1,49 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2014-12-12 -->
<Project name="ACE"> <Project name="ACE">
<Package name="Aircraft"> <Package name="Aircraft">
<Key ID="STR_ACE_Aircraft_CMFlareLauncher_Burst_Name"> <Key ID="STR_ACE_Aircraft_CMFlareLauncher_Burst_Name">
<English>Burst</English> <English>Burst</English>
<German>Feuerstoß</German> <German>Feuerstoß</German>
<Spanish>Ráfaga</Spanish> <Spanish>Ráfaga</Spanish>
<Polish>Seria</Polish> <Polish>Seria</Polish>
<Czech>Dávka</Czech> <Czech>Dávka</Czech>
<French>Rafale</French> <French>Contre mesure</French>
<Russian>Очередь</Russian> <Russian>Очередь</Russian>
<Hungarian>Sorozat</Hungarian> <Hungarian>Sorozat</Hungarian>
<Portuguese>Rajada</Portuguese> <Portuguese>Rajada</Portuguese>
<Italian>Raffica</Italian> <Italian>Raffica</Italian>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_gatling_20mm_Name"> <Key ID="STR_ACE_Aircraft_gatling_20mm_Name">
<English>XM301</English> <English>XM301</English>
<German>XM301</German> <German>XM301</German>
<Spanish>XM301</Spanish> <Spanish>XM301</Spanish>
<Polish>XM301</Polish> <Polish>XM301</Polish>
<Czech>XM301</Czech> <Czech>XM301</Czech>
<French>XM301</French> <French>XM301</French>
<Russian>XM301</Russian> <Russian>XM301</Russian>
<Hungarian>XM301</Hungarian> <Hungarian>XM301</Hungarian>
<Portuguese>XM301</Portuguese> <Portuguese>XM301</Portuguese>
<Italian>XM301</Italian> <Italian>XM301</Italian>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_OpenCargoRamp"> <Key ID="STR_ACE_Aircraft_OpenCargoRamp">
<English>Open Cargo Door</English> <English>Open Cargo Door</English>
<German>Laderampe öffnen</German> <German>Laderampe öffnen</German>
<Spanish>Abrir compuerta de carga</Spanish> <Spanish>Abrir compuerta de carga</Spanish>
<French>Ourvir Rampe Cargo</French> <French>Ourvir rampe cargo</French>
<Polish>Otwórz drzwi ładowni</Polish> <Polish>Otwórz drzwi ładowni</Polish>
<Czech>Otevřít nákladní prostor</Czech> <Czech>Otevřít nákladní prostor</Czech>
<Hungarian>Rámpát kinyitni</Hungarian> <Hungarian>Rámpát kinyitni</Hungarian>
<Russian>Открыть грузовой отсек</Russian> <Russian>Открыть грузовой отсек</Russian>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_CloseCargoRamp"> <Key ID="STR_ACE_Aircraft_CloseCargoRamp">
<English>Close Cargo Door</English> <English>Close Cargo Door</English>
<German>Laderampe schließen</German> <German>Laderampe schließen</German>
<Spanish>Cerrar compuerta de carga</Spanish> <Spanish>Cerrar compuerta de carga</Spanish>
<French>Fermer la Rampe du Cargo</French> <French>Fermer rampe cargo</French>
<Polish>Zamknij drzwi ładowni</Polish> <Polish>Zamknij drzwi ładowni</Polish>
<Czech>Zavřít nákladní prostor</Czech> <Czech>Zavřít nákladní prostor</Czech>
<Hungarian>Rámpát zárni</Hungarian> <Hungarian>Rámpát zárni</Hungarian>
<Russian>Закрыть грузовой отсек</Russian> <Russian>Закрыть грузовой отсек</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,26 +1,30 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <!-- Edited with tabler. -->
<Project name="ACE">
<Package name="ATragMX"> <Package name="ATragMX">
<Key ID="STR_ACE_ATragMX_Name"> <Key ID="STR_ACE_ATragMX_Name">
<English>ATragMX</English> <English>ATragMX</English>
<German>ATragMX</German> <German>ATragMX</German>
<Spanish>ATragMX</Spanish> <Spanish>ATragMX</Spanish>
<French>ATragMX</French> <French>ATragMX</French>
<Polish>ATragMX</Polish> <Polish>ATragMX</Polish>
<Czech>ATragMX</Czech> <Czech>ATragMX</Czech>
<Italian>ATragMX</Italian> <Italian>ATragMX</Italian>
<Hungarian>ATragMX</Hungarian> <Hungarian>ATragMX</Hungarian>
<Portuguese>ATragMX</Portuguese> <Portuguese>ATragMX</Portuguese>
<Russian>ATragMX</Russian> <Russian>ATragMX</Russian>
</Key> </Key>
<Key ID="STR_ACE_ATragMX_OpenATragMXDialog"> <Key ID="STR_ACE_ATragMX_OpenATragMXDialog">
<English>Open ATragMX</English> <English>Open ATragMX</English>
<Polish>Otwórz ATragMX</Polish>
</Key> </Key>
<Key ID="STR_ACE_ATragMX_Description"> <Key ID="STR_ACE_ATragMX_Description">
<English>Rugged PDA with ATragMX</English> <English>Rugged PDA with ATragMX</English>
<Polish>Przenośny PDA z kalkulatorem balistycznym ATragMX</Polish>
</Key> </Key>
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey"> <Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
<English>Open ATragMX</English> <English>Open ATragMX</English>
<Polish>Otwórz ATragMX</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,206 +1,206 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Attach"> <Package name="Attach">
<Key ID="STR_ACE_Attach_AttachDetach"> <Key ID="STR_ACE_Attach_AttachDetach">
<English>Attach item &gt;&gt;</English> <English>Attach item &gt;&gt;</English>
<German>Gegenstand befestigen &gt;&gt;</German> <German>Gegenstand befestigen &gt;&gt;</German>
<Spanish>Acoplar objeto &gt;&gt;</Spanish> <Spanish>Acoplar objeto &gt;&gt;</Spanish>
<Polish>Przyczep przedmiot &gt;&gt;</Polish> <Polish>Przyczep przedmiot &gt;&gt;</Polish>
<French>Attacher l'objet &gt;&gt;</French> <French>Attacher l'objet &gt;&gt;</French>
<Czech>Připnout předmět &gt;&gt;</Czech> <Czech>Připnout předmět &gt;&gt;</Czech>
<Portuguese>Acoplar item &gt;&gt;</Portuguese> <Portuguese>Acoplar item &gt;&gt;</Portuguese>
<Italian>Attacca l'oggetto &gt;&gt;</Italian> <Italian>Attacca l'oggetto &gt;&gt;</Italian>
<Hungarian>Tárgy hozzácsatolása &gt;&gt;</Hungarian> <Hungarian>Tárgy hozzácsatolása &gt;&gt;</Hungarian>
<Russian>Добавить приспособления</Russian> <Russian>Добавить приспособления</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Attach"> <Key ID="STR_ACE_Attach_Attach">
<English>Attach</English> <English>Attach</English>
<German>Befestigen</German> <German>Befestigen</German>
<Spanish>Acoplar</Spanish> <Spanish>Acoplar</Spanish>
<Polish>Przyczep</Polish> <Polish>Przyczep</Polish>
<French>Attacher</French> <French>Attacher</French>
<Czech>Připnout</Czech> <Czech>Připnout</Czech>
<Portuguese>Acoplar</Portuguese> <Portuguese>Acoplar</Portuguese>
<Italian>Attacca</Italian> <Italian>Attacca</Italian>
<Hungarian>Hozzácsatolás</Hungarian> <Hungarian>Hozzácsatolás</Hungarian>
<Russian>Присоединить</Russian> <Russian>Присоединить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Detach"> <Key ID="STR_ACE_Attach_Detach">
<English>Detach item</English> <English>Detach item</English>
<German>Gegenstand entfernen</German> <German>Gegenstand entfernen</German>
<Spanish>Quitar objeto</Spanish> <Spanish>Quitar objeto</Spanish>
<Polish>Odczep przedmiot</Polish> <Polish>Odczep przedmiot</Polish>
<French>Détacher l'objet</French> <French>Détacher l'objet</French>
<Czech>Odepnout předmět</Czech> <Czech>Odepnout předmět</Czech>
<Portuguese>Separar item</Portuguese> <Portuguese>Separar item</Portuguese>
<Italian>Stacca l'oggetto</Italian> <Italian>Stacca l'oggetto</Italian>
<Hungarian>Tárgy lecsatolása</Hungarian> <Hungarian>Tárgy lecsatolása</Hungarian>
<Russian>Отсоединить</Russian> <Russian>Отсоединить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrStrobe_Attached"> <Key ID="STR_ACE_Attach_IrStrobe_Attached">
<English>IR Strobe Attached</English> <English>IR Strobe Attached</English>
<German>IR-Stroboskop befestigt</German> <German>IR-Stroboskop befestigt</German>
<Spanish>Marcador IR acoplado</Spanish> <Spanish>Marcador IR acoplado</Spanish>
<Polish>Przyczepiono stroboskop IR</Polish> <Polish>Przyczepiono stroboskop IR</Polish>
<French>Strobe IR attaché</French> <French>Strobe IR attaché</French>
<Czech>IR Značkovač připnutý</Czech> <Czech>IR Značkovač připnutý</Czech>
<Portuguese>Marcador IV Acoplado</Portuguese> <Portuguese>Marcador IV Acoplado</Portuguese>
<Italian>Strobo IR attaccata</Italian> <Italian>Strobo IR attaccata</Italian>
<Hungarian>Infravörös jeladó hozzácsatolva</Hungarian> <Hungarian>Infravörös jeladó hozzácsatolva</Hungarian>
<Russian>ИК-маяк присоединён</Russian> <Russian>ИК-маяк присоединён</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrStrobe_Detached"> <Key ID="STR_ACE_Attach_IrStrobe_Detached">
<English>IR Strobe Detached</English> <English>IR Strobe Detached</English>
<German>IR-Stroboskop entfernt</German> <German>IR-Stroboskop entfernt</German>
<Spanish>Marcador IR quitado</Spanish> <Spanish>Marcador IR quitado</Spanish>
<Polish>Odczepiono stroboskop IR</Polish> <Polish>Odczepiono stroboskop IR</Polish>
<French>Strobe IR détaché</French> <French>Strobe IR détaché</French>
<Czech>IR Značkovač odepnutý</Czech> <Czech>IR Značkovač odepnutý</Czech>
<Portuguese>Marcador IV Separado</Portuguese> <Portuguese>Marcador IV Separado</Portuguese>
<Italian>Strobo IR staccata</Italian> <Italian>Strobo IR staccata</Italian>
<Hungarian>Infravörös jeladó lecsatolva</Hungarian> <Hungarian>Infravörös jeladó lecsatolva</Hungarian>
<Russian>ИК-маяк отсоединён</Russian> <Russian>ИК-маяк отсоединён</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrGrenade_Attached"> <Key ID="STR_ACE_Attach_IrGrenade_Attached">
<English>IR Grenade Attached</English> <English>IR Grenade Attached</English>
<German>IR-Granate befestigt</German> <German>IR-Granate befestigt</German>
<Spanish>Granada IR acoplada</Spanish> <Spanish>Granada IR acoplada</Spanish>
<Polish>Przyczepiono granat IR</Polish> <Polish>Przyczepiono granat IR</Polish>
<French>Grenade IR attachée</French> <French>Grenade IR attachée</French>
<Czech>IR Granát připnutý</Czech> <Czech>IR Granát připnutý</Czech>
<Portuguese>Granada IV Acoplada</Portuguese> <Portuguese>Granada IV Acoplada</Portuguese>
<Italian>Granata IR attaccata</Italian> <Italian>Granata IR attaccata</Italian>
<Hungarian>Infravörös gránát hozzácsatolva</Hungarian> <Hungarian>Infravörös gránát hozzácsatolva</Hungarian>
<Russian>ИК-граната присоединена</Russian> <Russian>ИК-граната присоединена</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrGrenade_Detached"> <Key ID="STR_ACE_Attach_IrGrenade_Detached">
<English>IR Grenade Detached</English> <English>IR Grenade Detached</English>
<German>IR-Granate entfernt</German> <German>IR-Granate entfernt</German>
<Spanish>Granada IR quitada</Spanish> <Spanish>Granada IR quitada</Spanish>
<Polish>Odczepiono granat IR</Polish> <Polish>Odczepiono granat IR</Polish>
<French>Grenade IR détachée</French> <French>Grenade IR détachée</French>
<Czech>IR Granát odepnutý</Czech> <Czech>IR Granát odepnutý</Czech>
<Portuguese>Granada IV Separada</Portuguese> <Portuguese>Granada IV Separada</Portuguese>
<Italian>Granata IR staccata</Italian> <Italian>Granata IR staccata</Italian>
<Hungarian>Infravörös gránát lecsatolva</Hungarian> <Hungarian>Infravörös gránát lecsatolva</Hungarian>
<Russian>ИК-граната отсоединена</Russian> <Russian>ИК-граната отсоединена</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Chemlight_Attached"> <Key ID="STR_ACE_Attach_Chemlight_Attached">
<English>Chemlight Attached</English> <English>Chemlight Attached</English>
<German>Leuchtstab befestigt</German> <German>Leuchtstab befestigt</German>
<Spanish>Barra de luz acoplada</Spanish> <Spanish>Barra de luz acoplada</Spanish>
<Polish>Przyczepiono światło chemiczne</Polish> <Polish>Przyczepiono światło chemiczne</Polish>
<French>Chemlight attaché</French> <French>Chemlight attachée</French>
<Czech>Chemické světlo připnuto</Czech> <Czech>Chemické světlo připnuto</Czech>
<Portuguese>Chemlight Acoplada</Portuguese> <Portuguese>Chemlight Acoplada</Portuguese>
<Italian>Chemlight attaccata</Italian> <Italian>Chemlight attaccata</Italian>
<Hungarian>Chemlight hozzácsatolva</Hungarian> <Hungarian>Chemlight hozzácsatolva</Hungarian>
<Russian>Химсвет присоединён</Russian> <Russian>Химсвет присоединён</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Chemlight_Detached"> <Key ID="STR_ACE_Attach_Chemlight_Detached">
<English>Chemlight Detached</English> <English>Chemlight Detached</English>
<German>Leuchtstab entfernt</German> <German>Leuchtstab entfernt</German>
<Spanish>Barra de luz quitada</Spanish> <Spanish>Barra de luz quitada</Spanish>
<Polish>Odczepiono światło chemiczne</Polish> <Polish>Odczepiono światło chemiczne</Polish>
<French>Chemlight détaché</French> <French>Chemlight détachée</French>
<Czech>Chemické světlo odepnuto</Czech> <Czech>Chemické světlo odepnuto</Czech>
<Portuguese>Chemlight Separada</Portuguese> <Portuguese>Chemlight Separada</Portuguese>
<Italian>Chemlight staccata</Italian> <Italian>Chemlight staccata</Italian>
<Hungarian>Chemlight hozzácsatolva</Hungarian> <Hungarian>Chemlight hozzácsatolva</Hungarian>
<Russian>Химсвет отсоединён</Russian> <Russian>Химсвет отсоединён</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Inventory_Full"> <Key ID="STR_ACE_Attach_Inventory_Full">
<English>No inventory space</English> <English>No inventory space</English>
<German>Kein Platz im Inventar</German> <German>Kein Platz im Inventar</German>
<Spanish>Sin espacio en inventario</Spanish> <Spanish>Sin espacio en inventario</Spanish>
<Polish>Brak miejsca w ekwipunku</Polish> <Polish>Brak miejsca w ekwipunku</Polish>
<French>Pas de place dans l'inventaire</French> <French>Pas de place dans l'inventaire</French>
<Czech>Není místo v inventáři</Czech> <Czech>Není místo v inventáři</Czech>
<Portuguese>Sem espaço no inventário</Portuguese> <Portuguese>Sem espaço no inventário</Portuguese>
<Italian>Non hai più spazio</Italian> <Italian>Non hai più spazio</Italian>
<Hungarian>Nincs több hely</Hungarian> <Hungarian>Nincs több hely</Hungarian>
<Russian>В инвентаре нет места</Russian> <Russian>В инвентаре нет места</Russian>
</Key> </Key>
<Key ID="STR_ACE_IrStrobe_Name"> <Key ID="STR_ACE_IrStrobe_Name">
<English>IR Strobe</English> <English>IR Strobe</English>
<German>IR-Stroboskop</German> <German>IR-Stroboskop</German>
<Spanish>Marcador IR</Spanish> <Spanish>Marcador IR</Spanish>
<Polish>Stroboskop IR</Polish> <Polish>Stroboskop IR</Polish>
<French>Strobe IR</French> <French>Strobe IR</French>
<Czech>IR Značkovač</Czech> <Czech>IR Značkovač</Czech>
<Portuguese>Marcador IV</Portuguese> <Portuguese>Marcador IV</Portuguese>
<Italian>Strobo IR</Italian> <Italian>Strobo IR</Italian>
<Hungarian>Infravörös jeladó</Hungarian> <Hungarian>Infravörös jeladó</Hungarian>
<Russian>ИК-маяк</Russian> <Russian>ИК-маяк</Russian>
</Key> </Key>
<Key ID="STR_ACE_IrStrobe_Description"> <Key ID="STR_ACE_IrStrobe_Description">
<English>IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs.</English> <English>IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs.</English>
<German>Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist.</German> <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> <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> <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>Le Strobe 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> <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> <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> <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>
<Hungarian>Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható.</Hungarian> <Hungarian>Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható.</Hungarian>
<Russian>ИК-маяк позволяет сигнализировать о своём местоположении через пульсирующий свет, видимый только через ПНВ.</Russian> <Russian>ИК-маяк позволяет сигнализировать о своём местоположении через пульсирующий свет, видимый только через ПНВ.</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_PlaceAction"> <Key ID="STR_ACE_Attach_PlaceAction">
<English>Place</English> <English>Place</English>
<German>Platzieren</German> <German>Platzieren</German>
<Spanish>Colocar</Spanish> <Spanish>Colocar</Spanish>
<Polish>Umieść</Polish> <Polish>Umieść</Polish>
<French>Placer</French> <French>Placer</French>
<Czech>Položit</Czech> <Czech>Položit</Czech>
<Portuguese>Colocar</Portuguese> <Portuguese>Colocar</Portuguese>
<Italian>Posiziona</Italian> <Italian>Posiziona</Italian>
<Hungarian>Elhelyez</Hungarian> <Hungarian>Elhelyez</Hungarian>
<Russian>Установить</Russian> <Russian>Установить</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_CancelAction"> <Key ID="STR_ACE_Attach_CancelAction">
<English>Cancel</English> <English>Cancel</English>
<German>Abbrechen</German> <German>Abbrechen</German>
<Spanish>Cancelar</Spanish> <Spanish>Cancelar</Spanish>
<Polish>Anuluj</Polish> <Polish>Anuluj</Polish>
<French>Annuler</French> <French>Annuler</French>
<Czech>Zrušit</Czech> <Czech>Zrušit</Czech>
<Portuguese>Cancelar</Portuguese> <Portuguese>Cancelar</Portuguese>
<Italian>Annulla</Italian> <Italian>Annulla</Italian>
<Hungarian>Mégse</Hungarian> <Hungarian>Mégse</Hungarian>
<Russian>Отмена</Russian> <Russian>Отмена</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Failed"> <Key ID="STR_ACE_Attach_Failed">
<English>Attach Failed</English> <English>Attach Failed</English>
<French>Échec de l'attachement</French> <French>Impossible d'attacher</French>
<German>Befestigen fehlgeschlagen</German> <German>Befestigen fehlgeschlagen</German>
<Russian>Не удалось присоединить</Russian> <Russian>Не удалось присоединить</Russian>
<Spanish>Error al acoplar</Spanish> <Spanish>Error al acoplar</Spanish>
<Czech>Připnutí selhalo</Czech> <Czech>Připnutí selhalo</Czech>
<Polish>Przyczepianie nie powiodło się</Polish> <Polish>Przyczepianie nie powiodło się</Polish>
</Key> </Key>
<Key ID="STR_ACE_Attach_Item_Attached"> <Key ID="STR_ACE_Attach_Item_Attached">
<English>%1&lt;br/&gt;Attached</English> <English>%1&lt;br/&gt;Attached</English>
<German>%1&lt;br/&gt;befestigt</German> <German>%1&lt;br/&gt;befestigt</German>
<Spanish>%1&lt;br/&gt;acoplada</Spanish> <Spanish>%1&lt;br/&gt;acoplada</Spanish>
<Polish>%1&lt;br/&gt;Przyczepiono</Polish> <Polish>%1&lt;br/&gt;Przyczepiono</Polish>
<French>%1&lt;br/&gt;attachée</French> <French>%1&lt;br/&gt;attachée</French>
<Czech>%1&lt;br/&gt;Připnutý</Czech> <Czech>%1&lt;br/&gt;Připnutý</Czech>
<Portuguese>%1&lt;br/&gt;Acoplada</Portuguese> <Portuguese>%1&lt;br/&gt;Acoplada</Portuguese>
<Italian>%1&lt;br/&gt;attaccata</Italian> <Italian>%1&lt;br/&gt;attaccata</Italian>
<Hungarian>%1&lt;br/&gt;hozzácsatolva</Hungarian> <Hungarian>%1&lt;br/&gt;hozzácsatolva</Hungarian>
<Russian>%1&lt;br/&gt;присоединена</Russian> <Russian>%1&lt;br/&gt;присоединена</Russian>
</Key> </Key>
<Key ID="STR_ACE_Attach_Item_Detached"> <Key ID="STR_ACE_Attach_Item_Detached">
<English>%1&lt;br/&gt;Detached</English> <English>%1&lt;br/&gt;Detached</English>
<German>%1&lt;br/&gt;entfernt</German> <German>%1&lt;br/&gt;entfernt</German>
<Spanish>%1&lt;br/&gt;quitada</Spanish> <Spanish>%1&lt;br/&gt;quitada</Spanish>
<Polish>%1&lt;br/&gt;Odczepiono</Polish> <Polish>%1&lt;br/&gt;Odczepiono</Polish>
<French>%1&lt;br/&gt;détachée</French> <French>%1&lt;br/&gt;détachée</French>
<Czech>%1&lt;br/&gt;Odepnutý</Czech> <Czech>%1&lt;br/&gt;Odepnutý</Czech>
<Portuguese>%1&lt;br/&gt;Separada</Portuguese> <Portuguese>%1&lt;br/&gt;Separada</Portuguese>
<Italian>%1&lt;br/&gt;staccata</Italian> <Italian>%1&lt;br/&gt;staccata</Italian>
<Hungarian>%1&lt;br/&gt;lecsatolva</Hungarian> <Hungarian>%1&lt;br/&gt;lecsatolva</Hungarian>
<Russian>%1&lt;br/&gt;отсоединена</Russian> <Russian>%1&lt;br/&gt;отсоединена</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -90,7 +90,8 @@ class CfgAmmo {
ACE_muzzleVelocities[]={780, 880, 920}; ACE_muzzleVelocities[]={780, 880, 920};
ACE_barrelLengths[]={10, 16.3, 20}; ACE_barrelLengths[]={10, 16.3, 20};
}; };
class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Red { class B_556x45_Ball_Tracer_Yellow;
class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow {
airFriction=-0.001162; airFriction=-0.001162;
caliber=0.5; caliber=0.5;
deflecting=18; deflecting=18;
@ -122,9 +123,24 @@ class CfgAmmo {
ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; ACE_barrelLengths[]={10, 16, 20, 24, 26, 30};
}; };
class B_65x39_Case_yellow; class B_65x39_Case_yellow;
class ACE_B_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow {
nvgOnly = 1; nvgOnly = 1;
}; };
class ACE_65x47_Ball_Scenar: B_65x39_Caseless
{
airFriction=-0.00078;
typicalSpeed=820 ;
ACE_caliber=0.264;
ACE_bulletLength=1.364;
ACE_bulletMass=139;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.290};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={760, 790, 820, 830};
ACE_barrelLengths[]={16, 20, 24, 26};
};
class B_762x51_Ball : BulletBase { class B_762x51_Ball : BulletBase {
airFriction=-0.001035; airFriction=-0.001035;
typicalSpeed=833; typicalSpeed=833;
@ -140,8 +156,8 @@ class CfgAmmo {
ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; ACE_muzzleVelocities[]={700, 800, 820, 833, 845};
ACE_barrelLengths[]={10, 16, 20, 24, 26}; ACE_barrelLengths[]={10, 16, 20, 24, 26};
}; };
class B_762x51_Tracer_Red; class B_762x51_Tracer_Yellow;
class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Red { class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow {
nvgOnly = 1; nvgOnly = 1;
}; };
class ACE_762x51_Ball_M118LR : B_762x51_Ball { class ACE_762x51_Ball_M118LR : B_762x51_Ball {
@ -160,6 +176,57 @@ class CfgAmmo {
ACE_muzzleVelocities[]={750, 780, 790, 794}; ACE_muzzleVelocities[]={750, 780, 790, 794};
ACE_barrelLengths[]={16, 20, 24, 26}; ACE_barrelLengths[]={16, 20, 24, 26};
}; };
class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball
{
airFriction=-0.000830;
caliber=1.08;
hit=17;
typicalSpeed=900;
ACE_caliber=0.308;
ACE_bulletLength=1.353;
ACE_bulletMass=190;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.268};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={865, 900, 924};
ACE_barrelLengths[]={20, 24, 26};
};
class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball
{
airFriction=-0.000815;
caliber=1.12;
hit=18;
typicalSpeed=867;
ACE_caliber=0.308;
ACE_bulletLength=1.489;
ACE_bulletMass=220;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.310};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={847, 867, 877};
ACE_barrelLengths[]={20, 24, 26};
};
class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball
{
airFriction=-0.00076;
caliber=1.15;
hit=19;
typicalSpeed=853;
ACE_caliber=0.308;
ACE_bulletLength=1.602;
ACE_bulletMass=230;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.368};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={800, 853, 884};
ACE_barrelLengths[]={20, 24, 26};
};
class ACE_762x51_Ball_Subsonic : B_762x51_Ball { class ACE_762x51_Ball_Subsonic : B_762x51_Ball {
airFriction=-0.000535; airFriction=-0.000535;
caliber=0.5; caliber=0.5;
@ -204,7 +271,8 @@ class CfgAmmo {
ACE_muzzleVelocities[]={700, 800, 820, 833}; ACE_muzzleVelocities[]={700, 800, 820, 833};
ACE_barrelLengths[]={16, 20, 24, 26}; ACE_barrelLengths[]={16, 20, 24, 26};
}; };
class ACE_762x54_Ball_7T2 : B_762x51_Tracer_Red { class B_762x54_Tracer_Green;
class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green {
airFriction=-0.001023; airFriction=-0.001023;
caliber=0.9; caliber=0.9;
hit=15; hit=15;
@ -251,7 +319,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={650, 716, 750}; ACE_muzzleVelocities[]={650, 716, 750};
ACE_barrelLengths[]={10, 16.3, 20}; ACE_barrelLengths[]={10, 16.3, 20};
}; };
class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Red { class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow {
airFriction=-0.0015168; airFriction=-0.0015168;
hit=12; hit=12;
typicalSpeed=716; typicalSpeed=716;

View File

@ -11,22 +11,54 @@ class CfgMagazines {
class 100Rnd_65x39_caseless_mag_Tracer: 100Rnd_65x39_caseless_mag { class 100Rnd_65x39_caseless_mag_Tracer: 100Rnd_65x39_caseless_mag {
initSpeed = 760; initSpeed = 760;
}; };
class ACE_100Rnd_65x39_caseless_mag_Tracer_Dim: 100Rnd_65x39_caseless_mag_Tracer {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_65x39_Caseless_Tracer_Dim";
displayName = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName";
displayNameShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_100rnd_65x39_yellow_ca.paa";
};
class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag { class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag {
initSpeed = 760; initSpeed = 760;
}; };
class ACE_200Rnd_65x39_cased_Box_Tracer_Dim: 200Rnd_65x39_cased_Box {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_65x39_Caseless_Tracer_Dim";
displayName = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName";
displayNameShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_200rnd_65x39_yellow_ca.paa";
};
class 30Rnd_65x39_caseless_mag_Tracer: 30Rnd_65x39_caseless_mag { class 30Rnd_65x39_caseless_mag_Tracer: 30Rnd_65x39_caseless_mag {
}; };
class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer {
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; ammo = "ACE_65x39_Caseless_Tracer_Dim";
displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName";
displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_CA.paa"; picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_ca.paa";
}; };
class 30Rnd_556x45_Stanag: CA_Magazine { class 30Rnd_556x45_Stanag: CA_Magazine {
}; };
class ACE_30Rnd_556x45_Stanag_Mk262_mag: 30Rnd_556x45_Stanag {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_556x45_Ball_Mk262";
displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name";
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort";
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description";
initSpeed = 832;
};
class ACE_30Rnd_556x45_Stanag_Mk318_mag: 30Rnd_556x45_Stanag {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_556x45_Ball_Mk318";
displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name";
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort";
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description";
initSpeed = 922;
};
class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag { class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag {
}; };
class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red { class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red {
@ -35,7 +67,7 @@ class CfgMagazines {
displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName"; displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName";
displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort"; displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription"; descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_30stanag_yellow_ca.paa"; picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa";
}; };
class 20Rnd_762x51_Mag: CA_Magazine { class 20Rnd_762x51_Mag: CA_Magazine {
@ -50,7 +82,7 @@ class CfgMagazines {
class 150Rnd_762x51_Box_Tracer: 150Rnd_762x51_Box { class 150Rnd_762x51_Box_Tracer: 150Rnd_762x51_Box {
initSpeed = 833; initSpeed = 833;
}; };
class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { //@todo Green tracers for opfor and yellow tracers for independent class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag {
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
ammo = "B_762x51_Tracer_Red"; ammo = "B_762x51_Tracer_Red";
displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName"; displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName";
@ -76,6 +108,61 @@ class CfgMagazines {
initSpeed = 325; initSpeed = 325;
}; };
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x51_Ball_M118LR";
count=10;
displayName = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Name";
displayNameShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort";
descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description";
initSpeed = 780;
};
class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x51_Ball_M118LR";
displayName = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description";
initSpeed = 780;
};
class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x67_Ball_Mk248_Mod_0";
displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description";
initSpeed = 865;
};
class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x67_Ball_Mk248_Mod_1";
displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description";
initSpeed = 847;
};
class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x67_Ball_Berger_Hybrid_OTM";
displayName = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description";
initSpeed = 800;
};
class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_65x47_Ball_Scenar";
count=30;
displayName = "30rnd 6.5mm Mag (HPBT Scenar)";
descriptionshort = "Caliber: 65x47 mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM";
};
class 30Rnd_9x21_Mag: CA_Magazine { class 30Rnd_9x21_Mag: CA_Magazine {
initSpeed = 450; initSpeed = 450;
}; };
@ -123,6 +210,14 @@ class CfgMagazines {
class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag { class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag {
initSpeed = 800; initSpeed = 800;
}; };
class ACE_10Rnd_762x54_Tracer_mag: 16Rnd_9x21_Mag {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x54_Ball_7T2";
displayName = "$STR_ACE_10Rnd_762x54_Tracer_mag_Name";
displayNameShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_NameShort";
descriptionShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_Description";
initSpeed = 800;
};
class 150Rnd_762x54_Box: 150Rnd_762x51_Box { class 150Rnd_762x54_Box: 150Rnd_762x51_Box {
initSpeed = 750; initSpeed = 750;

View File

@ -9,4 +9,154 @@ class CfgVehicles {
//hitPart = "systemChat str _this"; //hitPart = "systemChat str _this";
}; };
}; };
class NATO_Box_Base;
class Box_NATO_Wps_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
};
};
class Box_NATO_WpsSpecial_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1);
};
};
class Box_NATO_Ammo_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
};
};
class Box_NATO_Support_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,6);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3);
};
};
class ReammoBox_F;
class B_supplyCrate_F: ReammoBox_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
};
};
class EAST_Box_Base;
class Box_East_Wps_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class Box_East_WpsSpecial_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1);
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class Box_East_Ammo_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class Box_East_Support_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,6);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class IND_Box_Base;
class Box_IND_Wps_F: IND_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class Box_IND_WpsSpecial_F: IND_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4);
};
};
class Box_IND_Ammo_F: IND_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class FIA_Box_Base_F;
class Box_FIA_Wps_F: FIA_Box_Base_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class Box_FIA_Ammo_F: FIA_Box_Base_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class I_supplyCrate_F: B_supplyCrate_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class IG_supplyCrate_F: ReammoBox_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class C_supplyCrate_F: ReammoBox_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_0_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_1_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
};
};
}; };

View File

@ -56,6 +56,14 @@ class CfgWeapons {
}; };
}; };
class arifle_MX_SW_F: arifle_MX_Base_F { class arifle_MX_SW_F: arifle_MX_Base_F {
magazines[] = {
"100Rnd_65x39_caseless_mag_Tracer",
"100Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_100Rnd_65x39_caseless_mag_Tracer_Dim",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.0; initSpeed = -1.0;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=16.0; ACE_barrelLength=16.0;
@ -76,6 +84,12 @@ class CfgWeapons {
}; };
}; };
class arifle_MXM_F: arifle_MX_Base_F { class arifle_MXM_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim",
"ACE_30Rnd_65x47_Scenar_mag"
};
initSpeed = -1.018; initSpeed = -1.018;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=18; ACE_barrelLength=18;
@ -111,6 +125,11 @@ class CfgWeapons {
/* Other */ /* Other */
class LMG_Mk200_F: Rifle_Long_Base_F { class LMG_Mk200_F: Rifle_Long_Base_F {
magazines[] = {
"200Rnd_65x39_cased_Box",
"200Rnd_65x39_cased_Box_Tracer",
"ACE_200Rnd_65x39_cased_Box_Tracer_Dim"
};
initSpeed = -0.9763; initSpeed = -0.9763;
class WeaponSlotsInfo: WeaponSlotsInfo { class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot { class MuzzleSlot: MuzzleSlot {
@ -180,7 +199,7 @@ class CfgWeapons {
/* SMGs */ /* SMGs */
class SDAR_base_F: Rifle_Base_F { class SDAR_base_F: Rifle_Base_F {
initSpeed = -0.9723; initSpeed = -0.989;
class Single: Mode_SemiAuto { class Single: Mode_SemiAuto {
dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus
// some extra because Kel-Tec. // some extra because Kel-Tec.
@ -284,26 +303,51 @@ class CfgWeapons {
ACE_barrelLength=7; ACE_barrelLength=7;
}; };
class arifle_Katiba_F: arifle_katiba_Base_F { class arifle_Katiba_F: arifle_katiba_Base_F {
initSpeed = -1.09; magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.08;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=28.7; ACE_barrelLength=28.7;
}; };
class arifle_Katiba_C_F: arifle_katiba_Base_F { class arifle_Katiba_C_F: arifle_katiba_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.07; initSpeed = -1.07;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=26.8; ACE_barrelLength=26.8;
}; };
class arifle_Katiba_GL_F: arifle_katiba_Base_F { class arifle_Katiba_GL_F: arifle_katiba_Base_F {
initSpeed = -1.09; magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.08;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=28.7; ACE_barrelLength=28.7;
}; };
class arifle_MX_F: arifle_MX_Base_F { class arifle_MX_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -0.99; initSpeed = -0.99;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=14.5; ACE_barrelLength=14.5;
}; };
class arifle_MX_GL_F: arifle_MX_Base_F { class arifle_MX_GL_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -0.99; initSpeed = -0.99;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=14.5; ACE_barrelLength=14.5;
@ -315,6 +359,11 @@ class CfgWeapons {
}; };
*/ */
class arifle_MXC_F: arifle_MX_Base_F { class arifle_MXC_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -0.965; initSpeed = -0.965;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=10.5; ACE_barrelLength=10.5;
@ -326,7 +375,17 @@ class CfgWeapons {
}; };
*/ */
class arifle_SDAR_F: SDAR_base_F { class arifle_SDAR_F: SDAR_base_F {
initSpeed = -0.9723; magazines[] = {
"20Rnd_556x45_UW_mag",
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.989;
ACE_barrelTwist=11.25; ACE_barrelTwist=11.25;
ACE_barrelLength=18; ACE_barrelLength=18;
}; };
@ -336,16 +395,43 @@ class CfgWeapons {
ACE_barrelLength=7.7; ACE_barrelLength=7.7;
}; };
class arifle_TRG20_F: Tavor_base_F { class arifle_TRG20_F: Tavor_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.95; initSpeed = -0.95;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=15; ACE_barrelLength=15;
}; };
class arifle_TRG21_F: Tavor_base_F { class arifle_TRG21_F: Tavor_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.989; initSpeed = -0.989;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=18.1; ACE_barrelLength=18.1;
}; };
class arifle_TRG21_GL_F: Tavor_base_F { class arifle_TRG21_GL_F: Tavor_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.989; initSpeed = -0.989;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=18.1; ACE_barrelLength=18.1;
@ -357,16 +443,43 @@ class CfgWeapons {
}; };
*/ */
class arifle_Mk20_F: mk20_base_F { class arifle_Mk20_F: mk20_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.98; initSpeed = -0.98;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=17.4; ACE_barrelLength=17.4;
}; };
class arifle_Mk20C_F: mk20_base_F { class arifle_Mk20C_F: mk20_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.956; initSpeed = -0.956;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=16; ACE_barrelLength=16;
}; };
class arifle_Mk20_GL_F: mk20_base_F { class arifle_Mk20_GL_F: mk20_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.956; initSpeed = -0.956;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=16; ACE_barrelLength=16;
@ -377,11 +490,21 @@ class CfgWeapons {
ACE_barrelLength=5.5; ACE_barrelLength=5.5;
}; };
class srifle_DMR_01_F: DMR_01_base_F { class srifle_DMR_01_F: DMR_01_base_F {
magazines[] = {
"10Rnd_762x54_Mag",
"ACE_10Rnd_762x54_Tracer_mag"
};
initSpeed = -1.025; initSpeed = -1.025;
ACE_barrelTwist=9.5; ACE_barrelTwist=9.5;
ACE_barrelLength=24; ACE_barrelLength=24;
}; };
class srifle_EBR_F: EBR_base_F { class srifle_EBR_F: EBR_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.9724; initSpeed = -0.9724;
ACE_barrelTwist=12; ACE_barrelTwist=12;
ACE_barrelLength=18; ACE_barrelLength=18;
@ -409,6 +532,12 @@ class CfgWeapons {
ACE_barrelLength=26; ACE_barrelLength=26;
}; };
class srifle_DMR_03_F: DMR_03_base_F { class srifle_DMR_03_F: DMR_03_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.9843; initSpeed = -0.9843;
ACE_barrelTwist=10; ACE_barrelTwist=10;
ACE_barrelLength=20; ACE_barrelLength=20;
@ -424,6 +553,12 @@ class CfgWeapons {
ACE_barrelLength=24.41; ACE_barrelLength=24.41;
}; };
class srifle_DMR_06_camo_F: DMR_06_base_F { class srifle_DMR_06_camo_F: DMR_06_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.9916; initSpeed = -0.9916;
ACE_barrelTwist=12; ACE_barrelTwist=12;
ACE_barrelLength=22; ACE_barrelLength=22;

View File

@ -257,42 +257,6 @@
<Italian>Calibro: 5.56x45 mm Traccianti IR-DIM&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Italian> <Italian>Calibro: 5.56x45 mm Traccianti IR-DIM&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Italian>
<Russian>Калибр: 5.56x45 мм трассирующие под ПНВ&lt;br /&gt;Патронов: 30&lt;br /&gt;Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Russian> <Russian>Калибр: 5.56x45 мм трассирующие под ПНВ&lt;br /&gt;Патронов: 30&lt;br /&gt;Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Russian>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_SDName">
<English>5.56mm 30Rnd SD Mag</English>
<Hungarian>5,56 mm Hangtompítós 30-as Tár</Hungarian>
<German>5,56 mm 30-Schuss-Magazin SD</German>
<Spanish>Cargador de 30 balas SD de 5,56 mm</Spanish>
<French>Ch. 5,56mm 30Cps SD</French>
<Polish>Magazynek 5,56mm 30rd SD</Polish>
<Czech>5.56mm 30ks SD Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis SD de 5,56mm</Portuguese>
<Italian>Caricatore 5.56mm 30Rnd Sil.</Italian>
<Russian>Магазин из 30-ти 5.56 мм дозвуковых</Russian>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_SDNameShort">
<English>5.56mm SD</English>
<Hungarian>5,56 mm Hangtompítós</Hungarian>
<German>5,56mm SD</German>
<Spanish>5,56 mm SD</Spanish>
<French>5,56mm SD</French>
<Polish>5,56mm SD</Polish>
<Czech>5.56mm SD</Czech>
<Portuguese>5,56mm SD</Portuguese>
<Italian>5.56 Sil.</Italian>
<Russian>5.56 мм дозвуковые</Russian>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_SDDescription">
<English>Caliber: 5.56x45 mm SD&lt;br /&gt;Rounds: 30&lt;br /&gt;Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</English>
<Hungarian>Kaliber: 5,56x45 mm Hangtompítós&lt;br /&gt;Lőszerek: 30&lt;br /&gt;Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Hungarian>
<German>Kaliber: 5,56x45 mm SD&lt;br /&gt;Patronen: 30&lt;br /&gt;Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</German>
<Spanish>Calibre: 5,56x45 mm SD&lt;br /&gt;Balas: 30&lt;br /&gt;Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Spanish>
<French>Calibre: 5.56x45 mm SD&lt;br /&gt;Cartouches: 30&lt;br /&gt;Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</French>
<Polish>Kaliber: 5,56 x 45 mm SD&lt;br /&gt;Pociski: 30&lt;br /&gt;Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Polish>
<Czech>Ráže: 5.56x45 mm SD&lt;br /&gt;Munice: 30&lt;br /&gt;Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Czech>
<Portuguese>Calibre: 5,56x45 mm SD&lt;br /&gt;Projéteis: 30&lt;br /&gt;Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Portuguese>
<Italian>Calibro: 5.56x45 mm Sil.&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Italian>
<Russian>Калибр: 5.56x45 мм дозвуковые&lt;br /&gt;Патронов: 30&lt;br /&gt;Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Russian>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_APName"> <Key ID="STR_ACE_30Rnd_556x45_mag_APName">
<English>5.56mm 30Rnd AP Mag</English> <English>5.56mm 30Rnd AP Mag</English>
<Hungarian>5,56 mm Páncéltörő 30-as Tár</Hungarian> <Hungarian>5,56 mm Páncéltörő 30-as Tár</Hungarian>
@ -474,52 +438,7 @@
<Italian>Calibro: 7.62x51 mm AP&lt;br /&gt;Munizioni: 20&lt;br /&gt;In uso su: Mk18 ABR</Italian> <Italian>Calibro: 7.62x51 mm AP&lt;br /&gt;Munizioni: 20&lt;br /&gt;In uso su: Mk18 ABR</Italian>
<Russian>Калибр: 7.62x51 мм дозвуковые&lt;br /&gt;Патронов: 20&lt;br /&gt;Применимы в: Mk18 ABR</Russian> <Russian>Калибр: 7.62x51 мм дозвуковые&lt;br /&gt;Патронов: 20&lt;br /&gt;Применимы в: Mk18 ABR</Russian>
</Key> </Key>
<Key ID="STR_ACE_20Rnd_762x51_mag_LRDescription">
<English>Caliber: 7.62x51mm M118LR&lt;br /&gt;Rounds: 20&lt;br /&gt;Type: M14</English>
<Hungarian>Kaliber: 7,62x51 mm M118LR&lt;br /&gt;Lőszerek: 20&lt;br /&gt;Típus: M14</Hungarian>
<German>Kaliber: 7,62x51mm M118LR&lt;br /&gt;Schuss: 20&lt;br /&gt;Typ: M14</German>
<Spanish>Calibre: 7,62x51mm M118LR&lt;br /&gt;Balas: 20&lt;br /&gt;Tipo: M14</Spanish>
<Polish>Kaliber: 7,62 x 51 mm M118LR&lt;br /&gt;Pociski: 20&lt;br /&gt;Typ: M14</Polish>
<Czech>Kalibr: 7.62x51mm M118LR&lt;br /&gt;Náboje: 20&lt;br /&gt;Typ: M14</Czech>
<French>Calibre : 7,62x51mm M118LR&lt;br /&gt;Cartouches: 20&lt;br /&gt;Type: M14</French>
<Portuguese>Calibre: 7,62x51mm M118LR&lt;br /&gt;Projéteis: 20&lt;br /&gt;Tipo: M14</Portuguese>
<Russian>Калибр: 7.62x51mm M118LR&lt;br /&gt;Патронов: 20&lt;br /&gt;Тип: M14</Russian>
<Italian>Calibro: 7.62x51mm M118LR&lt;br /&gt;Munizioni:20&lt;br /&gt;In uso su: M14</Italian>
</Key>
<!-- .338 Lapua Magnum --> <!-- .338 Lapua Magnum -->
<Key ID="STR_ACE_10Rnd_338_Mag_TracerName">
<English>.338 LM 10Rnd Tracer Mag</English>
<German>.338 LM 10-Schuss-Magazin Leuchtspur</German>
<Polish>Magazynek .338 LM 10rd Smugacz</Polish>
<Czech>.338 LM 10Rnd Svítící Zásobník</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_TracerNameShort">
<English>.338 LM Tracer</English>
<German>.338 LM Leuchtspur</German>
<Polish>.338 LM Smugacz</Polish>
<Czech>.338 LM Svítící</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_TracerDescription">
<English>Caliber: .338 Lapua Magnum Tracer&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: MAR-10</English>
<German>Kaliber: .338 Lapua Magnum Leuchtspur&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum Smugacz&lt;br /&gt;Pociski: 10&lt;br /&gt;Używane w: MAR-10</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_388_Mag_Tracer_DimName">
<English>.338 LM 10Rnd IR-DIM Mag</English>
<German>.338 LM 10-Schuss-Magazin Leuchtspur IR-DIM</German>
<Polish>Magazynek .338 LM 10rd IR-DIM</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_Tracer_DimNameShort">
<English>.338 LM IR-DIM</English>
<German>.338 LM IR-DIM</German>
<Polish>.338 LM IR-DIM</Polish>
<Czech>.338 LM IR-DIM</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_Tracer_DimDescription">
<English>Caliber: .338 Lapua Magnum Tracer IR-DIM&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: MAR-10</English>
<German>Kaliber: .338 Lapua Magnum Leuchtspur IR-DIM&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum Smugacz IR-DIM&lt;br /&gt;Pociski: 10&lt;br /&gt;Używane w: MAR-10</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_APName"> <Key ID="STR_ACE_10Rnd_338_Mag_APName">
<English>.338 LM 10Rnd AP Mag</English> <English>.338 LM 10Rnd AP Mag</English>
<German>.338 LM 10-Schuss-Magazin Hartkern</German> <German>.338 LM 10-Schuss-Magazin Hartkern</German>
@ -536,22 +455,6 @@
<German>Kaliber: .338 Lapua Magnum Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German> <German>Kaliber: .338 Lapua Magnum Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: MAR-10</Polish> <Polish>Kaliber: .338 Lapua Magnum AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: MAR-10</Polish>
</Key> </Key>
<Key ID="STR_ACE_10Rnd_338_Mag_SDName">
<English>.338 LM 10Rnd SD Mag</English>
<German>.338 LM 10-Schuss-Magazin Unterschall</German>
<Polish>Magazynek .338 LM 10rd SD</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_SDNameShort">
<English>.338 LM SD</English>
<German>.338 LM SD</German>
<Polish>.338 LM SD</Polish>
<Czech>.338 LM SD</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_SDDescription">
<English>Caliber: .338 Lapua Magnum SD&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: MAR-10</English>
<German>Kaliber: .338 Lapua Magnum Unterschall&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum SD&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: MAR-10</Polish>
</Key>
<!-- .338 Norma Magnum --> <!-- .338 Norma Magnum -->
<Key ID="STR_ACE_130Rnd_338_Mag_TracerName"> <Key ID="STR_ACE_130Rnd_338_Mag_TracerName">
<English>.338 NM 130Rnd Tracer Belt</English> <English>.338 NM 130Rnd Tracer Belt</English>
@ -650,22 +553,6 @@
<German>Kaliber: 9,3x64mm Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German> <German>Kaliber: 9,3x64mm Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish> <Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
</Key> </Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_SDName">
<English>9.3mm 10Rnd SD Mag</English>
<German>9,3mm 10-Schuss-Magazin Unterschall</German>
<Polish>Magazynek 9,3mm 10rd SD</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_SDNameShort">
<English>9.3mm SD</English>
<German>9,3mm SD</German>
<Polish>9,3mm SD</Polish>
<Czech>9.3mm SD</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_SDDescription">
<English>Caliber: 9.3x64mm SD&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: Cyrus</English>
<German>Kaliber: 9,3x64mm Unterschall&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3 x 64 mm SD&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
</Key>
<!-- 9.3x64mm 150Rnd Belt--> <!-- 9.3x64mm 150Rnd Belt-->
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerName"> <Key ID="STR_ACE_150Rnd_93x64_Mag_TracerName">
<English>9.3mm 150Rnd Tracer Belt</English> <English>9.3mm 150Rnd Tracer Belt</English>
@ -716,16 +603,112 @@
<Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish> <Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish>
</Key> </Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Name"> <Key ID="STR_ACE_16Rnd_9x19_mag_Name">
<English>9x19mm 16Rnd Mag</English>
</Key> </Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_NameShort"> <Key ID="STR_ACE_16Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
</Key> </Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Description"> <Key ID="STR_ACE_16Rnd_9x19_mag_Description">
<English>9x19mm 16Rnd Mag</English>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Name"> <Key ID="STR_ACE_30Rnd_9x19_mag_Name">
<English>9x19mm 30Rnd Mag</English>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_NameShort"> <Key ID="STR_ACE_30Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Description"> <Key ID="STR_ACE_30Rnd_9x19_mag_Description">
<English>9x19mm 30Rnd Mag</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Name">
<English>7.62x54mm 10Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_NameShort">
<English>7.62mm IR-DIM</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Description">
<English>7.62x54mm 10Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name">
<English>5.56mm 30Rnd Mag (Mk262)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort">
<English>5.56mm (Mk262)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description">
<English>Caliber: 5.56x45 mm NATO (Mk262)&lt;br /&gt;Rounds: 30</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name">
<English>5.56mm 30Rnd Mag (Mk318)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort">
<English>5.56mm (Mk318)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description">
<English>Caliber: 5.56x45 mm NATO (Mk318)&lt;br /&gt;Rounds: 30</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 10Rnd Mag (M118LR)</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm (M118LR)</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Rounds: 10</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 20Rnd Mag (M118LR)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm (M118LR)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Rounds: 20</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 0)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort">
<English>7.62mm (Mk248 Mod 0)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description">
<English>Caliber: 7.62x67 mm NATO (Mk248 Mod 0)&lt;br /&gt;Rounds: 20</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 1)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort">
<English>7.62mm (Mk248 Mod 1)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description">
<English>Caliber: 7.62x67 mm NATO (Mk248 Mod 1)&lt;br /&gt;Rounds: 20</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name">
<English>7.62mm 20Rnd Mag (Berger Hybrid OTM)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort">
<English>7.62mm (OTM)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description">
<English>Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)&lt;br /&gt;Rounds: 20</English>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,178 +1,178 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Captives"> <Package name="Captives">
<Key ID="STR_ACE_Captives_SetCaptive"> <Key ID="STR_ACE_Captives_SetCaptive">
<English>Take Prisoner</English> <English>Take Prisoner</English>
<German>Gefangen nehmen</German> <German>Gefangen nehmen</German>
<Spanish>Tomar prisionero</Spanish> <Spanish>Tomar prisionero</Spanish>
<French>Capturer le prisonnier</French> <French>Capturer le prisonnier</French>
<Polish>Weź więźnia</Polish> <Polish>Weź więźnia</Polish>
<Czech>Zajmout Osobu</Czech> <Czech>Zajmout Osobu</Czech>
<Italian>Arresta il Prigioniero</Italian> <Italian>Arresta il Prigioniero</Italian>
<Portuguese>Tomar Prisioneiro</Portuguese> <Portuguese>Tomar Prisioneiro</Portuguese>
<Hungarian>Foglyul ejtés</Hungarian> <Hungarian>Foglyul ejtés</Hungarian>
<Russian>Взять в плен</Russian> <Russian>Взять в плен</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_ReleaseCaptive"> <Key ID="STR_ACE_Captives_ReleaseCaptive">
<English>Free Prisoner</English> <English>Free Prisoner</English>
<German>Gefangenen freilassen</German> <German>Gefangenen freilassen</German>
<Spanish>Liberar prisionero</Spanish> <Spanish>Liberar prisionero</Spanish>
<Polish>Wypuść więźnia</Polish> <Polish>Wypuść więźnia</Polish>
<French>Libérer le prisonnier</French> <French>Libérer le prisonnier</French>
<Czech>Osvobodit Zajatce</Czech> <Czech>Osvobodit Zajatce</Czech>
<Italian>Libera il Prigioniero</Italian> <Italian>Libera il Prigioniero</Italian>
<Portuguese>Libertar Prisioneiro</Portuguese> <Portuguese>Libertar Prisioneiro</Portuguese>
<Hungarian>Fogoly szabadon elengedése</Hungarian> <Hungarian>Fogoly szabadon elengedése</Hungarian>
<Russian>Освободить пленника</Russian> <Russian>Освободить пленника</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_EscortCaptive"> <Key ID="STR_ACE_Captives_EscortCaptive">
<English>Escort Prisoner</English> <English>Escort Prisoner</English>
<German>Gefangenen eskortieren</German> <German>Gefangenen eskortieren</German>
<Spanish>Escoltar prisionero</Spanish> <Spanish>Escoltar prisionero</Spanish>
<Polish>Eskortuj więźnia</Polish> <Polish>Eskortuj więźnia</Polish>
<French>Escorter le prisonnier</French> <French>Escorter le prisonnier</French>
<Czech>Eskortovat Zajatce</Czech> <Czech>Eskortovat Zajatce</Czech>
<Italian>Scorta il Prigioniero</Italian> <Italian>Scorta il Prigioniero</Italian>
<Portuguese>Escoltar Prisioneiro</Portuguese> <Portuguese>Escoltar Prisioneiro</Portuguese>
<Hungarian>Fogoly kísérése</Hungarian> <Hungarian>Fogoly kísérése</Hungarian>
<Russian>Конвоировать пленника</Russian> <Russian>Конвоировать пленника</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_StopEscorting"> <Key ID="STR_ACE_Captives_StopEscorting">
<English>Release Prisoner</English> <English>Release Prisoner</English>
<German>Gefangenen loslassen</German> <German>Gefangenen loslassen</German>
<Spanish>Soltar prisionero</Spanish> <Spanish>Soltar prisionero</Spanish>
<Polish>Anuluj eskortowanie</Polish> <Polish>Anuluj eskortowanie</Polish>
<French>Relâcher le prisonnier</French> <French>Relâcher le prisonnier</French>
<Czech>Uvolnit Zajatce</Czech> <Czech>Uvolnit Zajatce</Czech>
<Italian>Rilascia il Prigioniero</Italian> <Italian>Rilascia il Prigioniero</Italian>
<Portuguese>Largar Prisioneiro</Portuguese> <Portuguese>Largar Prisioneiro</Portuguese>
<Hungarian>Fogoly elengedése</Hungarian> <Hungarian>Fogoly elengedése</Hungarian>
<Russian>Прекратить конвоирование</Russian> <Russian>Прекратить конвоирование</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_NoCaptive"> <Key ID="STR_ACE_Captives_NoCaptive">
<English>You need to take him as prisoner first!</English> <English>You need to take him as prisoner first!</English>
<German>Du musst ihn zuerst gefangen nehmen.</German> <German>Du musst ihn zuerst gefangen nehmen.</German>
<Spanish>Necesitas hacerle prisionero primero!</Spanish> <Spanish>Necesitas hacerle prisionero primero!</Spanish>
<Polish>Najpierw musisz wziąć go jako więźnia!</Polish> <Polish>Najpierw musisz wziąć go jako więźnia!</Polish>
<French>Vous devez d'abord le capturer!</French> <French>Vous devez d'abord le capturer!</French>
<Czech>Musíš ho nejdříve zajmout!</Czech> <Czech>Musíš ho nejdříve zajmout!</Czech>
<Italian>Prima devi arrestarlo!</Italian> <Italian>Prima devi arrestarlo!</Italian>
<Portuguese>Você deve tomá-lo como prisioneiro primeiro!</Portuguese> <Portuguese>Você deve tomá-lo como prisioneiro primeiro!</Portuguese>
<Hungarian>Először foglyul kell ejtened!</Hungarian> <Hungarian>Először foglyul kell ejtened!</Hungarian>
<Russian>Вы должны сначала взять его в плен!</Russian> <Russian>Вы должны сначала взять его в плен!</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_LoadCaptive"> <Key ID="STR_ACE_Captives_LoadCaptive">
<English>Load Captive</English> <English>Load Captive</English>
<German>Gefangenen einladen</German> <German>Gefangenen einladen</German>
<Spanish>Cargar prisionero</Spanish> <Spanish>Cargar prisionero</Spanish>
<French>Embarquer le prisonnier</French> <French>Embarquer le prisonnier</French>
<Polish>Załaduj więźnia</Polish> <Polish>Załaduj więźnia</Polish>
<Czech>Naložit zajatce</Czech> <Czech>Naložit zajatce</Czech>
<Hungarian>Fogoly berakása</Hungarian> <Hungarian>Fogoly berakása</Hungarian>
<Russian>Загрузить пленного</Russian> <Russian>Загрузить пленного</Russian>
<Portuguese>Embarcar Prisioneiro</Portuguese> <Portuguese>Embarcar Prisioneiro</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Captives_UnloadCaptive"> <Key ID="STR_ACE_Captives_UnloadCaptive">
<English>Unload Captive</English> <English>Unload Captive</English>
<German>Gefangenen ausladen</German> <German>Gefangenen ausladen</German>
<Spanish>Descargar prisionero</Spanish> <Spanish>Descargar prisionero</Spanish>
<French>Débarquer le prisonnier</French> <French>Débarquer le prisonnier</French>
<Polish>Wyładuj więźnia</Polish> <Polish>Wyładuj więźnia</Polish>
<Czech>Vyložit zajatce</Czech> <Czech>Vyložit zajatce</Czech>
<Hungarian>Fogoly kivevése</Hungarian> <Hungarian>Fogoly kivevése</Hungarian>
<Russian>Выгрузить пленного</Russian> <Russian>Выгрузить пленного</Russian>
<Portuguese>Desembarcar Prisioneiro</Portuguese> <Portuguese>Desembarcar Prisioneiro</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Captives_CableTie"> <Key ID="STR_ACE_Captives_CableTie">
<English>Cable Tie</English> <English>Cable Tie</English>
<German>Kabelbinder</German> <German>Kabelbinder</German>
<Polish>Opaska zaciskowa</Polish> <Polish>Opaska zaciskowa</Polish>
<Spanish>Precinto</Spanish> <Spanish>Precinto</Spanish>
<French>Serflex</French> <French>Serflex</French>
<Czech>Stahovací Pásek</Czech> <Czech>Stahovací Pásek</Czech>
<Portuguese>Algema Plástica</Portuguese> <Portuguese>Algema Plástica</Portuguese>
<Italian>Fascietta</Italian> <Italian>Fascietta</Italian>
<Hungarian>Gyorskötöző</Hungarian> <Hungarian>Gyorskötöző</Hungarian>
<Russian>Кабельная стяжка</Russian> <Russian>Кабельная стяжка</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_CableTieDescription"> <Key ID="STR_ACE_Captives_CableTieDescription">
<English>Cable ties that allow you to restrain prisoners.</English> <English>Cable ties that allow you to restrain prisoners.</English>
<German>Kabelbinder ermöglichen es, Gefangene zu fesseln.</German> <German>Kabelbinder ermöglichen es, Gefangene zu fesseln.</German>
<Polish>Opaska zaciskowa pozwala na skrępowanie dłoni u więźnia.</Polish> <Polish>Opaska zaciskowa pozwala na skrępowanie dłoni u więźnia.</Polish>
<Spanish>Los precintos permiten maniatar prisioneros</Spanish> <Spanish>Los precintos permiten maniatar prisioneros</Spanish>
<French>Les Serflex permettent de menotter les prisonniers.</French> <French>Les Serflex permettent de menotter les prisonniers.</French>
<Czech>Stahovací pásky vám umožní zadržet vězně.</Czech> <Czech>Stahovací pásky vám umožní zadržet vězně.</Czech>
<Portuguese>A algema plástica permite que você contenha prisioneiros.</Portuguese> <Portuguese>A algema plástica permite que você contenha prisioneiros.</Portuguese>
<Italian>Fascietta che ti consente di arrestare i prigionieri.</Italian> <Italian>Fascietta che ti consente di arrestare i prigionieri.</Italian>
<Hungarian>Gyorskötöző emberek fogjulejtéséhez.</Hungarian> <Hungarian>Gyorskötöző emberek fogjulejtéséhez.</Hungarian>
<Russian>Кабельные стяжки позволяют связывать пленников.</Russian> <Russian>Кабельные стяжки позволяют связывать пленников.</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_FriskMenuHeader"> <Key ID="STR_ACE_Captives_FriskMenuHeader">
<English>Inventory of frisked person</English> <English>Inventory of frisked person</English>
<German>Inventar der durchsuchten Person</German> <German>Inventar der durchsuchten Person</German>
<French>Inventaire de la fouille</French> <French>Inventaire de la fouille</French>
<Spanish>Inventario de la persona cacheada</Spanish> <Spanish>Inventario de la persona cacheada</Spanish>
<Hungarian>Motozott személy felszerelése</Hungarian> <Hungarian>Motozott személy felszerelése</Hungarian>
<Czech>Inventář prohledávané osoby</Czech> <Czech>Inventář prohledávané osoby</Czech>
<Polish>Ekwipunek rewidowanej osoby</Polish> <Polish>Ekwipunek rewidowanej osoby</Polish>
<Russian>Инвентарь обысканных лиц</Russian> <Russian>Инвентарь обысканных лиц</Russian>
<Portuguese>Inventário da pessoa revistada</Portuguese> <Portuguese>Inventário da pessoa revistada</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Captives_FriskPerson"> <Key ID="STR_ACE_Captives_FriskPerson">
<English>Frisk person</English> <English>Frisk person</English>
<German>Person durchsuchen</German> <German>Person durchsuchen</German>
<French>Fouiller</French> <French>Fouiller</French>
<Spanish>Cachear</Spanish> <Spanish>Cachear</Spanish>
<Czech>Prohledávaná osoba</Czech> <Czech>Prohledávaná osoba</Czech>
<Polish>Rewiduj osobę</Polish> <Polish>Rewiduj osobę</Polish>
<Hungarian>Motozás</Hungarian> <Hungarian>Motozás</Hungarian>
<Russian>Обыскать человека</Russian> <Russian>Обыскать человека</Russian>
<Portuguese>Revistar</Portuguese> <Portuguese>Revistar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Captives_StartSurrendering"> <Key ID="STR_ACE_Captives_StartSurrendering">
<English>Surrender</English> <English>Surrender</English>
<French>Se rendre</French> <French>Capituler</French>
<German>Kapitulieren</German> <German>Kapitulieren</German>
<Spanish>Rendirse</Spanish> <Spanish>Rendirse</Spanish>
<Czech>Vzdát se</Czech> <Czech>Vzdát se</Czech>
<Polish>Poddaj się</Polish> <Polish>Poddaj się</Polish>
<Russian>Сдаться в плен</Russian> <Russian>Сдаться в плен</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_StopSurrendering"> <Key ID="STR_ACE_Captives_StopSurrendering">
<English>Stop Surrendering</English> <English>Stop Surrendering</English>
<French>Arrêt de se rendre</French> <French>Annuler la capitulation</French>
<German>Den Kampf erneut aufnehmen</German> <German>Den Kampf erneut aufnehmen</German>
<Spanish>Dejar de rendirse</Spanish> <Spanish>Dejar de rendirse</Spanish>
<Czech>Přestat se vzdávat</Czech> <Czech>Přestat se vzdávat</Czech>
<Polish>Podejmij walkę ponownie</Polish> <Polish>Podejmij walkę ponownie</Polish>
<Russian>Отменить сдачу в плен</Russian> <Russian>Отменить сдачу в плен</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_Zeus_OnlyAlive"> <Key ID="STR_ACE_Captives_Zeus_OnlyAlive">
<English>Only use on alive units</English> <English>Only use on alive units</English>
<French>Utilisation uniquement sur les unités en vie</French> <French>Utiliser uniquement sur unité vivante</French>
<German>Nur bei lebenden Einheiten verwendbar</German> <German>Nur bei lebenden Einheiten verwendbar</German>
<Spanish>Utilizar solo en unidades vivas</Spanish> <Spanish>Utilizar solo en unidades vivas</Spanish>
<Czech>Použitelné jen na živé jednotky</Czech> <Czech>Použitelné jen na živé jednotky</Czech>
<Polish>Używaj tylko na żywych jednostkach</Polish> <Polish>Używaj tylko na żywych jednostkach</Polish>
<Russian>Применимо только к живым юнитам</Russian> <Russian>Применимо только к живым юнитам</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_Zeus_OnlyInfantry"> <Key ID="STR_ACE_Captives_Zeus_OnlyInfantry">
<English>Only use on dismounted inf</English> <English>Only use on dismounted inf</English>
<French>Utilisation uniquement sur les infanteries</French> <French>Utiliser uniquement sur personnel à pied</French>
<German>Nur bei abgesessener Infanterie verwendbar</German> <German>Nur bei abgesessener Infanterie verwendbar</German>
<Spanish>Utilizar solo en infanteria desmontada</Spanish> <Spanish>Utilizar solo en infanteria desmontada</Spanish>
<Czech>Použitelné jen na pěsích jednotkách</Czech> <Czech>Použitelné jen na pěsích jednotkách</Czech>
<Polish>Używaj tylko na piechocie poza wszelkimi pojazdami</Polish> <Polish>Używaj tylko na piechocie poza wszelkimi pojazdami</Polish>
<Russian>Применимо только к пехоте вне техники</Russian> <Russian>Применимо только к пехоте вне техники</Russian>
</Key> </Key>
<Key ID="STR_ACE_Captives_Zeus_NothingSelected"> <Key ID="STR_ACE_Captives_Zeus_NothingSelected">
<English>Nothing under mouse</English> <English>Nothing under mouse</English>
<French>Rien sous la souris</French> <French>Rien sous la souris</French>
<German>Es wurde nichts ausgewählt</German> <German>Es wurde nichts ausgewählt</German>
<Spanish>Nada bajo el ratón</Spanish> <Spanish>Nada bajo el ratón</Spanish>
<Czech>Nic není vybráno</Czech> <Czech>Nic není vybráno</Czech>
<Polish>Nie ma nic pod kursorem</Polish> <Polish>Nie ma nic pod kursorem</Polish>
<Russian>Ничего не выделено</Russian> <Russian>Ничего не выделено</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -69,9 +69,9 @@ class ACE_Settings {
* force = 0; * force = 0;
* *
* Does it appear on the options menu? * Does it appear on the options menu?
* isClientSetable = 1; * isClientSettable = 1;
* *
* The following settings only apply when isClientSetable == 1 * The following settings only apply when isClientSettable == 1
* Stringtable entry with the setting name * Stringtable entry with the setting name
* displayName = "$STR_ACE_Common_SettingName"; * displayName = "$STR_ACE_Common_SettingName";
* *
@ -90,14 +90,14 @@ class ACE_Settings {
/*class GVAR(enableNumberHotkeys) { /*class GVAR(enableNumberHotkeys) {
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_EnableNumberHotkeys"; displayName = "$STR_ACE_Common_EnableNumberHotkeys";
};*/ };*/
class GVAR(settingFeedbackIcons) { class GVAR(settingFeedbackIcons) {
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
force = 0; force = 0;
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; displayName = "$STR_ACE_Common_SettingFeedbackIconsName";
description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; description = "$STR_ACE_Common_SettingFeedbackIconsDesc";
values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"};
@ -106,7 +106,7 @@ class ACE_Settings {
value = 0; value = 0;
typeName = "SCALAR"; typeName = "SCALAR";
force = 0; force = 0;
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; displayName = "$STR_ACE_Common_SettingProgressbarLocationName";
description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; description = "$STR_ACE_Common_SettingProgressbarLocationDesc";
values[] = {"Top", "Bottom"}; values[] = {"Top", "Bottom"};
@ -114,14 +114,14 @@ class ACE_Settings {
class GVAR(displayTextColor) { class GVAR(displayTextColor) {
value[] = {0,0,0,0.1}; value[] = {0,0,0,0.1};
typeName = "COLOR"; typeName = "COLOR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; displayName = "$STR_ACE_Common_SettingDisplayTextColorName";
description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; description = "$STR_ACE_Common_SettingDisplayTextColorDesc";
}; };
class GVAR(displayTextFontColor) { class GVAR(displayTextFontColor) {
value[] = {1,1,1,1}; value[] = {1,1,1,1};
typeName = "COLOR"; typeName = "COLOR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName";
description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc";
}; };

View File

@ -52,4 +52,4 @@ _lowestVolume = 1;
// Set Radio mod variables. // Set Radio mod variables.
player setVariable ["tf_globalVolume", _lowestVolume]; player setVariable ["tf_globalVolume", _lowestVolume];
player setVariable ["acre_sys_core_globalVolume", _lowestVolume]; if (!isNil "acre_api_fnc_setGlobalVolume") then { [_lowestVolume^0.33] call acre_api_fnc_setGlobalVolume; };

View File

@ -58,7 +58,7 @@ if (isNil _name) then {
/*_settingData = [ /*_settingData = [
_name, _name,
_typeName, _typeName,
_isClientSetable, _isClientSettable,
_localizedName, _localizedName,
_localizedDescription, _localizedDescription,
_possibleValues, _possibleValues,
@ -68,7 +68,7 @@ if (isNil _name) then {
_settingData = [ _settingData = [
_name, _name,
_typeName, _typeName,
(getNumber (_optionEntry >> "isClientSetable")) > 0, (getNumber (_optionEntry >> "isClientSettable")) > 0,
getText (_optionEntry >> "displayName"), getText (_optionEntry >> "displayName"),
getText (_optionEntry >> "description"), getText (_optionEntry >> "description"),
getArray (_optionEntry >> "values"), getArray (_optionEntry >> "values"),

View File

@ -27,8 +27,8 @@ if (_setVolume) then {
player setVariable ["tf_unable_to_use_radio", false]; player setVariable ["tf_unable_to_use_radio", false];
// ACRE2 // ACRE2
[NORMAL_LEVEL] call acre_api_fnc_setGlobalVolume; if (!isNil "acre_api_fnc_setGlobalVolume") then { [NORMAL_LEVEL^0.33] call acre_api_fnc_setGlobalVolume; };
player setVariable ["acre_sys_core_isDisabled", false, true]; player setVariable ["acre_sys_core_isDisabled", false, true];
} else { } else {
// Vanilla Game // Vanilla Game
@ -40,7 +40,7 @@ if (_setVolume) then {
player setVariable ["tf_unable_to_use_radio", true]; player setVariable ["tf_unable_to_use_radio", true];
// ACRE2 // ACRE2
[MUTED_LEVEL] call acre_api_fnc_setGlobalVolume; if (!isNil "acre_api_fnc_setGlobalVolume") then { [MUTED_LEVEL^0.33] call acre_api_fnc_setGlobalVolume; };
player setVariable ["acre_sys_core_isDisabled", true, true]; player setVariable ["acre_sys_core_isDisabled", true, true];
}; };

View File

@ -43,7 +43,7 @@
<Spanish>Opciones ACE</Spanish> <Spanish>Opciones ACE</Spanish>
<Polish>Ustawienia ACE</Polish> <Polish>Ustawienia ACE</Polish>
<Czech>Nastavení ACE</Czech> <Czech>Nastavení ACE</Czech>
<French>ACE Options</French> <French>Options ACE</French>
<Russian>ACE Настройки</Russian> <Russian>ACE Настройки</Russian>
<Portuguese>Opções do ACE</Portuguese> <Portuguese>Opções do ACE</Portuguese>
<Hungarian>ACE Opciók</Hungarian> <Hungarian>ACE Opciók</Hungarian>
@ -297,6 +297,7 @@
<Russian>Без голоса</Russian> <Russian>Без голоса</Russian>
<Hungarian>Nincs hang</Hungarian> <Hungarian>Nincs hang</Hungarian>
<Italian>Senza voce</Italian> <Italian>Senza voce</Italian>
<French>Pas de voix</French>
</Key> </Key>
<Key ID="STR_ACE_ACTION_ACCEPT_REQUEST_KEY_TITLE"> <Key ID="STR_ACE_ACTION_ACCEPT_REQUEST_KEY_TITLE">
<English>Accept Requests</English> <English>Accept Requests</English>
@ -305,7 +306,7 @@
<Polish>Akceptuj prośby</Polish> <Polish>Akceptuj prośby</Polish>
<Czech>Přijmout žádost</Czech> <Czech>Přijmout žádost</Czech>
<Italian>Accetta Richieste</Italian> <Italian>Accetta Richieste</Italian>
<Russian>Подтвердить запросы</Russian> <French>Accepter requête</French>
<Russian>Принять запросы</Russian> <Russian>Принять запросы</Russian>
</Key> </Key>
<Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TITLE"> <Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TITLE">
@ -316,6 +317,7 @@
<Czech>Zamítnout žádost</Czech> <Czech>Zamítnout žádost</Czech>
<Italian>Rifiuta Richieste</Italian> <Italian>Rifiuta Richieste</Italian>
<Russian>Отклонить запросы</Russian> <Russian>Отклонить запросы</Russian>
<French>Rejeter requête</French>
</Key> </Key>
<Key ID="STR_ACE_ACTION_ACCEPT_REQUEST_KEY_TOOLTIP"> <Key ID="STR_ACE_ACTION_ACCEPT_REQUEST_KEY_TOOLTIP">
<English>Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions.</English> <English>Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions.</English>
@ -326,6 +328,7 @@
<Russian>Подтвердить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий.</Russian> <Russian>Подтвердить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий.</Russian>
<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> <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> <Russian>Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий</Russian>
<French>Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions.</French>
</Key> </Key>
<Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TOOLTIP"> <Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TOOLTIP">
<English>Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions.</English> <English>Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions.</English>
@ -336,6 +339,7 @@
<Russian>Отклонить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий.</Russian> <Russian>Отклонить запросы, посланные другими игроками. Это могут быть просьбы о передаче снаряжения или выполнении определённых действий.</Russian>
<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> <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> <Russian>Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий</Russian>
<French>Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalistion d'actions.</French>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingFeedbackIconsName"> <Key ID="STR_ACE_Common_SettingFeedbackIconsName">
<English>Feedback icons</English> <English>Feedback icons</English>
@ -344,7 +348,7 @@
<Italian>Icone informative</Italian> <Italian>Icone informative</Italian>
<Russian>Иконки состояний</Russian> <Russian>Иконки состояний</Russian>
<Polish>Ikony pomocnicze</Polish> <Polish>Ikony pomocnicze</Polish>
<French>Icônes de Feedback</French> <French>Icones d'information</French>
<Czech>Pomocné ikony</Czech> <Czech>Pomocné ikony</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingFeedbackIconsDesc"> <Key ID="STR_ACE_Common_SettingFeedbackIconsDesc">
@ -354,7 +358,7 @@
<Italian>Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore.</Italian> <Italian>Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore.</Italian>
<Russian>Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях.</Russian> <Russian>Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях.</Russian>
<Polish>Ustaw pozycję lub wyłącz całkowicie ikony pomocnicze na ekranie. Te ikony dostarczają dodatkowych informacji na temat statusu Twojej postaci i wykonywanych przez nią akcji.</Polish> <Polish>Ustaw pozycję lub wyłącz całkowicie ikony pomocnicze na ekranie. Te ikony dostarczają dodatkowych informacji na temat statusu Twojej postaci i wykonywanych przez nią akcji.</Polish>
<French>Sélectionner la position de ou désactiver les îcones de feedback sur votre écran. Ces îcones sont là pour vous fournir un feedback du statut votre personnage et les actions à effectuer.</French> <French>Sélection de la position ou la désactivation des icones de feedback. Ces icones vous apportent des informations complémentaires sur votre status et sur les actions en cours.</French>
<Czech>Nastavuje pozici nebo vypíná pomocné ikony. Tyto ikony ukazují extra informace ke stavu postavy a vykonávaných činností.</Czech> <Czech>Nastavuje pozici nebo vypíná pomocné ikony. Tyto ikony ukazují extra informace ke stavu postavy a vykonávaných činností.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingProgressbarLocationName"> <Key ID="STR_ACE_Common_SettingProgressbarLocationName">
@ -364,17 +368,17 @@
<Italian>Posizione della barra di avanzamento</Italian> <Italian>Posizione della barra di avanzamento</Italian>
<Russian>Положение прогресс-бара</Russian> <Russian>Положение прогресс-бара</Russian>
<Polish>Lokalizacja paska postępu</Polish> <Polish>Lokalizacja paska postępu</Polish>
<French>Localisation de la barre de progression</French> <French>Position de la barre de progression</French>
<Czech>Pozice ukazetele průběhu činnosti</Czech> <Czech>Pozice ukazetele průběhu činnosti</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingProgressbarLocationDesc"> <Key ID="STR_ACE_Common_SettingProgressbarLocationDesc">
<English>Set the desired location of the progress bar on your screen.</English> <English>Set the desired location of the progress bar on your screen.</English>
<German>Setze die gewünschte Position der Fortschrittsanzeige fest</German> <German>Setze die gewünschte Position der Fortschrittsanzeige fest.</German>
<Spanish>Seleccionar la ubicación deseada de la barra de progreso en tu pantalla</Spanish> <Spanish>Seleccionar la ubicación deseada de la barra de progreso en tu pantalla</Spanish>
<Italian>Modifica la posizione su schermo della barra di avanzamento.</Italian> <Italian>Modifica la posizione su schermo della barra di avanzamento.</Italian>
<Russian>Установите желаемое положение строки состояния на экране.</Russian> <Russian>Установите желаемое положение строки состояния на экране.</Russian>
<Polish>Ustaw pożądaną lokalizację paska postępu na ekranie</Polish> <Polish>Ustaw pożądaną lokalizację paska postępu na ekranie</Polish>
<French>Définisez l'endroit que vous désirez pour faire appraître la barre de progression.</French> <French>Appliquer la postion de la barre de progression sur l'écran</French>
<Czech>Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce.</Czech> <Czech>Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingDisplayTextColorName"> <Key ID="STR_ACE_Common_SettingDisplayTextColorName">
@ -384,7 +388,7 @@
<Italian>Sfondo dei Suggerimenti</Italian> <Italian>Sfondo dei Suggerimenti</Italian>
<Russian>Цвет фона всплывающих подсказок</Russian> <Russian>Цвет фона всплывающих подсказок</Russian>
<Polish>Kolor tła powiadomień</Polish> <Polish>Kolor tła powiadomień</Polish>
<French>Couleur de fond des astuces</French> <French>Notification: couleur de l'arrière plan</French>
<Czech>Barva pozadí nápovědy</Czech> <Czech>Barva pozadí nápovědy</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingDisplayTextColorDesc"> <Key ID="STR_ACE_Common_SettingDisplayTextColorDesc">
@ -394,7 +398,7 @@
<Italian>Il colore di sfondo dei suggerimenti dell'ACE.</Italian> <Italian>Il colore di sfondo dei suggerimenti dell'ACE.</Italian>
<Russian>Цвет фона всплывающий подсказок АСЕ.</Russian> <Russian>Цвет фона всплывающий подсказок АСЕ.</Russian>
<Polish>Kolor tła dla powiadomień ACE</Polish> <Polish>Kolor tła dla powiadomień ACE</Polish>
<French>Définisez la couleur de fond pour les astuces fournies par ACE.</French> <French>Notifications ACE: couleur de l'arrière plan</French>
<Czech>Barva pozadí ACE nápověd.</Czech> <Czech>Barva pozadí ACE nápověd.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingDisplayTextFontColorName"> <Key ID="STR_ACE_Common_SettingDisplayTextFontColorName">
@ -404,17 +408,17 @@
<Italian>Testo dei Suggerimenti</Italian> <Italian>Testo dei Suggerimenti</Italian>
<Russian>Цвет шрифта всплывающих подсказок</Russian> <Russian>Цвет шрифта всплывающих подсказок</Russian>
<Polish>Kolor tekstu powiadomień</Polish> <Polish>Kolor tekstu powiadomień</Polish>
<French>Couleur du texte des astuces</French> <French>Notification: couleur du texte</French>
<Czech>Barva fontu nápověd.</Czech> <Czech>Barva fontu nápověd.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingDisplayTextFontColorDesc"> <Key ID="STR_ACE_Common_SettingDisplayTextFontColorDesc">
<English>The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified.</English> <English>The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified.</English>
<German>Wähle die Textfarbe für ACE-Hinweise. </German> <German>Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. </German>
<Spanish>El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado.</Spanish> <Spanish>El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado.</Spanish>
<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> <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> <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> <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>Définisez la couleur du texte des astuces fournies par ACE. La couleur est celle par défaut affichée à travers toutes les astuces de ACE seulement si aucune couleur n'est défnie.</French> <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>
<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> <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>
</Key> </Key>
<Key ID="STR_ACE_Common_bananaDisplayName"> <Key ID="STR_ACE_Common_bananaDisplayName">
@ -435,7 +439,11 @@
<Italian>Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotto da un gran numero di grandi pianti erbacee dotate di fiori, della famiglia delle Musaceae.</Italian> <Italian>Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotto da un gran numero di grandi pianti erbacee dotate di fiori, della famiglia delle Musaceae.</Italian>
<Russian>Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa).</Russian> <Russian>Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa).</Russian>
<Polish>Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.&lt;br /&gt;Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.&lt;br /&gt;Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana.</Polish> <Polish>Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.&lt;br /&gt;Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.&lt;br /&gt;Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana.</Polish>
<French>Une banane est un fruit comestible, botaniquement une baie, produite par plusieurs types de grandes plantes herbacées à fleurs dans le genre Musa.</French> <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>
<German>Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen).</German>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Disarming"> <Package name="Disarming">
<Key ID="STR_ACE_Disarming_OpenInventory"> <Key ID="STR_ACE_Disarming_OpenInventory">
<English>Open Inventory</English> <English>Open Inventory</English>
<German>Öffne Inventar</German>
<Polish>Otwórz ekwipunek</Polish> <Polish>Otwórz ekwipunek</Polish>
<Czech>Otevřít inventář</Czech> <Czech>Otevřít inventář</Czech>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,53 +1,53 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Dragging"> <Package name="Dragging">
<Key ID="STR_ACE_Dragging_Drag"> <Key ID="STR_ACE_Dragging_Drag">
<English>Drag</English> <English>Drag</English>
<Russian>Тащить</Russian> <Russian>Тащить</Russian>
<Spanish>Arrastrar</Spanish> <Spanish>Arrastrar</Spanish>
<Polish>Ciągnij</Polish> <Polish>Ciągnij</Polish>
<Czech>Táhnout</Czech> <Czech>Táhnout</Czech>
<French>Tracter</French> <French>Tracter</French>
<German>Ziehen</German> <German>Ziehen</German>
<Portuguese>Arrastar</Portuguese> <Portuguese>Arrastar</Portuguese>
<Italian>Trascina</Italian> <Italian>Trascina</Italian>
<Hungarian>Húzás</Hungarian> <Hungarian>Húzás</Hungarian>
</Key> </Key>
<Key ID="STR_ACE_Dragging_Drop"> <Key ID="STR_ACE_Dragging_Drop">
<English>Release</English> <English>Release</English>
<Russian>Отпустить</Russian> <Russian>Отпустить</Russian>
<Spanish>Soltar</Spanish> <Spanish>Soltar</Spanish>
<Polish>Puść</Polish> <Polish>Puść</Polish>
<Czech>Položit</Czech> <Czech>Položit</Czech>
<French>Lâcher</French> <French>Lâcher</French>
<German>Loslassen</German> <German>Loslassen</German>
<Portuguese>Largar</Portuguese> <Portuguese>Largar</Portuguese>
<Italian>Lascia</Italian> <Italian>Lascia</Italian>
<Hungarian>Elengedés</Hungarian> <Hungarian>Elengedés</Hungarian>
</Key> </Key>
<Key ID="STR_ACE_Dragging_UnableToDrag"> <Key ID="STR_ACE_Dragging_UnableToDrag">
<English>Item to heavy</English> <English>Item to heavy</English>
<German>Gegenstand ist zu schwer</German> <German>Gegenstand ist zu schwer</German>
<Spanish>Articulo demasiado pesado</Spanish> <Spanish>Articulo demasiado pesado</Spanish>
<Polish>Przedmiot zbyt ciężki</Polish> <Polish>Przedmiot zbyt ciężki</Polish>
<French>Objet trop lourd</French> <French>Objet trop lourd</French>
<Portuguese>Não é possível carregar o item devido a seu peso</Portuguese> <Portuguese>Não é possível carregar o item devido a seu peso</Portuguese>
<Italian>Non è possibile trascinare l'oggetto a causa del suo peso</Italian> <Italian>Non è possibile trascinare l'oggetto a causa del suo peso</Italian>
<Hungarian>Túl nehéz ahhoz, hogy elhúzd</Hungarian> <Hungarian>Túl nehéz ahhoz, hogy elhúzd</Hungarian>
<Russian>Слишком тяжело</Russian> <Russian>Слишком тяжело</Russian>
<Czech>Moc težké</Czech> <Czech>Moc težké</Czech>
</Key> </Key>
<Key ID="STR_ACE_Dragging_Carry"> <Key ID="STR_ACE_Dragging_Carry">
<English>Carry</English> <English>Carry</English>
<German>Tragen</German> <German>Tragen</German>
<Spanish>Portar</Spanish> <Spanish>Portar</Spanish>
<Polish>Nieś</Polish> <Polish>Nieś</Polish>
<French>Porter</French> <French>Porter</French>
<Czech>Nést</Czech> <Czech>Nést</Czech>
<Portuguese>Carregar</Portuguese> <Portuguese>Carregar</Portuguese>
<Italian>Trascina</Italian> <Italian>Trascina</Italian>
<Hungarian>Felvesz</Hungarian> <Hungarian>Felvesz</Hungarian>
<Russian>Нести</Russian> <Russian>Нести</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Explosives"> <Package name="Explosives">
<Key ID="STR_ACE_Explosives_Menu"> <Key ID="STR_ACE_Explosives_Menu">
@ -331,7 +330,7 @@
<German>Zeitzünder</German> <German>Zeitzünder</German>
<Spanish>Temporizador</Spanish> <Spanish>Temporizador</Spanish>
<Polish>Czasomierz</Polish> <Polish>Czasomierz</Polish>
<French>Retard</French> <French>Minuteur</French>
<Czech>Časovač</Czech> <Czech>Časovač</Czech>
<Italian>Cronometro</Italian> <Italian>Cronometro</Italian>
<Hungarian>Időzített</Hungarian> <Hungarian>Időzített</Hungarian>
@ -355,7 +354,7 @@
<German>Zeit einstellen</German> <German>Zeit einstellen</German>
<Spanish>Configurar tiempo</Spanish> <Spanish>Configurar tiempo</Spanish>
<Polish>Ustaw czas</Polish> <Polish>Ustaw czas</Polish>
<French>Régler retard</French> <French>Régler minuteur</French>
<Czech>Nastavit Čas</Czech> <Czech>Nastavit Čas</Czech>
<Italian>Modifica il conto alla rovescia</Italian> <Italian>Modifica il conto alla rovescia</Italian>
<Hungarian>Idő állítása</Hungarian> <Hungarian>Idő állítása</Hungarian>
@ -403,7 +402,7 @@
<Polish>Linka naciągu</Polish> <Polish>Linka naciągu</Polish>
<Spanish>Cable trampa</Spanish> <Spanish>Cable trampa</Spanish>
<German>Stolperdraht</German> <German>Stolperdraht</German>
<French>Fil de butée</French> <French>Fil de détente</French>
<Czech>Nástražný drát</Czech> <Czech>Nástražný drát</Czech>
<Italian>Filo a Inciampo</Italian> <Italian>Filo a Inciampo</Italian>
<Hungarian>Botlódrót</Hungarian> <Hungarian>Botlódrót</Hungarian>
@ -496,7 +495,7 @@
<Spanish>Recoger</Spanish> <Spanish>Recoger</Spanish>
<Czech>Sebrat</Czech> <Czech>Sebrat</Czech>
<Polish>Podnieś</Polish> <Polish>Podnieś</Polish>
<French>Prendre</French> <French>Ramasser</French>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Frag"> <Package name="Frag">
<Key ID="STR_DN_ACE_FRAG"> <Key ID="STR_DN_ACE_FRAG">
<English>Disable Fragmentation</English> <English>Disable Fragmentation</English>
<German>Keine Schrapnelle</German> <German>Keine Schrapnelle</German>
<Czech>Zakázat fragmentaci granátů</Czech> <Czech>Zakázat fragmentaci granátů</Czech>
<Spanish>Desactivar fragmentación</Spanish> <Spanish>Desactivar fragmentación</Spanish>
<Polish>Wyłącz fragmentację odłamków</Polish> <Polish>Wyłącz fragmentację odłamków</Polish>
<Russian>Выключить разлёт осколков</Russian> <Russian>Выключить разлёт осколков</Russian>
</Key> <French>Désactive la fragmentation</French>
</Package> </Key>
</Package>
</Project> </Project>

View File

@ -247,7 +247,7 @@ class ACE_Settings {
class GVAR(showInThirdPerson) { class GVAR(showInThirdPerson) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Goggles_ShowInThirdPerson"; displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
}; };
}; };

View File

@ -38,7 +38,7 @@ class ACE_Settings {
class GVAR(DisableEarRinging) { class GVAR(DisableEarRinging) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Hearing_DisableEarRinging"; displayName = "$STR_ACE_Hearing_DisableEarRinging";
}; };
}; };

View File

@ -56,7 +56,7 @@ if (!(missionNameSpace getVariable [QGVAR(disableVolumeUpdate), false])) then {
0.1 fadeSound _volume; 0.1 fadeSound _volume;
0.1 fadeSpeech _volume; 0.1 fadeSpeech _volume;
ACE_player setVariable ["tf_globalVolume", _volume]; ACE_player setVariable ["tf_globalVolume", _volume];
if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume] call acre_api_fnc_setGlobalVolume;}; if (!isNil "acre_api_fnc_setGlobalVolume") then {[_volume^(0.33)] call acre_api_fnc_setGlobalVolume;};
}; };
//hintSilent format ["GVAR(currentDeafness), _Volume = %1, %2", GVAR(currentDeafness), _volume]; //hintSilent format ["GVAR(currentDeafness), _Volume = %1, %2", GVAR(currentDeafness), _volume];

View File

@ -1,110 +1,110 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Hearing"> <Package name="Hearing">
<Key ID="STR_ACE_Hearing_EarPlugs_Name"> <Key ID="STR_ACE_Hearing_EarPlugs_Name">
<English>Ear Plugs</English> <English>Ear Plugs</English>
<German>Ohrenstöpsel</German> <German>Ohrenstöpsel</German>
<Spanish>Tapones para los oídos</Spanish> <Spanish>Tapones para los oídos</Spanish>
<Polish>Stopery do uszu</Polish> <Polish>Stopery do uszu</Polish>
<Czech>Špunty</Czech> <Czech>Špunty</Czech>
<Russian>Беруши</Russian> <Russian>Беруши</Russian>
<French>Bouchons Anti-Bruits</French> <French>Bouchons Anti-Bruits</French>
<Hungarian>Füldugó</Hungarian> <Hungarian>Füldugó</Hungarian>
<Portuguese>Protetor auricular</Portuguese> <Portuguese>Protetor auricular</Portuguese>
<Italian>Tappi auricolari</Italian> <Italian>Tappi auricolari</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_EarPlugs_Description"> <Key ID="STR_ACE_Hearing_EarPlugs_Description">
<English>Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing.</English> <English>Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing.</English>
<German>Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten.</German> <German>Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten ohne Gehörschäden davonzutragen..</German>
<Spanish>Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición.</Spanish> <Spanish>Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición.</Spanish>
<Polish>Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu.</Polish> <Polish>Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu.</Polish>
<Czech>Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní.</Czech> <Czech>Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní.</Czech>
<Russian>Беруши позволяют избежать потери слуха при близкой громкой стрельбе.</Russian> <Russian>Беруши позволяют избежать потери слуха при близкой громкой стрельбе.</Russian>
<French>Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus.</French> <French>Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus.</French>
<Hungarian>Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást.</Hungarian> <Hungarian>Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást.</Hungarian>
<Portuguese>Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição.</Portuguese> <Portuguese>Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição.</Portuguese>
<Italian>Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno.</Italian> <Italian>Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno.</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_EarPlugs_On"> <Key ID="STR_ACE_Hearing_EarPlugs_On">
<English>Earplugs in</English> <English>Earplugs in</English>
<German>Ohrenstöpsel drinnen</German> <German>Ohrenstöpsel rein</German>
<Spanish>Poner tapones</Spanish> <Spanish>Poner tapones</Spanish>
<Polish>Włóż stopery</Polish> <Polish>Włóż stopery</Polish>
<Czech>Dát špunty do uší</Czech> <Czech>Dát špunty do uší</Czech>
<Russian>Беруши надеты</Russian> <Russian>Беруши надеты</Russian>
<French>Bouchons mis</French> <French>Bouchons mis</French>
<Hungarian>Füldugó berakva</Hungarian> <Hungarian>Füldugó berakva</Hungarian>
<Portuguese>Protetores colocados</Portuguese> <Portuguese>Protetores colocados</Portuguese>
<Italian>Indossa i tappi auricolari</Italian> <Italian>Indossa i tappi auricolari</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_EarPlugs_Off"> <Key ID="STR_ACE_Hearing_EarPlugs_Off">
<English>Earplugs out</English> <English>Earplugs out</English>
<German>Ohrenstöpsel raus</German> <German>Ohrenstöpsel raus</German>
<Spanish>Quitar tapones</Spanish> <Spanish>Quitar tapones</Spanish>
<Polish>Wyjmij stopery</Polish> <Polish>Wyjmij stopery</Polish>
<Czech>Vyndat špunty z uší</Czech> <Czech>Vyndat špunty z uší</Czech>
<Russian>Беруши сняты</Russian> <Russian>Беруши сняты</Russian>
<French>Bouchons enlevés</French> <French>Bouchons enlevés</French>
<Hungarian>Füldugó kivéve</Hungarian> <Hungarian>Füldugó kivéve</Hungarian>
<Portuguese>Protetores retirados</Portuguese> <Portuguese>Protetores retirados</Portuguese>
<Italian>Levati i tappi auricolari</Italian> <Italian>Levati i tappi auricolari</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_EarPlugs_Are_On"> <Key ID="STR_ACE_Hearing_EarPlugs_Are_On">
<English>Earplugs in</English> <English>Earplugs in</English>
<German>Ohrenstöpsel drinnen</German> <German>Ohrenstöpsel drinnen</German>
<Spanish>Tapones puestos</Spanish> <Spanish>Tapones puestos</Spanish>
<Polish>Stopery włożone</Polish> <Polish>Stopery włożone</Polish>
<Czech>Špunty v uších</Czech> <Czech>Špunty v uších</Czech>
<Russian>Беруши надеты</Russian> <Russian>Беруши надеты</Russian>
<French>Bouchons mis</French> <French>Bouchons mis</French>
<Hungarian>Füldugó berakva</Hungarian> <Hungarian>Füldugó berakva</Hungarian>
<Portuguese>Protetores colocados</Portuguese> <Portuguese>Protetores colocados</Portuguese>
<Italian>Indossa i tappi auricolari</Italian> <Italian>Indossa i tappi auricolari</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_EarPlugs_Are_Off"> <Key ID="STR_ACE_Hearing_EarPlugs_Are_Off">
<English>Earplugs out</English> <English>Earplugs out</English>
<German>Ohrenstöpsel raus</German> <German>Ohrenstöpsel raus</German>
<Spanish>Tapones quitados</Spanish> <Spanish>Tapones quitados</Spanish>
<Polish>Stopery wyjęte</Polish> <Polish>Stopery wyjęte</Polish>
<Czech>Špunty venku z uší</Czech> <Czech>Špunty venku z uší</Czech>
<Russian>Беруши сняты</Russian> <Russian>Беруши сняты</Russian>
<French>Bouchons enlevés</French> <French>Bouchons enlevés</French>
<Hungarian>Füldugó kivéve</Hungarian> <Hungarian>Füldugó kivéve</Hungarian>
<Portuguese>Protetores retirados</Portuguese> <Portuguese>Protetores retirados</Portuguese>
<Italian>Levati i tappi auricolari</Italian> <Italian>Levati i tappi auricolari</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_NoPlugs"> <Key ID="STR_ACE_Hearing_NoPlugs">
<English>You have no ear plugs</English> <English>You have no ear plugs</English>
<German>Keine Ohrenstöpsel im Inventar</German> <German>Keine Ohrenstöpsel im Inventar</German>
<Spanish>No tienes tapones para los oídos</Spanish> <Spanish>No tienes tapones para los oídos</Spanish>
<Polish>Nie masz stoperów</Polish> <Polish>Nie masz stoperów</Polish>
<Czech>Nemáš žádné špunty</Czech> <Czech>Nemáš žádné špunty</Czech>
<Russian>У вас нет беруш</Russian> <Russian>У вас нет беруш</Russian>
<French>Vous n'avez pas de Bouchons Anti-Bruits</French> <French>Vous n'avez pas de Bouchons Anti-Bruits</French>
<Hungarian>Nincs füldugód</Hungarian> <Hungarian>Nincs füldugód</Hungarian>
<Portuguese>Você não possui protetores auriculares</Portuguese> <Portuguese>Você não possui protetores auriculares</Portuguese>
<Italian>Non hai i tappi auricolari</Italian> <Italian>Non hai i tappi auricolari</Italian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_Inventory_Full"> <Key ID="STR_ACE_Hearing_Inventory_Full">
<English>No inventory space</English> <English>No inventory space</English>
<German>Kein Platz im Inventar</German> <German>Kein Platz im Inventar</German>
<Spanish>Sin espacio en el inventario</Spanish> <Spanish>Sin espacio en el inventario</Spanish>
<Polish>Brak miejsca w ekwipunku</Polish> <Polish>Brak miejsca w ekwipunku</Polish>
<French>Pas de place dans l'inventaire</French> <French>Pas de place dans l'inventaire</French>
<Czech>Není místo v inventáři</Czech> <Czech>Není místo v inventáři</Czech>
<Italian>Non hai abbastanza spazio</Italian> <Italian>Non hai abbastanza spazio</Italian>
<Portuguese>Não há espaço no inventário</Portuguese> <Portuguese>Não há espaço no inventário</Portuguese>
<Hungarian>Nincs több hely</Hungarian> <Hungarian>Nincs több hely</Hungarian>
<Russian>Нет места в инвентаре</Russian> <Russian>Нет места в инвентаре</Russian>
</Key> </Key>
<Key ID="STR_ACE_Hearing_DisableEarRinging"> <Key ID="STR_ACE_Hearing_DisableEarRinging">
<English>Disable ear ringing</English> <English>Disable ear ringing</English>
<French>Désactiver les tintements d'oreille</French> <French>Désactiver le bourdonnement</French>
<Spanish>Desactivar zumbido de oídos</Spanish> <Spanish>Desactivar zumbido de oídos</Spanish>
<Russian>Отключить эффект баротравмы</Russian> <Russian>Отключить эффект баротравмы</Russian>
<German>Knalltrauma deaktivieren</German> <German>Knalltrauma deaktivieren</German>
<Czech>Vypnout pískání v uších</Czech> <Czech>Vypnout pískání v uších</Czech>
<Polish>Wyłącz dzwonienie w uszach</Polish> <Polish>Wyłącz dzwonienie w uszach</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -20,7 +20,7 @@ class ACE_Settings {
class GVAR(AlwaysUseCursorSelfInteraction) { class GVAR(AlwaysUseCursorSelfInteraction) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
}; };
}; };

View File

@ -1,50 +1,51 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Interact_Menu"> <Package name="Interact_Menu">
<Key ID="STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"> <Key ID="STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction">
<English>Always display cursor for self interaction</English> <English>Always display cursor for self interaction</English>
<German>Immer den Cursor für Selbst-Interaktionen anzeigen.</German> <French>Toujours afficher le curseur pour l'interaction personnelle</French>
<Spanish>Mostrar siempre el cursor para la interacción propia</Spanish> <German>Immer den Cursor für Selbst-Interaktionen anzeigen.</German>
<Russian>Всегда показывать курсор для взаимодействия с собой</Russian> <Spanish>Mostrar siempre el cursor para la interacción propia</Spanish>
<Czech>Zobrazit kurzor v menu pro vlastní interakci</Czech> <Russian>Всегда показывать курсор для взаимодействия с собой</Russian>
<Polish>Zawsze wyświetlaj kursor dla własnej interakcji</Polish> <Czech>Zobrazit kurzor v menu pro vlastní interakci</Czech>
<French>Toujours afficher le curseur pour les interactions sur soi-même</French> <Polish>Zawsze wyświetlaj kursor dla własnej interakcji</Polish>
</Key> <French>Toujours afficher le curseur pour les interactions sur soi-même</French>
<Key ID="STR_ACE_Interact_Menu_InteractKey"> </Key>
<English>Interact Key</English> <Key ID="STR_ACE_Interact_Menu_InteractKey">
<German>Fremdinteraktionsmenü-Taste</German> <English>Interact Key</English>
<Spanish>Tecla de interacción</Spanish> <German>Fremdinteraktionsmenü-Taste</German>
<Russian>Клавиша взаимодействия</Russian> <Spanish>Tecla de interacción</Spanish>
<Czech>Klávesa pro interakci</Czech> <Russian>Клавиша взаимодействия</Russian>
<Polish>Klawisz interakcji</Polish> <Czech>Klávesa pro interakci</Czech>
<French>Touche d'interaction</French> <Polish>Klawisz interakcji</Polish>
</Key> <French>Touche d'interaction</French>
<Key ID="STR_ACE_Interact_Menu_SelfInteractKey"> </Key>
<English>Self Interaction Key</English> <Key ID="STR_ACE_Interact_Menu_SelfInteractKey">
<German>Eigeninteraktionsmenü-Taste</German> <English>Self Interaction Key</English>
<Spanish>Tecla de interacción propia</Spanish> <German>Eigeninteraktionsmenü-Taste</German>
<Russian>Клавиша взаимодействия (с собой)</Russian> <Spanish>Tecla de interacción propia</Spanish>
<Czech>Klávesa pro vlastní interakci</Czech> <Russian>Клавиша взаимодействия (с собой)</Russian>
<Polish>Klawisz własnej interakcji</Polish> <Czech>Klávesa pro vlastní interakci</Czech>
<French>Touche d'Interaction sur soi-même</French> <Polish>Klawisz własnej interakcji</Polish>
</Key> <French>Touche d'interaction personnelle</French>
<Key ID="STR_ACE_Interact_Menu_SelfActionsRoot"> </Key>
<English>Self Actions</English> <Key ID="STR_ACE_Interact_Menu_SelfActionsRoot">
<German>Selbst-Aktionen</German> <English>Self Actions</English>
<Spanish>Acciones propias</Spanish> <German>Selbst-Aktionen</German>
<Russian>Действия с собой</Russian> <Spanish>Acciones propias</Spanish>
<Czech>Vlastní akce</Czech> <Russian>Действия с собой</Russian>
<Polish>Własne akcje</Polish> <Czech>Vlastní akce</Czech>
<French>Actions sur soi-même</French> <Polish>Własne akcje</Polish>
</Key> <French>Interaction personnelle</French>
<Key ID="STR_ACE_Interact_Menu_VehicleActionsRoot"> </Key>
<English>Vehicle Actions</English> <Key ID="STR_ACE_Interact_Menu_VehicleActionsRoot">
<German>Fahrzeug-Aktionen</German> <English>Vehicle Actions</English>
<Spanish>Acciones de vehículo</Spanish> <German>Fahrzeug-Aktionen</German>
<Russian>Действия на транспорте</Russian> <Spanish>Acciones de vehículo</Spanish>
<Czech>Interakce s vozidly</Czech> <Russian>Действия на транспорте</Russian>
<Polish>Akcje pojazdu</Polish> <Czech>Interakce s vozidly</Czech>
<French>Actions sur les véhicules</French> <Polish>Akcje pojazdu</Polish>
</Key> <French>Interaction véhicule</French>
</Package> </Key>
</Package>
</Project> </Project>

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@ class ACE_Settings {
class GVAR(inventoryDisplaySize) { class GVAR(inventoryDisplaySize) {
value = 0; value = 0;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Inventory_SettingName"; displayName = "$STR_ACE_Inventory_SettingName";
description = "$STR_ACE_Inventory_SettingDescription"; description = "$STR_ACE_Inventory_SettingDescription";
values[] = {"Normal (Default Size)", "Medium", "Bigger"}; values[] = {"Normal (Default Size)", "Medium", "Bigger"};

View File

@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Inventory"> <Package name="Inventory">
<Key ID="STR_ACE_Inventory_SettingName"> <Key ID="STR_ACE_Inventory_SettingName">
<English>Make Inventory Display Bigger</English> <English>Make Inventory Display Bigger</English>
<German>Erhöhe die angezeigte Inventargröße</German> <German>Erhöhe die angezeigte Inventargröße</German>
<Spanish>Hacer la pantalla de inventario mas grande</Spanish> <Spanish>Hacer la pantalla de inventario mas grande</Spanish>
<Russian>Сделать окно инвентаря больше</Russian> <Russian>Сделать окно инвентаря больше</Russian>
<Czech>Zvětšit zobrazení inventáře</Czech> <Czech>Zvětšit zobrazení inventáře</Czech>
<Polish>Powiększ UI ekwipunku</Polish> <Polish>Powiększ UI ekwipunku</Polish>
<French>Augmente la taille d'affichage de l'inventaire</French> <French>Agrandir la taille d'affichage de l'inventaire</French>
</Key> </Key>
<Key ID="STR_ACE_Inventory_SettingDescription"> <Key ID="STR_ACE_Inventory_SettingDescription">
<English>Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed.</English> <English>Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed.</English>
<German>Im Regelfall wird die Inventargröße durch die Größe der Nutzeroberfläche bestimmt. Diese Einstellung erlaubt es das Inventar unter Ausschluss der Schriftgröße zu vergrößern. Dadurch können mehr Gegenstände angezeigt werden.</German> <German>Im Regelfall wird die Inventargröße durch die Größe der Nutzeroberfläche bestimmt. Diese Einstellung erlaubt es das Inventar unter Ausschluss der Schriftgröße zu vergrößern. Dadurch können mehr Gegenstände angezeigt werden.</German>
<Spanish>Normalmente la pantalla de inventario se escala por el tamaño de la interfaz de usuario. Esto permite ampliar el tamaño de la interfaz de usuario de inventario, pero no aumenta el tamaño de fuente, permitiendo mostrar más filas.</Spanish> <Spanish>Normalmente la pantalla de inventario se escala por el tamaño de la interfaz de usuario. Esto permite ampliar el tamaño de la interfaz de usuario de inventario, pero no aumenta el tamaño de fuente, permitiendo mostrar más filas.</Spanish>
<Russian>Обычно, окно инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря в пользовательском интерфейсе, не увеличивая размера шрифтов, так что отображется большее количество строк.</Russian> <Russian>Обычно, окно инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря в пользовательском интерфейсе, не увеличивая размера шрифтов, так что отображется большее количество строк.</Russian>
<Czech>Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři.</Czech> <Czech>Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři.</Czech>
<Polish>Ekwipunek skalowany jest poprzez rozmiar UI. Ta opcja pozwala powiększyć rozmiar UI ekwipunku, lecz nie zwiększa rozmiaru fontu pozwalając na wyświetlanie większej ilości wierszy.</Polish> <Polish>Ekwipunek skalowany jest poprzez rozmiar UI. Ta opcja pozwala powiększyć rozmiar UI ekwipunku, lecz nie zwiększa rozmiaru fontu pozwalając na wyświetlanie większej ilości wierszy.</Polish>
<French>Normalement, l'inventaire est automatiquement mesuré par la taille de l'interface de l'utilisateur. Cette option vous permet d'augmenter la taille d'affichage de l'inventaire, cependant, cette option n'augmente pas la police d'écriture et le nombre de place.</French> <French>L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices permettant d'afficher plus de ligne</French>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -12,20 +12,10 @@ class RscLine;
class RscInGameUI { class RscInGameUI {
class ACE_RscOptics_javelin { class ACE_RscOptics_javelin {
idd = 300; idd = 300;
controls[] = { "ACE_javelin_elements_group", "CA_Distance", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"}; controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"};
onLoad = QUOTE(_this call FUNC(onOpticLoad)); onLoad = QUOTE(_this call FUNC(onOpticLoad));
onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];"; onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];";
class CA_Distance: RscOpticsValue {
idc = 151;
sizeEx = "0";
colorText[] = {0,0,0,0};
x = 0;
y = 0;
w = 0;
h = 0;
};
class ACE_javelin_elements_group: RscControlsGroup class ACE_javelin_elements_group: RscControlsGroup
{ {
x = "SafezoneX"; x = "SafezoneX";
@ -45,6 +35,16 @@ class RscInGameUI {
height = 0.001; height = 0.001;
}; };
class Controls { class Controls {
class CA_Distance: RscOpticsValue {
idc = 151;
sizeEx = "0";
colorText[] = {0,0,0,0};
x = 0;
y = 0;
w = 0;
h = 0;
};
class ACE_javelin_Day_mode_off: RscPicture { class ACE_javelin_Day_mode_off: RscPicture {
idc = 1001; idc = 1001;
x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX"; x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX";
@ -58,7 +58,7 @@ class RscInGameUI {
idc = 160; idc = 160;
colorText[] = {0.2941,0.8745,0.2157,1}; colorText[] = {0.2941,0.8745,0.2157,1};
}; };
class ACE_javelin_WFOV_mode_off: ACE_javelin_Day_mode_off { class CA_Javelin_WFOV_mode_off : ACE_javelin_Day_mode_off {
idc = 1004; idc = 1004;
x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.307/4)*3*SafezoneH - SafezoneX"; x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.307/4)*3*SafezoneH - SafezoneX";
text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\wfov_co.paa"; text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\wfov_co.paa";
@ -81,13 +81,6 @@ class RscInGameUI {
height = 0.001; height = 0.001;
}; };
class Controls { class Controls {
class ACE_javelin_WFOV_mode: ACE_javelin_WFOV_mode_off {
idc = -1;
y = "0.031*SafezoneH - SafezoneY";
x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.307/4)*3*SafezoneH - SafezoneX";
colorText[] = {0.2941,0.8745,0.2157,1};
};
/*
class StadiaL: RscLine { class StadiaL: RscLine {
x = "0.4899*SafezoneW - SafezoneX"; x = "0.4899*SafezoneW - SafezoneX";
y = "0.171*SafezoneH - SafezoneY"; y = "0.171*SafezoneH - SafezoneY";
@ -130,10 +123,10 @@ class RscInGameUI {
h = 0; h = 0;
colorText[] = {0.2941,0.8745,0.2157,1}; colorText[] = {0.2941,0.8745,0.2157,1};
}; };
*/
}; };
}; };
class ACE_javelin_NFOV_mode_off: ACE_javelin_Day_mode_off { class CA_Javelin_NFOV_mode_off: ACE_javelin_Day_mode_off {
idc = 1003; idc = 1003;
x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.586/4)*3*SafezoneH - SafezoneX"; x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.586/4)*3*SafezoneH - SafezoneX";
text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\nfov_co.paa"; text = "\A3\ui_f\data\igui\rscingameui\rscoptics_titan\nfov_co.paa";
@ -156,13 +149,6 @@ class RscInGameUI {
height = 0.001; height = 0.001;
}; };
class Controls { class Controls {
class ACE_javelin_NFOV_mode: ACE_javelin_NFOV_mode_off {
idc = 699003;
x = "((SafezoneW -SafezoneH*3/4)/2)+ (0.586/4)*3*SafezoneH - SafezoneX";
y = "0.031*SafezoneH - SafezoneY";
colorText[] = {0.2941,0.8745,0.2157,1};
};
/*
class StadiaL: RscLine { class StadiaL: RscLine {
x = "0.4788*SafezoneW - SafezoneX"; x = "0.4788*SafezoneW - SafezoneX";
y = "0.171*SafezoneH - SafezoneY"; y = "0.171*SafezoneH - SafezoneY";
@ -205,7 +191,7 @@ class RscInGameUI {
h = "0.1895*SafezoneH"; h = "0.1895*SafezoneH";
colorText[] = {0.2941,0.8745,0.2157,1}; colorText[] = {0.2941,0.8745,0.2157,1};
}; };
*/
}; };
}; };

View File

@ -4,10 +4,10 @@ TRACE_1("enter", _this);
private["_player", "_currentFireMode"]; private["_player", "_currentFireMode"];
_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "TOP"]; _currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"];
if(_currentFireMode == "LIN") then { if(_currentFireMode == "JAV_DIR") then {
_currentFireMode = "TOP"; _currentFireMode = "JAV_TOP";
} else { } else {
_currentFireMode = "LIN"; _currentFireMode = "JAV_DIR";
}; };
ACE_player setVariable["ace_missileguidance_attackProfile", _currentFireMode, false]; ACE_player setVariable["ace_missileguidance_attackProfile", _currentFireMode, false];

View File

@ -3,9 +3,8 @@
TRACE_1("enter", _this); TRACE_1("enter", _this);
#define __TRACKINTERVAL 0 // how frequent the check should be. #define __TRACKINTERVAL 0 // how frequent the check should be.
#define __LOCKONTIME 3.0 // Lock on won't occur sooner #define __LOCKONTIME 3 // Lock on won't occur sooner
#define __LOCKONTIMERANDOM 0.3 // Deviation in lock on time
#define __SENSORSQUARE 1 // Locking on sensor square side in angles
#define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5 #define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5
#define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5 #define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5
@ -40,6 +39,7 @@ _currentTarget = _args select 1;
_runTime = _args select 2; _runTime = _args select 2;
_lockTime = _args select 3; _lockTime = _args select 3;
_soundTime = _args select 4; _soundTime = _args select 4;
_randomLockInterval = _args select 5;
// Find a target within the optic range // Find a target within the optic range
_newTarget = objNull; _newTarget = objNull;
@ -52,10 +52,16 @@ if ((velocity ACE_player) distance [0,0,0] > 0.5 && {cameraView == "GUNNER"} &&
// Refresh the firemode // Refresh the firemode
[] call FUNC(showFireMode); [] call FUNC(showFireMode);
// bail on not loaded
if (ACE_player ammo (currentWeapon ACE_player) == 0) exitWith { };
_range = parseNumber (ctrlText __JavelinIGUIRangefinder); _range = parseNumber (ctrlText __JavelinIGUIRangefinder);
TRACE_1("Viewing range", _range);
if (_range > 50 && {_range < 2500}) then { if (_range > 50 && {_range < 2500}) then {
_pos = positionCameraToWorld [0,0,_range]; _pos = positionCameraToWorld [0,0,_range];
_targetArray = _pos nearEntities ["AllVehicles", _range/25]; _targetArray = _pos nearEntities ["AllVehicles", _range/25];
TRACE_1("Searching at range", _targetArray);
if (count (_targetArray) > 0) then { if (count (_targetArray) > 0) then {
_newTarget = _targetArray select 0; _newTarget = _targetArray select 0;
}; };
@ -77,22 +83,45 @@ _offsetY = __OffsetY;
__JavelinIGUITargeting ctrlShow true; __JavelinIGUITargeting ctrlShow true;
__JavelinIGUITargetingConstrains ctrlShow true; __JavelinIGUITargetingConstrains ctrlShow true;
_zamerny = if (_currentTarget isKindOf "CAManBase") then {_currentTarget selectionPosition "body"} else {_currentTarget selectionPosition "zamerny"};
_randomPosWithinBounds = [(_zamerny select 0) + 1 - (random 2.0),(_zamerny select 1) + 1 - (random 2.0),(_zamerny select 2) + 0.5 - (random 1.0)];
_apos = worldToScreen (_currentTarget modelToWorld _randomPosWithinBounds);
_aposX = 0;
_aposY = 0;
if (count _apos < 2) then {
_aposX = 1;
_aposY = 0;
} else {
_aposX = (_apos select 0) + _offsetX;
_aposY = (_apos select 1) + _offsetY;
};
if((call CBA_fnc_getFoV) select 1 > 9) then {
__JavelinIGUINFOV ctrlSetTextColor __ColorGreen;
__JavelinIGUIWFOV ctrlSetTextColor __ColorGray;
} else {
__JavelinIGUINFOV ctrlSetTextColor __ColorGray;
__JavelinIGUIWFOV ctrlSetTextColor __ColorGreen;
};
if (isNull _newTarget) then { if (isNull _newTarget) then {
// No targets found // No targets found
_currentTarget = objNull; _currentTarget = objNull;
_lockTime = 0; _lockTime = 0;
__JavelinIGUISeek ctrlSetTextColor __ColorGray; __JavelinIGUISeek ctrlSetTextColor __ColorGray;
__JavelinIGUINFOV ctrlSetTextColor __ColorGreen;
__JavelinIGUITargeting ctrlShow false; __JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false; __JavelinIGUITargetingLines ctrlShow false;
__JavelinIGUITargetingConstraints ctrlShow false; __JavelinIGUITargetingConstraints ctrlShow false;
ACE_player setVariable ["ace_missileguidance_target",nil, false]; ACE_player setVariable ["ace_missileguidance_target",nil, false];
// Disallow fire // Disallow fire
//if (ACE_player ammo "Javelin" > 0 || {ACE_player ammo "ACE_Javelin_Direct" > 0}) then {ACE_player setWeaponReloadingTime //[player, "Javelin", 0.2];}; if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; };
} else { } else {
if (_newTarget distance ACE_player < 2500 if (_newTarget distance ACE_player < 2500
&& {(call CBA_fnc_getFoV) select 1 > 9} && {(call CBA_fnc_getFoV) select 1 > 9}
@ -107,36 +136,20 @@ if (isNull _newTarget) then {
playSound "ACE_Javelin_Locking"; playSound "ACE_Javelin_Locking";
} else { } else {
if(diag_tickTime - _lockTime > __LOCKONTIME) then { if(diag_tickTime - _lockTime > __LOCKONTIME + _randomLockInterval) then {
TRACE_2("LOCKED!", _currentTarget, _lockTime); TRACE_2("LOCKED!", _currentTarget, _lockTime);
__JavelinIGUISeek ctrlSetTextColor __ColorGreen; __JavelinIGUISeek ctrlSetTextColor __ColorGreen;
__JavelinIGUINFOV ctrlSetTextColor __ColorNull;
__JavelinIGUITargeting ctrlShow true; __JavelinIGUITargeting ctrlShow true;
__JavelinIGUITargetingConstrains ctrlShow false; __JavelinIGUITargetingConstrains ctrlShow false;
__JavelinIGUITargetingGate ctrlShow true; __JavelinIGUITargetingGate ctrlShow true;
__JavelinIGUITargetingLines ctrlShow true; __JavelinIGUITargetingLines ctrlShow true;
_zamerny = if (_currentTarget isKindOf "CAManBase") then {_currentTarget selectionPosition "body"} else {_currentTarget selectionPosition "zamerny"};
_randomPosWithinBounds = [(_zamerny select 0) + 1 - (random 2.0),(_zamerny select 1) + 1 - (random 2.0),(_zamerny select 2) + 0.5 - (random 1.0)];
_apos = worldToScreen (_currentTarget modelToWorld _randomPosWithinBounds);
_aposX = 0;
_aposY = 0;
if (count _apos < 2) then {
_aposX = 1;
_aposY = 0;
} else {
_aposX = (_apos select 0) + _offsetX;
_aposY = (_apos select 1) + _offsetY;
};
// Move target marker to coords. // Move target marker to coords.
__JavelinIGUITargetingLineV ctrlSetPosition [_aposX,ctrlPosition __JavelinIGUITargetingLineV select 1]; //__JavelinIGUITargetingLineV ctrlSetPosition [_aposX,ctrlPosition __JavelinIGUITargetingLineV select 1];
__JavelinIGUITargetingLineH ctrlSetPosition [ctrlPosition __JavelinIGUITargetingLineH select 0,_aposY]; //__JavelinIGUITargetingLineH ctrlSetPosition [ctrlPosition __JavelinIGUITargetingLineH select 0,_aposY];
{_x ctrlCommit __TRACKINTERVAL} forEach [__JavelinIGUITargetingLineH,__JavelinIGUITargetingLineV]; //{_x ctrlCommit __TRACKINTERVAL} forEach [__JavelinIGUITargetingLineH,__JavelinIGUITargetingLineV];
_boundsInput = if (_currentTarget isKindOf "CAManBase") then { _boundsInput = if (_currentTarget isKindOf "CAManBase") then {
[_currentTarget,[-1,-1,-2],_currentTarget selectionPosition "body"]; [_currentTarget,[-1,-1,-2],_currentTarget selectionPosition "body"];
@ -162,6 +175,9 @@ if (isNull _newTarget) then {
ACE_player setVariable["ace_missileguidance_target", _currentTarget, false]; ACE_player setVariable["ace_missileguidance_target", _currentTarget, false];
// Allow fire
ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0];
if(diag_tickTime > _soundTime) then { if(diag_tickTime > _soundTime) then {
playSound "ACE_Javelin_Locked"; playSound "ACE_Javelin_Locked";
_soundTime = diag_tickTime + 0.25; _soundTime = diag_tickTime + 0.25;
@ -169,6 +185,7 @@ if (isNull _newTarget) then {
} else { } else {
__JavelinIGUITargeting ctrlShow true; __JavelinIGUITargeting ctrlShow true;
__JavelinIGUITargetingGate ctrlShow true; __JavelinIGUITargetingGate ctrlShow true;
__JavelinIGUITargetingConstrains ctrlShow true;
__JavelinIGUITargetingLines ctrlShow false; __JavelinIGUITargetingLines ctrlShow false;
ACE_player setVariable["ace_missileguidance_target", nil, false]; ACE_player setVariable["ace_missileguidance_target", nil, false];
@ -186,6 +203,8 @@ if (isNull _newTarget) then {
_maxX = ((_bpos select 2) + _offsetX) min (_constraintRight - 0.025*(3/4)*SafezoneH); _maxX = ((_bpos select 2) + _offsetX) min (_constraintRight - 0.025*(3/4)*SafezoneH);
_maxY = ((_bpos select 3) + _offsetY) min (_constraintBottom - 0.025*SafezoneH); _maxY = ((_bpos select 3) + _offsetY) min (_constraintBottom - 0.025*SafezoneH);
TRACE_4("", _boundsInput, _bpos, _minX, _minY);
__JavelinIGUITargetingGateTL ctrlSetPosition [_minX,_minY]; __JavelinIGUITargetingGateTL ctrlSetPosition [_minX,_minY];
__JavelinIGUITargetingGateTR ctrlSetPosition [_maxX,_minY]; __JavelinIGUITargetingGateTR ctrlSetPosition [_maxX,_minY];
__JavelinIGUITargetingGateBL ctrlSetPosition [_minX,_maxY]; __JavelinIGUITargetingGateBL ctrlSetPosition [_minX,_maxY];
@ -197,22 +216,26 @@ if (isNull _newTarget) then {
playSound "ACE_Javelin_Locking"; playSound "ACE_Javelin_Locking";
_soundTime = diag_tickTime + 0.25; _soundTime = diag_tickTime + 0.25;
}; };
// Disallow fire
if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; };
}; };
}; };
} else { } else {
// Something is wrong with our seek // No targets found
_currentTarget = objNull; _currentTarget = objNull;
ACE_player setVariable["ace_missileguidance_target", nil, false]; _lockTime = 0;
__JavelinIGUISeek ctrlSetTextColor __ColorGray; __JavelinIGUISeek ctrlSetTextColor __ColorGray;
__JavelinIGUINFOV ctrlSetTextColor __ColorGray;
__JavelinIGUITargeting ctrlShow false; __JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false; __JavelinIGUITargetingLines ctrlShow false;
__JavelinIGUITargetingConstraints ctrlShow false;
ACE_player setVariable ["ace_missileguidance_target",nil, false]; ACE_player setVariable ["ace_missileguidance_target",nil, false];
};
// Disallow fire
if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; };
};
}; };
//TRACE_2("", _newTarget, _currentTarget); //TRACE_2("", _newTarget, _currentTarget);

View File

@ -2,6 +2,8 @@
#include "script_component.hpp" #include "script_component.hpp"
TRACE_1("enter", _this); TRACE_1("enter", _this);
#define __LOCKONTIMERANDOM 2 // Deviation in lock on time
if((count _this) > 0) then { if((count _this) > 0) then {
uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0]; uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0];
}; };
@ -22,10 +24,13 @@ uiNameSpace setVariable [QGVAR(arguments),
objNull, // currentTargetObject objNull, // currentTargetObject
0, // Run Time 0, // Run Time
0, // Lock Time 0, // Lock Time
0 // Sound timer 0, // Sound timer
(random __LOCKONTIMERANDOM) // random lock time addition
] ]
]; ];
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; _pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
if(isNil "_pfh_handle") then { if(isNil "_pfh_handle") then {
_pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler; _pfh_handle = [FUNC(onOpticDraw), 0, []] call CBA_fnc_addPerFrameHandler;

View File

@ -24,7 +24,9 @@
#define __JavelinIGUISeek (__JavelinIGUI displayCtrl 699000) #define __JavelinIGUISeek (__JavelinIGUI displayCtrl 699000)
#define __JavelinIGUITop (__JavelinIGUI displayCtrl 699001) #define __JavelinIGUITop (__JavelinIGUI displayCtrl 699001)
#define __JavelinIGUIDir (__JavelinIGUI displayCtrl 699002) #define __JavelinIGUIDir (__JavelinIGUI displayCtrl 699002)
#define __JavelinIGUINFOV (__JavelinIGUI displayCtrl 699003) #define __JavelinIGUINFOV (__JavelinIGUI displayCtrl 1003)
#define __JavelinIGUIWFOV (__JavelinIGUI displayCtrl 1004)
#define __JavelinIGUIRangefinder (__JavelinIGUI displayCtrl 151)
// Constrains // Constrains
#define __JavelinIGUITargetingConstrains (__JavelinIGUI displayCtrl 699100) #define __JavelinIGUITargetingConstrains (__JavelinIGUI displayCtrl 699100)

View File

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="WEP_JAVELIN"> <Package name="WEP_JAVELIN">
<Key ID="STR_ACE_JAVELIN_LockTarget"> <Key ID="STR_ACE_JAVELIN_LockTarget">
<English>Lock Target (Hold)</English> <English>Lock Target (Hold)</English>
<German>Ziel aufschalten</German> <German>Ziel aufschalten</German>
<Russian>Захватить цель (удерживать)</Russian> <Russian>Захватить цель (удерживать)</Russian>
<Czech>Zamknout cíl(držet)</Czech> <Czech>Zamknout cíl(držet)</Czech>
<Polish>Namierz cel (przytrzymaj)</Polish> <Polish>Namierz cel (przytrzymaj)</Polish>
<French>Vérouiller la Cible (Maintenir)</French> <French>Verrouiller cible (maintenir)</French>
</Key> </Key>
<Key ID="STR_ACE_JAVELIN_CycleFireMode"> <Key ID="STR_ACE_JAVELIN_CycleFireMode">
<English>Cycle Fire Mode</English> <English>Cycle Fire Mode</English>
<German>Wechsle Feuermodus</German> <German>Wechsle Feuermodus</German>
<Russian>Переключение режимов огня</Russian> <Russian>Переключение режимов огня</Russian>
<Czech>Cyklování režimů palby</Czech> <Czech>Cyklování režimů palby</Czech>
<Polish>Przełącz tryb ognia</Polish> <Polish>Przełącz tryb ognia</Polish>
<French>Mode de Tir (Cycle)</French> <French>Cycle mode de tir</French>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1 +0,0 @@
#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h))

View File

@ -13,7 +13,6 @@
* Public: No * Public: No
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#include "defines.h"
private ["_playerDir", "_windSpeed", "_windDir", "_crosswind", "_headwind", "_humidity", "_temperature", "_humidity", "_barometricPressure", "_altitude"]; private ["_playerDir", "_windSpeed", "_windDir", "_crosswind", "_headwind", "_humidity", "_temperature", "_humidity", "_barometricPressure", "_altitude"];
@ -40,7 +39,7 @@ if (GVAR(MinAvgMaxMode) == 1) then {
{ {
GVAR(ENTRIES) set [_x, (GVAR(ENTRIES) select _x) + 1]; GVAR(ENTRIES) set [_x, (GVAR(ENTRIES) select _x) + 1];
} forEach [1, 2, 3]; } forEach [1, 2, 3];
// Wind SPD // Wind SPD
_windSpeed = call FUNC(measureWindSpeed); _windSpeed = call FUNC(measureWindSpeed);
GVAR(MIN) set [1, (GVAR(MIN) select 1) min abs(_windSpeed)]; GVAR(MIN) set [1, (GVAR(MIN) select 1) min abs(_windSpeed)];

View File

@ -13,7 +13,6 @@
* Public: No * Public: No
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#include "defines.h"
private ["_playerDir", "_textTop", "_textCenterBig", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2", "_temperature", "_humidity", "_windSpeed", "_windDir", "_newWindSpeed", "_windSource", "_height"]; private ["_playerDir", "_textTop", "_textCenterBig", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2", "_temperature", "_humidity", "_windSpeed", "_windDir", "_newWindSpeed", "_windSource", "_height"];
@ -57,7 +56,7 @@ switch (GVAR(Menu)) do {
_textCenterLine3Left = "Max"; _textCenterLine3Left = "Max";
_textCenterLine1Right = "N/A"; _textCenterLine1Right = "N/A";
_textCenterLine2Right = "N/A"; _textCenterLine2Right = "N/A";
_textCenterLine3Right = "N/A"; _textCenterLine3Right = "N/A";
}; };
}; };
case 1: { // Wind SPD case 1: { // Wind SPD

View File

@ -13,7 +13,6 @@
* Public: No * Public: No
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#include "defines.h"
private ["_playerDir", "_windSpeed", "_windDir"]; private ["_playerDir", "_windSpeed", "_windDir"];

View File

@ -9,4 +9,6 @@
#define DEBUG_SETTINGS DEBUG_SETTINGS_KESTREL4500 #define DEBUG_SETTINGS DEBUG_SETTINGS_KESTREL4500
#endif #endif
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#define GET_TEMPERATURE_AT_HEIGHT(h) (EGVAR(weather,currentTemperature) - 0.0065 * (h))

View File

@ -1,35 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <!-- Edited with tabler. -->
<Project name="ACE">
<Package name="Kestrel4500"> <Package name="Kestrel4500">
<Key ID="STR_ACE_Kestrel_Name"> <Key ID="STR_ACE_Kestrel_Name">
<English>Kestrel 4500NV</English> <English>Kestrel 4500NV</English>
<German>Kestrel 4500NV</German> <German>Kestrel 4500NV</German>
<Spanish>Kestrel 4500NV</Spanish> <Spanish>Kestrel 4500NV</Spanish>
<French>Kestrel 4500NV</French> <French>Kestrel 4500NV</French>
<Polish>Kestrel 4500NV</Polish> <Polish>Kestrel 4500NV</Polish>
<Czech>Kestrel 4500NV</Czech> <Czech>Kestrel 4500NV</Czech>
<Italian>Kestrel 4500NV</Italian> <Italian>Kestrel 4500NV</Italian>
<Hungarian>Kestrel 4500NV</Hungarian> <Hungarian>Kestrel 4500NV</Hungarian>
<Portuguese>Kestrel 4500NV</Portuguese> <Portuguese>Kestrel 4500NV</Portuguese>
<Russian>Kestrel 4500NV</Russian> <Russian>Kestrel 4500NV</Russian>
</Key> </Key>
<Key ID="STR_ACE_Kestrel_Description"> <Key ID="STR_ACE_Kestrel_Description">
<English>Kestrel 4500 Pocket Weather Tracker</English> <English>Kestrel 4500 Pocket Weather Tracker</English>
<Polish>Anemomentr skrzydełkowy Kestrel 4500</Polish>
</Key> </Key>
<Key ID="STR_ACE_Kestrel4500_OpenKestrel"> <Key ID="STR_ACE_Kestrel4500_OpenKestrel">
<English>Open Kestrel 4500</English> <English>Open Kestrel 4500</English>
<Polish>Otwórz Kestrel 4500</Polish>
</Key> </Key>
<Key ID="STR_ACE_Kestrel4500_ShowKestrel"> <Key ID="STR_ACE_Kestrel4500_ShowKestrel">
<English>Show Kestrel 4500</English> <English>Show Kestrel 4500</English>
<Polish>Pokaż Kestrel 4500</Polish>
</Key> </Key>
<Key ID="STR_ACE_Kestrel4500_HideKestrel"> <Key ID="STR_ACE_Kestrel4500_HideKestrel">
<English>Hide Kestrel 4500</English> <English>Hide Kestrel 4500</English>
<Polish>Ukryj Kestrel 4500</Polish>
</Key> </Key>
<Key ID="STR_ACE_Kestrel4500_KestrelDialogKey"> <Key ID="STR_ACE_Kestrel4500_KestrelDialogKey">
<English>Open Kestrel 4500</English> <English>Open Kestrel 4500</English>
<Polish>Otwórz Kestrel 4500</Polish>
</Key> </Key>
<Key ID="STR_ACE_Kestrel4500_DisplayKestrelKey"> <Key ID="STR_ACE_Kestrel4500_DisplayKestrelKey">
<English>Show Kestrel 4500</English> <English>Show Kestrel 4500</English>
<Polish>Pokaż Kestrel 4500</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -4,8 +4,10 @@
* *
* Arguments: * Arguments:
* 0: Position of seeker (ASL) <position> * 0: Position of seeker (ASL) <position>
* 1: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. <array> * 1: Direction vector (will be normalized) <vector>
* 2: Seeker laser code. <number> * 2: Seeker FOV in degrees <number>
* 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. <array>
* 4: Seeker laser code. <number>
* *
* Return value: * Return value:
* Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found.
@ -17,9 +19,14 @@ private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_ex
"_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index", "_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"]; "_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"];
_pos = _this select 0; _pos = _this select 0;
_seekerWavelengths = _this select 1; _dir = vectorNormalized (_this select 1);
_seekerCode = _this select 2; _seekerFov = _this select 2;
_seekerWavelengths = _this select 3;
_seekerCode = _this select 4;
_seekerCos = cos _seekerFov;
_spots = []; _spots = [];
_buckets = []; _buckets = [];
@ -57,8 +64,13 @@ _finalOwner = nil;
_laserPos = _laser select 0; _laserPos = _laser select 0;
_laserDir = _laser select 1; _laserDir = _laser select 1;
_res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone); _res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone);
{ {
_spots pushBack [_x select 0, _owner]; _testPoint = _x select 0;
_testPointVector = vectorNormalized (_testPoint vectorDiff _pos);
_testDotProduct = _dir vectorDotProduct _testPointVector;
if(_testDotProduct > _seekerCos) then {
_spots pushBack [_testPoint, _owner];
};
} forEach (_res select 2); } forEach (_res select 2);
}; };
} forEach (GVAR(laserEmitters) select 1); } forEach (GVAR(laserEmitters) select 1);

View File

@ -22,4 +22,9 @@ if( (count _this) > 2) then {
GVAR(active) = false; GVAR(active) = false;
if(!isNil QGVAR(selfDesignateHandle)) then {
[GVAR(selfDesignateHandle)] call CBA_fnc_removePerFrameHandler;
GVAR(selfDesignateHandle) = nil;
};
true true

View File

@ -83,7 +83,7 @@ if(!GVAR(active)) then {
// @TODO: Nou gets to field all tickets about missing lasers. // @TODO: Nou gets to field all tickets about missing lasers.
//_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player); //_localLaserTarget = "LaserTargetW" createVehicleLocal (getpos ACE_player);
_handle = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler; GVAR(selfDesignateHandle) = [FUNC(laserHudDesignatePFH), 0.1, [ACE_player, _laserUuid, nil]] call cba_fnc_addPerFrameHandler;
} else { } else {
[] call FUNC(laserHudDesignateOff); [] call FUNC(laserHudDesignateOff);
[] call FUNC(laserHudDesignateOn); [] call FUNC(laserHudDesignateOn);

View File

@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Laser_SelfDesignate"> <Package name="Laser_SelfDesignate">
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOn"> <Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOn">
<English>Laser&lt;br/&gt;Designator On</English> <English>Laser&lt;br/&gt;Designator On</English>
<German>Lasermarkierer&lt;br/&gt;an</German> <German>Lasermarkierer&lt;br/&gt;an</German>
<Spanish>Laser&lt;br/&gt;Designador encendido</Spanish> <Spanish>Laser&lt;br/&gt;Designador encendido</Spanish>
<Russian>ЛЦУ&lt;br/&gt;ВКЛ</Russian> <Russian>ЛЦУ&lt;br/&gt;ВКЛ</Russian>
<Czech>Laserový&lt;br/&gt;značkovač zapnut</Czech> <Czech>Laserový&lt;br/&gt;značkovač zapnut</Czech>
<Polish>Desygnator&lt;br/&gt;laserowy wł.</Polish> <Polish>Desygnator&lt;br/&gt;laserowy wł.</Polish>
<French>Désignateur&lt;br/&gt;Laser Allumé</French> <French>Désignateur&lt;br/&gt;Laser Allumé</French>
</Key> </Key>
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOff"> <Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOff">
<English>Laser&lt;br/&gt;Designator Off</English> <English>Laser&lt;br/&gt;Designator Off</English>
<German>Lasermarkierer&lt;br/&gt;aus</German> <German>Lasermarkierer&lt;br/&gt;aus</German>
<Spanish>Laser&lt;br/&gt;Designador apagado</Spanish> <Spanish>Laser&lt;br/&gt;Designador apagado</Spanish>
<Russian>ЛЦУ&lt;br/&gt;ВЫКЛ</Russian> <Russian>ЛЦУ&lt;br/&gt;ВЫКЛ</Russian>
<Czech>Laserový&lt;br/&gt;značkovat vypnut</Czech> <Czech>Laserový&lt;br/&gt;značkovat vypnut</Czech>
<Polish>Desygnator&lt;br/&gt;laserowy wył.</Polish> <Polish>Desygnator&lt;br/&gt;laserowy wył.</Polish>
<French>Désignateur&lt;br/&gt;Laser Éteint</French> <French>Désignateur&lt;br/&gt;Laser Éteint</French>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -2,7 +2,7 @@ class CfgVehicles {
class NATO_Box_Base; class NATO_Box_Base;
class Box_NATO_Support_F: NATO_Box_Base { class Box_NATO_Support_F: NATO_Box_Base {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_acc_pointer_red,4); MACRO_ADDITEM(ACE_acc_pointer_green,4);
}; };
}; };
@ -23,13 +23,12 @@ class CfgVehicles {
class FIA_Box_Base_F; class FIA_Box_Base_F;
class Box_FIA_Support_F: FIA_Box_Base_F { class Box_FIA_Support_F: FIA_Box_Base_F {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_acc_pointer_red,4); MACRO_ADDITEM(ACE_acc_pointer_green,4);
}; };
}; };
class ACE_Box_Misc: Box_NATO_Support_F { class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_acc_pointer_red,4);
MACRO_ADDITEM(ACE_acc_pointer_green,4); MACRO_ADDITEM(ACE_acc_pointer_green,4);
}; };
}; };

View File

@ -1,17 +1,28 @@
class SlotInfo; class SlotInfo;
class PointerSlot: SlotInfo { class PointerSlot: SlotInfo {
compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green_IR","ACE_acc_pointer_green"};
}; };
class CfgWeapons { class CfgWeapons {
class ItemCore; class ItemCore;
class InventoryFlashLightItem_Base_F; class InventoryFlashLightItem_Base_F;
class acc_pointer_IR: ItemCore {
ACE_nextModeClass = "ACE_acc_pointer_red";
ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser";
displayName = "$STR_ACE_Laserpointer_red";
descriptionUse = "$STR_ACE_Laserpointer_useLaser";
};
class ACE_acc_pointer_red: ItemCore { class ACE_acc_pointer_red: ItemCore {
ACE_nextModeClass = "acc_pointer_IR";
ACE_modeDescription = "$STR_ACE_Laserpointer_Laser";
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_red"; _generalMacro = "ACE_acc_pointer_red";
scope = 2; scope = 1;
displayName = "$STR_ACE_Laserpointer_red"; displayName = "$STR_ACE_Laserpointer_red";
descriptionUse = "$STR_ACE_Laserpointer_useLaser"; descriptionUse = "$STR_ACE_Laserpointer_useLaser";
picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa"; picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa";
@ -54,9 +65,23 @@ class CfgWeapons {
inertia = 0.1; inertia = 0.1;
}; };
class ACE_acc_pointer_green: ACE_acc_pointer_red { class ACE_acc_pointer_green_IR: acc_pointer_IR {
ACE_nextModeClass = "ACE_acc_pointer_green";
ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser";
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_green"; _generalMacro = "ACE_acc_pointer_green";
scope = 1;
displayName = "$STR_ACE_Laserpointer_green";
};
class ACE_acc_pointer_green: ACE_acc_pointer_red {
ACE_nextModeClass = "ACE_acc_pointer_green_IR";
ACE_modeDescription = "$STR_ACE_Laserpointer_Laser";
author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_green";
scope = 2;
displayName = "$STR_ACE_Laserpointer_green"; displayName = "$STR_ACE_Laserpointer_green";
}; };
}; };

View File

@ -11,11 +11,16 @@ GVAR(nearUnits) = [];
// @todo. Maybe move to common? // @todo. Maybe move to common?
[{ [{
private "_nearUnits"; private "_nearUnits";
_nearUnits = nearestObjects [positionCameraToWorld [0,0,0], ["CAManBase"], 50]; _nearUnits = [];
if (count _nearUnits > 10) then { {
_nearUnits resize 10; _nearUnits append crew _x;
};
if (count _nearUnits > 10) exitWith {
_nearUnits resize 10;
};
} forEach nearestObjects [positionCameraToWorld [0,0,0], ["AllVehicles"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV
GVAR(nearUnits) = _nearUnits; GVAR(nearUnits) = _nearUnits;
@ -24,3 +29,5 @@ GVAR(nearUnits) = [];
addMissionEventHandler ["Draw3D", { addMissionEventHandler ["Draw3D", {
call FUNC(onDraw); call FUNC(onDraw);
}]; }];
#include "initKeybinds.sqf"

View File

@ -4,5 +4,6 @@ ADDON = false;
PREP(drawLaserpoint); PREP(drawLaserpoint);
PREP(onDraw); PREP(onDraw);
PREP(switchLaserLightMode);
ADDON = true; ADDON = true;

View File

@ -3,7 +3,7 @@
class CfgPatches { class CfgPatches {
class ADDON { class ADDON {
units[] = {}; units[] = {};
weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green","ACE_acc_pointer_green_IR"};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"}; requiredAddons[] = {"ace_common"};
author[] = {"commy2"}; author[] = {"commy2"};

View File

@ -1,6 +1,19 @@
// by commy2 and esteldunedain // by commy2 and esteldunedain
#include "script_component.hpp" #include "script_component.hpp"
// init object
/*if (isNil QGVAR(laserdot)) then {
_light = "#lightpoint" createVehicleLocal [0,0,0];
_light setLightBrightness 10;
_light setLightColor [1,0,0];
_light setLightAmbient [1,0,0];
_light setLightDayLight true;
//_light lightAttachObject [GVAR(laserdot), [0,0,0]];
_light setLightAttenuation [0.04,4,4,0,0.04,0.08];
GVAR(laserdot) = _light;
};*/
EXPLODE_3_PVT(_this,_unit,_range,_isGreen); EXPLODE_3_PVT(_this,_unit,_range,_isGreen);
_p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand"); _p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand");
@ -97,13 +110,15 @@ if (!surfaceIsWater _pL) then {
_pL = ASLtoATL _pL; _pL = ASLtoATL _pL;
}; };
/*
drawLine3D [ drawLine3D [
_p0Pos, _p0Pos,
_pL, _pL,
[[1,0,0,1], [0,1,0,1]] select _isGreen [[1,0,0,1], [0,1,0,1]] select _isGreen
]; ];
*/
_size = 2 * (_range - (positionCameraToWorld [0,0,0] distance _pL)) / _range; _size = 2 * (_range - (positionCameraToWorld [0,0,0] vectorDistance _pL)) / _range;
_camPos = positionCameraToWorld [0,0,0.2]; _camPos = positionCameraToWorld [0,0,0.2];
if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith {}; if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith {};
@ -114,6 +129,8 @@ if (!surfaceIsWater _camPos) then { _camPos = ATLtoASL _camPos; };
if ( terrainIntersectASL [_camPos, _pL2]) exitWith {}; if ( terrainIntersectASL [_camPos, _pL2]) exitWith {};
if ( lineIntersects [_camPos, _pL2]) exitWith {}; if ( lineIntersects [_camPos, _pL2]) exitWith {};
//GVAR(laserdot) setPos _pL;
drawIcon3D [ drawIcon3D [
format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen], format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen],
[[1,0.25,0.25,0.5*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen, [[1,0.25,0.25,0.5*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen,

View File

@ -28,7 +28,7 @@ _isIR = _isIR == 1;
_laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser; _laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser;
if (_laserID > -1 && {_x isFlashlightOn _weapon}) then { if (_laserID > -1 && {_x isFlashlightOn _weapon}) then {
[_x, 30, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); [_x, 50, _laserID == 1 || _isIR] call FUNC(drawLaserpoint);
}; };
} forEach GVAR(nearUnits); } forEach GVAR(nearUnits);

View File

@ -0,0 +1,58 @@
// by commy2
#include "script_component.hpp"
private ["_unit", "_weapon"];
_unit = _this select 0;
_weapon = _this select 1;
// 1 = primary, 2 = secondary, 3 = handgun
private "_currentWeaponType";
_currentWeaponType = 0;
private "_pointer";
_pointer = switch (_weapon) do {
case (primaryWeapon _unit): {
_currentWeaponType = 1;
primaryWeaponItems _unit select 1
};
case (secondaryWeapon _unit): {
_currentWeaponType = 2;
secondaryWeaponItems _unit select 1
};
case (handgunWeapon _unit): {
_currentWeaponType = 3;
handgunItems _unit select 1
};
default {""};
};
if (_pointer == "") exitWith {};
private "_nextPointer";
_nextPointer = getText (configFile >> "CfgWeapons" >> _pointer >> "ACE_nextModeClass");
if (_nextPointer == "") exitWith {};
private ["_description", "_picture"];
_description = getText (configFile >> "CfgWeapons" >> _nextPointer >> "ACE_modeDescription");
_picture = getText (configFile >> "CfgWeapons" >> _nextPointer >> "picture");
switch (_currentWeaponType) do {
case 1: {
_unit removePrimaryWeaponItem _pointer;
_unit addPrimaryWeaponItem _nextPointer;
};
case 2: {
_unit removeSecondaryWeaponItem _pointer;
_unit addSecondaryWeaponItem _nextPointer;
};
case 3: {
_unit removeHandgunItem _pointer;
_unit addHandgunItem _nextPointer;
};
};
[_description, _picture] call EFUNC(common,displayTextPicture);
playSound "ACE_Sound_Click";

View File

@ -0,0 +1,13 @@
// by commy2
["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
// Conditions: specific
if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false};
[ACE_player, currentWeapon ACE_player] call FUNC(switchLaserLightMode);
true
},
{false}, [38, [false, true, false]], false] call CBA_fnc_addKeybind;

View File

@ -1,40 +1,52 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Laserpointer"> <Package name="Laserpointer">
<Key ID="STR_ACE_Laserpointer_red"> <Key ID="STR_ACE_Laserpointer_red">
<English>Laser Pointer (red)</English> <English>Laser Pointer (red)</English>
<French>Pointeur laser (rouge)</French> <French>Pointeur laser (rouge)</French>
<German>Laserpointer (rot)</German> <German>Laserpointer (rot)</German>
<Russian>Лазерный прицел (красный)</Russian> <Russian>Лазерный прицел (красный)</Russian>
<Czech>Laserové ukazovátko (červené)</Czech> <Czech>Laserové ukazovátko (červené)</Czech>
<Polish>Wskaźnik laserowy (czerwony)</Polish> <Polish>Wskaźnik laserowy (czerwony)</Polish>
</Key> </Key>
<Key ID="STR_ACE_Laserpointer_green"> <Key ID="STR_ACE_Laserpointer_green">
<English>Laser Pointer (green)</English> <English>Laser Pointer (green)</English>
<French>Pointeur laser (vert)</French> <French>Pointeur laser (vert)</French>
<German>Laserpointer (grün)</German> <German>Laserpointer (grün)</German>
<Russian>Лазерный прицел (зелёный)</Russian> <Russian>Лазерный прицел (зелёный)</Russian>
<Czech>Laserové ukazovátko (zelené)</Czech> <Czech>Laserové ukazovátko (zelené)</Czech>
<Polish>Wskaźnik laserowy (zielony)</Polish> <Polish>Wskaźnik laserowy (zielony)</Polish>
</Key> </Key>
<Key ID="STR_ACE_Laserpointer_Description"> <Key ID="STR_ACE_Laserpointer_Description">
<English>Emits visible light. </English> <English>Emits visible light. </English>
<French>Diffuse un rayon lumineux visible.</French> <French>Emettre de la lumière visible</French>
<German>Strahlt sichtbares Licht aus. </German> <German>Strahlt sichtbares Licht aus. </German>
<Russian>Испускает узкий пучок видимого света.</Russian> <Russian>Испускает узкий пучок видимого света.</Russian>
<Czech>Vyzařuje viditelné světlo.</Czech> <Czech>Vyzařuje viditelné světlo.</Czech>
<Polish>Wydziela widzialne światło.</Polish> <Polish>Wydziela widzialne światło.</Polish>
</Key> </Key>
<Key ID="STR_ACE_Laserpointer_useLaser"> <Key ID="STR_ACE_Laserpointer_useLaser">
<English>&lt;t color='#9cf953'&gt;Use: &lt;/t&gt;Turn Laser ON/OFF</English> <English>&lt;t color='#9cf953'&gt;Use: &lt;/t&gt;Turn Laser ON/OFF</English>
<Czech>&lt;t color='#9cf953'&gt;Použití: &lt;/t&gt;Zapnout/vypnout laser</Czech> <Czech>&lt;t color='#9cf953'&gt;Použití: &lt;/t&gt;Zapnout/vypnout laser</Czech>
<French>&lt;t color='#9cf953'&gt;Utiliser : &lt;/t&gt;laser allumé/éteint</French> <French>&lt;t color='#9cf953'&gt;Utiliser : &lt;/t&gt;laser allumé/éteint</French>
<German>&lt;t color='#9cf953'&gt;Benutzen: &lt;/t&gt;Laser EIN/AUS</German> <German>&lt;t color='#9cf953'&gt;Benutzen: &lt;/t&gt;Laser EIN/AUS</German>
<Italian>&lt;t color='#9cf953'&gt;Uso: &lt;/t&gt;Laser ON/OFF</Italian> <Italian>&lt;t color='#9cf953'&gt;Uso: &lt;/t&gt;Laser ON/OFF</Italian>
<Polish>&lt;t color='#9cf953'&gt;Użyj: &lt;/t&gt;wł./wył. laser</Polish> <Polish>&lt;t color='#9cf953'&gt;Użyj: &lt;/t&gt;wł./wył. laser</Polish>
<Portuguese>&lt;t color='#9cf953'&gt;Uso: &lt;/t&gt;Ativar/Desativar laser</Portuguese> <Portuguese>&lt;t color='#9cf953'&gt;Uso: &lt;/t&gt;Ativar/Desativar laser</Portuguese>
<Russian>&lt;t color='#9cf953'&gt;Использовать: &lt;/t&gt;вкл/выкл лазер</Russian> <Russian>&lt;t color='#9cf953'&gt;Использовать: &lt;/t&gt;вкл/выкл лазер</Russian>
<Spanish>&lt;t color='#9cf953'&gt;Usar: &lt;/t&gt;encender/apagar láser</Spanish> <Spanish>&lt;t color='#9cf953'&gt;Usar: &lt;/t&gt;encender/apagar láser</Spanish>
</Key> </Key>
</Package> <Key ID="STR_ACE_Laserpointer_Laser">
<English>Laser</English>
<German>Laser</German>
</Key>
<Key ID="STR_ACE_Laserpointer_IRLaser">
<English>IR Laser</English>
<German>IR-Laser</German>
</Key>
<Key ID="STR_ACE_Laserpointer_switchLaserLight">
<English>Switch Laser / IR Laser</English>
<German>Umschalten Laser / IR-Laser</German>
</Key>
</Package>
</Project> </Project>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="logistics_uavbattery"> <Package name="logistics_uavbattery">
<Key ID="STR_ACE_logistics_uavbattery_Full"> <Key ID="STR_ACE_logistics_uavbattery_Full">
@ -18,7 +17,7 @@
<English>You need a UAV Battery</English> <English>You need a UAV Battery</English>
<German>Du brauchst eine UAV-Batterie</German> <German>Du brauchst eine UAV-Batterie</German>
<Spanish>Necesitas una batería para VANT</Spanish> <Spanish>Necesitas una batería para VANT</Spanish>
<French>Pas de batterie UAV</French> <French>L'UAV nécessite une batterie</French>
<Polish>Potrzebujesz baterii UAV</Polish> <Polish>Potrzebujesz baterii UAV</Polish>
<Hungarian>Szükséged van egy UAV akkumulátorra</Hungarian> <Hungarian>Szükséged van egy UAV akkumulátorra</Hungarian>
<Czech>Potřebuješ UAV baterii</Czech> <Czech>Potřebuješ UAV baterii</Czech>
@ -52,7 +51,7 @@
</Key> </Key>
<Key ID="STR_ACE_logistics_uavbattery_Battery_Description"> <Key ID="STR_ACE_logistics_uavbattery_Battery_Description">
<English>Used to refuel Carried UAV's</English> <English>Used to refuel Carried UAV's</English>
<German>Verwendet zum Aufladen von tragbaren UAV's</German> <German>Verwendet zum Aufladen von tragbaren UAVs</German>
<Spanish>Usada para reabastecer el VANT</Spanish> <Spanish>Usada para reabastecer el VANT</Spanish>
<French>Utilisée pour recharger l'UAV</French> <French>Utilisée pour recharger l'UAV</French>
<Polish>Używana do naładowania baterii przenośnego UAV</Polish> <Polish>Używana do naładowania baterii przenośnego UAV</Polish>
@ -75,4 +74,4 @@
<Russian>Заряжается ...</Russian> <Russian>Заряжается ...</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Wirecutter"> <Package name="Wirecutter">
<Key ID="STR_ACE_logistics_wirecutter_wirecutterName"> <Key ID="STR_ACE_logistics_wirecutter_wirecutterName">
<English>Wirecutter</English> <English>Wirecutter</English>
<French>Coupe clôture</French> <French>Pince coupante</French>
<German>Drahtschneider</German> <German>Drahtschneider</German>
<Spanish>Cortador de cables</Spanish> <Spanish>Cortador de cables</Spanish>
<Russian>Клещи-кусачки</Russian> <Russian>Клещи-кусачки</Russian>
@ -18,7 +17,7 @@
<Russian>Позволяют быстро перекусывать сеточные конструкции.</Russian> <Russian>Позволяют быстро перекусывать сеточные конструкции.</Russian>
<Czech>Štípačky</Czech> <Czech>Štípačky</Czech>
<Polish>Służą do cięcia drutu i płotów</Polish> <Polish>Służą do cięcia drutu i płotów</Polish>
<French>Coupe clôture</French> <French>Pince coupante</French>
</Key> </Key>
<Key ID="STR_ACE_logistics_wirecutter_CutFence"> <Key ID="STR_ACE_logistics_wirecutter_CutFence">
<English>Cut Fence</English> <English>Cut Fence</English>
@ -57,4 +56,4 @@
<Russian>Забор разрезан</Russian> <Russian>Забор разрезан</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="MagazineRepack"> <Package name="MagazineRepack">
<Key ID="STR_ACE_MagazineRepack_RepackMagazines"> <Key ID="STR_ACE_MagazineRepack_RepackMagazines">
@ -76,7 +75,7 @@
</Key> </Key>
<Key ID="STR_ACE_MagazineRepack_RepackComplete"> <Key ID="STR_ACE_MagazineRepack_RepackComplete">
<English>Repacking Finished</English> <English>Repacking Finished</English>
<French>Réorganisation terminé</French> <French>Réorganisation terminée</French>
<German>Wiederverpacken Fertig</German> <German>Wiederverpacken Fertig</German>
<Spanish>Reembalaje finalizado</Spanish> <Spanish>Reembalaje finalizado</Spanish>
<Russian>Перепаковка завершена</Russian> <Russian>Перепаковка завершена</Russian>
@ -85,7 +84,7 @@
</Key> </Key>
<Key ID="STR_ACE_MagazineRepack_RepackInterrupted"> <Key ID="STR_ACE_MagazineRepack_RepackInterrupted">
<English>Repacking Interrupted</English> <English>Repacking Interrupted</English>
<French>Réorganisation Interrompue</French> <French>Réorganisation interrompue</French>
<German>Umpacken Unterbrochen</German> <German>Umpacken Unterbrochen</German>
<Spanish>Reembalaje interrumpido</Spanish> <Spanish>Reembalaje interrumpido</Spanish>
<Russian>Перепаковка прервана</Russian> <Russian>Перепаковка прервана</Russian>
@ -94,7 +93,7 @@
</Key> </Key>
<Key ID="STR_ACE_MagazineRepack_RepackedMagazinesCount"> <Key ID="STR_ACE_MagazineRepack_RepackedMagazinesCount">
<English>%1 Full and %2 Partial</English> <English>%1 Full and %2 Partial</English>
<French>%1 Complet et %2 Partiellement</French> <French>%1 plein(s) et %2 partiel(s)</French>
<German>%1 Vollständigen und %2 Teilweisen</German> <German>%1 Vollständigen und %2 Teilweisen</German>
<Spanish>%1 Total y %2 Parcial</Spanish> <Spanish>%1 Total y %2 Parcial</Spanish>
<Russian>%1 полных и %2 неполных</Russian> <Russian>%1 полных и %2 неполных</Russian>
@ -102,4 +101,4 @@
<Polish>Pełnych: %1.&lt;br /&gt;Częściowo pełnych: %2.</Polish> <Polish>Pełnych: %1.&lt;br /&gt;Częściowo pełnych: %2.</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,35 +0,0 @@
#include "script_dialog_defines.hpp"
class ACE_ABOUT_DLG {
idd = 114137;
movingEnable = 0;
onLoad = "with uiNameSpace do { ACE_ABOUT_DLG = _this select 0; };";
onKeyDown = "if((_this select 1) == 1) then {ACE_ABOUT_STP = true;};";
class controlsBackground {
class Contents : RscStructuredText {
idc = 1141371;
colorBackground[] = { 0, 0, 0, 0 };
__SX(0.45);
__SY(0.25);
__SW(0.45);
__SH(0.6);
size = "0.025 * SafeZoneH";
class Attributes {
font = "TahomaB";
color = "#C8C8C8";
align = "left";
valign = "middle";
shadow = true;
shadowColor = "#191970";
size = "1";
};
};
class ACE_ABOUT_NEXT : ACE_ABOUT_CTRL { //dummy visible
idc = 1141372;
__SX(0.065);
__SW(0.03);
text = "";
action = "";
};
}; //controlsBackground
};

View File

@ -1,8 +1,8 @@
class CfgFactionClasses { class CfgFactionClasses {
class NO_CATEGORY; class NO_CATEGORY;
class ACE: NO_CATEGORY { class ACE: NO_CATEGORY {
displayName = "ACE"; displayName = "ACE";
priority = 2; priority = 2;
side = 7; side = 7;
}; };
}; };

View File

@ -1,210 +0,0 @@
#include "script_component.hpp"
#include "\z\ace\addons\main\script_common.hpp"
if (!isNil "ACE_ABOUT_RUN") exitWith {ACE_ABOUT_RUN = false;};
ACE_ABOUT_RUN = true;
disableSerialization;
PARAMS_2(_menu,_data);
private ["_pcredits", "_pkeynam", "_shift", "_ctrl", "_alt", "_keys", "_key", "_keystrg", "_mod", "_knaml", "_knam", "_k", "_pkeys", "_pary", "_tpages", "_cEvents", "_i", "_cSys", "_tSys", "_aSys", "_tS", "_j", "_c", "_tC", "_keyn", "_fadet", "_page1", "_color", "_bcolor", "_newpages", "_pstart", "_pcount", "_pnext", "_display", "_control", "_pnames", "_pnam", "_page", "_pages", "_run", "_disp", "_next", "_input", "_nesc", "_unset", "_p", "_text", "_curPage", "_time", "_faded"];
_pcredits = [
"",
"<t align='center' color='#CC1100'>Advanced Combat Environment 2</t>",
"<t align='center' color='#566D7E'>http://dev-heaven.net/projects/ace-mod2</t>",
"",
__cr_managers,
"",
__cr_devs,
"",
__cr_testers,
"",
"For a full list of acknowledgements, please visit our Wiki:",
"<t color='#566D7E'>http://ace.dev-heaven.net</t>"
];
_pkeynam = { //local function
_shift = if (_shift > 0) then {42} else {0};
_ctrl = if (_ctrl > 0) then {56} else {0};
_alt = if (_alt > 0) then {29} else {0};
_keys = [_shift,_ctrl,_alt,_key];
_keystrg = "^";
{
_mod = _x in [42,56,29];
_knaml = call compile format["format['%2',%1]",(keyName _x),"%1"];
_knaml = [_knaml, " "] call CBA_fnc_split;
_knam = "^";
{_k = _x; if (!_mod || (_k != (localize "STR_ACE_KN_LEFT") && _k != (localize "STR_ACE_KN_RIGHT"))) then {_knam = _knam + " " + _k}} forEach _knaml;
_knam = [_knam, "^ ", ""] call CBA_fnc_replace;
_keystrg = _keystrg + "-" + _knam;
} forEach _keys;
_keystrg = [_keystrg, "^ ", ""] call CBA_fnc_replace;
_keystrg = [_keystrg, "^-", ""] call CBA_fnc_replace;
_keystrg = [_keystrg, "^", "None"] call CBA_fnc_replace;
_keystrg
};
_pkeys = {
_pary = [];
_tpages = [];
_cEvents = configFile/"CfgSettings"/"CBA"/"events";
for "_i" from 0 to (count _cEvents) - 1 do {
_cSys = _cEvents select _i;
_tSys = configName _cSys;
if (isNumber ((_cSys select 0)/"key")) then {
//format system name
_aSys = [_tSys, "_"] call CBA_fnc_split;
_tS = "^";
{if (_x != "ace" && _x != "sys") then {_tS = _tS + " " + _x}} forEach _aSys;
_tS = [_tS, "^ ", ""] call CBA_fnc_replace;
_tS = format["<t color='#99cccc'>%1:</t>",_tS];
PUSH(_pary,_tS);
for "_j" from 0 to (count _cSys) - 1 do {
_c = _cSys select _j;
_tC = configName _c;
_tC = [_tC, "_", " "] call CBA_fnc_replace;
//key
_key = getNumber (_c/"key");
_shift = getNumber (_c/"shift");
_ctrl = getNumber (_c/"ctrl");
_alt = getNumber (_c/"alt");
_keyn = [_key,_shift,_ctrl,_alt] call _pkeynam;
_tC = format[" %1: %2",_tC,_keyn];
PUSH(_pary,_tC);
};
};
if (count _pary > 20) then { //split full page
PUSH(_tpages,_pary);
_pary = [];
};
};
if (count _pary > 0) then { //partial page
PUSH(_tpages,_pary);
_pary = [];
};
_tpages
};
//pages (make sure each will fit within 24 lines, word wrap is on)
switch(_menu) do {
case "MAIN": { //note: not all scripting commands available on main menu (not compiled yet?)
_fadet = 13;
_page1 = _pcredits;
};
case "SING": {
_fadet = 20; //fade time
_color = [1,1,1,1];
//_bcolor = [0,0,0,0.3];
_page1 = _pcredits;
_newpages = [] call _pkeys;
_pstart = 2;
_pcount = count _newpages;
_pnext = _pstart + _pcount;
};
case "MULT": {
_fadet = 20;
_color = [1,1,1,1];
//_bcolor = [0,0,0,0.3];
_page1 = _pcredits;
_newpages = [] call _pkeys;
_pstart = 2;
_pcount = count _newpages;
_pnext = _pstart + _pcount;
};
default {};
};
//main menu display
if (typeName(_data select 0) == "DISPLAY") then {
_display = _data select 0;
};
if (typeName(_data select 0) == "CONTROL") then {
_control = _data select 0;
_display = ctrlParent _control;
};
//dynamic pages
_pnames = [];
for "_x" from _pstart to _pnext - 1 do {
_pnam = format ["_page%1",_x];
PUSH(_pnames,_pnam);
};
private _pnames;
for "_x" from 0 to _pcount - 1 do {
call compile format ["%1 = %2", _pnames select _x, _newpages select _x];
};
//get num pages
_pages = 0;
_run = true;
while {_run} do {
INC(_pages);
if (isNil format ["_page%1", _pages]) exitWith {_pages = _pages - 1; _run = false};
};
if (_pages > 0) then {
//Dialog
createDialog "ACE_ABOUT_DLG";
_disp = uiNamespace getVariable "ACE_ABOUT_DLG";
_ctrl = _disp displayCtrl 1141371;
_next = _disp displayCtrl 1141372;
if (_pages > 1) then {_next ctrlSetText "Next"};
_ctrl ctrlSetFade 1;
_ctrl ctrlCommit 0;
_ctrl ctrlSetFade 0;
_ctrl ctrlCommit 3;
ACE_ABOUT_INC = 0;
_input = { //local function
_nesc = isNil "ACE_ABOUT_STP";
if (_pages == 1) then {ACE_ABOUT_INC = 0}; //ignore special control
_unset = (ACE_ABOUT_INC == 0) && ACE_ABOUT_RUN;
if (_unset && _nesc) then {false} else {_fadet = _fadet + 5; true};
};
//by default cycle
for "_p" from 1 to _pages do {
_text = "";
_page = call compile format["_page%1",_p];
_curPage = _p;
{
_text = _text + _x + "<br />";
_ctrl ctrlSetStructuredText parseText _text;
if (call _input) exitWith {_p = _pages};
if (_x != "") then {uisleep 0.8};
} forEach _page;
};
_run = true;
while {if (isNil "ACE_ABOUT_STP") then {_run} else {false}} do {
_ctrl ctrlSetFade 0;
_ctrl ctrlCommit 0;
if (!isNil "_color") then {_ctrl ctrlSetTextColor _color};
if (!isNil "_bcolor") then {_ctrl ctrlSetBackgroundColor _bcolor};
_curPage = _curPage + ACE_ABOUT_INC;
if (_curPage > _pages) then {_curPage = 1};
if (_curPage <= 0) then {_curPage = 1};
ACE_ABOUT_INC = 0;
if (!ACE_ABOUT_RUN) then {ACE_ABOUT_RUN = true};
_text = "";
_page = call compile format ["_page%1",_curPage];
{_text = _text + _x + "<br />"} forEach _page;
_ctrl ctrlSetStructuredText parseText _text;
_ctrl ctrlSetFade 1;
_ctrl ctrlCommit _fadet;
_time = time + _fadet + 2;
waitUntil{uisleep 1; _run = call _input; _faded = time > _time; (_run || _faded)};
}; //while RUN
};
ACE_ABOUT_STP = Nil;
ACE_ABOUT_RUN = Nil;
closeDialog 0;

View File

@ -1,92 +0,0 @@
License (short)
===============
You are free:
- to Share — to copy, distribute and transmit the work
Under the following conditions:
- Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
- Noncommercial — You may not use this work for commercial purposes.
- No Derivative Works — You may not alter, transform, or build upon this work.
With the understanding that:
Waiver — Any of the above conditions can be waived if you get permission from the copyright holder.
Public Domain — Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license.
Other Rights — In no way are any of the following rights affected by the license:
- Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations;
- The author's moral rights;
- Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.
Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.
Full license text
=================
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
1. Definitions
"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership.
"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights.
Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant.
Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, to Distribute and Publicly Perform the Work including as incorporated in Collections.
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
4. Restrictions.
The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested.
You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
For the avoidance of doubt:
Non-waivable Compulsory License Schemes.
In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b).
Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation.
5. Representations, Warranties and Disclaimer.
UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination.
This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
8. Miscellaneous.
Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.

View File

@ -1,92 +0,0 @@
License (short)
===============
You are free:
- to Share — to copy, distribute and transmit the work
Under the following conditions:
- Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
- Noncommercial — You may not use this work for commercial purposes.
- No Derivative Works — You may not alter, transform, or build upon this work.
With the understanding that:
Waiver — Any of the above conditions can be waived if you get permission from the copyright holder.
Public Domain — Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license.
Other Rights — In no way are any of the following rights affected by the license:
- Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations;
- The author's moral rights;
- Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.
Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.
Full license text
=================
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
1. Definitions
"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership.
"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights.
Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant.
Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, to Distribute and Publicly Perform the Work including as incorporated in Collections.
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
4. Restrictions.
The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested.
You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
For the avoidance of doubt:
Non-waivable Compulsory License Schemes.
In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b).
Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation.
5. Representations, Warranties and Disclaimer.
UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination.
This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
8. Miscellaneous.
Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.

View File

@ -1,3 +0,0 @@
#define __cr_managers "Manager: "
#define __cr_devs "Developer:"
#define __cr_testers "Contributor: "

View File

@ -1,43 +0,0 @@
#define true 1
#define false 0
#define private 0
#define protected 1
#define public 2
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
#define VSoft 0
#define VArmor 1
#define VAir 2
#define LockNo 0
#define LockCadet 1
#define LockYes 2
#define ReadAndWrite 0
#define ReadAndCreate 1
#define ReadOnly 2
#define ReadOnlyVerified 3
#define WeaponNoSlot 0 // dummy weapons
#define WeaponSlotPrimary 1 // primary weapons
#define WeaponSlotSecondary 16 // secondary weapons
#define WeaponSlotItem 256 // items
#define WeaponSlotBinocular 4096 // binocular
#define WeaponHardMounted 65536
#define CanSeeRadar 1
#define CanSeeRye 2
#define CanSeeOptics 4
#define CanSeeEar 4
#define CanSeeCompass 16
#define CanSeeRadarC CanSeeRadar+CanSeeCompass
#define CanSeeAll 31

View File

@ -4,171 +4,6 @@
// Default versioning level // Default versioning level
#define DEFAULT_VERSIONING_LEVEL 2 #define DEFAULT_VERSIONING_LEVEL 2
// RGB Colors
#define RGB_GREEN 0, 0.5, 0, 1
#define RGB_BLUE 0, 0, 1, 1
#define RGB_ORANGE 0.5, 0.5, 0, 1
#define RGB_RED 1, 0, 0, 1
#define RGB_YELLOW 1, 1, 0, 1
#define RGB_WHITE 1, 1, 1, 1
#define RGB_GRAY 0.5, 0.5, 0.5, 1
#define RGB_BLACK 0, 0, 0, 1
#define RGB_MAROON 0.5, 0, 0, 1
#define RGB_OLIVE 0.5, 0.5, 0, 1
#define RGB_NAVY 0, 0, 0.5, 1
#define RGB_PURPLE 0.5, 0, 0.5, 1
#define RGB_FUCHSIA 1, 0, 1, 1
#define RGB_AQUA 0, 1, 1, 1
#define RGB_TEAL 0, 0.5, 0.5, 1
#define RGB_LIME 0, 1, 0, 1
#define RGB_SILVER 0.75, 0.75, 0.75, 1
#include "script_macros_menudef.hpp"
#define ACE_NOARMORY class Armory { disabled = 1; }
#define ACE_ARMORY class Armory { disabled = 0; }
#define ACE_ACEARMORY class Armory { disabled = 0; author = "A.C.E."; }
// Weapon defaults
// NOTE !!!! - Do not forget to dummy-update the configs that use these defines, or the changes won't activate due to binarization!
#define ACE_DEFAULT_WEAPONS "Throw", "Put"
// Item defaults
// NOTE !!!! - Do not forget to dummy-update the configs that use these defines, or the changes won't activate due to binarization!
#define ACE_ITEMS_TEAMLEADER_B "ItemMap","ItemCompass","ItemWatch","ItemRadio"
#define ACE_ITEMS_SQUADLEADER_B "ItemMap","ItemCompass","ItemWatch","ItemRadio","ACE_DAGR"
#define ACE_ITEMS_SPECIAL "ItemMap","ItemCompass","ItemWatch","ItemRadio"
#define ACE_ITEMS "ItemWatch","ItemRadio"
#define ACE_ITEMS_CIVILIAN "ItemWatch"
#define ACE_DEFAULT_SLOTS "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"
#define ACE_NOGRIP handAnim[] = {}
#define ACE_DISTANCE_DEFAULT distanceZoomMin = 300; distanceZoomMax = 300
// #include "script_macros_optics.hpp" //ToDo
#define ACE_NOZEROING discreteDistance[] = {}; \
discreteDistanceInitIndex = 0; \
weaponInfoType = "RscWeaponEmpty"
#define ACE_NOTURRETZEROING discreteDistance[] = {}; \
discreteDistanceInitIndex = 0; \
turretInfoType = "RscWeaponEmpty"
#define ACE_LASER irLaserPos = "laser pos"; \
irLaserEnd = "laser dir"; \
irDistance = 300
#define ACE_LASER_DISTANCE_VANILLA irDistance = 300
#define ACE_NOLASER irLaserPos = "laser pos"; \
irLaserEnd = "laser dir"; \
irDistance = 0
#define ACE_SUPPRESSED ace_suppressed = 1; \
fireLightDuration = 0; \
fireLightIntensity = 0
// TODO: Cleanup in all the configs around
#define ACE_M_MAG(x,y) class _xx_##x {magazine = ##x; count = ##y;}
#define ACE_M_WEP(x,y) class _xx_##x {weapon = ##x; count = ##y;}
#define ACE_M_ITEM(x,y) class _xx_##x {name = ##x; count = ##y;}
#define ACE_M_BAG(x,y) class _xx_##x {backpack = ##x; count = ##y;}
// Vehicle defines
// ACE_canBeLoad = This vehicle acts as transporter, i.e you can load stuff into it
// ACE_canBeCargo = This vehicle acts as cargo, i.e you can load this item into other vehicles
#define ACE_CARGO_FRONT ACE_canBeLoad = false; ACE_canBeCargo = true; ACE_canGear = false; ACE_canLoadFront = true
#define ACE_CARGO_ONLY ACE_canBeLoad = false; ACE_canBeCargo = true; ACE_canGear = false; ACE_canLoadFront = false
#define ACE_LOAD_ONLY ACE_canBeLoad = true; ACE_canBeCargo = false; ACE_canGear = false; ACE_canLoadFront = false
#define ACE_GEAR_ONLY ACE_canBeLoad = true; ACE_canBeCargo = false; ACE_canGear = true; ACE_canLoadFront = false
#define ACE_NOCARGOLOAD ACE_canBeLoad = false; ACE_canBeCargo = false; ACE_canGear = false; ACE_canLoadFront = false
// Increased FOV for tank driver
// Increased Default US Tank driver optic
#define ACE_DRIVEROPTIC_TANK_US driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver_west.p3d"
// Increased Default RU Tank driver optic
#define ACE_DRIVEROPTIC_TANK_RU driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver_east.p3d"
// Increased Default NON Specified driver optic
#define ACE_DRIVEROPTIC_TANK driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver.p3d"
// Increased Default EP1 NON Specified driver optic
// Default black border thing needs finish
#define ACE_DRIVEROPTIC_TANK_EP1 driverOpticsModel = "\z\ace\addons\m_veh_optics\driver\optika_tank_driver.p3d"
#define ACE_BWC ace_bwc = 1
// SCRIPTING MACROS
// Items
#define inITEMS(x,y) (##x in (y call ACE_fnc_getGear))
#define remITEMS(x,y) ([##x,y] call ACE_fnc_removeItem)
//#define addITEMS(x,y) (y addItem ##x)
// Interaction/ Put anims
#define canANIM(x) (x call ACE_fnc_CanPutDown)
#define playANIM(x) (if (x call ACE_fnc_CanPutDown) then { x call ACE_fnc_PutDown })
// In vehicle or on foot
#define ONFOOT(x) (x == vehicle x)
#define INVEHICLE(x) (x != vehicle x)
// FX
#define COUGH ace_common_fx_fnc_cough
#define BLURRY ace_common_fx_fnc_blurry
#define BLIND ace_common_fx_fnc_blind_view
#define DEAF ace_common_fx_fnc_deaf
#define DIZZY ace_common_fx_fnc_dizzy
#define FLASH ace_common_fx_fnc_flash
#define KICK ace_common_fx_fnc_kick
#define KNOCKOUT ace_common_fx_fnc_knockout
#define RING ace_common_fx_fnc_ring
// Stamina
#define INC_MASS ace_stamina_fnc_inc_mass
// Does this work, due to BWC_CONFIG(NAME) ?
#undef BWC_CONFIG
#define BWC_CONFIG(NAME) class NAME { \
units[] = {}; \
weapons[] = {}; \
requiredVersion = REQUIRED_VERSION; \
requiredAddons[] = {}; \
version = VERSION; \
ACE_BWC; \
}
#define ACE_FLASHLIGHT class FlashLight { \
color[] = {0.9, 0.9, 0.7, 0.9}; \
ambient[] = {0.1, 0.1, 0.1, 1.0}; \
position = "flash dir"; \
direction = "flash"; \
angle = 30; \
scale[] = {1, 1, 0.5}; \
brightness = 0.1; \
}
#define ACE_SMALL_FLASHLIGHT class FlashLight { \
color[] = {0.9, 0.9, 0.7, 0.9}; \
ambient[] = {0.1, 0.1, 0.1, 1.0}; \
position = "flash dir"; \
direction = "flash"; \
angle = 20; \
scale[] = {0.9, 0.9, 0.4}; \
brightness = 0.09; \
}
// Addaction defines for colored text
#define ACE_TEXT_ORANGE(Text) ("<t color='#ffa500'>" + ##Text + "</t>")
#define ACE_TEXT_RED(Text) ("<t color='#FF0000'>" + ##Text + "</t>")
#define ACE_TEXT_GREEN(Text) ("<t color='#00FF00'>" + ##Text + "</t>")
#define ACE_TEXT_YELLOW(Text) ("<t color='#FFFF00'>" + ##Text + "</t>")
#define EGVAR(module,var) TRIPLES(PREFIX,module,var) #define EGVAR(module,var) TRIPLES(PREFIX,module,var)
#define QEGVAR(module,var) QUOTE(EGVAR(module,var)) #define QEGVAR(module,var) QUOTE(EGVAR(module,var))

View File

@ -1,27 +0,0 @@
// ACE Self Interaction Conditions
// Self Interaction Menu not available if player is unconscious
#define ACE_INTERACT_ALIVE (alive player)
#define ACE_INTERACT_UNCON (player call ace_wounds_fnc_isUncon)
// Player is Player Vehicle
#define ACE_INTERACT_PLAYER (player == vehicle player || (player != vehicle player && player in assignedCargo vehicle player))
// Player is climbing up a ladder
#define ACE_INTERACT_LADDER (animationState player in ["ladderriflestatic","laddercivilstatic"])
// Possible = Self interaction opens only if player is alive and conscious (can be in a vehicle)
#define ACE_SELFINTERACTION_POSSIBLE (!ACE_INTERACT_LADDER && {ACE_INTERACT_ALIVE} && {!ACE_INTERACT_UNCON})
// Restricted = Self interaction opens only if player is alive and conscious (can NOT be in a vehicle, i.e Groundmarker, explosives ...)
#define ACE_SELFINTERACTION_RESTRICTED (ACE_SELFINTERACTION_POSSIBLE && {ACE_INTERACT_PLAYER})
// Close interaction menu if unconscious
#define ACE_INTERACT_FNC_EXIT if (ACE_INTERACT_UNCON) exitWith {}
#define ACE_ASSEMBLE (getNumber(configFile >> "CfgActions" >> "Assemble" >> "show") == 0)
#define ACE_DISASSEMBLE (getNumber(configFile >> "CfgActions" >> "DisAssemble" >> "show") == 0)
#define ACE_PIPEDEFAULT (getNumber(configFile >> "CfgMagazines" >> "PipeBomb" >> "useAction") == 0)
#define ACE_IDENTITYDEFAULT (isClass(configFile >> "CfgPatches" >> "ace_combatdeaf"))
#define ACE_RUCKDEFAULT (isClass(configFile >> "CfgPatches" >> "ace_stamina"))
#define ACE_KNOWN2PLAYER (if (name _target in (player getVariable ["ace_recognize_knownnames",[]])) then { name _target } else { " " })

View File

@ -15,41 +15,3 @@
// MINIMAL required version for the Mod. Components can specify others.. // MINIMAL required version for the Mod. Components can specify others..
#define REQUIRED_VERSION 0.5 #define REQUIRED_VERSION 0.5
/*
#define DEBUG_ENABLED_ADDONS
#define DEBUG_ENABLED_ATTACHMENTS
#define DEBUG_ENABLED_weapons_backblast
#define DEBUG_ENABLED_BLOOD
#define DEBUG_ENABLED_CARTRIDGES
#define DEBUG_ENABLED_CRATERS
#define DEBUG_ENABLED_CREWPROTECTION
#define DEBUG_ENABLED_DUMMIES
#define DEBUG_ENABLED_EJECT
#define DEBUG_ENABLED_EXPLOSIVES
#define DEBUG_ENABLED_FLARES
#define DEBUG_ENABLED_FLASHBANG
#define DEBUG_ENABLED_GRENADETHROW
#define DEBUG_ENABLED_HUNTIR
#define DEBUG_ENABLED_INTERACTION
#define DEBUG_ENABLED_IRSTROBE
#define DEBUG_ENABLED_MULTI_BARREL
#define DEBUG_ENABLED_MUZZLEBLAST
#define DEBUG_ENABLED_NVG
#define DEBUG_ENABLED_weapons_overheating
#define DEBUG_ENABLED_RECOILDUST
#define DEBUG_ENABLED_ROCKET_BALLISTICS
#define DEBUG_ENABLED_SANDBAG
#define DEBUG_ENABLED_SHOTGUN
#define DEBUG_ENABLED_SIGHT_ADJUSTMENT_AT
#define DEBUG_ENABLED_SIGHT_ADJUSTMENT_GL
#define DEBUG_ENABLED_SIGHT_ADJUSTMENT_RIFLE
#define DEBUG_ENABLED_SMAW_SPOTTINGRIFLE
#define DEBUG_ENABLED_TRACERS
#define DEBUG_ENABLED_TRACKING
#define DEBUG_ENABLED_VIEWBLOCK
#define DEBUG_ENABLED_VEHICLE
#define DEBUG_ENABLED_vehicle_damage
#define DEBUG_ENABLED_WEAPONREST
#define DEBUG_ENABLED_WOUNDS
*/

View File

@ -18,7 +18,7 @@
<Spanish>Las herramientas de mapa permiten medir distancias y ángulos en el mapa.</Spanish> <Spanish>Las herramientas de mapa permiten medir distancias y ángulos en el mapa.</Spanish>
<French>Les outils de navigation permettent de mesurer des distances et des angles sur la carte.</French> <French>Les outils de navigation permettent de mesurer des distances et des angles sur la carte.</French>
<Polish>Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie.</Polish> <Polish>Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie.</Polish>
<German>Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen.</German> <German>Das Kartenwerkzeug ermöglicht es dir, Distanzen und Winkel zu messen.</German>
<Czech>Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě.</Czech> <Czech>Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě.</Czech>
<Italian>Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa.</Italian> <Italian>Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa.</Italian>
<Portuguese>As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa.</Portuguese> <Portuguese>As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa.</Portuguese>

View File

@ -7,7 +7,7 @@ class ACE_Head {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE; distance = MEDICAL_ACTION_DISTANCE;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitHead"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment));
@ -78,7 +78,7 @@ class ACE_Torso {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE; distance = MEDICAL_ACTION_DISTANCE;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitBody"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment));
@ -178,7 +178,7 @@ class ACE_ArmLeft {
distance = MEDICAL_ACTION_DISTANCE; distance = MEDICAL_ACTION_DISTANCE;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment));
@ -334,7 +334,7 @@ class ACE_ArmRight {
distance = MEDICAL_ACTION_DISTANCE; distance = MEDICAL_ACTION_DISTANCE;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment));
@ -487,7 +487,7 @@ class ACE_LegLeft {
distance = MEDICAL_ACTION_DISTANCE; distance = MEDICAL_ACTION_DISTANCE;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment));
@ -628,7 +628,7 @@ class ACE_LegRight {
distance = MEDICAL_ACTION_DISTANCE; distance = MEDICAL_ACTION_DISTANCE;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment));

View File

@ -14,7 +14,7 @@ class Medical {
runOnHover = 1; runOnHover = 1;
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitHead"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
@ -84,7 +84,7 @@ class Medical {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitBody"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
@ -149,7 +149,7 @@ class Medical {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitLeftArm"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
@ -249,7 +249,7 @@ class Medical {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitRightArm"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
@ -345,7 +345,7 @@ class Medical {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
@ -430,7 +430,7 @@ class Medical {
icon = PATHTOF(UI\icons\medical_cross.paa); icon = PATHTOF(UI\icons\medical_cross.paa);
class Bandage { class Bandage {
displayName = "$STR_ACE_Medical_Bandage_HitRightLeg"; displayName = "$STR_ACE_Medical_Bandage";
distance = 2.0; distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
@ -506,4 +506,4 @@ class Medical {
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment));
}; };
}; };
}; };

View File

@ -55,15 +55,6 @@ class ACE_Medical_Actions {
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1"; animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
litter[] = {}; litter[] = {};
}; };
class Tourniquet: Bandage {
displayName = "$STR_ACE_Medical_Apply_Tourniquet";
displayNameProgress = "$STR_ACE_Medical_Applying_Tourniquet";
items[] = {"ACE_tourniquet"};
treatmentTime = 6;
callbackSuccess = QUOTE(DFUNC(treatmentTourniquet));
condition = QUOTE(!([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)));
litter[] = {};
};
class BodyBag: Bandage { class BodyBag: Bandage {
displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag";
displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag";
@ -80,6 +71,27 @@ class ACE_Medical_Actions {
itemConsumed = 1; itemConsumed = 1;
litter[] = {}; litter[] = {};
}; };
class CheckPulse: Bandage {
displayName = "";
displayNameProgress = "";
treatmentLocations[] = {"All"};
requiredMedic = 0;
treatmentTime = 2;
items[] = {};
callbackSuccess = QUOTE(DFUNC(actionCheckPulse));
callbackFailure = "";
callbackProgress = "";
animationPatient = "";
animationCaller = ""; // TODO
itemConsumed = 0;
litter[] = {};
};
class CheckBloodPressure: CheckPulse {
callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure));
};
class CheckResponse: CheckPulse {
callbackSuccess = QUOTE(DFUNC(actionCheckResponse));
};
}; };
class Advanced { class Advanced {

View File

@ -117,4 +117,11 @@ class ACE_Settings {
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(painEffectType) {
displayName = "$STR_ACE_Medical_painEffectType";
typeName = "SCALAR";
value = 0;
values[] = {"$STR_ACE_Medical_painEffect_Flash", "$STR_ACE_Medical_painEffect_Chroma"};
isClientSettable = 1;
};
}; };

View File

@ -47,11 +47,3 @@ class Extended_Local_EventHandlers {
}; };
}; };
}; };
class Extended_Take_EventHandlers {
class CAManBase {
class ADDON {
take = QUOTE(call FUNC(itemCheck));
};
};
};

View File

@ -645,7 +645,7 @@ class CfgVehicles {
EGVAR(dragging,dragPosition[]) = {0,1.2,0}; EGVAR(dragging,dragPosition[]) = {0,1.2,0};
EGVAR(dragging,dragDirection) = 0; EGVAR(dragging,dragDirection) = 0;
class ACE_Actions { class ACE_Actions {
class ACE_MainActions { class ACE_MainActions {
displayName = "$STR_ACE_Interaction_MainAction"; displayName = "$STR_ACE_Interaction_MainAction";
distance = 5; distance = 5;
condition = QUOTE(true); condition = QUOTE(true);
@ -696,10 +696,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_fieldDressing {
class ACE_fieldDressing
{
name = "ACE_fieldDressing"; name = "ACE_fieldDressing";
count = 1; count = 1;
}; };
@ -711,10 +709,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_packingBandage {
class ACE_packingBandage
{
name = "ACE_packingBandage"; name = "ACE_packingBandage";
count = 1; count = 1;
}; };
@ -726,10 +722,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_elasticBandage {
class ACE_elasticBandage
{
name = "ACE_elasticBandage"; name = "ACE_elasticBandage";
count = 1; count = 1;
}; };
@ -741,10 +735,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_tourniquet {
class ACE_tourniquet
{
name = "ACE_tourniquet"; name = "ACE_tourniquet";
count = 1; count = 1;
}; };
@ -756,10 +748,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_morphine {
class ACE_morphine
{
name = "ACE_morphine"; name = "ACE_morphine";
count = 1; count = 1;
}; };
@ -771,10 +761,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_atropine {
class ACE_atropine
{
name = "ACE_atropine"; name = "ACE_atropine";
count = 1; count = 1;
}; };
@ -786,10 +774,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_epinephrine {
class ACE_epinephrine
{
name = "ACE_epinephrine"; name = "ACE_epinephrine";
count = 1; count = 1;
}; };
@ -801,10 +787,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_PLASMA_IV; displayName = $STR_ACE_MEDICAL_PLASMA_IV;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_plasmaIV {
class ACE_plasmaIV
{
name = "ACE_plasmaIV"; name = "ACE_plasmaIV";
count = 1; count = 1;
}; };
@ -817,10 +801,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_BLOOD_IV; displayName = $STR_ACE_MEDICAL_BLOOD_IV;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_bloodIV {
class ACE_bloodIV
{
name = "ACE_bloodIV"; name = "ACE_bloodIV";
count = 1; count = 1;
}; };
@ -832,10 +814,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_SALINE_IV; displayName = $STR_ACE_MEDICAL_SALINE_IV;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_salineIV {
class ACE_salineIV
{
name = "ACE_salineIV"; name = "ACE_salineIV";
count = 1; count = 1;
}; };
@ -847,10 +827,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_quikClot {
class ACE_quikClot
{
name = "ACE_quikclot"; name = "ACE_quikclot";
count = 1; count = 1;
}; };
@ -862,10 +840,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_personalAidKit {
class ACE_personalAidKit
{
name = "ACE_personalAidKit"; name = "ACE_personalAidKit";
count = 1; count = 1;
}; };
@ -877,10 +853,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_surgicalKit {
class ACE_surgicalKit
{
name = "ACE_surgicalKit"; name = "ACE_surgicalKit";
count = 1; count = 1;
}; };
@ -892,10 +866,8 @@ class CfgVehicles {
displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY;
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items"; vehicleClass = "Items";
class TransportItems class TransportItems {
{ class ACE_bodyBag {
class ACE_bodyBag
{
name = "ACE_bodyBag"; name = "ACE_bodyBag";
count = 1; count = 1;
}; };
@ -906,9 +878,42 @@ class CfgVehicles {
class ACE_medicalSupplyCrate: NATO_Box_Base { class ACE_medicalSupplyCrate: NATO_Box_Base {
scope = 2; scope = 2;
accuracy = 1000; accuracy = 1000;
displayName = "[ACE] Medical Supply Crate"; displayName = "[ACE] Medical Supply Crate (Basic)";
model = PATHTOF(data\ace_medcrate.p3d); model = PATHTOF(data\ace_medcrate.p3d);
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
class TransportItems {
class ACE_fieldDressing {
name = "ACE_fieldDressing";
count = 50;
};
class ACE_morphine {
name = "ACE_morphine";
count = 25;
};
class ACE_epinephrine {
name = "ACE_epinephrine";
count = 25;
};
class ACE_bloodIV {
name = "ACE_bloodIV";
count = 15;
};
class ACE_bloodIV_500 {
name = "ACE_bloodIV_500";
count = 15;
};
class ACE_bloodIV_250 {
name = "ACE_bloodIV_250";
count = 15;
};
class ACE_bodyBag {
name = "ACE_bodyBag";
count = 10;
};
};
};
class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate {
displayName = "[ACE] Medical Supply Crate (Advanced)";
class TransportItems { class TransportItems {
class ACE_fieldDressing { class ACE_fieldDressing {
name = "ACE_fieldDressing"; name = "ACE_fieldDressing";

View File

@ -19,7 +19,6 @@ class CfgWeapons {
}; };
}; };
// @todo localize
class ACE_ItemCore; class ACE_ItemCore;
class ACE_fieldDressing: ACE_ItemCore { class ACE_fieldDressing: ACE_ItemCore {
scope = 2; scope = 2;

View File

@ -21,14 +21,14 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"];
_unit setVariable ["tf_unable_to_use_radio", true, true]; _unit setVariable ["tf_unable_to_use_radio", true, true];
_unit setVariable ["acre_sys_core_isDisabled", true, true]; _unit setVariable ["acre_sys_core_isDisabled", true, true];
_unit setVariable ["acre_sys_core_globalVolume", 0.4]; if (!isNil "acre_api_fnc_setGlobalVolume") then { [0.4] call acre_api_fnc_setGlobalVolume; };
} else { } else {
_unit setVariable ["tf_globalVolume", 1]; _unit setVariable ["tf_globalVolume", 1];
_unit setVariable ["tf_voiceVolume", 1, true]; _unit setVariable ["tf_voiceVolume", 1, true];
_unit setVariable ["tf_unable_to_use_radio", false, true]; _unit setVariable ["tf_unable_to_use_radio", false, true];
_unit setVariable ["acre_sys_core_isDisabled", false, true]; _unit setVariable ["acre_sys_core_isDisabled", false, true];
_unit setVariable ["acre_sys_core_globalVolume", 1]; if (!isNil "acre_api_fnc_setGlobalVolume") then { [1] call acre_api_fnc_setGlobalVolume; };
}; };
}; };
}] call ace_common_fnc_addEventHandler; }] call ace_common_fnc_addEventHandler;
@ -153,11 +153,6 @@ GVAR(effectTimeBlood) = time;
GVAR(lastHeartBeat) = time; GVAR(lastHeartBeat) = time;
GVAR(lastHeartBeatSound) = time; GVAR(lastHeartBeatSound) = time;
// @todo, remove once parameters are set up
if (isNil QGVAR(level)) then {
GVAR(level) = 0;
};
// HEARTRATE BASED EFFECTS // HEARTRATE BASED EFFECTS
[{ [{
_heartRate = ACE_player getVariable [QGVAR(heartRate), 70]; _heartRate = ACE_player getVariable [QGVAR(heartRate), 70];
@ -172,8 +167,7 @@ if (isNil QGVAR(level)) then {
// Pain effect // Pain effect
_strength = ACE_player getVariable [QGVAR(pain), 0]; _strength = ACE_player getVariable [QGVAR(pain), 0];
// _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo // _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo
GVAR(alternativePainEffect) = false; // @todo if (GVAR(painEffectType) == 1) then {
if (GVAR(alternativePainEffect)) then {
GVAR(effectPainCC) ppEffectEnable false; GVAR(effectPainCC) ppEffectEnable false;
if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then {
_strength = _strength * 0.15; _strength = _strength * 0.15;
@ -198,7 +192,7 @@ if (isNil QGVAR(level)) then {
} else { } else {
GVAR(effectPainCA) ppEffectEnable false; GVAR(effectPainCA) ppEffectEnable false;
if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then {
_strength = _strength * 0.6; _strength = _strength * 0.9;
GVAR(effectPainCC) ppEffectEnable true; GVAR(effectPainCC) ppEffectEnable true;
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]]; GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]];
GVAR(effectPainCC) ppEffectCommit 0.01; GVAR(effectPainCC) ppEffectCommit 0.01;
@ -266,3 +260,8 @@ if (USE_WOUND_EVENT_SYNC) then {
// Prevent all types of interaction while unconscious // Prevent all types of interaction while unconscious
// @todo: probably remove this when CBA keybind hold key works properly // @todo: probably remove this when CBA keybind hold key works properly
["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition); ["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition);
// Item Event Handler
["playerInventoryChanged", {
[ACE_player] call FUNC(itemCheck);
}] call EFUNC(common,addEventHandler);

View File

@ -47,8 +47,10 @@ if (_show) then {
_allInjuryTexts = []; _allInjuryTexts = [];
_genericMessages = []; _genericMessages = [];
_partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN; if (GVAR(level) >= 2) then {
_genericMessages pushback [localize _partText, [1, 1, 1, 1]]; _partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN;
_genericMessages pushback [localize _partText, [1, 1, 1, 1]];
};
if (_target getvariable[QGVAR(isBleeding), false]) then { if (_target getvariable[QGVAR(isBleeding), false]) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]]; _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]];
@ -126,12 +128,22 @@ if (_show) then {
{ {
_selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x]; _selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x];
if (_target getHitPointDamage _x > 0.1 && {_forEachIndex == _selectionN}) then { if (_target getHitPointDamage _x > 0 && {_forEachIndex == _selectionN}) then {
// @todo localize _pointDamage = _target getHitPointDamage _x;
_allInjuryTexts pushBack [format ["%1 %2", _severity = switch (true) do {
["Lightly wounded", "Heavily wounded"] select (_target getHitPointDamage _x > 0.5), case (_pointDamage > 0.5): {localize "STR_ACE_Medical_HeavilyWounded"};
["head", "torso", "left arm", "right arm", "left leg", "right leg"] select _forEachIndex case (_pointDamage > 0.1): {localize "STR_ACE_Medical_LightlyWounded"};
], [1,1,1,1]]; default {localize "STR_ACE_Medical_VeryLightlyWounded"};
};
_part = localize ([
"STR_ACE_Medical_Head",
"STR_ACE_Medical_Torso",
"STR_ACE_Medical_LeftArm",
"STR_ACE_Medical_RightArm",
"STR_ACE_Medical_LeftLeg",
"STR_ACE_Medical_RightLeg"
] select _forEachIndex);
_allInjuryTexts pushBack [format ["%1 %2", _severity, toLower _part], [1,1,1,1]];
}; };
} forEach ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]; } forEach ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"];
}; };

View File

@ -13,7 +13,7 @@
#include "script_component.hpp" #include "script_component.hpp"
#define BLOODLOSSRATE_BASIC 0.4 #define BLOODLOSSRATE_BASIC 0.2
private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"];
// TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical).

View File

@ -28,9 +28,8 @@ if (_syncValues) then {
}; };
_bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 0]) + ([_unit] call FUNC(getBloodVolumeChange)); _bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 0]) + ([_unit] call FUNC(getBloodVolumeChange));
if (_bloodVolume <= 0) then { _bloodVolume = _bloodVolume max 0;
_bloodVolume = 0;
};
_unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues]; _unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues];
// Set variables for synchronizing information across the net // Set variables for synchronizing information across the net
@ -78,15 +77,11 @@ if (GVAR(level) == 1) then {
// bleeding // bleeding
_blood = _unit getVariable [QGVAR(bloodVolume), 100]; _blood = _unit getVariable [QGVAR(bloodVolume), 100];
_blood = (_blood - 0.4 * (damage _unit) * _interval) max 0; if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then {
if (_blood != (_unit getVariable [QGVAR(bloodVolume), 100])) then { [_unit, true] call FUNC(setUnconscious);
_unit setVariable [QGVAR(bloodVolume), _blood, _syncValues]; };
if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then { if (_blood == 0) then {
[_unit, true] call FUNC(setUnconscious); [_unit] call FUNC(setDead);
};
if (_blood == 0) then {
[_unit] call FUNC(setDead);
};
}; };
}; };

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Medical"> <Package name="Medical">
<Key ID="STR_ACE_Medical_Inject_Atropine"> <Key ID="STR_ACE_Medical_Inject_Atropine">
@ -50,6 +49,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Transfuse_Plasma"> <Key ID="STR_ACE_Medical_Transfuse_Plasma">
<English>Transfuse Plasma</English> <English>Transfuse Plasma</English>
<French>Plasma</French>
<German>Plasmatransfusion</German> <German>Plasmatransfusion</German>
<Spanish>Transfundir plasma</Spanish> <Spanish>Transfundir plasma</Spanish>
<Czech>Transfúze plazmy</Czech> <Czech>Transfúze plazmy</Czech>
@ -59,6 +59,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Transfuse_Saline"> <Key ID="STR_ACE_Medical_Transfuse_Saline">
<English>Transfuse Saline</English> <English>Transfuse Saline</English>
<French>Solution Saline</French>
<German>Salzlösungtransfusion</German> <German>Salzlösungtransfusion</German>
<Spanish>Transfundir salino</Spanish> <Spanish>Transfundir salino</Spanish>
<Czech>Transfúze fyziologický roztoku</Czech> <Czech>Transfúze fyziologický roztoku</Czech>
@ -68,6 +69,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Apply_Tourniquet"> <Key ID="STR_ACE_Medical_Apply_Tourniquet">
<English>Apply Tourniquet</English> <English>Apply Tourniquet</English>
<French>Garrot</French>
<German>Aderpresse anwenden</German> <German>Aderpresse anwenden</German>
<Spanish>Aplicar torniquete</Spanish> <Spanish>Aplicar torniquete</Spanish>
<Czech>Aplikovat škrtidlo</Czech> <Czech>Aplikovat škrtidlo</Czech>
@ -184,6 +186,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Injecting_Atropine"> <Key ID="STR_ACE_Medical_Injecting_Atropine">
<English>Injecting Atropine ...</English> <English>Injecting Atropine ...</English>
<French>Injection d'Atropine ...</French>
<German>Atropin injizieren ...</German> <German>Atropin injizieren ...</German>
<Spanish>Inyectando Atropina ...</Spanish> <Spanish>Inyectando Atropina ...</Spanish>
<Czech>Aplikuji atropin ...</Czech> <Czech>Aplikuji atropin ...</Czech>
@ -205,6 +208,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Transfusing_Saline"> <Key ID="STR_ACE_Medical_Transfusing_Saline">
<English>Transfusing Saline ...</English> <English>Transfusing Saline ...</English>
<French>Transfusion de Solution Saline</French>
<German>Sallösungtransfusion ...</German> <German>Sallösungtransfusion ...</German>
<Spanish>Transfusión de salino ...</Spanish> <Spanish>Transfusión de salino ...</Spanish>
<Czech>Probíha transfúze fyziologický roztoku ...</Czech> <Czech>Probíha transfúze fyziologický roztoku ...</Czech>
@ -214,6 +218,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Transfusing_Plasma"> <Key ID="STR_ACE_Medical_Transfusing_Plasma">
<English>Transfusing Plasma ...</English> <English>Transfusing Plasma ...</English>
<French>Transfusion de Plasma</French>
<German>Plasmatransfusion ...</German> <German>Plasmatransfusion ...</German>
<Spanish>Transfusión de plasma ...</Spanish> <Spanish>Transfusión de plasma ...</Spanish>
<Czech>Probíha transfúze plazmy ...</Czech> <Czech>Probíha transfúze plazmy ...</Czech>
@ -239,7 +244,7 @@
<Spanish>Aplicando torniquete ...</Spanish> <Spanish>Aplicando torniquete ...</Spanish>
<Czech>Aplikuji škrtidlo</Czech> <Czech>Aplikuji škrtidlo</Czech>
<Polish>Zakładanie stazy ...</Polish> <Polish>Zakładanie stazy ...</Polish>
<French>Mise en place du garrot</French> <French>Mise en place du Garrot ...</French>
<Russian>Наложение жгута...</Russian> <Russian>Наложение жгута...</Russian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Medical"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Medical">
@ -276,7 +281,7 @@
<Russian>Давящая повязка</Russian> <Russian>Давящая повязка</Russian>
<Czech>Elastické obinadlo</Czech> <Czech>Elastické obinadlo</Czech>
<Polish>Bandaż elastyczny</Polish> <Polish>Bandaż elastyczny</Polish>
<French>Bandage Élastique</French> <French>Pansement élastique</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_QuikClot"> <Key ID="STR_ACE_MEDICAL_ACTIONS_QuikClot">
<English>QuikClot</English> <English>QuikClot</English>
@ -285,9 +290,11 @@
<Russian>QuickClot</Russian> <Russian>QuickClot</Russian>
<Polish>Opatrunek QuikClot</Polish> <Polish>Opatrunek QuikClot</Polish>
<Czech>QuikClot</Czech> <Czech>QuikClot</Czech>
<French>Hémostatique</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_CheckPulse"> <Key ID="STR_ACE_MEDICAL_ACTIONS_CheckPulse">
<English>Check Pulse</English> <English>Check Pulse</English>
<French>Vérification du Pouls</French>
<German>Puls überprüfen</German> <German>Puls überprüfen</German>
<Spanish>Comprobar pulso</Spanish> <Spanish>Comprobar pulso</Spanish>
<Russian>Проверить пульс</Russian> <Russian>Проверить пульс</Russian>
@ -302,7 +309,7 @@
<Russian>Проверить давление</Russian> <Russian>Проверить давление</Russian>
<Czech>Zkontrolovat krevní tlak</Czech> <Czech>Zkontrolovat krevní tlak</Czech>
<Polish>Sprawdź ciśnienie krwi</Polish> <Polish>Sprawdź ciśnienie krwi</Polish>
<French>Vérifier la pression sanguine</French> <French>Vérification de la Tension</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_TriageCard"> <Key ID="STR_ACE_MEDICAL_ACTIONS_TriageCard">
<English>Triage Card</English> <English>Triage Card</English>
@ -311,6 +318,7 @@
<Russian>Медкарта</Russian> <Russian>Медкарта</Russian>
<Polish>Karta segregacyjna</Polish> <Polish>Karta segregacyjna</Polish>
<Czech>Karta Triage</Czech> <Czech>Karta Triage</Czech>
<French>Carte de Triage</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Tourniquet"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Tourniquet">
<English>Tourniquet</English> <English>Tourniquet</English>
@ -328,7 +336,7 @@
<Russian>Снять жгут</Russian> <Russian>Снять жгут</Russian>
<Czech>Sundat škrtidlo</Czech> <Czech>Sundat škrtidlo</Czech>
<Polish>Zdejmij stazę</Polish> <Polish>Zdejmij stazę</Polish>
<French>Enlever le garrot</French> <French>Enlever le Garrot</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_1000"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_1000">
<English>Give Blood IV (1000ml)</English> <English>Give Blood IV (1000ml)</English>
@ -336,7 +344,7 @@
<Spanish>Dar Sangre IV (1000ml)</Spanish> <Spanish>Dar Sangre IV (1000ml)</Spanish>
<Russian>Дать кровь для в/в вливания (1000 мл)</Russian> <Russian>Дать кровь для в/в вливания (1000 мл)</Russian>
<Polish>Podaj krew IV (1000ml)</Polish> <Polish>Podaj krew IV (1000ml)</Polish>
<French>Mettre une poche de Sang IV (1000ml)</French> <French>Administrer du Sang en IV (1000ml)</French>
<Czech>Podat krev. transfúzi (1000ml)</Czech> <Czech>Podat krev. transfúzi (1000ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_500"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_500">
@ -345,7 +353,7 @@
<Spanish>Dar Sangre IV (500ml)</Spanish> <Spanish>Dar Sangre IV (500ml)</Spanish>
<Russian>Дать кровь для в/в вливания (500 мл)</Russian> <Russian>Дать кровь для в/в вливания (500 мл)</Russian>
<Polish>Podaj krew IV (500ml)</Polish> <Polish>Podaj krew IV (500ml)</Polish>
<French>Mettre une poche de Sang IV (500ml)</French> <French>Administrer du Sang en IV (500ml)</French>
<Czech>Podat krev. transfúzi (500ml) </Czech> <Czech>Podat krev. transfúzi (500ml) </Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_250"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_250">
@ -354,7 +362,7 @@
<Spanish>Dar Sangre IV (250ml)</Spanish> <Spanish>Dar Sangre IV (250ml)</Spanish>
<Russian>Дать кровь для в/в вливания (250 мл)</Russian> <Russian>Дать кровь для в/в вливания (250 мл)</Russian>
<Polish>Podaj krew IV (250ml)</Polish> <Polish>Podaj krew IV (250ml)</Polish>
<French>Mettre une poche de Sang IV (250ml)</French> <French>Administrer du Sang en IV (250ml)</French>
<Czech>Podat krev. transfúzi (250ml)</Czech> <Czech>Podat krev. transfúzi (250ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Plasma4_1000">
@ -363,7 +371,7 @@
<Spanish>Dar Plasma IV (1000ml)</Spanish> <Spanish>Dar Plasma IV (1000ml)</Spanish>
<Russian>Дать плазму для в/в вливания (1000 мл)</Russian> <Russian>Дать плазму для в/в вливания (1000 мл)</Russian>
<Polish>Podaj osocze IV (1000ml)</Polish> <Polish>Podaj osocze IV (1000ml)</Polish>
<French>Mettre une poche de Plasma IV (1000ml)</French> <French>Administrer du Plasma en IV (1000ml)</French>
<Czech>Podat plazmu (1000ml)</Czech> <Czech>Podat plazmu (1000ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Plasma4_500"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Plasma4_500">
@ -372,7 +380,7 @@
<Spanish>Dar Plasma IV (500ml)</Spanish> <Spanish>Dar Plasma IV (500ml)</Spanish>
<Russian>Дать плазму для в/в вливания (500 мл)</Russian> <Russian>Дать плазму для в/в вливания (500 мл)</Russian>
<Polish>Podaj osocze IV (500ml)</Polish> <Polish>Podaj osocze IV (500ml)</Polish>
<French>Mettre une poche de Plasma IV (500ml)</French> <French>Administrer du Plasma en IV (500ml)</French>
<Czech>Podat plazmu (500ml)</Czech> <Czech>Podat plazmu (500ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Plasma4_250"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Plasma4_250">
@ -381,7 +389,7 @@
<Spanish>Dar Plasma IV (250ml)</Spanish> <Spanish>Dar Plasma IV (250ml)</Spanish>
<Russian>Дать плазму для в/в вливания (250 мл)</Russian> <Russian>Дать плазму для в/в вливания (250 мл)</Russian>
<Polish>Podaj osocze IV (250ml)</Polish> <Polish>Podaj osocze IV (250ml)</Polish>
<French>Mettre une poche de Plasma IV (250ml)</French> <French>Administrer du Plasma en IV (250ml)</French>
<Czech>Podat plazmu (250ml)</Czech> <Czech>Podat plazmu (250ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_1000"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_1000">
@ -390,7 +398,7 @@
<Spanish>Dar Salino IV (1000ml)</Spanish> <Spanish>Dar Salino IV (1000ml)</Spanish>
<Russian>Дать физраствор для в/в вливания (1000 мл)</Russian> <Russian>Дать физраствор для в/в вливания (1000 мл)</Russian>
<Polish>Podaj solankę IV (1000ml)</Polish> <Polish>Podaj solankę IV (1000ml)</Polish>
<French>Mettre une poche de Saline IV (1000ml)</French> <French>Administrer de la Solution Saline en IV (1000ml)</French>
<Czech>Podaz fyz. roztok (1000ml)</Czech> <Czech>Podaz fyz. roztok (1000ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_500"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_500">
@ -399,7 +407,7 @@
<Spanish>Dar Salino IV (500ml)</Spanish> <Spanish>Dar Salino IV (500ml)</Spanish>
<Russian>Дать физраствор для в/в вливания (500 мл)</Russian> <Russian>Дать физраствор для в/в вливания (500 мл)</Russian>
<Polish>Podaj solankę IV (500ml)</Polish> <Polish>Podaj solankę IV (500ml)</Polish>
<French>Mettre une poche de Saline IV (500ml)</French> <French>Administrer de la Solution Saline en IV (500ml)</French>
<Czech>Podaz fyz. roztok (500ml)</Czech> <Czech>Podaz fyz. roztok (500ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_250"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_250">
@ -408,11 +416,12 @@
<Spanish>Dar Salino IV (250ml)</Spanish> <Spanish>Dar Salino IV (250ml)</Spanish>
<Russian>Дать физраствор для в/в вливания (250 мл)</Russian> <Russian>Дать физраствор для в/в вливания (250 мл)</Russian>
<Polish>Podaj solankę IV (250ml)</Polish> <Polish>Podaj solankę IV (250ml)</Polish>
<French>Mettre une poche de Saline IV (250ml)</French> <French>Administrer de la Solution Saline en IV (250ml)</French>
<Czech>Podaz fyz. roztok (250ml)</Czech> <Czech>Podaz fyz. roztok (250ml)</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR"> <Key ID="STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR">
<English>Minor</English> <English>Minor</English>
<French>Blessé léger</French>
<German>Gering</German> <German>Gering</German>
<Spanish>Menor</Spanish> <Spanish>Menor</Spanish>
<Russian>Незначительная</Russian> <Russian>Незначительная</Russian>
@ -425,7 +434,7 @@
<Spanish>Retrasado</Spanish> <Spanish>Retrasado</Spanish>
<Russian>Груз 300</Russian> <Russian>Груз 300</Russian>
<Polish>Opóźniony</Polish> <Polish>Opóźniony</Polish>
<French>Délayé</French> <French>Différé</French>
<German>Verzögert</German> <German>Verzögert</German>
<Czech>Odložitelný</Czech> <Czech>Odložitelný</Czech>
</Key> </Key>
@ -434,7 +443,7 @@
<Spanish>Inmediato</Spanish> <Spanish>Inmediato</Spanish>
<Russian>Помощь отложена</Russian> <Russian>Помощь отложена</Russian>
<Polish>Natychmiastowy</Polish> <Polish>Natychmiastowy</Polish>
<French>Immédiat</French> <French>Urgence Immédiate</French>
<German>Sofort</German> <German>Sofort</German>
<Czech>Okamžiý</Czech> <Czech>Okamžiý</Czech>
</Key> </Key>
@ -470,7 +479,7 @@
<German>Keine Atmung</German> <German>Keine Atmung</German>
<Russian>Дыхание отсутствует</Russian> <Russian>Дыхание отсутствует</Russian>
<Spanish>No respira</Spanish> <Spanish>No respira</Spanish>
<French>Apnée</French> <French>Aucune Respiration</French>
<Polish>Brak oddechu</Polish> <Polish>Brak oddechu</Polish>
<Czech>Nedýchá</Czech> <Czech>Nedýchá</Czech>
</Key> </Key>
@ -497,7 +506,7 @@
<German>Blutet</German> <German>Blutet</German>
<Russian>Кровотечение</Russian> <Russian>Кровотечение</Russian>
<Spanish>Sangrando</Spanish> <Spanish>Sangrando</Spanish>
<French>Seignement</French> <French>Saignement</French>
<Polish>Krwawienie zewnętrzne</Polish> <Polish>Krwawienie zewnętrzne</Polish>
<Czech>Krvácí</Czech> <Czech>Krvácí</Czech>
</Key> </Key>
@ -506,7 +515,7 @@
<German>Hat Schmerzen</German> <German>Hat Schmerzen</German>
<Russian>Испытывает боль</Russian> <Russian>Испытывает боль</Russian>
<Spanish>Con dolor</Spanish> <Spanish>Con dolor</Spanish>
<French>A De La Douleur</French> <French>Ressent de la Douleur</French>
<Polish>W bólu</Polish> <Polish>W bólu</Polish>
<Czech>V bolestech</Czech> <Czech>V bolestech</Czech>
</Key> </Key>
@ -524,7 +533,7 @@
<German>Aderpresse [CAT]</German> <German>Aderpresse [CAT]</German>
<Russian>Жгут</Russian> <Russian>Жгут</Russian>
<Spanish>Torniquete [CAT]</Spanish> <Spanish>Torniquete [CAT]</Spanish>
<French>Garot [CAT]</French> <French>Garrot [CAT]</French>
<Polish>Staza [typ. CAT]</Polish> <Polish>Staza [typ. CAT]</Polish>
<Czech>Škrtidlo [CAT]</Czech> <Czech>Škrtidlo [CAT]</Czech>
</Key> </Key>
@ -534,7 +543,7 @@
<Spanish>Reciviendo IV [%1ml]</Spanish> <Spanish>Reciviendo IV [%1ml]</Spanish>
<Russian>Принимается переливание [%1 мл]</Russian> <Russian>Принимается переливание [%1 мл]</Russian>
<Polish>Otrzymywanie IV [%1ml]</Polish> <Polish>Otrzymywanie IV [%1ml]</Polish>
<French>Réception IV [%1ml]</French> <French>Transfusion en IV [%1ml]</French>
<Czech>Přijímání transfúze [%1ml]</Czech> <Czech>Přijímání transfúze [%1ml]</Czech>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY"> <Key ID="STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY">
@ -559,7 +568,7 @@
<German>Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde.</German> <German>Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde.</German>
<Russian>Повязка, накладываемая поверх раны после остановки кровотечения.</Russian> <Russian>Повязка, накладываемая поверх раны после остановки кровотечения.</Russian>
<Spanish>Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar.</Spanish> <Spanish>Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar.</Spanish>
<French>C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper.</French> <French>Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé.</French>
<Polish>Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia.</Polish> <Polish>Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY"> <Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY">
@ -575,14 +584,14 @@
<German>Verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German> <German>Verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German>
<Russian>Для тампонирования ран среднего и большого размера и остановки кровотечения.</Russian> <Russian>Для тампонирования ран среднего и большого размера и остановки кровотечения.</Russian>
<Spanish>Se utiliza para vendar heridas medianas o grandes y detener el sangrado</Spanish> <Spanish>Se utiliza para vendar heridas medianas o grandes y detener el sangrado</Spanish>
<French>Utiliser pour remplire la cavité créé dans une blessure moyenne et grande.</French> <French>Utilisé pour remplir la cavité créée dans une blessure de taille moyenne à grande.</French>
<Polish>Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia.</Polish> <Polish>Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_USE"> <Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_USE">
<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> <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> <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> <Spanish>Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos.</Spanish>
<French>Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma.</French> <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>
<Polish>Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran.</Polish> <Polish>Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY"> <Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY">
@ -606,7 +615,7 @@
<English>Allows an even compression and extra support to the injured area.</English> <English>Allows an even compression and extra support to the injured area.</English>
<German></German> <German></German>
<Russian>Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области</Russian> <Russian>Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области</Russian>
<French>Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment.</French> <French>Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement.</French>
<Polish>Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów.</Polish> <Polish>Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów.</Polish>
<Spanish>Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada</Spanish> <Spanish>Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada</Spanish>
</Key> </Key>
@ -615,7 +624,7 @@
<German>Aderpresse (CAT)</German> <German>Aderpresse (CAT)</German>
<Russian>Жгут</Russian> <Russian>Жгут</Russian>
<Spanish>Torniquete (CAT)</Spanish> <Spanish>Torniquete (CAT)</Spanish>
<French>Garot (CAT)</French> <French>Garrot (CAT)</French>
<Polish>Staza (typ. CAT)</Polish> <Polish>Staza (typ. CAT)</Polish>
<Czech>Škrtidlo (CAT)</Czech> <Czech>Škrtidlo (CAT)</Czech>
</Key> </Key>
@ -623,7 +632,7 @@
<English>Slows down blood loss when bleeding</English> <English>Slows down blood loss when bleeding</English>
<Russian>Замедляет кровопотерю при кровотечении</Russian> <Russian>Замедляет кровопотерю при кровотечении</Russian>
<Spanish>Reduce la velocidad de pérdida de sangre</Spanish> <Spanish>Reduce la velocidad de pérdida de sangre</Spanish>
<French>Ralentit le seignement</French> <French>Ralentit le saignement</French>
<Polish>Zmniejsza ubytek krwi z kończyn w przypadku krwawienia.</Polish> <Polish>Zmniejsza ubytek krwi z kończyn w przypadku krwawienia.</Polish>
<German>Verringert den Blutverlust während einer Blutung</German> <German>Verringert den Blutverlust während einer Blutung</German>
</Key> </Key>
@ -631,7 +640,7 @@
<English>A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood.</English> <English>A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood.</English>
<Russian>Жгут используется для прижатия сосудов к костным выступам, которое приводит к остановке или значительному уменьшению кровотечения</Russian> <Russian>Жгут используется для прижатия сосудов к костным выступам, которое приводит к остановке или значительному уменьшению кровотечения</Russian>
<Spanish>Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre</Spanish> <Spanish>Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre</Spanish>
<French>Un appareil servent a compresser les artères et veines afin de reduire la perte de sang.</French> <French>Un dispositif permettant de compresser les artères et veines afin de réduire la perte de sang.</French>
<Polish>Opaska uciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym.</Polish> <Polish>Opaska uciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym.</Polish>
<German>Ein Gerät, das Druck auf Venen und Arterien ausübt und so den Blutfluss verringert.</German> <German>Ein Gerät, das Druck auf Venen und Arterien ausübt und so den Blutfluss verringert.</German>
</Key> </Key>
@ -649,14 +658,14 @@
<German>Wird verwendet um moderate bis starke Schmärzen zu lindern.</German> <German>Wird verwendet um moderate bis starke Schmärzen zu lindern.</German>
<Russian>Для снятия средних и сильных болевых ощущений</Russian> <Russian>Для снятия средних и сильных болевых ощущений</Russian>
<Spanish>Usado para combatir los estados dolorosos de moderados a severos</Spanish> <Spanish>Usado para combatir los estados dolorosos de moderados a severos</Spanish>
<French>Utiliser pour contrer les douleurs modéré à severes.</French> <French>Utilisé pour réduire les douleurs modérées à sévères.</French>
<Polish>Morfina. Ma silne działanie przeciwbólowe.</Polish> <Polish>Morfina. Ma silne działanie przeciwbólowe.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_MORPHINE_DESC_USE"> <Key ID="STR_ACE_MEDICAL_MORPHINE_DESC_USE">
<English>An analgesic used to combat moderate to severe pain experiences.</English> <English>An analgesic used to combat moderate to severe pain experiences.</English>
<Russian>Обезболивающее для снятия средних и сильных болевых ощущений.</Russian> <Russian>Обезболивающее для снятия средних и сильных болевых ощущений.</Russian>
<Spanish>Analgésico usado para combatir los estados dolorosos de moderados a severos.</Spanish> <Spanish>Analgésico usado para combatir los estados dolorosos de moderados a severos.</Spanish>
<French>Un Analgésique puissant servant a contrer les douleur modéré a severe.</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> <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> <German>Ein Schmerzmittel um mäßige bis starke Schmerzen zu behandeln</German>
</Key> </Key>
@ -673,7 +682,7 @@
<English>Used in NBC scenarios</English> <English>Used in NBC scenarios</English>
<Russian>Применяется для защиты от ОМП</Russian> <Russian>Применяется для защиты от ОМП</Russian>
<Spanish>Usado en escenarios NBQ</Spanish> <Spanish>Usado en escenarios NBQ</Spanish>
<French>Utiliser en cas d'attaque CBRN</French> <French>Utilisé en cas d'attaque CBRN</French>
<Polish>Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice.</Polish> <Polish>Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice.</Polish>
<German>Verwendet bei ABC Kontamination</German> <German>Verwendet bei ABC Kontamination</German>
</Key> </Key>
@ -698,7 +707,7 @@
<English>Increase heart rate and counter effects given by allergic reactions</English> <English>Increase heart rate and counter effects given by allergic reactions</English>
<Russian>Стимулирует работу сердца и купирует аллергические реакции</Russian> <Russian>Стимулирует работу сердца и купирует аллергические реакции</Russian>
<Spanish>Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas</Spanish> <Spanish>Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas</Spanish>
<French>Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique</French> <French>Augmente la fréquence cadiaque et annule les effets d'une réaction anaphylactique</French>
<Polish>Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne</Polish> <Polish>Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne</Polish>
<German>Steigert die Herzfrequenz, um den Effekt von allergischen Reaktionen zu bekämpfen</German> <German>Steigert die Herzfrequenz, um den Effekt von allergischen Reaktionen zu bekämpfen</German>
</Key> </Key>
@ -706,7 +715,7 @@
<English>A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes.</English> <English>A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes.</English>
<Russian>Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшенной вероятностью благоприятного исхода.</Russian> <Russian>Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшенной вероятностью благоприятного исхода.</Russian>
<Spanish>Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos.</Spanish> <Spanish>Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos.</Spanish>
<French>Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme.</French> <French>Medicament qui fonctionne sur le système nerveux sympathique créant une dilatation des bronches, augmente la fréquence cardiaque et annule les effets d'une réaction allergique (anaphylaxie). Utilisé lors d'arrêt cardio-respiratoire pour augmenter les chances de retrouver un pouls.</French>
<Polish>EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności.</Polish> <Polish>EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PLASMA_IV"> <Key ID="STR_ACE_MEDICAL_PLASMA_IV">
@ -721,14 +730,14 @@
<English>A volume-expanding blood supplement.</English> <English>A volume-expanding blood supplement.</English>
<Russian>Дополнительный препарат, применяемый при возмещении объема крови.</Russian> <Russian>Дополнительный препарат, применяемый при возмещении объема крови.</Russian>
<Spanish>Suplemento para expandir el volumen sanguíneo.</Spanish> <Spanish>Suplemento para expandir el volumen sanguíneo.</Spanish>
<French>Supplement visant a remplacer les volume sanguin</French> <French>Supplément visant à remplacer les volumes sanguin</French>
<Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish> <Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PLASMA_IV_DESC_USE"> <Key ID="STR_ACE_MEDICAL_PLASMA_IV_DESC_USE">
<English>A volume-expanding blood supplement.</English> <English>A volume-expanding blood supplement.</English>
<Russian>Дополнительный препарат, применяемый при возмещении объема крови.</Russian> <Russian>Дополнительный препарат, применяемый при возмещении объема крови.</Russian>
<Spanish>Suplemento para expandir el volumen sanguíneo.</Spanish> <Spanish>Suplemento para expandir el volumen sanguíneo.</Spanish>
<French>Supplement visant a remplacer le volume sanguin et remplace les plaquettes.</French> <French>Supplément visant à remplacer le volume sanguin et remplace les plaquettes.</French>
<Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish> <Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PLASMA_IV_500"> <Key ID="STR_ACE_MEDICAL_PLASMA_IV_500">
@ -759,13 +768,12 @@
<English>Blood IV, for restoring a patients blood (keep cold)</English> <English>Blood IV, for restoring a patients blood (keep cold)</English>
<Russian>Пакет крови для возмещения объема потерянной крови (хранить в холодильнике)</Russian> <Russian>Пакет крови для возмещения объема потерянной крови (хранить в холодильнике)</Russian>
<Spanish>Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío)</Spanish> <Spanish>Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío)</Spanish>
<French>Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré)</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> <Polish>Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BLOOD_IV_DESC_USE"> <Key ID="STR_ACE_MEDICAL_BLOOD_IV_DESC_USE">
<English>O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care.</English> <English>O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care.</English>
<Russian>Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи.</Russian> <Russian>Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи.</Russian>
<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 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> <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> <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>
</Key> </Key>
@ -789,7 +797,7 @@
<English>Saline IV (1000ml)</English> <English>Saline IV (1000ml)</English>
<Russian>Физраствор для в/в вливания (1000 мл)</Russian> <Russian>Физраствор для в/в вливания (1000 мл)</Russian>
<Spanish>Solución Salina IV (1000ml)</Spanish> <Spanish>Solución Salina IV (1000ml)</Spanish>
<French>solution Saline 0.9% IV (1000ml)</French> <French>Solution Saline 0.9% IV (1000ml)</French>
<Polish>Solanka 0,9% IV (1000ml)</Polish> <Polish>Solanka 0,9% IV (1000ml)</Polish>
<German>Kochsalzlösung (1000ml)</German> <German>Kochsalzlösung (1000ml)</German>
</Key> </Key>
@ -797,14 +805,14 @@
<English>Saline IV, for restoring a patients blood</English> <English>Saline IV, for restoring a patients blood</English>
<Russian>Пакет физраствора для возмещения объема потерянной крови</Russian> <Russian>Пакет физраствора для возмещения объема потерянной крови</Russian>
<Spanish>Solución salina intravenosa, para restaurar el volumen sanguíneo</Spanish> <Spanish>Solución salina intravenosa, para restaurar el volumen sanguíneo</Spanish>
<French>Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel</French> <French>Solution Saline 0.9% IV, pour rétablir temporairement la tension artérielle</French>
<Polish>Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta</Polish> <Polish>Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SALINE_IV_DESC_USE"> <Key ID="STR_ACE_MEDICAL_SALINE_IV_DESC_USE">
<English>A medical volume-replenishing agent introduced into the blood system through an IV infusion.</English> <English>A medical volume-replenishing agent introduced into the blood system through an IV infusion.</English>
<Russian>Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания</Russian> <Russian>Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания</Russian>
<Spanish>Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa.</Spanish> <Spanish>Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa.</Spanish>
<French>Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse</French> <French>Un remplacement 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> <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>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SALINE_IV_500"> <Key ID="STR_ACE_MEDICAL_SALINE_IV_500">
@ -842,7 +850,7 @@
<Key ID="STR_ACE_MEDICAL_QUIKCLOT_DESC_USE"> <Key ID="STR_ACE_MEDICAL_QUIKCLOT_DESC_USE">
<English>Hemostatic bandage with coagulant that stops bleeding.</English> <English>Hemostatic bandage with coagulant that stops bleeding.</English>
<Russian>Медицинский коагулянт для экстренной остановки кровотечения</Russian> <Russian>Медицинский коагулянт для экстренной остановки кровотечения</Russian>
<French>Un bandage servant a coaguler les seignements mineur à moyen.</French> <French>Un bandage aidant à coaguler les saignements mineurs à moyens.</French>
<Polish>Proszkowy opatrunek adsorpcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności.</Polish> <Polish>Proszkowy opatrunek adsorpcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności.</Polish>
<Spanish>Vendaje hemostático con coagulante que detiene el sangrado.</Spanish> <Spanish>Vendaje hemostático con coagulante que detiene el sangrado.</Spanish>
<German>Verband mit Gerinnungsmittel, um starke Blutung zu behandeln.</German> <German>Verband mit Gerinnungsmittel, um starke Blutung zu behandeln.</German>
@ -851,7 +859,7 @@
<English>Personal Aid Kit</English> <English>Personal Aid Kit</English>
<Russian>Аптечка</Russian> <Russian>Аптечка</Russian>
<Spanish>Botiquín de primeros auxilios</Spanish> <Spanish>Botiquín de primeros auxilios</Spanish>
<French>Équipement de support Vitale</French> <French>Équipement de support vital</French>
<Polish>Apteczka osobista</Polish> <Polish>Apteczka osobista</Polish>
<German>Persönliches Verbandpäckchen</German> <German>Persönliches Verbandpäckchen</German>
</Key> </Key>
@ -859,7 +867,7 @@
<English>Includes various treatment kit needed for stitching or advanced treatment</English> <English>Includes various treatment kit needed for stitching or advanced treatment</English>
<Russian>Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи.</Russian> <Russian>Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи.</Russian>
<Spanish>Incluye material médico para tratamientos avanzados</Spanish> <Spanish>Incluye material médico para tratamientos avanzados</Spanish>
<French>Inclue du matériel medical pour les traitement avancé, tel les point de suture.</French> <French>Inclue du matériel medical pour les traitements avancés, tel les points de suture.</French>
<Polish>Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego</Polish> <Polish>Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego</Polish>
<German>Beinhaltet medizinisches Material für fortgeschrittene Behandlung und zum Nähen.</German> <German>Beinhaltet medizinisches Material für fortgeschrittene Behandlung und zum Nähen.</German>
</Key> </Key>
@ -872,7 +880,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SURGICALKIT_DISPLAY"> <Key ID="STR_ACE_MEDICAL_SURGICALKIT_DISPLAY">
<English>Surgical Kit</English> <English>Surgical Kit</English>
<French>Kit de chirurgien</French> <French>Trousse chirurgicale</French>
<Russian>Хирургический набор</Russian> <Russian>Хирургический набор</Russian>
<Spanish>Kit quirúrgico</Spanish> <Spanish>Kit quirúrgico</Spanish>
<Polish>Zestaw do szycia ran</Polish> <Polish>Zestaw do szycia ran</Polish>
@ -880,7 +888,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT"> <Key ID="STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT">
<English>Surgical Kit for in field advanced medical treatment</English> <English>Surgical Kit for in field advanced medical treatment</English>
<French>Kit de chirurgien pour les soins avancés sur le terrain</French> <French>Trousse chirurgicale pour le traitement sur le terrain</French>
<Russian>Набор для хирургической помощи в полевых условиях</Russian> <Russian>Набор для хирургической помощи в полевых условиях</Russian>
<Spanish>Kit quirúrgico para el tratamiento avanzado en el campo de batalla</Spanish> <Spanish>Kit quirúrgico para el tratamiento avanzado en el campo de batalla</Spanish>
<Polish>Zestaw pozwalający na zszywanie ran w polu</Polish> <Polish>Zestaw pozwalający na zszywanie ran w polu</Polish>
@ -892,18 +900,20 @@
<Spanish>Kit quirúrgico para el tratamiento avanzado en el campo de batalla</Spanish> <Spanish>Kit quirúrgico para el tratamiento avanzado en el campo de batalla</Spanish>
<Polish>Zestaw pozwalający na zszywanie ran w polu</Polish> <Polish>Zestaw pozwalający na zszywanie ran w polu</Polish>
<German>Operationsset für fortgeschrittene medizinische Feldversorgung</German> <German>Operationsset für fortgeschrittene medizinische Feldversorgung</German>
<French>Trousse chirurgicale pour le traitement sur le terrain</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BODYBAG_DISPLAY"> <Key ID="STR_ACE_MEDICAL_BODYBAG_DISPLAY">
<English>Bodybag</English> <English>Bodybag</English>
<French>Sac à corps</French> <French>Sac à corps</French>
<Russian>Мешок для трупов</Russian> <Russian>Мешок для трупов</Russian>
<French>Housse mortuaire</French>
<Spanish>Bolsa para cadáveres</Spanish> <Spanish>Bolsa para cadáveres</Spanish>
<Polish>Worek na zwłoki</Polish> <Polish>Worek na zwłoki</Polish>
<German>Leichensack</German> <German>Leichensack</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BODYBAG_DESC_SHORT"> <Key ID="STR_ACE_MEDICAL_BODYBAG_DESC_SHORT">
<English>A bodybag for dead bodies</English> <English>A bodybag for dead bodies</English>
<French>Un sac pour les cadavres</French> <French>Housse de transport des corps</French>
<Russian>Мешок для упаковки трупов</Russian> <Russian>Мешок для упаковки трупов</Russian>
<Spanish>Una bolsa para cadáveres</Spanish> <Spanish>Una bolsa para cadáveres</Spanish>
<Polish>Worek do pakowania zwłok</Polish> <Polish>Worek do pakowania zwłok</Polish>
@ -911,7 +921,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BODYBAG_DESC_USE"> <Key ID="STR_ACE_MEDICAL_BODYBAG_DESC_USE">
<English>A bodybag for dead bodies</English> <English>A bodybag for dead bodies</English>
<French>Un sac pour les cadavres</French> <French>Housse de transport des corps</French>
<Russian>Мешок для упаковки трупов</Russian> <Russian>Мешок для упаковки трупов</Russian>
<Spanish>Una bolsa para cadáveres</Spanish> <Spanish>Una bolsa para cadáveres</Spanish>
<Polish>Worek do pakowania zwłok</Polish> <Polish>Worek do pakowania zwłok</Polish>
@ -919,7 +929,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE">
<English>Blood Pressure</English> <English>Blood Pressure</English>
<French>Pression sanguine</French> <French>Tension artérielle</French>
<Russian>Артериальное давление</Russian> <Russian>Артериальное давление</Russian>
<Spanish>Presión arterial</Spanish> <Spanish>Presión arterial</Spanish>
<Polish>Ciśnienie krwi</Polish> <Polish>Ciśnienie krwi</Polish>
@ -927,7 +937,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT">
<English>Checking Blood Pressure..</English> <English>Checking Blood Pressure..</English>
<French>Vérification de la pression sanguine</French> <French>Mesure de la tension ...</French>
<Russian>Проверка артериального давления...</Russian> <Russian>Проверка артериального давления...</Russian>
<Spanish>Comprobando presión arterial...</Spanish> <Spanish>Comprobando presión arterial...</Spanish>
<Polish>Sprawdzanie ciśnienia krwi...</Polish> <Polish>Sprawdzanie ciśnienia krwi...</Polish>
@ -937,21 +947,20 @@
<English>You checked %1</English> <English>You checked %1</English>
<French>Vous diagnostiquez %1</French> <French>Vous diagnostiquez %1</French>
<Russian>Вы осмотрели раненого %1</Russian> <Russian>Вы осмотрели раненого %1</Russian>
<French>Vous examinez %1</French>
<Spanish>Examinando a %1</Spanish> <Spanish>Examinando a %1</Spanish>
<Polish>Zbadałeś %1</Polish> <Polish>Zbadałeś %1</Polish>
<German>Kontrolliert %1</German> <German>Kontrolliert %1</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_1"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_1">
<English>You find a blood pressure of %2/%3</English> <English>You find a blood pressure of %2/%3</English>
<French>Vous pris une pression sanguine de %2/%3</French> <French>Vous avez trouvé une tension de %2/%3</French>
<Russian>Артериальное давление %2/%3</Russian> <Russian>Артериальное давление %2/%3</Russian>
<Spanish>La presión arterial es %2/%3</Spanish> <Spanish>La Presión Arterial es %2/%3</Spanish>
<Polish>Ciśnienie krwi wynosi %2/%3</Polish>
<German>Blutdruck ist %2/%3</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2">
<English>You find a low blood pressure</English> <English>You find a low blood pressure</English>
<French>Vous avez trouvé une pression sanguine base</French> <French>Tension basse</French>
<Russian>Давление низкое</Russian> <Russian>Давление низкое</Russian>
<Spanish>La presión arterial es baja</Spanish> <Spanish>La presión arterial es baja</Spanish>
<Polish>Wyczuwasz niskie ciśnienie krwi</Polish> <Polish>Wyczuwasz niskie ciśnienie krwi</Polish>
@ -959,7 +968,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3">
<English>You find a normal blood pressure</English> <English>You find a normal blood pressure</English>
<French>Vous avez trouvé une pression sanguine normale</French> <French>Tension normale</French>
<Russian>Давление нормальное</Russian> <Russian>Давление нормальное</Russian>
<Spanish>La presión arterial es normal</Spanish> <Spanish>La presión arterial es normal</Spanish>
<Polish>Wyczuwasz normalne ciśnienie krwi</Polish> <Polish>Wyczuwasz normalne ciśnienie krwi</Polish>
@ -967,7 +976,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4">
<English>You find a high blood pressure</English> <English>You find a high blood pressure</English>
<French>Vous avez trouvé une forte pression sanguine</French> <French>Tension haute</French>
<Russian>Давление высокое</Russian> <Russian>Давление высокое</Russian>
<Spanish>La presión arterial es alta</Spanish> <Spanish>La presión arterial es alta</Spanish>
<Polish>Wyczuwasz wysokie ciśnienie krwi</Polish> <Polish>Wyczuwasz wysokie ciśnienie krwi</Polish>
@ -975,7 +984,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5">
<English>You find no blood pressure</English> <English>You find no blood pressure</English>
<French>Vous n'avez pas trouvé de pression sanguine</French> <French>Pas de tension</French>
<Russian>Давления нет</Russian> <Russian>Давления нет</Russian>
<Spanish>No hay presión arterial</Spanish> <Spanish>No hay presión arterial</Spanish>
<Polish>Nie wyczuwasz ciśnienia krwi</Polish> <Polish>Nie wyczuwasz ciśnienia krwi</Polish>
@ -983,7 +992,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6">
<English>You fail to find a blood pressure</English> <English>You fail to find a blood pressure</English>
<French>Vous avez raté le diagnostique de la pression sanguine</French> <French>Vous n'avez pas pu mesurer de tension</French>
<Russian>Артериальное давление не определяется</Russian> <Russian>Артериальное давление не определяется</Russian>
<Spanish>No puedes encontrar presión arterial</Spanish> <Spanish>No puedes encontrar presión arterial</Spanish>
<Polish>Nie udało Ci się sprawdzić ciśnienia krwi</Polish> <Polish>Nie udało Ci się sprawdzić ciśnienia krwi</Polish>
@ -993,13 +1002,14 @@
<English>Pulse</English> <English>Pulse</English>
<French>Pulsations</French> <French>Pulsations</French>
<Russian>Пульс</Russian> <Russian>Пульс</Russian>
<French>Pouls</French>
<Spanish>Pulso</Spanish> <Spanish>Pulso</Spanish>
<Polish>Tętno</Polish> <Polish>Tętno</Polish>
<German>Puls</German> <German>Puls</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CONTENT"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CONTENT">
<English>Checking Heart Rate..</English> <English>Checking Heart Rate..</English>
<French>Diagnostique de la fréquence cardiaque</French> <French>Vérification du rythme cardiaque ...</French>
<Russian>Проверка пульса...</Russian> <Russian>Проверка пульса...</Russian>
<Spanish>Comprobando ritmo cardíaco...</Spanish> <Spanish>Comprobando ritmo cardíaco...</Spanish>
<Polish>Sprawdzanie tętna...</Polish> <Polish>Sprawdzanie tętna...</Polish>
@ -1009,13 +1019,14 @@
<English>You checked %1</English> <English>You checked %1</English>
<French>Vous avez Diagnostiqué %1</French> <French>Vous avez Diagnostiqué %1</French>
<Russian>Вы осмотрели раненого %1</Russian> <Russian>Вы осмотрели раненого %1</Russian>
<French>Vous examinez %1</French>
<Spanish>Examinando a %1</Spanish> <Spanish>Examinando a %1</Spanish>
<Polish>Zbadałeś %1</Polish> <Polish>Zbadałeś %1</Polish>
<German>Kontrolliertt %1</German> <German>Kontrolliertt %1</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1">
<English>You find a Heart Rate of %2</English> <English>You find a Heart Rate of %2</English>
<French>Vous avez trouvé une fréquence cardiaque de %2</French> <French>Rythme carquiaque de %2</French>
<Russian>Пульс %2 уд./мин.</Russian> <Russian>Пульс %2 уд./мин.</Russian>
<Spanish>El ritmo cardíaco es de %2</Spanish> <Spanish>El ritmo cardíaco es de %2</Spanish>
<Polish>Wyczuwasz tętno o wartości %2</Polish> <Polish>Wyczuwasz tętno o wartości %2</Polish>
@ -1023,7 +1034,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2">
<English>You find a weak Heart Rate</English> <English>You find a weak Heart Rate</English>
<French>Vous avez trouvé une faible fréquence cardiaque</French> <French>Rythme cardiaque faible</French>
<Russian>Пульс слабый</Russian> <Russian>Пульс слабый</Russian>
<Spanish>El ritmo cardíaco es débil</Spanish> <Spanish>El ritmo cardíaco es débil</Spanish>
<Polish>Wyczuwasz słabe tętno</Polish> <Polish>Wyczuwasz słabe tętno</Polish>
@ -1031,7 +1042,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3">
<English>You find a strong Heart Rate</English> <English>You find a strong Heart Rate</English>
<French>Vous avez trouvé une forte fréquence cardiaque</French> <French>Rythme cardiaque élevé</French>
<Russian>Пульс учащенный</Russian> <Russian>Пульс учащенный</Russian>
<Spanish>El ritmo cardíaco está acelerado</Spanish> <Spanish>El ritmo cardíaco está acelerado</Spanish>
<Polish>Wyczuwasz silne tętno</Polish> <Polish>Wyczuwasz silne tętno</Polish>
@ -1039,7 +1050,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4">
<English>You find a normal Heart Rate</English> <English>You find a normal Heart Rate</English>
<French>Vous avez trouvé une fréquence cardiaque normale</French> <French>Rythme cardiaque normal</French>
<Russian>Пульс в норме</Russian> <Russian>Пульс в норме</Russian>
<Spanish>El ritmo cardíaco es bueno</Spanish> <Spanish>El ritmo cardíaco es bueno</Spanish>
<Polish>Wyczuwasz normalne tętno</Polish> <Polish>Wyczuwasz normalne tętno</Polish>
@ -1047,7 +1058,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_5"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_5">
<English>You find no Heart Rate</English> <English>You find no Heart Rate</English>
<French>Vous n'avez trouvé de fréquence cardiaque</French> <French>Pas de rythme cardiaque</French>
<Russian>Пульс не прощупывается</Russian> <Russian>Пульс не прощупывается</Russian>
<Spanish>No tiene ritmo cardíaco</Spanish> <Spanish>No tiene ritmo cardíaco</Spanish>
<Polish>Wyczuwasz brak tętna</Polish> <Polish>Wyczuwasz brak tętna</Polish>
@ -1055,7 +1066,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_RESPONSE"> <Key ID="STR_ACE_MEDICAL_CHECK_RESPONSE">
<English>Response</English> <English>Response</English>
<French>Réponse</French> <French>Etat de Conscience</French>
<Russian>Реакция</Russian> <Russian>Реакция</Russian>
<Spanish>Respuesta</Spanish> <Spanish>Respuesta</Spanish>
<Polish>Przytomność</Polish> <Polish>Przytomność</Polish>
@ -1065,6 +1076,7 @@
<English>You check response of patient</English> <English>You check response of patient</English>
<French>Vous vérifiez la réponse du patient</French> <French>Vous vérifiez la réponse du patient</French>
<Russian>Вы проверяете реакцию раненого</Russian> <Russian>Вы проверяете реакцию раненого</Russian>
<French>Vérification de l'état de conscience du patient</French>
<Spanish>Compruebas si el paciente reacciona</Spanish> <Spanish>Compruebas si el paciente reacciona</Spanish>
<Polish>Sprawdzasz przytomność pacjenta</Polish> <Polish>Sprawdzasz przytomność pacjenta</Polish>
<German>Du prüfst ob der Patient ansprechbar ist</German> <German>Du prüfst ob der Patient ansprechbar ist</German>
@ -1073,6 +1085,7 @@
<English>%1 is responsive</English> <English>%1 is responsive</English>
<French>%1 est conscient</French> <French>%1 est conscient</French>
<Russian>%1 реагирует на раздражители</Russian> <Russian>%1 реагирует на раздражители</Russian>
<French>%1 est conscient</French>
<Spanish>%1 ha reaccionado</Spanish> <Spanish>%1 ha reaccionado</Spanish>
<Polish>%1 jest przytomny</Polish> <Polish>%1 jest przytomny</Polish>
<German>%1 ist anprechbar</German> <German>%1 ist anprechbar</German>
@ -1081,6 +1094,7 @@
<English>%1 is not responsive</English> <English>%1 is not responsive</English>
<French>%1 n'est pas conscient</French> <French>%1 n'est pas conscient</French>
<Russian>%1 не реагирует</Russian> <Russian>%1 не реагирует</Russian>
<French>%1 est inconscient</French>
<Spanish>%1 no reacciona</Spanish> <Spanish>%1 no reacciona</Spanish>
<Polish>%1 jest nieprzytomny</Polish> <Polish>%1 jest nieprzytomny</Polish>
<German>%1 ist nicht ansprechbar</German> <German>%1 ist nicht ansprechbar</German>
@ -1089,6 +1103,7 @@
<English>You checked %1</English> <English>You checked %1</English>
<French>Vous diagnostiqué %1</French> <French>Vous diagnostiqué %1</French>
<Russian>Вы осмотрели раненого %1</Russian> <Russian>Вы осмотрели раненого %1</Russian>
<French>Vous avez examiné %1</French>
<Spanish>Examinas a %1</Spanish> <Spanish>Examinas a %1</Spanish>
<Polish>Zbadałeś %1</Polish> <Polish>Zbadałeś %1</Polish>
<German>Du versucht %1 anzusprechen</German> <German>Du versucht %1 anzusprechen</German>
@ -1097,6 +1112,7 @@
<English>Bandaged</English> <English>Bandaged</English>
<French>Bandé</French> <French>Bandé</French>
<Russian>Повязка наложена</Russian> <Russian>Повязка наложена</Russian>
<French>Pansement appliqué</French>
<Spanish>Vendado</Spanish> <Spanish>Vendado</Spanish>
<Polish>Zabandażowano</Polish> <Polish>Zabandażowano</Polish>
</Key> </Key>
@ -1104,6 +1120,7 @@
<English>You bandage %1 (%2)</English> <English>You bandage %1 (%2)</English>
<French>Vous bandez %1 (%2)</French> <French>Vous bandez %1 (%2)</French>
<Russian>Вы перевязали раненого %1 (%2)</Russian> <Russian>Вы перевязали раненого %1 (%2)</Russian>
<French>Vous avez pansé %1 (%2)</French>
<Spanish>Aplicas vendaje a %1 en %2</Spanish> <Spanish>Aplicas vendaje a %1 en %2</Spanish>
<Polish>Bandażujesz %1 (%2)</Polish> <Polish>Bandażujesz %1 (%2)</Polish>
</Key> </Key>
@ -1111,24 +1128,28 @@
<English>%1 is bandaging you</English> <English>%1 is bandaging you</English>
<French>%1 vous bande</French> <French>%1 vous bande</French>
<Russian>%1 перевязывает вас</Russian> <Russian>%1 перевязывает вас</Russian>
<French>%1 vous applique un pansement</French>
<Spanish>%1 te está vendando</Spanish> <Spanish>%1 te está vendando</Spanish>
<Polish>%1 bandażuje Ciebie</Polish> <Polish>%1 bandażuje Ciebie</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_START_STITCHING_INJURIES"> <Key ID="STR_ACE_MEDICAL_START_STITCHING_INJURIES">
<English>You start stitching injures from %1 (%2)</English> <English>You start stitching injures from %1 (%2)</English>
<Russian>Вы зашиваете ранения от %1 (%2)</Russian> <Russian>Вы зашиваете ранения от %1 (%2)</Russian>
<French>Vous suturez %1 (%2)</French>
<Spanish>Estás suturando heridas de %1 en %2</Spanish> <Spanish>Estás suturando heridas de %1 en %2</Spanish>
<Polish>Zszywasz rany %1 (%2)</Polish> <Polish>Zszywasz rany %1 (%2)</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_STITCHING"> <Key ID="STR_ACE_MEDICAL_STITCHING">
<English>Stitching</English> <English>Stitching</English>
<Russian>Наложение швов</Russian> <Russian>Наложение швов</Russian>
<French>Sutures</French>
<Spanish>Suturando</Spanish> <Spanish>Suturando</Spanish>
<Polish>Szycie</Polish> <Polish>Szycie</Polish>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_YOU_TREAT_AIRWAY"> <Key ID="STR_ACE_MEDICAL_YOU_TREAT_AIRWAY">
<English>You treat the airway of %1</English> <English>You treat the airway of %1</English>
<Russian>Вы интубируете раненого %1</Russian> <Russian>Вы интубируете раненого %1</Russian>
<French>Vous traitez les voies respiratoires de %1</French>
<Spanish>Estás intubando a %1</Spanish> <Spanish>Estás intubando a %1</Spanish>
<Polish>Udrażniasz drogi oddechowe %1</Polish> <Polish>Udrażniasz drogi oddechowe %1</Polish>
</Key> </Key>
@ -1138,10 +1159,12 @@
<Spanish>Vías aéreas</Spanish> <Spanish>Vías aéreas</Spanish>
<Polish>Drogi oddechowe</Polish> <Polish>Drogi oddechowe</Polish>
<German>Atemwege</German> <German>Atemwege</German>
<French>Voies respiratoires</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_IS_TREATING_YOUR_AIRWAY"> <Key ID="STR_ACE_MEDICAL_IS_TREATING_YOUR_AIRWAY">
<English>%1 is treating your airway</English> <English>%1 is treating your airway</English>
<Russian>%1 проводит вам интубацию</Russian> <Russian>%1 проводит вам интубацию</Russian>
<French>%1 traite vos voies respiratoires</French>
<Spanish>%1 te está intubando</Spanish> <Spanish>%1 te está intubando</Spanish>
<Polish>%1 udrażnia Twoje drogi oddechowe</Polish> <Polish>%1 udrażnia Twoje drogi oddechowe</Polish>
</Key> </Key>
@ -1152,7 +1175,7 @@
<Polish>Ciągnij</Polish> <Polish>Ciągnij</Polish>
<Czech>Táhnout</Czech> <Czech>Táhnout</Czech>
<Russian>Тащить</Russian> <Russian>Тащить</Russian>
<French>Tracter</French> <French>Trainer</French>
<Hungarian>Húzás</Hungarian> <Hungarian>Húzás</Hungarian>
<Portuguese>Arrastar</Portuguese> <Portuguese>Arrastar</Portuguese>
<Italian>Trascina</Italian> <Italian>Trascina</Italian>
@ -1210,35 +1233,35 @@
<Spanish>Descargar el paciente</Spanish> <Spanish>Descargar el paciente</Spanish>
<Russian>Выгрузить пациента</Russian> <Russian>Выгрузить пациента</Russian>
<Polish>Wyładuj pacjenta</Polish> <Polish>Wyładuj pacjenta</Polish>
<French>charger le patient</French> <French>barquer le Patient</French>
</Key> </Key>
<Key ID="STR_ACE_Medical_LoadPatient"> <Key ID="STR_ACE_Medical_LoadPatient">
<English>Load patient</English> <English>Load patient</English>
<Spanish>Cargar el paciente en</Spanish> <Spanish>Cargar el paciente en</Spanish>
<Russian>Погрузить пациента</Russian> <Russian>Погрузить пациента</Russian>
<Polish>Załaduj pacjenta</Polish> <Polish>Załaduj pacjenta</Polish>
<French>Charger le patient</French> <French>Embarquer le Patient</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PlaceInBodyBag"> <Key ID="STR_ACE_MEDICAL_PlaceInBodyBag">
<English>Place body in bodybag</English> <English>Place body in bodybag</English>
<Spanish>Colocar cuerpo en bolsa para cadáveres</Spanish> <Spanish>Colocar cuerpo en bolsa para cadáveres</Spanish>
<Russian>Поместить тело в мешок для трупов</Russian> <Russian>Поместить тело в мешок для трупов</Russian>
<Polish>Zapakuj ciało do worka na zwłoki</Polish> <Polish>Zapakuj ciało do worka na zwłoki</Polish>
<French>Placer le corps dans le sac à cadavre</French> <French>Mettre le corps dans la housse mortuaire</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PlacingInBodyBag"> <Key ID="STR_ACE_MEDICAL_PlacingInBodyBag">
<English>Placing body in bodybag</English> <English>Placing body in bodybag</English>
<Spanish>Colocando cuerpo en bolsa para cadáveres</Spanish> <Spanish>Colocando cuerpo en bolsa para cadáveres</Spanish>
<Russian>Упаковка тела</Russian> <Russian>Упаковка тела</Russian>
<Polish>Pakowanie ciała do worka na zwłoki</Polish> <Polish>Pakowanie ciała do worka na zwłoki</Polish>
<French>Mise en sac du corps dans le sac à cadavre</French> <French>Placement du corps dans la housse</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIVITY_bandagedPatient"> <Key ID="STR_ACE_MEDICAL_ACTIVITY_bandagedPatient">
<English>%1 has bandaged patient</English> <English>%1 has bandaged patient</English>
<Spanish>%1 has vendado al paciente</Spanish> <Spanish>%1 has vendado al paciente</Spanish>
<Russian>%1 перевязал пациента</Russian> <Russian>%1 перевязал пациента</Russian>
<Polish>%1 zabandażował pacjenta</Polish> <Polish>%1 zabandażował pacjenta</Polish>
<French>%1 à bandé un patient</French> <French>%1 a pansé le patient</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIVITY_usedItem"> <Key ID="STR_ACE_MEDICAL_ACTIVITY_usedItem">
<English>%1 used %2</English> <English>%1 used %2</English>
@ -1252,14 +1275,62 @@
<Spanish>%1 has puesto una IV</Spanish> <Spanish>%1 has puesto una IV</Spanish>
<Russian>%1 провел переливание</Russian> <Russian>%1 провел переливание</Russian>
<Polish>%1 podał IV</Polish> <Polish>%1 podał IV</Polish>
<French>%1 à donné un IV</French> <French>%1 a administré une IV</French>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet"> <Key ID="STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet">
<English>%1 applied a tourniquet</English> <English>%1 applied a tourniquet</English>
<Spanish>%1 aplicado torniquete</Spanish> <Spanish>%1 aplicado torniquete</Spanish>
<Russian>%1 наложил жгут</Russian> <Russian>%1 наложил жгут</Russian>
<Polish>%1 założył stazę</Polish> <Polish>%1 założył stazę</Polish>
<French>%1 à appliqué un garrot</French> <French>%1 a appliqué un garrot</French>
</Key>
<Key ID="STR_ACE_Medical_HeavilyWounded">
<English>Heavily wounded</English>
<German>Schwer verwundet:</German>
</Key>
<Key ID="STR_ACE_Medical_LightlyWounded">
<English>Lightly wounded</English>
<German>Leicht verwundet:</German>
</Key>
<Key ID="STR_ACE_Medical_VeryLightlyWounded">
<English>Very lightly wounded</English>
<German>Sehr leicht verwundet:</German>
</Key>
<Key ID="STR_ACE_Medical_Head">
<English>Head</English>
<German>Kopf</German>
</Key>
<Key ID="STR_ACE_Medical_Torso">
<English>Torso</English>
<German>Torso</German>
</Key>
<Key ID="STR_ACE_Medical_LeftArm">
<English>Left Arm</English>
<German>Linker Arm</German>
</Key>
<Key ID="STR_ACE_Medical_RightArm">
<English>Right Arm</English>
<German>Rechter Arm</German>
</Key>
<Key ID="STR_ACE_Medical_LeftLeg">
<English>Left Leg</English>
<German>Linkes Bein</German>
</Key>
<Key ID="STR_ACE_Medical_RightLeg">
<English>Right Leg</English>
<German>Rechtes Bein</German>
</Key>
<Key ID="STR_ACE_Medical_painEffectType">
<English>Pain Effect Type</English>
<German>Schmerzeffekt-Typ</German>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Flash">
<English>Colour Flashing</English>
<German>Farbblinken</German>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Chroma">
<English>Chromatic Aberration</English>
<German>Chromatische Aberration</German>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -21,6 +21,6 @@ class ACE_Settings {
class GVAR(MapDataAvailable) { class GVAR(MapDataAvailable) {
value = 2; value = 2;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 0; isClientSettable = 0;
}; };
}; };

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="microdagr"> <Package name="microdagr">
<Key ID="STR_ACE_microdagr_itemName"> <Key ID="STR_ACE_microdagr_itemName">
@ -9,15 +8,15 @@
<Russian>MicroDAGR GPS</Russian> <Russian>MicroDAGR GPS</Russian>
<Czech>MicroDAGR GPS</Czech> <Czech>MicroDAGR GPS</Czech>
<Polish>MicroDAGR GPS</Polish> <Polish>MicroDAGR GPS</Polish>
<French>GPS MicroDAGR</French> <French>MicroDAGR GPS</French>
</Key> </Key>
<Key ID="STR_ACE_microdagr_itemDescription"> <Key ID="STR_ACE_microdagr_itemDescription">
<English>MicroDAGR advanced GPS receiver</English> <English>MicroDAGR advanced GPS receiver</English>
<German>MicroDAGR verbesserter GPS Empfänger</German> <German>MicroDAGR - Fortgeschrittener GPS-Empfänger</German>
<Spanish>Receptor avanzado GPS MicroDAGR</Spanish> <Spanish>Receptor avanzado GPS MicroDAGR</Spanish>
<Russian>Многофункциональный GPS-приёмник.</Russian> <Russian>Многофункциональный GPS-приёмник.</Russian>
<Polish>Zaawansowany odbiornik GPS MicroDAGR</Polish> <Polish>Zaawansowany odbiornik GPS MicroDAGR</Polish>
<French>MicroDAGR un GPS avancé</French> <French>Récepteur GPS MicroDAGR</French>
<Czech>MicroDAGR pokročílá GPS příjímač</Czech> <Czech>MicroDAGR pokročílá GPS příjímač</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_settingUseMils"> <Key ID="STR_ACE_microdagr_settingUseMils">
@ -25,13 +24,13 @@
<Spanish>Unidad angular:</Spanish> <Spanish>Unidad angular:</Spanish>
<Russian>Угловые единицы:</Russian> <Russian>Угловые единицы:</Russian>
<Polish>Jednostka kątowa:</Polish> <Polish>Jednostka kątowa:</Polish>
<French>Unité angulaire:</French> <French>Unité angulaire</French>
<German>Winkeleinheit:</German> <German>Winkeleinheit:</German>
<Czech>Úhlová jednotka:</Czech> <Czech>Úhlová jednotka:</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_settingMils"> <Key ID="STR_ACE_microdagr_settingMils">
<English>Mils</English> <English>Mils</English>
<German>Mils</German> <German>Mil</German>
<Spanish>Mils</Spanish> <Spanish>Mils</Spanish>
<Russian>Тысячные</Russian> <Russian>Тысячные</Russian>
<Polish>Tysiączne</Polish> <Polish>Tysiączne</Polish>
@ -44,7 +43,7 @@
<Spanish>Mostrar puntos de ruta en el mapa:</Spanish> <Spanish>Mostrar puntos de ruta en el mapa:</Spanish>
<Russian>Показывать маршрутные точки на карте:</Russian> <Russian>Показывать маршрутные точки на карте:</Russian>
<Polish>Pokaż PT na mapie:</Polish> <Polish>Pokaż PT na mapie:</Polish>
<French>Afficher les points de passage sur la carte :</French> <French>Montrer points de passage sur la carte</French>
<Czech>Ukázat waypointy na mapě:</Czech> <Czech>Ukázat waypointy na mapě:</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_settingDegrees"> <Key ID="STR_ACE_microdagr_settingDegrees">
@ -59,7 +58,7 @@
<Key ID="STR_ACE_microdagr_settingOn"> <Key ID="STR_ACE_microdagr_settingOn">
<English>On</English> <English>On</English>
<Czech>Zapnuto</Czech> <Czech>Zapnuto</Czech>
<French>Oui</French> <French>Allumé</French>
<German>Ein</German> <German>Ein</German>
<Italian></Italian> <Italian></Italian>
<Polish>Wł.</Polish> <Polish>Wł.</Polish>
@ -70,7 +69,7 @@
<Key ID="STR_ACE_microdagr_settingOff"> <Key ID="STR_ACE_microdagr_settingOff">
<English>Off</English> <English>Off</English>
<Czech>Vypnuto</Czech> <Czech>Vypnuto</Czech>
<French>Non</French> <French>Eteint</French>
<German>Aus</German> <German>Aus</German>
<Italian>No</Italian> <Italian>No</Italian>
<Polish>Wył.</Polish> <Polish>Wył.</Polish>
@ -83,7 +82,7 @@
<Spanish>Introducir coordenadas de cuadrícula:</Spanish> <Spanish>Introducir coordenadas de cuadrícula:</Spanish>
<Russian>Введите координаты:</Russian> <Russian>Введите координаты:</Russian>
<Polish>Wprowadź współrzędne:</Polish> <Polish>Wprowadź współrzędne:</Polish>
<French>Entrer Grid Cords :</French> <French>Entrer coordonnées</French>
<German>Koordinaten eingeben:</German> <German>Koordinaten eingeben:</German>
<Czech>Napiš souřadnice:</Czech> <Czech>Napiš souřadnice:</Czech>
</Key> </Key>
@ -93,16 +92,16 @@
<Spanish>Nombre de [%1]</Spanish> <Spanish>Nombre de [%1]</Spanish>
<Russian>Название [%1]</Russian> <Russian>Название [%1]</Russian>
<Polish>Nazwa [%1]</Polish> <Polish>Nazwa [%1]</Polish>
<French>Nom de [%1]</French> <French>Nom de %1</French>
<Czech>Název [%1]</Czech> <Czech>Název [%1]</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_controlMGRS"> <Key ID="STR_ACE_microdagr_controlMGRS">
<English>MGRS-New</English> <English>MGRS-New</English>
<German>MGRS-NEU</German> <German>UTMREF-NEU</German>
<Spanish>Nuevo-MGRS</Spanish> <Spanish>Nuevo-MGRS</Spanish>
<Russian>MGRS-Новая</Russian> <Russian>MGRS-Новая</Russian>
<Polish>MGRS-Nowy</Polish> <Polish>MGRS-Nowy</Polish>
<French>Nouveau MGRS</French> <French>Info-MGRS</French>
<Czech>MGRS-Nový</Czech> <Czech>MGRS-Nový</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_controlWGD"> <Key ID="STR_ACE_microdagr_controlWGD">
@ -120,7 +119,7 @@
<German>Reichweite:</German> <German>Reichweite:</German>
<Russian>Дистанция:</Russian> <Russian>Дистанция:</Russian>
<Polish>Dystans:</Polish> <Polish>Dystans:</Polish>
<French>Distance :</French> <French>Distance:</French>
<Czech>Vzdálenost:</Czech> <Czech>Vzdálenost:</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_compasDirection"> <Key ID="STR_ACE_microdagr_compasDirection">
@ -129,7 +128,7 @@
<Spanish>Dirección de la brújula</Spanish> <Spanish>Dirección de la brújula</Spanish>
<Russian>Азимут</Russian> <Russian>Азимут</Russian>
<Polish>Azymut</Polish> <Polish>Azymut</Polish>
<French>Direction de la boussole</French> <French>Azimut</French>
<Czech>Azimut:</Czech> <Czech>Azimut:</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_menuMark"> <Key ID="STR_ACE_microdagr_menuMark">
@ -138,7 +137,7 @@
<Spanish>Marca</Spanish> <Spanish>Marca</Spanish>
<Russian>Отметка</Russian> <Russian>Отметка</Russian>
<Polish>Oznacz</Polish> <Polish>Oznacz</Polish>
<French>Marqueur</French> <French>Marque</French>
<Czech>Označit</Czech> <Czech>Označit</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_menuWaypoints"> <Key ID="STR_ACE_microdagr_menuWaypoints">
@ -157,7 +156,7 @@
<German>Verbinde zu</German> <German>Verbinde zu</German>
<Czech>Připojit k</Czech> <Czech>Připojit k</Czech>
<Polish>Podłącz do</Polish> <Polish>Podłącz do</Polish>
<French>Connexion à</French> <French>Connecter</French>
</Key> </Key>
<Key ID="STR_ACE_microdagr_menuSettings"> <Key ID="STR_ACE_microdagr_menuSettings">
<English>Settings</English> <English>Settings</English>
@ -175,6 +174,7 @@
<Russian>Установить МТ</Russian> <Russian>Установить МТ</Russian>
<Czech>Nastavit WP</Czech> <Czech>Nastavit WP</Czech>
<Polish>UstawPT</Polish> <Polish>UstawPT</Polish>
<French>Définir point de passage</French>
</Key> </Key>
<Key ID="STR_ACE_microdagr_waypointsAdd"> <Key ID="STR_ACE_microdagr_waypointsAdd">
<English>Add</English> <English>Add</English>
@ -198,11 +198,11 @@
</Key> </Key>
<Key ID="STR_ACE_microdagr_toggleUnit"> <Key ID="STR_ACE_microdagr_toggleUnit">
<English>Toggle MicroDAGR Display Mode</English> <English>Toggle MicroDAGR Display Mode</English>
<German>MicoDAGR Anzeigemodus wählen</German> <German>MicoDAGR Anzeigemodus Wechseln</German>
<Spanish>Conmutar modo de pantalla del MicroDAGR</Spanish> <Spanish>Conmutar modo de pantalla del MicroDAGR</Spanish>
<Russian>Сменить режим показа MicroDAGR</Russian> <Russian>Сменить режим показа MicroDAGR</Russian>
<Polish>Przełącz tryb wyświetlania MicroDAGR</Polish> <Polish>Przełącz tryb wyświetlania MicroDAGR</Polish>
<French>Basculer sur l'affichage du MicroDAGR</French> <French>Basculer le mode d'affichage MicroDAGR</French>
<Czech>Přepnout zobrazení MircroDAGRu</Czech> <Czech>Přepnout zobrazení MircroDAGRu</Czech>
</Key> </Key>
<Key ID="STR_ACE_microdagr_show"> <Key ID="STR_ACE_microdagr_show">
@ -212,16 +212,16 @@
<Russian>Показать MicroDAGR</Russian> <Russian>Показать MicroDAGR</Russian>
<Czech>Ukázat MicroDAGR GPS</Czech> <Czech>Ukázat MicroDAGR GPS</Czech>
<Polish>Pokaż MicroDAGR</Polish> <Polish>Pokaż MicroDAGR</Polish>
<French>Afficher le MicroDAGR</French> <French>Afficher MicroDAGR</French>
</Key> </Key>
<Key ID="STR_ACE_microdagr_configure"> <Key ID="STR_ACE_microdagr_configure">
<English>Configure MicroDAGR</English> <English>Configure MicroDAGR</English>
<German>Konfiguriere MicroDAGR</German> <German>MicroDAGR Konfiguriere</German>
<Spanish>Configurar MicroDAGR</Spanish> <Spanish>Configurar MicroDAGR</Spanish>
<Russian>Настроить MicroDAGR</Russian> <Russian>Настроить MicroDAGR</Russian>
<Czech>Konfigurovat MicroDAGR GPS</Czech> <Czech>Konfigurovat MicroDAGR GPS</Czech>
<Polish>Konfiguruj MicroDAGR</Polish> <Polish>Konfiguruj MicroDAGR</Polish>
<French>Configurer le MicroDAGR</French> <French>Configurer MicroDAGR</French>
</Key> </Key>
<Key ID="STR_ACE_microdagr_closeUnit"> <Key ID="STR_ACE_microdagr_closeUnit">
<English>Close MicroDAGR</English> <English>Close MicroDAGR</English>
@ -230,7 +230,7 @@
<Russian>Закрыть MicroDAGR</Russian> <Russian>Закрыть MicroDAGR</Russian>
<Czech>Zavřít MicroDAGR GPS</Czech> <Czech>Zavřít MicroDAGR GPS</Czech>
<Polish>Zamknij MicroDAGR</Polish> <Polish>Zamknij MicroDAGR</Polish>
<French>Fermer le MicroDAGR</French> <French>Fermer MicroDAGR</French>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -27,19 +27,19 @@ class GVAR(AttackProfiles) {
functionName = QFUNC(attackProfile_HI); functionName = QFUNC(attackProfile_HI);
}; };
class TOP { class JAV_DIR {
name = ""; name = "";
visualName = ""; visualName = "";
description = ""; description = "";
functionName = QFUNC(attackProfile_TOP); functionName = QFUNC(attackProfile_JAV_DIR);
}; };
class PYM { class JAV_TOP {
name = ""; name = "";
visualName = ""; visualName = "";
description = ""; description = "";
functionName = QFUNC(attackProfile_PYM); functionName = QFUNC(attackProfile_JAV_TOP);
}; };
}; };

View File

@ -40,12 +40,12 @@ class CfgAmmo {
trackLead = 0; trackLead = 0;
// Begin ACE guidance Configs // Begin ACE guidance Configs
class ACE_MissileGuidance { class ADDON {
enabled = 1; enabled = 1;
minDeflection = 0.005; // Minium flap deflection for guidance minDeflection = 0.00025; // Minium flap deflection for guidance
maxDeflection = 0.025; // Maximum flap deflection for guidance maxDeflection = 0.001; // Maximum flap deflection for guidance
incDeflection = 0.005; // The incrmeent in which deflection adjusts. incDeflection = 0.0005; // The incrmeent in which deflection adjusts.
//minDeflection = 0.005; //minDeflection = 0.005;
//maxDeflection = 0.5; //maxDeflection = 0.5;
//incDeflection = 0.005; //incDeflection = 0.005;
@ -65,7 +65,7 @@ class CfgAmmo {
// Attack profile type selection // Attack profile type selection
defaultAttackProfile = "LIN"; defaultAttackProfile = "LIN";
attackProfiles[] = { "LIN", "DIR", "MID", "HI", "TOP", "PYM" }; attackProfiles[] = { "LIN", "DIR", "MID", "HI" };
}; };
}; };
@ -110,12 +110,12 @@ class CfgAmmo {
//trackLead = 0; //trackLead = 0;
// Begin ACE guidance Configs // Begin ACE guidance Configs
class ACE_MissileGuidance { class ADDON {
enabled = 1; enabled = 1;
minDeflection = 0.005; // Minium flap deflection for guidance minDeflection = 0.00005; // Minium flap deflection for guidance
maxDeflection = 0.25; // Maximum flap deflection for guidance maxDeflection = 0.025; // Maximum flap deflection for guidance
incDeflection = 0.005; // The incrmeent in which deflection adjusts. incDeflection = 0.00005; // The incrmeent in which deflection adjusts.
//minDeflection = 0.005; //minDeflection = 0.005;
//maxDeflection = 0.5; //maxDeflection = 0.5;
//incDeflection = 0.005; //incDeflection = 0.005;
@ -127,15 +127,15 @@ class CfgAmmo {
defaultSeekerLockMode = "LOBL"; defaultSeekerLockMode = "LOBL";
seekerLockModes[] = { "LOBL" }; seekerLockModes[] = { "LOBL" };
seekerAngle = 90; // Angle in front of the missile which can be searched seekerAngle = 180; // Angle in front of the missile which can be searched
seekerAccuracy = 1; // seeker accuracy multiplier seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 1; seekerMinRange = 0;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection // Attack profile type selection
defaultAttackProfile = "LIN"; defaultAttackProfile = "JAV_TOP";
attackProfiles[] = { "TOP", "LIN" }; attackProfiles[] = { "JAV_TOP", "JAV_DIR" };
}; };
}; };
}; };

View File

@ -2,6 +2,7 @@
PREP(rotateVectLineGetMap); PREP(rotateVectLineGetMap);
PREP(rotateVectLine); PREP(rotateVectLine);
PREP(changeMissileDirection);
PREP(checkSeekerAngle); PREP(checkSeekerAngle);
PREP(checkLos); PREP(checkLos);
@ -17,10 +18,12 @@ PREP(attackProfile_LIN);
PREP(attackProfile_DIR); PREP(attackProfile_DIR);
PREP(attackProfile_MID); PREP(attackProfile_MID);
PREP(attackProfile_HI); PREP(attackProfile_HI);
PREP(attackProfile_TOP);
PREP(attackprofile_PYM);
PREP(attackProfile_AIR); PREP(attackProfile_AIR);
// Javelin profiles
PREP(attackProfile_JAV_DIR);
PREP(attackProfile_JAV_TOP);
// Seeker search functions // Seeker search functions
PREP(seekerType_SALH); PREP(seekerType_SALH);
PREP(seekerType_Optic); PREP(seekerType_Optic);

View File

@ -1,54 +1,4 @@
//#define DEBUG_MODE_FULL //#define DEBUG_MODE_FULL
#include "script_component.hpp" #include "script_component.hpp"
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); _this call FUNC(attackProfile_LIN);
private["_targetPos", "_projectilePos", "_target", "_seekerTargetPos", "_launchParams", "_targetLaunchParams"];
private["_distanceToTarget", "_distanceToShooter", "_addHeight", "_returnTargetPos"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
_target = _launchParams select 0;
_targetLaunchParams = _launchParams select 1;
_shooterPos = getPosASL _shooter;
_projectilePos = getPosASL _projectile;
_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos;
_distanceToShooter = _projectilePos vectorDistance _shooterPos;
TRACE_2("", _distanceToTarget, _distanceToShooter);
// Add height depending on distance for compensate
_addHeight = [0,0,0];
// Always climb an arc on initial launch if we are close to the round
if( ((ASLtoATL _projectilePos) select 2) < 5 && _distanceToShooter < 15) then {
_addHeight = _addHeight vectorAdd [0,0,_distanceToTarget];
} else {
// If we are below the target, increase the climbing arc
if((_projectilePos select 2) < (_seekerTargetPos select 2) && _distanceToTarget > 100) then {
_addHeight = _addHeight vectorAdd [0,0, ((_seekerTargetPos select 2) - (_projectilePos select 2))];
};
};
// Handle arcing terminal low for high decent
if( (_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget < 100) then {
_addHeight = _addHeight vectorDiff [0,0, ((_projectilePos select 2) - (_seekerTargetPos select 2))];
} else {
if((_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget > 100) then {
_addHeight = _addHeight vectorAdd [0,0, _distanceToTarget];
};
};
TRACE_3("", _distanceToTarget,_distanceToShooter,_addHeight);
_returnTargetPos = _seekerTargetPos vectorAdd _addHeight;
#ifdef DEBUG_MODE_FULL
drawLine3D [(ASLtoATL _returnTargetPos) vectorAdd _addHeight, ASLtoATL _returnTargetPos, [0,1,0,1]];
#endif
TRACE_1("Adjusted target position", _returnTargetPos);
_returnTargetPos;

View File

@ -0,0 +1,69 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
#define STAGE_LAUNCH 1
#define STAGE_CLIMB 2
#define STAGE_COAST 3
#define STAGE_TERMINAL 4
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"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
_target = _launchParams select 0;
_targetLaunchParams = _launchParams select 1;
_state = _this select 2;
if( (count _state) < 1) then {
_state set[0, STAGE_LAUNCH];
};
_shooterPos = getPosASL _shooter;
_projectilePos = getPosASL _projectile;
_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos;
_distanceToShooter = _projectilePos vectorDistance _shooterPos;
_distanceShooterToTarget = _shooterPos vectorDistance _seekerTargetPos;
TRACE_2("", _distanceToTarget, _distanceToShooter);
// Add height depending on distance for compensate
_returnTargetPos = _seekerTargetPos;
switch( (_state select 0) ) do {
case STAGE_LAUNCH: {
TRACE_1("STAGE_LAUNCH","");
if(_distanceToShooter < 10) then {
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2];
} else {
_state set[0, STAGE_CLIMB];
};
};
case STAGE_CLIMB: {
TRACE_1("STAGE_CLIMB","");
_cruisAlt = 60;
if(_distanceShooterToTarget < w) then {
_cruisAlt = 60 * (_distanceShooterToTarget/2000);
TRACE_1("_cruisAlt", _cruisAlt);
};
if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then {
_state set[0, STAGE_TERMINAL];
} else {
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2];
};
};
case STAGE_TERMINAL: {
TRACE_1("STAGE_TERMINAL","");
//_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02];
};
};
#ifdef DEBUG_MODE_FULL
drawLine3D [(ASLtoATL _returnTargetPos), (ASLtoATL _seekerTargetPos), [0,1,0,1]];
#endif
TRACE_1("Adjusted target position", _returnTargetPos);
_returnTargetPos;

View File

@ -0,0 +1,76 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
#define STAGE_LAUNCH 1
#define STAGE_CLIMB 2
#define STAGE_COAST 3
#define STAGE_TERMINAL 4
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"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
_target = _launchParams select 0;
_targetLaunchParams = _launchParams select 1;
_state = _this select 2;
if( (count _state) < 1) then {
_state set[0, STAGE_LAUNCH];
};
_shooterPos = getPosASL _shooter;
_projectilePos = getPosASL _projectile;
_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos;
_distanceToShooter = _projectilePos vectorDistance _shooterPos;
_distanceShooterToTarget = _shooterPos vectorDistance _seekerTargetPos;
TRACE_2("", _distanceToTarget, _distanceToShooter);
// Add height depending on distance for compensate
_returnTargetPos = _seekerTargetPos;
switch( (_state select 0) ) do {
case STAGE_LAUNCH: {
TRACE_1("STAGE_LAUNCH","");
if(_distanceToShooter < 10) then {
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2];
} else {
_state set[0, STAGE_CLIMB];
};
};
case STAGE_CLIMB: {
TRACE_1("STAGE_CLIMB","");
_cruisAlt = 140;
if(_distanceShooterToTarget < 1250) then {
_cruisAlt = 140 * (_distanceShooterToTarget/1250);
TRACE_1("_cruisAlt", _cruisAlt);
};
if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then {
_state set[0, STAGE_COAST];
} else {
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2];
};
};
case STAGE_COAST: {
TRACE_1("STAGE_COAST","");
if(_distanceShooterToTarget < 1250 || _distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) )) then {
_state set[0, STAGE_TERMINAL];
};
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)];
};
case STAGE_TERMINAL: {
TRACE_1("STAGE_TERMINAL","");
//_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02];
};
};
#ifdef DEBUG_MODE_FULL
drawLine3D [(ASLtoATL _returnTargetPos), (ASLtoATL _seekerTargetPos), [0,1,0,1]];
#endif
TRACE_1("Adjusted target position", _returnTargetPos);
_returnTargetPos;

View File

@ -16,7 +16,7 @@ _projectilePos = getPosASL _projectile;
_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos; _distanceToTarget = _projectilePos vectorDistance _seekerTargetPos;
_distanceToShooter = _projectilePos vectorDistance _shooterPos; _distanceToShooter = _projectilePos vectorDistance _shooterPos;
TRACE_2("", _distanceToTarget, _distanceToShooter); TRACE_3("", _distanceToTarget, _distanceToShooter, _seekerTargetPos);
// Add height depending on distance for compensate // Add height depending on distance for compensate
_addHeight = [0,0,0]; _addHeight = [0,0,0];
@ -40,11 +40,7 @@ if( (_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget
}; };
}; };
_returnTargetPos = _seekerTargetPos vectorAdd _addHeight;
TRACE_3("", _distanceToTarget,_distanceToShooter,_addHeight);
_returnTargetPos = _seekerTargetPos vectorAdd _addHeight;
#ifdef DEBUG_MODE_FULL #ifdef DEBUG_MODE_FULL
drawLine3D [(ASLtoATL _returnTargetPos) vectorAdd _addHeight, ASLtoATL _returnTargetPos, [0,1,0,1]]; drawLine3D [(ASLtoATL _returnTargetPos) vectorAdd _addHeight, ASLtoATL _returnTargetPos, [0,1,0,1]];

View File

@ -1,4 +0,0 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
_this call FUNC(attackProfile_LIN);

View File

@ -1,52 +0,0 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
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"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
_target = _launchParams select 0;
_targetLaunchParams = _launchParams select 1;
_shooterPos = getPosASL _shooter;
_projectilePos = getPosASL _projectile;
_distanceToTarget = _projectilePos vectorDistance _seekerTargetPos;
_distanceToShooter = _projectilePos vectorDistance _shooterPos;
TRACE_2("", _distanceToTarget, _distanceToShooter);
// Add height depending on distance for compensate
_addHeight = [0,0,0];
// Always climb an arc on initial launch if we are close to the round
if( ((ASLtoATL _projectilePos) select 2) < 140 && _distanceToShooter < 50) then {
_addHeight = _addHeight vectorAdd [0,0,_distanceToTarget];
} else {
// If we are below the target, increase the climbing arc
if((_projectilePos select 2) < (_seekerTargetPos select 2) + 140 && _distanceToTarget > 100) then {
_addHeight = _addHeight vectorAdd [0,0, ((_seekerTargetPos select 2) - (_projectilePos select 2))+50];
};
};
// Handle arcing terminal low for high decent
if( (_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget < 140) then {
_addHeight = _addHeight vectorDiff [0,0, ((_projectilePos select 2) - (_seekerTargetPos select 2)) * 0.5];
} else {
if((_projectilePos select 2) > (_seekerTargetPos select 2) && _distanceToTarget > 140) then {
_addHeight = _addHeight vectorAdd [0,0, ((_projectilePos select 2) - (_seekerTargetPos select 2)) * 0.02];
};
};
TRACE_3("", _distanceToTarget,_distanceToShooter,_addHeight);
_returnTargetPos = _seekerTargetPos vectorAdd _addHeight;
#ifdef DEBUG_MODE_FULL
drawLine3D [(ASLtoATL _returnTargetPos) vectorAdd _addHeight, ASLtoATL _returnTargetPos, [0,1,0,1]];
#endif
TRACE_1("Adjusted target position", _returnTargetPos);
_returnTargetPos;

View File

@ -0,0 +1,11 @@
#include "script_component.hpp"
private ["_projectile", "_v", "_l", "_r"];
_projectile = _this select 0;
_v = _this select 1;
_l = sqrt ((_v select 0) ^ 2 + (_v select 1) ^ 2);
_r = -(_v select 2) / _l;
_projectile setVectorDirAndUp [ _v, [(_v select 0) * _r,(_v select 1) * _r, _l] ];
_projectile setVelocity (_v vectorMultiply (vectorMagnitude (velocity _projectile)));

View File

@ -11,39 +11,20 @@
* Return value: * Return value:
* Boolean * Boolean
*/ */
#define DEBUG_MODE_FULL
#include "script_component.hpp" #include "script_component.hpp"
private["_seeker", "_targetPos", "_seekerMaxAngle", "_vectorTo", "_sensorPos", "_vertOk", "_horzOk", "_dir", "_headingPitch"]; private["_seeker", "_targetPos", "_seekerMaxAngle", "_sensorPos", "_testPointVector", "_testDotProduct"];
_seeker = _this select 0; _seeker = _this select 0;
_targetPos = _this select 1; _targetPos = _this select 1;
_seekerMaxAngle = _this select 2; _seekerMaxAngle = _this select 2;
_vertOk = false;
_horzOk = false;
_sensorPos = getPosASL _seeker; _sensorPos = getPosASL _seeker;
_vectorTo = _sensorPos vectorFromTo _targetPos;
_headingPitch = (vectorDir _seeker) call CBA_fnc_vect2polar; _testPointVector = vectorNormalized (_targetPos vectorDiff _sensorPos);
_polarTo = _vectorTo call CBA_fnc_vect2polar; _testDotProduct = (vectorNormalized (velocity _seeker)) vectorDotProduct _testPointVector;
_dir = _polarTo select 1; if(_testDotProduct < (cos _seekerMaxAngle)) exitWith {
_dir = _dir - (_headingPitch select 1);
if (_dir < 0) then {_dir = _dir + 360};
if (_dir > 360) then {_dir = _dir - 360};
_vertOk = false;
_horzOk = false;
if(_dir < _angleFov || {_dir > (360-_angleFov)}) then {
_horzOk = true;
};
if(abs((abs(_polarTo select 2))-(abs(_headingPitch select 2))) < _angleFov) then {
_vertOk = true;
};
if(!_vertOk || !_horzOk ) exitWith {
false false
}; };

View File

@ -13,7 +13,7 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
// Bail on not missile // Bail on not missile
if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; if(! (_ammo isKindOf "MissileBase") ) exitWith { false };
_config = configFile >> "CfgAmmo" >> _ammo >> "ACE_MissileGuidance"; _config = configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON);
_enabled = getNumber ( _config >> "enabled"); _enabled = getNumber ( _config >> "enabled");
// Bail if guidance is not enabled // Bail if guidance is not enabled
@ -68,7 +68,7 @@ TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile
getNumber ( _config >> "seekerAccuracy" ), getNumber ( _config >> "seekerAccuracy" ),
getNumber ( _config >> "seekerMaxRange" ) getNumber ( _config >> "seekerMaxRange" )
], ],
[ diag_tickTime ] [ diag_tickTime, [], [] ]
] ]
] call cba_fnc_addPerFrameHandler; ] call cba_fnc_addPerFrameHandler;

Some files were not shown because too many files have changed in this diff Show More