Jump to content

[Release] KeyMaker


Leigham

Recommended Posts

In the past I have constantly had the hassle of people contacting me of other admins, to get a replacement key for a vehicle. so I came up with the Idea of being able to create a key for a vehicle if you know what colour it is and the 4 letter/digit code to it.

And with the help of Raymix, and his expertise, Was able to make it a possibility.

We Ran it to a few setbacks, as you do, but in the end we succeeded.

This script is configurable with the KeyConfig.sqf file.

 

But first the installation.

 

Installation Instructions

 

https://github.com/Leigham/KeyMaker/blob/master/README.md

 

Link to Download

 

https://github.com/Leigham/KeyMaker

 

Future plans.

 

 

//AI that comes to you, and that AI will have the scroll wheel menu.

and the money (or item) you pay will be added to his inventory, but if you kill him.

 

 

Link to Download

https://github.com/Leigham/KeyMaker

Link to comment
Share on other sites

Ah nice. Few things to make it work better (the scroll menu kept flashing so fixed):

 

Key_Maker = ["USMC_SoldierS_SniperH"]; //skin of choice - to variables.sqf

 

In fn_selfactions.sqf add this as alternative to the add action you have:

 

//Keymaker Addaction.

if(_typeOfCursorTarget in Key_Maker) then {
    if (s_maker_dialog < 0) then {
s_maker_dialog = player addAction ["<img image=custom\keymaker\key.paa' shadow='0'/><t color='#0066FF'> KeyMaker</t>","custom\KeyMaker\Key_Dialog.sqf",_cursorTarget, 5, true, true, "","];
};
}else{
player removeaction s_maker_dialog;
s_maker_dialog = -1;
};

*define s_maker_dialog = -1; at the bottom of fn_self actions and in the variables.sqf

 

Also, your close option comes up with error missing ; fixed by going to KeyMaker.hpp go to exit button and change to:

onbuttonclick = "((ctrlParent (_this select 0)) closeDisplay 7459);";

 

Hope this helped

Max

Link to comment
Share on other sites

 

Ah nice. Few things to make it work better (the scroll menu kept flashing so fixed):

 

Key_Maker = ["USMC_SoldierS_SniperH"]; //skin of choice - to variables.sqf

 

In fn_selfactions.sqf add this as alternative to the add action you have:

*define s_maker_dialog = -1; at the bottom of fn_self actions and in the variables.sqf

 

Also, your close option comes up with error missing ; fixed by going to KeyMaker.hpp go to exit button and change to:

onbuttonclick = "((ctrlParent (_this select 0)) closeDisplay 7459);";

 

Hope this helped

Max

 

Will take a look now, and update the tut accordingly 

Link to comment
Share on other sites

I get this error when i start the server 

 

ErrorMessage: File mpmissions\__cur_mp.Chernarus\custom\keymaker\keymaker.hpp, line 5: /KeyMakerLega/controlsBackground.Lega_BG_Main: Undefined base class 'IGUIBACK'

 

This is with the updated version.

 

thx again for this script :)  hope i can figure out the problem

Link to comment
Share on other sites

I get this error when i start the server 

 

ErrorMessage: File mpmissions\__cur_mp.Chernarus\custom\keymaker\keymaker.hpp, line 5: /KeyMakerLega/controlsBackground.Lega_BG_Main: Undefined base class 'IGUIBACK'

 

This is with the updated version.

 

thx again for this script :)  hope i can figure out the problem

have you done the defines step ?

Link to comment
Share on other sites

have you done the defines step ?

I did, not sure why it didn't hit me, but I looked at your defines and merged it with my defines.  Now all works just peachy :))

 

Thanks a bunch for this :)

 

PS, i had a thought. I dont know scripting, but on our servers we charge half the price of the vehicle for a re-key.  I wonder if that would be something hard to implement, or if its even possible to do something similar. 

 

Thx again

Link to comment
Share on other sites

I get this error when i start the server 

 

ErrorMessage: File mpmissions\__cur_mp.Chernarus\custom\keymaker\keymaker.hpp, line 5: /KeyMakerLega/controlsBackground.Lega_BG_Main: Undefined base class 'IGUIBACK'

 

This is with the updated version.

 

thx again for this script :)  hope i can figure out the problem

I had this same issue. What I found out is the instructions say that if you already have a defines.hpp file that you don't need to include his. What the instructions didn't say is that you need to add 

class IGUIBack
{
	type = 0;
	idc = 124;
	style = 128;
	text = "";
	colorText[] = 
	{
		0,
		0,
		0,
		0
	};
	font = "Zeppelin32";
	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])"
	};
};

the your defines.hpp, after I added this it started working.

Here is mine for an example

///////////////////////////////////////////////////////////////////////////
/// Styles
///////////////////////////////////////////////////////////////////////////
 
// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102
 
// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C
 
#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0
 
#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800
 
#define ST_TITLE          ST_TITLE_BAR + ST_CENTER
 
// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400
 
#define SL_TEXTURES       0x10
 
// progress bar 
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0
 
// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20
 
// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2
 
// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
 
 
 
//////////////
 
 
///////////////////////////////////////////////////////////////////////////
/// Styles
///////////////////////////////////////////////////////////////////////////
 
// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102
 
// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C
 
#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0
 
#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800
 
#define ST_TITLE          ST_TITLE_BAR + ST_CENTER
 
// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400
 
#define SL_TEXTURES       0x10
 
// progress bar 
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0
 
// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20
 
// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2
 
// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
 
class RscBackground
{
type = 0;
style = ST_BACKGROUND;
shadow = 2;
colorBackground[] = {0,0,0,1};
colorText[] = {1,1,1,1};
font = "Zeppelin32";
sizeEx = 0.02;
text = "";
 
};
 
class RscButton
{
access = 0;
type = 1;
text = "";
colorText[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.25};
colorBackground[] = {0.45,0.45,0.45,1};
colorBackgroundDisabled[] = {0,0,0,0.5};
colorBackgroundActive[] = {0.75,0.75,0.75,1};
colorFocused[] = {0.75,0.75,0.75,1};
colorShadow[] = {0,0,0,0};
colorBorder[] = {0,0,0,1};
soundEnter[] = {"\ca\ui\data\sound\onover",0.09,1};
soundPush[] = {"\ca\ui\data\sound\new1",0,0};
soundClick[] = {"\ca\ui\data\sound\onclick",0.07,1};
soundEscape[] = {"\ca\ui\data\sound\onescape",0.09,1};
style = 2;
x = 0;
y = 0;
w = 0.095589;
h = 0.039216;
shadow = 2;
font = "Zeppelin32";
sizeEx = 0.03921;
offsetX = 0.003;
offsetY = 0.003;
offsetPressedX = 0.002;
offsetPressedY = 0.002;
borderSize = 0;
};
 
class RscFrame
{
type = 0;
idc = -1;
style = 64;
shadow = 2;
colorBackground[] = {0,0,0,0};
colorText[] = {1,1,1,1};
font = "Zeppelin32";
sizeEx = 0.02;
text = "";
};
class RscProgressF
{
type = 8;
style = 0;
colorFrame[] = {1,1,1,1};
colorBar[] = {1,1,1,0.5};
texture = "#(argb,8,8,3)color(1,1,1,1)";
w = 1;
h = 0.02;
};
 
 
/////////////
 
 
class RscTextT
{
access = 0;
type = 0;
idc = -1;
colorBackground[] = {0,0,0,0};
colorText[] = {0.8784,0.8471,0.651,1};
text = "";
fixedWidth = 0;
x = 0;
y = 0;
h = 0.037;
w = 0.3;
style = 0;
shadow = 2;
font = "Zeppelin32";
SizeEx = 0.03921;
};
class RscEdit
{
access = 0;
type = 2;
x = 0;
y = 0;
h = 0.04;
w = 0.2;
colorBackground[] = {0,0,0,1};
colorText[] = {0.95,0.95,0.95,1};
colorSelection[] = {0.8784,0.8471,0.651,1};
autocomplete = "";
text = "";
size = 0.2;
style = "0x00 + 0x40";
font = "Zeppelin32";
shadow = 2;
sizeEx = 0.03921;
};
class RscListBox
{
access = 0;
type = 5;
w = 0.4;
h = 0.4;
rowHeight = 0;
colorText[] = {0.8784,0.8471,0.651,1};
colorScrollbar[] = {0.95,0.95,0.95,1};
colorSelect[] = {0.95,0.95,0.95,1};
colorSelect2[] = {0.95,0.95,0.95,1};
colorSelectBackground[] = {0,0,0,1};
colorSelectBackground2[] = {0.8784,0.8471,0.651,1};
colorBackground[] = {0,0,0,1};
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
class ScrollBar
{
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
shadow = 0;
thumb = "\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";
};
style = 16;
font = "Zeppelin32";
shadow = 2;
sizeEx = 0.03921;
color[] = {1,1,1,1};
period = 1.2;
maxHistoryDelay = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
};
class RscShortcutButton
{
type = 16;
x = 0.1;
y = 0.1;
class HitZone
{
left = 0.004;
top = 0.029;
right = 0.004;
bottom = 0.029;
};
class ShortcutPos
{
left = 0.0145;
top = 0.026;
w = 0.0392157;
h = 0.0522876;
};
class TextPos
{
left = 0.05;
top = 0.034;
right = 0.005;
bottom = 0.005;
};
shortcuts[] = {};
textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";
color[] = {0.8784,0.8471,0.651,1};
color2[] = {0.95,0.95,0.95,1};
colorDisabled[] = {1,1,1,0.25};
colorBackground[] = {1,1,1,1};
colorBackground2[] = {1,1,1,0.4};
class Attributes
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
shadow = "true";
};
idc = -1;
style = 0;
default = 0;
shadow = 2;
w = 0.183825;
h = 0.104575;
periodFocus = 1.2;
periodOver = 0.8;
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.paa";
animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa";
animTextureDefault = "\ca\ui\data\ui_button_default_ca.paa";
period = 0.4;
font = "Zeppelin32";
size = 0.03921;
sizeEx = 0.03921;
text = "";
   soundPush[] = { "", 0, 1 };
soundEnter[] = { "", 0, 1 };
soundClick[] ={ "", 0, 1 };
soundEscape[] ={ "", 0, 1 };
sound[] ={ "", 0, 1 };
 
 
 
action = "";
class AttributesImage
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
};
};
class 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 RscCombo
{
access = 0;
type = 4;
style = 0;
colorSelect[] = {0,0,0,1};
colorText[] = {1,1,1,1};
colorBackground[] = {0,0,0,1};
colorScrollbar[] = {1,0,0,1};
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
maxHistoryDelay = 1;
class ScrollBar
{
color[] = {1,1,1,1};
colorActive[] = {0.8784,0.8471,0.651,1};
colorDisabled[] = {0.8784,0.8471,0.651,1};
shadow = 0;
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";
};
x = 0;
y = 0;
w = 0.12;
h = 0.035;
shadow = 0;
colorSelectBackground[] = {1,1,1,0.7};
arrowEmpty = "\ca\ui\data\ui_arrow_combo_ca.paa";
arrowFull = "\ca\ui\data\ui_arrow_combo_active_ca.paa";
wholeHeight = 0.45;
color[] = {0,0,0,0.6};
colorActive[] = {1,0,0,1};
colorDisabled[] = {1,1,1,0.25};
font = "Zeppelin32";
sizeEx = 0.03921;
};
 
class Zupa_RscButton {
idc = -1;
style = 0;
default = 0;
shadow = 1;
w = 0.183825;
h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)";
color[] = {1,1,1,1.0};
colorFocused[] = {1,1,1,1.0};
color2[] = {0.95,0.95,0.95,1};
colorDisabled[] = {1,1,1,0.25};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1};
colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1};
colorBackground2[] = {1,1,1,1};
periodFocus = 1.2;
periodOver = 0.8;
class HitZone
{
left = 0.0;
top = 0.0;
right = 0.0;
bottom = 0.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.0;
};
period = 0.4;
font = "Zeppelin32";
size = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
text = "";
action = "";
class Attributes
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
shadow = "true";
};
class AttributesImage
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
};
 
soundPush[] = { "", 0, 1 };
soundEnter[] = { "", 0, 1 };
soundClick[] ={ "", 0, 1 };
soundEscape[] ={ "", 0, 1 };
sound[] ={ "", 0, 1 };
};
 
class Zupa_RscButtonMenu : Zupa_RscButton 
{
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)";
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};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
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.0;
};
class Attributes
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "center";
shadow = "false";
};
class ShortcutPos
{
left = "(6.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";
top = 0.005;
w = 0.0225;
h = 0.03;
};
textureNoShortcut = "";
};
 
class Zupa_RscEdit {
type = 2;
style = 0x00 + 0x40;
font = "Zeppelin32";
shadow = 2;
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorBackground[] = {0, 0, 0, 1};
colorText[] = {0.95, 0.95, 0.95, 1};
colorDisabled[] = {1, 1, 1, 0.25};
autocomplete = false;
colorSelection[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 1};
canModify = 1;
soundPush[] = { "", 0, 1 };
soundEnter[] = { "", 0, 1 };
soundClick[] ={ "", 0, 1 };
soundEscape[] ={ "", 0, 1 };
sound[] ={ "", 0, 1 };
 
};
 
class IGUIBack
{
type = 0;
idc = 124;
style = 128;
text = "";
colorText[] = 
{
0,
0,
0,
0
};
font = "Zeppelin32";
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])"
};
};///////////////////////////////////////////////////////////////////////////
/// Styles
///////////////////////////////////////////////////////////////////////////
 
// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102
 
// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C
 
#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0
 
#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800
 
#define ST_TITLE          ST_TITLE_BAR + ST_CENTER
 
// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400
 
#define SL_TEXTURES       0x10
 
// progress bar 
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0
 
// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20
 
// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2
 
// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
 
 
 
//////////////
 
 
///////////////////////////////////////////////////////////////////////////
/// Styles
///////////////////////////////////////////////////////////////////////////
 
// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102
 
// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C
 
#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0
 
#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800
 
#define ST_TITLE          ST_TITLE_BAR + ST_CENTER
 
// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400
 
#define SL_TEXTURES       0x10
 
// progress bar 
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0
 
// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20
 
// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2
 
// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
 
class RscBackground
{
type = 0;
style = ST_BACKGROUND;
shadow = 2;
colorBackground[] = {0,0,0,1};
colorText[] = {1,1,1,1};
font = "Zeppelin32";
sizeEx = 0.02;
text = "";
 
};
 
class RscButton
{
access = 0;
type = 1;
text = "";
colorText[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.25};
colorBackground[] = {0.45,0.45,0.45,1};
colorBackgroundDisabled[] = {0,0,0,0.5};
colorBackgroundActive[] = {0.75,0.75,0.75,1};
colorFocused[] = {0.75,0.75,0.75,1};
colorShadow[] = {0,0,0,0};
colorBorder[] = {0,0,0,1};
soundEnter[] = {"\ca\ui\data\sound\onover",0.09,1};
soundPush[] = {"\ca\ui\data\sound\new1",0,0};
soundClick[] = {"\ca\ui\data\sound\onclick",0.07,1};
soundEscape[] = {"\ca\ui\data\sound\onescape",0.09,1};
style = 2;
x = 0;
y = 0;
w = 0.095589;
h = 0.039216;
shadow = 2;
font = "Zeppelin32";
sizeEx = 0.03921;
offsetX = 0.003;
offsetY = 0.003;
offsetPressedX = 0.002;
offsetPressedY = 0.002;
borderSize = 0;
};
 
class RscFrame
{
type = 0;
idc = -1;
style = 64;
shadow = 2;
colorBackground[] = {0,0,0,0};
colorText[] = {1,1,1,1};
font = "Zeppelin32";
sizeEx = 0.02;
text = "";
};
class RscProgressF
{
type = 8;
style = 0;
colorFrame[] = {1,1,1,1};
colorBar[] = {1,1,1,0.5};
texture = "#(argb,8,8,3)color(1,1,1,1)";
w = 1;
h = 0.02;
};
 
 
/////////////
 
 
class RscTextT
{
access = 0;
type = 0;
idc = -1;
colorBackground[] = {0,0,0,0};
colorText[] = {0.8784,0.8471,0.651,1};
text = "";
fixedWidth = 0;
x = 0;
y = 0;
h = 0.037;
w = 0.3;
style = 0;
shadow = 2;
font = "Zeppelin32";
SizeEx = 0.03921;
};
class RscEdit
{
access = 0;
type = 2;
x = 0;
y = 0;
h = 0.04;
w = 0.2;
colorBackground[] = {0,0,0,1};
colorText[] = {0.95,0.95,0.95,1};
colorSelection[] = {0.8784,0.8471,0.651,1};
autocomplete = "";
text = "";
size = 0.2;
style = "0x00 + 0x40";
font = "Zeppelin32";
shadow = 2;
sizeEx = 0.03921;
};
class RscListBox
{
access = 0;
type = 5;
w = 0.4;
h = 0.4;
rowHeight = 0;
colorText[] = {0.8784,0.8471,0.651,1};
colorScrollbar[] = {0.95,0.95,0.95,1};
colorSelect[] = {0.95,0.95,0.95,1};
colorSelect2[] = {0.95,0.95,0.95,1};
colorSelectBackground[] = {0,0,0,1};
colorSelectBackground2[] = {0.8784,0.8471,0.651,1};
colorBackground[] = {0,0,0,1};
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
class ScrollBar
{
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
shadow = 0;
thumb = "\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";
};
style = 16;
font = "Zeppelin32";
shadow = 2;
sizeEx = 0.03921;
color[] = {1,1,1,1};
period = 1.2;
maxHistoryDelay = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
};
class RscShortcutButton
{
type = 16;
x = 0.1;
y = 0.1;
class HitZone
{
left = 0.004;
top = 0.029;
right = 0.004;
bottom = 0.029;
};
class ShortcutPos
{
left = 0.0145;
top = 0.026;
w = 0.0392157;
h = 0.0522876;
};
class TextPos
{
left = 0.05;
top = 0.034;
right = 0.005;
bottom = 0.005;
};
shortcuts[] = {};
textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";
color[] = {0.8784,0.8471,0.651,1};
color2[] = {0.95,0.95,0.95,1};
colorDisabled[] = {1,1,1,0.25};
colorBackground[] = {1,1,1,1};
colorBackground2[] = {1,1,1,0.4};
class Attributes
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
shadow = "true";
};
idc = -1;
style = 0;
default = 0;
shadow = 2;
w = 0.183825;
h = 0.104575;
periodFocus = 1.2;
periodOver = 0.8;
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.paa";
animTexturePressed = "\ca\ui\data\ui_button_down_ca.paa";
animTextureDefault = "\ca\ui\data\ui_button_default_ca.paa";
period = 0.4;
font = "Zeppelin32";
size = 0.03921;
sizeEx = 0.03921;
text = "";
   soundPush[] = { "", 0, 1 };
soundEnter[] = { "", 0, 1 };
soundClick[] ={ "", 0, 1 };
soundEscape[] ={ "", 0, 1 };
sound[] ={ "", 0, 1 };
 
 
 
action = "";
class AttributesImage
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
};
};
class 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 RscCombo
{
access = 0;
type = 4;
style = 0;
colorSelect[] = {0,0,0,1};
colorText[] = {1,1,1,1};
colorBackground[] = {0,0,0,1};
colorScrollbar[] = {1,0,0,1};
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
maxHistoryDelay = 1;
class ScrollBar
{
color[] = {1,1,1,1};
colorActive[] = {0.8784,0.8471,0.651,1};
colorDisabled[] = {0.8784,0.8471,0.651,1};
shadow = 0;
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";
};
x = 0;
y = 0;
w = 0.12;
h = 0.035;
shadow = 0;
colorSelectBackground[] = {1,1,1,0.7};
arrowEmpty = "\ca\ui\data\ui_arrow_combo_ca.paa";
arrowFull = "\ca\ui\data\ui_arrow_combo_active_ca.paa";
wholeHeight = 0.45;
color[] = {0,0,0,0.6};
colorActive[] = {1,0,0,1};
colorDisabled[] = {1,1,1,0.25};
font = "Zeppelin32";
sizeEx = 0.03921;
};
 
class Zupa_RscButton {
idc = -1;
style = 0;
default = 0;
shadow = 1;
w = 0.183825;
h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)";
color[] = {1,1,1,1.0};
colorFocused[] = {1,1,1,1.0};
color2[] = {0.95,0.95,0.95,1};
colorDisabled[] = {1,1,1,0.25};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1};
colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])",1};
colorBackground2[] = {1,1,1,1};
periodFocus = 1.2;
periodOver = 0.8;
class HitZone
{
left = 0.0;
top = 0.0;
right = 0.0;
bottom = 0.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.0;
};
period = 0.4;
font = "Zeppelin32";
size = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
text = "";
action = "";
class Attributes
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
shadow = "true";
};
class AttributesImage
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "left";
};
 
soundPush[] = { "", 0, 1 };
soundEnter[] = { "", 0, 1 };
soundClick[] ={ "", 0, 1 };
soundEscape[] ={ "", 0, 1 };
sound[] ={ "", 0, 1 };
};
 
class Zupa_RscButtonMenu : Zupa_RscButton 
{
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)";
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};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
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.0;
};
class Attributes
{
font = "Zeppelin32";
color = "#E5E5E5";
align = "center";
shadow = "false";
};
class ShortcutPos
{
left = "(6.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";
top = 0.005;
w = 0.0225;
h = 0.03;
};
textureNoShortcut = "";
};
 
class Zupa_RscEdit {
type = 2;
style = 0x00 + 0x40;
font = "Zeppelin32";
shadow = 2;
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorBackground[] = {0, 0, 0, 1};
colorText[] = {0.95, 0.95, 0.95, 1};
colorDisabled[] = {1, 1, 1, 0.25};
autocomplete = false;
colorSelection[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 1};
canModify = 1;
soundPush[] = { "", 0, 1 };
soundEnter[] = { "", 0, 1 };
soundClick[] ={ "", 0, 1 };
soundEscape[] ={ "", 0, 1 };
sound[] ={ "", 0, 1 };
 
};
 
class IGUIBack
{
type = 0;
idc = 124;
style = 128;
text = "";
colorText[] = 
{
0,
0,
0,
0
};
font = "Zeppelin32";
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])"
};
};

Link to comment
Share on other sites

I could take a look, maybe put an option in if the vehicle is in the config traders then get the price out of there. ill have to take a look. 

don't beat yourself over this if its too complicated, it was a just an idea i thought id shoot your way, because we do it like that, but manually lol

Link to comment
Share on other sites

  • 1 year later...
1 hour ago, kingpapawawa said:

just noticed the client side rpt is spammed with this

  Error position: <_typeOfCursorTarget in Key_Maker) then {>
  Error Undefined variable in expression: _typeofcursortarget

Add

private ["_typeOfCursorTarget","_cursorTarget"];
_cursorTarget = cursorTarget;
_typeOfCursorTarget = typeOf _cursorTarget;

Above

if(_typeOfCursorTarget in Key_Maker) then {
    if (s_maker_dialog < 0) then {
s_maker_dialog = player addAction ["<img image='custom\keymaker\key.paa' shadow='0'/><t color='#0066FF'> KeyMaker</t>","custom\KeyMaker\Key_Dialog.sqf",_cursorTarget, 5, true, true, "",""];
};
}else{
player removeaction s_maker_dialog;
s_maker_dialog = -1;
};

 

Those 3 lines are pulled from the default fn_selfActions.sqf
Unless you have a slimmed down version you should already have these defined I thought.

Link to comment
Share on other sites

37 minutes ago, oldmatechoc said:

Unless you have a slimmed down version you should already have these defined I thought.

i have the default file with some edits but the call is here.. defined in an if statement that must not be getting met.  adding it your way works so far..
 

if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cursorTarget < _allowedDistance) && _canDo) then {
//Has some kind of target
    _typeOfCursorTarget = typeOf _cursorTarget;

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...