HazJ 1289 Posted October 6, 2013 Hi, I am very new to making dialogs and I am currently stuck and need some help please. I have made a 'Rsc Listbox' and a 'Rsc Combo Box' but I don't know how to make it execute a script when clicked/selected? I have tried this but I am getting no where with it as I think it is too complex for me... Any help would be much appreciated! :) Dirty Haz Share this post Link to post Share on other sites
mikie boy 18 Posted October 6, 2013 select a group/squad from a list (labelled idc = 1500) _index = lbCurSel 1500; _returnedGroup = lbText [1500, _index]; _selectedGroup = lbSetCurSel [1500, _index]; _playergrp = group player; { if (side _x == side player) then { _GroupName set [count _GroupName,_x]; }; } foreach allGroups; _array1 = _GroupName; _array2 = [_playerGrp]; _array3 = _array1 - _array2; _selected = _array3 select (_index); hint format ["Selected Group: %1",_selected]; Share this post Link to post Share on other sites
HazJ 1289 Posted October 6, 2013 (edited) Thanks but I have no idea where to put this... Can you explain please? :) Dirty Haz Edit/Update: Also, how do I make it execute a script? Dirty Haz Edited October 7, 2013 by Dirty Haz Edit/Update Share this post Link to post Share on other sites
mikie boy 18 Posted October 7, 2013 in a basic way - that is another script that you create and place that stuff in there - lets say the group join function/script when the dialog pops up - u click and highlight a group in the list you then have an execute button - that when pressed e.g //this is from the gui menu idc = 1500; text = "Engineer"; //--- ToDo: Localize; action="[] spawn groupjoin"; //this line here is a function that calls the group join function/script x = 0.304051 * safezoneW + safezoneX; y = 0.313069 * safezoneH + safezoneY; w = 0.0721917 * safezoneW; h = 0.0439838 * safezoneH; it calls groupjoin script in that script you should have.... _index = lbCurSel 1500; _returnedGroup = lbText [1500, _index]; _selectedGroup = lbSetCurSel [1500, _index]; _playergrp = group player; { if (side _x == side player) then { _GroupName set [count _GroupName,_x]; }; } foreach allGroups; _array1 = _GroupName; _array2 = [_playerGrp]; _array3 = _array1 - _array2; _selected = _array3 select (_index); hint format ["Selected Group: %1",_selected]; this script then checks ibcursel 1500 - which is the idc 1500 box - it looks at what the cursor has selected and then returns the group thats when you then do stuff with it Share this post Link to post Share on other sites
HazJ 1289 Posted October 7, 2013 Below is what I have so far... description.ext: class RscPicture { type = 0; idc = -1; style = 48; colorText[] = {0.75, 0.75, 0.75, 1}; colorBackground[] = {0, 0, 0, 0}; font = "puristaMedium"; sizeEx = 0.025; soundClick[] = {"ui\ui_ok", 0.2, 1}; soundEnter[] = {"ui\ui_over", 0.2, 1}; soundEscape[] = {"ui\ui_cc", 0.2, 1}; soundPush[] = {"", 0.2, 1}; w = 0.275; h = 0.04; text = ""; }; class RscListBox { idc = 2100; type = 5; style = 0 + 0x10; font = "puristaMedium"; sizeEx = 0.04221; rowHeight = 0.03; color[] = {1, 1, 1, 1}; colorDisabled[] = {}; colorText[] = {1, 1, 1, 0.75}; colorScrollbar[] = {0.95, 0.95, 0.95, 1}; colorSelect[] = {0.95, 0.95, 0.95, 1}; colorSelect2[] = {0.95, 0.95, 0.95, 1}; colorSelectBackground[] = {0.6, 0.8392, 0.4706, 1.0}; colorSelectBackground2[] = {0.6, 0.8392, 0.4706, 1.0}; columns[] = {0.1, 0.7, 0.1, 0.1}; period = 0; colorBackground[] = {0, 0, 0, 1}; maxHistoryDelay = 1.0; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; soundSelect[] = {"\ca\ui\data\sound\new1", 0.09, 1}; class ScrollBar { color[] = {1, 1, 1, 0.6}; colorDisabled[] = {}; colorActive[] = {1, 1, 1, 1}; thumb = "\ca\ui\data\igui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\igui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\igui_arrow_top_ca.paa"; border = "\ca\ui\data\igui_border_scroll_ca.paa"; }; }; class RscCombo { idc = 2100; type = 4; style = 1; x = 0; y = 0; w = 0.3; h = 0.035; colorSelect[] = {0.023529, 0, 0.0313725, 1}; colorText[] = {0.023529, 0, 0.0313725, 1}; colorBackground[] = {0.95, 0.95, 0.95, 1}; colorSelectBackground[] = {0.543, 0.5742, 0.4102, 1.0}; colorScrollbar[] = {0.023529, 0, 0.0313725, 1}; arrowEmpty = "\ca\ui\data\ui_arrow_combo_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_combo_active_ca.paa"; wholeHeight = 0.45; color[] = {0, 0, 0, 0.6}; colorDisabled[] = {}; colorActive[] = {0, 0, 0, 1}; font = "puristaMedium"; sizeEx = 0.031; soundSelect[] = {"\ca\ui\data\sound\new1", 0.09, 1}; soundExpand[] = {"\ca\ui\data\sound\new1", 0.09, 1}; soundCollapse[] = {"\ca\ui\data\sound\new1", 0.09, 1}; maxHistoryDelay = 1.0; class ScrollBar { color[] = {1, 1, 1, 0.6}; colorDisabled[] = {}; colorActive[] = {1, 1, 1, 1}; thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa"; arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa"; arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa"; border = "\ca\ui\data\ui_border_scroll_ca.paa"; }; }; class Sample { movingEnable = 1; idd = 10001; onLoad = "ExecVM 'test.sqf'"; class controlsBackground { class Mainback : RscPicture { x = 0.04; y = 0.01; w = 1.25; h = 1.67; moving = 1; text = "\ca\ui\data\igui_background_buy_units_ca.paa"; }; }; class controls { class listboxA : RscListBox { idc = 2100; x = 0.043; y = 0.167676; w = 0.45; h = 0.444; }; class comboA: RscCombo { idc = 2100; x = 0.65; w = 0.3; y = 0.127; }; }; }; test.sqf: {lbAdd[2100,_x]} forEach ["Listbox 1","Listbox 2","Listbox 3"]; {lbAdd[2100,_x]} forEach ["Combo 1","Combo 2","Combo 3"]; Again, sorry. I am very new to this but really want to learn it! :) Dirty Haz Share this post Link to post Share on other sites
mikie boy 18 Posted October 7, 2013 http://www.armaholic.com/page.php?id=19041&highlight=FOCK look at that - open the gui up and look at the scripts - should give you a better idea in reflection for what i have said above off to bed now - long old day - if i get a chance ill see if i can explain another way Share this post Link to post Share on other sites
HazJ 1289 Posted October 7, 2013 That is for buttons though, right? I know how to do them. I need help with 'Rsc Listbox' + 'Rsc Combo Box' but it seems very hard as there is only one class block thingy unlike the buttons. Dirty Haz Share this post Link to post Share on other sites
mikie boy 18 Posted October 9, 2013 You can use the same process, instead of using the button to execute, you can use a loop that runs whilst a dialog is opened. That loop reads whats in the list and then executes it, by reading what is in that particular position of the list. Share this post Link to post Share on other sites
HazJ 1289 Posted October 9, 2013 I still don't get it! Very sorry... I am trying really hard though. I understand what your saying sort of but I don't know how to do it. With buttons, you can call a script like this: action = "[] execVM 'scriptname.sqf';"; In 'Rsc Listbox' and 'Rsc Combo Box' you don't have that at all... There is only one class as where buttons have multiple ones. Dirty Haz Share this post Link to post Share on other sites
tonic-_- 53 Posted October 9, 2013 What exactly are you trying to do? Sorry just most of the post seems jibberish to me. If you explain exactly what you are doing/want I might be able to help you. Share this post Link to post Share on other sites
Larrow 2822 Posted October 9, 2013 Heres something that works to show you the setup but thats all it does (not pretty). Most of your description.ext from above would throw errors at you as it has lots of pictures from arma2 Base_Classes.hpp #define GUI_GRID_X (0) #define GUI_GRID_Y (0) #define GUI_GRID_W (0.025) #define GUI_GRID_H (0.04) #define GUI_GRID_WAbs (1) #define GUI_GRID_HAbs (1) /////////////////////////////////////////////////////////////////////////// /// 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[] = { 0, 0, 0, 0 }; 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 }; colorDisabled[] = { 1, 1, 1, 0.25 }; colorSelection[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 1 }; autocomplete = ""; text = ""; size = 0.2; style = "0x00 + 0x40"; font = "PuristaMedium"; shadow = 2; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; 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[] = { "\A3\ui_f\data\sound\RscCombo\soundSelect", 0.1, 1 }; soundExpand[] = { "\A3\ui_f\data\sound\RscCombo\soundExpand", 0.1, 1 }; soundCollapse[] = { "\A3\ui_f\data\sound\RscCombo\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 }; colorDisabled[] = { 1, 1, 1, 0.25 }; 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[] = { "\A3\ui_f\data\sound\RscListbox\soundSelect", 0.09, 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 }; 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.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.7 }; colorBackgroundDisabled[] = { 0.95, 0.95, 0.95, 1 }; colorBackgroundActive[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 1 }; colorFocused[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 1 }; colorShadow[] = { 0, 0, 0, 1 }; colorBorder[] = { 0, 0, 0, 1 }; soundEnter[] = { "\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1 }; soundPush[] = { "\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1 }; soundClick[] = { "\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1 }; soundEscape[] = { "\A3\ui_f\data\sound\RscButton\soundEscape", 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.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 1 }; colorBackground2[] = { 1, 1, 1, 1 }; soundEnter[] = { "\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1 }; soundPush[] = { "\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1 }; soundClick[] = { "\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1 }; soundEscape[] = { "\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 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 = ""; 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 = ""; 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.69])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 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; }; soundEnter[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundEnter", 0.09, 1 }; soundPush[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundPush", 0.09, 1 }; soundClick[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundClick", 0.09, 1 }; soundEscape[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundEscape", 0.09, 1 }; }; class RscButtonMenuOK { idc = 1; shortcuts[] = { "0x00050000 + 0", 28, 57, 156 }; default = 1; text = "OK"; soundPush[] = { "\A3\ui_f\data\sound\RscButtonMenuOK\soundPush", 0.09, 1 }; }; 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; }; Description.ext #include "Base_Classes.hpp" class Sample { movingEnable = 1; idd = 10001; onLoad = "_this ExecVM 'test.sqf'"; class controlsBackground { class Mainback : RscPicture { x = 0.04; y = 0.01; w = 1; h = 1; moving = 1; text = "#(argb,8,8,3)color(0,0,0,0.8)"; }; }; class controls { class listboxA : RscListBox { idc = 2100; style = ST_MULTI; x = 0.043; y = 0.167676; w = 0.45; h = 0.444; tooltip = "Choose Type"; //--- ToDo: Localize; colorSelect[] = {0,0,1,1}; rowHeight = 0.01; }; class comboA: RscCombo { idc = 2101; x = 0.65; w = 0.3; y = 0.127; }; }; }; test.sqf //test.sqf disableSerialization; //Define idc's for controls for easy access _listBoxA = 2100; _comboA = 2101; //store display, passed from onLoad _display = _this select 0; //Add to our lb and combo lists { _index = lbAdd [_listBoxA, _x]; } forEach ["Listbox 1","Listbox 2","Listbox 3"]; { _index = lbAdd [_comboA, _x]; } forEach ["Combo 1","Combo 2","Combo 3"]; //set an event to fire when a selection is made in listBoxA (_display displayCtrl _listboxA) ctrlAddEventHandler ["LBSelChanged","_this execVM 'scriptName.sqf'"]; //set an event to fire when a selection is made in comboA (_display displayCtrl _comboA) ctrlAddEventHandler ["LBSelChanged","_this execVM 'scriptName.sqf'"]; scriptName.sqf //scriptName.sqf disableSerialization; //Get the passed ctrl _ctrl = _this select 0; //Get passed selected index _index = _this select 1; //test message with info hint format ["You select index: %1\n of ctrl: %2\n which contains %3",_index, ctrlIDC _ctrl, _ctrl lbText _index]; init.sqf player addaction ["Sample", { createDialog "Sample"; }] I do believe you can enter the eventHandlers into the display code itself but i have only tried this way so far. Share this post Link to post Share on other sites
HazJ 1289 Posted October 9, 2013 @Larrow - Thanks, I will look at that! @Tonic - This here. I would like them (each) to execute a script when clicked please if possible. Dirty Haz ---------- Post added at 08:31 PM ---------- Previous post was at 08:22 PM ---------- Thank you everyone, I have now got it working... WOOHOO!!! I did what Larrow said. :) Dirty Haz Share this post Link to post Share on other sites
tonic-_- 53 Posted October 9, 2013 Oh, you want to look into onLBSelChanged or onLBDblClick. onLBDblClick executes when you double click on a row. onLBSelChanged executes when the row selection has changed. Example: class vasGear : VAS_RscListBox { idc = 2501; text = ""; sizeEx = 0.032; onLBSelChanged = "_this spawn VAS_fnc_details"; onLBDblClick = "_this spawn VAS_fnc_quickItem;"; x = 0.12; y = 0.31; w = 0.275; h = 0.340; }; That is a part out of VAS. onLBSelChanged it executes and checks if there is magazine info about the gun in the selection, if so other stuff runs and displays info. onLBDblClick it executes when you double click on a selection and adds the item to you. That's only an example out of VAS though, with either method you'll want to be able to identify which row is what and what it is meant to execute, to do that when you fill your list you can use lbSetData and when retrieving it you can do: private["_ctrl","_curSel"]; _ctrl = _this select 0; _curSel = _this select 1; if((_ctrl lbData _curSel) == "Execute") then { [] execVM "myexecutescript.sqf"; }; It's pretty much what Larrow put up, difference is I put the ctrl eventhandler in the dialog and not via script. Share this post Link to post Share on other sites
HazJ 1289 Posted October 9, 2013 Is there anyway to open up a saved dialog in the GUI Editor once it has been closed? I have tried Ctrl + O but nothing happens? Plus, this is for code format or something... :confused: Dirty Haz Share this post Link to post Share on other sites
HazJ 1289 Posted November 2, 2013 Thank you to everyone who has helped me so far but I have a few more questions... Is there anyway to open up a saved dialog in the GUI Editor once it has been closed? I have tried Ctrl + I/O but nothing happens. How would I change some structured or normal dialog text (not via hint, titleText, etc) after I make a variable true? Does anyone have any examples for a loading/moving bar? Any help would be much appreciated! :) Dirty Haz Share this post Link to post Share on other sites