Jump to content

[Discontinued] Emerald Interior Designer


Recommended Posts

Project has been discontinued 

If you still want this mod, it will (and should) work with any beta or Epoch release, however I highly suggest using

 

 

emerald_thumb.jpgexterior_thumb.jpg

 

Very simple script that lets you right click ItemEmerald and spawn various interior items, using Epoch building system.

I will assume you know your way around with scripts and have custom extra_rc, fn_selfActions.sqf and variables.sqf in your mission file, if not, ask below.

 

Credits:

Rocket

DayZ Epoch Team for player_build.sqf

Maca for extra_rc

PetuniaEpoch for modified

Rythron FIX for playerID tied to plotpole script, replace your http://epochmod.com/forum/index.php?/topic/10665-release-emerald-interior-designer/?p=77638 with his.

 

UPDATE LOG v1.1.1:

*Increased distance of objects to prevent people  from dying, please refer to _offset in spawn.sqf

*Fixed issue with object height distance while using ALT+PgUP/PgDown

 

UPDATE LOG v1.1:

*Added huge list of external objects

*Added Toggle-able plotpole requirement for spawn

*Added Ability to remove items

*Can't spawn or remove items if not owner or tagged friendly of nearby plotpole

 

 

Download files:

https://dl.dropboxusercontent.com/u/14423790/interiorV1.1.1.rar

 

Or add yourself:

 

custom\extra_rc.hpp (Updated V1.1):

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"";";
        };
    };
}; 

 

custom\variables.sqf (Updated V1.1): Find 

dayz_allowedObjects = ["TentStorage"........ 

Change to

dayz_allowedObjects = [
"MAP_picture_a",
"MAP_picture_a_02",
"MAP_picture_a_03",
"MAP_picture_a_04",
"MAP_picture_a_05",
"MAP_picture_b",
"MAP_picture_b_02",
"MAP_picture_c",
"MAP_picture_c_02",
"MAP_picture_d",
"MAP_picture_e",
"MAP_picture_f",
"MAP_picture_f_02",
"MAP_picture_g",
"MAP_wall_board",
"MAP_wall_board_02",
"MAP_wall_board_03",
"MAP_F_ch_mod_c",
"MAP_ch_mod_h",
"MAP_armchair",
"MAP_ch_mod_h",
"MAP_ch_office_B",
"MAP_chair",
"MAP_Church_chair",
"MAP_hospital_bench",
"MAP_kitchen_chair_a",
"MAP_lavicka_1",
"MAP_lavicka_2",
"MAP_lavicka_3",
"MAP_lavicka_4",
"MAP_lobby_chair",
"MAP_office_chair",
"MAP_F_postel_manz_kov",
"MAP_F_postel_panelak1",
"MAP_F_postel_panelak2",
"MAP_F_Vojenska_palanda",
"MAP_postel_manz_kov",
"MAP_postel_panelak1",
"MAP_vojenska_palanda",
"MAP_fridge",
"MAP_Kitchenstove_Elec",
"MAP_washing_machine",
"MAP_P_Basin_A",
"MAP_P_bath",
"MAP_F_bath",
"MAP_lekarnicka",
"MAP_P_sink",
"MAP_toilet_b",
"MAP_P_toilet_b_02",
"MAP_almara",
"MAP_case_a",
"MAP_case_bedroom_a",
"MAP_case_bedroom_b",
"MAP_case_cans_b",
"MAP_case_d",
"MAP_case_wall_unit_part_c",
"MAP_case_wall_unit_part_d",
"MAP_case_wooden_b",
"MAP_Dhangar_borwnskrin",
"MAP_Dhangar_brownskrin",
"MAP_Dhangar_knihovna",
"MAP_library_a",
"MAP_shelf",
"MAP_Skrin_bar",
"MAP_Skrin_opalena",
"MAP_Truhla_stara",
"MAP_briefcase",
"MAP_Dkamna_bila",
"MAP_Dkamna_uhli",
"MAP_F_Dkamna_uhli",
"MAP_icebox",
"MAP_mutt_vysilacka",
"MAP_notebook",
"MAP_pc",
"MAP_phonebox",
"MAP_radio",
"MAP_radio_b",
"MAP_satelitePhone",
"MAP_smallTV",
"MAP_tv_a",
"MAP_vending_machine",
"MAP_lantern",
"MAP_bucket",
"MAP_MetalBucket",
"MAP_FuelCan",
"MAP_SmallObj_money",
"MAP_conference_table_a",
"MAP_desk",
"MAP_Dhangar_psacistul",
"MAP_F_conference_table_a",
"MAP_kitchen_table_a",
"MAP_lobby_table",
"MAP_office_table_a",
"MAP_pultskasou",
"MAP_SmallTable",
"MAP_stul_hospoda",
"MAP_stul_kuch1",
"MAP_Table",
"MAP_table_drawer",
"MAP_kasna_new",
"MAP_Misc_Boogieman",
"MAP_ChickenCoop",
"MAP_Misc_Greenhouse",
"MAP_Misc_Hutch",
"MAP_Misc_Well",
"MAP_Misc_WellPump",
"MAP_PowerGenerator",
"MAP_psi_bouda",
"MAP_pumpa",
"MAP_stanek_3",
"MAP_stanek_3_d",
"MAP_stanek_3B",
"MAP_AirCond_big",
"MAP_AirCond_small",
"MAP_antenna_big_roof",
"MAP_antenna_small_roof",
"MAP_antenna_small_roof_1",
"MAP_drapes",
"MAP_drapes_long",
"MAP_GasMeterExt",
"MAP_Ladder",
"MAP_P_Ladder",
"MAP_LadderHalf",
"MAP_P_LadderLong",
"MAP_leseni2x",
"MAP_leseni4x",
"MAP_Misc_loudspeakers",
"MAP_parabola_big",
"MAP_P_Stavebni_kozy",
"MAP_Heli_H_civil",
"MAP_Heli_H_army",
"MAP_Heli_H_cross",
"MAP_Heli_H_rescue",
"MAP_Sr_border",
"MAP_drevo_hromada",
"MAP_garbage_misc",
"MAP_garbage_paleta",
"MAP_Ind_BoardsPack1",
"MAP_Ind_BoardsPack2",
"MAP_Ind_Timbers",
"MAP_Kontejner",
"MAP_Misc_GContainer_Big",
"MAP_Misc_HayStack",
"MAP_Misc_TyreHeap",
"MAP_Misc_WoodPile",
"MAP_pneu",
"MAP_popelnice",
"MAP_sekyraspalek",
"MAP_seno_balik",
"MAP_concrete_block",
"MAP_Concrete_Ramp",
"MAP_ramp_concrete",
"MAP_woodenRamp",
"MAP_brana",
"MAP_Houpacka",
"MAP_nastenkaX",
"MAP_Piskoviste",
"MAP_snowman",
"MAP_Barel1",
"MAP_Barel3",
"MAP_Barel4",
"MAP_Barel5",
"MAP_Barel6",
"MAP_Barel7",
"MAP_Barel8",
"MAP_Barels",
"MAP_Barels2",
"MAP_Barels3",
"MAP_barrel_empty",
"MAP_barrel_sand",
"MAP_barrel_water",
"MAP_P_bedna",
"MAP_box_c",
"MAP_P_cihly1",
"MAP_P_cihly2",
"MAP_P_cihly3",
"MAP_P_cihly4",
"MAP_metalcrate",
"MAP_metalcrate_02",
"Misc_concrete",
"MAP_Misc_G_Pipes",
"MAP_Misc_palletsfoiled",
"MAP_Misc_palletsfoiled_heap",
"MAP_obstacle_get_over",
"MAP_obstacle_prone",
"MAP_obstacle_run_duck",
"MAP_paletaA",
"MAP_paletyC",
"MAP_paletyD",
"MAP_Pallets_Column",
"MAP_P_pipe_big",
"MAP_P_pipe_small",
"MAP_P_ytong",
"TentStorage", ..........................

 

description.ext:

#include "interior\defines.hpp"
#include "interior\dialogs.hpp"

interior\defines.hpp:

// 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_BOX 				17
#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_GROUP_BOX       96
#define ST_GROUP_BOX2      112
#define ST_ROUNDED_CORNER  ST_GROUP_BOX + ST_CENTER
#define ST_ROUNDED_CORNER2 ST_GROUP_BOX2 + ST_CENTER

#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
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_MULTI;
    linespacing = 1;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,.5};
    text = "";
    shadow = 2;
    font = "Bitstream";
    SizeEx = 0.02300;
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
   
};

class RscPicture
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_PICTURE;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,1};
    font = "Bitstream";
    sizeEx = 0;
    lineSpacing = 0;
    text = "";
    fixedWidth = 0;
    shadow = 0;
    x = 0;
    y = 0;
    w = 0.2;
    h = 0.15;
};

class RscFrame
{
    type = CT_STATIC;
    idc = -1;
    style = ST_FRAME;
    shadow = 2;
    colorBackground[] = {1,1,1,1};
    colorText[] = {1,1,1,0.9};
    font = "Bitstream";
    sizeEx = 0.03;
    text = "";
};

class BOX
{ 
   type = CT_STATIC;
    idc = -1;
    style = ST_CENTER;
    shadow = 2;
    colorText[] = {1,1,1,1};
    font = "Bitstream";
    sizeEx = 0.02;
    colorBackground[] = { 0.2,0.2,0.2, 0.8 }; 
    text = ""; 

};

class RscCombo
{
	access = 0;
	type = 4;
	style = 0;
	colorSelect[] = {0.023529,0,0.0313725,1};
	colorText[] = {0.023529,0,0.0313725,1};
	colorBackground[] = {0.95,0.95,0.95,1};
	colorScrollbar[] = {0.023529,0,0.0313725,1};
	soundSelect[] = {"",0.1,1};
	soundExpand[] = {"",0.1,1};
	soundCollapse[] = {"",0.1,1};
	maxHistoryDelay = 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";
	};
	x = 0;
	y = 0;
	w = 0.12;
	h = 0.035;
	shadow = 0;
	colorSelectBackground[] = {0.8784,0.8471,0.651,1};
	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[] = {0,0,0,1};
	colorDisabled[] = {0,0,0,0.3};
	font = "Zeppelin32";
	sizeEx = 0.03921;
};

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 = "";
	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};
	action = "";
	class AttributesImage
	{
		font = "Zeppelin32";
		color = "#E5E5E5";
		align = "left";
	};
}; 

 

interior\dialogs.hpp (Do not use with newest Infistar AH):

class WGT_INTERIOR1
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox1: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame1: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose1: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired1;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel1: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic1: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo1: RscCombo
		{
			idc = 2667;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR2
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox2: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame2: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose2: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired2;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel2: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic2: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo2: RscCombo
		{
			idc = 2668;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR3
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox3: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame3: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose3: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired3;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel3: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic3: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo3: RscCombo
		{
			idc = 2669;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR4
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox4: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame4: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose4: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired4;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel4: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic4: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo4: RscCombo
		{
			idc = 2670;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR5
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox5: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame5: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose5: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired5;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel5: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic5: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo5: RscCombo
		{
			idc = 2671;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR6
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox6: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame6: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose6: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired6;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel6: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic6: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo6: RscCombo
		{
			idc = 2672;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR7
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox7: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame7: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose7: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired7;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel7: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic7: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo7: RscCombo
		{
			idc = 2673;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};


class WGT_INTERIOR8
{
	idd = -1;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox8: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame8: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose8: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired8;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel8: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic8: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo8: RscCombo
		{
			idc = 2674;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};







 

 

interior\dialogs.hpp (Only for people with newest Infistar Antihack):

class WGT_INTERIOR1
{
	idd = 10667;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox1: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame1: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose1: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired1;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel1: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic1: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo1: RscCombo
		{
			idc = 2667;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR2
{
	idd = 10668;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox2: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame2: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose2: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired2;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel2: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic2: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo2: RscCombo
		{
			idc = 2668;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR3
{
	idd = 10669;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox3: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame3: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose3: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired3;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel3: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic3: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo3: RscCombo
		{
			idc = 2669;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR4
{
	idd = 10670;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox4: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame4: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose4: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired4;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel4: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic4: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo4: RscCombo
		{
			idc = 2670;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR5
{
	idd = 10671;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox5: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame5: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose5: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired5;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel5: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic5: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo5: RscCombo
		{
			idc = 2671;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR6
{
	idd = 10672;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox6: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame6: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose6: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired6;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel6: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic6: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo6: RscCombo
		{
			idc = 2672;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};

class WGT_INTERIOR7
{
	idd = 10673;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox7: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame7: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose7: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired7;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel7: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic7: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo7: RscCombo
		{
			idc = 2673;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};


class WGT_INTERIOR8
{
	idd = 10674;
	movingenable = true;
	onLoad = "_this ExecVM 'interior\items.sqf'";
	
	class Controls
	{

		class dialogBox8: BOX
		{
			idc = -1;
			text = "";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogFrame8: RscFrame
		{
			idc = -1;
			text = "Interior Designer";
			x = 0.401725 * safezoneW + safezoneX;
			y = 0.449425 * safezoneH + safezoneY;
			w = 0.186587 * safezoneW;
			h = 0.124143 * safezoneH;
		};
		class dialogChoose8: RscShortcutButton
		{
			idc = -1;
			text = "Spawn";
			x = 0.454806 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action= "[] call fnc_Pos_fired8;_nil=[]ExecVM ""interior\spawn.sqf"";closeDialog 0;";
		};
		class dialogCancel8: RscShortcutButton
		{
			idc = -1;
			text = "Cancel";
			x = 0.520496 * safezoneW + safezoneX;
			y = 0.512518 * safezoneH + safezoneY;
			w = 0.0594089 * safezoneW;
			h = 0.0500295 * safezoneH;
			action = "closeDialog 0;";
		};
		class dialogPic8: RscPicture
		{
			idc = -1;
			text = "interior\emerald.paa";
			x = 0.412763 * safezoneW + safezoneX;
			y = 0.478468 * safezoneH + safezoneY;
			w = 0.0320813 * safezoneW;
			h = 0.0690587 * safezoneH;
		};
		class dialogCombo8: RscCombo
		{
			idc = 2674;
			text = "Choose your item";
			x = 0.45638 * safezoneW + safezoneX;
			y = 0.478467 * safezoneH + safezoneY;
			w = 0.120896 * safezoneW;
			h = 0.0229882 * safezoneH;
		};
	};
};







 

 

interior\items.sqf (Updated V1.1):

disableSerialization;
//Define idc's for controls for easy access 
_comboBoxA = 2667; 
_comboBoxB = 2668; 
_comboBoxC = 2669; 
_comboBoxD = 2670; 
_comboBoxE = 2671; 
_comboBoxF = 2672; 
_comboBoxG = 2673; 
_comboBoxH = 2674; 

//store display, passed from onLoad 
_display = _this select 0; 

//Add to picture
{ 
    _index = lbAdd [_comboBoxA, _x]; 
} forEach [
"MAP_picture_a",
"MAP_picture_a_02",
"MAP_picture_a_03",
"MAP_picture_a_04",
"MAP_picture_a_05",
"MAP_picture_b",
"MAP_picture_b_02",
"MAP_picture_c",
"MAP_picture_c_02",
"MAP_picture_d",
"MAP_picture_e",
"MAP_picture_f",
"MAP_picture_f_02",
"MAP_picture_g",
"MAP_wall_board",
"MAP_wall_board_02",
"MAP_wall_board_03"
]; 

//Add to chair
{ 
    _index = lbAdd [_comboBoxB, _x]; 
} forEach [
"MAP_F_ch_mod_c",
"MAP_ch_mod_h",
"MAP_armchair",
"MAP_ch_mod_h",
"MAP_ch_office_B",
"MAP_chair",
"MAP_Church_chair",
"MAP_hospital_bench",
"MAP_kitchen_chair_a",
"MAP_lavicka_1",
"MAP_lavicka_2",
"MAP_lavicka_3",
"MAP_lavicka_4",
"MAP_lobby_chair",
"MAP_office_chair"
]; 

//Add to bed
{ 
    _index = lbAdd [_comboBoxC, _x]; 
} forEach [
"MAP_F_postel_manz_kov",
"MAP_F_postel_panelak1",
"MAP_F_postel_panelak2",
"MAP_F_Vojenska_palanda",
"MAP_postel_manz_kov",
"MAP_postel_panelak1",
"MAP_vojenska_palanda"
];

//Add to Bathroom
{ 
    _index = lbAdd [_comboBoxD, _x]; 
} forEach [
"MAP_fridge",
"MAP_Kitchenstove_Elec",
"MAP_washing_machine",
"MAP_P_Basin_A",
"MAP_P_bath",
"MAP_F_bath",
"MAP_lekarnicka",
"MAP_P_sink",
"MAP_toilet_b",
"MAP_P_toilet_b_02"
];

//Add to Shelf
{ 
    _index = lbAdd [_comboBoxE, _x]; 
} forEach [
"MAP_almara",
"MAP_case_a",
"MAP_case_bedroom_a",
"MAP_case_bedroom_b",
"MAP_case_cans_b",
"MAP_case_d",
"MAP_case_wall_unit_part_c",
"MAP_case_wall_unit_part_d",
"MAP_case_wooden_b",
"MAP_Dhangar_borwnskrin",
"MAP_Dhangar_brownskrin",
"MAP_Dhangar_knihovna",
"MAP_library_a",
"MAP_shelf",
"MAP_Skrin_bar",
"MAP_Skrin_opalena",
"MAP_Truhla_stara"
];

//Add to Misc
{ 
    _index = lbAdd [_comboBoxF, _x]; 
} forEach [
"MAP_briefcase",
"MAP_Dkamna_bila",
"MAP_Dkamna_uhli",
"MAP_F_Dkamna_uhli",
"MAP_icebox",
"MAP_mutt_vysilacka",
"MAP_notebook",
"MAP_pc",
"MAP_phonebox",
"MAP_radio",
"MAP_radio_b",
"MAP_satelitePhone",
"MAP_smallTV",
"MAP_tv_a",
"MAP_vending_machine",
"MAP_lantern",
"MAP_bucket",
"MAP_MetalBucket",
"MAP_FuelCan",
"MAP_SmallObj_money"
];

//Add to table
{ 
    _index = lbAdd [_comboBoxG, _x]; 
} forEach [
"MAP_conference_table_a",
"MAP_desk",
"MAP_Dhangar_psacistul",
"MAP_F_conference_table_a",
"MAP_kitchen_table_a",
"MAP_lobby_table",
"MAP_office_table_a",
"MAP_pultskasou",
"MAP_SmallTable",
"MAP_stul_hospoda",
"MAP_stul_kuch1",
"MAP_Table",
"MAP_table_drawer"
];

//Add to exterior
{ 
    _index = lbAdd [_comboBoxH, _x]; 
} forEach [
"MAP_kasna_new",
"MAP_Misc_Boogieman",
"MAP_ChickenCoop",
"MAP_Misc_Greenhouse",
"MAP_Misc_Hutch",
"MAP_Misc_Well",
"MAP_Misc_WellPump",
"MAP_PowerGenerator",
"MAP_psi_bouda",
"MAP_pumpa",
"MAP_stanek_3",
"MAP_stanek_3_d",
"MAP_stanek_3B",
"MAP_AirCond_big",
"MAP_AirCond_small",
"MAP_antenna_big_roof",
"MAP_antenna_small_roof",
"MAP_antenna_small_roof_1",
"MAP_drapes",
"MAP_drapes_long",
"MAP_GasMeterExt",
"MAP_Ladder",
"MAP_P_Ladder",
"MAP_LadderHalf",
"MAP_P_LadderLong",
"MAP_leseni2x",
"MAP_leseni4x",
"MAP_Misc_loudspeakers",
"MAP_parabola_big",
"MAP_P_Stavebni_kozy",
"MAP_Heli_H_civil",
"MAP_Heli_H_army",
"MAP_Heli_H_cross",
"MAP_Heli_H_rescue",
"MAP_Sr_border",
"MAP_drevo_hromada",
"MAP_garbage_misc",
"MAP_garbage_paleta",
"MAP_Ind_BoardsPack1",
"MAP_Ind_BoardsPack2",
"MAP_Ind_Timbers",
"MAP_Kontejner",
"MAP_Misc_GContainer_Big",
"MAP_Misc_HayStack",
"MAP_Misc_TyreHeap",
"MAP_Misc_WoodPile",
"MAP_pneu",
"MAP_popelnice",
"MAP_sekyraspalek",
"MAP_seno_balik",
"MAP_concrete_block",
"MAP_Concrete_Ramp",
"MAP_ramp_concrete",
"MAP_woodenRamp",
"MAP_brana",
"MAP_Houpacka",
"MAP_nastenkaX",
"MAP_Piskoviste",
"MAP_snowman",
"MAP_Barel1",
"MAP_Barel3",
"MAP_Barel4",
"MAP_Barel5",
"MAP_Barel6",
"MAP_Barel7",
"MAP_Barel8",
"MAP_Barels",
"MAP_Barels2",
"MAP_Barels3",
"MAP_barrel_empty",
"MAP_barrel_sand",
"MAP_barrel_water",
"MAP_P_bedna",
"MAP_box_c",
"MAP_P_cihly1",
"MAP_P_cihly2",
"MAP_P_cihly3",
"MAP_P_cihly4",
"MAP_metalcrate",
"MAP_metalcrate_02",
"Misc_concrete",
"MAP_Misc_G_Pipes",
"MAP_Misc_palletsfoiled",
"MAP_Misc_palletsfoiled_heap",
"MAP_obstacle_get_over",
"MAP_obstacle_prone",
"MAP_obstacle_run_duck",
"MAP_paletaA",
"MAP_paletyC",
"MAP_paletyD",
"MAP_Pallets_Column",
"MAP_P_pipe_big",
"MAP_P_pipe_small",
"MAP_P_ytong"
]; 

 

interior\spawn.sqf (Updated v1.1.1):

_plotReq = true; // can't build without nearby plotpole

_plotReq = false; //can build without plotpole or near owned plotpole only

_offset = [0,3.5,0]; //This is distance of object from player XYZ.. increase Y if you want an object to spawn further away from player

/*
DayZ Base Building
Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected].
 
 
Note: Edit the _classname variable below to be the correct classname of the item you want to build, and I suggest you name the file appropiately!
 
Recommended to use alongside Maca's excellent 'right clicks' system: http://epochmod.com/...tions-to-items/
 
Edits by Mike of http://www.petuniaserver.com/ - Original file & all kudos to the EPOCH devs! http://www.dayzepoch.com
*/
 
private ["_plotReq","_proceed","_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_needNear","_vehicle","_inVehicle","_requireplot","_objHDiff","_isLandFireDZ","_isTankTrap"];

_plotReq = true; //Plotpole requirement to build enabled

 fnc_Pos_fired1 = {
disableSerialization;
_indexPic = lbCurSel 2667; // index of selection
_returnTextPic = lbText [2667, _indexPic]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexPic,_returnTextPic];// display the value
classnameChange = _returnTextPic;
 };
 
  fnc_Pos_fired2 = {
disableSerialization;
_indexChair = lbCurSel 2668; // index of selection
_returnTextChair = lbText [2668, _indexChair]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexChair,_returnTextChair];// display the value
 classnameChange = _returnTextChair;
 };
 
   fnc_Pos_fired3 = {
disableSerialization;
_indexBed = lbCurSel 2669; // index of selection
_returnTextBed = lbText [2669, _indexBed]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexBed,_returnTextBed];// display the value
 classnameChange = _returnTextBed;
 };
 
   fnc_Pos_fired4 = {
disableSerialization;
_indexBath = lbCurSel 2670; // index of selection
_returnTextBath = lbText [2670, _indexBath]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexBath,_returnTextBath];// display the value
 classnameChange = _returnTextBath;
 };
 
   fnc_Pos_fired5 = {
disableSerialization;
_indexShelf = lbCurSel 2671; // index of selection
_returnTextShelf = lbText [2671, _indexShelf]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexShelf,_returnTextShelf];// display the value
 classnameChange = _returnTextShelf;
 };
 
   fnc_Pos_fired6 = {
disableSerialization;
_indexMisc = lbCurSel 2672; // index of selection
_returnTextMisc = lbText [2672, _indexMisc]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexMisc,_returnTextMisc];// display the value
 classnameChange = _returnTextMisc;
 };
 
   fnc_Pos_fired7 = {
disableSerialization;
_indexTable = lbCurSel 2673; // index of selection
_returnTextTable = lbText [2673, _indexTable]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexTable,_returnTextTable];// display the value
 classnameChange = _returnTextTable;
 };
 
    fnc_Pos_fired8 = {
disableSerialization;
_indexExt = lbCurSel 2674; // index of selection
_returnTextExt = lbText [2674, _indexExt]; // name of selection
 hint format["BAR : [%1] \n [%2]",_indexExt,_returnTextExt];// display the value
 classnameChange = _returnTextExt;
 };
 
_classname = classnameChange;
 
if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
DZE_ActionInProgress = true;
 
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_isWater =  dayz_isSwimming;
_cancel = false;
_reason = "";
_canBuildOnPlot = false;
 
_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
 
DZE_Q = false;
DZE_Z = false;
 
DZE_Q_alt = false;
DZE_Z_alt = false;
 
DZE_Q_ctrl = false;
DZE_Z_ctrl = false;
 
DZE_5 = false;
DZE_4 = false;
DZE_6 = false;
 
DZE_cancelBuilding = false;
 
call gear_ui_init;
closeDialog 1;
 
if (_isWater) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"];};
if (_inVehicle) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];};
if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_21", "PLAIN DOWN"];};
if (player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];};
 
_item = _this;
 
// Need Near Requirements
_abort = false;
_distance = 3;
_reason = "";
 
 
if(_abort) exitWith {
cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
DZE_ActionInProgress = false;
};
 
 
_classnametmp = _classname;
//_require =  getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
_text =  getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
 
_lockable = 0;
 
_requireplot = DZE_requireplot;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
};
 
_isAllowedUnderGround = 1;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
};
 
_offset =  getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
if((count _offset) <= 0) then {
_offset = [0,3.5,0]; //This is distance of object from player XYZ.. increase Y if you want an object to spawn further away from player
};
 
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
_isLandFireDZ = (_classname == "Land_Fire_DZ");
 
_distance = DZE_PlotPole select 0;
_needText = localize "str_epoch_player_246";
 
if(_isPole) then {
_distance = DZE_PlotPole select 1;
};


_proceed = true;
// check for near plot
_findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], 30];
_findNearestPole = [];
{if (alive _x) then {_findNearestPole set [(count _findNearestPole),_x];};} foreach _findNearestPoles;

_IsNearPlot = count (_findNearestPole);

if(_IsNearPlot >= 1) then {
	_proceed = false;
	_plotReq = false;
	_nearestPole = _findNearestPole select 0;

	// Find owner
	_ownerID = _nearestPole getVariable["CharacterID","0"];
	
	// check if friendly to owner
	if(dayz_characterID != _ownerID) then {

		_friendlies		= player getVariable ["friendlyTo",[]];
		// check if friendly to owner
		if(!(_ownerID in _friendlies)) then {
			_proceed = false;
			} else {
			_proceed = true;
		};
		} else {
		_proceed = true;
	};
};
_missing = "";
 
_location = [0,0,0];
_isOk = true;
 
// get inital players position
_location1 = getPosATL player;
_dir = getDir player;
 
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
 
_object attachTo [player,_offset];
 
_position = getPosATL _object;
 
cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"];
 
_objHDiff = 0;

 
while {_isOk} do {
	 
	_zheightchanged = false;
	_zheightdirection = "";
	_rotate = false;
	 
	if (DZE_Q) then {
	DZE_Q = false;
	_zheightdirection = "up";
	_zheightchanged = true;
	};
	if (DZE_Z) then {
	DZE_Z = false;
	_zheightdirection = "down";
	_zheightchanged = true;
	};
	if (DZE_Q_alt) then {
	DZE_Q_alt = false;
	_zheightdirection = "up_alt";
	_zheightchanged = true;
	};
	if (DZE_Z_alt) then {
	DZE_Z_alt = false;
	_zheightdirection = "down_alt";
	_zheightchanged = true;
	};
	if (DZE_Q_ctrl) then {
	DZE_Q_ctrl = false;
	_zheightdirection = "up_ctrl";
	_zheightchanged = true;
	};
	if (DZE_Z_ctrl) then {
	DZE_Z_ctrl = false;
	_zheightdirection = "down_ctrl";
	_zheightchanged = true;
	};
	if (DZE_4) then {
	_rotate = true;
	DZE_4 = false;
	_dir = 180;
	};
	if (DZE_6) then {
	_rotate = true;
	DZE_6 = false;
	_dir = 0;
	};
	 
	if(_rotate) then {
	_object setDir _dir;
	_object setPosATL _position;
	//diag_log format["DEBUG Rotate BUILDING POS: %1", _position];
	};
	 
	if(_zheightchanged) then {
	detach _object;
	 
	_position = getPosATL _object;
	 
	if(_zheightdirection == "up") then {
	_position set [2,((_position select 2)+0.1)];
	_objHDiff = _objHDiff + 0.1;
	};
	if(_zheightdirection == "down") then {
	_position set [2,((_position select 2)-0.1)];
	_objHDiff = _objHDiff - 0.1;
	};
	 
	if(_zheightdirection == "up_alt") then {
	_position set [2,((_position select 2)+1)];
	_objHDiff = _objHDiff + 1;
	};
	if(_zheightdirection == "down_alt") then {
	_position set [2,((_position select 2)-1)];
	_objHDiff = _objHDiff - 1;
	};
	 
	if(_zheightdirection == "up_ctrl") then {
	_position set [2,((_position select 2)+0.01)];
	_objHDiff = _objHDiff + 0.01;
	};
	if(_zheightdirection == "down_ctrl") then {
	_position set [2,((_position select 2)-0.01)];
	_objHDiff = _objHDiff - 0.01;
	};
	 
	_object setDir (getDir _object);
	 
	if((_isAllowedUnderGround == 0) and ((_position select 2) < 0)) then {
	_position set [2,0];
	};
	 
	_object setPosATL _position;
	 
	//diag_log format["DEBUG Change BUILDING POS: %1", _position];
	 
	_object attachTo [player];
	 
	};
	 
	sleep 0.5;
	 
	_location2 = getPosATL player;
	 
	if(DZE_5) exitWith {
	_isOk = false;
	detach _object;
	_dir = getDir _object;
	_position = getPosATL _object;
	//diag_log format["DEBUG BUILDING POS: %1", _position];
	deleteVehicle _object;
	};
	 
	if(_location1 distance _location2 > 5) exitWith {
	_isOk = false;
	_cancel = true;
	_reason = "You've moved to far away from where you started building (within 5 meters)";
	detach _object;
	deleteVehicle _object;
	};
	 
	if(abs(_objHDiff) > 5) exitWith {
	_isOk = false;
	_cancel = true;
	_reason = "Cannot move up or down more than 5 meters";
	detach _object;
	deleteVehicle _object;
	};
	 
	if (player getVariable["combattimeout", 0] >= time) exitWith {
	_isOk = false;
	_cancel = true;
	_reason = (localize "str_epoch_player_43");
	detach _object;
	deleteVehicle _object;
	};
	 
	if (DZE_cancelBuilding) exitWith {
	_isOk = false;
	_cancel = true;
	_reason = "Cancelled building.";
	detach _object;
	deleteVehicle _object;
	};
};
 
//No building on roads unless toggled
if (!DZE_BuildOnRoads) then {
if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; };
};
 
// No building in trader zones
if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
 
if (!_proceed) then {_cancel = true; _reason = "Someone's plotpole nearby";};
if (_plotReq) then {_cancel = true; _reason = "Plotpole required to build here";};

if(!_cancel) then {
 
_classname = _classnametmp;
 
// Start Build
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
 
_tmpbuilt setdir _dir;
 
// Get position based on object
_location = _position;
 
if((_isAllowedUnderGround == 0) and ((_location select 2) < 0)) then {
_location set [2,0];
};
 
_tmpbuilt setPosATL _location;
 
 
cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];
 
_limit = 1;
 
if (DZE_StaticConstructionCount > 0) then {
_limit = DZE_StaticConstructionCount;
}
else {
if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then {
_limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount");
};
};
 
player playActionNow "Medic";
[player,"repair",0,false,10] call dayz_zombieSpeak;
[player,10,true,(getPosATL player)] spawn player_alertZombies;
sleep 3;
 
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
 
if (_isPole) then {
[] spawn player_plotPreview;
};
 
_tmpbuilt setVariable ["OEMPos",_location,true];
 
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
 
_charID = dayz_characterID;
_activatingPlayer = player;
 
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
publicVariableServer "PVDZE_obj_Publish";
player removeMagazine "ItemEmerald";
cutText [format["%1 saved to database!",_classname], "PLAIN DOWN",3];
player reveal _tmpbuilt;
DZE_ActionInProgress = false;
 
} else {
cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
DZE_ActionInProgress = false;
};
 
DZE_ActionInProgress = false; 

 

interior\remove.sqf (NEW):

private ["_isEmeraldItem","_emeraldTarget","_objectID","_objectUID","_objD","_findNearestPoles","_findNearestPole","_nearestPole","_ownerID","_friendlies"];
_emeraldTarget = cursorTarget;
_isEmeraldItem = (typeOf _emeraldTarget) in isEmerald;
_proceed = true;

_findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], 30];
_findNearestPole = [];
{if (alive _x) then {_findNearestPole set [(count _findNearestPole),_x];};} foreach _findNearestPoles;

_IsNearPlot = count (_findNearestPole);

if(_IsNearPlot >= 1) then {
	_proceed = false;
	_nearestPole = _findNearestPole select 0;

	// Find owner
	_ownerID = _nearestPole getVariable["CharacterID","0"];
	
	// check if friendly to owner
	if(dayz_characterID != _ownerID) then {

		_friendlies		= player getVariable ["friendlyTo",[]];
		// check if friendly to owner
		if(!(_ownerID in _friendlies)) then {
			_proceed = false;
			} else {
			_proceed = true;
		};
		} else {
		_proceed = true;
	};
};

if (!_proceed) then { 
// player is not an owner
    cutText [format["Plotpole nearby."], "PLAIN DOWN"];
} else {
	if (_isEmeraldItem) then {
	// player is looking at a object and the target has a object classname
	// delete it first to avoid player changing to another target
		_objD = typeOf cursorTarget;
		_objectID = cursorTarget getVariable["CharacterID","0"];
		_objectUID	= cursorTarget getVariable ["ObjectUID","0"];
		PVDZE_obj_Delete = [_objectID,_objectUID,player];
		publicVariableServer "PVDZE_obj_Delete";
		_emeraldTarget setDamage 1;
		deletevehicle cursorTarget; 
		player removeAction s_player_removeEmerald;
		player playActionNow "Medic";
		r_interrupt = false;
		_dis=10;
		_sfx = "repair";
		[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
		[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
		sleep 6;
		cutText [format["Deleted %1", _objD], "PLAIN DOWN"];
		r_interrupt = false;
		player switchMove "";
		player playActionNow "stop";
	} else {
		// player is not looking at object, or target does not have a object classname
		cutText [format["You have to be facing the object you are removing"], "PLAIN DOWN"];
	};
}; 

 

custom\fn_selfActions.sqf (Updated V1.1.1)

Add to the very bottom of the file:

//delete interior
isEmerald = ["MAP_kasna_new","MAP_Misc_Boogieman","MAP_ChickenCoop","MAP_Misc_Greenhouse","MAP_Misc_Hutch","MAP_Misc_Well","MAP_Misc_WellPump","MAP_PowerGenerator","MAP_psi_bouda","MAP_pumpa","MAP_stanek_3","MAP_stanek_3_d","MAP_stanek_3B","MAP_AirCond_big","MAP_AirCond_small","MAP_antenna_big_roof","MAP_antenna_small_roof","MAP_antenna_small_roof_1","MAP_drapes","MAP_drapes_long","MAP_GasMeterExt","MAP_Ladder","MAP_P_Ladder","MAP_LadderHalf","MAP_P_LadderLong","MAP_leseni2x","MAP_leseni4x","MAP_Misc_loudspeakers","MAP_parabola_big","MAP_P_Stavebni_kozy","MAP_Heli_H_civil","MAP_Heli_H_army","MAP_Heli_H_cross","MAP_Heli_H_rescue","MAP_Sr_border","MAP_drevo_hromada","MAP_garbage_misc","MAP_garbage_paleta","MAP_Ind_BoardsPack1","MAP_Ind_BoardsPack2","MAP_Ind_Timbers","MAP_Kontejner","MAP_Misc_GContainer_Big","MAP_Misc_HayStack","MAP_Misc_TyreHeap","MAP_Misc_WoodPile","MAP_pneu","MAP_popelnice","MAP_sekyraspalek","MAP_seno_balik","MAP_concrete_block","MAP_Concrete_Ramp","MAP_ramp_concrete","MAP_woodenRamp","MAP_brana","MAP_Houpacka","MAP_nastenkaX","MAP_Piskoviste","MAP_snowman","MAP_Barel1","MAP_Barel3","MAP_Barel4","MAP_Barel5","MAP_Barel6","MAP_Barel7","MAP_Barel8","MAP_Barels","MAP_Barels2","MAP_Barels3","MAP_barrel_empty","MAP_barrel_sand","MAP_barrel_water","MAP_P_bedna","MAP_box_c","MAP_P_cihly1","MAP_P_cihly2","MAP_P_cihly3","MAP_P_cihly4","MAP_metalcrate","MAP_metalcrate_02","Misc_concrete","MAP_Misc_G_Pipes","MAP_Misc_palletsfoiled","MAP_Misc_palletsfoiled_heap","MAP_obstacle_get_over","MAP_obstacle_prone","MAP_obstacle_run_duck","MAP_paletaA","MAP_paletyC","MAP_paletyD","MAP_Pallets_Column","MAP_P_pipe_big","MAP_P_pipe_small","MAP_P_ytong","MAP_picture_a","MAP_picture_a_02","MAP_picture_a_03","MAP_picture_a_04","MAP_picture_a_05","MAP_picture_b","MAP_picture_b_02","MAP_picture_c","MAP_picture_c_02","MAP_picture_d","MAP_picture_e","MAP_picture_f","MAP_picture_f_02","MAP_picture_g","MAP_wall_board","MAP_wall_board_02","MAP_wall_board_03","MAP_F_ch_mod_c","MAP_ch_mod_h","MAP_armchair","MAP_ch_mod_h","MAP_ch_office_B","MAP_chair","MAP_Church_chair","MAP_hospital_bench","MAP_kitchen_chair_a","MAP_lavicka_1","MAP_lavicka_2","MAP_lavicka_3","MAP_lavicka_4","MAP_lobby_chair","MAP_office_chair","MAP_F_postel_manz_kov","MAP_F_postel_panelak1","MAP_F_postel_panelak2","MAP_F_Vojenska_palanda","MAP_postel_manz_kov","MAP_postel_panelak1","MAP_vojenska_palanda","MAP_fridge","MAP_Kitchenstove_Elec","MAP_washing_machine","MAP_P_Basin_A","MAP_P_bath","MAP_F_bath","MAP_lekarnicka","MAP_P_sink","MAP_toilet_b","MAP_P_toilet_b_02","MAP_almara","MAP_case_a","MAP_case_bedroom_a","MAP_case_bedroom_b","MAP_case_cans_b","MAP_case_d","MAP_case_wall_unit_part_c","MAP_case_wall_unit_part_d","MAP_case_wooden_b","MAP_Dhangar_borwnskrin","MAP_Dhangar_brownskrin","MAP_Dhangar_knihovna","MAP_library_a","MAP_shelf","MAP_Skrin_bar","MAP_Skrin_opalena","MAP_Truhla_stara","MAP_briefcase","MAP_Dkamna_bila","MAP_Dkamna_uhli","MAP_F_Dkamna_uhli","MAP_icebox","MAP_mutt_vysilacka","MAP_notebook","MAP_pc","MAP_phonebox","MAP_radio","MAP_radio_b","MAP_satelitePhone","MAP_smallTV","MAP_tv_a","MAP_vending_machine","MAP_lantern","MAP_bucket","MAP_MetalBucket","MAP_FuelCan","MAP_SmallObj_money","MAP_conference_table_a","MAP_desk","MAP_Dhangar_psacistul","MAP_F_conference_table_a","MAP_kitchen_table_a","MAP_lobby_table","MAP_office_table_a","MAP_pultskasou","MAP_SmallTable","MAP_stul_hospoda","MAP_stul_kuch1","MAP_Table","MAP_table_drawer"];
_isEmeraldItem = (typeOf cursorTarget) in isEmerald;
_emeraldTarget = typeOf cursorTarget;

if((_isEmeraldItem and (player distance cursorTarget <= 2)) and _canDo) then {
if (s_player_removeEmerald < 0) then {
        s_player_removeEmerald = player addaction [format[("<t color=""#ff0000"">" + ("Remove %1") +"</t>"),_emeraldTarget],"interior\remove.sqf",_emeraldTarget];
    };
} else {
    player removeAction s_player_removeEmerald;
    s_player_removeEmerald = -1;
}; 

Edited by raymix
Link to comment
Share on other sites

UPDATE: If you are already using different dialogs, you have probably already defined majority of stuff you'll find in defines.hpp 

I posted full file originally for people who does not have any other dialog system

Here's clean defines of what emerald uses:

defines.hpp:

http://pastebin.com/YLUmZ18U

 

If you are running latest infistar AH or custom BE filters, Update your createvehicle.txt, by adding !="MAP_phonebox" !="MAP_icebox"  :

 

createvehicle.txt

//new
<part removed due to security>
5 "box" !="MAP_phonebox" !="MAP_icebox" !="DebugBoxPlayer_DZ" !="MedBox0" <rest of boxes here, removed for security>
<part removed due to security>

Deleting objects using Infistar: (this will enable you to delete these interior objects using F4 shortcut as admin)

Open dayz_server\init\AH.sqf (Updated):

 

find:

if (BD_radius > 100) then {
						cutText [format["area is to large for base destruction (radius %1 > 100)", BD_radius], "PLAIN DOWN"];
					} else {
						_objectClasses =
						[
"Sign_arrow_down_large_EP1","TentStorage",....................

add these right before "Sign_arrow_down_large_EP1" and after _objectClasses = [

					if (BD_radius > 100) then {
						cutText [format["area is to large for base destruction (radius %1 > 100)", BD_radius], "PLAIN DOWN"];
					} else {
						_objectClasses =
						[
						//Raymix
							"MAP_picture_a",
							"MAP_picture_a_02",
							"MAP_picture_a_03",
							"MAP_picture_a_04",
							"MAP_picture_a_05",
							"MAP_picture_b",
							"MAP_picture_b_02",
							"MAP_picture_c",
							"MAP_picture_c_02",
							"MAP_picture_d",
							"MAP_picture_e",
							"MAP_picture_f",
							"MAP_picture_f_02",
							"MAP_picture_g",
							"MAP_wall_board",
							"MAP_wall_board_02",
							"MAP_wall_board_03",
							"MAP_F_ch_mod_c",
							"MAP_ch_mod_h",
							"MAP_armchair",
							"MAP_ch_mod_h",
							"MAP_ch_office_B",
							"MAP_chair",
							"MAP_Church_chair",
							"MAP_hospital_bench",
							"MAP_kitchen_chair_a",
							"MAP_lavicka_1",
							"MAP_lavicka_2",
							"MAP_lavicka_3",
							"MAP_lavicka_4",
							"MAP_lobby_chair",
							"MAP_office_chair",
							"MAP_F_postel_manz_kov",
							"MAP_F_postel_panelak1",
							"MAP_F_postel_panelak2",
							"MAP_F_Vojenska_palanda",
							"MAP_postel_manz_kov",
							"MAP_postel_panelak1",
							"MAP_vojenska_palanda",
							"MAP_fridge",
							"MAP_Kitchenstove_Elec",
							"MAP_washing_machine",
							"MAP_P_Basin_A",
							"MAP_P_bath",
							"MAP_F_bath",
							"MAP_lekarnicka",
							"MAP_P_sink",
							"MAP_toilet_b",
							"MAP_P_toilet_b_02",
							"MAP_almara",
							"MAP_case_a",
							"MAP_case_bedroom_a",
							"MAP_case_bedroom_b",
							"MAP_case_cans_b",
							"MAP_case_d",
							"MAP_case_wall_unit_part_c",
							"MAP_case_wall_unit_part_d",
							"MAP_case_wooden_b",
							"MAP_Dhangar_borwnskrin",
							"MAP_Dhangar_brownskrin",
							"MAP_Dhangar_knihovna",
							"MAP_library_a",
							"MAP_shelf",
							"MAP_Skrin_bar",
							"MAP_Skrin_opalena",
							"MAP_Truhla_stara",
							"MAP_briefcase",
							"MAP_Dkamna_bila",
							"MAP_Dkamna_uhli",
							"MAP_F_Dkamna_uhli",
							"MAP_icebox",
							"MAP_mutt_vysilacka",
							"MAP_notebook",
							"MAP_pc",
							"MAP_phonebox",
							"MAP_radio",
							"MAP_radio_b",
							"MAP_satelitePhone",
							"MAP_smallTV",
							"MAP_tv_a",
							"MAP_vending_machine",
							"MAP_lantern",
							"MAP_bucket",
							"MAP_MetalBucket",
							"MAP_FuelCan",
							"MAP_SmallObj_money",
							"MAP_conference_table_a",
							"MAP_desk",
							"MAP_Dhangar_psacistul",
							"MAP_F_conference_table_a",
							"MAP_kitchen_table_a",
							"MAP_lobby_table",
							"MAP_office_table_a",
							"MAP_pultskasou",
							"MAP_SmallTable",
							"MAP_stul_hospoda",
							"MAP_stul_kuch1",
							"MAP_Table",
							"MAP_table_drawer",
							"MAP_kasna_new",
							"MAP_Misc_Boogieman",
							"MAP_ChickenCoop",
							"MAP_Misc_Greenhouse",
							"MAP_Misc_Hutch",
							"MAP_Misc_Well",
							"MAP_Misc_WellPump",
							"MAP_PowerGenerator",
							"MAP_psi_bouda",
							"MAP_pumpa",
							"MAP_stanek_3",
							"MAP_stanek_3_d",
							"MAP_stanek_3B",
							"MAP_AirCond_big",
							"MAP_AirCond_small",
							"MAP_antenna_big_roof",
							"MAP_antenna_small_roof",
							"MAP_antenna_small_roof_1",
							"MAP_drapes",
							"MAP_drapes_long",
							"MAP_GasMeterExt",
							"MAP_Ladder",
							"MAP_P_Ladder",
							"MAP_LadderHalf",
							"MAP_P_LadderLong",
							"MAP_leseni2x",
							"MAP_leseni4x",
							"MAP_Misc_loudspeakers",
							"MAP_parabola_big",
							"MAP_P_Stavebni_kozy",
							"MAP_Heli_H_civil",
							"MAP_Heli_H_army",
							"MAP_Heli_H_cross",
							"MAP_Heli_H_rescue",
							"MAP_Sr_border",
							"MAP_drevo_hromada",
							"MAP_garbage_misc",
							"MAP_garbage_paleta",
							"MAP_Ind_BoardsPack1",
							"MAP_Ind_BoardsPack2",
							"MAP_Ind_Timbers",
							"MAP_Kontejner",
							"MAP_Misc_GContainer_Big",
							"MAP_Misc_HayStack",
							"MAP_Misc_TyreHeap",
							"MAP_Misc_WoodPile",
							"MAP_pneu",
							"MAP_popelnice",
							"MAP_sekyraspalek",
							"MAP_seno_balik",
							"MAP_concrete_block",
							"MAP_Concrete_Ramp",
							"MAP_ramp_concrete",
							"MAP_woodenRamp",
							"MAP_brana",
							"MAP_Houpacka",
							"MAP_nastenkaX",
							"MAP_Piskoviste",
							"MAP_snowman",
							"MAP_Barel1",
							"MAP_Barel3",
							"MAP_Barel4",
							"MAP_Barel5",
							"MAP_Barel6",
							"MAP_Barel7",
							"MAP_Barel8",
							"MAP_Barels",
							"MAP_Barels2",
							"MAP_Barels3",
							"MAP_barrel_empty",
							"MAP_barrel_sand",
							"MAP_barrel_water",
							"MAP_P_bedna",
							"MAP_box_c",
							"MAP_P_cihly1",
							"MAP_P_cihly2",
							"MAP_P_cihly3",
							"MAP_P_cihly4",
							"MAP_metalcrate",
							"MAP_metalcrate_02",
							"Misc_concrete",
							"MAP_Misc_G_Pipes",
							"MAP_Misc_palletsfoiled",
							"MAP_Misc_palletsfoiled_heap",
							"MAP_obstacle_get_over",
							"MAP_obstacle_prone",
							"MAP_obstacle_run_duck",
							"MAP_paletaA",
							"MAP_paletyC",
							"MAP_paletyD",
							"MAP_Pallets_Column",
							"MAP_P_pipe_big",
							"MAP_P_pipe_small",
							"MAP_P_ytong",
						//Raymix
							"Sign_arrow_down_large_EP1","TentStorage", 

 

Known Bug: The very first time you try to place an object, it grabs wrong index and exits with "plotpole nearby" error. Solution: Simply hit ESC to cancel building and try again.

Edited by raymix
Link to comment
Share on other sites

Really nice work, but the server crashes when first player join with the popup window: File mpmissions\dayz_epoch_11.Chernarus\interior\defines.hpp, line 21: .RscText: member already defined.

 

:huh: Any suggestions? Does this realy belong to chernarus?

Link to comment
Share on other sites

Really nice work, but the server crashes when first player join with the popup window: File mpmissions\dayz_epoch_11.Chernarus\interior\defines.hpp, line 21: .RscText: member already defined.

 

:huh: Any suggestions? Does this realy belong to chernarus?

He says it only works with Panthera in the video

Link to comment
Share on other sites

Wow! I am surprised this actually generated so much interest, thanks guys!

 

@CopeGD: it is independent of the map you use. It should work with any DayZ mod

 

@TayTayTheKiller: Hence the emerald! I literary saw sims in my dreams in the morning and I woke up to a though - holy hell, epoch needs this, and we have emeralds! So the same day this thing was born

 

@aaaman: Open defines.hpp and delete RscText class, you have already defined it somewhere else, my instant guess is watermark in description.ext. Basically you can only define dialog class only once, so solution is super simple, delete any class you have already defined and that might pop up in future, but in this case, delete this part in defines.hpp:

class RscText
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_MULTI;
    linespacing = 1;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,.5};
    text = "";
    shadow = 2;
    font = "Bitstream";
    SizeEx = 0.02300;
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
   
};
Link to comment
Share on other sites

I have edited that post about 3 times, aaaman, please make sure to refresh.

 

I am currently running this script on Panthera and Chernarus servers. There is literary no difference what map you are running it on.

In some rare cases, you might get a skippable "this mission is dependant on downloadable content" error dialog upon joining server, this just means you have to add extra line or two into your mission.sqf in mission PBO, let me know if you do get that error and give please give me exact error it shows, I will tell you how to fix it and keep your server clean.

Thanks

Link to comment
Share on other sites

I have edited that post about 3 times, aaaman, please make sure to refresh.

 

I am currently running this script on Panthera and Chernarus servers. There is literary no difference what map you are running it on.

In some rare cases, you might get a skippable "this mission is dependant on downloadable content" error dialog upon joining server, this just means you have to add extra line or two into your mission.sqf in mission PBO, let me know if you do get that error and give please give me exact error it shows, I will tell you how to fix it and keep your server clean.

Thanks

I got it working with your hint. Deleted the class RscText and RscPicture from your define.hpp and it works!

 

Thanks mate!

Link to comment
Share on other sites

Found a bug related to Battleeye/infistar:

 

When spawning an icebox, you get kicket for create vehicle restriction, cause "box" is forbidden and results in a kick.

Don't testet all items, but maybe there be some more ;)

Link to comment
Share on other sites

Found a bug related to Battleeye/infistar:

 

When spawning an icebox, you get kicket for create vehicle restriction, cause "box" is forbidden and results in a kick.

Don't testet all items, but maybe there be some more ;)

 

You are correct, forgot to give you guys BE filters, i will update second post now.

You will get kicked for vehicle creation because Infistar's latest BE filter kicks anything that has to do with "box" in it's name, check line 4.

To fix that, in createvehicle.ext add:

5 "box" !="MAP_phonebox" !="MAP_icebox"

right after 5 "box" and before !="DebugBoxPlayer_DZ"

Link to comment
Share on other sites

hi

I have finally got it working, a little typing error i did not notice. i had an extra ], the log even told me where it was and what it was but i did not see it (eyes tired i guess).

 But i have another problem i am not sure about. when I right click on emerald it gives me choices and i then pick a choice and hit spawn. The item shows up and when i am ready to hit space bar to build, it disappears after 3 secs and then says its be added to database but there is nothing there.

 thx in advance

Link to comment
Share on other sites

@calamity: you will need to check RPT log, i am guessing you've already defined one of dialog classes somewhere, so you will need to delete that class in interior\defines.hpp 

 

@WEREWOLF: Hi, you probably missed the variables.sqf part. You need to include them in dayz_allowedObjects otherwise server deletes them upon creation.

Added to database part is simply a cuttext that pops up after publish was called and ItemEmerald removed. The action was actually successful, its just that the item is not included in default variables and requires you to override that file with a custom one. You can find original variables.sqf in your Dayz_code PBO in your client files, then simply put it in custom folder and replace this compile line in your init.sqf:

 

init.sqf

call compile preprocessFileLineNumbers "custom\variables.sqf";				//Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;

When you got this part, simply follow instructions in first post on how to add them to dayz_allowedObjects

Link to comment
Share on other sites

It would easily be possible to change the item that makes the furniture from emerald to something else, right?

yes, change it in extra_rc file and then scroll down to very bottom of spawn.sqf and change removeMagazine part there, as well

Link to comment
Share on other sites

It´s working fine !

Many thanks for this nice script !

 

But i have noticed a heavy bug with it:

When you have built any object with the Designer it is saved to the database, right.

BUT: How we can deconstruct this building ? No option is shown for that. Are these objects indestructible or can i use a chainsaw or something else to destroy the placed objects ?

 

With standard epoch buildings you have the choice to remove the objects that you had built. But here i don´t know any further way to get this option.

I was trying to use my player_build.sqf for the code in the "spawn.sqf", but if i use this, the server tolds me, i need a plotpole to build. :(

 

Any suggestions ?

Link to comment
Share on other sites

It´s working fine !

Many thanks for this nice script !

 

But i have noticed a heavy bug with it:

When you have built any object with the Designer it is saved to the database, right.

BUT: How we can deconstruct this building ? No option is shown for that. Are these objects indestructible or can i use a chainsaw or something else to destroy the placed objects ?

 

With standard epoch buildings you have the choice to remove the objects that you had built. But here i don´t know any further way to get this option.

I was trying to use my player_build.sqf for the code in the "spawn.sqf", but if i use this, the server tolds me, i need a plotpole to build. :(

 

Any suggestions ?

Hi, thanks for kind words

Check the second post, if you are using infistar AH tool. If you can figure out how to add these to "DELETE" button, please let me know. Currently only F4 button used by infistar works with workaround

Link to comment
Share on other sites

Iam using "EVR", "Build_Snap" and "Spawn Selecter for Chernarus".

I dont know if anything of dialogs are doubled...

What i can say, that i had to remove the class picture and the class RscText because of the Spawn Selecter .

 

Here is my description.ext (if you feel free to take a look at it ;) )

#include "fixes\config\CfgBuildingLoot.hpp"
#include "fixes\config\CfgLoot.hpp"
#include "fixes\config\CfgLootSmall.hpp"
#include "scripts\evr\config\sound.hpp"

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 = "fixes\img\img.jpg";
class Header
{
 gameType = COOP;
 minPlayers = 1;
 maxPlayers = 100;
};
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 CfgFunctions {
    class DZN {
        class Functions {
            class snowfall {
                description = "Simple snowfall script";
                file = "fixes\dayz_code\external\fn_dzn_snowfall.sqf";
            };
        };
    };
};
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.8,0,1,0)";
};
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 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 RscTextNS
    {
    idc = -1;
    type = 0;
    style = 2;
    LineSpacing = 1.0;
    h = 0.04;
    ColorBackground[] = {1,1,1,0.2};
    ColorText[] = {0.1,0.1,0.1,1};
    font = "BitStream";
    SizeEx = 0.025;
    };
    class RscTitles {
            class RscAPSI_h1
            {
                idd = -1;
                duration = 4;
                fadein = 0;
                movingEnable = 0;
                enableSimulation = 0;
                enableDisplay = 0;
                class controls
            {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.5;
                h = 0.03;
                text = "APSI: Stronger activity of floax field has been detected..";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {1.0,0.2,0.1,1};
            };
        };
    };
    class RscAPSI_h2: RscAPSI_h1
    {
        class controls
        {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.4;
                h = 0.03;
                text = "APSI: EVR sequence detected..";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {1.0,0.0,0.2,1};
            };
        };
    };
    class RscAPSI_h3: RscAPSI_h1
    {
        class controls
        {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.4;
                h = 0.03;
                text = "APSI: EM and PSI protection enabled..";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {0.0,1.0,0.2,1};
            };
        };
    };
    class RscAPSI_h4: RscAPSI_h1
    {
        class controls
        {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.4;
                h = 0.03;
                text = "APSI: Ready..";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {0.0,1.0,0.2,1};
            };
        };
    };
    class RscAPSI_h5: RscAPSI_h1
    {
        class controls
        {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.4;
                h = 0.03;
                text = "APSI: EVR sequence start..";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {1.0,0.0,0.2,1};
            };
        };
    };
    class RscAPSI_h6: RscAPSI_h1
    {
        class controls
        {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.4;
                h = 0.03;
                text = "APSI: End of EVR..";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {0.0,1.0,0.2,1};
            };
        };
    };
    class RscAPSI_ha: RscAPSI_h1
    {
        class controls
        {
            class APSILog: RscTextNS
            {
                x = 0.5;
                y = 0.99;
                w = 0.4;
                h = 0.03;
                text = "Blowout module";
                colorBackground[] = {0.5,0.5,0.5,0.4};
                ColorText[] = {0.0,1.0,0.2,1};
            };
        };
    };
};
};
//BUILDING SNAPPING
#include "scripts\snap_build\points.hpp"
//SPAWN SELECTION
#include "fixes\dayz_code\config\RscDisplaySpawnSelecter.hpp"
//SARGE AI 1.5.2
#include "scripts\sarge\SARGE\SAR_define.hpp"
//BASEBUILDING RIGHTCLICK & INTERIOR BUILDING
#include "fixes\config\extra_rc.hpp"
#include "scripts\snap_build\interior\defines.hpp"
#include "scripts\snap_build\interior\dialogs.hpp"

What i´m testing now is to destroy the buildings with a chainsaw. I really can destroy them. If they occour again after restart, i will see in a few minutes and then i can tell you. ;) Hope that if i destroy the objects, they will be deleted from database too, then iam happy ;)

And i hope that i still can remove the standard epoch buildings. That´s what i will check now, too.

 

I can try to modify the script, so we have a "remove" function, but i´m not sure if i can manage this. My knowledge of hpp files is really bad...

 

EDIT:

So, the objects can be destroyed. But it´s happened what i was thinking about: I dont can remove the standard epoch buildings anymore. :(

Link to comment
Share on other sites

@Sp4rkY: This script does not replace epoch building, it just borrows the code used in player_build.sqf, just like snap building does. Your problem is somewhere else.

edit: i've just read your previous post. Don't replace spawn.sqf with player_build.sqf unless you know what you are doing. Spawn.sqf file was already created using modified player_build that epoch uses, it does not replace it.

Link to comment
Share on other sites

no, i had not replaced it. i only used my player_build code in your spawn.sqf file.

but than, it says i need a plotpole. i tested it and setted a plot but still dont can build things of the designer.

now i use your original spawn.sqf again. i was thinking that the remove function is in the player_build code, but it isnt...

i have no more ideas to get the dialog back for removing my epoch build stuff...

 

the built objects of the designer i can destroy with any weapon and then its deleted from database too, thats fine. But the remove option of epoch stuff like a ItemWoodWall doesnt appears anymore, u know?

Sry for my bad english :)

 

At my server u dont need a plot to build and i have setted up the players buildings with playerUID instead of characterID, perhaps this is a reason for my error ?

Link to comment
Share on other sites

no, i had not replaced it. i only used my player_build code in your spawn.sqf file.

but than, it says i need a plotpole. i tested it and setted a plot but still dont can build things of the designer.

now i use your original spawn.sqf again. i was thinking that the remove function is in the player_build code, but it isnt...

i have no more ideas to get the dialog back for removing my epoch build stuff...

 

the built objects of the designer i can destroy with any weapon and then its deleted from database too, thats fine. But the remove option of epoch stuff like a ItemWoodWall doesnt appears anymore, u know?

Sry for my bad english :)

 

At my server u dont need a plot to build and i have setted up the players buildings with playerUID instead of characterID, perhaps this is a reason for my error ?

make sure you got crowbar and/or etool to remove stuff, lol

Remove action is to do with fnselfactions, this script avoids using it.

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
×
×
  • Create New...