ClanDoolittle Group Management

Discussion in 'Script/Addon releases' started by delpi, Oct 6, 2015.

  1. delpi

    delpi Well-Known Member

    Joined:
    Feb 4, 2014
    Messages:
    336
    Likes Received:
    15
    This is a group management tool that should work across any platform. The only real unique thing is where you would put the custom "ExtraRc" With that in mind, these directions are for 1.8.6.1 in mind.

    I utilized ebay's work on DZGM to get started on this and I'm using his display as a basis for the interface window. His idea for the mod inspired me to do this. I only decided to release this since it looks like he retired from the effort. At any point he wants this taken down because it infringes, I will remove it instantly.

    Feel free to setup the main folders different if you want, but if you do, don't ask for help.

    Support Thread:
    http://opendayz.net/threads/clandoolittle-group-management.22025/

    ClientInstall

    Add this in your description.ext above the 'description.hpp' call
    Code:
    #include "ClanDoolittle\Setup\GUI\defines.hpp"
    Add this add to the bottom of your "description.ext"
    Code:
    #include "ClanDoolittle\Fixes\Configs\extra_rc.hpp"
    #include "ClanDoolittle\Subs\Groups\Setup\GUI\groupManagement.hpp"
    
    Create a custom 'description.hpp' and locate it at '/ClanDoolittle'
    Code:
    #include "ClanDoolittle\description.hpp"
    In the custom 'description.hpp' file right inside 'class RscTitles {' add
    Code:
    #include "Subs\Groups\Setup\GUI\icons.hpp"
    Contents for "extra_rc.hpp"
    Code:
    class ExtraRc {
        class ItemRadio {
            class ItemActions  {
                text = "Open GroupManagement";
                script = "execVM CD_Groups_Script_loadGroupManagement";
            };
        };
    };
    
    In your mission pbo create the file 'ClanDoolittle\Setup\GUI\defines.hpp' with the following contents:
    class W_RscText {
    idc = -1;
    type = 0;
    style = 0x00;
    colorBackground[] = { 1 , 1 , 1 , 0 };
    colorText[] = { 1 , 1 , 1 , 1 };
    font = "Zeppelin32";
    sizeEx = 0.025;
    h = 0.25;
    text = "";
    };

    class W_RscStructuredText
    {
    access = 0;
    type = 13;
    idc = -1;
    style = 0;
    colorText[] = {0.8784,0.8471,0.651,1};
    class Attributes
    {
    font = "Zeppelin32";
    color = "#e0d8a6";
    align = "center";
    shadow = 1;
    };
    x = 0;
    y = 0;
    h = 0.035;
    w = 0.1;
    text = "";
    size = 0.03921;
    shadow = 2;
    };

    class W_RscList
    {
    type = 5;
    style = 69;
    idc = -1;
    text = "";
    w = 0.275;
    h = 0.04;
    colorSelect[] = {1, 1, 1, 1};
    colorText[] = {1, 1, 1, 1};
    colorBackground[] = {1,1,1,1};
    colorSelectBackground[] = {0.40, 0.43, 0.28, 0.5};
    colorScrollbar[] = {0.2, 0.2, 0.2, 1};
    arrowEmpty = "\ca\ui\data\ui_arrow_combo_ca.paa";
    arrowFull = "\ca\ui\data\ui_arrow_combo_active_ca.paa";
    wholeHeight = 0.45;
    rowHeight = 0.04;
    color[] = {0.7, 0.7, 0.7, 1};
    colorActive[] = {0,0,0,1};
    colorDisabled[] = {0,0,0,0.3};
    font = "Zeppelin32";
    sizeEx = 0.023;
    soundSelect[] = {"",0.1,1};
    soundExpand[] = {"",0.1,1};
    soundCollapse[] = {"",0.1,1};
    maxHistoryDelay = 1;
    autoScrollSpeed = -1;
    autoScrollDelay = 5;
    autoScrollRewind = 0;
    class ScrollBar
    {
    color[] = {1, 1, 1, 1};
    colorActive[] = {1, 1, 1, 1};
    colorDisabled[] = {1, 1, 1, 1};
    thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa";
    arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa";
    arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa";
    border = "\ca\ui\data\ui_border_scroll_ca.paa";
    };
    };

    class W_RscPicture
    {
    idc = -1;
    type = 0;
    style = 48;
    font = "Zeppelin32";
    sizeEx = 0.023;
    colorBackground[] = {};
    colorText[] = {};
    x = 0.0; y = 0.2;
    w = 0.2; h = 0.2;
    text = "";
    };

    class W_RscButtonBase {
    idc = -1;
    type = 16;
    style = 0;
    w = 0.183825;
    h = 0.104575;
    color[] = {0.95, 0.95, 0.95, 1};
    color2[] = {1, 1, 1, 0.4};
    colorBackground[] = {1, 1, 1, 1};
    colorbackground2[] = {1, 1, 1, 0.4};
    colorDisabled[] = {1, 1, 1, 0.25};
    periodFocus = 1.2;
    periodOver = 0.8;
    class HitZone {
    left = 0.004;
    top = 0.029;
    right = 0.004;
    bottom = 0.029;
    };
    class ShortcutPos {
    left = 0.004;
    top = 0.026;
    w = 0.0392157;
    h = 0.0522876;
    };
    class TextPos {
    left = 0.05;
    top = 0.025;
    right = 0.005;
    bottom = 0.025;
    };
    animTextureNormal = "\ca\ui\data\ui_button_normal_ca.paa";
    animTextureDisabled = "\ca\ui\data\ui_button_disabled_ca.paa";
    animTextureOver = "\ca\ui\data\ui_button_over_ca.paa";
    animTextureFocused = "\ca\ui\data\ui_button_focus_ca.01.paa";
    animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa";
    animTextureDefault = "\ca\ui\data\ui_button_default_ca.paa";
    textureNoShortcut = "";
    period = 0.4;
    font = "Zeppelin32";
    size = 0.023;
    sizeEx = 0.023;
    text = "";

    soundEnter[] = {"\ca\ui\data\sound\mouse2", 0.09, 1};
    soundPush[] = {"\ca\ui\data\sound\new1", 0.09, 1};
    soundClick[] = {"\ca\ui\data\sound\mouse3", 0.07, 1};
    soundEscape[] = {"\ca\ui\data\sound\mouse1", 0.09, 1};

    action = "";

    class Attributes {
    font = "Zeppelin32";
    color = "#E5E5E5";
    align = "left";
    shadow = "1";
    };

    class AttributesImage {
    font = "Zeppelin32";
    color = "#E5E5E5";
    align = "left";
    };
    };

    class W_RscButton : W_RscButtonBase {

    w = 0.183825;
    h = 0.0522876;

    style = 2;

    color[] = {1, 1, 1, 1};
    color2[] = {1, 1, 1, 0.85};
    colorBackground[] = {1, 1, 1, 1};
    colorbackground2[] = {1, 1, 1, 0.85};
    colorDisabled[] = {1, 1, 1, 0.4};

    class HitZone {
    left = 0.002;
    top = 0.003;
    right = 0.002;
    bottom = 0.016;
    };

    class ShortcutPos {
    left = -0.006;
    top = -0.007;
    w = 0.0392157;
    h = 0.0522876;
    };

    class TextPos {
    left = 0.002;
    top = 0.014;
    right = 0.002;
    bottom = 0.005;
    };

    animTextureNormal = "\ca\ui\data\igui_button_normal_ca.paa";
    animTextureDisabled = "\ca\ui\data\igui_button_disabled_ca.paa";
    animTextureOver = "\ca\ui\data\igui_button_over_ca.paa";
    animTextureFocused = "\ca\ui\data\igui_button_focus_ca.paa";
    animTexturePressed = "\ca\ui\data\igui_button_down_ca.paa";
    animTextureDefault = "\ca\ui\data\igui_button_normal_ca.paa";
    animTextureNoShortcut = "\ca\ui\data\igui_button_normal_ca.paa";

    class Attributes {
    font = "Zeppelin32";
    color = "#E5E5E5";
    align = "center";
    shadow = "1";
    };
    };

    You will need to create a custom 'ui_selectSlot.sqf'' that contains the following code right before the section '_pos set [3,_height];'
    contents:
    _erc_cfgActions = (missionConfigFile >> "ExtraRc" >> _item);
    _erc_numActions = (count _erc_cfgActions);
    if (isClass _erc_cfgActions) then {
    for "_j" from 0 to (_erc_numActions - 1) do {
    _menu = _parent displayCtrl (1600 + _j + _numActions);
    _menu ctrlShow true;
    _config = (_erc_cfgActions select _j);
    _text = getText (_config >> "text");
    _script = getText (_config >> "script");
    _height = _height + (0.025 * safezoneH);
    uiNamespace setVariable ['uiControl', _control];
    _menu ctrlSetText _text;
    _menu ctrlSetEventHandler ["ButtonClick",_script];
    };
    };

    In your "init.sqf' file, add this near top to make the system more silent
    Code:
    enableRadio false;
    enableSentences false;
    

    In your "init.sqf' file, add inside the 'if (!isDedicated) then {' section
    Code:
    if (!isDedicated) then {
        // Setup Main Calls
        call compile preprocessFileLineNumbers "ClanDoolittle\Subs\Groups\init.sqf";
    

    Server Install


    inside your 'server_monitor.sqf' file after the time set section add the following
    Code:
    []execVM "\z\addons\dayz_server\ClanDoolittle\Subs\Groups\init.sqf";
    // Need to pause for my stuff to initialize
    sleep 1;
    
    inside your difficulty file for chosen difficulty make sure you have the following
    Code:
    AutoSpot=0;
        ClockIndicator=0;
    

    Adjustments
    Inside the clients 'Group/Setup/variables.sqf' file:
    CD_Groups_MapSelf = false; // true takes you off the group map
    CD_Groups_NameActive = true; // true shows names for group instead of just icons
    CD_Groups_ScaleIcon = true; // false causes icon to stop scaling
    CD_Groups_TittleInstead = false; // true uses text in middle of screen instead of hints


    Files
    Get the two files "Groups_Client.zip" and "Groups_Server.zip"
    https://sites.google.com/site/clandoolittle/group-management/group-management

    The client file contents goes in your mission pbo under a folder "ClanDoolittle\Subs\"
    The server file contents goes in your dayz_server pbo under a folder "ClanDoolittle\Subs\"
     
    Last edited: Feb 19, 2016

Share This Page