Merge branch 'master' into release

This commit is contained in:
PabstMirror 2015-12-31 20:27:26 -06:00
commit fb0738bd30
293 changed files with 1477 additions and 1156 deletions

View File

@ -1,6 +1,7 @@
branches: branches:
only: only:
- master - master
- release
language: python language: python
python: python:
- '3.4' - '3.4'
@ -19,12 +20,10 @@ env:
- secure: KcJQbknBOdC5lA4nFGKPXVRVIGLDXDRzC8XkHuXJCE9pIR/wbxbkvx8fHKcC6SC9eHgzneC3+o4m4+CjIbVvIwDgslRbJ8Y59i90ncONmdoRx1HUYHwuYWVZm9HJFjCsIbrEqhSyyKS+PB3WZVOLbErtNHsgS8f43PTh5Ujg7Vg= - secure: KcJQbknBOdC5lA4nFGKPXVRVIGLDXDRzC8XkHuXJCE9pIR/wbxbkvx8fHKcC6SC9eHgzneC3+o4m4+CjIbVvIwDgslRbJ8Y59i90ncONmdoRx1HUYHwuYWVZm9HJFjCsIbrEqhSyyKS+PB3WZVOLbErtNHsgS8f43PTh5Ujg7Vg=
notifications: notifications:
slack: slack:
secure: aWYF/YX7vxEdXJ5w1jhYJQ2TtTP2NRdnXzJDMYXTv2dlXYhO9qp2qjxDGW3dezuPY7B1mPBgebfSKRx3Robkt1rAfEwPWivOiEztL30rwzOy+5Q1wpORv1JkvTC/q2wqQzxQCU/FPVjD2GkF1wtq1Rnx3ESWD8gbvzYoMNdIw1g=
on_success: change
on_failure: always
on_start: never
rooms: rooms:
secure: MvxmqL1NGwiGTVv6uIVTM7jeNLQH95KYtTgSWlXaSw4jdjnf4cmrb/ofHQ3FHhhNVdhRN6W8n0cJfTC3DBZ90bionVh+528qw2mDnDbKljVdIwmoFSexBcH7H1uTLF3gsEz0tbrHtLcnAyTMxdjsdIXDLZ5hwxABNmW5/03jOgs= - secure: byZMNBl8PMlgjT9NA1WmhgCdGfX4b3g1kA0vEiwfm+IFNlx7BiM4J/5rp6zV/jV470xl/epAejx2tsa5SdTyFbO87NH63ILJSt5QnjUZjRuGKSutFs9WE671DtZkPRSJXHS4N6x802PRkyBz/84/lsc34FWvHvjwOuYAtOcJRFk=
- secure: V22TNaLWV+yUNWqR7c6HVvIxkRDz7Dyz9xqa43FY8iFgvNL4Q/X69h5DYHU/ILNFM00tx8OBjtPRbcjWQ+F6eY8Sje/A2axJAU+qNurAvoyiTahXUprdUUpPdkgXWuSRTZ9kALxOq5e11RC8XUietghoMcl8zPcqdrZCOOKgoEM=
on_success: change
email: email:
on_success: never on_success: never
on_failure: change on_failure: change

View File

@ -54,7 +54,7 @@ Crusty
Dharma Bellamkonda <dharma.bellamkonda@gmail.com> Dharma Bellamkonda <dharma.bellamkonda@gmail.com>
Dimaslg <dimaslg@telecable.es> Dimaslg <dimaslg@telecable.es>
Drill <drill87@gmail.com> Drill <drill87@gmail.com>
Dudakov <dudakov.s@gmail.com> Dudakov aka [OMCB]Kaban <dudakov.s@gmail.com>
Dslyecxi <dslyecxi@gmail.com> Dslyecxi <dslyecxi@gmail.com>
eRazeri eRazeri
evromalarkey <evromalarkey@gmail.com> evromalarkey <evromalarkey@gmail.com>

View File

@ -7,7 +7,7 @@
<img src="https://img.shields.io/badge/Version-3.4.1-blue.svg?style=flat-square" alt="ACE3 Version"> <img src="https://img.shields.io/badge/Version-3.4.1-blue.svg?style=flat-square" alt="ACE3 Version">
</a> </a>
<a href="https://github.com/acemod/ACE3/releases/download/v3.4.1/ace3_3.4.1.zip"> <a href="https://github.com/acemod/ACE3/releases/download/v3.4.1/ace3_3.4.1.zip">
<img src="https://img.shields.io/badge/Download-65.7_MB-green.svg?style=flat-square" alt="ACE3 Download"> <img src="https://img.shields.io/badge/Download-72.6_MB-green.svg?style=flat-square" alt="ACE3 Download">
</a> </a>
<a href="https://github.com/acemod/ACE3/issues"> <a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues"> <img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">

View File

@ -36,7 +36,7 @@ GVAR(Protractor) = true;
if !(GVAR(Protractor) && !(weaponLowered ACE_player) && currentWeapon ACE_player == primaryWeapon ACE_player) exitWith { if !(GVAR(Protractor) && !(weaponLowered ACE_player) && currentWeapon ACE_player == primaryWeapon ACE_player) exitWith {
GVAR(Protractor) = false; GVAR(Protractor) = false;
1 cutText ["", "PLAIN"]; 1 cutText ["", "PLAIN"];
[_idPFH] call cba_fnc_removePerFrameHandler; [_idPFH] call CBA_fnc_removePerFrameHandler;
}; };
1 cutRsc ["RscProtractor", "PLAIN", 1, false]; 1 cutRsc ["RscProtractor", "PLAIN", 1, false];

View File

@ -12,11 +12,7 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
private "_deleted"; private _aceTimeSecond = floor ACE_time;
_deleted = 0;
_aceTimeSecond = floor ACE_time;
{ {
private ["_bulletVelocity", "_bulletPosition", "_bulletSpeed"]; private ["_bulletVelocity", "_bulletPosition", "_bulletSpeed"];

View File

@ -54,7 +54,7 @@ if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "CfgWeapons" >> _wea
if (_abort || !(GVAR(extensionAvailable))) exitWith { if (_abort || !(GVAR(extensionAvailable))) exitWith {
if (missionNamespace getVariable [QEGVAR(windDeflection,enabled), false]) then { if (missionNamespace getVariable [QEGVAR(windDeflection,enabled), false]) then {
EGVAR(windDeflection,trackedBullets) pushBack [_bullet, getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction")]; EGVAR(windDeflection,trackedBullets) pushBack [_bullet, getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction")];
}; };
}; };

View File

@ -40,7 +40,7 @@ GVAR(currentGrid) = 0;
#ifdef DEBUG_MODE_FULL #ifdef DEBUG_MODE_FULL
systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(ACE_time - _initStartTime)]; systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(ACE_time - _initStartTime)];
#endif #endif
[_idPFH] call cba_fnc_removePerFrameHandler; [_idPFH] call CBA_fnc_removePerFrameHandler;
}; };
for "_i" from 1 to 50 do { for "_i" from 1 to 50 do {

View File

@ -54,7 +54,7 @@ GVAR(active) = true;
GVAR(DialogPFH) = [{ GVAR(DialogPFH) = [{
if (!GVAR(active)) exitWith { if (!GVAR(active)) exitWith {
[_this select 1] call cba_fnc_removePerFrameHandler; [_this select 1] call CBA_fnc_removePerFrameHandler;
}; };
__ctrlBackground ctrlSetText format [QUOTE(PATHTOF(UI\ATRAG_%1.paa)), ["N", "D"] select (call EFUNC(common,ambientBrightness))]; __ctrlBackground ctrlSetText format [QUOTE(PATHTOF(UI\ATRAG_%1.paa)), ["N", "D"] select (call EFUNC(common,ambientBrightness))];
}, 60, []] call CBA_fnc_addPerFrameHandler; }, 60, []] call CBA_fnc_addPerFrameHandler;

View File

@ -2,4 +2,4 @@
uiNamespace setVariable ['ATragMX_Display', nil]; uiNamespace setVariable ['ATragMX_Display', nil];
GVAR(active) = false; GVAR(active) = false;
[GVAR(DialogPFH)] call cba_fnc_removePerFrameHandler; [GVAR(DialogPFH)] call CBA_fnc_removePerFrameHandler;

View File

@ -37,7 +37,7 @@ if !(ctrlVisible 9000) then {
false call FUNC(show_target_speed_assist_timer); false call FUNC(show_target_speed_assist_timer);
true call FUNC(show_target_speed_assist); true call FUNC(show_target_speed_assist);
[_this select 1] call cba_fnc_removePerFrameHandler; [_this select 1] call CBA_fnc_removePerFrameHandler;
}; };
ctrlSetText [9001, Str(Round((ACE_time - _startTime) * 10) / 10)]; ctrlSetText [9001, Str(Round((ACE_time - _startTime) * 10) / 10)];

View File

@ -61,7 +61,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
priority = 5; priority = 5;
icon = PATHTOF(UI\attach_ca.paa); icon = PATHTOF(UI\attach_ca.paa);
// hotkey = "T";
}; };
class GVAR(Detach) { class GVAR(Detach) {
displayName = CSTRING(Detach); displayName = CSTRING(Detach);
@ -71,7 +70,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
priority = 5; priority = 5;
icon = PATHTOF(UI\detach_ca.paa); icon = PATHTOF(UI\detach_ca.paa);
hotkey = "T";
}; };
}; };
}; };

View File

@ -10,7 +10,7 @@
* Arguments: * Arguments:
* 0: Unit (player) <OBJECT> * 0: Unit (player) <OBJECT>
* 1: attachToVehicle <OBJECT> * 1: attachToVehicle <OBJECT>
* 2: Item Classname (cfgWeapon/cfgMagazine) <STRING> * 2: Item Classname (CfgWeapon/CfgMagazine) <STRING>
* 3: Light Vehicle Classname <STRING> * 3: Light Vehicle Classname <STRING>
* 4: On Attach Text <STRING> * 4: On Attach Text <STRING>
* 5: Starting Pos of dummy item <ARRAY> * 5: Starting Pos of dummy item <ARRAY>

View File

@ -32,7 +32,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
icon = QUOTE(PATHTOF(UI\captive_ca.paa)); icon = QUOTE(PATHTOF(UI\captive_ca.paa));
priority = 2.3; priority = 2.3;
hotkey = "E";
}; };
class ACE_StopEscorting { class ACE_StopEscorting {
displayName = CSTRING(StopEscorting); displayName = CSTRING(StopEscorting);
@ -43,7 +42,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
icon = QUOTE(PATHTOF(UI\captive_ca.paa)); icon = QUOTE(PATHTOF(UI\captive_ca.paa));
priority = 2.3; priority = 2.3;
hotkey = "E";
}; };
class ACE_LoadCaptive { class ACE_LoadCaptive {
displayName = CSTRING(LoadCaptive); displayName = CSTRING(LoadCaptive);
@ -54,7 +52,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
icon = QUOTE(PATHTOF(UI\captive_ca.paa)); icon = QUOTE(PATHTOF(UI\captive_ca.paa));
priority = 2.2; priority = 2.2;
hotkey = "L";
}; };
class GVAR(UnloadCaptive) { class GVAR(UnloadCaptive) {
displayName = CSTRING(UnloadCaptive); displayName = CSTRING(UnloadCaptive);
@ -74,7 +71,6 @@ class CfgVehicles {
exceptions[] = {"isNotEscorting"}; exceptions[] = {"isNotEscorting"};
showDisabled = 0; showDisabled = 0;
priority = 2.3; priority = 2.3;
hotkey = "C";
}; };
class ACE_StartSurrenderingSelf { class ACE_StartSurrenderingSelf {
displayName = CSTRING(StartSurrendering); displayName = CSTRING(StartSurrendering);
@ -165,7 +161,7 @@ class CfgVehicles {
description = CSTRING(ModuleSurrender_Description); description = CSTRING(ModuleSurrender_Description);
sync[] = {"AnyAI"}; sync[] = {"AnyAI"};
}; };
}; };
class GVAR(ModuleHandcuffed): Module_F { class GVAR(ModuleHandcuffed): Module_F {
author = ECSTRING(common,ACETeam); author = ECSTRING(common,ACETeam);
category = "ACE"; category = "ACE";

View File

@ -45,7 +45,7 @@ if (_state) then {
}; };
if (!(_unit getVariable [QGVAR(isEscorting), false])) then { if (!(_unit getVariable [QGVAR(isEscorting), false])) then {
[(_this select 1)] call cba_fnc_removePerFrameHandler; [(_this select 1)] call CBA_fnc_removePerFrameHandler;
[objNull, _target, false] call EFUNC(common,claim); [objNull, _target, false] call EFUNC(common,claim);
detach _target; detach _target;
_unit removeAction _actionID; _unit removeAction _actionID;

View File

@ -19,7 +19,7 @@
params ["_unit","_state"]; params ["_unit","_state"];
TRACE_2("params",_unit,_state); TRACE_2("params",_unit,_state);
if (!local _unit) exitwith { if (!local _unit) exitWith {
ERROR("running setHandcuffed on remote unit"); ERROR("running setHandcuffed on remote unit");
}; };
if ((_unit getVariable [QGVAR(isHandcuffed), false]) isEqualTo _state) exitWith { if ((_unit getVariable [QGVAR(isHandcuffed), false]) isEqualTo _state) exitWith {

View File

@ -19,7 +19,7 @@
params ["_unit","_state"]; params ["_unit","_state"];
TRACE_2("params",_unit,_state); TRACE_2("params",_unit,_state);
if (!local _unit) exitwith { if (!local _unit) exitWith {
ERROR("running surrender on remote unit"); ERROR("running surrender on remote unit");
}; };

View File

@ -17,4 +17,4 @@
params ["_object"]; params ["_object"];
_object getVariable [QGVAR(space), getNumber (configFile >> "CfgVehicles" >> typeof _object >> QGVAR(space))] _object getVariable [QGVAR(space), getNumber (configFile >> "CfgVehicles" >> typeOf _object >> QGVAR(space))]

View File

@ -24,7 +24,7 @@ private ["_loaded", "_space", "_itemSize"];
if !([_item, _vehicle] call FUNC(canLoadItemIn)) exitWith {false}; if !([_item, _vehicle] call FUNC(canLoadItemIn)) exitWith {false};
_loaded = _vehicle getVariable [QGVAR(loaded), []]; _loaded = _vehicle getVariable [QGVAR(loaded), []];
_loaded pushback _item; _loaded pushBack _item;
_vehicle setVariable [QGVAR(loaded), _loaded, true]; _vehicle setVariable [QGVAR(loaded), _loaded, true];
TRACE_1("added to loaded array",_loaded); TRACE_1("added to loaded array",_loaded);

View File

@ -23,7 +23,7 @@ _vehicle = [_player] call FUNC(findNearestVehicle);
if (isNull _vehicle || _vehicle isKindOf "Cargo_Base_F") then { if (isNull _vehicle || _vehicle isKindOf "Cargo_Base_F") then {
{ {
if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_vehicle = _x}; if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_vehicle = _x};
} foreach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]); } forEach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]);
}; };
if (isNull _vehicle) exitWith {false}; if (isNull _vehicle) exitWith {false};

View File

@ -110,24 +110,28 @@
<Portuguese>Carregando carga</Portuguese> <Portuguese>Carregando carga</Portuguese>
<Polish>Ładowanie cargo</Polish> <Polish>Ładowanie cargo</Polish>
<Czech>Nakládám</Czech> <Czech>Nakládám</Czech>
<Russian>Погрузка</Russian>
</Key> </Key>
<Key ID="STR_ACE_Cargo_UnloadingItem"> <Key ID="STR_ACE_Cargo_UnloadingItem">
<English>Unloading Cargo</English> <English>Unloading Cargo</English>
<Portuguese>Descarregando carga</Portuguese> <Portuguese>Descarregando carga</Portuguese>
<Polish>Rozładowywanie cargo</Polish> <Polish>Rozładowywanie cargo</Polish>
<Czech>Vykládám</Czech> <Czech>Vykládám</Czech>
<Russian>Выгрузка</Russian>
</Key> </Key>
<Key ID="STR_ACE_Cargo_LoadingFailed"> <Key ID="STR_ACE_Cargo_LoadingFailed">
<English>%1&lt;br/&gt;could not be loaded</English> <English>%1&lt;br/&gt;could not be loaded</English>
<Portuguese>%1&lt;br/&gt;não pode ser carregado</Portuguese> <Portuguese>%1&lt;br/&gt;não pode ser carregado</Portuguese>
<Polish>%1&lt;br/&gt;nie mógł zostać załadowany</Polish> <Polish>%1&lt;br/&gt;nie mógł zostać załadowany</Polish>
<Czech>%1&lt;br/&gt;nemůže být naloženo</Czech> <Czech>%1&lt;br/&gt;nemůže být naloženo</Czech>
<Russian>%1&lt;br/&gt;не может быть погружен</Russian>
</Key> </Key>
<Key ID="STR_ACE_Cargo_UnloadingFailed"> <Key ID="STR_ACE_Cargo_UnloadingFailed">
<English>%1&lt;br/&gt;could not be unloaded</English> <English>%1&lt;br/&gt;could not be unloaded</English>
<Portuguese>%1&lt;br/&gt;não pode ser descarregado</Portuguese> <Portuguese>%1&lt;br/&gt;não pode ser descarregado</Portuguese>
<Polish>%1&lt;br/&gt;nie mógł zostać rozładowany</Polish> <Polish>%1&lt;br/&gt;nie mógł zostać rozładowany</Polish>
<Czech>%1&lt;br/&gt;nemůže být vyloženo</Czech> <Czech>%1&lt;br/&gt;nemůže být vyloženo</Czech>
<Russian>%1&lt;br/&gt;не может быть выгружен</Russian>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -41,7 +41,7 @@ class GVAR(ProgressBar_Dialog) {
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
colorFrame[] = {1,1,1,0.5}; colorFrame[] = {1,1,1,0.5};
colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; colorBar[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.77])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.51])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.08])","(profilenamespace getVariable ['GUI_BCG_RGB_A',0.8])"};
texture = "#(argb,8,8,3)color(1,1,1,0.7)"; texture = "#(argb,8,8,3)color(1,1,1,0.7)";
}; };
class TitleText: TitleBackground { class TitleText: TitleBackground {

View File

@ -107,6 +107,10 @@ class RscInGameUI {
class RscOptics_LaserDesignator_02 { class RscOptics_LaserDesignator_02 {
onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent););
}; };
class RscStaminaBar {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscStaminaBar"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgStaminaBar)),_this select 0)]);
};
}; };
class RscDisplayInventory { class RscDisplayInventory {
@ -115,18 +119,18 @@ class RscDisplayInventory {
// map // map
class RscDisplayMainMap { class RscDisplayMainMap {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Ingame')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Ingame')])] call FUNC(localEvent););
}; };
class RscDisplayGetReady: RscDisplayMainMap { class RscDisplayGetReady: RscDisplayMainMap {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Briefing')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Briefing')])] call FUNC(localEvent););
}; };
class RscDisplayServerGetReady: RscDisplayGetReady { class RscDisplayServerGetReady: RscDisplayGetReady {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ServerBriefing')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ServerBriefing')])] call FUNC(localEvent););
}; };
class RscDisplayClientGetReady: RscDisplayGetReady { class RscDisplayClientGetReady: RscDisplayGetReady {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ClientBriefing')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ClientBriefing')])] call FUNC(localEvent););
}; };

View File

@ -74,6 +74,7 @@ PREP(getNumberFromMissionSQM);
PREP(getNumberMagazinesIn); PREP(getNumberMagazinesIn);
PREP(getPitchBankYaw); PREP(getPitchBankYaw);
PREP(getSettingData); PREP(getSettingData);
PREP(getStaminaBarControl);
PREP(getStringFromMissionSQM); PREP(getStringFromMissionSQM);
PREP(getTargetAzimuthAndInclination); PREP(getTargetAzimuthAndInclination);
PREP(getTargetDistance); PREP(getTargetDistance);

View File

@ -88,7 +88,7 @@ class CfgUIGrids {
// check dll // check dll
class RscStandardDisplay; class RscStandardDisplay;
class RscDisplayMain: RscStandardDisplay { class RscDisplayMain: RscStandardDisplay {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage));
}; };
*/ */

View File

@ -116,9 +116,9 @@ class ACE_gui_editBase
}; };
colorSelection[] = colorSelection[] =
{ {
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getVariable ['GUI_BCG_RGB_R',0.3843])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getVariable ['GUI_BCG_RGB_G',0.7019])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getVariable ['GUI_BCG_RGB_B',0.8862])",
1 1
}; };
autocomplete = ""; autocomplete = "";
@ -249,7 +249,7 @@ class ACE_gui_listBoxBase : RscListBox{
colorSelect2[] = {0.95, 0.95, 0.95, 1}; colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 1}; colorSelectBackground[] = {0, 0, 0, 1};
colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0}; colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25}; colorDisabled[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])", 0.25};
period = 1.2; period = 1.2;
rowHeight = 0.03; rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 1}; colorBackground[] = {0, 0, 0, 1};
@ -505,7 +505,7 @@ onMouseButtonDblClick = "";
iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa"; iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa"; iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa"; iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"}; color[] = {"(profilenamespace getVariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getVariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getVariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getVariable ['IGUI_TEXT_RGB_A',0.8])"};
colorCreated[] = {1,1,1,1}; colorCreated[] = {1,1,1,1};
colorCanceled[] = {0.7,0.7,0.7,1}; colorCanceled[] = {0.7,0.7,0.7,1};
colorDone[] = {0.7,1,0.3,1}; colorDone[] = {0.7,1,0.3,1};

View File

@ -32,7 +32,7 @@ if (isServer) then {
private "_eventLog"; private "_eventLog";
_eventLog = _internalData select 1; _eventLog = _internalData select 1;
_eventLog pushback [ACE_diagTime, _args, _ttl]; _eventLog pushBack [ACE_diagTime, _args, _ttl];
}; };
}; };

View File

@ -18,6 +18,6 @@ _dlg = ctrlParent _this;
_dlg displayAddEventHandler ["unload", { _dlg displayAddEventHandler ["unload", {
if (_this select 1 == 1) then { if (_this select 1 == 1) then {
[missionnamespace getvariable ["BIS_fnc_initCuratorAttributes_target", objNull]] call FUNC(fixCrateContent); [missionnamespace getVariable ["BIS_fnc_initCuratorAttributes_target", objNull]] call FUNC(fixCrateContent);
}; };
}]; }];

View File

@ -28,7 +28,7 @@ if (_show) then {
GVAR(SHOW_BLUR_SCREEN_COLLECTION) pushBack _id; GVAR(SHOW_BLUR_SCREEN_COLLECTION) pushBack _id;
// show blur // show blur
if (isnil QGVAR(MENU_ppHandle_GUI_BLUR_SCREEN)) then { if (isNil QGVAR(MENU_ppHandle_GUI_BLUR_SCREEN)) then {
GVAR(MENU_ppHandle_GUI_BLUR_SCREEN) = ppEffectCreate ["DynamicBlur", 102]; GVAR(MENU_ppHandle_GUI_BLUR_SCREEN) = ppEffectCreate ["DynamicBlur", 102];
GVAR(MENU_ppHandle_GUI_BLUR_SCREEN) ppEffectAdjust [0.9]; GVAR(MENU_ppHandle_GUI_BLUR_SCREEN) ppEffectAdjust [0.9];
GVAR(MENU_ppHandle_GUI_BLUR_SCREEN) ppEffectEnable true; GVAR(MENU_ppHandle_GUI_BLUR_SCREEN) ppEffectEnable true;

View File

@ -22,7 +22,7 @@ private ["_defaultLoglevel", "_defaultLogDisplayLevel"];
_defaultLoglevel = [GVAR(LOGLEVEL), DEFAULT_LOGGING_LEVEL] select isNil QGVAR(LOGLEVEL); _defaultLoglevel = [GVAR(LOGLEVEL), DEFAULT_LOGGING_LEVEL] select isNil QGVAR(LOGLEVEL);
if (_defaultLoglevel < 0) exitwith {false}; if (_defaultLoglevel < 0) exitWith {false};
_defaultLogDisplayLevel = [GVAR(LOGDISPLAY_LEVEL), DEFAULT_TEXT_DISPLAY] select isNil QGVAR(LOGDISPLAY_LEVEL); _defaultLogDisplayLevel = [GVAR(LOGDISPLAY_LEVEL), DEFAULT_TEXT_DISPLAY] select isNil QGVAR(LOGDISPLAY_LEVEL);

View File

@ -14,5 +14,5 @@
params ["_entity"]; params ["_entity"];
GVAR(LOGDISPLAY_LEVEL) = call compile (_entity getvariable ["logDisplayLevel","4"]); GVAR(LOGDISPLAY_LEVEL) = call compile (_entity getVariable ["logDisplayLevel","4"]);
GVAR(LOGLEVEL) = call compile (_entity getvariable ["logLevel","4"]); GVAR(LOGLEVEL) = call compile (_entity getVariable ["logLevel","4"]);

View File

@ -73,11 +73,11 @@ _refresh = {
_ctrl = (findDisplay 46) ctrlCreate ["RscPicture", _forEachIndex + 19000]; _ctrl = (findDisplay 46) ctrlCreate ["RscPicture", _forEachIndex + 19000];
_position = switch (_setting) do { _position = switch (_setting) do {
case TOP_RIGHT_DOWN: {[X_POS_ICONS, Y_POS_ICONS + (_foreachIndex * DIFFERENCE_ICONS), ICON_WIDTH, ICON_WIDTH]}; case TOP_RIGHT_DOWN: {[X_POS_ICONS, Y_POS_ICONS + (_forEachIndex * DIFFERENCE_ICONS), ICON_WIDTH, ICON_WIDTH]};
case TOP_RIGHT_LEFT: {[X_POS_ICONS_SECOND - ((_foreachIndex+3) * DIFFERENCE_ICONS), Y_POS_ICONS_SECOND - (ICON_WIDTH / 2), ICON_WIDTH, ICON_WIDTH]}; case TOP_RIGHT_LEFT: {[X_POS_ICONS_SECOND - ((_forEachIndex+3) * DIFFERENCE_ICONS), Y_POS_ICONS_SECOND - (ICON_WIDTH / 2), ICON_WIDTH, ICON_WIDTH]};
case TOP_LEFT_DOWN: {[LEFT_SIDE + (0.5 * ICON_WIDTH), Y_POS_ICONS + (_foreachIndex * DIFFERENCE_ICONS), ICON_WIDTH, ICON_WIDTH]}; case TOP_LEFT_DOWN: {[LEFT_SIDE + (0.5 * ICON_WIDTH), Y_POS_ICONS + (_forEachIndex * DIFFERENCE_ICONS), ICON_WIDTH, ICON_WIDTH]};
case TOP_LEFT_RIGHT: {[LEFT_SIDE + (0.5 * ICON_WIDTH) - ((_foreachIndex+3) * DIFFERENCE_ICONS), Y_POS_ICONS_SECOND, ICON_WIDTH, ICON_WIDTH]}; case TOP_LEFT_RIGHT: {[LEFT_SIDE + (0.5 * ICON_WIDTH) - ((_forEachIndex+3) * DIFFERENCE_ICONS), Y_POS_ICONS_SECOND, ICON_WIDTH, ICON_WIDTH]};
default {[X_POS_ICONS, Y_POS_ICONS + (_foreachIndex * DIFFERENCE_ICONS), ICON_WIDTH, ICON_WIDTH]}; default {[X_POS_ICONS, Y_POS_ICONS + (_forEachIndex * DIFFERENCE_ICONS), ICON_WIDTH, ICON_WIDTH]};
}; };
_ctrl ctrlSetPosition _position; _ctrl ctrlSetPosition _position;
@ -97,7 +97,7 @@ if (_show) then {
_list pushBack [_iconId, _icon, _color, ACE_time]; _list pushBack [_iconId, _icon, _color, ACE_time];
} else { } else {
{ {
if (_x select 0 == _iconId) exitwith { if (_x select 0 == _iconId) exitWith {
_list set [_forEachIndex, [_iconId, _icon, _color, ACE_time]]; _list set [_forEachIndex, [_iconId, _icon, _color, ACE_time]];
}; };
} forEach _list; } forEach _list;

View File

@ -48,10 +48,10 @@ _ctrlHint ctrlSetBackgroundColor GVAR(displayTextColor);
_ctrlHint ctrlSetTextColor GVAR(displayTextFontColor); _ctrlHint ctrlSetTextColor GVAR(displayTextFontColor);
/* /*
// This does not function at the moment. Has been disabled until it fixed. // This does not function at the moment. Has been disabled until it fixed.
_xPos = profilenamespace getvariable ["IGUI_GRID_ACE_displayText_X", ((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40))]; _xPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_X", ((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40))];
_yPos = profilenamespace getvariable ["IGUI_GRID_ACE_displayText_Y", safeZoneY + 0.175 * safezoneH]; _yPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_Y", safeZoneY + 0.175 * safezoneH];
_wPos = profilenamespace getvariable ["IGUI_GRID_ACE_displayText_W", (10 *(((safezoneW / safezoneH) min 1.2) / 40))]; _wPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_W", (10 *(((safezoneW / safezoneH) min 1.2) / 40))];
_hPos = profilenamespace getvariable ["IGUI_GRID_ACE_displayText_H", (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))]; _hPos = profilenamespace getVariable ["IGUI_GRID_ACE_displayText_H", (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))];
*/ */
_xPos = ((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)); _xPos = ((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40));

View File

@ -92,7 +92,7 @@ _bottomPosY = (_ctrlBcgCommonPos select 1) + _ctrlTextPosH + (_marginY * 2) + _b
_xPos set [1, _bottomPosY]; _xPos set [1, _bottomPosY];
_x ctrlSetPosition _xPos; _x ctrlSetPosition _xPos;
_x ctrlCommit 0; _x ctrlCommit 0;
} foreach [ } forEach [
_ctrlBackgroundButtonOK, _ctrlBackgroundButtonOK,
_ctrlBackgroundButtonMiddle, _ctrlBackgroundButtonMiddle,
_ctrlBackgroundButtonCancel, _ctrlBackgroundButtonCancel,

View File

@ -24,7 +24,7 @@ _hitPointDamages = getAllHitPointsDamage _object;
// get correct format for objects without hitpoints // get correct format for objects without hitpoints
if (_hitPointDamages isEqualTo []) then { if (_hitPointDamages isEqualTo []) then {
_hitPointDamages = [[],[],[]]; _hitPointDamages = [[],[],[]];
}; };
// this prevents physx objects from floating when near other physx objects with allowDamage false // this prevents physx objects from floating when near other physx objects with allowDamage false

View File

@ -20,14 +20,14 @@
params ["_object", ["_category", ""]]; params ["_object", ["_category", ""]];
if (isNil QGVAR(OBJECT_VARIABLES_STORAGE)) exitwith {[]}; if (isNil QGVAR(OBJECT_VARIABLES_STORAGE)) exitWith {[]};
private ["_return", "_val"]; private ["_return", "_val"];
_return = []; _return = [];
{ {
_val = _object getvariable (_x select 0); _val = _object getVariable (_x select 0);
if (!isNil "_val") then { if (!isNil "_val") then {
if (_category == "" || _category == _x select 3) then { if (_category == "" || _category == _x select 3) then {

View File

@ -16,7 +16,7 @@
params ["_unit", "_variable", "_defaultValue"]; params ["_unit", "_variable", "_defaultValue"];
private "_value"; private "_value";
_value = _unit getvariable _variable; _value = _unit getVariable _variable;
if (isNil "_value") then { if (isNil "_value") then {
if (!isNil "_defaultValue") then { if (!isNil "_defaultValue") then {

View File

@ -17,7 +17,7 @@ params ["_varName"];
private "_variableDefinition"; private "_variableDefinition";
_variableDefinition = [_varName] call FUNC(getDefinedVariableInfo); _variableDefinition = [_varName] call FUNC(getDefinedVariableInfo);
if !(_variableDefinition isEqualTo []) exitwith { if !(_variableDefinition isEqualTo []) exitWith {
_variableDefinition select 1; _variableDefinition select 1;
}; };

View File

@ -0,0 +1,15 @@
/*
* Author: commy2
* Returns the control of the Stamina Bar from Arma 1.54.
*
* Arguments:
* None
*
* Return Value:
* Stamina Bar control <CONTROL>
*
* Public: No
*/
#include "script_component.hpp"
(uiNamespace getVariable [QGVAR(dlgStaminaBar), displayNull]) displayCtrl IDC_STAMINA_BAR

View File

@ -14,4 +14,4 @@
params ["_unit"]; params ["_unit"];
!(_unit getvariable ["ACE_isUnconscious", false]) && alive _unit && !(_unit getvariable ["ACE_isDead", false]) // return !(_unit getVariable ["ACE_isUnconscious", false]) && alive _unit && !(_unit getVariable ["ACE_isDead", false]) // return

View File

@ -14,4 +14,4 @@
params ["_modName"]; params ["_modName"];
isClass (configFile >> "cfgPatches" >> _modName) // return isClass (configFile >> "CfgPatches" >> _modName) // return

View File

@ -21,7 +21,7 @@ private ["_vehicle", "_loadcar", "_loadair", "_loadtank", "_loadboat"];
_vehicle = objNull; _vehicle = objNull;
if (!([_caller, _unit, ["isNotDragging", "isNotCarrying"]] call FUNC(canInteractWith)) || {_caller == _unit}) exitwith {_vehicle}; if (!([_caller, _unit, ["isNotDragging", "isNotCarrying"]] call FUNC(canInteractWith)) || {_caller == _unit}) exitWith {_vehicle};
_loadcar = nearestObject [_unit, "Car"]; _loadcar = nearestObject [_unit, "Car"];

View File

@ -16,7 +16,7 @@ private "_fnc_parseConfigForDisplayNames";
_fnc_parseConfigForDisplayNames = { _fnc_parseConfigForDisplayNames = {
params ["_optionEntry"]; params ["_optionEntry"];
if !(isClass _optionEntry) exitwith {false}; if !(isClass _optionEntry) exitWith {false};
private "_values"; private "_values";
_values = getArray (_optionEntry >> "values"); _values = getArray (_optionEntry >> "values");

View File

@ -16,9 +16,9 @@ params ["_unit", "_id", "_accepted"];
private ["_requestID", "_info", "_callBack", "_caller", "_replyParams", "_requestMessage", "_target"]; private ["_requestID", "_info", "_callBack", "_caller", "_replyParams", "_requestMessage", "_target"];
_info = _unit getvariable _id; _info = _unit getVariable _id;
if (!isnil "_info") then { if (!isNil "_info") then {
_caller = _info select 0; _caller = _info select 0;
_target = _info select 1; _target = _info select 1;
_requestID = _info select 2; _requestID = _info select 2;
@ -26,16 +26,16 @@ if (!isnil "_info") then {
_callBack = _info select 4; _callBack = _info select 4;
_replyParams = [_info, _accepted]; _replyParams = [_info, _accepted];
[_replyParams, QFUNC(requestCallback), _caller, false] call FUNC(execRemoteFnc); [_replyParams, QFUNC(requestCallback), _caller, false] call FUNC(execRemoteFnc);
_unit setvariable [_id, nil]; _unit setVariable [_id, nil];
}; };
GVAR(RECIEVE_REQUEST_ID_KEY_BINDING) = nil; GVAR(RECIEVE_REQUEST_ID_KEY_BINDING) = nil;
if (!isnil QGVAR(RECIEVE_REQUEST_ADD_ACTION_ACCEPT)) then { if (!isNil QGVAR(RECIEVE_REQUEST_ADD_ACTION_ACCEPT)) then {
_unit removeAction GVAR(RECIEVE_REQUEST_ADD_ACTION_ACCEPT); _unit removeAction GVAR(RECIEVE_REQUEST_ADD_ACTION_ACCEPT);
GVAR(RECIEVE_REQUEST_ADD_ACTION_ACCEPT) = nil; GVAR(RECIEVE_REQUEST_ADD_ACTION_ACCEPT) = nil;
}; };
if (!isnil QGVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE)) then { if (!isNil QGVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE)) then {
_unit removeAction GVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE); _unit removeAction GVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE);
GVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE) = nil; GVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE) = nil;
}; };

View File

@ -17,7 +17,7 @@
#include "script_component.hpp" #include "script_component.hpp"
//paramsArray is a normal variable not a command //paramsArray is a normal variable not a command
private _paramsArray = missionnamespace getvariable ["paramsArray", []]; private _paramsArray = missionnamespace getVariable ["paramsArray", []];
TRACE_1("Reading missionConfigFile params",_paramsArray); TRACE_1("Reading missionConfigFile params",_paramsArray);
@ -60,4 +60,4 @@ TRACE_1("Reading missionConfigFile params",_paramsArray);
// Update the variable globaly and Force // Update the variable globaly and Force
[_settingName, _settingValue, true, true] call FUNC(setSetting); [_settingName, _settingValue, true, true] call FUNC(setSetting);
}; };
} foreach _paramsArray; } forEach _paramsArray;

View File

@ -53,7 +53,7 @@ GVAR(RECIEVE_REQUEST_TIME_OUT_SCRIPT) = [ACE_time, _target, _requestID] spawn {
private "_id"; private "_id";
_id = _target getVariable _requestID; _id = _target getVariable _requestID;
waituntil { waitUntil {
_id = _target getVariable _requestID; _id = _target getVariable _requestID;
(ACE_time > _time || isNil "_id") (ACE_time > _time || isNil "_id")

View File

@ -26,5 +26,5 @@ _selectBinocular = currentWeapon _unit == _binocular;
_unit addWeapon _binocular; _unit addWeapon _binocular;
if (_selectBinocular) then { if (_selectBinocular) then {
_unit selectWeapon _binocular; _unit selectWeapon _binocular;
}; };

View File

@ -14,8 +14,8 @@
params ["_unit"]; params ["_unit"];
_unit setvariable ["ACE_isDead", nil, true]; _unit setVariable ["ACE_isDead", nil, true];
_unit setvariable ["ACE_isUnconscious", nil, true]; _unit setVariable ["ACE_isUnconscious", nil, true];
if (isPlayer _unit) then { if (isPlayer _unit) then {
[true] call FUNC(setVolume); [true] call FUNC(setVolume);
@ -36,7 +36,7 @@ if (isPlayer _unit) then {
{ {
if !(_x select 4) then { if !(_x select 4) then {
_unit setvariable [_x select 0, nil, _x select 3]; _unit setVariable [_x select 0, nil, _x select 3];
}; };
false false
} count ([_unit] call FUNC(getAllDefinedSetVariables)); } count ([_unit] call FUNC(getAllDefinedSetVariables));

View File

@ -1,6 +1,6 @@
/* /*
* Author: Glowbal * Author: Glowbal
* Setvariable value * setVariable value
* *
* Arguments: * Arguments:
* 0: Unit <OBJECT> * 0: Unit <OBJECT>
@ -23,7 +23,7 @@ if (isNil "_global") then {
_definedVariable params ["", "", ["_global", false]]; _definedVariable params ["", "", ["_global", false]];
}; };
if (!isNil "_value") exitwith { if (!isNil "_value") exitWith {
_unit setVariable [_variable, _value, _global]; _unit setVariable [_variable, _value, _global];
}; };

View File

@ -25,8 +25,8 @@ _elements = [];
{ {
_theElement = toArray (_x select _elementN); _theElement = toArray (_x select _elementN);
_indexes pushback _foreachIndex; _indexes pushBack _forEachIndex;
_elements pushback _theElement; _elements pushBack _theElement;
} forEach _array; } forEach _array;
for "_i" from 1 to (count _elements) - 1 do { for "_i" from 1 to (count _elements) - 1 do {
@ -45,7 +45,7 @@ for "_i" from 1 to (count _elements) - 1 do {
_returnArray = []; _returnArray = [];
{ {
_returnArray pushback (_array select _x); _returnArray pushBack (_array select _x);
} forEach _indexes; } forEach _indexes;
_returnArray _returnArray

View File

@ -18,7 +18,7 @@
params [["_unit", objNull], ["_switch", false], ["_id", ""], ["_side", side _unit]]; params [["_unit", objNull], ["_switch", false], ["_id", ""], ["_side", side _unit]];
private "_previousGroupsList"; private "_previousGroupsList";
_previousGroupsList = _unit getvariable [QGVAR(previousGroupSwitchTo), []]; _previousGroupsList = _unit getVariable [QGVAR(previousGroupSwitchTo), []];
if (_switch) then { if (_switch) then {
// go forward // go forward
@ -27,7 +27,7 @@ if (_switch) then {
_previousGroup = group _unit; _previousGroup = group _unit;
_originalSide = side group _unit; _originalSide = side group _unit;
if (count units _previousGroup == 1 && _originalSide == _side) exitwith { if (count units _previousGroup == 1 && _originalSide == _side) exitWith {
[format ["Current group has only 1 member and is of same side as switch. Not switching unit %1", _id]] call FUNC(debug); [format ["Current group has only 1 member and is of same side as switch. Not switching unit %1", _id]] call FUNC(debug);
}; };
@ -41,7 +41,7 @@ if (_switch) then {
private ["_currentGroup", "_newGroup"]; private ["_currentGroup", "_newGroup"];
{ {
if (_id == (_x select 2)) exitwith { if (_id == (_x select 2)) exitWith {
_x set [ 3, false]; _x set [ 3, false];
_previousGroupsList set [_forEachIndex, _x]; _previousGroupsList set [_forEachIndex, _x];
[format["found group with ID: %1", _id]] call FUNC(debug); [format["found group with ID: %1", _id]] call FUNC(debug);
@ -51,7 +51,7 @@ if (_switch) then {
reverse _previousGroupsList; reverse _previousGroupsList;
{ {
if (_x select 3) exitwith {}; // stop at first id set to true if (_x select 3) exitWith {}; // stop at first id set to true
if !(_x select 3) then { if !(_x select 3) then {
_currentGroup = group _unit; _currentGroup = group _unit;
if (!isNull (_x select 0)) then { if (!isNull (_x select 0)) then {

View File

@ -24,7 +24,7 @@ if (_vehicle == _unit) exitWith {false};
if (speed _vehicle > 1 || getPos _vehicle select 2 > 2) exitWith {false}; if (speed _vehicle > 1 || getPos _vehicle select 2 > 2) exitWith {false};
private "_emptyPos"; private "_emptyPos";
_emptyPos = (getPos _vehicle) findEmptyPosition [0, 10, typeof _unit]; // @todo to small? _emptyPos = (getPos _vehicle) findEmptyPosition [0, 10, typeOf _unit]; // @todo to small?
if (count _emptyPos == 0) exitWith {false}; if (count _emptyPos == 0) exitWith {false};

View File

@ -28,7 +28,7 @@ if (_vehicle isKindOf "Ship") then {
TRACE_1("SHIP Ground Check",getPos _vehicle); TRACE_1("SHIP Ground Check",getPos _vehicle);
_emptyPos = (ASLToAGL getPosASL _vehicle) findEmptyPosition [0, 13, typeof _unit]; // TODO: if spot is underwater pick another spot. _emptyPos = (ASLToAGL getPosASL _vehicle) findEmptyPosition [0, 13, typeOf _unit]; // TODO: if spot is underwater pick another spot.
} else { } else {
if (_vehicle isKindOf "Air") then { if (_vehicle isKindOf "Air") then {
if (speed _vehicle > 1 || {!isTouchingGround _vehicle}) then { if (speed _vehicle > 1 || {!isTouchingGround _vehicle}) then {
@ -46,18 +46,18 @@ if (_vehicle isKindOf "Ship") then {
TRACE_1("Vehicle Ground Check", isTouchingGround _vehicle); TRACE_1("Vehicle Ground Check", isTouchingGround _vehicle);
_emptyPos = (ASLToAGL getPosASL _vehicle) findEmptyPosition [0, 13, typeof _unit]; _emptyPos = (ASLToAGL getPosASL _vehicle) findEmptyPosition [0, 13, typeOf _unit];
}; };
}; };
TRACE_1("getPosASL Vehicle Check", getPosASL _vehicle); TRACE_1("getPosASL Vehicle Check", getPosASL _vehicle);
if !(_validVehiclestate) exitwith { if !(_validVehiclestate) exitWith {
ACE_LOGWARNING_4("Unable to unload patient because invalid (%1) vehicle state. Either moving or Not close enough on the ground. position: %2 isTouchingGround: %3 Speed: %4",_vehicle,getPos _vehicle,isTouchingGround _vehicle,speed _vehicle); ACE_LOGWARNING_4("Unable to unload patient because invalid (%1) vehicle state. Either moving or Not close enough on the ground. position: %2 isTouchingGround: %3 Speed: %4",_vehicle,getPos _vehicle,isTouchingGround _vehicle,speed _vehicle);
false false
}; };
if (count _emptyPos == 0) exitwith { if (count _emptyPos == 0) exitWith {
ACE_LOGWARNING_1("No safe empty spots to unload patient. %1",_emptyPos); ACE_LOGWARNING_1("No safe empty spots to unload patient. %1",_emptyPos);
false false
}; //consider displaying text saying there are no safe places to exit the vehicle }; //consider displaying text saying there are no safe places to exit the vehicle
@ -96,9 +96,9 @@ _unit action ["Eject", vehicle _unit];
[_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide); [_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide);
_loaded = _vehicle getvariable [QGVAR(loaded_persons),[]]; _loaded = _vehicle getVariable [QGVAR(loaded_persons),[]];
_loaded deleteAt (_loaded find _unit); _loaded deleteAt (_loaded find _unit);
_vehicle setvariable [QGVAR(loaded_persons), _loaded, true]; _vehicle setVariable [QGVAR(loaded_persons), _loaded, true];
true true

View File

@ -15,7 +15,7 @@
#include "script_component.hpp" #include "script_component.hpp"
// If the cursorMenu is open, the loading bar will fail. If we execute the function one frame later, it will work fine // If the cursorMenu is open, the loading bar will fail. If we execute the function one frame later, it will work fine
if (uiNamespace getVariable [QEGVAR(interact_menu,cursorMenuOpened),false]) exitwith { if (uiNamespace getVariable [QEGVAR(interact_menu,cursorMenuOpened),false]) exitWith {
[{ [{
_this call FUNC(dismount); _this call FUNC(dismount);
}, _this] call EFUNC(common,execNextFrame); }, _this] call EFUNC(common,execNextFrame);

View File

@ -52,12 +52,12 @@ if (_mode == 0) then {
]; ];
{ {
_found = false; _found = false;
_no = nearestObjects [_x, [typeOf _wire], 3]; //diag_log _no; diag_log "....."; _no = nearestObjects [_x, [typeOf _wire], 3]; //diag_log _no; diag_log ".....";
_no = _no - [_wire]; //diag_log _no; _no = _no - [_wire]; //diag_log _no;
if (count _no > 0) exitWith { if (count _no > 0) exitWith {
_found = true; //diag_log "found"; _found = true; //diag_log "found";
}; };
} foreach _wireCheckPosAr; } forEach _wireCheckPosAr;
// Double coil found! // Double coil found!
if (_found) then { if (_found) then {
_mode = 1; _mode = 1;

View File

@ -29,7 +29,7 @@ private ["_xGrid", "_yGrid", "_dagrGrid", "_bearing", "_dagrDist", "_dagrElevati
__background ctrlSetText QUOTE(PATHTOF(UI\dagr_vector.paa)); __background ctrlSetText QUOTE(PATHTOF(UI\dagr_vector.paa));
if (GVAR(noVectorData)) exitwith {}; if (GVAR(noVectorData)) exitWith {};
GVAR(LAZPOS) params ["_lazPosX", "_lazPosY", "_lazPosZ"]; GVAR(LAZPOS) params ["_lazPosX", "_lazPosY", "_lazPosZ"];
// Incase grids go neg due to 99-00 boundry // Incase grids go neg due to 99-00 boundry

View File

@ -14,7 +14,7 @@
true true
}, },
{false}, {false},
[0, [false, true, false]], false] call cba_fnc_addKeybind; // (empty default key) [0, [false, true, false]], false] call CBA_fnc_addKeybind; // (empty default key)
["ACE3 Equipment", QGVAR(ToggleKey), "Toggle DAGR", ["ACE3 Equipment", QGVAR(ToggleKey), "Toggle DAGR",
{ {
@ -27,7 +27,7 @@
true true
}, },
{false}, {false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; // (empty default key) [0, [false, false, false]], false] call CBA_fnc_addKeybind; // (empty default key)
//Add deviceKey entry: //Add deviceKey entry:
private ["_conditonCode", "_toggleCode", "_closeCode"]; private ["_conditonCode", "_toggleCode", "_closeCode"];

View File

@ -3,6 +3,7 @@
<Package name="DAGR"> <Package name="DAGR">
<Key ID="STR_ACE_DAGR_Name"> <Key ID="STR_ACE_DAGR_Name">
<English>DAGR</English> <English>DAGR</English>
<German>DAGR</German>
<Polish>DAGR</Polish> <Polish>DAGR</Polish>
<Spanish>DAGR</Spanish> <Spanish>DAGR</Spanish>
<Russian>DAGR</Russian> <Russian>DAGR</Russian>
@ -11,6 +12,7 @@
</Key> </Key>
<Key ID="STR_ACE_DAGR_ConfigureDAGR"> <Key ID="STR_ACE_DAGR_ConfigureDAGR">
<English>Configure DAGR</English> <English>Configure DAGR</English>
<German>DAGR konfigurien</German>
<Polish>Konfiguruj DAGR</Polish> <Polish>Konfiguruj DAGR</Polish>
<Spanish>Configurar DAGR</Spanish> <Spanish>Configurar DAGR</Spanish>
<Russian>Настроить DAGR</Russian> <Russian>Настроить DAGR</Russian>
@ -19,6 +21,7 @@
</Key> </Key>
<Key ID="STR_ACE_DAGR_ToggleDAGR"> <Key ID="STR_ACE_DAGR_ToggleDAGR">
<English>Toggle DAGR</English> <English>Toggle DAGR</English>
<German>DAGR umschalten</German>
<Polish>Przełącz DAGR</Polish> <Polish>Przełącz DAGR</Polish>
<Spanish>Mostrar DAGR</Spanish> <Spanish>Mostrar DAGR</Spanish>
<Russian>Вкл./выкл. DAGR</Russian> <Russian>Вкл./выкл. DAGR</Russian>
@ -27,6 +30,7 @@
</Key> </Key>
<Key ID="STR_ACE_DAGR_Description"> <Key ID="STR_ACE_DAGR_Description">
<English>Defense Advanced GPS Receiver</English> <English>Defense Advanced GPS Receiver</English>
<German>Defense Advanced GPS Receiver</German>
<Polish>Defense Advanced GPS Receiver</Polish> <Polish>Defense Advanced GPS Receiver</Polish>
<Spanish>Defense Advanced GPS Receiver</Spanish> <Spanish>Defense Advanced GPS Receiver</Spanish>
<Russian>Военный многофункциональный GPS-приёмник</Russian> <Russian>Военный многофункциональный GPS-приёмник</Russian>
@ -34,4 +38,4 @@
<Czech>Defense Advanced GPS Receiver</Czech> <Czech>Defense Advanced GPS Receiver</Czech>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -20,7 +20,7 @@ params ["_caller", "_target"];
private "_display"; private "_display";
#define DEFUALTPATH "\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa" #define DEFUALTPATH "\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa"
//Sanity Checks //Sanity Checks
if (_caller != ACE_player) exitwith {ERROR("Player isn't caller?");}; if (_caller != ACE_player) exitWith {ERROR("Player isn't caller?");};
if (!([_player, _target] call FUNC(canPlayerDisarmUnit))) exitWith {ERROR("Can't Disarm Unit");}; if (!([_player, _target] call FUNC(canPlayerDisarmUnit))) exitWith {ERROR("Can't Disarm Unit");};
if (dialog) then {ERROR("Dialog open when trying to open disarm dialog"); closeDialog 0;}; if (dialog) then {ERROR("Dialog open when trying to open disarm dialog"); closeDialog 0;};

View File

@ -33,13 +33,13 @@ class GVAR(remoteInventory) {
fadeout = 0; fadeout = 0;
class Colors { class Colors {
dragValidBgr[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",0.5}; dragValidBgr[] = {"(profilenamespace getVariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getVariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getVariable ['IGUI_TEXT_RGB_B',1])",0.5};
dragInvalidBgr[] = {"(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])","(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])","(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])",0.5}; dragInvalidBgr[] = {"(profilenamespace getVariable ['IGUI_ERROR_RGB_R',0.8])","(profilenamespace getVariable ['IGUI_ERROR_RGB_G',0.0])","(profilenamespace getVariable ['IGUI_ERROR_RGB_B',0.0])",0.5};
dragValidBar[] = {"(profilenamespace getvariable ['IGUI_WARNING_RGB_R',0.8])","(profilenamespace getvariable ['IGUI_WARNING_RGB_G',0.5])","(profilenamespace getvariable ['IGUI_WARNING_RGB_B',0.0])",0.5}; dragValidBar[] = {"(profilenamespace getVariable ['IGUI_WARNING_RGB_R',0.8])","(profilenamespace getVariable ['IGUI_WARNING_RGB_G',0.5])","(profilenamespace getVariable ['IGUI_WARNING_RGB_B',0.0])",0.5};
dragInvalidBar[] = {"(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])","(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])","(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])",0.5}; dragInvalidBar[] = {"(profilenamespace getVariable ['IGUI_ERROR_RGB_R',0.8])","(profilenamespace getVariable ['IGUI_ERROR_RGB_G',0.0])","(profilenamespace getVariable ['IGUI_ERROR_RGB_B',0.0])",0.5};
progressBar[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",1}; progressBar[] = {"(profilenamespace getVariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getVariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getVariable ['IGUI_TEXT_RGB_B',1])",1};
progressBarBgr[] = {"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])","(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])","(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",0.75}; progressBarBgr[] = {"(profilenamespace getVariable ['IGUI_BCG_RGB_R',0])","(profilenamespace getVariable ['IGUI_BCG_RGB_G',1])","(profilenamespace getVariable ['IGUI_BCG_RGB_B',1])",0.75};
highlight[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",0.5}; highlight[] = {"(profilenamespace getVariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getVariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getVariable ['IGUI_TEXT_RGB_B',1])",0.5};
}; };
class controlsBackground {}; class controlsBackground {};

View File

@ -52,7 +52,7 @@ if !([_unit] call EFUNC(common,isPlayer)) then {
//don't do anything until projectile is null (exploded/max range) //don't do anything until projectile is null (exploded/max range)
if (isNull _projectile) then { if (isNull _projectile) then {
//Remove PFEH: //Remove PFEH:
[_idPFH] call cba_fnc_removePerFrameHandler; [_idPFH] call CBA_fnc_removePerFrameHandler;
//If (tube is dropped) OR (is dead) OR (is player) just exit //If (tube is dropped) OR (is dead) OR (is player) just exit
if (((secondaryWeapon _unit) != _tube) || {!alive _unit} || {([_unit] call EFUNC(common,isPlayer))}) exitWith {}; if (((secondaryWeapon _unit) != _tube) || {!alive _unit} || {([_unit] call EFUNC(common,isPlayer))}) exitWith {};

View File

@ -21,4 +21,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false};
// a static weapon has to be empty for dragging (ignore UAV AI) // a static weapon has to be empty for dragging (ignore UAV AI)
if (((typeOf _target) isKindOf "StaticWeapon") && {{(getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "simulation")) != "UAVPilot"} count crew _target > 0}) exitWith {false}; if (((typeOf _target) isKindOf "StaticWeapon") && {{(getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "simulation")) != "UAVPilot"} count crew _target > 0}) exitWith {false};
alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})} alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getVariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}

View File

@ -24,4 +24,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false};
// a static weapon has to be empty for dragging (ignore UAV AI) // a static weapon has to be empty for dragging (ignore UAV AI)
if ((typeOf _target) isKindOf "StaticWeapon" && {{(getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "simulation")) != "UAVPilot"} count crew _target > 0}) exitWith {false}; if ((typeOf _target) isKindOf "StaticWeapon" && {{(getText (configFile >> "CfgVehicles" >> (typeOf _x) >> "simulation")) != "UAVPilot"} count crew _target > 0}) exitWith {false};
alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}; alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getVariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})};

View File

@ -22,9 +22,9 @@ params ["_unit", "_target"];
private "_inBuilding"; private "_inBuilding";
_inBuilding = [_unit] call FUNC(isObjectOnObject); _inBuilding = [_unit] call FUNC(isObjectOnObject);
if !(_unit getvariable ["ACE_isUnconscious", false]) then { if !(_unit getVariable ["ACE_isUnconscious", false]) then {
// play release animation // play release animation
_unit playAction "released"; _unit playAction "released";
}; };
// prevent collision damage // prevent collision damage
@ -63,7 +63,7 @@ if !(_target isKindOf "CAManBase") then {
["fixFloating", _target, _target] call EFUNC(common,targetEvent); ["fixFloating", _target, _target] call EFUNC(common,targetEvent);
}; };
if (_unit getvariable ["ACE_isUnconscious", false]) then { if (_unit getVariable ["ACE_isUnconscious", false]) then {
[_unit, "unconscious", 2, true] call EFUNC(common,doAnimation); [_unit, "unconscious", 2, true] call EFUNC(common,doAnimation);
}; };

View File

@ -31,7 +31,7 @@ detach _target;
// fix anim when aborting carrying persons // fix anim when aborting carrying persons
if (_target isKindOf "CAManBase" || {animationState _unit in CARRY_ANIMATIONS}) then { if (_target isKindOf "CAManBase" || {animationState _unit in CARRY_ANIMATIONS}) then {
if (vehicle _unit == _unit && {!(_unit getvariable ["ACE_isUnconscious", false])}) then { if (vehicle _unit == _unit && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
[_unit, "", 2, true] call EFUNC(common,doAnimation); [_unit, "", 2, true] call EFUNC(common,doAnimation);
}; };

View File

@ -39,7 +39,7 @@ _totalWeight = 0;
]; ];
// add Weight of create to totalWeight // add Weight of create to totalWeight
_totalWeight = _totalWeight + (getNumber (configFile >> "CfgVehicles" >> typeof _object >> "mass")); _totalWeight = _totalWeight + (getNumber (configFile >> "CfgVehicles" >> typeOf _object >> "mass"));
// Mass in Arma isn't an exact amount but rather a volume/weight value. This attempts to work around that by making it a usable value. (sort of). // Mass in Arma isn't an exact amount but rather a volume/weight value. This attempts to work around that by making it a usable value. (sort of).
_totalWeight * 0.5 _totalWeight * 0.5

View File

@ -21,7 +21,6 @@ class CfgAmmo {
class DirectionalBombCore: TimeBombCore; class DirectionalBombCore: TimeBombCore;
class DirectionalBombBase: DirectionalBombCore; class DirectionalBombBase: DirectionalBombCore;
class APERSTripMine_Wire_Ammo: DirectionalBombBase;
class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase; class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase;
@ -31,11 +30,16 @@ class CfgAmmo {
class DirectionalBombBase; class DirectionalBombBase;
class ClaymoreDirectionalMine_Remote_Ammo: DirectionalBombBase { class ClaymoreDirectionalMine_Remote_Ammo: DirectionalBombBase {
ACE_Explosive = "ClaymoreDirectionalMine_Remote_Ammo_Scripted"; ACE_Explosive = "ClaymoreDirectionalMine_Remote_Ammo_Scripted";
GVAR(defuseObjectPosition[]) = {0, 0, 0.038};
soundActivation[] = {"", 0, 0, 0}; soundActivation[] = {"", 0, 0, 0};
soundDeactivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0};
}; };
//class ClaymoreDirectionalMine_Remote_Ammo_Scripted: ClaymoreDirectionalMine_Remote_Ammo; //class ClaymoreDirectionalMine_Remote_Ammo_Scripted: ClaymoreDirectionalMine_Remote_Ammo;
class APERSTripMine_Wire_Ammo: DirectionalBombBase {
GVAR(defuseObjectPosition[]) = {-1.415, 0, 0.12};
};
class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase { class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase {
indirectHitRange = 20; indirectHitRange = 20;
ACE_explodeOnDefuse = 1; ACE_explodeOnDefuse = 1;
@ -55,6 +59,7 @@ class CfgAmmo {
class PipeBombBase; class PipeBombBase;
class DemoCharge_Remote_Ammo: PipeBombBase { class DemoCharge_Remote_Ammo: PipeBombBase {
ACE_Explosive = "DemoCharge_Remote_Ammo_Scripted"; ACE_Explosive = "DemoCharge_Remote_Ammo_Scripted";
GVAR(defuseObjectPosition[]) = {0.07, 0, 0.055};
soundActivation[] = {"", 0, 0, 0}; soundActivation[] = {"", 0, 0, 0};
soundDeactivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0};
hit = 500; hit = 500;
@ -63,17 +68,18 @@ class CfgAmmo {
}; };
class SatchelCharge_Remote_Ammo: PipeBombBase { class SatchelCharge_Remote_Ammo: PipeBombBase {
ACE_Explosive = "SatchelCharge_Remote_Ammo_Scripted"; ACE_Explosive = "SatchelCharge_Remote_Ammo_Scripted";
GVAR(defuseObjectPosition[]) = {0.1, 0.1, 0.05};
soundActivation[] = {"", 0, 0, 0}; soundActivation[] = {"", 0, 0, 0};
soundDeactivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0};
}; };
/*class DemoCharge_Remote_Ammo_Scripted: DemoCharge_Remote_Ammo; /*class DemoCharge_Remote_Ammo_Scripted: DemoCharge_Remote_Ammo;
class SatchelCharge_Remote_Ammo_Scripted: SatchelCharge_Remote_Ammo;*/ class SatchelCharge_Remote_Ammo_Scripted: SatchelCharge_Remote_Ammo;*/
class IEDUrbanBig_Remote_Ammo: PipeBombBase { class IEDUrbanBig_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1; triggerWhenDestroyed = 1;
ACE_explodeOnDefuse = 0.02; ACE_explodeOnDefuse = 0.02;
soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40};
}; };
class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo { class IEDUrbanBig_Command_Ammo: IEDUrbanBig_Remote_Ammo {
mineTrigger = "RemoteTrigger"; mineTrigger = "RemoteTrigger";
@ -81,19 +87,19 @@ class CfgAmmo {
class IEDUrbanBig_Range_Ammo: IEDUrbanBig_Remote_Ammo { class IEDUrbanBig_Range_Ammo: IEDUrbanBig_Remote_Ammo {
mineTrigger = "RangeTrigger"; mineTrigger = "RangeTrigger";
}; };
class IEDUrbanSmall_Remote_Ammo: PipeBombBase { class IEDUrbanSmall_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1; triggerWhenDestroyed = 1;
ACE_explodeOnDefuse = 0.02; ACE_explodeOnDefuse = 0.02;
soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40}; soundTrigger[] = {"A3\Sounds_F\weapons\mines\mech_trigger_1", 0.8, 1, 40};
}; };
class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo { class IEDUrbanSmall_Command_Ammo: IEDUrbanSmall_Remote_Ammo {
mineTrigger = "RemoteTrigger"; mineTrigger = "RemoteTrigger";
}; };
class IEDUrbanSmall_Range_Ammo: IEDUrbanSmall_Remote_Ammo { class IEDUrbanSmall_Range_Ammo: IEDUrbanSmall_Remote_Ammo {
mineTrigger = "RangeTrigger"; mineTrigger = "RangeTrigger";
}; };
class IEDLandBig_Remote_Ammo: PipeBombBase { class IEDLandBig_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1; triggerWhenDestroyed = 1;
ACE_explodeOnDefuse = 0.02; ACE_explodeOnDefuse = 0.02;
@ -105,7 +111,7 @@ class CfgAmmo {
class IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo { class IEDLandBig_Range_Ammo: IEDLandBig_Remote_Ammo {
mineTrigger = "RangeTrigger"; mineTrigger = "RangeTrigger";
}; };
class IEDLandSmall_Remote_Ammo: PipeBombBase { class IEDLandSmall_Remote_Ammo: PipeBombBase {
triggerWhenDestroyed = 1; triggerWhenDestroyed = 1;
ACE_explodeOnDefuse = 0.02; ACE_explodeOnDefuse = 0.02;

View File

@ -10,7 +10,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 4; priority = 4;
icon = PATHTOF(UI\Explosives_Menu_ca.paa); icon = PATHTOF(UI\Explosives_Menu_ca.paa);
hotkey = "X";
//Sub-menu items //Sub-menu items
class ACE_Detonate { class ACE_Detonate {
displayName = CSTRING(Detonate); displayName = CSTRING(Detonate);
@ -21,7 +20,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\Explosives_Menu_ca.paa); icon = PATHTOF(UI\Explosives_Menu_ca.paa);
priority = 2; priority = 2;
hotkey = "T";
}; };
class ACE_Place { class ACE_Place {
displayName = CSTRING(Place); displayName = CSTRING(Place);
@ -32,7 +30,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\Place_Explosive_ca.paa); icon = PATHTOF(UI\Place_Explosive_ca.paa);
priority = 1; priority = 1;
hotkey = "P";
}; };
class ACE_Cellphone { class ACE_Cellphone {
displayName = CSTRING(cellphone_displayName); displayName = CSTRING(cellphone_displayName);
@ -62,7 +59,7 @@ class CfgVehicles {
class ACE_Actions { class ACE_Actions {
class ACE_MainActions { class ACE_MainActions {
selection = ""; selection = "";
distance = 5; distance = 1;
condition = "true"; condition = "true";
class ACE_Defuse { class ACE_Defuse {
displayName = CSTRING(Defuse); displayName = CSTRING(Defuse);
@ -72,8 +69,7 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
icon = PATHTOF(UI\Defuse_ca.paa); icon = PATHTOF(UI\Defuse_ca.paa);
priority = 0.8; priority = 0.8;
hotkey = "F"; distance = 1;
distance = 5;
}; };
}; };
}; };
@ -89,16 +85,15 @@ class CfgVehicles {
scope = 2; scope = 2;
scopeCurator = 1; scopeCurator = 1;
vehicleClass = "Cargo"; vehicleClass = "Cargo";
ACE_offset[] = {0,0,0};
class ACE_Actions { class ACE_Actions {
class ACE_MainActions { class ACE_MainActions {
selection = ""; selection = "";
distance = 5; distance = 1;
condition = "true"; condition = "true";
class ACE_SetTrigger { class ACE_SetTrigger {
selection = ""; selection = "";
displayName = CSTRING(TriggerMenu); displayName = CSTRING(TriggerMenu);
distance = 4; distance = 1;
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions);); insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions););
@ -110,7 +105,7 @@ class CfgVehicles {
class ACE_PickUp { class ACE_PickUp {
selection = ""; selection = "";
displayName = CSTRING(Pickup); displayName = CSTRING(Pickup);
distance = 4; distance = 1;
condition = "true"; condition = "true";
statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;); statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;);
showDisabled = 0; showDisabled = 0;
@ -125,6 +120,11 @@ class CfgVehicles {
class ACE_Explosives_Place_DemoCharge:ACE_Explosives_Place { class ACE_Explosives_Place_DemoCharge:ACE_Explosives_Place {
displayName = "Demo Charge"; displayName = "Demo Charge";
model = "\A3\Weapons_F\explosives\c4_charge_small_d"; model = "\A3\Weapons_F\explosives\c4_charge_small_d";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.07,0,0.055]";
};
};
}; };
class ACE_Explosives_Place_APERSBoundingMine:ACE_Explosives_Place { class ACE_Explosives_Place_APERSBoundingMine:ACE_Explosives_Place {
displayName = "APERS Bounding Mine"; displayName = "APERS Bounding Mine";
@ -137,7 +137,11 @@ class CfgVehicles {
class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place { class ACE_Explosives_Place_APERSTripwireMine:ACE_Explosives_Place {
displayName = "APERS Tripwire Mine"; displayName = "APERS Tripwire Mine";
model = "\A3\Weapons_F\explosives\mine_AP_tripwire"; model = "\A3\Weapons_F\explosives\mine_AP_tripwire";
ACE_offset[] = {1,0,0}; class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[1.415,0,0.12]";
};
};
}; };
class ACE_Explosives_Place_ATMine:ACE_Explosives_Place { class ACE_Explosives_Place_ATMine:ACE_Explosives_Place {
@ -148,11 +152,21 @@ class CfgVehicles {
class ACE_Explosives_Place_Claymore:ACE_Explosives_Place { class ACE_Explosives_Place_Claymore:ACE_Explosives_Place {
displayName = "Claymore"; displayName = "Claymore";
model = "\A3\Weapons_F\explosives\mine_AP_miniclaymore"; model = "\A3\Weapons_F\explosives\mine_AP_miniclaymore";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[0,0,0.038]";
};
};
}; };
class ACE_Explosives_Place_SatchelCharge:ACE_Explosives_Place { class ACE_Explosives_Place_SatchelCharge:ACE_Explosives_Place {
displayName = "Satchel Charge"; displayName = "Satchel Charge";
model = "\A3\Weapons_F\Explosives\satchel"; model = "\A3\Weapons_F\Explosives\satchel";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.1,-0.1,0.05]";
};
};
}; };
class ACE_Explosives_Place_SLAM:ACE_Explosives_Place { class ACE_Explosives_Place_SLAM:ACE_Explosives_Place {

View File

@ -19,9 +19,9 @@ class Rsc_ACE_CallScreen_Edit:RscEdit {
colorText[] = {0,0,0,1}; colorText[] = {0,0,0,1};
colorDisabled[] = {1,1,1,0.25}; colorDisabled[] = {1,1,1,0.25};
colorSelection[] = { colorSelection[] = {
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])",
1 1
}; };
text = ""; text = "";

View File

@ -43,7 +43,7 @@ GVAR(CurrentSpeedDial) = 0;
GVAR(placeAction) = PLACE_CANCEL; GVAR(placeAction) = PLACE_CANCEL;
}; };
//Show defuse actions on cfgAmmos (allMines): //Show defuse actions on CfgAmmos (allMines):
_this call FUNC(interactEH); _this call FUNC(interactEH);
}] call EFUNC(common,addEventHandler); }] call EFUNC(common,addEventHandler);

View File

@ -29,7 +29,7 @@ if ((_code) == "") exitWith {
}; };
{ {
if ((_x select 0) == _name) exitWith { if ((_x select 0) == _name) exitWith {
_speedDial set [_foreachindex, _this]; _speedDial set [_forEachIndex, _this];
_found = true; _found = true;
}; };
} forEach _speedDial; } forEach _speedDial;

View File

@ -30,10 +30,10 @@ _result = true;
if (!_ignoreRange && {(_unit distance (_item select 0)) > _range}) exitWith {TRACE_1("out of range",_range); false}; if (!_ignoreRange && {(_unit distance (_item select 0)) > _range}) exitWith {TRACE_1("out of range",_range); false};
if (getNumber (ConfigFile >> "CfgAmmo" >> typeof (_item select 0) >> "TriggerWhenDestroyed") == 0) then { if (getNumber (ConfigFile >> "CfgAmmo" >> typeOf (_item select 0) >> "TriggerWhenDestroyed") == 0) then {
private ["_exp", "_previousExp"]; private ["_exp", "_previousExp"];
_previousExp = _item select 0; _previousExp = _item select 0;
_exp = getText (ConfigFile >> "CfgAmmo" >> typeof (_previousExp) >> "ACE_Explosive"); _exp = getText (ConfigFile >> "CfgAmmo" >> typeOf (_previousExp) >> "ACE_Explosive");
if (_exp != "") then { if (_exp != "") then {
_exp = createVehicle [_exp, [0,0,15001], [], 0, "NONE"]; _exp = createVehicle [_exp, [0,0,15001], [], 0, "NONE"];
_exp setDir (getDir _previousExp); _exp setDir (getDir _previousExp);

View File

@ -30,7 +30,7 @@ private "_explosive";
_explosive = [_code] call FUNC(getSpeedDialExplosive); _explosive = [_code] call FUNC(getSpeedDialExplosive);
if (_i >= (count _arr + 2)) then { if (_i >= (count _arr + 2)) then {
[_pfID] call CALLSTACK(cba_fnc_removePerFrameHandler); [_pfID] call CALLSTACK(CBA_fnc_removePerFrameHandler);
if ((count _explosive) > 0) then { if ((count _explosive) > 0) then {
[_unit, -1, [_explosive select 0, _explosive select 2]] call FUNC(detonateExplosive); [_unit, -1, [_explosive select 0, _explosive select 2]] call FUNC(detonateExplosive);
}; };

View File

@ -44,9 +44,9 @@ _list = [];
if (_adjustedList) then { if (_adjustedList) then {
_clackerList = _clackerList - ["X"]; _clackerList = _clackerList - ["X"];
if (count _clackerList == 0) then { if (count _clackerList == 0) then {
_unit SetVariable [QGVAR(Clackers), nil, true]; _unit setVariable [QGVAR(Clackers), nil, true];
} else { } else {
_unit SetVariable [QGVAR(Clackers), _clackerList, true]; _unit setVariable [QGVAR(Clackers), _clackerList, true];
}; };
}; };

View File

@ -45,7 +45,17 @@ if (!("ACE_DefusalKit" in (items ACE_player))) exitWith {};
if (((_x distance ACE_player) < 15) && {!(_x in _minesHelped)}) then { if (((_x distance ACE_player) < 15) && {!(_x in _minesHelped)}) then {
TRACE_2("Making Defuse Helper",(_x),(typeOf _x)); TRACE_2("Making Defuse Helper",(_x),(typeOf _x));
_defuseHelper = "ACE_DefuseObject" createVehicleLocal (getPos _x); _defuseHelper = "ACE_DefuseObject" createVehicleLocal (getPos _x);
_defuseHelper attachTo [_x, [0,0,0]];
private _config = configFile >> "CfgAmmo" >> typeOf _x;
private _defuseObjectPosition = getArray (_config >> QGVAR(defuseObjectPosition));
if (_defuseObjectPosition isEqualTo []) then {
_defuseObjectPosition = [0,0,0];
};
TRACE_1("DefuseObjectPosition",(_defuseObjectPosition));
_defuseHelper attachTo [_x, _defuseObjectPosition];
_defuseHelper setVariable [QGVAR(Explosive),_x]; _defuseHelper setVariable [QGVAR(Explosive),_x];
_addedDefuseHelpers pushBack _defuseHelper; _addedDefuseHelpers pushBack _defuseHelper;
_minesHelped pushBack _x; _minesHelped pushBack _x;

View File

@ -29,7 +29,7 @@ _config = ConfigFile >> "CfgWeapons" >> _item;
if (isClass _config && {getNumber(_config >> "ACE_Detonator") == 1}) then { if (isClass _config && {getNumber(_config >> "ACE_Detonator") == 1}) then {
private ["_clackerItems"]; private ["_clackerItems"];
_clackerItems = _giver getVariable [QGVAR(Clackers), []]; _clackerItems = _giver getVariable [QGVAR(Clackers), []];
_receiver SetVariable [QGVAR(Clackers), (_receiver getVariable [QGVAR(Clackers), []]) + _clackerItems, true]; _receiver setVariable [QGVAR(Clackers), (_receiver getVariable [QGVAR(Clackers), []]) + _clackerItems, true];
_detonators = [_giver] call FUNC(getDetonators); _detonators = [_giver] call FUNC(getDetonators);
if (count _detonators == 0) then { if (count _detonators == 0) then {

View File

@ -62,8 +62,8 @@ if (isNumber (_magazineTrigger >> "digDistance")) then {
_canDigDown = true; _canDigDown = true;
_surfaceType = surfaceType _pos; _surfaceType = surfaceType _pos;
if ((_surfaceType select [0,1]) == "#") then {_surfaceType = _surfaceType select [1, 99];}; if ((_surfaceType select [0,1]) == "#") then {_surfaceType = _surfaceType select [1, 99];};
if ((_surfaceType != "") || {isClass (configfile >> "CfgSurfaces" >> _surfaceType >> "soundEnviron")}) then { if ((_surfaceType != "") || {isClass (configFile >> "CfgSurfaces" >> _surfaceType >> "soundEnviron")}) then {
_soundEnviron = getText (configfile >> "CfgSurfaces" >> _surfaceType >> "soundEnviron"); _soundEnviron = getText (configFile >> "CfgSurfaces" >> _surfaceType >> "soundEnviron");
TRACE_2("Dig Down Surface",_surfaceType,_soundEnviron); TRACE_2("Dig Down Surface",_surfaceType,_soundEnviron);
_canDigDown = !(_soundEnviron in ["road", "tarmac", "concrete", "concrete_int", "int_concrete", "concrete_ext"]); _canDigDown = !(_soundEnviron in ["road", "tarmac", "concrete", "concrete_int", "int_concrete", "concrete_ext"]);
}; };

View File

@ -582,6 +582,7 @@
</Key> </Key>
<Key ID="STR_ACE_Explosives_ExplodeOnDefuse_DisplayName"> <Key ID="STR_ACE_Explosives_ExplodeOnDefuse_DisplayName">
<English>Explode on defusal?</English> <English>Explode on defusal?</English>
<German>Explodieren beim Entschärfen?</German>
<Portuguese>Explosão no desarmamento?</Portuguese> <Portuguese>Explosão no desarmamento?</Portuguese>
<Polish>Eksplozja przy rozbrajaniu?</Polish> <Polish>Eksplozja przy rozbrajaniu?</Polish>
<Czech>Explodovat při zneškodňování?</Czech> <Czech>Explodovat při zneškodňování?</Czech>
@ -592,6 +593,7 @@
</Key> </Key>
<Key ID="STR_ACE_Explosives_ExplodeOnDefuse_Description"> <Key ID="STR_ACE_Explosives_ExplodeOnDefuse_Description">
<English>Enable certain explosives to explode on defusal? Default: Yes</English> <English>Enable certain explosives to explode on defusal? Default: Yes</English>
<German>Sollen bestimmte Sprengladungen beim Entschärfen explodieren? Standard: Ja</German>
<Portuguese>Ativa certos explosivos para detonar no desarmamento? Padrão: Sim</Portuguese> <Portuguese>Ativa certos explosivos para detonar no desarmamento? Padrão: Sim</Portuguese>
<Polish>Spraw, aby niektóre ładunki wybuchowe eksplodowały przy próbie ich rozbrojenia? Domyślnie:Tak</Polish> <Polish>Spraw, aby niektóre ładunki wybuchowe eksplodowały przy próbie ich rozbrojenia? Domyślnie:Tak</Polish>
<Czech>Umožnit u některých výbušnin explozi při pokusu je zneškodnit? Výchozí: Ano</Czech> <Czech>Umožnit u některých výbušnin explozi při pokusu je zneškodnit? Výchozí: Ano</Czech>

View File

@ -19,5 +19,5 @@ GVAR(pfeh_id) = -1;
_this call FUNC(keyPress); _this call FUNC(keyPress);
}, },
{false}, {false},
[41, [true, false, false]], true] call cba_fnc_addKeybind; // Shift + Tilda (hold) [41, [true, false, false]], true] call CBA_fnc_addKeybind; // Shift + Tilda (hold)
}] call EFUNC(common,addEventHandler); }] call EFUNC(common,addEventHandler);

View File

@ -1,7 +1,7 @@
//fnc_doExplosions.sqf //fnc_doExplosions.sqf
#include "script_component.hpp" #include "script_component.hpp"
private ["_params", "_explosions", "_index", "_i", "_exp", "_refExp", "_bpos", "_hit", "_distance", "_indirectHitRange", "_depth"]; private ["_params", "_explosions", "_index", "_i", "_exp", "_refExp", "_bpos", "_hit", "_distance", "_indirectHitRange", "_depth"];
_params = _this select 0; _params = _this select 0;
_explosions = _params select 0; _explosions = _params select 0;
_index = _params select 1; _index = _params select 1;
@ -20,7 +20,7 @@ for "_i" from _index to ((_index+2) min (count _explosions)) do {
}; };
_index = _index + 2; _index = _index + 2;
if(_index >= (count _explosions)) then { if(_index >= (count _explosions)) then {
[(_this select 1)] call cba_fnc_removePerFrameHandler; [(_this select 1)] call CBA_fnc_removePerFrameHandler;
} else { } else {
_params set[1, _index]; _params set[1, _index];
}; };

View File

@ -1,7 +1,7 @@
//fnc_doReflections.sqf //fnc_doReflections.sqf
#include "script_component.hpp" #include "script_component.hpp"
private ["_pos", "_ammo", "_depth", "_hit", "_range", "_hitFactor", "_indirectHitRange", "_indirectHit", "_testParams"]; private ["_pos", "_ammo", "_depth", "_hit", "_range", "_hitFactor", "_indirectHitRange", "_indirectHit", "_testParams"];
_pos = _this select 0; _pos = _this select 0;
_ammo = _this select 1; _ammo = _this select 1;

View File

@ -1,6 +1,6 @@
//fnc_findReflections.sqf //fnc_findReflections.sqf
#include "script_component.hpp" #include "script_component.hpp"
private ["_split", "_radi", "_params", "_pos", "_explosiveInfo", "_los", "_nlos", "_zIndex", "_depth", "_indirectHitRange", "_indirectHit", "_distanceCount", "_lastPos", "_test", "_vec", "_testPos", "_buckets", "_excludes", "_bucketIndex", "_bucketPos", "_bucketList", "_c", "_index", "_blist", "_avgX", "_avgY", "_avgZ", "_bpos", "_distance", "_hitFactor", "_hit", "_range", "_refExp", "_rand", "_i", "_x", "_res", "_forEachIndex", "_explosions", "_can", "_dirvec", "_zAng"]; private ["_split", "_radi", "_params", "_pos", "_explosiveInfo", "_los", "_nlos", "_zIndex", "_depth", "_indirectHitRange", "_indirectHit", "_distanceCount", "_lastPos", "_test", "_vec", "_testPos", "_buckets", "_excludes", "_bucketIndex", "_bucketPos", "_bucketList", "_c", "_index", "_blist", "_avgX", "_avgY", "_avgZ", "_bpos", "_distance", "_hitFactor", "_hit", "_range", "_refExp", "_rand", "_i", "_x", "_res", "_forEachIndex", "_explosions", "_can", "_dirvec", "_zAng"];
_params = _this select 0; _params = _this select 0;
@ -21,15 +21,15 @@ _indirectHit = _explosiveInfo select 1;
_distanceCount = (floor _indirectHitRange*4) min 100; _distanceCount = (floor _indirectHitRange*4) min 100;
if(_zIndex < 5) then { if(_zIndex < 5) then {
_lastPos = _pos; _lastPos = _pos;
_zAng = _zIndex*20+2; _zAng = _zIndex*20+2;
if(_zAng > 80) then { if(_zAng > 80) then {
_radi = 1; _radi = 1;
_zAng = 90; _zAng = 90;
}; };
for "_i" from 0 to _radi do { for "_i" from 0 to _radi do {
_test = true; _test = true;
_vec = [1, ((_i*_split)+_rand) mod 360, _zAng] call cba_fnc_polar2vect; _vec = [1, ((_i*_split)+_rand) mod 360, _zAng] call CBA_fnc_polar2vect;
for "_x" from 1 to _distanceCount do { for "_x" from 1 to _distanceCount do {
_testPos = _pos vectorAdd (_vec vectorMultiply _x); _testPos = _pos vectorAdd (_vec vectorMultiply _x);
// drop ["\a3\data_f\Cl_basic","","Billboard",1,15,ASLtoATL _testPos,[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,1]],[0],0.0,2.0,"","",""]; // drop ["\a3\data_f\Cl_basic","","Billboard",1,15,ASLtoATL _testPos,[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,1]],[0],0.0,2.0,"","",""];
@ -43,7 +43,7 @@ if(_zIndex < 5) then {
// drop ["\a3\data_f\Cl_basic","","Billboard",1,15,ASLtoATL _testPos,[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,1]],[0],0.0,2.0,"","",""]; // drop ["\a3\data_f\Cl_basic","","Billboard",1,15,ASLtoATL _testPos,[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,1]],[0],0.0,2.0,"","",""];
// TEST_PAIRS pushBack [_pos, _lastPos, [1,0,0,1]]; // TEST_PAIRS pushBack [_pos, _lastPos, [1,0,0,1]];
}; };
// if(terrainIntersectASL [_pos, _testPos]) exitWith {}; // if(terrainIntersectASL [_pos, _testPos]) exitWith {};
_lastPos = _testPos; _lastPos = _testPos;
}; };
@ -106,7 +106,7 @@ if(_zIndex < 5) then {
_range = _range - (_range%2); _range = _range - (_range%2);
if(_hit >= 10 && _range > 0) then { if(_hit >= 10 && _range > 0) then {
// TEST_ICONS pushBack [_bpos, format["h: %1, r: %2, hf: %3 d: %4 ihr: %5", _hit, _range, _hitFactor, _distance, _indirectHitRange*4]]; // TEST_ICONS pushBack [_bpos, format["h: %1, r: %2, hf: %3 d: %4 ihr: %5", _hit, _range, _hitFactor, _distance, _indirectHitRange*4]];
// TEST_PAIRS pushBack [_pos, _bpos, [1,0,0,1]]; // TEST_PAIRS pushBack [_pos, _bpos, [1,0,0,1]];
_refExp = format["ace_explosion_reflection_%1_%2", _range, _hit]; _refExp = format["ace_explosion_reflection_%1_%2", _range, _hit];
// _refExp createVehicle (ASLtoATL _bpos); // _refExp createVehicle (ASLtoATL _bpos);
@ -122,5 +122,5 @@ if(_zIndex < 5) then {
// _dirvec = _dirvec vectorMultiply 100; // _dirvec = _dirvec vectorMultiply 100;
// _can setVelocity _dirvec; // _can setVelocity _dirvec;
[DFUNC(doExplosions), 0, [_explosions, 0]] call CBA_fnc_addPerFrameHandler; [DFUNC(doExplosions), 0, [_explosions, 0]] call CBA_fnc_addPerFrameHandler;
[(_this select 1)] call cba_fnc_removePerFrameHandler; [(_this select 1)] call CBA_fnc_removePerFrameHandler;
}; };

View File

@ -1,5 +1,5 @@
#include "script_component.hpp" #include "script_component.hpp"
if(GVAR(tracesStarted)) then { if(GVAR(tracesStarted)) then {
GVAR(tracesStarted) = false; GVAR(tracesStarted) = false;
[GVAR(traceID)] call cba_fnc_removePerFrameHandler; [GVAR(traceID)] call CBA_fnc_removePerFrameHandler;
}; };

View File

@ -10,5 +10,5 @@ if (alive _tracerObj && (count GVAR(traces)) > 0) then {
_positions = _data select 4; _positions = _data select 4;
_positions set [(count _positions), [(getPos _tracerObj), vectorMagnitude (velocity _tracerObj)]]; _positions set [(count _positions), [(getPos _tracerObj), vectorMagnitude (velocity _tracerObj)]];
} else { } else {
[(_this select 1)] call cba_fnc_removePerFrameHandler; [(_this select 1)] call CBA_fnc_removePerFrameHandler;
}; };

View File

@ -10,7 +10,7 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 3.5; priority = 3.5;
icon = PATHTOF(UI\gestures_ca.paa); icon = PATHTOF(UI\gestures_ca.paa);
class GVAR(Advance) { class GVAR(Advance) {
displayName = CSTRING(BIgestureAdvance); displayName = CSTRING(BIgestureAdvance);
condition = QUOTE(canStand _target); condition = QUOTE(canStand _target);
@ -116,7 +116,6 @@ class CfgVehicles {
statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2);); statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2););
showDisabled = 1; showDisabled = 1;
priority = 1.1; priority = 1.1;
hotkey = "8";
}; };
class class GVAR(No) { class class GVAR(No) {
@ -125,7 +124,6 @@ class CfgVehicles {
statement = QUOTE(_target playActionNow 'gestureNo';); statement = QUOTE(_target playActionNow 'gestureNo';);
showDisabled = 1; showDisabled = 1;
priority = 1.0; priority = 1.0;
hotkey = "9";
}; };
class class GVAR(Hi) { class class GVAR(Hi) {
@ -134,7 +132,6 @@ class CfgVehicles {
statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3);); statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3););
showDisabled = 1; showDisabled = 1;
priority = 0.9; priority = 0.9;
hotkey = "0";
}; };
*/ */

View File

@ -92,7 +92,7 @@
<Polish>Wskazać</Polish> <Polish>Wskazać</Polish>
<Czech>Ukázat</Czech> <Czech>Ukázat</Czech>
<French>Pointer</French> <French>Pointer</French>
<Russian>Точка</Russian> <Russian>Показать направление</Russian>
<Hungarian>Mutat</Hungarian> <Hungarian>Mutat</Hungarian>
<Portuguese>Apontar</Portuguese> <Portuguese>Apontar</Portuguese>
<Italian>Puntare a</Italian> <Italian>Puntare a</Italian>
@ -115,6 +115,8 @@
<French>Stop</French> <French>Stop</French>
<German>Stop</German> <German>Stop</German>
<Polish>Stop</Polish> <Polish>Stop</Polish>
<Russian>Стоп</Russian>
<Portuguese>Parar</Portuguese>
</Key> </Key>
<!-- COVER --> <!-- COVER -->
<Key ID="STR_ACE_Gestures_cover"> <Key ID="STR_ACE_Gestures_cover">
@ -135,6 +137,8 @@
<French>Regroupement</French> <French>Regroupement</French>
<German>Sammeln</German> <German>Sammeln</German>
<Polish>Zbiórka</Polish> <Polish>Zbiórka</Polish>
<Russian>Собраться</Russian>
<Portuguese>Reagrupar</Portuguese>
</Key> </Key>
<!-- FORWARD --> <!-- FORWARD -->
<Key ID="STR_ACE_Gestures_forward"> <Key ID="STR_ACE_Gestures_forward">
@ -142,12 +146,16 @@
<French>En avant</French> <French>En avant</French>
<German>Vorwärts Bewegen</German> <German>Vorwärts Bewegen</German>
<Polish>Naprzód</Polish> <Polish>Naprzód</Polish>
<Russian>Вперед</Russian>
<Portuguese>Mover em frente</Portuguese>
</Key> </Key>
<!-- ENGAGE --> <!-- ENGAGE -->
<Key ID="STR_ACE_Gestures_engage"> <Key ID="STR_ACE_Gestures_engage">
<English>Engage</English> <English>Engage</English>
<French>Engager</French> <French>Engager</French>
<Polish>Atak</Polish> <Polish>Atak</Polish>
<Russian>Открыть огонь</Russian>
<Portuguese>Engajar</Portuguese>
</Key> </Key>
<!-- POINT --> <!-- POINT -->
<Key ID="STR_ACE_Gestures_point"> <Key ID="STR_ACE_Gestures_point">
@ -155,6 +163,8 @@
<French>Pointer</French> <French>Pointer</French>
<German>Zeigen</German> <German>Zeigen</German>
<Polish>Wskaż</Polish> <Polish>Wskaż</Polish>
<Russian>Показать направление</Russian>
<Portuguese>Ponta</Portuguese>
</Key> </Key>
<!-- HOLD --> <!-- HOLD -->
<Key ID="STR_ACE_Gestures_hold"> <Key ID="STR_ACE_Gestures_hold">
@ -162,6 +172,8 @@
<French>Tenir</French> <French>Tenir</French>
<German>Anhalten</German> <German>Anhalten</German>
<Polish>Wstrzymać</Polish> <Polish>Wstrzymać</Polish>
<Russian>Ждать</Russian>
<Portuguese>Esperar</Portuguese>
</Key> </Key>
<!-- WARNING --> <!-- WARNING -->
<Key ID="STR_ACE_Gestures_warning"> <Key ID="STR_ACE_Gestures_warning">
@ -169,6 +181,8 @@
<French>Attention</French> <French>Attention</French>
<German>Achtung</German> <German>Achtung</German>
<Polish>Uwaga</Polish> <Polish>Uwaga</Polish>
<Russian>Внимание</Russian>
<Portuguese>Aviso</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Gestures_Hi"> <Key ID="STR_ACE_Gestures_Hi">
<English>Hi</English> <English>Hi</English>

View File

@ -20,8 +20,7 @@ params ["_projectile"];
if (alive _projectile) then { if (alive _projectile) then {
playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400];
private "_affected"; private _affected = _projectile nearEntities ["CAManBase", 20];
_affected = _projectile nearEntities ["CAManBase", 50];
["flashbangExplosion", _affected, [_projectile]] call EFUNC(common,targetEvent); ["flashbangExplosion", _affected, [_projectile]] call EFUNC(common,targetEvent);
}; };

View File

@ -11,7 +11,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
priority = 2.5; priority = 2.5;
icon = PATHTOF(UI\ACE_earplugs_x_ca.paa); icon = PATHTOF(UI\ACE_earplugs_x_ca.paa);
hotkey = "E";
}; };
class ACE_RemoveEarplugs { class ACE_RemoveEarplugs {
displayName = CSTRING(EarPlugs_Off); displayName = CSTRING(EarPlugs_Off);
@ -21,7 +20,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
priority = 2.5; priority = 2.5;
icon = PATHTOF(UI\ACE_earplugs_x_ca.paa); icon = PATHTOF(UI\ACE_earplugs_x_ca.paa);
hotkey = "E";
}; };
}; };
}; };

View File

@ -26,7 +26,7 @@ GVAR(time4) = 0;
["playerChanged", { ["playerChanged", {
GVAR(deafnessDV) = 0; GVAR(deafnessDV) = 0;
GVAR(deafnessPrior) = 0; GVAR(deafnessPrior) = 0;
ACE_player setvariable [QGVAR(deaf), false]; ACE_player setVariable [QGVAR(deaf), false];
GVAR(beep) = false; GVAR(beep) = false;
GVAR(beep2) = false; GVAR(beep2) = false;

View File

@ -42,7 +42,7 @@ if (!_justUpdateVolume) then {
GVAR(deafnessPrior) = GVAR(deafnessDV); GVAR(deafnessPrior) = GVAR(deafnessDV);
if (GVAR(deafnessDV) > 19.75) then { if (GVAR(deafnessDV) > 19.75) then {
ACE_player setvariable [QGVAR(deaf), true]; ACE_player setVariable [QGVAR(deaf), true];
if ((!GVAR(DisableEarRinging)) && {ACE_time > GVAR(time4)}) then { if ((!GVAR(DisableEarRinging)) && {ACE_time > GVAR(time4)}) then {
playSound "ACE_Combat_Deafness"; playSound "ACE_Combat_Deafness";
GVAR(beep2) = true; GVAR(beep2) = true;
@ -50,7 +50,7 @@ if (!_justUpdateVolume) then {
GVAR(time4) = ACE_time + 30; GVAR(time4) = ACE_time + 30;
}; };
} else { } else {
ACE_player setvariable [QGVAR(deaf), false]; ACE_player setVariable [QGVAR(deaf), false];
}; };
if (GVAR(deafnessDV) > 10) then { if (GVAR(deafnessDV) > 10) then {

View File

@ -172,10 +172,14 @@
<Key ID="STR_ACE_Hearing_autoAddEarplugsToUnits_DisplayName"> <Key ID="STR_ACE_Hearing_autoAddEarplugsToUnits_DisplayName">
<English>Add earplugs to units</English> <English>Add earplugs to units</English>
<Polish>Dodaj stopery dla jednostek</Polish> <Polish>Dodaj stopery dla jednostek</Polish>
<Russian>Добавлять юнитам беруши</Russian>
<Portuguese>Adiciona protetores de ouvido as unidades</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Hearing_autoAddEarplugsToUnits_Description"> <Key ID="STR_ACE_Hearing_autoAddEarplugsToUnits_Description">
<English>Add the `ACE_EarPlugs` item to all units that have loud weapons. Can disable if using custom loadouts.</English> <English>Add the `ACE_EarPlugs` item to all units that have loud weapons. Can disable if using custom loadouts.</English>
<Polish>Dodaje `ACE_EarPlugs` - stopery - do wszystkich jednostek, które posiadają głośną broń. Można wyłaczyć w przypadku korzystania z niestandardowych loadoutów.</Polish> <Polish>Dodaje `ACE_EarPlugs` - stopery - do wszystkich jednostek, które posiadają głośną broń. Można wyłaczyć w przypadku korzystania z niestandardowych loadoutów.</Polish>
<Russian>Добавляет предмет `ACE_EarPlugs` всем юнитам, которые имеют громкое оружие. Можно отключить при ручной настройке снаряжения.</Russian>
<Portuguese>Adicionar o item `ACE_EarPlugs` a todas as unidades que tenham armas barulhentas. Pode ser desabilitado com carregamentos customizados.</Portuguese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -93,7 +93,7 @@ GVAR(no_cams) sort true;
GVAR(pos) = getPosVisual GVAR(huntIR); GVAR(pos) = getPosVisual GVAR(huntIR);
if ((!dialog) || (count GVAR(no_cams) == 0) || ((GVAR(pos) select 2) <= 20)) exitWith { if ((!dialog) || (count GVAR(no_cams) == 0) || ((GVAR(pos) select 2) <= 20)) exitWith {
[_this select 1] call cba_fnc_removePerFrameHandler; [_this select 1] call CBA_fnc_removePerFrameHandler;
GVAR(stop) = true; GVAR(stop) = true;

View File

@ -48,7 +48,7 @@ createDialog "ace_huntir_cam_dialog_off";
_nearestHuntIRs = ACE_player nearEntities ["ACE_HuntIR", HUNTIR_MAX_TRANSMISSION_RANGE]; _nearestHuntIRs = ACE_player nearEntities ["ACE_HuntIR", HUNTIR_MAX_TRANSMISSION_RANGE];
if ((!dialog) || GVAR(done)) exitWith { if ((!dialog) || GVAR(done)) exitWith {
[_this select 1] call cba_fnc_removePerFrameHandler; [_this select 1] call CBA_fnc_removePerFrameHandler;
if (dialog && GVAR(state) == "connected") then { if (dialog && GVAR(state) == "connected") then {
[_nearestHuntIRs select 0] call FUNC(cam); [_nearestHuntIRs select 0] call FUNC(cam);

View File

@ -41,14 +41,14 @@ GVAR(ParsedTextCached) = [];
// Statement // Statement
[0] call FUNC(keyDown) [0] call FUNC(keyDown)
},{[0,false] call FUNC(keyUp)}, },{[0,false] call FUNC(keyUp)},
[219, [false, false, false]], false] call cba_fnc_addKeybind; //Left Windows Key [219, [false, false, false]], false] call CBA_fnc_addKeybind; //Left Windows Key
["ACE3 Common", QGVAR(SelfInteractKey), (localize LSTRING(SelfInteractKey)), ["ACE3 Common", QGVAR(SelfInteractKey), (localize LSTRING(SelfInteractKey)),
{ {
// Statement // Statement
[1] call FUNC(keyDown) [1] call FUNC(keyDown)
},{[1,false] call FUNC(keyUp)}, },{[1,false] call FUNC(keyUp)},
[219, [false, true, false]], false] call cba_fnc_addKeybind; //Left Windows Key + Ctrl/Strg [219, [false, true, false]], false] call CBA_fnc_addKeybind; //Left Windows Key + Ctrl/Strg
// Listens for the falling unconscious event, just in case the menu needs to be closed // Listens for the falling unconscious event, just in case the menu needs to be closed

View File

@ -6,6 +6,6 @@ params ["_ctrl", "_index", "_text"];
//systemChat str (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")); //systemChat str (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1"));
if (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")) then { if (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")) then {
GVAR(ParsedTextCached) set [_index, _text]; GVAR(ParsedTextCached) set [_index, _text];
_ctrl ctrlSetStructuredText parseText _text; _ctrl ctrlSetStructuredText parseText _text;
}; };

View File

@ -116,7 +116,7 @@ _angle = _centerAngle - _angleSpan / 2;
private ["_offset","_newPos"]; private ["_offset","_newPos"];
_newPos = if (GVAR(UseListMenu)) then { _newPos = if (GVAR(UseListMenu)) then {
[(_sPos select 0) + _scaleX, [(_sPos select 0) + _scaleX,
(_sPos select 1) + _scaleY * (_foreachindex - _numChildren/2 + 0.5)]; (_sPos select 1) + _scaleY * (_forEachIndex - _numChildren/2 + 0.5)];
} else { } else {
[(_sPos select 0) - _scaleX * (cos _angle), [(_sPos select 0) - _scaleX * (cos _angle),
(_sPos select 1) + _scaleY * (sin _angle)]; (_sPos select 1) + _scaleY * (sin _angle)];

View File

@ -302,10 +302,14 @@
<Key ID="STR_ACE_Interact_Menu_menuAnimationSpeed"> <Key ID="STR_ACE_Interact_Menu_menuAnimationSpeed">
<English>Interaction Animation Speed</English> <English>Interaction Animation Speed</English>
<Polish>Szybkość animacji interakcji</Polish> <Polish>Szybkość animacji interakcji</Polish>
<Russian>Скорость анимации меню взаимодействия</Russian>
<Portuguese>Velocidade da animação de interação</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Interact_Menu_menuAnimationSpeed_Description"> <Key ID="STR_ACE_Interact_Menu_menuAnimationSpeed_Description">
<English>Makes menu animations faster and decreases the time needed to hover to show sub actions</English> <English>Makes menu animations faster and decreases the time needed to hover to show sub actions</English>
<Polish>Przyśpiesza animacje menu interakcji oraz czas wymagany do pokazania podmenu</Polish> <Polish>Przyśpiesza animacje menu interakcji oraz czas wymagany do pokazania podmenu</Polish>
<Russian>Ускоряет анимацию меню и уменьшает задержку при наведении мыши для раскрытия подменю</Russian>
<Portuguese>Faz com que as animações do menu de interação sejam mais rápidas, dimiuindo a necessidade de esperar para mostrar as ações</Portuguese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -69,7 +69,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
priority = 3.2; priority = 3.2;
icon = PATHTOF(UI\team\team_management_ca.paa); icon = PATHTOF(UI\team\team_management_ca.paa);
hotkey = "M";
class ACE_AssignTeamRed { class ACE_AssignTeamRed {
displayName = CSTRING(AssignTeamRed); displayName = CSTRING(AssignTeamRed);
@ -78,7 +77,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_red_ca.paa); icon = PATHTOF(UI\team\team_red_ca.paa);
priority = 2.4; priority = 2.4;
hotkey = "R";
}; };
class ACE_AssignTeamGreen { class ACE_AssignTeamGreen {
displayName = CSTRING(AssignTeamGreen); displayName = CSTRING(AssignTeamGreen);
@ -87,7 +85,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_green_ca.paa); icon = PATHTOF(UI\team\team_green_ca.paa);
priority = 2.3; priority = 2.3;
hotkey = "G";
}; };
class ACE_AssignTeamBlue { class ACE_AssignTeamBlue {
displayName = CSTRING(AssignTeamBlue); displayName = CSTRING(AssignTeamBlue);
@ -96,7 +93,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_blue_ca.paa); icon = PATHTOF(UI\team\team_blue_ca.paa);
priority = 2.2; priority = 2.2;
hotkey = "B";
}; };
class ACE_AssignTeamYellow { class ACE_AssignTeamYellow {
displayName = CSTRING(AssignTeamYellow); displayName = CSTRING(AssignTeamYellow);
@ -105,7 +101,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_yellow_ca.paa); icon = PATHTOF(UI\team\team_yellow_ca.paa);
priority = 2.1; priority = 2.1;
hotkey = "Y";
}; };
class ACE_UnassignTeam { class ACE_UnassignTeam {
displayName = CSTRING(LeaveTeam); displayName = CSTRING(LeaveTeam);
@ -114,7 +109,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_white_ca.paa); icon = PATHTOF(UI\team\team_white_ca.paa);
priority = 2.5; priority = 2.5;
hotkey = "N";
}; };
}; };
@ -125,7 +119,6 @@ class CfgVehicles {
showDisabled = 0; showDisabled = 0;
priority = 2.6; priority = 2.6;
icon = PATHTOF(UI\team\team_management_ca.paa); icon = PATHTOF(UI\team\team_management_ca.paa);
hotkey = "J";
}; };
class ACE_GetDown { class ACE_GetDown {
displayName = CSTRING(GetDown); displayName = CSTRING(GetDown);
@ -224,7 +217,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 3.2; priority = 3.2;
icon = PATHTOF(UI\team\team_management_ca.paa); icon = PATHTOF(UI\team\team_management_ca.paa);
hotkey = "M";
class ACE_JoinTeamRed { class ACE_JoinTeamRed {
displayName = CSTRING(JoinTeamRed); displayName = CSTRING(JoinTeamRed);
@ -234,7 +226,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 2.4; priority = 2.4;
icon = PATHTOF(UI\team\team_red_ca.paa); icon = PATHTOF(UI\team\team_red_ca.paa);
hotkey = "R";
}; };
class ACE_JoinTeamGreen { class ACE_JoinTeamGreen {
displayName = CSTRING(JoinTeamGreen); displayName = CSTRING(JoinTeamGreen);
@ -244,7 +235,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 2.3; priority = 2.3;
icon = PATHTOF(UI\team\team_green_ca.paa); icon = PATHTOF(UI\team\team_green_ca.paa);
hotkey = "G";
}; };
class ACE_JoinTeamBlue { class ACE_JoinTeamBlue {
displayName = CSTRING(JoinTeamBlue); displayName = CSTRING(JoinTeamBlue);
@ -254,7 +244,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 2.2; priority = 2.2;
icon = PATHTOF(UI\team\team_blue_ca.paa); icon = PATHTOF(UI\team\team_blue_ca.paa);
hotkey = "B";
}; };
class ACE_JoinTeamYellow { class ACE_JoinTeamYellow {
displayName = CSTRING(JoinTeamYellow); displayName = CSTRING(JoinTeamYellow);
@ -264,7 +253,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 2.1; priority = 2.1;
icon = PATHTOF(UI\team\team_yellow_ca.paa); icon = PATHTOF(UI\team\team_yellow_ca.paa);
hotkey = "Y";
}; };
class ACE_LeaveTeam { class ACE_LeaveTeam {
displayName = CSTRING(LeaveTeam); displayName = CSTRING(LeaveTeam);
@ -274,7 +262,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 2.5; priority = 2.5;
icon = PATHTOF(UI\team\team_white_ca.paa); icon = PATHTOF(UI\team\team_white_ca.paa);
hotkey = "N";
}; };
class ACE_BecomeLeader { class ACE_BecomeLeader {
displayName = CSTRING(BecomeLeader); displayName = CSTRING(BecomeLeader);
@ -284,7 +271,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 1.0; priority = 1.0;
icon = PATHTOF(UI\team\team_white_ca.paa); icon = PATHTOF(UI\team\team_white_ca.paa);
hotkey = "L";
}; };
class ACE_LeaveGroup { class ACE_LeaveGroup {
displayName = CSTRING(LeaveGroup); displayName = CSTRING(LeaveGroup);
@ -294,7 +280,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 1.2; priority = 1.2;
icon = PATHTOF(UI\team\team_management_ca.paa); icon = PATHTOF(UI\team\team_management_ca.paa);
hotkey = "M";
}; };
}; };
class ACE_Equipment { class ACE_Equipment {
@ -305,7 +290,6 @@ class CfgVehicles {
showDisabled = 1; showDisabled = 1;
priority = 4.5; priority = 4.5;
icon = ""; // @todo icon = ""; // @todo
hotkey = "E";
}; };
}; };
}; };
@ -485,7 +469,7 @@ class CfgVehicles {
}; };
}; };
}; };
class StaticMGWeapon: StaticWeapon {}; class StaticMGWeapon: StaticWeapon {};
class HMG_01_base_F: StaticMGWeapon {}; class HMG_01_base_F: StaticMGWeapon {};

View File

@ -22,7 +22,7 @@ params ["_unit", "_team"];
// display message // display message
if (_unit == ACE_player) then { if (_unit == ACE_player) then {
private "_message"; private "_message";
if (_team == "MAIN") then { if (_team == "MAIN") then {
_message = localize LSTRING(LeftTeam); _message = localize LSTRING(LeftTeam);

View File

@ -695,26 +695,36 @@
<English>Pass magazine</English> <English>Pass magazine</English>
<German>Magazin geben</German> <German>Magazin geben</German>
<Polish>Podaj magazynek</Polish> <Polish>Podaj magazynek</Polish>
<Russian>Передать магазин</Russian>
<Portuguese>Passar carregador</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Interaction_PassMagazinePrimary"> <Key ID="STR_ACE_Interaction_PassMagazinePrimary">
<English>Primary magazine</English> <English>Primary magazine</English>
<German>Gewehrmagazin</German> <German>Gewehrmagazin</German>
<Polish>Magazynek karabinowy</Polish> <Polish>Magazynek karabinowy</Polish>
<Russian>Основной магазин</Russian>
<Portuguese>Carregador primário</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Interaction_PassMagazineHandgun"> <Key ID="STR_ACE_Interaction_PassMagazineHandgun">
<English>Pistol magazine</English> <English>Pistol magazine</English>
<German>Pistolenmagazin</German> <German>Pistolenmagazin</German>
<Polish>Magazynek pistoletowy</Polish> <Polish>Magazynek pistoletowy</Polish>
<Russian>Магазин к пистолету</Russian>
<Portuguese>Carregador da pistola</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Interaction_PassMagazineHint"> <Key ID="STR_ACE_Interaction_PassMagazineHint">
<English>%1 passed you a %2 magazine.</English> <English>%1 passed you a %2 magazine.</English>
<German>%1 hat dir ein %2 Magazin gegeben.</German> <German>%1 hat dir ein %2 Magazin gegeben.</German>
<Polish>%1 podał Ci magazynek %2.</Polish> <Polish>%1 podał Ci magazynek %2.</Polish>
<Russian>%1 передал вам магазин %2.</Russian>
<Portuguese>%1 passou a você um carregador %2.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Interaction_PassMagazineSetting"> <Key ID="STR_ACE_Interaction_PassMagazineSetting">
<English>Show "pass magazine" interaction</English> <English>Show "pass magazine" interaction</English>
<German>Zeige "Magazine geben" Interaktion</German> <German>Zeige "Magazine geben" Interaktion</German>
<Polish>Pokaż interakcję "podaj magazynek"</Polish> <Polish>Pokaż interakcję "podaj magazynek"</Polish>
<Russian>Показывать действие "передать магазин"</Russian>
<Portuguese>Mostrar a interação "Passar carregador"</Portuguese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -55,7 +55,7 @@ if (((count _weaponConfig) < 1) || {(getNumber (_weaponConfig select 0)) != 1})
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire); _fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
}; };
[(_this select 1)] call cba_fnc_removePerFrameHandler; [(_this select 1)] call CBA_fnc_removePerFrameHandler;
GVAR(pfehID) = -1; GVAR(pfehID) = -1;
}; };

Some files were not shown because too many files have changed in this diff Show More