Jump to content
Sign in to follow this  
KC Grimes

Q: Return when Respawn button is clicked?

Recommended Posts

I'm working on a script involving the Respawn button and a delay to the MenuPositions bit, but I want to do something special with the Respawn button. Is there a way to return when the Respawn button is clicked? I just can't find a command that fits it.

Relative info I have:

disableSerialization; 
_respawnButton = findDisplay 49; 
_controlButton = (findDisplay 49) displayCtrl 1010; 
_test = ctrlEnabled _controlButton; 

That just gives anyone willing to help the idc and the display numbers. The ctrEnabled is my current only option, and it is "true" whenever the Escape menu is up, and false when it is not. I could make this work, but really preferring something that detects/returns/whatever when that button is clicked.

Edit: Just to add a bit more context. Here's what I would like. A player can do 1 of 2 things.

1. Hit the Respawn button in the escape menu, which is either part of an event handler for the unit or returns a value that another script is already waitingUntil for.

2. Die, enter the revive sequence, then decide they don't want to be revived, and open the escape menu and hit Respawn. Stock, this would NOT have the desired effect. That's why I want a way to detect it, so that I can do what I want with the button.

I see plenty about enabling and disabling them, but I need to know when they're clicked.

If I need to elaborate further, please feel free to ask. Thanks again!

Edited by Grimes [3rd ID]

Share this post


Link to post
Share on other sites

In addition to this, I'm confused about the following line:

ctrlActivate ((findDisplay 49) displayCtrl 1010);

With the escape menu open, I send this code through the debug console, and it closes the menu. Doesn't Activate the respawn button. Am I doing something wrong here...?

Edit: However, when I change 1010 to 104 (Abort button), it does THAT correctly. What's goin' on here!?

Share this post


Link to post
Share on other sites

Sorry I don't have A3 configs available at work, but I do have A2 configs, you can essentially override the RscDisplayMPInterrupt class (I believe this is the same/similar in A3, minus the assets), you can look in ui_f pbo to confirm, but here is example that works in A2:

class RscStandardDisplay;
class RscDisplayMPInterrupt: RscStandardDisplay
{
movingEnable = 0;
enableSimulation = 1;
onLoad = "_dummy = [""Init"", _this] execVM ""\ca\ui\scripts\pauseLoadinit.sqf""";
onUnload = "private ['_dummy']; _dummy = ['Unload', _this] execVM '\ca\ui\scripts\pauseOnUnload.sqf';";
class controlsBackground
{
	class Mainback: RscPicture
	{
		idc = 1104;
		x = 0.045;
		y = 0.17;
		w = 0.627451;
		h = 0.8366013;
		text = "\ca\ui\data\ui_background_mp_pause_ca.paa";
	};
};
class controls
{
	delete Title;
	delete B_Players;
	delete B_Options;
	delete B_Abort;
	delete B_Retry;
	delete B_Load;
	delete B_Save;
	delete B_Continue;
	delete B_Diary;
	class MissionTitle: RscText
	{
		idc = 120;
		x = 0.05;
		y = 0.818;
		text = "";
	};
	class DifficultyTitle: RscText
	{
		idc = 121;
		x = 0.05;
		y = 0.772;
		text = "";
	};
	class Paused_Title: CA_Title
	{
		idc = 523;
		x = 0.087;
		y = 0.192;
		text = "$STR_DISP_MAIN_MULTI";
	};
	class CA_B_SAVE: RscShortcutButtonMain
	{
		idc = 103;
		y = "0.2537 + 0.101903 * 0";
		x = 0.051;
		text = "$STR_DISP_INT_SAVE";
		default = 0;
	};
	class CA_B_REVERT: CA_B_SAVE
	{
		idc = 119;
		y = "0.2537 + 0.101903 * 1";
		text = "$str_disp_revert";
		default = 0;
	};
	class CA_B_Respawn: CA_B_SAVE
	{
		idc = 1010;
		onButtonClick = "call customRespawn;";
		y = "0.2537 + 0.101903 * 2";
		text = "$STR_DISP_INT_RESPAWN";
		default = 0;
	};
	class CA_B_Options: CA_B_SAVE
	{
		idc = 101;
		y = "0.2537 + 0.101903 * 3";
		text = "$STR_DISP_INT_OPTIONS";
		default = 0;
	};
	class CA_B_Abort: CA_B_SAVE
	{
		idc = 104;
		y = "0.2537 + 0.101903 * 4";
		text = "$STR_DISP_INT_ABORT";
		default = 0;
	};
	class ButtonCancel: RscShortcutButton
	{
		idc = 2;
		shortcuts[] = {"0x00050000 + 1","0x00050000 + 8"};
		default = 1;
		x = 0.1605;
		y = 0.8617;
		text = "$STR_DISP_INT_CONTINUE";
	};
};
};

Share this post


Link to post
Share on other sites

Shizweak, thank you for the reply. Unfortunately I know very little about editing these config classes, and same goes with dialogs in general. I put the following in a file #included in the description.ext:

class RscStandardDisplay; 
class RscDisplayMPInterrupt: RscStandardDisplay
{
idd = 49;
class controls
{
       class G_Respawn_Button
       { 
           idc = 1010; 
           onButtonClick = "execVM ""test.sqf"""; 
           y = "0.2537 + 0.101903 * 2"; 
           text = "$STR_DISP_INT_RESPAWN"; 
           default = 0; 
       };
   }; 
};  

I assumed by doing this, because it is the specific button's control, that it would "override" as you said. However, whenever I click Respawn, it acts as normal, and test.sqf is not executed. No errors, nothing in the .rpt. Could you please elaborate further on what needs doing? Thanks for the help!

Edit: Went a little further and did the following:

class RscStandardDisplay; 
class RscDisplayMPInterrupt: RscStandardDisplay
{
idd = 49;
class controls
{
       class G_Respawn_Button
       { 
           idc = 1010; 
           onButtonClick = "execVM ""test.sqf"""; 
		text = "Respawn";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "17.5 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
           default = 0; 
       };
   }; 
};  

Also, just to make sure, I am trying to use the stock, normal Respawn button found in the Escape menu. NOT one created by a custom dialog. I say this because that's what your code looks like its supposed to do.

Edit 2:

That said, why wouldn't the following work?

class RscStandardDisplay; 
class RscDisplayMPInterrupt: RscStandardDisplay
{
class controls
{
       class ButtonRespawn
       { 
           onButtonClick = "execVM ""test.sqf"""; 
	};
   }; 
};  

Does it redefine the class, and not just "add" to it? Also, do I need to delete the previous define or something? Thanks again.

Edited by Grimes [3rd ID]

Share this post


Link to post
Share on other sites

Hi Grimes,

I believe you need to override the entire RscDisplayMPInterrupt display, not just the single control

And yes, the code I posted is the stock menu display from A2, when pressing escape in game - however as I noted, it may be slightly different for A3 - hence why you are probably not seeing any results.

I will take a look at A3 sources when I arrive home and post a working example, as I need to achieve the same in A3 anywho.

EDIT:

I've taken a look and it appears the button is now controlled by the UI code, which now launches the "confirm respawn" dialog. Perhaps there is a simple option, will be investigating further at some point - otherwise if you find solution I'd love to know.

Edited by Shizweak

Share this post


Link to post
Share on other sites

It's a bit different for A3, but the concept is there. Here is the full MPInterrupt display, which I've tried by replacing the "Respawn" for button text with "Test". No errors, but not working either.

class RscStandardDisplay; 
class RscTitle;
class RscText;
class CA_Title;
class RscButtonMenu;
class RscDebugConsole;
class RscFeedback;
class RscMessageBox;
class RscVignette;
class RscControlsGroupNoScrollbars;
class RscFrame;
class RscDisplayMPInterrupt: RscStandardDisplay
{
idd = 49;
class controls
{
	class Title: RscTitle
	{
		idc = 523;
		style = 0;
		text = "MENU";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "14.2 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "5 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		colorBackground[] = {0,0,0,0};
	};
	class MissionTitle: RscText
	{
		text = "";
		idc = 120;
		font = "PuristaLight";
		sizeEx = "(			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
		shadow = 0;
		x = "SafezoneX + (1 * 			(			((safezoneW / safezoneH) min 1.2) / 40))";
		y = "23 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "SafezoneW - (12 * 			(			((safezoneW / safezoneH) min 1.2) / 40))";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		colorBackground[] = {0,0,0,0};
	};
	class DifficultyTitle: RscText
	{
		text = "";
		idc = 121;
		style = 1;
		font = "PuristaLight";
		sizeEx = "(			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
		shadow = 0;
		x = "SafezoneX + SafezoneW - (11 * 			(			((safezoneW / safezoneH) min 1.2) / 40))";
		y = "23 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "10 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		colorBackground[] = {0,0,0,0};
	};
	class PlayersName: CA_Title
	{
		idc = 109;
		style = 1;
		colorBackground[] = {0,0,0,0};
		x = "6 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "14.2 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "10 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonCancel: RscButtonMenu
	{
		idc = 2;
		shortcuts[] = {"0x00050000 + 1","0x00050000 + 8"};
		default = 1;
		text = "Continue";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "15.3 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonSAVE: RscButtonMenu
	{
		idc = 103;
		text = "Save";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "16.4 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonSkip: RscButtonMenu
	{
		idc = 1002;
		text = "Skip";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "16.4 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonRespawn: RscButtonMenu
	{
		idc = 1010;
		text = "Test";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "17.5 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonOptions: RscButtonMenu
	{
		idc = 101;
		text = "Configure";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "18.6 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonVideo: RscButtonMenu
	{
		idc = 301;
		text = "Video";
		x = "2 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "15.3 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "14 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		tooltip = "Adjust resolution, details and other viewing options.";
	};
	class ButtonAudio: RscButtonMenu
	{
		idc = 302;
		text = "Audio";
		x = "2 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "16.4 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "14 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		tooltip = "Set volume for sounds, music, speech and voice.";
	};
	class ButtonControls: RscButtonMenu
	{
		idc = 303;
		text = "Controls";
		x = "2 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "17.5 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "14 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		tooltip = "View or change game controls.";
	};
	class ButtonGame: RscButtonMenu
	{
		idc = 307;
		text = "Game";
		x = "2 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "18.6 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "14 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		tooltip = "Adjust game difficulty and customize game interface.";
	};
	class ButtonTutorialHints: RscButtonMenu
	{
		idc = 122;
		text = "Field Manual";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "19.7 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class ButtonAbort: RscButtonMenu
	{
		idc = 104;
		text = "Abort";
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "20.8 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class DebugConsole: RscDebugConsole
	{
		x = "17 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "0.5 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "22 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "21.5 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
	};
	class Feedback: RscFeedback
	{
	};
	class MessageBox: RscMessageBox
	{
	};
};
onLoad = "[""onLoad"",_this,""RscDisplayMPInterrupt"",'GUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
onUnload = "[""onUnload"",_this,""RscDisplayMPInterrupt"",'GUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
movingEnable = 0;
enableSimulation = 1;
class controlsBackground
{
	class Vignette: RscVignette
	{
		idc = 114998;
	};
	class TileGroup: RscControlsGroupNoScrollbars
	{
		idc = 115099;
		x = "safezoneX";
		y = "safezoneY";
		w = "safezoneW";
		h = "safezoneH";
		disableCustomColors = 1;
		class Controls
		{
			class TileFrame: RscFrame
			{
				idc = 114999;
				x = 0;
				y = 0;
				w = "safezoneW";
				h = "safezoneH";
				colortext[] = {0,0,0,1};
			};
			class Tile_0_0: RscText
			{
				idc = 115000;
				x = "(0 * 1/6) * safezoneW";
				y = "(0 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_0_1: RscText
			{
				idc = 115001;
				x = "(0 * 1/6) * safezoneW";
				y = "(1 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_0_2: RscText
			{
				idc = 115002;
				x = "(0 * 1/6) * safezoneW";
				y = "(2 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_0_3: RscText
			{
				idc = 115003;
				x = "(0 * 1/6) * safezoneW";
				y = "(3 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_0_4: RscText
			{
				idc = 115004;
				x = "(0 * 1/6) * safezoneW";
				y = "(4 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_0_5: RscText
			{
				idc = 115005;
				x = "(0 * 1/6) * safezoneW";
				y = "(5 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_1_0: RscText
			{
				idc = 115010;
				x = "(1 * 1/6) * safezoneW";
				y = "(0 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_1_1: RscText
			{
				idc = 115011;
				x = "(1 * 1/6) * safezoneW";
				y = "(1 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_1_2: RscText
			{
				idc = 115012;
				x = "(1 * 1/6) * safezoneW";
				y = "(2 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_1_3: RscText
			{
				idc = 115013;
				x = "(1 * 1/6) * safezoneW";
				y = "(3 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_1_4: RscText
			{
				idc = 115014;
				x = "(1 * 1/6) * safezoneW";
				y = "(4 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_1_5: RscText
			{
				idc = 115015;
				x = "(1 * 1/6) * safezoneW";
				y = "(5 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_2_0: RscText
			{
				idc = 115020;
				x = "(2 * 1/6) * safezoneW";
				y = "(0 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_2_1: RscText
			{
				idc = 115021;
				x = "(2 * 1/6) * safezoneW";
				y = "(1 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_2_2: RscText
			{
				idc = 115022;
				x = "(2 * 1/6) * safezoneW";
				y = "(2 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_2_3: RscText
			{
				idc = 115023;
				x = "(2 * 1/6) * safezoneW";
				y = "(3 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_2_4: RscText
			{
				idc = 115024;
				x = "(2 * 1/6) * safezoneW";
				y = "(4 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_2_5: RscText
			{
				idc = 115025;
				x = "(2 * 1/6) * safezoneW";
				y = "(5 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_3_0: RscText
			{
				idc = 115030;
				x = "(3 * 1/6) * safezoneW";
				y = "(0 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_3_1: RscText
			{
				idc = 115031;
				x = "(3 * 1/6) * safezoneW";
				y = "(1 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_3_2: RscText
			{
				idc = 115032;
				x = "(3 * 1/6) * safezoneW";
				y = "(2 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_3_3: RscText
			{
				idc = 115033;
				x = "(3 * 1/6) * safezoneW";
				y = "(3 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_3_4: RscText
			{
				idc = 115034;
				x = "(3 * 1/6) * safezoneW";
				y = "(4 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_3_5: RscText
			{
				idc = 115035;
				x = "(3 * 1/6) * safezoneW";
				y = "(5 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_4_0: RscText
			{
				idc = 115040;
				x = "(4 * 1/6) * safezoneW";
				y = "(0 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_4_1: RscText
			{
				idc = 115041;
				x = "(4 * 1/6) * safezoneW";
				y = "(1 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_4_2: RscText
			{
				idc = 115042;
				x = "(4 * 1/6) * safezoneW";
				y = "(2 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_4_3: RscText
			{
				idc = 115043;
				x = "(4 * 1/6) * safezoneW";
				y = "(3 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_4_4: RscText
			{
				idc = 115044;
				x = "(4 * 1/6) * safezoneW";
				y = "(4 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_4_5: RscText
			{
				idc = 115045;
				x = "(4 * 1/6) * safezoneW";
				y = "(5 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_5_0: RscText
			{
				idc = 115050;
				x = "(5 * 1/6) * safezoneW";
				y = "(0 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_5_1: RscText
			{
				idc = 115051;
				x = "(5 * 1/6) * safezoneW";
				y = "(1 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_5_2: RscText
			{
				idc = 115052;
				x = "(5 * 1/6) * safezoneW";
				y = "(2 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_5_3: RscText
			{
				idc = 115053;
				x = "(5 * 1/6) * safezoneW";
				y = "(3 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_5_4: RscText
			{
				idc = 115054;
				x = "(5 * 1/6) * safezoneW";
				y = "(4 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
			class Tile_5_5: RscText
			{
				idc = 115055;
				x = "(5 * 1/6) * safezoneW";
				y = "(5 * 1/6) * safezoneH";
				w = "1/6 * safezoneW";
				h = "1/6 * safezoneH";
				colorBackground[] = {0,0,0,0.1};
			};
		};
	};
	class TitleBackground: RscText
	{
		idc = 1050;
		x = "1 * 			(			((safezoneW / safezoneH) min 1.2) / 40) + 			(safezoneX)";
		y = "14.2 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "15 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"};
	};
	class MissionNameBackground: RscText
	{
		idc = -1;
		x = "SafezoneX + (1 * 			(			((safezoneW / safezoneH) min 1.2) / 40))";
		y = "23 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + 			(safezoneY + safezoneH - 			(			((safezoneW / safezoneH) min 1.2) / 1.2))";
		w = "SafezoneW - (2 * 			(			((safezoneW / safezoneH) min 1.2) / 40))";
		h = "1 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		colorBackground[] = {0,0,0,0.7};
	};
	class Pause1: RscText
	{
		idc = 1000;
		x = "safezoneX + safezoneW - 2.2 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		y = "safezoneY + 1.4 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		w = "0.7 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
		h = "2 * 			(			(			((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
		colorBackground[] = {1,1,1,1};
		shadow = 2;
	};
	class Pause2: Pause1
	{
		idc = 1001;
		x = "safezoneX + safezoneW - 3.2 * 			(			((safezoneW / safezoneH) min 1.2) / 40)";
	};
};
};

Not too worried about the confirm respawn bit. If we found out how to detect a button click for these, I would just wait for one in the Respawn button then in the confirm dialog, and then check the opposite to reset it. Just need to figure out how to get the return.

Share this post


Link to post
Share on other sites

Have you been able to figure this one out? I just don't have a clue. Right now I have it so that if they hit Esc at a certain point they'll respawn. Works fine, just not as clean.

Share this post


Link to post
Share on other sites
h = [] spawn {
while {true} do {
	waitUntil {! isNull (findDisplay 49)};
	_CEH = ((findDisplay 49) displayCtrl 1010)  ctrlAddEventHandler ["MouseButtonDown",{(findDisplay 49) closeDisplay 0; hint "Respawn Bypassed";}]; 
	waitUntil {isNull (findDisplay 49)};
};
};

Should get you somewhere close

Share this post


Link to post
Share on other sites
h = [] spawn {
while {true} do {
	waitUntil {! isNull (findDisplay 49)};
	_CEH = ((findDisplay 49) displayCtrl 1010)  ctrlAddEventHandler ["MouseButtonDown",{(findDisplay 49) closeDisplay 0; hint "Respawn Bypassed";}]; 
	waitUntil {isNull (findDisplay 49)};
};
};

Should get you somewhere close

I'll make this work. Thank you so much for the help!

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
Sign in to follow this  

×