Jump to content
iceman77

Dialog Tutorial For Noobs [By A Noob]

Was this guide helpful  

120 members have voted

  1. 1. Was this guide helpful

    • Yes
      107
    • No
      3


Recommended Posts

It's missing alot of things... The guide was made for Arma2 ages ago. I wrote it while I was teaching myself how to make dialogs... without any help. Needless to say, I myself have come a very long way. The guide will be re-wrote for A3 in any case. Sometime.
you the man Iceman77 , Ive been copying and pasting things off you for a long time...:yay:

ive been messing with gcam , typ of dialogs... I have more fun wasting the day messing with dialogs than making missions...

Share this post


Link to post
Share on other sites
eyyy heres new er updated defines , the ones with dialogs for noobs is missing a few things

Hi. This would be awesome but there's an error in the first few lines that crashes my arma3. amy chance of a non error containing one>?

Share this post


Link to post
Share on other sites
Hi. This would be awesome but there's an error in the first few lines that crashes my arma3. amy chance of a non error containing one>?

Is it?

#define GUI_GRID_W	(0.025)
#define GUI_GRID_H	(0.04)
#define GUI_GRID_X	(0)
#define GUI_GRID_Y	(0)
#define GUI_GRID_WAbs	(1)
#define GUI_GRID_HAbs	(1)

///////////////////////////////////////////////////////////////////////////
/// Styles
///////////////////////////////////////////////////////////////////////////

// Control types
...

Share this post


Link to post
Share on other sites

Does anyone have any information on how to define and use CT_CHECKBOX (77)? Related commands are cbChecked and cbSetChecked.

class RscCheckBox
{
idc = -1;
type = 77;
style = 0;
checked = 0;
x = "0.375 * safezoneW + safezoneX";
y = "0.36 * safezoneH + safezoneY";
w = "0.025 * safezoneW";
h = "0.04 * safezoneH";
color[] = {1,1,1,0.7};
colorFocused[] = {1,1,1,1};
colorHover[] = {1,1,1,1};
colorPressed[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.2};
colorBackground[] = {0,0,0,0};
colorBackgroundFocused[] = {0,0,0,0};
colorBackgroundHover[] = {0,0,0,0};
colorBackgroundPressed[] = {0,0,0,0};
colorBackgroundDisabled[] = {0,0,0,0};
textureChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
textureUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
textureFocusedChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
textureFocusedUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
textureHoverChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
textureHoverUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
texturePressedChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
texturePressedUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
textureDisabledChecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";
textureDisabledUnchecked = "\A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";
tooltipColorText[] = {1,1,1,1};
tooltipColorBox[] = {1,1,1,1};
tooltipColorShade[] = {0,0,0,0.65};
soundEnter[] = {"",0.1,1};
soundPush[] = {"",0.1,1};
soundClick[] = {"",0.1,1};
soundEscape[] = {"",0.1,1};
};

I am also wondering if there is any way to change which element in a CT_TOOLBOX is selected, I could not find a matching command. Looking for a simple method to have three buttons on an interface where exactly one of them is selected at any time and I have the ability to restore a previously saved state via a script command.

Share this post


Link to post
Share on other sites

The link to the tutorial .pdf in the original post is dead. Any chance you could re-upload it?

Share this post


Link to post
Share on other sites

None of my RscText elements display how I've created them. But it looks perfect in the GUI editor. This is in Arma 3.

What it looks like in the editor: http://i.imgur.com/Y7ba0rA.jpg (Slider is invisible unless hovered over, but it's still there.)

What it looks like in-game: http://i.imgur.com/bQGaUnQ.jpg (Text is invisible, no background appears)

Except for the element that says "Time to Wait" which is supposed to display the number that the slider is on, I expect to see some text without the element backgrounds, but all I get are the element backgrounds and no text.

Also: It doesn't appear to have an effect on the created dialog, but in the editor each newly created element is on top of the last. Is there a way to change the layers they are on so certain elements are in front of others? Like the background should be in the background, not the foreground covering my buttons.

Edited by TheCoolSideofthePillow

Share this post


Link to post
Share on other sites

Not sure I get your issue. What does the resource code look like?

Share this post


Link to post
Share on other sites

Defines.cpp:

///////////////////////////////////////////////////////////////////////////
/// Styles
///////////////////////////////////////////////////////////////////////////

// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102

// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C

#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0

#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800

#define ST_TITLE          ST_TITLE_BAR + ST_CENTER

// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400

#define SL_TEXTURES       0x10

// progress bar 
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0

// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20

// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2

// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4


///////////////////////////////////////////////////////////////////////////
/// Base Classes
///////////////////////////////////////////////////////////////////////////
class RscText
{
access = 0;
type = 0;
idc = -1;
colorBackground[] = { 1, 1, 1, 0.3 };
colorText[] = 
{
	1,
	1,
	1,
	1
};
text = "";
fixedWidth = 0;
x = 0;
y = 0;
h = 0.037;
w = 0.3;
style = 0;
shadow = 1;
colorShadow[] = 
{
	0,
	0,
	0,
	0.5
};
font = "PuristaMedium";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
linespacing = 1;
};
class RscStructuredText
{
access = 0;
type = 13;
idc = -1;
style = 0;
colorText[] = 
{
	1,
	1,
	1,
	1
};
class Attributes
{
	font = "PuristaMedium";
	color = "#ffffff";
	align = "left";
	shadow = 1;
};
x = 0;
y = 0;
h = 0.035;
w = 0.1;
text = "";
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
shadow = 1;
};
class RscPicture
{
access = 0;
type = 0;
idc = -1;
style = 48;
colorBackground[] = 
{
	0,
	0,
	0,
	0
};
colorText[] = 
{
	1,
	1,
	1,
	1
};
font = "TahomaB";
sizeEx = 0;
lineSpacing = 0;
text = "";
fixedWidth = 0;
shadow = 0;
x = 0;
y = 0;
w = 0.2;
h = 0.15;
};
class RscEdit
{
access = 0;
type = 2;
x = 0;
y = 0;
h = 0.04;
w = 0.2;
colorBackground[] = 
{
	0,
	0,
	0,
	1
};
colorText[] = 
{
	0.95,
	0.95,
	0.95,
	1
};
colorSelection[] = 
{
	"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
	1
};
autocomplete = "";
text = "";
size = 0.2;
style = "0x00 + 0x40";
font = "PuristaMedium";
shadow = 2;
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorDisabled[] = 
{
	1,
	1,
	1,
	0.25
};
canModify = 1;
};
class RscCombo
{
access = 0;
type = 4;
colorSelect[] = 
{
	0,
	0,
	0,
	1
};
colorText[] = 
{
	0.95,
	0.95,
	0.95,
	1
};
colorBackground[] = 
{
	0,
	0,
	0,
	1
};
colorScrollbar[] = 
{
	1,
	0,
	0,
	1
};
soundSelect[] = 
{
	"",
	0.1,
	1
};
soundExpand[] = 
{
	"",
	0.1,
	1
};
soundCollapse[] = 
{
	"",
	0.1,
	1
};
maxHistoryDelay = 1;
class ScrollBar
{
	color[] = 
	{
		1,
		1,
		1,
		0.6
	};
	colorActive[] = 
	{
		1,
		1,
		1,
		1
	};
	colorDisabled[] = 
	{
		1,
		1,
		1,
		0.3
	};
	shadow = 0;
	thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
	arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
	arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
	border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
};
style = 16;
x = 0;
y = 0;
w = 0.12;
h = 0.035;
shadow = 0;
colorSelectBackground[] = 
{
	1,
	1,
	1,
	0.7
};
arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";
arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
wholeHeight = 0.45;
color[] = 
{
	1,
	1,
	1,
	1
};
colorActive[] = 
{
	1,
	0,
	0,
	1
};
colorDisabled[] = 
{
	1,
	1,
	1,
	0.25
};
font = "PuristaMedium";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
};
class RscListBox
{
access = 0;
type = 5;
w = 0.4;
h = 0.4;
rowHeight = 0;
colorText[] = 
{
	1,
	1,
	1,
	1
};
colorScrollbar[] = 
{
	1,
	0,
	0,
	0
};
colorSelect[] = 
{
	0,
	0,
	0,
	1
};
colorSelect2[] = 
{
	0,
	0,
	0,
	1
};
colorSelectBackground[] = 
{
	0.95,
	0.95,
	0.95,
	1
};
colorSelectBackground2[] = 
{
	1,
	1,
	1,
	0.5
};
colorBackground[] = 
{
	0,
	0,
	0,
	0.3
};
soundSelect[] = 
{
	"",
	0.1,
	1
};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
class ScrollBar
{
	color[] = 
	{
		1,
		1,
		1,
		0.6
	};
	colorActive[] = 
	{
		1,
		1,
		1,
		1
	};
	colorDisabled[] = 
	{
		1,
		1,
		1,
		0.3
	};
	shadow = 0;
	thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
	arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
	arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
	border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
};
style = 16;
font = "PuristaMedium";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
shadow = 0;
colorShadow[] = 
{
	0,
	0,
	0,
	0.5
};
color[] = 
{
	1,
	1,
	1,
	1
};
colorDisabled[] = 
{
	1,
	1,
	1,
	0.25
};
period = 1.2;
maxHistoryDelay = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
};
class RscButton
{
access = 0;
type = 1;
text = "";
colorText[] = 
{
	1,
	1,
	1,
	1
};
colorDisabled[] = 
{
	0.4,
	0.4,
	0.4,
	1
};
colorBackground[] = 
{
	"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
	0.7
};
colorBackgroundDisabled[] = 
{
	0.95,
	0.95,
	0.95,
	1
};
colorBackgroundActive[] = 
{
	"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
	1
};
colorFocused[] = 
{
	"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
	1
};
colorShadow[] = 
{
	0,
	0,
	0,
	1
};
colorBorder[] = 
{
	0,
	0,
	0,
	1
};
soundEnter[] = 
{
	"\A3\ui_f\data\sound\onover",
	0.09,
	1
};
soundPush[] = 
{
	"\A3\ui_f\data\sound\new1",
	0,
	0
};
soundClick[] = 
{
	"\A3\ui_f\data\sound\onclick",
	0.07,
	1
};
soundEscape[] = 
{
	"\A3\ui_f\data\sound\onescape",
	0.09,
	1
};
style = 2;
x = 0;
y = 0;
w = 0.095589;
h = 0.039216;
shadow = 2;
font = "PuristaMedium";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
offsetX = 0.003;
offsetY = 0.003;
offsetPressedX = 0.002;
offsetPressedY = 0.002;
borderSize = 0;
};
class RscShortcutButton
{
type = 16;
x = 0.1;
y = 0.1;
class HitZone
{
	left = 0;
	top = 0;
	right = 0;
	bottom = 0;
};
class ShortcutPos
{
	left = 0;
	top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";
	w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)";
	h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
};
class TextPos
{
	left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)";
	top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";
	right = 0.005;
	bottom = 0;
};
shortcuts[] = 
{
};
textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";
color[] = 
{
	1,
	1,
	1,
	1
};
color2[] = 
{
	0.95,
	0.95,
	0.95,
	1
};
colorDisabled[] = 
{
	1,
	1,
	1,
	0.25
};
colorBackground[] = 
{
	"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
	1
};
colorBackground2[] = 
{
	1,
	1,
	1,
	1
};
class Attributes
{
	font = "PuristaMedium";
	color = "#E5E5E5";
	align = "left";
	shadow = "true";
};
idc = -1;
style = 0;
default = 0;
shadow = 1;
w = 0.183825;
h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)";
animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";
animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa";
animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";
periodFocus = 1.2;
periodOver = 0.8;
period = 0.4;
font = "PuristaMedium";
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
text = "";
soundEnter[] = 
{
	"\A3\ui_f\data\sound\onover",
	0.09,
	1
};
soundPush[] = 
{
	"\A3\ui_f\data\sound\new1",
	0,
	0
};
soundClick[] = 
{
	"\A3\ui_f\data\sound\onclick",
	0.07,
	1
};
soundEscape[] = 
{
	"\A3\ui_f\data\sound\onescape",
	0.09,
	1
};
action = "";
class AttributesImage
{
	font = "PuristaMedium";
	color = "#E5E5E5";
	align = "left";
};
};
class RscShortcutButtonMain
{
idc = -1;
style = 0;
default = 0;
w = 0.313726;
h = 0.104575;
color[] = 
{
	1,
	1,
	1,
	1
};
colorDisabled[] = 
{
	1,
	1,
	1,
	0.25
};
class HitZone
{
	left = 0;
	top = 0;
	right = 0;
	bottom = 0;
};
class ShortcutPos
{
	left = 0.0145;
	top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2";
	w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2) * (3/4)";
	h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";
};
class TextPos
{
	left = "(((safezoneW / safezoneH) min 1.2) / 32) * 1.5";
	top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)*2 - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2";
	right = 0.005;
	bottom = 0;
};
animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa";
animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\disabled_ca.paa";
animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\over_ca.paa";
animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\focus_ca.paa";
animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\down_ca.paa";
animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa";
period = 0.5;
font = "PuristaMedium";
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";
text = "";
soundEnter[] = 
{
	"\A3\ui_f\data\sound\onover",
	0.09,
	1
};
soundPush[] = 
{
	"\A3\ui_f\data\sound\new1",
	0,
	0
};
soundClick[] = 
{
	"\A3\ui_f\data\sound\onclick",
	0.07,
	1
};
soundEscape[] = 
{
	"\A3\ui_f\data\sound\onescape",
	0.09,
	1
};
action = "";
class Attributes
{
	font = "PuristaMedium";
	color = "#E5E5E5";
	align = "left";
	shadow = "false";
};
class AttributesImage
{
	font = "PuristaMedium";
	color = "#E5E5E5";
	align = "false";
};
};
class RscFrame
{
type = 0;
idc = -1;
style = 64;
shadow = 2;
colorBackground[] = 
{
	0,
	0,
	0,
	0
};
colorText[] = 
{
	1,
	1,
	1,
	1
};
font = "PuristaMedium";
sizeEx = 0.02;
text = "";
};
class RscSlider
{
access = 0;
type = 3;
style = 1024;
w = 0.3;
color[] = 
{
	1,
	1,
	1,
	0.8
};
colorActive[] = 
{
	1,
	1,
	1,
	1
};
shadow = 0;
h = 0.025;
};
class IGUIBack
{
type = 0;
idc = 124;
style = 128;
text = "";
colorText[] = 
{
	0,
	0,
	0,
	0
};
font = "PuristaMedium";
sizeEx = 0;
shadow = 0;
x = 0.1;
y = 0.1;
w = 0.1;
h = 0.1;
colorbackground[] = 
{
	"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
	"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
	"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
	"(profilenamespace getvariable ['IGUI_BCG_RGB_A',0.8])"
};
};
class RscCheckbox
{
idc = -1;
type = 7;
style = 0;
x = "LINE_X(XVAL)";
y = "LINE_Y";
w = "LINE_W(WVAL)";
h = 0.029412;
colorText[] = 
{
	1,
	0,
	0,
	1
};
color[] = 
{
	0,
	0,
	0,
	0
};
colorBackground[] = 
{
	0,
	0,
	1,
	1
};
colorTextSelect[] = 
{
	0,
	0.8,
	0,
	1
};
colorSelectedBg[] = 
{
	"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
	"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
	1
};
colorSelect[] = 
{
	0,
	0,
	0,
	1
};
colorTextDisable[] = 
{
	0.4,
	0.4,
	0.4,
	1
};
colorDisable[] = 
{
	0.4,
	0.4,
	0.4,
	1
};
font = "PuristaMedium";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
rows = 1;
columns = 1;
strings[] = 
{
	"UNCHECKED"
};
checked_strings[] = 
{
	"CHECKED"
};
};
class RscButtonMenu
{
idc = -1;
type = 16;
style = "0x02 + 0xC0";
default = 0;
shadow = 0;
x = 0;
y = 0;
w = 0.095589;
h = 0.039216;
animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,0.5)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
colorBackground[] = 
{
	0,
	0,
	0,
	0.8
};
colorBackground2[] = 
{
	1,
	1,
	1,
	0.5
};
color[] = 
{
	1,
	1,
	1,
	1
};
color2[] = 
{
	1,
	1,
	1,
	1
};
colorText[] = 
{
	1,
	1,
	1,
	1
};
colorDisabled[] = 
{
	1,
	1,
	1,
	0.25
};
period = 1.2;
periodFocus = 1.2;
periodOver = 1.2;
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
class TextPos
{
	left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)";
	top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";
	right = 0.005;
	bottom = 0;
};
class Attributes
{
	font = "PuristaLight";
	color = "#E5E5E5";
	align = "left";
	shadow = "false";
};
class ShortcutPos
{
	left = "(6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";
	top = 0.005;
	w = 0.0225;
	h = 0.03;
};
};
class RscButtonMenuOK
{
idc = 1;
shortcuts[] = 
{
	"0x00050000 + 0",
	28,
	57,
	156
};
default = 1;
text = "OK";
};
class RscButtonMenuCancel
{
idc = 2;
shortcuts[] = 
{
	"0x00050000 + 1"
};
text = "Cancel";
};
class RscControlsGroup
{
class VScrollbar
{
	color[] = 
	{
		1,
		1,
		1,
		1
	};
	width = 0.021;
	autoScrollSpeed = -1;
	autoScrollDelay = 5;
	autoScrollRewind = 0;
	shadow = 0;
};
class HScrollbar
{
	color[] = 
	{
		1,
		1,
		1,
		1
	};
	height = 0.028;
	shadow = 0;
};
class ScrollBar
{
	color[] = 
	{
		1,
		1,
		1,
		0.6
	};
	colorActive[] = 
	{
		1,
		1,
		1,
		1
	};
	colorDisabled[] = 
	{
		1,
		1,
		1,
		0.3
	};
	shadow = 0;
	thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
	arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
	arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
	border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
};
class Controls
{
};
type = 15;
idc = -1;
x = 0;
y = 0;
w = 1;
h = 1;
shadow = 0;
style = 16;
};

Dialogs.cpp:

class pMenu
{
idd=-1;
movingenable=false;
onLoad = "_this call pMenuSlider_Text"
class controls 
{
////////////////////////////////////////////////////////
// GUI EDITOR OUTPUT START (by Sebastian Yorke, v1.063, #Bijexe)
////////////////////////////////////////////////////////

class pMenuFrame: RscFrame
{
idc = 1800;
x = 0.396875 * safezoneW + safezoneX;
y = 0.247 * safezoneH + safezoneY;
w = 0.216563 * safezoneW;
h = 0.286 * safezoneH;
colorBackground[] = {0,125,50,0.75};
colorActive[] = {0,125,50,0.75};
};
class pMenuTitle: RscText
{
idc = 1000;
text = "Player Menu"; //--- ToDo: Localize;
x = 0.4175 * safezoneW + safezoneX;
y = 0.258 * safezoneH + safezoneY;
w = 0.175313 * safezoneW;
h = 0.055 * safezoneH;
colorText[] = {255,255,255,1};
colorBackground[] = {155,155,155,0.75};
sizeEx = 3 * GUI_GRID_H;
};
class pMenuBtnArsenal: RscButton
{
idc = 1600;
text = "Open Arsenal"; //--- ToDo: Localize;
x = 0.412344 * safezoneW + safezoneX;
y = 0.324 * safezoneH + safezoneY;
w = 0.0567187 * safezoneW;
h = 0.066 * safezoneH;
colorText[] = {255,255,255,1};
colorBackground[] = {155,155,155,0.75};
colorActive[] = {130,130,130,0.75};
};
class pMenuBtnSquad: RscButton
{
idc = 1601;
text = "Spawn Squad"; //--- ToDo: Localize;
x = 0.484531 * safezoneW + safezoneX;
y = 0.324 * safezoneH + safezoneY;
w = 0.0567187 * safezoneW;
h = 0.066 * safezoneH;
colorText[] = {255,255,255,1};
colorBackground[] = {155,155,155,0.75};
colorActive[] = {130,130,130,0.75};
};
class pMenuBtnRest: RscButton
{
idc = 1602;
text = "Rest/Wait"; //--- ToDo: Localize;
x = 0.551562 * safezoneW + safezoneX;
y = 0.324 * safezoneH + safezoneY;
w = 0.0464063 * safezoneW;
h = 0.066 * safezoneH;
colorText[] = {255,255,255,1};
colorBackground[] = {155,155,155,0.75};
colorActive[] = {130,130,130,0.75};
};
class pMenuSliderTime: RscSlider
{
idc = 1900;
x = 0.4175 * safezoneW + safezoneX;
y = 0.467 * safezoneH + safezoneY;
w = 0.175313 * safezoneW;
h = 0.044 * safezoneH;
colorText[] = {255,255,255,1};
colorBackground[] = {0,0,0,0.75};
colorActive[] = {0,0,0,0.75};
};
class pMenuRestSliderText: RscText
{
idc = 1001;
text = "Time to Rest/Wait"; //--- ToDo: Localize;
x = 0.45875 * safezoneW + safezoneX;
y = 0.412 * safezoneH + safezoneY;
w = 0.0876563 * safezoneW;
h = 0.033 * safezoneH;
colorText[] = {255,255,255,1};
colorBackground[] = {155,155,155,0.75};
colorActive[] = {0,0,0,0.75};
sizeEx = 2 * GUI_GRID_H;
};
////////////////////////////////////////////////////////
// GUI EDITOR OUTPUT END
////////////////////////////////////////////////////////



};
};

Share this post


Link to post
Share on other sites

Sorry for the delay. Can you try to explain again what isn't working for you? That resource code seems to correspond with the screenshot you have provided, but I don't know exactly what you want to have changed.

Share this post


Link to post
Share on other sites

I've a question to random pics in displays.

// Control types
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_TOOLBOX 6
#define CT_CHECKBOXES 7
#define CT_PROGRESS 8
#define CT_HTML 9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT 11
#define CT_TREE 12
#define CT_STRUCTURED_TEXT 13
#define CT_CONTEXT_MENU 14
#define CT_CONTROLS_GROUP 15
#define CT_SHORTCUTBUTTON 16
#define CT_XKEYDESC 40
#define CT_XBUTTON          41
#define CT_XLISTBOX 42
#define CT_XSLIDER 43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK 98
#define CT_ANIMATED_USER 99
#define CT_MAP              100
#define CT_MAP_MAIN 101
#define CT_LISTNBOX 102
#define CT_CHECKBOX         77 //Arma 3

// Slider styles
#define SL_DIR 0x400
#define SL_VERT 0
#define SL_HORZ 0x400


// Static styles
#define ST_POS 0x0F 
#define ST_HPOS 0x03
#define ST_VPOS 0x0C
#define ST_LEFT 0x00 
#define ST_RIGHT 0x01 
#define ST_CENTER 0x02 
#define ST_DOWN 0x04 
#define ST_UP 0x08 
#define ST_VCENTER 0x0c 
#define ST_TYPE 0xF0 
#define ST_SINGLE 0 
#define ST_MULTI 16 
#define ST_TITLE_BAR 32 
#define ST_PICTURE 48 
#define ST_FRAME 64 
#define ST_BACKGROUND 80 
#define ST_GROUP_BOX 96 
#define ST_GROUP_BOX2 112
#define ST_HUD_BACKGROUND 128 
#define ST_TILE_PICTURE 144 
#define ST_WITH_RECT 160 
#define ST_LINE 176 
#define ST_SHADOW 0x100 
#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI #define ST_KEEP_ASPECT_RATIO 0x800 #define ST_TITLE ST_TITLE_BAR + ST_CENTER // Slider styles #define SL_DIR 0x400 #define SL_VERT 0 #define SL_HORZ 0x400 #define SL_TEXTURES 0x10 // progress bar #define ST_VERTICAL 0x01 #define ST_HORIZONTAL 0 // Listbox styles #define LB_TEXTURES 0x10 #define LB_MULTI 0x20 #define FontM "Zeppelin32" // Tree styles #define TR_SHOWROOT 1 #define TR_AUTOCOLLAPSE 2 // MessageBox styles #define MB_BUTTON_OK 1 #define MB_BUTTON_CANCEL 2 #define MB_BUTTON_USER 4

class DOF_RscPicture
{
   access = 0;
   idc = -1;
   type = CT_STATIC;
   style = ST_PICTURE;
   colorBackground[] = {0,0,0,0};
   colorText[] = {1,1,1,1};
   font = "TahomaB";
   sizeEx = 0;
   lineSpacing = 0;
   text = "";
   fixedWidth = 0;
   shadow = 0;
   x = 0;
   y = 0;
   w = 0.2;
   h = 0.15;
};





class DOF_RscText
{
   access = 0;
   idc = -1;
   type = CT_STATIC;
   style = ST_CENTER;
   linespacing = 1;
   colorBackground[] = {0,0,0,0}; 
  colorText[] = {0.804,0.773,0.749,1};
   text = "";
   shadow = 2;
   font = "PuristaLight";
   SizeEx = 0.05;
   fixedWidth = 0;
   x = 0;
   y = 0;
   h = 0;
   w = 0;

};




class RscTitles 
{ 


class Display_RANK 
{ 
	idd = 20010;
	duration = 20; 
	class controls 
	{ 

		class DOF_RANK_Pic : DOF_RscPicture
		{
			idc = 20010;
			text = "";
			//text = "\bw_zusatz\texturen\Dienstgrade\gef_ca.paa";
			x = 0.785 * safezoneW + safezoneX;
			y = 0.015 * safezoneH + safezoneY;
			w = 0.044687 * safezoneW;
			h = 0.092 * safezoneH;

		};


	};

};

};

Now in my initlocalplayer.sqf i want to set rank-pic for the player.

disableSerialization
1 cutRsc ["Display_RANK","PLAIN"]; 
ctrlSetText [20010, "texturen\test_ca.paa"]; 
ctrlShow [20010, true]; 

But i doesnt works

If i load the picture inside the definition, it works. But i need differnet pictures

Share this post


Link to post
Share on other sites
I've a question to random pics in displays.

If i load the picture inside the definition, it works. But i need differnet pictures

Hi, you need to some small tweaks:

First, add the onLoad property to your display to set a uiNamespace variable that will contain the display object when the display has been loaded.

class Display_RANK
{
idd = 20010;
duration = 20;
fadeIn = 0;
fadeOut = 0;
onLoad = "uiNamespace setVariable ['myDisplay', _this select 0];";
class controls
{
	class DOF_RANK_Pic : DOF_RscPicture
	{
		idc = 20010;
		text = "";
		x = 0.785 * safezoneW + safezoneX;
		y = 0.015 * safezoneH + safezoneY;
		w = 0.044687 * safezoneW;
		h = 0.092 * safezoneH;
	};
};
};

Then use that display object stored in the uiNamespace variable "myDisplay" to fetch the control object for the picture control and use that with the ctrlSetText command.

1 cutRsc ["Display_RANK","PLAIN"];
((uiNamespace getVariable ["myDisplay", displayNull]) displayCtrl 20010) ctrlSetText "\a3\ui_f\data\map\Diary\signal_ca.paa";

The syntax for ctrlSetText that you were using is I believe only valid for dialogs. The above example however is valid for both displays and dialogs. Hope that helps.

Edited by Gundy

Share this post


Link to post
Share on other sites

Hey iceman! I am having problems with some things. When i launch my dialog i only see the cursor and my dialog is either invisible or doesnt exist. I used to get an error about something being replaced with the arma 3 font but not anymore. Any help would be great! Thanks!

Share this post


Link to post
Share on other sites
Hey iceman! I am having problems with some things. When i launch my dialog i only see the cursor and my dialog is either invisible or doesnt exist. I used to get an error about something being replaced with the arma 3 font but not anymore. Any help would be great! Thanks!

I guess it would help if you would post both the dialog config as well as the code you use to call it.

Share this post


Link to post
Share on other sites

This was a great Tutorial, But i do have one question if anyone could help me out. I can't seem to get the import to work (ArmA 2), Can anyone give me a hand and provide a example on how to import a dialog into the editor.

 

I tried CTRL + L with the dialog on my clipboard with no effect. And i tried CTRL + I but i'm not sure how the config path works.

 

Any help would be greatly appreciated!

 

Edit: I just realized this was a old topic. (Misread it as March 2016)

Edited by TheGamingChief

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

×