Somewhat better VON Block

Not perfect, occasionally the player can double tap a button to lock VON
on - which now they cannot turn off unless they open the escape menu and
double tap to turn off.

Chat channel changes are now blocked when VON is active.

ActionKeys are now recalculated on key binding change, but it is
important to note that double tap bindings DO NOT work with the
ActionKeys command. This is why inputAction check is neccesary

Summary: Double tapping a key to lock von on (VoiceOverNet) is not
reliably blocked, nor is it blocked at all in secondary
displays/dialogs. otherwise, this works pretty well.
This commit is contained in:
icomrade
2016-11-26 18:48:11 -05:00
parent 7c566a1345
commit 52c9c7ceda
5 changed files with 38 additions and 12 deletions

View File

@@ -40,6 +40,7 @@ class RscDisplayMission: RscDisplayEmpty
onKeyDown = "if (!isNil 'DZ_KeyDown_EH') then {_this call DZ_KeyDown_EH;};"; //assigned much quicker than spawning init_keyboard
};
class RscDisplayConfigure {
idd = 4;
onUnload = "if (!isNil 'updateControlsHandle') then {terminate updateControlsHandle;}; if (!isNil 'ui_updateControls') then {updateControlsHandle = true spawn ui_updateControls;};";
class controlsBackground;
class controls;
@@ -103,6 +104,13 @@ class RscDisplayChannel
onMouseButtonDown = "_handle = if (!isNil 'DZE_FilterCheats') then {[0,(_this select 1),false] call DZE_FilterCheats} else {false}; _handle";
class controls;
};
class RscDisplayVoiceChat
{
idd = 55;
onKeyDown = "_handle = if (!isNil 'DZE_FilterCheats') then {_this call DZE_FilterCheats} else {false}; _handle";
onMouseButtonDown = "_handle = if (!isNil 'DZE_FilterCheats') then {[0,(_this select 1),false] call DZE_FilterCheats} else {false}; _handle";
class controls;
};
class RscPictureGUI
{
access = 0;
@@ -434,6 +442,7 @@ class RscDisplayMPInterrupt : RscStandardDisplay {
//onLoad = "_dummy = ['Init', _this] execVM '\ca\ui\scripts\pauseLoadinit.sqf'; [(_this select 0)] execVM '\z\addons\dayz_code\compile\player_onPause.sqf';"; _respawn = (_this select 0) displayCtrl 1010); _respawn ctrlEnable false; _abort = (_this select 0) displayCtrl 104); _abort ctrlEnable false;
onLoad = "uiNamespace setVariable ['RscDisplayMPInterrupt', _this select 0]; _this call fn_pauseMenuChecks; [] spawn player_onPause; _dummy = ['Init', _this] execVM '\ca\ui\scripts\pauseLoadinit.sqf';"; /*diag_log[diag_tickTime,'RscDisplayMPInterrupt'];*/
onUnload = "uiNamespace setVariable ['RscDisplayMPInterrupt', nil];['Unload', _this] execVM '\ca\ui\scripts\pauseOnUnload.sqf';";
onKeyDown = "_handle = if (!isNil 'DZE_FilterCheats') then {_this call DZE_FilterCheats} else {false}; _handle";
class controlsBackground {
class Mainback : RscPicture {