Jump to content
saddle

RscText: Member Already Defined issue

Recommended Posts

Hello everyone,

 

and thank you for taking the time. ūüôā

So I have managed to entangle myself in a little issue as I am working on customizing a Liberation mission.

I added a script and system called LARs_searchLoot and it is exactly what I was looking for!

It allows the player to interact with whatever object/class is in world, and you can loot it and have a chance to find items.


Tested on the sample template mission and it is running fine on it's own, no issues or errors.

Picture 1 sample mission: https://i.gyazo.com/c3233738c48e4aa5664630c66bf448df.jpg

 

As I am customizing my Liberation mission, I simply transfer the script files and the code in the Description.SQM into the Liberation mission and I start having issues there.

 

5f260400d9b08908d74b45735f8243b7.png

I was greeted with this issue, and for the last two days I have tried hard to troubleshoot and resolve it.

I have looked all around with google and been unable to resolve my issue yet.

 

With this error, compared to the sample mission which works fine on it's own, looting and searching does not function properly and the spyglass process is replaced on the Space bar action which is not correct.

Picture 2: https://i.gyazo.com/baa7f3ed9cfbbabb210693836168c96e.png

 

- I tried to rename the classes and managed to resolve the errors once, so they would not duplicate, but when I did Picture 2 was working - and not Picture 1 which is intended and how it is supposed to be.

 

Anyone has any insight or feedback regarding this it is much appreciated

 

Description file

Spoiler

author = $STR_MISSION_AUTHOR;
onLoadName = $STR_MISSION_TITLE;
briefingName = $STR_MISSION_TITLE;
onLoadMission = $STR_MISSION_DESCRIPTION;
overviewText = $STR_MISSION_DESCRIPTION;
overviewPicture = "res\liberation.paa";
loadScreen = "res\liberation.paa";
onLoadIntro = "Welcome on the Liberaton RX planet.";

respawn = 3;
respawndelay = 5;
respawnButton = 0;
respawnOnStart = 0;
disabledAI = true;
enableDebugConsole = 1;
allowFunctionsLog = 0;
forceRotorLibSimulation = 2;

briefing = 0;
joinUnassigned = 0;
LARs_calculateSideGear = 1;

class CfgFunctions {
    #include "addons\LARs\blacklistArsenal\functions\blacklistArsenal.fncs"
    #include "addons\GRAD\cfgFunctions.hpp"
    #include "addons\SDB_DALE\CfgFunctions.hpp"
        #include "LARs\LARs_searchLoot\functions.cpp"
};

class cfgSounds {
     class parasound {
         name = "parasound";
         sound[] = {"res\c130.ogg", 1, 1};
         titles[] = {};
     };
    class bombershout {
        name = "bombershout";
        sound[] = {"res\shout.ogg", 1, 1};
        titles[] = {};
    };
    #include "addons\GRAD\cfgSounds.hpp"
};

class Header {
    gameType = CTI;
    minPlayers = 1;
    maxPlayers = 22;
};

class CfgDebriefing {
    class End1
    {
        title =    $STR_SORRY;
        subtitle = "";
        description = $STR_COMMANDER_NOT_AUTHORIZED;
        pictureBackground = "";
    };
};

class Repaint {
    file = "addons\RPT";
    class repaintMenu {};
    class repaintColor {};
    class repaintVehicle {};
};

#include "GREUH\UI\GREUH_interface.hpp"
#include "ui\liberation_interface.hpp"
#include "ui\liberation_notifications.hpp"
#include "ui\mission_params.hpp"
#include "R3F_LOG\desc_include.h"
#include "addons\MGR\MagRepack_Config.hpp"
#include "addons\RPT\veh_repaint.hpp"
#include "addons\VIRT\virtual_garage.hpp"
#include "addons\SDB_DALE\RscLoadout.hpp"
#include "baseDefines.hpp"

class RscTitles {
    class Default {
        idd = -1;
        fadein = 0;
        fadeout = 0;
        duration = 0;
    };
    #include "LARs\LARs_searchLoot\LARs_lootUI.hpp"
};

 

 

The baseDefines.hpp file in the (loot mod, not liberation)

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 = "PuristaMedium";
    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 = "PuristaMedium";
        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;
    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;
    tooltipColorText[] =
    {
        1,
        1,
        1,
        1
    };
    tooltipColorBox[] =
    {
        1,
        1,
        1,
        1
    };
    tooltipColorShade[] =
    {
        0,
        0,
        0,
        0.65
    };
};
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.77])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
        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;
    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 = "PuristaMedium";
    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 = "PuristaMedium";
    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
    };
    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;
    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.77])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
        1
    };
    colorBackgroundFocused[] =
    {
        "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
        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)";
    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 = "PuristaMedium";
    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 = "";
    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 = "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 = 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
    };
};
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.77])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
        "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
        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 = "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,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
    };
};
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
{
    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;
};

class RscProgress {
    type = 8;
    style = 0;
    colorFrame[] = {0,0,0,1};
    colorBar[] = {1,1,1,1};
    texture = "#(argb,8,8,3)color(1,1,1,1)";
    w = 1;
    h = 0.03;
};

 

 

Share this post


Link to post
Share on other sites

include base defines (#include "baseDefines.hpp") first then the error will tell you in which other file it is redefined
 

Share this post


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

include base defines (#include "baseDefines.hpp") first then the error will tell you in which other file it is redefined
 

Cheers. Very interesting. I had no idea it made such a difference with order like that.

65dba1793860290359b79d0ed2386f0a.png

 

It just revealed this path to me so I will be taking a look and see what I can do.

GREUH_Interface.hpp

Spoiler

// 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_SHORTCUT_BUTTON  16 // Arma 2 - textured button

#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_LIST_N_BOX       102 // Arma 2 - N columns list box


// 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 CT_MAP_MAIN 101
#define ST_PICTURE 48

#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

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

#define FONTM             "puristaMedium"

#ifdef COLOR_BROWN
#undef COLOR_BROWN
#endif
#ifdef COLOR_GREEN
#undef COLOR_GREEN
#endif
#ifdef COLOR_GREEN_ALPHA
#undef COLOR_GREEN_ALPHA
#endif
#ifdef COLOR_GREEN_NOALPHA
#undef COLOR_GREEN_NOALPHA
#endif
#ifdef COLOR_LIGHTGREEN
#undef COLOR_LIGHTGREEN
#endif
#ifdef COLOR_LIGHTGRAY
#undef COLOR_LIGHTGRAY
#endif
#ifdef COLOR_LIGHTGRAY_ALPHA
#undef COLOR_LIGHTGRAY_ALPHA
#endif
#ifdef COLOR_WHITE
#undef COLOR_WHITE
#endif
#ifdef COLOR_NOALPHA
#undef COLOR_NOALPHA
#endif
#ifdef COLOR_BLUFOR
#undef COLOR_BLUFOR
#endif
#ifdef COLOR_OPFOR
#undef COLOR_OPFOR
#endif
#ifdef COLOR_GUER
#undef COLOR_GUER
#endif
#ifdef COLOR_WHITE_TRANSP
#undef COLOR_WHITE_TRANSP
#endif
#ifdef COLOR_BLACK
#undef COLOR_BLACK
#endif
#ifdef COLOR_BLACK_ALPHA
#undef COLOR_BLACK_ALPHA
#endif
#ifdef COLOR_BLUFOR_NOALPHA
#undef COLOR_BLUFOR_NOALPHA
#endif
#ifdef COLOR_OPFOR_NOALPHA
#undef COLOR_OPFOR_NOALPHA
#endif
#ifdef COLOR_RED_DISABLED
#undef COLOR_RED_DISABLED
#endif
#ifdef COLOR_BLEEDOUT
#undef COLOR_BLEEDOUT
#endif
#ifdef COLOR_BRIGHTGREEN
#undef COLOR_BRIGHTGREEN
#endif

#define COLOR_BROWN { 0.18, 0.14, 0.11, 0.75 }
#define COLOR_GREEN { 0.2, 0.23, 0.18, 0.75 }
#define COLOR_LIGHTGREEN { 0.4, 0.55, 0.36, 0.4 }
#define COLOR_LIGHTGRAY { 0.6, 0.6, 0.6, 0.8 }
#define COLOR_WHITE { 1, 1, 1, 1 }
#define COLOR_NOALPHA { 0, 0, 0, 0 }
#define COLOR_BLUFOR { 0, 0.3, 1, 1 }
#define COLOR_OPFOR { 1, 0, 0, 1 }
#define COLOR_GUER { 0.5, 0.5, 0.5, 0.5 }
#define COLOR_WHITE_TRANSP { 1, 1, 1, 0.5 }
#define COLOR_BLACK { 0, 0, 0, 1 }
#define COLOR_BLACK_ALPHA { 0, 0, 0, 0.85 }
#define COLOR_BLUFOR_NOALPHA { 0, 0, 1, 1 }
#define COLOR_OPFOR_NOALPHA { 1, 0, 0, 1 }
#define COLOR_RED_DISABLED { 1,0,0,0.4 }
#define COLOR_BLEEDOUT { 0.66,0,0,0.8 }
#define COLOR_BRIGHTGREEN { 0.2,1,0.2,1 }

#define BORDERSIZE      0.01

#define BASE_Y             0.075

class RscListBox {
    idc = -1;
    type = 5;
    style = 0 + 0x10;
    font = FONTM;
    sizeEx = 0.018 * safezoneH;
    rowHeight = 0.02 * safezoneH;
    color[] = COLOR_LIGHTGRAY;
    colorText[] = COLOR_WHITE;
    colorScrollbar[] = COLOR_BRIGHTGREEN;
    colorSelect[] = COLOR_BRIGHTGREEN;
    colorSelect2[] = COLOR_BRIGHTGREEN;
    colorSelectBackground[] = COLOR_LIGHTGRAY;
    colorSelectBackground2[] = COLOR_LIGHTGRAY;
    colorActive[] = COLOR_BRIGHTGREEN;
    colorDisabled[] = COLOR_GREEN;
    columns[] = {0.1, 0.7, 0.1, 0.1};
    period = 0;
    colorBackground[] = COLOR_GREEN;
    maxHistoryDelay = 1.0;
    autoScrollSpeed = -1;
    autoScrollDelay = 5;
    autoScrollRewind = 0;
    soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    shadow = 2;

    class ListScrollBar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };
};

class RscCombo {
    idc = -1;
    type = 4;
    style = 1;
    x = 0;
    y = 0;
    w = 0.3;
    h = 0.035;
    colorSelect[] = COLOR_BRIGHTGREEN;
    colorText[] = COLOR_WHITE;
    colorBackground[] = COLOR_GREEN;
    colorSelectBackground[] = COLOR_LIGHTGRAY;
    colorScrollbar[] = COLOR_BRIGHTGREEN;
    arrowEmpty ="\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
    arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
    wholeHeight = 0.45;
    color[] = COLOR_LIGHTGRAY;
    colorActive[] = COLOR_BRIGHTGREEN;
    colorDisabled[] = COLOR_GREEN;
    font = FONTM;
    sizeEx = 0.031;
    soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    soundExpand[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    soundCollapse[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    maxHistoryDelay = 1.0;

    class ComboScrollBar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };
};

class GREUH_Menu {
    idd = 5565;
    movingEnable = false;
    controlsBackground[] = {};
    controls[] = {"GREUH_OuterBG", "BgPicture", "GREUH_OuterBG_F","GREUH_InnerBG", "GREUH_InnerBG_F","GREUH_Header","GREUH_SquadLabel",
    "GREUH_SquadZone","GREUH_PlatoonLabel","GREUH_ViewDistance","GREUH_WorldQuality",
    "GREUH_Close","GREUH_ButtonWorldVeryLow","GREUH_ButtonWorldLow","GREUH_ButtonWorldNormal","GREUH_ButtonWorldHigh",
    "GREUH_Slider","GREUH_SliderVD","GREUH_LabelMarkers","GREUH_TeammatesYes","GREUH_TeammatesNo","GREUH_LabelPlatoon",
    "GREUH_PlatoonYes","GREUH_PlatoonNo","GREUH_LabelPlatoonActive","GREUH_LabelMarkersActive","GREUH_SquadList",
    "GREUH_ButtonJoin","GREUH_ButtonNew","GREUH_ButtonRename","GREUH_PlatoonZone","GREUH_ViewZone","GREUH_WorldZone",
    "GREUH_MarkersZone","GREUH_Squad_OuterBG","GREUH_Squad_InnerBG","GREUH_Squad_OuterBG_F","GREUH_Squad_InnerBG_F",
    "GREUH_ButtonName_Rename","GREUH_ButtonName_Abort","GREUH_Squad_TextField","GREUH_LabelVD","GREUH_ButtonLeader",
    "GREUH_SliderVeh","GREUH_LabelVDVeh","GREUH_SliderVDVeh","GREUH_SliderObj","GREUH_LabelVDObj","GREUH_SliderVDObj",
    "GREUH_Leader_OuterBG", "GREUH_Leader_InnerBG", "GREUH_Leader_OuterBG_F", "GREUH_Leader_InnerBG_F",
    "GREUH_ButtonLeader_Choose", "GREUH_ButtonLeader_Abort", "GREUH_Squad_Combo","GREUH_ButtonLock",
    "GREUH_LabelNametags","GREUH_NametagsActive","GREUH_NametagsYes","GREUH_NametagsNo",
    "GREUH_FPSLabel","GREUH_FPSEdit","GREUH_Keybind"};

    objects[] = {};

    class BgPicture {
        idc = -1;
        type = CT_STATIC;
        style = ST_PICTURE;
        colorText[] = {0.5, 0.4, 0.25, 0.6};
        colorBackground[] = {0, 0, 0, 1};
        font = FONTM;
        sizeEx = 0.023;
        moving = false;
        text = "res\camo03.jpg";
        x = (0.15 * safezoneW + safezoneX) - ( 2 * BORDERSIZE);
        y = ((BASE_Y + 0.02) * safezoneH) + safezoneY - (3 * BORDERSIZE);
        w = (0.2 * safezoneW) + (4 * BORDERSIZE);
        h = (0.79 * safezoneH) + (6 * BORDERSIZE);
    };

    class GREUH_OuterBG {
        idc = -1;
        type =  CT_STATIC;
        style = ST_SINGLE;
        colorText[] = COLOR_BLACK;
        colorBackground[] = COLOR_BROWN;
        font = FONTM;
        sizeEx = 0.023;
        x = (0.15 * safezoneW + safezoneX) - ( 2 * BORDERSIZE);
        y = ((BASE_Y + 0.02) * safezoneH) + safezoneY - (3 * BORDERSIZE);
        w = (0.2 * safezoneW) + (4 * BORDERSIZE);
        h = (0.79 * safezoneH) + (6 * BORDERSIZE);
        text = "";
    };
    class GREUH_OuterBG_F : GREUH_OuterBG {
        style = ST_FRAME;
    };
    class GREUH_InnerBG : GREUH_OuterBG {
        colorBackground[] = COLOR_GREEN;
        x = (0.15 * safezoneW + safezoneX)  - ( BORDERSIZE);
        y = ((BASE_Y + 0.07) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
        w = 0.2 * safezoneW +  (2 * BORDERSIZE);
        h = 0.74 * safezoneH  + (3 * BORDERSIZE);
    };
    class GREUH_InnerBG_F : GREUH_InnerBG {
        style = ST_FRAME;
    };
    class GREUH_StdText {
        idc = -1;
        type =  CT_STATIC;
        style = ST_LEFT;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_NOALPHA;
        font = FONTM;
        sizeEx = 0.02 * safezoneH;
        shadow = 2;
    };
    class GREUH_RscStructuredText{
        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 GREUH_StdHeader : GREUH_StdText {
        style = ST_CENTER;
        sizeEx = 0.03 * safezoneH;
    };
    class GREUH_Header : GREUH_StdHeader {
        x = 0.15 * safezoneW + safezoneX - (BORDERSIZE);
        y = ((BASE_Y + 0.01) * safezoneH) + safezoneY;
        w = 0.2 * safezoneW + ( 2 * BORDERSIZE);
        h = 0.05 * safezoneH - (BORDERSIZE);
        text = "Extended Options";
        colorBackground[] = COLOR_LIGHTGRAY;
    };
    class GREUH_ButtonGeneric {
        idc = -1;
        type = CT_BUTTON;
        style = ST_CENTER;
        default = false;
        font = FONTM;
        sizeEx = 0.018 * safezoneH;
        colorText[] = { 0, 0, 0, 1 };
        colorFocused[] = { 1, 1, 1, 1 };
        colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
        colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
        colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
        colorBackgroundActive[] = { 1, 1, 1, 1 };
        offsetX = 0.003;
        offsetY = 0.003;
        offsetPressedX = 0.002;
        offsetPressedY = 0.002;
        colorShadow[] = { 0, 0, 0, 0.5 };
        colorBorder[] = { 0, 0, 0, 1 };
        borderSize = 0;
        soundEnter[] = { "", 0, 1 };          // no sound
        soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
        soundClick[] = { "", 0, 1 };          // no sound
        soundEscape[] = { "", 0, 1 };          // no sound
        x = 0.15 * safezoneW + safezoneX;
        w = 0.2 * safezoneW; h = 0.03 * safezoneH;
        text = "";
        action = "";
        shadow = 1;
    };
    class GREUH_Label : GREUH_StdHeader {
        x = 0.15 * safezoneW + safezoneX;
        w = 0.2 * safezoneW;
        h = 0.03 * safezoneH;
        sizeEx = 0.02 * safezoneH;
        colorBackground[] = COLOR_LIGHTGREEN;
    };

    class GREUH_DefaultZone : GREUH_StdText {
        style = ST_CENTER;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.2 * safezoneW;
        colorText[] = COLOR_LIGHTGRAY;
        colorBackground[] = COLOR_RED_DISABLED;
        text = "- disabled -";
    };
    class GREUH_RegularLabel : GREUH_Label {
        colorBackground[] = COLOR_NOALPHA;
        style = ST_LEFT;
    };
    class GREUH_Close : GREUH_ButtonGeneric {
        idc = 6677;
        x = 0.335 * safezoneW + safezoneX;
        w = 0.015 * safezoneW;  h = 0.02 * safezoneH;
        y = ((BASE_Y + 0.015) * safezoneH) + safezoneY;
        text = "X";
        action = "closeDialog 0";
    };
    class GREUH_SquadZone : GREUH_DefaultZone {
        idc = 501;
        y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
        h = (0.2 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_SquadLabel : GREUH_Label {
        idc = 510;
        y = ((BASE_Y + 0.07) * safezoneH) + safezoneY;
        text = "Squad Management";
    };
    class GREUH_SquadList : RscListBox {
        idc = 515;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.15 * safezoneW;
        y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
        h = (0.2 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_ButtonSquad : GREUH_ButtonGeneric {
        x = 0.3 * safezoneW + safezoneX + BORDERSIZE;
        w = ((0.2 * safezoneW) / 4) - BORDERSIZE;
    };
    class GREUH_ButtonJoin : GREUH_ButtonSquad {
        idc = 511;
        text = "Join";
        action = "squadaction = 'join';";
        y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonNew : GREUH_ButtonSquad {
        idc = 512;
        text = "Leave";
        action = "squadaction = 'leave';";
        y = ((BASE_Y + 0.15) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonRename : GREUH_ButtonSquad {
        idc = 513;
        text = "Rename";
        action = "squadaction = 'rename';";
        y = ((BASE_Y + 0.19) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonLeader : GREUH_ButtonSquad {
        idc = 514;
        text = "Leader";
        action = "squadaction = 'leader';";
        y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonLock : GREUH_ButtonSquad {
        idc = 516;
        text = "Lock";
        action = "squadaction = 'lock';";
        y = ((BASE_Y + 0.27) * safezoneH) + safezoneY;
    };
    class GREUH_Squad_OuterBG : GREUH_OuterBG {
        idc = 521;
        style = ST_SINGLE;
        x = (0.37 * safezoneW + safezoneX) - (BORDERSIZE);
        y = ((BASE_Y + 0.18) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
        w = 0.2 * safezoneW +  (2 * BORDERSIZE);
        h = 0.05 * safezoneH  + (3 * BORDERSIZE);
    };
    class GREUH_Squad_InnerBG : GREUH_OuterBG {
        idc = 522;
        colorBackground[] = COLOR_GREEN;
        x = (0.37 * safezoneW + safezoneX);
        y = ((BASE_Y + 0.18) * safezoneH) + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.05 * safezoneH;
    };
    class GREUH_Squad_OuterBG_F : GREUH_Squad_OuterBG {
        idc = 523;
        style = ST_FRAME;
    };
    class GREUH_Squad_InnerBG_F : GREUH_Squad_InnerBG {
        idc = 524;
        style = ST_FRAME;
    };
    class GREUH_ButtonName : GREUH_ButtonGeneric {
        w = ((0.2 * safezoneW) / 5) - BORDERSIZE;
        y = ((BASE_Y + 0.19) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonName_Rename : GREUH_ButtonName {
        idc = 525;
        x = 0.4875 * safezoneW + safezoneX;
        text = "Rename";
        action = "squadname = ctrlText 527;";
    };
    class GREUH_ButtonName_Abort : GREUH_ButtonName {
        idc = 526;
        x = (0.4875 * safezoneW + safezoneX) + ((0.2 * safezoneW) / 5);
        text = "Cancel";
        action = "squadaction = '';";
    };
    class GREUH_Squad_TextField : GREUH_ButtonName {
        idc = 527;
        type = CT_EDIT;
        style = ST_LEFT;
        x = (0.37 * safezoneW + safezoneX) + BORDERSIZE;
        w = 0.11 * safezoneW;
        text = "";
        action = "";
        colorText[] = COLOR_WHITE;
        colorSelection[] = COLOR_BRIGHTGREEN;
        autocomplete = "";
    };

    class GREUH_Leader_OuterBG : GREUH_OuterBG {
        idc = 561;
        style = ST_SINGLE;
        x = (0.37 * safezoneW + safezoneX) - (BORDERSIZE);
        y = ((BASE_Y + 0.22) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
        w = 0.2 * safezoneW +  (2 * BORDERSIZE);
        h = 0.05 * safezoneH  + (3 * BORDERSIZE);
    };
    class GREUH_Leader_InnerBG : GREUH_OuterBG {
        idc = 562;
        colorBackground[] = COLOR_GREEN;
        x = (0.37 * safezoneW + safezoneX);
        y = ((BASE_Y + 0.22) * safezoneH) + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.05 * safezoneH;
    };
    class GREUH_Leader_OuterBG_F : GREUH_Leader_OuterBG {
        idc = 563;
        style = ST_FRAME;
    };
    class GREUH_Leader_InnerBG_F : GREUH_Leader_InnerBG {
        idc = 564;
        style = ST_FRAME;
    };
    class GREUH_ButtonLeaderGen : GREUH_ButtonGeneric {
        w = ((0.2 * safezoneW) / 5) - BORDERSIZE;
        y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonLeader_Choose : GREUH_ButtonLeaderGen {
        idc = 565;
        x = 0.4875 * safezoneW + safezoneX;
        text = "Choose";
        action = "choose_squadleader = lbCurSel 567;";
    };
    class GREUH_ButtonLeader_Abort : GREUH_ButtonLeaderGen {
        idc = 566;
        x = (0.4875 * safezoneW + safezoneX) + ((0.2 * safezoneW) / 5);
        text = "Cancel";
        action = "squadaction = ''";
    };
    class GREUH_Squad_Combo : RscCombo {
        idc = 567;
        x = (0.37 * safezoneW + safezoneX) + BORDERSIZE;
        w = 0.11 * safezoneW;
        y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
    };
    class GREUH_PlatoonZone : GREUH_DefaultZone {
        idc = 601;
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_PlatoonLabel : GREUH_Label {
        idc = 610;
        y = ((BASE_Y + 0.31) * safezoneH) + safezoneY;
        text = "Platoon & Squad Awareness";
    };
    class GREUH_LabelPlatoon : GREUH_RegularLabel {
        idc = 611;
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        text = "Show platoon overlay : ";
    };
    class GREUH_LabelPlatoonActive : GREUH_RegularLabel {
        idc = 612;
        style = ST_RIGHT;
        colorText[] = COLOR_BRIGHTGREEN;
        text = "active";
        x = 0.2 * safezoneW + safezoneX;
        w = 0.1 * safezoneW;
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
    };
    class GREUH_PlatoonYes : GREUH_ButtonGeneric {
        idc = 613;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        x = 0.305 * safezoneW + safezoneX;
        text = "Yes";
        action = "show_platoon = true";
    };
    class GREUH_PlatoonNo : GREUH_ButtonGeneric {
        idc = 614;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
        text = "No";
        action = "show_platoon = false";
    };
    class GREUH_ViewZone : GREUH_DefaultZone {
        idc = 701;
        y = ((BASE_Y + 0.51) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_ViewDistance : GREUH_Label {
        idc = 711;
        y = ((BASE_Y + 0.47) * safezoneH) + safezoneY;
        text = "Adjust View Distance";
    };
    class GREUH_Slider {
        idc = 712;
        type = CT_SLIDER;
        style = SL_HORZ;
        x = 0.19 * safezoneW + safezoneX;
        w = 0.12 * safezoneW;
        y = ((BASE_Y + 0.515) * safezoneH) + safezoneY;
        h = 0.025 * safezoneH;
        text = "View Distance";
        color[] = { 1, 1, 1, 1 };
        coloractive[] = { 1, 1, 1, 1 };
        onSliderPosChanged = "desiredviewdistance_inf = (sliderPosition 712)";
    };
    class GREUH_SliderVD : GREUH_Label {
        idc = 713;
        style = ST_LEFT;
        x = 0.31 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.505) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "";
    };
    class GREUH_LabelVD : GREUH_Label {
        idc = 714;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.505) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "Infantry";
    };
    class GREUH_SliderVeh {
        idc = 722;
        type = CT_SLIDER;
        style = SL_HORZ;
        x = 0.19 * safezoneW + safezoneX;
        w = 0.12 * safezoneW;
        y = ((BASE_Y + 0.545) * safezoneH) + safezoneY;
        h = 0.025 * safezoneH;
        text = "View Distance";
        color[] = { 1, 1, 1, 1 };
        coloractive[] = { 1, 1, 1, 1 };
        onSliderPosChanged = "desiredviewdistance_veh = (sliderPosition 722)";
    };
    class GREUH_SliderVDVeh : GREUH_Label {
        idc = 723;
        style = ST_LEFT;
        x = 0.31 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.535) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "";
    };
    class GREUH_LabelVDVeh : GREUH_Label {
        idc = 724;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.535) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "Vehicles";
    };
    class GREUH_SliderObj {
        idc = 732;
        type = CT_SLIDER;
        style = SL_HORZ;
        x = 0.19 * safezoneW + safezoneX;
        w = 0.12 * safezoneW;
        y = ((BASE_Y + 0.575) * safezoneH) + safezoneY;
        h = 0.025 * safezoneH;
        text = "View Distance";
        color[] = { 1, 1, 1, 1 };
        coloractive[] = { 1, 1, 1, 1 };
        onSliderPosChanged = "desiredviewdistance_obj = (sliderPosition 732)";
    };
    class GREUH_SliderVDObj : GREUH_Label {
        idc = 733;
        style = ST_LEFT;
        x = 0.31 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.565) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "";
    };
    class GREUH_LabelVDObj : GREUH_Label {
        idc = 734;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.565) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "Objects";
    };
    class GREUH_FPSLabel : GREUH_Label {
        idc = 724;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.3 * safezoneW;
        y = ((BASE_Y + 0.61) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        sizeEx = 0.018 * safezoneH;
        text = "Adjust view distance to keep FPS above";
    };
    class GREUH_FPSEdit {
        idc = 960;
        type = CT_EDIT;
        style = ST_LEFT + ST_FRAME;
        x = 0.317 * safezoneW + safezoneX;
        w = 0.03 * safezoneW;
        y = ((BASE_Y + 0.61) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = {0,0,0,0};
        colorText[] = {1,1,1,1};
        colorSelection[] = {1,1,1,0.25};
        colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
        colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
        font = FONTM;
        sizeEx = 0.02 * safezoneH;
        autocomplete = "";
        text = "";
        shadow = 0;
    };
    class GREUH_WorldZone : GREUH_DefaultZone {
        idc = 801;
        y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_WorldQuality : GREUH_Label {
        idc = 810;
        y = ((BASE_Y + 0.66) * safezoneH) + safezoneY;
        text = "Adjust Terrain Details";
    };
    class GREUH_ButtonWorld : GREUH_ButtonGeneric {
        w = ((0.2 * safezoneW) / 4) - BORDERSIZE;
        y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonWorldVeryLow : GREUH_ButtonWorld {
        idc = 812;
        x = 0.15 * safezoneW + safezoneX;
        text = "Low";
        action = "setTerrainGrid 50; hint 'Terrain details set to Low'";
    };
    class GREUH_ButtonWorldLow : GREUH_ButtonWorld {
        idc = 813;
        x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 1);
        text = "Normal";
        action = "setTerrainGrid 25; hint 'Terrain details set to Normal'";
    };
    class GREUH_ButtonWorldNormal : GREUH_ButtonWorld {
        idc = 814;
        x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 2);
        text = "High";
        action = "setTerrainGrid 12.5; hint 'Terrain details set to High'";
    };
    class GREUH_ButtonWorldHigh : GREUH_ButtonWorld {
        idc = 815;
        x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 3);
        text = "Ultra";
        action = "setTerrainGrid 3.125; hint 'Terrain details set to Ultra'";
    };
    class GREUH_MarkersZone : GREUH_DefaultZone {
        idc = 901;
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_LabelNametags : GREUH_RegularLabel {
        idc = 961;
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
        text = "Show player nametags : ";
    };
    class GREUH_NametagsActive : GREUH_RegularLabel {
        idc = 962;
        style = ST_RIGHT;
        colorText[] = COLOR_BRIGHTGREEN;
        text = "active";
        x = 0.2 * safezoneW + safezoneX;
        w = 0.1 * safezoneW;
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
    };
    class GREUH_NametagsYes : GREUH_ButtonGeneric {
        idc = 963;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
        x = 0.305 * safezoneW + safezoneX;
        text = "Yes";
        action = "show_nametags = true";
    };
    class GREUH_NametagsNo : GREUH_ButtonGeneric {
        idc = 964;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
        x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
        text = "No";
        action = "show_nametags = false";
    };
    class GREUH_LabelMarkers : GREUH_RegularLabel {
        idc = 911;
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        text = "Show teammates on map : ";
    };
    class GREUH_LabelMarkersActive : GREUH_RegularLabel {
        idc = 912;
        style = ST_RIGHT;
        colorText[] = COLOR_BRIGHTGREEN;
        text = "active";
        x = 0.2 * safezoneW + safezoneX;
        w = 0.1 * safezoneW;
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
    };
    class GREUH_TeammatesYes : GREUH_ButtonGeneric {
        idc = 913;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        x = 0.305 * safezoneW + safezoneX;
        text = "Yes";
        action = "show_teammates = true";
    };
    class GREUH_TeammatesNo : GREUH_ButtonGeneric {
        idc = 914;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
        text = "No";
        action = "show_teammates = false";
    };

  class GREUH_Keybind: GREUH_RscStructuredText {
    idc = 1100;
    text = "Keybinding : <br /><t size='0.7'>           ""CTRL+R"" : Repack Ammo<br />           ""HOME""    : Earplug on/off<br /></t>";
    x = 0.149896 * safezoneW + safezoneX;
    y = 0.80997 * safezoneH + safezoneY;
    w = 0.157778 * safezoneW;
    h = 0.077 * safezoneH;
  };
};

class GreuhButton {
    idc = -1;
    type = CT_BUTTON;
    style = ST_CENTER;
    default = false;
    font = FONTM;
    sizeEx = 0.018 * safezoneH;
    colorText[] = { 0, 0, 0, 1 };
    colorFocused[] = { 1, 1, 1, 1 };
    colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
    colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
    colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
    colorBackgroundActive[] = { 1, 1, 1, 1 };
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    colorShadow[] = { 0, 0, 0, 0.5 };
    colorBorder[] = { 0, 0, 0, 1 };
    borderSize = 0;
    soundEnter[] = { "", 0, 1 };          // no sound
    soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
    soundClick[] = { "", 0, 1 };          // no sound
    soundEscape[] = { "", 0, 1 };          // no sound
    x = 0.45 * safezoneW + safezoneX;
    y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
    w = 0.1 * safezoneW;
    h = 0.04 * safezoneH;
    text = "";
    action = "";
    shadow = 1;
};

class GREUH_respawn {
    idd = 5566;
    movingEnable = false;
    controlsBackground[] = {"GREUH_BleedoutBar_BG"};
    controls[] = {"GREUH_BleedoutBar","GREUH_BleedoutBar_F","GREUH_Respawn","GREUH_RecallMedic" ,"GREUH_ReviveLabel","GREUH_WoundedLabel","GREUH_Tips"};
    objects[] = {};
    class GREUH_Respawn : GreuhButton {
        idc = 677;
        x = 0.45 * safezoneW + safezoneX;
        y = 0.75 * safezoneH + safezoneY;
        w = 0.1 * safezoneW;
        h = 0.04 * safezoneH;
        text = "Respawn";
        action = "player spawn PAR_fn_death";
        colorDisabled[] = { 1, 1, 1, 1 };
    };

    class GREUH_RecallMedic : GreuhButton {
        idc = 679;
        x = 0.45 * safezoneW + safezoneX;
        y = 0.80 * safezoneH + safezoneY;
        w = 0.1 * safezoneW;
        h = 0.04 * safezoneH;
        text = "Recall Medic";
        action = "[] spawn PAR_fn_medicRecall";
        colorDisabled[] = { 1, 1, 1, 1 };
    };

    class GREUH_RscStructuredText{
        type = 13;
        idc = -1;
        style = 0;
        colorText[] = {1,1,1,1};
        class Attributes
        {
            font = "PuristaMedium";
            color = "#ffffff";
            align = "center";
            shadow = 2;
        };
        x = 0;
        y = 0;
        h = 0.035;
        w = 0.1;
        text = "";
        size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
        shadow = 2;
    };
    class GREUH_ReviveLabel {
        idc = 5567;
        type =  CT_STATIC;
        style = ST_CENTER;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_NOALPHA;
        font = FONTM;
        sizeEx = 0.02 * safezoneH;
        shadow = 1;
        x = 0.4 * safezoneW + safezoneX;
        y = 0.7 * safezoneH + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.025 * safezoneH;
        text = "";
    };
    class GREUH_WoundedLabel {
        idc = 4567;
        type =  CT_STATIC;
        style = ST_CENTER;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_NOALPHA;
        font = FONTM;
        sizeEx = 0.07 * safezoneH;
        shadow = 1;
        x = 0.3 * safezoneW + safezoneX;
        y = 0.25 * safezoneH + safezoneY;
        w = 0.4 * safezoneW;
        h = 0.07 * safezoneH;
        text = $STR_REVIVE_LABEL;
    };
    class GREUH_Tips: GREUH_RscStructuredText {
        idc = 678;
        text = "";
        x = 0.4 * safezoneW + safezoneX;
        y = 0.35 * safezoneH + safezoneY;
        w = 0.200 * safezoneW;
        h = 0.08 * safezoneH;
        sizeEx = -2 * GUI_GRID_H;
    };
    class GREUH_BleedoutBar {
        idc = 6699;
        type =  CT_STATIC;
        style = ST_SINGLE;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_BLEEDOUT;
        font = FONTM;
        sizeEx = 0.023;
        x = 0.4 * safezoneW + safezoneX;
        y = 0.7 * safezoneH + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.03 * safezoneH;
        text = "";
    };
    class GREUH_BleedoutBar_BG : GREUH_BleedoutBar {
        idc = -1;
        colorBackground[] = COLOR_BLACK_ALPHA;
        x = 0.4 * safezoneW + safezoneX - 0.005;
        y = 0.7 * safezoneH + safezoneY - 0.005;
        w = 0.2 * safezoneW + 0.01;
        h = 0.03 * safezoneH + 0.01;
    };
    class GREUH_BleedoutBar_F : GREUH_BleedoutBar {
        idc = 6698;
        colorText[] = COLOR_WHITE;
        style = ST_FRAME;
        x = 0.4 * safezoneW + safezoneX - 0.005;
        y = 0.7 * safezoneH + safezoneY - 0.005;
        w = 0.2 * safezoneW + 0.01;
        h = 0.03 * safezoneH + 0.01;
    };
};

 

 

EDIT 2:

I am adding a simple number to the 'already defined' classes and hope this is an okay thing to do

43832550f0e63d41f399a568d2ce4236.png

 

EDIT 3:

I have located all the files and classes that was duplicated in classes (members already defined).

Tested adding a number 1 after each class the editor was complaining about until the errors were all resolved.

However, sadly I am still getting the same results as in Picture 2, and not the correct results in Picture 1.

So I am screwing around with the classes and renaming different ones to see the results.

 

92957b5fac6cae982b3897600c9f5611.png

This is the classes that I want active, it gives the correct loading bar when you hit to interact with an item.

LARs_lootUI.hpp

Spoiler

////////////////////////////////////////////////////////
// GUI EDITOR OUTPUT START (by Larrow, v1.063, #Jarutu)
////////////////////////////////////////////////////////
class LARs_searchLootUI {

    idd = 20000;
    duration = 1e10;
    fadein = 0;
    fadeout = 0;
    onLoad = "uiNamespace setVariable [ 'LARs_searchLootUI', _this select 0 ];";

    class controls {

        class SearchText: RscText
        {
            idc = 1000;
            text = "Searching"; //--- ToDo: Localize;
            x = 0.44326 * safezoneW + safezoneX;
            y = 0.555005 * safezoneH + safezoneY;
            w = 0.0980062 * safezoneW;
            h = 0.0220019 * safezoneH;
        };
        class ProgressBar: RscProgress
        {
            idc = 1001;
            colorFrame[] = {1,1,1,1};
            colorBar[] = {0.93,0.72,0.08,1};
            x = 0.44326 * safezoneW + safezoneX;
            y = 0.577007 * safezoneH + safezoneY;
            w = 0.0980062 * safezoneW;
            h = 0.011001 * safezoneH;
        };
    };
};

 

 

I keep managing to resolve the duplicate classes in different orders, but nothing else changes same result in Picture 2.

Edited by saddle

Share this post


Link to post
Share on other sites

That's because a class is inheriting from the mentioned class "RscText" which you renamed to "RscText1" (presumably), so ofc arma can't find the base class (RscText).

Share this post


Link to post
Share on other sites
1 hour ago, 7erra said:

That's because a class is inheriting from the mentioned class "RscText" which you renamed to "RscText1" (presumably), so ofc arma can't find the base class (RscText).

It is what I am trying to figure out right now. So far despite all the renamings it gives the exact same results ... I will spend some more time looking at it.

Share this post


Link to post
Share on other sites

well the error message tells you what the problem is. The base class RscText is not defined. it is located in LARs\LARs_searchLoot\LARs_lootUI.hpp. In that file is a display class called "LARs_searchLootUI" which has a subclass called "controls" which has a subclass called "SearchText" which tries to inherit from a "RscText" class which does not exist

Share this post


Link to post
Share on other sites
2 hours ago, 7erra said:

well the error message tells you what the problem is. The base class RscText is not defined. it is located in LARs\LARs_searchLoot\LARs_lootUI.hpp. In that file is a display class called "LARs_searchLootUI" which has a subclass called "controls" which has a subclass called "SearchText" which tries to inherit from a "RscText" class which does not exist

 

Thanks 7erra,

it is all a little complex for me but i will try and work it out on my own!

 

EDIT 2:
I have managed to define it back and resolved all errors. However, the results are still the same.

The search is in Picture 2 and not working like it should in Picture 1. 

 

There must be defines/classes in the Liberation files somewhere that breaks or changes the script defines/classes?

All script files work entirely on their own in a sample mission, but when I bring it into the Liberation files, this happens

 

EDIT 3:

baa2e26bef09bdf19299b4c62990a95c.png

There are two different search functions defined(?) at the same time showing in scroll wheel options.

The search that is bound to Space is not supposed to be there, the other is the loot script

Searching with Space option is the one that occur in Picture 2.

Edited by saddle

Share this post


Link to post
Share on other sites

 

10 hours ago, saddle said:

Thanks 7erra,

it is all a little complex for me but i will try and work it out on my own! ÔĽŅ

you have the following situation:

class RscText
{
	// bla
};
// ...
class DialogName
{
	...
	class Controls
	{
		class MyText: RscText
		{
			//...
		};
	};
};

Where RscText is your base class. This works. Now you rename class RscText to class RscText1, so MyText does not know from where to inherit. the #include preprocessor just tells arma to move the content of the file to this line.

Check out this page: https://community.bistudio.com/wiki/GUI_Tutorial

 

11 hours ago, saddle said:

There are two different search functions defined(?) at the same time showing in scroll wheel options.

The search that is bound to Space is not supposed to be there, the other is the loot script

Searching with Space option is the one that occur in Picture 2.ÔĽŅ

You'll have to find the script that adds the second action. try to search for BIS_fnc_holdActionAdd.

Share this post


Link to post
Share on other sites
6 hours ago, 7erra said:

 

you have the following situation:


class RscText
{
	// bla
};
// ...
class DialogName
{
	...
	class Controls
	{
		class MyText: RscText
		{
			//...
		};
	};
};

Where RscText is your base class. This works. Now you rename class RscText to class RscText1, so MyText does not know from where to inherit. the #include preprocessor just tells arma to move the content of the file to this line.

Check out this page: https://community.bistudio.com/wiki/GUI_Tutorial

 

You'll have to find the script that adds the second action. try to search for BIS_fnc_holdActionAddÔĽŅ.

 

I understand how the Inheriting works now, thanks for giving that sample to me.

Done a lot of mission making, customizing and troubleshooting in arma .. but I think this is the first time I am going through classes and defines.

Usually scripts does not have them.

 

I have found no results for BIS_fnc_holdActionAdd

so I will keep looking see if I can find the search action

 

EDIT 2:

Been trying several programs now that can find text inside many files, and I have searched for other results such as Search or Space but with no results.

Been spending more time trying to redefine the classes but no results, it becomes the exact same result every single time. Picture 2.

You'll have to find the script that adds the second action.

Been manually going through lots of files for over an hour now, not managed to find any hint at all yet

 

Two files has been the most prominent so far:

(already tried renaming the classes in them to remove errors, but it does not solve the issue)

 

GREUH_interface.hpp

Spoiler

// 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_SHORTCUT_BUTTON  16 // Arma 2 - textured button

#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_LIST_N_BOX       102 // Arma 2 - N columns list box


// 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 CT_MAP_MAIN 101
#define ST_PICTURE 48

#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

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

#define FONTM             "puristaMedium"

#ifdef COLOR_BROWN
#undef COLOR_BROWN
#endif
#ifdef COLOR_GREEN
#undef COLOR_GREEN
#endif
#ifdef COLOR_GREEN_ALPHA
#undef COLOR_GREEN_ALPHA
#endif
#ifdef COLOR_GREEN_NOALPHA
#undef COLOR_GREEN_NOALPHA
#endif
#ifdef COLOR_LIGHTGREEN
#undef COLOR_LIGHTGREEN
#endif
#ifdef COLOR_LIGHTGRAY
#undef COLOR_LIGHTGRAY
#endif
#ifdef COLOR_LIGHTGRAY_ALPHA
#undef COLOR_LIGHTGRAY_ALPHA
#endif
#ifdef COLOR_WHITE
#undef COLOR_WHITE
#endif
#ifdef COLOR_NOALPHA
#undef COLOR_NOALPHA
#endif
#ifdef COLOR_BLUFOR
#undef COLOR_BLUFOR
#endif
#ifdef COLOR_OPFOR
#undef COLOR_OPFOR
#endif
#ifdef COLOR_GUER
#undef COLOR_GUER
#endif
#ifdef COLOR_WHITE_TRANSP
#undef COLOR_WHITE_TRANSP
#endif
#ifdef COLOR_BLACK
#undef COLOR_BLACK
#endif
#ifdef COLOR_BLACK_ALPHA
#undef COLOR_BLACK_ALPHA
#endif
#ifdef COLOR_BLUFOR_NOALPHA
#undef COLOR_BLUFOR_NOALPHA
#endif
#ifdef COLOR_OPFOR_NOALPHA
#undef COLOR_OPFOR_NOALPHA
#endif
#ifdef COLOR_RED_DISABLED
#undef COLOR_RED_DISABLED
#endif
#ifdef COLOR_BLEEDOUT
#undef COLOR_BLEEDOUT
#endif
#ifdef COLOR_BRIGHTGREEN
#undef COLOR_BRIGHTGREEN
#endif

#define COLOR_BROWN { 0.18, 0.14, 0.11, 0.75 }
#define COLOR_GREEN { 0.2, 0.23, 0.18, 0.75 }
#define COLOR_LIGHTGREEN { 0.4, 0.55, 0.36, 0.4 }
#define COLOR_LIGHTGRAY { 0.6, 0.6, 0.6, 0.8 }
#define COLOR_WHITE { 1, 1, 1, 1 }
#define COLOR_NOALPHA { 0, 0, 0, 0 }
#define COLOR_BLUFOR { 0, 0.3, 1, 1 }
#define COLOR_OPFOR { 1, 0, 0, 1 }
#define COLOR_GUER { 0.5, 0.5, 0.5, 0.5 }
#define COLOR_WHITE_TRANSP { 1, 1, 1, 0.5 }
#define COLOR_BLACK { 0, 0, 0, 1 }
#define COLOR_BLACK_ALPHA { 0, 0, 0, 0.85 }
#define COLOR_BLUFOR_NOALPHA { 0, 0, 1, 1 }
#define COLOR_OPFOR_NOALPHA { 1, 0, 0, 1 }
#define COLOR_RED_DISABLED { 1,0,0,0.4 }
#define COLOR_BLEEDOUT { 0.66,0,0,0.8 }
#define COLOR_BRIGHTGREEN { 0.2,1,0.2,1 }

#define BORDERSIZE      0.01

#define BASE_Y             0.075

class RscListBox {
    idc = -1;
    type = 5;
    style = 0 + 0x10;
    font = FONTM;
    sizeEx = 0.018 * safezoneH;
    rowHeight = 0.02 * safezoneH;
    color[] = COLOR_LIGHTGRAY;
    colorText[] = COLOR_WHITE;
    colorScrollbar[] = COLOR_BRIGHTGREEN;
    colorSelect[] = COLOR_BRIGHTGREEN;
    colorSelect2[] = COLOR_BRIGHTGREEN;
    colorSelectBackground[] = COLOR_LIGHTGRAY;
    colorSelectBackground2[] = COLOR_LIGHTGRAY;
    colorActive[] = COLOR_BRIGHTGREEN;
    colorDisabled[] = COLOR_GREEN;
    columns[] = {0.1, 0.7, 0.1, 0.1};
    period = 0;
    colorBackground[] = COLOR_GREEN;
    maxHistoryDelay = 1.0;
    autoScrollSpeed = -1;
    autoScrollDelay = 5;
    autoScrollRewind = 0;
    soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    shadow = 2;

    class ListScrollBar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };
};

class RscCombo {
    idc = -1;
    type = 4;
    style = 1;
    x = 0;
    y = 0;
    w = 0.3;
    h = 0.035;
    colorSelect[] = COLOR_BRIGHTGREEN;
    colorText[] = COLOR_WHITE;
    colorBackground[] = COLOR_GREEN;
    colorSelectBackground[] = COLOR_LIGHTGRAY;
    colorScrollbar[] = COLOR_BRIGHTGREEN;
    arrowEmpty ="\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
    arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
    wholeHeight = 0.45;
    color[] = COLOR_LIGHTGRAY;
    colorActive[] = COLOR_BRIGHTGREEN;
    colorDisabled[] = COLOR_GREEN;
    font = FONTM;
    sizeEx = 0.031;
    soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    soundExpand[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    soundCollapse[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    maxHistoryDelay = 1.0;

    class ComboScrollBar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };
};

class GREUH_Menu {
    idd = 5565;
    movingEnable = false;
    controlsBackground[] = {};
    controls[] = {"GREUH_OuterBG", "BgPicture", "GREUH_OuterBG_F","GREUH_InnerBG", "GREUH_InnerBG_F","GREUH_Header","GREUH_SquadLabel",
    "GREUH_SquadZone","GREUH_PlatoonLabel","GREUH_ViewDistance","GREUH_WorldQuality",
    "GREUH_Close","GREUH_ButtonWorldVeryLow","GREUH_ButtonWorldLow","GREUH_ButtonWorldNormal","GREUH_ButtonWorldHigh",
    "GREUH_Slider","GREUH_SliderVD","GREUH_LabelMarkers","GREUH_TeammatesYes","GREUH_TeammatesNo","GREUH_LabelPlatoon",
    "GREUH_PlatoonYes","GREUH_PlatoonNo","GREUH_LabelPlatoonActive","GREUH_LabelMarkersActive","GREUH_SquadList",
    "GREUH_ButtonJoin","GREUH_ButtonNew","GREUH_ButtonRename","GREUH_PlatoonZone","GREUH_ViewZone","GREUH_WorldZone",
    "GREUH_MarkersZone","GREUH_Squad_OuterBG","GREUH_Squad_InnerBG","GREUH_Squad_OuterBG_F","GREUH_Squad_InnerBG_F",
    "GREUH_ButtonName_Rename","GREUH_ButtonName_Abort","GREUH_Squad_TextField","GREUH_LabelVD","GREUH_ButtonLeader",
    "GREUH_SliderVeh","GREUH_LabelVDVeh","GREUH_SliderVDVeh","GREUH_SliderObj","GREUH_LabelVDObj","GREUH_SliderVDObj",
    "GREUH_Leader_OuterBG", "GREUH_Leader_InnerBG", "GREUH_Leader_OuterBG_F", "GREUH_Leader_InnerBG_F",
    "GREUH_ButtonLeader_Choose", "GREUH_ButtonLeader_Abort", "GREUH_Squad_Combo","GREUH_ButtonLock",
    "GREUH_LabelNametags","GREUH_NametagsActive","GREUH_NametagsYes","GREUH_NametagsNo",
    "GREUH_FPSLabel","GREUH_FPSEdit","GREUH_Keybind"};

    objects[] = {};

    class BgPicture {
        idc = -1;
        type = CT_STATIC;
        style = ST_PICTURE;
        colorText[] = {0.5, 0.4, 0.25, 0.6};
        colorBackground[] = {0, 0, 0, 1};
        font = FONTM;
        sizeEx = 0.023;
        moving = false;
        text = "res\camo03.jpg";
        x = (0.15 * safezoneW + safezoneX) - ( 2 * BORDERSIZE);
        y = ((BASE_Y + 0.02) * safezoneH) + safezoneY - (3 * BORDERSIZE);
        w = (0.2 * safezoneW) + (4 * BORDERSIZE);
        h = (0.79 * safezoneH) + (6 * BORDERSIZE);
    };

    class GREUH_OuterBG {
        idc = -1;
        type =  CT_STATIC;
        style = ST_SINGLE;
        colorText[] = COLOR_BLACK;
        colorBackground[] = COLOR_BROWN;
        font = FONTM;
        sizeEx = 0.023;
        x = (0.15 * safezoneW + safezoneX) - ( 2 * BORDERSIZE);
        y = ((BASE_Y + 0.02) * safezoneH) + safezoneY - (3 * BORDERSIZE);
        w = (0.2 * safezoneW) + (4 * BORDERSIZE);
        h = (0.79 * safezoneH) + (6 * BORDERSIZE);
        text = "";
    };
    class GREUH_OuterBG_F : GREUH_OuterBG {
        style = ST_FRAME;
    };
    class GREUH_InnerBG : GREUH_OuterBG {
        colorBackground[] = COLOR_GREEN;
        x = (0.15 * safezoneW + safezoneX)  - ( BORDERSIZE);
        y = ((BASE_Y + 0.07) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
        w = 0.2 * safezoneW +  (2 * BORDERSIZE);
        h = 0.74 * safezoneH  + (3 * BORDERSIZE);
    };
    class GREUH_InnerBG_F : GREUH_InnerBG {
        style = ST_FRAME;
    };
    class GREUH_StdText {
        idc = -1;
        type =  CT_STATIC;
        style = ST_LEFT;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_NOALPHA;
        font = FONTM;
        sizeEx = 0.02 * safezoneH;
        shadow = 2;
    };
    class GREUH_RscStructuredText{
        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 GREUH_StdHeader : GREUH_StdText {
        style = ST_CENTER;
        sizeEx = 0.03 * safezoneH;
    };
    class GREUH_Header : GREUH_StdHeader {
        x = 0.15 * safezoneW + safezoneX - (BORDERSIZE);
        y = ((BASE_Y + 0.01) * safezoneH) + safezoneY;
        w = 0.2 * safezoneW + ( 2 * BORDERSIZE);
        h = 0.05 * safezoneH - (BORDERSIZE);
        text = "Extended Options";
        colorBackground[] = COLOR_LIGHTGRAY;
    };
    class GREUH_ButtonGeneric {
        idc = -1;
        type = CT_BUTTON;
        style = ST_CENTER;
        default = false;
        font = FONTM;
        sizeEx = 0.018 * safezoneH;
        colorText[] = { 0, 0, 0, 1 };
        colorFocused[] = { 1, 1, 1, 1 };
        colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
        colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
        colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
        colorBackgroundActive[] = { 1, 1, 1, 1 };
        offsetX = 0.003;
        offsetY = 0.003;
        offsetPressedX = 0.002;
        offsetPressedY = 0.002;
        colorShadow[] = { 0, 0, 0, 0.5 };
        colorBorder[] = { 0, 0, 0, 1 };
        borderSize = 0;
        soundEnter[] = { "", 0, 1 };          // no sound
        soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
        soundClick[] = { "", 0, 1 };          // no sound
        soundEscape[] = { "", 0, 1 };          // no sound
        x = 0.15 * safezoneW + safezoneX;
        w = 0.2 * safezoneW; h = 0.03 * safezoneH;
        text = "";
        action = "";
        shadow = 1;
    };
    class GREUH_Label : GREUH_StdHeader {
        x = 0.15 * safezoneW + safezoneX;
        w = 0.2 * safezoneW;
        h = 0.03 * safezoneH;
        sizeEx = 0.02 * safezoneH;
        colorBackground[] = COLOR_LIGHTGREEN;
    };

    class GREUH_DefaultZone : GREUH_StdText {
        style = ST_CENTER;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.2 * safezoneW;
        colorText[] = COLOR_LIGHTGRAY;
        colorBackground[] = COLOR_RED_DISABLED;
        text = "- disabled -";
    };
    class GREUH_RegularLabel : GREUH_Label {
        colorBackground[] = COLOR_NOALPHA;
        style = ST_LEFT;
    };
    class GREUH_Close : GREUH_ButtonGeneric {
        idc = 6677;
        x = 0.335 * safezoneW + safezoneX;
        w = 0.015 * safezoneW;  h = 0.02 * safezoneH;
        y = ((BASE_Y + 0.015) * safezoneH) + safezoneY;
        text = "X";
        action = "closeDialog 0";
    };
    class GREUH_SquadZone : GREUH_DefaultZone {
        idc = 501;
        y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
        h = (0.2 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_SquadLabel : GREUH_Label {
        idc = 510;
        y = ((BASE_Y + 0.07) * safezoneH) + safezoneY;
        text = "Squad Management";
    };
    class GREUH_SquadList : RscListBox {
        idc = 515;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.15 * safezoneW;
        y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
        h = (0.2 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_ButtonSquad : GREUH_ButtonGeneric {
        x = 0.3 * safezoneW + safezoneX + BORDERSIZE;
        w = ((0.2 * safezoneW) / 4) - BORDERSIZE;
    };
    class GREUH_ButtonJoin : GREUH_ButtonSquad {
        idc = 511;
        text = "Join";
        action = "squadaction = 'join';";
        y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonNew : GREUH_ButtonSquad {
        idc = 512;
        text = "Leave";
        action = "squadaction = 'leave';";
        y = ((BASE_Y + 0.15) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonRename : GREUH_ButtonSquad {
        idc = 513;
        text = "Rename";
        action = "squadaction = 'rename';";
        y = ((BASE_Y + 0.19) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonLeader : GREUH_ButtonSquad {
        idc = 514;
        text = "Leader";
        action = "squadaction = 'leader';";
        y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonLock : GREUH_ButtonSquad {
        idc = 516;
        text = "Lock";
        action = "squadaction = 'lock';";
        y = ((BASE_Y + 0.27) * safezoneH) + safezoneY;
    };
    class GREUH_Squad_OuterBG : GREUH_OuterBG {
        idc = 521;
        style = ST_SINGLE;
        x = (0.37 * safezoneW + safezoneX) - (BORDERSIZE);
        y = ((BASE_Y + 0.18) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
        w = 0.2 * safezoneW +  (2 * BORDERSIZE);
        h = 0.05 * safezoneH  + (3 * BORDERSIZE);
    };
    class GREUH_Squad_InnerBG : GREUH_OuterBG {
        idc = 522;
        colorBackground[] = COLOR_GREEN;
        x = (0.37 * safezoneW + safezoneX);
        y = ((BASE_Y + 0.18) * safezoneH) + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.05 * safezoneH;
    };
    class GREUH_Squad_OuterBG_F : GREUH_Squad_OuterBG {
        idc = 523;
        style = ST_FRAME;
    };
    class GREUH_Squad_InnerBG_F : GREUH_Squad_InnerBG {
        idc = 524;
        style = ST_FRAME;
    };
    class GREUH_ButtonName : GREUH_ButtonGeneric {
        w = ((0.2 * safezoneW) / 5) - BORDERSIZE;
        y = ((BASE_Y + 0.19) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonName_Rename : GREUH_ButtonName {
        idc = 525;
        x = 0.4875 * safezoneW + safezoneX;
        text = "Rename";
        action = "squadname = ctrlText 527;";
    };
    class GREUH_ButtonName_Abort : GREUH_ButtonName {
        idc = 526;
        x = (0.4875 * safezoneW + safezoneX) + ((0.2 * safezoneW) / 5);
        text = "Cancel";
        action = "squadaction = '';";
    };
    class GREUH_Squad_TextField : GREUH_ButtonName {
        idc = 527;
        type = CT_EDIT;
        style = ST_LEFT;
        x = (0.37 * safezoneW + safezoneX) + BORDERSIZE;
        w = 0.11 * safezoneW;
        text = "";
        action = "";
        colorText[] = COLOR_WHITE;
        colorSelection[] = COLOR_BRIGHTGREEN;
        autocomplete = "";
    };

    class GREUH_Leader_OuterBG : GREUH_OuterBG {
        idc = 561;
        style = ST_SINGLE;
        x = (0.37 * safezoneW + safezoneX) - (BORDERSIZE);
        y = ((BASE_Y + 0.22) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
        w = 0.2 * safezoneW +  (2 * BORDERSIZE);
        h = 0.05 * safezoneH  + (3 * BORDERSIZE);
    };
    class GREUH_Leader_InnerBG : GREUH_OuterBG {
        idc = 562;
        colorBackground[] = COLOR_GREEN;
        x = (0.37 * safezoneW + safezoneX);
        y = ((BASE_Y + 0.22) * safezoneH) + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.05 * safezoneH;
    };
    class GREUH_Leader_OuterBG_F : GREUH_Leader_OuterBG {
        idc = 563;
        style = ST_FRAME;
    };
    class GREUH_Leader_InnerBG_F : GREUH_Leader_InnerBG {
        idc = 564;
        style = ST_FRAME;
    };
    class GREUH_ButtonLeaderGen : GREUH_ButtonGeneric {
        w = ((0.2 * safezoneW) / 5) - BORDERSIZE;
        y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonLeader_Choose : GREUH_ButtonLeaderGen {
        idc = 565;
        x = 0.4875 * safezoneW + safezoneX;
        text = "Choose";
        action = "choose_squadleader = lbCurSel 567;";
    };
    class GREUH_ButtonLeader_Abort : GREUH_ButtonLeaderGen {
        idc = 566;
        x = (0.4875 * safezoneW + safezoneX) + ((0.2 * safezoneW) / 5);
        text = "Cancel";
        action = "squadaction = ''";
    };
    class GREUH_Squad_Combo : RscCombo {
        idc = 567;
        x = (0.37 * safezoneW + safezoneX) + BORDERSIZE;
        w = 0.11 * safezoneW;
        y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
    };
    class GREUH_PlatoonZone : GREUH_DefaultZone {
        idc = 601;
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_PlatoonLabel : GREUH_Label {
        idc = 610;
        y = ((BASE_Y + 0.31) * safezoneH) + safezoneY;
        text = "Platoon & Squad Awareness";
    };
    class GREUH_LabelPlatoon : GREUH_RegularLabel {
        idc = 611;
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        text = "Show platoon overlay : ";
    };
    class GREUH_LabelPlatoonActive : GREUH_RegularLabel {
        idc = 612;
        style = ST_RIGHT;
        colorText[] = COLOR_BRIGHTGREEN;
        text = "active";
        x = 0.2 * safezoneW + safezoneX;
        w = 0.1 * safezoneW;
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
    };
    class GREUH_PlatoonYes : GREUH_ButtonGeneric {
        idc = 613;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        x = 0.305 * safezoneW + safezoneX;
        text = "Yes";
        action = "show_platoon = true";
    };
    class GREUH_PlatoonNo : GREUH_ButtonGeneric {
        idc = 614;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
        x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
        text = "No";
        action = "show_platoon = false";
    };
    class GREUH_ViewZone : GREUH_DefaultZone {
        idc = 701;
        y = ((BASE_Y + 0.51) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_ViewDistance : GREUH_Label {
        idc = 711;
        y = ((BASE_Y + 0.47) * safezoneH) + safezoneY;
        text = "Adjust View Distance";
    };
    class GREUH_Slider {
        idc = 712;
        type = CT_SLIDER;
        style = SL_HORZ;
        x = 0.19 * safezoneW + safezoneX;
        w = 0.12 * safezoneW;
        y = ((BASE_Y + 0.515) * safezoneH) + safezoneY;
        h = 0.025 * safezoneH;
        text = "View Distance";
        color[] = { 1, 1, 1, 1 };
        coloractive[] = { 1, 1, 1, 1 };
        onSliderPosChanged = "desiredviewdistance_inf = (sliderPosition 712)";
    };
    class GREUH_SliderVD : GREUH_Label {
        idc = 713;
        style = ST_LEFT;
        x = 0.31 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.505) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "";
    };
    class GREUH_LabelVD : GREUH_Label {
        idc = 714;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.505) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "Infantry";
    };
    class GREUH_SliderVeh {
        idc = 722;
        type = CT_SLIDER;
        style = SL_HORZ;
        x = 0.19 * safezoneW + safezoneX;
        w = 0.12 * safezoneW;
        y = ((BASE_Y + 0.545) * safezoneH) + safezoneY;
        h = 0.025 * safezoneH;
        text = "View Distance";
        color[] = { 1, 1, 1, 1 };
        coloractive[] = { 1, 1, 1, 1 };
        onSliderPosChanged = "desiredviewdistance_veh = (sliderPosition 722)";
    };
    class GREUH_SliderVDVeh : GREUH_Label {
        idc = 723;
        style = ST_LEFT;
        x = 0.31 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.535) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "";
    };
    class GREUH_LabelVDVeh : GREUH_Label {
        idc = 724;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.535) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "Vehicles";
    };
    class GREUH_SliderObj {
        idc = 732;
        type = CT_SLIDER;
        style = SL_HORZ;
        x = 0.19 * safezoneW + safezoneX;
        w = 0.12 * safezoneW;
        y = ((BASE_Y + 0.575) * safezoneH) + safezoneY;
        h = 0.025 * safezoneH;
        text = "View Distance";
        color[] = { 1, 1, 1, 1 };
        coloractive[] = { 1, 1, 1, 1 };
        onSliderPosChanged = "desiredviewdistance_obj = (sliderPosition 732)";
    };
    class GREUH_SliderVDObj : GREUH_Label {
        idc = 733;
        style = ST_LEFT;
        x = 0.31 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.565) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "";
    };
    class GREUH_LabelVDObj : GREUH_Label {
        idc = 734;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.05 * safezoneW;
        y = ((BASE_Y + 0.565) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        text = "Objects";
    };
    class GREUH_FPSLabel : GREUH_Label {
        idc = 724;
        style = ST_LEFT;
        x = 0.15 * safezoneW + safezoneX;
        w = 0.3 * safezoneW;
        y = ((BASE_Y + 0.61) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = COLOR_NOALPHA;
        sizeEx = 0.018 * safezoneH;
        text = "Adjust view distance to keep FPS above";
    };
    class GREUH_FPSEdit {
        idc = 960;
        type = CT_EDIT;
        style = ST_LEFT + ST_FRAME;
        x = 0.317 * safezoneW + safezoneX;
        w = 0.03 * safezoneW;
        y = ((BASE_Y + 0.61) * safezoneH) + safezoneY;
        h = 0.03 * safezoneH;
        colorBackground[] = {0,0,0,0};
        colorText[] = {1,1,1,1};
        colorSelection[] = {1,1,1,0.25};
        colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
        colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
        font = FONTM;
        sizeEx = 0.02 * safezoneH;
        autocomplete = "";
        text = "";
        shadow = 0;
    };
    class GREUH_WorldZone : GREUH_DefaultZone {
        idc = 801;
        y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_WorldQuality : GREUH_Label {
        idc = 810;
        y = ((BASE_Y + 0.66) * safezoneH) + safezoneY;
        text = "Adjust Terrain Details";
    };
    class GREUH_ButtonWorld : GREUH_ButtonGeneric {
        w = ((0.2 * safezoneW) / 4) - BORDERSIZE;
        y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
    };
    class GREUH_ButtonWorldVeryLow : GREUH_ButtonWorld {
        idc = 812;
        x = 0.15 * safezoneW + safezoneX;
        text = "Low";
        action = "setTerrainGrid 50; hint 'Terrain details set to Low'";
    };
    class GREUH_ButtonWorldLow : GREUH_ButtonWorld {
        idc = 813;
        x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 1);
        text = "Normal";
        action = "setTerrainGrid 25; hint 'Terrain details set to Normal'";
    };
    class GREUH_ButtonWorldNormal : GREUH_ButtonWorld {
        idc = 814;
        x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 2);
        text = "High";
        action = "setTerrainGrid 12.5; hint 'Terrain details set to High'";
    };
    class GREUH_ButtonWorldHigh : GREUH_ButtonWorld {
        idc = 815;
        x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 3);
        text = "Ultra";
        action = "setTerrainGrid 3.125; hint 'Terrain details set to Ultra'";
    };
    class GREUH_MarkersZone : GREUH_DefaultZone {
        idc = 901;
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        h = (0.04 * safezoneH) - (2 * BORDERSIZE);
    };
    class GREUH_LabelNametags : GREUH_RegularLabel {
        idc = 961;
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
        text = "Show player nametags : ";
    };
    class GREUH_NametagsActive : GREUH_RegularLabel {
        idc = 962;
        style = ST_RIGHT;
        colorText[] = COLOR_BRIGHTGREEN;
        text = "active";
        x = 0.2 * safezoneW + safezoneX;
        w = 0.1 * safezoneW;
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
    };
    class GREUH_NametagsYes : GREUH_ButtonGeneric {
        idc = 963;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
        x = 0.305 * safezoneW + safezoneX;
        text = "Yes";
        action = "show_nametags = true";
    };
    class GREUH_NametagsNo : GREUH_ButtonGeneric {
        idc = 964;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
        x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
        text = "No";
        action = "show_nametags = false";
    };
    class GREUH_LabelMarkers : GREUH_RegularLabel {
        idc = 911;
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        text = "Show teammates on map : ";
    };
    class GREUH_LabelMarkersActive : GREUH_RegularLabel {
        idc = 912;
        style = ST_RIGHT;
        colorText[] = COLOR_BRIGHTGREEN;
        text = "active";
        x = 0.2 * safezoneW + safezoneX;
        w = 0.1 * safezoneW;
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
    };
    class GREUH_TeammatesYes : GREUH_ButtonGeneric {
        idc = 913;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        x = 0.305 * safezoneW + safezoneX;
        text = "Yes";
        action = "show_teammates = true";
    };
    class GREUH_TeammatesNo : GREUH_ButtonGeneric {
        idc = 914;
        w = ((0.08 * safezoneW) / 4);
        y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
        x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
        text = "No";
        action = "show_teammates = false";
    };

  class GREUH_Keybind: GREUH_RscStructuredText {
    idc = 1100;
    text = "Keybinding : <br /><t size='0.7'>           ""CTRL+R"" : Repack Ammo<br />           ""HOME""    : Earplug on/off<br /></t>";
    x = 0.149896 * safezoneW + safezoneX;
    y = 0.80997 * safezoneH + safezoneY;
    w = 0.157778 * safezoneW;
    h = 0.077 * safezoneH;
  };
};

class GreuhButton {
    idc = -1;
    type = CT_BUTTON;
    style = ST_CENTER;
    default = false;
    font = FONTM;
    sizeEx = 0.018 * safezoneH;
    colorText[] = { 0, 0, 0, 1 };
    colorFocused[] = { 1, 1, 1, 1 };
    colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
    colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
    colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
    colorBackgroundActive[] = { 1, 1, 1, 1 };
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    colorShadow[] = { 0, 0, 0, 0.5 };
    colorBorder[] = { 0, 0, 0, 1 };
    borderSize = 0;
    soundEnter[] = { "", 0, 1 };          // no sound
    soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
    soundClick[] = { "", 0, 1 };          // no sound
    soundEscape[] = { "", 0, 1 };          // no sound
    x = 0.45 * safezoneW + safezoneX;
    y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
    w = 0.1 * safezoneW;
    h = 0.04 * safezoneH;
    text = "";
    action = "";
    shadow = 1;
};

class GREUH_respawn {
    idd = 5566;
    movingEnable = false;
    controlsBackground[] = {"GREUH_BleedoutBar_BG"};
    controls[] = {"GREUH_BleedoutBar","GREUH_BleedoutBar_F","GREUH_Respawn","GREUH_RecallMedic" ,"GREUH_ReviveLabel","GREUH_WoundedLabel","GREUH_Tips"};
    objects[] = {};
    class GREUH_Respawn : GreuhButton {
        idc = 677;
        x = 0.45 * safezoneW + safezoneX;
        y = 0.75 * safezoneH + safezoneY;
        w = 0.1 * safezoneW;
        h = 0.04 * safezoneH;
        text = "Respawn";
        action = "player spawn PAR_fn_death";
        colorDisabled[] = { 1, 1, 1, 1 };
    };

    class GREUH_RecallMedic : GreuhButton {
        idc = 679;
        x = 0.45 * safezoneW + safezoneX;
        y = 0.80 * safezoneH + safezoneY;
        w = 0.1 * safezoneW;
        h = 0.04 * safezoneH;
        text = "Recall Medic";
        action = "[] spawn PAR_fn_medicRecall";
        colorDisabled[] = { 1, 1, 1, 1 };
    };

    class GREUH_RscStructuredText{
        type = 13;
        idc = -1;
        style = 0;
        colorText[] = {1,1,1,1};
        class Attributes
        {
            font = "PuristaMedium";
            color = "#ffffff";
            align = "center";
            shadow = 2;
        };
        x = 0;
        y = 0;
        h = 0.035;
        w = 0.1;
        text = "";
        size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
        shadow = 2;
    };
    class GREUH_ReviveLabel {
        idc = 5567;
        type =  CT_STATIC;
        style = ST_CENTER;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_NOALPHA;
        font = FONTM;
        sizeEx = 0.02 * safezoneH;
        shadow = 1;
        x = 0.4 * safezoneW + safezoneX;
        y = 0.7 * safezoneH + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.025 * safezoneH;
        text = "";
    };
    class GREUH_WoundedLabel {
        idc = 4567;
        type =  CT_STATIC;
        style = ST_CENTER;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_NOALPHA;
        font = FONTM;
        sizeEx = 0.07 * safezoneH;
        shadow = 1;
        x = 0.3 * safezoneW + safezoneX;
        y = 0.25 * safezoneH + safezoneY;
        w = 0.4 * safezoneW;
        h = 0.07 * safezoneH;
        text = $STR_REVIVE_LABEL;
    };
    class GREUH_Tips: GREUH_RscStructuredText {
        idc = 678;
        text = "";
        x = 0.4 * safezoneW + safezoneX;
        y = 0.35 * safezoneH + safezoneY;
        w = 0.200 * safezoneW;
        h = 0.08 * safezoneH;
        sizeEx = -2 * GUI_GRID_H;
    };
    class GREUH_BleedoutBar {
        idc = 6699;
        type =  CT_STATIC;
        style = ST_SINGLE;
        colorText[] = COLOR_WHITE;
        colorBackground[] = COLOR_BLEEDOUT;
        font = FONTM;
        sizeEx = 0.023;
        x = 0.4 * safezoneW + safezoneX;
        y = 0.7 * safezoneH + safezoneY;
        w = 0.2 * safezoneW;
        h = 0.03 * safezoneH;
        text = "";
    };
    class GREUH_BleedoutBar_BG : GREUH_BleedoutBar {
        idc = -1;
        colorBackground[] = COLOR_BLACK_ALPHA;
        x = 0.4 * safezoneW + safezoneX - 0.005;
        y = 0.7 * safezoneH + safezoneY - 0.005;
        w = 0.2 * safezoneW + 0.01;
        h = 0.03 * safezoneH + 0.01;
    };
    class GREUH_BleedoutBar_F : GREUH_BleedoutBar {
        idc = 6698;
        colorText[] = COLOR_WHITE;
        style = ST_FRAME;
        x = 0.4 * safezoneW + safezoneX - 0.005;
        y = 0.7 * safezoneH + safezoneY - 0.005;
        w = 0.2 * safezoneW + 0.01;
        h = 0.03 * safezoneH + 0.01;
    };
};

 

standard_controls.hpp

Spoiler

class kndr_MapControl
{
    idc = 10023;
    type = CT_MAP_MAIN;
    style = ST_PICTURE;
    x = 0.05; y = 0.05;
    w = 0.90; h = 0.90;
    colorBackground[] = {0, 0, 0, 0};
    colorText[] = {0, 0, 0, 0};
    colorSea[] = {0.1, 0.3, 0.5, 0.25};
    colorForest[] = {0.10, 0.50, 0.10, 0.50};
    colorRocks[] = {0.50, 0.50, 0.50, 1};
    colorCountlines[] = {0.65, 0.45, 0.27, 0.50};
    colorMainCountlines[] = {0.65, 0.45, 0.27, 1.00};
    colorCountlinesWater[] = {0.00, 0.53, 1.00, 0.3};
    colorMainCountlinesWater[] = {0.00, 0.53, 1.00, 0.6};
    colorForestBorder[] = {0.40, 0.80, 0.00, 1.00};
    colorRocksBorder[] = {0.50, 0.50, 0.50, 1.00};
    colorPowerLines[] = {0.00, 0.00, 0.00, 1.00};
    colorNames[] = {0.00, 0.00, 0.00, 1.00};
    colorInactive[] = {1, 0.3, 0.5, 1};
    colorLevels[] = {0.00, 0.00, 0.00, 1.00};
    colorOutside[] = {0.1, 0.3, 0.5, 0.5};
    colorRailWay[] = {1, 0, 0.5, 1};
    colorTracks[] = {0.8, 0.6, 0.6, 1};
    colorTracksFill[] = {0.7, 0.5, 0.5, 1};
    colorRoads[] = {0.8, 0.8, 0.8, 1};
    colorRoadsFill[] = {0.7, 0.7, 0.7, 1};
    colorMainRoads[] = {1, 1, 1, 1};
    colorMainRoadsFill[] = {0.9, 0.9, 0.9, 1};
    colorGrid[] = {0, 0, 0, 0.5};
    colorGridMap[] = {0, 0, 0, 0.5};
    alphaFadeStartScale = 5;
    alphaFadeEndScale = 5;
    font = FONTM;
    sizeEx = 0.075;
    fontLabel = FONTM;
    sizeExLabel = 0.075;
    fontGrid = FONTM;
    sizeExGrid = 0.02;
    fontUnits = FONTM;
    sizeExUnits = 0.075;
    fontNames = FONTM;
    sizeExNames = 0.075;
    fontInfo = FONTM;
    sizeExInfo = 0.075;
    fontLevel = FONTM;
    sizeExLevel = 0.02;
    stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
    stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
    ptsPerSquareSea = 6;
    ptsPerSquareTxt = 8;
    ptsPerSquareCLn = 8;
    ptsPerSquareExp = 8;
    ptsPerSquareCost = 8;
    ptsPerSquareFor = "4.0f";
    ptsPerSquareForEdge = "10.0f";
    ptsPerSquareRoad = 2;
    ptsPerSquareObj = 10;
    maxSatelliteAlpha = 0.9;
    text = "";
    showCountourInterval=2;
    scaleDefault = 0.1;
    onMouseButtonClick = "";
    onMouseButtonDblClick = "";
    scaleMin = 0.05;
    scaleMax = 3;
    widthRailWay = 1;

    class ActiveMarker {
        color[] = {0.30, 0.10, 0.90, 1.00};
        size = 50;
    };
    class Bunker {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 14;
        importance = "1.5 * 14 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class Bush {
        icon = "";
        color[] = {0.55, 0.64, 0.43, 1.00};
        size = 14;
        importance = "0.2 * 14 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class BusStop {
        icon = "";
        color[] = {0.00, 0.00, 1.00, 1.00};
        size = 10;
        importance = "1 * 10 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class Command {
        icon = "#(argb,8,8,3)color(1,1,1,1)";
        color[] = {0.00, 0.00, 0.00, 1.00};
        size = 18;
        importance = 1.00;
        coefMin = 1.00;
        coefMax = 1.00;
    };
    class Cross {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 16;
        importance = "0.7 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class Chapel {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 16;
        importance = "1 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class Church {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class CustomMark {
        icon = "";
        color[] = {0.55, 0.64, 0.43, 1};
        size = 16;
        importance = 0.7 * 16 * 0.05;
        coefMin = 0.25;
        coefMax = 4;
    };
    class Fortress {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class Fuelstation {
        icon = "";
        color[] = {1.00, 0.35, 0.35, 1.00};
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.75;
        coefMax = 4.00;
    };
    class Fountain {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 12;
        importance = "1 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class Hospital {
        icon = "";
        color[] = {0.78, 0.00, 0.05, 1.00};
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.50;
        coefMax = 4;
    };
    class Lighthouse {
        icon = "";
        color[] = {0.78, 0.00, 0.05, 1.00};
        size = 20;
        importance = "3 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class Quay {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.50;
        coefMax = 4.00;
    };
    class Rock {
        icon = "";
        color[] = {0.55, 0.64, 0.43, 1};
        size = 12;
        importance = 0.5 * 12 * 0.05;
        coefMin = 0.25;
        coefMax = 4;
    };
    class Ruin {
        icon = "";
        color[] = {0.78, 0, 0.05, 1};
        size = 16;
        importance = 1.2 * 16 * 0.05;
        coefMin = 1;
        coefMax = 4;
    };
    class Stack {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class Tree {
        icon = "";
        color[] = {0.55, 0.64, 0.43, 1.00};
        size = 12;
        importance = "0.9 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class SmallTree {
        icon = "";
        color[] = {0.55, 0.64, 0.43, 1.00};
        size = 12;
        importance = "0.6 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4.00;
    };
    class Task {
        icon = "";
        color[] = {0.55, 0.64, 0.43, 1};
        size = 16;
        importance = 0.7 * 16 * 0.05;
        coefMin = 0.25;
        coefMax = 4;
        iconCreated = "#(argb,8,8,3)color(1,1,1,1)";
        iconCanceled = "#(argb,8,8,3)color(0,0,1,1)";
        iconDone = "#(argb,8,8,3)color(0,0,0,1)";
        iconFailed = "#(argb,8,8,3)color(1,0,0,1)";
        colorCreated[] = {1,1,1,1};
        colorCanceled[] = {1,1,1,1};
        colorDone[] = {1,1,1,1};
        colorFailed[] = {1,1,1,1};
    };
    class Tourism {
        icon = "";
        color[] = {0.78, 0.00, 0.05, 1.00};
        size = 16; importance = "1 * 16 * 0.05";
        coefMin = 0.70;
        coefMax = 4.00;
    };
    class ShipWreck {
        icon = "";
        color[] = {0.78, 0.00, 0.05, 1.00};
        size = 16; importance = "1 * 16 * 0.05";
        coefMin = 0.70;
        coefMax = 4.00;
    };
    class Transmitter {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class PowerSolar {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class PowerWave {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class LineMarker {
        icon = "";
        color[] = {0,0,0,0};
        size = 0;
        importance = "2 * 16 * 0.05";
        coefMin = 0;
        coefMax = 0;
        lineWidthThin = 0;
        lineWidthThick = 0;
        lineDistanceMin = 0;
        lineDistanceMax = 0;
        lineLengthMin = 0;
        linelengthMax = 0;
    };
    class PowerWind {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class ViewTower {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 16;
        importance = "2.5 * 16 * 0.05";
        coefMin = 0.50;
        coefMax = 4.00;
    };
    class Watertower {
        icon = "";
        color[] = {0.00, 0.35, 0.70, 1.00};
        size = 32;
        importance = "1.2 * 16 * 0.05";
        coefMin = 0.90;
        coefMax = 4.00;
    };
    class Waypoint {
        icon = "";
        color[] = {0.00, 0.00, 0.00, 1.00};
        size = 24;
        importance = 1.00;
        coefMin = 1.00;
        coefMax = 1.00;
    };
    class WaypointCompleted {
        icon = "";
        color[] = {0.00, 0.00, 0.00, 1.00};
        size = 24;
        importance = 1.00;
        coefMin = 1.00;
        coefMax = 1.00;
    };
};

class RscText
{
        type = CT_STATIC;
        idc = -1;
        style = ST_LEFT;
        colorBackground[] = {0, 0, 0, 0};
        colorText[] = {1, 1, 1, 1};
        font = "Bitstream";
        sizeEx = 0.04;
};


class StdText {
    idc = -1;
    type =  CT_STATIC;
    style = ST_LEFT;
    colorText[] = COLOR_WHITE;
    colorBackground[] = COLOR_NOALPHA;
    font = FONTM;
    sizeEx = 0.02 * safezoneH;
    shadow = 2;
    text = "";
};

class StdHeader : StdText {
      style = ST_CENTER;
    sizeEx = 0.03 * safezoneH;
    colorBackground[] = COLOR_LIGHTGRAY;
};

class StdButton {
      idc = -1;
    type = CT_BUTTON;
    style = ST_CENTER;
    default = false;
    font = FONTM;
    sizeEx = 0.018 * safezoneH;
    colorText[] = { 0, 0, 0, 1 };
    colorFocused[] = { 1, 1, 1, 1 };
    colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
    colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
    colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
    colorBackgroundActive[] = { 1, 1, 1, 1 };
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    colorShadow[] = { 0, 0, 0, 0.5 };
    colorBorder[] = { 0, 0, 0, 1 };
    borderSize = 0;
    soundEnter[] = { "", 0, 1 };  // no sound
    soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
    soundClick[] = { "", 0, 1 };  // no sound
    soundEscape[] = { "", 0, 1 };  // no sound
    x = 0.4 * safezoneW + safezoneX;
    w = 0.2 * safezoneW; h = 0.03 * safezoneH;
    text = "";
    action = "";
    shadow = 1;
};

class RscActiveText {
    idc = -1;
    type = CT_ACTIVETEXT;
    style = ST_PICTURE;
    x = 0.75; 
    y = 0.5;
    w = 0.2; 
    h = 0.035;
    font = PuristaMedium;
    sizeEx = 0.024;
    color[] = { 1, 1, 1, 1 };
    colorActive[] = { 1, 0.2, 0.2, 1 };
    colorDisabled[] = {1,1,1,1};
    soundEnter[] = { "", 0, 1 };   // no sound
    soundPush[] = { "", 0, 1 };
    soundClick[] = { "", 0, 1 };
    soundEscape[] = { "", 0, 1 };
    action = "";
    tooltip = "";
    text = "";
    //default = true;
};

class StdBG {
        idc = -1;
        type =  CT_STATIC;
        style = ST_SINGLE;
        colorText[] = COLOR_BLACK;
        font = FONTM;
        sizeEx = 0.023;
        text = "";
};

class StdListBox {
    idc = -1;
    type = 5;
    style = 0 + 0x10;
    font = FONTM;
    sizeEx = 0.018 * safezoneH;
    rowHeight = 0.018 * safezoneH * 1.25;
    color[] = COLOR_LIGHTGRAY;
    colorText[] = COLOR_WHITE;
    colorScrollbar[] = COLOR_BRIGHTGREEN;
    colorSelect[] = COLOR_BRIGHTGREEN;
    colorSelect2[] = COLOR_BRIGHTGREEN;
    colorSelectBackground[] = COLOR_LIGHTGRAY;
    colorSelectBackground2[] = COLOR_LIGHTGRAY;
    colorActive[] = COLOR_BRIGHTGREEN;
    colorDisabled[] = COLOR_GREEN;
    columns[] = {0.1, 0.9};
    period = 0.3;
    colorBackground[] = COLOR_GREEN;
    maxHistoryDelay = 1.0;
    autoScrollSpeed = -1;
    autoScrollDelay = 5;
    autoScrollRewind = 0;
    soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};

    class ListScrollBar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };
};

class StdListNBox : StdListBox {
    idc = -1;
    type = CT_LIST_N_BOX;
    drawSideArrows = 0;
    idcLeft = -10;
    idcRight = -11;
    period = 0.3;
    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)";

    class Scrollbar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };

    colorBackground[] = COLOR_GREEN;
};

class BgPicture {

    idc = -1;
    type = CT_STATIC;
    style = ST_PICTURE;
    colorText[] = {0.5, 0.4, 0.25, 0.6};
    colorBackground[] = {0, 0, 0, 1};
    font = FONTM;
    sizeEx = 0.023;
    moving = false;
    text = "res\camo03.jpg";
};

class StdCombo {
    idc = -1;
    type = 4;
    style = 1;
    x = 0;
    y = 0;
    w = 0.3;
    h = 0.035;
    colorSelect[] = COLOR_BRIGHTGREEN;
    colorText[] = COLOR_WHITE;
    colorBackground[] = COLOR_GREEN_NOALPHA;
    colorSelectBackground[] = COLOR_LIGHTGRAY;
    colorScrollbar[] = COLOR_BRIGHTGREEN;
    arrowEmpty ="\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
    arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
    wholeHeight = 0.45;
    color[] = COLOR_LIGHTGRAY;
    colorActive[] = COLOR_BRIGHTGREEN;
    colorDisabled[] = COLOR_GREEN;
    font = FONTM;
    sizeEx = 0.031;
    soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    soundExpand[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    soundCollapse[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
    maxHistoryDelay = 1.0;

    class ComboScrollBar {
        color[] = {1, 1, 1, 0.6};
        colorActive[] = {1, 1, 1, 1};
        colorDisabled[] = {1, 1, 1, 0.3};
        thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
        arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
        arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
        border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
    };
};

 

 

Edited by saddle

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

√ó