diff --git a/CHANGE LOG 1.0.6.2.txt b/CHANGE LOG 1.0.6.2.txt index 9217fe549..4ec7017ee 100644 --- a/CHANGE LOG 1.0.6.2.txt +++ b/CHANGE LOG 1.0.6.2.txt @@ -3,6 +3,7 @@ [NEW] Added loot positions for new enterable buildings [NEW] Added L85 attachments totaling 24 variants, new models by @Streatman. Class L85_Holo_DZ no longer exists and must be updated to L85A2_DZ in custom scripts and SQL, see 1.0.6.2_Updates.sql [NEW] SVD scope attachments can now be removed, new models by @Streatman +[NEW] Added option to toggle status icons in "Game Options" menu and via F3 hotkey. Note this will also toggle Epoch "friendly" tags because they are the same display. [NEW] Added DZE_limitPlots so admins can limit plot poles to one per UID, disabled by default. @oiad [NEW] Pumpkin, sunflower, and hemp plants spawned with createVehicle can be harvested with a knife now. #1928 @F507DMT [NEW] The journal and dayz_survived variable now contain actual play time [array] instead of days since the character was created [number]. @@ -13,7 +14,7 @@ [NEW] Added basic server-side authentication to hive object creation/deletion for improved security. Affects Server_(DeleteObj|PublishObj|PublishVeh|SwapObj|UpdateObject), admins and script makers should review the changes if using PVDZ_obj_(Destroy|Publish), PVDZ_veh_Save, PVDZE_obj_Swap, PVDZE_veh_(Publish|Upgrade) or server_deleteObj and verify custom code is compliant with these changes (github.com/EpochModTeam/DayZ-Epoch/commit/42e0047) [NEW] BAF_L85A2_RIS_TWS_DZ to emulate the old behavior of the now NV only BAF_L85A2_RIS_CWS. Server owners must add the weapon on their own #1983 [NEW] Admins can now define a maximum build height, see configVariables.sqf/DZE_BuildHeightLimit. @BigEgg17 -[NEW] Admins can now change the lootRefreshTimer for each building type from the default 15 minutes. CfgLoot.hpp must be updated if using custom loot tables. +[NEW] Admins can now change the lootRefreshTimer for each building type from the default 15 minutes. CfgLoot.hpp must be updated if using custom loot tables. [UPDATED] Loot and zed spawn is now disabled in trader cities by default. This is configurable in mission\init.sqf via DZE_SafeZonePosArray. Added function to check positions against DZE_SafeZonePosArray "_PosInSafeZone = _positionToCheck call DZE_SafeZonePosCheck;" [UPDATED] Zombie pathing. Zeds should now run more direct to players and no longer get stuck at the position where a player entered a vehicle. diff --git a/SQF/dayz_code/Configs/rscTitles.hpp b/SQF/dayz_code/Configs/rscTitles.hpp index 297e6199c..086a932f4 100644 --- a/SQF/dayz_code/Configs/rscTitles.hpp +++ b/SQF/dayz_code/Configs/rscTitles.hpp @@ -45,7 +45,7 @@ class RscDisplayConfigure { onKeyDown = FILTER_CHEATS; }; class RscDisplayGameOptions { - onLoad = "{(_this select 0) displayCtrl 140 lbAdd _x;} forEach [localize 'STR_DISABLED',localize 'STR_ENABLED']; (_this select 0) displayCtrl 140 lbSetCurSel (profileNamespace getVariable ['streamerMode',0]); uiNamespace setVariable ['streamerMode',(profileNamespace getVariable ['streamerMode',0])];"; + onLoad = "{_idc = _x select 0; _var = _x select 1; _default = _x select 2; lbClear ((_this select 0) displayCtrl _idc); {(_this select 0) displayCtrl _idc lbAdd localize _x} forEach ['STR_DISABLED','STR_ENABLED']; (_this select 0) displayCtrl _idc lbSetCurSel (profileNamespace getVariable [_var,_default]); uiNamespace setVariable [_var,(profileNamespace getVariable [_var,_default])]} forEach [[103,'statusUI',1],[140,'streamerMode',0]];"; onUnload = "call ui_changeDisplay;"; onKeyDown = FILTER_CHEATS; class controls { @@ -61,6 +61,17 @@ class RscDisplayGameOptions { y = (0.420549 + -2*0.069854); w = 0.3; }; + class CA_RadioSubtitles : CA_TextLanguage { //Subtitles settings have no effect in DayZ, so safe to overwrite + x = 0.159803; + y = (0.420549 + 0*0.069854); + text = $STR_UI_STATUS_ICONS; + }; + class CA_ValueRadio : CA_ValueLanguage { + idc = 103; + y = (0.420549 + 0*0.069854); + tooltip = $STR_UI_STATUS_ICONS_TOOLTIP; + onLBSelChanged = "profileNamespace setVariable ['statusUI',(lbCurSel (_this select 0))];"; + }; class CA_TextStreamerMode : CA_TextLanguage { x = 0.159803; y = (0.420549 + 4*0.069854); @@ -79,7 +90,7 @@ class RscDisplayGameOptions { y = 0.7625; text = $STR_DISP_CANCEL; //reset to original value - onButtonClick = "profileNamespace setVariable ['streamerMode',(uiNamespace getVariable 'streamerMode')]; saveProfileNamespace; if (!isNil 'player_toggleStreamerMode') then {call player_toggleStreamerMode;};"; + onButtonClick = "{profileNamespace setVariable [_x,(uiNamespace getVariable _x)]} forEach ['statusUI','streamerMode']; saveProfileNamespace; if (!isNil 'player_toggleStreamerMode') then {call player_toggleStreamerMode;};"; }; class CA_ButtonContinue : RscShortcutButton { idc = 1; diff --git a/SQF/dayz_code/compile/keyboard.sqf b/SQF/dayz_code/compile/keyboard.sqf index a1fea2863..062d9c8ef 100644 --- a/SQF/dayz_code/compile/keyboard.sqf +++ b/SQF/dayz_code/compile/keyboard.sqf @@ -68,6 +68,12 @@ if (isNil "keyboard_keys") then { call player_toggleSoundMute; _handled = true; }; + _statusUI = { + profileNamespace setVariable ["statusUI",(if (profileNamespace getVariable ["statusUI",1] == 1) then {0} else {1})]; + saveProfileNamespace; + call ui_changeDisplay; + _handled = true; + }; _rifle = { 2 call dz_fn_switchWeapon; _handled = true; @@ -302,6 +308,7 @@ if (isNil "keyboard_keys") then { [actionKeys "Diary", _journal] call _addArray; [actionKeys "NetworkStats", _journal] call _addArray; [[DIK_F1], _muteSound] call _addArray; + [[DIK_F3], _statusUI] call _addArray; [[DIK_F4], {if (diag_tickTime - dayz_lastSave > 10) then {call player_forceSave;};_handled = true;}] call _addArray; [[DIK_TAB,DIK_DELETE], _forcesave] call _addArray; //[[DIK_F4, DIK_RMENU, DIK_LMENU,DIK_LSHIFT,DIK_RSHIFT,DIK_ESCAPE], _forcesave2] call _addArray; @@ -314,7 +321,7 @@ if (isNil "keyboard_keys") then { [actionKeys "ForceCommandingMode", {DZE_5 = true;_handled = true;}] call _addArray; [[ DIK_F9,DIK_F10,DIK_F11,DIK_F12, DIK_F8,DIK_F7,DIK_F6,DIK_F5, - DIK_F3,DIK_F2,DIK_9, + DIK_F2,DIK_9, DIK_8,DIK_7,DIK_6,DIK_5,DIK_4], _block] call _addArray; if (dayz_groupSystem) then { [[DIK_F5], _openGroups] call _addArray; diff --git a/SQF/dayz_code/compile/player_updateGui.sqf b/SQF/dayz_code/compile/player_updateGui.sqf index 4f2b0dd7b..aa62f391e 100644 --- a/SQF/dayz_code/compile/player_updateGui.sqf +++ b/SQF/dayz_code/compile/player_updateGui.sqf @@ -1,5 +1,4 @@ -private ["_array","_combatVal","_ctrlCombatBorder","_ctrlCombat","_uiNumber","_bloodText","_blood","_bloodType","_rhFactor","_thirstLvl","_foodLvl","_tempImg","_tempText","_visual","_audible","_id","_rID","_color","_string","_humanity","_size","_friendlies","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_flash","_foodVal","_thirstVal","_tempVal","_display","_ctrlBloodOuter","_ctrlFoodBorder","_ctrlThirstBorder","_ctrlTempBorder","_ctrlBlood","_ctrlBloodType","_ctrlBleed","_bloodVal","_ctrlFood","_ctrlThirst","_ctrlTemp","_ctrlEar","_ctrlEye","_ctrlFracture","_ctrlMuteBackground","_ctrlMuteIcon","_thirst","_food","_temp","_bloodLvl","_tempLvl","_bloodTestdone","_humanityTarget"]; -disableSerialization; +private ["_combatVal","_ctrlCombatBorder","_ctrlCombat","_uiNumber","_bloodText","_blood","_bloodType","_rhFactor","_thirstLvl","_foodLvl","_tempImg","_tempText","_visual","_audible","_id","_rID","_color","_string","_humanity","_size","_friendlies","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_flash","_foodVal","_thirstVal","_tempVal","_display","_ctrlBloodOuter","_ctrlFoodBorder","_ctrlThirstBorder","_ctrlTempBorder","_ctrlBlood","_ctrlBloodType","_ctrlBleed","_bloodVal","_ctrlFood","_ctrlThirst","_ctrlTemp","_ctrlEar","_ctrlEye","_ctrlFracture","_ctrlMuteBackground","_ctrlMuteIcon","_thirst","_food","_temp","_bloodLvl","_tempLvl","_bloodTestdone","_humanityTarget"]; _flash = { if (ctrlShown _this) then { @@ -9,17 +8,14 @@ _flash = { }; }; +disableSerialization; + _foodVal = 1 - (dayz_hunger / SleepFood); _thirstVal = 1 - (dayz_thirst / SleepWater); _tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1] -if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith { - _array = [_foodVal,_thirstVal]; - _array -}; - _display = uiNamespace getVariable 'DAYZ_GUI_display'; -if (isNil "_display") exitWith { [_foodVal,_thirstVal] }; // not ready +if (isNil "_display") exitWith {}; // not ready _ctrlBloodOuter = _display displayCtrl 1200; _ctrlFoodBorder = _display displayCtrl 1201; @@ -55,7 +51,10 @@ _ctrlFracture = _display displayCtrl 1203; _ctrlMuteBackground = _display displayCtrl 1904; _ctrlMuteIcon = _display displayCtrl 1204; -if (!dayz_soundMuted) then { +if (dayz_soundMuted) then { + _ctrlMuteBackground ctrlShow true; + _ctrlMuteIcon ctrlShow true; +} else { _ctrlMuteBackground ctrlShow false; _ctrlMuteIcon ctrlShow false; }; @@ -302,7 +301,4 @@ if (dayz_humanitytarget != _string) then { _targetControl = _display displayCtrl 1199; _targetControl ctrlSetStructuredText (parseText _string); dayz_humanitytarget = _string; -}; - -_array = [_foodVal,_thirstVal]; -_array +}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_updateGuiDark.sqf b/SQF/dayz_code/compile/player_updateGuiDark.sqf index ce2153d6f..32efcc01f 100644 --- a/SQF/dayz_code/compile/player_updateGuiDark.sqf +++ b/SQF/dayz_code/compile/player_updateGuiDark.sqf @@ -1,6 +1,4 @@ - - -private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_combattimeout","_timeleft"]; +private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_combattimeout","_timeleft"]; _flash = { if (ctrlShown _this) then { @@ -16,11 +14,6 @@ _foodVal = 1 - (dayz_hunger / SleepFood); _thirstVal = 1 - (dayz_thirst / SleepWater); _tempVal = ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1] -if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith { - _array = [_foodVal,_thirstVal]; - _array -}; - _combatVal = 0; _combattimeout = player getVariable["combattimeout",0]; if (_combattimeout > 0) then { @@ -33,7 +26,7 @@ _visual = (dayz_disVisual / 100); _bloodVal = r_player_blood / r_player_bloodTotal; _display = uiNamespace getVariable 'DAYZ_GUI_display'; -if (isNil "_display") exitWith { [_foodVal,_thirstVal] }; // not ready +if (isNil "_display") exitWith {}; // not ready _ctrlBlood = _display displayCtrl 1300; _ctrlBleed = _display displayCtrl 1303; @@ -48,7 +41,10 @@ _ctrlFracture = _display displayCtrl 1203; _ctrlMuteBackground = _display displayCtrl 1904; _ctrlMuteIcon = _display displayCtrl 1204; -if (!dayz_soundMuted) then { +if (dayz_soundMuted) then { + _ctrlMuteBackground ctrlShow true; + _ctrlMuteIcon ctrlShow true; +} else { _ctrlMuteBackground ctrlShow false; _ctrlMuteIcon ctrlShow false; }; @@ -209,7 +205,4 @@ if (dayz_humanitytarget != _string) then { _targetControl = _display displayCtrl 1199; _targetControl ctrlSetStructuredText (parseText _string); dayz_humanitytarget = _string; -}; - -_array = [_foodVal,_thirstVal]; -_array +}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_updateGuiEpoch.sqf b/SQF/dayz_code/compile/player_updateGuiEpoch.sqf index fc802aef5..b3cb367c1 100644 --- a/SQF/dayz_code/compile/player_updateGuiEpoch.sqf +++ b/SQF/dayz_code/compile/player_updateGuiEpoch.sqf @@ -1,6 +1,4 @@ - - -private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"]; +private ["_flash","_display","_ctrlBlood","_ctrlBleed","_bloodVal","_humanityName","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_id","_rID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"]; _flash = { if (ctrlShown _this) then { @@ -17,13 +15,8 @@ _thirstVal = 1 - (dayz_thirst / SleepWater); _tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1] _combatVal = if (player getVariable["combattimeout",0] >= diag_tickTime) then {0} else {1}; -if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith { - _array = [_foodVal,_thirstVal]; - _array -}; - _display = uiNamespace getVariable 'DAYZ_GUI_display'; -if (isNil "_display") exitWith { [_foodVal,_thirstVal] }; // not ready +if (isNil "_display") exitWith {}; // not ready _ctrlBlood = _display displayCtrl 1300; _ctrlBleed = _display displayCtrl 1303; @@ -39,7 +32,10 @@ _ctrlFracture = _display displayCtrl 1203; _ctrlMuteBackground = _display displayCtrl 1904; _ctrlMuteIcon = _display displayCtrl 1204; -if (!dayz_soundMuted) then { +if (dayz_soundMuted) then { + _ctrlMuteBackground ctrlShow true; + _ctrlMuteIcon ctrlShow true; +} else { _ctrlMuteBackground ctrlShow false; _ctrlMuteIcon ctrlShow false; }; @@ -233,7 +229,4 @@ if (dayz_humanitytarget != _string) then { _targetControl = _display displayCtrl 1199; _targetControl ctrlSetStructuredText (parseText _string); dayz_humanitytarget = _string; -}; - -_array = [_foodVal,_thirstVal]; -_array +}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/ui_changeDisplay.sqf b/SQF/dayz_code/compile/ui_changeDisplay.sqf index 405c735ad..f924e5881 100644 --- a/SQF/dayz_code/compile/ui_changeDisplay.sqf +++ b/SQF/dayz_code/compile/ui_changeDisplay.sqf @@ -1,48 +1,11 @@ disableSerialization; -//_state = uiNamespace getVariable ['DZ_displayUI', 0]; -// Hard code the GUI on and the Debug Monitor off -if (dayzState != 0) then { - if (toLower DZE_UI == "vanilla") then { - 3 cutRsc ["playerStatusGUI", "PLAIN",0]; - } else { - 3 cutRsc ["playerStatusGUI_epoch", "PLAIN",0]; - }; - //Update GUI +if (profileNamespace getVariable ["statusUI",1] == 1) then { + 3 cutRsc [if (toLower DZE_UI == "vanilla") then {"playerStatusGUI"} else {"playerStatusGUI_epoch"},"PLAIN",0]; call player_updateGui; call ui_initDisplay; hintSilent ""; -}; -dayzDebug = false; - -/* -switch (_state) do { - case 0: { - if (dayzState != 0) then { - 3 cutRsc ["playerStatusGUI", "PLAIN",0]; - //Update GUI - call player_updateGui; - call ui_initDisplay; - hintSilent ""; - }; - dayzDebug = false; - }; - case 1: { - if (dayzState != 1) then { - 3 cutRsc ["playerStatusGUI", "PLAIN",0]; - //Update GUI - call player_updateGui; - call ui_initDisplay; - }; - dayzDebug = true; - }; - case 2: { - if (dayzState != 2) then { - 3 cutRsc ["default", "PLAIN",0]; - hintSilent ""; - }; - dayzDebug = false; - }; -}; -dayzState = _state; -*/ \ No newline at end of file +} else { + 3 cutRsc ["default","PLAIN",0]; + hintSilent ""; +}; \ No newline at end of file diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 417c98891..2902bd2b3 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -607,7 +607,6 @@ if (!isDedicated) then { dayz_nutrition = 0; dayz_preloadFinished = true; dayz_soundMuted = false; - dayz_statusArray = [1,1]; dayz_disAudial = 0; dayz_disVisual = 0; dayz_firedCooldown = 0; @@ -652,17 +651,11 @@ if (!isDedicated) then { dayz_inVehicle = false; dayz_unsaved = false; dayz_scaleLight = 0; - dayzDebug = false; - dayzState = -1; dayz_onBack = ""; dayz_fishingInprogress = false; lastSpawned = diag_tickTime; lastSepsis = 0; NORRN_dropAction = -1; - //uiNamespace setVariable ['DAYZ_GUI_display',displayNull]; - //if (uiNamespace getVariable ['DZ_displayUI', 0] == 2) then { - // dayzDebug = true; - //}; dayz_dodge = false; Dayz_constructionContext = []; Dayz_freefall = [ time, 0, 0.1 ]; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index 264d90443..94f999326 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -7604,10 +7604,16 @@ Streamer Modus: - Hides server watermark and rules feed + Hide server watermark and rules feed Blendet das Server Wasserzeichen und die Regelliste aus. Скрывает логотип сервера и новостную ленту + + Status icons: + + + Show status icons (F3 hotkey) + diff --git a/SQF/dayz_code/system/scheduler/sched_gui.sqf b/SQF/dayz_code/system/scheduler/sched_gui.sqf index e55a40c1b..13f388d8b 100644 --- a/SQF/dayz_code/system/scheduler/sched_gui.sqf +++ b/SQF/dayz_code/system/scheduler/sched_gui.sqf @@ -9,7 +9,12 @@ sched_gui = { _initDone = _this select 0; if ((!_initDone and !isNil 'Dayz_loginCompleted') and {(Dayz_loginCompleted)}) then { - if (toLower DZE_UI == "vanilla") then {3 cutRsc ['playerStatusGUI','PLAIN',3];} else {3 cutRsc ['playerStatusGUI_epoch','PLAIN',3];}; + if (profileNamespace getVariable ["statusUI",1] == 1) then { + 3 cutRsc [if (toLower DZE_UI == "vanilla") then {"playerStatusGUI"} else {"playerStatusGUI_epoch"},"PLAIN",3]; // show the whole HUD + } else { + //This can be removed after friendlies system is removed from player_updateGUI + uiNamespace setVariable ["DAYZ_GUI_display",displayNull]; + }; _initDone = true; }; //else { @@ -20,7 +25,7 @@ sched_gui = { dayz_surfaceNoise = _array select 1; dayz_surfaceType = _array select 0; call player_checkStealth; - dayz_statusArray = call player_updateGui; + call player_updateGui; }; // move this elsewhere, it deals with the menu diff --git a/Server Files/Battleye/scripts.txt b/Server Files/Battleye/scripts.txt index ee5999973..00e258dd8 100644 --- a/Server Files/Battleye/scripts.txt +++ b/Server Files/Battleye/scripts.txt @@ -22,8 +22,8 @@ 5 enableEnvironment 5 groupIcon 5 hideObject !"rhideObject" !"\"hideObject\"" !"(_x select 0) nearestObject (_x select 1) hideObject true} count [\n\n[[3" !"_object2 = _ghost2 createVehicleLocal [0,0,0];\nhideObject _object;" -5 lbCurSel !"_selectedUserIndex = lbCurSel _lbUsersControl;" !="profileNamespace setVariable ['streamerMode',(lbCurSel (_this select 0))];" !"_index = lbCurSel _lbcontrol;\n_selectedItem" !"_selected = lbCurSel _list;\n_classname = _list lnbData [_selected, 2];" !="_friendName = _userList lbText (lbCurSel _userList);" !")] call Z_" !"(lbCurSel 7421) call Z_fillCategoryList" !"] call Door" !"] call Plot" !"[(lbCurSel 12001)] " !="[(lbCurSel 21000), ((ctrlParent (_this select 0)) displayCtrl 21001)] spawn EpochDeathBoardClick;" !"((ctrlParent (_this select 0)) closeDisplay 2);" !="_uid = _playerList lbData (lbCurSel _playerList);" !"_myGroup lbData (lbCurSel _myGroup);" -5 lbSet !"_lbUsersControl lbSetColor [_x, [1,0,0,1]];" !"\n_control lbSetColor [_x, _color];\n};" !"_weaponsLBSetFocus" !="(_this select 0) displayCtrl 140 lbSetCurSel (profileNamespace getVariable ['streamerMode',0]);" !="(_display displayCtrl 105) lbSetColor [_i, [0.06, 0.05, 0.03, 1]];" !" [7421," !"lbSetPicture [7422, _index" !"lbSetPicture [7402, _index" !"lbSetPicture [7401, _index" !="_userList lbSetData [(lbSize _userList) -1,_friendUID];" !" [TraderDialogItemList, _index, " !"_myGroup lbSetData [_index,getPlayerUID _x];" +5 lbCurSel !"_selectedUserIndex = lbCurSel _lbUsersControl;" !="profileNamespace setVariable ['statusUI',(lbCurSel (_this select 0))];" !="profileNamespace setVariable ['streamerMode',(lbCurSel (_this select 0))];" !"_index = lbCurSel _lbcontrol;\n_selectedItem" !"_selected = lbCurSel _list;\n_classname = _list lnbData [_selected, 2];" !="_friendName = _userList lbText (lbCurSel _userList);" !")] call Z_" !"(lbCurSel 7421) call Z_fillCategoryList" !"] call Door" !"] call Plot" !"[(lbCurSel 12001)] " !="[(lbCurSel 21000), ((ctrlParent (_this select 0)) displayCtrl 21001)] spawn EpochDeathBoardClick;" !"((ctrlParent (_this select 0)) closeDisplay 2);" !="_uid = _playerList lbData (lbCurSel _playerList);" !"_myGroup lbData (lbCurSel _myGroup);" +5 lbSet !"_lbUsersControl lbSetColor [_x, [1,0,0,1]];" !"\n_control lbSetColor [_x, _color];\n};" !"_weaponsLBSetFocus" !="(_this select 0) displayCtrl _idc lbSetCurSel (profileNamespace getVariable [_var,_default]);" !="(_display displayCtrl 105) lbSetColor [_i, [0.06, 0.05, 0.03, 1]];" !" [7421," !"lbSetPicture [7422, _index" !"lbSetPicture [7402, _index" !"lbSetPicture [7401, _index" !="_userList lbSetData [(lbSize _userList) -1,_friendUID];" !" [TraderDialogItemList, _index, " !"_myGroup lbSetData [_index,getPlayerUID _x];" 5 menu !",\"MenuSelected\",\"Draw\",\"VideoStop" !"_menu = _parent displayCtrl (1600 + _i);\n_menu ctrlShow " !="createDialog 'RscDisplayCraftingMenu';" !"BIS_fnc_commsMenu" !"BIS_fnc_kbMenu" !"call gear_ui_offMenu;" !"dayz_inflame_showMenu" !"\"showCommandingMenu\", " !"rshowCommandingMenu" !"menu_" !"use action menu to " !"\"_menu\",\"_menu1\"" !"PVDZE_plr_TradeMenu" !"fn_gearMenuChecks" !"fn_pauseMenuChecks" 5 onMapSingleClick 5 playableUnits !"for [{_y=0},{_y < count(playableUnits)},{_y=_y+1}] do {" !"typeName player == \"OBJECT\" && {(player in playableUnits" !"AND {((alive _x) AND {((vehicle _x) distance _obj < 150)})}} count playableUnits)}) then {" !="_local = { _unit distance _x < _dis; } count playableUnits <= 1;" !"if (!_isOk) exitWith {false};\nuiSleep 0.001;\n} forEach playableUnits;" !"ManagementMustBeClose) then { player nearEntities [\"CAManBase\", 10] } else { playableUnits };"