Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- @file Version: 0.1
- @file Name: statusBar.sqf
- @file EpochMod StatusBar Port for Wasteland / EXILE by CRE4MPIE
- @file Created: 21/4/2015
- @notes: Added custom Icons and ported Wasteland info. Still
- needs to be cleaned up a bit.
- */
- waitUntil {!(isNull (findDisplay 46))};
- disableSerialization;
- _rscLayer = "osefStatusBarAdmin" call BIS_fnc_rscLayer;
- _rscLayer cutRsc["osefStatusBarAdmin","PLAIN"];
- // systemChat format["StatusBar Initialized", _rscLayer];
- [] spawn
- {
- uiSleep 5;
- //set the color values.
- //Additional color codes can be found here: http://html-color-codes.com/
- _colourDefault = parseText "#adadad"; //set your default colour here
- _colour108 = parseText "#FF7000";
- _colour107 = parseText "#FF9000";
- _colour106 = parseText "#FFBB00";
- _colour105 = parseText "#FFCC00";
- _colour104 = parseText "#81CCDD";
- _colour103 = parseText "#33AACC";
- _colour102 = parseText "#3388CC";
- _colour101 = parseText "#3366CC";
- _colour100 = parseText "#336600";
- _colour90 = parseText "#339900";
- _colour80 = parseText "#33CC00";
- _colour70 = parseText "#33FF00";
- _colour60 = parseText "#66FF00";
- _colour50 = parseText "#CCFF00";
- _colour40 = parseText "#CCCC00";
- _colour30 = parseText "#CC9900";
- _colour20 = parseText "#CC6600";
- _colour10 = parseText "#CC3300";
- _colour0 = parseText "#CC0000";
- _colourDead = parseText "#000000";
- _uid = getPlayerUID player;
- while {true} do
- {
- uiSleep 1;
- //moved the creation of the status bar inside the loop and create it if it is null,
- //this is to handle instance where the status bar is disappearing
- if(isNull ((uiNamespace getVariable "osefStatusBarAdmin")displayCtrl 55554)) then
- {
- diag_log "statusbar is null create";
- disableSerialization;
- _rscLayer = "osefStatusBarAdmin" call BIS_fnc_rscLayer;
- _rscLayer cutRsc["osefStatusBarAdmin","PLAIN"];
- };
- //initialize variables and set values
- _players = count playableUnits;
- _unit = _this select 0;
- _damage = round ((1 - (damage player)) * 100);
- //_damage = (round(_damage * 100));
- _hunger = round (ExileClientPlayerAttributes select 2);
- _thirst = round (ExileClientPlayerAttributes select 3);
- _bodyTemp = round (ExileClientPlayerAttributes select 5);
- _ambientTemp = [ExileClientEnvironmentTemperature, 1] call ExileClient_util_math_round;
- _wallet = ExileClientPlayerMoney;
- _stamina = ExileClientPlayerScore;
- _energy = 100;
- _energyPercent = 100;
- _serverFPS = round diag_fps;
- _pos = getPosATL player;
- _dir = round (getDir (vehicle player));
- _grid = mapGridPosition player;
- _xx = (format[_grid]) select [0,3];
- _yy = (format[_grid]) select [3,3];
- _time = timeToNextRestart;
- if (isNil "timeToNextRestart") then
- {
- _time = (round(240-(serverTime)/60)); //edit the '240' value (60*4=240) to change the countdown timer if your server restarts are shorter or longer than 4 hour intervals
- };
- _hours = (floor(_time/60));
- _minutes = (_time - (_hours * 60));
- _radiation = ExilePlayerRadiation;
- if (isNil "ExilePlayerRadiation") then
- {
- _radiation = 0;
- };
- _statusRadiation = round (_radiation*100);
- switch(_minutes) do
- {
- case 9: {_minutes = "09"};
- case 8: {_minutes = "08"};
- case 7: {_minutes = "07"};
- case 6: {_minutes = "06"};
- case 5: {_minutes = "05"};
- case 4: {_minutes = "04"};
- case 3: {_minutes = "03"};
- case 2: {_minutes = "02"};
- case 1: {_minutes = "01"};
- case 0: {_minutes = "00"};
- };
- //Colour coding
- //Damage
- _colourDamage = _colourDefault;
- if(_damage >= 100) then{_colourDamage = _colour100;};
- if((_damage >= 90) && (_damage < 100)) then {_colourDamage = _colour100;};
- if((_damage >= 80) && (_damage < 90)) then {_colourDamage = _colour80;};
- if((_damage >= 70) && (_damage < 80)) then {_colourDamage = _colour70;};
- if((_damage >= 60) && (_damage < 70)) then {_colourDamage = _colour60;};
- if((_damage >= 50) && (_damage < 60)) then {_colourDamage = _colour50;};
- if((_damage >= 40) && (_damage < 50)) then {_colourDamage = _colour40;};
- if((_damage >= 30) && (_damage < 40)) then {_colourDamage = _colour30;};
- if((_damage >= 20) && (_damage < 30)) then {_colourDamage = _colour20;};
- if((_damage >= 10) && (_damage < 20)) then {_colourDamage = _colour10;};
- if((_damage >= 1) && (_damage < 10)) then {_colourDamage = _colour0;};
- if(_damage < 1) then{_colourDamage = _colourDead;};
- //Radiation
- _colourRadiation = _colour60;
- if(isNil "_statusRadiation") then {_statusRadiation = 0; };
- if(_statusRadiation >= 100) then{_colourRadiation = _colour0;};
- if((_statusRadiation >= 90) && (_statusRadiation < 100)) then {_colourRadiation = _colour0;};
- if((_statusRadiation >= 80) && (_statusRadiation < 90)) then {_colourRadiation = _colour20;};
- if((_statusRadiation >= 70) && (_statusRadiation < 80)) then {_colourRadiation = _colour30;};
- if((_statusRadiation >= 60) && (_statusRadiation < 70)) then {_colourRadiation = _colour40;};
- if((_statusRadiation >= 50) && (_statusRadiation < 60)) then {_colourRadiation = _colour40;};
- if((_statusRadiation >= 40) && (_statusRadiation < 50)) then {_colourRadiation = _colour40;};
- if((_statusRadiation >= 30) && (_statusRadiation < 40)) then {_colourRadiation = _colour40;};
- if((_statusRadiation >= 20) && (_statusRadiation < 30)) then {_colourRadiation = _colour40;};
- if((_statusRadiation >= 10) && (_statusRadiation < 20)) then {_colourRadiation = _colour40;};
- if((_statusRadiation >= 1) && (_statusRadiation < 10)) then {_colourRadiation = _colour50;};
- if(_statusRadiation < 1) then{_colourRadiation = _colour60;};
- //Hunger
- _colourHunger = _colourDefault;
- if(_hunger >= 100) then{_colourHunger = _colour100;};
- if((_hunger >= 90) && (_hunger < 100)) then {_colourHunger = _colour90;};
- if((_hunger >= 80) && (_hunger < 90)) then {_colourHunger = _colour80;};
- if((_hunger >= 70) && (_hunger < 80)) then {_colourHunger = _colour70;};
- if((_hunger >= 60) && (_hunger < 70)) then {_colourHunger = _colour60;};
- if((_hunger >= 50) && (_hunger < 60)) then {_colourHunger = _colour50;};
- if((_hunger >= 40) && (_hunger < 50)) then {_colourHunger = _colour40;};
- if((_hunger >= 30) && (_hunger < 40)) then {_colourHunger = _colour30;};
- if((_hunger >= 20) && (_hunger < 30)) then {_colourHunger = _colour20;};
- if((_hunger >= 10) && (_hunger < 20)) then {_colourHunger = _colour10;};
- if((_hunger >= 1) && (_hunger < 10)) then {_colourHunger = _colour0;};
- if(_hunger < 1) then{_colourHunger = _colourDead;};
- //Thirst
- _colourThirst = _colourDefault;
- switch true do{
- case(_thirst >= 100) : {_colourThirst = _colour101;};
- case((_thirst >= 90) && (_thirst < 100)) : {_colourThirst = _colour102;};
- case((_thirst >= 80) && (_thirst < 90)) : {_colourThirst = _colour103;};
- case((_thirst >= 70) && (_thirst < 80)) : {_colourThirst = _colour104;};
- case((_thirst >= 60) && (_thirst < 70)) : {_colourThirst = _colour105;};
- case((_thirst >= 50) && (_thirst < 60)) : {_colourThirst = _colour106;};
- case((_thirst >= 40) && (_thirst < 50)) : {_colourThirst = _colour107;};
- case((_thirst >= 30) && (_thirst < 40)) : {_colourThirst = _colour108;};
- case((_thirst >= 20) && (_thirst < 30)) : {_colourThirst = _colour20;};
- case((_thirst >= 10) && (_thirst < 20)) : {_colourThirst = _colour10;};
- case((_thirst >= 1) && (_thirst < 10)) : {_colourThirst = _colour0;};
- case(_thirst < 1) : {_colourThirst = _colourDead;};
- };
- //Temperature
- _colourTemp = _colourDefault;
- //if(_bodyTemp >= 37) then{_colourTemp = _colour100;};
- if((_bodyTemp >= 32) && (_bodyTemp < 33)) then {_colourTemp = _colour101;};
- if((_bodyTemp >= 33) && (_bodyTemp < 34)) then {_colourTemp = _colour101;};
- if((_bodyTemp >= 34) && (_bodyTemp < 35)) then {_colourTemp = _colour101;};
- if((_bodyTemp >= 35) && (_bodyTemp < 36)) then {_colourTemp = _colour103;};
- if((_bodyTemp >= 36) && (_bodyTemp < 37)) then {_colourTemp = _colour104;};
- if((_bodyTemp >= 37) && (_bodyTemp < 38)) then {_colourTemp = _colour100;};
- if((_bodyTemp >= 38) && (_bodyTemp < 39)) then {_colourTemp = _colour20;};
- if((_bodyTemp >= 39) && (_bodyTemp < 40)) then {_colourTemp = _colour20;};
- if((_bodyTemp >= 40) && (_bodyTemp < 41)) then {_colourTemp = _colour10;};
- if((_bodyTemp >= 41) && (_bodyTemp < 42)) then {_colourTemp = _colour10;};
- if((_bodyTemp >= 42) && (_bodyTemp < 43)) then {_colourTemp = _colour0;};
- if(_bodyTemp < 30) then{_colourTemp = _colourDead;};
- //Energy
- _colourEnergy = _colourDefault;
- if(_energyPercent >= 100) then{_colourEnergy = _colour100;};
- if((_energyPercent >= 90) && (_energyPercent < 100)) then {_colourEnergy = _colour90;};
- if((_energyPercent >= 80) && (_energyPercent < 90)) then {_colourEnergy = _colour80;};
- if((_energyPercent >= 70) && (_energyPercent < 80)) then {_colourEnergy = _colour70;};
- if((_energyPercent >= 60) && (_energyPercent < 70)) then {_colourEnergy = _colour60;};
- if((_energyPercent >= 50) && (_energyPercent < 60)) then {_colourEnergy = _colour50;};
- if((_energyPercent >= 40) && (_energyPercent < 50)) then {_colourEnergy = _colour40;};
- if((_energyPercent >= 30) && (_energyPercent < 40)) then {_colourEnergy = _colour30;};
- if((_energyPercent >= 20) && (_energyPercent < 30)) then {_colourEnergy = _colour20;};
- if((_energyPercent >= 10) && (_energyPercent < 20)) then {_colourEnergy = _colour10;};
- if((_energyPercent >= 1) && (_energyPercent < 10)) then {_colourEnergy = _colour0;};
- if(_energyPercent < 1) then{_colourEnergy = _colour0;};
- //Stamina
- _colourStamina = _colourDefault;
- //display the information
- ((uiNamespace getVariable "osefStatusBarAdmin")displayCtrl 55554)ctrlSetStructuredText parseText
- format["<img align='left' size='2.5' shadow='0' image='custom\statusBar\icons\serverlogo.paa' />
- <t shadow='1' shadowColor='#000000' color='%10'> ExileYorkshire.co.uk </t>
- <t shadow='1' shadowColor='#000000' color='%11'><img size='1.0' shadowColor='#000000' image='custom\statusBar\icons\health.paa' color='%11'/> %3%1</t>
- <t shadow='1' shadowColor='#000000' color='%21'><img size='1.6' shadowColor='#000000' image='custom\statusBar\icons\thermostat.paa' color='%23'/> %22</t>
- <t shadow='1' shadowColor='#000000' color='%21'><img size='1.6' shadowColor='#000000' image='custom\statusBar\icons\snowflake.paa' color='%11'/> %24</t>
- <t shadow='1' shadowColor='#000000' color='%12'><img size='1.6' shadowColor='#000000' image='custom\statusBar\icons\hunger.paa' color='%12'/> %5%1</t>
- <t shadow='1' shadowColor='#000000' color='%13'><img size='1.6' shadowColor='#000000' image='custom\statusBar\icons\thirst.paa' color='%13'/> %6%1</t>
- <t shadow='1' shadowColor='#000000' color='%21'><img size='1.5' shadowColor='#000000' image='custom\statusBar\icons\radiation.paa' color='%21'/> %20%1</t>
- <t shadow='1' shadowColor='#000000' color='%10'><img size='1.0' shadowColor='#000000' image='custom\statusBar\icons\poptab_ca.paa' color='%10'/> %4</t>
- <t shadow='1' shadowColor='#000000' color='%15'><img size='1.0' shadowColor='#000000' image='custom\statusBar\icons\exile.paa' color='%10'/> %9</t>
- <t shadow='1' shadowColor='#000000' color='%15'><img size='1.0' shadowColor='#000000' image='custom\statusBar\icons\compass.paa' color='%10'/> %16</t>
- <t shadow='1' shadowColor='#000000' color='%10'><img size='1.6' shadowColor='#000000' image='custom\statusBar\icons\players.paa' color='%10'/> %2</t>
- <t shadow='1' shadowColor='#000000' color='%10'><img size='1.6' shadowColor='#000000' image='custom\statusBar\icons\restart.paa' color='%10'/>Restart in: %18h%19m</t>",
- "%",
- _players,
- _damage,
- _wallet,
- _hunger,
- _thirst,
- _serverFPS,
- _energyPercent,
- _stamina,
- _colourDefault,
- _colourDamage,
- _colourHunger,
- _colourThirst,
- _colourEnergy,
- _colourStamina,
- format["%1/%2",_xx,_yy],
- _dir,
- _hours,
- _minutes,
- _statusRadiation,
- _colourRadiation,
- _bodyTemp,
- _colourTemp,
- _ambientTemp
- ];
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement