mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
commit
3426237b6c
@ -33,6 +33,7 @@ Aggr094 <bastards4glory@gmail.com>
|
||||
Anthariel <Contact@storm-simulation.com>
|
||||
BlackQwar
|
||||
Brakoviejo
|
||||
Clon1998 <ps.patti1998@gmail.com>
|
||||
Codingboy
|
||||
Crusty
|
||||
eRazeri
|
||||
@ -67,8 +68,10 @@ rakowozz
|
||||
Raspu86
|
||||
Riccardo Petricca <petriccarcc@gmail.com>
|
||||
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>
|
||||
|
@ -33,9 +33,10 @@ GVAR(AtmosphericDensitySimulationEnabled) = true;
|
||||
GVAR(currentGrid) = 0;
|
||||
GVAR(INIT_MESSAGE_ENABLED) = false;
|
||||
|
||||
GVAR(extensionAvailable) = "ace_advanced_ballistics" callExtension "version" == "1.0";
|
||||
GVAR(extensionVersion) = ("ace_advanced_ballistics" callExtension "version");
|
||||
GVAR(extensionAvailable) = (GVAR(extensionVersion) == EXTENSION_REQUIRED_VERSION);
|
||||
if (!GVAR(extensionAvailable)) exitWith {
|
||||
if ("ace_advanced_ballistics" callExtension "version" == "") then {
|
||||
if (GVAR(extensionVersion) == "") then {
|
||||
diag_log text "[ACE] ERROR: ace_advanced_ballistics.dll is missing";
|
||||
} else {
|
||||
diag_log text "[ACE] ERROR: ace_advanced_ballistics.dll is incompatible";
|
||||
|
@ -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;
|
||||
@ -95,12 +95,11 @@ if (GVAR(ammoTemperatureEnabled)) then {
|
||||
};
|
||||
};
|
||||
|
||||
// TODO: Make _bulletTraceVisible global and toggle it with events
|
||||
_bulletTraceVisible = false;
|
||||
if (GVAR(bulletTraceEnabled) && currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then {
|
||||
if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER" && currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then {
|
||||
_opticsName = (primaryWeaponItems ACE_player) select 2;
|
||||
_opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType");
|
||||
_bulletTraceVisible = (_opticType == 2 || currentWeapon ACE_player in ["ACE_Vector", "Binocular", "Rangefinder", "Laserdesignator"]) && cameraView == "GUNNER";
|
||||
_bulletTraceVisible = (_opticType == 2 || currentWeapon ACE_player in ["ACE_Vector", "Binocular", "Rangefinder", "Laserdesignator"]);
|
||||
};
|
||||
|
||||
_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber");
|
||||
@ -158,15 +157,17 @@ if (GVAR(AdvancedAirDragEnabled)) then {
|
||||
[{
|
||||
private ["_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"];
|
||||
EXPLODE_4_PVT(_this select 0,_bullet,_caliber,_bulletTraceVisible,_index);
|
||||
|
||||
if (!alive _bullet) exitWith {
|
||||
[_this select 1] call cba_fnc_removePerFrameHandler;
|
||||
};
|
||||
|
||||
|
||||
_bulletVelocity = velocity _bullet;
|
||||
_bulletPosition = getPosASL _bullet;
|
||||
|
||||
if (_bulletTraceVisible && vectorMagnitude _bulletVelocity > 600) then {
|
||||
|
||||
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
||||
|
||||
if (!alive _bullet || _bulletSpeed < 100) exitWith {
|
||||
[_this select 1] call cba_fnc_removePerFrameHandler;
|
||||
};
|
||||
|
||||
if (_bulletTraceVisible && _bulletSpeed > 600) then {
|
||||
drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""];
|
||||
};
|
||||
|
||||
@ -190,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);
|
||||
|
@ -24,3 +24,5 @@
|
||||
#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))
|
||||
|
||||
#define EXTENSION_REQUIRED_VERSION "1.0"
|
||||
|
@ -6,12 +6,16 @@
|
||||
<English>Show Wind Info</English>
|
||||
<Polish>Pokaż inf. o wietrze</Polish>
|
||||
<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>
|
||||
<Polish>Pokaż kątomierz</Polish>
|
||||
<Italian>Mostra il rapportatore</Italian>
|
||||
<Russian>Показать транспортир</Russian>
|
||||
<French>Afficher le rapporteur</French>
|
||||
<Spanish>Mostrar transportador</Spanish>
|
||||
</Key>
|
||||
</Package>
|
||||
|
@ -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 {
|
||||
|
@ -6,16 +6,38 @@ if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then {
|
||||
GVAR(gunList) = profileNamespace getVariable "ACE_ATragMX_gunList";
|
||||
} else {
|
||||
// Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Elevation Scope Step, Windage Scope Step, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Ammo Class Name, Magazine Class Name, BC, Drag Model, Atmosphere Model
|
||||
GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.700, 1, "ASM" ],
|
||||
["12.7x99mm" , 880, 100, 0.0607, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ],
|
||||
["12.7x54mm" , 290, 100, 0.3913, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 61.56, "B_127x54_Ball" , "10Rnd_127x54_Mag" , 1.050, 1, "ASM" ],
|
||||
["10.4x77mm" , 910, 100, 0.0572, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ],
|
||||
["9.3×64mm" , 870, 100, 0.0632, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ],
|
||||
["8.6×70mm" , 915, 100, 0.0572, -0.0006100, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"],
|
||||
["7.62x51mm" , 850, 100, 0.0639, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"],
|
||||
["6.5x39mm" , 800, 100, 0.0689, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless", "30Rnd_65x39_caseless_mag", 0.263, 1, "ICAO"],
|
||||
["5.56x45mm" , 920, 100, 0.0584, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ],
|
||||
["5.56x45mm Mk262" , 850, 100, 0.0643, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "RH_556x45_Mk262" , "RH_30Rnd_556x45_Mk262" , 0.361, 1, "ASM" ]];
|
||||
GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.630, 1, "ASM" ],
|
||||
|
||||
["12.7x99mm AMAX" , 860, 100, 0.0612, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.60, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 1.050, 1, "ASM" ],
|
||||
["12.7x99mm" , 853, 100, 0.0623, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ],
|
||||
|
||||
["12.7x54mm" , 300, 100, 0.3394, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.60, "B_127x54_Ball" , "10Rnd_127x54_Mag" , 1.050, 1, "ASM" ],
|
||||
|
||||
[".408 Chey Tac" , 910, 100, 0.0569, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ],
|
||||
|
||||
["9.3×64mm" , 870, 100, 0.0619, -0.0007500, 3.81, 0, 0.338, 0.338, 120, 0, 0, 14.90, "B_93x64_Ball" , "10Rnd_93x64_DMR_05_Mag" , 0.368, 1, "ASM" ],
|
||||
|
||||
[".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, "B_338_Ball" , "10Rnd_338_Mag" , 0.322, 7, "ICAO"],
|
||||
[".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 0.338, 0.338, 120, 0, 0, 19.44, "ACE_338_Ball" , "ACE_10Rnd_338_300gr_HPBT_Mag" , 0.381, 7, "ICAO"],
|
||||
[".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.39, "ACE_338_Ball_API526" , "ACE_10Rnd_338_API526_Mag" , 0.290, 7, "ICAO"],
|
||||
|
||||
[".300WM Mk248 Mod 0", 900, 100, 0.0584, -0.0008300, 3.81, 0, 0.338, 0.338, 120, 0, 0, 13.31, "ACE_762x67_Ball_Mk248_Mod_0" , "ACE_20Rnd_762x67_Mk248_Mod_0_Mag" , 0.268, 7, "ICAO"],
|
||||
[".300WM Mk248 Mod 1", 867, 100, 0.0611, -0.0008150, 3.81, 0, 0.338, 0.338, 120, 0, 0, 14.26, "ACE_762x67_Ball_Mk248_Mod_1" , "ACE_20Rnd_762x67_Mk248_Mod_1_Mag" , 0.310, 7, "ICAO"],
|
||||
[".300WM Berger OTM" , 853, 100, 0.0622, -0.0007600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 14.90, "ACE_762x67_Ball_Berger_Hybrid_OTM", "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag", 0.368, 7, "ICAO"],
|
||||
|
||||
["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.849, "B_762x54_Ball" , "10Rnd_762x54_Mag" , 0.400, 1, "ICAO"],
|
||||
|
||||
["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.525, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.200, 7, "ICAO"],
|
||||
["7.62x51mm M118LR" , 820, 100, 0.0662, -0.0008525, 3.81, 0, 0.338, 0.338, 120, 0, 0, 11.34, "ACE_762x51_Ball_M118LR" , "ACE_20Rnd_762x51_M118LR_Mag" , 0.243, 7, "ICAO"],
|
||||
["7.62x51mm Mk319" , 820, 100, 0.0670, -0.0010300, 3.81, 0, 0.338, 0.338, 120, 0, 0, 8.424, "ACE_762x51_Ball_Mk319_Mod_0" , "ACE_20Rnd_762x51_Mk319_Mod_0_Mag" , 0.377, 1, "ICAO"],
|
||||
["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 0.338, 0.338, 120, 0, 0, 12.96, "ACE_762x51_Ball_Subsonic" , "ACE_20Rnd_762x51_Mag_SD" , 0.235, 7, "ICAO"],
|
||||
|
||||
["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.970, "B_65x39_Caseless" , "30Rnd_65x39_caseless_mag" , 0.263, 7, "ICAO"],
|
||||
["6.5x47mm Lapua" , 800, 100, 0.0682, -0.0007710, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.007, "ACE_65x47_Ball_Scenar" , "ACE_30Rnd_65x47_Scenar_mag" , 0.290, 7, "ICAO"],
|
||||
|
||||
["5.56x45mm M855" , 870, 100, 0.0626, -0.0012650, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.018, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.151, 7, "ASM" ],
|
||||
["5.56x45mm Mk262" , 820, 100, 0.0671, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "ACE_556x45_Ball_Mk262" , "ACE_30Rnd_556x45_Stanag_Mk262_mag" , 0.361, 1, "ASM" ],
|
||||
["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.018, "ACE_556x45_Ball_Mk318" , "ACE_30Rnd_556x45_Stanag_Mk318_mag" , 0.307, 1, "ASM" ]];
|
||||
|
||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)];
|
||||
};
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -109,8 +109,12 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
|
||||
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then {
|
||||
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,AdvancedAirDragEnabled), false]) then {
|
||||
private ["_drag"];
|
||||
_drag = -1 * ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation));
|
||||
_bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag);
|
||||
_drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
|
||||
parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed]))
|
||||
} else {
|
||||
([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation))
|
||||
};
|
||||
_bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (-1 * _drag);
|
||||
};
|
||||
} else {
|
||||
_bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
26
addons/atragmx/functions/fnc_change_target_slot.sqf
Normal file
26
addons/atragmx/functions/fnc_change_target_slot.sqf
Normal 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);
|
@ -23,15 +23,19 @@ createDialog 'ATragMX_Display';
|
||||
|
||||
call FUNC(update_target_selection);
|
||||
|
||||
true call FUNC(show_main_page);
|
||||
GVAR(showMainPage) call FUNC(show_main_page);
|
||||
|
||||
false call FUNC(show_add_new_gun);
|
||||
false call FUNC(show_gun_list);
|
||||
false call FUNC(show_range_card);
|
||||
false call FUNC(show_range_card_setup);
|
||||
false call FUNC(show_target_range_assist);
|
||||
false call FUNC(show_target_speed_assist);
|
||||
false call FUNC(show_target_speed_assist_timer);
|
||||
GVAR(showAddNewGun) call FUNC(show_add_new_gun);
|
||||
GVAR(showGunList) call FUNC(show_gun_list);
|
||||
GVAR(showRangeCard) call FUNC(show_range_card);
|
||||
if (GVAR(showRangeCard)) then {
|
||||
ctrlSetFocus (_dsp displayCtrl 5001);
|
||||
[] call FUNC(update_range_card);
|
||||
};
|
||||
GVAR(showRangeCardSetup) call FUNC(show_range_card_setup);
|
||||
GVAR(showTargetRangeAssist) call FUNC(show_target_range_assist);
|
||||
GVAR(showTargetSpeedAssist) call FUNC(show_target_speed_assist);
|
||||
GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer);
|
||||
|
||||
{
|
||||
lbAdd [6000, _x select 0];
|
||||
|
@ -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);
|
||||
|
@ -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];
|
||||
@ -56,3 +56,13 @@ GVAR(windageOutput) = [0, 0, 0, 0];
|
||||
GVAR(leadOutput) = [0, 0, 0, 0];
|
||||
GVAR(tofOutput) = [0, 0, 0, 0];
|
||||
GVAR(velocityOutput) = [0, 0, 0, 0];
|
||||
|
||||
GVAR(showMainPage) = true;
|
||||
GVAR(showAddNewGun) = false;
|
||||
GVAR(showGunList) = false;
|
||||
GVAR(showRangeCard) = false;
|
||||
GVAR(showRangeCardSetup) = false;
|
||||
GVAR(showTargetRangeAssist) = false;
|
||||
GVAR(showTargetSpeedAssist) = false;
|
||||
GVAR(showTargetSpeedAssistTimer) = false;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
{
|
||||
|
@ -15,4 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showAddNewGun) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [11000, 11001, 11002, 11003];
|
@ -15,4 +15,12 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007];
|
||||
GVAR(showGunList) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007];
|
||||
|
||||
if (_this) then {
|
||||
ctrlSetFocus (_dsp displayCtrl 6002);
|
||||
|
||||
lbSetCurSel [6000, GVAR(currentGun)];
|
||||
};
|
||||
|
@ -15,5 +15,7 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showMainPage) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 30, 300, 31, 310, 32, 320, 33, 330, 34, 340, 40, 400, 401, 402, 403, 41, 410, 411, 412, 42, 420,
|
||||
500, 501, 502, 503, 600, 601, 602, 603, 1000, 2000, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008];
|
||||
|
@ -15,4 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showRangeCard) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007];
|
||||
|
@ -15,4 +15,14 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showRangeCardSetup) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [10000, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009];
|
||||
|
||||
if (_this) then {
|
||||
ctrlSetFocus (_dsp displayCtrl 10006);
|
||||
|
||||
ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))];
|
||||
ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))];
|
||||
ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))];
|
||||
};
|
||||
|
@ -15,4 +15,21 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showTargetRangeAssist) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [7000, 7001, 7002, 7003, 7004, 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7017, 7018, 7019, 7020];
|
||||
|
||||
if (_this) then {
|
||||
ctrlSetFocus (_dsp displayCtrl 7018);
|
||||
|
||||
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
||||
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
||||
|
||||
if (GVAR(currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [7016, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [7016, "Meters"];
|
||||
};
|
||||
};
|
@ -15,4 +15,28 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showTargetSpeedAssist) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011, 8012, 8013, 8014, 8015];
|
||||
|
||||
if (_this) then {
|
||||
ctrlSetFocus (_dsp displayCtrl 8012);
|
||||
|
||||
ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))];
|
||||
|
||||
if (GVAR(currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [8008, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8008, "Meters"];
|
||||
};
|
||||
|
||||
if (GVAR(currentUnit) != 1) then
|
||||
{
|
||||
ctrlSetText [8011, "m/s"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8011, "mph"];
|
||||
};
|
||||
};
|
||||
|
@ -15,4 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
GVAR(showTargetSpeedAssistTimer) = _this;
|
||||
|
||||
{ctrlShow [_x, _this]} forEach [9000, 9001, 9002];
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
if !(ctrlVisible 9000) then {
|
||||
|
||||
false call FUNC(show_target_speed_assist);
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
if (ctrlVisible 6000) then
|
||||
{
|
||||
false call FUNC(show_gun_list);
|
||||
@ -29,8 +27,4 @@ if (ctrlVisible 6000) then
|
||||
{
|
||||
false call FUNC(show_main_page);
|
||||
true call FUNC(show_gun_list);
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 6002);
|
||||
|
||||
lbSetCurSel [6000, (GVAR(currentGun) select GVAR(currentTarget))];
|
||||
};
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
if (ctrlVisible 5006) then
|
||||
{
|
||||
false call FUNC(show_range_card);
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Toggles the range card setup screen on/off
|
||||
*
|
||||
* Arguments:
|
||||
* Nothing
|
||||
* Apply new range card settings <BOOL>
|
||||
*
|
||||
* Return Value:
|
||||
* Nothing
|
||||
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
if (ctrlVisible 10000) then
|
||||
{
|
||||
false call FUNC(show_range_card_setup);
|
||||
@ -35,10 +33,4 @@ if (ctrlVisible 10000) then
|
||||
{
|
||||
false call FUNC(show_range_card);
|
||||
true call FUNC(show_range_card_setup);
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 10006);
|
||||
|
||||
ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))];
|
||||
ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))];
|
||||
ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))];
|
||||
};
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
if (ctrlVisible 7000) then
|
||||
{
|
||||
false call FUNC(show_target_range_assist);
|
||||
@ -31,17 +29,4 @@ if (ctrlVisible 7000) then
|
||||
{
|
||||
false call FUNC(show_main_page);
|
||||
true call FUNC(show_target_range_assist);
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 7018);
|
||||
|
||||
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
||||
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
||||
|
||||
if (GVAR(currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [7016, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [7016, "Meters"];
|
||||
};
|
||||
};
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
if (ctrlVisible 8000) then
|
||||
{
|
||||
false call FUNC(show_target_speed_assist);
|
||||
@ -31,24 +29,4 @@ if (ctrlVisible 8000) then
|
||||
{
|
||||
false call FUNC(show_main_page);
|
||||
true call FUNC(show_target_speed_assist);
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 8012);
|
||||
|
||||
ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))];
|
||||
|
||||
if (GVAR(currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [8008, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8008, "Meters"];
|
||||
};
|
||||
|
||||
if (GVAR(currentUnit) != 1) then
|
||||
{
|
||||
ctrlSetText [8011, "m/s"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8011, "mph"];
|
||||
};
|
||||
};
|
||||
|
@ -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)];
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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)];
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
(_dsp displayCtrl 500) ctrlEnable true;
|
||||
(_dsp displayCtrl 501) ctrlEnable true;
|
||||
(_dsp displayCtrl 502) ctrlEnable true;
|
||||
|
@ -15,8 +15,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
||||
(_dsp displayCtrl 600) ctrlEnable true;
|
||||
(_dsp displayCtrl 601) ctrlEnable true;
|
||||
(_dsp displayCtrl 602) ctrlEnable true;
|
||||
|
@ -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];
|
||||
|
@ -9,4 +9,6 @@
|
||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX
|
||||
#endif
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
||||
|
||||
#define _dsp (uiNamespace getVariable "ATragMX_Display")
|
||||
|
@ -17,17 +17,20 @@
|
||||
<Key ID="STR_ACE_ATragMX_OpenATragMXDialog">
|
||||
<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>
|
||||
</Project>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<Portuguese>Acoplar item >></Portuguese>
|
||||
<Italian>Attacca l'oggetto >></Italian>
|
||||
<Hungarian>Tárgy hozzácsatolása >></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>
|
||||
|
@ -3,21 +3,20 @@ class CfgAmmo {
|
||||
class BulletCore;
|
||||
|
||||
class BulletBase: BulletCore {
|
||||
// Default: 6 | More is good, but too much is bad (especially with wind deflection / advanced ballistics)
|
||||
timeToLive = 10;
|
||||
timeToLive=6;
|
||||
};
|
||||
|
||||
class B_20mm : BulletBase {
|
||||
timeToLive = 30;
|
||||
timeToLive=30;
|
||||
};
|
||||
class B_25mm : BulletBase {
|
||||
timeToLive = 30;
|
||||
timeToLive=30;
|
||||
};
|
||||
class B_35mm_AA : BulletBase {
|
||||
timeToLive = 30;
|
||||
timeToLive=30;
|
||||
};
|
||||
class B_30mm_AP : BulletBase {
|
||||
timeToLive = 30;
|
||||
timeToLive=30;
|
||||
};
|
||||
|
||||
class B_556x45_Ball : BulletBase {
|
||||
@ -85,7 +84,7 @@ class CfgAmmo {
|
||||
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.168};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={780, 880, 920};
|
||||
ACE_barrelLengths[]={10, 16.3, 20};
|
||||
@ -103,13 +102,13 @@ class CfgAmmo {
|
||||
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.168};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={785, 883, 925};
|
||||
ACE_barrelLengths[]={10, 16.3, 20};
|
||||
};
|
||||
class B_65x39_Caseless : BulletBase {
|
||||
airFriction=-0.000772;
|
||||
airFriction=-0.000785;
|
||||
typicalSpeed=800;
|
||||
ACE_caliber=0.264;
|
||||
ACE_bulletLength=1.295;
|
||||
@ -142,13 +141,13 @@ class CfgAmmo {
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={760, 790, 820, 830};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
ACE_muzzleVelocities[]={730, 760, 790, 820, 830};
|
||||
ACE_barrelLengths[]={10, 16, 20, 24, 26};
|
||||
};
|
||||
class B_762x51_Ball : BulletBase {
|
||||
airFriction=-0.001035;
|
||||
typicalSpeed=833;
|
||||
hit=14;
|
||||
hit=9;
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.14;
|
||||
ACE_bulletMass=146;
|
||||
@ -173,15 +172,46 @@ class CfgAmmo {
|
||||
ACE_bulletLength=1.24;
|
||||
ACE_bulletMass=175;
|
||||
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.505, 0.496, 0.485, 0.485, 0.485};
|
||||
ACE_velocityBoundaries[]={853, 549, 549, 549};
|
||||
ACE_ballisticCoefficients[]={0.243};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={750, 780, 790, 794};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball
|
||||
{
|
||||
class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball {
|
||||
airFriction=-0.00103;
|
||||
caliber=0.85;
|
||||
hit=14;
|
||||
typicalSpeed=890;
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.24;
|
||||
ACE_bulletMass=130;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.377};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={838, 892, 910};
|
||||
ACE_barrelLengths[]={13, 16, 20};
|
||||
};
|
||||
class ACE_762x51_Ball_Subsonic : B_762x51_Ball {
|
||||
airFriction=-0.000535;
|
||||
caliber=0.5;
|
||||
hit=6;
|
||||
typicalSpeed=790;
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.340;
|
||||
ACE_bulletMass=200;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.235};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={305, 325, 335, 340};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball {
|
||||
airFriction=-0.000830;
|
||||
caliber=1.08;
|
||||
hit=17;
|
||||
@ -197,8 +227,7 @@ class CfgAmmo {
|
||||
ACE_muzzleVelocities[]={865, 900, 924};
|
||||
ACE_barrelLengths[]={20, 24, 26};
|
||||
};
|
||||
class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball
|
||||
{
|
||||
class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball {
|
||||
airFriction=-0.000815;
|
||||
caliber=1.12;
|
||||
hit=18;
|
||||
@ -214,8 +243,7 @@ class CfgAmmo {
|
||||
ACE_muzzleVelocities[]={847, 867, 877};
|
||||
ACE_barrelLengths[]={20, 24, 26};
|
||||
};
|
||||
class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball
|
||||
{
|
||||
class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball {
|
||||
airFriction=-0.00076;
|
||||
caliber=1.15;
|
||||
hit=19;
|
||||
@ -231,23 +259,7 @@ class CfgAmmo {
|
||||
ACE_muzzleVelocities[]={800, 853, 884};
|
||||
ACE_barrelLengths[]={20, 24, 26};
|
||||
};
|
||||
class ACE_762x51_Ball_Subsonic : B_762x51_Ball {
|
||||
airFriction=-0.000535;
|
||||
caliber=0.5;
|
||||
hit=16;
|
||||
typicalSpeed=790;
|
||||
ACE_caliber=0.308;
|
||||
ACE_bulletLength=1.340;
|
||||
ACE_bulletMass=200;
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.235};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=7;
|
||||
ACE_muzzleVelocities[]={305, 325, 335, 340};
|
||||
ACE_barrelLengths[]={16, 20, 24, 26};
|
||||
};
|
||||
class B_762x54_Ball : BulletBase {
|
||||
class B_762x54_Ball: B_762x51_Ball {
|
||||
airFriction=-0.001023;
|
||||
typicalSpeed=820;
|
||||
ACE_caliber=0.312;
|
||||
@ -350,7 +362,7 @@ class CfgAmmo {
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.17};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={440, 460, 480};
|
||||
ACE_barrelLengths[]={4, 5, 9};
|
||||
@ -365,7 +377,7 @@ class CfgAmmo {
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.125};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={298, 330, 350};
|
||||
ACE_barrelLengths[]={3.8, 5, 9};
|
||||
@ -395,7 +407,7 @@ class CfgAmmo {
|
||||
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
|
||||
ACE_ballisticCoefficients[]={0.189};
|
||||
ACE_velocityBoundaries[]={};
|
||||
ACE_standardAtmosphere="ASM";
|
||||
ACE_standardAtmosphere="ICAO";
|
||||
ACE_dragModel=1;
|
||||
ACE_muzzleVelocities[]={360, 400, 430};
|
||||
ACE_barrelLengths[]={4, 4.61, 9};
|
||||
@ -445,6 +457,7 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={20, 24.41, 26};
|
||||
};
|
||||
class B_408_Ball : BulletBase {
|
||||
timeToLive=10;
|
||||
airFriction=-0.000395;
|
||||
typicalSpeed=910;
|
||||
ACE_caliber=0.408;
|
||||
@ -460,6 +473,7 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={29};
|
||||
};
|
||||
class ACE_106x83mm_Ball : B_408_Ball {
|
||||
timeToLive=10;
|
||||
ACE_caliber=0.416;
|
||||
ACE_bulletLength=2.089;
|
||||
ACE_bulletMass=398;
|
||||
@ -472,7 +486,8 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={29};
|
||||
};
|
||||
class B_338_Ball : BulletBase {
|
||||
airFriction=-0.00061
|
||||
timeToLive=10;
|
||||
airFriction=-0.000606;
|
||||
typicalSpeed=915;
|
||||
ACE_caliber=0.338;
|
||||
ACE_bulletLength=1.558;
|
||||
@ -500,10 +515,9 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={20, 24, 26};
|
||||
};
|
||||
class ACE_338_Ball : B_338_Ball {
|
||||
airFriction=-0.000526;
|
||||
timeToLive=10;
|
||||
airFriction=-0.000535;
|
||||
caliber=1.55;
|
||||
deflecting=12;
|
||||
hit=20;
|
||||
typicalSpeed=826;
|
||||
ACE_caliber=0.338;
|
||||
ACE_bulletLength=1.70;
|
||||
@ -516,6 +530,22 @@ class CfgAmmo {
|
||||
ACE_muzzleVelocities[]={800, 820, 826, 830};
|
||||
ACE_barrelLengths[]={20, 24, 26.5, 28};
|
||||
};
|
||||
class ACE_338_Ball_API526 : B_338_Ball {
|
||||
timeToLive=10;
|
||||
airFriction=-0.000673;
|
||||
caliber=2.4;
|
||||
typicalSpeed=826;
|
||||
ACE_caliber=0.338;
|
||||
ACE_bulletLength=1.535;
|
||||
ACE_bulletMass=253;
|
||||
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[]={880, 915, 925};
|
||||
ACE_barrelLengths[]={20, 26, 28};
|
||||
};
|
||||
class B_127x54_Ball : BulletBase {
|
||||
airFriction=-0.00014;
|
||||
typicalSpeed=300;
|
||||
@ -531,6 +561,7 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={17.2};
|
||||
};
|
||||
class B_127x99_Ball : BulletBase {
|
||||
timeToLive=10;
|
||||
airFriction=-0.0006;
|
||||
typicalSpeed=853;
|
||||
ACE_caliber=0.510;
|
||||
@ -545,6 +576,9 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={29};
|
||||
};
|
||||
class ACE_127x99_Ball_AMAX : B_127x99_Ball {
|
||||
timeToLive=10;
|
||||
airFriction=-0.000374;
|
||||
typicalSpeed=860;
|
||||
ACE_caliber=0.510;
|
||||
ACE_bulletLength=2.540;
|
||||
ACE_bulletMass=750;
|
||||
@ -557,6 +591,8 @@ class CfgAmmo {
|
||||
ACE_barrelLengths[]={29};
|
||||
};
|
||||
class B_127x108_Ball : BulletBase {
|
||||
timeToLive=10;
|
||||
airFriction=-0.00064;
|
||||
typicalSpeed=820;
|
||||
ACE_caliber=0.511;
|
||||
ACE_bulletLength=2.520;
|
||||
|
@ -117,12 +117,21 @@ class CfgMagazines {
|
||||
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_762x51_Ball_M118LR";
|
||||
count=10;
|
||||
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_10Rnd_762x51_Mk319_Mod_0_Mag: 10Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_762x51_Ball_Mk319_Mod_0";
|
||||
count = 10;
|
||||
displayName = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Description";
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_762x51_Ball_M118LR";
|
||||
@ -131,6 +140,14 @@ class CfgMagazines {
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description";
|
||||
initSpeed = 780;
|
||||
};
|
||||
class ACE_20Rnd_762x51_Mk319_Mod_0_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_762x51_Ball_Mk319_Mod_0";
|
||||
displayName = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Description";
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_762x67_Ball_Mk248_Mod_0";
|
||||
@ -171,6 +188,33 @@ class CfgMagazines {
|
||||
descriptionShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description";
|
||||
initSpeed = 800;
|
||||
};
|
||||
class ACE_10Rnd_338_API526_Mag: 10Rnd_338_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_338_Ball_API526";
|
||||
displayName = "$STR_ACE_10Rnd_338_API526_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_338_API526_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_338_API526_Mag_Description";
|
||||
initSpeed = 880;
|
||||
};
|
||||
|
||||
class 5Rnd_127x108_Mag;
|
||||
class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "B_127x99_Ball";
|
||||
displayName = "$STR_ACE_5Rnd_127x99_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_5Rnd_127x99_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_5Rnd_127x99_Mag_Description";
|
||||
initSpeed = 853;
|
||||
};
|
||||
class ACE_5Rnd_127x99_AMAX_Mag: 5Rnd_127x108_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
ammo = "ACE_127x99_Ball_AMAX";
|
||||
displayName = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Description";
|
||||
initSpeed = 860;
|
||||
};
|
||||
|
||||
|
||||
class 30Rnd_9x21_Mag: CA_Magazine {
|
||||
initSpeed = 450;
|
||||
@ -200,7 +244,7 @@ class CfgMagazines {
|
||||
initSpeed = 250;
|
||||
};
|
||||
|
||||
class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: CA_Magazine {
|
||||
class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: 30Rnd_45ACP_Mag_SMG_01 {
|
||||
initSpeed = 250;
|
||||
};
|
||||
|
||||
|
@ -23,6 +23,10 @@ class CfgVehicles {
|
||||
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);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4);
|
||||
};
|
||||
};
|
||||
|
||||
@ -31,16 +35,28 @@ class CfgVehicles {
|
||||
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_10Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,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_M118LR_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4);
|
||||
};
|
||||
};
|
||||
|
||||
@ -50,6 +66,8 @@ class CfgVehicles {
|
||||
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_10Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
|
||||
};
|
||||
};
|
||||
@ -142,10 +160,18 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_Box_Misc: Box_NATO_Support_F {
|
||||
class ACE_Box_Ammo: NATO_Box_Base {
|
||||
scope = 2;
|
||||
accuracy = 1000;
|
||||
displayName = "[ACE] Ammo Supply Crate";
|
||||
// TODO: model = "...";
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
class TransportMagazines {
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_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);
|
||||
@ -159,6 +185,10 @@ class CfgVehicles {
|
||||
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);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_Mag,4);
|
||||
MACRO_ADDMAGAZINE(ACE_5Rnd_127x99_AMAX_Mag,4);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -422,7 +422,7 @@ class CfgWeapons {
|
||||
ACE_barrelTwist=7;
|
||||
ACE_barrelLength=18.1;
|
||||
};
|
||||
class arifle_TRG21_GL_F: Tavor_base_F {
|
||||
class arifle_TRG21_GL_F: arifle_TRG21_F {
|
||||
magazines[] = {
|
||||
"30Rnd_556x45_Stanag",
|
||||
"30Rnd_556x45_Stanag_Tracer_Red",
|
||||
@ -503,6 +503,7 @@ class CfgWeapons {
|
||||
"20Rnd_762x51_Mag",
|
||||
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
|
||||
"ACE_20Rnd_762x51_M118LR_Mag",
|
||||
"ACE_20Rnd_762x51_Mk319_Mod_0_Mag",
|
||||
"ACE_20Rnd_762x51_Mag_SD"
|
||||
};
|
||||
initSpeed = -0.9724;
|
||||
@ -522,14 +523,21 @@ class CfgWeapons {
|
||||
ACE_barrelLength=29;
|
||||
};
|
||||
class srifle_GM6_F: GM6_base_F {
|
||||
magazines[] = {
|
||||
"5Rnd_127x108_Mag",
|
||||
"5Rnd_127x108_APDS_Mag",
|
||||
"ACE_5Rnd_127x99_Mag",
|
||||
"ACE_5Rnd_127x99_AMAX_Mag"
|
||||
};
|
||||
initSpeed = -1.0;
|
||||
ACE_barrelTwist=15;
|
||||
ACE_barrelLength=43.3;
|
||||
ACE_barrelLength=36.6;
|
||||
};
|
||||
class srifle_DMR_02_F: DMR_02_base_F {
|
||||
magazines[] = {
|
||||
"10Rnd_338_Mag",
|
||||
"ACE_10Rnd_338_300gr_HPBT_Mag",
|
||||
"ACE_10Rnd_338_API526_Mag",
|
||||
"ACE_20Rnd_762x67_Mk248_Mod_0_Mag",
|
||||
"ACE_20Rnd_762x67_Mk248_Mod_1_Mag",
|
||||
"ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag"
|
||||
@ -543,6 +551,7 @@ class CfgWeapons {
|
||||
"20Rnd_762x51_Mag",
|
||||
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
|
||||
"ACE_20Rnd_762x51_M118LR_Mag",
|
||||
"ACE_20Rnd_762x51_Mk319_Mod_0_Mag",
|
||||
"ACE_20Rnd_762x51_Mag_SD"
|
||||
};
|
||||
initSpeed = -0.9843;
|
||||
@ -564,6 +573,7 @@ class CfgWeapons {
|
||||
"20Rnd_762x51_Mag",
|
||||
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
|
||||
"ACE_20Rnd_762x51_M118LR_Mag",
|
||||
"ACE_20Rnd_762x51_Mk319_Mod_0_Mag",
|
||||
"ACE_20Rnd_762x51_Mag_SD"
|
||||
};
|
||||
initSpeed = -0.9916;
|
||||
|
@ -438,31 +438,12 @@
|
||||
<Italian>Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR</Italian>
|
||||
<Russian>Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR</Russian>
|
||||
</Key>
|
||||
<!-- .338 Lapua Magnum -->
|
||||
<Key ID="STR_ACE_10Rnd_338_Mag_APName">
|
||||
<English>.338 LM 10Rnd AP Mag</English>
|
||||
<German>.338 LM 10-Schuss-Magazin Hartkern</German>
|
||||
<Polish>Magazynek .338 LM 10rd AP</Polish>
|
||||
<Spanish>Cargador de 20 balas AP de .338 LM</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_338_Mag_APNameShort">
|
||||
<English>.338 LM AP</English>
|
||||
<German>.338 LM AP</German>
|
||||
<Polish>.338 LM AP</Polish>
|
||||
<Czech>.338 LM AP</Czech>
|
||||
<Spanish>.338 LM AP</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_338_Mag_APDescription">
|
||||
<English>Caliber: .338 Lapua Magnum AP<br />Rounds: 10<br />Used in: MAR-10</English>
|
||||
<German>Kaliber: .338 Lapua Magnum Hartkern<br />Schuss: 10<br />Verwendet für: MAR-10</German>
|
||||
<Polish>Kaliber: .338 Lapua Magnum AP<br />Pociski: 10<br />Używany w: MAR-10</Polish>
|
||||
<Spanish>Calibre: .338 Lapua Magnum AP<br />Balas: 10<br />Se usa en: MAR-10</Spanish>
|
||||
</Key>
|
||||
<!-- .338 Norma Magnum -->
|
||||
<Key ID="STR_ACE_130Rnd_338_Mag_TracerName">
|
||||
<English>.338 NM 130Rnd Tracer Belt</English>
|
||||
<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">
|
||||
@ -470,18 +451,21 @@
|
||||
<German>.338 NM Leuchtspur</German>
|
||||
<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<br />Rounds: 130<br />Used in: SPMG</English>
|
||||
<German>Kaliber: .338 Norma Magnum Leuchtspur<br />Schuss: 130<br />Verwendet für: SPMG</German>
|
||||
<Polish>Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG</Polish>
|
||||
<French>Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG</French>
|
||||
<Spanish>Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />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">
|
||||
@ -489,18 +473,21 @@
|
||||
<German>.338 LM IR-DIM</German>
|
||||
<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<br />Rounds: 130<br />Used in: SPMG</English>
|
||||
<German>Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Schuss: 130<br />Verwendet für: SPMG</German>
|
||||
<Polish>Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG</Polish>
|
||||
<French>Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG</French>
|
||||
<Spanish>Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />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">
|
||||
@ -508,12 +495,14 @@
|
||||
<German>.338 NM AP</German>
|
||||
<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<br />Rounds: 130<br />Used in: SPMG</English>
|
||||
<German>Kaliber: .338 Norma Magnum Hartkern<br />Schuss: 130<br />Verwendet für: SPMG</German>
|
||||
<Polish>Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG</Polish>
|
||||
<French>Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG</French>
|
||||
<Spanish>Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG</Spanish>
|
||||
</Key>
|
||||
<!-- 9.3x64mm 10Rnd -->
|
||||
@ -521,6 +510,7 @@
|
||||
<English>9.3mm 10Rnd Tracer Mag</English>
|
||||
<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">
|
||||
@ -528,18 +518,21 @@
|
||||
<German>9,3mm Leuchtspur</German>
|
||||
<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<br />Rounds: 10<br />Used in: Cyrus</English>
|
||||
<German>Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus</German>
|
||||
<Polish>Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus</Polish>
|
||||
<French>Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus</French>
|
||||
<Spanish>Calibre: 9.3x64mm trazadora<br />Balas: 10<br />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">
|
||||
@ -547,18 +540,21 @@
|
||||
<German>9,3mm IR-DIM</German>
|
||||
<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<br />Rounds: 10<br />Used in: Cyrus</English>
|
||||
<German>Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: Cyrus</German>
|
||||
<Polish>Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus</Polish>
|
||||
<French>Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus</French>
|
||||
<Spanish>Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />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">
|
||||
@ -566,12 +562,14 @@
|
||||
<German>9,3mm AP</German>
|
||||
<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<br />Rounds: 10<br />Used in: Cyrus</English>
|
||||
<German>Kaliber: 9,3x64mm Hartkern<br />Schuss: 10<br />Verwendet für: Cyrus</German>
|
||||
<Polish>Kaliber: 9,3x64 mm AP<br />Pociski: 10<br />Używany w: Cyrus</Polish>
|
||||
<French>Calibre: 9.3x64mm AP<br />Cartouches: 10<br />Utilisé dans: Cyrus</French>
|
||||
<Spanish>Calibre: 9.3x64mm AP<br />Balas: 10<br />Se usa en: Cyrus</Spanish>
|
||||
</Key>
|
||||
<!-- 9.3x64mm 150Rnd Belt-->
|
||||
@ -579,6 +577,7 @@
|
||||
<English>9.3mm 150Rnd Tracer Belt</English>
|
||||
<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">
|
||||
@ -586,18 +585,21 @@
|
||||
<German>9,3mm Leuchtspur</German>
|
||||
<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<br />Rounds: 150<br />Used in: Navid</English>
|
||||
<German>Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid</German>
|
||||
<Polish>Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid</Polish>
|
||||
<French>Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid</French>
|
||||
<Spanish>Calibre: 9.3x64mm trazadora<br />Balas: 150<br />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">
|
||||
@ -605,18 +607,21 @@
|
||||
<German>9,3mm IR-DIM</German>
|
||||
<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<br />Rounds: 150<br />Used in: Navid</English>
|
||||
<German>Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 150<br />Verwendet für: Navid</German>
|
||||
<Polish>Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid</Polish>
|
||||
<French>Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid</French>
|
||||
<Spanish>Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />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">
|
||||
@ -624,217 +629,327 @@
|
||||
<German>9,3mm AP</German>
|
||||
<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<br />Rounds: 150<br />Used in: Navid</English>
|
||||
<German>Kaliber: 9,3x64mm Hartkern<br />Schuss: 150<br />Verwendet für: Navid</German>
|
||||
<Polish>Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid</Polish>
|
||||
<French>Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid</French>
|
||||
<Spanish>Calibre: 9.3x64mm AP<br />Balas: 150<br />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 16Rnd Mag</English>
|
||||
<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>
|
||||
<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)<br />Rounds: 30</English>
|
||||
<Polish>Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30</Polish>
|
||||
<French>Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30</French>
|
||||
<Spanish>Calibre: 5.56x45 mm NATO (Mk262)<br />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>
|
||||
<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)<br />Rounds: 30</English>
|
||||
<Polish>Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30</Polish>
|
||||
<French>Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30</French>
|
||||
<Spanish>Calibre: 5.56x45 mm NATO (Mk318)<br />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>
|
||||
<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)<br />Rounds: 10</English>
|
||||
<Polish>Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10</Polish>
|
||||
<French>Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10</French>
|
||||
<Spanish>Calibre: 7.62x51 mm NATO (M118LR)<br />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>
|
||||
<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)<br />Rounds: 20</English>
|
||||
<Polish>Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20</Polish>
|
||||
<French>Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20</French>
|
||||
<Spanish>Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name">
|
||||
<English>7.62mm 10Rnd Mag (Mk319 Mod 0)</English>
|
||||
<Polish>Magazynek 7,62mm 10rd (Mk319 Mod 0)</Polish>
|
||||
<French>7.62mm 10Cps (Mk319 Mod 0)</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_NameShort">
|
||||
<English>7.62mm Mk319</English>
|
||||
<Polish>7,62mm Mk319</Polish>
|
||||
<French>7.62mm Mk319</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Description">
|
||||
<English>Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10</English>
|
||||
<Polish>Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10</Polish>
|
||||
<French>Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Name">
|
||||
<English>7.62mm 20Rnd Mag (Mk319 Mod 0)</English>
|
||||
<Polish>Magazynek 7,62mm 20rd (Mk319 Mod 0)</Polish>
|
||||
<French>7.62mm 20Cps (Mk319 Mod 0)</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_NameShort">
|
||||
<English>7.62mm Mk319</English>
|
||||
<Polish>7,62mm Mk319</Polish>
|
||||
<French>7.62mm Mk319</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Description">
|
||||
<English>Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20</English>
|
||||
<Polish>Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20</Polish>
|
||||
<French>Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name">
|
||||
<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)<br />Rounds: 20</English>
|
||||
<Polish>Kaliber: 7,62x51 mm NATO (Mk248 Mod 0)<br />Pociski: 20</Polish>
|
||||
<Polish>Kaliber: 7,62x67 mm NATO (Mk248 Mod 0)<br />Pociski: 20</Polish>
|
||||
<French>Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20</French>
|
||||
<Spanish>Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />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)<br />Rounds: 20</English>
|
||||
<Polish>Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20</Polish>
|
||||
<French>Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20</French>
|
||||
<Spanish>Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />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)<br />Rounds: 20</English>
|
||||
<Polish>Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20</Polish>
|
||||
<French>Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20</French>
|
||||
<Spanish>Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />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)<br />Rounds: 30</English>
|
||||
<French>Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30</French>
|
||||
<Spanish>Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_Name">
|
||||
<English>8.6x70mm 10Rnd Mag (300gr Sierra MatchKing HPBT)</English>
|
||||
<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)<br />Rounds: 10</English>
|
||||
<French>Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10</French>
|
||||
<Spanish>Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_338_API526_Mag_Name">
|
||||
<English>.338 10Rnd Mag (API526)</English>
|
||||
<French>.338 10Cps (API526)</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_338_API526_Mag_NameShort">
|
||||
<English>.338 AP</English>
|
||||
<French>.338 AP</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_10Rnd_338_API526_Mag_Description">
|
||||
<English>Caliber: 8.6x70mm (API526)<br />Rounds: 10</English>
|
||||
<French>Calibre: 8.6x70mm (API526)<br />Cartouches: 10</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_5Rnd_127x99_Mag_Name">
|
||||
<English>12.7x99mm 5Rnd Mag</English>
|
||||
<French>12.7x99mm 5Cps</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_5Rnd_127x99_Mag_NameShort">
|
||||
<English>12.7mm</English>
|
||||
<French>12.7mm</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_5Rnd_127x99_Mag_Description">
|
||||
<English>Caliber: 12.7x99mm<br />Rounds: 5</English>
|
||||
<French>Calibre: 12.7x99mm<br />Cartouches: 5</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_5Rnd_127x99_AMAX_Mag_Name">
|
||||
<English>12.7x99mm 5Rnd Mag (AMAX)</English>
|
||||
<French>12.7x99mm 5Rnd Mag (AMAX)</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_5Rnd_127x99_AMAX_Mag_NameShort">
|
||||
<English>12.7mm</English>
|
||||
<French>12.7mm</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_5Rnd_127x99_AMAX_Mag_Description">
|
||||
<English>Caliber: 12.7x99mm (AMAX)<br />Rounds: 5</English>
|
||||
<French>Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5</French>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -29,11 +29,11 @@ if ((_unit getVariable [QGVAR(isHandcuffed), false]) isEqualTo _state) exitWith
|
||||
if (_state) then {
|
||||
_unit setVariable [QGVAR(isHandcuffed), true, true];
|
||||
[_unit, QGVAR(Handcuffed), true] call EFUNC(common,setCaptivityStatus);
|
||||
|
||||
|
||||
if (_unit getVariable [QGVAR(isSurrendering), false]) then { //If surrendering, stop
|
||||
[_unit, false] call FUNC(setSurrendered);
|
||||
};
|
||||
|
||||
|
||||
//Set unit cargoIndex (will be -1 if dismounted)
|
||||
_unit setVariable [QGVAR(CargoIndex), ((vehicle _unit) getCargoIndex _unit), true];
|
||||
|
||||
@ -47,30 +47,29 @@ if (_state) then {
|
||||
if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then {
|
||||
[_unit] call EFUNC(common,fixLoweredRifleAnimation);
|
||||
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
|
||||
|
||||
|
||||
//Adds an animation changed eh
|
||||
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
|
||||
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
|
||||
PARAMS_2(_unit,_newAnimation);
|
||||
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
|
||||
ERROR("Handcuff animation interrupted");
|
||||
// systemChat format ["debug %2: new %1", _newAnimation, time];
|
||||
TRACE_1("Handcuff animation interrupted",_newAnimation);
|
||||
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
|
||||
};
|
||||
}];
|
||||
_unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID];
|
||||
|
||||
|
||||
};
|
||||
}, [_unit], 0.01, 0] call EFUNC(common,waitAndExecute);
|
||||
} else {
|
||||
_unit setVariable [QGVAR(isHandcuffed), false, true];
|
||||
[_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus);
|
||||
|
||||
//remove AnimChanged EH
|
||||
|
||||
//remove AnimChanged EH
|
||||
_animChangedEHID = _unit getVariable [QGVAR(handcuffAnimEHID), -1];
|
||||
_unit removeEventHandler ["AnimChanged", _animChangedEHID];
|
||||
_unit setVariable [QGVAR(handcuffAnimEHID), -1];
|
||||
|
||||
|
||||
if (((vehicle _unit) == _unit) && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
|
||||
//Break out of hands up animation loop
|
||||
[_unit, "ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation);
|
||||
|
@ -51,8 +51,7 @@ if (_state) then {
|
||||
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
|
||||
PARAMS_2(_unit,_newAnimation);
|
||||
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
|
||||
ERROR("Surrender animation interrupted");
|
||||
// systemChat format ["debug %2: new %1", _newAnimation, time];
|
||||
TRACE_1("Surrender animation interrupted",_newAnimation);
|
||||
[_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation);
|
||||
};
|
||||
}];
|
||||
|
@ -71,6 +71,7 @@
|
||||
<Hungarian>Fogoly berakása</Hungarian>
|
||||
<Russian>Загрузить пленного</Russian>
|
||||
<Portuguese>Embarcar Prisioneiro</Portuguese>
|
||||
<Italian>Carica il prigioniero</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_UnloadCaptive">
|
||||
<English>Unload Captive</English>
|
||||
@ -82,6 +83,7 @@
|
||||
<Hungarian>Fogoly kivevése</Hungarian>
|
||||
<Russian>Выгрузить пленного</Russian>
|
||||
<Portuguese>Desembarcar Prisioneiro</Portuguese>
|
||||
<Italian>Scarica il prigioniero</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_CableTie">
|
||||
<English>Cable Tie</English>
|
||||
@ -93,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>
|
||||
@ -105,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>
|
||||
@ -115,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">
|
||||
@ -128,6 +130,7 @@
|
||||
<Hungarian>Motozás</Hungarian>
|
||||
<Russian>Обыскать человека</Russian>
|
||||
<Portuguese>Revistar</Portuguese>
|
||||
<Italian>Perquisisci la persona</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_StartSurrendering">
|
||||
<English>Surrender</English>
|
||||
@ -136,8 +139,9 @@
|
||||
<Spanish>Rendirse</Spanish>
|
||||
<Czech>Vzdát se</Czech>
|
||||
<Polish>Poddaj się</Polish>
|
||||
<Russian>Сдаться в плен</Russian>
|
||||
<Russian>Сдаться</Russian>
|
||||
<Hungarian>Megadás</Hungarian>
|
||||
<Italian>Arreso</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_StopSurrendering">
|
||||
<English>Stop Surrendering</English>
|
||||
@ -146,8 +150,9 @@
|
||||
<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>
|
||||
<Key ID="STR_ACE_Captives_Zeus_OnlyAlive">
|
||||
<English>Only use on alive units</English>
|
||||
@ -158,6 +163,7 @@
|
||||
<Polish>Używaj tylko na żywych jednostkach</Polish>
|
||||
<Russian>Применимо только к живым юнитам</Russian>
|
||||
<Hungarian>Csak élő egységeken használni</Hungarian>
|
||||
<Italian>Si può fare solo su persone vive</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_Zeus_OnlyInfantry">
|
||||
<English>Only use on dismounted inf</English>
|
||||
@ -168,6 +174,7 @@
|
||||
<Polish>Używaj tylko na piechocie poza wszelkimi pojazdami</Polish>
|
||||
<Russian>Применимо только к пехоте вне техники</Russian>
|
||||
<Hungarian>Csak járműben kívül lévő egységeken használni</Hungarian>
|
||||
<Italian>Si può usare solo su fanteria a piedi</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_Zeus_NothingSelected">
|
||||
<English>Nothing under mouse</English>
|
||||
@ -178,6 +185,7 @@
|
||||
<Polish>Nie ma nic pod kursorem</Polish>
|
||||
<Russian>Ничего не выделено</Russian>
|
||||
<Hungarian>Semmi sincs az egér alatt</Hungarian>
|
||||
<Italian>Niente selezionato</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -199,6 +199,8 @@ class ACE_RadioProtocolNoRadio: RadioProtocolBase {
|
||||
Ready[] = {};
|
||||
Waiting[] = {};
|
||||
StandingBy[] = {};
|
||||
RallyUp[] = {};
|
||||
UnderFireE[] = {};
|
||||
/*IAmReady[] = {};
|
||||
ReadyForOrders[] = {};
|
||||
AwaitingOrders[] = {};*/
|
||||
|
@ -1,77 +1,74 @@
|
||||
|
||||
class GVAR(ProgressBar_Dialog) {
|
||||
idd = -1;
|
||||
movingEnable = false;
|
||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];);
|
||||
objects[] = {};
|
||||
idd = -1;
|
||||
movingEnable = false;
|
||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];);
|
||||
objects[] = {};
|
||||
|
||||
class controlsBackground {
|
||||
class Background {
|
||||
idc = -1;
|
||||
moving = 0;
|
||||
font = "TahomaB";
|
||||
text = "";
|
||||
sizeEx = 0;
|
||||
lineSpacing = 0;
|
||||
access = 0;
|
||||
type = 0;
|
||||
style = 0;
|
||||
size = 1;
|
||||
colorBackground[] = {0, 0, 0, 0.0};
|
||||
colorText[] = {0, 0, 0, 0};
|
||||
x = "safezoneX";
|
||||
y = "safezoneY";
|
||||
w = "safezoneW";
|
||||
h = "safezoneH";
|
||||
class controlsBackground {
|
||||
class Background {
|
||||
idc = -1;
|
||||
moving = 0;
|
||||
font = "TahomaB";
|
||||
text = "";
|
||||
sizeEx = 0;
|
||||
lineSpacing = 0;
|
||||
access = 0;
|
||||
type = 0;
|
||||
style = 0;
|
||||
size = 1;
|
||||
colorBackground[] = {0, 0, 0, 0.0};
|
||||
colorText[] = {0, 0, 0, 0};
|
||||
x = "safezoneX";
|
||||
y = "safezoneY";
|
||||
w = "safezoneW";
|
||||
h = "safezoneH";
|
||||
};
|
||||
class Progress: ACE_gui_RscProgress {
|
||||
idc = 1;
|
||||
x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "37.8 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = ".8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorFrame[] = {0,0,0,0.0};
|
||||
colorBar[] = {0.27,0.5,0.31,0.8};
|
||||
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
|
||||
};
|
||||
class Title_Bar : ACE_gui_staticBase {
|
||||
idc = 2;
|
||||
style = 0x22;
|
||||
colorBackground[] = {0, 0, 0, 0};
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
};
|
||||
|
||||
class Progress: ACE_gui_RscProgress {
|
||||
idc = 1;
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "0.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = ".8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
colorFrame[] = {0,0,0,0.0};
|
||||
colorBar[] = {0.27,0.5,0.31,0.8};
|
||||
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
|
||||
};
|
||||
|
||||
class Title_Bar : ACE_gui_staticBase {
|
||||
idc = 2;
|
||||
style = 0x22;
|
||||
colorBackground[] = {0, 0, 0, 0};
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class GVAR(DisableMouse_Dialog) {
|
||||
idd = -1;
|
||||
movingEnable = false;
|
||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];);
|
||||
objects[] = {};
|
||||
class controlsBackground {
|
||||
class Background {
|
||||
idc = -1;
|
||||
moving = 0;
|
||||
font = "TahomaB";
|
||||
text = "";
|
||||
sizeEx = 0;
|
||||
lineSpacing = 0;
|
||||
access = 0;
|
||||
type = 0;
|
||||
style = 0;
|
||||
size = 1;
|
||||
colorBackground[] = {0, 0, 0, 0};//0.5
|
||||
colorText[] = {0, 0, 0, 0};
|
||||
x = "safezoneX";
|
||||
y = "safezoneY";
|
||||
w = "safezoneW";
|
||||
h = "safezoneH";
|
||||
idd = -1;
|
||||
movingEnable = false;
|
||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];);
|
||||
objects[] = {};
|
||||
class controlsBackground {
|
||||
class Background {
|
||||
idc = -1;
|
||||
moving = 0;
|
||||
font = "TahomaB";
|
||||
text = "";
|
||||
sizeEx = 0;
|
||||
lineSpacing = 0;
|
||||
access = 0;
|
||||
type = 0;
|
||||
style = 0;
|
||||
size = 1;
|
||||
colorBackground[] = {0, 0, 0, 0};//0.5
|
||||
colorText[] = {0, 0, 0, 0};
|
||||
x = "safezoneX";
|
||||
y = "safezoneY";
|
||||
w = "safezoneW";
|
||||
h = "safezoneH";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -31,7 +31,11 @@ if (typeName _statement == "STRING") then {
|
||||
|
||||
_name = format ["ACE_Action_%1", _action];
|
||||
|
||||
_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]];
|
||||
_actionsVar = _unit getVariable [_name, [-1, [-1, [], []], objNull]];
|
||||
|
||||
if (_unit != _actionsVar select 2) then { // check if the unit is still valid, fixes respawn issues
|
||||
_actionsVar = [-1, [-1, [], []], objNull];
|
||||
};
|
||||
|
||||
_actionID = _actionsVar select 0;
|
||||
_actions = _actionsVar select 1;
|
||||
@ -65,6 +69,6 @@ if (_actionID == -1) then {
|
||||
_actionID = _unit addAction _addAction;
|
||||
};
|
||||
|
||||
_unit setVariable [_name, [_actionID, [_id, _actionIDs, _actions]], false];
|
||||
_unit setVariable [_name, [_actionID, [_id, _actionIDs, _actions], _unit], false];
|
||||
|
||||
_id
|
||||
|
@ -26,7 +26,7 @@ PARAMS_4(_totalTime,_args,_onFinish,_onFail);
|
||||
DEFAULT_PARAM(4,_localizedTitle,"");
|
||||
DEFAULT_PARAM(5,_condition,{true});
|
||||
DEFAULT_PARAM(6,_exceptions,[]);
|
||||
private ["_player", "_perFrameFunction"];
|
||||
private ["_player", "_perFrameFunction", "_ctrlPos"];
|
||||
|
||||
_player = ACE_player;
|
||||
|
||||
@ -35,14 +35,15 @@ closeDialog 0;
|
||||
createDialog QGVAR(ProgressBar_Dialog);
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetText _localizedTitle;
|
||||
|
||||
if (GVAR(SettingProgressBarLocation) == 1) then {
|
||||
private "_ctrlPos";
|
||||
_ctrlPos = [1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2), 29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2), 38 * (((safezoneW / safezoneH) min 1.2) / 40), 0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)];
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos;
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos;
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0;
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0;
|
||||
};
|
||||
//Adjust position based on user setting:
|
||||
_ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBarTitle));
|
||||
_ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))];
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetPosition _ctrlPos;
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0;
|
||||
_ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBar));
|
||||
_ctrlPos set [1, ((0.1 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))];
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlSetPosition _ctrlPos;
|
||||
(uiNamespace getVariable QGVAR(ctrlProgressBar)) ctrlCommit 0;
|
||||
|
||||
|
||||
_perFrameFunction = {
|
||||
|
@ -23,7 +23,7 @@ if (_id == -1) exitWith {};
|
||||
|
||||
_name = format ["ACE_Action_%1", _action];
|
||||
|
||||
_actionsVar = _unit getVariable [_name, [-1, [-1, [], []]]];
|
||||
_actionsVar = _unit getVariable [_name, [-1, [-1, [], []], objNull]];
|
||||
|
||||
_actionID = _actionsVar select 0;
|
||||
_actions = _actionsVar select 1;
|
||||
@ -32,6 +32,8 @@ _currentID = _actions select 0;
|
||||
_actionIDs = _actions select 1;
|
||||
_actions = _actions select 2;
|
||||
|
||||
if (_unit != _actionsVar select 2) exitWith {};
|
||||
|
||||
_id = _actionIDs find _id;
|
||||
|
||||
if (_id == -1) exitWith {};
|
||||
@ -47,4 +49,4 @@ if (count _actions == 0) then {
|
||||
_actionID = -1;
|
||||
};
|
||||
|
||||
_unit setVariable [_name, [_actionID, [_currentID, _actionIDs, _actions]], false];
|
||||
_unit setVariable [_name, [_actionID, [_currentID, _actionIDs, _actions], _unit], false];
|
||||
|
@ -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>
|
||||
|
@ -7,6 +7,8 @@
|
||||
<Polish>Otwórz ekwipunek</Polish>
|
||||
<Czech>Otevřít inventář</Czech>
|
||||
<Spanish>Abrir inventario</Spanish>
|
||||
<Russian>Открыть инвентарь</Russian>
|
||||
<Italian>Apri l'inventario</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -10,6 +10,7 @@
|
||||
<Spanish>Lanzador utilizado</Spanish>
|
||||
<Hungarian>Elhasznált kilövőcső</Hungarian>
|
||||
<Russian>Отстрелянная труба</Russian>
|
||||
<Italian>Tubo utilizzato</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Disposable_UsedTubeDescription">
|
||||
<English>Used disposable rocket launcher</English>
|
||||
@ -20,6 +21,7 @@
|
||||
<Spanish>Lanzador desechable utilizado</Spanish>
|
||||
<Hungarian>Elhasznált eldobható rakétavető</Hungarian>
|
||||
<Russian>Отстрелянная одноразовая пусковая установка</Russian>
|
||||
<Italian>Lanciarazzi monouso utilizzato</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Disposable_PreloadedMissileDummy">
|
||||
<English>Preloaded Missile Dummy</English>
|
||||
@ -30,6 +32,7 @@
|
||||
<Spanish>Preloaded Missile Dummy</Spanish>
|
||||
<Hungarian>Előtöltött műrakéta</Hungarian>
|
||||
<Russian>Заряженная ракетная пустышка</Russian>
|
||||
<Italian>Missile stupido precaricato</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -44,10 +44,10 @@
|
||||
<Polish>Kod ładunku: %1</Polish>
|
||||
<French>Code explosif: %1</French>
|
||||
<Czech>Kód výbušniny: %1</Czech>
|
||||
<Italian>Codice dell'esplosivo : %1</Italian>
|
||||
<Hungarian>Robbanóanyag kódja: %1</Hungarian>
|
||||
<Portuguese>Código do explosivo: %1</Portuguese>
|
||||
<Russian>Код подрыва: %1</Russian>
|
||||
<Italian>Codice esplosivo: %1</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosives_PlaceAction">
|
||||
<English>Place</English>
|
||||
@ -488,6 +488,7 @@
|
||||
<Spanish>Utilizado para detonar explosivos remotamente al soltarlo.</Spanish>
|
||||
<Hungarian>Robbanóanyagok távoli robbantásához való, elengedéskor gyújt.</Hungarian>
|
||||
<Russian>Используется для дистанционного подрыва, после смерти оператора.</Russian>
|
||||
<Italian>Usato per attivare esplosivi quando rilasciato</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosives_Pickup">
|
||||
<English>Pick up</English>
|
||||
@ -497,6 +498,8 @@
|
||||
<Polish>Podnieś</Polish>
|
||||
<French>Ramasser</French>
|
||||
<Hungarian>Felszedés</Hungarian>
|
||||
<Russian>Поднять</Russian>
|
||||
<Italian>Raccogli</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -10,6 +10,7 @@
|
||||
<Russian>Выключить разлёт осколков</Russian>
|
||||
<French>Désactive la fragmentation</French>
|
||||
<Hungarian>Repeszek letiltása</Hungarian>
|
||||
<Italian>Disattiva la frammentazione</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -106,6 +106,7 @@
|
||||
<Czech>Vypnout pískání v uších</Czech>
|
||||
<Polish>Wyłącz dzwonienie w uszach</Polish>
|
||||
<Hungarian>Fülcsengés letiltása</Hungarian>
|
||||
<Italian>Disabilita il ronzio</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -19,7 +19,7 @@
|
||||
* Action <ARRAY>
|
||||
*
|
||||
* Example:
|
||||
* [VulcanPinch","Vulcan Pinch","",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction;
|
||||
* ["VulcanPinch","Vulcan Pinch","",{_target setDamage 1;},{true},{},[parameters], [0,0,0], 100] call ace_interact_menu_fnc_createAction;
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
@ -10,10 +10,15 @@
|
||||
<Polish>Zawsze wyświetlaj kursor dla własnej interakcji</Polish>
|
||||
<French>Toujours afficher le curseur pour les interactions sur soi-même</French>
|
||||
<Hungarian>Mindig legyen a saját cselekvés kurzorja látható</Hungarian>
|
||||
<Italian>Mostra sempre il cursore per le auto interazioni</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interact_Menu_UseListMenu">
|
||||
<English>Display interaction menus as lists</English>
|
||||
<Spanish>Mostrar los menus de interacción como listas</Spanish>
|
||||
<Russian>Показывать меню взаимодействия в виде списка</Russian>
|
||||
<French>Afficher le menu d'interaction au format liste</French>
|
||||
<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>
|
||||
@ -24,6 +29,7 @@
|
||||
<Polish>Klawisz interakcji</Polish>
|
||||
<French>Touche d'interaction</French>
|
||||
<Hungarian>Cselekvő gomb</Hungarian>
|
||||
<Italian>Tasto interazione</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interact_Menu_SelfInteractKey">
|
||||
<English>Self Interaction Key</English>
|
||||
@ -34,6 +40,7 @@
|
||||
<Polish>Klawisz własnej interakcji</Polish>
|
||||
<French>Touche d'interaction personnelle</French>
|
||||
<Hungarian>Saját cselekvő gomb</Hungarian>
|
||||
<Italian>Tasto per auto interazioni</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interact_Menu_SelfActionsRoot">
|
||||
<English>Self Actions</English>
|
||||
@ -44,6 +51,7 @@
|
||||
<Polish>Własne akcje</Polish>
|
||||
<French>Interaction personnelle</French>
|
||||
<Hungarian>Saját cselekvések</Hungarian>
|
||||
<Italian>Auto interazioni</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interact_Menu_VehicleActionsRoot">
|
||||
<English>Vehicle Actions</English>
|
||||
@ -54,6 +62,7 @@
|
||||
<Polish>Akcje pojazdu</Polish>
|
||||
<French>Interaction véhicule</French>
|
||||
<Hungarian>Járműves cselekvések</Hungarian>
|
||||
<Italian>Interazioni con veicoli</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -10,6 +10,7 @@
|
||||
<French>Interactions</French>
|
||||
<Russian>Взаимодействия</Russian>
|
||||
<Hungarian>Cselekvések</Hungarian>
|
||||
<Italian>Interazioni</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Torso">
|
||||
<English>Torso</English>
|
||||
@ -20,6 +21,7 @@
|
||||
<Polish>Tors</Polish>
|
||||
<Russian>Торс</Russian>
|
||||
<Hungarian>Testtörzs</Hungarian>
|
||||
<Italian>Torso</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Head">
|
||||
<English>Head</English>
|
||||
@ -30,15 +32,18 @@
|
||||
<Polish>Głowa</Polish>
|
||||
<Russian>Голова</Russian>
|
||||
<Hungarian>Fej</Hungarian>
|
||||
<Italian>Testa</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_ArmLeft">
|
||||
<English>Left Arm</English>
|
||||
<French>Bras gauche</French>
|
||||
<German>Linker Arm</German>
|
||||
<Spanish>Brazo izquierdo</Spanish>
|
||||
<Czech>Levá paže</Czech>
|
||||
<Polish>Lewe ramię</Polish>
|
||||
<Russian>Левая рука</Russian>
|
||||
<Hungarian>Bal kar</Hungarian>
|
||||
<Italian>Braccio sinistro</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_ArmRight">
|
||||
<English>Right Arm</English>
|
||||
@ -49,6 +54,7 @@
|
||||
<French>Bras droit</French>
|
||||
<Russian>Правая рука</Russian>
|
||||
<Hungarian>Jobb kar</Hungarian>
|
||||
<Italian>Braccio destro</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_LegLeft">
|
||||
<English>Left Leg</English>
|
||||
@ -59,6 +65,7 @@
|
||||
<French>Jambe gauche</French>
|
||||
<Russian>Левая нога</Russian>
|
||||
<Hungarian>Bal láb</Hungarian>
|
||||
<Italian>Gamba sinistra</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_LegRight">
|
||||
<English>Right Leg</English>
|
||||
@ -69,6 +76,7 @@
|
||||
<French>Jambe droite</French>
|
||||
<Russian>Правая нога</Russian>
|
||||
<Hungarian>Jobb láb</Hungarian>
|
||||
<Italian>Gamba destra</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Weapon">
|
||||
<English>Weapon</English>
|
||||
@ -79,6 +87,7 @@
|
||||
<Polish>Broń</Polish>
|
||||
<Russian>Оружие</Russian>
|
||||
<Hungarian>Fegyver</Hungarian>
|
||||
<Italian>Arma</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_InteractionMenu">
|
||||
<English>Interaction Menu</English>
|
||||
@ -90,7 +99,7 @@
|
||||
<Russian>Меню взаимодействия</Russian>
|
||||
<Hungarian>Cselekvő menü</Hungarian>
|
||||
<Portuguese>Menu de Interação</Portuguese>
|
||||
<Italian>Menù Interattivo</Italian>
|
||||
<Italian>Menù interazione</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_InteractionMenuSelf">
|
||||
<English>Interaction Menu (Self)</English>
|
||||
@ -102,7 +111,7 @@
|
||||
<Russian>Меню взаимодействия (с собой)</Russian>
|
||||
<Hungarian>Cselekvő menü (saját) </Hungarian>
|
||||
<Portuguese>Menu de Interação (Individual)</Portuguese>
|
||||
<Italian>Menù Interattivo (Individuale)</Italian>
|
||||
<Italian>Menù interazione (Individuale)</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_OpenDoor">
|
||||
<English>Open / Close Door</English>
|
||||
@ -194,7 +203,7 @@
|
||||
<Spanish>Asumir el liderazgo</Spanish>
|
||||
<Polish>Przejmij dowodzenie</Polish>
|
||||
<Czech>Stát se velitelem</Czech>
|
||||
<French>Devenir Leader</French>
|
||||
<French>Devenir Chef de groupe</French>
|
||||
<Russian>Стать лидером</Russian>
|
||||
<Hungarian>Vezetés átvétele</Hungarian>
|
||||
<Portuguese>Tornar-se Líder</Portuguese>
|
||||
@ -210,7 +219,7 @@
|
||||
<Russian>ТАНЦЕВАТЬ!</Russian>
|
||||
<Hungarian>TÁNC!</Hungarian>
|
||||
<Portuguese>DANCE!</Portuguese>
|
||||
<Italian>Balla!</Italian>
|
||||
<Italian>DANZA!</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_StopDancing">
|
||||
<English>Stop Dancing</English>
|
||||
@ -564,7 +573,7 @@
|
||||
<English>Join Team<br/>Green</English>
|
||||
<German>Team Grün<br/>beitreten</German>
|
||||
<Spanish>Unirse al<br/>equipo verde</Spanish>
|
||||
<French>Rejoindre<br/>Verte</French>
|
||||
<French>Rejoindre<br/>Vert</French>
|
||||
<Polish>Dołącz do<br/>drużyny zielonej</Polish>
|
||||
<Czech>Připojit do<br/>Zeleného týmu</Czech>
|
||||
<Russian>Присоединиться<br/>к зеленой группе</Russian>
|
||||
@ -576,7 +585,7 @@
|
||||
<English>Join Team<br/>Blue</English>
|
||||
<German>Team Blau<br/>beitreten</German>
|
||||
<Spanish>Unirse al<br/>equipo azul</Spanish>
|
||||
<French>Rejoindre<br/>Bleue</French>
|
||||
<French>Rejoindre<br/>Bleu</French>
|
||||
<Polish>Dołącz do<br/>drużyny niebieskiej</Polish>
|
||||
<Czech>Připojit do<br/>Modrého týmu</Czech>
|
||||
<Russian>Присоединиться<br/>к синей группе</Russian>
|
||||
@ -605,7 +614,7 @@
|
||||
<Czech>Připojil ses do %1 týmu</Czech>
|
||||
<Russian>Вы присоединились к группе %1</Russian>
|
||||
<Portuguese>Você uniu-se à Equipe %1</Portuguese>
|
||||
<Italian>Sei entrato nella Squadra %1</Italian>
|
||||
<Italian>Sei entrato nel team %1</Italian>
|
||||
<Hungarian>Csatlakoztál a %1 csapathoz</Hungarian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_LeaveTeam">
|
||||
@ -617,7 +626,7 @@
|
||||
<Czech>Opustit tým</Czech>
|
||||
<Russian>Покинуть группу</Russian>
|
||||
<Portuguese>Deixar Equipe</Portuguese>
|
||||
<Italian>Lascia la Squadra</Italian>
|
||||
<Italian>Lascia il team</Italian>
|
||||
<Hungarian>Csapat elhagyása</Hungarian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_LeftTeam">
|
||||
@ -629,7 +638,7 @@
|
||||
<Czech>Opustil si tým</Czech>
|
||||
<Russian>Вы покинули группу</Russian>
|
||||
<Portuguese>Você deixou a Equipe</Portuguese>
|
||||
<Italian>Hai lasciato la squadra</Italian>
|
||||
<Italian>Hai lasciato il team</Italian>
|
||||
<Hungarian>Elhagytad a csapatot</Hungarian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Pardon">
|
||||
@ -658,13 +667,13 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_ModifierKey">
|
||||
<English>Modifier Key</English>
|
||||
<German>Modifikator Taste</German>
|
||||
<German>Modifikator-Taste</German>
|
||||
<Polish>Modyfikator</Polish>
|
||||
<French>Modifier la touche</French>
|
||||
<Spanish>Tecla modificadora</Spanish>
|
||||
<Russian>Клавиша-модификатор</Russian>
|
||||
<Portuguese>Tecla Modificadora</Portuguese>
|
||||
<Italian>Modifica Tasto</Italian>
|
||||
<Italian>Modifica tasto</Italian>
|
||||
<Hungarian>Módosító billentyű</Hungarian>
|
||||
<Czech>Modifikátor</Czech>
|
||||
</Key>
|
||||
@ -678,6 +687,7 @@
|
||||
<Hungarian>Hatótávolságon kívül</Hungarian>
|
||||
<Polish>Poza zasięgiem</Polish>
|
||||
<Czech>Mimo dosah</Czech>
|
||||
<Italian>Non in raggio</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Equipment">
|
||||
<English>Equipment</English>
|
||||
@ -688,6 +698,7 @@
|
||||
<Czech>Vybavení</Czech>
|
||||
<Hungarian>Felszerelés</Hungarian>
|
||||
<Russian>Снаряжение</Russian>
|
||||
<Italian>Equipaggiamento</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Push">
|
||||
<English>Push</English>
|
||||
@ -698,6 +709,7 @@
|
||||
<Czech>Odstrčit</Czech>
|
||||
<Hungarian>Tolás</Hungarian>
|
||||
<Russian>Толкать</Russian>
|
||||
<Italian>Spingi</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Interact">
|
||||
<English>Interact</English>
|
||||
@ -708,16 +720,18 @@
|
||||
<Polish>Interakcja</Polish>
|
||||
<Spanish>Interactuar</Spanish>
|
||||
<Hungarian>Cselekvés</Hungarian>
|
||||
<Italian>Interagisci</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Passengers">
|
||||
<English>Passengers</English>
|
||||
<German>Fahrzeuginsassen</German>
|
||||
<German>Passagiere</German>
|
||||
<Spanish>Pasajeros</Spanish>
|
||||
<Russian>Пассажиры</Russian>
|
||||
<Czech>Pasažéři</Czech>
|
||||
<Polish>Pasażerowie</Polish>
|
||||
<French>Passagers</French>
|
||||
<Hungarian>Utasok</Hungarian>
|
||||
<Italian>Passeggeri</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -10,6 +10,7 @@
|
||||
<Polish>Powiększ UI ekwipunku</Polish>
|
||||
<French>Agrandir la taille d'affichage de l'inventaire</French>
|
||||
<Hungarian>Legyen a felszerelés menüje nagyobb</Hungarian>
|
||||
<Italian>Ingrandisci il menù inventario</Italian>
|
||||
</Key>
|
||||
<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>
|
||||
@ -20,6 +21,7 @@
|
||||
<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>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>
|
||||
<Hungarian>Alaphelyzetben a kezelőfelület mérete skálázza a felszerelési menüt. Ez az opció engedélyezi a menü felskálázását, de megtartja a betűméreteket, így növelve a láthatóságot.</Hungarian>
|
||||
<Italian>Normalmente il menù inventario è scalato in base alle dimensioni interfaccia. Questa opzione di permette di ingrandirlo ulteriormente ma senza aumentare la dimensione del testo.</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -9,4 +9,10 @@ class Extended_PostInit_EventHandlers {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_post_init));
|
||||
clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_FiredBIS_EventHandlers {
|
||||
class All {
|
||||
ADDON = QUOTE(_this call FUNC(onFired));
|
||||
};
|
||||
};
|
@ -8,6 +8,9 @@ class CfgWeapons {
|
||||
weaponInfoType = "ACE_RscOptics_javelin";
|
||||
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
||||
|
||||
canLock = 1;
|
||||
|
||||
|
||||
lockingTargetSound[] = {"",0,1};
|
||||
lockedTargetSound[] = {"",0,1};
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ class RscInGameUI {
|
||||
idd = 300;
|
||||
controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"};
|
||||
onLoad = QUOTE(_this call FUNC(onOpticLoad));
|
||||
onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];";
|
||||
onUnload = QUOTE(_this call FUNC(onOpticUnload));
|
||||
|
||||
class ACE_javelin_elements_group: RscControlsGroup
|
||||
{
|
||||
|
@ -6,6 +6,7 @@ PREP(lockKeyUp);
|
||||
PREP(cycleFireMode);
|
||||
PREP(showFireMode);
|
||||
|
||||
PREP(onFired);
|
||||
PREP(onOpticLoad);
|
||||
PREP(onOpticDraw);
|
||||
|
||||
|
20
addons/javelin/functions/fnc_onFired.sqf
Normal file
20
addons/javelin/functions/fnc_onFired.sqf
Normal file
@ -0,0 +1,20 @@
|
||||
//#define DEBUG_MODE_FULL
|
||||
#include "script_component.hpp"
|
||||
|
||||
PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
|
||||
|
||||
// Bail on not missile
|
||||
if( _shooter != ACE_player) exitWith { false };
|
||||
|
||||
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith { };
|
||||
|
||||
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
|
||||
if(!isNil "_pfh_handle") then {
|
||||
//[_pfh_handle] call cba_fnc_removePerFrameHandler;
|
||||
//uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
|
||||
|
||||
__JavelinIGUITargeting ctrlShow false;
|
||||
__JavelinIGUITargetingGate ctrlShow false;
|
||||
__JavelinIGUITargetingLines ctrlShow false;
|
||||
__JavelinIGUITargetingConstraints ctrlShow false;
|
||||
};
|
@ -11,18 +11,6 @@ TRACE_1("enter", _this);
|
||||
|
||||
private["_isJavelin", "_args", "_lastTick", "_runTime", "_soundTime", "_lockTime", "_newTarget", "_currentTarget", "_range", "_pos", "_targetArray"];
|
||||
|
||||
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom))
|
||||
|| { (vehicle ACE_player) != ACE_player }
|
||||
) exitWith {
|
||||
__JavelinIGUITargeting ctrlShow false;
|
||||
__JavelinIGUITargetingGate ctrlShow false;
|
||||
__JavelinIGUITargetingLines ctrlShow false;
|
||||
__JavelinIGUITargetingConstraints ctrlShow false;
|
||||
|
||||
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
||||
uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
|
||||
};
|
||||
|
||||
// Reset arguments if we havnt rendered in over a second
|
||||
_args = uiNamespace getVariable[QGVAR(arguments), [] ];
|
||||
if( (count _args) > 0) then {
|
||||
@ -40,6 +28,19 @@ _runTime = _args select 2;
|
||||
_lockTime = _args select 3;
|
||||
_soundTime = _args select 4;
|
||||
_randomLockInterval = _args select 5;
|
||||
_fireDisabledEH = _args select 6;
|
||||
|
||||
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith {
|
||||
__JavelinIGUITargeting ctrlShow false;
|
||||
__JavelinIGUITargetingGate ctrlShow false;
|
||||
__JavelinIGUITargetingLines ctrlShow false;
|
||||
__JavelinIGUITargetingConstraints ctrlShow false;
|
||||
|
||||
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
|
||||
|
||||
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
||||
uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
|
||||
};
|
||||
|
||||
// Find a target within the optic range
|
||||
_newTarget = objNull;
|
||||
@ -106,6 +107,27 @@ if((call CBA_fnc_getFoV) select 1 > 9) then {
|
||||
__JavelinIGUIWFOV ctrlSetTextColor __ColorGreen;
|
||||
};
|
||||
|
||||
FUNC(disableFire) = {
|
||||
_firedEH = _this select 0;
|
||||
|
||||
if(_firedEH < 0 && difficulty > 0) then {
|
||||
_firedEH = [ACE_player, "DefaultAction", {true}, {
|
||||
_canFire = ACE_player getVariable["ace_missileguidance_target", nil];
|
||||
if(!isNil "_canFire") exitWith { false };
|
||||
true
|
||||
}] call EFUNC(common,addActionEventHandler);
|
||||
};
|
||||
_firedEH
|
||||
};
|
||||
FUNC(enableFire) = {
|
||||
_firedEH = _this select 0;
|
||||
|
||||
if(_firedEH > 0 && difficulty > 0) then {
|
||||
[ACE_player, "DefaultAction", _firedEH] call EFUNC(common,removeActionEventHandler);
|
||||
};
|
||||
-1
|
||||
};
|
||||
|
||||
if (isNull _newTarget) then {
|
||||
// No targets found
|
||||
_currentTarget = objNull;
|
||||
@ -120,8 +142,7 @@ if (isNull _newTarget) then {
|
||||
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]; };
|
||||
|
||||
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
|
||||
} else {
|
||||
if (_newTarget distance ACE_player < 2500
|
||||
&& {(call CBA_fnc_getFoV) select 1 > 9}
|
||||
@ -176,7 +197,7 @@ if (isNull _newTarget) then {
|
||||
ACE_player setVariable["ace_missileguidance_target", _currentTarget, false];
|
||||
|
||||
// Allow fire
|
||||
ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0];
|
||||
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
|
||||
|
||||
if(diag_tickTime > _soundTime) then {
|
||||
playSound "ACE_Javelin_Locked";
|
||||
@ -217,7 +238,7 @@ if (isNull _newTarget) then {
|
||||
_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]; };
|
||||
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
|
||||
};
|
||||
};
|
||||
} else {
|
||||
@ -234,7 +255,7 @@ if (isNull _newTarget) then {
|
||||
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]; };
|
||||
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
|
||||
};
|
||||
};
|
||||
|
||||
@ -246,5 +267,6 @@ _args set[1, _currentTarget];
|
||||
_args set[2, _runTime];
|
||||
_args set[3, _lockTime];
|
||||
_args set[4, _soundTime];
|
||||
_args set[6, _fireDisabledEH];
|
||||
|
||||
uiNamespace setVariable[QGVAR(arguments), _args ];
|
@ -25,7 +25,8 @@ uiNameSpace setVariable [QGVAR(arguments),
|
||||
0, // Run Time
|
||||
0, // Lock Time
|
||||
0, // Sound timer
|
||||
(random __LOCKONTIMERANDOM) // random lock time addition
|
||||
(random __LOCKONTIMERANDOM), // random lock time addition
|
||||
-1
|
||||
]
|
||||
];
|
||||
|
||||
|
20
addons/javelin/functions/fnc_onOpticUnload.sqf
Normal file
20
addons/javelin/functions/fnc_onOpticUnload.sqf
Normal file
@ -0,0 +1,20 @@
|
||||
//#define DEBUG_MODE_FULL
|
||||
#include "script_component.hpp"
|
||||
TRACE_1("enter", _this);
|
||||
|
||||
uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];
|
||||
|
||||
_pfh = uiNamespace getVariable["ACE_RscOptics_javelin_PFH", nil ];
|
||||
if(!isNil "_pfh") then {
|
||||
[_pfh] call CBA_fnc_removePerFrameHandler;
|
||||
uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];
|
||||
};
|
||||
|
||||
_args = uiNamespace getVariable[QGVAR(arguments), nil ];
|
||||
if(!isNil "_args") then {
|
||||
_disableFireEH = _args select 6;
|
||||
if(_disableFireEH > 0 && difficulty > 0) then {
|
||||
[ACE_player, "DefaultAction", _disableFireEH] call EFUNC(common,removeActionEventHandler);
|
||||
};
|
||||
uiNameSpace setVariable [QGVAR(arguments),nil];
|
||||
};
|
@ -4,8 +4,8 @@ TRACE_1("enter", _this);
|
||||
|
||||
private["_player", "_currentFireMode"];
|
||||
|
||||
_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "TOP"];
|
||||
if(_currentFireMode == "TOP") then {
|
||||
_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"];
|
||||
if(_currentFireMode == "JAV_TOP") then {
|
||||
__JavelinIGUITop ctrlSetTextColor __ColorGreen;
|
||||
__JavelinIGUIDir ctrlSetTextColor __ColorGray;
|
||||
} else {
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="WEP_JAVELIN">
|
||||
<Key ID="STR_ACE_JAVELIN_LockTarget">
|
||||
@ -10,6 +9,7 @@
|
||||
<Polish>Namierz cel (przytrzymaj)</Polish>
|
||||
<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">
|
||||
@ -20,7 +20,8 @@
|
||||
<Polish>Przełącz tryb ognia</Polish>
|
||||
<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>
|
||||
</Project>
|
||||
|
@ -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">
|
||||
@ -17,33 +16,50 @@
|
||||
<Key ID="STR_ACE_Kestrel_Description">
|
||||
<English>Kestrel 4500 Pocket Weather Tracker</English>
|
||||
<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>
|
||||
<Polish>Otwórz Kestrel 4500</Polish>
|
||||
<Hungarian>Kestrel 4500 elővétele</Hungarian>
|
||||
<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>
|
||||
<Polish>Pokaż Kestrel 4500</Polish>
|
||||
<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>
|
||||
<Polish>Ukryj Kestrel 4500</Polish>
|
||||
<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>
|
||||
<Polish>Otwórz Kestrel 4500</Polish>
|
||||
<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>
|
||||
<Polish>Pokaż Kestrel 4500</Polish>
|
||||
<Russian>Показать Kestrel 4500NV</Russian>
|
||||
<French>Afficher Kestrel 4500</French>
|
||||
<Italian>Mostra Kestrel 4500</Italian>
|
||||
<Spanish>Mostrar Kestrel 4500</Spanish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
if( (count _this) > 2) then {
|
||||
EXPLODE_3_PVT(_this,_shooter,_laserUuid, _localLaserTarget);
|
||||
EXPLODE_3_PVT(_this,_shooter,_laserUuid,_localLaserTarget);
|
||||
|
||||
[_laserUuid] call EFUNC(laser,laserOff);
|
||||
// @TODO: Nou gets to field all tickets about missing lasers.
|
||||
|
@ -10,6 +10,7 @@
|
||||
<Polish>Desygnator laserowy wł.</Polish>
|
||||
<French>Désignateur Laser Allumé</French>
|
||||
<Hungarian>Lézeres Megjelölő Be</Hungarian>
|
||||
<Italian>Designatore laser acceso</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOff">
|
||||
<English>Laser Designator Off</English>
|
||||
@ -20,6 +21,7 @@
|
||||
<Polish>Desygnator laserowy wył.</Polish>
|
||||
<French>Désignateur Laser Éteint</French>
|
||||
<Hungarian>Lézeres Megjelölő Ki</Hungarian>
|
||||
<Italian>Designatore laser spento</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Laserpointer">
|
||||
<Key ID="STR_ACE_Laserpointer_red">
|
||||
@ -11,6 +10,7 @@
|
||||
<Polish>Wskaźnik laserowy (czerwony)</Polish>
|
||||
<Hungarian>Lézer-pointer (piros)</Hungarian>
|
||||
<Spanish>Puntero láser (rojo)</Spanish>
|
||||
<Italian>Puntatore laser (rosso)</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Laserpointer_green">
|
||||
<English>Laser Pointer (green)</English>
|
||||
@ -21,6 +21,7 @@
|
||||
<Polish>Wskaźnik laserowy (zielony)</Polish>
|
||||
<Hungarian>Lézer-pointer (zöld)</Hungarian>
|
||||
<Spanish>Puntero láser (verde)</Spanish>
|
||||
<Italian>Puntatore laser (verde)</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Laserpointer_Description">
|
||||
<English>Emits visible light. </English>
|
||||
@ -31,6 +32,7 @@
|
||||
<Polish>Wydziela widzialne światło.</Polish>
|
||||
<Hungarian>Látható fényt bocsát ki.</Hungarian>
|
||||
<Spanish>Emite luz visible.</Spanish>
|
||||
<Italian>Emette luce visibile</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Laserpointer_useLaser">
|
||||
<English><t color='#9cf953'>Use: </t>Turn Laser ON/OFF</English>
|
||||
@ -48,19 +50,26 @@
|
||||
<English>Laser</English>
|
||||
<German>Laser</German>
|
||||
<Polish>Laser</Polish>
|
||||
<Russian>Лазер</Russian>
|
||||
<French>Laser</French>
|
||||
<Spanish>Laser</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Laserpointer_IRLaser">
|
||||
<English>IR Laser</English>
|
||||
<German>IR-Laser</German>
|
||||
<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>
|
||||
<German>Umschalten Laser / IR-Laser</German>
|
||||
<Polish>Przełącz Laser / Laser IR</Polish>
|
||||
<Russian>Изменить режим Лазер / ИК-лазер</Russian>
|
||||
<French>Changer Laser / Laser IR</French>
|
||||
<Italian>Alterna Laser / IR Laser</Italian>
|
||||
<Spanish>Cambiar Laser / Laser IR</Spanish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
BIN
addons/logistics_wirecutter/sound/wirecut.ogg
Normal file
BIN
addons/logistics_wirecutter/sound/wirecut.ogg
Normal file
Binary file not shown.
@ -82,6 +82,7 @@
|
||||
<Czech>Páskování dokončeno</Czech>
|
||||
<Polish>Przepakowywanie zakończone</Polish>
|
||||
<Hungarian>Újratárazás befejezve</Hungarian>
|
||||
<Italian>Riempi caricatore</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MagazineRepack_RepackInterrupted">
|
||||
<English>Repacking Interrupted</English>
|
||||
@ -92,6 +93,7 @@
|
||||
<Czech>Páskování přerušeno</Czech>
|
||||
<Polish>Przepakowywanie przerwane</Polish>
|
||||
<Hungarian>Újratárazás megszakítva</Hungarian>
|
||||
<Italian>Riempimento interrotto</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_MagazineRepack_RepackedMagazinesCount">
|
||||
<English>%1 Full and %2 Partial</English>
|
||||
@ -102,6 +104,7 @@
|
||||
<Czech>%1 plný a %2 částečně</Czech>
|
||||
<Polish>Pełnych: %1.<br />Częściowo pełnych: %2.</Polish>
|
||||
<Hungarian>%1 teljes és %2 részleges</Hungarian>
|
||||
<Italian>%1 pieno e %2 parziale</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Map">
|
||||
<Key ID="STR_ACE_MapTools_Name">
|
||||
@ -143,6 +142,7 @@
|
||||
<Spanish>Dirección: %1°</Spanish>
|
||||
<Hungarian>Irány: %1</Hungarian>
|
||||
<Russian>Направление: %1°</Russian>
|
||||
<Italian>Direzione : %1°</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler. -->
|
||||
<Project name="ACE">
|
||||
<Package name="Markers">
|
||||
<Key ID="STR_ACE_Markers_MarkerDirection">
|
||||
@ -11,6 +10,7 @@
|
||||
<Spanish>Dirección: %1°</Spanish>
|
||||
<Russian>Направление: %1°</Russian>
|
||||
<Hungarian>Irány: %1°</Hungarian>
|
||||
<Italian>Direzione: %1°</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -40,7 +40,7 @@ if ((_tourniquets select _part) > 0) exitwith {
|
||||
};
|
||||
|
||||
_removeItem = _items select 0;
|
||||
[[_target, _removeItem], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
[[_target, _removeItem, _selectionName], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
|
||||
[_target, _removeItem] call FUNC(addToTriageCard);
|
||||
[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
|
||||
|
@ -13,15 +13,13 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo"];
|
||||
private ["_target", "_tourniquetItem", "_part", "_tourniquets", "_applyingTo", "_selectionName"];
|
||||
_target = _this select 0;
|
||||
_tourniquetItem = _this select 1;
|
||||
_selectionName = _this select 2;
|
||||
|
||||
//[_target,"treatment",format["%1 applied a tourniquet on %2",[_caller] call EFUNC(common,getName),_selectionName]] call FUNC(addActivityToLog);
|
||||
//[_target,_removeItem] call FUNC(addToTriageList);
|
||||
[_target] call FUNC(addToInjuredCollection);
|
||||
|
||||
|
||||
_part = [_selectionName] call FUNC(selectionNameToNumber);
|
||||
|
||||
// Place a tourniquet on the bodypart
|
||||
|
BIN
addons/medical/sounds/Inject.ogg
Normal file
BIN
addons/medical/sounds/Inject.ogg
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -11,6 +11,7 @@
|
||||
<Polish>MicroDAGR GPS</Polish>
|
||||
<French>MicroDAGR GPS</French>
|
||||
<Hungarian>MicroDAGR GPS</Hungarian>
|
||||
<Italian>MicroDAGR GPS</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_itemDescription">
|
||||
<English>MicroDAGR advanced GPS receiver</English>
|
||||
@ -21,6 +22,7 @@
|
||||
<French>Récepteur GPS MicroDAGR</French>
|
||||
<Czech>MicroDAGR pokročílá GPS příjímač</Czech>
|
||||
<Hungarian>MicroDAGR fejlett GPS vevőegység</Hungarian>
|
||||
<Italian>MicroDAGR ricevitore GPS avanzato</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_settingUseMils">
|
||||
<English>Angular Unit:</English>
|
||||
@ -31,6 +33,7 @@
|
||||
<German>Winkeleinheit:</German>
|
||||
<Czech>Úhlová jednotka:</Czech>
|
||||
<Hungarian>Szögmértékegység:</Hungarian>
|
||||
<Italian>Unità angolare:</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_settingMils">
|
||||
<English>Mils</English>
|
||||
@ -41,6 +44,7 @@
|
||||
<French>Mils</French>
|
||||
<Czech>Mils</Czech>
|
||||
<Hungarian>Mil</Hungarian>
|
||||
<Italian>Miglia</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_settingShowWP">
|
||||
<English>Show Waypoints On Map:</English>
|
||||
@ -51,6 +55,7 @@
|
||||
<French>Montrer points de passage sur la carte</French>
|
||||
<Czech>Ukázat waypointy na mapě:</Czech>
|
||||
<Hungarian>Útvonalpontok mutatása a térképen:</Hungarian>
|
||||
<Italian>Mostra waypoint sulla mappa:</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_settingDegrees">
|
||||
<English>Degrees</English>
|
||||
@ -61,13 +66,14 @@
|
||||
<French>Degrés</French>
|
||||
<Czech>Stupně</Czech>
|
||||
<Hungarian>Fok</Hungarian>
|
||||
<Italian>Gradi</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_settingOn">
|
||||
<English>On</English>
|
||||
<Czech>Zapnuto</Czech>
|
||||
<French>Allumé</French>
|
||||
<German>Ein</German>
|
||||
<Italian>Sì</Italian>
|
||||
<Italian>Acceso</Italian>
|
||||
<Polish>Wł.</Polish>
|
||||
<Portuguese>Ativar</Portuguese>
|
||||
<Russian>Вкл.</Russian>
|
||||
@ -79,7 +85,7 @@
|
||||
<Czech>Vypnuto</Czech>
|
||||
<French>Eteint</French>
|
||||
<German>Aus</German>
|
||||
<Italian>No</Italian>
|
||||
<Italian>Spento</Italian>
|
||||
<Polish>Wył.</Polish>
|
||||
<Portuguese>Desativar</Portuguese>
|
||||
<Russian>Выкл.</Russian>
|
||||
@ -95,6 +101,7 @@
|
||||
<German>Koordinaten eingeben:</German>
|
||||
<Czech>Napiš souřadnice:</Czech>
|
||||
<Hungarian>Add meg a rácskoordinátákat:</Hungarian>
|
||||
<Italian>Introduci griglia coordinate:</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_wpEnterName">
|
||||
<English>Name of [%1]</English>
|
||||
@ -105,6 +112,7 @@
|
||||
<French>Nom de %1</French>
|
||||
<Czech>Název [%1]</Czech>
|
||||
<Hungarian>[%1] neve</Hungarian>
|
||||
<Italian>Nome di [%1]</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_controlMGRS">
|
||||
<English>MGRS-New</English>
|
||||
@ -115,6 +123,7 @@
|
||||
<French>Info-MGRS</French>
|
||||
<Czech>MGRS-Nový</Czech>
|
||||
<Hungarian>MGRS-új</Hungarian>
|
||||
<Italian>Nuovo MGRS</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_controlWGD">
|
||||
<English>WGD</English>
|
||||
@ -125,6 +134,7 @@
|
||||
<French>WGD</French>
|
||||
<Czech>WGD</Czech>
|
||||
<Hungarian>WGD</Hungarian>
|
||||
<Italian>WGD</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_controlRange">
|
||||
<English>Range:</English>
|
||||
@ -135,6 +145,7 @@
|
||||
<French>Distance:</French>
|
||||
<Czech>Vzdálenost:</Czech>
|
||||
<Hungarian>Távolság:</Hungarian>
|
||||
<Italian>Distanza:</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_compasDirection">
|
||||
<English>Compass Direction</English>
|
||||
@ -145,6 +156,7 @@
|
||||
<French>Azimut</French>
|
||||
<Czech>Azimut:</Czech>
|
||||
<Hungarian>Irányszög</Hungarian>
|
||||
<Italian>Azimut</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_menuMark">
|
||||
<English>Mark</English>
|
||||
@ -155,6 +167,7 @@
|
||||
<French>Marque</French>
|
||||
<Czech>Označit</Czech>
|
||||
<Hungarian>Jelölés</Hungarian>
|
||||
<Italian>Marca</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_menuWaypoints">
|
||||
<English>Waypoints</English>
|
||||
@ -165,6 +178,7 @@
|
||||
<Polish>Punkty trasy</Polish>
|
||||
<French>Point de passage</French>
|
||||
<Hungarian>Útvonalpontok</Hungarian>
|
||||
<Italian>waypoints</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_menuConnectTo">
|
||||
<English>Connect To</English>
|
||||
@ -175,6 +189,7 @@
|
||||
<Polish>Podłącz do</Polish>
|
||||
<French>Connecter</French>
|
||||
<Hungarian>Csatlakozás</Hungarian>
|
||||
<Italian>Collega a </Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_menuSettings">
|
||||
<English>Settings</English>
|
||||
@ -185,6 +200,7 @@
|
||||
<Czech>Nastavení</Czech>
|
||||
<Polish>Ustawienia</Polish>
|
||||
<Hungarian>Beállítások</Hungarian>
|
||||
<Italian>Impostaizoni</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_waypointsSet">
|
||||
<English>SetWP</English>
|
||||
@ -195,6 +211,7 @@
|
||||
<Polish>UstawPT</Polish>
|
||||
<French>Définir point de passage</French>
|
||||
<Hungarian>UP Beállítása</Hungarian>
|
||||
<Italian>Definisci WayPoints</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_waypointsAdd">
|
||||
<English>Add</English>
|
||||
@ -205,6 +222,7 @@
|
||||
<Polish>Dodaj</Polish>
|
||||
<French>Ajouter</French>
|
||||
<Hungarian>Hozzáadás</Hungarian>
|
||||
<Italian>Aggiungi</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_waypointsDelete">
|
||||
<English>Delete</English>
|
||||
@ -226,6 +244,7 @@
|
||||
<French>Basculer le mode d'affichage MicroDAGR</French>
|
||||
<Czech>Přepnout zobrazení MircroDAGRu</Czech>
|
||||
<Hungarian>MicroDAGR kijelzési mód váltása</Hungarian>
|
||||
<Italian>Alterna modalità display MicroDAGR</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_show">
|
||||
<English>Show MicoDAGR</English>
|
||||
@ -236,6 +255,7 @@
|
||||
<Polish>Pokaż<br />MicroDAGR</Polish>
|
||||
<French>Afficher MicroDAGR</French>
|
||||
<Hungarian>MicroDAGR mutatása</Hungarian>
|
||||
<Italian>Mostra MicroDAGR</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_configure">
|
||||
<English>Configure MicroDAGR</English>
|
||||
@ -246,6 +266,7 @@
|
||||
<Polish>Konfiguruj<br />MicroDAGR</Polish>
|
||||
<French>Configurer MicroDAGR</French>
|
||||
<Hungarian>MicroDAGR konfigurálása</Hungarian>
|
||||
<Italian>ConfiguraMicroDAGR</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_microdagr_closeUnit">
|
||||
<English>Close MicroDAGR</English>
|
||||
@ -256,6 +277,7 @@
|
||||
<Polish>Zamknij<br />MicroDAGR</Polish>
|
||||
<French>Fermer MicroDAGR</French>
|
||||
<Hungarian>MicroDAGR elrejtése</Hungarian>
|
||||
<Italian>Chiudi MicroDAGR</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -50,6 +50,8 @@ class CfgAmmo {
|
||||
//maxDeflection = 0.5;
|
||||
//incDeflection = 0.005;
|
||||
|
||||
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
|
||||
|
||||
// Guidance type for munitions
|
||||
defaultSeekerType = "SALH";
|
||||
seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" };
|
||||
@ -120,6 +122,8 @@ class CfgAmmo {
|
||||
//maxDeflection = 0.5;
|
||||
//incDeflection = 0.005;
|
||||
|
||||
canVanillaLock = 0;
|
||||
|
||||
// Guidance type for munitions
|
||||
defaultSeekerType = "Optic";
|
||||
seekerTypes[] = { "Optic" };
|
||||
|
@ -48,12 +48,12 @@ switch( (_state select 0) ) do {
|
||||
if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then {
|
||||
_state set[0, STAGE_TERMINAL];
|
||||
} else {
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2];
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*1.5];
|
||||
};
|
||||
};
|
||||
case STAGE_TERMINAL: {
|
||||
TRACE_1("STAGE_TERMINAL","");
|
||||
//_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02];
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.002];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -48,24 +48,29 @@ switch( (_state select 0) ) do {
|
||||
_cruisAlt = 140 * (_distanceShooterToTarget/1250);
|
||||
TRACE_1("_cruisAlt", _cruisAlt);
|
||||
};
|
||||
|
||||
if( ((ASLToATL _projectilePos) select 2) - ((ASLToATL _seekerTargetPos) select 2) >= _cruisAlt) then {
|
||||
_state set[0, STAGE_COAST];
|
||||
if(_cruisAlt < 140) then {
|
||||
_state set[0, STAGE_TERMINAL];
|
||||
} else {
|
||||
_state set[0, STAGE_COAST];
|
||||
};
|
||||
} else {
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*2];
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget*1.5];
|
||||
};
|
||||
};
|
||||
case STAGE_COAST: {
|
||||
TRACE_1("STAGE_COAST","");
|
||||
TRACE_1("", ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) );
|
||||
if(_distanceShooterToTarget < 1250 || _distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then {
|
||||
if(_distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then {
|
||||
_state set[0, STAGE_TERMINAL];
|
||||
} else {
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)];
|
||||
};
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)];
|
||||
};
|
||||
case STAGE_TERMINAL: {
|
||||
TRACE_1("STAGE_TERMINAL","");
|
||||
//_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.02];
|
||||
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,_distanceToTarget * 0.002];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -41,15 +41,14 @@ if ( isNil "_lockMode" || { ! ( _lockMode in (getArray (_config >> "seekerLockMo
|
||||
|
||||
// If we didn't get a target, try to fall back on tab locking
|
||||
if(isNil "_target") then {
|
||||
|
||||
if(!isPlayer _shooter) then {
|
||||
// This was an AI shot, lets still guide it on the AI target
|
||||
_target = _shooter getVariable[QGVAR(vanilla_target), nil];
|
||||
TRACE_1("Detected AI Shooter!", _target);
|
||||
} else {
|
||||
_canUseLock = getNumber (_config >> "canVanillaLock");
|
||||
if(_canUseLock > 0) then {
|
||||
// @TODO: Get vanilla target
|
||||
// @TODO: Get vanilla target
|
||||
if(_canUseLock > 0 || difficulty < 1) then {
|
||||
_vanillaTarget = cursorTarget;
|
||||
|
||||
TRACE_1("Using Vanilla Locking", _vanillaTarget);
|
||||
|
@ -8,7 +8,7 @@
|
||||
<Polish>Zaawansowane naprowadzanie rakiet</Polish>
|
||||
<German>Erweitertes Raketenlenksystem</German>
|
||||
<Czech>Pokročilé řízení střel</Czech>
|
||||
<Italian>Avanzato Missile Guidance</Italian>
|
||||
<Italian>Guida missili avanzata</Italian>
|
||||
<Portuguese>Avançado Missile Guidance</Portuguese>
|
||||
<Hungarian>Fejlett rakétairányító</Hungarian>
|
||||
<Russian>Расширенный ракетой</Russian>
|
||||
@ -20,7 +20,7 @@
|
||||
<Polish>Hydra-70 DAGR</Polish>
|
||||
<German>Hydra-70 DAGR Rackete</German>
|
||||
<Czech>Hydra-70 DAGR</Czech>
|
||||
<Italian></Italian>
|
||||
<Italian>Missile Hydra-70 DAGR</Italian>
|
||||
<Portuguese></Portuguese>
|
||||
<Hungarian>Hydra-70 DAGR rakéta</Hungarian>
|
||||
<Russian></Russian>
|
||||
@ -32,7 +32,7 @@
|
||||
<Polish>DAGR</Polish>
|
||||
<German>DAGR</German>
|
||||
<Czech>DAGR</Czech>
|
||||
<Italian></Italian>
|
||||
<Italian>DAGR</Italian>
|
||||
<Portuguese></Portuguese>
|
||||
<Hungarian>DAGR</Hungarian>
|
||||
<Russian></Russian>
|
||||
@ -44,7 +44,7 @@
|
||||
<Polish>Laserowo naprowadzana rakieta Hydra-70 DAGR</Polish>
|
||||
<German>Hydra-70 DAGR lasergelenkte Rakete</German>
|
||||
<Czech>Hydra-70 DAGR laserem naváděná střela</Czech>
|
||||
<Italian></Italian>
|
||||
<Italian>Hydra-70 DAGR missile guida laser</Italian>
|
||||
<Portuguese></Portuguese>
|
||||
<Hungarian>Hydra-70 DAGR lézer-irányÃtott rakéta</Hungarian>
|
||||
<Russian></Russian>
|
||||
@ -56,7 +56,7 @@
|
||||
<Polish>Hellfire II AGM-114K</Polish>
|
||||
<German>Hellfire II AGM-114K</German>
|
||||
<Czech>Hellfire II AGM-114K</Czech>
|
||||
<Italian></Italian>
|
||||
<Italian>Missile Hellfire II AGM-114K</Italian>
|
||||
<Portuguese></Portuguese>
|
||||
<Hungarian>Hellfire II AGM-114K rakéta</Hungarian>
|
||||
<Russian></Russian>
|
||||
@ -68,7 +68,7 @@
|
||||
<Polish>AGM-114K</Polish>
|
||||
<German>AGM-114K</German>
|
||||
<Czech>AGM-114K</Czech>
|
||||
<Italian></Italian>
|
||||
<Italian>AGM-114K</Italian>
|
||||
<Portuguese></Portuguese>
|
||||
<Hungarian>AGM-114K</Hungarian>
|
||||
<Russian></Russian>
|
||||
@ -80,7 +80,7 @@
|
||||
<Polish>Laserowo naprowadzana rakieta Hellfire II AGM-114K</Polish>
|
||||
<German>Hellfire II AGM-114K Lasergelenkte Rakete</German>
|
||||
<Czech>Hellfire II AGM-114K laserem naváděná střela</Czech>
|
||||
<Italian></Italian>
|
||||
<Italian>Missile guida laser Hellfire II AGM-114K</Italian>
|
||||
<Portuguese></Portuguese>
|
||||
<Hungarian>Hellfire II AGM-114K lézer-irányÃtott rakéta</Hungarian>
|
||||
<Russian></Russian>
|
||||
|
@ -34,6 +34,7 @@
|
||||
<Czech>Vylézt</Czech>
|
||||
<Russian>Подняться</Russian>
|
||||
<Hungarian>Mászás</Hungarian>
|
||||
<Italian>Arrampicati</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Movement_CanNotClimb">
|
||||
<English>Can't climb here</English>
|
||||
@ -44,6 +45,7 @@
|
||||
<Czech>Zde není možné vylézt</Czech>
|
||||
<Russian>Не можете подняться здесь</Russian>
|
||||
<Hungarian>Itt nem tudsz mászni</Hungarian>
|
||||
<Italian>Non puoi arrampicarti qui</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
if (!hasInterface) exitWith {};
|
||||
|
||||
GVAR(ShowNamesTime) = -10;
|
||||
|
||||
// Add keybinds
|
||||
["ACE3", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames",
|
||||
|
@ -9,9 +9,6 @@ PREP(getVehicleData);
|
||||
PREP(initIsSpeaking);
|
||||
PREP(moduleNameTags);
|
||||
PREP(onDraw3d);
|
||||
PREP(onMouseZChanged);
|
||||
PREP(setText);
|
||||
|
||||
GVAR(ShowNamesTime) = -10;
|
||||
|
||||
ADDON = true;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user