Jump to content

funkybacon

Member
  • Posts

    3
  • Joined

  • Last visited

Posts posted by funkybacon

  1. any help on my Rclick menu not showing problem? i know extra_rc.hpp has been over in many scripts but i 

    have had no luck with it, i'm not even sure if it's the culprit..  for some reason i can't get the menu showing up when trying

    to rightclick on an emerald.

     

    i liked my extra_rc.hpp and other before but as a recap i'll link the post here 

  2. make sure you have these:

    init.sqf

    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";				//Compile regular functions
    call compile preprocessFileLineNumbers "custom\compiles.sqf"; //Compile custom compiles
    

    custom\compiles.sqf

    fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";
    player_selectSlot =            compile preprocessFileLineNumbers "custom\ui_selectSlot.sqf";
    

    I didn't add these to a guide, as first post said - I'll be assuming you have set up custom variables, ui slot, self actions and extra_rc. There are too many addons using those and have guide how to create these, I didn't add them to keep it clean

     

    Thank you for replying Raymix :)

     

    this is my compiles.sqf

    layer_selectSlot = compile preprocessFileLineNumbers "custom\ui_selectSlot.sqf";
     
    fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";
     
    control_zombieAgent = compile preprocessFileLineNumbers "custom\control_zombieAgent.sqf";
     
    zombie_generate =             compile preprocessFileLineNumbers "custom\zombie_generate.sqf";
     
    local_zombieDamage = compile preprocessFileLineNumbers "custom\fn_damageHandlerZ.sqf";
     
    wild_spawnZombies = compile preprocessFileLineNumbers "custom\wild_spawnZombies.sqf"; //Server compile, used for loiter behaviour
     
    if (!isDedicated) then {
    player_build = compile preprocessFileLineNumbers "custom\snap_build\player_build.sqf";
    player_buildControls = compile preprocessFileLineNumbers "custom\snap_build\player_buildControls.sqf";
    snap_object = compile preprocessFileLineNumbers "custom\snap_build\snap_object.sqf";

    };

     

    as you can see i have fn_selfactions.sqf and ui_selectslot.sqf loading in it and it's being called  in the init.sqf described in the spoiler below

    /Load in compiled functions
    call compile preprocessFileLineNumbers "custom\variables.sqf";
    //Initilize the Variables (IMPORTANT: Must happen very early)
    progressLoadingScreen 0.1;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; //Initilize the publicVariable event handlers
    progressLoadingScreen 0.2;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical
    progressLoadingScreen 0.4;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions
    progressLoadingScreen 0.5;
    call compile preprocessFileLineNumbers "server_traders.sqf"; //Compile trader configs
    progressLoadingScreen 1.0;
     
    call compile preprocessFileLineNumbers "custom\compiles.sqf"; //Compile custom compiles

    as you can see i also have custom variables there, i am however a bit baffled as i'm not getting any rightclick menus, probably the culprit is 
    extra_rc.hpp, but as you pointed out you didn't setup a guide for it, so i'll check out if i can find a simple extra_rc.hpp guide see if i'm missing something
     
    thanks alot :)
     
    Funkybacon
  3. i ran into problems, i can't get right clickmenu open, possibly errors or something lacking in extra_rc.hpp, mind you i am really new

    to modding DayZ Epoch servers (been doing this for 3 days now) i did try to search and i managed to get past most problems except the 

    right clickmenu not showing.

     

    heres my extra_rc.hpp

    class ExtraRc {
    class ItemEmerald {
            class PicFrame {
                text = "Picture Frame";
                script = "createDialog ""WGT_INTERIOR1"";";
            };
    class Chairs {
                text = "Chair";
                script = "createDialog ""WGT_INTERIOR2"";";
            };
    class Beds {
                text = "Bed";
                script = "createDialog ""WGT_INTERIOR3"";";
            };
    class Bath {
                text = "Bathroom";
                script = "createDialog ""WGT_INTERIOR4"";";
            };
    class Shelf {
                text = "Shelf";
                script = "createDialog ""WGT_INTERIOR5"";";
            };
    class Misce {
                text = "Misc";
                script = "createDialog ""WGT_INTERIOR6"";";
            };
    class Tablz {
                text = "Table";
                script = "createDialog ""WGT_INTERIOR7"";";
            };
    class extr {
                text = "Exterior";
                script = "createDialog ""WGT_INTERIOR8"";";
            };
        };
    };

     
    my description.ext

    respawn = "BASE";
    respawndelay = 5;
    onLoadMission= "DayZ Epoch Chernarus";
    OnLoadIntro = "Welcome to DayZ Epoch Chernarus";
    OnLoadIntroTime = False;
    OnLoadMissionTime = False;
    disabledAI = true;
    disableChannels[]={0,2,6};
    enableItemsDropping = 0;
     
    briefing = 0;
    debriefing = 0;
     
    onPauseScript = "";
    loadScreen = "\z\addons\dayz_code\gui\dayz_logo_ca.paa";
     
    class Header
    {
     gameType = COOP;            //DM, Team, Coop, ...
     minPlayers = 1;             //min # of players the mission supports
     maxPlayers = 100;            //Max # of players the mission supports
    };
     
    aiKills = 1;
    diagRadio = 1;
    diagHit = 1;
     
    class RscText
    {
    type = 0;
    idc = -1;
    x = 0;
    y = 0;
    h = 0.037;
    w = 0.3;
    style = 0x100; 
    font = Zeppelin32;
    SizeEx = 0.03921;
    colorText[] = {1,1,1,1};
    colorBackground[] = {0, 0, 0, 0};
    linespacing = 1;
    };
    class RscPicture
    {
    access=0;
    type=0;
    idc=-1;
    style=48;
    colorBackground[]={0,0,0,0};
    colorText[]={1,1,1,1};
    font="TahomaB";
    sizeEx=0;
    lineSpacing=0;
    text="";
    };
    class RscLoadingText : RscText
    {
    style = 2;
    x = 0.323532;
    y = 0.666672;
    w = 0.352944;
    h = 0.039216;
    sizeEx = 0.03921;
    colorText[] = {0.543,0.5742,0.4102,1.0};
    };
    class RscProgress
    {
    x = 0.344;
    y = 0.619;
    w = 0.313726;
    h = 0.0261438;
    texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
    colorFrame[] = {0,0,0,0};
    colorBar[] = {1,1,1,1};
    };
    class RscProgressNotFreeze
    {
    idc = -1;
    type = 45;
    style = 0;
    x = 0.022059;
    y = 0.911772;
    w = 0.029412;
    h = 0.039216;
    texture = "#(argb,8,8,3)color(0,0,0,0)";
    };
    //
    // the loading screen itself
    //
    class DayZ_loadingScreen
    idd = -1;
    duration = 10e10;
    fadein = 0;
    fadeout = 0;
    name = "loading screen";
    class controlsBackground
    {
    class blackBG : RscText
    {
    x = safezoneX;
    y = safezoneY;
    w = safezoneW;
    h = safezoneH;
    text = "";
    colorText[] = {0,0,0,0};
    colorBackground[] = {0,0,0,1};
    };
    /*
    class nicePic : RscPicture
    {
    style = 48 + 0x800; // ST_PICTURE + ST_KEEP_ASPECT_RATIO
    x = safezoneX + safezoneW/2 - 0.25;
    y = safezoneY + safezoneH/2 - 0.2;
    w = 0.5;
    h = 0.4;
    text = "img\nicePic.paa";
    };
    */
    };
    class controls
    {
    class Title1 : RscLoadingText
    {
    text = "$STR_LOADING"; // "Loading" text in the middle of the screen
    };
    class CA_Progress : RscProgress // progress bar, has to have idc 104
    {
    idc = 104;
    type = 8; // CT_PROGRESS
    style = 0; // ST_SINGLE
    texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
    };
    class CA_Progress2 : RscProgressNotFreeze // progress bar that will go reverse
    {
    idc = 103;
    };
    class Name2: RscText // the text on the top-left
    {
    idc = 101;
    x = 0.05;
    y = 0.029412;
    w = 0.9;
    h = 0.04902;
    text = "";
    sizeEx = 0.05;
    colorText[] = {0.543,0.5742,0.4102,1.0};
    };
    };
    };
     
    class CfgSounds
    {
        sounds[] = {dieScream, finalShot, madIncoming};
     
        class dieScream {
    name="dieScream";
    sound[]={diescream.ogg,0.8,1};
    titles[] = {};
        };
        class madIncoming {
    name="madIncoming";
    sound[]={madincoming.ogg,0.8,1};
    titles[] = {};
        };
        class finalShot {
    name="finalShot";
    sound[]={finalshot.ogg,0.8,1};
    titles[] = {};
        };
    };
     
    //Emerald Interior Designer 
    #include "custom\extra_rc.hpp"
    #include "interior\defines.hpp"
     
     // Snap build
    #include "custom\snap_build\points.hpp"
     
    // Epoch Admin Tools
    #include "admintools\dialog.hpp"

     
    my ui_selectslot.sqf

    //private ["_control","_button","_parent","_group","_pos","_item","_conf","_name","_cfgActions","_numActions","_height","_menu","_config","_type","_script","_outputOriented","_compile","_array","_outputClass","_outputType"];
    disableSerialization;
    _control = _this select 0;
    _button = _this select 1;
    _parent = findDisplay 106;
     
    if (_button == 1) then {
    private ["_conf","_name","_compile","_height","_item"];
    _group = _parent displayCtrl 6902;
     
    _pos = ctrlPosition _group;
     
    _item = gearSlotData _control;
    if (mouseOverCarry) then {
    _item = DayZ_onBack;
    };
     
    _pos set [0,((_this select 2) + 0.46)];
    _pos set [1,((_this select 3) + 0.07)];
     
    _conf = configFile >> "cfgMagazines" >> _item;
    if (!isClass _conf) then {
    _conf = configFile >> "cfgWeapons" >> _item;
    };
    _name = getText(_conf >> "displayName");
     
    _cfgActions = _conf >> "ItemActions";
    _numActions = (count _cfgActions);
    _height = 0;
     
    //Populate Menu
    for "_i" from 0 to (_numActions - 1) do
    {
    _menu = _parent displayCtrl (1600 + _i);
    _menu ctrlShow true;
    _config = (_cfgActions select _i);
    _type = getText (_config >> "text");
    _script = getText (_config >> "script");
    _outputOriented = getNumber (_config >> "outputOriented") == 1;
    _height = _height + (0.025 * safezoneH);
    _compile = format["_id = '%2' %1;",_script,_item];
    uiNamespace setVariable ['uiControl', _control];
    if (_outputOriented) then {
    /*
    This flag means that the action is output oriented
    the output class will then be transferred to the script
    and the type used for the name
    */
    _array = getArray (_config >> "output");
    _outputClass = _array select 0;
    _outputType = _array select 1;
    _name = getText (configFile >> _outputType >> _outputClass >> "displayName");
    _compile = format["_id = ['%2',%3] %1;",_script,_item,_array];
    };
     
    _menu ctrlSetText format[_type,_name];
    _menu ctrlSetEventHandler ["ButtonClick",_compile];
    };
    _pos set [3,_height];
     
          // Add extra context menus
    _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);
    _compile =  format["_id = '%2' %1;",_script,_item];
                            uiNamespace setVariable ['uiControl', _control];
     
     
                            _menu ctrlSetText _text;
    _menu ctrlSetTextColor [1,0.25,0.25,1];
                            _menu ctrlSetEventHandler ["ButtonClick",_script];
     
     
                    };
            };
     
     
    //hint format["Obj: %1 \nHeight: %2\nPos: %3",_item,_height,_grpPos];
     
    _group ctrlShow true;
    ctrlSetFocus _group;
    _group ctrlSetPosition _pos;
    _group ctrlCommit 0;
    };

     

    if you Raymix or someone here could assist me i'd be happy for it :)

     

    thank you 

     

    Funkybacon

×
×
  • Create New...