mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Add block for voice channels
use DZE_DisabledChannels as decribed in configvariables.sqf
This commit is contained in:
@@ -96,7 +96,12 @@ class RscDisplayChat
|
||||
onKeyDown = "if (!isNil 'DZE_FilterCheats') then {_this call DZE_FilterCheats;}; false";
|
||||
class controls;
|
||||
};
|
||||
|
||||
class RscDisplayChannel
|
||||
{
|
||||
idd = 63;
|
||||
onKeyDown = "_handle = if (!isNil 'DZE_FilterCheats') then {_this call DZE_FilterCheats;} else {false;}; _handle";
|
||||
class controls;
|
||||
};
|
||||
class RscPictureGUI
|
||||
{
|
||||
access = 0;
|
||||
|
||||
@@ -33,6 +33,7 @@ DZE_NoBuildNear = []; //Array of object class names that are blacklisted to buil
|
||||
DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only)
|
||||
DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature
|
||||
DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles.
|
||||
DZE_DisabledChannels = ["str_channel_side","str_channel_global","str_channel_command"]; //list of stringTable.xml definiitions to disable voice channels. available channels are: ["str_channel_side", "str_channel_group","str_channel_global","str_channel_direct","str_channel_command","str_channel_vehicle"]
|
||||
|
||||
// Death Messages
|
||||
DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel.
|
||||
@@ -109,3 +110,10 @@ dayz_requireRadio = false; // Require players to have a radio on their toolbelt
|
||||
Variables that are map specific or frequently changed should be included in init.sqf by default
|
||||
with a corresponding if(isNil)then{}; in variables.sqf.
|
||||
*/
|
||||
|
||||
//DO NOT TOUCH BELOW! We need to get local channel names that varry upon every player's selected language
|
||||
DZE_LocalizedDisabledChannels = [];
|
||||
{
|
||||
_localizedText = localize _x;
|
||||
DZE_LocalizedDisabledChannels set [(count DZE_LocalizedDisabledChannels), _localizedText];
|
||||
} forEach DZE_DisabledChannels;
|
||||
@@ -694,24 +694,33 @@ dayz_EjectPlayer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compil
|
||||
dayz_groupInvite = compile preprocessFileLineNumbers "\z\addons\dayz_code\groups\handleInvite.sqf";
|
||||
|
||||
DZE_FilterCheats = {
|
||||
#define DIK_SUBTRACT 0x4A
|
||||
#define DIK_NUMPADMINUS DIK_SUBTRACT
|
||||
#define DIK_NUMPADMINUS 0x4A
|
||||
#define DIK_CAPSLOCK 0x3A
|
||||
disableSerialization;
|
||||
_dik = _this select 1;
|
||||
_shift = _this select 2;
|
||||
if (_dik == DIK_NUMPADMINUS && _shift) then {
|
||||
_isVoiceChat = ((_dik == DIK_CAPSLOCK) && {(ctrlText ((findDisplay 63) displayCtrl 101)) in DZE_LocalizedDisabledChannels}); //getting display directly from _this select 0 isn't reliable for chat channels!
|
||||
if ((_dik == DIK_NUMPADMINUS && _shift) || _isVoiceChat) then {
|
||||
call player_forceSave;
|
||||
disableUserInput true;disableUserInput true;
|
||||
[] spawn { //disable input, this is unfortunately the only way to stop cheat input
|
||||
[_isVoiceChat] spawn { //disable input, this is unfortunately the only way to stop cheat input
|
||||
_testTime = diag_tickTime;
|
||||
CheatsDisabled = _testTime;
|
||||
titleText ["DO NOT ENTER CHEATS, WAIT 5 SECONDS TO CONTINUE!", "PLAIN", 1];
|
||||
uiSleep 5;
|
||||
if (_this select 0) then {
|
||||
titleText [(Format ["No voice chat in: %1", DZE_LocalizedDisabledChannels]), "PLAIN", 1];
|
||||
uiSleep 1;
|
||||
} else {
|
||||
titleText ["DO NOT ENTER CHEATS, WAIT 5 SECONDS TO CONTINUE!", "PLAIN", 1];
|
||||
uiSleep 5;
|
||||
};
|
||||
if (!r_player_unconsciousInputDisabled && CheatsDisabled == _testTime) then {
|
||||
//weird disableuserInput behavior, enable input, disable and reenable to prevent the last key press being input after re-enable
|
||||
disableUserInput false;disableUserInput true;disableUserInput false;disableUserInput false;
|
||||
};
|
||||
};
|
||||
};
|
||||
_handle = if (_isVoiceChat) then {true;} else {false;};
|
||||
_handle;
|
||||
};
|
||||
|
||||
player_sumMedical = {
|
||||
|
||||
Reference in New Issue
Block a user