dbw

[Release] Simple Dynamic Status Icons

38 posts in this topic

Hello guys,

I present you my first ever release here.
A simple minimalistic status icon script :D 
This is the first time I ever touch UI scripting, so be nice, but any suggestion is appreciated.

I'll keep updating this when I have the time. Next updates I'll try to clean up the code and make the ui more dynamic.

Feel free to modify / tweak it.

Download & Installation: https://github.com/neonoxd/Exile-Dynamic-StatusIcons
9e98e0a03d.jpg
20161118171446_1.jpg

9433625407.gif

 
Spoiler

UPDATE[11/18]:
New Status Icon, that appears when body temperature is below 36c
Minor code optimisation, and tried to smooth transitions from one state to another when updating the circle bars.
Edit: Committed old statusbar.sqf to github, its fixed now. :D 

UPDATE[11/18] #2
-Disabled Exile Status Display (Bottom left hud)

UPDATE[11/19]
-The display should reInit now after using Arsenal.
-Shouldn't crash the script when your variables are not initialised yet.

UPDATE[11/20]
-Grouped the Icons so it's easier to reposition.
-Renamed files and folders so its more consistent

UPDATE[11/22]
-New Togglable text based display, to check your stats more precisely ( Default key is ~ )

UPDATE[11/24]
- Now in preparation for night mode, circlebars and icons are separated, and now on a different layer, which means that you can set their colour separately.



Planned features:
-Night Mode (High contrast colours)
-Config file, to costumize

Known bugs:
-If you are using infiStar, the icons disappear when you open the Arsenal, and won't reappear until you relog.should be good now 9_9
-If you load in too slow the ui might not appear.
(didn't figure out how to start initialising the ui, only after the client loads in, so currently there is a timer, and if your playervariables are not initialised yet, the ui script crashes.)
 should be good now ¬¬

Big shoutout to everyone who got involved, by writing suggestions, critiques and helping me. It means a lot! :D 

 

 

Edited by dbw
updated stuff
11 people like this

Share this post


Link to post
Share on other sites
Advertisement

Hot dam. those like really nice. Keep up the work and add more to it! 

Share this post


Link to post
Share on other sites

I'm trying my best. :D thanks for the good words.
This is pretty much a personal project, to learn how to work with the GUI, so I'll definitely will be adding more to it, when I have the time :D Currently I'm just experimenting with these :D 

2 people like this

Share this post


Link to post
Share on other sites

@dbw Really nice dude, wish I had the patience to learn GUI editing. 

I see some people here calling for additions like FPS etc, I think its fine the way it is, keep it less a "status bar" and more a "hud addition"!

You could expand on this, and add in temperature, then you could remove the current Exile hunger / thirst display and have your version instead.

Wd

2 people like this

Share this post


Link to post
Share on other sites
46 minutes ago, John said:

@dbw Really nice dude, wish I had the patience to learn GUI editing. 

I see some people here calling for additions like FPS etc, I think its fine the way it is, keep it less a "status bar" and more a "hud addition"!

You could expand on this, and add in temperature, then you could remove the current Exile hunger / thirst display and have your version instead.

Wd

Thanks man :D

Thats exactly my plan.

I want to do the temperature icon to only appear when you are cold. Kind of like a debuff notification, but might change that.

And yeah I want to keep it simple. You measure your fps with steamoverlay anyway :D

Share this post


Link to post
Share on other sites
7 minutes ago, dbw said:

Thanks man :D

Thats exactly my plan.

I want to do the temperature icon to only appear when you are cold. Kind of like a debuff notification, but might change that.

And yeah I want to keep it simple. You measure your fps with steamoverlay anyway :D

Sweet,

In case you are not sure, the variable you are looking for when you work on temperature is -

_bodyTemperature = ExileClientPlayerAttributes select 5;
_bodyWetness = ExileClientPlayerAttributes select 6;
_ambientTemperature = ExileClientEnvironmentTemperature; // Or just simply ExileClientEnvironmentTemperature

=)

Edited by John
1 person likes this

Share this post


Link to post
Share on other sites

Absolutely loving this!! May I make a request/suggestion? Have a config option to have it either on the left or the right of the screen?

Edited by kuplion
1 person likes this

Share this post


Link to post
Share on other sites

statusbar.hpp - example

20161118060313_1.png without temperature

Spoiler

class StatusBar
{    
        idd = 13372;
        fadein = 1;
        fadeout = 1;
        duration = 10e10;
        onLoad = "uiNamespace setVariable ['StatusBar', _this select 0]";
        onUnload = "uiNamespace setVariable ['StatusBar', objNull]";
        onDestroy = "uiNamespace setVariable ['StatusBar', objNull]";
        
        class controls
        {
            class HealthControl
            {    
                idc = 13373;
                type = 0;
                //style = 0 * 16;
                style = 2096;
                    x = 0.10 * safezoneW + safezoneX;
                    y = 0.888704 * safezoneH + safezoneY;
                //x = safeZoneX + safeZoneW - 0.15; //right side
                //x = safeZoneX;                                // left side
                //y = 0;
                //y = 1 / 2 - 0.15;
                w = 0.15;
                h = 0.15 * 3 / 4;
                font = "EtelkaNarrowMediumPro";
                sizeEx = 0.1;
                colorBackground[] = {0,0,0,0};
                colorText[] = {1,1,1,0.6};
                text = "";
            };  
            class FoodControl : HealthControl
            {    
                idc = 13374;
                x = 0.14 * safezoneW + safezoneX;
                y = 0.888704 * safezoneH + safezoneY;
                //y = 0.15;
                //y = 1 / 2;
                text = "";
            }; 
            class WaterControl : HealthControl
            {    
                idc = 13375;
                x = 0.18 * safezoneW + safezoneX;
                y = 0.888704 * safezoneH + safezoneY;
                //y = 0.30;
                //y = 1 / 2 + 0.15;
                text = "";
            }; 
            class TemperatureControl : HealthControl
            {    
                idc = 13376;
                x = 0.22 * safezoneW + safezoneX;
                y = 0.888704 * safezoneH + safezoneY;
                //y = 0.30;
                //y = 1 / 2 + 0.30;
                text = "";
            }; 
        };    
};
 

this .hpp has temperature include

1 person likes this

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.