Advertisement
Guest User

Untitled

a guest
May 6th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.95 KB | None | 0 0
  1. 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","_humanityTarget","_ctrlBloodOuter","_ctrlFoodBorder","_ctrlThirstBorder","_ctrlTempBorder""_playerUID","_rplayerUID"];
  2. disableSerialization;
  3.  
  4. _foodVal = 1 - (dayz_hunger / SleepFood);
  5. _thirstVal = 1 - (dayz_thirst / SleepWater);
  6. _tempVal = 1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin)); // Normalise to [0,1]
  7. _combatVal = 1 - dayz_combat; // May change later to be a range of red/green to loosely indicate 'time left in combat'
  8.  
  9. if (uiNamespace getVariable ["DZ_displayUI", 0] == 1) exitWith {
  10. _array = [_foodVal,_thirstVal];
  11. _array
  12. };
  13.  
  14. _display = uiNamespace getVariable 'DAYZ_GUI_display';
  15.  
  16. _ctrlBloodOuter = _display displayCtrl 1200;
  17. _ctrlFoodBorder = _display displayCtrl 1201;
  18. _ctrlThirstBorder = _display displayCtrl 1202;
  19. _ctrlTempBorder = _display displayCtrl 1208;
  20. //Border white
  21. _ctrlBloodOuter ctrlSetTextColor [1,1,1,1];
  22. _ctrlFoodBorder ctrlSetTextColor [1,1,1,1];
  23. _ctrlThirstBorder ctrlSetTextColor [1,1,1,1];
  24. _ctrlTempBorder ctrlSetTextColor [1,1,1,1];
  25.  
  26. _ctrlBlood = _display displayCtrl 1300;
  27. _ctrlBleed = _display displayCtrl 1303;
  28. _bloodVal = r_player_blood / r_player_bloodTotal;
  29. _ctrlFood = _display displayCtrl 1301;
  30. _ctrlThirst = _display displayCtrl 1302;
  31. _ctrlTemp = _display displayCtrl 1306; //TeeChange
  32. _ctrlEar = _display displayCtrl 1304;
  33. _ctrlEye = _display displayCtrl 1305;
  34. //_ctrlHumanity = _display displayCtrl 1207;
  35. _ctrlCombat = _display displayCtrl 1307;
  36. _ctrlFracture = _display displayCtrl 1203;
  37.  
  38. _ctrlBloodAmount = _display displayCtrl 1420;
  39. _ctrlHumanityAmount = _display displayCtrl 1421;
  40. _ctrlServerRestart = _display displayCtrl 1422;
  41.  
  42. _bloodTotal = r_player_blood;
  43. _RestartTime = 240-(round(serverTime/60));
  44.  
  45. _ctrlBloodAmount ctrlSetText str(_bloodTotal);
  46. _ctrlHumanityAmount ctrlSetText str(player getVariable['humanity', 0]);
  47. _ctrlServerRestart ctrlSetText str(_RestartTime);
  48.  
  49. _ctrlFPS = _display displayCtrl 1321;
  50. _ctrlFPSOuter = _display displayCtrl 1322;
  51.  
  52. _fps = round diag_FPS;
  53. _ctrlFPS ctrlSetText str(_fps);
  54. _ctrlFPS ctrlSetTextColor [0.6, 0.73, 0.0, 0.75];
  55.  
  56. _ctrlhumanKills = _display displayCtrl 1400;
  57. _ctrlhHeadshots = _display displayCtrl 1401;
  58. _ctrlbanditKills= _display displayCtrl 1402;
  59. _ctrlzombieKills= _display displayCtrl 1403;
  60.  
  61. _ctrlhumanKills ctrlSetText str(player getVariable["humanKills", 0]);
  62. _ctrlbanditKills ctrlSetText str(player getVariable["banditKills", 0]);
  63. _ctrlzombieKills ctrlSetText str(player getVariable["zombieKills", 0]);
  64. _ctrlhHeadshots ctrlSetText str(player getVariable["headShots", 0]);
  65.  
  66. //Food/Water/Blood
  67. _ctrlBlood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_bloodVal))),(Dayz_GUI_G * _bloodVal),(Dayz_GUI_B * _bloodVal), 0.5];
  68. _ctrlFood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_foodVal))),(Dayz_GUI_G * _foodVal),(Dayz_GUI_B * _foodVal), 0.5];
  69. _ctrlThirst ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_thirstVal))),(Dayz_GUI_G * _thirstVal),(Dayz_GUI_B * _thirstVal), 0.5];
  70. _ctrlTemp ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_tempVal))), (Dayz_GUI_G * _tempVal), _tempVal, 0.5]; // Color ranges from iceblue (cold) to red (hot)
  71. _ctrlCombat ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_combatVal))),(Dayz_GUI_G * _combatVal),(Dayz_GUI_B * _combatVal), 0.5];
  72.  
  73. _blood = "";
  74. _thirst = "";
  75. _food = "";
  76. _temp = "";
  77. _tempImg = 0;
  78. _bloodLvl = round((r_player_blood / 2) / 1000);
  79. _thirstLvl = round(_thirstVal / 0.25);
  80. _foodLvl = round(_foodVal / 0.25);
  81. _tempLvl = round(dayz_temperatur);
  82.  
  83. if (_bloodLvl <= 0) then {
  84. _blood = "\z\addons\dayz_code\gui\status\status_blood_inside_1_ca.paa";
  85. } else {
  86. _blood = "\z\addons\dayz_code\gui\status\status_blood_inside_" + str(_bloodLvl) + "_ca.paa";
  87. };
  88.  
  89. if (_thirstLvl < 0) then { _thirstLvl = 0 };
  90. _thirst = "\z\addons\dayz_code\gui\status\status_thirst_inside_" + str(_thirstLvl) + "_ca.paa";
  91.  
  92. if (_foodLvl < 0) then { _foodLvl = 0 };
  93. _food = "\z\addons\dayz_code\gui\status\status_food_inside_" + str(_foodLvl) + "_ca.paa";
  94.  
  95. if ( _tempLvl >= 36 ) then { _tempImg = 4 };
  96. if ( _tempLvl > 33 && _tempLvl < 36 ) then { _tempImg = 3 };
  97. if ( _tempLvl >= 30 && _tempLvl <= 33 ) then { _tempImg = 2 };
  98. if ( _tempLvl > 28 && _tempLvl < 30 ) then { _tempImg = 1 };
  99. if ( _tempLvl <= 28 ) then { _tempImg = 0 };
  100.  
  101. _temp = "\z\addons\dayz_code\gui\status\status_temp_" + str(_tempImg) + "_ca.paa";
  102.  
  103. _ctrlBlood ctrlSetText _blood;
  104. _ctrlThirst ctrlSetText _thirst;
  105. _ctrlFood ctrlSetText _food;
  106. _ctrlTemp ctrlSetText _temp;
  107.  
  108. /*
  109. Visual:
  110. */
  111. _visual = (dayz_disVisual / 185) min 1;
  112. if (_visual < 0.2) then {_visual = 0.2;};
  113. _ctrlEye ctrlSetTextColor [1, 1, 1, _visual];
  114.  
  115. /*
  116. Audible:
  117. */
  118. _audible = (dayz_disAudial / 40) min 1;
  119. if (_audible < 0.2) then {_audible = 0.2;};
  120. _ctrlEar ctrlSetTextColor [1, 1, 1, _audible];
  121.  
  122. /*
  123. Fracture:
  124. */
  125. if (!canStand player) then {
  126. if (!(ctrlShown _ctrlFracture)) then {
  127. r_fracture_legs = true;
  128. _ctrlFracture ctrlShow true;
  129. };
  130. };
  131.  
  132. /*
  133. Flashing:
  134. */
  135. if (_combatVal == 0) then {
  136. _ctrlCombat call player_guiControlFlash;
  137. };
  138.  
  139. if (_bloodVal < 0.2) then {
  140. _ctrlBlood call player_guiControlFlash;
  141. };
  142.  
  143. if (_thirstVal < 0.2) then {
  144. _ctrlThirst call player_guiControlFlash;
  145. };
  146.  
  147. if (_foodVal < 0.2) then {
  148. _ctrlFood call player_guiControlFlash;
  149. };
  150.  
  151. if (_tempVal > 0.8) then { //TeeChange
  152. _ctrlTemp call player_guiControlFlash;
  153. } else {
  154. _ctrlTemp ctrlShow true;
  155. };
  156.  
  157. if (r_player_injured) then {
  158. _ctrlBleed call player_guiControlFlash;
  159. };
  160.  
  161. /*
  162. Opt-in tag system with friend tagging
  163. */
  164. _string = "";
  165. _humanityTarget = cursorTarget;
  166. if (!isNull _humanityTarget && isPlayer _humanityTarget && alive _humanityTarget) then {
  167.  
  168. _distance = player distance _humanityTarget;
  169.  
  170. if (_distance < DZE_HumanityTargetDistance) then {
  171.  
  172. _size = (1-(floor(_distance/5)*0.1)) max 0.1;
  173.  
  174. // Display name if player opt-in || if friend
  175. _friendlies = player getVariable ["friendlies", []];
  176. //_charID = player getVariable ["CharacterID", "0"];
  177. _charID = [player] call convertPlayerUID;
  178.  
  179. //_rcharID = _humanityTarget getVariable ["CharacterID", "0"];
  180. _rcharID = [_humanityTarget] call convertPlayerUID;
  181.  
  182. _rfriendlies = _humanityTarget getVariable ["friendlies", []];
  183. _rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
  184.  
  185. if ((_rcharID in _friendlies) && (_charID in _rfriendlies)) then {
  186.  
  187. if !(_charID in _rfriendlyTo) then {
  188. // diag_log format["IS FRIENDLY: %1", _player];
  189. _rfriendlyTo set [count _rfriendlyTo, _charID];
  190. _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
  191. };
  192.  
  193. // <br /><t %2 align='center' size='0.7'>Humanity: %3</t>
  194.  
  195. _color = "color='#339933'";
  196. _string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
  197.  
  198. } else {
  199.  
  200. // Humanity checks
  201. _humanity = _humanityTarget getVariable ["humanity",0];
  202.  
  203. _color = "color='#ffffff'";
  204. if(_humanity < -5000) then {
  205. _color = "color='#ff0000'";
  206. } else {
  207. if(_humanity > 5000) then {
  208. _color = "color='#3333ff'";
  209. };
  210. };
  211. if((_humanityTarget getVariable ["DZE_display_name", false]) || (DZE_ForceNameTagsInTrader && isInTraderCity)) then {
  212. _string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
  213. };
  214. };
  215. };
  216. };
  217.  
  218. // update gui if changed
  219. if (dayz_humanitytarget != _string) then {
  220. _targetControl = _display displayCtrl 1199;
  221. _targetControl ctrlSetStructuredText (parseText _string);
  222. dayz_humanitytarget = _string;
  223. };
  224.  
  225. _array = [_foodVal,_thirstVal];
  226. _array
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement