Jump to content
Sign in to follow this  
jimsolo

Arma 3 GUI data will CTD when pasted into .hpp and ran

Recommended Posts

I am a noob to Dialogs and the in-game GUI editor but have a working knowledge of mission scripting and working with .sqf etc...

I attempted a search here but there doesnt seem to be much info on the in game GUI editor. I did a manual search as well as the nifty "Check if already posted" button.

The problem I am having is when I create a dialog in the GUI then paste it into my dialogs.hpp and run the mission it CTD's.

When I use A2 style Dialog data it works.

Just to make sure I am doing this correctly here are my steps:

Create a dialog using in-game GUI.

"ctrl/shift/S" to copy to clipboard.

Alt/Tab out of game without closing GUI.

Paste data to .hpp and SAVE.

RESTART ARMA 3 so change takes effect.

test in EDITOR...

CTD!

so here is an example of the data exported from the A3 GUI editor:

////////////////////////////////////////////////////////

// GUI EDITOR OUTPUT START (by Jim, v1.063, #Xezyki)

////////////////////////////////////////////////////////

class RscFrame_1800: RscFrame

{

idc = 1800;

x = 1.5 * GUI_GRID_W + GUI_GRID_X;

y = 1.5 * GUI_GRID_H + GUI_GRID_Y;

w = 37 * GUI_GRID_W;

h = 22 * GUI_GRID_H;

};

class RscButton_1600: RscButton

{

idc = 1600;

x = 3 * GUI_GRID_W + GUI_GRID_X;

y = 3 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 2.5 * GUI_GRID_H;

};

class RscButton_1601: RscButton

{

idc = 1601;

x = 9 * GUI_GRID_W + GUI_GRID_X;

y = 3.1 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 2.5 * GUI_GRID_H;

};

////////////////////////////////////////////////////////

// GUI EDITOR OUTPUT END

////////////////////////////////////////////////////////

and here is one that I got off the web that works fine:

class UR_DIALOG

{

idd = -1;

movingenable = true;

class Controls

{

class UR_BOX: BOX

{

idc = -1;

text = "";

x = 0.390476 * safezoneW + safezoneX;

y = 0.290476 * safezoneH + safezoneY;

w = 0.236905 * safezoneW;

h = 0.385238 * safezoneH;

};

class UR_FRAME: RscFrame

{

idc = -1;

text = "Unit Requisition Panel";

x = 0.390476 * safezoneW + safezoneX;

y = 0.290476 * safezoneH + safezoneY;

w = 0.236905 * safezoneW;

h = 0.385238 * safezoneH;

};

class UR_BUTTON1: RscButton

{

idc = -1;

text = "Soldier";

x = 0.40 * safezoneW + safezoneX;

y = 0.50 * safezoneH + safezoneY;

w = 0.0398809 * safezoneW;

h = 0.0404761 * safezoneH;

action = "closeDialog 0;_nil=[]ExecVM ""hello1.sqf""";

};

class UR_BUTTON2: RscButton

{

idc = -1;

text = "Medic";

x = 0.42 * safezoneW + safezoneX;

y = 0.50 * safezoneH + safezoneY;

w = 0.0398809 * safezoneW;

h = 0.0404761 * safezoneH;

action = "closeDialog 0;_nil=[]ExecVM ""hello1.sqf""";

};

class UR_CLOSE: RscButton

{

idc = -1;

text = "CLOSE";

x = 0.533334 * safezoneW + safezoneX;

y = 0.625715 * safezoneH + safezoneY;

w = 0.0398809 * safezoneW;

h = 0.0404761 * safezoneH;

action = "closeDialog 0;_nil=[]ExecVM ""hello2.sqf""";

};

class UR_TEXT: RscText

{

idc = -1;

text = "Click a button to add a unit to your goup.";

x = 0.422618 * safezoneW + safezoneX;

y = 0.540953 * safezoneH + safezoneY;

w = 0.171429 * safezoneW;

h = 0.0404761 * safezoneH;

};

};

};

Any help on this would be greatly appreciated cause without being able to export I have to manually adjust my buttons etc... which is like pulling teeth when I have to keep restarting A3 to see changes.

Thanks in advance,

Jim

Edited by JimSolo

Share this post


Link to post
Share on other sites

the missing chunk in yours is the:

class UR_DIALOG
{
idd = -1;
movingenable = true;


class Controls
{
.......

the gui editor only outputs the controls part of it, you need to encompass it in a controls class with in the dialog class, assuming you only copy & pasted (UR_DIALOG is what you would call to reference your dialog)

read this section: BI wiki Dialog Control

Edited by dr_strangepete

Share this post


Link to post
Share on other sites

@MulleDK19 - This is what I actually paste INTO the "Dialogs.hpp" file. You wont see any reference to another .hpp file within this code.

@Dr_StrangePete - Ahh I should've seen that! Honestly I cant remember if I included that or not. I will check on it. Thanks!

*EDIT*

Nope thats not it.

I had a CTD with this Dialogs.hpp:

class UR_DIALOG

{

idd = -1;

movingenable = true;

class Controls

{

class UR_BOX: BOX

{

idc = -1;

text = "";

x = 0.25 * safezoneW + safezoneX;

y = 0.30 * safezoneH + safezoneY;

w = 0.50 * safezoneW;

h = 0.40 * safezoneH;

};

class UR_FRAME: RscFrame

{

idc = 1800;

text = "UNIT REQUISITION PANEL"; //--- ToDo: Localize;

x = -4 * GUI_GRID_W + GUI_GRID_X;

y = -0.1 * GUI_GRID_H + GUI_GRID_Y;

w = 48 * GUI_GRID_W;

h = 25 * GUI_GRID_H;

sizeEx = 1.5 * GUI_GRID_H;

};

class UR_PIC1: RscPicture

{

idc = 1200;

text = "#(argb,8,8,3)color(1,1,1,1)";

x = 34 * GUI_GRID_W + GUI_GRID_X;

y = 1.1 * GUI_GRID_H + GUI_GRID_Y;

w = 9.5 * GUI_GRID_W;

h = 23.3 * GUI_GRID_H;

};

class UR_BUTTON9: RscButton

{

idc = 1600;

text = "CLOSE"; //--- ToDo: Localize;

x = 28.7 * GUI_GRID_W + GUI_GRID_X;

y = 21.8 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 2.5 * GUI_GRID_H;

};

class UR_BUTTON1: RscButton

{

idc = 1601;

text = "Soldier"; //--- ToDo: Localize;

x = -3 * GUI_GRID_W + GUI_GRID_X;

y = 4.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON2: RscButton

{

idc = 1602;

text = "AV Soldier"; //--- ToDo: Localize;

x = 3.2 * GUI_GRID_W + GUI_GRID_X;

y = 4.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON3: RscButton

{

idc = 1603;

text = "AA Soldier"; //--- ToDo: Localize;

x = 9.3 * GUI_GRID_W + GUI_GRID_X;

y = 4.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON4: RscButton

{

idc = 1604;

text = "MG Soldier"; //--- ToDo: Localize;

x = 15.5 * GUI_GRID_W + GUI_GRID_X;

y = 4.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON5: RscButton

{

idc = 1605;

text = "Engineer"; //--- ToDo: Localize;

x = 21.6 * GUI_GRID_W + GUI_GRID_X;

y = 4.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_Button6: RscButton

{

idc = 1606;

text = "Grenadier"; //--- ToDo: Localize;

x = 27.8 * GUI_GRID_W + GUI_GRID_X;

y = 4.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON7: RscButton

{

idc = 1607;

text = "Marksman"; //--- ToDo: Localize;

x = -3 * GUI_GRID_W + GUI_GRID_X;

y = 6.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON8: RscButton

{

idc = 1608;

text = "Medic"; //--- ToDo: Localize;

x = 3.2 * GUI_GRID_W + GUI_GRID_X;

y = 6.7 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_TEXT1: RscText

{

idc = 1000;

text = "Click the buttons to add units to your group. (Max of 12)"; //--- ToDo: Localize;

x = -3 * GUI_GRID_W + GUI_GRID_X;

y = 1.9 * GUI_GRID_H + GUI_GRID_Y;

w = 23.6 * GUI_GRID_W;

h = 0.9 * GUI_GRID_H;

sizeEx = 1 * GUI_GRID_H;

};

class UR_TEXT2: RscText

{

idc = 1001;

text = "Infantry:"; //--- ToDo: Localize;

x = -2.9 * GUI_GRID_W + GUI_GRID_X;

y = 3.8 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 0.6 * GUI_GRID_H;

sizeEx = 1 * GUI_GRID_H;

};

class UR_TEXT3: RscText

{

idc = 1002;

text = "Veh. Crew:"; //--- ToDo: Localize;

x = -2.81 * GUI_GRID_W + GUI_GRID_X;

y = 9.28 * GUI_GRID_H + GUI_GRID_Y;

w = 4.6 * GUI_GRID_W;

h = 0.6 * GUI_GRID_H;

sizeEx = 1 * GUI_GRID_H;

};

class UR_TEXT4: RscText

{

idc = 1003;

text = "Pilots:"; //--- ToDo: Localize;

x = -2.8 * GUI_GRID_W + GUI_GRID_X;

y = 13 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 0.6 * GUI_GRID_H;

sizeEx = 1 * GUI_GRID_H;

};

class UR_TEXT5: RscText

{

idc = 1004;

text = "SpecOps:"; //--- ToDo: Localize;

x = -2.8 * GUI_GRID_W + GUI_GRID_X;

y = 16.9 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 0.6 * GUI_GRID_H;

sizeEx = 1 * GUI_GRID_H;

};

class UR_BUTTON10: RscButton

{

idc = 1609;

text = "Crewman"; //--- ToDo: Localize;

x = -2.96 * GUI_GRID_W + GUI_GRID_X;

y = 10.19 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON11: RscButton

{

idc = 1610;

text = "Pilot"; //--- ToDo: Localize;

x = -2.91 * GUI_GRID_W + GUI_GRID_X;

y = 13.94 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class UR_BUTTON12: RscButton

{

idc = 1611;

text = "Air Crew"; //--- ToDo: Localize;

x = 3.27 * GUI_GRID_W + GUI_GRID_X;

y = 13.98 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

class RscButton_1612: RscButton

{

idc = 1612;

x = -2.9 * GUI_GRID_W + GUI_GRID_X;

y = 17.86 * GUI_GRID_H + GUI_GRID_Y;

w = 4.9 * GUI_GRID_W;

h = 1.4 * GUI_GRID_H;

};

};

};

Edited by JimSolo
Update on problem

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  

×