Jump to content

[Outdated][1.6.1 RELEASE] WORKSHOP UPDATED


juandayz

Recommended Posts

Fully rewrited. (So if u have it installed.. remove everything).

1-Open your custom fn_selfactions.sqf

Spoiler

A_find:


if (s_player_plot_boundary < 0 && (_allowed or (_hasAccess select 1))) then {
s_player_plot_boundary = player addAction [localize "STR_EPOCH_PLOTMANAGEMENT_SHOW_BOUNDARY", "\z\addons\dayz_code\actions\plotManagement\plotToggleMarkers.sqf", "", 1, false];
};

below paste:


if (s_player_managework < 0) then {
s_player_managework = player addAction ["<t color='#66CCFF'>MANAGE WORKSHOP</t>", "scripts\workshop\workshopmenu.sqf", [], 5, false];
};

Find:


} else {
		player removeAction s_player_plotManagement;
		s_player_plotManagement = -1;
		player removeAction s_player_maintain_area;
		s_player_maintain_area = -1;
		player removeAction s_player_maintain_area_force;
		s_player_maintain_area_force = -1;
		player removeAction s_player_maintain_area_preview;
		s_player_maintain_area_preview = -1;
		player removeAction s_player_plot_boundary;
		s_player_plot_boundary = -1;	
	};

Replace by:


}else{
player removeAction s_player_plotManagement;
		s_player_plotManagement = -1;
		player removeAction s_player_maintain_area;
		s_player_maintain_area = -1;
		player removeAction s_player_maintain_area_force;
		s_player_maintain_area_force = -1;
		player removeAction s_player_maintain_area_preview;
		s_player_maintain_area_preview = -1;
		player removeAction s_player_plot_boundary;
		s_player_plot_boundary = -1;		
		player removeAction s_player_managework;
        s_player_managework = -1;
};

 

B_Find:


player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;

Below paste:


player removeAction s_player_managework;
s_player_managework = -1;
player removeAction s_player_cctv;
s_player_cctv = -1;

C-Find:


if (_restrict || _isModular || _isModularDoor || _isGenerator || _typeOfCursorTarget in DZE_isDestroyableStorage) then {

Remplace by:


if (_restrict || _isModular || _isModularDoor || _isGenerator || _typeOfCursorTarget in DZE_isDestroyableStorage || _typeOfCursorTarget in workshop_obj) then {

D- find:


//Towing with tow truck
	/*
	if(_typeOfCursorTarget == "TOW_DZE") then {
		if (s_player_towing < 0) then {
			if(!(_cursorTarget getVariable ["DZEinTow", false])) then {
				s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true];				
			} else {
				s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true];				
			};
		};
	} else {
		player removeAction s_player_towing;
		s_player_towing = -1;
	};
	*/

below paste:


// CCTV Custom self actions

	_isLaptop2 = _cursorTarget isKindOf "SmallTV";

	if (_isLaptop2) then {
		if (s_player_cctv < 0) then {
			s_player_cctv = player addAction ["Camera System", "scripts\workshop\cctv\init.sqf",_cursorTarget, 1, true, true, "", ""];
		}
	} else {
		player removeAction s_player_cctv;
		s_player_cctv = -1;
	};	

 

2-Open custom variables.sqf

Spoiler

in somewhere paste:


workshop_obj = ["DSHKM_Gue","M2StaticMG","SearchLight_RUS","MAP_Shed_W01","MAP_Dkamna_bila","Land_Misc_Well_L_EP1","MAP_P_Stavebni_kozy",
"MAP_office_table_a","SmallTV","Loudspeaker","MAP_plot_green_draty"];

DayZ_SafeObjects = workshop_obj + DayZ_SafeObjects;
DZE_maintainClasses = DZE_maintainClasses + workshop_obj;

DZE_safeVehicle = DZE_safeVehicle + ["M2StaticMG","SearchLight_RUS","DSHKM_Gue"];

B: find:


dayz_resetSelfActions = {

paste below:


s_player_managework = -1;
s_player_cctv = -1;

 

3-Open server_monitor.sqf

Spoiler

A: Find:


_doorLocked = _type in DZE_DoorsLocked;
_isPlot = _type == "Plastic_Pole_EP1_DZ";

Below paste:


_workshop_obj = _type in workshop_obj;

B: Find:


if( (count _inventory > 0) && !_isPlot && !_doorLocked) then {

Replace by:


if( (count _inventory > 0) && !_isPlot && !_doorLocked && !_workshop_obj) then {

 

 

4.INFISTAR USERS

Spoiler

Open AHConfig.sqf

A-Be sure you have this line as false. 


_BCM =  false;

B- in :


_cMenu =[];

add the folowing:


"#USER:STATICS","#USER:USEFUL","#USER:ACTIONS","#USER:workshopMenu","#USER:surveillance"

C-in


_dayzActions =[];

add the following:


,"s_player_managework","s_player_cctv"

 

5-BE Filters. If u have some issues with battleyes open createvehicle.txt

Spoiler

5 "MAP_" !="MAP_Shed_W01" !="MAP_Dkamna_bila"  !="MAP_P_Stavebni_kozy" !="MAP_office_table_a" !="MAP_plot_green_draty"
!="DSHKM_Gue"  !="M2StaticMG" !="SearchLight_RUS" !="Land_Misc_Well_L_EP1" !="SmallTV" !="Loudspeaker"

 

6.OPTIONAL (add workshop objects to the sql damageonage function)

Spoiler

you can change your sql event damageonage by this one:


-- ----------------------------
-- Set 0.1 damage doors/plots daily.
-- ----------------------------
UPDATE `object_data`
SET `Damage` = IF( `Damage` = 0.0, 0.1, `Damage` + 0.1 )
WHERE `Classname` IN ('SmallTV','Loudspeaker','MAP_plot_green_draty','DSHKM_Gue','M2StaticMG','SearchLight_RUS','MAP_Shed_W01','MAP_Dkamna_bila','Land_Misc_Well_L_EP1','MAP_P_Stavebni_kozy','MAP_office_table_a','SmallTV','Loudspeaker','Plastic_Pole_EP1_DZ','CinderWallDoorSmallLocked_DZ','CinderWallDoorLocked_DZ','CinderWallSmallDoorway_DZ','CinderWallDoorway_DZ','Land_DZE_WoodDoorLocked','CinderWallDoor_DZ','CinderWallDoorSmall_DZ','Land_DZE_WoodDoor','Land_DZE_GarageWoodDoor','Land_DZE_GarageWoodDoorLocked','Land_DZE_LargeWoodDoorLocked','Land_DZE_LargeWoodDoor','WoodLargeWallDoor_DZ')
AND `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 DAY)
AND `Inventory` != '[]';

This way you will need maintain the object or will be delted

 

 

Download from here:http://www.mediafire.com/file/zzbv97adzdl2pex/workshopLITTLE2.rar

and place the "workshop" folder into mpmissions\your instance\scripts\

OPTIONAL : add electrify fences. (needs deploy anything)

If u dont wanna use this optional step remove the "optional" folder into workshop folder.

Spoiler

Open init.sqf

find:


execFSM "\z\addons\dayz_code\system\player_monitor.fsm";

below paste:


[] execVM "scripts\workshop\optional\server_electrify_init.sqf";

Go to your deploy anything mod.  Open addons/bike/config.sqf

and add into this category:


DZE_DEPLOYABLES_CONFIG = [

];

 

this line:


["ItemToolbox",[0,6,1],5,0.1,false,false,false,true,true,false,false,["MAP_plot_green_draty"],[],["ItemPole","ItemPole","ItemWire"],"true"]

and add too:


DZE_DEPLOYABLE_NAME_MAP = [
["ItemToolbox","Electrified fences"]
];

 

 

Contain:

Spoiler

*Breeding system

*Cook system

*Carpeter Bench

*Deploy Mounted Weapons on plot

*WaterSource

*DressMaker

*Survillange system (based onthe old  macas134 cctv)

*OPTIONAL

*Electrify fences

 

Link to comment
Share on other sites

THIS IS OPTIONAL. IF U WANNA REMOVE AMMO FROM MOUNTED WEAPONS AFTER SERVER RESTART

A-open server_functions.sqf find:

Spoiler

find:
server_sendToClient = compile preprocessFileLineNumbers "\z\addons\dayz_server\eventHandlers\server_sendToClient.sqf";
add bellow
//Fnc removing workshop ammo
fnc_wra =                compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_wra.sqf";

 

B-OPEN THIS 3 FILES AND MAKE THE SAME CHANGES FOR EACH ONE.

server_monitor.sqf // server_publishVehicle2.sqf // server_publishVehicle3.sqf

Spoiler

Find:

clearWeaponCargoGlobal  _object;

Paste Above:

//weaponworkshop remove ammo
call fnc_wra;
//weaponworkshop remove ammo

 

C-Now create "fnc_wra.sqf" and drop  into  ....\@DayZ_Epoch_Server\addons\dayz_server\compile\

Done. You can repack your dayz_server.pbo.

fnc_wra.sqf

Spoiler

//workshop remove ammo
{
    
    if (_object isKindof "DSHKM_Gue") then {
         _object setVehicleAmmo 0;
        
    };

    if (_object isKindof "M2StaticMG_US_EP1") then {
         _object setVehicleAmmo 0;
         _ownerID = "0";
    };    
    
} forEach vehicles;    

 

D-In your \MPMissions\DayZ_Epoch_11.Chernarus\custom\workshop\sqfs\

make the same change for this two files:
updshkm.sqf // upm2.sqf

Spoiler

 (upshkm.sqf)

find:

cutText [format["YOU FEEL LIKE COMUNIST RAMBO"], "PLAIN DOWN",3];

change by:

cutText [format["WARNING AMMO WILL BE REMOVED AFTER RESTART"], "PLAIN DOWN",3];

 (upm2.sqf)

find:

cutText [format["YOU FEEL LIKE RAMBO"], "PLAIN DOWN",3];

change by:

cutText [format["WARNING AMMO WILL BE REMOVED AFTER RESTART"], "PLAIN DOWN",3];

 

 

Link to comment
Share on other sites

Actually it does with the standard InfiStar BattlEye filters. I added the following to createvehicle.txt:

5 "MAP_" !="MAP_kulna" !="MAP_Shed_W01" !="MAP_office_table_a" !="MAP_P_Stavebni_kozy" !="MAP_Dkamna_bila" !="MAP_Misc_Boogieman" !="MAP_p_urtica" !="MAP_parabola_big" !="MAP_plot_green_draty" !="GUE_WarfareBFieldhHospital" !="MAP_bouda2_vnitrek" !="MAP_deutshe_mini" !="MAP_Mil_Mil_Guardhouse" !="MAP_Pristresek_mensi" !="MAP_plot_provizorni" !="MAP_AirCondition_A" !="MAP_Camo_Box" !="MAP_tent_small_west" !="MAP_AirCondition_B"

and added the following to the first line's filter:

!="Loudspeakers_EP1" !="M2StaticMGPreview" !="SearchLight_RUS" !="Loudspeaker" !="Land_fort_bagfence_corner" !="M2StaticMG_US_EP1" !="DSHKM_Gue" !="Stove" !="SatPhone"

UPDATE: Just a note that these filters cover both Workshop and Packables 1.0.6 

Link to comment
Share on other sites

Quote

Actually it does with the standard InfiStar BattlEye filters. I added the following to createvehicle.txt:

Cool thanks dude, yeah I'll need these as I'm running infistar.

Speaking of which are your players getting kicked for using the journal using the infistar filters?

Link to comment
Share on other sites

  • 2 weeks later...
7 minutes ago, Brody said:

i dont get the customs because the paths arent 


call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";

but are

call compile preprocessFileLineNumbers "Mods\init\compiles.sqf";

that means you already have a custom compiles.sqf located in "Mods\init\compiles.sqf";   made the change into this compiles

Link to comment
Share on other sites

20 hours ago, Brody said:

    fnc_usec_selfActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf";        //Checks which actions for self in     mods/compile.sqf

could i change this ??

yes change it 

in you specific case:

C-open your custom compiles.sqf located in mods folder and find this line:

fnc_usec_selfActions =           compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf";

change by:

fnc_usec_selfActions =     compile preprocessFileLineNumbers "mods\fn_selfActions.sqf";

 

Now drop your fn_selfactions located in \dayz_code\compile\

into mpmissions\your instance\mods\

Link to comment
Share on other sites

  • 2 weeks later...
1 hour ago, Boxingdelta26 said:

Can't seem to get loud speaker to play any sound....i can place the loud speaker though. Any ideas?

 

hey! the loudspeckers sound is defined into craftarlarm.sqf

heres the code:

Spoiler

private ["_playerPos","_nearRestr"];

_playerPos = getPosATL player;
_nearRestr = count nearestObjects [_playerPos, ["Loudspeakers_EP1"], 45] > 0;
 
if !(_nearRestr) exitWith {
cutText [format["You need a Loudspeaker within plot pole range"], "PLAIN DOWN"];  
dayz_actionInProgress = false;
	};
if (_nearRestr) then {
_nul = [objNull, player, rSAY, "alarm"] call RE;
};

 

to get sound work you need define the "alarm" sound into description.ext

so go to your description.ext and check if u put this lines:

Find:

aiKills = 1;
diagRadio = 1;
diagHit = 1;

bellow paste:
 

class CfgSounds
{
workshop[] =
    {
    alarm
    };
    class alarm
    {
    name="alarm";
    sound[]={custom\workshop\sqfs\alarm.ogg,0.9,1};
    titles[] = {};
    };    
    workshop2[] =
    {
    electric
    };
    class electric
    {
    name="electric";
    sound[]={custom\workshop\sqfs\electric.ogg,0.9,1};
    titles[] = {};
    };    
};

 

 

Link to comment
Share on other sites

  • 1 month later...

If anyone is using the function to limit the number of times a box of matches can be used then the following line in cook.sqf:

_hasMatchbox = 	"ItemMatchbox" in _inventory;

should be changed to:

_hasMatchbox = 	(("ItemMatchbox" in _inventory) || ("Item5Matchbox" in _inventory) || ("Item4Matchbox" in _inventory) || ("Item3Matchbox" in _inventory) || ("Item2Matchbox" in _inventory) || ("Item1Matchbox" in _inventory)) ;

 

Link to comment
Share on other sites

got worked in 1.0.6.1

4-C is lost. Find

Spoiler

 if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {speed player <= 1}) then {
  _hasAccess = [player, _cursorTarget] call FNC_check_access;
  _allowed = ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4));
  if (DZE_permanentPlot) then {
   if (s_player_plotManagement < 0 && _allowed) then {
    s_player_plotManagement = player addAction [format["<t color='#0059FF'>%1</t>",localize "STR_EPOCH_ACTIONS_MANAGEPLOT"], "\z\addons\dayz_code\actions\plotManagement\initPlotManagement.sqf", [], 5, false];
   };
  } else {
   if (s_player_maintain_area < 0) then {
    s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "maintain", 5, false];
    s_player_maintain_area_force = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_FORCE_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "force", 5, false];
    s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", "preview", 5, false];
   };
  };
  if (s_player_plot_boundary < 0 && (_allowed or (_hasAccess select 1))) then {
   s_player_plot_boundary = player addAction [localize "STR_EPOCH_PLOTMANAGEMENT_SHOW_BOUNDARY", "\z\addons\dayz_code\actions\plotManagement\plotToggleMarkers.sqf", "", 1, false];
  };
 } else {
  player removeAction s_player_plotManagement;
  s_player_plotManagement = -1;
  player removeAction s_player_maintain_area;
  s_player_maintain_area = -1;
  player removeAction s_player_maintain_area_force;
  s_player_maintain_area_force = -1;
  player removeAction s_player_maintain_area_preview;
  s_player_maintain_area_preview = -1;
  player removeAction s_player_plot_boundary;
  s_player_plot_boundary = -1;
 };
 

and change this paragraph to:

Spoiler

if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {speed player <= 1}) then {
  _hasAccess = [player, _cursorTarget] call FNC_check_access;
  _allowed = ((_hasAccess select 0) or (_hasAccess select 2) or (_hasAccess select 3) or (_hasAccess select 4));
  if (DZE_permanentPlot) then {
   if (s_player_plotManagement < 0 && _allowed) then {
    s_player_plotManagement = player addAction [format["<t color='#0059FF'>%1</t>",localize "STR_EPOCH_ACTIONS_MANAGEPLOT"], "\z\addons\dayz_code\actions\plotManagement\initPlotManagement.sqf", [], 5, false];
   };
  } else {
   if (s_player_maintain_area < 0) then {
    s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "maintain", 5, false];
    s_player_maintain_area_force = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_FORCE_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "force", 5, false];
    s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", "preview", 5, false];
   };
  };
  if (s_player_plot_boundary < 0 && (_allowed or (_hasAccess select 1))) then {
   s_player_plot_boundary = player addAction [localize "STR_EPOCH_PLOTMANAGEMENT_SHOW_BOUNDARY", "\z\addons\dayz_code\actions\plotManagement\plotToggleMarkers.sqf", "", 1, false];
  };
  //craft workshop
  if ((s_player_workshop < 0) && (_allowed or (_hasAccess select 1))) then {
   s_player_workshop = player addAction ["<t color='#66CCFF'>CRAFT-WORKSHOP</t>", "custom\workshop\createworkshop.sqf", [], 5, false];
  };
 } else {
  player removeAction s_player_plotManagement;
  s_player_plotManagement = -1;
  player removeAction s_player_maintain_area;
  s_player_maintain_area = -1;
  player removeAction s_player_maintain_area_force;
  s_player_maintain_area_force = -1;
  player removeAction s_player_maintain_area_preview;
  s_player_maintain_area_preview = -1;
  player removeAction s_player_plot_boundary;
  s_player_plot_boundary = -1;
  player removeAction s_player_workshop;//workshop
        s_player_workshop = -1;//workshop
 };

 

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