diff --git a/ace_advanced_ballistics.dll b/ace_advanced_ballistics.dll index 568e7c16db..3349bb5b38 100644 Binary files a/ace_advanced_ballistics.dll and b/ace_advanced_ballistics.dll differ diff --git a/ace_breakLine.dll b/ace_breakLine.dll index edd00c78eb..428df80092 100644 Binary files a/ace_breakLine.dll and b/ace_breakLine.dll differ diff --git a/ace_fcs.dll b/ace_fcs.dll index 3385e53463..9cef4549c7 100644 Binary files a/ace_fcs.dll and b/ace_fcs.dll differ diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 4d09dac3ef..cd6b75cf97 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -9,6 +9,7 @@ Показать информацию о ветре Afficher les info sur le vent Mostrar información del viento + Windinformationen anzeigen Show Protractor @@ -17,6 +18,7 @@ Показать транспортир Afficher le rapporteur Mostrar transportador + Winkelmesser anzeigen \ No newline at end of file diff --git a/addons/atragmx/RscTitles.hpp b/addons/atragmx/RscTitles.hpp index c421f5df70..905212d5c9 100644 --- a/addons/atragmx/RscTitles.hpp +++ b/addons/atragmx/RscTitles.hpp @@ -133,40 +133,6 @@ class ATragMX_RscListNBox: ATragMX_RscListBox { idcLeft=-1; idcRight=-1; }; -class ATragMX_RscControlsGroup { - type=15; - idc=-1; - style=16; - x=0; - y=0; - w=1; - h=1; - shadow=0; - class VScrollbar { - color[]={1,1,1,0.6}; - width=0.021; - autoScrollSpeed=-1; - autoScrollDelay=5; - autoScrollRewind=0; - shadow=0; - }; - class HScrollbar { - color[]={1,1,1,0.6}; - height=0.028; - shadow=0; - }; - class ScrollBar { - color[]={1,1,1,0.6}; - colorActive[]={1,1,1,1}; - colorDisabled[]={1,1,1,0.3}; - thumb="#(argb,8,8,3)color(1,1,1,1)"; - arrowEmpty="#(argb,8,8,3)color(1,1,1,1)"; - arrowFull="#(argb,8,8,3)color(1,1,1,1)"; - border="#(argb,8,8,3)color(1,1,1,1)"; - }; - class Controls { - }; -}; class ATragMX_RscLineBreak { idc=-1; type=98; @@ -263,7 +229,31 @@ class ATragMX_Display { idc=-1; x=0.55*safezoneW+safezoneX+0.315; }; - + + class TEXT_GUN_FRAME: ATragMX_RscText { + idc=1001; + style=64; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.25; + w=0.0925; + h=0.205; + text=""; + }; + class TEXT_ATMOSPHERE_FRAME: TEXT_GUN_FRAME { + idc=1002; + x=0.550*safezoneW+safezoneX+0.205; + }; + class TEXT_TARGET_FRAME: TEXT_GUN_FRAME { + idc=1003; + x=0.550*safezoneW+safezoneX+0.3; + }; + class TEXT_RESULT_FRAME: TEXT_GUN_FRAME { + idc=1004; + x=0.550*safezoneW+safezoneX+0.11; + y=0.265*safezoneH+safezoneY+0.46; + w=0.2825; + h=0.15; + }; class TEXT_GUN_PROFILE: ATragMX_RscText { idc=1000; x=0.550*safezoneW+safezoneX+0.11; @@ -438,13 +428,13 @@ class ATragMX_Display { text="B"; action=QUOTE(1 call FUNC(change_target_slot)); }; - class TEXT_TARGET_C: TEXT_TARGET_B { + class TEXT_TARGET_C: TEXT_TARGET_A { idc=502; x=0.550*safezoneW+safezoneX+0.2512; text="C"; action=QUOTE(2 call FUNC(change_target_slot)); }; - class TEXT_TARGET_D: TEXT_TARGET_B { + class TEXT_TARGET_D: TEXT_TARGET_A { idc=503; x=0.550*safezoneW+safezoneX+0.2743; text="D"; @@ -511,7 +501,7 @@ class ATragMX_Display { class TEXT_ELEVATION: TEXT_GUN_PROFILE { idc=40; w=0.05; - x=0.550*safezoneW+safezoneX+0.11; + x=0.550*safezoneW+safezoneX+0.115; y=0.265*safezoneH+safezoneY+0.50; text="Elev"; }; @@ -570,7 +560,7 @@ class ATragMX_Display { class TEXT_LEAD: TEXT_GUN { idc=42; w=0.05; - x=0.550*safezoneW+safezoneX+0.11; + x=0.550*safezoneW+safezoneX+0.115; y=0.265*safezoneH+safezoneY+0.57; text="Lead"; action=QUOTE(GVAR(showWind2) = !GVAR(showWind2); call FUNC(update_result); call FUNC(update_target)); @@ -679,6 +669,7 @@ class ATragMX_Display { h=0.45; x=0.550*safezoneW+safezoneX+0.11; y=0.265*safezoneH+safezoneY+0.24; + sizeEx=0.025; colorSelectBackground[]={0.15,0.21,0.23,0.3}; colorSelectBackground2[]={0.15,0.21,0.23,0.3}; onMouseButtonDblClick=QUOTE(true call FUNC(toggle_gun_list)); diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index e5f7dd42d3..574b5a8991 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -5,39 +5,39 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ATRAGMX_PROFILE_NAMESPACE_VERSION && 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, Bullet Diameter, Rifle Twist, 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, 12.7, 38.10, 0.630, 1, "ASM" ], + // Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model + GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0659, -0.0008600, 3.81, 0, 2, 10, 120, 0, 0, 48.28, 12.7, 38.10, 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, 12.7, 38.10, 1.050, 1, "ASM" ], - ["12.7x99mm" , 853, 100, 0.0623, -0.0008600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM" ], + ["12.7x99mm AMAX" , 860, 100, 0.0612, -0.0008600, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 38.10, 1.050, 1, "ASM" ], + ["12.7x99mm" , 853, 100, 0.0623, -0.0008600, 3.81, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM" ], - ["12.7x54mm" , 300, 100, 0.3394, -0.0014000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.60, 12.7, 24.13, 1.050, 1, "ASM" ], + ["12.7x54mm" , 300, 100, 0.3394, -0.0014000, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 24.13, 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, 10.4, 33.02, 0.970, 1, "ASM" ], + [".408 Chey Tac" , 910, 100, 0.0569, -0.0004800, 3.81, 0, 2, 10, 120, 0, 0, 27.15, 10.4, 33.02, 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, 9.30, 35.56, 0.368, 1, "ASM" ], + ["9.3×64mm" , 870, 100, 0.0619, -0.0007500, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 9.30, 35.56, 0.368, 1, "ASM" ], - [".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"], - [".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 0.338, 0.338, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"], - [".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 0.338, 0.338, 120, 0, 0, 16.39, 8.58, 25.40, 0.290, 7, "ICAO"], + [".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"], + [".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"], + [".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 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, 7.80, 25.40, 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, 7.80, 25.40, 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, 7.80, 25.40, 0.368, 7, "ICAO"], + [".300WM Mk248 Mod 0", 900, 100, 0.0584, -0.0008300, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"], + [".300WM Mk248 Mod 1", 867, 100, 0.0611, -0.0008150, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"], + [".300WM Berger OTM" , 853, 100, 0.0622, -0.0007600, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 7.80, 25.40, 0.368, 7, "ICAO"], - ["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"], + ["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 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, 7.82, 25.40, 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, 7.82, 25.40, 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, 7.82, 25.40, 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, 7.82, 25.40, 0.235, 7, "ICAO"], + ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"], + ["7.62x51mm M118LR" , 820, 100, 0.0662, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], + ["7.62x51mm Mk319" , 820, 100, 0.0670, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], + ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"], - ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.970, 6.71, 22.86, 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, 6.71, 22.86, 0.290, 7, "ICAO"], + ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"], + ["6.5x47mm Lapua" , 800, 100, 0.0682, -0.0007710, 3.81, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 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, 5.70, 17.78, 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, 5.70, 17.78, 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, 5.70, 17.78, 0.307, 1, "ASM" ]]; + ["5.56x45mm M855" , 870, 100, 0.0626, -0.0012650, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ], + ["5.56x45mm Mk262" , 820, 100, 0.0671, -0.0011250, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ], + ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ]]; [] call FUNC(clear_user_data); profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; diff --git a/addons/atragmx/functions/fnc_calculate_solution.sqf b/addons/atragmx/functions/fnc_calculate_solution.sqf index 242e2e9c48..2d70e8dca1 100644 --- a/addons/atragmx/functions/fnc_calculate_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_solution.sqf @@ -43,7 +43,7 @@ */ #include "script_component.hpp" -private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude"]; +private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_drag", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude"]; _scopeBaseAngle = _this select 0; _bulletMass = _this select 1; _boreHeight = _this select 2; @@ -136,7 +136,6 @@ 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 = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then { parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed])) } else { diff --git a/addons/atragmx/functions/fnc_change_gun.sqf b/addons/atragmx/functions/fnc_change_gun.sqf index c753f644a4..a401a849e3 100644 --- a/addons/atragmx/functions/fnc_change_gun.sqf +++ b/addons/atragmx/functions/fnc_change_gun.sqf @@ -27,9 +27,9 @@ GVAR(currentGun) = _gunID; lbSetCurSel [6000, GVAR(currentGun)]; -if ((GVAR(scopeUnits) select GVAR(currentScopeUnit)) != "Clicks") then { - GVAR(currentScopeUnit) = GVAR(workingMemory) select 6; -}; +GVAR(currentScopeUnit) = 0 max (GVAR(workingMemory) select 6) min 3; +GVAR(currentScopeClickUnit) = 0 max (GVAR(workingMemory) select 7) min 2; +GVAR(currentScopeClickNumber) = 1 max (GVAR(workingMemory) select 8) min 10; [] call FUNC(update_gun); [] call FUNC(update_gun_ammo_data); diff --git a/addons/atragmx/functions/fnc_clear_user_data.sqf b/addons/atragmx/functions/fnc_clear_user_data.sqf index 10f31741f2..f805ce66b1 100644 --- a/addons/atragmx/functions/fnc_clear_user_data.sqf +++ b/addons/atragmx/functions/fnc_clear_user_data.sqf @@ -29,11 +29,16 @@ profileNamespace setVariable ["ACE_ATragMX_barometricPressure", nil]; profileNamespace setVariable ["ACE_ATragMX_relativeHumidity", nil]; profileNamespace setVariable ["ACE_ATragMX_showWind2", nil]; -profileNamespace setVariable ["latitude", nil]; -profileNamespace setVariable ["directionOfFire", nil]; +profileNamespace setVariable ["ACE_ATragMX_latitude", nil]; +profileNamespace setVariable ["ACE_ATragMX_directionOfFire", nil]; profileNamespace setVariable ["ACE_ATragMX_windSpeed1", nil]; profileNamespace setVariable ["ACE_ATragMX_windSpeed2", nil]; profileNamespace setVariable ["ACE_ATragMX_windDirection", nil]; profileNamespace setVariable ["ACE_ATragMX_inclinationAngle", nil]; profileNamespace setVariable ["ACE_ATragMX_targetSpeed", nil]; profileNamespace setVariable ["ACE_ATragMX_targetRange", nil]; + +profileNamespace setVariable ["ACE_ATragMX_rangeCardStartRange", nil]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardEndRange", nil]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardIncrement", nil]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardCurrentColumn", nil]; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 5be6e4ecb4..1646b0ec25 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -40,6 +40,8 @@ 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); +[GVAR(currentGun), false] call FUNC(change_gun); + { lbAdd [6000, _x select 0]; } forEach GVAR(gunList); diff --git a/addons/atragmx/functions/fnc_cycle_gun_list.sqf b/addons/atragmx/functions/fnc_cycle_gun_list.sqf index 3d4bef70c1..75f54c79fb 100644 --- a/addons/atragmx/functions/fnc_cycle_gun_list.sqf +++ b/addons/atragmx/functions/fnc_cycle_gun_list.sqf @@ -15,4 +15,6 @@ */ #include "script_component.hpp" +if (!(GVAR(showMainPage) || GVAR(showGunList))) exitWith {}; + [(GVAR(currentGun) + (count GVAR(gunList)) + _this) % (count GVAR(gunList)), true] call FUNC(change_gun); diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf index 881f65a6b0..2e613ca9e6 100644 --- a/addons/atragmx/functions/fnc_init.sqf +++ b/addons/atragmx/functions/fnc_init.sqf @@ -18,6 +18,7 @@ GVAR(workingMemory) = +(GVAR(gunList) select 0); GVAR(scopeUnits) = ["MILs", "TMOA", "SMOA", "Clicks"]; +GVAR(scopeClickUnits) = ["TMOA", "SMOA", "MILs"]; GVAR(rangeCardStartRange) = 200; GVAR(rangeCardEndRange) = 2000; @@ -40,6 +41,8 @@ GVAR(currentUnit) = 2; GVAR(currentGun) = 0; GVAR(currentTarget) = 0; GVAR(currentScopeUnit) = 0; +GVAR(currentScopeClickUnit) = 2; +GVAR(currentScopeClickNumber) = 10; GVAR(atmosphereModeTBH) = true; GVAR(altitude) = 0; diff --git a/addons/atragmx/functions/fnc_parse_input.sqf b/addons/atragmx/functions/fnc_parse_input.sqf index aa77fc8111..ca289302c9 100644 --- a/addons/atragmx/functions/fnc_parse_input.sqf +++ b/addons/atragmx/functions/fnc_parse_input.sqf @@ -17,9 +17,9 @@ GVAR(altitude) = -1000 max parseNumber(ctrlText 130030) min 20000; GVAR(temperature) = -50 max parseNumber(ctrlText 130040) min 160; -GVAR(barometricPressure) = 0 max parseNumber(ctrlText 130050) min 1350; +GVAR(barometricPressure) = 10 max parseNumber(ctrlText 130050) min 1350; GVAR(relativeHumidity) = (0 max parseNumber(ctrlText 130060) min 100) / 100; -if (GVAR(currentUnit) == 1) then { +if (GVAR(currentUnit) != 2) then { GVAR(altitude) = GVAR(altitude) * 0.3048; GVAR(temperature) = (GVAR(temperature) - 32) / 1.8; GVAR(barometricPressure) = GVAR(barometricPressure) * 33.86389; @@ -32,12 +32,12 @@ GVAR(windSpeed1) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 140020 GVAR(windSpeed2) set [GVAR(currentTarget), 0 max abs(parseNumber(ctrlText 140021)) min 50]; GVAR(windDirection) set [GVAR(currentTarget), 1 max Round(parseNumber(ctrlText 140030)) min 12]; _inclinationAngleCosine = 0.5 max parseNumber(ctrlText 140041) min 1; -_inclinationAngleDegree = -60 max parseNumber(ctrlText 140040) min 60; +_inclinationAngleDegree = -60 max round(parseNumber(ctrlText 140040)) min 60; if (_inclinationAngleDegree != GVAR(inclinationAngle) select GVAR(currentTarget)) then { GVAR(inclinationAngle) set [GVAR(currentTarget), _inclinationAngleDegree]; } else { if (_inclinationAngleCosine != Round(cos(GVAR(inclinationAngle) select GVAR(currentTarget)) * 100) / 100) then { - GVAR(inclinationAngle) set [GVAR(currentTarget), acos(_inclinationAngleCosine)]; + GVAR(inclinationAngle) set [GVAR(currentTarget), round(acos(_inclinationAngleCosine))]; }; }; GVAR(targetSpeed) set [GVAR(currentTarget), -50 max abs(parseNumber(ctrlText 140050)) min 50]; diff --git a/addons/atragmx/functions/fnc_restore_user_data.sqf b/addons/atragmx/functions/fnc_restore_user_data.sqf index 6fddc4bed5..54d1f3cd2b 100644 --- a/addons/atragmx/functions/fnc_restore_user_data.sqf +++ b/addons/atragmx/functions/fnc_restore_user_data.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" GVAR(currentUnit) = 0 max (profileNamespace getVariable ["ACE_ATragMX_currentUnit", 2]) min 2; -[profileNamespace getVariable ["ACE_ATragMX_currentGun", 0], false] call FUNC(change_gun); +GVAR(currentGun) = 0 max (profileNamespace getVariable ["ACE_ATragMX_currentGun", 0]); GVAR(currentTarget) = 0 max (profileNamespace getVariable ["ACE_ATragMX_currentTarget", 0]) min 3; GVAR(currentScopeUnit) = 0 max (profileNamespace getVariable ["ACE_ATragMX_currentScopeUnit", 0]) min 3; @@ -35,3 +35,8 @@ GVAR(windDirection) = profileNamespace getVariable ["ACE_ATragMX_windDirection", GVAR(inclinationAngle) = profileNamespace getVariable ["ACE_ATragMX_inclinationAngle", [0, 0, 0, 0]]; GVAR(targetSpeed) = profileNamespace getVariable ["ACE_ATragMX_targetSpeed", [0, 0, 0, 0]]; GVAR(targetRange) = profileNamespace getVariable ["ACE_ATragMX_targetRange", [0, 0, 0, 0]]; + +GVAR(rangeCardStartRange) = 0 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardStartRange", 200]) min 3000; +GVAR(rangeCardEndRange) = 0 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardEndRange", 2000]) min 3000; +GVAR(rangeCardIncrement) = 1 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardIncrement", 50]) min 3000; +GVAR(rangeCardCurrentColumn) = 0 max (profileNamespace getVariable ["ACE_ATragMX_rangeCardCurrentColumn", 3]) min 3; diff --git a/addons/atragmx/functions/fnc_show_main_page.sqf b/addons/atragmx/functions/fnc_show_main_page.sqf index 607527a18e..ed999948b0 100644 --- a/addons/atragmx/functions/fnc_show_main_page.sqf +++ b/addons/atragmx/functions/fnc_show_main_page.sqf @@ -18,7 +18,7 @@ GVAR(showMainPage) = _this; {ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 23, 230, 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]; + 500, 501, 502, 503, 600, 601, 602, 603, 1000, 1001, 1002, 1003, 1004, 2000, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008]; if (_this) then { if (GVAR(atmosphereModeTBH)) then { diff --git a/addons/atragmx/functions/fnc_sord.sqf b/addons/atragmx/functions/fnc_sord.sqf index 650993cff3..a433153c0e 100644 --- a/addons/atragmx/functions/fnc_sord.sqf +++ b/addons/atragmx/functions/fnc_sord.sqf @@ -22,6 +22,6 @@ _slopeDistance = _this select 0; _azimuth = _this select 1; _inclination = _this select 2; -//_inclination = asin((ACE_player weaponDirection currentWeapon ACE_player) select 2); -GVAR(inclinationAngle) set [GVAR(currentTarget), _inclination]; -GVAR(targetRange) set [GVAR(currentTarget), _slopeDistance]; +GVAR(inclinationAngle) set [GVAR(currentTarget), round(_inclination)]; +GVAR(directionOfFire) set [GVAR(currentTarget), round(_azimuth)]; +GVAR(targetRange) set [GVAR(currentTarget), round(_slopeDistance)]; diff --git a/addons/atragmx/functions/fnc_store_user_data.sqf b/addons/atragmx/functions/fnc_store_user_data.sqf index 66207444d2..2045276426 100644 --- a/addons/atragmx/functions/fnc_store_user_data.sqf +++ b/addons/atragmx/functions/fnc_store_user_data.sqf @@ -29,11 +29,16 @@ profileNamespace setVariable ["ACE_ATragMX_barometricPressure", GVAR(barometricP profileNamespace setVariable ["ACE_ATragMX_relativeHumidity", GVAR(relativeHumidity)]; profileNamespace setVariable ["ACE_ATragMX_showWind2", GVAR(showWind2)]; -profileNamespace setVariable ["latitude", GVAR(latitude)]; -profileNamespace setVariable ["directionOfFire", GVAR(directionOfFire)]; +profileNamespace setVariable ["ACE_ATragMX_latitude", GVAR(latitude)]; +profileNamespace setVariable ["ACE_ATragMX_directionOfFire", GVAR(directionOfFire)]; profileNamespace setVariable ["ACE_ATragMX_windSpeed1", GVAR(windSpeed1)]; profileNamespace setVariable ["ACE_ATragMX_windSpeed2", GVAR(windSpeed2)]; profileNamespace setVariable ["ACE_ATragMX_windDirection", GVAR(windDirection)]; profileNamespace setVariable ["ACE_ATragMX_inclinationAngle", GVAR(inclinationAngle)]; profileNamespace setVariable ["ACE_ATragMX_targetSpeed", GVAR(targetSpeed)]; profileNamespace setVariable ["ACE_ATragMX_targetRange", GVAR(targetRange)]; + +profileNamespace setVariable ["ACE_ATragMX_rangeCardStartRange", GVAR(rangeCardStartRange)]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardEndRange", GVAR(rangeCardEndRange)]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardIncrement", GVAR(rangeCardIncrement)]; +profileNamespace setVariable ["ACE_ATragMX_rangeCardCurrentColumn", GVAR(rangeCardCurrentColumn)]; \ No newline at end of file diff --git a/addons/atragmx/functions/fnc_update_atmo_env_data.sqf b/addons/atragmx/functions/fnc_update_atmo_env_data.sqf index 8dcbc89280..7cd34754da 100644 --- a/addons/atragmx/functions/fnc_update_atmo_env_data.sqf +++ b/addons/atragmx/functions/fnc_update_atmo_env_data.sqf @@ -17,18 +17,18 @@ ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 13007); -if (GVAR(currentUnit) != 1) then { +if (GVAR(currentUnit) == 2) then { ctrlSetText [130040, Str(Round(GVAR(temperature) * 10) / 10)]; } else { ctrlSetText [130040, Str(Round((GVAR(temperature) * 1.8 + 32) * 10) / 10)]; }; -if (GVAR(currentUnit) != 1) then { +if (GVAR(currentUnit) == 2) then { ctrlSetText [130050, Str(Round(GVAR(barometricPressure)))]; } else { ctrlSetText [130050, Str(Round(GVAR(barometricPressure) / 33.8638866667 * 100) / 100)]; }; ctrlSetText [130060, Str(Round(GVAR(relativeHumidity) * 100 * 10) / 10)]; -if (GVAR(currentUnit) != 1) then { +if (GVAR(currentUnit) == 2) then { ctrlSetText [130030, Str(Round(GVAR(altitude)))]; } else { ctrlSetText [130030, Str(Round(GVAR(altitude) * 3.2808399))]; diff --git a/addons/atragmx/functions/fnc_update_atmosphere.sqf b/addons/atragmx/functions/fnc_update_atmosphere.sqf index fa555f50e7..be7565bda7 100644 --- a/addons/atragmx/functions/fnc_update_atmosphere.sqf +++ b/addons/atragmx/functions/fnc_update_atmosphere.sqf @@ -15,18 +15,18 @@ */ #include "script_component.hpp" -if (GVAR(currentUnit) != 1) then { +if (GVAR(currentUnit) == 2) then { ctrlSetText [200, Str(Round(GVAR(temperature) * 10) / 10)]; } else { ctrlSetText [200, Str(Round((GVAR(temperature) * 1.8 + 32) * 10) / 10)]; }; -if (GVAR(currentUnit) != 1) then { +if (GVAR(currentUnit) == 2) then { ctrlSetText [210, Str(Round(GVAR(barometricPressure)))]; } else { ctrlSetText [210, Str(Round(GVAR(barometricPressure) / 33.8638866667 * 100) / 100)]; }; ctrlSetText [220, Str(Round(GVAR(relativeHumidity) * 100 * 10) / 10)]; -if (GVAR(currentUnit) != 1) then { +if (GVAR(currentUnit) == 2) then { ctrlSetText [230, Str(Round(GVAR(altitude)))]; } else { ctrlSetText [230, Str(Round(GVAR(altitude) * 3.2808399))]; diff --git a/addons/atragmx/functions/fnc_update_gun.sqf b/addons/atragmx/functions/fnc_update_gun.sqf index f3d173ba11..4ca7338e57 100644 --- a/addons/atragmx/functions/fnc_update_gun.sqf +++ b/addons/atragmx/functions/fnc_update_gun.sqf @@ -36,10 +36,15 @@ if (GVAR(currentUnit) != 2) then { } else { ctrlSetText [130, Str(Round(GVAR(workingMemory) select 1))]; }; -if (GVAR(currentUnit) != 1) then { - ctrlSetText [140, Str(Round(GVAR(workingMemory) select 2))]; -} else { - ctrlSetText [140, Str(Round((GVAR(workingMemory) select 2) * 1.0936133))]; +switch (GVAR(currentUnit)) do { + case 0: { + ctrlSetText [140, format["*%1", Round(GVAR(workingMemory) select 2)]]; + }; + case 1: { + ctrlSetText [140, Str(Round((GVAR(workingMemory) select 2) * 1.0936133))]; + }; + case 2: { + ctrlSetText [140, Str(Round(GVAR(workingMemory) select 2))]; + }; }; - [] call FUNC(update_scope_unit); diff --git a/addons/atragmx/functions/fnc_update_scope_unit.sqf b/addons/atragmx/functions/fnc_update_scope_unit.sqf index 55bb703eee..72efeb772e 100644 --- a/addons/atragmx/functions/fnc_update_scope_unit.sqf +++ b/addons/atragmx/functions/fnc_update_scope_unit.sqf @@ -15,5 +15,10 @@ */ #include "script_component.hpp" -ctrlSetText [2000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; -ctrlSetText [5000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; +if (GVAR(currentScopeUnit) == 3) then { + ctrlSetText [2000, format["Clicks=%1", GVAR(currentScopeClickNumber)]]; + ctrlSetText [5000, format["Clicks=%1", GVAR(currentScopeClickNumber)]]; +} else { + ctrlSetText [2000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; + ctrlSetText [5000, GVAR(scopeUnits) select GVAR(currentScopeUnit)]; +}; diff --git a/addons/atragmx/functions/fnc_update_target.sqf b/addons/atragmx/functions/fnc_update_target.sqf index dab62e099d..ef2ef1de5c 100644 --- a/addons/atragmx/functions/fnc_update_target.sqf +++ b/addons/atragmx/functions/fnc_update_target.sqf @@ -35,8 +35,14 @@ if (GVAR(currentUnit) != 2) then { } else { ctrlSetText [330, Str(Round((GVAR(targetSpeed) select GVAR(currentTarget)) * 100) / 100)]; }; -if (GVAR(currentUnit) == 1) then { - ctrlSetText [340, Str(Round((GVAR(targetRange) select GVAR(currentTarget)) * 1.0936133))]; -} else { - ctrlSetText [340, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; +switch (GVAR(currentUnit)) do { + case 0: { + ctrlSetText [340, format["*%1", Round((GVAR(targetRange) select GVAR(currentTarget)))]]; + }; + case 1: { + ctrlSetText [340, Str(Round((GVAR(targetRange) select GVAR(currentTarget)) * 1.0936133))]; + }; + case 2: { + ctrlSetText [340, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))]; + }; }; diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index 5290ba6a1f..7cd5b44911 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -11,4 +11,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.0 +#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.1 diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index f1cfa25e9a..dd8fe236a7 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -20,12 +20,14 @@ Открыть ATragMX Abrir ATragMX Ouvrir ATragMX + ATragMX öffnen Rugged PDA with ATragMX Przenośny PDA z kalkulatorem balistycznym ATragMX Защищенный КПК с ATragMX PDA rugerizada con ATragMX + Robuster PDA mit ATragMX Open ATragMX @@ -33,6 +35,7 @@ Открыть ATragMX Abrir ATragMX Ouvrir ATragMX + ATragMX öffnen - \ No newline at end of file + diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 4d3b57e944..33eb0d9cac 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -189,7 +189,7 @@ %1<br/>Acoplada %1<br/>attaccata %1<br/>hozzácsatolva - %1<br/>присоединена + %1<br/>присоединен(-а) %1<br/>Detached @@ -201,7 +201,7 @@ %1<br/>Separada %1<br/>staccata %1<br/>lecsatolva - %1<br/>отсоединена + %1<br/>отсоединен(-а) - \ No newline at end of file + diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index eb8e3a25c7..c75ab6339d 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,5 +1,4 @@  - @@ -13,7 +12,7 @@ 6.5mm 30ks Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 6,5mm Caricatore 6.5mm 30Rnd Traccianti IR-DIM - Магазин из 30-ти 6.5 мм трассирующих под ПНВ + Магазин из 30-ти 6,5 мм ИК-трассирующих 6.5mm IR-DIM @@ -25,7 +24,7 @@ 6.5mm IR-DIM 6,5mm IR-DIM 6.5 IR-DIM - 6.5 мм ИК-трассирующие + 6,5 мм ИК-трассирующие Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL @@ -37,7 +36,7 @@ Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL + Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 6.5mm 30Rnd SD Mag @@ -49,7 +48,7 @@ 6.5mm 30ks SD Zásobník Carregador de 30 projéteis SD de 6,5mm Caricatore 6.5mm 30Rnd Sil. - Магазин из 30-ти 6.5 мм дозвуковых + Магазин из 30-ти 6,5 мм дозвуковых 6.5mm SD @@ -61,7 +60,7 @@ 6.5mm SD 6,5mm SD 6.5mm Sil. - 6.5 мм дозвуковые + 6,5 мм дозвуковые Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL @@ -73,7 +72,7 @@ Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL + Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 6.5mm 30Rnd AP Mag @@ -85,7 +84,7 @@ 6.5mm 30ks AP Zásobník Carregador de 30 projéteis AP de 6,5mm Caricatore 6.5mm 30Rnd AP - Магазин из 30-ти 6.5 мм бронебойных + Магазин из 30-ти 6,5 мм бронебойных 6.5mm AP @@ -97,7 +96,7 @@ 6.5mm AP 6,5mm AP 6.5mm AP - 6.5 мм бронебойные + 6,5 мм бронебойные Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL @@ -109,7 +108,7 @@ Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL - Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL + Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL @@ -122,7 +121,7 @@ 6.5mm 30ks Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 6,5mm Caricatore 6.5mm 30Rnd Traccianti IR-DIM - Магазин из 30-ти 6.5 мм трассирующих под ПНВ + Магазин из 30-ти 6,5 мм ИК-трассирующих 6.5mm IR-DIM @@ -134,7 +133,7 @@ 6.5mm IR-DIM 6,5mm IR-DIM 6.5mm IR-DIM - 6.5 мм ИК-трассирующие + 6,5 мм ИК-трассирующие Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba @@ -146,7 +145,7 @@ Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: Katiba + Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: Katiba 6.5mm 30Rnd SD Mag @@ -158,7 +157,7 @@ 6.5mm 30ks SD Zásobník Carregador de 30 projéteis SD de 6,5mm Caricatore 6.5mm 30Rnd Sil. - Магазин из 30-ти 6.5 мм дозвуковых + Магазин из 30-ти 6,5 мм дозвуковых 6.5mm SD @@ -170,7 +169,7 @@ 6.5mm SD 6,5mm SD 6.5mm Sil. - 6.5 мм дозвуковые + 6,5 мм дозвуковые Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba @@ -182,7 +181,7 @@ Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: Katiba + Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: Katiba 6.5mm 30Rnd AP Mag @@ -194,7 +193,7 @@ 6.5mm 30ks AP Zásobník Carregador de 30 projéteis AP de 6,5mm Caricatore 6.5mm 30Rnd AP - Магазин из 30-ти 6.5 мм бронебойных + Магазин из 30-ти 6,5 мм бронебойных 6.5mm AP @@ -206,7 +205,7 @@ 6.5mm AP 6,5mm AP 6.5mm AP - 6.5 мм бронебойные + 6,5 мм бронебойные Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba @@ -218,7 +217,7 @@ Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba - Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: Katiba + Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: Katiba @@ -231,7 +230,7 @@ 5.56mm 30ks Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 5,56mm Caricatore 5.56mm 30rnd Traccianti IR-DIM - Магазин из 30-ти 5.56 мм трассирующих под ПНВ + Магазин из 30-ти 5,56 мм ИК-трассирующих 5.56mm IR-DIM @@ -243,7 +242,7 @@ 5.56mm IR-DIM 5,56mm IR-DIM 5.56mm IR-DIM - 5.56 мм ИК-трассирующие + 5,56 мм ИК-трассирующие Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -255,7 +254,7 @@ Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Калибр: 5,56x45 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR 5.56mm 30Rnd AP Mag @@ -267,7 +266,7 @@ 5.56mm 30ks AP Zásobník Carregador de 30 projéteis AP de 5,56mm Caricatore 5.56mm 30Rnd AP - Магазин из 30-ти 5.56 мм бронебойных + Магазин из 30-ти 5,56 мм бронебойных 5.56mm AP @@ -279,7 +278,7 @@ 5.56mm AP 5,56mm AP 5.56mm AP - 5.56 мм бронебойные + 5,56 мм бронебойные Caliber: 5.56x45 mm AP<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -291,7 +290,7 @@ Ráže: 5.56x45 mm AP<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm AP<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibro: 5.56x45 mm AP<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Калибр: 5.56x45 мм бронебойные<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Калибр: 5,56x45 мм бронебойные<br />Патронов: 30<br />Используются с: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -304,7 +303,7 @@ 7.62mm 20ks Svítící Zásobník Carregador de 20 projéteis traçantes de 7,62mm Caricatore 7.62mm 20Rnd Traccianti - Магазин из 20-ти 7.62 мм трассирующих + Магазин из 20-ти 7,62 мм трассирующих 7.62mm Tracer @@ -316,7 +315,7 @@ 7.62mm Svítící 7,62mm Traçante 7.62mm Traccianti - 7.62 мм трассирущие + 7,62 мм трассирущие Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR @@ -328,7 +327,7 @@ Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм трассирующие<br />Патронов: 20<br />Применимы в: Mk18 ABR + Калибр: 7,62x51 мм трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR 7.62mm 20rnd Tracer IR-DIM Mag @@ -340,7 +339,7 @@ 7.62mm 20ks Svítící IR-DIM Zásobník Carregador de 20 projéteis IR-DIM de 7,62mm Caricatore 7.62mm 20rnd Traccianti IR-DIM - Магазин из 20-ти 7.62 мм трассирующих под ПНВ + Магазин из 20-ти 7,62 мм ИК-трассирующих 7.62mm IR-DIM @@ -352,7 +351,7 @@ 7.62mm IR-DIM 7,62mm IR-DIM 7.62mm IR-DIM - 7.62 мм ИК-трассирующие + 7,62 мм ИК-трассирующие Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR @@ -364,7 +363,7 @@ Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм трассирующие под ПНВ<br />Патронов: 20<br />Применимы в: Mk18 ABR + Калибр: 7,62x51 мм ИК-трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR 7.62mm 20Rnd SD Mag @@ -376,7 +375,7 @@ 7.62mm 20ks SD Zásobník Carregador de 20 projéteis SD de 7,62mm Caricatore 7.62mm 20Rnd Sil. - Магазин из 20-ти 7.62 мм дозвуковых + Магазин из 20-ти 7,62 мм дозвуковых 7.62mm SD @@ -388,7 +387,7 @@ 7.62mm SD 7,62mm SD 7.62mm Sil. - 7.62 мм дозвуковые + 7,62 мм дозвуковые Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR @@ -400,7 +399,7 @@ Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR + Калибр: 7,62x51 мм дозвуковые<br />Патронов: 20<br />Используются с: Mk18 ABR 7.62mm 20Rnd AP Mag @@ -412,7 +411,7 @@ 7.62mm 20ks AP Zásobník Carregador de 20 projéteis AP de 7,62mm Caricatore 7.62mm 20Rnd AP - Магазин из 20-ти 7.62 мм бронебойных + Магазин из 20-ти 7,62 мм бронебойных 7.62mm AP @@ -424,7 +423,7 @@ 7.62mm AP 7,62mm AP 7.62mm AP - 7.62 мм бронебойные + 7,62 мм бронебойные Caliber: 7.62x51 mm AP<br />Rounds: 20<br />Used in: Mk18 ABR @@ -436,7 +435,7 @@ Ráže: 7.62x51 mm AP<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51 mm AP<br />Projéteis: 20<br />Usado em: Mk18 ABR Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR - Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR + Калибр: 7,62x51 мм дозвуковые<br />Патронов: 20<br />Используются с: Mk18 ABR @@ -445,6 +444,7 @@ Taśma .338 NM 130rd Smugacz Bande .338 NM 130Cps Traçante Cinta de 130 balas trazadoras de .338 NM + Лента из 130-ти .338 NM трассирующих .338 NM Tracer @@ -453,6 +453,7 @@ .338 NM Svítící .338 NM Traçante .338 NM trazadora + .338 NM трассирующие Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG @@ -460,6 +461,7 @@ Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG + Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG .338 NM 130Rnd IR-DIM Belt @@ -467,6 +469,7 @@ Taśma .338 NM 130rd IR-DIM Bande .338 NM 130Cps IR-DIM Cinta de 130 balas IR-DIM de .338 NM + Лента из 130-ти .338 NM ИК-трассирующих .338 NM IR-DIM @@ -475,6 +478,7 @@ .338 NM IR-DIM .338 NM IR-DIM .338 NM IR-DIM + .338 NM ИК-трассирующие Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG @@ -482,6 +486,7 @@ Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG + Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG .338 NM 130Rnd AP Belt @@ -489,6 +494,7 @@ Taśma .338 NM 130rd AP Bande .338 NM 130Cps AP Cinta de 130 balas AP de .338 NM + Лента из 130-ти .338 NM бронебойных .338 NM AP @@ -497,6 +503,7 @@ .338 NM AP .338 NM AP .338 NM AP + .338 NM бронебойные Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG @@ -504,6 +511,7 @@ Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG + Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG @@ -512,6 +520,7 @@ Magazynek 9.3mm 10rd Smugacz Chargeur 9.3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm + Магазин из 10-ти 9,3 мм трассирующих 9.3mm Tracer @@ -520,6 +529,7 @@ 9.3mm Svítící 9.3mm Traçante 9.3mm trazadora + 9,3 мм трассирующие Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus @@ -527,6 +537,7 @@ Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus + Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -534,6 +545,7 @@ Magazynek 9,3mm 10rd Smugacz IR-DIM Chargeur 9.3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm + Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm IR-DIM @@ -542,6 +554,7 @@ 9.3mm IR-DIM 9.3mm IR-DIM 9.3mm IR-DIM + 9,3 мм ИК-трассирующие Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -549,6 +562,7 @@ Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus + Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus 9.3mm 10Rnd AP Mag @@ -556,6 +570,7 @@ Magazynek 9,3mm 10rd AP Chargeur 9.3mm 10Cps AP Cargador de 10 balas AP de 9.3mm + Магазин из 10-ти 9,3 мм бронебойных 9.3mm AP @@ -564,6 +579,7 @@ 9.3mm AP 9.3mm AP 9.3mm AP + 9,3 мм бронебойные Caliber: 9.3x64mm AP<br />Rounds: 10<br />Used in: Cyrus @@ -571,6 +587,7 @@ Kaliber: 9,3x64 mm AP<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm AP<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm AP<br />Balas: 10<br />Se usa en: Cyrus + Калибр: 9,3x64 мм бронебойные<br />Патронов: 10<br />Используются с: Cyrus @@ -579,6 +596,7 @@ Taśma 9,3mm 150rd Smugacz Bande 9.3mm 150Cps Traçante Cinta de 150 balas trazadoras de 9.3mm + Лента из 150-ти 9,3 мм трассирующих 9.3mm Tracer @@ -587,6 +605,7 @@ 9.3mm Svítící 9.3mm Traçante 9.3mm trazadora + 9,3 мм трассирующие Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid @@ -594,6 +613,7 @@ Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid + Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид 9.3mm 150Rnd Tracer IR-DIM Belt @@ -601,6 +621,7 @@ Taśma 9,3mm 150rd Smugacz IR-DIM Bande 9.3mm 150Cps Traçante IR-DIM Cinta de 150 balas trazadoras IR-DIM de 9.3mm + Лента из 150-ти 9,3 мм ИК-трассирующих 9.3mm IR-DIM @@ -609,6 +630,7 @@ 9.3mm IR-DIM 9.3mm IR-DIM 9.3mm IR-DIM + 9,3 мм ИК-трассирующие Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid @@ -616,6 +638,7 @@ Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid + Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид 9.3mm 150Rnd AP Belt @@ -623,6 +646,7 @@ Taśma 9,3mm 150rd AP Bande 9.3mm 150Cps AP Cinta de 150 balas AP de 9.3mm + Лента из 150-ти 9,3 мм бронебойных 9.3mm AP @@ -631,6 +655,7 @@ 9.3mm AP 9.3mm AP 9.3mm AP + 9,3 мм бронебойные Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid @@ -638,348 +663,406 @@ Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid + Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид 9x19mm 16Rnd Mag Magazynek 9x19mm 16rd Chargeur 9x19mm 16Cps Cargador de 16 balas de 9x19mm + Магазин из 16-ти 9х19 мм 9x19mm 9x19mm 9x19mm 9x19mm + 9х19 мм 9x19mm 30Rnd Mag Magazynek 9x19mm 16rd 9x19mm 30Cps Cargador de 16 balas de 9x19mm + Магазин из 16-ти 9х19 мм 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd 9x19mm 30Cps Cargador de 30 balas de 9x19mm + Магазин из 30-ти 9х19 мм 9x19mm 9x19mm 9x19mm 9x19mm + 9х19 мм 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd 9x19mm 30Cps Cargador de 30 balas de 9x19mm + Магазин из 30-ти 9х19 мм 7.62x54mm 10Rnd Tracer IR-DIM Mag Magazynek 7,62x54 mm 10rd Smugacz IR-DIM Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm + Магазин из 10-ти 7,62 мм ИК-трассирующих 7.62mm IR-DIM 7,62mm IR-DIM 7.62mm IR-DIM 7.62mm IR-DIM + 7,62 мм ИК-трассирующие 7.62x54mm 10Rnd Tracer IR-DIM Mag Magazynek 7,62x54 mm 10rd Smugacz IR-DIM Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm + Магазин из 10-ти 7,62 мм ИК-трассирующих 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm + Магазин из 100 6,5 мм ИК-трассирующих 6.5mm IR-DIM 6,5mm IR-DIM 6.5mm IR-DIM 6.5mm IR-DIM + 6,5 мм ИК-трассирующие 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm + Магазин из 100 6,5 мм ИК-трассирующих 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM Bande 6.5mm 200Rnd Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm + Магазин из 200-т 6,5 мм ИК-трассирующих 6.5mm IR-DIM 6,5mm IR-DIM 6.5mm IR-DIM 6.5mm IR-DIM + 6,5 мм ИК-трассирующие 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM Bande 6.5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm + Магазин из 200-т 6,5 мм ИК-трассирующих 5.56mm 30Rnd Mag (Mk262) Magazynek 5,56mm 30rd Mk262 5.56mm 30Cps (Mk262) Cargador de 30 balas de 5.56mm (Mk262) + Магазин из 30-ти 5.56 мм Mk262 5.56mm Mk262 5,56mm Mk262 5.56mm Mk262 5.56mm (Mk262) + 5,56 мм Mk262 Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30 Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 + Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd Mk318 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) + Магазин из 30-ти 5.56 мм Mk318 5.56mm Mk318 5,56mm Mk318 5.56mm Mk318 5.56mm (Mk318) + 5.56 мм Mk318 Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30 Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 + Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) + Магазин из 10-ти 7,62 мм (M118LR) 7.62mm M118LR 7,62mm M118LR 7.62mm M118LR 7.62mm (M118LR) + 7,62 мм M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10 Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 + Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) + Магазин из 20-ти 7,62 мм (M118LR) 7.62mm M118LR 7,62mm M118LR 7.62mm M118LR 7.62mm (M118LR) + 7,62 мм M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 + Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) + Магазин из 10-ти 7,62 мм (Mk319 Mod 0) 7.62mm Mk319 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 + 7,62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 + Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) + Магазин из 20-ти 7,62 мм (Mk319 Mod 0) 7.62mm Mk319 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 + 7,62 мм Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 + Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) + Магазин из 20-ти 7,62 мм (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7,62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7,62 мм (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Mk248 Mod 0)<br />Pociski: 20 Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 + Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) + Магазин из 20-ти 7,62 мм (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7,62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) + 7,62 мм (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20 Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 + Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) + Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) 7.62mm (OTM) 7,62mm (OTM) 7.62mm (OTM) 7.62mm (OTM) + 7,62 мм (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 + Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) 6.5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47 mm 30rd (HPBT Scenar) + Магазин из 30-ти 6,5x47 мм (HPBT Scenar) 6.5mm Scenar 6.5mm Scenar 6.5mm Scenar 6,5mm Scenar + 6,5 мм Scenar Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 + Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 .338 10Rnd Mag (300gr Sierra MatchKing HPBT) .338 10 Cps (300gr Sierra MatchKing HPBT) Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) + Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) .338 (HPBT) .338 (HPBT) .338 (HPBT) .338 (HPBT) + .338 (HPBT) Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 + Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 .338 10Rnd Mag (API526) .338 10Cps (API526) Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) + Магазин из 10-ти .338 (API526) .338 AP .338 AP .338 AP .338 AP + .338 бронебойные Caliber: 8.6x70mm (API526)<br />Rounds: 10 Calibre: 8.6x70mm (API526)<br />Cartouches: 10 Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70 mm (API526)<br />Pociski: 10 + Калибр: .338 (API526)<br />Патронов: 10 12.7x99mm 5Rnd Mag 12.7x99mm 5Cps Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99 mm 5rd + Магазин из 5-ти 12,7x99 мм 12.7mm 12.7mm 12.7mm 12,7mm + 12,7 мм Caliber: 12.7x99mm<br />Rounds: 5 Calibre: 12.7x99mm<br />Cartouches: 5 Calibre: 12.7x99mm<br />Balas: 5 Kaliber: 12,7x99 mm<br />Pociski: 5 + Калибр: 12,7x99 мм<br />Патронов: 5 12.7x99mm 5Rnd Mag (AMAX) 12.7x99mm 5Rnd Mag (AMAX) Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99 mm 5rd (AMAX) + Магазин из 5-ти 12,7x99 мм (A-MAX) 12.7mm 12.7mm 12.7mm 12,7mm + 12,7 мм Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5 Calibre: 12.7x99mm (AMAX)<br />Balas: 5 Kaliber: 12,7x99 mm (AMAX)<br />Pociski: 5 + Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 - \ No newline at end of file + diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 27f234970e..2599e12a6d 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -4,6 +4,7 @@ // Load settings from profile if (hasInterface) then { call FUNC(loadSettingsFromProfile); + call FUNC(loadSettingsLocalizedText); }; // Listens for global "SettingChanged" events, to update the force status locally @@ -195,6 +196,31 @@ GVAR(OldPlayerWeapon) = currentWeapon ACE_player; }, 0, []] call cba_fnc_addPerFrameHandler; + +// PFH to raise camera created event. Only works on these cams by BI. +#define ALL_CAMERAS [ \ + missionNamespace getVariable ["BIS_DEBUG_CAM", objNull], \ + missionNamespace getVariable ["BIS_fnc_camera_cam", objNull], \ + uiNamespace getVariable ["BIS_fnc_arsenal_cam", objNull], \ + uiNamespace getVariable ["BIS_fnc_animViewer_cam", objNull], \ + missionNamespace getVariable ["BIS_fnc_establishingShot_fakeUAV", objNull] \ +] + +GVAR(OldIsCamera) = false; + +[{ + + // "activeCameraChanged" event + _isCamera = {!isNull _x} count ALL_CAMERAS > 0; + if !(_isCamera isEqualTo GVAR(OldIsCamera)) then { + // Raise ACE event locally + GVAR(OldIsCamera) = _isCamera; + ["activeCameraChanged", [ACE_player, _isCamera]] call FUNC(localEvent); + }; + +}, 1, []] call cba_fnc_addPerFrameHandler; // feel free to decrease the sleep time if you need it. + + [QGVAR(StateArrested),false,true,QUOTE(ADDON)] call FUNC(defineVariable); ["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler); diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 077d69578b..aebc13df95 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -119,6 +119,7 @@ PREP(loadPerson); PREP(loadPersonLocal); PREP(loadSettingsFromProfile); PREP(loadSettingsOnServer); +PREP(loadSettingsLocalizedText); PREP(map); PREP(moduleCheckPBOs); PREP(moduleLSDVehicles); diff --git a/addons/common/functions/fnc_loadSettingsFromProfile.sqf b/addons/common/functions/fnc_loadSettingsFromProfile.sqf index 69d86eac98..7cb99e3400 100644 --- a/addons/common/functions/fnc_loadSettingsFromProfile.sqf +++ b/addons/common/functions/fnc_loadSettingsFromProfile.sqf @@ -13,6 +13,8 @@ */ #include "script_component.hpp" +private ["_name", "_isClientSetable", "_isForced", "_profileValue"]; + // Iterate through settings { _name = _x select 0; @@ -34,4 +36,5 @@ }; }; }; + } forEach GVAR(settings); diff --git a/addons/common/functions/fnc_loadSettingsLocalizedText.sqf b/addons/common/functions/fnc_loadSettingsLocalizedText.sqf new file mode 100644 index 0000000000..280a1e9907 --- /dev/null +++ b/addons/common/functions/fnc_loadSettingsLocalizedText.sqf @@ -0,0 +1,48 @@ +/* + * Author: Glowbal + * Parse all settings and load the localized displayName and description for all text + * + * Arguments: + * None + * + * Return Value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +private ["_parseConfigForDisplayNames", "_name"]; + +_parseConfigForDisplayNames = { + private "_optionEntry"; + _optionEntry = _this select 0; + if !(isClass _optionEntry) exitwith {false}; + _x set [3, getText (_optionEntry >> "displayName")]; + _x set [4, getText (_optionEntry >> "description")]; + + private "_values"; + _values = _x select 5; + { + private "_text"; + _text = _x; + if (((typeName _text) == "STRING") && {(count _text) > 1} && {(_text select [0,1]) == "$"}) then { + _text = localize (_text select [1, ((count _text) - 1)]); //chop off the leading $ + _values set [_forEachIndex, _text]; + }; + } forEach _values; + true; +}; + + +// Iterate through settings +{ + _name = _x select 0; + + if !([configFile >> "ACE_Settings" >> _name] call _parseConfigForDisplayNames) then { + if !([configFile >> "ACE_ServerSettings" >> _name] call _parseConfigForDisplayNames) then { + [missionConfigFile >> "ACE_Settings" >> _name] call _parseConfigForDisplayNames; + }; + }; + +} forEach GVAR(settings); diff --git a/addons/common/functions/fnc_setSettingFromConfig.sqf b/addons/common/functions/fnc_setSettingFromConfig.sqf index 347320edec..3a1b6fd055 100644 --- a/addons/common/functions/fnc_setSettingFromConfig.sqf +++ b/addons/common/functions/fnc_setSettingFromConfig.sqf @@ -75,9 +75,9 @@ if (isNil _name) then { getNumber (_optionEntry >> "force") > 0, _value ]; - + //Strings in the values array won't be localized from the config, so just do that now: - private "_values"; + /*private "_values"; _values = _settingData select 5; { _text = _x; @@ -85,8 +85,8 @@ if (isNil _name) then { _text = localize (_text select [1, ((count _text) - 1)]); //chop off the leading $ _values set [_forEachIndex, _text]; }; - } forEach _values; - + } forEach _values;*/ + GVAR(settings) pushBack _settingData; diff --git a/addons/disposable/XEH_postInitClient.sqf b/addons/disposable/XEH_postInitClient.sqf new file mode 100644 index 0000000000..c20dfa886b --- /dev/null +++ b/addons/disposable/XEH_postInitClient.sqf @@ -0,0 +1,10 @@ +// by commy2 + +// The Arma InventoryOpened EH fires actually before the inventory dialog is opened (findDisplay 602 => displayNull). + +#include "script_component.hpp" + +["inventoryDisplayLoaded",{ + [ACE_player] call FUNC(takeLoadedATWeapon); + [ACE_player, (_this select 0)] call FUNC(updateInventoryDisplay); +}] call EFUNC(common,addEventHandler); \ No newline at end of file diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 1c704796f8..b02979e279 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -26,14 +26,14 @@ Elengedés - Item to heavy + Item too heavy Gegenstand ist zu schwer Articulo demasiado pesado Przedmiot zbyt ciężki Objet trop lourd Não é possível carregar o item devido a seu peso Non è possibile trascinare l'oggetto a causa del suo peso - Слишком тяжело + Предмет слишком тяжёлый Moc težké Az objektum túl nehéz diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 9d4937ed65..6898274307 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -203,7 +203,7 @@ Consente la disattivazione degli ordigni esplosivi Robbanóanyagok hatástalanítását teszi lehetővé Permite o desarme de explosivos - Позволяет обезвреживать ВУ + Позволяет обезвреживать взрывчатку Add to Speed Dial @@ -215,7 +215,7 @@ Aggiungi alla selezione rapida Hozzáadás a gyorstárcsázóhoz Adicionar à ligação rápida - Добавить в ускоренный набор + Добавить в быстрый вызов Clear @@ -299,7 +299,7 @@ Menù di collocamento Elhelyezési menü Menu de posicionamento - Меню детонации + Меню установки Defuse @@ -395,7 +395,7 @@ Piastra a Pressione Nyomólap Placa de pressão - Давление + Нажимная плита Tripwire @@ -443,7 +443,7 @@ Sensore IR (Attacco laterale) Infravörös szenzor (Side Attack) Sensor infravermelho (ataque lateral) - ИК (детонация вбок) + ИК сенсор (детонация вбок) Magnetic Influence Sensor (Bottom Attack) @@ -455,7 +455,7 @@ Sensore Magnetico di Prossimità (Attacco inferiore) Mágneses mező érzékelő (Bottom Attack) Influência magnética (ataque inferior) - Магнитный (детонация вверх) + Магнитный сенсор (детонация вверх) No explosives on trigger. @@ -467,7 +467,7 @@ Nincs robbanóanyag a gyújtóeszközhöz kötve. Brak ładunków na zapalnik. Nenhum explosivo no gatilho. - Нет доступных ВУ для взрывателя. + Взрыватель не подсоединён к взрывчатке Dead Man's Switch @@ -477,7 +477,7 @@ Czuwak Detonador de hombre muerto Dead Man's Switch - Ловушка мертвеца + Кнопка мертвеца Used to remotely trigger explosives when released. @@ -502,4 +502,4 @@ Raccogli - \ No newline at end of file + diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 7ae1120b17..9bc9063c8d 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -31,7 +31,7 @@ Poner tapones Włóż stopery Dát špunty do uší - Беруши надеты + Надеть беруши Bouchons mis Füldugó berakva Protetores colocados @@ -43,7 +43,7 @@ Quitar tapones Wyjmij stopery Vyndat špunty z uší - Беруши сняты + Снять беруши Bouchons enlevés Füldugó kivéve Protetores retirados @@ -109,4 +109,4 @@ Disabilita il ronzio - \ No newline at end of file + diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 8d4734c8f8..6ed4b41de4 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -25,7 +25,7 @@ _fnc_renderNearbyActions = { _cameraDir = ((positionCameraToWorld [0, 0, 1]) call EFUNC(common,positionToASL)) vectorDiff _cameraPos; _numInteractObjects = 0; - _nearestObjects = nearestObjects [((getPosASL ACE_player) vectorAdd (_cameraDir vectorMultiply 5)) call EFUNC(common,ASLToPosition), ["All"], 8]; + _nearestObjects = nearestObjects [ACE_player, ["All"], 13]; { _target = _x; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index c1999b424b..083a02d0f6 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -5,7 +5,7 @@ Always display cursor for self interaction Immer den Cursor für Selbst-Interaktionen anzeigen. Mostrar siempre el cursor para la interacción propia - Всегда показывать курсор для взаимодействия с собой + Показывать курсор (взаимодействия с собой) Zobrazit kurzor v menu pro vlastní interakci Zawsze wyświetlaj kursor dla własnej interakcji Toujours afficher le curseur pour les interactions sur soi-même @@ -15,10 +15,11 @@ Display interaction menus as lists Mostrar los menus de interacción como listas - Показывать меню взаимодействия в виде списка + Меню взаимодействий в виде списка Afficher le menu d'interaction sous forme de liste Mostra il menù di interazione come lista Wyświetlaj menu interakcji jako listę + Interaktionsmenü in Listen anzeigen Interact Key @@ -65,4 +66,4 @@ Interazioni con veicoli - \ No newline at end of file + diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index f1d1e70f9d..da132cc3f1 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -5,7 +5,7 @@ Make Inventory Display Bigger Erhöhe die angezeigte Inventargröße Hacer la pantalla de inventario mas grande - Сделать окно инвентаря больше + Изменить размер окна инвентаря Zvětšit zobrazení inventáře Powiększ UI ekwipunku Agrandir la taille d'affichage de l'inventaire @@ -16,7 +16,7 @@ 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. Im Regelfall wird die Inventargröße durch die Größe der Nutzeroberfläche bestimmt. Diese Einstellung erlaubt es das Inventar unter Ausschluss der Schriftgröße zu vergrößern. Dadurch können mehr Gegenstände angezeigt werden. Normalmente la pantalla de inventario se escala por el tamaño de la interfaz de usuario. Esto permite ampliar el tamaño de la interfaz de usuario de inventario, pero no aumenta el tamaño de fuente, permitiendo mostrar más filas. - Обычно, окно инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря в пользовательском интерфейсе, не увеличивая размера шрифтов, так что отображется большее количество строк. + Обычно, размер окна инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря, не увеличивая размеры шрифтов, так что отображется большее количество строк. Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. 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. 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 diff --git a/addons/kestrel4500/functions/fnc_generateOutputData.sqf b/addons/kestrel4500/functions/fnc_generateOutputData.sqf index e7679df53f..3e392bd55b 100644 --- a/addons/kestrel4500/functions/fnc_generateOutputData.sqf +++ b/addons/kestrel4500/functions/fnc_generateOutputData.sqf @@ -88,7 +88,7 @@ switch (GVAR(Menu)) do { if (!GVAR(MinAvgMax)) then { if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { _textCenterBig = Str(round(abs(sin(GVAR(RefHeading) - _playerDir) * _windSpeed) * 10) / 10); - _textInfoLine1 = format["%1 m/s @ %2", round((cos(_playerDir - _windDir) * _windSpeed) * 10) / 10, round(_playerDir)]; + _textInfoLine1 = format["%1 m/s @ %2", round((abs(cos(_playerDir - _windDir)) * _windSpeed) * 10) / 10, round(_playerDir)]; } else { _textCenterBig = Str(round(abs(sin(GVAR(RefHeading)) * _windSpeed) * 10) / 10); _textInfoLine1 = format["%1 m/s @ %2", round(_windSpeed * 10) / 10, round(_windDir)]; @@ -120,7 +120,7 @@ switch (GVAR(Menu)) do { if (!GVAR(MinAvgMax)) then { if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { _textCenterBig = Str(round(abs(cos(GVAR(RefHeading) - _playerDir) * _windSpeed) * 10) / 10); - _textInfoLine1 = format["%1 m/s @ %2", round((cos(_playerDir - _windDir) * _windSpeed) * 10) / 10, round(_playerDir)]; + _textInfoLine1 = format["%1 m/s @ %2", round((abs(cos(_playerDir - _windDir)) * _windSpeed) * 10) / 10, round(_playerDir)]; } else { _textCenterBig = Str(round(abs(cos(GVAR(RefHeading)) * _windSpeed) * 10) / 10); _textInfoLine1 = format["%1 m/s @ %2", round(_windSpeed * 10) / 10, round(_windDir)]; diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 4757159ff5..2703e34e9f 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -19,6 +19,7 @@ Карманная метеостанция Kestrel 4500NV Station météo portable Kestrel 4500 Kestrel 4500 Pocket Weather Tracker + Kestrel 4500 Taschenwettermessgerät Open Kestrel 4500 @@ -28,6 +29,7 @@ Ouvrir Kestrel 4500 Accendi Kestrel 4500 Abrir Kestrel 4500 + Kestrel 4500 öffnen Show Kestrel 4500 @@ -36,6 +38,7 @@ Afficher Kestrel 4500 Mostra Kestrel 4500 Mostrar Kestrel 4500 + Kestrel 4500 anzeigen Hide Kestrel 4500 @@ -44,6 +47,7 @@ Cacher Kestrel 4500 Nascondi Kestrel 4500 Esconder Kestrel 4500 + Kestrel 4500 wegstecken Open Kestrel 4500 @@ -52,6 +56,7 @@ Ouvrir Kestrel 4500 Accendi Kestrel 4500 Abrir Kestrel 4500 + Kestrel 4500 öffnen Show Kestrel 4500 @@ -60,6 +65,7 @@ Afficher Kestrel 4500 Mostra Kestrel 4500 Mostrar Kestrel 4500 + Kestrel 4500 anzeigen - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 6be6baf82b..8fa38e24dd 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -42,7 +42,7 @@ <t color='#9cf953'>Uso: </t>Laser ON/OFF <t color='#9cf953'>Użyj: </t>wł./wył. laser <t color='#9cf953'>Uso: </t>Ativar/Desativar laser - <t color='#9cf953'>Использовать: </t>вкл/выкл лазер + <t color='#9cf953'>Использовать: </t>ВКЛ/ВЫКЛ лазер <t color='#9cf953'>Usar: </t>encender/apagar láser <t color='#9cf953'>Használat: </t>Lézer BE/KI kapcsolása @@ -72,4 +72,4 @@ Cambiar Laser / Laser IR - + \ No newline at end of file diff --git a/addons/logistics_wirecutter/CfgSounds.hpp b/addons/logistics_wirecutter/CfgSounds.hpp new file mode 100644 index 0000000000..9958190ec1 --- /dev/null +++ b/addons/logistics_wirecutter/CfgSounds.hpp @@ -0,0 +1,12 @@ +class CfgSounds { + class ACE_Wirecutter_sound { + name = "ACE_wirecutter_sound"; + sound[] = {QUOTE(PATHTOF(sound\wire_cut.ogg)), "db-0", 1}; + titles[] = {}; + }; + class ACE_Wirecutter_sound_long { + name = "ACE_wirecutter_sound_long"; + sound[] = {QUOTE(PATHTOF(sound\wire_cut_long.ogg)), "db-0", 1}; + titles[] = {}; + }; +}; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 66d84c321d..9645aa2289 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,5 +1,4 @@  - @@ -379,7 +378,7 @@ Give Blood IV (1000ml) Bluttransfusion IV (1000ml) Dar Sangre IV (1000ml) - Дать кровь для в/в вливания (1000 мл) + Перелить пакет крови (1000 мл) Podaj krew IV (1000ml) Administrer du sang en IV (1000ml) Podat krev. transfúzi (1000ml) @@ -390,7 +389,7 @@ Give Blood IV (500ml) Bluttransfusion IV (500ml) Dar Sangre IV (500ml) - Дать кровь для в/в вливания (500 мл) + Перелить пакет крови (500 мл) Podaj krew IV (500ml) Administrer du sang en IV (500ml) Podat krev. transfúzi (500ml) @@ -401,7 +400,7 @@ Give Blood IV (250ml) Bluttransfusion IV (250ml) Dar Sangre IV (250ml) - Дать кровь для в/в вливания (250 мл) + Перелить пакет крови (250 мл) Podaj krew IV (250ml) Administrer du sang en IV (250ml) Podat krev. transfúzi (250ml) @@ -412,7 +411,7 @@ Give Plasma IV (1000ml) Plasmatransfusion IV (1000ml) Dar Plasma IV (1000ml) - Дать плазму для в/в вливания (1000 мл) + Перелить пакет плазмы (1000 мл) Podaj osocze IV (1000ml) Administrer du plasma en IV (1000ml) Podat plazmu (1000ml) @@ -423,7 +422,7 @@ Give Plasma IV (500ml) Plasmatransfusion IV (500ml) Dar Plasma IV (500ml) - Дать плазму для в/в вливания (500 мл) + Перелить пакет плазмы (500 мл) Podaj osocze IV (500ml) Administrer du plasma en IV (500ml) Podat plazmu (500ml) @@ -434,7 +433,7 @@ Give Plasma IV (250ml) Plasmatransfusion IV (250ml) Dar Plasma IV (250ml) - Дать плазму для в/в вливания (250 мл) + Перелить пакет плазмы (250 мл) Podaj osocze IV (250ml) Administrer du plasma en IV (250ml) Podat plazmu (250ml) @@ -445,7 +444,7 @@ Give Saline IV (1000ml) Kochsaltzlösung IV (1000ml) Dar Salino IV (1000ml) - Дать физраствор для в/в вливания (1000 мл) + Перелить пакет физраствора (1000 мл) Podaj sól fizjologiczną IV (1000ml) Administrer de la solution saline en IV (1000ml) Podaz fyz. roztok (1000ml) @@ -456,7 +455,7 @@ Give Saline IV (500ml) Kochsaltzlösung IV (500ml) Dar Salino IV (500ml) - Дать физраствор для в/в вливания (500 мл) + Перелить пакет физраствора (500 мл) Podaj sól fizjologiczną IV (500ml) Administrer de la solution saline en IV (500ml) Podaz fyz. roztok (500ml) @@ -467,7 +466,7 @@ Give Saline IV (250ml) Kochsaltzlösung IV (250ml) Dar Salino IV (250ml) - Дать физраствор для в/в вливания (250 мл) + Перелить пакет физраствора (250 мл) Podaj sól fizjologiczną IV (250ml) Administrer de la solution saline en IV (250ml) Podaz fyz. roztok (250ml) @@ -478,7 +477,7 @@ Minor Gering Menor - Незначительная + Легкие ранения Normalny Léger Minimální @@ -488,7 +487,7 @@ Delayed Retrasado - Груз 300 + Средние ранения Opóźniony Différé Verzögert @@ -499,7 +498,7 @@ Immediate Inmediato - Помощь отложена + Тяжелые ранения Natychmiastowy Urgence Immédiate Sofort @@ -510,7 +509,7 @@ Deceased Fallecido - Груз 200 + Труп Nie żyje Décédé Verstorben @@ -521,7 +520,7 @@ None Ninguno - Нет + Отсутствует Brak Aucun Keine @@ -1530,7 +1529,7 @@ Heavily wounded Schwer verwundet: Ciężko ranny - Сильно ранен + Сильные ранения Gravemente ferito Gravemente herido Lourdement blessé @@ -1539,7 +1538,7 @@ Lightly wounded Leicht verwundet: Lekko ranny - Легко ранен + Легкие ранения Leggermente ferito Levemente herido Légèrement blessé @@ -1548,7 +1547,7 @@ Very lightly wounded Sehr leicht verwundet: B. lekko ranny - Очень легко ранен + Царапины Ferito lievemente Muy levemente herido Très légèrement blessé @@ -1557,7 +1556,7 @@ Head Kopf Głowa - Голова + Головы Testa Cabeza Tête @@ -1566,7 +1565,7 @@ Torso Torso Tors - Торс + Торса Torso Torso Torse @@ -1575,7 +1574,7 @@ Left Arm Linker Arm Lewe ramię - Левая рука + Левой руки Braccio sinistro Brazo izquierdo Bras gouche @@ -1584,7 +1583,7 @@ Right Arm Rechter Arm Prawe ramię - Правая рука + Правой руки Braccio destro Brazo derecho Bras droit @@ -1593,7 +1592,7 @@ Left Leg Linkes Bein Lewa noga - Левая нога + Левой ноги Gamba sinistra Pierna izquierda Jambe gauche @@ -1602,7 +1601,7 @@ Right Leg Rechtes Bein Prawa noga - Правая нога + Правой ноги Gamba destra Pierna derecha Jambe droite @@ -1611,7 +1610,7 @@ Pain Effect Type Schmerzeffekt-Typ Rodzaj efektu bólu - Вид боли + Эффект боли Pain Effect Type Tipo de efecto de dolor Type d'effet de douleur @@ -1620,7 +1619,7 @@ Colour Flashing Farbblinken Pulsujące kolory - Разноцветные вспышки + Пульсирующий свет Colore lampeggiante Parpadeo de color Flash de couleur @@ -1635,4 +1634,4 @@ Aberration chromatique - \ No newline at end of file + diff --git a/addons/missileguidance/functions/fnc_handleHandoff.sqf b/addons/missileguidance/functions/fnc_handleHandoff.sqf index 2f1dfac8e7..017a9c0160 100644 --- a/addons/missileguidance/functions/fnc_handleHandoff.sqf +++ b/addons/missileguidance/functions/fnc_handleHandoff.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" PARAMS_2(_target,_args); -if(!local _target) exitWith {}; +if(isNil "_target" || {isNull _target} || {!local _target} ) exitWith { false }; [FUNC(guidancePFH), 0, _args] call cba_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 071b2bbf99..7ada1d4442 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -86,13 +86,20 @@ _args = [_this, // Laser code needs to give us a shooter for LOBL, or the seeker unit needs to be able to shift locality // Based on its homing laser // Lasers need to be handled in a special LOAL/LOBL case -_guidingUnit = ACE_player; -if(local _guidingUnit) then { +//if(isPlayer _shooter) then { +// _guidingUnit = ACE_player; +// +// if(local _guidingUnit) then { +// [FUNC(guidancePFH), 0, _args ] call cba_fnc_addPerFrameHandler; +// } else { +// [QGVAR(handoff), [_guidingUnit, _args] ] call FUNC(doHandoff); +// }; +//} else { [FUNC(guidancePFH), 0, _args ] call cba_fnc_addPerFrameHandler; -} else { - [QGVAR(handoff), [_guidingUnit, _args] ] call FUNC(doHandoff); -}; +//}; + + /* Clears locking settings (vehicle _shooter) setVariable [QGVAR(target), nil]; (vehicle _shooter) setVariable [QGVAR(seekerType), nil]; diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 50c25a7a96..9311ac2c0b 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -12,7 +12,7 @@ Guida missili avanzata Avançado Missile Guidance Fejlett rakétairányító - Расширенный ракетой + Продвинутое наведение ракет Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. @@ -28,7 +28,7 @@ Missile Hydra-70 DAGR Hydra-70 DAGR rakéta - + Hydra-70 DAGR DAGR @@ -40,7 +40,7 @@ DAGR DAGR - + DAGR Hydra-70 DAGR Laser Guided Missile @@ -52,7 +52,7 @@ Hydra-70 DAGR missile guida laser Hydra-70 DAGR lézer-irányított rakéta - + Управляемая ракета лазерного наведения Hydra-70 DAGR Hellfire II AGM-114K Missile @@ -64,7 +64,7 @@ Missile Hellfire II AGM-114K Hellfire II AGM-114K rakéta - + Hellfire II AGM-114K AGM-114K @@ -76,7 +76,7 @@ AGM-114K AGM-114K - + AGM-114K Hellfire II AGM-114K Laser Guided Missile @@ -88,7 +88,7 @@ Missile guida laser Hellfire II AGM-114K Hellfire II AGM-114K lézer-irányított rakéta - + Управляемая ракета лазерного наведения Hellfire II AGM-114K \ No newline at end of file diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 39a87f2ff4..77e10b6ee9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -57,7 +57,7 @@ Mostra i gradi (richiede mostra nomi abilitato) Mostrar patente de jogadores (requer nome de jogadores) Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) - Показать звания игроков (требует имен игроков) + Показывать звания игроков (требует имен игроков) Show vehicle crew info @@ -66,7 +66,7 @@ Mostrar tripulantes Pokaż załogę pojazdu Zobrazit info o posádce vozidla - Показать экипаж + Показывать информацию об экипаже Jármű-legénység adatainak mutatása Mostra le informazioni sull'equipaggio del veicolo @@ -104,4 +104,4 @@ Colore nametag di default (membri non del gruppo) - \ No newline at end of file + diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 20c916104a..a2e24d79df 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -91,7 +91,7 @@ Sistema de visión nocturna (Panorámicas) Gogle noktowizyjne (panoramiczne) Noktovizor (Širokoúhlý) - ПНВ (Широкий) + ПНВ (Широкоугольный) JVN (Large) Éjjellátó szemüveg (széles látószögű) @@ -102,7 +102,7 @@ Czułość: %1 Jas: %1 Luminosité : %1 - Контраст: + Яркость: %1 Fényerő: %1 Luminosidade: %1 Luminosità: %1 @@ -132,4 +132,4 @@ Riduci la luminosità dell'NVG - + \ No newline at end of file diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp index 6d61ff98a2..5aa06f41a0 100644 --- a/addons/optics/CfgWeapons.hpp +++ b/addons/optics/CfgWeapons.hpp @@ -98,7 +98,7 @@ class CfgWeapons { class ACE_optic_Hamr_PIP: ACE_optic_Hamr_2D { author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_optic_Hamr_PIP"; - scopeArsenal = 1; + //scopeArsenal = 1; displayName = "$STR_ACE_optic_hamr_pip"; class ItemInfo: ItemInfo { @@ -147,7 +147,7 @@ class CfgWeapons { class ACE_optic_Arco_PIP: ACE_optic_Arco_2D { author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_optic_Arco_PIP"; - scopeArsenal = 1; + //scopeArsenal = 1; displayName = "$STR_ACE_optic_arco_pip"; class ItemInfo: ItemInfo { @@ -197,7 +197,7 @@ class CfgWeapons { author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_optic_MRCO_PIP"; scope = 1; - scopeArsenal = 1; + //scopeArsenal = 1; displayName = "$STR_ACE_optic_valdada_pip"; class ItemInfo: ItemInfo { @@ -239,7 +239,7 @@ class CfgWeapons { class ACE_optic_SOS_PIP: ACE_optic_SOS_2D { author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_optic_SOS_PIP"; - scopeArsenal = 1; + //scopeArsenal = 1; displayName = "$STR_ACE_optic_sos_pip"; class ItemInfo: ItemInfo { @@ -290,7 +290,7 @@ class CfgWeapons { class ACE_optic_LRPS_PIP: ACE_optic_LRPS_2D { author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_optic_LRPS_PIP"; - scopeArsenal = 1; + //scopeArsenal = 1; displayName = "$STR_ACE_optic_lrps_pip"; class ItemInfo: ItemInfo { diff --git a/addons/optics/XEH_postInit.sqf b/addons/optics/XEH_postInit.sqf index cb3918cbc3..7f68aece74 100644 --- a/addons/optics/XEH_postInit.sqf +++ b/addons/optics/XEH_postInit.sqf @@ -22,3 +22,19 @@ if (!hasInterface) exitWith {}; uiNamespace setVariable [QGVAR(RscWeaponInfo2D), _this select 0]; }; }] call EFUNC(common,addEventHandler); + +// camera has to be re-created every time another camera is created. Otherwise r2t is either black or transparent. @todo Add popular custom cameras to the event in ACE_common. +["activeCameraChanged", { + if !(_this select 1) then { + deleteVehicle GVAR(camera); + + // PiP technique by BadBenson + GVAR(camera) = "camera" camCreate positioncameratoworld [0,0,0]; + GVAR(camera) camSetFov 0.7; + GVAR(camera) camSetTarget ACE_player; + GVAR(camera) camCommit 1; + + "ace_optics_rendertarget0" setPiPEffect [2, 1.0, 1.0, 1.0, 0.0, [0.0, 1.0, 0.0, 0.25], [1.0, 0.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]]; + GVAR(camera) cameraEffect ["INTERNAL", "BACK", "ace_optics_rendertarget0"]; + }; +}] call EFUNC(common,addEventHandler); diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 4bb91688fa..89993dee62 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -137,6 +137,7 @@ Vérifier la température Fegyverhő ellenőrzése Проверить температуру оружия + Waffentemperatur prüfen Checking temperature ... @@ -163,4 +164,4 @@ Температура - + \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 51956670b7..ceaf32c2d8 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -33,7 +33,7 @@ Zkontrolovat Munici Controlla le munizioni Conferir munições - Kонтроль Боеприпасы + Проверить боеприпасы Ammo diff --git a/addons/respawn/functions/fnc_handleKilled.sqf b/addons/respawn/functions/fnc_handleKilled.sqf index c3ab0aebf3..199495d75d 100644 --- a/addons/respawn/functions/fnc_handleKilled.sqf +++ b/addons/respawn/functions/fnc_handleKilled.sqf @@ -29,5 +29,5 @@ if (GVAR(SavePreDeathGear)) then { }; if (missionNamespace getVariable [QGVAR(showFriendlyFireMessage), false]) then { - [_this, FUNC(showFriendlyFireMessage), 2] call EFUNC(common,execRemoteFnc); + [_this, QUOTE(DFUNC(showFriendlyFireMessage)), 2] call EFUNC(common,execRemoteFnc); }; diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8b06099c3a..75f711e20e 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,5 +1,4 @@  - @@ -66,7 +65,7 @@ Rallypoint Independent (Base) Sammelpunkt Widerstand (Basis) Punto de reunión Independiente (Base) - Точка сбора Независимых (База + Точка сбора Независимых (База) Punkt zbiórki Ruchu oporu (Baza) Point de ralliement Indépendant (Base) @@ -95,4 +94,4 @@ Point de ralliement Indépendant - \ No newline at end of file + diff --git a/addons/scopes/functions/fnc_adjustScope.sqf b/addons/scopes/functions/fnc_adjustScope.sqf index a59095d127..d13ff57ffc 100644 --- a/addons/scopes/functions/fnc_adjustScope.sqf +++ b/addons/scopes/functions/fnc_adjustScope.sqf @@ -16,7 +16,7 @@ PARAMS_3(_unit,_turretAndDirection,_majorStep); -if (vehicle _unit != _unit) exitWith {false}; +if (!(_unit isKindOf "Man")) exitWith {false}; private ["_weaponIndex", "_zeroing", "_optic", "_increment", "_maxVertical", "_maxHorizontal", "_elevation", "_windage", "_zero", "_adjustment"]; diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index caaff182f3..d84f0932af 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -8,6 +8,7 @@ Ajuste menor arriba Regola leggermente alzata in alto Hausse + + Kleine Korrektur nach oben Minor adjustment down @@ -16,6 +17,7 @@ Ajuste menor abajo Regola leggermente alzata in basso Hausse - + Kleine Korrektur nach unten Minor adjustment right @@ -24,6 +26,7 @@ Ajuste menor derecha Regola leggermente il tiro a destra Dérive + + Kleine Korrektur nach rechts Minor adjustment left @@ -32,6 +35,7 @@ Ajuste menor izquierda Regola leggermete il tiro a sinistra Dérive - + Kleine Korrektur nach links Major adjustment up @@ -40,6 +44,7 @@ Ajuste mayor arriba Regola l'alzata in alto Hausse +++ + Große Korrektur nach oben Major adjustment down @@ -48,6 +53,7 @@ Ajuste mayor abajo Regola l'alzata in basso Hausse --- + Große Korrektur nach unten Major adjustment right @@ -56,6 +62,7 @@ Ajuste mayor derecha Regola il tiro a destra Dérive +++ + Große Korrektur nach rechts Major adjustment left @@ -64,6 +71,7 @@ Ajuste mayor izquierda Regola il tiro a sinistra Dérive --- + Große Korrektur nach links Set zero adjustment @@ -72,6 +80,7 @@ Establecer ajuste a cero Resetta i valori del tiro RAZ corrections + Auf 0 justieren - \ No newline at end of file + diff --git a/addons/vehicles/CfgEventHandlers.hpp b/addons/vehicles/CfgEventHandlers.hpp index 049b154088..2725e526bc 100644 --- a/addons/vehicles/CfgEventHandlers.hpp +++ b/addons/vehicles/CfgEventHandlers.hpp @@ -18,3 +18,12 @@ class Extended_Engine_EventHandlers { }; }; }; + +class Extended_Init_EventHandlers { + class StaticWeapon { + class ACE_FixMass { + init = QUOTE(if (local (_this select 0)) then {(_this select 0) setMass (getMass (_this select 0) max 250)};); + exclude[] = {"TargetSoldierBase","Static_Designator_01_base_F","Static_Designator_02_base_F","Pod_Heli_Transport_04_base_F"}; + }; + }; +}; diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 08bb510f6c..6e06025620 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -41,7 +41,7 @@ Seleccionar fusil Wybierz karabin Zvolit hlavní zbraň - Выбрать автомат + Выбрать винтовку Sélectionner Fusil Puska Kiválasztása Selecionar Rifle @@ -246,7 +246,7 @@ Už nejsou žádné ostatní granáty Não há outras granadas restantes Nessun'altra granata rimanente. - Летальные гранаты закончились + Нелетальные гранаты закончились No grenade selected @@ -268,8 +268,8 @@ Tirer le lance-pots fumigènes Wystrzel granat dymny Füstvető eltüzelése - Запустить дымовую завесу + Пустить дымовую завесу Lancia fumogeno - \ No newline at end of file + diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 7d1e1a1a2c..4e0723bb7a 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -4,10 +4,11 @@ Show Wind Info Pokaż inf. o wietrze - Показать информацию о погоде + Показать информацию о ветре Afficher information sur le vent Mostrar información del viento Mostra informazioni sul vento + Zeige Windinformationen - \ No newline at end of file + diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 8e2e00d96e..83f6c0d589 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -6,7 +6,7 @@ Wind Information Informacje o wietrze Información del viento - Ветер + Информация о ветре Informace o větru Vent Windinformationen @@ -17,7 +17,7 @@ Direction: %1 Kierunek: %1 Dirección: %1 - Направление: %1 + Направление: %1° Směr: %1 Direction %1 Windrichtung: %1 @@ -39,7 +39,7 @@ Weather Information Informacje o pogodzie Información Meteorológica - Погода + Информация о погоде Informace o počasí Météo Wetterinformationen diff --git a/documentation/development/ace3-events-system.md b/documentation/development/ace3-events-system.md index d7c99e558e..33412aa8fa 100644 --- a/documentation/development/ace3-events-system.md +++ b/documentation/development/ace3-events-system.md @@ -23,6 +23,11 @@ Events can be removed or cleared with the following commands. * `[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler`
will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`. * `[eventName] call ace_common_fnc_removeAllEventHandlers`
will remove all event handlers for that type of event. +### Synchronized Events +* `[eventName, eventCodeBlock, ttlNumberOrCodeBlock] call ace_common_fnc_addSyncedEventHandler`
adds a globally synchronized event handler which will expire events after the provided TTL, or the code returns true. +* `[eventName] call ace_common_fnc_removeSyncedEventHandler`
will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addSyncedEventHandler`. +* * `[eventName, args, ttlNumberOrCodeBlock] call ace_common_fnc_syncedEvent`
calls a global synchronized event, which will also be run on JIP players unless it has expired; event will expire after the provided TTL, or the code returns true. + ### Pattern: ```c++ // tapper machine @@ -52,6 +57,13 @@ PREP(onTapShoulder); [_newPlayer, _oldPlayer] local + + "PlayerJIP" + Player was a JIP player, and `player` object is now created. + common + [_player] + local + "playerInventoryChanged" diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index f72263eeaa..e39581a9d4 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -35,8 +35,8 @@ Tabs can be tricky sometimes, especially when it comes to sharing code with othe ## Braces -- opening bracket on the same line as keyword -- closing bracket in own line, same level of indentation as keyword +- opening brace on the same line as keyword +- closing brace in own line, same level of indentation as keyword **Yes:** @@ -70,7 +70,7 @@ class Something : Or { }; ``` -When using `if`/`else`, it is encouraged to put `else` on the same line as the closing bracket to save space: +When using `if`/`else`, it is encouraged to put `else` on the same line as the closing brace to save space: ```c++ if (alive player) then { @@ -90,7 +90,7 @@ class Three {foo = 3;}; #### Reasoning -Putting the opening bracket in it's own line wastes a lot of space, and keeping the closing bracket on the same level as the keyword makes it easier to recognize what exactly the bracket closes. +Putting the opening brace in it's own line wastes a lot of space, and keeping the closing brace on the same level as the keyword makes it easier to recognize what exactly the brace closes. ## How to create a new module diff --git a/documentation/development/extension-guidelines.md b/documentation/development/extension-guidelines.md index 0558d49d5e..b5e7e98586 100644 --- a/documentation/development/extension-guidelines.md +++ b/documentation/development/extension-guidelines.md @@ -11,7 +11,7 @@ order: 9 ### Requirements - A compiler (VS/GCC/Clang) - - If starting with visual studio, you need to make sure to use the Visual studio command prompt + - If starting with Visual Studio, you need to make sure to use the Visual studio command prompt - cmake 3.0 or later in your path ### Cross-Platform Guidelines diff --git a/documentation/development/modularity-and-pbo-structure.md b/documentation/development/modularity-and-pbo-structure.md index ad1194e39c..036ebb35d4 100644 --- a/documentation/development/modularity-and-pbo-structure.md +++ b/documentation/development/modularity-and-pbo-structure.md @@ -10,23 +10,21 @@ order: 4 Main principles: - As much stuff as possible should be modular -- Strive to make as much stuff as possible run-time toogable. Adding/removing PBOS would still be requiring to toogle any feature relying on config changes. +- Strive to make as much stuff as possible run-time togglable. Adding/removing PBOS would still be requiring to toggle any feature relying on config changes. ### PBO Structure Main principles: - Try to keep single module dependencies as much as possible -- InteractionMenu would be the requirement for most modules. -- Anything that is 100% config should require common and not interaction. +- Interaction would be the requirement for most modules. +- Anything that is 100% config should require Common and not Interaction. ``` -Main -> Common -> OptionsMenu -> InteractionMenu -> Most things +Main -> Common -> OptionsMenu -> Interaction -> Most things Main -> Common -> Config things -Main -> Common -> 3D Models | - InteractionMenu | -> Feature +Main -> Common -> 3D Models | + Interaction | -> Feature ``` - - diff --git a/documentation/feature/javelin.md b/documentation/feature/javelin.md index eecfa8844a..b253a25fc9 100644 --- a/documentation/feature/javelin.md +++ b/documentation/feature/javelin.md @@ -7,4 +7,15 @@ parent: wiki --- ## 1. Overview -Blah blah blah \ No newline at end of file +Blah blah blah + +Steps to lock titan/Javelin: + +1. You must be zoomed ALL THE WAY IN +2. You must be in thermal view +3. You must have a missile loaded +4. Hold TAB over a target, it will start beeping and the constraint boxes will appear +5. Once the beeping changes to LOCK tone, and the lock crosshairs appear, click fire without releasing tab + + +CTRL+TAB is default key to change firemode (configurable as a key) diff --git a/documentation/features/feature-list.md b/documentation/features/feature-list.md deleted file mode 100644 index 9edc405ba2..0000000000 --- a/documentation/features/feature-list.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: wiki -title: Features Documentation -group: features -order: 0 -parent: wiki ---- - - -**This page will get updated soon.** - - -## Table of Contents - - 1. [][[Advanced Missile Guidanced Framework|WikiLink]] - 2. [yy](#yy) - 3. [zz](#zz) - - -## What ACE3 has to offer diff --git a/documentation/features/titan-javelin-usage.md b/documentation/features/titan-javelin-usage.md deleted file mode 100644 index 8115e6812b..0000000000 --- a/documentation/features/titan-javelin-usage.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: wiki -title: ACE Titan and Javelin -group: features -order: 0 -parent: wiki ---- - - -**This page will get updated soon.**