Some combo binds will cause actionKeys to return a number greater than
six digits. See AgentRev's note:
https://community.bistudio.com/wiki/actionKeys
An example is NumLock + P [1.15763e+009]. Using a number this large as
an index errors out. Example:
test_array = [];
test_array set [9999991,true];
But six digits or less will not error:
test_array = [];
test_array set [999999,true];
Forgot to remove F4 from the blocked list in 5acad04 @icomrade so it was
being overwritten.
Shift + P is not a hardcoded engine bind. It is just the default
DSInterface bind, so actionKeys "DSInterface" covers that in f760896.
- Removed some unneeded exceptions
- Moved tree chop PVEH to server compile only so client does not need
setdamage exception
- Replaced "showCommandingMenu" filter with stricter
"menu" filter
- Renamed two files with no changes for easier filtering of
"menu"
Vanilla
commits:
1d639b557b3a292425375cdf249ea9
The slow searches are needed on other maps until waterHoleProxy objects
are added for them. They need to be added at every pond and
non-"Land_pumpa" well. Right now Chernarus is the only map that has them
placed.
Fixes#1835Fixes#1841
Filter cheats is now added to the main options menus that needed it.
It is not needed on the map (display 12) because KeyDown for display 46
also fires when it is open. So filterCheats was firing twice (once on
each display) in that case.
KeyDown does not fire on display 63 at all
regardless of whether PTT or VON is held down, toggled or chat open.
Keydown does fire on 55, but only after the mic icon is locked on, so it
is of limited use. MouseButtonDown does not fire on 55 or 63. So it is
useless to add to those displays. You can confirm this with:
(findDisplay 63) displayAddEventHandler ["KeyDown","systemchat
'fired';"];
Filter cheats is now only checked on display 46 when a
voice, channel, or cheat key is pressed instead of on every key press.
This still works 100% of the time for blocking cheat input. For
performance reasons it's probably not worth checking all the conditions
in filterCheats with every key press on display46 just for the VON
block. Doing so covers some edge combination bind cases better, so it
may be worth considering again if no better alternative is found. For
now this solution is good enough to cover the majority of cases without
slowing down the keyhandler during normal usage.
The VON message now
tells you exactly which channel block you triggered instead of listing
all of them.
Fixed issue mentioned in 52c9c7c with VON getting stuck on when using a
double tap keybind.
Tested:
1. Talk in side with regular/combo/mouse bind
2. Change channels
while mic is locked on with regular/combo/mouse bind
3. Change channels
with Up/Down arrows while chat is open.
4. Trying all cases in steps 1-3
with a dialog open.
It is possible to bypass the VON block with some different control
settings and combinations of the above, but for default controls and
common usage it works the majority of the time.
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.
Moved to display 46 keydown since keydown on 63 only fires after the VON
transmission has already started (slight delay).
Added mouseButtonDown so it can not be bypassed via assigning a mouse
button.
Vanilla commit:
e9b21a7e79
@icomrade we forgot to refresh keyboard_keys after the player changes
their controls in-game. The keyhandler was still using the old
keyboard_keys array since it is only set once at login time. The new
keys they set in-game wouldn't work until they relogged.
Also makes it easier to bunny hop in quick succession. Previously double
tap triggered a bunny hop immediately followed by a regular vault.
Vanilla commit:
5833c76491
This adds keydown handler for chat, map, and diary displays.
Additionally, this can be used to handle malicious chat input without a
delay by modifying the associated compile
shift + - is used to ented arma "chests" which allow the player to issue
endMission, and limit their fps (min 5 fps limit). This unfortunately
disables the flush cheat, but attempts to filter out input and allow
flush are not reliable.