Jump to content

Recommended Posts

Hello, i need some help with my gui box. What I am trying to do is to have a list of options to select that will set certain variables that will be called upon in a script that pops up targets. But when i call upon the variables, they always return 0 no matter what.

Description.ext

Spoiler

#include "scripts\range\gui\defines.hpp"
#include "scripts\range\gui\controls.hpp"

Init.sqf

Spoiler

execVM "scripts\range\init.sqf";

scripts\range\init.sqf

Spoiler

target_number = 0;
publicvariableserver "target_number";
dif_init = 0;
publicvariableserver "dif_init";
tr_laptop = timerange_laptop_1;
publicvariableserver "tr_laptop";

Defines.hpp

Spoiler

///////////////////////////////////////////////////////////////////////////
/// 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
#define CT_CHECKBOX         77

// 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
{
    deletable = 0;
    fade = 0;
    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 = "RobotoCondensed";
    SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    linespacing = 1;
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
};
class RscStructuredText
{
    deletable = 0;
    fade = 0;
    access = 0;
    type = 13;
    idc = -1;
    style = 0;
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    class Attributes
    {
        font = "RobotoCondensed";
        color = "#ffffff";
        colorLink = "#D09B43";
        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
{
    deletable = 0;
    fade = 0;
    access = 0;
    colorBackground[] = 
    {
        0,
        0,
        0,
        0
    };
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    lineSpacing = 0;
    fixedWidth = 0;
    shadow = 0;
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
    type = 0;
    idc = -1;
    style = 48;
    x = 0.1;
    y = 0.1;
    w = 0.4;
    h = 0.2;
    sizeEx = "(((100/36)/100)*0.9)";
    font = "TahomaB";
    text = "";
};
class RscEdit
{
    deletable = 0;
    fade = 0;
    access = 0;
    type = 2;
    x = 0;
    y = 0;
    h = 0.04;
    w = 0.2;
    colorBackground[] = 
    {
        0,
        0,
        0,
        0
    };
    colorText[] = 
    {
        0.95,
        0.95,
        0.95,
        1
    };
    colorDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorSelection[] = 
    {
        "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])",
        1
    };
    autocomplete = "";
    text = "";
    size = 0.2;
    style = "0x00 + 0x40";
    font = "RobotoCondensed";
    shadow = 2;
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    canModify = 1;
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
};
class RscCombo
{
    deletable = 0;
    fade = 0;
    access = 0;
    type = 4;
    colorSelect[] = 
    {
        0,
        0,
        0,
        1
    };
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    colorBackground[] = 
    {
        0,
        0,
        0,
        1
    };
    colorScrollbar[] = 
    {
        1,
        0,
        0,
        1
    };
    colorDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorPicture[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureSelected[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorPictureRight[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureRightSelected[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureRightDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorTextRight[] = 
    {
        1,
        1,
        1,
        1
    };
    colorSelectRight[] = 
    {
        0,
        0,
        0,
        1
    };
    colorSelect2Right[] = 
    {
        0,
        0,
        0,
        1
    };
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
    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 ComboScrollBar
    {
        color[] = 
        {
            1,
            1,
            1,
            1
        };
    };
    style = "0x10 + 0x200";
    font = "RobotoCondensed";
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    shadow = 0;
    x = 0;
    y = 0;
    w = 0.12;
    h = 0.035;
    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;
    colorActive[] = 
    {
        1,
        0,
        0,
        1
    };
};
class RscListBox
{
    deletable = 0;
    fade = 0;
    access = 0;
    type = 5;
    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
    };
    autoScrollSpeed = -1;
    autoScrollDelay = 5;
    autoScrollRewind = 0;
    arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
    arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
    colorPicture[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureSelected[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorPictureRight[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureRightSelected[] = 
    {
        1,
        1,
        1,
        1
    };
    colorPictureRightDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorTextRight[] = 
    {
        1,
        1,
        1,
        1
    };
    colorSelectRight[] = 
    {
        0,
        0,
        0,
        1
    };
    colorSelect2Right[] = 
    {
        0,
        0,
        0,
        1
    };
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
    class ListScrollBar
    {
        color[] = 
        {
            1,
            1,
            1,
            1
        };
        autoScrollEnabled = 1;
    };
    x = 0;
    y = 0;
    w = 0.3;
    h = 0.3;
    style = 16;
    font = "RobotoCondensed";
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    shadow = 0;
    colorShadow[] = 
    {
        0,
        0,
        0,
        0.5
    };
    period = 1.2;
    maxHistoryDelay = 1;
};
class RscButton
{
    deletable = 0;
    fade = 0;
    access = 0;
    type = 1;
    text = "";
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    colorDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorBackground[] = 
    {
        0,
        0,
        0,
        0.5
    };
    colorBackgroundDisabled[] = 
    {
        0,
        0,
        0,
        0.5
    };
    colorBackgroundActive[] = 
    {
        0,
        0,
        0,
        1
    };
    colorFocused[] = 
    {
        0,
        0,
        0,
        1
    };
    colorShadow[] = 
    {
        0,
        0,
        0,
        0
    };
    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
    };
    idc = -1;
    style = 2;
    x = 0;
    y = 0;
    w = 0.095589;
    h = 0.039216;
    shadow = 2;
    font = "RobotoCondensed";
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    url = "";
    offsetX = 0;
    offsetY = 0;
    offsetPressedX = 0;
    offsetPressedY = 0;
    borderSize = 0;
};
class RscShortcutButton
{
    deletable = 0;
    fade = 0;
    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
    };
    colorFocused[] = 
    {
        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.13])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])",
        1
    };
    colorBackgroundFocused[] = 
    {
        "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])",
        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 = "RobotoCondensed";
        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)";
    textSecondary = "";
    colorSecondary[] = 
    {
        1,
        1,
        1,
        1
    };
    colorFocusedSecondary[] = 
    {
        1,
        1,
        1,
        1
    };
    color2Secondary[] = 
    {
        0.95,
        0.95,
        0.95,
        1
    };
    colorDisabledSecondary[] = 
    {
        1,
        1,
        1,
        0.25
    };
    sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    fontSecondary = "RobotoCondensed";
    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 = "RobotoCondensed";
    size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    text = "";
    url = "";
    action = "";
    class AttributesImage
    {
        font = "RobotoCondensed";
        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 = "RobotoCondensed";
    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 = "RobotoCondensed";
        color = "#E5E5E5";
        align = "left";
        shadow = "false";
    };
    class AttributesImage
    {
        font = "RobotoCondensed";
        color = "#E5E5E5";
        align = "false";
    };
};
class RscFrame
{
    type = 0;
    idc = -1;
    deletable = 0;
    style = 64;
    shadow = 2;
    colorBackground[] = 
    {
        0,
        0,
        0,
        0
    };
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    font = "RobotoCondensed";
    sizeEx = 0.02;
    text = "";
    x = 0;
    y = 0;
    w = 0.3;
    h = 0.3;
};
class RscSlider
{
    deletable = 0;
    fade = 0;
    access = 0;
    type = 3;
    style = 1024;
    color[] = 
    {
        1,
        1,
        1,
        0.8
    };
    colorActive[] = 
    {
        1,
        1,
        1,
        1
    };
    shadow = 0;
    x = 0;
    y = 0;
    w = 0.3;
    h = 0.025;
};
class IGUIBack
{
    type = 0;
    idc = 124;
    style = 128;
    text = "";
    colorText[] = 
    {
        0,
        0,
        0,
        0
    };
    font = "RobotoCondensed";
    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 = 77;
    deletable = 0;
    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
    };
};
class RscTextCheckBox
{
    idc = -1;
    type = 7;
    style = 0;
    x = "0.375 * safezoneW + safezoneX";
    y = "0.36 * safezoneH + safezoneY";
    w = "0.025 * safezoneW";
    h = "0.04 * safezoneH";
    colorText[] = 
    {
        1,
        0,
        0,
        1
    };
    color[] = 
    {
        0,
        0,
        0,
        0
    };
    colorBackground[] = 
    {
        0,
        0,
        0,
        0
    };
    colorTextSelect[] = 
    {
        0,
        0.8,
        0,
        1
    };
    colorSelectedBg[] = 
    {
        "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])",
        1
    };
    colorSelect[] = 
    {
        0,
        0,
        0,
        1
    };
    colorTextDisable[] = 
    {
        0.4,
        0.4,
        0.4,
        1
    };
    colorDisable[] = 
    {
        0.4,
        0.4,
        0.4,
        1
    };
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
    font = "RobotoCondensed";
    sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    rows = 1;
    columns = 1;
    strings[] = 
    {
        "UNCHECKED"
    };
    checked_strings[] = 
    {
        "CHECKED"
    };
};
class RscButtonMenu
{
    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,1)";
    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
    };
    colorBackgroundFocused[] = 
    {
        1,
        1,
        1,
        1
    };
    colorBackground2[] = 
    {
        0.75,
        0.75,
        0.75,
        1
    };
    color[] = 
    {
        1,
        1,
        1,
        1
    };
    colorFocused[] = 
    {
        0,
        0,
        0,
        1
    };
    color2[] = 
    {
        0,
        0,
        0,
        1
    };
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    colorDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    textSecondary = "";
    colorSecondary[] = 
    {
        1,
        1,
        1,
        1
    };
    colorFocusedSecondary[] = 
    {
        0,
        0,
        0,
        1
    };
    color2Secondary[] = 
    {
        0,
        0,
        0,
        1
    };
    colorDisabledSecondary[] = 
    {
        1,
        1,
        1,
        0.25
    };
    sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    fontSecondary = "PuristaLight";
    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)";
    tooltipColorText[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] = 
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] = 
    {
        0,
        0,
        0,
        0.65
    };
    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 = "5.25 * (((safezoneW / safezoneH) min 1.2) / 40)";
        top = 0;
        w = "1 * (((safezoneW / safezoneH) min 1.2) / 40)";
        h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
    };
    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
    };
    idc = -1;
    shortcuts[] = 
    {
        "0x00050000 + 0",
        28,
        57,
        156
    };
    text = "";
};
class RscButtonMenuOK
{
    shortcuts[] = 
    {
        "0x00050000 + 0",
        28,
        57,
        156
    };
    soundPush[] = 
    {
        "\A3\ui_f\data\sound\RscButtonMenuOK\soundPush",
        0.09,
        1
    };
    idc = 1;
    color2[] = 
    {
        0,
        0,
        0,
        1
    };
    color[] = 
    {
        1,
        1,
        1,
        1
    };
    colorBackground2[] = 
    {
        0.75,
        0.75,
        0.75,
        1
    };
    colorBackground[] = 
    {
        0,
        0,
        0,
        0.8
    };
    colorBackgroundFocused[] = 
    {
        1,
        1,
        1,
        1
    };
    colorDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorFocused[] = 
    {
        0,
        0,
        0,
        1
    };
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    default = 1;
    text = "OK";
};
class RscButtonMenuCancel
{
    shortcuts[] = 
    {
        "0x00050000 + 1"
    };
    idc = 2;
    color2[] = 
    {
        0,
        0,
        0,
        1
    };
    color[] = 
    {
        1,
        1,
        1,
        1
    };
    colorBackground2[] = 
    {
        0.75,
        0.75,
        0.75,
        1
    };
    colorBackground[] = 
    {
        0,
        0,
        0,
        0.8
    };
    colorBackgroundFocused[] = 
    {
        1,
        1,
        1,
        1
    };
    colorDisabled[] = 
    {
        1,
        1,
        1,
        0.25
    };
    colorFocused[] = 
    {
        0,
        0,
        0,
        1
    };
    colorText[] = 
    {
        1,
        1,
        1,
        1
    };
    default = 0;
    text = "Cancel";
};
class RscControlsGroup
{
    deletable = 0;
    fade = 0;
    class VScrollbar
    {
        color[] = 
        {
            1,
            1,
            1,
            1
        };
        width = 0.021;
        autoScrollEnabled = 1;
    };
    class HScrollbar
    {
        color[] = 
        {
            1,
            1,
            1,
            1
        };
        height = 0.028;
    };
    class Controls
    {
    };
    type = 15;
    idc = -1;
    x = 0;
    y = 0;
    w = 1;
    h = 1;
    shadow = 0;
    style = 16;
};
 

Controls.hpp

Spoiler

class rangedialogue
{
    idd = 26262;
    
    class controls
    {
        class IGUIBack_2200: IGUIBack
        {
            idc = 2200;
            x = 0.386562 * safezoneW + safezoneX;
            y = 0.313 * safezoneH + safezoneY;
            w = 0.175313 * safezoneW;
            h = 0.341 * safezoneH;
            colorBackground[] = {-1,-1,-1,0.55};
        };
        class RscListbox_1500: RscListbox
        {
            idc = 1500;
            x = 0.515469 * safezoneW + safezoneX;
            y = 0.346 * safezoneH + safezoneY;
            w = 0.04125 * safezoneW;
            h = 0.11 * safezoneH;
        };
        class RscListbox_1501: RscListbox
        {
            idc = 1501;
            x = 0.515469 * safezoneW + safezoneX;
            y = 0.489 * safezoneH + safezoneY;
            w = 0.04125 * safezoneW;
            h = 0.088 * safezoneH;
        };
        class label1: RscText
        {
            idc = 1000;
            text = "Number Of Targets"; //--- ToDo: Localize;
            x = 0.396875 * safezoneW + safezoneX;
            y = 0.368 * safezoneH + safezoneY;
            w = 0.0721875 * safezoneW;
            h = 0.044 * safezoneH;
            colorText[] = {1,1,1,1};
            colorActive[] = {1,1,1,1};
        };
        class label2: RscText
        {
            idc = 1001;
            text = "Range Control Module"; //--- ToDo: Localize;
            x = 0.438125 * safezoneW + safezoneX;
            y = 0.302 * safezoneH + safezoneY;
            w = 0.0825 * safezoneW;
            h = 0.044 * safezoneH;
        };
        class label3: RscText
        {
            idc = 1002;
            text = "Difficulty"; //--- ToDo: Localize;
            x = 0.396875 * safezoneW + safezoneX;
            y = 0.5 * safezoneH + safezoneY;
            w = 0.04125 * safezoneW;
            h = 0.055 * safezoneH;
            colorText[] = {1,1,1,1};
        };
        class RscFrame_1800: RscFrame
        {
            idc = 1800;
            x = 0.515469 * safezoneW + safezoneX;
            y = 0.346 * safezoneH + safezoneY;
            w = 0.04125 * safezoneW;
            h = 0.121 * safezoneH;
            colorBackground[] = {1,1,1,1};
        };
        class RscFrame_1801: RscFrame
        {
            idc = 1801;
            x = 0.515469 * safezoneW + safezoneX;
            y = 0.489 * safezoneH + safezoneY;
            w = 0.04125 * safezoneW;
            h = 0.088 * safezoneH;
        };
        class submitbutton: RscButton
        {
            idc = 1600;
            text = "Submit"; //--- ToDo: Localize;
            x = 0.412344 * safezoneW + safezoneX;
            y = 0.588 * safezoneH + safezoneY;
            w = 0.128906 * safezoneW;
            h = 0.044 * safezoneH;
            action = "closedialog 0; execVM 'scripts\range\gui\executedialog.sqf'";
        };
        class RscFrame_1802: RscFrame
        {
            idc = 1802;
            x = 0.412344 * safezoneW + safezoneX;
            y = 0.588 * safezoneH + safezoneY;
            w = 0.128906 * safezoneW;
            h = 0.044 * safezoneH;
        };
        class frame3: RscFrame
        {
            idc = 1803;
            x = 0.386562 * safezoneW + safezoneX;
            y = 0.313 * safezoneH + safezoneY;
            w = 0.175313 * safezoneW;
            h = 0.341 * safezoneH;
            colorBackground[] = {1,1,1,1};
        };

    };
};
 

executedialog.sqf

Spoiler

_index1 = lbcursel 1500;
_index2 = lbcursel 1501;

if (_index1 == 0) then {missionNamespace setvariable ["target_number", 10];};
if (_index1 == 1) then {missionNamespace setvariable ["target_number", 15];};
if (_index1 == 2) then {missionNamespace setvariable ["target_number", 20];};
if (_index1 == 3) then {missionNamespace setvariable ["target_number", 25];};
if (_index1 == 4) then {missionNamespace setvariable ["target_number", 30];};
            
        
    

if (_index2 == 0) then {missionNamespace setvariable ["dif_init", 0]};
if (_index2 == 1) then {missionNamespace setvariable ["dif_init", 1]};
if (_index2 == 2) then {missionNamespace setvariable ["dif_init", 2]};
if (_index2 == 3) then {missionNamespace setvariable ["dif_init", 3]};

publicvariableserver "target_number";
publicvariableserver "dif_init";

 

Share this post


Link to post
Share on other sites

Try passing the listbox selection as an argument when calling executedialog.sqf:

  action = "closedialog 0;[ lbcursel 1500, lbcursel 1501] execVM 'scripts\range\gui\executedialog.sqf'";

and then selecting them in the script:

_index1 = _this select 0;
_index2 = _this select 1;

 

Share this post


Link to post
Share on other sites

nevermind, i got it to work, but now my target script isnt working right, i want it to pop up a number of random targets, one at a time, and the user has a limited time to hit them before they pop down. and it isnt working right, it either pops them up and down really quick in succession, or doesnt pop them down

starttargets.sqf

Spoiler

publicvariable "timetilpopup";
if (dif_init == 0) then {timetilpopup = 2.5};
if (dif_init == 1) then {timetilpopup = 2};
if (dif_init == 2) then {timetilpopup = 1.5};
if (dif_init == 3) then {timetilpopup = 1};
publicvariable "timetilpopup";
targethit = 0;
popdown_target = 0;
publicvariable "popdown_target";
publicvariable "targethit";
publicvariable "numberof_hits";
_timerscript = [] execvm "scripts\range\gui\timer.sqf";
sleep timetillpopdown;
sleep timetillpopdown;
hint "phase 1 done";
{_x addEventHandler ["hit", "numberof_hits = numberof_hits + 1"]} foreach time_targets;
{_x addEventHandler ["hit", "popdown_target = 1; publicvariable 'popdown_target'; terminate _timerscript;"]} foreach time_targets;
Hint "phase 2 done";
// popup target manualy (0 - up, 1 - down)
{_x animate["terc", 1];} foreach time_targets;
targethit = 0;
numberof_hits = 0;
[["Setting up range, stand by!"],"systemChat",TRUE,FALSE] spawn BIS_fnc_MP;
sleep 2;
[["Begin"],"systemChat",TRUE,FALSE] spawn BIS_fnc_MP;
Hint "phase 3 done";
sleep 1;
hint "phase 4 done";
_number1 = parseNumber target_number;
for "_i" from 1 To _number1 do {
_curtarget = selectRandom time_targets;
_curtarget animate["terc", 0];
_timerscript;
waituntil {popdown_target == 1};
popdown_target = 0;
publicvariable "popdown_target";
_curtarget animate["terc", 1];
terminate _timerscript;
sleep timetilpopup;

};
hint "phase 5 done";
[[format ["Time Trial Done! %1 targets hit out of %2",numberof_hits,_number1]],"systemChat",TRUE,FALSE] spawn BIS_fnc_MP;

timer.sqf

Spoiler

sleep timetilpopdown;
["missed target time","systemChat",TRUE,FALSE] spawn BIS_fnc_MP;
popdown_target = 1;
publicvariable "popdown_target";

 

Share this post


Link to post
Share on other sites
5 hours ago, mat10193 said:

"closedialog 0; execVM 'scripts\range\gui\executedialog.sqf'"

You close the dialog then run a script that depends on the dialog to check the current selected index of the dialogs listboxes.

Move close dialog to the end of executedialog.sqf

 

1 hour ago, mat10193 said:

but now my target script isnt working right, i want it to pop up a number of random targets, one at a time

Maybe?

Spoiler

//ui button

action = "[] execVM 'scripts\range\gui\executedialog.sqf'";

 


//scripts\range\gui\executedialog.sqf

//Get listbox selections
_numTargets = [ 10, 15, 20, 25, 30 ] select lbCurSel 1500;
_timePop = [ 2.5, 2, 1.5, 1 ] select lbCurSel 1501;

//Start the target script on the server
[ [ _numTarget, _timePop, player ], "starttargets.sqf" ] remoteExec[ "execVM", 2 ];

//Close the UI
closeDialog 0;

 



//starttargets.sqf

//Time between target pop up
#define TARGET_INTERVAL 2;

params[ "_numTargets", "_timePop", "_participant" ];

//Set all targets down
{ _x animate[ "terc", 1 ] }forEach time_targets;

//Tell participant to get ready
"Get Ready!!!" remoteExec[ "hint", _participant ];

//Set participants hit count to 0
_participant setVariable[ "hitCount", 0 ];

sleep 5;

//From 1 to number of targets
for "_i" from 1 to _numTargets do {
	
	//Select a random target
	_target = selectRandom time_targets;
	
	//Set participant on target
	_target setVariable[ "participant", _participant ];
	
	//Add a hit event to it that...
	_hitEvent = _target addEventHandler[ "Hit", {
		params[ "_target", "", "", "_shooter" ];
		
		//If the shooter was the participant
		if ( _shooter isEqualTo ( _target getVariable[ "participant", objNull ] ) ) then {
			
			//Remove targets event
			_target removeEventHandler[ "Hit", _thisEventHandler ];
			
			//Remove targets participant
			_target setVariable[ "participant", nil ];
			
			//Set target down
			_target animate[ "terc", 1 ];
			
			//Increase shooters hit Count
			_shooter setVariable[ "hitCount", _shooter getVariable[ "hitCount", 0 ] + 1 ];
		};
	}];
	
	//Pop up selected target
	_target animate[ "terc", 0 ];
	
	//Wait pop up time
	sleep _timePop;
	
	//Remove targets event
	_target removeEventHandler[ "Hit", _hitEvent ];
	
	//Remove targets participant
	_target setVariable[ "participant", nil ];
	
	//Set target down
	_target animate[ "terc", 1 ];
	
	//Wait before next target pop up
	sleep TARGET_INTERVAL;
};

//Tell participant their score
format[ "Time Trial Done! %1 targets hit out of %2", _participant getVariable[ "hintCount", 0 ], _numTargets ] remoteExec[ "hint", _participant ];

All thoroughly untested.

 

Share this post


Link to post
Share on other sites

thank you all for your help, i have it fixed now, but i ran into a small issue. i am trying to change the number of hits back to zero after all of the targets have been done, but it keeps adding up the amount of hits overtime
 

Spoiler

ptime_targets = [ptt_1,ptt_2,ptt_3,ptt_4,ptt_5,ptt_6,ptt_7,ptt_8,ptt_9,ptt_10,ptt_11,ptt_12,ptt_13,ptt_14,ptt_15];
publicvariable "ptime_targets";
pnumberof_hits = 0;
publicvariable "pnumberof_hits";
ptimetilpopdown = 0;
publicvariable "ptimetilpopdown";
if (dif_init == 0) then {ptimetilpopdown = 4};
if (dif_init == 1) then {ptimetilpopdown = 3.25};
if (dif_init == 2) then {ptimetilpopdown = 2.5};
if (dif_init == 3) then {ptimetilpopdown = 1.5};
publicvariable "ptimetilpopdown";
ptimetilpopup = 0;
publicvariable "ptimetilpopup";
if (dif_init == 0) then {ptimetilpopup = 2.5};
if (dif_init == 1) then {ptimetilpopup = 2};
if (dif_init == 2) then {ptimetilpopup = 1.5};
if (dif_init == 3) then {ptimetilpopup = 1};
publicvariable "ptimetilpopup";
ptargethit = 0;
ppopdown_target = 0;
publicvariable "ppopdown_target";
publicvariable "ptargethit";
publicvariable "pnumberof_hits";
sleep 8;
hint "phase 1 done";
{_x addEventHandler ["hit", "pnumberof_hits = pnumberof_hits + 1"]} foreach ptime_targets;
{_x addEventHandler ["hit", "ppopdown_target = 1; publicvariable 'ppopdown_target'; terminate _timerscript;"]} foreach ptime_targets;
Hint "phase 2 done";
// popup target manualy (0 - up, 1 - down)
{_x animate["terc", 1];} foreach ptime_targets;
ptargethit = 0;
pnumberof_hits = 0;
publicvariable "pnumberof_hits";
[["Setting up Pistol range, stand by!"],"systemChat",TRUE,FALSE] spawn BIS_fnc_MP;
sleep 2;
missionnamespace setVariable ["pnumberof_hits", 0];
publicvariable "pnumberof_hits";
pnumberof_hits = pnumberof_hits - pnumberof_hits;
publicvariable "pnumberof_hits";
[["Begin"],"systemChat",TRUE,FALSE] spawn BIS_fnc_MP;
Hint "phase 3 done";
sleep 1;
hint "phase 4 done";
_number1 = parseNumber ptarget_number;
for "_i" from 1 To _number1 do {
_curtarget = selectRandom ptime_targets;
_curtarget animate["terc", 0];
_timerscript = execvm "scripts\range\gui\pistol\timer.sqf";
waituntil {ppopdown_target == 1};
ppopdown_target = 0;
publicvariable "ppopdown_target";
_curtarget animate["terc", 1];
terminate _timerscript;
sleep ptimetilpopup;

};
hint "phase 5 done";
[[format ["Pistol Time Trial Done! %1 targets hit out of %2",pnumberof_hits,_number1]],"systemChat",TRUE,FALSE] spawn BIS_fnc_MP;
missionnamespace setVariable ["pnumberof_hits", nil];
publicvariable "pnumberof_hits";

Im sure there is a better way to organize this and make it more efficient, but im still a bit of a noob when it comes to scripting

Share this post


Link to post
Share on other sites

nvrmd, removing the "hit" event handlers at the end of the script that were added by the script to the targets fixed my issue

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

×