Merge remote-tracking branch 'origin' into tripd-updates

This commit is contained in:
commy2 2017-12-13 23:00:26 +01:00
commit 36626d26d8
79 changed files with 1345 additions and 748 deletions

View File

@ -76,7 +76,7 @@
<Hungarian>Engedélyezi a fejlett ballisztikát</Hungarian>
<Russian>Включает продвинутую баллистику</Russian>
<Italian>Abilita Balistica Avanzata</Italian>
<Japanese>アドバンスド バリスティックスを有効化</Japanese>
<Japanese>アドバンスド バリスティックス</Japanese>
<Korean>고급 탄도학을 적용합니다</Korean>
<Chinese>啟用先進彈道系統</Chinese>
<Chinesesimp>启用先进弹道系统</Chinesesimp>
@ -84,10 +84,12 @@
<Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_DisplayName">
<English>Enable Muzzle Velocity Variation</English>
<German>Variation der Mündungsgeschwindigkeit aktivieren</German>
<Japanese>銃口初速の変化</Japanese>
</Key>
<Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_Description">
<English>Simulates slight variations in muzzle velocity between each shot</English>
<German>Simuliert leichte Variationen der Mündungsgeschwindigkeit zwischen jedem Schuss.</German>
<Japanese>発射毎に僅かな銃口初速の変化をシミュレートします。</Japanese>
</Key>
<Key ID="STR_ACE_Advanced_Ballistics_ammoTemperatureEnabled_DisplayName">
<English>Enable Ammo Temperature Simulation</English>
@ -100,7 +102,7 @@
<Hungarian>Lőszer-hő szimuláció engedélyezése</Hungarian>
<Russian>Симуляция температуры для боеприпасов</Russian>
<Italian>Abilita simulazione della temperatura delle munizioni</Italian>
<Japanese>弾薬温度シミュレーションを有効化</Japanese>
<Japanese>弾薬温度シミュレーション</Japanese>
<Korean>탄약 온도 구현 적용</Korean>
<Chinese>啟用彈藥溫度模擬系統</Chinese>
<Chinesesimp>启用弹药温度模拟系统</Chinesesimp>
@ -116,7 +118,7 @@
<Hungarian>A kezdősebesség a lőszer hőmérsékletétől függően változó</Hungarian>
<Russian>Начальная скорость пули зависит от температуры</Russian>
<Italian>La velocità dello sparo varia a seconda della temperatura delle munizioni</Italian>
<Japanese>弾薬の温度により初速を変化させます</Japanese>
<Japanese>弾薬の温度により銃口初速を変化させます</Japanese>
<Korean>탄약 온도에 비례해 총구 속도가 달라집니다</Korean>
<Chinese>子彈初速將隨彈藥溫度而有所變化</Chinese>
<Chinesesimp>子弹初速将随弹药温度而有所变化</Chinesesimp>
@ -132,7 +134,7 @@
<Hungarian>Csőhossz-szimuláció engedélyezése</Hungarian>
<Russian>Симуляция длины ствола</Russian>
<Italian>Abilita simulazione della lunghezza della canna</Italian>
<Japanese>銃身長シミュレーションを有効化</Japanese>
<Japanese>銃身長シミュレーション</Japanese>
<Korean>총열 길이 구현 적용</Korean>
<Chinese>啟用槍管長度模擬系統</Chinese>
<Chinesesimp>启用枪管长度模拟系统</Chinesesimp>
@ -148,7 +150,7 @@
<Hungarian>A kezdősebesség a cső hosszától függően változó</Hungarian>
<Russian>Начальная скорость пули зависит от длины ствола</Russian>
<Italian>La velocità di sparo varia a seconda della lunghezza della canna</Italian>
<Japanese>銃身長により初速を変化させます</Japanese>
<Japanese>銃身長により銃口初速を変化させます</Japanese>
<Korean>총구 속도가 총열에 비례해 달라집니다</Korean>
<Chinese>子彈初速將隨槍管長度而有所變化</Chinese>
<Chinesesimp>子弹初速将随枪管长度而有所变化</Chinesesimp>
@ -164,7 +166,7 @@
<Hungarian>Nyomkövető-effekt engedélyezése</Hungarian>
<Russian>Следы пуль</Russian>
<Italian>Abilita effetto dei Proiettili Traccianti</Italian>
<Japanese>弾丸の痕跡表示を有効化</Japanese>
<Japanese>弾丸の痕跡表示</Japanese>
<Korean>예광탄 효과 적용</Korean>
<Chinese>啟用曳光彈效果</Chinese>
<Chinesesimp>启用曳光弹效果</Chinesesimp>
@ -228,7 +230,7 @@
<Hungarian>Szimuláció hatóköre</Hungarian>
<Russian>Радиус симуляции</Russian>
<Italian>Raggio Simulazione</Italian>
<Japanese>シミュレーション適用範囲</Japanese>
<Japanese>シミュレーション適用範囲</Japanese>
<Korean>구현 범위</Korean>
<Chinese>模擬半徑</Chinese>
<Chinesesimp>模拟半径</Chinesesimp>

View File

@ -28,7 +28,7 @@
<Key ID="STR_ACE_Advanced_Throwing_Enable_DisplayName">
<English>Enable Advanced Throwing</English>
<Russian>Включить улучшенный бросок</Russian>
<Japanese>アドバンスド投てきを有効化</Japanese>
<Japanese>アドバンスド投てき</Japanese>
<Polish>Aktywuj zaawansowane rzucanie</Polish>
<German>Aktiviere erweitertes Wurfsystem</German>
<Korean>고급 투척 활성화 </Korean>
@ -100,7 +100,7 @@
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_DisplayName">
<English>Enable Throwables Pick Up</English>
<Russian>Включить подбор гранат</Russian>
<Japanese>投てき物の拾い上げを有効化</Japanese>
<Japanese>投てき物の拾い上げ</Japanese>
<Polish>Zezwól na podnoszenie obiektów miotanych</Polish>
<German>Aktiviere Aufheben von Wurfobjekten</German>
<Korean>투척물 줍기 활성화</Korean>
@ -124,7 +124,7 @@
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_DisplayName">
<English>Enable Attached Throwables Pick Up</English>
<Russian>Включить подбор прикрепленных гранат</Russian>
<Japanese>い上げた投てき物の取り付けを有効化</Japanese>
<Japanese>った投てき物の取り付け</Japanese>
<Polish>Zezwól na podnoszenie przyczepionych obiektów miotanych</Polish>
<German>Aktiviere erneute Aufnahme befestigter Wurfobjekte</German>
<Korean>부착 투척물 줍기 활성화</Korean>
@ -172,7 +172,7 @@
<Key ID="STR_ACE_Advanced_Throwing_DropModeToggle">
<English>Throwable Drop Mode (Toggle)</English>
<Russian>Режим броска гранаты (переключить)</Russian>
<Japanese>投てきモード (切)</Japanese>
<Japanese>投てきモード (切替)</Japanese>
<Polish>Tryb upuszczania ob. miotanego (przełącz)</Polish>
<German>Wurfobjekt Fallmodus (umschalten)</German>
<Korean>투척물 떨어뜨리기 모드(토글)</Korean>
@ -184,7 +184,7 @@
<Key ID="STR_ACE_Advanced_Throwing_Primed">
<English>Primed</English>
<Russian>Подготовлена</Russian>
<Japanese>起動し</Japanese>
<Japanese>作動させ</Japanese>
<Polish>Odbezpieczony</Polish>
<German>Scharf gemacht</German>
<Korean>뇌관 작동</Korean>

View File

@ -5,6 +5,9 @@ GVAR(EH_ID) = 0;
GVAR(lastSearchTextLeft) = "";
GVAR(lastSearchTextRight) = "";
[QGVAR(addVirtualItems), {_this call FUNC(addVirtualItems)}] call CBA_fnc_addEventHandler;
[QGVAR(removeVirtualItems), {_this call FUNC(removeVirtualItems)}] call CBA_fnc_addEventHandler;
[QGVAR(initBox), {_this call FUNC(initBox)}] call CBA_fnc_addEventHandler;
[QGVAR(removeBox), {_this call FUNC(removeBox)}] call CBA_fnc_addEventHandler;

View File

@ -24,200 +24,206 @@ params [["_object", objNull, [objNull]], ["_items", [], [true, []]], ["_global",
if (_object == objNull) exitWith {};
if (_items isEqualType [] && {count _items == 0}) exitWith {};
private _cargo = _object getVariable [QGVAR(virtualItems), [
[[], [], []], // Weapons 0, primary, secondary, handgun
[[], [], [], []], // WeaponAccessories 1, optic,side,muzzle,bipod
[ ], // Magazines 2
[ ], // Headgear 3
[ ], // Uniform 4
[ ], // Vest 5
[ ], // Backpacks 6
[ ], // Goggles 7
[ ], // NVGs 8
[ ], // Binoculars 9
[ ], // Map 10
[ ], // Compass 11
[ ], // Radio slot 12
[ ], // Watch slot 13
[ ], // Comms slot 14
[ ], // WeaponThrow 15
[ ], // WeaponPut 16
[ ] // InventoryItems 17
]];
private _configCfgWeapons = configFile >> "CfgWeapons"; //Save this lookup in variable for perf improvement
if (_items isEqualType true && {_items}) then {
private _configItems = uiNamespace getVariable QGVAR(configItems);
{
(_x select 0) append (_x select 1);
(_x select 2) set [(_x select 3), (_x select 0) arrayIntersect (_x select 0)];
} forEach [
[(_cargo select 0 select 0),(_configItems select 0 select 0), _cargo select 0, 0],
[(_cargo select 0 select 1),(_configItems select 0 select 1), _cargo select 0, 1],
[(_cargo select 0 select 2),(_configItems select 0 select 2), _cargo select 0, 2],
[(_cargo select 1 select 0),(_configItems select 1 select 0), _cargo select 1, 0],
[(_cargo select 1 select 1),(_configItems select 1 select 1), _cargo select 1, 1],
[(_cargo select 1 select 2),(_configItems select 1 select 2), _cargo select 1, 2],
[(_cargo select 1 select 3),(_configItems select 1 select 3), _cargo select 1, 3]
];
for "_index" from 2 to 17 do {
(_cargo select _index) append (_configItems select _index);
_cargo set [_index, (_cargo select _index) arrayIntersect (_cargo select _index)];
};
if (_global && {isMultiplayer}) then {
[QGVAR(addVirtualItems), [_object, _items, false]] call CBA_fnc_globalEvent;
} else {
{
if (_x isEqualType "") then {
private _configItemInfo = _configCfgWeapons >> _x >> "ItemInfo";
private _simulationType = getText (_configCfgWeapons >> _x >> "simulation");
switch true do {
case (isClass (_configCfgWeapons >> _x)): {
switch true do {
/* Weapon acc */
case (
isClass (_configItemInfo) &&
{(getNumber (_configItemInfo >> "type")) in [101, 201, 301, 302]} &&
{!(_x isKindOf ["CBA_MiscItem", (_configCfgWeapons)])}
): {
switch (getNumber (_configItemInfo >> "type")) do {
case 201: {
(_cargo select 1) select 0 pushBackUnique _x;
};
case 301: {
(_cargo select 1) select 1 pushBackUnique _x;
};
case 101: {
(_cargo select 1) select 2 pushBackUnique _x;
};
case 302: {
(_cargo select 1) select 3 pushBackUnique _x;
};
};
};
/* Headgear */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 605}): {
(_cargo select 3) pushBackUnique _x;
};
/* Uniform */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 801}): {
(_cargo select 4) pushBackUnique _x;
};
/* Vest */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 701}): {
(_cargo select 5) pushBackUnique _x;
};
/* NVgs */
case (_simulationType == "NVGoggles"): {
(_cargo select 8) pushBackUnique _x;
};
/* Binos */
case (_simulationType == "Binocular" ||
{(_simulationType == 'Weapon') && {(getNumber (_configCfgWeapons >> _x >> 'type') == 4096)}}): {
(_cargo select 9) pushBackUnique _x;
};
/* Map */
case (_simulationType == "ItemMap"): {
(_cargo select 10) pushBackUnique _x;
};
/* Compass */
case (_simulationType == "ItemCompass"): {
(_cargo select 11) pushBackUnique _x;
};
/* Radio */
case (_simulationType == "ItemRadio"): {
(_cargo select 12) pushBackUnique _x;
};
/* Watch */
case (_simulationType == "ItemWatch"): {
(_cargo select 13) pushBackUnique _x;
};
/* GPS */
case (_simulationType == "ItemGPS"): {
(_cargo select 14) pushBackUnique _x;
};
/* UAV terminals */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 621}): {
(_cargo select 14) pushBackUnique _x;
};
/* Weapon, at the bottom to avoid adding binos */
case (isClass (_configCfgWeapons >> _x >> "WeaponSlotsInfo") &&
{getNumber (_configCfgWeapons >> _x >> 'type') != 4096}): {
switch (getNumber (_configCfgWeapons >> _x >> "type")) do {
case 1: {
(_cargo select 0) select 0 pushBackUnique ([_x] call bis_fnc_baseWeapon);
};
case 2: {
(_cargo select 0) select 2 pushBackUnique ([_x] call bis_fnc_baseWeapon);
};
case 4: {
(_cargo select 0) select 1 pushBackUnique ([_x] call bis_fnc_baseWeapon);
};
};
};
/* Misc items */
case (
isClass (_configItemInfo) &&
((getNumber (_configItemInfo >> "type")) in [101, 201, 301, 302] &&
{(_x isKindOf ["CBA_MiscItem", (_configCfgWeapons)])}) ||
{(getNumber (_configItemInfo >> "type")) in [401, 619, 620]} ||
{(getText (_configCfgWeapons >> _x >> "simulation")) == "ItemMineDetector"}
): {
(_cargo select 17) pushBackUnique _x;
};
};
};
case (isClass (configFile >> "CfgMagazines" >> _x)): {
// Lists to check against
private _grenadeList = [];
{
_grenadeList append getArray (_configCfgWeapons >> "Throw" >> _x >> "magazines");
false
} count getArray (_configCfgWeapons >> "Throw" >> "muzzles");
private _cargo = _object getVariable [QGVAR(virtualItems), [
[[], [], []], // Weapons 0, primary, secondary, handgun
[[], [], [], []], // WeaponAccessories 1, optic,side,muzzle,bipod
[ ], // Magazines 2
[ ], // Headgear 3
[ ], // Uniform 4
[ ], // Vest 5
[ ], // Backpacks 6
[ ], // Goggles 7
[ ], // NVGs 8
[ ], // Binoculars 9
[ ], // Map 10
[ ], // Compass 11
[ ], // Radio slot 12
[ ], // Watch slot 13
[ ], // Comms slot 14
[ ], // WeaponThrow 15
[ ], // WeaponPut 16
[ ] // InventoryItems 17
]];
private _putList = [];
{
_putList append getArray (_configCfgWeapons >> "Put" >> _x >> "magazines");
false
} count getArray (_configCfgWeapons >> "Put" >> "muzzles");
private _configCfgWeapons = configFile >> "CfgWeapons"; //Save this lookup in variable for perf improvement
// Check what the magazine actually is
switch true do {
// Rifle, handgun, secondary weapons mags
case (
(getNumber (configFile >> "CfgMagazines" >> _x >> "type") in [256,512,1536,16]) &&
{!(_x in _grenadeList)} &&
{!(_x in _putList)}
): {
(_cargo select 2) pushBackUnique _x;
};
// Grenades
case (_x in _grenadeList): {
(_cargo select 15) pushBackUnique _x;
};
// Put
case (_x in _putList): {
(_cargo select 16) pushBackUnique _x;
};
};
};
case (isClass (configFile >> "CfgVehicles" >> _x)): {
if (getText (configFile >> "CfgVehicles" >> _x >> "vehicleClass") == "Backpacks") then {
(_cargo select 6) pushBackUnique _x;
};
};
case (isClass (configFile >> "CfgGlasses" >> _x)): {
(_cargo select 7) pushBackUnique _x;
};
if (_items isEqualType true) then {
if (_items) then {
private _configItems = uiNamespace getVariable QGVAR(configItems);
{
(_x select 0) append (_x select 1);
(_x select 2) set [(_x select 3), (_x select 0) arrayIntersect (_x select 0)];
} forEach [
[(_cargo select 0 select 0),(_configItems select 0 select 0), _cargo select 0, 0],
[(_cargo select 0 select 1),(_configItems select 0 select 1), _cargo select 0, 1],
[(_cargo select 0 select 2),(_configItems select 0 select 2), _cargo select 0, 2],
[(_cargo select 1 select 0),(_configItems select 1 select 0), _cargo select 1, 0],
[(_cargo select 1 select 1),(_configItems select 1 select 1), _cargo select 1, 1],
[(_cargo select 1 select 2),(_configItems select 1 select 2), _cargo select 1, 2],
[(_cargo select 1 select 3),(_configItems select 1 select 3), _cargo select 1, 3]
];
for "_index" from 2 to 17 do {
(_cargo select _index) append (_configItems select _index);
_cargo set [_index, (_cargo select _index) arrayIntersect (_cargo select _index)];
};
};
} foreach _items;
};
} else {
{
if (_x isEqualType "") then {
private _configItemInfo = _configCfgWeapons >> _x >> "ItemInfo";
private _simulationType = getText (_configCfgWeapons >> _x >> "simulation");
switch true do {
case (isClass (_configCfgWeapons >> _x)): {
switch true do {
/* Weapon acc */
case (
isClass (_configItemInfo) &&
{(getNumber (_configItemInfo >> "type")) in [101, 201, 301, 302]} &&
{!(_x isKindOf ["CBA_MiscItem", (_configCfgWeapons)])}
): {
switch (getNumber (_configItemInfo >> "type")) do {
case 201: {
(_cargo select 1) select 0 pushBackUnique _x;
};
case 301: {
(_cargo select 1) select 1 pushBackUnique _x;
};
case 101: {
(_cargo select 1) select 2 pushBackUnique _x;
};
case 302: {
(_cargo select 1) select 3 pushBackUnique _x;
};
};
};
/* Headgear */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 605}): {
(_cargo select 3) pushBackUnique _x;
};
/* Uniform */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 801}): {
(_cargo select 4) pushBackUnique _x;
};
/* Vest */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 701}): {
(_cargo select 5) pushBackUnique _x;
};
/* NVgs */
case (_simulationType == "NVGoggles"): {
(_cargo select 8) pushBackUnique _x;
};
/* Binos */
case (_simulationType == "Binocular" ||
{(_simulationType == 'Weapon') && {(getNumber (_configCfgWeapons >> _x >> 'type') == 4096)}}): {
(_cargo select 9) pushBackUnique _x;
};
/* Map */
case (_simulationType == "ItemMap"): {
(_cargo select 10) pushBackUnique _x;
};
/* Compass */
case (_simulationType == "ItemCompass"): {
(_cargo select 11) pushBackUnique _x;
};
/* Radio */
case (_simulationType == "ItemRadio"): {
(_cargo select 12) pushBackUnique _x;
};
/* Watch */
case (_simulationType == "ItemWatch"): {
(_cargo select 13) pushBackUnique _x;
};
/* GPS */
case (_simulationType == "ItemGPS"): {
(_cargo select 14) pushBackUnique _x;
};
/* UAV terminals */
case (isClass (_configItemInfo) &&
{getNumber (_configItemInfo >> "type") == 621}): {
(_cargo select 14) pushBackUnique _x;
};
/* Weapon, at the bottom to avoid adding binos */
case (isClass (_configCfgWeapons >> _x >> "WeaponSlotsInfo") &&
{getNumber (_configCfgWeapons >> _x >> 'type') != 4096}): {
switch (getNumber (_configCfgWeapons >> _x >> "type")) do {
case 1: {
(_cargo select 0) select 0 pushBackUnique ([_x] call bis_fnc_baseWeapon);
};
case 2: {
(_cargo select 0) select 2 pushBackUnique ([_x] call bis_fnc_baseWeapon);
};
case 4: {
(_cargo select 0) select 1 pushBackUnique ([_x] call bis_fnc_baseWeapon);
};
};
};
/* Misc items */
case (
isClass (_configItemInfo) &&
((getNumber (_configItemInfo >> "type")) in [101, 201, 301, 302] &&
{(_x isKindOf ["CBA_MiscItem", (_configCfgWeapons)])}) ||
{(getNumber (_configItemInfo >> "type")) in [401, 619, 620]} ||
{(getText (_configCfgWeapons >> _x >> "simulation")) == "ItemMineDetector"}
): {
(_cargo select 17) pushBackUnique _x;
};
};
};
case (isClass (configFile >> "CfgMagazines" >> _x)): {
// Lists to check against
private _grenadeList = [];
{
_grenadeList append getArray (_configCfgWeapons >> "Throw" >> _x >> "magazines");
false
} count getArray (_configCfgWeapons >> "Throw" >> "muzzles");
_object setVariable [QGVAR(virtualItems), _cargo, _global];
private _putList = [];
{
_putList append getArray (_configCfgWeapons >> "Put" >> _x >> "magazines");
false
} count getArray (_configCfgWeapons >> "Put" >> "muzzles");
// Check what the magazine actually is
switch true do {
// Rifle, handgun, secondary weapons mags
case (
(getNumber (configFile >> "CfgMagazines" >> _x >> "type") in [256,512,1536,16]) &&
{!(_x in _grenadeList)} &&
{!(_x in _putList)}
): {
(_cargo select 2) pushBackUnique _x;
};
// Grenades
case (_x in _grenadeList): {
(_cargo select 15) pushBackUnique _x;
};
// Put
case (_x in _putList): {
(_cargo select 16) pushBackUnique _x;
};
};
};
case (isClass (configFile >> "CfgVehicles" >> _x)): {
if (getText (configFile >> "CfgVehicles" >> _x >> "vehicleClass") == "Backpacks") then {
(_cargo select 6) pushBackUnique _x;
};
};
case (isClass (configFile >> "CfgGlasses" >> _x)): {
(_cargo select 7) pushBackUnique _x;
};
};
};
} foreach _items;
};
_object setVariable [QGVAR(virtualItems), _cargo];
};

View File

@ -17,10 +17,6 @@ params ["_display"];
private _showToggle = !ctrlShown (_display displayCtrl IDC_menuBar);
if (_showToggle) then {
[_display, _display displayCtrl GVAR(currentLeftPanel)] call FUNC(populatePanel)
};
{
private _ctrl = _display displayctrl _x;
_ctrl ctrlshow _showToggle;

View File

@ -23,58 +23,65 @@ params [ ["_object", objNull, [objNull]], ["_items", [], [true, [""]]], ["_globa
if (_object == objNull) exitWith {};
if (_items isEqualType [] && {count _items == 0}) exitWith {};
private _cargo = _object getVariable [QGVAR(virtualItems), [
[[], [], []], // Weapons 0, primary, handgun, secondary
[[], [], [], []], // WeaponAccessories 1, optic,side,muzzle,bipod
[ ], // Magazines 2
[ ], // Headgear 3
[ ], // Uniform 4
[ ], // Vest 5
[ ], // Backpacks 6
[ ], // Goggles 7
[ ], // NVGs 8
[ ], // Binoculars 9
[ ], // Map 10
[ ], // Compass 11
[ ], // Radio slot 12
[ ], // Watch slot 13
[ ], // Comms slot 14
[ ], // WeaponThrow 15
[ ], // WeaponPut 16
[ ] // InventoryItems 17
]];
if (_global && {isMultiplayer}) then {
[QGVAR(removeVirtualItems), [_object, _items, false]] call CBA_fnc_globalEvent;
if (_items isEqualType true && {_items}) then {
[_object, _global] call FUNC(removeBox);
_object setVariable [QGVAR(virtualItems), nil, _global];
} else {
private _cargo = _object getVariable [QGVAR(virtualItems), [
[[], [], []], // Weapons 0, primary, handgun, secondary
[[], [], [], []], // WeaponAccessories 1, optic,side,muzzle,bipod
[ ], // Magazines 2
[ ], // Headgear 3
[ ], // Uniform 4
[ ], // Vest 5
[ ], // Backpacks 6
[ ], // Goggles 7
[ ], // NVGs 8
[ ], // Binoculars 9
[ ], // Map 10
[ ], // Compass 11
[ ], // Radio slot 12
[ ], // Watch slot 13
[ ], // Comms slot 14
[ ], // WeaponThrow 15
[ ], // WeaponPut 16
[ ] // InventoryItems 17
]];
// Make sure all items are in string form
_items = _items select {_x isEqualType "" && {_x != ""}};
{
if (_forEachIndex isEqualTo 0) then {
_cargo set [_forEachIndex, [(_x select 0) - _items, (_x select 1) - _items, (_x select 2) - _items]];
} else {
if (_forEachIndex isEqualTo 1) then {
_cargo set [_forEachIndex, [(_x select 0) - _items, (_x select 1) - _items, (_x select 2) - _items, (_x select 3) - _items]];
} else {
_cargo set [_cargo find _x, _x - _items];
};
if (_items isEqualType true) then {
if (_items) then {
[_object, _global] call FUNC(removeBox);
_object setVariable [QGVAR(virtualItems), nil, _global];
};
} foreach _cargo;
private _itemCount = {
if (_x isEqualTo (_cargo select 0) || {_x isEqualTo (_cargo select 1)}) then {
!(_x isEqualTo [[],[],[]] || {_x isEqualTo [[],[],[],[]]})
} else {
!(_x isEqualTo [])
};
} count _cargo;
if (_itemCount == 0) then {
[_object, _global] call FUNC(removeBox);
} else {
_object setVariable [QGVAR(virtualItems), _cargo, _global];
// Make sure all items are in string form
_items = _items select {_x isEqualType "" && {_x != ""}};
{
if (_forEachIndex isEqualTo 0) then {
_cargo set [_forEachIndex, [(_x select 0) - _items, (_x select 1) - _items, (_x select 2) - _items]];
} else {
if (_forEachIndex isEqualTo 1) then {
_cargo set [_forEachIndex, [(_x select 0) - _items, (_x select 1) - _items, (_x select 2) - _items, (_x select 3) - _items]];
} else {
_cargo set [_cargo find _x, _x - _items];
};
};
} foreach _cargo;
private _itemCount = {
if (_x isEqualTo (_cargo select 0) || {_x isEqualTo (_cargo select 1)}) then {
!(_x isEqualTo [[],[],[]] || {_x isEqualTo [[],[],[],[]]})
} else {
!(_x isEqualTo [])
};
} count _cargo;
_object setVariable [QGVAR(virtualItems), _cargo];
if (_itemCount == 0) then {
[_object, false] call FUNC(removeBox);
};
};
};

View File

@ -6,317 +6,376 @@
<French>Cacher</French>
<German>Verstecken</German>
<Polish>Ukryj</Polish>
<Japanese>非表示</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonHideTooltip">
<English>Hide interface</English>
<French>Cache l'interface</French>
<German>Oberfläche verstecken</German>
<Polish>Ukryj interfejs</Polish>
<Japanese>インターフェイスを隠す</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadoutsText">
<English>Loadouts</English>
<French>Équipements</French>
<German>Ausrüstungen</German>
<Polish>Zestawy wyposażenia</Polish>
<Japanese>装備</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonExportText">
<English>Export</English>
<French>Exporter</French>
<German>Exportieren</German>
<Polish>Eksportuj</Polish>
<Japanese>出力</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonImportText">
<English>Import</English>
<French>Importer</French>
<German>Importieren</German>
<Polish>Importuj</Polish>
<Japanese>取込</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonCloseText">
<English>Close</English>
<French>Fermer</French>
<German>Schließen</German>
<Polish>Zamknij</Polish>
<Japanese>閉じる</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_noVirtualItems">
<English>No virtual item available</English>
<French>Aucun objet virtuel disponible</French>
<German>Kein virtuelles Objekt verfügbar</German>
<Polish>Brak dostępnych przedmiotów wirtualnych</Polish>
<Japanese>利用可能なバーチャル アイテムは無し</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSaveText">
<English>Save</English>
<French>Enregister</French>
<German>Speichern</German>
<Polish>Zapisz</Polish>
<Japanese>保存</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSaveTooltip">
<English>Save the current loadout</English>
<French>Enregistre l'équipement actuel</French>
<German>Ausgewählte Ausrüstung speichern</German>
<Polish>Zapisz obecny zestaw</Polish>
<Japanese>現在の装備を保存します</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonRenameText">
<English>Rename</English>
<French>Renommer</French>
<German>Umbenennen</German>
<Polish>Zmień nazwę</Polish>
<Japanese>改名</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonRenameTooltip">
<English>Rename the selected loadout</English>
<French>Renomme l'équipement sélectionné</French>
<German>Ausgewählte Ausrüstung umbenennen</German>
<Polish>Zmień nazwę wybranego zestawu</Polish>
<Japanese>現在選択中の装備を改名します</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadText">
<English>Load</English>
<French>Charger</French>
<German>Laden</German>
<Polish>Wczytaj</Polish>
<Japanese>読み込む</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadTooltip">
<English>Load the selected loadout</English>
<French>Charger l'équipement sélectionné</French>
<German>Ausgewählte Ausrüstung laden</German>
<Polish>Wczytaj wybrany zestaw</Polish>
<Japanese>現在選択中の装備を読み込みます</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonDeleteText">
<English>Delete</English>
<French>Supprimer</French>
<German>Entfernen</German>
<Polish>Skasuj</Polish>
<Japanese>削除</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonDeleteTooltip">
<English>Delete the selected loadout</English>
<French>Supprimer l'équipement sélectionné</French>
<German>Ausgewählte Ausrüstung entfernen</German>
<Polish>Skasuj wybrany zestaw</Polish>
<Japanese>現在選択中の装備を削除します</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_tabMyLoadoutsText">
<English>My loadouts</English>
<French>Mes équipements</French>
<German>Meine Ausrüstungen</German>
<Polish>Moje zestawy</Polish>
<Japanese>自分の装備</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_tabMyLoadoutsTooltip">
<English>Loadouts saved in your profile</English>
<French>Équipements enregistrés dans votre profil</French>
<German>Ausrüstungen, die in deinem Profil gespeichert sind</German>
<Polish>Zestawy zapisane w Twoim profilu</Polish>
<Japanese>自プロフィールに保存された装備です</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsText">
<English>Default loadouts</English>
<French>Équipements de base</French>
<German>Standard-Ausrüstungen</German>
<Polish>Domyślne zestawy</Polish>
<Japanese>標準の装備</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsTooltip">
<English>Loadouts made available by the mission maker</English>
<French>Équipements faits par l'auteur de la mission</French>
<German>Ausrüstungen, die durch den Missionsersteller zur Verfügung gestellt worden sind</German>
<Polish>Zestawy udostępnione przez twórcę misji</Polish>
<Japanese>装備はミッション著者によって利用できます</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_tabSharedLoadoutsText">
<English>Public loadouts</English>
<French>Équipements publics</French>
<German>Veröffentlichte Ausrüstungen</German>
<Polish>Publiczne zestawy</Polish>
<Japanese>公開装備</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_tabSharedLoadoutsTooltip">
<English>Loadouts shared by you and other players</English>
<French>Équipements mis à disposition par vous ou les autres joueurs</French>
<German>Ausrüstungen, die von dir und anderen Spielern geteilt wurden</German>
<Polish>Zestawy udostępnione przez Ciebie i innych graczy</Polish>
<Japanese>自分か他人によって共有された装備です</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_sortByWeightText">
<English>Sort by weight</English>
<French>Trier par poids</French>
<German>Nach Gewicht sortieren</German>
<Polish>Sortuj wg wagi</Polish>
<Japanese>重量で並び替え</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_sortByAmountText">
<English>Sort by amount</English>
<French>Trier par quantité</French>
<German>Nach Menge sortieren</German>
<Polish>Sortuj wg ilości</Polish>
<Japanese>量で並び替え</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonShareTooltip">
<English>Share or stop sharing the selected loadout</English>
<French>Partager ou arrêter de partager cet équipement</French>
<German>Ausgewählte Ausrüstung teilen oder nicht mehr teilen</German>
<Polish>Udostępnij lub przestań udostępniać wybrany zestaw</Polish>
<Japanese>選択した装備の共有設定</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSharePrivateText">
<English>Private</English>
<French>Privé</French>
<German>Privat</German>
<Polish>Prywatny</Polish>
<Japanese>非公開</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSharePublicText">
<English>Public</English>
<French>Public</French>
<German>Öffentlich</German>
<Polish>Publiczny</Polish>
<Japanese>公開</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_exportDefaultError">
<English>The default loadouts list is empty!</English>
<French>La liste d'équipements de base est vide !</French>
<German>Die Standard-Ausrüstungen-Liste ist leer!</German>
<Polish>Lista domyślnych zestawów jest pusta!</Polish>
<Japanese>標準の装備一欄が空です!</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_exportDefault">
<English>Default loadouts list exported to clipboard</English>
<French>Liste d'équipements de base exportée dans le presse papier</French>
<German>Standard-Ausrüstungen-Liste in die Zwischenablage exportiert</German>
<Polish>Lista domyślnych zestawów została eksportowana do schowka</Polish>
<Japanese>標準の装備一欄はクリップボードへ出力されました</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_exportCurrent">
<English>Current loadout exported to clipboard</English>
<French>Équipement actuel exporté dans le presse papier</French>
<German>Derzeitige Ausrüstung in die Zwischenablage exportiert</German>
<Polish>Obecny zestaw został eksportowany do schowka</Polish>
<Japanese>現在の装備はクリップボードへ出力されました</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_importFormatError">
<English>Wrong format provided</English>
<French>Mauvais format fourni</French>
<German>Falsches Format verwendet</German>
<Polish>Podano zły format</Polish>
<Japanese>間違ったフォーマットが入力されました</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_importedDefault">
<English>Default loadouts list imported from clipboard</English>
<French>Liste d'équipements de base importée depuis le presse papier</French>
<German>Standard-Ausrüstungen-Liste aus der Zwischenablage importiert</German>
<Polish>Lista domyślnych zestawów została importowana ze schowka</Polish>
<Japanese>標準の装備一欄はクリップボードから取込されました</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_importedCurrent">
<English>Loadout imported from clipboard</English>
<French>Équipement importé depuis le presse papier</French>
<German>Ausrüstung aus der Zwischenablage importiert</German>
<Polish>Zestaw został importowany ze schowka</Polish>
<Japanese>装備はクリップボードから取込されました</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutDeleted">
<English>The following loadout was deleted:</English>
<French>L'équipement suivant fut supprimé:</French>
<German>Folgende Ausrüstung wurde entfernt:</German>
<Polish>Następujący zestaw został skasowany:</Polish>
<Japanese>次の装備は削除されました:</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutUnshared">
<English>The following loadout is not public anymore:</English>
<French>L'équipement suivant n'est plus public:</French>
<German>Folgende Ausrüstung ist nicht mehr öffentlich:</German>
<Polish>Następujący zestaw nie jest już publiczny:</Polish>
<Japanese>次の装備は非公開になりました:</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_saveEmptyNameBox">
<English>The name field is empty!</English>
<French>Le champ nom est vide !</French>
<German>Das Feld "Name" ist leer!</German>
<Polish>Pole nazwy jest puste!</Polish>
<Japanese>名前欄が空白です!</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_saveAuthorError">
<English>You are the author of this loadout</English>
<French>Vous êtes l'auteur de cet équipement</French>
<German>Du bist der Ersteller dieser Ausrüstung</German>
<Polish>Jesteś autorem tego zestawu</Polish>
<Japanese>あなたはこの装備の作者です</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_saveSharedError">
<English>A loadout of yours with the same name is public</English>
<French>Un de vos équipements avec le même nom est public</French>
<German>Eine deiner Ausrüstungen mit dem gleichen Namen ist öffentlich</German>
<Polish>Jeden z Twoich zestawów nazwany tak samo jest już publiczny</Polish>
<Japanese>あなたの装備は既に公開されているものと同名です</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutSaved">
<English>The following loadout was saved:</English>
<French>L'équipement suivant fut enregistré:</French>
<German>Folgende Ausrüstung wurde gespeichert:</German>
<Polish>Następujący zestaw został zapisany:</Polish>
<Japanese>次の装備は保存されました:</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutLoaded">
<English>The following loadout was loaded:</English>
<French>L'équipement suivant fut chargé:</French>
<German>Folgene Ausrüstung wurde geladen:</German>
<Polish>Następujący zestaw został wczytany:</Polish>
<Japanese>次の装備が読み込みされました:</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_renameExistError">
<English>A loadout with the same name already exist!</English>
<French>Un équipement avec le même nom existe déjà !</French>
<German>Eine Ausrüstung mit dem gleichen Namen existiert bereits!</German>
<Polish>Zestaw z tą nazwą już istnieje!</Polish>
<Japanese>既にその名前は装備に使われています!</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutRenamed">
<English>was renamed to</English>
<French>fut renommé en</French>
<German>wurde umbenannt in</German>
<Polish>zmienił nazwę na</Polish>
<Japanese>次の名前に改名されました</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_invertCameraSetting">
<English>Invert camera controls</English>
<French>Inverser les contrôles de la caméra</French>
<German>Kamerasteuerung invertieren</German>
<Polish>Odwróć sterowanie kamerą</Polish>
<Japanese>カメラ操作を反転</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_modIconsSetting">
<English>Enable mod icons</English>
<French>Afficher les icônes de mod</French>
<German>Aktiviert Mod-Icons</German>
<Polish>Włącz ikony modów</Polish>
<Japanese>MOD アイコンを表示</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_fontHeightSetting">
<English>Panel font height</English>
<French>taille de police des panneaux</French>
<German>Schrifthöhe für die linke und rechte Liste</German>
<Polish>Wysokość czcionki</Polish>
<Japanese>パネルにあるフォントの高さ</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_allowDefaultLoadoutsSetting">
<English>Allow default loadouts</English>
<French>Activer l'onglet équipement de base</French>
<German>Erlaubt die Benutzung des Standard-Ausrüstungen-Reiters</German>
<Polish>Zezwól na użycie domyślnych zestawów</Polish>
<Japanese>標準の装備を許可</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_allowSharingSetting">
<English>Allow loadout sharing</English>
<French>Autoriser le partage d'équipement</French>
<German>Erlaubt das Teilen von Ausrüstungen</German>
<Polish>Zezwól na udostępnianie zestawów</Polish>
<Japanese>装備の共有を許可</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_printToRPTSetting">
<English>Log missing / unavailable items</English>
<French>Enregistrer les objets manquants</French>
<German>Aktiviert die Aufzeichnung fehlender Gegenstände in der RPT</German>
<Polish>Rejestruj brakujące / niedostępne przedmioty</Polish>
<Japanese>欠落 / 利用不可アイテムを記録</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonCurrentMagTooltip">
<English>Primary magazine</English>
<French>Chargeur principal </French>
<Polish>Główny magazynek</Polish>
<Japanese>プライマリ弾倉</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonCurrentMag2Tooltip">
<English>Secondary magazine</English>
<French>Chargeur secondaire</French>
<Polish>Dodatkowy magazynek</Polish>
<Japanese>セカンダリ弾倉</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_settingCategory">
<English>ACE Arsenal</English>
<French>ACE Arsenal</French>
<Polish>ACE Arsenał</Polish>
<Japanese>ACE 武器庫</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_defaultLoadoutsTooltip">
<English>Allow the use of the default loadouts tab</English>
<French>Autorise l'usage de l'onglet équipements de base</French>
<Polish>Zezwól na użycie zakładki domyślnych zestawów</Polish>
<Japanese>標準の装備タブの使用を許可します</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_modIconsTooltip">
<English>Show / hide mod icons for the left panel</English>
<French>Montrer / cacher les icones de mod pour le panneau de gauche</French>
<Polish>Pokaż / ukryj ikony modów w lewym panelu</Polish>
<Japanese>左パネルにある MOD アイコンの表示 / 非表示をします</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_fontHeightTooltip">
<English>Change the font height for text in the left / right panels</English>
<French>Change la taille de police du texte des panneaux gauche / droite</French>
<Polish>Zmień wysokość czcionki dla tekstu lewego i prawego panelu</Polish>
<Japanese>右か左パネルにあるフォントの高さを変更します。</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_printToRPTTooltip">
<English>Log missing / unavailable items in the RPT</English>
<French>Enregistre les objets manquants / indisponibles dans le RPT</French>
<Polish>Rejestruj brakujące / niedostępne przedmioty do pliku RPT</Polish>
<Japanese>PRT で欠落 / 利用不可アイテムを記録します</Japanese>
</Key>
<Key ID="STR_ACE_Arsenal_CantOpenDisplay">
<English>Unable to open ACE arsenal</English>
<French>Impossible d'ouvrir ACE arsenal</French>
<German>Kann ACE Arsenal nicht anzeigen</German>
</Key>
</Package>
</Project>

View File

@ -3,6 +3,8 @@ TRACE_1("",QUOTE(ADDON));
PREP(cbaSettings);
PREP(cbaSettings_loadFromConfig);
PREP(cbaSettings_settingChanged);
PREP(cbaSettings_transferUserSettings);
PREP(readSettingsFromParamsArray);
PREP(actionKeysNamesConverted);
PREP(addCanInteractWithCondition);

View File

@ -180,8 +180,8 @@ private _previousVersion = profileNamespace getVariable ["ACE_VersionNumberStrin
// check previous version number from profile
if (_currentVersion != _previousVersion) then {
// do something
INFO_2("Updating ACE from [%1] to [%2]",_previousVersion,_currentVersion);
[_previousVersion] call FUNC(cbaSettings_transferUserSettings);
profileNamespace setVariable ["ACE_VersionNumberString", _currentVersion];
};

View File

@ -0,0 +1,42 @@
/*
* Author: PabstMirror
* Transfers a client's old ace settings to cba
*
* Arguments:
* 0: Old Version <STRING>
*
* Return Value:
* None
*
* Example:
* ["3.11.0"] call ace_common_fnc_cbaSettings_transferUserSettings
*
* Public: No
*/
#include "script_component.hpp"
if (!hasInterface) exitWith {};
params [["_lastVersion", "", [""]]];
if ((parseNumber _lastVersion) >= 3.12) exitWith {};
INFO("-Transfering old ACE_Settings to CBA-");
private _aceSettings = configProperties [configFile >> "ACE_Settings", "isClass _x"];
{
private _settingName = configName _x;
private _isClientSettable = (getNumber (_x >> "isClientSettable")) > 0;
private _profileVar = profileNamespace getVariable _settingName;
if (!isNil "_profileVar") then {
private _currentValue = [_settingName, "client"] call CBA_settings_fnc_get;
if (_isClientSettable && {!(_currentValue isEqualTo _profileVar)}) then {
// CBA_settings_fnc_set will do type checking for the old profile var
private _ret = [_settingName, _profileVar, 0, "client", true] call CBA_settings_fnc_set;
INFO_3("Transfering setting [%1: %2] returned %3", _settingName, _profileVar, _ret);
};
};
} forEach _aceSettings;
INFO("-Finished Transfering-");

View File

@ -19,9 +19,9 @@
params ["_unit", "_vehicle", "_caller"];
if (!alive _unit) then {
// _unit = [_unit, _caller] call FUNC(makeCopyOfBody); //func does not exist
};
// if (!alive _unit) then {
// _unit = [_unit, _caller] call makeCopyOfBody; //func does not exist
// };
private _slotsOpen = false;

View File

@ -33,4 +33,4 @@
"wood", "wood_int", "int_wood", "softwood_exp", "int_softwood_exp", "int_solidwood_exp" \
]
#define DIG_SURFACE_WHITELIST ["grass"]
#define DIG_SURFACE_WHITELIST ["grass", "grasstall_exp", "forest_exp"]

View File

@ -493,7 +493,7 @@
<Italian>Controlla Whitelist PBO</Italian>
<Chinese>檢查PBO白名單</Chinese>
<Chinesesimp>检查PBO白名单</Chinesesimp>
<Japanese>ホワイトリスト内の PBO を検査</Japanese>
<Japanese>許可リスト内の PBO を検査</Japanese>
</Key>
<Key ID="STR_ACE_Common_SettingFeedbackIconsName">
<English>Feedback icons</English>
@ -626,10 +626,12 @@
<Key ID="STR_ACE_Common_SettingPersistentLaserName">
<English>Persistent weapon laserpointer/flashlight</English>
<Russian>Автоматический ЛЦУ/тактический фонарь</Russian>
<Japanese>武器のレーザー ポインタ/フラッシュライトの永続</Japanese>
</Key>
<Key ID="STR_ACE_Common_SettingPersistentLaserDesc">
<English>Enable gunlight after weapon switch or vehicle enter/exit if it was previously enabled.</English>
<Russian>Включать ЛЦУ/тактический фонарь после смены оружия или входа/выхода из машины, если он был до этого включен.</Russian>
<Japanese>銃のライト等を点けていると武器を切り替えた後や車両を乗り降りしても、ライト等を点けたままにします。</Japanese>
</Key>
<Key ID="STR_ACE_Common_bananaDisplayName">
<English>Banana</English>
@ -753,7 +755,7 @@
<Hungarian>Figyelmeztetés (tartós)</Hungarian>
<Russian>Предупреждать (постоянно)</Russian>
<Italian>Avverti (permanente)</Italian>
<Japanese>警告(永久的)</Japanese>
<Japanese>警告 (永久的)</Japanese>
<Korean>경고 (영구적)</Korean>
<Chinese>警告 (持續)</Chinese>
<Chinesesimp>警告 (持续)</Chinesesimp>
@ -1142,7 +1144,7 @@
<Portuguese>Peso:</Portuguese>
<Hungarian>Súly:</Hungarian>
<Russian>Вес:</Russian>
<Japanese>重量</Japanese>
<Japanese>重量:</Japanese>
<Korean>무게:</Korean>
<Chinesesimp>重量:</Chinesesimp>
<Chinese>重量:</Chinese>

View File

@ -85,7 +85,7 @@
</Key>
<Key ID="STR_ACE_CookOff_enableAmmoCookoff_tooltip">
<English>Enables Ammunition cook off. Fires ammunition projectiles while vehicle is on fire and has ammunition.</English>
<Japanese>弾薬が誘爆します。車両が燃えると、搭載している弾薬が激しく燃え上がりす。</Japanese>
<Japanese>弾薬が誘爆します。車両が燃えると、搭載している弾薬が激しく燃え上がりす。</Japanese>
<German>Ermöglicht Selbstzündung von Munition. Feuert Projektile der Munition ab, solange das Fahrzeug brennt und Munition besitzt.</German>
<Polish>Aktywuje samozapłon amunicji. Wystrzeliwuje pociski podczas gdy pojazd płonie i posiada amunicję.</Polish>
<French>Mets à feu les munitions lorsqu'un véhicule est en feu et contient des munitions.</French>
@ -117,10 +117,12 @@
<Korean>쿡오프 지속 시간의 배수 [0 이면 비활성]</Korean>
</Key>
<Key ID="STR_ACE_CookOff_probabilityCoef_name">
<English>Cook-off probability coefficient</English>
<English>Cook-off probability coefficient</English>
<Japanese>誘爆の可能性係数</Japanese>
</Key>
<Key ID="STR_ACE_CookOff_probabilityCoef_tooltip">
<English>Multiplier for cook-off probability. Higher value results in higher cook-off probability</English>
<English>Multiplier for cook-off probability. Higher value results in higher cook-off probability</English>
<Japanese>誘爆する可能性の乗数。高い値では誘爆する可能性が高まります。</Japanese>
</Key>
</Package>
</Project>

View File

@ -58,7 +58,7 @@
<Polish>Zabrałeś nieśmiertelnik %1...</Polish>
<Russian>Жетон снят с %1...</Russian>
<Czech>Sebral jsem známku od %1...</Czech>
<Japanese>%1からドッグ タグを取ってい・・・</Japanese>
<Japanese>%1からドッグ タグを取っています・・・</Japanese>
<German>Hundemarke von %1 genommen ...</German>
<Korean>%1로부터 군번줄을 회수했습니다...</Korean>
<French>Plaque d'identification pris sur %1...</French>
@ -71,7 +71,7 @@
<Polish>Ktoś już zabrał ten nieśmiertelnik...</Polish>
<Russian>Кто-то уже забрал жетон...</Russian>
<Czech>Někdo jiný už vzal identifikační známku...</Czech>
<Japanese>すでに誰かがドッグ タグを取っていようだ・・・</Japanese>
<Japanese>すでに誰かがドッグ タグを取っていったようだ・・・</Japanese>
<German>Jemand anderes hat bereits die Hundemarke genommen ...</German>
<Korean>누군가 이미 군번줄을 회수해갔습니다...</Korean>
<French>Quelqu'un d'autre a déjâ pris les plaques d'identification...</French>

View File

@ -154,7 +154,7 @@
<Polish>Obrót</Polish>
<Portuguese>Rotaciona</Portuguese>
<Russian>Bращать</Russian>
<Japanese>向きを変える</Japanese>
<Japanese>回転</Japanese>
<Korean>회전</Korean>
<Chinesesimp>旋转</Chinesesimp>
<Chinese>旋轉</Chinese>
@ -474,7 +474,7 @@
<Hungarian>Robbanóanyag hatástalanítása...</Hungarian>
<Portuguese>Desarmando Explosivo...</Portuguese>
<Russian>Обезвреживание...</Russian>
<Japanese>爆発物を無力化・・・</Japanese>
<Japanese>爆発物を無力化しています・・・</Japanese>
<Korean>폭발물 해체중...</Korean>
<Chinesesimp>炸弹拆除中...</Chinesesimp>
<Chinese>炸彈拆除中...</Chinese>
@ -634,7 +634,7 @@
<Hungarian>Infravörös szenzor (Side Attack)</Hungarian>
<Portuguese>Sensor infravermelho (ataque lateral)</Portuguese>
<Russian>ИК сенсор (детонация вбок)</Russian>
<Japanese>赤外線感知式 (横からの攻撃)</Japanese>
<Japanese>赤外線感知式 (側面攻撃)</Japanese>
<Korean>적외선 센서 (측면 공격)</Korean>
<Chinesesimp>红外线感应器 (侧边攻击)</Chinesesimp>
<Chinese>紅外線感應器 (側邊攻擊)</Chinese>
@ -650,7 +650,7 @@
<Hungarian>Mágneses mező érzékelő (Bottom Attack)</Hungarian>
<Portuguese>Influência magnética (ataque inferior)</Portuguese>
<Russian>Магнитный сенсор (детонация вверх)</Russian>
<Japanese>磁気感知式 (下からの攻撃)</Japanese>
<Japanese>磁気感知式 (底面攻撃)</Japanese>
<Korean>자기장 감지센서 (바닥 공격)</Korean>
<Chinesesimp>磁性感应器 (底部攻击)</Chinesesimp>
<Chinese>磁性感應器 (底部攻擊)</Chinese>
@ -746,7 +746,7 @@
<Hungarian>Specialisták igénylése?</Hungarian>
<Russian>Требуется специалист?</Russian>
<Italian>Richiedi specialisti?</Italian>
<Japanese>特技兵を必要としますか</Japanese>
<Japanese>特技兵を必要としますか?</Japanese>
<Korean>전문가가 필요합니까?</Korean>
<Chinesesimp>需要专家?</Chinesesimp>
<Chinese>需要專家?</Chinese>
@ -762,7 +762,7 @@
<Hungarian>Szükséges-e egy specialista a robbanóanyagok hatástalanításához? Alapértelmezett: Nem</Hungarian>
<Russian>Требуется ли специалист по минному делу для обезвреживания взрывчатки? По-умолчанию: Нет</Russian>
<Italian>Richiedi specialisti esplosivi per disabilitare esplosivi? Default: No</Italian>
<Japanese>爆発物を無効化するには、爆発物の特技兵を必要としますか?標準: いいえ</Japanese>
<Japanese>爆発物を無効化するには、爆発物の特技兵を必要としますか? 標準: 無効化</Japanese>
<Korean>폭발물을 해제하기 위해서는 전문가가 필요합니까? 기본설정: 아니요</Korean>
<Chinesesimp>需要炸弹专家才能拆除炸弹? 预设: 否</Chinesesimp>
<Chinese>需要炸彈專家才能拆除炸彈? 預設: 否</Chinese>
@ -778,7 +778,7 @@
<Hungarian>Nem-specialisták büntetése?</Hungarian>
<Russian>Штраф не-специалистам?</Russian>
<Italian>Punisci non-specialisti?</Italian>
<Japanese>非特技兵へ足かせを与えますか</Japanese>
<Japanese>非特技兵へ足かせを与えますか?</Japanese>
<Korean>비-전문가에 불이익을 줍니까?</Korean>
<Chinesesimp>折磨非专业人员?</Chinesesimp>
<Chinese>折磨非專業人員?</Chinese>
@ -794,7 +794,7 @@
<Hungarian>Nem-specialisták esetén több ideig tartson a cselekvés befejezése? Alapértelmezett: Igen</Hungarian>
<Russian>Увеличивать время завершения действий для не-специалистов? По-умолчанию: Нет</Russian>
<Italian>Aumenta il tempo richiesto per completare azioni per non-specialisti? Default: Si</Italian>
<Japanese>非特技兵へ動作完了までの時間を増加させますか?標準: はい</Japanese>
<Japanese>非特技兵へ動作完了までの時間を増加させますか? 標準: 有効化</Japanese>
<Korean>비-전문가가 폭발물을 해제시 더욱 많은 시간을 소요합니까? 기본설정: 예</Korean>
<Chinesesimp>增加非专业人员相关操作的时间? 预设: 是</Chinesesimp>
<Chinese>增加非專業人員相關操作的時間? 預設: 是</Chinese>
@ -810,7 +810,7 @@
<Hungarian>Robbanás hatástalanításkor?</Hungarian>
<Russian>Взрыв при разминир.?</Russian>
<Italian>Fai esplodere quando disarmato?</Italian>
<Japanese>解除中に爆発させますか</Japanese>
<Japanese>解除中に爆発させますか?</Japanese>
<Korean>해제시 폭발합니까?</Korean>
<Chinesesimp>拆除时引爆?</Chinesesimp>
<Chinese>拆除時引爆?</Chinese>
@ -826,7 +826,7 @@
<Hungarian>Meghatározott robbanóanyagok felrobbanjanak-e hatástalanításkor? Alapértelmezett: Igen</Hungarian>
<Russian>Разрешить определенным взрывным устройствам взрываться при разминировании? По-умолчанию: Да</Russian>
<Italian>Abilita alcuni esplosivi per esplosione al disarmo? Default: Si</Italian>
<Japanese>特定の爆発物を解除中に爆発させますか?標準: はい</Japanese>
<Japanese>特定の爆発物を解除中に爆発させますか? 標準: 有効化</Japanese>
<Korean>특정 폭발물이 해제시 폭발하게 합니까? 기본설정: 예</Korean>
<Chinesesimp>启用后, 某些炸弹会在拆除时引爆? 预设: 是</Chinesesimp>
<Chinese>啟用後, 某些炸彈會在拆除時引爆? 預設: 是</Chinese>
@ -864,7 +864,7 @@
<Czech>M6 SLAM (Útok zespoda)</Czech>
<Portuguese>Mina M6 SLAM (Ataque Inferior)</Portuguese>
<Russian>Мина M6 SLAM (направлена вверх)</Russian>
<Japanese>M6 SLAM 地雷 (下からの攻撃)</Japanese>
<Japanese>M6 SLAM 地雷 (底面攻撃)</Japanese>
<Korean>M6 SLAM 지뢰 (바닥 공격)</Korean>
<Chinesesimp>M6指向性反装甲地雷 (底部攻击)</Chinesesimp>
<Chinese>M6指向性反裝甲地雷 (底部攻擊)</Chinese>
@ -886,7 +886,7 @@
<Czech>M6 SLAM (Útok do strany)</Czech>
<Portuguese>Mina M6 SLAM (Ataque Lateral)</Portuguese>
<Russian>Мина M6 SLAM (направлена вбок)</Russian>
<Japanese>M6 SLAM 地雷 (横からの攻撃)</Japanese>
<Japanese>M6 SLAM 地雷 (側面攻撃)</Japanese>
<Korean>M6 SLAM 지뢰 (측면 공격)</Korean>
<Chinesesimp>M6指向性反装甲地雷 (侧边攻击)</Chinesesimp>
<Chinese>M6指向性反裝甲地雷 (側邊攻擊)</Chinese>

View File

@ -930,7 +930,7 @@
<Hungarian>A játékosoknak engedélyezve legyen a csapatkezelő menü? Alapértelmezett: Igen</Hungarian>
<Portuguese>Devem os jogadores ter permissão de usar o menu de gestão de equipes? Padrão: Sim</Portuguese>
<Italian>Possono i giocatori usare il Menù Managment Squadra? Default: Si</Italian>
<Japanese>プレイヤーがチーム管理メニューを使えるようにしますか?標準:はい</Japanese>
<Japanese>プレイヤーがチーム管理メニューを使えるようにしますか? 標準: 有効化</Japanese>
<Korean>플레이어들이 팀 설정하는 것을 허락합니까? 기본설정: 예</Korean>
<Chinesesimp>允许玩家使用小队管理选单? 预设: 是</Chinesesimp>
<Chinese>允許玩家使用小隊管理選單? 預設: 是</Chinese>
@ -1077,7 +1077,7 @@
<Key ID="STR_ACE_Interaction_PullOutBody">
<English>Pull out body</English>
<Russian>Вытащить тело</Russian>
<Japanese>"身体を引き出す</Japanese>
<Japanese>身体を引き出す</Japanese>
</Key>
</Package>
</Project>

View File

@ -1,5 +1,6 @@
class ACE_Settings {
class GVAR(enabled) {
category = ECSTRING(common,ACEKeybindCategoryWeapons);
displayName = CSTRING(DisplayName);
typeName = "BOOL";
value = 1;

View File

@ -92,7 +92,7 @@
<Portuguese>Recarregando...</Portuguese>
<Italian>In ricarica...</Italian>
<Russian>Заряжается...</Russian>
<Japanese>充電</Japanese>
<Japanese>充電しています・・・</Japanese>
<Chinesesimp>充电中...</Chinesesimp>
<Chinese>充電中...</Chinese>
<Korean>충전중...</Korean>

View File

@ -60,7 +60,7 @@
<Italian>Sto tagliando...</Italian>
<Hungarian>Drótok elvágása...</Hungarian>
<Russian>Разрезаем забор / провода...</Russian>
<Japanese>フェンス/ワイヤを切断・・・</Japanese>
<Japanese>フェンス/ワイヤを切断しています・・・</Japanese>
<Korean>철망/철조망 자르는중...</Korean>
<Chinesesimp>剪断护栏/刺网中...</Chinesesimp>
<Chinese>剪斷護欄/刺網中...</Chinese>

View File

@ -28,7 +28,7 @@
<Hungarian>Térkép megvilágítása?</Hungarian>
<Russian>Освещение карты?</Russian>
<Italian>Illuminazione Mappa?</Italian>
<Japanese>地図に照明</Japanese>
<Japanese>地図に照明?</Japanese>
<Korean>지도에 조명?</Korean>
<Chinesesimp>地图照明?</Chinesesimp>
<Chinese>地圖照明?</Chinese>
@ -43,7 +43,7 @@
<Spanish>Simular iluminación de mapa basada en la iluminación ambiente y los elementos de los jugadores?</Spanish>
<Czech>Simulovat nasvícení mapy v závisloti na okolí a předmětů hráče?</Czech>
<Italian>Simula illuminazione della mappa in base alla luce ambientale e agli oggetti del giocatore?</Italian>
<Japanese>地図へ環境光やプレイヤーのアイテムにもとづいた光のシミュレーションをおこないますか?</Japanese>
<Japanese>地図へ環境光やプレイヤーのアイテムに基づいた光のシミュレーションをおこないますか?</Japanese>
<Korean>주변 환경및 플레이어 조명에 의한 빛 변화를 지도에 반영할까요?</Korean>
<Chinesesimp>透过环境光与玩家的物品来决定地图亮度?</Chinesesimp>
<Chinese>透過環境光與玩家的物品來決定地圖亮度?</Chinese>
@ -58,7 +58,7 @@
<Czech>Nasvícení mapy pomocí baterky?</Czech>
<Italian>Luce della torcia in mappa?</Italian>
<French>Lumière de la lampe de carte ?</French>
<Japanese>地図をフラッシュライトで照らしますか?</Japanese>
<Japanese>地図をライトで照らしますか?</Japanese>
<Korean>지도 조명이 빛이 납니까?</Korean>
<Chinesesimp>增加地图亮度?</Chinesesimp>
<Chinese>增加地圖亮度?</Chinese>
@ -73,7 +73,7 @@
<Spanish>Añadir resplandor externo a los jugadores que utilizan la linterna en el mapa?</Spanish>
<Czech>Přidat externí záři hráči který používá baterku v mapě?</Czech>
<Italian>Aggiungi luce esterna a giocatori che usano la torcia in mappa?</Italian>
<Japanese>プレイヤが地図上でフラッシュライトを使うと、照らすようにしますか</Japanese>
<Japanese>プレイヤが地図上でフラッシュライトを使うと、照らすようにしますか?</Japanese>
<Korean>지도에 불빛을 비치는 플레이어를 조금 더 밝게 합니까?</Korean>
<Chinesesimp>当玩家拥有手电筒时,增加地图亮度?</Chinesesimp>
<Chinese>當玩家擁有手電筒時,增加地圖亮度?</Chinese>
@ -89,7 +89,7 @@
<Hungarian>Térkép-rázkódás?</Hungarian>
<Russian>Тряска карты?</Russian>
<Italian>Scuoti la mappa?</Italian>
<Japanese>地図を揺らしますか</Japanese>
<Japanese>地図を揺らしますか?</Japanese>
<Korean>지도 흔들림?</Korean>
<Chinesesimp>地图震动?</Chinesesimp>
<Chinese>地圖震動?</Chinese>
@ -105,7 +105,7 @@
<Hungarian>Rázkódjon-e a térkép mozgáskor?</Hungarian>
<Russian>Заставлять карту трястись при ходьбе?</Russian>
<Italian>Far scuotere la mappa mentre cammini?</Italian>
<Japanese>歩いているときは地図を揺らしますか</Japanese>
<Japanese>歩いているときは地図を揺らしますか?</Japanese>
<Korean>걸을때 지도보면 흔들리게 합니까?</Korean>
<Chinesesimp>走路时让地图有震动的感觉?</Chinesesimp>
<Chinese>走路時讓地圖有震動的感覺?</Chinese>
@ -121,7 +121,7 @@
<Hungarian>Térkép-nagyítás korlátozása?</Hungarian>
<Russian>Ограничить приближение карты?</Russian>
<Italian>Limita lo zoom in mappa?</Italian>
<Japanese>地図の拡大を制限しますか</Japanese>
<Japanese>地図の拡大を制限しますか?</Japanese>
<Korean>지도 확대 제한?</Korean>
<Chinesesimp>限制地图缩放倍率?</Chinesesimp>
<Chinese>限制地圖縮放倍率?</Chinese>
@ -137,7 +137,7 @@
<Hungarian>Korlátozva legyen-e a nagyítás mennyisége a térképnél?</Hungarian>
<Russian>Ограничить максимальное приближение, доступное на карте?</Russian>
<Italian>Limita l'ammontare di zoom disponibile per la mappa?</Italian>
<Japanese>地図上で利用できる拡大倍率を制限しますか</Japanese>
<Japanese>地図上で利用できる拡大倍率を制限しますか?</Japanese>
<Korean>지도 확대에 제한을 둡니까?</Korean>
<Chinesesimp>限制地图上可允许缩放的倍率?</Chinesesimp>
<Chinese>限制地圖上可允許縮放的倍率?</Chinese>
@ -153,7 +153,7 @@
<Hungarian>Kurzor-koordináták mutatása?</Hungarian>
<Russian>Показывать координаты курсора?</Russian>
<Italian>Mostra coordinate sul cursore?</Italian>
<Japanese>カーソル先で座標を表示しますか</Japanese>
<Japanese>カーソル先で座標を表示しますか?</Japanese>
<Korean>커서에 좌표를 보이게 합니까?</Korean>
<Chinesesimp>显示游标的座标?</Chinesesimp>
<Chinese>顯示游標的座標?</Chinese>
@ -169,7 +169,7 @@
<Hungarian>Mutatva legyen-e a kurzornál található rész rácskoordinátája?</Hungarian>
<Russian>Показывать координаты около курсора мыши?</Russian>
<Italian>Mostra la griglia coordinate sul cursore mouse?</Italian>
<Japanese>カーソルに合わせた先を地図座標で表示しますか</Japanese>
<Japanese>カーソルに合わせた先を地図座標で表示しますか?</Japanese>
<Korean>지도에서 커서 옆에 좌표가 뜨게 합니까?</Korean>
<Chinesesimp>显示滑鼠游标所在的网格座标?</Chinesesimp>
<Chinese>顯示滑鼠游標所在的網格座標?</Chinese>
@ -185,7 +185,7 @@
<Russian>Этот модуль позволяет настроить отображение карты.</Russian>
<Spanish>Este módulo permite personalizar la pantalla del mapa.</Spanish>
<Italian>Questo modulo ti permette di customizzare lo schermo della mappa.</Italian>
<Japanese>モジュールは地図画面をカスタマイズできます。</Japanese>
<Japanese>このモジュールは地図画面を変更できます。</Japanese>
<Korean>이 모듈은 지도 화면을 임의로 설정할 수 있게 해줍니다.</Korean>
<Chinesesimp>此模块允许自定地图的相关效果.</Chinesesimp>
<Chinese>此模塊允許自定地圖的相關效果.</Chinese>
@ -281,7 +281,7 @@
<Hungarian>AI csoportok elrejtése?</Hungarian>
<Russian>Скрыть группы ботов?</Russian>
<Italian>Nascondere gruppi IA?</Italian>
<Japanese>AI グループを非表示にしますか</Japanese>
<Japanese>AI グループを非表示にしますか?</Japanese>
<Korean>인공지능 그룹을 숨깁니까?</Korean>
<Chinesesimp>隐藏AI小队?</Chinesesimp>
<Chinese>隱藏AI小隊?</Chinese>
@ -297,7 +297,7 @@
<Hungarian>Jelölők elrejtése "csak AI" csoportoknál?</Hungarian>
<Russian>Скрыть маркеры групп, которые состоят полностью из ботов?</Russian>
<Italian>Nascondi markers per gruppi di sole IA?</Italian>
<Japanese>'AI のみ'グループのマーカを隠しますか</Japanese>
<Japanese>'AI のみ'グループのマーカを隠しますか?</Japanese>
<Korean>인공지능만 있는 그룹의 마커를 숨깁니까?</Korean>
<Chinesesimp>隐藏'AI小队'的踪迹?</Chinesesimp>
<Chinese>隱藏'AI小隊'的蹤跡?</Chinese>
@ -313,7 +313,7 @@
<Hungarian>Itt található az a játékos nevét?</Hungarian>
<Russian>Показать имена игроков?</Russian>
<Italian>Mostra i nomi dei giocatori?</Italian>
<Japanese>プレイヤ名を表示しますか</Japanese>
<Japanese>プレイヤ名を表示しますか?</Japanese>
<Korean>플레이어 이름을 표시합니까?</Korean>
<Chinesesimp>显示玩家名称?</Chinesesimp>
<Chinese>顯示玩家名稱?</Chinese>
@ -329,7 +329,7 @@
<Hungarian>Itt található az adott játékos neveket?</Hungarian>
<Russian>Показать отдельные имена игроков?</Russian>
<Italian>Mostra i nomi dei giocatori singoli?</Italian>
<Japanese>プレイヤの名前を表示しますか</Japanese>
<Japanese>プレイヤの名前を表示しますか?</Japanese>
<Korean>각 플레이어의 이름을 표시합니까?</Korean>
<Chinesesimp>显示玩家的个别名称?</Chinesesimp>
<Chinese>顯示玩家的個別名稱?</Chinese>

View File

@ -28,7 +28,7 @@
<Hungarian>Ezen a testrészen nincs sérülés...</Hungarian>
<Czech>Žádné zranění na této části těla...</Czech>
<Portuguese>Nenhum ferimento nesta parte do corpo...</Portuguese>
<Japanese>怪我をしていない</Japanese>
<Japanese>この身体は怪我をしていません・・・</Japanese>
<Korean>이 부위에는 부상이 없습니다...</Korean>
<Chinesesimp>此身体部位没有受伤</Chinesesimp>
<Chinese>此身體部位沒有受傷</Chinese>
@ -44,7 +44,7 @@
<Hungarian>Hulladékszimuláció részletessége</Hungarian>
<Portuguese>Detalhe da simulação de sujeira</Portuguese>
<Czech>Počet zobrazených předmětů po použití zdravotnického materiálu</Czech>
<Japanese>医療廃棄物を再現する詳細度</Japanese>
<Japanese>医療廃棄物シミュレーション詳細度</Japanese>
<Korean>의료폐기물 재현 상세도</Korean>
<Chinesesimp>医疗废弃物模拟细节</Chinesesimp>
<Chinese>醫療廢棄物模擬細節</Chinese>
@ -60,7 +60,7 @@
<Hungarian>A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás.</Hungarian>
<Portuguese>O nível de detalhe de sujeira determina o número de itens que irão aparecer no cliente. Quantidades excessivas em áreas locais podem aumentar o lag do FPS, então esta é uma opção somente para o cliente.</Portuguese>
<Czech>Počet zobrazených předmětů po použití zdravotnického materiálu ovlivňuje počet objektů, které budou zobrazeny klientovi v místě použití zdravotnického materiálu. Vyšší množství objektů může způsobovat poklesy FPS a proto je toto nastavení čistě na klientovi.</Czech>
<Japanese>医療廃棄物再現度は各クライアントでローカルに作成される、医療廃棄物の詳細度を決定できます。ローカルで多くのアイテムがあると FPS の低下を引き起こすため、クライアント側のみの設定です。</Japanese>
<Japanese>医療廃棄物シミュレーションは各クライアントでローカルに作成される、医療廃棄物の詳細度を決定できます。ローカルで多くのアイテムがあると FPS の低下を引き起こすため、クライアント側のみの設定です。</Japanese>
<Korean>의료폐기물 재현 상세도의 경우 얼마나 많은 수의 폐기물이 클라이언트 주변에 생성되는지를 정합니다. 매우 많은 수의 지역은 프레임드랍을 유발할 수 있습니다, 고로 이는 클라이언트 전용 설정입니다.</Korean>
<Chinesesimp>设定医疗废弃物的最大产生数量,过多的数量会导致画面更新率延迟,因此这由用户端来设定。</Chinesesimp>
<Chinese>設定醫療廢棄物的最大產生數量,過多的數量會導致畫面更新率延遲,因此這由用戶端來設定。</Chinese>
@ -315,7 +315,7 @@
<Hungarian>Morfium beadása...</Hungarian>
<Portuguese>Injetando Morfina...</Portuguese>
<Italian>Inietto la morfina...</Italian>
<Japanese>モルヒネを投与・・・</Japanese>
<Japanese>モルヒネを投与しています・・・</Japanese>
<Korean>모르핀 주사중...</Korean>
<Chinesesimp>吗啡注射中...</Chinesesimp>
<Chinese>嗎啡注射中...</Chinese>
@ -331,7 +331,7 @@
<Hungarian>Epinefrin beadása...</Hungarian>
<Portuguese>Injetando Epinefrina...</Portuguese>
<Italian>Inietto l'adrenalina...</Italian>
<Japanese>アドレナリンを投与・・・</Japanese>
<Japanese>アドレナリンを投与しています・・・</Japanese>
<Korean>에피네프린 주사중...</Korean>
<Chinesesimp>肾上腺素注射中...</Chinesesimp>
<Chinese>腎上腺素注射中...</Chinese>
@ -346,7 +346,7 @@
<Czech>Aplikuji adenosine...</Czech>
<Portuguese>Injetando Adenosina...</Portuguese>
<Russian>Введение аденозина...</Russian>
<Japanese>アドネシンを投与・・・</Japanese>
<Japanese>アドネシンを投与しています・・・</Japanese>
<Korean>아데노신 주사중...</Korean>
<Chinesesimp>腺苷注射中...</Chinesesimp>
<Chinese>腺苷注射中...</Chinese>
@ -362,7 +362,7 @@
<Hungarian>Atropin beadása...</Hungarian>
<Italian>Inietto l'atropina...</Italian>
<Portuguese>Injetando Atropina</Portuguese>
<Japanese>アトロピンを投与・・・</Japanese>
<Japanese>アトロピンを投与しています・・・</Japanese>
<Korean>아트리핀 주사중...</Korean>
<Chinesesimp>阿托品注射中 ...</Chinesesimp>
<Chinese>阿托品注射中 ...</Chinese>
@ -378,7 +378,7 @@
<Hungarian>Infúzió vérrel...</Hungarian>
<Portuguese>Transfundindo Sangue...</Portuguese>
<Italian>Effettuo la trasfusione di sangue...</Italian>
<Japanese>輸血・・・</Japanese>
<Japanese>輸血しています・・・</Japanese>
<Korean>혈액 수혈중...</Korean>
<Chinesesimp>输血液中 ...</Chinesesimp>
<Chinese>輸血液中 ...</Chinese>
@ -394,7 +394,7 @@
<Hungarian>Infúzió sós vizzel...</Hungarian>
<Italian>Effettuo la rasfusione di soluzione salina</Italian>
<Portuguese>Transfundindo Soro...</Portuguese>
<Japanese>生理食塩水を投与・・・</Japanese>
<Japanese>生理食塩水を投与しています・・・</Japanese>
<Korean>생리식염수 수혈중...</Korean>
<Chinesesimp>施打生理食盐水中 ...</Chinesesimp>
<Chinese>施打生理食鹽水中 ...</Chinese>
@ -410,7 +410,7 @@
<Hungarian>Infúzió vérplazmával...</Hungarian>
<Italian>Effettu la trasfusione di plasma...</Italian>
<Portuguese>Transfundindo Plasma...</Portuguese>
<Japanese>血しょうを投与・・・</Japanese>
<Japanese>血しょうを投与しています・・・</Japanese>
<Korean>혈장 수혈중...</Korean>
<Chinesesimp>输血浆中 ...</Chinesesimp>
<Chinese>輸血漿中 ...</Chinese>
@ -586,7 +586,7 @@
<Hungarian>Ez az orvosi lap nem tartalmaz bejegyzést.</Hungarian>
<Czech>Žádné záznamy na tomto štítku</Czech>
<Portuguese>Nenhuma entrada neste cartão de triagem</Portuguese>
<Japanese>トリアージ カードには何も無い</Japanese>
<Japanese>トリアージ カードには何も無い</Japanese>
<Korean>부상자 분류 카드에 쓰여있는것이 없습니다.</Korean>
<Chinesesimp>此检伤分类卡上没有任何资料</Chinesesimp>
<Chinese>此檢傷分類卡上沒有任何資料</Chinese>
@ -650,7 +650,7 @@
<Hungarian>Diagnózis folyamatban...</Hungarian>
<Czech>Diagnostika...</Czech>
<Portuguese>Diagnosticando...</Portuguese>
<Japanese>診断・・・</Japanese>
<Japanese>診断しています・・・</Japanese>
<Korean>진단중...</Korean>
<Chinesesimp>诊断中...</Chinesesimp>
<Chinese>診斷中...</Chinese>
@ -682,7 +682,7 @@
<Hungarian>Újraélesztés folyamatban...</Hungarian>
<Czech>Provádím CPR...</Czech>
<Portuguese>Realizando o SBV...</Portuguese>
<Japanese>心肺蘇生を実行中・・・</Japanese>
<Japanese>心肺蘇生をしています・・・</Japanese>
<Korean>심폐소생중...</Korean>
<Chinesesimp>进行心肺复苏术中...</Chinesesimp>
<Chinese>進行心肺復甦術中...</Chinese>
@ -1927,7 +1927,7 @@
<Italian>Controllando la pressione sanguigna..</Italian>
<Portuguese>Aferindo Pressão Arterial...</Portuguese>
<Czech>Měřím krevní tlak...</Czech>
<Japanese>血圧を測定・・・</Japanese>
<Japanese>血圧を測定しています・・・</Japanese>
<Korean>혈압 측정증...</Korean>
<Chinesesimp>检查血压中...</Chinesesimp>
<Chinese>檢查血壓中...</Chinese>
@ -2151,7 +2151,7 @@
<Italian>Controllando il battito cardiaco...</Italian>
<Portuguese>Aferindo Pulso...</Portuguese>
<Czech>Kontroluji srdeční tep...</Czech>
<Japanese>心拍数を測定・・・</Japanese>
<Japanese>心拍数を測定しています・・・</Japanese>
<Korean>맥박 확인중...</Korean>
<Chinesesimp>检查心跳中...</Chinesesimp>
<Chinese>檢查心跳中...</Chinese>
@ -2583,7 +2583,7 @@
<German>%1 verbindet dich</German>
<Portuguese>%1 está aplicando uma bandagem em você</Portuguese>
<Czech>%1 tě obvazuje</Czech>
<Japanese>%1 は自分に包帯を巻いている</Japanese>
<Japanese>%1 はあなたに包帯を巻いている</Japanese>
<Korean>%1 (이)가 나에게 붕대를 감고있다</Korean>
<Chinesesimp>%1 正在对你包扎绷带中</Chinesesimp>
<Chinese>%1 正在對你包紮繃帶中</Chinese>
@ -2807,7 +2807,7 @@
<Italian>Stai mettendo il corpo nella sacca...</Italian>
<Portuguese>Colocando corpo dentro do saco para cadáver...</Portuguese>
<Czech>Umístňuji tělo do pytle na mrtvoly...</Czech>
<Japanese>死体袋へ梱包中・・・</Japanese>
<Japanese>死体袋へ入れています・・・</Japanese>
<Korean>시체 가방에 담는중...</Korean>
<Chinesesimp>将尸体放入尸袋中...</Chinesesimp>
<Chinese>將屍體放入屍袋中...</Chinese>
@ -3732,7 +3732,7 @@
<Portuguese>Tratando...</Portuguese>
<Czech>Ošetřuji...</Czech>
<Italian>Curando...</Italian>
<Japanese>治療・・・</Japanese>
<Japanese>治療しています・・・</Japanese>
<Korean>치료중...</Korean>
<Chinesesimp>治疗中...</Chinesesimp>
<Chinese>治療中...</Chinese>
@ -3748,7 +3748,7 @@
<Czech>Sundavám škrtidlo...</Czech>
<Russian>Снятие жгута...</Russian>
<Italian>Togliendo il laccio emostatico...</Italian>
<Japanese>止血帯を外してい・・・</Japanese>
<Japanese>止血帯を外しています・・・</Japanese>
<Korean>지혈대 제거중...</Korean>
<Chinesesimp>移除军用止血带中...</Chinesesimp>
<Chinese>移除軍用止血帶中...</Chinese>
@ -3812,7 +3812,7 @@
<French>Quel niveau de simulation médicale choisissez-vous?</French>
<Hungarian>Milyen komplex legyen az orvosi szimuláció?</Hungarian>
<Italian>Qual'è il livello di simulazione medica?</Italian>
<Japanese>治療の再現度は</Japanese>
<Japanese>治療の再現度は?</Japanese>
<Korean>의료 시뮬레이션의 수준</Korean>
<Chinesesimp>选择需要的医疗模拟等级</Chinesesimp>
<Chinese>選擇需要的醫療模擬等級</Chinese>
@ -3876,7 +3876,7 @@
<French>Quel niveau de détail voulez-vous pour les infirmiers?</French>
<Hungarian>Mi a javasolt részletesség orvosok számára?</Hungarian>
<Italian>Qual'è il livello di dettagli preferito per i medici?</Italian>
<Japanese>&gt;衛生兵への再現度をどのくらいに設定しますか</Japanese>
<Japanese>衛生兵への再現度をどのくらいに設定しますか?</Japanese>
<Korean>의무병의 시뮬레이션 정도?</Korean>
<Chinesesimp>设定医护兵的预设医疗水平(医疗兵,军医)</Chinesesimp>
<Chinese>設定醫護兵的預設醫療水平(醫療兵,軍醫)</Chinese>
@ -3906,7 +3906,7 @@
<Portuguese>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]</Portuguese>
<French>Améliore l'efficacité des soins dans les véhicules ou structures de soins [non formés deviennent médecins, médecins deviennent docteurs]</French>
<Russian>Улучшает медицинскую подготовку в мед. транспорте и около мед. строений [нетренированные становятся медиками, медики становятся врачами]</Russian>
<Japanese>医療車両や医療施設の近くは衛生兵としての能力を与える場所となり、衛生兵の訓練を受けていないのに衛生兵としてなる(未訓練は衛生兵に、衛生兵は医師に)</Japanese>
<Japanese>医療車両や医療施設の近くは衛生兵としての能力を与える場所となり、衛生兵の訓練を受けていないのに衛生兵としてなる (未訓練は衛生兵に、衛生兵は医師に)</Japanese>
<Korean>의무병의 수준이 주변의 차량이나 의료시설에 따라 증가합니다. [비교육자가 의무병이되고, 의무병이 의사가 됩니다]</Korean>
<Chinesesimp>当人员在医疗载具或是医护设施旁进行医疗时,该员医疗能力将会有所提升 (未受训人员提升为医疗兵,医疗兵提升为军医)</Chinesesimp>
<Chinese>當人員在醫療載具或是醫護設施旁進行醫療時,該員醫療能力將會有所提升 (未受訓人員提升為醫療兵,醫療兵提升為軍醫)</Chinese>
@ -3986,7 +3986,7 @@
<French>Combien de temps doivent rester affiché les détritus? En secondes. -1 pour tout le temps</French>
<Hungarian>Milyen sokáig legyenek jelen a szemétobjektumok (másodpercben)? A -1 végtelen időt jelent.</Hungarian>
<Italian>Per quanto devono restare le barelle? In secondi. -1 è permanente</Italian>
<Japanese>医療廃棄物オブジェクトが表示されつづける時間を設定しますか-1 は永遠です。</Japanese>
<Japanese>医療廃棄物オブジェクトが表示されつづける時間を設定しますか? -1 は永遠です。</Japanese>
<Korean>얼마동안 폐기물이 존재합니까? 초 단위. -1 은 영구적.</Korean>
<Chinesesimp>定义医疗废弃物存在时间,以秒为单位,-1为永远存在。</Chinesesimp>
<Chinese>定義醫療廢棄物存在時間,以秒為單位,-1為永遠存在。</Chinese>
@ -4050,7 +4050,7 @@
<French>Quels dégâts peut subir un joueur avant d'être tué</French>
<Hungarian>Mennyi sérülést szenvedhet el egy játékos, mielőtt meghal?</Hungarian>
<Italian>Quanto è il danno che un giocatore può sostenere prima di essere ucciso?</Italian>
<Japanese>プレイヤーが死に始める前に損傷を受けるようにしますか</Japanese>
<Japanese>プレイヤーが死に始める前に損傷を受けるようにしますか?</Japanese>
<Korean>얼마정도의 부상을 플레이어가 죽기 전까지 버틸 수 있습니까?</Korean>
<Chinesesimp>玩家死亡前所能承受的伤害程度</Chinesesimp>
<Chinese>玩家死亡前所能承受的傷害程度</Chinese>
@ -4082,7 +4082,7 @@
<French>Quels dégâts peut subir une IA avant d'être tuée</French>
<Hungarian>Mennyi sérülést szenvedhet el egy AI, mielőtt meghal?</Hungarian>
<Italian>Quanto è il danno che un'IA può sostenere prima di essere uccisa?</Italian>
<Japanese>AI が死に始める前に損傷を受けるようにしますか</Japanese>
<Japanese>AI が死に始める前に損傷を受けるようにしますか?</Japanese>
<Korean>얼마정도의 부상을 인공지능이 죽기 전까지 버틸 수 있습니까?</Korean>
<Chinesesimp>AI 死亡前所能承受的伤害程度</Chinesesimp>
<Chinese>AI 死亡前所能承受的傷害程度</Chinese>
@ -4146,7 +4146,7 @@
<Hungarian>Távvezérelt egységek AI-ként, nem játékosként való kezelése?</Hungarian>
<Russian>Обрабатывать дистанционно управляемых юнитов как ботов, а не как игроков?</Russian>
<Italian>Considera le unità controllate in remoto come IA e non come giocatori?</Italian>
<Japanese>遠隔操作された AI は、非プレイヤーとして扱いますか</Japanese>
<Japanese>遠隔操作された AI は、非プレイヤーとして扱いますか?</Japanese>
<Korean>원격 조작하는 AI는 비 플레이어로 취급합니까?</Korean>
<Chinesesimp>以医疗AI的方式医疗被遥控的单位</Chinesesimp>
<Chinese>以醫療AI的方式醫療被遙控的單位</Chinese>
@ -4417,7 +4417,7 @@
<French>Les plaies peuvent se rouvrir</French>
<Hungarian>Visszanyílhatnak a bekötözött sebek?</Hungarian>
<Italian>Permetti la riapertura di ferite bendate?</Italian>
<Japanese>包帯で巻かれた傷を再び開くようにしますか</Japanese>
<Japanese>包帯で巻かれた傷を再び開くようにしますか?</Japanese>
<Korean>붕대가 풀리는것을 활성화합니까?</Korean>
<Chinesesimp>启用进阶伤口系统会使已被包扎的伤口有机率裂开</Chinesesimp>
<Chinese>啟用進階傷口系統會使已被包紮的傷口有機率裂開</Chinese>
@ -4449,7 +4449,7 @@
<French>Les unités subissent des dégats lors d'accident</French>
<Hungarian>Sérülnek-e az egységek autós ütközés során?</Hungarian>
<Italian>Le unità sostengono danni da incidenti con veicoli?</Italian>
<Japanese>ユニットは車両の衝突による損傷を受けるようにしますか</Japanese>
<Japanese>ユニットは車両の衝突による損傷を受けるようにしますか?</Japanese>
<Korean>차량 사고시 인원들이 부상을 입습니까?</Korean>
<Chinesesimp>设定人员是否会因为载具冲撞别的物件而产生伤害?</Chinesesimp>
<Chinese>設定人員是否會因為載具衝撞別的物件而產生傷害?</Chinese>
@ -4479,7 +4479,7 @@
<Czech>Kdo může použít adrenalin k úplnému vyléčení? (Pouze základní zdravotní systém)</Czech>
<Portuguese>Quem pode usar Epinefrina para cura completa? (Somente sistema médico básico)</Portuguese>
<Russian>Кому разрешено использовать адреналин для полного излечения? (Только для базовой медицины)</Russian>
<Japanese>完全に回復できるよう誰しもがアドレナリンを使えるようにしますか(ベーシック医療のみ)</Japanese>
<Japanese>完全に回復できるよう誰しもがアドレナリンを使えるようにしますか? (ベーシック医療のみ)</Japanese>
<Korean>완전한 체력회복을 위해 어느 인원이 에피네프린을 쓸 수 있습니까? (기본 의료 전용)</Korean>
<Chinesesimp>谁可以使用肾上腺素完整医治? (仅适用于基本医疗)</Chinesesimp>
<Chinese>誰可以使用腎上腺素完整醫治? (僅適用於基本醫療)</Chinese>
@ -4511,7 +4511,7 @@
<French>Qui peut utilier la trousse sanitaire pour des soins complets?</French>
<Hungarian>Ki használhatja az elsősegélycsomagot teljes gyógyításra?</Hungarian>
<Italian>Chi può usare il KPS per cura completa?</Italian>
<Japanese>完全に回復できるよう誰しもが応急処置キットを使えるようにしますか</Japanese>
<Japanese>完全に回復できるよう誰しもが応急処置キットを使えるようにしますか?</Japanese>
<Korean>완전한 체력회복을 위해 어느 인원이 개인응급키트을 쓸 수 있습니까? (기본 의료 전용)</Korean>
<Chinesesimp>谁能够使用个人急救包来达到完整医疗?</Chinesesimp>
<Chinese>誰能夠使用個人急救包來達到完整醫療?</Chinese>
@ -4591,7 +4591,7 @@
<French>La trousse sanitaire doit être consommée à l'utilisation?</French>
<Hungarian>Eltávolítódjon az elsősegélycsomag használatkor?</Hungarian>
<Italian>Il Kit Pronto Soccorso dev'essere rimosso dopo l'utilizzo?</Italian>
<Japanese>応急処置キットを使うと削除しますか</Japanese>
<Japanese>応急処置キットを使うと削除しますか?</Japanese>
<Korean>개인응급키트를 사용하고 나서 제거합니까?</Korean>
<Chinesesimp>要在使用后删除个人急救包吗?</Chinesesimp>
<Chinese>要在使用後刪除個人急救包嗎?</Chinese>
@ -4621,7 +4621,7 @@
<Czech>Kde může být použit adrenalin? (Pouze základní zdravotní systém)</Czech>
<Portuguese>Onde pode-se usar a Epinefrina? (Somente sistema médico básico)</Portuguese>
<Russian>Где может использоваться адреналин? (Базовая медицина)</Russian>
<Japanese>どこでもアドレナリンをつかえるようにしますか(ベーシック医療のみ)</Japanese>
<Japanese>どこでもアドレナリンをつかえるようにしますか? (ベーシック医療のみ)</Japanese>
<Korean>어디에서 에피네프린을 사용할 수 있습니까? (기본 의료)</Korean>
<Chinesesimp>在哪里可以使用肾上腺素? (基本医疗)</Chinesesimp>
<Chinese>在哪裡可以使用腎上腺素? (基本醫療)</Chinese>
@ -4653,7 +4653,7 @@
<French>Où la trousse sanitaire peut être utilisée ?</French>
<Hungarian>Hol lehet az elsősegélycsomagot használni?</Hungarian>
<Italian>Dove può essere usato il Kit Pronto Soccorso?</Italian>
<Japanese>どこでも応急処置キットをつかえるようにしますか</Japanese>
<Japanese>どこでも応急処置キットをつかえるようにしますか?</Japanese>
<Korean>어디에서 개인응급키트를 사용할 수 있습니까?</Korean>
<Chinesesimp>在哪里可以使用个人急救包?</Chinesesimp>
<Chinese>在哪裡可以使用個人急救包?</Chinese>
@ -4685,7 +4685,7 @@
<Portuguese>Onde o kit de primeiros socorros pode ser utilizado?</Portuguese>
<Russian>Когда может использоваться аптечка?</Russian>
<Italian>Quando può essere usato il Kit Pronto Soccorso?</Italian>
<Japanese>どこでも応急処置キットをつかえるようにしますか</Japanese>
<Japanese>どこでも応急処置キットをつかえるようにしますか?</Japanese>
<Korean>언제 개인응급키트를 사용할 수 있습니까?</Korean>
<Chinesesimp>何时可以使用个人急救包?</Chinesesimp>
<Chinese>何時可以使用個人急救包?</Chinese>
@ -4781,7 +4781,7 @@
<French>Qui peut utiliser les trousses chirurgicales?</French>
<Hungarian>Ki használhatja a sebészkészletet?</Hungarian>
<Italian>Chi può usare il Kit Chirurgico?</Italian>
<Japanese>だれでも縫合キットをつかえるようにしますか</Japanese>
<Japanese>だれでも縫合キットをつかえるようにしますか?</Japanese>
<Korean>어느 인원이 봉합키트를 사용할 수 있습니까?</Korean>
<Chinesesimp>谁能够使用手术包?</Chinesesimp>
<Chinese>誰能夠使用手術包?</Chinese>
@ -4813,7 +4813,7 @@
<French>La trousse chirurgicale doit être consommée à l'utilisation?</French>
<Hungarian>Eltávolítódjon a sebészkészlet használatkor?</Hungarian>
<Italian>Il Kit Chirurgico dev'essere rimosso dopo l'uso?</Italian>
<Japanese>縫合キットをつかった後に削除しますか</Japanese>
<Japanese>縫合キットをつかった後に削除しますか?</Japanese>
<Korean>봉합키트를 사용하고 나서 제거합니까?</Korean>
<Chinesesimp>手术包会在使用后被删除吗?</Chinesesimp>
<Chinese>手術包會在使用後被刪除嗎?</Chinese>
@ -4845,7 +4845,7 @@
<French>Où peut être utilisé les trousses chirurgicales?</French>
<Hungarian>Hol lehet a sebészkészletet használni?</Hungarian>
<Italian>Dove può essere usato il Kit Chirurgico?</Italian>
<Japanese>どこでも縫合キットをつかえるようにしますか</Japanese>
<Japanese>どこでも縫合キットをつかえるようにしますか?</Japanese>
<Korean>어디에서 봉합키트를 사용할 수 있게 합니까?</Korean>
<Chinesesimp>定义手术包可被使用的地方?</Chinesesimp>
<Chinese>定義手術包可被使用的地方?</Chinese>
@ -4877,7 +4877,7 @@
<Portuguese>Onde o kit cirúrgico pode ser utilizado?</Portuguese>
<Russian>Когда может использоваться хирургический набор?</Russian>
<Italian>Quando può essere usato il Kit Chirurgico?</Italian>
<Japanese>いつでも縫合キットをつかえるようにしますか</Japanese>
<Japanese>いつでも縫合キットをつかえるようにしますか?</Japanese>
<Korean>언제 봉합키트를 사용할 수 있습니까?</Korean>
<Chinesesimp>何时可以使用手术工具包?</Chinesesimp>
<Chinese>何時可以使用手術工具包?</Chinese>
@ -5481,7 +5481,7 @@
<Portuguese>Estável</Portuguese>
<Russian>После стабилизации</Russian>
<Italian>Stabile</Italian>
<Japanese></Japanese>
<Japanese>静下</Japanese>
<Korean>안정된</Korean>
<Chinesesimp>稳定状态下</Chinesesimp>
<Chinese>穩定狀態下</Chinese>
@ -5542,7 +5542,7 @@
<Czech>Žádné škrtidlo na této části těla!</Czech>
<Italian>Non c'è nessun laccio emostatico su questa parte del corpo!</Italian>
<French>Il n'y a pas de garrot sur ce membre !</French>
<Japanese>身体には止血帯が無い</Japanese>
<Japanese>身体には止血帯が無い!</Japanese>
<Korean>이 부위에는 지혈대가 없습니다!</Korean>
<Chinesesimp>这部位没有止血带!</Chinesesimp>
<Chinese>這部位沒有止血帶!</Chinese>

View File

@ -204,7 +204,7 @@
<Hungarian>Névcímkék megjelenítése AI-nál?</Hungarian>
<Russian>Показывать имена ботов?</Russian>
<Italian>Mostra etichette nomi per IA?</Italian>
<Japanese>AI の名札も表示しますか</Japanese>
<Japanese>AI の名札も表示しますか?</Japanese>
<Korean>인공지능의 이름도 표시합니까?</Korean>
<Chinesesimp>显示AI名称?</Chinesesimp>
<Chinese>顯示AI名稱?</Chinese>
@ -220,7 +220,7 @@
<Hungarian>Mutassa-e a szövetséges AI egységek nevét és rangját? Alapértelmezett: Nincs felülbírálás</Hungarian>
<Russian>Показывать имена и звания дружественных ботов? По-умолчанию: Не обязывать</Russian>
<Italian>Mostra etichette nomi ed etichette gradi per unità IA alleate? Default: Non forzare</Italian>
<Japanese>友軍の AI にも名前と階級を表示しますか標準: 強制しない</Japanese>
<Japanese>友軍の AI にも名前と階級を表示しますか? 標準: 強制しない</Japanese>
<Korean>아군 인공지능의 계급을 표시합니까? 기본설정: 강제하지 않음</Korean>
<Chinesesimp>显示友军AI的名称和军阶? 预设: 不显示</Chinesesimp>
<Chinese>顯示友軍AI的名稱和軍階? 預設: 不顯示</Chinese>

View File

@ -3,6 +3,7 @@
<Package name="NightVision">
<Key ID="STR_ACE_NightVision_Category">
<English>ACE Nightvision</English>
<Japanese>ACE 暗視装置</Japanese>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen1">
<English>NV Goggles (Gen1)</English>
@ -220,7 +221,7 @@
<Italian>Disabilita NVG nei mirini</Italian>
<Spanish>Desactivar NVG en miras</Spanish>
<French>Desactiver les JVN dans les viseurs.</French>
<Japanese>スコープを覗くと暗視装置を無効化</Japanese>
<Japanese>スコープでは暗視装置を無効化</Japanese>
<Korean>조준경 사용시 야투경 비활성화</Korean>
<Chinesesimp>使用瞄准镜时关闭夜视镜</Chinesesimp>
<Chinese>使用瞄準鏡時關閉夜視鏡</Chinese>
@ -242,15 +243,19 @@
</Key>
<Key ID="STR_ACE_NightVision_fogScaling_DisplayName">
<English>NVG Fog Scale</English>
<Japanese>暗視装置の霧の規模</Japanese>
</Key>
<Key ID="STR_ACE_NightVision_fogScaling_Description">
<English>Fog is used to limit visibility.</English>
<Japanese>霧は視界制限のために使われます。</Japanese>
</Key>
<Key ID="STR_ACE_NightVision_effectScaling_DisplayName">
<English>NVG Effect Scale</English>
<Japanese>暗視装置の効果規模</Japanese>
</Key>
<Key ID="STR_ACE_NightVision_effectScaling_Description">
<English>Blur, grain and brightness effects [Setting to 0 will disable ALL nightvision effects]</English>
<Japanese>ぼかしと粒子、明度効果 [0 に設定で全効果を無効化します]</Japanese>
</Key>
</Package>
</Project>

View File

@ -28,7 +28,7 @@
<Hungarian>Debug információt küld az RPT-be és a vágólapra.</Hungarian>
<Russian>Отправляет отладочную информацию в RPT и буфер обмена.</Russian>
<Italian>Invia informazioni di debug all'RPT e al Blocco Note</Italian>
<Japanese>デバッグ情報を RPT とクリップボードに送ります</Japanese>
<Japanese>デバッグ情報を RPT とクリップボードに送った</Japanese>
<Korean>디버그 정보를 보고하기 및 클립보드에 복사하기 위해 보냅니다.</Korean>
<Chinesesimp>复制除错讯息至剪贴簿与RPT报告档中。</Chinesesimp>
<Chinese>複製除錯訊息至剪貼簿與RPT報告檔中。</Chinese>

View File

@ -313,7 +313,7 @@
<Hungarian>Cső kicserélése folyamatban...</Hungarian>
<Portuguese>Substituindo cano...</Portuguese>
<Italian>Sostituendo la canna...</Italian>
<Japanese>銃身を交換・・・</Japanese>
<Japanese>銃身を交換しています・・・</Japanese>
<Korean>총열 교체중...</Korean>
<Chinesesimp>换枪管中...</Chinesesimp>
<Chinese>換槍管中...</Chinese>
@ -377,7 +377,7 @@
<Portuguese>Conferindo temperatura...</Portuguese>
<Italian>Controllando la temperatura...</Italian>
<Russian>Проверка температуры...</Russian>
<Japanese>温度を測ってい・・・</Japanese>
<Japanese>温度を測っています・・・</Japanese>
<Korean>무기 온도 확인중...</Korean>
<Chinesesimp>检查枪管温度中...</Chinesesimp>
<Chinese>檢查槍管溫度中...</Chinese>
@ -402,7 +402,7 @@
<French>Vérification de la température des canons de rechange...</French>
<Russian>Проверка температуры запасных стволов...</Russian>
<Czech>Kontroluji teplotu náhradní hlavně...</Czech>
<Japanese>予備銃身の温度を測ってい・・・</Japanese>
<Japanese>予備銃身の温度を測っています・・・</Japanese>
<Polish>Sprawdzanie temperatury zapasowych luf...</Polish>
<German>Prüfe Temperatur der Wechselläufe ...</German>
<Korean>총열 온도 확인중...</Korean>

View File

@ -100,10 +100,12 @@
<Key ID="STR_ACE_Parachute_HideAltimeter">
<English>Hide Freefall Altimeter</English>
<German>Freifall-Höhenmesser verstecken</German>
<Japanese>降下時に高度計を非表示</Japanese>
</Key>
<Key ID="STR_ACE_Parachute_HideAltimeter_tooltip">
<English>Hides the altitude and speed shown while free falling or parachuting.</English>
<German>Blendet den Höhen- und Geschwindigkeitsmesser während des Fallschirmspringens aus.</German>
<Japanese>自由降下時かパラシュート中に高度と速度を非表示にします。</Japanese>
</Key>
</Package>
</Project>

View File

@ -28,7 +28,7 @@ class Extended_PostInit_EventHandlers {
class Extended_Respawn_EventHandlers {
class CAManBase {
class ADDON {
respawn = QUOTE(call FUNC(XEH_respawn));
respawn = QUOTE(call FUNC(handleRespawn));
};
};
};

View File

@ -41,7 +41,7 @@
<Italian>Quanto velocemente dovrebbe essere rifornito un veicolo?</Italian>
<Spanish>Cuán rápido se reabastecen los vehículos?</Spanish>
<French>A quelle vitesse devrait être ravitaillé un véhicule ?</French>
<Japanese>どのくらいの速さで車両へ給油しますか</Japanese>
<Japanese>どのくらいの速さで車両へ給油しますか?</Japanese>
<Korean>차량이 얼마나 빨리 재급유될 수 있습니까?</Korean>
<Chinesesimp>载具多快会加油完毕?</Chinesesimp>
<Chinese>載具多快會加油完畢?</Chinese>
@ -86,7 +86,7 @@
<Italian>Prendendo manicotto benzina...</Italian>
<Spanish>Tomando surtidor...</Spanish>
<French>Prise de la pompe...</French>
<Japanese>給油ノズルを取ってい・・・</Japanese>
<Japanese>給油ノズルを取っています・・・</Japanese>
<Korean>주유기 획득중...</Korean>
<Chinesesimp>拿取燃料喷嘴中...</Chinesesimp>
<Chinese>拿取燃料噴嘴中...</Chinese>
@ -116,7 +116,7 @@
<Italian>Collegando manicotto benzina...</Italian>
<Spanish>Conectando surtidor...</Spanish>
<French>Connection de la pompe...</French>
<Japanese>給油ノズルを接続してい・・・</Japanese>
<Japanese>給油ノズルを接続しています・・・</Japanese>
<Korean>주유기 꼽는중...</Korean>
<Chinesesimp>连结燃料喷嘴中...</Chinesesimp>
<Chinese>連結燃料噴嘴中...</Chinese>
@ -176,7 +176,7 @@
<Italian>Controllando la benzina rimanente...</Italian>
<Spanish>Verificando combustible remanente,,,</Spanish>
<French>Vérifie le carburant restant...</French>
<Japanese>残燃料を見てい・・・</Japanese>
<Japanese>残燃料を見ています・・・</Japanese>
<Korean>남은 연료 확인중...</Korean>
<Chinesesimp>检查剩余燃料中...</Chinesesimp>
<Chinese>檢查剩餘燃料中...</Chinese>
@ -395,7 +395,7 @@
<Italian>Riponendo la manica della benzina...</Italian>
<Spanish>Devolviendo el surtidor...</Spanish>
<French>Retourne la pompe</French>
<Japanese>給油ノズルを戻してい・・・</Japanese>
<Japanese>給油ノズルを戻しています・・・</Japanese>
<Korean>주유기 반환중</Korean>
<Chinesesimp>放回燃料喷嘴中...</Chinesesimp>
<Chinese>放回燃料噴嘴中...</Chinese>

View File

@ -1,5 +1,6 @@
class ACE_Settings {
class GVAR(displayText) {
category = ECSTRING(common,ACEKeybindCategoryWeapons);
typeName = "BOOL";
isClientSettable = 1;
value = 1;

View File

@ -28,7 +28,7 @@
<Hungarian>A lőszer ellenőrzése az új tárad behelyezésekor újratöltés közben.</Hungarian>
<Italian>Controlla le munizioni rimanenti nel caricatore in fase di cambio caricatore.</Italian>
<Portuguese>Confere a munição no seu novo carregador ao recarregar a arma</Portuguese>
<Japanese>あたらしく装填された弾倉の弾薬を確認します。</Japanese>
<Japanese>しく装填された弾倉の弾薬を確認します。</Japanese>
<Korean>재장전시 새탄창에 있는 탄약을 확인합니다.</Korean>
<Chinesesimp>在重新装填时检查新弹匣上的弹药.</Chinesesimp>
<Chinese>在重新裝填時檢查新彈匣上的彈藥.</Chinese>
@ -92,7 +92,7 @@
<Hungarian>Töltényheveder összekötése folyamatban...</Hungarian>
<Italian>Attaccando la tracolla...</Italian>
<Portuguese>Ligando cintos...</Portuguese>
<Japanese>ベルトをつなげてい・・・</Japanese>
<Japanese>ベルトをつなげています・・・</Japanese>
<Korean>벨트 연결중...</Korean>
<Chinesesimp>连接弹链中...</Chinesesimp>
<Chinese>連接彈鏈中...</Chinese>

View File

@ -38,10 +38,10 @@ class Stage3 {
texture = "a3\data_f\destruct\damage_metal_mc.paa";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,0};
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,0};
};
};

View File

@ -59,7 +59,7 @@
<Spanish>Cambiando rueda...</Spanish>
<Italian>Sostituendo la ruota...</Italian>
<French>Remplacement de la roue...</French>
<Japanese>タイヤを交換・・・</Japanese>
<Japanese>タイヤを交換しています・・・</Japanese>
<Korean>바퀴 교체중...</Korean>
<Chinesesimp>更换轮胎中...</Chinesesimp>
<Chinese>更換輪胎中...</Chinese>
@ -74,7 +74,7 @@
<Spanish>Rueda cambiada</Spanish>
<Italian>Ruota sostituita</Italian>
<French>Roue remplacée</French>
<Japanese>タイヤを履き替え</Japanese>
<Japanese>タイヤを交換した</Japanese>
<Korean>바퀴 교체됨</Korean>
<Chinesesimp>轮胎更换完毕</Chinesesimp>
<Chinese>輪胎更換完畢</Chinese>
@ -105,7 +105,7 @@
<Spanish>Quitando rueda...</Spanish>
<Italian>Rimuovendo la ruota...</Italian>
<French>Démontage de la roue...</French>
<Japanese>タイヤを外してい・・</Japanese>
<Japanese>タイヤを外しています・・・</Japanese>
<Korean>바퀴 제거중...</Korean>
<Chinesesimp>卸下轮胎中...</Chinesesimp>
<Chinese>卸下輪胎中...</Chinese>
@ -150,7 +150,7 @@
<Spanish>Cambiando oruga...</Spanish>
<Italian>Sostituendo il cingolo...</Italian>
<French>Remplacement de la chenille...</French>
<Japanese>履帯を交換・・・</Japanese>
<Japanese>履帯を交換しています・・・</Japanese>
<Korean>궤도 교체중...</Korean>
<Chinesesimp>更换履带中...</Chinesesimp>
<Chinese>更換履帶中...</Chinese>
@ -195,7 +195,7 @@
<Spanish>Quitando oruga...</Spanish>
<Italian>Rimuovendo il cingolo...</Italian>
<French>Enlèvement de la chenille...</French>
<Japanese>履帯を外してい・・・</Japanese>
<Japanese>履帯を外しています・・・</Japanese>
<Korean>궤도 제거중...</Korean>
<Chinesesimp>卸下履带中...</Chinesesimp>
<Chinese>卸下履帶中...</Chinese>
@ -240,7 +240,7 @@
<Spanish>Reparando vehículo...</Spanish>
<Italian>Riparando il veicolo...</Italian>
<French>Réparation du véhicule...</French>
<Japanese>車両を修理・・・</Japanese>
<Japanese>車両を修理しています・・・</Japanese>
<Korean>차량 수리중...</Korean>
<Chinesesimp>维修载具中...</Chinesesimp>
<Chinese>維修載具中...</Chinese>
@ -255,7 +255,7 @@
<Spanish>Lugares de reparación completa</Spanish>
<Italian>Luoghi Riparazione Completa</Italian>
<French>Lieu de réparation complète</French>
<Japanese>完全修理できる場所</Japanese>
<Japanese>完全修理できる場所</Japanese>
<Korean>완전수리 구역</Korean>
<Chinesesimp>完整维修地点</Chinesesimp>
<Chinese>完整維修地點</Chinese>
@ -270,7 +270,7 @@
<Czech>V které oblasti může být vozidlo plně opraveno?</Czech>
<Italian>In quali luoghi è possibile riparare completamente un veicolo?</Italian>
<French>Où peuvent être réparés complètement les véhicules ?</French>
<Japanese>どのような場所で車両の完全な修理を出来るようにしますか</Japanese>
<Japanese>どのような場所で車両の完全な修理を出来るようにしますか?</Japanese>
<Korean>어느 구역에서 차량을 완전히 수리할 수 있게 합니까?</Korean>
<Chinesesimp>什么位置可以完整维修载具?</Chinesesimp>
<Chinese>什麼位置可以完整維修載具?</Chinese>
@ -285,7 +285,7 @@
<Spanish>Permitir reparación completa</Spanish>
<Italian>Consenti Riparazione Completa</Italian>
<French>Autoriser les réparations complètes.</French>
<Japanese>完全な修理をさせる</Japanese>
<Japanese>完全修理を許可</Japanese>
<Korean>완전 수리 활성화</Korean>
<Chinesesimp>允许完整维修</Chinesesimp>
<Chinese>允許完整維修</Chinese>
@ -300,7 +300,7 @@
<Czech>Kdo může provést úplné opravy na vozidle?</Czech>
<Italian>Chi può eseguire una riparazione completa su un veicolo?</Italian>
<French>Qui peut faire une réparation complète ?</French>
<Japanese>誰が車両の完全な修理を出来るようにしますか</Japanese>
<Japanese>誰が車両の完全な修理を出来るようにしますか?</Japanese>
<Korean>누가 완전 수리를 할 수 있습니까?</Korean>
<Chinesesimp>谁可以完整维修载具?</Chinesesimp>
<Chinese>誰可以完整維修載具?</Chinese>
@ -330,7 +330,7 @@
<Czech>Přidat náhradní díly do vozidla (vyžaduje úložný prostor)?</Czech>
<Italian>Aggiungi parti di ricambio ai veicoli (richiede componente Cargo)?</Italian>
<French>Ajouter des pièces de rechage aux véhicules ? (à besoin du système de cargaison)</French>
<Japanese>車両へ予備部品を追加しますか(カーゴ コンポーネントが必要)</Japanese>
<Japanese>車両へ予備部品を追加しますか(カーゴ コンポーネントが必要)?</Japanese>
<Korean>차량에 예비 부품을 더합니까?(짐칸 요소 필요)</Korean>
<Chinesesimp>添加载具备件 (需相关货物组件)?</Chinesesimp>
<Chinese>添加載具備件 (需相關貨物組件)?</Chinese>
@ -392,7 +392,7 @@
<Italian>Riparando...</Italian>
<Hungarian>javítása...</Hungarian>
<Russian>Ремонтируем...</Russian>
<Japanese>修理・・・</Japanese>
<Japanese>修理しています・・・</Japanese>
<Korean>수리중...</Korean>
<Chinesesimp>维修中...</Chinesesimp>
<Chinese>維修中...</Chinese>
@ -408,7 +408,7 @@
<Italian>Riparando %1...</Italian>
<Hungarian>%1 javítása...</Hungarian>
<Russian>Ремонтируем %1...</Russian>
<Japanese>%1 を修理・・・</Japanese>
<Japanese>%1 を修理しています・・・</Japanese>
<Korean>%1 수리중...</Korean>
<Chinesesimp>维修%1中...</Chinesesimp>
<Chinese>維修%1中...</Chinese>
@ -1061,7 +1061,7 @@
<Czech>Poskytuje rozsáhlý systém oprav pro všechny typy vozidel.</Czech>
<Italian>Fornisce un sistema di riparazione per tutti i tipi di veicoli.</Italian>
<French>Fournit un système de réparation pour tous les types de véhicules.</French>
<Japanese>車両の全種類に修理システムを適用しますか</Japanese>
<Japanese>車両の全種類に修理システムを適用しますか?</Japanese>
<Korean>모든 차량에 대해 수리 시스템을 제공합니다.</Korean>
<Chinesesimp>提供修复系统给所有载具</Chinesesimp>
<Chinese>提供修復系統給所有載具</Chinese>
@ -1131,7 +1131,7 @@
<Spanish>¿Quién puede quitar y cambiar las ruedas?</Spanish>
<Italian>Chi può rimuovere e sostituire le ruote?</Italian>
<French>Qui peut enlever et remplacer les roues ?</French>
<Japanese>誰がタイヤの除去と交換を出来るようにしますか</Japanese>
<Japanese>誰がタイヤの除去と交換を出来るようにしますか?</Japanese>
<Korean>누가 바퀴를 제거 및 교체할 수 있습니까?</Korean>
<Chinesesimp>谁可维修轮胎?</Chinesesimp>
<Chinese>誰可維修輪胎?</Chinese>
@ -1161,7 +1161,7 @@
<Spanish>¿Quién puede realizar reparaciones?</Spanish>
<Italian>Chi può eseguire riparazioni?</Italian>
<French>Qui peut réparer ?</French>
<Japanese>誰が修理を出来るようににしますか</Japanese>
<Japanese>誰が修理を出来るようににしますか?</Japanese>
<Korean>누가 수리를 할 수 있습니까?</Korean>
<Chinesesimp>谁可以进行维修操作?</Chinesesimp>
<Chinese>誰可以進行維修操作?</Chinese>
@ -1191,7 +1191,7 @@
<Czech>Jaké maximální poškození může být opraveno pomocí opravárenské sady?</Czech>
<Italian>Qual'è il danno massimo che può essere riparato con il Toolkit?</Italian>
<French>Quel est le maximum de dommages réparable par une trousse à outils ?</French>
<Japanese>ツールキットで修理できる、最大の損傷許容範囲を設定しますか</Japanese>
<Japanese>ツールキットで修理できる、最大の損傷許容範囲を設定しますか?</Japanese>
<Korean>어느정도의 피해까지 툴킷으로 수리가 가능합니까?</Korean>
<Chinesesimp>工具包可以修复的最大损坏值?</Chinesesimp>
<Chinese>工具包可以修復的最大損壞值?</Chinese>
@ -1221,7 +1221,7 @@
<Czech>Jaké maximální poškození může být opraveno pomoci inženýra?</Czech>
<Italian>Qual'è il danno massimo che può essere riparato da un Geniere?</Italian>
<French>Quel est le maximum de dommages qui peuvent être réparés par un ingénieur ?</French>
<Japanese>工兵が修理できる、最大の損傷許容範囲を設定しますか</Japanese>
<Japanese>工兵が修理できる、最大の損傷許容範囲を設定しますか?</Japanese>
<Korean>정비공은 어느정도의 피해까지 수리할 수 있습니까?</Korean>
<Chinesesimp>工兵可以修复的最大损坏值?</Chinesesimp>
<Chinese>工兵可以修復的最大損壞值?</Chinese>
@ -1251,7 +1251,7 @@
<Czech>Má být odstraněna sada nástroju po použití?</Czech>
<Italian>Il Toolkit dev'essere rimosso dopo l'uso?</Italian>
<French>La trousse à outils devrait-elle être enlevée après usage ?</French>
<Japanese>ツールキットを使うと削除しますか</Japanese>
<Japanese>ツールキットを使うと削除しますか?</Japanese>
<Korean>툴킷을 사용하면 제거를 합니까?</Korean>
<Chinesesimp>要在使用后删除工具包吗?</Chinesesimp>
<Chinese>要在使用後刪除工具包嗎?</Chinese>
@ -1266,7 +1266,7 @@
<Spanish>En cualquier sitio</Spanish>
<Italian>Ovunque</Italian>
<French>N'importe où</French>
<Japanese>だれでも</Japanese>
<Japanese>どこでも</Japanese>
<Korean>어디서나</Korean>
<Chinesesimp>任何地点</Chinesesimp>
<Chinese>任何地點</Chinese>
@ -1517,7 +1517,7 @@
<Czech>Je vozidlo klasifikováno jako opravárenské?</Czech>
<Italian>Il veicolo è classificato dome veicolo riparazioni?</Italian>
<French>Le véhicule est-il considéré comme un véhicule de réparation ?</French>
<Japanese>車両を修理車両と指定しますか</Japanese>
<Japanese>車両を修理車両と指定しますか?</Japanese>
<Korean>이 차량을 정비 차량으로 분류합니까?</Korean>
<Chinesesimp>此载具是维修载具吗?</Chinesesimp>
<Chinese>此載具是維修載具嗎?</Chinese>
@ -1607,7 +1607,7 @@
<Czech>Je objekt klasifikován jako opravárenské zařízení?</Czech>
<Italian>L'oggetto è classificato come struttura riparazioni?</Italian>
<French>L'objet est-il considéré comme une installation de réparation ?</French>
<Japanese>オブジェクトを修理施設として指定しますか</Japanese>
<Japanese>オブジェクトを修理施設として指定しますか?</Japanese>
<Korean>이 시설을 정비 시설로 분류합니까?</Korean>
<Chinesesimp>此设施是维修设施吗?</Chinesesimp>
<Chinese>此設施是維修設施嗎?</Chinese>
@ -1772,7 +1772,7 @@
<Czech>Položka vyžaduje odstraněná/vyměněná kola</Czech>
<Italian>Oggetti richiesti per riparare/rimuovere ruote</Italian>
<French>Items exigés pour enlever/remplacer les roues</French>
<Japanese>タイヤの除去と交換にアイテムを必要としますか</Japanese>
<Japanese>タイヤの除去と交換にアイテムを必要としますか?</Japanese>
<Korean>바퀴를 제거/교체하는데 필요한 물건</Korean>
<Chinesesimp>需要特定物品来移除/更换车轮</Chinesesimp>
<Chinese>需要特定物品來移除/更換車輪</Chinese>
@ -1796,18 +1796,22 @@
<Key ID="STR_ACE_Repair_editorLoadedTracks">
<English>Spare Tracks</English>
<German>Ersatzketten</German>
<Japanese>予備履帯</Japanese>
</Key>
<Key ID="STR_ACE_Repair_editorLoadedTracks_tooltip">
<English>Number of spare tracks in cargo.</English>
<German>Anzahl der Ersatzketten im Laderaum.</German>
<Japanese>カーゴ内にある予備履帯の数を指定します。</Japanese>
</Key>
<Key ID="STR_ACE_Repair_editorLoadedWheels">
<English>Spare Wheels</English>
<German>Ersatzreifen</German>
<Japanese>予備タイヤ</Japanese>
</Key>
<Key ID="STR_ACE_Repair_editorLoadedWheels_tooltip">
<English>Number of spare wheels in cargo.</English>
<German>Anzahl der Ersatzreifen im Laderaum.</German>
<Japanese>カーゴ内にある予備タイヤの数を指定します。</Japanese>
</Key>
</Package>
</Project>

View File

@ -24,8 +24,6 @@ if (isServer) then {
}] call CBA_fnc_addEventHandler;
};
[QGVAR(stageSpectator), FUNC(stageSpectator)] call CBA_fnc_addEventHandler;
// A virtual spectator cannot exist without an interface
if (hasInterface) then {
// Local player (not ACE_Player) must be initalized to check

View File

@ -21,7 +21,7 @@ class CfgPatches {
class CfgRespawnTemplates {
class ADDON {
displayName = CSTRING(DisplayName);
displayName = CSTRING(Module_DisplayName);
onPlayerKilled = QFUNC(respawnTemplate);
onPlayerRespawn = QFUNC(respawnTemplate);
respawnTypes[] = {1,2,3,4,5};

View File

@ -18,6 +18,14 @@ class CfgVehicles {
};
};
class ThingX;
class ACE_SpottingScope_Tube: ThingX {
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(DisplayName);
model = QPATHTOF(data\ace_spottingscope_tube.p3d);
};
class LandVehicle;
class StaticWeapon: LandVehicle {
class Turrets;
@ -74,6 +82,21 @@ class CfgVehicles {
getOutAction = "PlayerProne";
editorSubcategory = "EdSubcat_Turrets";
threat[] = {0.7, 0.3, 0};
accuracy = 0.12;
cost = 10000;
icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa";
class SpeechVariants {
class Default {
speechSingular[] = {"veh_infantry_SF_s"};
speechPlural[] = {"veh_infantry_SF_p"};
};
};
textSingular = "$STR_A3_nameSound_veh_infantry_SF_s";
textPlural = "$STR_A3_nameSound_veh_infantry_SF_p";
nameSound = "veh_infantry_SF_s";
class Turrets: Turrets {
class MainTurret: MainTurret {
minTurn = -45;
@ -123,6 +146,26 @@ class CfgVehicles {
opticsDisablePeripherialVision = 1;
};
};
// damage handling
armor = 80;
class Damage {
tex[] = {};
mat[] = {
QPATHTO_R(data\ace_spottingscope_metal.rvmat),
QPATHTO_R(data\ace_spottingscope_metal_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_metal_destruct.rvmat),
QPATHTO_R(data\ace_spottingscope_glass.rvmat),
QPATHTO_R(data\ace_spottingscope_glass_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_glass_destruct.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber_damage.rvmat)
};
};
editorPreview = QPATHTOF(data\preview_spottingscope.jpg);
};
class ACE_B_SpottingScope: ACE_SpottingScopeObject {
@ -152,6 +195,24 @@ class CfgVehicles {
crew = "I_spotter_F";
};
class ACE_B_T_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_B_T_SpottingScope";
scope = 2;
side = 1;
faction = "BLU_T_F";
crew = "B_T_Spotter_F";
};
class ACE_O_T_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_O_T_SpottingScope";
scope = 2;
side = 0;
faction = "OPF_T_F";
crew = "O_T_Spotter_F";
};
class Item_Base_F;
class ACE_Item_SpottingScope: Item_Base_F {
author[] = {"Rocko", "Scubaman3D"};
@ -159,6 +220,9 @@ class CfgVehicles {
scopeCurator = 2;
displayName = CSTRING(DisplayName);
vehicleClass = "Items";
editorCategory = "EdCat_Equipment";
editorSubcategory = "EdSubcat_InventoryItems";
editorPreview = QPATHTOF(data\preview_spottingscope.jpg);
class TransportItems {
MACRO_ADDITEM(ACE_SpottingScope,1);
};

View File

@ -6,4 +6,14 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
["ACE_SpottingScopeObject", "killed", {
params ["_wreck"];
private _tube = "ACE_SpottingScope_tube" createVehicle [0,0,0];
_tube setDir (getDir _wreck - 180);
_tube setPosASL AGLToASL (_wreck modelToWorld (_wreck selectionPosition "destructionEffect"));
_tube setVelocity [1 - random 2, 1 - random 2, 4];
_tube addTorque (vectorNormalized [1 - random 2, 1 - random 2, 1 - random 2] vectorMultiply 4);
}] call CBA_fnc_addClassEventHandler;
ADDON = true;

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {"ACE_B_SpottingScope", "ACE_O_SpottingScope", "ACE_I_SpottingScope", "ACE_Item_SpottingScope"};
units[] = {"ACE_B_SpottingScope", "ACE_O_SpottingScope", "ACE_I_SpottingScope", "ACE_B_T_SpottingScope", "ACE_O_T_SpottingScope", "ACE_Item_SpottingScope"};
weapons[] = {"ACE_SpottingScope"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_apl", "ace_interaction"};

View File

@ -1,96 +1,89 @@
class StageTI
{
texture="a3\data_f\Default_ti_ca.paa";
class StageTI {
texture = "a3\data_f\Default_ti_ca.paa";
};
ambient[]={0.301,0.63999999,0.68000001,1};
diffuse[]={0.301,0.63999999,0.68000001,1};
forcedDiffuse[]={0.2,0.34999999,0.2,0};
emmisive[]={0,0,0,1};
specular[]={0.67450982,0.64313728,0.50196081,1};
specularPower=550;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
ambient[] = {0.301,0.63999999,0.68000001,1};
diffuse[] = {0.301,0.63999999,0.68000001,1};
forcedDiffuse[] = {0.2,0.34999999,0.2,0};
emmisive[] = {0,0,0,1};
specular[] = {0.67450982,0.64313728,0.50196081,1};
specularPower = 550;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={6,0,0};
up[]={0,6,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform {
aside[] = {6,0,0};
up[] = {0,6,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
texture="#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,84 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.1,0.1,0.1,1};
specularPower = 1000;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "a3\data_f\destruct\damage_glass_laminated_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,2,0};
up[] = {-2,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)";
uvSource = "tex";
class uvTransform {
aside[] = {2,2,0};
up[] = {-2,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_glass_laminated_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage4 {
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,1};
};
};
class Stage5 {
texture = "a3\data_f\destruct\damage_glass_laminated_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.1,0.4)";
uvSource = "none";
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,78 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.1,0.1,0.1,1};
specularPower = 1000;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "a3\data_f\destruct\damage_glass_tempered_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,2,0};
up[] = {-2,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\damage_glass_tempered_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_glass_tempered_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage4 {
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,1};
pos[] = {0,0,1};
};
};
class Stage5 {
texture = "a3\data_f\destruct\damage_glass_tempered_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.1,0.4)";
uvSource = "none";
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@ -1,92 +1,85 @@
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.2,0.2,0.2,0};
specularPower=100;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.2,0.2,0.2,0};
specularPower = 100;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={6,0,0};
up[]={0,6,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform {
aside[] = {6,0,0};
up[] = {0,6,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
texture="#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,85 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.2,0.2,0.2,0};
specularPower = 100;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\damage_metal_cdt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {5,0,0};
up[] = {0,5,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_metal_mc.paa";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,0};
};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,85 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.2,0.2,0.2,0};
specularPower = 100;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\destruct_rust_cdt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {8,8,0};
up[] = {-8,8,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\destruct_rust_mca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -1,85 +1,79 @@
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.25,0.25,0.25,1};
specularPower=90;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.25,0.25,0.25,1};
specularPower = 90;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={6,0,0};
up[]={0,6,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform {
aside[] = {6,0,0};
up[] = {0,6,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
texture="z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(1.5,1.22)";
uvSource="none";
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.5,1.22)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,79 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.25,0.25,0.25,1};
specularPower = 90;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\destr_rubber_half_dt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {5,0,0};
up[] = {0,5,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,0};
};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.5,1.22)";
uvSource = "none";
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,10 @@
class CfgSkeletons
{
class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};
class ace_spottingscope_skeleton: Default {
isDiscrete = 1;
skeletonInherit = "Default";
@ -13,19 +13,23 @@ class CfgSkeletons
"main_gun","main_turret",
"leg_01","",
"leg_02","",
"leg_03",""
"leg_03","",
"hideTurret",""
};
};
};
class CfgModels {
class Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "";
};
class ace_spottingscope: Default {
skeletonName = "ace_spottingscope_skeleton";
sectionsInherit = "Default";
class animations {
class mainTurret {
type = "rotationY";
@ -51,20 +55,35 @@ class CfgModels {
type = "rotation";
source = "fold_legs";
selection = "leg_01";
axis="leg_01_axis";
axis = "leg_01_axis";
minValue = 0;
maxValue = 1;
angle0="rad +00";
angle1="rad +55";
angle0 = "rad +00";
angle1 = "rad +55";
};
class leg_02: leg_01 {
selection = "leg_02";
axis="leg_02_axis";
axis = "leg_02_axis";
};
class leg_03: leg_01 {
selection = "leg_03";
axis="leg_03_axis";
axis = "leg_03_axis";
};
class hideTube {
type = "hide";
source = "damage";
selection = "main_gun";
minValue = 0.0;
maxValue = 1.0;
hideValue = 1.0;
animPeriod = 0.0;
initPhase = 0.0;
};
};
};
class ace_spottingscope_tube: Default {
skeletonName = "ace_spottingscope_skeleton";
sectionsInherit = "Default";
};
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -40,7 +40,7 @@
<Key ID="STR_ACE_Tagging_QuickTagDesc">
<English>Action performed on main tag interaction point.</English>
<Russian>Действие, выполняемое при выборе главного пункта меню маркировки.</Russian>
<Japanese>インタラクション ポインにむけてタグ付けをします。</Japanese>
<Japanese>インタラクション ポインにむけてタグ付けをします。</Japanese>
<Polish>Akcja wykonywana na głównym punkcie interakcji tagu.</Polish>
<German>Aktion, die am Haupt-Interaktionspunkt ausgeführt werden soll.</German>
<Korean>이 동작은 상호작용에서 뿌리기를 할 수 있게 해준다</Korean>
@ -52,7 +52,7 @@
<Key ID="STR_ACE_Tagging_LastUsed">
<English>Last Used</English>
<Russian>Повторить последний</Russian>
<Japanese>最後の使用</Japanese>
<Japanese>前回と同じ</Japanese>
<Polish>Ostatnio użyte</Polish>
<German>Zuletzt benutzt</German>
<Korean>최근 사용</Korean>
@ -64,7 +64,7 @@
<Key ID="STR_ACE_Tagging_RandomX">
<English>Random X</English>
<Russian>Случайный Х</Russian>
<Japanese>無作為な X印</Japanese>
<Japanese>無作為なX印</Japanese>
<Polish>Losowy X</Polish>
<German>Zufällig X</German>
<Korean>무작위 X</Korean>
@ -110,7 +110,7 @@
<Czech>X černě</Czech>
<Portuguese>X em preto</Portuguese>
<Russian>Черный Х</Russian>
<Japanese>黒の X印</Japanese>
<Japanese>黒のX印</Japanese>
<Korean>검정 X</Korean>
<Chinesesimp>黑色X标记</Chinesesimp>
<Chinese>黑色X標記</Chinese>
@ -125,7 +125,7 @@
<Czech>X červeně</Czech>
<Portuguese>X em vermelho</Portuguese>
<Russian>Красный Х</Russian>
<Japanese>赤の X印</Japanese>
<Japanese>赤のX印</Japanese>
<Korean>빨간 X</Korean>
<Chinesesimp>红色X标记</Chinesesimp>
<Chinese>紅色X標記</Chinese>
@ -140,7 +140,7 @@
<Czech>X zeleně</Czech>
<Portuguese>X em verde</Portuguese>
<Russian>Зеленый Х</Russian>
<Japanese>緑の X印</Japanese>
<Japanese>緑のX印</Japanese>
<Korean>초록 X</Korean>
<Chinesesimp>绿色X标记</Chinesesimp>
<Chinese>綠色X標記</Chinese>
@ -155,7 +155,7 @@
<Czech>X modře</Czech>
<Portuguese>X em azul</Portuguese>
<Russian>Синий Х</Russian>
<Japanese>青の X印</Japanese>
<Japanese>青のX印</Japanese>
<Korean>파랑 X</Korean>
<Chinesesimp>蓝色X标记</Chinesesimp>
<Chinese>藍色X標記</Chinese>

View File

@ -215,7 +215,7 @@
<French>Retirement de la tranchée</French>
<Russian>Убирание окопа</Russian>
<Czech>Odstraňuji zákop</Czech>
<Japanese>塹壕を消してい</Japanese>
<Japanese>塹壕を消しています</Japanese>
<German>Entferne Schützengraben</German>
<Korean>참호 제거중...</Korean>
<Italian>Rimuovendo la Trincea</Italian>

View File

@ -48,7 +48,7 @@
<Portuguese>Permitir IU Selecionável</Portuguese>
<French>Permettre l'IU selective</French>
<Russian>Включить настраиваемый интерфейс</Russian>
<Japanese>選択できるユーザ インタフェイスを有効化します</Japanese>
<Japanese>UI 選択性を許可</Japanese>
<Polish>Zezwól na selektywne UI</Polish>
<German>Erlaube selektives UI</German>
<Korean>선택적 사용자 인터페이스 허가</Korean>
@ -555,7 +555,7 @@
<Portuguese>A modificação da interface do usuário está desabilitada.</Portuguese>
<French>Modifications de l'interface utilisateur désactivé.</French>
<Russian>Изменение пользовательского интерфейса запрещено.</Russian>
<Japanese>変更されたユーザ インタフェイスを無効化します。</Japanese>
<Japanese>ユーザ インタフェイスの変更は無効化されています。</Japanese>
<Polish>Modyfikacja interfejsu użytkownika jest wyłączona.</Polish>
<German>Die Modifizierung des UI ist deaktiviert.</German>
<Korean>사용자 인터페이스 변경이 비활성화 되어있습니다.</Korean>
@ -568,7 +568,7 @@
<Portuguese>Não é possível modificar um elemento forçado da interface do usuário.</Portuguese>
<French>Impossible de modifier un élément de l'interface utilisateur forcé.</French>
<Russian>Невозможно изменить зафиксированный элемент пользовательского интерфейса.</Russian>
<Japanese>ユーザー インタフェイス要素は変更できません。</Japanese>
<Japanese>ユーザー インタフェイス要素の強制はできません。</Japanese>
<Polish>Nie można modyfikować wymuszonego elementu interfejsu użytkownika.</Polish>
<German>Gesperrte UI-Elemente können nicht modifiziert werden.</German>
<Korean>강제 사용자 인터페이스는 변경하실 수 없습니다.</Korean>

View File

@ -22,7 +22,7 @@
params ["_logic", "_units", "_activated"];
if (_activated) then {
_explosive = gettext (configFile >> "CfgVehicles" >> typeOf _logic >> "explosive");
_explosive = gettext (configfile >> "cfgvehicles" >> typeof _logic >> "explosive");
if (_explosive != "") then {
_explosive = createvehicle [_explosive,position _logic,[],0,"none"];
_explosive attachto [_logic];
@ -44,7 +44,7 @@ if (_activated) then {
//--- Show hint to curator who placed the object
[[["Curator","PlaceMines"],nil,nil,nil,nil,nil,nil,true],"bis_fnc_advHint",_logic] call bis_fnc_mp;
waitUntil {sleep 0.1; isnull _explosive || isnull _logic || !alive _logic};
waituntil {sleep 0.1; isnull _explosive || isnull _logic || !alive _logic};
if (isnull _logic) then {deletevehicle _explosive;} else {_explosive setdamage 1;};
deletevehicle _logic;
};

View File

@ -20,33 +20,30 @@
#include "script_component.hpp"
_fnc_scriptNameParentTemp = if !(isNil '_fnc_scriptName') then {_fnc_scriptName} else {'BIS_fnc_moduleProjectile'};
private _fnc_scriptNameParent = _fnc_scriptNameParentTemp;
_fnc_scriptNameParentTemp = nil;
private _fnc_scriptName = 'BIS_fnc_moduleProjectile';
scriptname _fnc_scriptName;
params ["_logic", "_units", "_activated"];
_logic = _this select 0;
_units = _this select 1;
_activated = _this select 2;
if ({local _x} count (objectcurators _logic) > 0) then {
//--- Reveal the circle to curators
_logic hideobject false;
_logic setpos position _logic;
};
if !(isserver) exitWith {};
if !(isserver) exitwith {};
if (_activated) then {
_ammo = _logic getVariable ["type",gettext (configFile >> "CfgVehicles" >> typeOf _logic >> "ammo")];
_ammo = _logic getvariable ["type",gettext (configfile >> "cfgvehicles" >> typeof _logic >> "ammo")];
if (_ammo != "") then {
_CfgAmmo = configFile >> "CfgAmmo" >> _ammo;
_dirVar = _fnc_scriptname + typeOf _logic;
_logic setdir (missionnamespace getVariable [_dirVar,direction _logic]); //--- Restore custom direction
_cfgAmmo = configfile >> "cfgammo" >> _ammo;
//if !(isclass _cfgAmmo) exitwith {["CfgAmmo class '%1' not found.",_ammo] call bis_fnc_error;};
// It seems BI broke this part...
// _dirVar = _fnc_scriptname + typeof _logic;
// _logic setdir (missionnamespace getvariable [_dirVar,direction _logic]); //--- Restore custom direction
_pos = getposatl _logic;
_posAmmo = +_pos;
_posAmmo set [2,0];
_dir = direction _logic;
_simulation = tolower gettext (configFile >> "CfgAmmo" >> _ammo >> "simulation");
_simulation = tolower gettext (configfile >> "cfgammo" >> _ammo >> "simulation");
_altitude = 0;
_velocity = [];
_attach = false;
@ -107,15 +104,15 @@ if (_activated) then {
};
};
};
} forEach _entities;
} foreach _entities;
};
};
if (count _hint > 0 && {count objectCurators _logic > 0}) then {
if (count _hint > 0 && {count objectcurators _logic > 0}) then {
[[_hint,nil,nil,nil,nil,nil,nil,true],"bis_fnc_advHint",objectcurators _logic] call bis_fnc_mp;
};
if (count _velocity == 3) then {
_altitude = (_logic getVariable ["altitude",_altitude]) call bis_fnc_parsenumber;
_radio = _logic getVariable ["radio",_radio];
_altitude = (_logic getvariable ["altitude",_altitude]) call bis_fnc_parsenumber;
_radio = _logic getvariable ["radio",_radio];
//--- Create projectile
_posAmmo set [2,_altitude];
@ -124,7 +121,7 @@ if (_activated) then {
_projectile setvelocity _velocity;
if (_attach) then {_projectile attachto [_logic,[0,0,_altitude]];};
// Added by ace_zeus for ace_frag compatibility
// Added by ace_zeus for ace_frag compatibility
if (!isNil QEFUNC(frag,addPfhRound)) then {
[objNull, _ammo, _projectile, true] call EFUNC(frag,addPfhRound);
};
@ -143,13 +140,13 @@ if (_activated) then {
//--- Update
if (_attach) then {
waitUntil {
waituntil {
_soundSource setposatl getposatl _projectile;
sleep 1;
isnull _projectile || isnull _logic
};
} else {
waitUntil {
waituntil {
_soundSource setposatl getposatl _projectile;
if (getposatl _logic distance _pos > 0 || direction _logic != _dir) then {
@ -161,7 +158,7 @@ if (_activated) then {
_projectile setposasl _posNew;
_pos = getposatl _logic;
_dir = direction _logic;
missionnamespace setVariable [_dirVar,_dir];
missionnamespace setvariable [_dirVar,_dir];
};
sleep 0.1;
isnull _projectile || isnull _logic
@ -180,7 +177,7 @@ if (_activated) then {
} else {
//--- Repeat to achieve permanent effect
_repeat = _logic getVariable ["repeat",0] > 0;
_repeat = _logic getvariable ["repeat",0] > 0;
if (_repeat) then {
[_logic,_units,_activated] call bis_fnc_moduleprojectile;
} else {
@ -191,6 +188,6 @@ if (_activated) then {
deletevehicle _logic;
};
} else {
["Cannot create projectile, 'ammo' config attribute is missing in %1",typeOf _logic] call bis_fnc_error;
["Cannot create projectile, 'ammo' config attribute is missing in %1",typeof _logic] call bis_fnc_error;
};
};

View File

@ -34,13 +34,16 @@ if (_activated && local _logic && !isnull curatorcamera) then {
if ((_mouseOver select 0) == typename objnull) then {_unit = _mouseOver select 1;};
_unit = effectivecommander _unit;
//--- Temp owner
private _tempOwner = _unit getvariable ["bis_fnc_moduleRemoteControl_owner", objnull];
//--- Check if the unit is suitable
_error = "";
if !(side group _unit in [east,west,resistance,civilian]) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorEmpty";};
if (isplayer _unit) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorPlayer";};
if !(alive _unit) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorDestroyed";};
if (isnull _unit) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorNull";};
if !(isnull (_unit getvariable ["bis_fnc_moduleRemoteControl_owner",objnull])) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorControl";};
if (!isnull _tempOwner && {_tempOwner in allPlayers}) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorControl";};
if (isuavconnected vehicle _unit) then {_error = localize "str_a3_cfgvehicles_moduleremotecontrol_f_errorControl";};
if (_error == "") then {

View File

@ -40,8 +40,8 @@ GVAR(moduleDestination_displayEHMouse) = [findDisplay 312, "mouseButtonDown", {
params ["", "_mouseButton", "", "", "_shift", "_ctrl", "_alt"];
if (_mouseButton != 0) exitWith {}; // Only watch for LMB
TRACE_2("placed",_object,_mousePosASL);
//IGNORE_PRIVATE_WARNING ["_thisArgs"]
_thisArgs params ["_object", "_code"];
// Get mouse position on 2D map or 3D world
@ -52,6 +52,7 @@ GVAR(moduleDestination_displayEHMouse) = [findDisplay 312, "mouseButtonDown", {
} else {
AGLToASL (screenToWorld getMousePosition);
};
TRACE_2("placed",_object,_mousePosASL);
[true, _object, _mousePosASL, _shift, _ctrl, _alt] call _code;
GVAR(moduleDestination_running) = false;
@ -62,8 +63,8 @@ GVAR(moduleDestination_displayEHKeyboard) = [findDisplay 312, "KeyDown", {
params ["", "_keyCode", "_shift", "_ctrl", "_alt"];
if (_keyCode != 1) exitWith {}; // Only watch for ESC
TRACE_2("aborted",_object,_mousePosASL);
//IGNORE_PRIVATE_WARNING ["_thisArgs"]
_thisArgs params ["_object", "_code"];
// Get mouse position on 2D map or 3D world
@ -74,6 +75,7 @@ GVAR(moduleDestination_displayEHKeyboard) = [findDisplay 312, "KeyDown", {
} else {
AGLToASL (screenToWorld getMousePosition);
};
TRACE_2("aborted",_object,_mousePosASL);
[false, _object, _mousePosASL, _shift, _ctrl, _alt] call _code;
GVAR(moduleDestination_running) = false;
@ -83,6 +85,7 @@ GVAR(moduleDestination_displayEHKeyboard) = [findDisplay 312, "KeyDown", {
// Add draw EH for the zeus map - draws the 2D icon and line
GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", {
params ["_mapCtrl"];
//IGNORE_PRIVATE_WARNING ["_thisArgs"]
_thisArgs params ["_object", "_text", "_icon", "_color"];
private _pos2d = (((findDisplay 312) displayCtrl 50) ctrlMapScreenToWorld getMousePosition);

View File

@ -25,27 +25,23 @@
if !(isClass (configFile >> "ACE_Curator")) exitWith { ERROR("The ACE_Curator class does not exist") };
params ["_logic"];
private _removeAddons = [];
private _numCfgs = count (configFile >> "ACE_Curator");
for "_n" from 0 to (_numCfgs - 1) do {
private _cfg = (configFile >> "ACE_Curator") select _n;
if (isArray _cfg) then {
_requiredAddon = getArray _cfg;
{
private _addon = _x;
if (isArray _addon) then {
{
if !(isClass (configFile >> "CfgPatches" >> _x)) exitWith {
_removeAddons pushBack (configName _cfg);
_removeAddons pushBack (configName _addon);
};
} forEach _requiredAddon;
} forEach (getArray _addon);
};
if (isText _cfg) then {
_requiredAddon = getText _cfg;
if !(isClass (configFile >> "CfgPatches" >> _requiredAddon)) then {
_removeAddons pushBack (configName _cfg);
if (isText _addon) then {
if !(isClass (configFile >> "CfgPatches" >> getText _addon)) then {
_removeAddons pushBack (configName _addon);
};
};
};
} forEach configProperties [configFile >> "ACE_Curator"];
_logic removeCuratorAddons _removeAddons;

View File

@ -17,9 +17,9 @@
*/
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && {local _logic}) exitWith {};
if !(local _logic) exitWith {};
if !(["ace_fastroping"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -17,9 +17,9 @@
*/
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -17,9 +17,9 @@
*/
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if (isNil QEFUNC(captives,setHandcuffed)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -19,9 +19,9 @@
if (canSuspend) exitWith {[FUNC(moduleConfigurePylons), _this] call CBA_fnc_directCall;};
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && {local _logic}) exitWith {};
if !(local _logic) exitWith {};
private _aircraft = attachedTo _logic;

View File

@ -17,8 +17,8 @@
#include "script_component.hpp"
_this params ["_varName","_varValue"];
_varValue params ["_general","_accuracy","_handling","_spotting","_cover","_combat"];
params ["_varName", "_varValue"];
_varValue params ["_general", "_accuracy", "_handling", "_spotting", "_cover", "_combat"];
TRACE_1("Params",_this);
TRACE_6("AI settings updated",GVAR(GlobalSkillAI));

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
params ["_unit","_newSide"];
params ["_unit", "_newSide"];
private _side = side _unit;
// Nothing to do here

View File

@ -19,9 +19,9 @@
if (canSuspend) exitWith {[FUNC(moduleLoadIntoCargo), _this] call CBA_fnc_directCall;};
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && {local _logic}) exitWith {};
if !(local _logic) exitWith {};
private _cargo = attachedTo _logic;

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic","_units","_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
//Validate the module target:
private _unit = effectiveCommander (attachedTo _logic);

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if !(["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if !(["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if !(["ACE_Medical"] call EFUNC(common,isModLoaded)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if (isNil QEFUNC(captives,setSurrendered)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -18,9 +18,9 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
params ["_logic"];
if !(_activated && local _logic) exitWith {};
if !(local _logic) exitWith {};
if (isNil QEFUNC(medical,setUnconscious)) then {
[LSTRING(RequiresAddon)] call FUNC(showMessage);

View File

@ -18,9 +18,7 @@
#include "script_component.hpp"
params ["_logic", "_units", "_activated"];
if !(_activated) exitWith {};
params ["_logic"];
[_logic, QGVAR(zeusAscension), "zeusAscension"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(zeusBird), "zeusBird"] call EFUNC(common,readSettingFromModule);

View File

@ -48,7 +48,7 @@ private _fnc_onDraw = {
};
private _fnc_onMapClick = {
params ["_map","_button","_x","_y","_shift","_ctrl","_alt"];
params ["_map","_button"];
if (_button == 0) then {
private _display = ctrlParent _map;

View File

@ -115,7 +115,7 @@ private _fnc_onUnload = {
};
private _fnc_onConfirm = {
params [["_ctrlButtonOK", controlNull, [controlNull]]];
params ["_ctrlButtonOK"];
private _display = ctrlparent _ctrlButtonOK;
if (isNull _display) exitWith {};

View File

@ -126,18 +126,7 @@ private _fnc_onConfirm = {
private _target = _combo2 lbValue (lbCurSel _combo2);
private _gear = _combo3 lbValue (lbCurSel _combo3);
_toggle = [
false,
true
] select (_toggle == 1);
_gear = [
false,
true
] select (_gear == 1);
[_logic, _toggle, _gear, _target] call FUNC(moduleToggleFlashlight);
[_logic, _toggle == 1, _gear == 1, _target] call FUNC(moduleToggleFlashlight);
};
_display displayAddEventHandler ["unload", _fnc_onUnload];

View File

@ -115,12 +115,7 @@ private _fnc_onConfirm = {
private _toggle = _combo1 lbValue (lbCurSel _combo1);
private _target = _combo2 lbValue (lbCurSel _combo2);
private _toggle = [
false,
true
] select (_toggle == 1);
[_logic, _toggle, _target] call FUNC(moduleToggleNvg);
[_logic, _toggle == 1, _target] call FUNC(moduleToggleNvg);
};
_display displayAddEventHandler ["unload", _fnc_onUnload];