Jump to content

Recommended Posts

Hi everybody, I will keep it simple ; I need to create and animate a progress bar, and hide unit info (displayctrl 184) when the player is in a vehicle ;

BUT like any HUD display, I need the progress bar to be hidden when map is open, game is paused, etc.

 

My problem is that the progress bar does not hide when the game is paused, or when I activate the splendid camera, etc. 🤔

The only thing I can do is hide when map is open.

 

it's still in the development stage, I'm only testing the possibility of hiding the bar

Here is my configuration and my script:

 

CfgIGUI.hpp

class WF_RscProgress
{
    type = 8;
    style = 0;
    shadow = 2;
    texture = "#(argb,8,8,3)color(0.4,0.6,1.0,1.0)";
    colorFrame[] = {1,1,1,1};
    colorBar[] = {1,1,1,1};
    colorBackground[] = {1,1,1,1};
    x = 1.05;
    y = 0.1;
    w = 0.2;
    h = 0.025;
};

class RscTitles
{
    class Default
    {
        idd = -1;
        fadein = 0;
        fadeout = 0;
        duration = 0;
    };

    class WF_Progress
    {

        name = "WF_Progress";
        idd = 611983;
        fadein=0;
        duration = 99999999999;
        fadeout=0;
        movingEnable = 0;
        onLoad = "uiNamespace setVariable ['WF_Progress',_this select 0]";
        objects[]={};

        class controlsBackground
        {
            class ProgressBar : WF_RscProgress
            {
                idc = 6119831;
                x = 0.8055 * safezoneW + safezoneX;
                y = 0.07 * safezoneH + safezoneY;
                w = 0.28; h = 0.03;
            };
        };
    };
};

 

MyTestScript

_veh = _this select 0;

sleep 0.01;
disableSerialization;
"WF_Progresslayer" cutRsc ["WF_Progress","PLAIN", -1, false];

sleep 0.01;
_UnitInfoPos = ctrlPosition ((uiNameSpace getVariable "RscUnitInfo") displayCtrl 184);
_WF_ProgrPos = ctrlPosition ((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831);

while {alive player} do
{
	if ((player in _veh) AND (isNull (findDisplay 49))) then
	{
		((uiNameSpace getVariable "RscUnitInfo") displayCtrl 184) ctrlSetPosition [0,0,0,0];
	  	((uiNameSpace getVariable "RscUnitInfo") displayCtrl 184) ctrlCommit 0;
	  	sleep 0.01;
	  	((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) ctrlSetPosition _WF_ProgrPos;
	  	((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) progressSetPosition (0.0001 max 100);
	  	((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) ctrlSetTextColor [0.4,0.6,1.0,(0.45 max 100)];
	  	((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) ctrlCommit 0;
	}
	else
	{
		((uiNameSpace getVariable "RscUnitInfo") displayCtrl 184) ctrlSetPosition _UnitInfoPos;
		((uiNameSpace getVariable "RscUnitInfo") displayCtrl 184) ctrlCommit 0;
		sleep 0.01;
		((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) ctrlSetPosition [0,0,0,0];
		((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) progressSetPosition 0;
	  	((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) ctrlSetTextColor [0,0,0,0];
		((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831) ctrlCommit 0;
	};
};

sleep 0.01;
ctrlDelete (((uiNameSpace getVariable "WF_Progress") displayCtrl 6119831));
terminate _thisscript;

Can someone help me ! Please ! 🙄

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×