mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Explosives - Add CBA settings for max/min/default timer values (#7916)
* Transfer to CBA settings, add timer options * Remove wiki note * Tweak arrays, stringtables * moveToSQF
This commit is contained in:
parent
74d74ede71
commit
e27110aac3
@ -1,23 +1,11 @@
|
|||||||
class ACE_Settings {
|
class ACE_Settings {
|
||||||
class GVAR(requireSpecialist) {
|
class GVAR(requireSpecialist) {
|
||||||
category = CSTRING(Menu);
|
movedToSQF = 1;
|
||||||
displayName = CSTRING(RequireSpecialist_DisplayName);
|
|
||||||
description = CSTRING(RequireSpecialist_Description);
|
|
||||||
value = 0;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
};
|
||||||
class GVAR(punishNonSpecialists) {
|
class GVAR(punishNonSpecialists) {
|
||||||
category = CSTRING(Menu);
|
movedToSQF = 1;
|
||||||
displayName = CSTRING(PunishNonSpecialists_DisplayName);
|
|
||||||
description = CSTRING(PunishNonSpecialists_Description);
|
|
||||||
value = 1;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
};
|
||||||
class GVAR(explodeOnDefuse) {
|
class GVAR(explodeOnDefuse) {
|
||||||
category = CSTRING(Menu);
|
movedToSQF = 1;
|
||||||
displayName = CSTRING(ExplodeOnDefuse_DisplayName);
|
|
||||||
description = CSTRING(ExplodeOnDefuse_Description);
|
|
||||||
value = 1;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,6 +8,8 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
|
#include "initSettings.sqf"
|
||||||
|
|
||||||
GVAR(detonationHandlers) = [];
|
GVAR(detonationHandlers) = [];
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -15,9 +15,6 @@
|
|||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define TIMER_VALUE_MIN_CUSTOM (missionNamespace getVariable [QGVAR(customTimerMin), TIMER_VALUE_MIN])
|
|
||||||
#define TIMER_VALUE_MAX_CUSTOM (missionNamespace getVariable [QGVAR(customTimerMax), TIMER_VALUE_MAX])
|
|
||||||
|
|
||||||
params ["_explosive"];
|
params ["_explosive"];
|
||||||
TRACE_1("Opening timer UI",_explosive);
|
TRACE_1("Opening timer UI",_explosive);
|
||||||
|
|
||||||
@ -26,8 +23,8 @@ private _display = uiNamespace getVariable [QGVAR(timerDisplay), displayNull];
|
|||||||
|
|
||||||
// Update slider speed to 1s
|
// Update slider speed to 1s
|
||||||
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetSpeed [1, 1];
|
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetSpeed [1, 1];
|
||||||
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetRange [TIMER_VALUE_MIN_CUSTOM, TIMER_VALUE_MAX_CUSTOM];
|
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetRange [GVAR(customTimerMin), GVAR(customTimerMax)];
|
||||||
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetPosition (TIMER_VALUE_DEFAULT max TIMER_VALUE_MIN_CUSTOM min TIMER_VALUE_MAX_CUSTOM);
|
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetPosition (GVAR(customTimerDefault) max GVAR(customTimerMin) min GVAR(customTimerMax));
|
||||||
|
|
||||||
|
|
||||||
// Add confirm button action
|
// Add confirm button action
|
||||||
@ -58,7 +55,7 @@ _display displayAddEventHandler ["MouseZChanged", {
|
|||||||
if (cba_events_control) then {_change = _change * 10};
|
if (cba_events_control) then {_change = _change * 10};
|
||||||
|
|
||||||
private _slider = _display displayCtrl IDC_TIMER_SLIDER;
|
private _slider = _display displayCtrl IDC_TIMER_SLIDER;
|
||||||
private _value = (sliderPosition _slider + _change) max TIMER_VALUE_MIN_CUSTOM min TIMER_VALUE_MAX_CUSTOM;
|
private _value = (sliderPosition _slider + _change) max GVAR(customTimerMin) min GVAR(customTimerMax);
|
||||||
_slider sliderSetPosition _value;
|
_slider sliderSetPosition _value;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
56
addons/explosives/initSettings.sqf
Normal file
56
addons/explosives/initSettings.sqf
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
private _categoryStr = format ["ACE %1", LLSTRING(Menu)];
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(requireSpecialist),
|
||||||
|
"CHECKBOX",
|
||||||
|
[LLSTRING(RequireSpecialist_DisplayName),LLSTRING(RequireSpecialist_Description)],
|
||||||
|
_categoryStr,
|
||||||
|
false,
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(punishNonSpecialists),
|
||||||
|
"CHECKBOX",
|
||||||
|
[LLSTRING(PunishNonSpecialists_DisplayName),LLSTRING(PunishNonSpecialists_Description)],
|
||||||
|
_categoryStr,
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(explodeOnDefuse),
|
||||||
|
"CHECKBOX",
|
||||||
|
[LLSTRING(ExplodeOnDefuse_DisplayName),LLSTRING(ExplodeOnDefuse_Description)],
|
||||||
|
_categoryStr,
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
// Variable names to preserve https://github.com/acemod/ACE3/pull/6882
|
||||||
|
[
|
||||||
|
QGVAR(customTimerMin),
|
||||||
|
"TIME",
|
||||||
|
[LLSTRING(TimerMin_DisplayName), LLSTRING(TimerMin_Description)],
|
||||||
|
[_categoryStr, LLSTRING(ExplosiveTimer)],
|
||||||
|
[0, 5999, TIMER_VALUE_MIN],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(customTimerMax),
|
||||||
|
"TIME",
|
||||||
|
[LLSTRING(TimerMax_DisplayName), LLSTRING(TimerMax_Description)],
|
||||||
|
[_categoryStr, LLSTRING(ExplosiveTimer)],
|
||||||
|
[0, 5999, TIMER_VALUE_MAX],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(customTimerDefault),
|
||||||
|
"TIME",
|
||||||
|
[LLSTRING(TimerDefault_DisplayName), LLSTRING(TimerDefault_Description)],
|
||||||
|
[_categoryStr, LLSTRING(ExplosiveTimer)],
|
||||||
|
[0, 5999, TIMER_VALUE_DEFAULT],
|
||||||
|
false
|
||||||
|
] call CBA_fnc_addSetting;
|
@ -1101,5 +1101,23 @@
|
|||||||
<Polish>Kontroluje, czy jednostka jest specjalistą od materiałów wybuchowych.</Polish>
|
<Polish>Kontroluje, czy jednostka jest specjalistą od materiałów wybuchowych.</Polish>
|
||||||
<Russian>Определяет, является ли юнит сапёром.</Russian>
|
<Russian>Определяет, является ли юнит сапёром.</Russian>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Explosives_TimerMin_DisplayName">
|
||||||
|
<English>Minimum Time</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Explosives_TimerMax_DisplayName">
|
||||||
|
<English>Maximum Time</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Explosives_TimerDefault_DisplayName">
|
||||||
|
<English>Default Time</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Explosives_TimerMin_Description">
|
||||||
|
<English>Minimum time value (in seconds) for the explosive timer.</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Explosives_TimerMax_Description">
|
||||||
|
<English>Maximum time value (in seconds) for the explosive timer.</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Explosives_TimerDefault_Description">
|
||||||
|
<English>Default time value (in seconds) for the explosive timer.</English>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -204,9 +204,3 @@ Jammer that blocks RF triggers:
|
|||||||
true
|
true
|
||||||
}] call ace_explosives_fnc_addDetonateHandler;
|
}] call ace_explosives_fnc_addDetonateHandler;
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 5.4 Custom timer limits
|
|
||||||
`Added in 3.12.7`
|
|
||||||
|
|
||||||
Can set custom min and max time for the timer trigger, can set one or both, time in seconds
|
|
||||||
`ace_explosives_customTimerMin` / `ace_explosives_customTimerMax`
|
|
||||||
|
Loading…
Reference in New Issue
Block a user