diff --git a/README.md b/README.md index 9d5be87515..b885f22b23 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Issues diff --git a/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf b/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf index c508d0a803..359bd946a5 100644 --- a/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf +++ b/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf @@ -32,6 +32,9 @@ if !(_unit getVariable [QGVAR(primed), false]) then { _unit setVariable [QGVAR(lastThrownTime), CBA_missionTime]; // Fix floating for throwables without proper physics (eg. IR Grenade) _activeThrowable setVelocity [0, 0, -0.1]; + + // Set thrower + [QEGVAR(common,setShotParents), [_activeThrowable, _unit, (getShotParents _activeThrowable) select 1]] call CBA_fnc_serverEvent; }; // Restore muzzle ammo (setAmmo 1 has no impact if no appliccable throwable in inventory) diff --git a/addons/advanced_throwing/functions/fnc_prime.sqf b/addons/advanced_throwing/functions/fnc_prime.sqf index 727ace4e23..d52bee67f2 100644 --- a/addons/advanced_throwing/functions/fnc_prime.sqf +++ b/addons/advanced_throwing/functions/fnc_prime.sqf @@ -54,6 +54,9 @@ deleteVehicle _activeThrowableOld; _activeThrowable // projectile ]] call CBA_fnc_globalEvent; +// Set prime instigator +[QEGVAR(common,setShotParents), [_activeThrowable, _unit, _unit]] call CBA_fnc_serverEvent; + if (_showHint) then { // Show primed hint private _displayNameShort = getText (configFile >> "CfgMagazines" >> _throwableMag >> "displayNameShort"); diff --git a/addons/ai/CfgAISkill.hpp b/addons/ai/CfgAISkill.hpp deleted file mode 100644 index c01b5eb96e..0000000000 --- a/addons/ai/CfgAISkill.hpp +++ /dev/null @@ -1,28 +0,0 @@ - -/* - * Documentation: - * https://community.bistudio.com/wiki/AI_Sub-skills - * - * The idea here is to reduce the AI's godlike aiming - * capabilties while retaining it's high intelligence. - * The AI should be smart enough to move through a town, - * but also be 'human' in their reaction time and aim. - * - * Note: All these values can still be adjusted via - * scripts, these arrays just change what 0 & 1 - * are for setSkill. - */ - -class CfgAISkill { - aimingAccuracy[] = {0,0, 1,0.8}; // {0,0,1,1}; v1.26 defaults - aimingShake[] = {0,0, 1,0.6}; // {0,0,1,1}; - aimingSpeed[] = {0,0, 1,0.7}; // {0,0.5,1,1}; - commanding[] = {0,0, 1,0.8}; // {0,0,1,1}; - courage[] = {0,0, 1,0.7}; // {0,0,1,1}; - endurance[] = {0,0, 1,0.7}; // {0,0,1,1}; - general[] = {0,0, 1,0.9}; // {0,0,1,1}; - // apparently breaks rapid firing in single fire mode for players - //reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1}; - spotDistance[] = {0,0, 1,0.9}; // {0,0.2,1,0.4}; - spotTime[] = {0,0, 1,0.7}; // {0,0,1,0.7}; -}; diff --git a/addons/ai/README.md b/addons/ai/README.md index 40b4e776a4..e3175b1006 100644 --- a/addons/ai/README.md +++ b/addons/ai/README.md @@ -1,7 +1,7 @@ ace_ai ====== -Minor changes of AI skill and overhaul of AI firing modes of vanilla weapons, encouraging the AI to use full-auto and bursts more often. +Overhaul of AI firing modes of vanilla weapons, encouraging the AI to use full-auto and bursts more often. ## Maintainers diff --git a/addons/ai/config.cpp b/addons/ai/config.cpp index 60bf7184a4..a269bdcdbc 100644 --- a/addons/ai/config.cpp +++ b/addons/ai/config.cpp @@ -14,5 +14,4 @@ class CfgPatches { }; }; -#include "CfgAISkill.hpp" #include "CfgWeapons.hpp" diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index b86b2eb576..f5bcbb758a 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -4,7 +4,7 @@ 6.5x47mm 20Rnd Mag (HPBT Scenar) - Ch. 6.5x47mm 20Cps (HPBT Scenar) + Ch. 6,5x47mm 20Cps (HPBT Scenar) Cargador de 20 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 20rd (HPBT Scenar) Магазин из 20-ти 6,5x47 мм (экспансивные Scenar) @@ -18,7 +18,7 @@ 6.5mm Lapua - 6.5mm Lapua + 6,5mm Lapua 6.5mm Lapua 6,5mm Lapua 6,5 мм Lapua @@ -32,7 +32,7 @@ Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 20<br />Used in: QBU-88 - Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 20 + Calibre: 6,5x47mm (HPBT Scenar)<br />Cartouches: 20 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 20<br />Se usa en: QBU-88 Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 20 Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 20<br />Используются с: QBU-88 @@ -51,7 +51,7 @@ Магазин из 20-ти 6,5 мм Creedmor 6,5mm Creedmor 20-Patronen-Magazin Cargador de 20 balas Creedmor de 6.5mm - Ch. 6.5mm Creedmor 20Cps + Ch. 6,5mm Creedmor 20Cps 6.5mm Creedmor 20náb. Zásobník Carregador 6.5mm com 20 cartuchos Creedmor 6,5mm Creedmor 20-lövedékes tár @@ -60,7 +60,7 @@ 6.5mm CM - 6.5mm CM + 6,5mm CM 6.5mm CM 6,5mm CM 6,5 мм CM @@ -76,7 +76,7 @@ Caliber: 6.5x47mm Creedmor<br />Rounds: 20<br />Used in: QBU-88 Kaliber: 6,5x47mm Creedmor<br />Pociski: 20<br />Używany w: QBU-88 Kaliber: 6,5x47mm Creedmor<br />Patronen: 20<br />Eingesetzt von: QBU-88 - Calibre: 6.5x47mm Creedmor <br />Cartouches: 20<br />Utilisé avec: QBU-88 + Calibre: 6,5x47mm Creedmor <br />Cartouches: 20<br />Utilisé avec: QBU-88 Calibro: 6.5mm Creedmor<br />Munizioni: 20<br />In uso su: QBU-88 Calibre: 6.5mm Creedmor<br />Balas: 20<br />Se usa en: QBU-88 Калибр: 6,5x47мм Creedmor<br />Патронов: 20<br />Используются c: QBU-88 @@ -642,7 +642,7 @@ 9.3mm 10Rnd Tracer Mag 9,3mm 10-Patronen-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz - Ch. 9.3mm 10Cps Traçante + Ch. 9,3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag @@ -657,7 +657,7 @@ 9,3mm Leuchtspur 9,3mm Smugacz 9.3mm Svítící - 9.3mm Traçante + 9,3mm Traçante 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracer @@ -670,7 +670,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 10<br />Eingesetzt von: Cyrus Kaliber: 9,3x64mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus - Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé avec: Cyrus + Calibre: 9,3x64mm Traçante<br />Cartouches: 10<br />Utilisé avec: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus @@ -684,7 +684,7 @@ 9.3mm 10Rnd Tracer IR-DIM Mag 9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM - Ch. 9.3mm 10Cps Traçante IR-DIM + Ch. 9,3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag @@ -699,7 +699,7 @@ 9,3mm IR-DIM 9,3mm IR-DIM 9.3mm IR-DIM - 9.3mm IR-DIM + 9,3mm IR-DIM 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM @@ -712,7 +712,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 10<br />Eingesetzt von: Cyrus Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus - Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé avec: Cyrus + Calibre: 9,3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé avec: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus @@ -727,7 +727,7 @@ 9.3mm 150Rnd Tracer Belt 9,3mm 150-Patronen-Gurt Leuchtspur Taśma 9,3mm 150rd Smugacz - Bande 9.3mm 150Cps Traçante + Bande 9,3mm 150Cps Traçante Cinta de 150 balas trazadoras de 9.3mm Лента из 150-ти 9,3 мм трассирующих 9.3mm 150Rnd Tracer Belt @@ -742,7 +742,7 @@ 9,3mm Leuchtspur 9,3mm Smugacz 9.3mm Svítící - 9.3mm Traçante + 9,3mm Traçante 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracciante @@ -755,7 +755,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm Smugacz<br />Pociski: 150<br />Używane w: Navid - Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé avec: Navid + Calibre: 9,3x64mm Traçante<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid @@ -769,7 +769,7 @@ 9.3mm 150Rnd Tracer IR-DIM Belt 9,3mm 150-Patronen-Gurt Leuchtspur IR-DIM Taśma 9,3mm 150rd Smugacz IR-DIM - Bande 9.3mm 150Cps Traçante 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 150Rnd Tracciante IR-DIM Belt @@ -784,7 +784,7 @@ 9,3mm IR-DIM 9,3mm IR-DIM 9.3mm IR-DIM - 9.3mm IR-DIM + 9,3mm IR-DIM 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM @@ -797,7 +797,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid - Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé avec: Navid + Calibre: 9,3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid @@ -811,7 +811,7 @@ 9.3mm 150Rnd AP Belt 9,3mm 150-Patronen-Gurt Hartkern Taśma 9,3mm 150rd AP - Bande 9.3mm 150Cps AP + Bande 9,3mm 150Cps AP Cinta de 150 balas AP de 9.3mm Лента из 150-ти 9,3 мм бронебойных 9.3mm 150Rnd AP Belt @@ -826,7 +826,7 @@ 9,3mm AP 9,3mm AP 9.3mm AP - 9.3mm AP + 9,3mm AP 9.3mm AP 9,3 мм бронебойные 9.3mm AP @@ -839,7 +839,7 @@ Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm AP<br />Pociski: 150<br />Używane w: Navid - Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé avec: Navid + Calibre: 9,3x64mm AP<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid @@ -936,7 +936,7 @@ 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Ch. 7.62x54mm 10Rnd Traçante + Ch. 7,62x54mm 10Cps Traçante Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur @@ -950,7 +950,7 @@ 7.62mm 7,62mm - 7.62mm + 7,62mm 7.62mm 7,62 мм 7,62mm @@ -964,7 +964,7 @@ 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Ch. 7.62x54mm 10Cps Traçante + Ch. 7,62x54mm 10Cps Traçante Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur @@ -978,7 +978,7 @@ 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM - Ch. 6.5mm 100Rnd Traçante IR-DIM + Ch. 6,5mm 100Cps Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur @@ -992,7 +992,7 @@ 6.5mm IR-DIM 6,5mm IR-DIM - 6.5mm IR-DIM + 6,5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие 6,5mm IR-DIM @@ -1006,7 +1006,7 @@ 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW Magazynek 6,5mm 100rd Smugacz IR-DIM - Ch. 6.5mm 100Rnd Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW + Ch. 6,5mm 100Cps Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW @@ -1020,7 +1020,7 @@ 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM - Bande 6.5mm 200Rnd Traçante IR-DIM + Bande 6,5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur @@ -1034,7 +1034,7 @@ 6.5mm IR-DIM 6,5mm IR-DIM - 6.5mm IR-DIM + 6,5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие 6,5mm IR-DIM @@ -1062,7 +1062,7 @@ 5.56mm 30Rnd Mag (Mk262) Magazynek 5,56mm 30rd Mk262 - 5.56mm 30Cps (Mk262) + 5,56mm 30Cps (Mk262) Cargador de 30 balas de 5.56mm (Mk262) Магазин из 30-ти 5.56 мм Mk262 5,56mm 30-Patronen-Magazin (Mk262) @@ -1076,7 +1076,7 @@ 5.56mm Mk262 5,56mm Mk262 - 5.56mm Mk262 + 5,56mm Mk262 5.56mm Mk262 5,56 мм Mk262 5,56mm Mk262 @@ -1090,7 +1090,7 @@ Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 Kaliber: 5,56x45mm NATO (Mk262)<br />Pociski: 30 - Calibre: 5.56x45mm NATO (Mk262)<br />Cartouches: 30 + Calibre: 5,56x45mm NATO (Mk262)<br />Cartouches: 30 Calibre: 5.56x45mm NATO (Mk262)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 @@ -1104,7 +1104,7 @@ 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd (Mk318) - Ch. 5.56mm 30Cps (Mk318) + Ch. 5,56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) 5,56mm 30-Patronen-Magazin (Mk318) @@ -1118,7 +1118,7 @@ 5.56mm Mk318 5,56mm Mk318 - 5.56mm Mk318 + 5,56mm Mk318 5.56mm Mk318 5.56 мм Mk318 5,56mm Mk318 @@ -1132,7 +1132,7 @@ Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 Kaliber: 5,56x45mm NATO (Mk318)<br />Pociski: 30 - Calibre: 5.56x45mm NATO (Mk318)<br />Cartouches: 30 + Calibre: 5,56x45mm NATO (Mk318)<br />Cartouches: 30 Calibre: 5.56x45mm NATO (Mk318)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 @@ -1146,7 +1146,7 @@ 5.56mm 30Rnd Mag (M995 AP) Magazynek 5,56mm 30rd (M995 AP) - Ch. 5.56mm 30Cps (M995 AP) + Ch. 5,56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) @@ -1160,7 +1160,7 @@ 5.56mm AP 5,56mm AP - 5.56mm AP + 5,56mm AP 5.56mm AP 5.56 мм бронебойные 5,56mm AP @@ -1174,7 +1174,7 @@ Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 Kaliber: 5,56x45mm NATO (M995 AP)<br />Pociski: 30 - Calibre: 5.56x45mm NATO (M995 AP)<br />Cartouches: 30 + Calibre: 5,56x45mm NATO (M995 AP)<br />Cartouches: 30 Calibre: 5.56x45mm NATO (M995 AP)<br />Balas: 30 Калибр: 5,56x45 мм NATO (M995 бронебойные)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 @@ -1188,7 +1188,7 @@ 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) - Ch. 7.62mm 10Cps (M118LR) + Ch. 7,62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) 7,62mm 10-Patronen-Magazin (M118LR) @@ -1202,7 +1202,7 @@ 7.62mm M118LR 7,62mm M118LR - 7.62mm M118LR + 7,62mm M118LR 7.62mm M118LR 7,62 мм M118LR 7,62mm M118LR @@ -1216,7 +1216,7 @@ Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 Kaliber: 7,62x51mm NATO (M118LR)<br />Pociski: 10 - Calibre: 7.62x51mm NATO (M118LR)<br />Cartouches: 10 + Calibre: 7,62x51mm NATO (M118LR)<br />Cartouches: 10 Calibre: 7.62x51mm NATO (M118LR)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 @@ -1230,7 +1230,7 @@ 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) - Ch. 7.62mm 20Cps (M118LR) + Ch. 7,62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) 7,62mm 20-Patronen-Magazin (M118LR) @@ -1244,7 +1244,7 @@ 7.62mm M118LR 7,62mm M118LR - 7.62mm M118LR + 7,62mm M118LR 7.62mm M118LR 7,62 мм M118LR 7,62mm M118LR @@ -1272,7 +1272,7 @@ 7.62mm 10Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 10rd (Mk316 Mod 0) - Ch. 7.62mm 10Cps (Mk316 Mod 0) + Ch. 7,62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) @@ -1286,7 +1286,7 @@ 7.62mm Mk316 7,62mm Mk316 - 7.62mm Mk316 + 7,62mm Mk316 7.62mm Mk316 7,62 мм Mk316 7,62mm Mk316 @@ -1300,7 +1300,7 @@ Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Pociski: 10 - Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 10 + Calibre: 7,62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 @@ -1314,7 +1314,7 @@ 7.62mm 20Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 20rd (Mk316 Mod 0) - Ch. 7.62mm 20Cps (Mk316 Mod 0) + Ch. 7,62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) @@ -1328,7 +1328,7 @@ 7.62mm Mk316 7,62mm Mk316 - 7.62mm Mk316 + 7,62mm Mk316 7.62mm Mk316 7,62 мм Mk316 7,62mm Mk316 @@ -1342,7 +1342,7 @@ Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Pociski: 20 - Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 20 + Calibre: 7,62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 @@ -1356,7 +1356,7 @@ 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) - Ch. 7.62mm 10Cps (Mk319 Mod 0) + Ch. 7,62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) @@ -1370,7 +1370,7 @@ 7.62mm Mk319 7,62mm Mk319 - 7.62mm Mk319 + 7,62mm Mk319 7.62mm Mk319 7,62 мм Mk319 7,62mm Mk319 @@ -1384,7 +1384,7 @@ Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Pociski: 10 - Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 10 + Calibre: 7,62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 @@ -1398,7 +1398,7 @@ 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) - Ch. 7.62mm 20Cps (Mk319 Mod 0) + Ch. 7,62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) @@ -1412,7 +1412,7 @@ 7.62mm Mk319 7,62mm Mk319 - 7.62mm Mk319 + 7,62mm Mk319 7.62mm Mk319 7,62 мм Mk319 7,62mm Mk319 @@ -1426,7 +1426,7 @@ Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Pociski: 20 - Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 20 + Calibre: 7,62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 @@ -1440,7 +1440,7 @@ 7.62mm 10Rnd Mag (M993 AP) Magazynek 7,62mm 10rd (M993 AP) - Ch. 7.62mm 10Cps (M993 AP) + Ch. 7,62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 бронебойные) 7,62mm 10-Patronen-Magazin (M993 AP) @@ -1454,7 +1454,7 @@ 7.62mm AP 7,62mm AP - 7.62mm AP + 7,62mm AP 7.62mm AP 7,62mm бронебойные 7,62mm AP @@ -1468,7 +1468,7 @@ Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 10 - Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 10 + Calibre: 7,62x51mm NATO (M993 AP)<br />Cartouches: 10 Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 @@ -1482,7 +1482,7 @@ 7.62mm 20Rnd Mag (M993 AP) Magazynek 7,62mm 20rd (M993 AP) - Ch. 7.62mm 20Cps (M993 AP) + Ch. 7,62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 бронебойные) 7,62mm 20-Patronen-Magazin (M993 AP) @@ -1496,7 +1496,7 @@ 7.62mm AP 7,62mm AP - 7.62mm AP + 7,62mm AP 7.62mm AP 7,62 мм бронебойные 7,62mm AP @@ -1510,7 +1510,7 @@ Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 20 - Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 20 + Calibre: 7,62x51mm NATO (M993 AP)<br />Cartouches: 20 Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 @@ -1524,7 +1524,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) - Ch. 7.62mm 20Cps (Mk248 Mod 0) + Ch. 7,62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) @@ -1538,7 +1538,7 @@ 7.62mm Mk248 7,62mm Mk248 - 7.62mm Mk248 + 7,62mm Mk248 7.62mm Mk248 7,62 мм Mk248 7,62mm Mk248 @@ -1552,7 +1552,7 @@ Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 Kaliber: 7,62x67mm NATO (Mk248 Mod 0)<br />Pociski: 20 - Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 + Calibre: 7,62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 @@ -1566,7 +1566,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) - Ch. 7.62mm 20Cps (Mk248 Mod 1) + Ch. 7,62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) @@ -1580,7 +1580,7 @@ 7.62mm Mk248 7,62mm Mk248 - 7.62mm Mk248 + 7,62mm Mk248 7.62mm Mk248 7,62 мм Mk248 7,62mm Mk248 @@ -1594,7 +1594,7 @@ Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 Kaliber: 7,62x67mm NATO (Mk248 Mod 1)<br />Pociski: 20 - Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 + Calibre: 7,62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 @@ -1608,7 +1608,7 @@ 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) - Ch. 7.62 20Cps (Berger Hybrid OTM) + Ch. 7,62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) @@ -1622,7 +1622,7 @@ 7.62mm OTM 7,62mm OTM - 7.62mm OTM + 7,62mm OTM 7.62mm OTM 7,62 мм OTM 7,62mm OTM @@ -1636,7 +1636,7 @@ Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Pociski: 20 - Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 + Calibre: 7,62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 @@ -1649,7 +1649,7 @@ 6.5x47mm 30Rnd Mag (HPBT Scenar) - Ch. 6.5x47mm 30Cps (HPBT Scenar) + Ch. 6,5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (экспансивные Scenar) @@ -1663,7 +1663,7 @@ 6.5mm Lapua - 6.5mm Lapua + 6,5mm Lapua 6.5mm Lapua 6,5mm Lapua 6,5 мм Lapua @@ -1677,7 +1677,7 @@ Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM - Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 + Calibre: 6,5x47mm (HPBT Scenar)<br />Cartouches: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30<br />Se usa en: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30<br />Используются с: MXM @@ -1696,7 +1696,7 @@ Магазин из 30-ти 6,5 мм Creedmor 6,5mm Creedmor 30-Patronen-Magazin Cargador de 30 balas Creedmor de 6.5mm - Ch. 6.5mm Creedmor 30Cps + Ch. 6,5mm Creedmor 30Cps 6.5mm Creedmor 30náb. Zásobník Carregador 6.5mm com 30 cartuchos Creedmor 6,5mm Creedmor 30-lövedékes tár @@ -1705,7 +1705,7 @@ 6.5mm CM - 6.5mm CM + 6,5mm CM 6.5mm CM 6,5mm CM 6,5 мм CM @@ -1721,7 +1721,7 @@ Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM Kaliber: 6,5x47mm Creedmor<br />Pociski: 30<br />Używany w: MXM Kaliber: 6,5x47mm Creedmor<br />Patronen: 30<br />Eingesetzt von: MXM - Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM + Calibre: 6,5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются c: MXM @@ -1761,7 +1761,7 @@ 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 />Cartouches: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 Калибр: 8,6x70mm (300 гран Sierra MatchKing экспансивные)<br />Патронов: 10 @@ -1803,7 +1803,7 @@ Caliber: 8.6x70mm (API526)<br />Rounds: 10 - Calibre: 8.6x70mm (API526)<br />Cartouches: 10 + Calibre: 8,6x70mm (API526)<br />Cartouches: 10 Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70mm (API526)<br />Pociski: 10 Калибр: 8,6x70 мм (API526)<br />Патронов: 10 @@ -1859,7 +1859,7 @@ 12.7x99mm 5Rnd Mag - Ch. 12.7x99mm 5Cps + Ch. 12,7x99mm 5Cps Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99mm 5rd Магазин из 5-ти 12,7x99 мм @@ -1873,7 +1873,7 @@ 12.7mm - 12.7mm + 12,7mm 12.7mm 12,7mm 12,7 мм @@ -1901,7 +1901,7 @@ 12.7x99mm API 5Rnd Mag - Ch. 12.7x99mm API 5Cps + Ch. 12,7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd 12.7x99mm API 5Rnd Mag @@ -1915,7 +1915,7 @@ 12.7mm API - 12.7mm API + 12,7mm API 12.7mm API 12,7mm API 12.7mm API @@ -1929,7 +1929,7 @@ Caliber: 12.7x99mm API<br />Rounds: 5 - Calibre: 12.7x99mm API<br />Cartouches: 5 + Calibre: 12,7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 Kaliber: 12,7x99mm API<br />Pociski: 5 Калибр: 12,7x99 мм бронебойно-зажигательные<br />Патронов: 5 @@ -1943,7 +1943,7 @@ 12.7x99mm 5Rnd Mag (AMAX) - Ch. 12.7x99mm 5Cps (AMAX) + Ch. 12,7x99mm 5Cps (AMAX) Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) @@ -1957,7 +1957,7 @@ 12.7mm - 12.7mm + 12,7mm 12.7mm 12,7mm 12,7 мм @@ -1971,7 +1971,7 @@ Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 - Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5 + Calibre: 12,7x99mm (AMAX)<br />Cartouches: 5 Calibre: 12.7x99mm (AMAX)<br />Balas: 5 Kaliber: 12,7x99mm (AMAX)<br />Pociski: 5 Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 diff --git a/addons/cargo/ACE_Settings.hpp b/addons/cargo/ACE_Settings.hpp index 574000155e..595de28459 100644 --- a/addons/cargo/ACE_Settings.hpp +++ b/addons/cargo/ACE_Settings.hpp @@ -6,4 +6,11 @@ class ACE_Settings { value = 1; category = ECSTRING(OptionsMenu,CategoryLogistics); }; + class GVAR(paradropTimeCoefficent) { + displayName = CSTRING(paradropTimeCoefficent); + description = CSTRING(paradropTimeCoefficent_description); + typeName = "SCALAR"; + value = 2.5; + category = ECSTRING(OptionsMenu,CategoryLogistics); + }; }; diff --git a/addons/cargo/CfgVehicles.hpp b/addons/cargo/CfgVehicles.hpp index a89375e4a0..4c4647581e 100644 --- a/addons/cargo/CfgVehicles.hpp +++ b/addons/cargo/CfgVehicles.hpp @@ -26,6 +26,12 @@ class CfgVehicles { typeName = "BOOL"; defaultValue = 1; }; + class paradropTimeCoefficent { + displayName = CSTRING(paradropTimeCoefficent); + description = CSTRING(paradropTimeCoefficent_description); + typeName = "SCALAR"; + defaultValue = 2.5; + }; }; class ModuleDescription { diff --git a/addons/cargo/functions/fnc_canLoadItemIn.sqf b/addons/cargo/functions/fnc_canLoadItemIn.sqf index 77a230108c..092272f94f 100644 --- a/addons/cargo/functions/fnc_canLoadItemIn.sqf +++ b/addons/cargo/functions/fnc_canLoadItemIn.sqf @@ -40,4 +40,5 @@ if (_item isEqualType "") then { _validItem && {_itemSize > 0} && {alive _vehicle} && -{_itemSize <= ([_vehicle] call FUNC(getCargoSpaceLeft))} +{_itemSize <= ([_vehicle] call FUNC(getCargoSpaceLeft))} && +{locked _vehicle < 2} diff --git a/addons/cargo/functions/fnc_moduleSettings.sqf b/addons/cargo/functions/fnc_moduleSettings.sqf index 0374152a5a..b7af19c76a 100644 --- a/addons/cargo/functions/fnc_moduleSettings.sqf +++ b/addons/cargo/functions/fnc_moduleSettings.sqf @@ -24,5 +24,6 @@ params ["_logic", "", "_activated"]; if (!_activated) exitWith {}; [_logic, QGVAR(enable), "enable"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(paradropTimeCoefficent), "paradropTimeCoefficent"] call EFUNC(common,readSettingFromModule); INFO("Cargo Module Initialized."); diff --git a/addons/cargo/functions/fnc_onMenuOpen.sqf b/addons/cargo/functions/fnc_onMenuOpen.sqf index 852729e529..8b3847993d 100644 --- a/addons/cargo/functions/fnc_onMenuOpen.sqf +++ b/addons/cargo/functions/fnc_onMenuOpen.sqf @@ -44,7 +44,13 @@ if (GVAR(interactionParadrop)) then { lbClear _ctrl; { private _class = if (_x isEqualType "") then {_x} else {typeOf _x}; - _ctrl lbAdd (getText(configfile >> "CfgVehicles" >> _class >> "displayName")); + private _displayName = getText (configfile >> "CfgVehicles" >> _class >> "displayName"); + if (GVAR(interactionParadrop)) then { + _ctrl lbAdd format ["%1 (%2s)", _displayName, GVAR(paradropTimeCoefficent) * ([_class] call FUNC(getSizeItem))]; + } else { + _ctrl lbAdd _displayName; + }; + true } count _loaded; diff --git a/addons/cargo/functions/fnc_paradropItem.sqf b/addons/cargo/functions/fnc_paradropItem.sqf index 2eb59fee1d..4c34e61e4e 100644 --- a/addons/cargo/functions/fnc_paradropItem.sqf +++ b/addons/cargo/functions/fnc_paradropItem.sqf @@ -90,6 +90,15 @@ _itemObject setVelocity ((velocity _vehicle) vectorAdd ((vectorNormalized (vecto }, 1, [_itemObject]] call CBA_fnc_addPerFrameHandler; +[ + [ + LSTRING(UnloadedItem), + getText (configFile >> "CfgVehicles" >> typeOf _itemObject >> "displayName"), + getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName") + ], + 3 +] call EFUNC(common,displayTextStructured); + // Invoke listenable event ["ace_cargoUnloaded", [_item, _vehicle, "paradrop"]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/functions/fnc_startUnload.sqf b/addons/cargo/functions/fnc_startUnload.sqf index 8631449b9e..27ebe9e952 100644 --- a/addons/cargo/functions/fnc_startUnload.sqf +++ b/addons/cargo/functions/fnc_startUnload.sqf @@ -28,13 +28,18 @@ private _ctrl = _display displayCtrl 100; private _selected = (lbCurSel _ctrl) max 0; if (count _loaded <= _selected) exitWith {}; -private _item = _loaded select _selected; //This can be an object or a classname string +private _item = _loaded select _selected; // This can be an object or a classname string if (GVAR(interactionParadrop)) exitWith { + // If drop time is 0 don't show a progress bar + if (GVAR(paradropTimeCoefficent) == 0) exitWith { + [QGVAR(paradropItem), [_item, GVAR(interactionVehicle)]] call CBA_fnc_localEvent; + }; + // Start progress bar - paradrop private _size = [_item] call FUNC(getSizeItem); [ - 2.5 * _size, + GVAR(paradropTimeCoefficent) * _size, [_item, GVAR(interactionVehicle), ACE_player], { (_this select 0) params ["_item", "_target", "_player"]; diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index 191e8929f1..c10f293268 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -243,6 +243,7 @@ 空中投下 Zrzut zaopatrzenia 공중 투하 + Largage aérien Unlevel Flight @@ -250,6 +251,13 @@ 機体が水平ではありません Nierówny lot 기체가 수평이 아닙니다 + Rétablir l'assiette + + + Paradrop Time Coffecient + + + Modifier for how long it takes to paradrop a cargo item. diff --git a/addons/chemlights/stringtable.xml b/addons/chemlights/stringtable.xml index 20bba14951..1cbf1183f4 100644 --- a/addons/chemlights/stringtable.xml +++ b/addons/chemlights/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -7,6 +7,7 @@ Świetliki Knicklichter 켐라이트 + Cyalumes Prepare %1 @@ -14,6 +15,7 @@ Przygotuj %1 %1 vorbereiten %1 준비 + Prépare %1 %1<br/>Prepared @@ -21,13 +23,14 @@ %1<br/>Przygotowany %1<br/>vorbereitet %1<br/>준비됨 + %1<br/>prêt No inventory space Kein Platz im Inventar Sin espacio en inventario Brak miejsca w ekwipunku - Pas de place dans l'inventaire + Pas de place Nedostatek místa v inventáři Sem espaço no inventário Non hai più spazio @@ -42,6 +45,7 @@ [ACE] Świetliki [ACE] Knicklichter [ACE] 켐라이트 + [ACE] Cyalume Chemlight (Orange) @@ -49,6 +53,7 @@ Świetlik (pomarańczowy) Knicklicht (orange) 켐라이트 (주황) + Cyalume (orange) Orange Light @@ -56,6 +61,7 @@ Pomarańczowe światło Oranges Knicklicht 주황색 + Lum. orange Type: Light - Orange<br />Rounds: 1<br />Used in: Hand @@ -63,6 +69,7 @@ Typ: Światło - pomarańczowe<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - orange<br />Anzahl: 1<br />Benutzt in: Hand 종류:밝은 오렌지<br />수량: 1<br />사용처: 손 + Type: Lumière - orange<br />Nbre: 1<br /> À main Chemlight (White) @@ -70,6 +77,7 @@ Świetlik (biały) Knicklicht (weiß) 켐라이트 (하양) + Cyalume (blanc) White Light @@ -77,6 +85,7 @@ Białe światło Weißes Knicklicht 하얀색 + Lum. blanche Type: Light - White<br />Rounds: 1<br />Used in: Hand @@ -84,6 +93,7 @@ Typ: Światło - białe<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - weiß<br />Anzahl: 1<br />Benutzt in: Hand 종류:하얀색<br />수량: 1<br />사용처: 손 + Type: Lumière - blanche<br />Nbre: 1<br /> À main Chemlight (Hi Red) @@ -91,6 +101,7 @@ Świetlik (jaskrawy czerwony) Knicklicht (rot, hell) 켐라이트 (밝은 빨간색) + Cyalume (Hi rouge) Red Hi Light @@ -98,6 +109,7 @@ Jaskrawe czerwone światło Helles, rotes Knicklicht 밝은 빨간색 + Lum. rouge haute intensité Type: Light - Red Hi (5 minute)<br />Rounds: 1<br />Used in: Hand @@ -105,6 +117,7 @@ Typ: Światło - jaskrawe czerwone (5 minut)<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - rot, hell (5 Minuten)<br />Anzahl: 1<br />Benutzt in: Hand 종류: 밝은 빨간색 (5분)<br />수량: 1<br />사용처: 손 + Type: Lumière - rouge Hi (5 minutes)<br />Nbre: 1<br /> À main Chemlight (Hi Yellow) @@ -112,6 +125,7 @@ Świetlik (jaskrawy żółty) Knicklicht (gelb, hell) 켐라이트 (밝은 노란색) + Cyalume (Hi jaune) Yellow Hi Light @@ -119,6 +133,7 @@ Jaskrawe żółte światło Helles, gelbes Knicklicht 밝은 노란색 + Lum. jaune haute intensité Type: Light - Yellow Hi (5 minute)<br />Rounds: 1<br />Used in: Hand @@ -126,6 +141,7 @@ Typ: Światło - jaskrawe żółte (5 minut)<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - gelb, hell (5 Minuten)<br />Anzahl: 1<br />Benutzt in: Hand 종류:밝은 노란색 (5분)<br />수량: 1<br />사용처: Hand + Type: Lumière - Jaune Hi (5 minutes)Nbre: 1<br /> À main Chemlight (Hi Orange) @@ -133,6 +149,7 @@ Świetlik (jaskrawy pomarańczowy) Knicklicht (orange, hell) 켐라이트 (밝은 주황색) + Cyalume (Hi orange) Orange Hi Light @@ -140,6 +157,7 @@ Jaskrawe pomarańczowe światło Helles, oranges Knicklicht 밝은 주황색 + Lum. orange haute intensité Type: Light - Orange Hi (5 minute)<br />Rounds: 1<br />Used in: Hand @@ -147,6 +165,7 @@ Typ: Światło - jaskrawe pomarańczowe (5 minut)<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - orange, hell (5 Minuten)<br />Anzahl: 1<br />Benutzt in: Hand 종류: 밝은 주황색 (5분)<br />수량: 1<br />사용처: 손 + Type: Lumière - orange Hi (5 minutes)<br />Nbre: 1<br /> À main Chemlight (Hi White) @@ -154,6 +173,7 @@ Świetlik (jaskrawy biały) Knicklicht (weiß, hell) 켐라이트 (밝은 하얀색) + Cyalume (Hi blanc) White Hi Light @@ -161,6 +181,7 @@ Jaskrawe białe światło Helles, weißes Knicklicht 밝은 하얀색 + Lum. blanche haute intensité Type: Light - White Hi (5 minute)<br />Rounds: 1<br />Used in: Hand @@ -168,6 +189,7 @@ Typ: Światło - jaskrawe białe (5 minut)<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - weiß, hell (5 Minuten)<br />Anzahl: 1<br />Benutzt in: Hand 종류: 밝은 하얀색 (5분)<br />수량: 1<br />사용처: 손 + Type: Lumière - blanche Hi (5 minutes)<br />Nbre: 1<br /> À main Chemlight (IR) @@ -175,6 +197,7 @@ Świetlik (podczerwony) Knicklicht (IR) 켐라이트 (적외선) + Cyalume (IR) IR Light @@ -182,6 +205,7 @@ Światło podczerwone IR-Knicklicht 적외선 켐라이트 + Lumière IR Type: Light - Infrared<br />Rounds: 1<br />Used in: Hand @@ -189,6 +213,7 @@ Typ: Światło - podczerwone<br/>Pociski: 1<br/>Używany w: ręce Typ: Licht - infrarot<br />Anzahl: 1<br />Benutzt in: Hand 종류: 적외선<br />수량: 1<br />사용처: 손 + Type: Lumière - infrarouge<br />Nbre: 1<br /> À main Chemlight Shield (Empty) @@ -196,6 +221,7 @@ Osłona na świetlik (pusta) Knicklicht-Abschirmung (leer) 켐라이트 쉴드 (비어있음) + Étui cyalume (vide) Shield for chemlights. Combine with chemlight to prepare reading light. @@ -203,6 +229,7 @@ Osłona na świetliki. Połącz ją ze świetlikiem by stworzyć lampkę do czytania. Abschirmung für Knicklichter. Mit Knicklicht kombinieren, um Leselicht zu erhalten. 켐라이트를 위한 가림막입니다. 켐라이트와 같이 사용하여 읽을 때 씁니다. + Étui pour cyalume. Combiné avec un cyalume pour obtennir un lampe de lecture. Chemlight Shield (Green) @@ -210,6 +237,7 @@ Osłona na świetlik (zielona) Knicklicht-Abschirmung (grün) 켐라이트 쉴드 (초록) + Étui cyalume (vert) Green reading light. @@ -217,6 +245,7 @@ Zielona lampka. Grünes Leselicht. 초록빛 조명 + Lampe d'orientation verte. Chemlight Shield (Red) @@ -224,6 +253,7 @@ Osłona na świetlik (czerwona) Knicklicht-Abschirmung (rot) 켐라이트 쉴드 (빨강) + Étui cyalume (rouge) Red reading light. @@ -231,6 +261,7 @@ Czerwona lampka. Rotes Leselicht. 빨간색 조명 + Lampe d'orientation rouge. Chemlight Shield (Blue) @@ -238,6 +269,7 @@ Osłona na świetlik (niebieska) Knicklicht-Abschirmung (blau) 켐라이트 쉴드 (파랑) + Étui cyalume (bleu) Blue reading light. @@ -245,6 +277,7 @@ Niebieska lampka. Blaues Leselicht. 파란색 조명 + Lampe d'orientation bleue. Chemlight Shield (Yellow) @@ -252,6 +285,7 @@ Osłona na świetlik (żółta) Knicklicht-Abschirmung (gelb) 켐라이트 쉴드 (노랑) + Étui cyalume (jaune) Yellow reading light. @@ -259,6 +293,7 @@ Żółta lampka. Gelbes Leselicht. 노란색 조명 + Lampe d'orientation jaune. Chemlight Shield (Orange) @@ -266,6 +301,7 @@ Osłona na świetlik (pomarańczowa) Knicklicht-Abschirmung (orange) 켐라이트 쉴드 (주황) + Étui cyalume (orange) Orange reading light. @@ -273,6 +309,7 @@ Pomarańczowa lampka. Oranges Leselicht. 주황색 조명 + Lampe d'orientation orange. Chemlight Shield (White) @@ -280,6 +317,7 @@ Osłona na świetlik (biała) Knicklicht-Abschirmung (weiß) 켐라이트 쉴드 (하양) + Étui cyalume (blanc) White reading light. @@ -287,6 +325,7 @@ Biała lampka. Weißes Leselicht. 주황색 조명 + Lampe d'orientation blanche. diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 8200493810..adea925980 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -133,6 +133,7 @@ if (isServer) then { if (isServer) then { [QGVAR(hideObjectGlobal), {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; [QGVAR(enableSimulationGlobal), {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + [QGVAR(setShotParents), {(_this select 0) setShotParents [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; ["ace_setOwner", {(_this select 0) setOwner (_this select 1)}] call CBA_fnc_addEventHandler; [QGVAR(serverLog), FUNC(serverLog)] call CBA_fnc_addEventHandler; }; @@ -295,18 +296,10 @@ enableCamShake true; // Set up numerous eventhanders for player controlled units ////////////////////////////////////////////////// -// It is possible that CBA_fnc_addPlayerEventHandler has allready been called and run -// We will NOT get any events for the initial state, so manually set ACE_player -if (!isNull (missionNamespace getVariable ["cba_events_oldUnit", objNull])) then { - // INFO("CBA_fnc_addPlayerEventHandler has already run - manually setting ace_player"); //ToDo CBA 3.1 - diag_log text "[ACE-Common - CBA_fnc_addPlayerEventHandler has already run - manually setting ace_player"; - ACE_player = cba_events_oldUnit; -}; - -// "playerChanged" event +TRACE_1("adding unit playerEH to set ace_player",isNull cba_events_oldUnit); ["unit", { ACE_player = (_this select 0); -}] call CBA_fnc_addPlayerEventHandler; +}, true] call CBA_fnc_addPlayerEventHandler; GVAR(OldIsCamera) = false; diff --git a/addons/common/functions/fnc_interpolateFromArray.sqf b/addons/common/functions/fnc_interpolateFromArray.sqf index 07207071e7..aac21aab7a 100644 --- a/addons/common/functions/fnc_interpolateFromArray.sqf +++ b/addons/common/functions/fnc_interpolateFromArray.sqf @@ -18,4 +18,4 @@ params ["_array", "_value"]; private _min = _array select floor _value; private _max = _array select ceil _value; -_min + (_max - _min) * (_value % 1) // return +linearConversion [0, 1, _value % 1, _min, _max] // return diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 10a6141686..632b24918a 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -940,6 +940,20 @@ Sem espaço para descarregar Нет места для выгрузки 降ろすための空間がありません + + + Toggle + переключить + переключить + Basculer + Cambiar + camb. + Umschalten + pecek + přep. + alternar + トグル + 토글 diff --git a/addons/cookoff/functions/fnc_detonateAmmunition.sqf b/addons/cookoff/functions/fnc_detonateAmmunition.sqf index 20ec84cbbd..c5c0a64549 100644 --- a/addons/cookoff/functions/fnc_detonateAmmunition.sqf +++ b/addons/cookoff/functions/fnc_detonateAmmunition.sqf @@ -65,7 +65,6 @@ if (_amountOfMagazines > 0) exitWith { private _velVec = _vectorAmmo vectorMultiply _speed; _projectile setVectorDir _velVec; _projectile setVelocity _velVec; - // [ACE_player, _projectile, [1,0,0,1]] call EFUNC(frag,addTrack); // visual debuging from ace_frag } else { _projectile setDamage 1; }; diff --git a/addons/cookoff/stringtable.xml b/addons/cookoff/stringtable.xml index 72793312eb..4aa9423b96 100644 --- a/addons/cookoff/stringtable.xml +++ b/addons/cookoff/stringtable.xml @@ -9,7 +9,7 @@ 誘爆を有効化 쿡오프 현상 활성화 Aktywuj efekty samozapłonu amunicji - Activer + Active le cook-off Enables cook off and related vehicle destruction effects. @@ -19,6 +19,7 @@ 誘爆を有効化し、車両が誘爆によって破壊されていきます。 쿡오프 현상을 활성화 하고 관련된 차량에 폭발 이펙트를 적용합니다. Aktywuje efekt samozapłonu amunicji na zniszczonych pojazdach. + Active le cook-off (autocombustion des munitions) et les effets de destruction liés. Wreck (Turret) @@ -40,6 +41,7 @@ Selbstzündung für Munitionskisten ermöglichen 탄약 상자 쿡오프 현상 활성화 Aktywuj samozapłon skrzyń z amunicją + Cook-off caisses de munitions Enables cooking off of ammo boxes. @@ -47,6 +49,7 @@ Ermöglicht Selbstzündung von Munitionskisten. 탄약 상자에 쿡오프 현상을 적용합니다. Aktywuje samozapłon skrzyń z amunicją + Active le cook-off sur toutes les caisses de munitions. Enable Ammunition cook off @@ -54,21 +57,26 @@ Selbstzündung für Munition ermöglichen 탄약 쿡오프 현상 활성화 Aktywuj samozapłon amunicji + Active le cook-off des munitions Enables Ammunition cook off. Fires ammunition projectiles while vehicle is on fire and has ammunition. 弾薬が誘爆します。車両が燃えると、搭載している弾薬が激しく燃え上がりす。 Ermöglicht Selbstzündung von Munition. Feuert Projektile der Munition ab, solange das Fahrzeug brennt und Munition besitzt. Aktywuje samozapłon amunicji. Wystrzeliwuje pociski podczas gdy pojazd płonie i posiada amunicję. + Mets à feu les munitions lorsqu'un véhicule est en feu et contient des munitions. Ammunition cook off duration Czas trwania samozapłonu amunicji + 弾薬の誘爆持続時間 + Durée cook-off des munitions Multiplier for how long cook off lasts [Setting to 0 will disable ammo cookoff] - Active le et les effets de destructions assosicée aux vehicules. + Multiplicateur de la durée du cook-off des munitions [Une valeur de 0 désactive l'effet] Mnożnik decydujący jak długo ma trwać samozapłon amunicji [Ustawienie na 0 spowoduje wyłącznie samozapłonu] + 誘爆の持続時間を乗数で設定。[0 に設定で誘爆を無効化] - \ No newline at end of file + diff --git a/addons/dagr/functions/fnc_outputWP.sqf b/addons/dagr/functions/fnc_outputWP.sqf index d36f222a51..2a877ba593 100644 --- a/addons/dagr/functions/fnc_outputWP.sqf +++ b/addons/dagr/functions/fnc_outputWP.sqf @@ -79,7 +79,11 @@ GVAR(outputPFH) = [{ }); // WP Heading - _bearing = floor ((_WPpos vectorDiff _MYpos) call CBA_fnc_vectDir); + _bearing = floor (if (GVAR(useDegrees)) then { + ((_WPpos vectorDiff _MYpos) call CBA_fnc_vectDir) + } else { + DEG_TO_MIL(((_WPpos vectorDiff _MYpos) call CBA_fnc_vectDir)) + }); // Output __gridControl ctrlSetText format ["%1", _dagrGrid]; diff --git a/addons/fcs/CfgEventHandlers.hpp b/addons/fcs/CfgEventHandlers.hpp index b477f93d6a..9c5c368307 100644 --- a/addons/fcs/CfgEventHandlers.hpp +++ b/addons/fcs/CfgEventHandlers.hpp @@ -17,7 +17,7 @@ class Extended_PostInit_EventHandlers { }; }; -class Extended_Init_EventHandlers { +class Extended_InitPost_EventHandlers { class Tank { class ADDON { serverInit = QUOTE(_this call FUNC(vehicleInit)); diff --git a/addons/frag/ACE_Settings.hpp b/addons/frag/ACE_Settings.hpp index eb0beea661..63a3d564d2 100644 --- a/addons/frag/ACE_Settings.hpp +++ b/addons/frag/ACE_Settings.hpp @@ -25,20 +25,13 @@ class ACE_Settings { displayName = CSTRING(MaxTrack); description = CSTRING(MaxTrack_Desc); typeName = "SCALAR"; - value = 500; + value = 10; }; class GVAR(maxTrackPerFrame) { category = CSTRING(Module_DisplayName); displayName = CSTRING(MaxTrackPerFrame); description = CSTRING(MaxTrackPerFrame_Desc); typeName = "SCALAR"; - value = 50; - }; - class GVAR(enableDebugTrace) { - category = CSTRING(Module_DisplayName); - displayName = CSTRING(EnableDebugTrace); - description = CSTRING(EnableDebugTrace_Desc); - typeName = "BOOL"; - value = 0; + value = 10; }; }; diff --git a/addons/frag/XEH_PREP.hpp b/addons/frag/XEH_PREP.hpp index a9a9d43c5b..a7fb8ff8c3 100644 --- a/addons/frag/XEH_PREP.hpp +++ b/addons/frag/XEH_PREP.hpp @@ -7,19 +7,17 @@ PREP(spallTrack); // * Other */ PREP(addBlackList); -PREP(addTrack); -PREP(drawTraces); -PREP(removeTrack); +PREP(dev_addTrack); +PREP(dev_drawTraces); PREP(spallHP); -PREP(startTracing); -PREP(stopTracing); -PREP(trackTrace); +PREP(dev_startTracing); +PREP(dev_stopTracing); +PREP(dev_trackTrace); // New tracking mechanisms PREP(masterPFH); PREP(pfhRound); PREP(addPfhRound); -PREP(removePfhRound); // THIS SHOULD ABE USED SPARINGLY // Explosive Reflection PREP(findReflections); diff --git a/addons/frag/XEH_postInit.sqf b/addons/frag/XEH_postInit.sqf index 31f9515750..634212354c 100644 --- a/addons/frag/XEH_postInit.sqf +++ b/addons/frag/XEH_postInit.sqf @@ -1,11 +1,7 @@ #include "script_component.hpp" -if (GVAR(enableDebugTrace) && {!isMultiplayer}) then { - GVAR(traceFrags) = true; - GVAR(autoTrace) = true; -}; - if (isServer) then { + GVAR(lastFragTime) = -1; [QGVAR(frag_eh), {_this call FUNC(frago);}] call CBA_fnc_addEventHandler; }; @@ -24,6 +20,13 @@ if (isServer) then { // Cache for ammo type configs GVAR(cacheRoundsTypesToTrack) = [false] call CBA_fnc_createNamespace; -#ifdef DEBUG_ENABLED_FRAG + +// Debug stuff: + +#ifdef DRAW_FRAG_INFO +[] call FUNC(dev_startTracing); +#endif + +#ifdef DEBUG_MODE_FULL [true, true, 30] call FUNC(dev_debugAmmo); #endif diff --git a/addons/frag/XEH_preInit.sqf b/addons/frag/XEH_preInit.sqf index da87d01194..7cbd6092a1 100644 --- a/addons/frag/XEH_preInit.sqf +++ b/addons/frag/XEH_preInit.sqf @@ -6,23 +6,18 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; -GVAR(replacedBisArtyWrapper) = true; GVAR(blackList) = []; GVAR(traceFrags) = false; -GVAR(totalFrags) = 0; - GVAR(spallHPData) = []; GVAR(spallIsTrackingCount) = 0; -GVAR(autoTrace) = false; GVAR(traceID) = -1; GVAR(traces) = []; GVAR(tracesStarted) = false; GVAR(lastIterationIndex) = 0; GVAR(objects) = []; -GVAR(objectTypes) = []; GVAR(arguments) = []; ADDON = true; diff --git a/addons/frag/functions/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf index 9950cab2b0..79cb41adab 100644 --- a/addons/frag/functions/fnc_addBlackList.sqf +++ b/addons/frag/functions/fnc_addBlackList.sqf @@ -1,5 +1,21 @@ +/* + * Author: Jaynus, NouberNou + * Adds a round to the blacklist (will be ignored). + * + * Arguments: + * 0: Projectile + * + * Return Value: + * Nothing + * + * Example: + * [bullet] call ace_frag_fnc_addBlackList + * + * Public: No + */ #include "script_component.hpp" params ["_round"]; +TRACE_1("addBlackList",_round); GVAR(blackList) pushBack _round; diff --git a/addons/frag/functions/fnc_addPfhRound.sqf b/addons/frag/functions/fnc_addPfhRound.sqf index f6cddbbd37..7c609f2146 100644 --- a/addons/frag/functions/fnc_addPfhRound.sqf +++ b/addons/frag/functions/fnc_addPfhRound.sqf @@ -1,27 +1,38 @@ +/* + * Author: Jaynus, NouberNou + * Starts tracking a round that will frag. + * Should only be called once per round. + * + * Arguments: + * 0: Shooter + * 1: Ammo classname + * 2: Projectile + * + * Return Value: + * Nothing + * + * Example: + * [player, "handGrenade", bullet] call ace_frag_fnc_addPfhRound + * + * Public: No + */ //#define DEBUG_MODE_FULL #include "script_component.hpp" -params ["_gun", "_type", "_round", ["_doFragTrack", false]]; +params ["_gun", "_type", "_round"]; +TRACE_3("addPfhRound",_gun,_type,_round); -if (!GVAR(enabled)) exitWith {}; +if (!GVAR(enabled)) exitWith {TRACE_1("setting disabled",_this);}; -//_enabled = getNumber (configFile >> "CfgAmmo" >> _type >> QGVAR(enabled)); -//if (_enabled < 1) exitWith {}; +if (!alive _round) exitWith {TRACE_1("round dead?",_this);}; if (_round in GVAR(blackList)) exitWith { + TRACE_1("round in blackList",_this); REM(GVAR(blackList),_round); }; // Exit on max track -if ((count GVAR(objects)) > GVAR(maxTrack)) exitWith {}; - -if ( - _gun == ACE_player || - {(gunner _gun) == ACE_player} || - {local _gun && {!(isPlayer (gunner _gun))} && {!(isPlayer _gun)}} -) then { - _doFragTrack = true; -}; +if ((count GVAR(objects)) >= GVAR(maxTrack)) exitWith {TRACE_1("maxTrack limit",count GVAR(objects));}; private _doSpall = false; if (GVAR(SpallEnabled)) then { @@ -29,23 +40,23 @@ if (GVAR(SpallEnabled)) then { GVAR(spallHPData) = []; }; if (GVAR(spallIsTrackingCount) > 5) then { - // ACE_player sideChat "LIMT!"; + TRACE_1("At Spall Limit",GVAR(spallIsTrackingCount)); } else { _doSpall = true; INC(GVAR(spallIsTrackingCount)); }; + TRACE_2("",_doSpall,GVAR(spallIsTrackingCount)); }; -// ACE_player sideChat format ["c: %1", GVAR(spallIsTrackingCount)]; -if (GVAR(autoTrace)) then { - [ACE_player, _round, [1, 0, 0, 1]] call FUNC(addTrack); -}; +#ifdef DRAW_FRAG_INFO +[ACE_player, _round, [0, 1, 0, 1]] call FUNC(dev_addTrack); +#endif // We only do the single track object check here. // We should do an {!(_round in GVAR(objects))} // But we leave that out here for optimization. So this cannot be a framework function // Otherwise, it should only be added once and from the FiredEH -if (_doFragTrack && {alive _round}) then { +if (alive _round) then { private _spallTrack = []; private _spallTrackID = []; @@ -64,5 +75,4 @@ if (_doFragTrack && {alive _round}) then { if (_doSpall) then { [_round, 1, _spallTrack, _spallTrackID] call FUNC(spallTrack); }; - // ACE_player sideChat "WTF2"; }; diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_dev_addTrack.sqf similarity index 66% rename from addons/frag/functions/fnc_addTrack.sqf rename to addons/frag/functions/fnc_dev_addTrack.sqf index a93106d518..764627b60f 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_dev_addTrack.sqf @@ -1,10 +1,5 @@ #include "script_component.hpp" -if (GVAR(autoTrace)) then { - [] call FUNC(startTracing); -}; - -// setAccTime 0.05; params ["_origin", "_obj", ["_color", [1, 0, 0, 1]]]; private _positions = []; @@ -13,4 +8,4 @@ _positions pushBack [getPos _obj, _objSpd]; private _data = [_origin, typeOf _origin, typeOf _obj, _objSpd, _positions, _color]; private _index = GVAR(traces) pushBack _data; -[DFUNC(trackTrace), 0, [_obj, _index, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; +[DFUNC(dev_trackTrace), 0, [_obj, _index, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_drawTraces.sqf b/addons/frag/functions/fnc_dev_drawTraces.sqf similarity index 82% rename from addons/frag/functions/fnc_drawTraces.sqf rename to addons/frag/functions/fnc_dev_drawTraces.sqf index 6dd710f61c..c6ab838e84 100644 --- a/addons/frag/functions/fnc_drawTraces.sqf +++ b/addons/frag/functions/fnc_dev_drawTraces.sqf @@ -1,11 +1,10 @@ #include "script_component.hpp" { - private _positions = _x select 4; - private _color = _x select 5; + _x params ["", "", "", "", "_positions", "_color"]; private _index = 0; private _max = count _positions; - private _lastSpd = []; + // private _lastSpd = []; private _lastPos = []; while {_index < _max} do { _data1 = _positions select _index; @@ -17,7 +16,7 @@ drawLine3D [_pos1, _pos2, _color]; _lastPos = _pos2; - _lastSpd = _data1 select 1; + // _lastSpd = _data1 select 1; }; // drawIcon3D ["", [1,0,0,1], _lastPos, 0, 0, 0, format ["%1m/s", _lastSpd], 1, 0.05, "RobotoCondensed"]; } forEach GVAR(traces); diff --git a/addons/frag/functions/fnc_dev_startTracing.sqf b/addons/frag/functions/fnc_dev_startTracing.sqf new file mode 100644 index 0000000000..b58a491896 --- /dev/null +++ b/addons/frag/functions/fnc_dev_startTracing.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" + +if (GVAR(tracesStarted)) exitWith {}; + +INFO("Starting Trace Drawing"); + +GVAR(tracesStarted) = true; +GVAR(traceID) = [LINKFUNC(dev_drawTraces), 0, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_stopTracing.sqf b/addons/frag/functions/fnc_dev_stopTracing.sqf similarity index 82% rename from addons/frag/functions/fnc_stopTracing.sqf rename to addons/frag/functions/fnc_dev_stopTracing.sqf index e06a9a2b46..c25021bb4e 100644 --- a/addons/frag/functions/fnc_stopTracing.sqf +++ b/addons/frag/functions/fnc_dev_stopTracing.sqf @@ -1,5 +1,8 @@ #include "script_component.hpp" if (!GVAR(tracesStarted)) exitWith {}; + +INFO("Ending Trace Drawing"); + GVAR(tracesStarted) = false; [GVAR(traceID)] call CBA_fnc_removePerFrameHandler; diff --git a/addons/frag/functions/fnc_trackTrace.sqf b/addons/frag/functions/fnc_dev_trackTrace.sqf similarity index 100% rename from addons/frag/functions/fnc_trackTrace.sqf rename to addons/frag/functions/fnc_dev_trackTrace.sqf diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 97c52062d1..ee1bc37384 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -99,9 +99,9 @@ for "_i" from 1 to _spallCount do { _fragment setPosASL _spallPos; _fragment setVelocity _spallFragVect; - if (GVAR(traceFrags)) then { - [ACE_player, _fragment, [1, 0.5, 0, 1]] call FUNC(addTrack); - }; + #ifdef DRAW_FRAG_INFO + [ACE_player, _fragment, [1, 0.5, 0, 1]] call FUNC(dev_addTrack); + #endif }; _spread = 5 + (random 5); @@ -122,7 +122,7 @@ for "_i" from 1 to _spallCount do { _fragment setPosASL _spallPos; _fragment setVelocity _spallFragVect; - if (GVAR(traceFrags)) then { - [ACE_player, _fragment, [1, 0, 0, 1]] call FUNC(addTrack); - }; + #ifdef DRAW_FRAG_INFO + [ACE_player, _fragment, [1, 0, 0, 1]] call FUNC(dev_addTrack); + #endif }; diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 96841dd7ac..42885d55b0 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -50,6 +50,14 @@ if (isNil "_shouldAdd") then { }; if (_shouldAdd) then { - TRACE_3("Running Frag Tracking",_unit,_ammo,_projectile); + // firedMan will have nil "_gunner", so just check _unit; for firedVehicle we want to check _gunner + private _localShooter = if (isNil "_gunner") then {local _unit} else {local _gunner}; + TRACE_4("",_localShooter,_unit,_ammo,_projectile); + if (!_localShooter) exitWith {}; + + // Skip if less than 0.5 second from last shot + if ((CBA_missionTime - (_unit getVariable [QGVAR(lastTrack), -1])) < 0.5) exitWith {}; + _unit setVariable [QGVAR(lastTrack), CBA_missionTime]; + [_unit, _ammo, _projectile] call FUNC(addPfhRound); }; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index 5481649b54..49f1a62237 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -1,17 +1,35 @@ -//fnc_frago.sqf -// #define DEBUG_MODE_FULL +/* + * Author: Jaynus, NouberNou + * Server func to create the fragmentation for a round. + * + * Arguments: + * 0: Last Position (ASL) + * 1: Velocity + * 2: Ammo Classname + * + * Return Value: + * Nothing + * + * Example: + * [[], [], "handGrenade"] call ace_frag_fnc_frago + * + * Public: No + */ +//#define DEBUG_MODE_FULL #include "script_component.hpp" #define FRAG_VEC_VAR 0.004 - #define MAX_FRAG_COUNT 50 -if (!isServer) exitWith {}; - BEGIN_COUNTER(frago); -// _startTime = diag_tickTime; -params ["_round", "_lastPos", "_lastVel", "_shellType", "_firedFrame", "_gun"]; +params ["_lastPos", "_lastVel", "_shellType"]; +TRACE_3("frago",_lastPos,_lastVel,_shellType); + +// Limit max frag count if there was a recent frag +private _maxFrags = round (MAX_FRAG_COUNT * linearConversion [0.1, 1.5, (CBA_missionTime - GVAR(lastFragTime)), 0.1, 1, true]); +TRACE_2("",_maxFrags,CBA_missionTime - GVAR(lastFragTime)); +GVAR(lastFragTime) = CBA_missionTime; private _fragTypes = [ QGVAR(tiny), QGVAR(tiny), QGVAR(tiny), @@ -28,12 +46,6 @@ if (isArray (configFile >> "CfgAmmo" >> _shellType >> QGVAR(CLASSES))) then { _warn = true; }; -private _isArmed = true; -if (!isNil "_gun") then { - private _fuseDist = getNumber(configFile >> "CfgAmmo" >> _shellType >> "fuseDistance"); - _isArmed = ((getPosASL _gun) distance _lastPos > _fuseDist); -}; - private _indirectHitRange = getNumber(configFile >> "CfgAmmo" >> _shellType >> "indirecthitrange"); private _fragRange = 20 * _indirectHitRange * 4; // _c = 185; // grams of comp-b @@ -69,104 +81,91 @@ if ((_atlPos select 2) < 0.5) then { _lastPos vectorAdd [0, 0, 0.5]; }; -// _manObjects = _atlPos nearEntities ["CaManBase", _fragRange]; - -// setAccTime 0.01; - -//_objects = nearestObjects [_atlPos, ["AllVehicles"], _fragRange]; // Not sure if tracking "ReammoBox" is required, if so revert this change for _objects private _objects = _atlPos nearEntities [["Car", "Motorcycle", "Tank", "StaticWeapon", "CAManBase", "Air", "Ship"], _fragRange]; - -// _objects = _manObjects; // Add unique crews in faster way { { _objects pushBackUnique _x; } forEach (crew _x); } forEach _objects; +TRACE_2("",_fragRange,count _objects); private _fragCount = 0; private _fragArcs = []; _fragArcs set [360, 0]; -#ifdef DEBUG_MODE_FULL - ACE_player sideChat format ["_fragRange: %1", _fragRange]; - ACE_player sideChat format ["_objects: %1", _objects]; -#endif - private _doRandom = true; -if (_isArmed && {!(_objects isEqualTo [])}) then { +if (!(_objects isEqualTo [])) then { if (GVAR(reflectionsEnabled)) then { [_lastPos, _shellType] call FUNC(doReflections); }; { - //if (random(1) > 0.5) then { - private _target = _x; - if (alive _target) then { - (boundingBox _target) params ["_boundingBoxA", "_boundingBoxB"]; + private _target = _x; + if (alive _target) then { + (boundingBox _target) params ["_boundingBoxA", "_boundingBoxB"]; - private _cubic = ((abs (_boundingBoxA select 0)) + (_boundingBoxB select 0)) * ((abs (_boundingBoxA select 1)) + (_boundingBoxB select 1)) * ((abs (_boundingBoxA select 2)) + (_boundingBoxB select 2)); + private _cubic = ((abs (_boundingBoxA select 0)) + (_boundingBoxB select 0)) * ((abs (_boundingBoxA select 1)) + (_boundingBoxB select 1)) * ((abs (_boundingBoxA select 2)) + (_boundingBoxB select 2)); - if (_cubic <= 1) exitWith {}; - _doRandom = true; + if (_cubic <= 1) exitWith {}; + // _doRandom = true; - private _targetVel = velocity _target; - private _targetPos = getPosASL _target; - private _distance = _targetPos vectorDistance _lastPos; - private _add = ((_boundingBoxB select 2) / 2) + ((((_distance - (_fragpower / 8)) max 0) / _fragPower) * 10); + private _targetVel = velocity _target; + private _targetPos = getPosASL _target; + private _distance = _targetPos vectorDistance _lastPos; + private _add = ((_boundingBoxB select 2) / 2) + ((((_distance - (_fragpower / 8)) max 0) / _fragPower) * 10); - _targetPos = _targetPos vectorAdd [ - (_targetVel select 0) * (_distance / _fragPower), - (_targetVel select 1) * (_distance / _fragPower), - _add - ]; + _targetPos = _targetPos vectorAdd [ + (_targetVel select 0) * (_distance / _fragPower), + (_targetVel select 1) * (_distance / _fragPower), + _add + ]; - private _baseVec = _lastPos vectorFromTo _targetPos; + private _baseVec = _lastPos vectorFromTo _targetPos; - private _dir = floor (_baseVec call CBA_fnc_vectDir); - private _currentCount = RETDEF(_fragArcs select _dir,0); - if (_currentCount < 20) then { - private _count = ceil (random (sqrt (_m / 1000))); - private _vecVar = FRAG_VEC_VAR; - if (!(_target isKindOf "Man")) then { - ADD(_vecVar,(sqrt _cubic) / 2000); - if ((crew _target) isEqualTo [] && {_count > 0}) then { - _count = 0 max (_count / 2); - }; + private _dir = floor (_baseVec call CBA_fnc_vectDir); + private _currentCount = RETDEF(_fragArcs select _dir,0); + if (_currentCount < 10) then { + private _count = ceil (random (sqrt (_m / 1000))); + private _vecVar = FRAG_VEC_VAR; + if (!(_target isKindOf "Man")) then { + ADD(_vecVar,(sqrt _cubic) / 2000); + if ((crew _target) isEqualTo [] && {_count > 0}) then { + _count = 0 max (_count / 2); }; - for "_i" from 1 to _count do { - private _vec = _baseVec vectorDiff [ - (_vecVar / 2) + (random _vecVar), - (_vecVar / 2) + (random _vecVar), - (_vecVar / 2) + (random _vecVar) - ]; - - private _fp = _fragPower - (random (_fragPowerRandom)); - private _vel = _vec vectorMultiply _fp; - - private _fragType = round (random ((count _fragTypes) - 1)); - private _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; - // diag_log text format ["fp: %1 %2", _fp, typeOf _fragObj]; - _fragObj setPosASL _lastPos; - _fragObj setVectorDir _vec; - _fragObj setVelocity _vel; - if (GVAR(traceFrags)) then { - INC(GVAR(totalFrags)); - [ACE_player, _fragObj, [1,0,0,1]] call FUNC(addTrack); - }; - INC(_fragCount); - INC(_currentCount); - }; - _fragArcs set [_dir, _currentCount]; }; + for "_i" from 1 to _count do { + private _vec = _baseVec vectorDiff [ + (_vecVar / 2) + (random _vecVar), + (_vecVar / 2) + (random _vecVar), + (_vecVar / 2) + (random _vecVar) + ]; + + private _fp = _fragPower - (random (_fragPowerRandom)); + private _vel = _vec vectorMultiply _fp; + + private _fragObj = (selectRandom _fragTypes) createVehicleLocal [0,0,10000]; + // TRACE_4("targeted",_fp, typeOf _fragObj,_lastPos vectorDistance _targetPos,typeOf _x); + _fragObj setPosASL _lastPos; + _fragObj setVectorDir _vec; + _fragObj setVelocity _vel; + #ifdef DRAW_FRAG_INFO + [ACE_player, _fragObj, [1,0,0,1]] call FUNC(dev_addTrack); + #endif + INC(_fragCount); + INC(_currentCount); + }; + _fragArcs set [_dir, _currentCount]; }; - //}; - if (_fragCount > MAX_FRAG_COUNT) exitWith {}; + }; + if (_fragCount > _maxFrags) exitWith {}; } forEach _objects; - if (_fragCount > MAX_FRAG_COUNT) exitWith {}; - private _randomCount = ((ceil ((MAX_FRAG_COUNT - _fragCount) * 0.1)) max 0) + 20; + TRACE_1("targeted",_fragCount); + if (_fragCount > _maxFrags) exitWith {}; + private _randomCount = ceil ((_maxFrags - _fragCount) * 0.35); + TRACE_1("",_randomCount); private _sectorSize = 360 / (_randomCount max 1); - // _doRandom = false; + if (_doRandom) then { for "_i" from 1 to _randomCount do { // Distribute evenly @@ -178,24 +177,19 @@ if (_isArmed && {!(_objects isEqualTo [])}) then { _vel = _vec vectorMultiply _fp; - _fragType = round (random ((count _fragTypes) - 1)); - _fragObj = (_fragTypes select _fragType) createVehicleLocal [0, 0, 10000]; + _fragObj = (selectRandom _fragTypes) createVehicleLocal [0, 0, 10000]; _fragObj setPosASL _lastPos; _fragObj setVectorDir _vec; _fragObj setVelocity _vel; - if (GVAR(traceFrags)) then { - INC(GVAR(totalFrags)); - [ACE_player, _fragObj, [1,0.5,0,1]] call FUNC(addTrack); - }; + #ifdef DRAW_FRAG_INFO + [ACE_player, _fragObj, [1,0.5,0,1]] call FUNC(dev_addTrack); + #endif INC(_fragCount); }; }; - }; -// #ifdef DEBUG_MODE_FULL - // ACE_player sideChat format["total frags: %1", GVAR(totalFrags)]; - // ACE_player sideChat format["tracks: %1", (count GVAR(trackedObjects))]; -// #endif -// _endTime = diag_tickTime; + +TRACE_1("total created",_fragCount); + END_COUNTER(frago); diff --git a/addons/frag/functions/fnc_masterPFH.sqf b/addons/frag/functions/fnc_masterPFH.sqf index f6adb56161..10b7743102 100644 --- a/addons/frag/functions/fnc_masterPFH.sqf +++ b/addons/frag/functions/fnc_masterPFH.sqf @@ -1,19 +1,20 @@ /* * Author: jaynus - * - * Master single PFH abstraction for all rounds being tracked by frag/spall + * Master single PFH abstraction for all rounds being tracked by frag/spall. * * Arguments: - * + * None * * Return Value: * None */ //#define DEBUG_MODE_FULL #include "script_component.hpp" -//PARAMS_2(_pfhArgs,_handle); -if (!GVAR(enabled)) exitWith {}; +BEGIN_COUNTER(PFH); + +// Fast exit if nothing to do +if (GVAR(objects) isEqualTo []) exitWith {END_COUNTER(PFH);}; private _gcIndex = []; @@ -47,3 +48,5 @@ private _deletionCount = 0; INC(_deletionCount); } forEach _gcIndex; + +END_COUNTER(PFH); diff --git a/addons/frag/functions/fnc_pfhRound.sqf b/addons/frag/functions/fnc_pfhRound.sqf index f233fa45a6..3c72a525c9 100644 --- a/addons/frag/functions/fnc_pfhRound.sqf +++ b/addons/frag/functions/fnc_pfhRound.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -params ["_round", "_lastPos", "_lastVel", "_type", "_firedFrame", "_gun", "_doSpall", "_spallTrack", "_foundObjectHPIds", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; +params ["_round", "_lastPos", "_lastVel", "_shellType", "_firedFrame", "_gun", "_doSpall", "_spallTrack", "_foundObjectHPIds", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; if (_round in GVAR(blackList)) exitWith { false @@ -11,14 +11,22 @@ if (!alive _round) exitWith { if (_skip == 0) then { if ((_explosive > 0.5 && {_indirectRange >= 4.5} && {_fragPower >= 35}) || {_force == 1}) then { // shotbullet, shotShell don't seem to explode when touching water, so don't create frags - if (((_lastPos select 2) < 0) && {(toLower getText (configFile >> "CfgAmmo" >> _type >> "simulation")) in ["shotbullet", "shotshell"]}) exitWith {}; - [QGVAR(frag_eh), _this] call CBA_fnc_serverEvent; + if (((_lastPos select 2) < 0) && {(toLower getText (configFile >> "CfgAmmo" >> _shellType >> "simulation")) in ["shotbullet", "shotshell"]}) exitWith {}; + private _isArmed = true; + if (!isNil "_gun") then { + private _fuseDist = getNumber(configFile >> "CfgAmmo" >> _shellType >> "fuseDistance"); + _isArmed = ((getPosASL _gun) distance _lastPos > _fuseDist); + TRACE_2("",_fuseDist,_isArmed); + }; + if (!_isArmed) exitWith {TRACE_1("round not armed",_this);}; + TRACE_3("Sending frag event to server",_lastPos,_lastVel,_shellType); + [QGVAR(frag_eh), [_lastPos,_lastVel,_shellType]] call CBA_fnc_serverEvent; }; }; }; if (_doSpall) then { DEC(GVAR(spallIsTrackingCount)); - // diag_log text format ["F: %1", _foundObjectHPIds]; + TRACE_1("doSpall",_foundObjectHPIds); { if (!isNil "_x") then { _x removeEventHandler ["hitPart", _foundObjectHPIds select _forEachIndex]; diff --git a/addons/frag/functions/fnc_removePfhRound.sqf b/addons/frag/functions/fnc_removePfhRound.sqf deleted file mode 100644 index 9241c7aecb..0000000000 --- a/addons/frag/functions/fnc_removePfhRound.sqf +++ /dev/null @@ -1,11 +0,0 @@ -#include "script_component.hpp" - -// THIS FUNCTION SHOULD NOT BE USED BECAUSE IT CAUSES AN SEARCH AND REBUILD - -params ["_round"]; - -if (_round in GVAR(blackList)) then { - REM(GVAR(blackList),_round); -}; - -REM(GVAR(objects),_round); diff --git a/addons/frag/functions/fnc_removeTrack.sqf b/addons/frag/functions/fnc_removeTrack.sqf deleted file mode 100644 index 8c0f7e3736..0000000000 --- a/addons/frag/functions/fnc_removeTrack.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" - -private _ret = true; -if (IS_ARRAY(_this select 0)) then { - _ret = false; -} else { - if ((_this select 0) in GVAR(trackedObjects)) then { - REM(GVAR(trackedObjects),_this select 0); - } else { - _ret = false; - }; -}; -_ret diff --git a/addons/frag/functions/fnc_startTracing.sqf b/addons/frag/functions/fnc_startTracing.sqf deleted file mode 100644 index c697a8dca2..0000000000 --- a/addons/frag/functions/fnc_startTracing.sqf +++ /dev/null @@ -1,5 +0,0 @@ -#include "script_component.hpp" - -if (GVAR(tracesStarted)) exitWith {}; -GVAR(tracesStarted) = true; -GVAR(traceID) = [FUNC(drawTraces), 0, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/frag/script_component.hpp b/addons/frag/script_component.hpp index 59868e36cf..0215e9f4d7 100644 --- a/addons/frag/script_component.hpp +++ b/addons/frag/script_component.hpp @@ -2,7 +2,7 @@ #define COMPONENT_BEAUTIFIED Frag #include "\z\ace\addons\main\script_mod.hpp" -//#define DEBUG_ENABLED_FRAG +// #define DRAW_FRAG_INFO // #define DEBUG_MODE_FULL // #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index b7b5de9e1b..5b93a7a459 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -20,7 +20,7 @@ if (!hasInterface) exitWith {}; if (GVAR(effects) == 0) exitWith {}; // ---Add the TINT Effect--- - + // make sure to stack effect layers in correct order GVAR(GogglesEffectsLayer) = QGVAR(GogglesEffectsLayer) call BIS_fnc_RSCLayer; GVAR(GogglesLayer) = QGVAR(GogglesLayer) call BIS_fnc_RSCLayer; @@ -29,6 +29,26 @@ if (!hasInterface) exitWith {}; GVAR(UsePP) = true; }; + // init pp effects + GVAR(PostProcess) = ppEffectCreate ["ColorCorrections", 1995]; + GVAR(EffectsActive) = false; + + // add glasses eventhandlers + ["ace_glassesChanged", { + params ["_unit", "_glasses"]; + TRACE_2("ace_glassesChanged eh",_unit,_glasses); + + SETGLASSES(_unit,GLASSESDEFAULT); + + if (call FUNC(ExternalCamera)) exitWith {call FUNC(RemoveGlassesEffect)}; + + if ([_unit] call FUNC(isGogglesVisible)) then { + [_unit, _glasses] call FUNC(applyGlassesEffect); + } else { + call FUNC(removeGlassesEffect); + }; + }] call CBA_fnc_addEventHandler; + // init GlassesChanged eventhandler GVAR(OldGlasses) = ""; ["loadout", { @@ -40,12 +60,9 @@ if (!hasInterface) exitWith {}; ["ace_glassesChanged", [_unit, _currentGlasses]] call CBA_fnc_localEvent; GVAR(OldGlasses) = _currentGlasses; }; - }] call CBA_fnc_addPlayerEventHandler; + }, true] call CBA_fnc_addPlayerEventHandler; - // init pp effects - GVAR(PostProcess) = ppEffectCreate ["ColorCorrections", 1995]; - GVAR(EffectsActive) = false; // check goggles private _fnc_checkGoggles = { @@ -57,7 +74,7 @@ if (!hasInterface) exitWith {}; }; } else { if (!(call FUNC(externalCamera)) && {[_unit] call FUNC(isGogglesVisible)}) then { - [goggles _unit] call FUNC(applyGlassesEffect); + [_unit, goggles _unit] call FUNC(applyGlassesEffect); }; }; }; @@ -66,21 +83,6 @@ if (!hasInterface) exitWith {}; ["ace_activeCameraChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; - // add glasses eventhandlers - ["ace_glassesChanged", { - params ["_unit", "_glasses"]; - - SETGLASSES(_unit,GLASSESDEFAULT); - - if (call FUNC(ExternalCamera)) exitWith {call FUNC(RemoveGlassesEffect)}; - - if ([_unit] call FUNC(isGogglesVisible)) then { - _glasses call FUNC(applyGlassesEffect); - } else { - call FUNC(removeGlassesEffect); - }; - }] call CBA_fnc_addEventHandler; - // // ---Add the Dust/Dirt/Rain Effects--- if (GVAR(effects) == 2) then { @@ -96,7 +98,7 @@ if (!hasInterface) exitWith {}; GVAR(PostProcessEyes) ppEffectCommit 0; GVAR(PostProcessEyes) ppEffectEnable false; GVAR(PostProcessEyes_Enabled) = false; - + GVAR(FrameEvent) = [false, [false, 20]]; GVAR(DustHandler) = -1; GVAR(RainDrops) = objNull; diff --git a/addons/goggles/functions/fnc_applyGlassesEffect.sqf b/addons/goggles/functions/fnc_applyGlassesEffect.sqf index 71a5b3b84c..71425ce6ca 100644 --- a/addons/goggles/functions/fnc_applyGlassesEffect.sqf +++ b/addons/goggles/functions/fnc_applyGlassesEffect.sqf @@ -5,23 +5,29 @@ * Sets dirt/rain overlay for glasses. * * Arguments: - * 0: Glasses classname to be applied + * 0: Player + * 1: Glasses classname to be applied * * Return Value: * None * * Example: - * [goggles ace_player] call ace_goggles_fnc_applyGlassesEffect + * [ace_player, goggles ace_player] call ace_goggles_fnc_applyGlassesEffect * * Public: No */ #include "script_component.hpp" -params ["_glasses"]; +params ["_player", "_glasses"]; +TRACE_2("applyGlassesEffect",_player,_glasses); // remove old effect call FUNC(removeGlassesEffect); +if ((getNumber (configFile >> "CfgVehicles" >> (typeOf _player) >> "isPlayableLogic")) == 1) exitWith { + TRACE_1("skipping playable logic",typeOf _player); // VirtualMan_F (placeable logic zeus / spectator) +}; + private ["_config", "_postProcessColour", "_postProcessTintAmount", "_imagePath"]; _config = configFile >> "CfgGlasses" >> _glasses; diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf index cd2a5aec16..17548a973b 100644 --- a/addons/hearing/XEH_postInit.sqf +++ b/addons/hearing/XEH_postInit.sqf @@ -48,7 +48,7 @@ GVAR(lastPlayerVehicle) = objNull; ["unit", { params ["_player", "_oldPlayer"]; TRACE_2("unit change",_player,_oldPlayer); - + if (!isNull _oldPlayer) then { private _firedEH = _oldPlayer getVariable [QGVAR(firedEH), -1]; _oldPlayer removeEventHandler ["FiredNear", _firedEH]; @@ -60,6 +60,9 @@ GVAR(lastPlayerVehicle) = objNull; }; // Don't add a new EH if the unit respawned if ((_player getVariable [QGVAR(firedEH), -1]) == -1) then { + if ((getNumber (configFile >> "CfgVehicles" >> (typeOf _player) >> "isPlayableLogic")) == 1) exitWith { + TRACE_1("skipping playable logic",typeOf _player); // VirtualMan_F (placeable logic zeus / spectator) + }; private _firedEH = _player addEventHandler ["FiredNear", {call FUNC(firedNear)}]; _player setVariable [QGVAR(firedEH), _firedEH]; private _explosionEH = _player addEventHandler ["Explosion", {call FUNC(explosionNear)}]; @@ -69,7 +72,6 @@ GVAR(lastPlayerVehicle) = objNull; GVAR(deafnessDV) = 0; GVAR(deafnessPrior) = 0; - ACE_player setVariable [QGVAR(deaf), false]; GVAR(time3) = 0; [] call FUNC(updateHearingProtection); }, true] call CBA_fnc_addPlayerEventHandler; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index 7e82e2c160..dbe9d548cd 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -42,6 +42,27 @@ GVAR(ParsedTextCached) = []; [219, [false, true, false]], false] call CBA_fnc_addKeybind; //Left Windows Key + Ctrl/Strg +["ACE3 Common", QGVAR(InteractKey_Toggle), +format ["%1 (%2)", (localize LSTRING(InteractKey)), localize ELSTRING(common,KeybindToggle)], +{ + if (GVAR(openedMenuType) != 0) then { + [0] call FUNC(keyDown) + } else { + [0,false] call FUNC(keyUp) + }; +}, {}, [-1, [false, false, false]], false] call CBA_fnc_addKeybind; // UNBOUND + +["ACE3 Common", QGVAR(SelfInteractKey_Toggle), +format ["%1 (%2)", (localize LSTRING(SelfInteractKey)), localize ELSTRING(common,KeybindToggle)], +{ + if (GVAR(openedMenuType) != 1) then { + [1] call FUNC(keyDown) + } else { + [1, false] call FUNC(keyUp) + }; +}, {}, [-1, [false, false, false]], false] call CBA_fnc_addKeybind; // UNBOUND + + // Listens for the falling unconscious event, just in case the menu needs to be closed ["ace_unconscious", { // If no menu is open just quit diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 786cb6ec55..4014441551 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -7,6 +7,7 @@ Laserstreuung-Simulationszähler 레이저 분산 시뮬레이션 수 Wskaźnik poziomu rozproszenia wiązki lasera + Compte de la simulation de la dispersion du laser Laser Code @@ -51,4 +52,4 @@ 레이저 - 코드 순환 아래 - \ No newline at end of file + diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp index 9b3aef92a4..6b0cc9e423 100644 --- a/addons/main/script_version.hpp +++ b/addons/main/script_version.hpp @@ -1,4 +1,4 @@ #define MAJOR 3 #define MINOR 9 -#define PATCHLVL 0 -#define BUILD 16 +#define PATCHLVL 1 +#define BUILD 17 diff --git a/addons/map/XEH_postInitClient.sqf b/addons/map/XEH_postInitClient.sqf index 110d07ee0c..f022e2c81e 100644 --- a/addons/map/XEH_postInitClient.sqf +++ b/addons/map/XEH_postInitClient.sqf @@ -116,12 +116,13 @@ call FUNC(determineZoom); GVAR(hasWatch) = true; ["loadout", { - if (isNull (_this select 0)) exitWith { + params ["_unit"]; + if (isNull _unit) exitWith { GVAR(hasWatch) = true; }; GVAR(hasWatch) = false; { if (_x isKindOf ["ItemWatch", configFile >> "CfgWeapons"]) exitWith {GVAR(hasWatch) = true;}; false - } count (assignedItems ACE_player); -}] call CBA_fnc_addPlayerEventHandler; + } count (assignedItems _unit); +}, true] call CBA_fnc_addPlayerEventHandler; diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 2c0349dc0d..f5eb043e80 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -444,6 +444,7 @@ BFTを無効化 GPS피아식별기 끄기 Wyłącz BFT + Désactive le BFT Always disable Blue Force Tracking for this group. @@ -451,6 +452,7 @@ このグループへのブルー フォース トラッキングを常に無効化します。 이 그룹에 한해 GPS피아식별기를 항상 끕니다. Zawsze wyłączaj Blue Force Tracking dla tej grupy. + Désactive en permanence le Blue Force Tracking pour ce groupe. - \ No newline at end of file + diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index f22d3b7ed4..8828aed603 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -179,6 +179,7 @@ Zeichne gerade Linien mit dem Kartenwerkzeug 독도용 도구로 직선 그리기 Rysuj proste linie przy użyciu narzędzi nawigacyjnych + Tracer des lignes droites Draw on the edge of maptools to draw straight lines. Note: Must hover at midpoint to delete. @@ -186,6 +187,7 @@ Zeichne gerade Linien am Rand des Kartenwerkzeugs. Hinweis: zum Löschen über den Mittelpunkt der Linie fahren 독도용 도구 가장자리에 직선을 그립니다. 주의: 삭제하기 위해선 선의 중앙에 가져다 대십시요 Przeciągnij po krawędzi narzędzi nawigacyjnych by narysować prostą linię. Uwaga: aby usunąć linię - nalezy ustawić kursor nad jej środkiem. + Utiliser le bord des outils de navigation pour tracer des lignes droites. Note: l'on doit survoler le milieu du trait pour pouvoir le supprimer. - \ No newline at end of file + diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 297e81bb34..6966b73c0b 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -20,7 +20,7 @@ Körperteil nicht verletzt... Non ci sono lesioni in questa parte del corpo... Данная часть тела не повреждена... - Aucune blessures sur cette partie du corps... + Aucune blessure ici... Brak obrażeń na tej części ciała... Sin heridas en esta parte del cuerpo... Ezen a testrészen nincs sérülés... @@ -62,7 +62,7 @@ Adenosin injizieren Inyectar Adenosina Wstrzyknij adenozynę - Injecter de l'adénosine + Adénosine Inietta andenosina Aplikovat adenosine Injetar Adenosina @@ -76,7 +76,7 @@ Inyectar Atropina Aplikovat atropin Wstrzyknij atropinę - Injecter de l'atropine + Atropine Ввести атропин Atropin beadása Inietta atropina @@ -90,7 +90,7 @@ Inyectar Epinefrina Wstrzyknij adrenalinę Aplikovat adrenalin - Injecter épinéphrine + Épinéphrine Ввести адреналин Epinefrin beadása Injetar Epinefrina @@ -105,7 +105,7 @@ Wstrzyknij morfinę Aplikovat morfin Ввести морфин - Injecter morphine + Morphine Morfium beadása Injetar Morfina Inietta morfina @@ -119,7 +119,7 @@ Przetocz krew Transfúze krve Перелить кровь - Transfuser du sang + Transfuser (sang) Infúzió (vér) Transfundir Sangue Trasfusione di sangue @@ -132,7 +132,7 @@ Transfundir plasma Transfúze plazmy Przetocz osocze - Transfuser du Plasma + Transfuser (plasma) Перелить плазму Infúzió (vérplazma) Trasfusione di plasma @@ -146,7 +146,7 @@ Transfundir salino Transfúze fyziologického roztoku Przetocz sól fizjologiczną - Transfuser de la solution saline + Transfuser (saline) Перелить физраствор Infúzió (sós víz) Trasfusione di soluzione salina @@ -160,7 +160,7 @@ Aplicar torniquete Aplikovat škrtidlo Załóż stazę - Appliquer un garrot + Poser garrot Наложить жгут Applica laccio emostatico Aplicar Torniquete @@ -273,7 +273,7 @@ Wstrzykiwanie morfiny... Aplikuji morfin... Введение морфина... - Injection de Morphine... + Injection (morphine)... Morfium beadása... Injetando Morfina... Inietto la morfina... @@ -287,7 +287,7 @@ Wstrzykiwanie adrenaliny... Aplikuji adrenalin... Введение адреналина... - Injection d'Adrénaline... + Injection (épinéphrine)... Epinefrin beadása... Injetando Epinefrina... Inietto l'adrenalina... @@ -299,7 +299,7 @@ Adenosin injizieren... Inyectando Adenosina... Wstrzykiwanie adenozyny... - Injection d'adénosine... + Injection (adénosine)... Inietto l'andenosina Aplikuji adenosine... Injetando Adenosina... @@ -313,7 +313,7 @@ Inyectando Atropina... Aplikuji atropin... Wstrzykiwanie atropiny... - Injection d'Atropine... + Injection (atropine)... Введение атропина... Atropin beadása... Inietto l'atropina... @@ -328,7 +328,7 @@ Przetaczanie krwi... Probíhá transfúze krve... Переливание крови... - Transfusion Sanguine... + Transfusion (sang)... Infúzió vérrel... Transfundindo Sangue... Effettuo la trasfusione di sangue... @@ -341,7 +341,7 @@ Transfusión de salino... Probíha transfúze fyziologického roztoku... Przetaczanie soli fizjologicznej... - Transfusion de saline... + Transfusion (solution saline)... Переливание физраствора... Infúzió sós vizzel... Effettuo la rasfusione di soluzione salina @@ -355,7 +355,7 @@ Transfusión de plasma... Probíha transfúze plazmy... Przetaczanie osocza... - Transfusion de Plasma... + Transfusion (plasma)... Переливание плазмы... Infúzió vérplazmával... Effettu la trasfusione di plasma... @@ -383,7 +383,7 @@ Aplicando torniquete... Aplikuji škrtidlo... Zakładanie stazy... - Mise en place du Garrot... + Pose du garrot... Наложение жгута... Érszorító felhelyezése... Sto applicando il laccio emostatico... @@ -412,7 +412,7 @@ Бинтовая повязка Obinadlo Bandaż jałowy - Bandage rapide + Pansement individuel Zárókötszer Bendaggio rapido Curativo de Campo @@ -427,7 +427,7 @@ Bandaż uciskowy Nyomókötszer Bendaggio compressivo - Bandage gauze + Bande extensible Bandagem de Compressão Obvaz Tlakový パッキング バンテージ @@ -440,7 +440,7 @@ Давящая повязка Obavaz Elastický Bandaż elastyczny - Pansement élastique + Bande compressive Rögzitő kötszer Bendaggio elastico Bandagem Elástica @@ -454,7 +454,7 @@ QuikClot Opatrunek QuikClot QuikClot - Hémostatique + Bandage hémostatique QuikClot QuikClot (polvere emostatica) QuikClot @@ -468,7 +468,7 @@ Проверить пульс Zkontrolovat puls Sprawdź tętno - Vérifier le pouls + Prendre le pouls Pulzus ellenőrzése Controlla il polso Checar Pulso @@ -482,7 +482,7 @@ Проверить давление Zkontrolovat krevní tlak Sprawdź ciśnienie krwi - Vérification de la tension + Prendre la tension Vérnyomás megmérése Controlla pressionsa sanguigna Chegar Pressão Sanguínea @@ -496,7 +496,7 @@ Медкарта Karta segregacyjna Štítek - Carte de triage + Fiche de triage Orvosi lap Triage Card Cartão de Triagem @@ -508,7 +508,7 @@ Keine Einträge auf der Triagekarte Nessuna voce sulla Triage Card Нет записей. - Aucune entrée sur cette carte de triage + Fiche vide Brak wpisów w tej karcie segregacyjnej. Sin entradas en esta tarjeta de clasificación. Ez az orvosi lap nem tartalmaz bejegyzést. @@ -538,7 +538,7 @@ Снять жгут Sundat škrtidlo Zdejmij stazę - Enlever le garrot + Enlever garrot Érszorító leszedése Rimuovi laccio emostatico Remover Torniquete @@ -578,7 +578,7 @@ HLW RCP Сердечно-лёгочная реанимация - RPC + RCP RKO RCP Újraélesztés @@ -592,7 +592,7 @@ HLW durchführen... Eseguendo RCP... Сердечно-лёгочная реанимация... - RPC en cours + RCP en cours Przeprowadzanie RKO... Realizando RCP... Újraélesztés folyamatban... @@ -607,7 +607,7 @@ Dar Sangre IV (1000ml) Перелить пакет крови (1000 мл) Podaj krew IV (1000ml) - Administrer du sang en IV (1000ml) + Sang en IV (1000ml) Podat krev. transfúzi (1000ml) Vér adása intravénásan (1000ml) Effettua trasfusione sangue EV (1˙000ml) @@ -621,8 +621,8 @@ Dar Sangre IV (500ml) Перелить пакет крови (500 мл) Podaj krew IV (500ml) - Administrer du sang en IV (500ml) - Podat krev. transfúzi (500ml) + Sang en IV (500ml) + Podat krev. transfúzi (500ml) Vér adása intravénásan (500ml) Effettua trasfusione sangue EV (500ml) Administrar Sangue IV (500ml) @@ -635,7 +635,7 @@ Dar Sangre IV (250ml) Перелить пакет крови (250 мл) Podaj krew IV (250ml) - Administrer du sang en IV (250ml) + Sang en IV (250ml) Podat krev. transfúzi (250ml) Vér adása intravénásan (250ml) Effettua trasfusione sangue EV (250ml) @@ -649,7 +649,7 @@ Dar Plasma IV (1000ml) Перелить пакет плазмы (1000 мл) Podaj osocze IV (1000ml) - Administrer du plasma en IV (1000ml) + Plasma en IV (1000ml) Podat plazmu (1000ml) Vérplazma adása intravénásan (1000ml) Effettua trasfusione plasma EV (1˙000ml) @@ -663,7 +663,7 @@ Dar Plasma IV (500ml) Перелить пакет плазмы (500 мл) Podaj osocze IV (500ml) - Administrer du plasma en IV (500ml) + Plasma en IV (500ml) Podat plazmu (500ml) Vérplazma adása intravénásan (500ml) Effettua trasfusione plasma EV (500ml) @@ -677,7 +677,7 @@ Dar Plasma IV (250ml) Перелить пакет плазмы (250 мл) Podaj osocze IV (250ml) - Administrer du plasma en IV (250ml) + Plasma en IV (250ml) Podat plazmu (250ml) Vérplazma adása intravénásan (250ml) Effettua trasfusione plasma EV (250ml) @@ -691,7 +691,7 @@ Dar Salino IV (1000ml) Перелить пакет физраствора (1000 мл) Podaj sól fizjologiczną IV (1000ml) - Administrer de la solution saline en IV (1000ml) + Solution saline en IV (1000ml) Podaz fyz. roztok (1000ml) Sós víz adása intravénásan (1000ml) Effettua trasfusione salina EV (1˙000ml) @@ -705,7 +705,7 @@ Dar Salino IV (500ml) Перелить пакет физраствора (500 мл) Podaj sól fizjologiczną IV (500ml) - Administrer de la solution saline en IV (500ml) + Solution saline en IV (500ml) Podaz fyz. roztok (500ml) Sós víz adása intravénásan (500ml) Effettua trasfusione salina EV (500ml) @@ -719,7 +719,7 @@ Dar Salino IV (250ml) Перелить пакет физраствора (250 мл) Podaj sól fizjologiczną IV (250ml) - Administrer de la solution saline en IV (250ml) + Solution saline en IV (250ml) Podaz fyz. roztok (250ml) Sós víz adása intravénásan (250ml) Effettua trasfusione salina EV (250ml) @@ -733,7 +733,7 @@ Menor Несрочная помощь Normalny - Mineur + Traitement en attente Minimální Enyhe Minore @@ -746,7 +746,7 @@ Retrasado Срочная помощь Opóźniony - Différé + Traitement urgent Verzögert Odložitelný Késleltetett @@ -760,7 +760,7 @@ Inmediato Неотложная помощь Natychmiastowy - Urgence Immédiate + Traitement immédiat Sofort Okamžitý Azonnali @@ -788,7 +788,7 @@ Ninguno Отсутствует Brak - Aucun + Pas de fiche Keine Nic Semmi @@ -816,7 +816,7 @@ Keine Atmung Дыхание отсутствует No respira - Aucune respiration + Pas de respiration Brak oddechu Nedýchá Nincs légzés @@ -829,7 +829,7 @@ Difficult breathing Дыхание затруднено Dificultad para respirar - Difficultée respiratoire + Difficulté respiratoire Trudności z oddychaniem Schwere Atmung Dýchá s obtížemi @@ -868,11 +868,11 @@ 출혈 - In Pain + In pain Hat Schmerzen Испытывает боль Con dolor - Ressent de la douleur + Douleur moyenne W bólu V bolestech Fájdalom alatt @@ -915,7 +915,7 @@ Recibiendo IV [%1ml] Принимается переливание [%1 мл] Otrzymywanie IV [pozostało %1ml] - Transfusion en IV [%1ml] + Transfusion : [%1ml] Přijímání transfúze [%1ml] Infúzióra kötve [%1ml] Ricevendo EV [%1ml] @@ -928,7 +928,7 @@ Bandage (Einfach) Повязка (обычная) Vendaje (Básico) - Bandage (Standard) + Pansement adhésif Bandaż (jałowy) Obvaz (Standartní) Kötszer (Általános) @@ -956,7 +956,7 @@ Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde. Повязка, накладываемая поверх раны после остановки кровотечения. Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. - Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. + Pansement utilisé pour couvrir une blessure lorsque le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. @@ -970,7 +970,7 @@ Mullbinde Тампонирующая повязка Vendaje compresivo - Bandage gauze + Bande extensible Bandaż (uciskowy) Nyomókötszer Bendaggio compressivo @@ -984,7 +984,7 @@ Wird verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen Для тампонирования ран среднего и большого размера и остановки кровотечения. Se utiliza para vendar heridas medianas o grandes y detener el sangrado - Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragie. + Utilisé pour couvrir des blessures moyennes et grandes, ralentit le saignement. Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. Dobrze radzi sobie z tamowaniem ran płatowych oraz postrzałowych. Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer Usato su ferite medie o larghe per fermare emorragie. @@ -1012,7 +1012,7 @@ Bandage (Elastisch) Повязка (давящая) Vendaje (Elástico) - Bandage (Élastique) + Bande compressive Bandaż (elastyczny) Obvaz (Elastický) Rögzító kötszer @@ -1026,7 +1026,7 @@ Elastische Binde (Kompressionsbinde) Давящая повязка Kit de vendaje (Elástico) - Bandage compressif élastique + Bande compressive Bandaż elastyczny służy do opatrywania ran ciętych oraz kłutych. Dobrze radzi sobie również ze zgniecieniami tkanek miękkich oraz rozerwaniami powierzchni skóry. Rugalmas kötszercsomag, "rögzítő" Kit di bendaggio, elastico @@ -1067,7 +1067,7 @@ Slows down blood loss when bleeding Замедляет кровопотерю при кровотечении Reduce la velocidad de pérdida de sangre - Ralentit le saignement + Ralentit l'hémorragie Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. Nie może być noszony zbyt długo ze względu na narastający ból z kończyny. Verringert den Blutverlust Lelassítja a vérvesztést vérzés esetén @@ -1081,7 +1081,7 @@ A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. Жгут используется для прижатия сосудов к костным выступам, которое приводит к остановке или значительному уменьшению кровотечения Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre - Un dispositif permettant de compresser les artères et veines afin de réduire la perte de sang. + Un dispositif permettant de compresser les artères et veines afin de ralentir l'hémorragie. Opaska uciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. Ein Hilfsmittel, das Druck auf Venen und Arterien ausübt und so den Blutfluss verringert. Egy szűkítőeszköz, mely a vénás és artériás nyomás keringés helyi összenyomására szolgál, ezzel lelassítva vagy megállítva az adott területen a vérkeringést. Ez csökkenti a vérvesztés mértékét. @@ -1096,7 +1096,7 @@ Morphium-Autoinjektor Морфин в пневмошприце Morfina auto-inyectable - Auto-injecteur de Morphine + Auto-injecteur de morphine Autostrzykawka z morfiną Auto-morfin Morfium autoinjektor @@ -1138,7 +1138,7 @@ Adenosin-Autoinjektor Asenosina auto-inyectable Autostrzykawka z adenozyną - Auto-injécteur d'adénosine + Auto-injecteur d'adénosine Autoiniettore di adenosina Auto-adenosine Auto-injetor de Adenosina @@ -1151,7 +1151,7 @@ Wird verwendet um die Symptome von Epiniphrin zu lindern Utilizada para contrarrestar los effectos de la Epinefrina Adenozyna. Stosowana do zwalczania efektów działania adrenaliny. - Utilisé pour contrer les effets de l'adrénaline + Utilisé pour contrer les effets de l'épinéphrine Usato per contrastare l'effetto dell'epinefrina Slouží jako protiváha Adrenalinu Usado para combater os efeitos da Epinefrina @@ -1164,7 +1164,7 @@ Ein Medikament, das die Symptome von Epiniphrin bekämpft. Medicamento usado para contrarrestar los efectos de la Epinefrina. Organiczny związek chemiczny z grupy nukleozydów. Skuteczna w leczeniu częstoskurczu komorowego. Działa rozszerzająco na naczynia krwionośne. - Un composé utilisé pour contrer les effets de l'adrénaline + Un composé utilisé pour contrer les effets de l'épinéphrine Medicamento usato per contrastare l'effetto dell'epinefrina Droga používaná k tlumení efektu Adrenalinu Uma droga usada para combater os efeitos da Epinefrina @@ -1176,7 +1176,7 @@ Atropine autoinjector Атропин в пневмошприце Atropina auto-inyectable - Auto-injecteur d'Atropine + Auto-injecteur d'atropine Autostrzykawka AtroPen Atropin-Autoinjektor Auto-atropine @@ -1260,7 +1260,7 @@ Plasma IV (1000ml) Плазма для в/в вливания (1000 мл) Plasma IV (1000ml) - Plasma Sanguin IV (1000ml) + Plasma IV (1000ml) Osocze IV (1000ml) Plasma IV (1000ml) Vérplazma-infúzió (1000ml) @@ -1274,13 +1274,13 @@ A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. - Supplément visant à remplacer les volumes sanguin + Supplément sanguin visant à remplacer les volumes perdus. Składnik krwi, używany do zwiększenia jej objętości. Egy térfogatnövelő vérkiegészítmény. Aiuta ad aumentare il volume sanguigno. Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - Intravenózně podávaný doplněk k zvětšení objemu krve + Intravenózně podávaný doplněk k zvětšení objemu krve 血液量を増加させる補助です。 혈액량을 늘리기위한 보조수단 입니다. @@ -1288,13 +1288,13 @@ A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. - Supplément visant à remplacer le volume sanguin et remplace les plaquettes. + Supplément visant à remplacer le volume sanguin perdu et remplace les plaquettes. Składnik krwi, używany do zwiększenia jej objętości. Egy térfogatnövelő vérkiegészítmény. Aiuta ad aumentare il volume sanguigno. Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - Intravenózně podávaný doplněk k zvětšení objemu krve + Intravenózně podávaný doplněk k zvětšení objemu krve 血液量を増加させる補助です。 혈액량을 늘리기위한 보조수단 입니다. @@ -1302,7 +1302,7 @@ Plasma IV (500ml) Плазма для в/в вливания (500 мл) Plasma IV (500ml) - Plasma sanguin IV (500ml) + Plasma IV (500ml) Osocze IV (500ml) Plasma IV (500ml) Vérplazma-infúzió (500ml) @@ -1316,7 +1316,7 @@ Plasma IV (250ml) Плазма для в/в вливания (250 мл) Plasma IV (250ml) - Plasma sanguin (250ml) + Plasma (250ml) Osocze IV (250ml) Plasma IV (250ml) Vérplazma-infúzió (250ml) @@ -1330,7 +1330,7 @@ Blood IV (1000ml) Кровь для переливания (1000 мл) Sangre IV (1000ml) - Cullot sanguin IV (1000ml) + Culot sanguin IV (1000ml) Krew IV (1000ml) Blut IV (1000ml) Vér-infúzió (1000ml) @@ -1344,7 +1344,7 @@ Blood IV, for restoring a patients blood (keep cold) Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) - Cullot sanguin O-, utilisé seulement lors de perte sanguine majeure afin de remplacer le volume sanguin perdu. Habituelment utilisé lors du transport ou dans un etablisement de soins. + Culot sanguin O-, utilisé seulement lors de perte sanguine majeure afin de remplacer le volume sanguin perdu. Habituellement utilisé lors du transport ou dans un établissement de soins. Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych. Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó) Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) @@ -1360,9 +1360,9 @@ Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos. Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue. - Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC. + Culot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC. O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. - Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. + Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus és ritka helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. 0 Rh negativní krev se používá v vzácných případech k doplnění pacientovy hladiny krve, obvykle při převozu zraněné osoby do nemocnice. O 型への輸血はまれで厳格であり、通常は治療のための輸送段階で輸血をおこないます。 @@ -1372,7 +1372,7 @@ Blood IV (500ml) Кровь для переливания (500 мл) Sangre IV (500ml) - Cullot sanguin IV (500ml) + Culot sanguin IV (500ml) Krew IV (500ml) Blut IV (500ml) Vér-infúzió (500ml) @@ -1386,7 +1386,7 @@ Blood IV (250ml) Кровь для переливания (250 мл) Sangre IV (250ml) - Cullot sanguin IV (250ml) + Culot sanguin IV (250ml) Krew IV (250ml) Blut IV (250ml) Vér-infúzió (250ml) @@ -1400,7 +1400,7 @@ Saline IV (1000ml) Физраствор для в/в вливания (1000 мл) Salino IV (1000ml) - Solution saline 0.9% IV (1000ml) + Solution saline IV (1000ml) Sól fizjologiczna IV (1000ml) Kochsalzlösung (1000ml) 0,9%-os sósvíz-infúzió (1000ml) @@ -1414,7 +1414,7 @@ Saline IV, for restoring a patients blood Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo - Solution saline 0.9% IV, pour rétablir temporairement la tension artérielle + Solution saline, pour rétablir temporairement la tension artérielle Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). 0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására Soluzione salina, usata per ripristinare sangue nei pazienti. @@ -1432,8 +1432,8 @@ Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni. Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione EV. - Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. - Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. + Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. + Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. Fyziologický roztok se využívá nejčastěji jako infuze při dehydrataci organismu. 生理食塩水 IV を静脈へ投与し、血液量を増加させることができます。 혈류에 IV로 투여되는 의료 용적 대체 요법 @@ -1442,7 +1442,7 @@ Saline IV (500ml) Физраствор для в/в вливания (500 мл) Salino IV (500ml) - Solution saline 0.9% IV (500ml) + Solution saline IV (500ml) Sól fizjologiczna IV (500ml) Kochsalzlösung (500ml) 0,9%-os sósvíz-infúzió (500ml) @@ -1456,7 +1456,7 @@ Saline IV (250ml) Физраствор для в/в вливания (250 мл) Salino IV (250ml) - Solution saline 0.9% IV (250ml) + Solution saline IV (250ml) Sól fizjologiczna IV (250ml) Kochsalzlösung (250ml) 0,9%-os sósvíz-infúzió (250ml) @@ -1503,7 +1503,7 @@ Verband mit Gerinnungsmittel, um starke Blutung zu behandeln. Hemostatikus kötszer egy vérzésgátló anyaggal. Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue - Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. + Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. Hemostatický obvaz určený k zástavě krvácení 血液凝固剤をふくむ包帯により、止血できます。 지혈시 사용하는 붕대로 혈액 응고제를 포함하고있습니다. @@ -1511,7 +1511,7 @@ Personal Aid Kit Аптечка - Trousse de premiers soins + Trousse sanitaire Equipo de primeros auxilios Apteczka osobista Persönliches Erste-Hilfe-Set @@ -1526,13 +1526,13 @@ Includes various treatment kit needed for stitching or advanced treatment Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. Incluye material médico para tratamientos avanzados - Inclue du matériel medical pour les traitements avancés, tel les points de suture. + Inclut du matériel medical pour les traitements délicats, tel les points de suture. Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego. Beinhaltet medizinisches Material für fortgeschrittene Behandlung und zum Nähen. Változatos segédfelszereléseket tartalmaz sebvarráshoz és haladó elsősegélynyújtáshoz Include vario materiale medico per trattamenti avanzati. Inclui vários tratamentos materiais para custura e tratamento avançado - Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných + Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných 縫合や高度な処置に必要とされる、さまざまな治療器具が含まれています。 봉합및 고급 조치에 필요한 다양한 치료 도구가 있습니다. @@ -1541,11 +1541,11 @@ W znacznym stopniu poprawia stan pacjenta Полевая аптчека для продвинутого лечения и зашивания ран Persönliches Erste-Hilfe-Set zum ambulanten Nähen und fortgeschrittener Behandlung. - Trousse de premiers soins pour coudre sur le terrain et traitements avancés. + Inclut du matériel medical pour les traitements délicats, tel les points de suture. Equipo de primeros auxilios para sutura de campaña o tratamientos avanzados Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Kit de primeiros socorros para sutura ou tratamentos avançados - Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli + Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli Pronto soccorso personale da campo per mettersi i punti o per trattamenti avanzati. 戦場で縫合や高度な処置に必要とされる、さまざまな治療器具が含まれています。 야전에서 봉합및 고급 조치를 위한 개인응급키트 @@ -1554,7 +1554,7 @@ Use Personal Aid Kit Erste-Hilfe-Set benutzen Использовать аптечку - Utiliser la Trousse de premier soins + Utiliser la trousse sanitaire Użyj apteczki osobistej Usar equipo de primeros auxilios Elsősegélycsomag használata @@ -1678,7 +1678,7 @@ Checking Blood Pressure.. - Mesure de la tension... + Prise de la tension... Проверка артериального давления... Comprobando presión arterial... Sprawdzanie ciśnienia krwi... @@ -1695,7 +1695,7 @@ %1 kontrollierte Blutdruck: %2 %1 controllata pressione sanguigna: %2 %1 проверил артериальное давление: %2 - %1 à vérifié la tension: %2 + %1 a mesuré la tension: %2 %1 sprawdził ciśnienie krwi: %2 %1 verificada la presión arterial: %2 %1 ellenőrizte a vérnyomást: %2 @@ -1706,7 +1706,7 @@ You checked %1 - Vous diagnostiquez %1 + Vous examinez %1 Вы осмотрели раненого %1 Examinando a %1 Zbadałeś %1 @@ -1720,7 +1720,7 @@ You find a blood pressure of %2/%3 - Vous avez trouvé une tension de %2/%3 + Vous avez mesuré une tension de %2/%3 Артериальное давление %2/%3 La Presión Arterial es %2/%3 A vérnyomás %2/%3 @@ -1762,7 +1762,7 @@ You find a high blood pressure - Tension haute + Tension élevée Давление высокое La presión arterial es alta Wyczuwasz wysokie ciśnienie krwi @@ -1807,7 +1807,7 @@ Niedrig Bassa Низкое - Faible + basse Niskie Baja Alacsony @@ -1821,7 +1821,7 @@ Normal Normale Нормальное - Normale + normale Normalne Normal Normális @@ -1835,7 +1835,7 @@ Hoch Alta Высокое - Haute + élevée Wysokie Alta Magas @@ -1849,7 +1849,7 @@ Kein Blutdruck Nessuna Pressione Sanguigna Артериальное давление отсутствует - Aucune tension + pas de tension Brak ciśnienia krwi Sin presión arterial Nincs vérnyomás @@ -1874,7 +1874,7 @@ Checking Heart Rate... - Vérification du rythme cardiaque... + Vérification du pouls... Проверка пульса... Comprobando ritmo cardíaco... Sprawdzanie tętna... @@ -1905,7 +1905,7 @@ %1 kontrollierte Herzfrequenz: %2 %1 Controllata Frequenza Cardiaca: %2 %1 проверил пульс: %2 - %1 à vérifié le rythme cardiaque: %2 + %1 a vérifié le pouls de : %2 %1 sprawdził tętno: %2 %1 verificado el ritmo cardíaco: %2 %1 ellenőrizte a szívverés-számot: %2 @@ -1922,7 +1922,7 @@ Keine Žádný Nada - Aucun + aucun Nincs Niente なし @@ -1933,7 +1933,7 @@ Schwach Lento Слабый - Faible + lent Słabe Débil Gyenge @@ -1947,7 +1947,7 @@ Normal Normale Нормальный - Normal + normal Normalne Normal Normális @@ -1961,7 +1961,7 @@ Stark Veloce Сильный - Fort + rapide Silne Fuerte Erős @@ -1972,7 +1972,7 @@ You find a Heart Rate of %2 - Rythme cardiaque de %2 + %2 battements par minute Пульс %2 уд./мин. El ritmo cardíaco es de %2 Wyczuwasz tętno o wartości %2 @@ -1986,7 +1986,7 @@ You find a weak Heart Rate - Rythme cardiaque faible + Poulslent Пульс слабый El ritmo cardíaco es débil Wyczuwasz słabe tętno @@ -2000,7 +2000,7 @@ You find a strong Heart Rate - Rythme cardiaque élevé + pouls rapide Пульс учащенный El ritmo cardíaco está acelerado Wyczuwasz silne tętno @@ -2014,7 +2014,7 @@ You find a normal Heart Rate - Rythme cardiaque normal + pouls normal Пульс в норме El ritmo cardíaco es bueno Wyczuwasz normalne tętno @@ -2028,7 +2028,7 @@ You find no Heart Rate - Pas de rythme cardiaque + pas de pouls Пульс не прощупывается No tiene ritmo cardíaco Wyczuwasz brak tętna @@ -2042,7 +2042,7 @@ Response - Etat de Conscience + Conscience Реакция Respuesta Przytomność @@ -2056,7 +2056,7 @@ You check response of patient - Vous vérifiez la réponse du patient + Vous évaluez l'état de conscience Вы проверяете реакцию раненого Compruebas si el paciente reacciona Sprawdzasz przytomność pacjenta @@ -2144,7 +2144,7 @@ мёртв muerto tot - mort + décédé martwy halott mrtev @@ -2224,7 +2224,7 @@ Bandaged - Bandé + Pansé Повязка наложена Vendado Zabandażowano @@ -2238,7 +2238,7 @@ You bandage %1 (%2) - Vous bandez %1 (%2) + Vous pansez %1 (%2) Вы перевязали раненого %1 (%2) Aplicas vendaje a %1 en %2 Bandażujesz %1 (%2) @@ -2252,7 +2252,7 @@ %1 is bandaging you - %1 vous bande + %1 vous panse %1 перевязывает вас %1 te está vendando %1 bandażuje Ciebie @@ -2341,7 +2341,7 @@ Ciągnij Táhnout Тащить - Trainer + Traîner Húzás Arrastar Trascina @@ -2410,7 +2410,7 @@ Выгрузить пациента Patient ausladen Wyładuj pacjenta - Débarquer le patient + Le patient débarque Sebesült kihúzása Scarica il paziente Descarregar Paciente @@ -2483,7 +2483,7 @@ %1 realizou RCP %1 провел сердечно-легочную реанимацию %1 realicó RCP - %1 à fait une RPC + %1 à fait une RCP %1 は心肺蘇生をした %1 (이)가 심폐소생술을 실시했다 @@ -2507,7 +2507,7 @@ %1 ha puesto una IV %1 hat eine Infusion verabreicht %1 podał IV - %1 a administré une IV + %1 a plaçé une IV %1 infúziót adott %1 ha somministrato una EV %1 aplicou um intravenoso @@ -2521,7 +2521,7 @@ %1 наложил жгут %1 hat ein Tourniquet angelegt %1 założył stazę - %1 a appliqué un garrot + %1 a plaçé un garrot %1 felhelyezett egy érszorítót %1 ha applicato un laccio emostatico %1 aplicou um torniquete @@ -2538,7 +2538,7 @@ %1 использовал аптечку %1 ha usato Kit Pronto Soccorso Personale %1 usó Kit de Primeros Auxilios - %1 à utilisé un PAK + %1 a utilisé une trousse %1 は応急処置キットをつかった %1 (이)가 개인응급키트를 사용했다 @@ -2549,7 +2549,7 @@ Тяжелые ранения Gravemente ferito Gravemente herido - Lourdement blessé + Gravement blessé Erősen sérült Těžce raněn Gravemente ferido @@ -2619,7 +2619,7 @@ Левой руки Braccio sinistro Brazo izquierdo - Bras gouche + Bras gauche Bal kar Levá ruka Braço Esquerdo @@ -2676,7 +2676,7 @@ Curar hitpoints totalmente enfaixados Heal fully bandaged hitpoints Cura hitpoints completamente bendati - Soigner les plaies entièrement bandées. + Soigner les plaies entièrement bandées Heilt vollständig bandagierte Trefferpunkte 包帯は体力を完全に回復する 붕대를 감은후 체력을 회복함 @@ -2688,7 +2688,7 @@ Bolest je potlačena pouze dočasně El dolor se suprime solo temporalmente Dor é suprimida somente temporáriamente - La douleur est seulement supprimée temporairement + La douleur est temporairement calmée A fájdalom csak ideiglenesen csökken Боль приглушается только временно Dolore è soppresso solo temporaneamente @@ -2740,7 +2740,7 @@ Style of menu (Medical) Styl menu medycznego - Style de menu (Médical) + Style de menu (médical) Menüstil (Medizin) Вид меню (медицина) Tipo de menú (Medico) @@ -2754,7 +2754,7 @@ Select the type of menu you prefer; default 3d selections or radial. Wybierz rodzaj menu, który preferujesz: domyślne pozycje 3D lub radialne - Selctionne le type de menu préféré; par défaut la sélection 3D ou radiale + Sélectionne le type de menu préféré; par défaut la sélection 3D ou radiale Wähle den Menüstil: Standard 3D-Auswahl oder kreisförmig. Выберите тип меню: стандартный вариант (3D) или радиальный Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. @@ -2768,7 +2768,7 @@ Selections (3d) Pozycje (3D) - sélections (3D) + Sélection (3D) 3D-Auswahl Стандартный (3D) Selecciones (3d) @@ -2782,7 +2782,7 @@ Radial Radialne - Radiale + Radial Kreisförmig Радиальный Radial @@ -2798,7 +2798,7 @@ Kratzer Scorticatura Ссадина - Eraflure + Abrasion Draśnięcie Arañazo Horzsolás @@ -2812,7 +2812,7 @@ Kleiner Kratzer Minima Scorticatura Малая ссадина - Petite éraflure + Petite abrasion Pomniejsze draśnięcie Arañazo menor Kis horzsolás @@ -2826,7 +2826,7 @@ Mittlerer Kratzer Media Scorticatura Средняя ссадина - Moyenne éraflure + Moyenne abrasion Średnie draśnięcie Arañazo medio Közepes horzsolás @@ -2840,7 +2840,7 @@ Großer Kratzer Alta Scorticatura Большая ссадина - Grande éraflure + Grande abrasion Duże draśnięcie Arañazo severo Nagy horzsolás @@ -2910,7 +2910,7 @@ Prellung Contusione Ушиб - Hématome + Contusion Stłuczenie Contusión Zúzódás @@ -2924,7 +2924,7 @@ Kleine Prellung Minima Contusione Малый ушиб - Petit hématome + Petite contusion Pomniejsze stłuczenie Contusión menor Kis zúzódás @@ -2938,7 +2938,7 @@ Mittlere Prellung Media Contusione Средний ушиб - Hématome moyen + Moyenne contusion Średnie stłuczenie Contusión media Közepes zúzódás @@ -2952,7 +2952,7 @@ Große Prellung Alta Contusione Большой ушиб - Hématome important + Grande contusion Duże stłuczenie Contusión severa Nagy zúzódás @@ -2966,7 +2966,7 @@ Quetschverletzung Tessuto Schiacciato Компресионная травма - Tissu écrasé + Écrasement Zgniecienie tkanek miękkich Tejido triturado Zúzott szövet @@ -2980,7 +2980,7 @@ Kleine Quetschverletzung Minimo Tessuto Schiacciato Малая компрессионная травма - Tissu écrasé léger + Petit écrasement Pomniejsze zgniecienie tkanek miękkich Tejido triturado menor Kis zúzott szövet @@ -2994,7 +2994,7 @@ Mittlere Quetschverletzung Medio Tessuto Schiacciato Средняя компрессионная травма - Tissu écrasé moyen + Moyen écrasement Średnie zgniecienie tkanek miękkich Tejido triturado medio Közepes zúzott szövet @@ -3008,7 +3008,7 @@ Große Quetschverletzung Alto Tessuto Schiacciato Большая компрессионная травма - Tissu écrasé large + Grand écrasement Duże zgniecienie tkanek miękkich Tejido triturado severo Nagy zúzött szövet @@ -3067,7 +3067,7 @@ Duża rana cięta Corte severo Nagy vágás - Large coupure + Grande coupure Corte grave Velká řezná rána 大きな切り傷 @@ -3079,7 +3079,7 @@ Strappo Рваная рана Rozerwanie skóry - Déchirure + Lacération Desgarro Szakadás Ruptura @@ -3093,7 +3093,7 @@ Piccolo Strappo Малая рваная рана Pomniejsze rozerwanie skóry - Petite Déchirure + Petite lacération Desgarro menor Kis szakadás Ruptura leve @@ -3109,7 +3109,7 @@ Średnie rozerwanie skóry Desgarro medio Közepes szakadás - Moyenne déchirure + Moyenne lacération Ruptura média Střední tržná rána 中くらいの裂傷 @@ -3123,7 +3123,7 @@ Duże rozerwanie skóry Desgarro severo Nagy szakadás - Large déchirure + Grande lacération Ruptura grave Velká tržná rána 大きな裂傷 @@ -3135,7 +3135,7 @@ Velocità Ferita Огнестрельная рана Rana postrzałowa - Blessure de vélocité + Plaie pénétrante Herida de bala Lőtt seb Ferimento por projétil de arma de fogo @@ -3151,7 +3151,7 @@ Pomniejsza rana postrzałowa Herida de bala menor Kis lőtt seb - Petite blessure de vélocité + Petite plaie pénétrante Ferimento leve por projétil de arma de fogo Malé střelné poranění 小さな銃創 @@ -3165,7 +3165,7 @@ Średnia rana postrzałowa Herida de bala media Közepes lőtt seb - Moyenne blessure de vélocité + Moyenne plaie pénétrante Ferimento médio por projétil de arma de fogo Střední střelné poranění 中くらいの銃創 @@ -3179,7 +3179,7 @@ Duża rana postrzałowa Herida de bala severa Nagy lőtt seb - Large blessure de vélocité + Grande plaie pénétrante Ferimento grave por projétil de arma de fogo Velké střelné poranění 大きな銃創 @@ -3191,7 +3191,7 @@ Puntura Ferita Колотая рана Rana kłuta - Blessure de perforation + Perforation Herida punzante Szúrt seb Ferimento por perfuração @@ -3207,7 +3207,7 @@ Pomniejsza rana kłuta Herida punzante menor Kis szúrt seb - Légère blessure de perforation + Petite perforation Ferimento leve por perfuração Malá bodná rána 小さな刺し傷 @@ -3221,7 +3221,7 @@ Średnia rana kłuta Herida punzante media Közepes szúrt seb - Moyenne blessure de perforation + Moyenne perforation Ferimento médio por perfuração Střední bodná rána 中くらいの刺し傷 @@ -3235,7 +3235,7 @@ Duża rana kłuta Herida punzante severa Nagy szúrt seb - Large blessure de perforation + Grande perforation Ferimento grave por perfuração Velká bodná rána 大きな刺し傷 @@ -3305,7 +3305,7 @@ Sanitätseinstellungen [ACE] Lékařské nastavení [ACE] Ajustes médicos [ACE] - Option médicale [ACE] + Options médicales [ACE] Orvosi beállítások [ACE] Impostazioni Mediche [ACE] 医療設定 [ACE] @@ -3333,7 +3333,7 @@ Wie hoch soll das medizinische Simulationslevel sein? Jaká je úroveň lékařské simulace? Qual o nível de simulação médica? - Quel niveau de simulation médicale choisissez vous? + Quel niveau de simulation médicale choisissez-vous? Milyen komplex legyen az orvosi szimuláció? Qual'è il livello di simulazione medica? 治療の再現度は? @@ -3361,7 +3361,7 @@ Erweitert Pokročilé Avançada - Avancée + Avancé Fejlett Avanzato アドバンスド @@ -3375,7 +3375,7 @@ Sanitätseinstellungen Úroveň zdravotníků Configuração médica - Paramètre des infirmiers + Règlage des infirmiers Orvosok beállítása Parametri Medici 治療の設定 @@ -3389,7 +3389,7 @@ ¿Cuál es el nivel de detalle preferido para los médicos? Jaká úroveň detailů je preferována pro zdravotníky? Qual o nível de detalhe preferido para os médicos? - Quel niveau de détail voullez vous pour les infirmier? + Quel niveau de détail voulez-vous pour les infirmiers? Mi a javasolt részletesség orvosok számára? Qual'è il livello di dettagli preferito per i medici? >衛生兵への再現度をどのくらいに設定しますか? @@ -3403,20 +3403,20 @@ Ubicación mejora entrenamiento. Miejsca zwiększają wyszkolenie Localização melhora treinamento - Locations boost l'entraînement de médecin + Le lieu améliore l'efficacité Места ускоренного обучения 衛生兵としての能力を与える場所 교육 증가 지역 Boost medic rating in medical vehicles or near medical facilities [untrained becomes medic, medic becomes doctor] - Zlepšit zkušenosti zdravotníka v medickém vozidle nebo poblíž zdravotního zařízení [nezkušení se stane zdravotníkem, zdravotník se stane doktorem] + Zlepšit zkušenosti zdravotníka v medickém vozidle nebo poblíž zdravotního zařízení [nezkušení se stane zdravotníkem, zdravotník se stane doktorem] Aumenta il rating medico in veicoli medici o vicino strutture mediche [non addestrato diventa medico, medico diventa dottore] Steigert die medizinische Einstufung eines Soldaten in Sanitätsfarhzeugen oder in der Nähe von Sanitätseinrichtungen [untrainiert wird zu Sanitäter, Sanitäter zu Doktor] Mejora el entrenamiento médico dentro de vehículos médicos o cerca de instalaciones médicas (no entrenados se convierten en médicos, médicos se convierten en doctores) Zwiększa poziom wyszkolenia medyków wewnątrz pojazdów medycznych lub w pobliżu budynków medycznych [niedoświadczony zostaje medykiem, medyk zostaje doktorem] Aumenta a classificação do médico dentro de veículos médicos ou perto de instalações médicas [sem treinamento vira médico, médico vira doutor] - Boost le rang médical dans les véhicules ou bâtiments médicaux [non entraînés deviennent médecins, médecins deviennent docteurs] + Améliore l'efficacité des soins dans les véhicules ou structures de soins [non formés deviennent médecins, médecins deviennent docteurs] Улучшает медицинскую подготовку в мед. транспорте и около мед. строений [нетренированные становятся медиками, медики становятся врачами] 医療車両や医療施設の近くは衛生兵としての能力を与える場所となり、衛生兵の訓練を受けていないのに衛生兵としてなる(未訓練は衛生兵に、衛生兵は医師に) 의무병의 수준이 주변의 차량이나 의료시설에 따라 증가합니다. [비교육자가 의무병이되고, 의무병이 의사가 됩니다] @@ -3506,7 +3506,7 @@ 비명 활성화 - Enable screaming by injuried units + Enable screaming by injured units Включить крики раненных бойцов Aktywuj wrzeszczenie z bólu przez ranne jednostki Activar gritos para unidades heridas @@ -3527,7 +3527,7 @@ Spielerschaden Poškození hráče Dano do jogador - Dégats des joueurs + Dégats du joueur Játékos sérülés Danno Giocatore プレイヤーへの損傷 @@ -3541,7 +3541,7 @@ Wie viel Schaden kann ein Spieler erleiden, bevor er getötet wird? Jaké poškození může hráč dostat než bude zabit? Qal é o dano que um jogador pode sofrer antes de morrer? - Quels dégats peut subir un joueur avant d'être tué + Quels dégâts peut subir un joueur avant d'être tué Mennyi sérülést szenvedhet el egy játékos, mielőtt meghal? Quanto è il danno che un giocatore può sostenere prima di essere ucciso? プレイヤーが死に始める前に損傷を受けるようにしますか? @@ -3555,7 +3555,7 @@ KI-Schaden Poškození AI Dano da IA - Dégats des IA + Dégâts des IA AI sérülés Danno AI AI への損傷 @@ -3569,7 +3569,7 @@ Wie viel Schaden kann eine KI erleiden, bis sie getötet wird? Jaké poškození může AI dostat než bude zabito? Qual é o dano que uma IA pode sofrer antes de morrer? - Quels dégats peut subir une IA avant d'être tuée + Quels dégâts peut subir une IA avant d'être tuée Mennyi sérülést szenvedhet el egy AI, mielőtt meghal? Quanto è il danno che un'IA può sostenere prima di essere uccisa? AI が死に始める前に損傷を受けるようにしますか? @@ -3667,7 +3667,7 @@ Verblutungsmultiplikator Koeficient krvácení Coeficiente de sangramento - Coefficient de saignement + Coéfficient de saignement Vérzési koefficiens Coefficiente sanguinamento 出血の係数 @@ -3681,7 +3681,7 @@ Multiplikator um die Verblutungsgeschwindigkeit zu verändern Koeficient rychlosti krvácení Coeficiente para modificar a velocidade do sangramento - Coefficient modifiant la vitesse de saignement + Modifie le débit des saignements Egy szorzó a vérzés sebességének szabályozására Coefficiente che modifica la velocità di sanguinamento この係数では出血速度を変更できます @@ -3695,7 +3695,7 @@ Schmerzmultiplikator Koeficient bolesti Coeficiente de dor - Coefficient de douleur + Coéfficient de douleur Fájdalmi koefficiens Coefficiente dolore 痛みの係数 @@ -3709,7 +3709,7 @@ Multiplikator um die Schmerzintensität zu verändern Koeficient intenzity bolesti Coeficiente para modificar a instensidade de dor - Coefficient modifiant l'intensité de la douleur + Modifie l'intensité de la douleur Egy szorzó a fájdalom erősségének szabályozására Coefficiente che modifica l'intensità del dolore この係数では痛みの強さを変更できます @@ -3723,7 +3723,7 @@ Status synchronisieren Synchronizovat status Sincronizar estado - Status de la synchronisation + Synchronisation du status Szinkronizációs állapot Sincronizza stato 同期状態 @@ -3737,7 +3737,7 @@ Status der Einheit synchron halten. Sollte aktiviert bleiben. Udržuje status jednotky synchronizovaný. Doporučeno zapnout. Mater o estado da unidade sincronizado. Recomendado ativado. - Garder l'unité synchronisée, Recommandé sur oui. + Garder l'unité synchronisée. Activation recommandée. Egységállapotok szinkronizálása. Javasolt a bekapcsolása. Mantieni lo stato delle unità sincronizzato. Consigliato attivo. ユニット状態の同期を続けます。有効化を推奨。 @@ -3751,7 +3751,7 @@ Aktiviert ein Sanitätssystem für Spieler und KI. Poskytuje zdravotní systém pro hráče a AI. Proporciona o sistema médico para os jogadores e a IA. - Fourni un système médical pour les joueurs tout comme pour les IA. + Fourni un système médical pour les joueurs et les IA. Egy orvosi rendszert ad játékosok és AI-k számára. Fornisce un sistema medico sia per giocatori che IA. プレイヤーと AI の両方へ医療システムを提供します。 @@ -3762,7 +3762,7 @@ Standard Sanitätseinstellungen [ACE] Podstawowe ustawienia medyczne Ajustes médicos básicos [ACE] - Réglages du système médical basic [ACE] + Paramètres des soins basiques [ACE] Impostazioni Mediche Di Base [ACE] Základní zdravotnické nastavení [ACE] Ajustes médicos básicos [ACE] @@ -3806,7 +3806,7 @@ Wähle aus, welche Einheiten unter das erweiterte Sanitätssystem fallen Vyberte, pro jaké jednotky bude pokročilý zdravotní systém povolen Selecione quais unidades o sistema médico avançado será habilitado - Sélectionne pour quelle unité le système de soin avancé est activé + Sélectionne pour quelles unités les soins avancés seront activés Kiválasztható, mely egységek számára legyen engedélyezve a fejlett orvosi rendszer Seleziona per quali unità verrà abilitato i sistema medico avanzato 選択されたユニットが、アドバンスド医療が使えるようになります @@ -3820,7 +3820,7 @@ Nur Spieler Pouze hráči Somente jogadores - Joueur uniquement + Joueurs uniquement Csak játékosok Solo giocatori プレイヤーのみ @@ -3834,7 +3834,7 @@ Spieler und KI Hráči a AI Jogadores e IA - Joueur et IA + Joueurs et IA Játékosok és AI Giocatori ed IA プレイヤーと AI @@ -3848,7 +3848,7 @@ Aktiviere erweiterte Wunden Povolit pokročilé zranění Ativar ferimentos avançados - Activer les blessures avancées + Activer les plaies compliquées Komplex sebek engedélyezése Abilita ferite Avanzate アドバンスドな傷を有効化 @@ -3862,7 +3862,7 @@ Erlaube das Öffnen von bandagierten Wunden? Umožnit znovuotevření zavázané rány? Permitr reabertura de ferimentos enfaixados? - Permettre la réouverture des bandages + Les plaies peuvent se rouvrir Visszanyílhatnak a bekötözött sebek? Permetti la riapertura di ferite bendate? 包帯で巻かれた傷を再び開くようにしますか? @@ -3901,7 +3901,7 @@ Erlaube Epiniphrin Permitir Epinefrina Ograniczenia adrenaliny - Autoriser l'adrénaline + Activer l'épinéphrine Permette epinefrina Povolit adrenalin Permitir Epinefrina @@ -3930,7 +3930,7 @@ Erlaube Erste-Hilfe-Set Povolit osobní lékárničky (PAK) Permitir Kit de Primeiros Socorros - Permettre le kit de premier secours + Activer la trousse sanitaire Elsősegélycsomag engedélyezése Consenti Kit di Pronto Soccorso 応急処置キットの許可 @@ -3944,7 +3944,7 @@ Wer kann das Erste-Hilfe-Set für eine Endheilung verwenden? Kdo může použít osobní lékárničku pro plné vyléčení? Quem pode usar o KPS para cura completa? - Qui peut utilier les kit de premier secours pour soigner + Qui peut utilier la trousse sanitaire pour des soins complets? Ki használhatja az elsősegélycsomagot teljes gyógyításra? Chi può usare il KPS per cura completa? 完全に回復できるよう誰しもが応急処置キットを使えるようにしますか? @@ -3958,7 +3958,7 @@ Jeder Kdokoliv Qualquer um - Tout le monde + Tous Akárki Chiunque だれでも @@ -3972,7 +3972,7 @@ Nur Sanitäter Pouze zdravotník Somente médicos - Infirmier uniquement + Infirmiers uniquement Csak orvosok Solo medici 衛生兵のみ @@ -3986,7 +3986,7 @@ Nur Ärzte Pouze doktor Somente doutores - Médecin uniquement + Médecins uniquement Csak doktorok Solo dottori 医師のみ @@ -4000,7 +4000,7 @@ Entf. Erste-Hilfe-Set bei Verwendung Odebrat osobní lékárničku po použití Remover o KPS depois do uso - Enlever le KPS à l'utilisation + Utilisation unique de la trousse sanitaire Elsősegélycsomag eltávolítása használatkor Rimuovi Kit Pronto Soccorso dopo l'uso 応急処置キットの削除 @@ -4014,7 +4014,7 @@ Sollen Erste-Hilfe-Sets bei Verwendung entfernt werden? Má se osobní lékárnička odstranit po použití? Deve o KPS ser removido depois do uso? - Le Kit de Premier Secours doit il être enlevé à l'utilisation? + La trousse sanitaire doit être consommée à l'utilisation? Eltávolítódjon az elsősegélycsomag használatkor? Il Kit Pronto Soccorso dev'essere rimosso dopo l'utilizzo? 応急処置キットを使うと削除しますか? @@ -4025,7 +4025,7 @@ Orte für Epiniphrin Ubicaciones epinefrina Ograniczenia adrenaliny - Position des adrénalines + Utilisation de l'épinéphrine Ubicazione epinefrina Oblast k použití adrenalinu Localizações de Epinefrina @@ -4038,7 +4038,7 @@ Wo kann Epiniphrin verwendet werden? (Standard Sanitätseinstellungen) Configura donde puede usarse Epinefrina (Solo sistema médico básico) Gdzie można korzystać z adrenaliny? (Podstawowy system medyczny) - Où peuvent être utilisées les adrénalines ? (Médical basique) + Où peut être utilisé l'épinéphrine ? (Médical basique) Dove si può usare l'epinefrina? (Sistema medico di base) Kde může být použit adrenalin? (Pouze základní zdravotní systém) Onde pode-se usar a Epinefrina? (Somente sistema médico básico) @@ -4054,7 +4054,7 @@ Orte für Erste-Hilfe-Set Oblast k použití PAK Localizações do KPS - Lieu d'utilisation du KPS + Lieu d'utilisation da trousse sanitaire Elsősegélycsomag helyek Locazioni Kit Pronto Soccorso 応急処置キットをつかう場所 @@ -4068,7 +4068,7 @@ Wo kann das Erste-Hilfe-Set verwendet werden? Kde může být použita osobní lékárnička (PAK)? Onde o kit de primeiros socorros pode ser utilizado? - Où le Kit de Premier Secour peut être utilisé ? + Où la trousse sanitaire peut être utilisée ? Hol lehet az elsősegélycsomagot használni? Dove può essere usato il Kit Pronto Soccorso? どこでも応急処置キットをつかえるようにしますか? @@ -4079,7 +4079,7 @@ Bedingungen für d. Erste-Hilfe-Set Podmínky pro použití osobní lékárničky Condición EPA - Condition d'utilisation du KPS + Condition d'utilisation de la trousse sanitaire Warunek apteczek Elsősegélycsomag állapot Condição do KPS @@ -4093,7 +4093,7 @@ Wann kann das Erste-Hilfe-Set verwendet werden? Kdy může být použita osobní lékárnička? ¿Cuando se puede utilizar el Equipo de primeros auxilios? - Quand peut être utilisé le Kit de Premier Secours ? + Quand peut être utilisé la trousse sanitaire? Po spełnieniu jakich warunków apteczka osobista może zostać zastosowana na pacjencie? Mikor lehet az elsősegélycsomagot használni? Onde o kit de primeiros socorros pode ser utilizado? @@ -4124,7 +4124,7 @@ Sanitätsfahrzeuge Zdravotnická vozidla Veículos médcos - Dans les véhicules médicals + Dans les véhicules sanitaires Orvosi járművek Veicoli medici 医療車両のみ @@ -4138,7 +4138,7 @@ Medizinische Einrichtungen Zdravotnické zařízení Instalação médica - Dans les installations médicales + Dans les structures sanitaires Orvosi létesítmény Strutture mediche 医療施設でのみ @@ -4152,7 +4152,7 @@ Fahrzeuge & Einrichtungen Vozidla a zařízení Veículos e instalações - Dans les véhicules et les installations médicals + Dans les véhicules et les structures sanitaires Járművek & létesítmény Veicoli e Strutture 車両 &amp; 施設 @@ -4166,7 +4166,7 @@ Erlaube Operationskasten Povolit chirurgickou soupravu (Pokr.) Permite kit cirúrgico (avançado) - Permettre les kit de chirurgie (Avancé) + Permettre les trousses chirurgicales (Avancé) Sebészkészlet (Fejlett) engedélyezése Permetti Kit Chirurgico (Avanzato) 縫合キットの許可 (Adv) @@ -4180,7 +4180,7 @@ Wer kann den Operationskasten verwenden? Kdo může použít chirurgickou soupravu? Quem pode usar o kit cirúrgico? - Qui peut utiliser les kit de chirurgie + Qui peut utiliser les trousses chirurgicales? Ki használhatja a sebészkészletet? Chi può usare il Kit Chirurgico? だれでも縫合キットをつかえるようにしますか? @@ -4194,7 +4194,7 @@ Entferne Operationskasten (erweitert) Odebrat chirurgickou soupravu (Pokr.) Remover kit cirúrgico (avançado) - Supprimer les kit de chirurgie (Avancé) + Consommer les trousses chirurgicales (Av.) Sebészkészlet (Fejlett) eltávolítása Rimuovi Kit Chirurgico (Avanzato) 縫合キットを削除 (Adv) @@ -4208,7 +4208,7 @@ Entferne Operationskästen bei Verwendung? Odebrat chirurgickou soupravu po použití? Deve o kit cirúrgico ser removido após o uso? - Le kit de chirurgie doit il être supprimé à l'utilisation + La trousse chirurgicale doit être consommée à l'utilisation? Eltávolítódjon a sebészkészlet használatkor? Il Kit Chirurgico dev'essere rimosso dopo l'uso? 縫合キットをつかった後に削除しますか? @@ -4222,7 +4222,7 @@ Orte für Operationskästen (erweitert) Lokace chirurgické soupravy (Pokr.) Localizações do kit cirúrgico (avançado) - Lieu d'utilisation du kit de chirurgie + Lieu d'utilisation des trousses chirurgicales Sebészkészlet (Fejlett) helyei Località Kit Chirurgico (Avanzato) 縫合キットをつかう場所 (Adv) @@ -4236,7 +4236,7 @@ Wo kann der Operationskasten verwendet werden? Kde může být použita chirurgická souprava? Onde o kit cirúrgico pode ser utilizado? - Où peut être utilisé les kit de chirurgie + Où peut être utilisé les trousses chirurgicales? Hol lehet a sebészkészletet használni? Dove può essere usato il Kit Chirurgico? どこでも縫合キットをつかえるようにしますか? @@ -4247,7 +4247,7 @@ Beding. für d. Operationskasten (erw.) Podmínka chirurgické soupravy (Pokr.) Condición de equipo quirúrgico (Av) - Conditions d'utilisation du kit de chirurgie + Conditions d'utilisation de la trousse chirurgicale (Av.) Warunek zestawu chirurgicznego Sebészkészlet állapot Condição do Kit Cirúrgico (Avançado) @@ -4261,7 +4261,7 @@ Wann kann der Operationskasten verwendet werden? Kde může být použita chirurgická souprava? ¿Cuando se puede utilizar el equipo quirúrgico? - Quand peut être utilisé les kit de chirurgie + Quand peut être utilisé la trousse chirurgicale Po spełnieniu jakich warunków zestaw chirurgiczny może zostać zastosowany na pacjencie? Mikor lehet a sebészkészletet használni? Onde o kit cirúrgico pode ser utilizado? @@ -4279,7 +4279,7 @@ Curar hitpoints Léčit hitponty Cura Hitpoints - Soigner les dommages + Soigner les blessures ヒットポイントの回復 체력 회복 @@ -4303,7 +4303,7 @@ Potlačení bolesti Supresión del dolor Supressão de dor - Suppression de la douleur + Traitement de la douleur Fájdalomcsillapítás Приглушение боли Soppressione dolore @@ -4317,7 +4317,7 @@ Bolest je potlačena, ale jen dočastně El dolor se suprime solo temporalmente, no se elimina. Dor é somente temporáriamente suprimida, não removida - La douleur est temporairement supprimée, pas enlevée + La douleur est seulement temporairement calmée A fájdalom csak ideiglenesen csökken, nem távolítódik el Боль приглушается только временно Dolore è solo temporaneamente soppresso, non rimosso @@ -4344,7 +4344,7 @@ Behandlungseinstellungen vom ACE-Medizin konfigurieren Konfigurace nastavení léčby ze zdravotnické systému ACE Configure as opções de tratamento do ACE Médico - Configure les paramètres de traitement du système de soin ACE + Configure les réglages de traitement dans dans ACE médical avancé Kezelési lehetőségek konfigurálása az ACE Orvosi rendszerből Configura le impostazioni trattamenti per ACE Medical ACE アドバンスド医療による設定で、治療を設定する @@ -4386,7 +4386,7 @@ Aktiviere Standard-Wiederbelebungssystem Povolit základní systém oživení Habilitar um sistema básico de reavivamento - Active un sytème de revive basique + Active un système de revive basique Egy alap újraélesztési rendszer engedélyezése Abilita un sistema revive basico ベーシックなリバイブを有効化 @@ -4400,7 +4400,7 @@ Maximale Wiederbelebungszeit Maximální čas pro oživení Tempo máximo de reavivamento - Temps maximum pour le revive + Délai maximum pour le revive Maximum újraélesztési idő Tempo massimo Revive 最大リバイブ時間 @@ -4414,7 +4414,7 @@ Maximale Zeitspanne in Sekunden die eine Einheit im Wiederbelebungszustand verbringen kann Maximální doba v agónii v sekundách Quantidade máxima de segundos que uma unidade pode gastar em um estado de reavivamento - Nombre de seconde maximum qu'une unité peut être en attente d'un revive + Délai d'attente maximum pour un revive Maximum másodperc, amit egy egység újraélesztési állapotban tölthet Numero massimo di secondi che un'unità può spendere in stato revive ユニットがリバイブ状態になっている最大時間を設定できます @@ -4442,7 +4442,7 @@ Anzahl der Leben einer Einheit. 0 oder -1 bedeutet deaktiviert. Maximální počet životu pro jednotku. 0 nebo -1 je zakázáno. Quantidade máxima de vidas por unidade. 0 ou -1 é desativado. - Nombre de vie maximale d'une unité. 0 ou -1 désactive + Nombre de vie maximum d'une unité. 0 ou -1 désactive Egy egység maximum "életei". 0 vagy -1 letiltja. Numero massimo di vite di un'unità. 0 o -1 per disabilitare. ユニットの最大リバイブ数を設定できます。0 または -1 は無効化になります @@ -4470,7 +4470,7 @@ Setze Sanitäterklassen [ACE] Určit třídu medika [ACE] Definir classe médica [ACE] - Définir comme unité médicale [ACE] + Définir classe médicale [ACE] Orvos beállítása [ACE] Imposta Classe Medico [ACE] 衛生兵クラスとして設定 [ACE] @@ -4498,7 +4498,7 @@ Aufzählung von Einheiten, die als Sanitäter gelten. Werden durch Kommata getrennt. Seznam osob které budou klasifikovány jako zdravotník, oddělené čárkami. Lista dos nomes das unidades que se classificam como médicos, separados por vírgulas. - Liste d'unité qui seront listées comme infirmier, séparation par virgule. + Liste d'unité qui seront qualifiés comme infirmier, séparation par virgule. Azon egységek nevei, melyek orvosként vannak meghatározva, vesszővel elválasztva. Lista di nomi unità che verranno classificati come medici, separati da virgole. 衛生兵として設定されるユニット名を一覧で指定でき、コンマで区切りを付けられます。 @@ -4554,7 +4554,7 @@ Normaler Sanitäter Řadový zdravotník Médico regular - Infirmier standard + Infirmier Hagyományos orvos Medico Regolare 通常の衛生兵 @@ -4740,7 +4740,7 @@ Egy objektumot orvosi létesítményként határoz meg. Ez fejlett ellátási lehetőségeket engedélyez. Használható járműveken és épületeken. Definisce un oggetto come struttura medica. Questo permette cure più avanzate. Può essere usato su edifici e veicoli. オブジェクトを医療施設として割り当てます。割り当てられた場合、より高度な治療が可能になり、建物と車両へつかえます。 - 물체를 의료시설로 정의합니다. 건물 혹은 차량이 될 수 있습니다. 이는 고급 의료 조치를 할 수 있게해줍니다. + 물체를 의료시설로 정의합니다. 건물 혹은 차량이 될 수 있습니다. 이는 고급 의료 조치를 할 수 있게해줍니다. [ACE] Medical Supply Crate (Basic) @@ -4834,7 +4834,7 @@ Esta pessoa (%1) está acordada e não pode ser carregada Tato osoba (%1) je vzhůru a nemůže být naložena Questa persona (%1) è sveglia e non può essere caricata. - Cette personne (%1) est consciente et ne peut être chargées. + %1 est conscient et ne peut être embarqué. 患者 (%1) は意識があり、積み込めない 이 사람 (%1) 은(는) 의식이 있어 태우지 못합니다 @@ -4870,7 +4870,7 @@ L'oggetto in questione sarà un veicolo medico o meno. Legt fest, ob das Objekt ein Sanitätsfahrzeug ist. Es un vehículo médico? - Définit si le véhicule est un véhicule médical ou non. + Détermine si c'est un véhicule sanitaire. Se o objeto será ou não um veículo médico Будет ли объект считаться медицинским транспортом. どれでも、またはオブジェクトを医療車両として割り当てます。 diff --git a/addons/medical_blood/stringtable.xml b/addons/medical_blood/stringtable.xml index a45dc29d90..8f4edbc9e2 100644 --- a/addons/medical_blood/stringtable.xml +++ b/addons/medical_blood/stringtable.xml @@ -7,6 +7,7 @@ Nur Spieler 오직 플레이어만 Tylko gracze + Joueurs seulement Enable Blood Drops @@ -14,12 +15,14 @@ Aktiviere Blutspritzer 피흘리기 활성화 Włącz ślady krwi na ziemi + Active les gouttes de sang Enable or disable Blood Drops created on bleeding and taking damage ダメージを受けたり、出血していると血が滴る様子の有効か無効化 Aktiviere oder deaktiviere Blutspritzer, die durch Blutungen oder bei Schadensnahme entstehen. Włącz lub wyłącz pozostawianie śladów krwi na ziemi kiedy postać odnosi obrażenia bądź krwawi + (Dés)active les gouttes de sang lors d'un saignement ou de blessure - \ No newline at end of file + diff --git a/addons/medical_menu/stringtable.xml b/addons/medical_menu/stringtable.xml index 79f0e1b8b9..113f9b4bd3 100644 --- a/addons/medical_menu/stringtable.xml +++ b/addons/medical_menu/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -305,7 +305,7 @@ Setze Status auf der Triagekarte Сортировка Seleccionar estado de Triage - Selectioner l'état de triage + Sélectionner l'état de triage Wybierz priorytet Selecionar estado de triagem Vybrat prioritu @@ -318,7 +318,7 @@ Wähle Kopf Выбрать голову Seleccionar Cabeza - Selectioner la tête + Sélectionner la tête Wybierz głowę Selecionar Cabeça Vybrat Hlavu @@ -331,7 +331,7 @@ Wähle Torso Выбрать торс Seleccionar Torso - Selectioner le torse + Sélectionner le torse Wybierz tors Selecionar Torso Vybrat Trup @@ -344,7 +344,7 @@ Wähle linken Arm Выбрать левую руку Seleccionar Brazo Izquierdo - Selectioner le bras gauche + Sélectionner le bras gauche Wybierz lewą rękę Selecionar Braço Esquerdo Vybrat Levou ruku @@ -357,7 +357,7 @@ Wähle rechten Arm Выбрать правую руку Seleccionar Brazo Derecho - Selectioner le bras droit + Sélectionner le bras droit Wybierz prawą rękę Selecionar Braço Direito Vybrat Pravou ruku @@ -370,7 +370,7 @@ Wähle linkes Bein Выбрать левую ногу Seleccionar Pierna Izquierda - Selectioner la jambe gauche + Sélectionner la jambe gauche Wybierz lewą nogę Selecionar Perna Esquerda Vybrat Levou nohu @@ -383,7 +383,7 @@ Wähle rechtes Bein Выбрать правую ногу Seleccionar Pierna Derecha - Selectioner la jambe droite + Sélectionner la jambe droite Wybierz prawą nogę Selecionar Perna Direita Vybrat Pravou nohu @@ -717,4 +717,4 @@ 비-인두 기도기 [NPA] - + \ No newline at end of file diff --git a/addons/microdagr/CfgUIGrids.hpp b/addons/microdagr/CfgUIGrids.hpp new file mode 100644 index 0000000000..5d7b921800 --- /dev/null +++ b/addons/microdagr/CfgUIGrids.hpp @@ -0,0 +1,21 @@ +class CfgUIGrids { + class IGUI { + class Presets { + class Arma3 { + class Variables { + grid_ACE_microDagr[] = {{"(safezoneX + safezoneW - 11 * (((safezoneW / safezoneH) min 1.2) / 40))","(safezoneY + safezoneH - 15 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))","(10 * (((safezoneW / safezoneH) min 1.2) / 40))","(10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))"},"(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; + }; + }; + }; + + class Variables { + class grid_ACE_microDagr { + displayName = COMPONENT_NAME; + description = "ACE MicroDagr"; + preview = QPATHTOF(ui\IGUI_preview_ca.paa); + saveToProfile[] = {0,1,2,3}; + canResize = 1; + }; + }; + }; +}; diff --git a/addons/microdagr/UI/IGUI_preview_ca.paa b/addons/microdagr/UI/IGUI_preview_ca.paa new file mode 100644 index 0000000000..12cbdb5f9b Binary files /dev/null and b/addons/microdagr/UI/IGUI_preview_ca.paa differ diff --git a/addons/microdagr/config.cpp b/addons/microdagr/config.cpp index c3ca72b454..a138a194d5 100644 --- a/addons/microdagr/config.cpp +++ b/addons/microdagr/config.cpp @@ -18,4 +18,5 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" #include "gui.hpp" +#include "CfgUIGrids.hpp" #include "ACE_Settings.hpp" diff --git a/addons/microdagr/gui.hpp b/addons/microdagr/gui.hpp index fe15bb7bb2..1404f6b81d 100644 --- a/addons/microdagr/gui.hpp +++ b/addons/microdagr/gui.hpp @@ -59,10 +59,10 @@ class GVAR(TheDialog) { //Redfine Scaling for the RscTitle -#define PROFILE_X (profilenamespace getVariable ['IGUI_GRID_GPS_X', 0]) -#define PROFILE_Y (profilenamespace getVariable ['IGUI_GRID_GPS_Y', 0]) -#define PROFILE_W (profilenamespace getVariable ['IGUI_GRID_GPS_W', 1]) -#define PROFILE_H ((16/9) * (profilenamespace getVariable ['IGUI_GRID_GPS_W', 1])) +#define PROFILE_X (profilenamespace getVariable ['IGUI_grid_ACE_microDagr_X', 0]) +#define PROFILE_Y (profilenamespace getVariable ['IGUI_grid_ACE_microDagr_Y', 0]) +#define PROFILE_W (profilenamespace getVariable ['IGUI_grid_ACE_microDagr_W', 1]) +#define PROFILE_H ((16/9) * (profilenamespace getVariable ['IGUI_grid_ACE_microDagr_W', 1])) //Need undef's for pboProject #undef X_PART diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index a239e55498..650f9eb74a 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -22,7 +22,6 @@ class CfgAddons { }; }; - #include "CfgEventHandlers.hpp" #include "gui\define.hpp" #include "gui\settingsMenu.hpp" @@ -35,9 +34,8 @@ class ACE_Extensions { extensions[] += {"ace_clipboard"}; }; - class CfgCommands { allowedHTMLLoadURIs[] += { - "http://ace3mod.com/version.html" + "https://ace3mod.com/version.html" }; }; diff --git a/addons/optionsmenu/gui/pauseMenu.hpp b/addons/optionsmenu/gui/pauseMenu.hpp index 79aed168de..304cd7e8d1 100644 --- a/addons/optionsmenu/gui/pauseMenu.hpp +++ b/addons/optionsmenu/gui/pauseMenu.hpp @@ -45,7 +45,7 @@ class ACE_Open_SettingsMenu_BtnBase : ACE_gui_buttonBase { colorDisabled[] = {1,1,1,0.25}; colorFocused[] = {0,0,0,1}; colorText[] = {1,1,1,1}; - default = 0; + //default = 0; font = "RobotoCondensed"; idc = -1; period = 1.2; @@ -77,69 +77,63 @@ class ACE_Open_SettingsMenu_BtnBase : ACE_gui_buttonBase { class RscStandardDisplay; class RscDisplayMPInterrupt: RscStandardDisplay { class controls { - class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {}; + class ACE_Open_settingsMenu_Btn: ACE_Open_SettingsMenu_BtnBase {}; }; }; + class RscDisplayInterruptEditorPreview: RscStandardDisplay { class controls { - class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {}; + class ACE_Open_settingsMenu_Btn: ACE_Open_SettingsMenu_BtnBase {}; }; }; + class RscDisplayInterrupt: RscStandardDisplay { class controls { - class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {}; + class ACE_Open_settingsMenu_Btn: ACE_Open_SettingsMenu_BtnBase {}; }; }; + class RscDisplayInterruptEditor3D: RscStandardDisplay { class controls { - class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {}; + class ACE_Open_settingsMenu_Btn: ACE_Open_SettingsMenu_BtnBase {}; }; }; + class RscDisplayMovieInterrupt: RscStandardDisplay { class controls { - class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {}; + class ACE_Open_settingsMenu_Btn: ACE_Open_SettingsMenu_BtnBase {}; }; }; + class RscDisplayMain: RscStandardDisplay { class controls { - class ACE_news_apex: RscControlsGroupNoHScrollbars { - idc = 80090; - x = "safezoneX + safezoneW - 10 * (pixelW * pixelGrid * 2) - (4 * pixelH)"; - y = "safezoneY + safezoneH - (3 * 2 + 1) * (pixelH * pixelGrid * 2) - 3 * (4 * pixelH)"; - w = "10 * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 2)"; - class Controls { - class Background: RscPicture { - idc = 80091; - text = "\a3\Ui_f\data\GUI\Rsc\RscDisplayMain\gradientMods_ca.paa"; - colorText[] = {0,0,0,0.75}; - x = "(10 - 4 * 2) * (pixelW * pixelGrid * 2)"; - y = 0; - w = "4 * 2 * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 2)"; - angle = 180; - }; - class BackgroundIcon: RscPicture { - idc = 80092; - text = "\a3\Ui_f\data\GUI\Rsc\RscDisplayMain\backgroundModsIcon_ca.paa"; - colorText[] = {0,0,0,0.75}; - x = "(10 - 2 * 2) * (pixelW * pixelGrid * 2)"; - y = 0; - w = "2 * 2 * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 2)"; - angle = 180; - }; - class Icon: RscPicture { - idc = 80093; + class InfoMods: RscControlsGroupNoHScrollbars { + class Controls; + }; + + class InfoNews: InfoMods { + class Controls: Controls { + class Background; + class BackgroundIcon; + class Icon; + class News; + class Notification; + class Button; + }; + }; + + class ACE_news_apex: InfoNews { + idc = IDC_MAIN_INFO; + y = "safezoneY + safezoneH - (3 * 2 + 1) * (pixelH * pixelGrid * 2) - 4 * (4 * pixelH)"; + + class Controls: Controls { + class Background: Background {}; + class BackgroundIcon: BackgroundIcon {}; + class Icon: Icon { text = QPATHTOF(gui\aceMenuIcon_ca.paa); - colorText[] = {1,1,1,0.5}; - x = "(10 - 2) * (pixelW * pixelGrid * 2)"; - y = 0; - w = "2 * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 2)"; }; class CurrentVersionInfo: RscText { - idc = 80094; + idc = IDC_MAIN_INFO_CURRENT_VERSION_INFO; style = 1; text = ""; sizeEx = "(pixelH * pixelGrid * 1.5)"; @@ -149,12 +143,13 @@ class RscDisplayMain: RscStandardDisplay { x = 0; y = 0; w = "(10 - 1.25 * 2) * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 1)"; + h = "1 * (pixelH * pixelGrid * 2)"; onLoad = "(_this select 0) ctrlenable false;"; }; class HTTPVersionInfo: RscHTML { - idc = 80095; + idc = IDC_MAIN_INFO_NEWEST_VERSION_INFO; shadow = 0; + class H1 { sizeEx = "(pixelH * pixelGrid * 1.5)"; font = "RobotoCondensedLight"; @@ -167,24 +162,16 @@ class RscDisplayMain: RscStandardDisplay { class P: H1 { sizeEx = "(pixelH * pixelGrid * 1.5)"; }; + x = 0; - y = "2 * (pixelH * pixelGrid * 1)"; + y = "1 * (pixelH * pixelGrid * 2)"; w = "(10 - 1.25 * 2) * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 1)"; + h = "1 * (pixelH * pixelGrid * 2)"; onLoad = "(_this select 0) ctrlenable false;"; }; - class Button: RscButtonMenu { - idc = 80096; - colorBackground[] = {0,0,0,0}; - colorBackgroundFocused[] = {0,0,0,0}; - colorBackground2[] = {0,0,0,0}; - x = 0; - y = 0; - w = "10 * (pixelW * pixelGrid * 2)"; - h = "2 * (pixelH * pixelGrid * 2)"; - + class Button: Button { tooltip = "Download latest and report issues:"; - url = "https://github.com/acemod/ACE3"; + url = "https://github.com/acemod/ACE3/releases"; }; }; }; diff --git a/addons/optionsmenu/init_loadMainMenuBox.sqf b/addons/optionsmenu/init_loadMainMenuBox.sqf index a9b8f5a02a..894bd45124 100644 --- a/addons/optionsmenu/init_loadMainMenuBox.sqf +++ b/addons/optionsmenu/init_loadMainMenuBox.sqf @@ -13,17 +13,47 @@ * * Public: No */ +#include "\a3\ui_f\hpp\defineResinclDesign.inc" #include "script_component.hpp" +params ["_display"]; +private _controlsGroup = _display displayCtrl IDC_MAIN_INFO; + //Need to load from profileNamespace because ace_settings might not be init if world = empty if (profileNamespace getVariable [QGVAR(showNewsOnMainMenu), true]) then { - ((_this select 0) displayCtrl 80090) ctrlShow true; + _controlsGroup ctrlShow true; - private _ace3VersionStr = (getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr")) select [0,5]; - ((_this select 0) displayCtrl 80094) ctrlSetText format ["Version: %1", _ace3VersionStr]; - ((_this select 0) displayCtrl 80095) htmlLoad "http://ace3mod.com/version.html"; + private _fnc_onSetFocus = { + params ["_control"]; + private _controlsGroup = ctrlParentControlsGroup _control; + + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BACKGROUND) ctrlSetTextColor [1,1,1,1]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BACKGROUND_ICON) ctrlSetTextColor [1,1,1,1]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_ICON) ctrlSetTextColor [0,0,0,1]; + }; + + private _fnc_onKillFocus = { + params ["_control"]; + private _controlsGroup = ctrlParentControlsGroup _control; + + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BACKGROUND) ctrlSetTextColor [0,0,0,0.75]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BACKGROUND_ICON) ctrlSetTextColor [0,0,0,0.75]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_ICON) ctrlSetTextColor [1,1,1,0.5]; + }; + + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BUTTON) ctrlAddEventHandler ["MouseEnter", _fnc_onSetFocus]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BUTTON) ctrlAddEventHandler ["SetFocus", _fnc_onSetFocus]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BUTTON) ctrlAddEventHandler ["MouseExit", _fnc_onKillFocus]; + (_controlsGroup controlsGroupCtrl IDC_MAIN_INFO_BUTTON) ctrlAddEventHandler ["KillFocus", _fnc_onKillFocus]; + + private _versionStr = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr") splitString "."; + _versionStr resize 3; // MAJOR, MINOR, PATCH + _versionStr = _versionStr joinString "."; + + (_display displayCtrl IDC_MAIN_INFO_CURRENT_VERSION_INFO) ctrlSetText format ["Version: %1", _versionStr]; + (_display displayCtrl IDC_MAIN_INFO_NEWEST_VERSION_INFO) htmlLoad "https://ace3mod.com/version.html"; } else { - ((_this select 0) displayCtrl 80090) ctrlShow false; + _controlsGroup ctrlShow false; }; /* diff --git a/addons/optionsmenu/script_component.hpp b/addons/optionsmenu/script_component.hpp index 8fac89ba9a..c13e915702 100644 --- a/addons/optionsmenu/script_component.hpp +++ b/addons/optionsmenu/script_component.hpp @@ -17,6 +17,10 @@ #include "\z\ace\addons\main\script_macros.hpp" +#define IDC_MAIN_INFO 80090 +#define IDC_MAIN_INFO_CURRENT_VERSION_INFO 80091 +#define IDC_MAIN_INFO_NEWEST_VERSION_INFO 80092 + #define MENU_TAB_OPTIONS 0 #define MENU_TAB_COLORS 1 diff --git a/addons/overheating/functions/fnc_firedEH.sqf b/addons/overheating/functions/fnc_firedEH.sqf index d641e82d07..f46af66358 100644 --- a/addons/overheating/functions/fnc_firedEH.sqf +++ b/addons/overheating/functions/fnc_firedEH.sqf @@ -94,7 +94,7 @@ if (GVAR(showParticleEffects) && {(CBA_missionTime > ((_unit getVariable [QGVAR( // Only compute jamming for the local player if (_unit != ACE_player) exitWith {END_COUNTER(firedEH);}; -_jamChance = _jamChance * ([[0.5, 1.5, 15, 150], 3 * _scaledTemperature] call EFUNC(common,interpolateFromArray)); +_jamChance = _jamChance * ([[0.5, 1, 2, 8, 20, 150], 5 * _scaledTemperature] call EFUNC(common,interpolateFromArray)); // increase jam chance on dusty grounds if prone (and at ground level) if ((stance _unit == "PRONE") && {((getPosATL _unit) select 2) < 1}) then { diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 0e4326cfea..99cf8298f5 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -31,7 +31,7 @@ if (_assistant isEqualTo _gunner) then { [localize LSTRING(SwappedBarrel), QPATHTOF(UI\spare_barrel_ca.paa)] call EFUNC(common,displayTextPicture); private _temp = _gunner getVariable [format [QGVAR(%1_temp), _weapon], 0]; -private _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; +private _barrelMass = METAL_MASS_RATIO * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Instruct the server to load the coolest spare barrel into the weapon and // store the removed barrel with the former weapon temperature. The server diff --git a/addons/overheating/functions/fnc_updateTemperature.sqf b/addons/overheating/functions/fnc_updateTemperature.sqf index 51b4b13ae3..f56fc05e92 100644 --- a/addons/overheating/functions/fnc_updateTemperature.sqf +++ b/addons/overheating/functions/fnc_updateTemperature.sqf @@ -27,7 +27,7 @@ private _timeVarName = format [QGVAR(%1_time), _weapon]; private _temperature = _unit getVariable [_tempVarName, 0]; private _lastTime = _unit getVariable [_timeVarName, 0]; -private _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; +private _barrelMass = METAL_MASS_RATIO * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling _temperature = [_temperature, _barrelMass, CBA_missionTime - _lastTime] call FUNC(calculateCooling); diff --git a/addons/overheating/script_component.hpp b/addons/overheating/script_component.hpp index 2eef9e2309..d7dde59da2 100644 --- a/addons/overheating/script_component.hpp +++ b/addons/overheating/script_component.hpp @@ -17,6 +17,7 @@ #include "\z\ace\addons\main\script_macros.hpp" #define TEMP_TOLERANCE 50 +#define METAL_MASS_RATIO 0.55 #ifdef DEBUG_MODE_FULL #define TRACE_PROJECTILE_INFO(BULLET) _vdir = vectorNormalized velocity BULLET; _dir = (_vdir select 0) atan2 (_vdir select 1); _up = asin (_vdir select 2); _mv = vectorMagnitude velocity BULLET; TRACE_3("adjusted projectile",_dir,_up,_mv); diff --git a/addons/overpressure/stringtable.xml b/addons/overpressure/stringtable.xml index 420c732b8d..89d8cf8b2d 100644 --- a/addons/overpressure/stringtable.xml +++ b/addons/overpressure/stringtable.xml @@ -6,12 +6,14 @@ 過圧の距離係数 초과압력 거리 계수 Mnożnik dystansu nadciśnienia + Coéfficient de distance pour la surpression Scales the overpressure effect [Default: 1] 過圧効果の範囲 [標準: 1] 초과압력의 효과 크기 [기본설정: 1] Skaluje efekt nadciśnienia [Domyślne: 1] + Échelonne les effets de la surpression [Par défaut : 1] - \ No newline at end of file + diff --git a/addons/refuel/functions/fnc_dropNozzle.sqf b/addons/refuel/functions/fnc_dropNozzle.sqf index 575d318068..80bf8896ab 100644 --- a/addons/refuel/functions/fnc_dropNozzle.sqf +++ b/addons/refuel/functions/fnc_dropNozzle.sqf @@ -19,13 +19,26 @@ #include "script_component.hpp" params [["_unit", objNull, [objNull]], ["_nozzle", objNull, [objNull]], ["_disconnectOnly", false, [false]]]; +TRACE_3("dropNozzle",_unit,_nozzle,_disconnectOnly); detach _nozzle; _nozzle setVariable [QGVAR(isRefueling), false, true]; if (_disconnectOnly) exitWith {}; _nozzle setVelocity [0, 0, 0]; -_nozzle setPosATL [(getPosATL _nozzle) select 0, (getPosATL _nozzle) select 1, 0.05]; + +private _groundPosition = getPosASL _nozzle; +private _posA = (getPosASL _nozzle) vectorAdd [0,0,0.05]; +private _posB = (getPosASL _nozzle) vectorAdd [0,0,-1000]; +private _intersections = lineIntersectsSurfaces [_posA, _posB, _unit, _nozzle, true, 1, "GEOM"]; +TRACE_1("",_intersections); +if (_intersections isEqualTo []) then { + _groundPosition set [2, (getTerrainHeightASL _groundPosition) vectorAdd [0,0,0.005]]; +} else { + _groundPosition = ((_intersections select 0) select 0) vectorAdd [0,0,0.005]; +}; +_nozzle setPosASL _groundPosition; +TRACE_1("finalPos",getPosATL _nozzle); if (isNull _unit) exitWith {}; _unit setVariable [QGVAR(isRefueling), false, true]; diff --git a/addons/refuel/functions/fnc_makeJerryCan.sqf b/addons/refuel/functions/fnc_makeJerryCan.sqf index 36c64a3055..11ef0df46e 100644 --- a/addons/refuel/functions/fnc_makeJerryCan.sqf +++ b/addons/refuel/functions/fnc_makeJerryCan.sqf @@ -36,7 +36,7 @@ private _action = [QGVAR(Refuel), [], [0, 0, 0], REFUEL_ACTION_DISTANCE] call EFUNC(interact_menu,createAction); -[_target, 0, [], _action] call EFUNC(interact_menu,addActionToObject); +[_target, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToObject); // Add pickup _action = [QGVAR(PickUpNozzle), @@ -48,7 +48,7 @@ _action = [QGVAR(PickUpNozzle), [], [0, 0, 0], REFUEL_ACTION_DISTANCE] call EFUNC(interact_menu,createAction); -[_target, 0, [QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); +[_target, 0, ["ACE_MainActions", QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); // Add turnOn _action = [QGVAR(TurnOn), @@ -60,7 +60,7 @@ _action = [QGVAR(TurnOn), [], [0, 0, 0], REFUEL_ACTION_DISTANCE] call EFUNC(interact_menu,createAction); -[_target, 0, [QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); +[_target, 0, ["ACE_MainActions", QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); // Add turnOff _action = [QGVAR(TurnOff), @@ -72,7 +72,7 @@ _action = [QGVAR(TurnOff), [], [0, 0, 0], REFUEL_ACTION_DISTANCE] call EFUNC(interact_menu,createAction); -[_target, 0, [QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); +[_target, 0, ["ACE_MainActions", QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); // Add disconnect _action = [QGVAR(Disconnect), @@ -84,4 +84,4 @@ _action = [QGVAR(Disconnect), [], [0, 0, 0], REFUEL_ACTION_DISTANCE] call EFUNC(interact_menu,createAction); -[_target, 0, [QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); +[_target, 0, ["ACE_MainActions", QGVAR(Refuel)], _action] call EFUNC(interact_menu,addActionToObject); diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 4a4a9094dc..ce815a49df 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -6,114 +6,133 @@ スコープ 조준경 Celowniki optyczne + Scopes Enable ACE Scope adjustment ACE スコープ調節を有効化 ACE 조준경 영점조작 활성화 Włącz ustawienia celowników optycznych ACE + Active ACE Scope adjustment Enable adjustmet turrets on high powered scopes 高倍率スコープでACE スコープ調節を有効化 고성능 조준경 조절 나사 활성화 Włącz pokrętła regulacyjne + Permet de régler la hausse et la dérive sur les optiques de visée à fort grossissement Force adjustment turrets ACE スコープ調節を有効化 조절 나사 강제 Wymuś użycie pokręteł regulacyjnych + Impose le réglage de la hausse/dérive Force usage of adjustmet turrets on high powered scopes 高倍率スコープで調整の使用を強制させます 고성능 조준경의 조절 나사 사용을 강제합니다 Wymuś użycie pokręteł regulacyjnych dla celowników o dużym powiększeniu + Impose le réglage de la hausse/dérive sur les optiques de visée à fort grossissement Correct zeroing ゼロイン調節 영점 고치기 Poprawka zerowania + Corrige le zérotage Corrects the zeroing of all small arms sights 全ての小口径用照準器のゼロインを調節します 모든 소화기의 영점을 고칩니다 Poprawia zerowanie wszystkich celowników broni ręcznej + Corrige le zérotage des optiques de visée des petites armes Overwrite zero distance ゼロイン距離を上書き 영점거리 덮어쓰기 Nadpisuje ustawienie dla zerowego dystansu + Remplace la distance de zérotage Uses the 'defaultZeroRange' setting to overwrite the zero range of high power scopes 'defaultZeroRange'設定を使う高倍率スコープのゼロイン距離を上書きします 기존 고성능 조준경의 영점거리에 '기본설정 영점거리' 를 덮어씌웁니다 Używa 'defaultZeroRange' zamiast ustawionej odległości zerowania dla celowników o duzym przybliżeniu + Utilise le paramètre 'defaultZeroRange' pour remplacer la distance de zérotage sur les optiques de visée à fort grossissement Default zero distance 標準のゼロイン距離 기본설정 영점거리 Domyślne zerowanie + Distance de zérotage par défaut High power scopes will be zeroed at this distance 高倍率スコープのゼロイン距離はこの設定になります 고성능 조준경이 정해진 수만큼 영점거리를 맞추게 됩니다. Celowniki o dużym powiększeniu będą zerowane dla tej odległości + Distance de zérotage par défaut des optiques de visée à fort grossissement Reference temperature 温度の参照 온도 기준 Referencyjna temperatura + Température de référence Temperature at which the scope was zeroed スコープがゼロインされる温度 조준경 영점조준시 온도 Temperatura, przy której celownik został wyzerowany + Température de référence pour le zérotage des optiques Reference barometric pressure 気圧の参照 기압 기준 Referencyjne ciśnienie barometryczne + Pression barométrique de référence Barometric pressure at which the scope was zeroed 気圧の参照 조준경 영점조준시 기압 Ciśnienie barometryczne, przy którym celownik został wyzerowany + Pression barométrique de référence pour le zérotage des optiques Reference humidity 湿度の参照 습도 기준 Referencyjna wilgotność + Humidité de référence Humidity at which the scope was zeroed スコープがゼロインされる湿度 조준경 영점조준시 습도 Wilgotność powietrza, przy której celownik został wyzerowany + Taux d'humidité de référence pour le zérotage des optiques Deduce pressure from altitude 高度により圧が減少 고도에 맞춰 기압 설정 Ciśnienie określone na podstawie wysokości + Pression selon l'altitude Deduce the barometric pressure from the terrain altitude 標高により気圧が減少されます 주변 고도에 맞춰 기압을 설정합니다 Określ ciśnienie barometryczne na podstawie wysokości terenu + Détermine la pression barométrique selon l'altitude du terrain Minor adjustment up @@ -246,6 +265,7 @@ モジュールは高倍率ライフル スコープにおいて横風と仰角の調節ができます。 이 모듈은 고성능 조준경에 조준 나사를 이용한 편차 및 고도 조절 기능을 더해줍니다. Ten moduł włącza pokrętła kalibracyjne poprawki na wiatr oraz poprawki wysokości dla celowników o dużym powiększeniu. + Ce module ajoute les tambours de correction de la hausse et de dérive sur les optiques de visée à fort grossissement. - \ No newline at end of file + diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml index 018dc75ce7..2f5c13b383 100644 --- a/addons/slideshow/stringtable.xml +++ b/addons/slideshow/stringtable.xml @@ -60,7 +60,7 @@ Controllers Steuereinheit - Controleurs + Contrôleurs Kontroler Vezérlők Controles @@ -74,7 +74,7 @@ Controller object names, separated by commas if multiple. Objekte die als Steuereinheit fungieren. Werden ggf. durch Kommata getrennt. - Noms de controleur d'objets, séparation par virgule si plusieurs + Noms de contrôleur d'objets, séparation par virgule si plusieurs Nazwa obiektu - kontrolera, oddzielona przecinkami jeżeli jest ich więcej niż 1. Vezérlő objektum nevek, vesszővel elválasztva több darab esetén. Nome dos objetos de controle, separado por vírgula se mais de um. @@ -142,14 +142,18 @@ Set Name Ustaw nazwę + 名前設定 + Définir le nom Name that will be used for main interaction entry (to distinguish multiple slideshows). Default: "Slides" Nazwa, która będzie użyta w głównym menu interakcji (w celu rozróżnienia różnych slajdów). Domyślnie: "Slides" + メイン インタラクション エントリで使われる名前を設定します。(複数のスライドショーを区別するため)。標準: "Slides" + Un nom qui sera utilisé pour interagir avec plusieurs diaporamas. Par défaut : "Slides" Slide Duration - Durée d'une diapositive + Durée d'un diaporama Czas trwania slajdów Dia időtartam Duração do Slide @@ -163,7 +167,7 @@ Duration of each slide. Default: 0 (Automatic Transitions Disabled) - Durée de chaque diapositive. Dafaut: 0 (transition automatique désactivée) + Durée de chaque diaporama. Défaut: 0 (transition automatique désactivée) Czas trwania poszczególnych slajdów. Domyślnie: 0 (Automatyczne przejścia wyłączone) A diák időtartama. Alapértelmezett: 0 (Automatikus váltás letiltva) Duração de cada slide. Padrão: 0 (Transição automática desabilitada) @@ -177,7 +181,7 @@ Slides - Diapositives + Diapo Slajdy Diák Slides @@ -190,4 +194,4 @@ 슬라이드 - \ No newline at end of file + diff --git a/addons/spectator/UI/interface.hpp b/addons/spectator/UI/interface.hpp index 392cd9a43d..8c566844ee 100644 --- a/addons/spectator/UI/interface.hpp +++ b/addons/spectator/UI/interface.hpp @@ -190,7 +190,7 @@ class GVAR(interface) { 1 }; multiselectEnabled = 0; - maxHistoryDelay = 10e10; + disableKeyboardSearch = 1; onTreeDblClick = QUOTE([ARR_2('onTreeDblClick',_this)] call FUNC(handleInterface)); }; class unitFrame: RscFrame { diff --git a/addons/spectator/config.cpp b/addons/spectator/config.cpp index 92736edb48..aee0eaaa76 100644 --- a/addons/spectator/config.cpp +++ b/addons/spectator/config.cpp @@ -21,7 +21,9 @@ class CfgPatches { class CfgRespawnTemplates { class ADDON { + displayName = CSTRING(DisplayName); onPlayerKilled = QFUNC(respawnTemplate); onPlayerRespawn = QFUNC(respawnTemplate); + respawnTypes[] = {2,3}; }; }; diff --git a/addons/spectator/functions/fnc_handleCompass.sqf b/addons/spectator/functions/fnc_handleCompass.sqf index a65cc9ddce..6f0f94b0ee 100644 --- a/addons/spectator/functions/fnc_handleCompass.sqf +++ b/addons/spectator/functions/fnc_handleCompass.sqf @@ -46,19 +46,12 @@ _positions = [ [_compassW + _offset, 0] ]; -_sequence = if (_heading < 90) then { - [_SW, _WN, _NE, _ES] -} else { - if (_heading < 180) then { - [_WN, _NE, _ES, _SW] - } else { - if (_heading < 270) then { - [_NE, _ES, _SW, _WN] - } else { - [_ES, _SW, _WN, _NE] - }; - }; -}; +_sequence = [ + [_SW, _WN, _NE, _ES], + [_WN, _NE, _ES, _SW], + [_NE, _ES, _SW, _WN], + [_ES, _SW, _WN, _NE] +] select floor(_heading/90); { diff --git a/addons/spectator/functions/fnc_updateCameraModes.sqf b/addons/spectator/functions/fnc_updateCameraModes.sqf index de1611823b..819636ee22 100644 --- a/addons/spectator/functions/fnc_updateCameraModes.sqf +++ b/addons/spectator/functions/fnc_updateCameraModes.sqf @@ -21,6 +21,10 @@ #include "script_component.hpp" +if !(EGVAR(common,settingsInitFinished)) exitWith { + EGVAR(common,runAtSettingsInitialized) pushBack [DFUNC(updateCameraModes),_this]; +}; + params [["_addModes",[],[[]]], ["_removeModes",[],[[]]]]; private ["_newModes","_currentModes"]; diff --git a/addons/spectator/functions/fnc_updateUnits.sqf b/addons/spectator/functions/fnc_updateUnits.sqf index e5b15b6bc1..418643be38 100644 --- a/addons/spectator/functions/fnc_updateUnits.sqf +++ b/addons/spectator/functions/fnc_updateUnits.sqf @@ -33,43 +33,37 @@ if !(_newUnits isEqualTo []) exitWith { }; }; -private ["_sides","_cond","_filteredUnits","_filteredGroups"]; - // Unit setting filter -_newUnits = [[],allPlayers,playableUnits,allUnits] select GVAR(filterUnits); +private _newUnits = [[],allPlayers,playableUnits,allUnits] select GVAR(filterUnits); // Side setting filter -_sides = []; -_cond = [{_this == (side group player)},{(_this getFriend (side group player)) >= 0.6},{(_this getFriend (side group player)) < 0.6},{true}] select GVAR(filterSides); -{ - if (_x call _cond) then { - _sides pushBack _x; - }; -} forEach GVAR(availableSides); +private _sideFilter = [ + {_x == (side group player)}, + {(_x getFriend (side group player)) >= 0.6}, + {(_x getFriend (side group player)) < 0.6}, + {true} +] select GVAR(filterSides); + +private _filteredSides = GVAR(availableSides) select _sideFilter; // Filter units and append to list -_filteredUnits = []; -{ - if ( - (alive _x) && - {(_x isKindOf "CAManBase")} && - {(side group _x) in _sides} && // Side filter - {simulationEnabled _x} && - {!(_x getVariable [QGVAR(isStaged), false])} // Who watches the watchmen? - ) then { - _filteredUnits pushBack _x; - }; -} forEach (_newUnits - GVAR(unitBlacklist)); +private _filteredUnits = (_newUnits - GVAR(unitBlacklist)) select { + (alive _x) && + {(_x isKindOf "CAManBase")} && + {(side group _x) in _filteredSides} && // Side filter + {simulationEnabled _x} && + {!(_x getVariable [QGVAR(isStaged), false])} // Who watches the watchmen? +}; _filteredUnits append GVAR(unitWhitelist); // Cache icons and colour for drawing -_filteredGroups = []; +private _filteredGroups = []; { // Intentionally re-applied to units in case their status changes [_x] call FUNC(cacheUnitInfo); - _filteredGroups pushBack (group _x); + _filteredGroups pushBackUnique (group _x); } forEach _filteredUnits; // Replace previous lists entirely (removes any no longer valid) +GVAR(groupList) = _filteredGroups; GVAR(unitList) = _filteredUnits arrayIntersect _filteredUnits; -GVAR(groupList) = _filteredGroups arrayIntersect _filteredGroups; diff --git a/addons/spectator/functions/fnc_updateVisionModes.sqf b/addons/spectator/functions/fnc_updateVisionModes.sqf index c2bbb09167..6db965af3e 100644 --- a/addons/spectator/functions/fnc_updateVisionModes.sqf +++ b/addons/spectator/functions/fnc_updateVisionModes.sqf @@ -29,6 +29,10 @@ #include "script_component.hpp" +if !(EGVAR(common,settingsInitFinished)) exitWith { + EGVAR(common,runAtSettingsInitialized) pushBack [DFUNC(updateVisionModes),_this]; +}; + params [["_addModes",[],[[]]], ["_removeModes",[],[[]]]]; private ["_newModes","_currentModes"]; diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index 4f18fdf08f..b9af855c4f 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -1,6 +1,9 @@ + + ACE Spectator + Spectator Settings Zuschauer Einstellungen diff --git a/addons/tagging/XEH_postInit.sqf b/addons/tagging/XEH_postInit.sqf index 6693bda2f6..1e7003281a 100644 --- a/addons/tagging/XEH_postInit.sqf +++ b/addons/tagging/XEH_postInit.sqf @@ -16,7 +16,7 @@ for "_index" from 0 to (_countOptions - 1) do { private _model = getText (_cfgClass >> "model"); if (_model != "") then { private _array = _model splitString "\"; - GVAR(cacheStaticModels) setVariable [toLower (_array select ((count _array) - 2)), _cfgClass]; + GVAR(cacheStaticModels) setVariable [(_array select ((count _array) - 1)), true]; }; }; }; @@ -32,7 +32,7 @@ for "_index" from 0 to (_countOptions - 1) do { private _model = getText (_cfgClass >> "model"); if (_model != "") then { private _array = _model splitString "\"; - GVAR(cacheStaticModels) setVariable [toLower (_array select ((count _array) - 2)), _cfgClass]; + GVAR(cacheStaticModels) setVariable [(_array select ((count _array) - 1)), true]; }; }; }; diff --git a/addons/tagging/functions/fnc_checkTaggable.sqf b/addons/tagging/functions/fnc_checkTaggable.sqf index d739bbfec5..e4328687a9 100644 --- a/addons/tagging/functions/fnc_checkTaggable.sqf +++ b/addons/tagging/functions/fnc_checkTaggable.sqf @@ -9,16 +9,14 @@ * Is surface taggable * * Example: - * [unit] call ace_tagging_fnc_checkTaggable + * [player] call ace_tagging_fnc_checkTaggable * * Public: No */ #include "script_component.hpp" -params ["_unit"]; - -[[_unit], { +[_this, { params ["_unit"]; // Exit if no required item in inventory @@ -45,15 +43,11 @@ params ["_unit"]; if (_object isKindOf "Static") exitWith {false}; // If the class is not categorized correctly search the cache - private _array = str(_object) splitString " "; - private _str = toLower (_array select 1); - TRACE_1("Object:",_str); - private _objClass = GVAR(cacheStaticModels) getVariable _str; + private _modelName = (getModelInfo _object) select 0; + private _isStatic = GVAR(cacheStaticModels) getVariable [_modelName, false]; + TRACE_2("Object:",_modelName,_isStatic); // If the class in not on the cache, exit - if (isNil "_objClass") exitWith { - false - }; - true + (!_isStatic) }) exitWith { TRACE_1("Pointed object is non static",_object); false diff --git a/addons/tagging/functions/fnc_tag.sqf b/addons/tagging/functions/fnc_tag.sqf index 3aec5ec139..f90e09cd0a 100644 --- a/addons/tagging/functions/fnc_tag.sqf +++ b/addons/tagging/functions/fnc_tag.sqf @@ -49,15 +49,11 @@ if ((!isNull _object) && { if (_object isKindOf "Static") exitWith {false}; // If the class is not categorized correctly search the cache - private _array = str(_object) splitString " "; - private _str = toLower (_array select 1); - TRACE_1("Object:",_str); - private _objClass = GVAR(cacheStaticModels) getVariable _str; + private _modelName = (getModelInfo _object) select 0; + private _isStatic = GVAR(cacheStaticModels) getVariable [_modelName, false]; + TRACE_2("Object:",_modelName,_isStatic); // If the class in not on the cache, exit - if (isNil "_objClass") exitWith { - false - }; - true + (!_isStatic) }) exitWith { TRACE_1("Pointed object is non static",_object); false diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 8b0782c32e..05a23e4cd1 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -68,16 +68,14 @@ Tag Markieren Marcar - Taguj - Tag Oznakuj - Marque Marca Označit Marcar Маркер タグ 뿌리기 + Tag X black @@ -198,4 +196,3 @@ - diff --git a/addons/zeus/functions/fnc_ui_teleportPlayers.sqf b/addons/zeus/functions/fnc_ui_teleportPlayers.sqf index cd5fd82d8d..94a734ab4e 100644 --- a/addons/zeus/functions/fnc_ui_teleportPlayers.sqf +++ b/addons/zeus/functions/fnc_ui_teleportPlayers.sqf @@ -29,7 +29,7 @@ private _listbox = _display displayCtrl 16189; if (alive _x) then { _listbox lbSetData [_listbox lbAdd (name _x), getPlayerUID _x]; }; -} forEach allPlayers; +} forEach ([] call CBA_fnc_players); _listbox lbSetCurSel 0; (_display displayCtrl 16188) cbSetChecked (_logic getVariable ["tpGroup",false]); diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index c55371a41c..33276b33af 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -226,30 +226,35 @@ 編集可能なオブジェクトを更新 Aktualizuj edytowalne obiekty 수정 가능한 물체 갱신 + Màj les objets éditables All Curators 全キュレーター 모든 큐레이터 Wszyscy kuratorzy + Tous curateurs Apply changes to all curators 全キュレーターへ変更を適用 모든 큐레이터에 변화를 적용합니다 Zatwierdź zmiany dla wszystkich kuratorów + Applique les changements à tous les curateurs Remove Objects オブジェクトの削除 물체 삭제 Usuń obiekty + Enlève les objets Remove existing instead of adding new 新しく追加するために削除します 물체를 삭제합니다 Usuń istniejące zamiast dodawać nowe + Enlève les objets existants au lieu d'en ajouter de nouveaux Global AI Skill @@ -420,18 +425,21 @@ FRUES の追加と削除 패스트로프 추가/제거 Dodaj/usuń FRIES + Aj./Enlève FRIES %1 is not fastrope compatible. %1 はファストロープに対応していません。 %1은 패스트로프하기에 적합하지 않습니다. %1 nie jest kompatybilny ze zjazdem linowym. + %1 n'est pas compatible. Unable to remove FRIES, ropes are deployed. すでにロープが展開されているため、FRIES を削除できません。 패스트로프 제거 불가능, 줄이 이미 배치되었습니다. Nie można usunąć FRIES, liny są wypuszczone. + Pas en mesure d'enlever le FRIES, les cordes ne sont pas déployées. Teleport Players @@ -561,6 +569,7 @@ Przełącz symulację シミュレーションをトグル 재현 토글 + Bascule Simulation Add Spare Wheel @@ -814,4 +823,4 @@ 알 수 없는 반경 입력됨 - \ No newline at end of file + diff --git a/docs/README_DE.md b/docs/README_DE.md index 5e10b5b91b..fda503c4d2 100644 --- a/docs/README_DE.md +++ b/docs/README_DE.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Fehlermeldungen diff --git a/docs/README_PL.md b/docs/README_PL.md index ba4493acb6..01aa93ddb0 100644 --- a/docs/README_PL.md +++ b/docs/README_PL.md @@ -3,7 +3,7 @@

- ACE3 Wersja + ACE3 Wersja ACE3 Zagadnienia diff --git a/docs/_config.yml b/docs/_config.yml index 24cd47f070..22352d1375 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -9,16 +9,16 @@ ace: version: major: 3 minor: 9 - patch: 0 - build: 16 + patch: 1 + build: 17 acex: githubUrl: https://github.com/acemod/ACEX version: major: 3 - minor: 1 - patch: 1 - build: 3 + minor: 2 + patch: 0 + build: 4 markdown: kramdown diff --git a/docs/_config_dev.yml b/docs/_config_dev.yml index 66c4dfb7e1..d3ec0acb83 100644 --- a/docs/_config_dev.yml +++ b/docs/_config_dev.yml @@ -11,8 +11,8 @@ ace: version: major: 3 minor: 9 - patch: 0 - build: 16 + patch: 1 + build: 17 acex: githubUrl: https://github.com/acemod/ACEX diff --git a/docs/img/scope_module.jpg b/docs/img/scope_module.jpg new file mode 100644 index 0000000000..19629bddd7 Binary files /dev/null and b/docs/img/scope_module.jpg differ diff --git a/docs/img/wiki/feature/ab_ingame.png b/docs/img/wiki/feature/ab_ingame.png new file mode 100644 index 0000000000..6f53d714d7 Binary files /dev/null and b/docs/img/wiki/feature/ab_ingame.png differ diff --git a/docs/img/wiki/feature/ab_module.jpg b/docs/img/wiki/feature/ab_module.jpg new file mode 100644 index 0000000000..70d2ec52b5 Binary files /dev/null and b/docs/img/wiki/feature/ab_module.jpg differ diff --git a/docs/img/wiki/feature/abtools_inventory.png b/docs/img/wiki/feature/abtools_inventory.png new file mode 100644 index 0000000000..72e1607689 Binary files /dev/null and b/docs/img/wiki/feature/abtools_inventory.png differ diff --git a/docs/img/wiki/feature/atragmx1.jpg b/docs/img/wiki/feature/atragmx1.jpg deleted file mode 100644 index d80768a686..0000000000 Binary files a/docs/img/wiki/feature/atragmx1.jpg and /dev/null differ diff --git a/docs/img/wiki/feature/atragmx1.png b/docs/img/wiki/feature/atragmx1.png new file mode 100644 index 0000000000..e32a31c899 Binary files /dev/null and b/docs/img/wiki/feature/atragmx1.png differ diff --git a/docs/img/wiki/feature/atragmx4.png b/docs/img/wiki/feature/atragmx4.png new file mode 100644 index 0000000000..7db5b69077 Binary files /dev/null and b/docs/img/wiki/feature/atragmx4.png differ diff --git a/docs/img/wiki/feature/rangecard_menu.jpg b/docs/img/wiki/feature/rangecard_menu.jpg new file mode 100644 index 0000000000..d41ba9fe6b Binary files /dev/null and b/docs/img/wiki/feature/rangecard_menu.jpg differ diff --git a/docs/img/wiki/feature/scope_module.jpg b/docs/img/wiki/feature/scope_module.jpg new file mode 100644 index 0000000000..19629bddd7 Binary files /dev/null and b/docs/img/wiki/feature/scope_module.jpg differ diff --git a/docs/team.md b/docs/team.md index 19b1ccee2a..4f1a8d5150 100644 --- a/docs/team.md +++ b/docs/team.md @@ -9,7 +9,7 @@ order: 3 Name | Responsibilities --- | --- -[bux](https://github.com/bux578){:target="_blank"} | Scripting, Testing +[bux](https://github.com/bux){:target="_blank"} | Scripting, Testing [Felix Wiegand](https://github.com/koffeinflummi){:target="_blank"} | Scripting, Model Import [Glowbal](https://github.com/glowbal){:target="_blank"} | Scripting, UI [NouberNou](https://github.com/Noubernou){:target="_blank"} | Coding, Modeling, Performance, SME diff --git a/docs/wiki/feature/advanced-ballistics.md b/docs/wiki/feature/advanced-ballistics.md index b025b684e4..43fa7d454e 100644 --- a/docs/wiki/feature/advanced-ballistics.md +++ b/docs/wiki/feature/advanced-ballistics.md @@ -15,7 +15,7 @@ version: ## 1. Overview The Advanced Ballistics module improves internal and external ballistics. -## 1.1 Features +### 1.1 Features - Drag modelling based on real-world ballistic coefficients. - Ambient air density (air pressure, temperature, humidity) affects drag. - Wind affects drag and deflects the trajectory. @@ -31,7 +31,19 @@ The Advanced Ballistics module improves internal and external ballistics. ## 2. Usage -### 2.1 Protractor +### 2.1 Enabling Advanced Ballistics + +#### 2.1.1 Editor +Advanced Ballistics module + +#### 2.1.2 Settings Framework +- [Settings Framework]({{ site.baseurl }}/wiki/framework/settings-framework.html) + +#### 2.1.3 Enabled in-game ? +- Pick up a [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and open it. +Advanced Ballistics vs Default Ballistic + +### 2.2 Protractor - You need a compatible weapon. - Press Ctrl+⇧ Shift+K. - Red line indicates the current inclination angle in degrees. diff --git a/docs/wiki/feature/ai.md b/docs/wiki/feature/ai.md index 9cf34ce667..49727b70f9 100644 --- a/docs/wiki/feature/ai.md +++ b/docs/wiki/feature/ai.md @@ -12,23 +12,22 @@ version: patch: 0 --- +

+ ## 1. Overview -### 1.1 Adjusted AI skill values -The idea here is to reduce the AI's godlike aiming capabilities while retaining its high intelligence. The AI should be smart enough to move through a town, but also be 'human' in their reaction time and aim. - -*Note: All these values can still be adjusted via scripts, these arrays just change what 0 & 1 are for `setSkill`.* - -### 1.2 Firing in burst mode +### 1.1 Firing in burst mode AI will now use the automatic mode of their weapons at short distances, instead of always relying on firing single shots in quick succession. -### 1.3 Longer engagement ranges +### 1.2 Longer engagement ranges The maximum engagement ranges are increased: AI will fire in bursts with variable lengths on high ranges of 500 - 700 meters, depending on their weapon and optic. -### 1.4 No dead zones in CQB +### 1.3 No dead zones in CQB Some weapons had minimum engagement ranges. If you were as close as 2 meters to an AAF soldier, he wouldn't open fire, because the AI couldn't find any valid fire mode for their weapon. ACE3 removes this behaviour mostly notable in CQB by adding a valid firing mode. -### 1.5 No scripting +### 1.4 No scripting All changes of ACE3 AI are config based to ensure full compatibility with advanced AI modifications like e.g. "ASR AI 3". ## 2. Dependencies diff --git a/docs/wiki/feature/atragmx.md b/docs/wiki/feature/atragmx.md index fde3bf8880..2060edd6d6 100644 --- a/docs/wiki/feature/atragmx.md +++ b/docs/wiki/feature/atragmx.md @@ -18,59 +18,120 @@ version: Horus ATragMX software considers atmospheric conditions, gun data, ammunition, range, speed and muzzle velocity to calculate precise aiming solutions with "come-up" results – and even accounts for Coriolis and spin drift effects. ATragMX, loaded on a handheld computer made by TDS Recon, is easy to use and lightning-fast. The Recon meets the rigorous MIL-STD-810F military standard for drops, vibration, humidity, altitude and extreme temperatures. -## 2. Usage -### 2.1 Example with M14 and default 7.62mm 20Rnd Mag +## 2. Requirement + +- [Advanced Ballistics module enabled]({{ site.baseurl }}/wiki/feature/advanced-ballistics.html) + + +## 3. Usage + +### 3.1 Opening the AtragMx + +#### 3.1.1 Interaction Menu + +- Open the self interaction menu Ctrl + ⊞ Win +- Select `Equipment` +- Select `Open AtragMx` + +#### 3.1.2 Custom key + +- `OPTIONS` / `CONTROLS` / `CONFIGURE ADDONS` / `ACE3 Equipment` + +#### 3.1.3 Inventory + +Inventory management + +### 3.2 Example with M14 and default 7.62mm 20Rnd Mag **Start of the mission:** - - Open the Range Card and check the cartridge, the zeroed distance, the rifle twist, -the Muzzle Velocity at 15°C and the Bore Height at the end. - RangeCard +- Open the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and check the cartridge, the zeroed distance, the rifle twist, the muzzle velocity at 15°C and the bore height. - - Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. - - `Open Gun` the 7.62x51mm M80 in the `GunList`. - - Select `E` (English unit) at the top right. - - Open the `Gun` column, check and update the `Bore`, the `Rifle Twist` and `Done`. - - Select `M` (Metric unit) at the top right. - - Open the `Gun` column, check and update the `Muzzle Velocity`, the `Zero Range` and `Done`. - - *The Muzzle Velocity Table will be automatically updated.* - - Optionally, `Save Gun` and `Done` in the `GunList`. +Range card + +- Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15) +- `Open Gun` the 7.62x51mm M80 in the `GunList`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=25) +- Select `E` (English unit) at the top right. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=10) +- Open the `Gun` column, check and update the `Bore`, the `Rifle Twist` and `Done`. +- Select `M` (Metric unit) at the top right. +- Open the `Gun` column, check and update the `Muzzle Velocity`, the `Zero Range` and `Done`. +- *The Muzzle Velocity Table will be automatically updated.* [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=22) +- *(Must be edited manually for specific cartridges according with the range card)* +- Optionally, `Save Gun` and `Done` in the `GunList`. **In position:** - - Update the `Atmsphr` column with the Kestrel and `Done` (Check the new Muzzle Velocity in the `Gun` column). - - Update the `Target` column. - - Apply the vertical and horizontal elevations on the scope. - - Control the breath and press. + +- Update the `Atmsphr` column with the [Kestrel 4500]({{ site.baseurl }}/wiki/feature/kestrel4500.html) and `Done`. +- *Check the new `Muzzle Velocity` in the `Gun` column.* +- Update the `Target` column (the [wind arrow]({{ site.baseurl }}/wiki/feature/weather.html) will also help). [[1]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=16) [[2]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=30) [[3]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=32) [[4]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=33) +- *The latitude for all common maps can be found in the [ACE3 Github]({{ site.ace.githubUrl }}/blob/master/addons/common/functions/fnc_getMapData.sqf).* +- Apply the vertical and horizontal elevations on the [scope]({{ site.baseurl }}/wiki/feature/scopes.html). +- Control the breath and press. -### 2.2 Example with Truing tool +### 3.3 Example with Truing tool **Start of the mission:** - - Select `Drag Coef Table` in the `Options` menu. - - Add the `ZR` and the `C1` (`Gun` column) in the table and `Done`. + +- Select `Drag Coef Table` in the `Options` menu. +- Add the `ZR` and the `C1` (`Gun` column) in the table and `Done`. **In position:** - - Open the `Truing Drop` in the `Options` menu. - - Add the actual `Target Range` in the `SUPER` column and `Calc`. - - Add the same `Target Range` in the `SUB` column and `Calc`. - - Apply the actual scope elevation in the `Drop` field and `Calc`. - - `Accept` the new `C1`, `Gun` column and `Elev` are updated. - - *The Drag Coefficient Table will be automatically updated.* - - Optionally, `Save Gun` and `Done` in the `GunList`. + +- Open the `Truing Drop` in the `Options` menu. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=23) +- Add the actual `Target Range` in the `SUPER` column and `Calc`. +- Add the same `Target Range` in the `SUB` column and `Calc`. +- Apply the actual scope elevation in the `Drop` field and `Calc`. +- `Accept` the new `C1`, `Gun` column and `Elev` are updated. +- *The Drag Coefficient Table will be automatically updated.* [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=22) +- Optionally, `Save Gun` and `Done` in the `GunList`. - Calculation +Calculation - - If a new `Target Range` is applied in the `Target` column, select `Drag Coef Table` in the `Options` menu and `Done`. - - The ballistic coefficient `C1` and the elevation `Elev` will be recalculated. +- If a new `Target Range` is applied in the `Target` column, select `Drag Coef Table` in the `Options` menu and `Done`. +- The ballistic coefficient `C1` and the elevation `Elev` will be recalculated. Interpolation + +### 3.4 Example with overwritten zero distance + +- The `Default zero distance` can be overwritten with the [Scopes module]({{ site.baseurl }}/wiki/feature/scopes.html) or the [Settings Framework]({{ site.baseurl }}/wiki/framework/settings-framework.html). +- In this case, the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) will be automatically updated, NOT the AtragMx. +- Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15) +- Open the `Gun` column, check and update the `Zero Range` and `Done`. - ### 3. Official Manual and Horus Videos +Zero distance 300m + +### 3.5 Example with `Add New Gun` in `GunList` + +- Open the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and check the cartridge, the caliber, the bullet weight and the muzzle velocities. +- Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15) +- Select `Add New Gun` in the `GunList`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=25) +- Add a `New Gun Name` and `Open Gun`. +- Select `E` (English unit) at the top right. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=10) +- Open the `Gun` column, check and update the `Bullet Weight (grains)`, the `Bullet Diam (inches)` and `Done`. +- Select `M` (Metric unit) at the top right. +- Open the `Muz Vel Table` in the `Options` menu or click on `MV` in the `Gun` column. +- Edit manually the `Muzzle Velocity Table` according with the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=22) +- The `C1 coefficient` of the bullet can be found, for example, in the Eden Editor `Config Viewer`: +> configfile >> "CfgAmmo" >> "Range card cartridge" >> "ACE_ballisticCoefficients" + +> configfile >> "CfgAmmo" >> "Range card cartridge" >> "ACE_dragModel" +- *The AtragMx accepts only **G1 ballistic coefficient**.* +- *G7 ballistic coefficient can be converted, for example, with the online [JBM Ballistics Calculators](http://www.jbmballistics.com/cgi-bin/jbmgf-5.1.cgi)*. +- Optionally, `Save Gun` and `Done` in the `GunList`. + + +For advanced users, the ballistic coefficient can be calculated by using the [360 Degree Training Course mission](https://forums.bistudio.com/forums/topic/171228-sp-360-degree-training-course/) as a chronograph at different distances and [JBM Ballistics Calculators](http://www.jbmballistics.com/cgi-bin/jbmbcv-5.1.cgi) for example, or an another ballistic software at your own convenience. + - - [Official Manual](https://github.com/acemod/ACE3/blob/master/extras/manual_Horus_ATrag-v385.pdf) - - [Horus video part1](https://www.youtube.com/watch?v=pg6oqT5jVds) - - [Horus video part2](https://www.youtube.com/watch?v=7SkRnbwoPmw) - -### 4. Dependencies +## 4. Official Manual and Horus Videos + +- [Official Manual]({{ site.ace.githubUrl }}/blob/master/extras/manual_Horus_ATrag-v385.pdf) +- [Horus video part1](https://www.youtube.com/watch?v=pg6oqT5jVds) +- [Horus video part2](https://www.youtube.com/watch?v=7SkRnbwoPmw) + + +## 5. Dependencies {% include dependencies_list.md component="atragmx" %} diff --git a/docs/wiki/feature/kestrel4500.md b/docs/wiki/feature/kestrel4500.md index 068e020654..518ec77e68 100644 --- a/docs/wiki/feature/kestrel4500.md +++ b/docs/wiki/feature/kestrel4500.md @@ -12,21 +12,45 @@ version: patch: 0 --- -## Overview +## 1. Overview -### Sub-feature 1 -Short description of sub-feature 1. - -### Sub-feature 2 -Short description of sub-feature 2. +The Kestrel 4500 Pocket Weather Tracker is Kestrel's environmental meter. This is a mini weather station in itself : +- Heading +- Wind direction +- Crosswind +- Headwind +- Altitude +- Barometric pressure +- Wet bulb temperature +- Relative humidity in % +- Dewpoint +- Density altitude +- Wind chill +- Temperature °C +- Time and date +- Minimum, Maximum and Average values -## Usage +## 2. Usage -Short overview of how to use the feature, e.g. menu options, key bindings, -instructions. May not apply to all modules. +### 2.1 Opening the Kestrel + +#### 2.1.1 Interaction Menu +- Open the self interaction menu Ctrl + ⊞ Win +- Select `Equipment` +- Select `Open Kestrel 4500` + +#### 2.1.2 Custom key +- `OPTIONS` / `CONTROLS` / `CONFIGURE ADDONS` / `ACE3 Equipment` + +#### 2.1.3 Inventory +Inventory management -## Dependencies +## 3. Official Manual +- [Official Manual]({{ site.ace.githubUrl }}/blob/master/extras/K4500_Instruction_Manual_English.pdf) + + +## 4. Dependencies {% include dependencies_list.md component="kestrel4500" %} diff --git a/docs/wiki/feature/modules.md b/docs/wiki/feature/modules.md index 85a809896e..f74777e3c1 100644 --- a/docs/wiki/feature/modules.md +++ b/docs/wiki/feature/modules.md @@ -24,4 +24,4 @@ This is taking care of module initialization. It lets us ensure that modules pla ## 3. Usage -For technical usage and instructions, please refer to our [framework documentation about the module component] ({{site.baseUrl}}/wiki/framework/modules-framework.html). +For technical usage and instructions, please refer to our framework documentation about the module component. diff --git a/docs/wiki/feature/rangecard.md b/docs/wiki/feature/rangecard.md index 708d59261c..4326969389 100644 --- a/docs/wiki/feature/rangecard.md +++ b/docs/wiki/feature/rangecard.md @@ -16,21 +16,30 @@ version: Add a range card that updates itself for your weapon and the type of ammo you're using. + ## 2. Usage ### 2.1 Opening the range card + +#### 2.1.1 Interaction Menu - Open the self interaction menu Ctrl + ⊞ Win - Select `Equipment` - Select `Open Range Card` +#### 2.1.2 Custom key +- `OPTIONS` / `CONTROLS` / `CONFIGURE ADDONS` / `ACE3 Equipment` + +#### 2.1.3 Inventory +Inventory management + ### 2.2 Using the range card -- To use this to it's full potential the use of a `Vector 21` is strongly recommended, a `Kestrel 4500` will also help. - -- Pull out your rangefinder (`Vector 21` preferred) and get the distance between you and your target. - +- To use this to it's full potential the use of a [Vector 21]({{ site.baseurl }}/wiki/feature/vector.html) is strongly recommended, a [Kestrel 4500]({{ site.baseurl }}/wiki/feature/kestrel4500.html) will also help. +- Pull out your rangefinder ([Vector 21]({{ site.baseurl }}/wiki/feature/vector.html) preferred) and get the distance between you and your target. - Open your rangetable and look under the `Target range` column. - - Move to the `Bullet Drop` column, the drop is in MRADs, you need to compensate for it by adjusting your sight. Example, you want to adjust for a bullet drop of -7.9 MRADs simply adjust your scope 7.9 MRADs vertically. (check [feature scopes]({{ site.baseurl }}/wiki/feature/scopes.html) ) for this. +- Possibility to modify, copy and share the range card between spotter and shooter. +Range card self interaction menu + ## 3. Dependencies diff --git a/docs/wiki/feature/scopes.md b/docs/wiki/feature/scopes.md index a04578769e..8f496a90d9 100644 --- a/docs/wiki/feature/scopes.md +++ b/docs/wiki/feature/scopes.md @@ -17,6 +17,7 @@ version: ### Sniper Scope Adjustment Allows snipers to adjust their scopes horizontally and vertically in mils. + ## 2. Usage ### 2.1 Adjusting your scope vertically @@ -32,6 +33,11 @@ Please not that the following key combinations are ACE3 default key binds. - Major adjustment right Ctrl + ⇧ Shift + Page Up. - Major adjustment left Ctrl + ⇧ Shift + page Down. +### 2.3 Scopes Module + +Editor's scopes module + + ## 3. Dependencies {% include dependencies_list.md component="scopes" %} diff --git a/docs/wiki/feature/vector.md b/docs/wiki/feature/vector.md index ce3a3ebbf9..415d77643a 100644 --- a/docs/wiki/feature/vector.md +++ b/docs/wiki/feature/vector.md @@ -78,13 +78,19 @@ The Vector is controlled with 2 keys: the azimuth key and the range key; Ta - Sight the circle on the first object and tap R while further holding Tab ↹. The first measurement is confirmed ("1-P" = first point). - Sight the second object and release Tab ↹. -### 2.9 Fall of shot +#### 2.9 Fall of shot Measuring Fall of shot - Tap Tab ↹ once then press and hold it until the azimuth appears. - Sight the circle on the object and tap R while further holding Tab ↹. The first measurement is confirmed ("1-P" = first point). - Sight the Fall of shot and release Tab ↹. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If R is tapped the height correction values will be displayed (`UP` and `dn`). +#### 2.10 Setting the measurement units (degrees/mils & meters/feet) + +- Tap Tab ↹ five times fast. "Unit SEtt" appears briefly. +- Press R until the desired units are displayed. +- Tap Tab ↹ five times fast to save the selection. + ## 3. Dependencies {% include dependencies_list.md component="vector" %} diff --git a/docs/wiki/featurex/volume.md b/docs/wiki/featurex/volume.md new file mode 100644 index 0000000000..960e3003c3 --- /dev/null +++ b/docs/wiki/featurex/volume.md @@ -0,0 +1,34 @@ +--- +layout: wiki +title: Volume Toggle +description: Ability to toggle volume of game and music. +group: feature +category: general +parent: wiki +mod: acex +version: + major: 3 + minor: 2 + patch: 0 +--- + +## 1. Overview + +Adds the possibility of setting a keybind to toggle volume of game and music. It's quite useful for when you're briefing in heavy rain, or if you're in an obnoxiously loud car. + +## 2. Features + +- Automatically lower volume when inside vehicles (restores when exiting vehicles) +- Change reduction percentage and fade delay +- Option to show/hide notification +- Option to remind you every minute if your volume is lowered + +## 3. Usage + +1. Set the keybind in ACEX controls +2. Enable the feature in ACE options +3. Change the options to your liking + +## 4. Dependencies + +{% include dependenciesx_list.md component="volume" %} diff --git a/mod.cpp b/mod.cpp index ca215089bf..639e957a64 100644 --- a/mod.cpp +++ b/mod.cpp @@ -1,8 +1,8 @@ -name = "Advanced Combat Environment 3.9.0"; +name = "Advanced Combat Environment 3.9.1"; picture = "logo_ace3_ca.paa"; actionName = "GitHub"; action = "https://github.com/acemod/ACE3"; -description = "ACE3 - Version 3.9.0"; +description = "ACE3 - Version 3.9.1"; logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3"; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index d4feb96cc0..5125e268fa 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -194,7 +194,7 @@ class CfgAmmo { class M_Titan_AT; class rhs_ammo_M_fgm148_AT: M_Titan_AT { - irLock = 0; + irLock = 1; laserLock = 0; airLock = 0; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 4285db8661..2c1594143c 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -105,8 +105,8 @@ class CfgWeapons { ACE_twistDirection = 0; ACE_barrelLength = 508.0; }; - class SMG_01_F; - class rhsusf_weap_MP7A1_base_f: SMG_01_F { + class SMG_02_base_F; + class rhsusf_weap_MP7A1_base_f: SMG_02_base_F { ACE_barrelTwist = 160.0; ACE_barrelLength = 180.0; };