Merge remote-tracking branch 'origin/master' into guidanceHandoff

This commit is contained in:
jaynus 2015-04-16 10:04:57 -07:00
commit 8837355d29
38 changed files with 435 additions and 122 deletions

View File

@ -71,6 +71,7 @@ Robert Boklahánics <bokirobi@gmail.com>
ramius86 <pasini86@hotmail.com>
simon84
Sniperwolf572 <tenga6@gmail.com>
Tachi <zaveruha007@gmail.com>
Tonic
Tourorist <tourorist@gmail.com>
Valentin Torikian <valentin.torikian@gmail.com>

View File

@ -19,7 +19,7 @@
*/
#include "script_component.hpp"
private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_bulletTranslation", "_airFriction", "_dragModel", "_velocityBoundaryData", "_muzzleVelocity", "_muzzleVelocityCoef", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ACE_Elevation", "_ACE_Windage", "_ID"];
private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityCoef", "_muzzleAccessory", "_initSpeedCoef", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_bulletWeight", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef"];
_unit = _this select 0;
_weapon = _this select 1;
_mode = _this select 3;
@ -191,7 +191,7 @@ if (GVAR(AdvancedAirDragEnabled)) then {
if ((GVAR(bulletDatabaseOccupiedIndices) pushBack _index) == 0) then {
[{
private ["_bulletDatabaseEntry", "_bullet", "_caliber", "_muzzleVelocity", "_frames", "_speed", "_airFriction", "_airFrictionRef", "_dragModel", "_atmosphereModel", "_ballisticCoefficient", "_ballisticCoefficients", "_velocityBoundaries", "_airDensity", "_stabilityFactor", "_transonicStabilityCoef", "_twistDirection", "_unit", "_bulletTraceVisible", "_index", "_temperature", "_humidity", "_deltaT", "_TOF", "_bulletPosition", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_bulletSpeedAvg", "_wind", "_drag", "_dragRef", "_vect", "_accel", "_accelRef", "_centripetalAccel", "_pressure", "_pressureDeviation", "_windSourceObstacle", "_windSourceTerrain", "_height", "_roughnessLength"];
private ["_bulletDatabaseEntry", "_bullet", "_caliber", "_muzzleVelocity", "_frames", "_speed", "_airFriction", "_airFrictionRef", "_dragModel", "_atmosphereModel", "_ballisticCoefficient", "_ballisticCoefficients", "_velocityBoundaries", "_airDensity", "_stabilityFactor", "_transonicStabilityCoef", "_twistDirection", "_unit", "_bulletTraceVisible", "_index", "_temperature", "_humidity", "_deltaT", "_TOF", "_bulletPosition", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_bulletSpeedAvg", "_wind", "_drag", "_dragRef", "_vect", "_accel", "_accelRef", "_centripetalAccel", "_pressure", "_pressureDeviation", "_windSourceObstacle", "_windSourceTerrain", "_height", "_roughnessLength", "_bulletDir", "_horizontalDeflection", "_horizontalDeflectionPartial", "_spinDrift", "_spinDriftPartial"];
{
_bulletDatabaseEntry = (GVAR(bulletDatabase) select _x);

View File

@ -8,6 +8,7 @@
<Italian>Mostra indicazioni del vento</Italian>
<Russian>Показать информацию о ветре</Russian>
<French>Afficher les info du vent</French>
<Spanish>Mostrar información del viento</Spanish>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_ProtractorKey">
<English>Show Protractor</English>
@ -15,6 +16,7 @@
<Italian>Mostra il rapportatore</Italian>
<Russian>Показать транспортир</Russian>
<French>Afficher le rapporteur</French>
<Spanish>Mostrar transportador</Spanish>
</Key>
</Package>
</Project>

View File

@ -230,12 +230,12 @@ class ATragMX_Display {
w=0.03;
h=0.03;
colorBackground[]={0,0,0,0.0};
action=QUOTE(((GVAR(currentGun) select GVAR(currentTarget)) + (count GVAR(gunList)) - 1) % (count GVAR(gunList)) call FUNC(change_gun));
action=QUOTE((GVAR(currentGun) + (count GVAR(gunList)) - 1) % (count GVAR(gunList)) call FUNC(change_gun));
};
class BOTTOM: TOP {
idc=-1;
y=0.265*safezoneH+safezoneY+0.955;
action=QUOTE(((GVAR(currentGun) select GVAR(currentTarget)) + (count GVAR(gunList)) + 1) % (count GVAR(gunList)) call FUNC(change_gun));
action=QUOTE((GVAR(currentGun) + (count GVAR(gunList)) + 1) % (count GVAR(gunList)) call FUNC(change_gun));
};
class LEFT: ATragMX_RscButton {
idc=-1;
@ -244,12 +244,12 @@ class ATragMX_Display {
w=0.05;
h=0.03;
colorBackground[]={0,0,0,0};
action=QUOTE(call FUNC(parse_input); GVAR(currentTarget) = (4 + GVAR(currentTarget) - 1) % 4; call FUNC(update_target_selection));
action=QUOTE(((4 + GVAR(currentTarget) - 1) % 4) call FUNC(change_target_slot));
};
class RIGHT: LEFT {
idc=-1;
x=0.55*safezoneW+safezoneX+0.2725;
action=QUOTE(call FUNC(parse_input); GVAR(currentTarget) = (4 + GVAR(currentTarget) + 1) % 4; call FUNC(update_target_selection));
action=QUOTE(((4 + GVAR(currentTarget) + 1) % 4) call FUNC(change_target_slot));
};
class TOP_LEFT: ATragMX_RscButton {
idc=-1;
@ -420,25 +420,25 @@ class ATragMX_Display {
colorBackgroundDisabled[]={0,0,0,1};
colorBackgroundActive[]={0,0,0,0};
text="A";
action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=0; call FUNC(update_target_selection));
action=QUOTE(0 call FUNC(change_target_slot));
};
class TEXT_TARGET_B: TEXT_TARGET_A {
idc=501;
x=0.550*safezoneW+safezoneX+0.2281;
text="B";
action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=1; call FUNC(update_target_selection));
action=QUOTE(1 call FUNC(change_target_slot));
};
class TEXT_TARGET_C: TEXT_TARGET_B {
idc=502;
x=0.550*safezoneW+safezoneX+0.2512;
text="C";
action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=2; call FUNC(update_target_selection));
action=QUOTE(2 call FUNC(change_target_slot));
};
class TEXT_TARGET_D: TEXT_TARGET_B {
idc=503;
x=0.550*safezoneW+safezoneX+0.2743;
text="D";
action=QUOTE(call FUNC(parse_input); GVAR(currentTarget)=3; call FUNC(update_target_selection));
action=QUOTE(3 call FUNC(change_target_slot));
};
class TEXT_TARGET: TEXT_GUN {

View File

@ -11,6 +11,7 @@ PREP(calculate_target_solution);
PREP(calculate_target_speed_assist);
PREP(can_show);
PREP(change_gun);
PREP(change_target_slot);
PREP(create_dialog);
PREP(cycle_range_card_columns);
PREP(cycle_scope_unit);

View File

@ -18,21 +18,21 @@
[] call FUNC(parse_input);
private ["_scopeBaseAngle"];
_scopeBaseAngle = ((GVAR(workingMemory) select GVAR(currentTarget)) select 3);
_scopeBaseAngle = (GVAR(workingMemory) select 3);
private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"];
_bulletMass = (GVAR(workingMemory) select GVAR(currentTarget)) select 12;
_boreHeight = (GVAR(workingMemory) select GVAR(currentTarget)) select 5;
_airFriction = (GVAR(workingMemory) select GVAR(currentTarget)) select 4;
_muzzleVelocity = (GVAR(workingMemory) select GVAR(currentTarget)) select 1;
_bc = (GVAR(workingMemory) select GVAR(currentTarget)) select 15;
_dragModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 16;
_atmosphereModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 17;
_bulletMass = GVAR(workingMemory) select 12;
_boreHeight = GVAR(workingMemory) select 5;
_airFriction = GVAR(workingMemory) select 4;
_muzzleVelocity = GVAR(workingMemory) select 1;
_bc = GVAR(workingMemory) select 15;
_dragModel = GVAR(workingMemory) select 16;
_atmosphereModel = GVAR(workingMemory) select 17;
private ["_temperature", "_barometricPressure", "_relativeHumidity"];
_temperature = (GVAR(temperature) select GVAR(currentTarget));
_barometricPressure = (GVAR(barometricPressure) select GVAR(currentTarget));
_relativeHumidity = (GVAR(relativeHumidity) select GVAR(currentTarget));
_temperature = GVAR(temperature);
_barometricPressure = GVAR(barometricPressure);
_relativeHumidity = GVAR(relativeHumidity);
if (GVAR(currentUnit) == 1) then
{
_temperature = (_temperature - 32) / 1.8;

View File

@ -34,6 +34,7 @@ _temperature = 15;
_barometricPressure = 1013.25;
_relativeHumidity = 0;
private ["_result"];
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, 0, 0, 0, 0, _zeroRange, _airFriction, 1, "ICAO", false] call FUNC(calculate_solution);
_scopeBaseAngle + (_result select 0) / 60

View File

@ -18,21 +18,21 @@
[] call FUNC(parse_input);
private ["_scopeBaseAngle"];
_scopeBaseAngle = ((GVAR(workingMemory) select GVAR(currentTarget)) select 3);
_scopeBaseAngle = (GVAR(workingMemory) select 3);
private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"];
_bulletMass = (GVAR(workingMemory) select GVAR(currentTarget)) select 12;
_boreHeight = (GVAR(workingMemory) select GVAR(currentTarget)) select 5;
_airFriction = (GVAR(workingMemory) select GVAR(currentTarget)) select 4;
_muzzleVelocity = (GVAR(workingMemory) select GVAR(currentTarget)) select 1;
_bc = (GVAR(workingMemory) select GVAR(currentTarget)) select 15;
_dragModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 16;
_atmosphereModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 17;
_bulletMass = GVAR(workingMemory) select 12;
_boreHeight = GVAR(workingMemory) select 5;
_airFriction = GVAR(workingMemory) select 4;
_muzzleVelocity = GVAR(workingMemory) select 1;
_bc = GVAR(workingMemory) select 15;
_dragModel = GVAR(workingMemory) select 16;
_atmosphereModel = GVAR(workingMemory) select 17;
private ["_temperature", "_barometricPressure", "_relativeHumidity"];
_temperature = (GVAR(temperature) select GVAR(currentTarget));
_barometricPressure = (GVAR(barometricPressure) select GVAR(currentTarget));
_relativeHumidity = (GVAR(relativeHumidity) select GVAR(currentTarget));
_temperature = GVAR(temperature);
_barometricPressure = GVAR(barometricPressure);
_relativeHumidity = GVAR(relativeHumidity);
if (GVAR(currentUnit) == 1) then
{
_temperature = (_temperature - 32) / 1.8;
@ -55,6 +55,7 @@ if (GVAR(currentUnit) == 1) then
_targetSpeed = _targetSpeed / 2.23693629;
};
private ["_result"];
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000,
_windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, false] call FUNC(calculate_solution);

View File

@ -17,14 +17,14 @@
if (_this < 0 || _this > (count GVAR(gunList)) - 1) exitWith {};
GVAR(workingMemory) set [GVAR(currentTarget), +(GVAR(gunList) select _this)];
GVAR(currentGun) set [GVAR(currentTarget), _this];
GVAR(workingMemory) = +(GVAR(gunList) select _this);
GVAR(currentGun) = _this;
lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))];
lbSetCurSel [6000, GVAR(currentGun)];
if ((GVAR(scopeUnits) select (GVAR(currentScopeUnit) select GVAR(currentTarget))) != "Clicks") then
if ((GVAR(scopeUnits) select GVAR(currentScopeUnit)) != "Clicks") then
{
GVAR(currentScopeUnit) set [GVAR(currentTarget), (GVAR(workingMemory) select GVAR(currentTarget)) select 6];
GVAR(currentScopeUnit) = GVAR(workingMemory) select 6;
};
[] call FUNC(update_gun);
@ -35,4 +35,4 @@ GVAR(leadOutput) set [GVAR(currentTarget), 0];
GVAR(tofOutput) set [GVAR(currentTarget), 0];
GVAR(velocityOutput) set [GVAR(currentTarget), 0];
[] call FUNC(update_result);
[] call FUNC(calculate_target_solution);

View File

@ -0,0 +1,26 @@
/*
* Author: Ruthberg
* Selects a target slot (A, B, C or D)
*
* Arguments:
* target <NUMBER>
*
* Return Value:
* Nothing
*
* Example:
* 2 call ace_atragmx_fnc_change_target_slot
*
* Public: No
*/
#include "script_component.hpp"
private ["_target"];
_target = 0 max _this min 3;
call FUNC(parse_input);
GVAR(currentTarget) = _target;
call FUNC(update_target_selection);
call FUNC(calculate_target_solution);

View File

@ -17,7 +17,7 @@
[] call FUNC(parse_input);
GVAR(currentScopeUnit) set [GVAR(currentTarget), ((GVAR(currentScopeUnit) select GVAR(currentTarget)) + 1) % (count GVAR(scopeUnits))];
GVAR(currentScopeUnit) = (GVAR(currentScopeUnit) + 1) % (count GVAR(scopeUnits));
[] call FUNC(update_scope_unit);
[] call FUNC(update_result);

View File

@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
GVAR(workingMemory) = [+(GVAR(gunList) select 0), +(GVAR(gunList) select 0), +(GVAR(gunList) select 0), +(GVAR(gunList) select 0)];
GVAR(workingMemory) = +(GVAR(gunList) select 0);
GVAR(scopeUnits) = ["MILs", "TMOA", "SMOA", "Clicks"];
@ -37,13 +37,13 @@ GVAR(speedAssistNumTicksUnit) = 0;
GVAR(speedAssistTimer) = true;
GVAR(currentUnit) = 2;
GVAR(currentGun) = [0, 0, 0, 0];
GVAR(currentGun) = 0;
GVAR(currentTarget) = 0;
GVAR(currentScopeUnit) = [0, 0, 0, 0];
GVAR(currentScopeUnit) = 0;
GVAR(temperature) = [15, 15, 15, 15];
GVAR(barometricPressure) = [1013.25, 1013.25, 1013.25, 1013.25];
GVAR(relativeHumidity) = [0.5, 0.5, 0.5, 0.5];
GVAR(temperature) = 15;
GVAR(barometricPressure) = 1013.25;
GVAR(relativeHumidity) = 0.5;
GVAR(windSpeed) = [0, 0, 0, 0];
GVAR(windDirection) = [12, 12, 12, 12];

View File

@ -15,9 +15,9 @@
*/
#include "script_component.hpp"
GVAR(temperature) set [GVAR(currentTarget), parseNumber(ctrlText 200)];
GVAR(barometricPressure) set [GVAR(currentTarget), 0 max parseNumber(ctrlText 210)];
GVAR(relativeHumidity) set [GVAR(currentTarget), (0 max parseNumber(ctrlText 220) min 100) / 100];
GVAR(temperature) = parseNumber(ctrlText 200);
GVAR(barometricPressure) = 0 max parseNumber(ctrlText 210);
GVAR(relativeHumidity) = (0 max parseNumber(ctrlText 220) min 100) / 100;
GVAR(windSpeed) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 300)) min 50];
GVAR(windDirection) set [GVAR(currentTarget), 1 max Round(parseNumber(ctrlText 310)) min 12];
@ -44,20 +44,20 @@ _boreHeight = 0.1 max _boreHeight min 10;
_bulletMass = 1 max _bulletMass min 100;
_muzzleVelocity = 100 max _muzzleVelocity min 1400;
(GVAR(workingMemory) select GVAR(currentTarget)) set [5, _boreHeight];
(GVAR(workingMemory) select GVAR(currentTarget)) set [12, _bulletMass];
GVAR(workingMemory) set [5, _boreHeight];
GVAR(workingMemory) set [12, _bulletMass];
if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (missionNamespace getVariable [QEGVAR(advanced_ballistics,AdvancedAirDragEnabled), false])) then {
(GVAR(workingMemory) select GVAR(currentTarget)) set [15, _airFriction];
GVAR(workingMemory) set [15, _airFriction];
} else {
(GVAR(workingMemory) select GVAR(currentTarget)) set [4, _airFriction];
GVAR(workingMemory) set [4, _airFriction];
};
(GVAR(workingMemory) select GVAR(currentTarget)) set [1, _muzzleVelocity];
GVAR(workingMemory) set [1, _muzzleVelocity];
private ["_elevationCur", "_elevationCur", "_elevationScopeStep", "_windageScopeStep"];
private ["_elevationCur", "_windageCur", "_elevationScopeStep", "_windageScopeStep"];
_elevationCur = parseNumber(ctrlText 402);
_windageCur = parseNumber(ctrlText 412);
switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do
switch (GVAR(currentScopeUnit)) do
{
case 0:
{
@ -73,16 +73,16 @@ switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do
case 3:
{
_elevationScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 7);
_windageScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 8);
_elevationScopeStep = (GVAR(workingMemory) select 7);
_windageScopeStep = (GVAR(workingMemory) select 8);
_elevationCur = _elevationCur * _elevationScopeStep;
_windageCur = _windageCur * _windageScopeStep;
};
};
(GVAR(workingMemory) select GVAR(currentTarget)) set [10, _elevationCur];
(GVAR(workingMemory) select GVAR(currentTarget)) set [11, _windageCur];
GVAR(workingMemory) set [10, _elevationCur];
GVAR(workingMemory) set [11, _windageCur];
[] call FUNC(update_gun);
[] call FUNC(update_atmosphere);

View File

@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
(GVAR(workingMemory) select GVAR(currentTarget)) set [10, 0];
(GVAR(workingMemory) select GVAR(currentTarget)) set [11, 0];
GVAR(workingMemory) set [10, 0];
GVAR(workingMemory) set [11, 0];
[] call FUNC(update_result);

View File

@ -18,7 +18,7 @@
private ["_index"];
_index = 0 max (lbCurSel 6000);
GVAR(gunList) set [_index, +(GVAR(workingMemory) select GVAR(currentTarget))];
GVAR(gunList) set [_index, +GVAR(workingMemory)];
lbClear 6000;
{

View File

@ -22,5 +22,5 @@ GVAR(showGunList) = _this;
if (_this) then {
ctrlSetFocus (_dsp displayCtrl 6002);
lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))];
lbSetCurSel [6000, GVAR(currentGun)];
};

View File

@ -15,10 +15,10 @@
*/
#include "script_component.hpp"
ctrlSetText [200, Str(Round((GVAR(temperature) select GVAR(currentTarget)) * 10) / 10)];
ctrlSetText [200, Str(Round(GVAR(temperature) * 10) / 10)];
if (GVAR(currentUnit) == 1) then {
ctrlSetText [210, Str(Round((GVAR(barometricPressure) select GVAR(currentTarget)) * 100) / 100)];
ctrlSetText [210, Str(Round(GVAR(barometricPressure) * 100) / 100)];
} else {
ctrlSetText [210, Str(Round(GVAR(barometricPressure) select GVAR(currentTarget)))];
ctrlSetText [210, Str(Round(GVAR(barometricPressure)))];
};
ctrlSetText [220, Str(Round((GVAR(relativeHumidity) select GVAR(currentTarget)) * 100 * 10) / 10)];
ctrlSetText [220, Str(Round(GVAR(relativeHumidity) * 100 * 10) / 10)];

View File

@ -15,39 +15,39 @@
*/
#include "script_component.hpp"
ctrlSetText [1000, (GVAR(workingMemory) select GVAR(currentTarget)) select 0];
ctrlSetText [1000, GVAR(workingMemory) select 0];
if (GVAR(currentUnit) == 1) then
{
ctrlSetText [ 100, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 5) / 2.54 * 100) / 100)];
ctrlSetText [ 100, Str(Round((GVAR(workingMemory) select 5) / 2.54 * 100) / 100)];
} else
{
ctrlSetText [ 100, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 5) * 100) / 100)];
ctrlSetText [ 100, Str(Round((GVAR(workingMemory) select 5) * 100) / 100)];
};
if (GVAR(currentUnit) == 1) then
{
ctrlSetText [ 110, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 12) * 15.4323584))];
ctrlSetText [ 110, Str(Round((GVAR(workingMemory) select 12) * 15.4323584))];
} else
{
ctrlSetText [ 110, Str(Round((GVAR(workingMemory) select GVAR(currentTarget)) select 12))];
ctrlSetText [ 110, Str(Round(GVAR(workingMemory) select 12))];
};
if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (missionNamespace getVariable [QEGVAR(advanced_ballistics,AdvancedAirDragEnabled), false])) then {
ctrlSetText [ 120, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 15) * 1000) / 1000)];
ctrlSetText [ 120, Str(Round((GVAR(workingMemory) select 15) * 1000) / 1000)];
} else {
ctrlSetText [ 120, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 4) * -1000 * 1000) / 1000)];
ctrlSetText [ 120, Str(Round((GVAR(workingMemory) select 4) * -1000 * 1000) / 1000)];
};
if (GVAR(currentUnit) == 1) then
{
ctrlSetText [130, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 1) * 3.2808399))];
ctrlSetText [130, Str(Round((GVAR(workingMemory) select 1) * 3.2808399))];
} else
{
ctrlSetText [130, Str(Round((GVAR(workingMemory) select GVAR(currentTarget)) select 1))];
ctrlSetText [130, Str(Round(GVAR(workingMemory) select 1))];
};
if (GVAR(currentUnit) == 2) then
{
ctrlSetText [140, Str(Round((GVAR(workingMemory) select GVAR(currentTarget)) select 2))];
ctrlSetText [140, Str(Round(GVAR(workingMemory) select 2))];
} else
{
ctrlSetText [140, Str(Round(((GVAR(workingMemory) select GVAR(currentTarget)) select 2) * 1.0936133))];
ctrlSetText [140, Str(Round((GVAR(workingMemory) select 2) * 1.0936133))];
};
[] call FUNC(update_scope_unit);

View File

@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
private ["_range", "_elevation", "_windage", "_lead", "_TOF", "_velocity", "_kineticEnergy", "_rangeOutput", "_elevationOutput", "_windageOutput", "_lastColumnOutput"];
private ["_range", "_elevation", "_windage", "_elevationScopeStep", "_windageScopeStep", "_lead", "_TOF", "_velocity", "_kineticEnergy", "_rangeOutput", "_elevationOutput", "_windageOutput", "_lastColumnOutput"];
_lastColumnOutput = "";
ctrlSetText [5006, (GVAR(rangeCardLastColumns) select GVAR(rangeCardCurrentColumn))];
@ -39,7 +39,7 @@ lnbClear 5007;
_velocity = _x select 5;
_kineticEnergy = _x select 6;
switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do
switch (GVAR(currentScopeUnit)) do
{
case 0:
{
@ -55,8 +55,8 @@ lnbClear 5007;
case 3:
{
_elevationScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 7);
_windageScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 8);
_elevationScopeStep = (GVAR(workingMemory) select 7);
_windageScopeStep = (GVAR(workingMemory) select 8);
_elevation = Round(_elevation / _elevationScopeStep);
_windage = Round(_windage / _windageScopeStep);

View File

@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
(GVAR(workingMemory) select GVAR(currentTarget)) set [10, (GVAR(elevationOutput) select GVAR(currentTarget))];
(GVAR(workingMemory) select GVAR(currentTarget)) set [11, (GVAR(windageOutput) select GVAR(currentTarget))];
GVAR(workingMemory) set [10, (GVAR(elevationOutput) select GVAR(currentTarget))];
GVAR(workingMemory) set [11, (GVAR(windageOutput) select GVAR(currentTarget))];
[] call FUNC(update_result);

View File

@ -19,15 +19,15 @@ private ["_elevationAbs", "_elevationRel", "_elevationCur", "_windageAbs", "_win
_elevationAbs = (GVAR(elevationOutput) select GVAR(currentTarget));
_windageAbs = (GVAR(windageOutput) select GVAR(currentTarget));
_elevationCur = (GVAR(workingMemory) select GVAR(currentTarget)) select 10;
_windageCur = (GVAR(workingMemory) select GVAR(currentTarget)) select 11;
_elevationCur = GVAR(workingMemory) select 10;
_windageCur = GVAR(workingMemory) select 11;
_elevationRel = _elevationAbs - _elevationCur;
_windageRel = _windageAbs - _windageCur;
_lead = (GVAR(leadOutput) select GVAR(currentTarget));
switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do
switch (GVAR(currentScopeUnit)) do
{
case 0:
{
@ -55,8 +55,8 @@ switch ((GVAR(currentScopeUnit) select GVAR(currentTarget))) do
case 3:
{
_elevationScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 7);
_windageScopeStep = ((GVAR(workingMemory) select GVAR(currentTarget)) select 8);
_elevationScopeStep = (GVAR(workingMemory) select 7);
_windageScopeStep = (GVAR(workingMemory) select 8);
_elevationAbs = Round(_elevationAbs / _elevationScopeStep);
_windageAbs = Round(_windageAbs / _windageScopeStep);

View File

@ -15,5 +15,5 @@
*/
#include "script_component.hpp"
ctrlSetText [2000, GVAR(scopeUnits) select (GVAR(currentScopeUnit) select GVAR(currentTarget))];
ctrlSetText [5000, GVAR(scopeUnits) select (GVAR(currentScopeUnit) select GVAR(currentTarget))];
ctrlSetText [2000, GVAR(scopeUnits) select GVAR(currentScopeUnit)];
ctrlSetText [5000, GVAR(scopeUnits) select GVAR(currentScopeUnit)];

View File

@ -16,16 +16,16 @@
#include "script_component.hpp"
private ["_scopeBaseAngle"];
_scopeBaseAngle = ((GVAR(workingMemory) select GVAR(currentTarget)) select 3);
_scopeBaseAngle = (GVAR(workingMemory) select 3);
private ["_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_bc", "_dragModel", "_atmosphereModel"];
_bulletMass = (GVAR(workingMemory) select GVAR(currentTarget)) select 12;
_boreHeight = (GVAR(workingMemory) select GVAR(currentTarget)) select 5;
_airFriction = (GVAR(workingMemory) select GVAR(currentTarget)) select 4;
_muzzleVelocity = (GVAR(workingMemory) select GVAR(currentTarget)) select 1;
_bc = (GVAR(workingMemory) select GVAR(currentTarget)) select 15;
_dragModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 16;
_atmosphereModel = (GVAR(workingMemory) select GVAR(currentTarget)) select 17;
_bulletMass = GVAR(workingMemory) select 12;
_boreHeight = GVAR(workingMemory) select 5;
_airFriction = GVAR(workingMemory) select 4;
_muzzleVelocity = GVAR(workingMemory) select 1;
_bc = GVAR(workingMemory) select 15;
_dragModel = GVAR(workingMemory) select 16;
_atmosphereModel = GVAR(workingMemory) select 17;
private ["_zeroRange"];
_zeroRange = Round(parseNumber(ctrlText 140));
@ -34,14 +34,14 @@ if (GVAR(currentUnit) != 2) then
_zeroRange = _zeroRange / 1.0936133;
};
if (_zeroRange < 10) exitWith {
(GVAR(workingMemory) select GVAR(currentTarget)) set [2, _zeroRange];
(GVAR(workingMemory) select GVAR(currentTarget)) set [3, 0];
GVAR(workingMemory) set [2, _zeroRange];
GVAR(workingMemory) set [3, 0];
};
private ["_temperature", "_barometricPressure", "_relativeHumidity"];
_temperature = (GVAR(temperature) select GVAR(currentTarget));
_barometricPressure = (GVAR(barometricPressure) select GVAR(currentTarget));
_relativeHumidity = (GVAR(relativeHumidity) select GVAR(currentTarget));
_temperature = GVAR(temperature);
_barometricPressure = GVAR(barometricPressure);
_relativeHumidity = GVAR(relativeHumidity);
if (GVAR(currentUnit) == 1) then
{
_temperature = (_temperature - 32) / 1.8;
@ -51,5 +51,5 @@ if (GVAR(currentUnit) == 1) then
private ["_result"];
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000, 0, 0, 0, 0, _zeroRange, _bc, _dragModel, _atmosphereModel, false] call FUNC(calculate_solution);
(GVAR(workingMemory) select GVAR(currentTarget)) set [2, _zeroRange];
(GVAR(workingMemory) select GVAR(currentTarget)) set [3, _scopeBaseAngle + (_result select 0) / 60];
GVAR(workingMemory) set [2, _zeroRange];
GVAR(workingMemory) set [3, _scopeBaseAngle + (_result select 0) / 60];

View File

@ -18,16 +18,19 @@
<English>Open ATragMX</English>
<Polish>Otwórz ATragMX</Polish>
<Russian>Открыть ATragMX</Russian>
<Spanish>Abrir ATragMX</Spanish>
</Key>
<Key ID="STR_ACE_ATragMX_Description">
<English>Rugged PDA with ATragMX</English>
<Polish>Przenośny PDA z kalkulatorem balistycznym ATragMX</Polish>
<Russian>Защищенный КПК с ATragMX</Russian>
<Spanish>PDA rugerizada con ATragMX</Spanish>
</Key>
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
<English>Open ATragMX</English>
<Polish>Otwórz ATragMX</Polish>
<Russian>Открыть ATragMX</Russian>
<Spanish>Abrir ATragMX</Spanish>
</Key>
</Package>
</Project>

View File

@ -11,7 +11,7 @@
<Portuguese>Acoplar item &gt;&gt;</Portuguese>
<Italian>Attacca l'oggetto &gt;&gt;</Italian>
<Hungarian>Tárgy hozzácsatolása &gt;&gt;</Hungarian>
<Russian>Добавить приспособления</Russian>
<Russian>Прикрепить предмет</Russian>
</Key>
<Key ID="STR_ACE_Attach_Attach">
<English>Attach</English>
@ -23,7 +23,7 @@
<Portuguese>Acoplar</Portuguese>
<Italian>Attacca</Italian>
<Hungarian>Hozzácsatolás</Hungarian>
<Russian>Присоединить</Russian>
<Russian>Прикрепить</Russian>
</Key>
<Key ID="STR_ACE_Attach_Detach">
<English>Detach item</English>
@ -47,7 +47,7 @@
<Portuguese>Marcador IV Acoplado</Portuguese>
<Italian>Strobo IR attaccata</Italian>
<Hungarian>Infravörös jeladó hozzácsatolva</Hungarian>
<Russian>ИК-маяк присоединён</Russian>
<Russian>ИК-маяк прикреплён</Russian>
</Key>
<Key ID="STR_ACE_Attach_IrStrobe_Detached">
<English>IR Strobe Detached</English>
@ -71,7 +71,7 @@
<Portuguese>Granada IV Acoplada</Portuguese>
<Italian>Granata IR attaccata</Italian>
<Hungarian>Infravörös gránát hozzácsatolva</Hungarian>
<Russian>ИК-граната присоединена</Russian>
<Russian>ИК-граната прикреплена</Russian>
</Key>
<Key ID="STR_ACE_Attach_IrGrenade_Detached">
<English>IR Grenade Detached</English>
@ -95,7 +95,7 @@
<Portuguese>Chemlight Acoplada</Portuguese>
<Italian>Chemlight attaccata</Italian>
<Hungarian>Chemlight hozzácsatolva</Hungarian>
<Russian>Химсвет присоединён</Russian>
<Russian>Химсвет прикреплён</Russian>
</Key>
<Key ID="STR_ACE_Attach_Chemlight_Detached">
<English>Chemlight Detached</English>

View File

@ -310,7 +310,7 @@
<English>7.62mm Tracer</English>
<Hungarian>7,62 mm Nyomjelző</Hungarian>
<German>7,62mm Leuchtspur</German>
<Spanish>7,62mm Trazadora</Spanish>
<Spanish>7,62mm trazadora</Spanish>
<French>7,62mm Traçantes</French>
<Polish>7,62mm Smugacz</Polish>
<Czech>7.62mm Svítící</Czech>
@ -334,7 +334,7 @@
<English>7.62mm 20rnd Tracer IR-DIM Mag</English>
<Hungarian>7,62 mm Nyomjelző IR-DIM 20-as Tár</Hungarian>
<German>7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM</German>
<Spanish>Cargador de 20 balas IR-DIM de 7,62mm</Spanish>
<Spanish>Cargador de 20 balas trazadoras IR-DIM de 7,62mm</Spanish>
<French>Ch. 7,62mm 20Cps Traçantes IR-DIM</French>
<Polish>Magazynek 7,62mm 20rd Smugacz IR-DIM</Polish>
<Czech>7.62mm 20ks Svítící IR-DIM Zásobník</Czech>
@ -444,6 +444,7 @@
<German>.338 NM 130-Schuss-Gurt Leuchtspur</German>
<Polish>Taśma .338 NM 130rd Smugacz</Polish>
<French>Bande .338 NM 130Cps Traçante</French>
<Spanish>Cinta de 130 balas trazadoras de .338 NM</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_TracerNameShort">
<English>.338 NM Tracer</English>
@ -451,18 +452,21 @@
<Polish>.338 NM Tracer</Polish>
<Czech>.338 NM Svítící</Czech>
<French>.338 NM Traçante</French>
<Spanish>.338 NM trazadora</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_TracerDescription">
<English>Caliber: .338 Norma Magnum Tracer&lt;br /&gt;Rounds: 130&lt;br /&gt;Used in: SPMG</English>
<German>Kaliber: .338 Norma Magnum Leuchtspur&lt;br /&gt;Schuss: 130&lt;br /&gt;Verwendet für: SPMG</German>
<Polish>Kaliber: .338 Norma Magnum Smugacz&lt;br /&gt;Pociski: 130&lt;br /&gt;Używany w: SPMG</Polish>
<French>Calibre: .338 Norma Magnum Traçante&lt;br /&gt;Cartouches: 130&lt;br /&gt;Utilisé dans: SPMG</French>
<Spanish>Calibre: .338 Norma Magnum trazadora&lt;br /&gt;Balas: 130&lt;br /&gt;Se usa en: SPMG</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_Tracer_DimName">
<English>.338 NM 130Rnd IR-DIM Belt</English>
<German>.338 NM 130-Schuss-Gurt Leuchtspur IR-DIM</German>
<Polish>Taśma .338 NM 130rd IR-DIM</Polish>
<French>Bande .338 NM 130Cps IR-DIM</French>
<Spanish>Cinta de 130 balas IR-DIM de .338 NM</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_Tracer_DimNameShort">
<English>.338 NM IR-DIM</English>
@ -470,18 +474,21 @@
<Polish>.338 NM IR-DIM</Polish>
<Czech>.338 NM IR-DIM</Czech>
<French>.338 NM IR-DIM</French>
<Spanish>.338 NM IR-DIM</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_Tracer_DimDescription">
<English>Caliber: .338 Norma Magnum Tracer IR-DIM&lt;br /&gt;Rounds: 130&lt;br /&gt;Used in: SPMG</English>
<German>Kaliber: .338 Norma Magnum Leuchtspur IR-DIM&lt;br /&gt;Schuss: 130&lt;br /&gt;Verwendet für: SPMG</German>
<Polish>Kaliber: .338 Norma Magnum Smugacz IR-DIM&lt;br /&gt;Pociski: 130&lt;br /&gt;Używany w: SPMG</Polish>
<French>Calibre: .338 Norma Magnum Traçante IR-DIM&lt;br /&gt;Cartouches: 130&lt;br /&gt;Utilisé dans: SPMG</French>
<Spanish>Calibre: .338 Norma Magnum trazadora IR-DIM&lt;br /&gt;Balas: 130&lt;br /&gt;Se usa en: SPMG</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_APName">
<English>.338 NM 130Rnd AP Belt</English>
<German>.338 NM 130-Schuss-Gurt Hartkern</German>
<Polish>Taśma .338 NM 130rd AP</Polish>
<French>Bande .338 NM 130Cps AP</French>
<Spanish>Cinta de 130 balas AP de .338 NM</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_APNameShort">
<English>.338 NM AP</English>
@ -489,12 +496,14 @@
<Polish>.338 NM AP</Polish>
<Czech>.338 NM AP</Czech>
<French>.338 NM AP</French>
<Spanish>.338 NM AP</Spanish>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_APDescription">
<English>Caliber: .338 Norma Magnum AP&lt;br /&gt;Rounds: 130&lt;br /&gt;Used in: SPMG</English>
<German>Kaliber: .338 Norma Magnum Hartkern&lt;br /&gt;Schuss: 130&lt;br /&gt;Verwendet für: SPMG</German>
<Polish>Kaliber: .338 Norma Magnum AP&lt;br /&gt;Pociski: 130&lt;br /&gt;Używane w: SPMG</Polish>
<French>Calibre: .338 Norma Magnum AP&lt;br /&gt;Cartouches: 130&lt;br /&gt;Utilisé dans: SPMG</French>
<Spanish>Calibre: .338 Norma Magnum AP&lt;br /&gt;Balas: 130&lt;br /&gt;Se usa en: SPMG</Spanish>
</Key>
<!-- 9.3x64mm 10Rnd -->
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerName">
@ -502,6 +511,7 @@
<German>9,3mm 10-Schuss-Magazin Leuchtspur</German>
<Polish>Magazynek 9.3mm 10rd Smugacz</Polish>
<French>Chargeur 9.3mm 10Cps Traçante</French>
<Spanish>Cargador de 10 balas trazadoras de 9.3mm</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerNameShort">
<English>9.3mm Tracer</English>
@ -509,18 +519,21 @@
<Polish>9,3mm Smugacz</Polish>
<Czech>9.3mm Svítící</Czech>
<French>9.3mm Traçante</French>
<Spanish>9.3mm trazadora</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerDescription">
<English>Caliber: 9.3x64mm Tracer&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: Cyrus</English>
<German>Kaliber: 9,3x64mm Leuchtspur&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3x64 mm Smugacz&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
<French>Calibre: 9.3x64mm Traçante&lt;br /&gt;Cartouches: 10&lt;br /&gt;Utilisé dans: Cyrus</French>
<Spanish>Calibre: 9.3x64mm trazadora&lt;br /&gt;Balas: 10&lt;br /&gt;Se usa en: Cyrus</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimName">
<English>9.3mm 10Rnd Tracer IR-DIM Mag</English>
<German>9,3mm 10-Schuss-Magazin Leuchtspur IR-DIM</German>
<Polish>Magazynek 9,3mm 10rd Smugacz IR-DIM</Polish>
<French>Chargeur 9.3mm 10Cps Traçante IR-DIM</French>
<Spanish>Cargador de 10 balas trazadoras IR-DIM de 9.3mm</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimNameShort">
<English>9.3mm IR-DIM</English>
@ -528,18 +541,21 @@
<Polish>9,3mm IR-DIM</Polish>
<Czech>9.3mm IR-DIM</Czech>
<French>9.3mm IR-DIM</French>
<Spanish>9.3mm IR-DIM</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimDescription">
<English>Caliber: 9.3x64mm Tracer IR-DIM&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: Cyrus</English>
<German>Kaliber: 9,3x64mm Leuchtspur IR-DIM&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3x64 mm Smugacz IR-DIM&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
<French>Calibre: 9.3x64mm Traçante IR-DIM&lt;br /&gt;Cartouches: 10&lt;br /&gt;Utilisé dans: Cyrus</French>
<Spanish>Calibre: 9.3x64mm trazadora IR-DIM&lt;br /&gt;Balas: 10&lt;br /&gt;Se usa en: Cyrus</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_APName">
<English>9.3mm 10Rnd AP Mag</English>
<German>9,3mm 10-Schuss-Magazin Hartkern</German>
<Polish>Magazynek 9,3mm 10rd AP</Polish>
<French>Chargeur 9.3mm 10Cps AP</French>
<Spanish>Cargador de 10 balas AP de 9.3mm</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_APNameShort">
<English>9.3mm AP</English>
@ -547,12 +563,14 @@
<Polish>9,3mm AP</Polish>
<Czech>9.3mm AP</Czech>
<French>9.3mm AP</French>
<Spanish>9.3mm AP</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_APDescription">
<English>Caliber: 9.3x64mm AP&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: Cyrus</English>
<German>Kaliber: 9,3x64mm Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3x64 mm AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
<French>Calibre: 9.3x64mm AP&lt;br /&gt;Cartouches: 10&lt;br /&gt;Utilisé dans: Cyrus</French>
<Spanish>Calibre: 9.3x64mm AP&lt;br /&gt;Balas: 10&lt;br /&gt;Se usa en: Cyrus</Spanish>
</Key>
<!-- 9.3x64mm 150Rnd Belt-->
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerName">
@ -560,6 +578,7 @@
<German>9,3mm 150-Schuss-Gurt Leuchtspur</German>
<Polish>Taśma 9,3mm 150rd Smugacz</Polish>
<French>Bande 9.3mm 150Cps Traçante</French>
<Spanish>Cinta de 150 balas trazadoras de 9.3mm</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerNameShort">
<English>9.3mm Tracer</English>
@ -567,18 +586,21 @@
<Polish>9,3mm Smugacz</Polish>
<Czech>9.3mm Svítící</Czech>
<French>9.3mm Traçante</French>
<Spanish>9.3mm trazadora</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerDescription">
<English>Caliber: 9.3x64mm Tracer&lt;br /&gt;Rounds: 150&lt;br /&gt;Used in: Navid</English>
<German>Kaliber: 9,3x64mm Leuchtspur&lt;br /&gt;Schuss: 150&lt;br /&gt;Verwendet für: Navid</German>
<Polish>Kaliber: 9,3x64 mm Smugacz&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish>
<French>Calibre: 9.3x64mm Traçante&lt;br /&gt;Cartouches: 150&lt;br /&gt;Utilisé dans: Navid</French>
<Spanish>Calibre: 9.3x64mm trazadora&lt;br /&gt;Balas: 150&lt;br /&gt;Se usa en: Navid</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_Tracer_DimName">
<English>9.3mm 150Rnd Tracer IR-DIM Belt</English>
<German>9,3mm 150-Schuss-Gurt Leuchtspur IR-DIM</German>
<Polish>Taśma 9,3mm 150rd Smugacz IR-DIM</Polish>
<French>Bande 9.3mm 150Cps Traçante IR-DIM</French>
<Spanish>Cinta de 150 balas trazadoras IR-DIM de 9.3mm</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_Tracer_DimNameShort">
<English>9.3mm IR-DIM</English>
@ -586,18 +608,21 @@
<Polish>9,3mm IR-DIM</Polish>
<Czech>9.3mm IR-DIM</Czech>
<French>9.3mm IR-DIM</French>
<Spanish>9.3mm IR-DIM</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_Tracer_DimDescription">
<English>Caliber: 9.3x64mm Tracer IR-DIM&lt;br /&gt;Rounds: 150&lt;br /&gt;Used in: Navid</English>
<German>Kaliber: 9,3x64mm Leuchtspur IR-DIM&lt;br /&gt;Schuss: 150&lt;br /&gt;Verwendet für: Navid</German>
<Polish>Kaliber: 9,3x64 mm Smugacz IR-DIM&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish>
<French>Calibre: 9.3x64mm Traçante IR-DIM&lt;br /&gt;Cartouches: 150&lt;br /&gt;Utilisé dans: Navid</French>
<Spanish>Calibre: 9.3x64mm trazadora IR-DIM&lt;br /&gt;Balas: 150&lt;br /&gt;Se usa en: Navid</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_APName">
<English>9.3mm 150Rnd AP Belt</English>
<German>9,3mm 150-Schuss-Gurt Hartkern</German>
<Polish>Taśma 9,3mm 150rd AP</Polish>
<French>Bande 9.3mm 150Cps AP</French>
<Spanish>Cinta de 150 balas AP de 9.3mm</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_APNameShort">
<English>9.3mm AP</English>
@ -605,147 +630,176 @@
<Polish>9,3mm AP</Polish>
<Czech>9.3mm AP</Czech>
<French>9.3mm AP</French>
<Spanish>9.3mm AP</Spanish>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_APDescription">
<English>Caliber: 9.3x64mm AP&lt;br /&gt;Rounds: 150&lt;br /&gt;Used in: Navid</English>
<German>Kaliber: 9,3x64mm Hartkern&lt;br /&gt;Schuss: 150&lt;br /&gt;Verwendet für: Navid</German>
<Polish>Kaliber: 9,3x64 mm AP&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish>
<French>Calibre: 9.3x64mm AP&lt;br /&gt;Cartouches: 150&lt;br /&gt;Utilisé dans: Navid</French>
<Spanish>Calibre: 9.3x64mm AP&lt;br /&gt;Balas: 150&lt;br /&gt;Se usa en: Navid</Spanish>
</Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Name">
<English>9x19mm 16Rnd Mag</English>
<Polish>Magazynek 9x19mm 16rd</Polish>
<French>Chargeur 9x19mm 16Cps</French>
<Spanish>Cargador de 16 balas de 9x19mm</Spanish>
</Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
<Polish>9x19mm</Polish>
<French>9x19mm</French>
<Spanish>9x19mm</Spanish>
</Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Description">
<English>9x19mm 30Rnd Mag</English>
<Polish>Magazynek 9x19mm 16rd</Polish>
<French>9x19mm 30Cps</French>
<Spanish>Cargador de 16 balas de 9x19mm</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Name">
<English>9x19mm 30Rnd Mag</English>
<Polish>Magazynek 9x19mm 30rd</Polish>
<French>9x19mm 30Cps</French>
<Spanish>Cargador de 30 balas de 9x19mm</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
<Polish>9x19mm</Polish>
<French>9x19mm</French>
<Spanish>9x19mm</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Description">
<English>9x19mm 30Rnd Mag</English>
<Polish>Magazynek 9x19mm 30rd</Polish>
<French>9x19mm 30Cps</French>
<Spanish>Cargador de 30 balas de 9x19mm</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Name">
<English>7.62x54mm 10Rnd Tracer IR-DIM Mag</English>
<Polish>Magazynek 7,62x54 mm 10rd Smugacz IR-DIM</Polish>
<French>Chargeur 7.62x54mm 10Rnd Traçante IR-DIM</French>
<Spanish>Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_NameShort">
<English>7.62mm IR-DIM</English>
<Polish>7,62mm IR-DIM</Polish>
<French>7.62mm IR-DIM</French>
<Spanish>7.62mm IR-DIM</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Description">
<English>7.62x54mm 10Rnd Tracer IR-DIM Mag</English>
<Polish>Magazynek 7,62x54 mm 10rd Smugacz IR-DIM</Polish>
<French>Chargeur 7.62x54mm 10Cps Traçante IR-DIM</French>
<Spanish>Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm</Spanish>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
<Polish>Magazynek 6,5mm 100rd Smugacz IR-DIM</Polish>
<French>Chargeur 6.5mm 100Rnd Traçante IR-DIM</French>
<Spanish>Cargador de 100 balas trazadoras IR-DIM de 6.5mm</Spanish>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
<Polish>6,5mm IR-DIM</Polish>
<French>6.5mm IR-DIM</French>
<Spanish>6.5mm IR-DIM</Spanish>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
<Polish>Magazynek 6,5mm 100rd Smugacz IR-DIM</Polish>
<French>Chargeur 6.5mm 100Rnd Traçante IR-DIM</French>
<Spanish>Cargador de 100 balas trazadoras IR-DIM de 6.5mm</Spanish>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
<Polish>Magazynek 6,5mm 200rd Smugacz IR-DIM</Polish>
<French>Bande 6.5mm 200Rnd Traçante IR-DIM</French>
<Spanish>Cinta de 200 balas trazadoras IR-DIM de 6.5mm</Spanish>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
<Polish>6,5mm IR-DIM</Polish>
<French>6.5mm IR-DIM</French>
<Spanish>6.5mm IR-DIM</Spanish>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
<Polish>Magazynek 6,5mm 200rd Smugacz IR-DIM</Polish>
<French>Bande 6.5mm 200Cps Traçante IR-DIM</French>
<Spanish>Cinta de 200 balas trazadoras IR-DIM de 6.5mm</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name">
<English>5.56mm 30Rnd Mag (Mk262)</English>
<Polish>Magazynek 5,56mm 30rd Mk262</Polish>
<French>5.56mm 30Cps (Mk262)</French>
<Spanish>Cargador de 30 balas de 5.56mm (Mk262)</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort">
<English>5.56mm Mk262</English>
<Polish>5,56mm Mk262</Polish>
<French>5.56mm Mk262</French>
<Spanish>5.56mm (Mk262)</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description">
<English>Caliber: 5.56x45 mm NATO (Mk262)&lt;br /&gt;Rounds: 30</English>
<Polish>Kaliber: 5,56x45 mm NATO (Mk262)&lt;br /&gt;Pociski: 30</Polish>
<French>Calibre: 5.56x45 mm NATO (Mk262)&lt;br /&gt;Cartouches: 30</French>
<Spanish>Calibre: 5.56x45 mm NATO (Mk262)&lt;br /&gt;Balas: 30</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name">
<English>5.56mm 30Rnd Mag (Mk318)</English>
<Polish>Magazynek 5,56mm 30rd Mk318</Polish>
<French>5.56mm 30Cps (Mk318)</French>
<Spanish>Cargador de 30 balas de 5.56mm (Mk318)</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort">
<English>5.56mm Mk318</English>
<Polish>5,56mm Mk318</Polish>
<French>5.56mm Mk318</French>
<Spanish>5.56mm (Mk318)</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description">
<English>Caliber: 5.56x45 mm NATO (Mk318)&lt;br /&gt;Rounds: 30</English>
<Polish>Kaliber: 5,56x45 mm NATO (Mk318)&lt;br /&gt;Pociski: 30</Polish>
<French>Calibre: 5.56x45 mm NATO (Mk318)&lt;br /&gt;Cartouches: 30</French>
<Spanish>Calibre: 5.56x45 mm NATO (Mk318)&lt;br /&gt;Balas: 30</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 10Rnd Mag (M118LR)</English>
<Polish>Magazynek 7,62mm 10rd (M118LR)</Polish>
<French>7.62mm 10Cps (M118LR)</French>
<Spanish>Cargador de 10 balas de 7.62mm (M118LR)</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm M118LR</English>
<Polish>7,62mm M118LR</Polish>
<French>7.62mm M118LR</French>
<Spanish>7.62mm (M118LR)</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Rounds: 10</English>
<Polish>Kaliber: 7,62x51 mm NATO (M118LR)&lt;br /&gt;Pociski: 10</Polish>
<French>Calibre: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Cartouches: 10</French>
<Spanish>Calibre: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Balas: 10</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 20Rnd Mag (M118LR)</English>
<Polish>Magazynek 7,62mm 20rd (M118LR)</Polish>
<French>7.62mm 20Cps (M118LR)</French>
<Spanish>Cargador de 20 balas de 7.62mm (M118LR)</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm M118LR</English>
<Polish>7,62mm M118LR</Polish>
<French>7.62mm M118LR</French>
<Spanish>7.62mm (M118LR)</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Rounds: 20</English>
<Polish>Kaliber: 7,62x51 mm NATO (M118LR)&lt;br /&gt;Pociski: 20</Polish>
<French>Calibre: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Cartouches: 20</French>
<Spanish>Calibre: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Balas: 20</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name">
<English>7.62mm 10Rnd Mag (Mk319 Mod 0)</English>
@ -781,70 +835,85 @@
<English>7.62mm 20Rnd Mag (Mk248 Mod 0)</English>
<Polish>Magazynek 7,62mm 20rd (Mk248 Mod 0)</Polish>
<French>7.62mm 20Cps (Mk248 Mod 0)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Mk248 Mod 0)</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort">
<English>7.62mm (Mk248 Mod 0)</English>
<Polish>7,62mm (Mk248 Mod 0)</Polish>
<French>7.62mm (Mk248 Mod 0)</French>
<Spanish>7.62mm (Mk248 Mod 0)</Spanish>
</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>
<Polish>Kaliber: 7,62x67 mm NATO (Mk248 Mod 0)&lt;br /&gt;Pociski: 20</Polish>
<French>Calibre: 7.62x67mm NATO (Mk248 Mod 0)&lt;br /&gt;Cartouches: 20</French>
<Spanish>Calibre: 7.62x67 mm NATO (Mk248 Mod 0)&lt;br /&gt;Balas: 20</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 1)</English>
<Polish>Magazynek 7,62mm 20rd (Mk248 Mod 1)</Polish>
<French>7.62mm 20Cps (Mk248 Mod 1)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Mk248 Mod 1)</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort">
<English>7.62mm (Mk248 Mod 1)</English>
<Polish>7,62mm (Mk248 Mod 1)</Polish>
<French>7.62mm (Mk248 Mod 1)</French>
<Spanish>7.62mm (Mk248 Mod 1)</Spanish>
</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>
<Polish>Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)&lt;br /&gt;Pociski: 20</Polish>
<French>Calibre: 7.62x67mm NATO (Mk248 Mod 1)&lt;br /&gt;Cartouches: 20</French>
<Spanish>Calibre: 7.62x67 mm NATO (Mk248 Mod 1)&lt;br /&gt;Balas: 20</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name">
<English>7.62mm 20Rnd Mag (Berger Hybrid OTM)</English>
<Polish>Magazynek 7,62mm 20rd (Berger Hybrid OTM)</Polish>
<French>7.62 20Cps (Berger Hybrid OTM)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Berger Hybrid OTM)</Spanish>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort">
<English>7.62mm (OTM)</English>
<Polish>7,62mm (OTM)</Polish>
<French>7.62mm (OTM)</French>
<Spanish>7.62mm (OTM)</Spanish>
</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>
<Polish>Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)&lt;br /&gt;Pociski: 20</Polish>
<French>Calibre: 7.62x67mm NATO (Berger Hybrid OTM)&lt;br /&gt;Cartouches: 20</French>
<Spanish>Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)&lt;br /&gt;Balas: 20</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_65x47_Scenar_mag_Name">
<English>6.5x47mm 30Rnd Mag (HPBT Scenar)</English>
<French>6.5x47mm 30Cps (HPBT Scenar)</French>
<Spanish>Cargador de 30 balas de 6.5x47mm (HPBT Scenar)</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_65x47_Scenar_mag_NameShort">
<English>6.5mm Scenar</English>
<French>6.5mm Scenar</French>
<Spanish>6.5mm Scenar</Spanish>
</Key>
<Key ID="STR_ACE_30Rnd_65x47_Scenar_mag_Description">
<English>Caliber: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Rounds: 30</English>
<French>Calibre: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Cartouches: 30</French>
<Spanish>Calibre: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Balas: 30</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_Name">
<English>.338 10Rnd Mag (300gr Sierra MatchKing HPBT)</English>
<French>.338 10 Cps (300gr Sierra MatchKing HPBT)</French>
<Spanish>Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT)</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_NameShort">
<English>.338 (HPBT)</English>
<French>.338 (HPBT)</French>
<Spanish>.338 (HPBT)</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description">
<English>Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Rounds: 10</English>
<French>Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Cartouches: 10</French>
<Spanish>Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Balas: 10</Spanish>
</Key>
<Key ID="STR_ACE_10Rnd_338_API526_Mag_Name">
<English>.338 10Rnd Mag (API526)</English>

View File

@ -95,7 +95,7 @@
<Portuguese>Algema Plástica</Portuguese>
<Italian>Fascietta</Italian>
<Hungarian>Gyorskötöző</Hungarian>
<Russian>Кабельная стяжка</Russian>
<Russian>Пластиковые наручники</Russian>
</Key>
<Key ID="STR_ACE_Captives_CableTieDescription">
<English>Cable ties that allow you to restrain prisoners.</English>
@ -107,7 +107,7 @@
<Portuguese>A algema plástica permite que você contenha prisioneiros.</Portuguese>
<Italian>Fascietta che ti consente di arrestare i prigionieri.</Italian>
<Hungarian>Gyorskötöző, emberek foglyulejtéséhez használható.</Hungarian>
<Russian>Кабельные стяжки позволяют связывать пленников.</Russian>
<Russian>Пластиковые наручники позволяют связывать пленников.</Russian>
</Key>
<Key ID="STR_ACE_Captives_FriskMenuHeader">
<English>Inventory of frisked person</English>
@ -117,7 +117,7 @@
<Hungarian>Motozott személy felszerelése</Hungarian>
<Czech>Inventář prohledávané osoby</Czech>
<Polish>Ekwipunek rewidowanej osoby</Polish>
<Russian>Инвентарь обысканных лиц</Russian>
<Russian>Инвентарь обысканного человека</Russian>
<Portuguese>Inventário da pessoa revistada</Portuguese>
</Key>
<Key ID="STR_ACE_Captives_FriskPerson">
@ -139,7 +139,7 @@
<Spanish>Rendirse</Spanish>
<Czech>Vzdát se</Czech>
<Polish>Poddaj się</Polish>
<Russian>Сдаться в плен</Russian>
<Russian>Сдаться</Russian>
<Hungarian>Megadás</Hungarian>
<Italian>Arreso</Italian>
</Key>
@ -150,7 +150,7 @@
<Spanish>Dejar de rendirse</Spanish>
<Czech>Přestat se vzdávat</Czech>
<Polish>Podejmij walkę ponownie</Polish>
<Russian>Отменить сдачу в плен</Russian>
<Russian>Прекратить сдачу в плен</Russian>
<Hungarian>Megadás abbahagyása</Hungarian>
<Italian>Annulla la resa</Italian>
</Key>

View File

@ -403,7 +403,7 @@
<German>Die Hintergrundfarbe der ACE-Hinweise.</German>
<Spanish>El color de fondo de las notificaciones del ACE</Spanish>
<Italian>Il colore di sfondo dei suggerimenti dell'ACE.</Italian>
<Russian>Цвет фона всплывающий подсказок АСЕ.</Russian>
<Russian>Цвет фона всплывающих подсказок АСЕ.</Russian>
<Polish>Kolor tła dla powiadomień ACE</Polish>
<French>Notifications ACE: couleur de l'arrière plan</French>
<Czech>Barva pozadí ACE nápověd.</Czech>

View File

@ -18,6 +18,7 @@
<Russian>Показывать меню взаимодействия в виде списка</Russian>
<French>Afficher le menu d'interaction au format liste</French>
<Italian>Mostra il menù di interazione come lista</Italian>
<Polish>Wyświetlaj menu interakcji jako listę</Polish>
</Key>
<Key ID="STR_ACE_Interact_Menu_InteractKey">
<English>Interact Key</English>

View File

@ -10,6 +10,7 @@
<French>Verrouiller cible (maintenir)</French>
<Hungarian>Célpontra állás (Lenyomva tartott)</Hungarian>
<Italian>Aggangia il bersagio</Italian>
<Spanish>Fijar objetivo (Mantener)</Spanish>
</Key>
<Key ID="STR_ACE_JAVELIN_CycleFireMode">
<English>Cycle Fire Mode</English>
@ -20,6 +21,7 @@
<French>Cycle mode de tir</French>
<Hungarian>Tüzelési mód váltása</Hungarian>
<Italian>Alterna le modalità di fuoco</Italian>
<Spanish>Cambiar modo de disparo</Spanish>
</Key>
</Package>
</Project>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE">
<Package name="Kestrel4500">
<Key ID="STR_ACE_Kestrel_Name">
@ -19,6 +18,7 @@
<Polish>Anemomentr skrzydełkowy Kestrel 4500</Polish>
<Russian>Карманная метеостанция Kestrel 4500NV</Russian>
<French>Station météo portable Kestrel 4500</French>
<Spanish>Kestrel 4500 Pocket Weather Tracker</Spanish>
</Key>
<Key ID="STR_ACE_Kestrel4500_OpenKestrel">
<English>Open Kestrel 4500</English>
@ -27,6 +27,7 @@
<Russian>Открыть Kestrel 4500NV</Russian>
<French>Ouvrir Kestrel 4500</French>
<Italian>Accendi Kestrel 4500</Italian>
<Spanish>Abrir Kestrel 4500</Spanish>
</Key>
<Key ID="STR_ACE_Kestrel4500_ShowKestrel">
<English>Show Kestrel 4500</English>
@ -34,6 +35,7 @@
<Russian>Показать Kestrel 4500NV</Russian>
<French>Afficher Kestrel 4500</French>
<Italian>Mostra Kestrel 4500</Italian>
<Spanish>Mostrar Kestrel 4500</Spanish>
</Key>
<Key ID="STR_ACE_Kestrel4500_HideKestrel">
<English>Hide Kestrel 4500</English>
@ -41,6 +43,7 @@
<Russian>Убрать Kestrel 4500NV</Russian>
<French>Cacher Kestrel 4500</French>
<Italian>Nascondi Kestrel 4500</Italian>
<Spanish>Esconder Kestrel 4500</Spanish>
</Key>
<Key ID="STR_ACE_Kestrel4500_KestrelDialogKey">
<English>Open Kestrel 4500</English>
@ -48,6 +51,7 @@
<Russian>Открыть Kestrel 4500NV</Russian>
<French>Ouvrir Kestrel 4500</French>
<Italian>Accendi Kestrel 4500</Italian>
<Spanish>Abrir Kestrel 4500</Spanish>
</Key>
<Key ID="STR_ACE_Kestrel4500_DisplayKestrelKey">
<English>Show Kestrel 4500</English>
@ -55,6 +59,7 @@
<Russian>Показать Kestrel 4500NV</Russian>
<French>Afficher Kestrel 4500</French>
<Italian>Mostra Kestrel 4500</Italian>
<Spanish>Mostrar Kestrel 4500</Spanish>
</Key>
</Package>
</Project>

View File

@ -52,6 +52,7 @@
<Polish>Laser</Polish>
<Russian>Лазер</Russian>
<French>Laser</French>
<Spanish>Laser</Spanish>
</Key>
<Key ID="STR_ACE_Laserpointer_IRLaser">
<English>IR Laser</English>
@ -59,6 +60,7 @@
<Polish>Laser IR</Polish>
<Russian>ИК-лазер</Russian>
<French>Laser IR</French>
<Spanish>Laser IR</Spanish>
</Key>
<Key ID="STR_ACE_Laserpointer_switchLaserLight">
<English>Switch Laser / IR Laser</English>
@ -67,6 +69,7 @@
<Russian>Изменить режим Лазер / ИК-лазер</Russian>
<French>Changer Laser / Laser IR</French>
<Italian>Alterna Laser / IR Laser</Italian>
<Spanish>Cambiar Laser / Laser IR</Spanish>
</Key>
</Package>
</Project>

View File

@ -1520,6 +1520,7 @@
<Polish>Ciężko ranny</Polish>
<Russian>Сильно ранен</Russian>
<Italian>Gravemente ferito</Italian>
<Spanish>Gravemente herido</Spanish>
</Key>
<Key ID="STR_ACE_Medical_LightlyWounded">
<English>Lightly wounded</English>
@ -1527,6 +1528,7 @@
<Polish>Lekko ranny</Polish>
<Russian>Легко ранен</Russian>
<Italian>Leggermente ferito</Italian>
<Spanish>Levemente herido</Spanish>
</Key>
<Key ID="STR_ACE_Medical_VeryLightlyWounded">
<English>Very lightly wounded</English>
@ -1534,6 +1536,7 @@
<Polish>B. lekko ranny</Polish>
<Russian>Очень легко ранен</Russian>
<Italian>Ferito lievemente</Italian>
<Spanish>Muy levemente herido</Spanish>
</Key>
<Key ID="STR_ACE_Medical_Head">
<English>Head</English>
@ -1541,6 +1544,7 @@
<Polish>Głowa</Polish>
<Russian>Голова</Russian>
<Italian>Testa</Italian>
<Spanish>Cabeza</Spanish>
</Key>
<Key ID="STR_ACE_Medical_Torso">
<English>Torso</English>
@ -1548,6 +1552,7 @@
<Polish>Tors</Polish>
<Russian>Торс</Russian>
<Italian>Torso</Italian>
<Spanish>Torso</Spanish>
</Key>
<Key ID="STR_ACE_Medical_LeftArm">
<English>Left Arm</English>
@ -1555,6 +1560,7 @@
<Polish>Lewe ramię</Polish>
<Russian>Левая рука</Russian>
<Italian>Braccio sinistro</Italian>
<Spanish>Brazo izquierdo</Spanish>
</Key>
<Key ID="STR_ACE_Medical_RightArm">
<English>Right Arm</English>
@ -1562,6 +1568,7 @@
<Polish>Prawe ramię</Polish>
<Russian>Правая рука</Russian>
<Italian>Braccio destro</Italian>
<Spanish>Brazo derecho</Spanish>
</Key>
<Key ID="STR_ACE_Medical_LeftLeg">
<English>Left Leg</English>
@ -1569,6 +1576,7 @@
<Polish>Lewa noga</Polish>
<Russian>Левая нога</Russian>
<Italian>Gamba sinistra</Italian>
<Spanish>Pierna izquierda</Spanish>
</Key>
<Key ID="STR_ACE_Medical_RightLeg">
<English>Right Leg</English>
@ -1576,6 +1584,7 @@
<Polish>Prawa noga</Polish>
<Russian>Правая нога</Russian>
<Italian>Gamba destra</Italian>
<Spanish>Pierna derecha</Spanish>
</Key>
<Key ID="STR_ACE_Medical_painEffectType">
<English>Pain Effect Type</English>
@ -1583,6 +1592,7 @@
<Polish>Rodzaj efektu bólu</Polish>
<Russian>Вид боли</Russian>
<Italian>Pain Effect Type</Italian>
<Spanish>Tipo de efecto de dolor</Spanish>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Flash">
<English>Colour Flashing</English>
@ -1590,6 +1600,7 @@
<Polish>Pulsujące kolory</Polish>
<Russian>Разноцветные вспышки</Russian>
<Italian>Colore lampeggiante</Italian>
<Spanish>Parpadeo de color</Spanish>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Chroma">
<English>Chromatic Aberration</English>
@ -1597,6 +1608,7 @@
<Polish>Aberracja chromatyczna</Polish>
<Russian>Хроматическая аберрация</Russian>
<Italian>Aberrazione cromatica</Italian>
<Spanish>Aberración cromática</Spanish>
</Key>
</Package>
</Project>

View File

@ -1049,6 +1049,7 @@
<French>P99</French>
<Hungarian>P99</Hungarian>
<Spanish>P99</Spanish>
<Russian>P99</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_hgun_Rook40_Name">
<English>MP-443 Grach</English>
@ -1058,6 +1059,7 @@
<French>MP-443 Grach</French>
<Hungarian>MP-443 Grach</Hungarian>
<Spanish>MP-443 Grach</Spanish>
<Russian>МР-443 "Грач"</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_hgun_ACPC2_Name">
<English>ACP-C2</English>
@ -1067,6 +1069,7 @@
<French>ACP-C2</French>
<Hungarian>ACP-C2</Hungarian>
<Spanish>ACP-C2</Spanish>
<Russian>ACP-C2</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name">
<English>FNX-45 Tactical</English>
@ -1076,6 +1079,7 @@
<French>FNX-45 Tactical</French>
<Hungarian>FNX-45 Tactical</Hungarian>
<Spanish>FNX-45 Tactical</Spanish>
<Russian>FNX-45 Tactical</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name">
<English>Chiappa Rhino 60DS</English>
@ -1085,6 +1089,7 @@
<French>Chiappa Rhino 60DS</French>
<Hungarian>Chiappa Rhino 6DS</Hungarian>
<Spanish>Chiappa Rhino 60DS</Spanish>
<Russian>Chiappa Rhino 60DS</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_hgun_Pistol_Signal_Name">
<English>Taurus Judge</English>
@ -1094,6 +1099,7 @@
<French>Taurus Judge</French>
<Hungarian>Taurus Judge</Hungarian>
<Spanish>Taurus Judge</Spanish>
<Russian>Taurus Judge</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_launch_NLAW_Name">
<English>NLAW</English>
@ -1103,6 +1109,7 @@
<French>NLAW</French>
<Hungarian>NLAW</Hungarian>
<Spanish>NLAW</Spanish>
<Russian>NLAW</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_launch_RPG32_Name">
<English>RPG-32</English>
@ -1112,6 +1119,7 @@
<French>RPG-32</French>
<Hungarian>RPG-32</Hungarian>
<Spanish>RPG-32</Spanish>
<Russian>РПГ-32</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_launch_Titan_Name">
<English>Mini-Spike (AA)</English>
@ -1121,6 +1129,7 @@
<French>Mini-Spike (AA)</French>
<Hungarian>Mini-Spike (Repülő-elhárító)</Hungarian>
<Spanish>Mini-Spike (AA)</Spanish>
<Russian>Mini-Spike (AA)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_launch_Titan_short_Name">
<English>Mini-Spike (AT)</English>
@ -1130,6 +1139,7 @@
<French>Mini-Spike (AT)</French>
<Hungarian>Mini-Spike (Tankelhárító)</Hungarian>
<Spanish>Mini-Spike (AT)</Spanish>
<Russian>Mini-Spike (AT)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MX_Name">
<English>MX</English>
@ -1139,6 +1149,7 @@
<French>MX</French>
<Hungarian>MX</Hungarian>
<Spanish>MX</Spanish>
<Russian>MX</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MX_Black_Name">
<English>MX (Black)</English>
@ -1148,6 +1159,7 @@
<French>MX ( Noir)</French>
<Hungarian>MX (Fekete)</Hungarian>
<Spanish>MX (Negro)</Spanish>
<Russian>MX (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MXC_Name">
<English>MXC</English>
@ -1157,6 +1169,7 @@
<French>MXC</French>
<Hungarian>MXC</Hungarian>
<Spanish>MXC</Spanish>
<Russian>MXC</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MXC_Black_Name">
<English>MXC (Black)</English>
@ -1166,6 +1179,7 @@
<French>MXC (Noir)</French>
<Hungarian>MXC (Fekete)</Hungarian>
<Spanish>MXC (Negro)</Spanish>
<Russian>MXC (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MX_GL_Name">
<English>MX 3GL</English>
@ -1175,6 +1189,7 @@
<French>MX 3GL</French>
<Hungarian>MX 3GL</Hungarian>
<Spanish>MX 3GL</Spanish>
<Russian>MX 3GL</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MX_GL_Black_Name">
<English>MX 3GL (Black)</English>
@ -1184,6 +1199,7 @@
<French>MX 3 GL (Noir)</French>
<Hungarian>MX 3GL (Fekete)</Hungarian>
<Spanish>MX 3GL (Negro)</Spanish>
<Russian>MX 3GL (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MX_SW_Name">
<English>MX LSW</English>
@ -1193,6 +1209,7 @@
<French>MX LSW</French>
<Hungarian>MX LSW</Hungarian>
<Spanish>MX LSW</Spanish>
<Russian>MX LSW</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MX_SW_Black_Name">
<English>MX LSW (Black)</English>
@ -1202,6 +1219,7 @@
<French>MX LSW (Noir)</French>
<Hungarian>MX LSW (Fekete)</Hungarian>
<Spanish>MX LSW (Negro)</Spanish>
<Russian>MX LSW (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MXM_Name">
<English>MXM</English>
@ -1211,6 +1229,7 @@
<French>MXM</French>
<Hungarian>MXM</Hungarian>
<Spanish>MXM</Spanish>
<Russian>MXM</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_MXM_Black_Name">
<English>MXM (Black)</English>
@ -1220,6 +1239,7 @@
<French>MXM (Noir)</French>
<Hungarian>MXM (Fekete)</Hungarian>
<Spanish>MXM (Negro)</Spanish>
<Russian>MXM (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Katiba_Name">
<English>KT2002 Katiba</English>
@ -1229,6 +1249,7 @@
<French>KT2002 Katiba</French>
<Hungarian>KT2002 Katiba</Hungarian>
<Spanish>KT2002 Katiba</Spanish>
<Russian>KT2002 Катиба</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Katiba_C_Name">
<English>KT2002C Katiba</English>
@ -1238,6 +1259,7 @@
<French>KT2002C Katiba</French>
<Hungarian>KT2002C Katiba</Hungarian>
<Spanish>KT2002C Katiba</Spanish>
<Russian>KT2002C Катиба</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Katiba_GL_Name">
<English>KT2002 Katiba KGL</English>
@ -1247,6 +1269,7 @@
<French>KT2002 Katiba KGL</French>
<Hungarian>KT2002 Katiba KGL</Hungarian>
<Spanish>KT2002 Katiba KGL</Spanish>
<Russian>KT2002 Катиба KGL</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Mk20_Name">
<English>F2000 (Camo)</English>
@ -1256,6 +1279,7 @@
<French>F2000 (Camo)</French>
<Hungarian>F2000 (Terepmintás)</Hungarian>
<Spanish>F2000 (Camuflaje)</Spanish>
<Russian>F2000 (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Mk20_plain_Name">
<English>F2000</English>
@ -1265,6 +1289,7 @@
<French>F2000</French>
<Hungarian>F2000</Hungarian>
<Spanish>F2000</Spanish>
<Russian>F2000</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Mk20C_Name">
<English>F2000 Tactical (Camo)</English>
@ -1274,6 +1299,7 @@
<French>F2000 Tactical (Camo)</French>
<Hungarian>F2000 Tactical (Terepmintás)</Hungarian>
<Spanish>F2000 Tactical (Camuflaje)</Spanish>
<Russian>F2000 Tactical (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Mk20C_plain_Name">
<English>F2000 Tactical</English>
@ -1283,6 +1309,7 @@
<French>F2000 Tactical</French>
<Hungarian>F2000 Tactical</Hungarian>
<Spanish>F2000 Tactical</Spanish>
<Russian>F2000 Tactical</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Mk20_GL_Name">
<English>F2000 EGLM (Camo)</English>
@ -1292,6 +1319,7 @@
<French>F2000 EGLM (Camo)</French>
<Hungarian>F2000 EGLM (Terepmintás)</Hungarian>
<Spanish>F2000 EGLM (Camuflaje)</Spanish>
<Russian>F2000 EGLM (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name">
<English>F2000 EGLM</English>
@ -1301,6 +1329,7 @@
<French>F2000 EGLM</French>
<Hungarian>F2000 EGLM</Hungarian>
<Spanish>F2000 EGLM</Spanish>
<Russian>F2000 EGLM</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_TRG21_Name">
<English>TAR-21</English>
@ -1310,6 +1339,7 @@
<French>TAR-21</French>
<Hungarian>TAR-21</Hungarian>
<Spanish>TAR-21</Spanish>
<Russian>TAR-21</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_TRG20_Name">
<English>CTAR-21</English>
@ -1319,6 +1349,7 @@
<French>CTAR-21</French>
<Hungarian>CTAR-21</Hungarian>
<Spanish>CTAR-21</Spanish>
<Russian>CTAR-21</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_TRG21_GL_Name">
<English>TAR-21 EGLM</English>
@ -1328,6 +1359,7 @@
<French>TAR-21 EGLM</French>
<Hungarian>TAR-21 EGLM</Hungarian>
<Spanish>TAR-21 EGLM</Spanish>
<Russian>TAR-21 EGLM</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_SMG_01_Name">
<English>Vector SMG</English>
@ -1337,6 +1369,7 @@
<French>Vector SMG</French>
<Hungarian>Vector SMG</Hungarian>
<Spanish>Vector SMG</Spanish>
<Russian>Vector SMG</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_SMG_02_Name">
<English>Scorpion Evo 3 A1</English>
@ -1346,6 +1379,7 @@
<French>Scorpion Evo 3 A1</French>
<Hungarian>Scorpion Evo 3 A1</Hungarian>
<Spanish>Scorpion Evo 3 A1</Spanish>
<Russian>Scorpion Evo 3 A1</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_hgun_PDW2000_Name">
<English>CPW</English>
@ -1355,6 +1389,7 @@
<French>CPW</French>
<Hungarian>CPW</Hungarian>
<Spanish>CPW</Spanish>
<Russian>CPW</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_arifle_SDAR_Name">
<English>RFB SDAR</English>
@ -1364,6 +1399,7 @@
<French>RFB SDAR</French>
<Hungarian>RFB SDAR</Hungarian>
<Spanish>RFB SDAR</Spanish>
<Russian>RFB SDAR</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_LMG_Mk200_Name">
<English>Stoner 99 LMG</English>
@ -1373,6 +1409,7 @@
<French>Stoner 99 LMG</French>
<Hungarian>Stoner 99 Könnyűgéppuska</Hungarian>
<Spanish>Stoner 99 LMG</Spanish>
<Russian>Stoner 99 LMG</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_LMG_Zafir_Name">
<English>Negev NG7</English>
@ -1382,6 +1419,7 @@
<French>Negev NG7</French>
<Hungarian>Negev NG7</Hungarian>
<Spanish>Negev NG7</Spanish>
<Russian>Negev NG7</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_EBR_Name">
<English>Mk14 Mod 1 EBR</English>
@ -1391,6 +1429,7 @@
<French>Mk 14 Mod 1 EBR</French>
<Hungarian>Mk14 Mod 1 EBR</Hungarian>
<Spanish>Mk14 Mod 1 EBR</Spanish>
<Russian>Mk14 Mod 1 EBR</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_GM6_Name">
<English>GM6 Lynx</English>
@ -1400,6 +1439,7 @@
<French>GM6 Lynx</French>
<Hungarian>GM6 Gepárd</Hungarian>
<Spanish>GM6 Lynx</Spanish>
<Russian>GM6 Lynx</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_GM6_camo_Name">
<English>GM6 Lynx (Camo)</English>
@ -1409,6 +1449,7 @@
<French>GM6 Lynx (Camo)</French>
<Hungarian>GM6 Gepárd (Terepmintás)</Hungarian>
<Spanish>GM6 Lynx (Camuflaje)</Spanish>
<Russian>GM6 Lynx (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_LRR_Name">
<English>M200 Intervention</English>
@ -1418,6 +1459,7 @@
<French>M200 Intervention</French>
<Hungarian>M200 Intervention</Hungarian>
<Spanish>M200 Intervention</Spanish>
<Russian>M200 Intervention</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_LRR_camo_Name">
<English>M200 Intervention (Camo)</English>
@ -1427,6 +1469,7 @@
<French>M200 Intervention (Camo)</French>
<Hungarian>M200 Intervention (Terepmintás)</Hungarian>
<Spanish>M200 Intervention (Camuflaje)</Spanish>
<Russian>M200 Intervention (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_01_Name">
<English>VS-121</English>
@ -1436,174 +1479,203 @@
<French>VS-121</French>
<Hungarian>VS-121</Hungarian>
<Spanish>VS-121</Spanish>
<Russian>VS-121</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_02">
<English>TODO: MAR-10 .338</English>
<Czech>TODO: MAR-10 .338</Czech>
<French>MAR-10 .338</French>
<Spanish>TODO: MAR-10 .338</Spanish>
<Russian>TODO: MAR-10 .338</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02">
<English>TODO: MAR-10 .338 (Black)</English>
<Czech>TODO: MAR-10 .338 (Black)</Czech>
<French>MAR-10 .338 (Noir)</French>
<Spanish>TODO: MAR-10 .338 (Negro)</Spanish>
<Russian>TODO: MAR-10 .338 (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_camo">
<English>TODO: MAR-10 .338 (Camo)</English>
<Czech>TODO: MAR-10 .338 (Camo)</Czech>
<French>MAR-10 .338 (Camo)</French>
<Spanish>TODO: MAR-10 .338 (Camuflaje)</Spanish>
<Russian>TODO: MAR-10 .338 (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_sniper">
<English>TODO: MAR-10 .338 (Sand)</English>
<Czech>TODO: MAR-10 .338 (Sand)</Czech>
<French>MAR-10 .338 (Beige)</French>
<Spanish>TODO: MAR-10 .338 (Arena)</Spanish>
<Russian>TODO: MAR-10 .338 (песочный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_03">
<English>TODO: Mk-I EMR 7.62 mm</English>
<Czech>TODO: Mk-I EMR 7.62 mm</Czech>
<French>Mk-l EMR 7.62 mm</French>
<Spanish>TODO: Mk-I EMR 7.62 mm</Spanish>
<Russian>TODO: Mk-I EMR 7.62 мм</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03">
<English>TODO: Mk-I EMR 7.62 mm (Black)</English>
<Czech>TODO: Mk-I EMR 7.62 mm (Black)</Czech>
<French>Mk-l EMR 7.62 mm (Noir)</French>
<Spanish>TODO: Mk-I EMR 7.62 mm (Negro)</Spanish>
<Russian>TODO: Mk-I EMR 7.62 мм (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_khaki">
<English>TODO: Mk-I EMR 7.62 mm (Khaki)</English>
<Czech>TODO: Mk-I EMR 7.62 mm (Khaki)</Czech>
<French>Mk-l EMR 7.62 mm (Kaki)</French>
<Spanish>TODO: Mk-I EMR 7.62 mm (Caqui)</Spanish>
<Russian>TODO: Mk-I EMR 7.62 мм (хаки)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_tan">
<English>TODO: Mk-I EMR 7.62 mm (Sand)</English>
<Czech>TODO: Mk-I EMR 7.62 mm (Sand)</Czech>
<French>Mk-l EMR 7.62 mm (Beige)</French>
<Spanish>TODO: Mk-I EMR 7.62 mm (Arena)</Spanish>
<Russian>TODO: Mk-I EMR 7.62 мм (песочный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_multicam">
<English>TODO: Mk-I EMR 7.62 mm (Camo)</English>
<Czech>TODO: Mk-I EMR 7.62 mm (Camo)</Czech>
<French>Mk-l EMR 7.62 mm (Camo)</French>
<Spanish>TODO: Mk-I EMR 7.62 mm (Camuflaje)</Spanish>
<Russian>TODO: Mk-I EMR 7.62 мм (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_woodland">
<English>TODO: Mk-I EMR 7.62 mm (Woodland)</English>
<Czech>TODO: Mk-I EMR 7.62 mm (Woodland)</Czech>
<French>Mk-l EMR 7.62 mm (Woodland)</French>
<Spanish>TODO: Mk-I EMR 7.62 mm (Bosque)</Spanish>
<Russian>TODO: Mk-I EMR 7.62 мм (лесной)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_spotter">
<English>TODO: NATO DMR (provisional) spotter</English>
<Czech>TODO: NATO DMR (provisional) spotter</Czech>
<French>NATO DMR (provisoire) Observateur</French>
<Spanish>TODO: NATO DMR (provisional) observador</Spanish>
<Russian>TODO: NATO DMR (provisional) корректировщик</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_04">
<English>TODO: ASP-1 Kir 12.7 mm</English>
<Czech>TODO: ASP-1 Kir 12.7 mm</Czech>
<French>ASP-1 Kir 12.7 mm</French>
<Spanish>TODO: ASP-1 Kir 12.7 mm</Spanish>
<Russian>TODO: ASP-1 Kir 12.7 мм</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04">
<English>TODO: ASP-1 Kir 12.7 mm (Black)</English>
<Czech>TODO: ASP-1 Kir 12.7 mm (Black)</Czech>
<French>ASP-1 Kir 12.7 mm (Noir)</French>
<Spanish>TODO: ASP-1 Kir 12.7 mm (Negro)</Spanish>
<Russian>TODO: ASP-1 Kir 12.7 мм (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04_Tan">
<English>TODO: ASP-1 Kir 12.7 mm (Tan)</English>
<Czech>TODO: ASP-1 Kir 12.7 mm (Tan)</Czech>
<French>ASP-1 Kir 12.7 mm (Tan)</French>
<Spanish>TODO: ASP-1 Kir 12.7 mm (Tan)</Spanish>
<Russian>TODO: ASP-1 Kir 12.7 мм (бронзовый)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_05">
<English>TODO: Cyrus 9.3 mm</English>
<Czech>TODO: Cyrus 9.3 mm</Czech>
<French>Cyrus 9.3 mm</French>
<Spanish>TODO: Cyrus 9.3 mm</Spanish>
<Russian>TODO: Cyrus 9.3 мм</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_blk">
<English>TODO: Cyrus 9.3 mm (Black)</English>
<Czech>TODO: Cyrus 9.3 mm (Black)</Czech>
<French>Cyrus 9.3 mm (Noir)</French>
<Spanish>TODO: Cyrus 9.3 mm (Negro)</Spanish>
<Russian>TODO: Cyrus 9.3 мм (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_hex">
<English>TODO: Cyrus 9.3 mm (Hex)</English>
<Czech>TODO: Cyrus 9.3 mm (Hex)</Czech>
<French>Cyrus 9.3 mm (Hex)</French>
<Spanish>TODO: Cyrus 9.3 mm (Hex)</Spanish>
<Russian>TODO: Cyrus 9.3 мм (гекс)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_tan">
<English>TODO: Cyrus 9.3 mm (Tan)</English>
<Czech>TODO: Cyrus 9.3 mm (Tan)</Czech>
<French>Cyrus 9.3 mm (Tan)</French>
<Spanish>TODO: Cyrus 9.3 mm (Tan)</Spanish>
<Russian>TODO: Cyrus 9.3 мм (бронза)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_06">
<English>TODO: Mk14 7.62 mm</English>
<Czech>TODO: Mk14 7.62 mm</Czech>
<French>Mk 14 7.62 mm</French>
<Spanish>TODO: Mk14 7.62 mm</Spanish>
<Russian>TODO: Mk14 7.62 мм</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_camo">
<English>TODO: Mk14 7.62 mm (Camo)</English>
<Czech>TODO: Mk14 7.62 mm (Camo)</Czech>
<French>Mk 14 7.62 mm (Camo)</French>
<Spanish>TODO: Mk14 7.62 mm (Camuflaje)</Spanish>
<Russian>TODO: Mk14 7.62 мм (камо)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_olive">
<English>TODO: Mk14 7.62 mm (Olive)</English>
<Czech>TODO: Mk14 7.62 mm (Olive)</Czech>
<French>Mk 14 7.62 mm (Olive)</French>
<Spanish>TODO: Mk14 7.62 mm (Oliva)</Spanish>
<Russian>TODO: Mk14 7.62 мм (олива)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_01">
<English>TODO: Navid 9.3 mm</English>
<Czech>TODO: Navid 9.3 mm</Czech>
<French>Navid 9.3 mm</French>
<Spanish>TODO: Navid 9.3 mm</Spanish>
<Russian>TODO: Navid 9.3 мм</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_01_hex">
<English>TODO: Navid 9.3 mm (Hex)</English>
<Czech>TODO: Navid 9.3 mm (Hex)</Czech>
<French>Navid 9.3 mm (Hex)</French>
<Spanish>TODO: Navid 9.3 mm (Hex)</Spanish>
<Russian>TODO: Navid 9.3 мм (гекс)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_01_tan">
<English>TODO: Navid 9.3 mm (Tan)</English>
<Czech>TODO: Navid 9.3 mm (Tan)</Czech>
<French>Navid 9.3 mm (Tan)</French>
<Spanish>TODO: Navid 9.3 mm (Tan)</Spanish>
<Russian>TODO: Navid 9.3 мм (бронза)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02">
<English>TODO: SPMG .338</English>
<Czech>TODO: SPMG .338</Czech>
<French>SPMG .338</French>
<Spanish>TODO: SPMG .338</Spanish>
<Russian>TODO: SPMG .338</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_camo">
<English>TODO: SPMG .338 (MTP)</English>
<Czech>TODO: SPMG .338 (MTP)</Czech>
<French>SPMG .338 (MTP)</French>
<Spanish>TODO: SPMG .338 (MTP)</Spanish>
<Russian>TODO: SPMG .338 (MTP)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_black">
<English>TODO: SPMG .338 (Black)</English>
<Czech>TODO: SPMG .338 (Black)</Czech>
<French>SPMG .338 (Noir)</French>
<Spanish>TODO: SPMG .338 (Negro)</Spanish>
<Russian>TODO: SPMG .338 (черный)</Russian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_sand">
<English>TODO: SPMG .338 (Sand)</English>
<Czech>TODO: SPMG .338 (Sand)</Czech>
<French>SPMG .338 (Beige)</French>
<Spanish>TODO: SPMG .338 (Arena)</Spanish>
<Russian>TODO: SPMG .338 (песочный)</Russian>
</Key>
</Package>
</Project>

View File

@ -5,46 +5,55 @@
<English>Minor adjustment up</English>
<Polish>Zerowanie powoli w górę</Polish>
<Russian>Малая корректировка ВВЕРХ</Russian>
<Spanish>Ajuste menor arriba</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustDownMinor">
<English>Minor adjustment down</English>
<Polish>Zerowanie powoli w dół</Polish>
<Russian>Малая корректировка ВНИЗ</Russian>
<Spanish>Ajuste menor abajo</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustRightMinor">
<English>Minor adjustment right</English>
<Polish>Zerowanie powoli w prawo</Polish>
<Russian>Малая корректировка ВПРАВО</Russian>
<Spanish>Ajuste menor derecha</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMinor">
<English>Minor adjustment left</English>
<Polish>Zerowanie powoli w lewo</Polish>
<Russian>Малая корректировка ВЛЕВО</Russian>
<Spanish>Ajuste menor izquierda</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustUpMajor">
<English>Major adjustment up</English>
<Polish>Zerowanie w górę</Polish>
<Russian>Большая корректировка ВВЕРХ</Russian>
<Spanish>Ajuste mayor arriba</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustDownMajor">
<English>Major adjustment down</English>
<Polish>Zerowanie w dół</Polish>
<Russian>Большая корректировка ВНИЗ</Russian>
<Spanish>Ajuste mayor abajo</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustRightMajor">
<English>Major adjustment right</English>
<Polish>Zerowanie w prawo</Polish>
<Russian>Большая корректировка ВПРАВО</Russian>
<Spanish>Ajuste mayor derecha</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMajor">
<English>Major adjustment left</English>
<Polish>Zerowanie w lewo</Polish>
<Russian>Большая корректировка ВЛЕВО</Russian>
<Spanish>Ajuste mayor izquierda</Spanish>
</Key>
<Key ID="STR_ACE_Scopes_AdjustZero">
<English>Set zero adjustment</English>
<Polish>Zresetuj wyzerowanie</Polish>
<Russian>Сбросить корректировку</Russian>
<Spanish>Establecer ajuste a cero</Spanish>
</Key>
</Package>
</Project>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE">
<Package name="Weather">
<Key ID="STR_ACE_Weather_WindInfoKey">
@ -7,6 +6,7 @@
<Polish>Pokaż inf. o wietrze</Polish>
<Russian>Показать информацию о погоде</Russian>
<French>Afficher information du vent</French>
<Spanish>Mostrar información del viento</Spanish>
</Key>
</Package>
</Project>

View File

@ -16,7 +16,7 @@
#include "script_component.hpp"
[{
private ["_bullet", "_airFriction", "_args", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueVelocity", "_dragRef", "_drag", "_accelRef", "_accel"];
private ["_args", "_bullet", "_airFriction", "_time", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueSpeed", "_dragRef", "_drag", "_accelRef", "_accel"];
_args = _this select 0;
_bullet = _args select 0;

105
tools/search_privates.py Normal file
View File

@ -0,0 +1,105 @@
#!/usr/bin/env python3
import fnmatch
import os
import re
import ntpath
import sys
import argparse
def get_private_declare(content):
priv_declared = []
srch = re.compile('private.*')
priv_srch_declared = srch.findall(content)
priv_srch_declared = sorted(set(priv_srch_declared))
priv_dec_str = ''.join(priv_srch_declared)
srch = re.compile('(?<![_a-zA-Z0-9])(_[a-zA-Z]*?)[ ,\}\]\)";]')
priv_split = srch.findall(priv_dec_str)
priv_split = sorted(set(priv_split))
priv_declared += priv_split;
srch = re.compile('PARAMS_[0-9].*|EXPLODE_[0-9]_PVT.*')
priv_srch_declared = srch.findall(content)
priv_srch_declared = sorted(set(priv_srch_declared))
priv_dec_str = ''.join(priv_srch_declared)
srch = re.compile('(?<![_a-zA-Z0-9])(_[a-zA-Z]*?)[ ,\}\]\)";]')
priv_split = srch.findall(priv_dec_str)
priv_split = sorted(set(priv_split))
priv_declared += priv_split;
return priv_declared
def check_privates(filepath):
def pushClosing(t):
closingStack.append(closing.expr)
closing << Literal( closingFor[t[0]] )
def popClosing():
closing << closingStack.pop()
with open(filepath, 'r') as file:
content = file.read()
priv_use = []
priv_use = []
# Regex search privates
srch = re.compile('(?<![_a-zA-Z0-9])(_[a-zA-Z]*?)[ ,\}\]\)";]')
priv_use = srch.findall(content)
priv_use = sorted(set(priv_use))
# Private declaration search
priv_declared = get_private_declare(content)
if '_this' in priv_declared: priv_declared.remove('_this')
if '_this' in priv_use: priv_use.remove('_this')
if '_x' in priv_declared: priv_declared.remove('_x')
if '_x' in priv_use: priv_use.remove('_x')
if '_forEachIndex' in priv_declared: priv_declared.remove('_forEachIndex')
if '_forEachIndex' in priv_use: priv_use.remove('_forEachIndex')
if '_foreachIndex' in priv_declared: priv_declared.remove('_foreachIndex')
if '_foreachIndex' in priv_use: priv_use.remove('_foreachIndex')
missing = []
for s in priv_use:
if s not in priv_declared:
if s not in missing:
missing.append(s)
if len(missing) > 0:
print (filepath)
for bad_priv in missing:
print ('\t' + bad_priv)
def main():
print("#########################")
print("# Search your Privates #")
print("#########################")
sqf_list = []
parser = argparse.ArgumentParser()
parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default=".")
args = parser.parse_args()
for root, dirnames, filenames in os.walk('../addons' + '/' + args.module):
for filename in fnmatch.filter(filenames, '*.sqf'):
sqf_list.append(os.path.join(root, filename))
for filename in sqf_list:
check_privates(filename)
if __name__ == "__main__":
main()