mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Merge pull request #1384 from hogscraper/test_branch
UI Update - Graphical and code changes
This commit is contained in:
@@ -1,6 +1,122 @@
|
|||||||
private ["_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","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl"];
|
private ["_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","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_combattimeout","_timeleft"];
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
|
if(Dayz_Dark_UI) then {
|
||||||
|
|
||||||
|
_foodVal = (dayz_hunger / SleepFood);
|
||||||
|
_thirstVal = (dayz_thirst / SleepWater);
|
||||||
|
|
||||||
|
if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith {
|
||||||
|
_array = [_foodVal,_thirstVal];
|
||||||
|
_array
|
||||||
|
};
|
||||||
|
|
||||||
|
if(dayz_combat == 1) then {
|
||||||
|
_combattimeout = player getVariable["combattimeout",0];
|
||||||
|
_timeleft = _combattimeout - time;
|
||||||
|
_combatVal = (_timeleft/30);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_combatVal = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
_tempVal = ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
|
||||||
|
_audible = (dayz_disAudial / 50);
|
||||||
|
_visual = (dayz_disVisual / 100);
|
||||||
|
_bloodVal = r_player_blood / r_player_bloodTotal;
|
||||||
|
|
||||||
|
_display = uiNamespace getVariable 'DAYZ_GUI_display';
|
||||||
|
|
||||||
|
_ctrlBlood = _display displayCtrl 1300;
|
||||||
|
_ctrlBleed = _display displayCtrl 1303;
|
||||||
|
_ctrlFood = _display displayCtrl 1301;
|
||||||
|
_ctrlThirst = _display displayCtrl 1302;
|
||||||
|
_ctrlTemp = _display displayCtrl 1306; //TeeChange
|
||||||
|
_ctrlEar = _display displayCtrl 1304;
|
||||||
|
_ctrlEye = _display displayCtrl 1305;
|
||||||
|
//_ctrlHumanity = _display displayCtrl 1207;
|
||||||
|
_ctrlCombat = _display displayCtrl 1307;
|
||||||
|
_ctrlFracture = _display displayCtrl 1203;
|
||||||
|
|
||||||
|
//Food/Water/Blood
|
||||||
|
_ctrlBlood ctrlSetTextColor [(1 - _bloodVal),(1 - _bloodVal),(1 - _bloodVal), 0.5];
|
||||||
|
_ctrlFood ctrlSetTextColor [ _foodVal,_foodVal,_foodVal, 0.5];
|
||||||
|
_ctrlThirst ctrlSetTextColor [ _thirstVal, _thirstVal, _thirstVal, 0.5];
|
||||||
|
_ctrlTemp ctrlSetTextColor [(1 - _tempVal),(1 - _tempVal), (1 - _tempVal), 0.5]; // Color ranges from iceblue (cold) to red (hot)
|
||||||
|
_ctrlCombat ctrlSetTextColor [ _combatVal, _combatVal, _combatVal, 0.5];
|
||||||
|
_ctrlEye ctrlSetTextColor [ _visual, _visual, _visual, 0.5];
|
||||||
|
_ctrlEar ctrlSetTextColor [ _audible, _audible, _audible, 0.5];
|
||||||
|
/*
|
||||||
|
Blood: round((r_player_blood / 2) / 1000) = _bloodLvl (6 = full, 1 = empty)
|
||||||
|
Thirst: round(_thirstVal / 0.25) = _thirstLvl (4 = full, 0 = empty)
|
||||||
|
Hunger: round(_foodVal / 0.25) = _foodLvl (4 = full, 0 = empty)
|
||||||
|
Temp: round(dayz_temperatur) = tempLvl (>= 36 = full <= 28 = empty)
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
diag_log format["DEBUG: bloodlvl: %1 r_player_blood: %2 bloodval: %3",_bloodLvl, r_player_blood, _bloodVal];
|
||||||
|
diag_log format["DEBUG: thirstlvl: %1 dayz_thirst: %2 thirstval: %3",_thirstLvl, dayz_thirst, _thirstVal];
|
||||||
|
diag_log format["DEBUG: foodlvl: %1 dayz_hunger: %2 foodval: %3",_foodLvl, dayz_hunger, _foodVal];
|
||||||
|
diag_log format["DEBUG: templvl: %1 dayz_temperatur: %2 tempval: %3",_tempLvl, dayz_temperatur, _tempVal];
|
||||||
|
*/
|
||||||
|
|
||||||
|
//left naming conventions the same in case other files are re-introduced at a later time
|
||||||
|
_blood = "\z\addons\dayz_code\gui\status_blood_inside_6_ca.paa";
|
||||||
|
_thirst = "\z\addons\dayz_code\gui\status_thirst_inside_4_ca.paa";
|
||||||
|
_food = "\z\addons\dayz_code\gui\status_food_inside_4_ca.paa";
|
||||||
|
_temp = "\z\addons\dayz_code\gui\status_temp_4_ca.paa";
|
||||||
|
_visualtext = "\z\addons\dayz_code\gui\status_eye_ca.paa";
|
||||||
|
_audibletext = "\z\addons\dayz_code\gui\status_ear_ca.paa";
|
||||||
|
|
||||||
|
_ctrlBlood ctrlSetText _blood;
|
||||||
|
_ctrlThirst ctrlSetText _thirst;
|
||||||
|
_ctrlFood ctrlSetText _food;
|
||||||
|
_ctrlTemp ctrlSetText _temp;
|
||||||
|
_ctrlEye ctrlSetText _visualtext;
|
||||||
|
_ctrlEar ctrlSetText _audibletext;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Fracture:
|
||||||
|
*/
|
||||||
|
if (!canStand player) then {
|
||||||
|
if (!(ctrlShown _ctrlFracture)) then {
|
||||||
|
r_fracture_legs = true;
|
||||||
|
_ctrlFracture ctrlShow true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Flashing:
|
||||||
|
*/
|
||||||
|
if (_combatVal == 1) then {
|
||||||
|
_ctrlCombat call player_guiControlFlash;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_bloodVal < 0.2) then {
|
||||||
|
_ctrlBlood call player_guiControlFlash;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_thirstVal > 0.8) then {
|
||||||
|
_ctrlThirst call player_guiControlFlash;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_foodVal > 0.8) then {
|
||||||
|
_ctrlFood call player_guiControlFlash;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (_tempVal < 0.2) then { //TeeChange
|
||||||
|
_ctrlTemp call player_guiControlFlash;
|
||||||
|
} else {
|
||||||
|
_ctrlTemp ctrlShow true;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (r_player_injured) then {
|
||||||
|
_ctrlBleed call player_guiControlFlash;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
_foodVal = 1 - (dayz_hunger / SleepFood);
|
_foodVal = 1 - (dayz_hunger / SleepFood);
|
||||||
_thirstVal = 1 - (dayz_thirst / SleepWater);
|
_thirstVal = 1 - (dayz_thirst / SleepWater);
|
||||||
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
|
_tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
|
||||||
@@ -136,6 +252,9 @@ if (r_player_injured) then {
|
|||||||
_ctrlBleed call player_guiControlFlash;
|
_ctrlBleed call player_guiControlFlash;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Opt-in tag system with friend tagging
|
Opt-in tag system with friend tagging
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ dayz_locationsActive = [];
|
|||||||
Dayz_GUI_R = 0.38; // 0.7
|
Dayz_GUI_R = 0.38; // 0.7
|
||||||
Dayz_GUI_G = 0.63; // -0.63
|
Dayz_GUI_G = 0.63; // -0.63
|
||||||
Dayz_GUI_B = 0.26; // -0.26
|
Dayz_GUI_B = 0.26; // -0.26
|
||||||
|
Dayz_Dark_UI = true;
|
||||||
|
|
||||||
//Player self-action handles
|
//Player self-action handles
|
||||||
dayz_resetSelfActions = {
|
dayz_resetSelfActions = {
|
||||||
|
|||||||
Reference in New Issue
Block a user