From 8221387b90d2074626bbd05ecdde2675f716886e Mon Sep 17 00:00:00 2001 From: A Man Date: Thu, 5 May 2022 17:59:57 +0200 Subject: [PATCH] Add anti logout if a EVR Storm is running, also include dayz_soundMuted check --- SQF/dayz_code/compile/client_evr.sqf | 21 ++++++++++++++------- SQF/dayz_code/compile/player_onPause.sqf | 4 ++++ SQF/dayz_code/init/variables.sqf | 1 + SQF/dayz_code/stringtable.xml | 4 ++++ 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/SQF/dayz_code/compile/client_evr.sqf b/SQF/dayz_code/compile/client_evr.sqf index 61f6178eb..1f7384656 100644 --- a/SQF/dayz_code/compile/client_evr.sqf +++ b/SQF/dayz_code/compile/client_evr.sqf @@ -186,6 +186,9 @@ fnc_evr = { }; if (_this == "Stage5") exitWith { + DZE_EVRStormRunning = true; + [player,false] call fnc_setCombat; + if (_hasAPSI) then { playSound "ns_evrDetect"; uiSleep 0.2; @@ -231,7 +234,7 @@ fnc_evr = { "chromAberration" ppEffectEnable false; }; - if (_this == "Stage6") exitWith { + if (_this == "Stage6") exitWith { if (_hasAPSI) then { playSound "ns_evrDetect"; uiSleep 0.2; @@ -277,15 +280,12 @@ fnc_evr = { "chromAberration" ppEffectEnable false; }; - if (_this == "Stage7") exitWith { - + if (_this == "Stage7") exitWith { if (_hasAPSI) then { playSound "ns_evrDetect"; cutRsc ["RscAPSI_Start","PLAIN"]; }; - player setVariable["startcombattimer", 1]; - playSound "ns_evrBegin"; "dynamicBlur" ppEffectAdjust [8]; "dynamicBlur" ppEffectEnable true; @@ -359,7 +359,7 @@ fnc_evr = { if (!_hasAPSI) then { playSound "ns_evrPsy"; // This is the voices sound file }; - + uiSleep 4; FLASH playSound (_wave select (round (random 2))); @@ -427,7 +427,12 @@ fnc_evr = { uiSleep 1; 4 fadeSound 0; uiSleep 10; - 6 fadeSound 1; + + if (dayz_soundMuted) then { + 6 fadeSound 0.25; + } else { + 6 fadeSound 1; + }; titleText["","BLACK IN",10]; ppEffectDestroy _effect; @@ -474,6 +479,8 @@ fnc_evr = { disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; + DZE_EVRStormRunning = false; + player setVariable["startcombattimer", 0]; }; }; }; diff --git a/SQF/dayz_code/compile/player_onPause.sqf b/SQF/dayz_code/compile/player_onPause.sqf index 628bdb8f7..4de8bbce0 100644 --- a/SQF/dayz_code/compile/player_onPause.sqf +++ b/SQF/dayz_code/compile/player_onPause.sqf @@ -64,6 +64,10 @@ while {(!isNull _display) && !r_player_dead} do { closeDialog 2; }; }; + case (DZE_EVRStormRunning) : { + _btnAbort ctrlEnable false; + [localize "STR_EPOCH_PLAYER_12_1",1] call dayz_rollingMessages; + }; case (_inCombat) : { _btnAbort ctrlEnable false; _btnAbort ctrlSetText format["%1 (in %2)", _btnAbortText, ceil (_timeout - diag_tickTime)]; diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 27d959e7d..6ba1bf712 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -453,6 +453,7 @@ if (!isDedicated) then { DZE_Surrender = false; DZE_InRadiationZone = false; DZE_myVehicle = objNull; + DZE_EVRStormRunning = false; dayz_groupNameTags = (profileNamespace getVariable ["streamerMode",0] == 0); //If streamer mode is on then hide name tags at startup. Toggle with Windows key. dayz_minusDownTime = 0; dayz_lastCodeFail = 0; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index bc12ef610..ddc912af3 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -23323,6 +23323,10 @@ Impossible d'interrompre dans un marché! Nelze se odpojit, když jste v trader area! + + You cannot abort while an EVR Storm is running! + Du darfst dich nicht während eines EVR-Sturms ausloggen! + You cannot pack while another player is nearby. Packen nicht möglich, während ein anderer Spieler in der Nähe ist.