juandayz Posted July 30, 2016 Report Share Posted July 30, 2016 UPDATE V2. for 1.5.0.1 tnks @theduke & @Cherdenko for all the help. NEW WORKSHOP OPTIONS: Spoiler *CRAFT MOUNTED M2: Allow players to craft only one static M2 in plot area.Needs 4xscrapmetal + 4xmetalpole + 3xDSHKM ammo (spawn with ammo, after restart ammo will be removed). *CRAFT MOUNTED DSHKM: Allow players to craft only one static DSHKM in plot area. Needs 4xscrapmetal + 4xmetalpole + 3xDSHKM ammo (spawn with ammo, after restart ammo will be removed). *CRAFT MOUNTED LANTERN: Allow players to craft a Static Lantern. Needs 4Metal Pole +1xPartGlass +1xLightbulb +1xGenerator *CRAFT KITCHEN: Player can craft a kitchen to cook any kind of meat. Its needs 1xitembandage + 1xpillowood + matchbox returns 2 cooked meats *CRAFT ANIMAL HOUSE: Players can craft an Animal House and use it to breed animals (only 4 animals per plot area). Its needs 4xlumbers + 4xPlywoods + Toolbox. Breeding needs 1xBurlap + 1xWaterBottle. *CRAFT BARBED WIRE FENCES: You can craft barbed wire fences with 2xlumbers + 1xItemWire + toolbox *CRAFT LARGE SANDBAGS: Craft "L" sandbags with 6xsandbags + toolbox in inventory. *CRAFT SMALL NEST: A small nest to make better cover. 4xSandbags + 4xLumbers +Toolbox *CRAFT A BOMB: This is dangerus, you have 50% chances to make explode your workshop so take care. Needs 1XEmptyBriefcast + 4xGranades +1xToolbox +1xWatch +1xGPS + 1xRadio. *MAKE DRUGS: Using 1xPain Killers + 1xEphifedrine + 1Nearest Kitchen you can cook drugs. But take care you can feel druged in the process. *CRAFT HOUSES BASED ON SURVIVED DAYS: This include my mod "Craft houses based on survived days" at workshop. Basically: Survive 2 days +4xWoodWalls +1xFloorCelling = SMALL HOUSE.//Survive 4 days +2xCinderWalls +1xFloorCelling = MIDDLE HOUSE.//Survive 6 days +2xCinderWalls +1xFloorCelling = LARGEHOUSE.//Survive 2 days + (+5000) Humanity + 2xCinderWalls +1xFloorCelling =Hero Hospital. (you can heal in there) *WIRING : Its a Wiring Fence electrified... zeds and players gonna be electrified if is near of this fence. *LOUDSPEAKERS: With this u can launch a plot alarm if ure base is under attack. *ANTENNA : you can catch frecuencys and get some supplys *CARPENTER BENCH: You can craft 10 lumbers in only one step if u have 12 woodpiles in your inventory, also u can craft plywoods. *DRESSMAKER TABLE: You can craft your own clothes, needs 4 bandages and 1 item razor. *WATERTANK: used to fill waterbottles. *DOWGRADE ALL THIS using the workshop menu. *INFO MENUS into whorkshop menu. VIDEO PREVIEW OF NEW OPTIONS: Spoiler INSTALLING: ***You will need a custom: fn_selfactions.sqf//compiles.sqf//variables.sqf DOWNLOAD HERE:http://www.mediafire.com/download/pyewpbmawt0k1d1/workshopV2.rar 1-IN INIT.SQF Spoiler find: if (!isDedicated) then { into this section paste: //SERVER ELECTRIFY FENCES [] execVM 'custom\scripts\workshop\serverfunction\server_electrify_init.sqf'; 2-IN DESCRIPTION.EXTA- Spoiler find: into class CfgSounds { paste into this section: sounds4[] = { alarm }; class alarm { name="alarm"; sound[]={custom\scripts\workshop\sqfs\alarm.ogg,0.9,1}; titles[] = {}; }; sounds5[] = { electric }; class electric { name="electric"; sound[]={custom\scripts\workshop\sqfs\electric.ogg,0.9,1}; titles[] = {}; }; B-Again in description.ext but at very bottom paste: Spoiler //whorkshop #include "custom\scripts\workshop\hpp\des.hpp" #include "custom\scripts\workshop\hpp\workshopmenu.hpp" 4-NOW IN CUSTOM FN_SELFACTIONS.SQF A- Spoiler find:_isModular = _cursorTarget isKindOf "ModularItems"; change for: _isModular = (_cursorTarget isKindOf "ModularItems") or ((typeOf _cursorTarget) in DZE_SurvivedHouseRemove); B- Spoiler find: if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { above paste: ////////////////WORKSHOP HOSPITAL HERO USE HEAL OPTION/// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "GUE_WarfareBFieldhHospital")) then { if (s_player_hospitalhero < 0) then { s_player_hospitalhero = player addAction ["<t color='#ff5200'>HEAL IN TENT</t>", "custom\scripts\workshop\sqfs\healhospital.sqf", [], 5, false]; }; } else { player removeAction s_player_hospitalhero; s_player_hospitalhero = -1; }; ///////////////////////////////////////////////////////////OPEN WORKSHOP MENU//////////////////////////// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "MAP_kulna")) then { if (s_player_managework < 0) then { s_player_managework = player addAction ["<t color='#66CCFF'>MANAGE WORKSHOP</t>", "custom\scripts\workshop\hpp\workshopmenu.sqf", [], 5, false]; }; } else { player removeAction s_player_managework; s_player_managework = -1; }; C-Again but now bellow of : if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { Spoiler if (s_player_workshop < 0) then { s_player_workshop = player addAction ["<t color='#66CCFF'>CRAFT-WORKSHOP</t>", "custom\scripts\workshop\createworkshop.sqf", [], 5, false]; }; D-Bellow it u will find: Spoiler } else { player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; paste : player removeAction s_player_workshop; s_player_workshop = -1; above the player removeAction s_player_maintain_area; So steps B,C,D looks: Spoiler ////////////////WORKSHOP HOSPITAL HERO USE HEAL OPTION/// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "GUE_WarfareBFieldhHospital")) then { if (s_player_hospitalhero < 0) then { s_player_hospitalhero = player addAction ["<t color='#ff5200'>HEAL IN TENT</t>", "custom\scripts\workshop\sqfs\healhospital.sqf", [], 5, false]; }; } else { player removeAction s_player_hospitalhero; s_player_hospitalhero = -1; }; ///////////////////////////////////////////////////////////OPEN WORKSHOP MENU//////////////////////////// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "MAP_kulna")) then { if (s_player_managework < 0) then { s_player_managework = player addAction ["<t color='#66CCFF'>MANAGE WORKSHOP</t>", "custom\scripts\workshop\hpp\workshopmenu.sqf", [], 5, false]; }; } else { player removeAction s_player_managework; s_player_managework = -1; }; if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { if (s_player_workshop < 0) then { s_player_workshop = player addAction ["<t color='#66CCFF'>CRAFT-WORKSHOP</t>", "custom\scripts\workshop\createworkshop.sqf", [], 5, false]; }; } else { player removeAction s_player_workshop; s_player_workshop = -1; player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; E- Spoiler Find near of fn_selfactions end: ( Paste only lines in Black. I put the other lines to give u a reference) } else { //Engineering paste bellow: player removeAction s_player_managework; s_player_managework = -1; player removeAction s_player_workshop; s_player_workshop = -1; player removeAction s_player_hospitalhero; s_player_hospitalhero = -1; {dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = []; s_player_repair_crtl = -1; {player removeAction _x} count s_player_combi;s_player_combi = []; dayz_myCursorTarget = objNull; s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull]; {player removeAction _x} count s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; player removeAction s_player_checkGear; s_player_checkGear = -1; player removeAction s_player_SurrenderedGear; s_player_SurrenderedGear = -1; player removeAction s_player_forceSave; s_player_forceSave = -1; 5-IN CUSTOM COMPILES.SQF A- Spoiler find:player_removeObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf"; change to: player_removeObject = compile preprocessFileLineNumbers "custom\scripts\workshop\serverfunction\remove.sqf"; 6-IN CUSTOM VARIABLES.SQF A- Spoiler Find: dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; Replace with: dayz_allowedObjects = advworkshop +["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; B- Spoiler In the new :dayz_allowedObjects = advworkshop +["......", .........................................]; Paste Above: advworkshop = ["MAP_kulna","Land_Misc_Well_L_EP1","MAP_Misc_Boogieman","MAP_Shed_W01","MAP_P_Stavebni_kozy","MAP_parabola_big","MAP_office_table_a","Loudspeakers_EP1","MAP_Dkamna_bila","MAP_plot_green_draty","GUE_WarfareBFieldhHospital","MAP_bouda2_vnitrek","MAP_deutshe_mini","MAP_Mil_Mil_Guardhouse","MAP_Pristresek_mensi","Land_fort_bagfence_corner","MAP_plot_provizorni","M2StaticMG_US_EP1","DSHKM_Gue","SearchLight_RUS"]; C- Spoiler Now Bellow: dayz_allowedObjects = advworkshop +["......", .........................................]; paste: DZE_SurvivedHouseRemove = advworkshop; D- Spoiler Find: DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems",.............................."MORE IDS."]; put ONLY lines in blue: DZE_maintainClasses = advworkshop +["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems",................MORE IDS"]; ***SO STEPS A,B,C,D looks: (see lines in blue)*** Spoiler advworkshop = ["MAP_kulna","Land_Misc_Well_L_EP1","MAP_Misc_Boogieman","MAP_Shed_W01","MAP_P_Stavebni_kozy","MAP_parabola_big","MAP_office_table_a","Loudspeakers_EP1","MAP_Dkamna_bila","MAP_plot_green_draty","GUE_WarfareBFieldhHospital","MAP_bouda2_vnitrek","MAP_deutshe_mini","MAP_Mil_Mil_Guardhouse","MAP_Pristresek_mensi","Land_fort_bagfence_corner","MAP_plot_provizorni","M2StaticMG_US_EP1","DSHKM_Gue","SearchLight_RUS"]; dayz_allowedObjects = advworkshop +["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; DZE_SurvivedHouseRemove = advworkshop; DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"]; DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"]; DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"]; DZE_maintainClasses = advworkshop +["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ"]; F: Spoiler findDZE_safeVehicle = ["ParachuteWest","ParachuteC"]; changeDZE_safeVehicle = advworkshop + ["ParachuteWest","ParachuteC"]; 7-NOW YOU NEED GO TO YOUR dayz_server.pbo UNPACK IT. A-open server_functions.sqf find: Spoiler find: fnc_plyrHit = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.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 take the "fnc_wra.sqf" located in download folder and drop it into ....\@DayZ_Epoch_Server\addons\dayz_server\compile\ Done. You can repack your dayz_server.pbo. 8-CREATE THE PATH AND PLACE DOWNLOAD FOLDER create: ......\MPMissions\DayZ_Epoch_11.Chernarus\custom\scripts\ and drop "workshop" folder inside. 9-ONLY INFISTAR USERS tell infistar to notblock the dialogs, so go to your AHconfig.sqf ( tnks @Cherdenko) in there we have to add these two dialofg numbers under: Spoiler _ALLOWED_Dialogs = _ALLOWED_Dialogs + [...,7000,7001,7002,7003}; AND ITS DONE. chi, SideShowFreak, BigEgg and 2 others 5 Link to comment Share on other sites More sharing options...
J.Dominic Posted July 30, 2016 Report Share Posted July 30, 2016 1 hour ago, juandayz said: This is to craft a workshop in plot area and make some others crafts using this workshop WORKSHOP OPTIONS: *WIRING : Its a Wiring Fence electrified... zeds and players gonna be electrified if is near of this fence. *LOUDSPEAKERS: With this u can launch a plot alarm if ure base is under attack. *ANTENNA : you can catch frecuencys and get some supplys *CARPENTER BENCH: You can craft 10 lumbers in only one step if u have 12 woodpiles in your inventory, also u can craft plywoods. *DRESSMAKER TABLE: You can craft your own clothes, needs 4 bandages and 1 item razor. *WATERTANK: used to fill waterbottles. *DOWGRADE ALL THIS using the workshop menu. *INFO MENUS into whorkshop menu. VIDEO PREVIEW: Reveal hidden contents https://www.youtube.com/watch?v=9-kCc_8E5dM&feature=youtu.be INSTALL: WARNING ! I DONT HAVE INFISTAR SO I CANT TEST ON IT. You will need a:custom fn_selfActions.sqfcustom compiles.sqfcustom variables.sqf 1-Open your init.sqf Reveal hidden contents find: if (!isDedicated) then { into this section paste: //SERVER ELECTRIFY FENCES [] execVM 'custom\scripts\workshop\serverfunction\server_electrify_init.sqf'; 2-A-Open your description.ext Reveal hidden contents find: into class CfgSounds { paste into this section: sounds4[] = { alarm }; class alarm { name="alarm"; sound[]={custom\scripts\workshop\sqfs\alarm.ogg,0.9,1}; titles[] = {}; }; sounds5[] = { electric }; class electric { name="electric"; sound[]={custom\scripts\workshop\sqfs\electric.ogg,0.9,1}; titles[] = {}; }; B-Again in description.ext but at very bottom paste: Reveal hidden contents //whorkshop #include "custom\scripts\workshop\hpp\des.hpp" #include "custom\scripts\workshop\hpp\workshopmenu.hpp" #include "custom\scripts\workshop\hpp\wiringmenu.hpp" 4-Now go to your custom fn_selfactions.sqfA-//(if ure using my build houses based on survived days skeep this steap) Reveal hidden contents find:_isModular = _cursorTarget isKindOf "ModularItems"; change for: _isModular = (_cursorTarget isKindOf "ModularItems") or ((typeOf _cursorTarget) in DZE_SurvivedHouseRemove); B- Reveal hidden contents find: if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { above paste:////////////////WORKSHOP/// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "MAP_kulna")) then { if (s_player_managework < 0) then { s_player_managework = player addAction ["<t color='#66CCFF'>MANAGE WORKSHOP</t>", "custom\scripts\workshop\hpp\workshopmenu.sqf", [], 5, false]; }; } else { player removeAction s_player_managework; s_player_managework = -1; }; again but now bellow of : if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { Reveal hidden contents paste: if (s_player_workshop < 0) then { s_player_workshop = player addAction ["<t color='#66CCFF'>CRAFT-WORKSHOP</t>", "custom\scripts\workshop\createworkshop.sqf", [], 5, false]; }; C-Bellow it u will find: Reveal hidden contents } else { player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; paste above the player removeAction s_player_maintain_area; player removeAction s_player_workshop; s_player_workshop = -1; so its looks: Reveal hidden contents } else { player removeAction s_player_workshop; s_player_workshop = -1; player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; D- Reveal hidden contents Find near the end: } else { //Engineering paste bellow: player removeAction s_player_managework; s_player_managework = -1; player removeAction s_player_workshop; s_player_workshop = -1; 5-Now go to your custom compiles.sqf (if ure using my build houses based on survived days skeep this steap) Reveal hidden contents find:player_removeObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf"; change to: player_removeObject = compile preprocessFileLineNumbers "custom\scripts\workshop\serverfunction\remove.sqf"; 6-In your custom variables.sqf A- Reveal hidden contents find:dayz_allowedObjects = inside it paste: "MAP_plot_green_draty", so its looks: dayz_allowedObjects = ["MAP_plot_green_draty","TentStorage","TentStorageDomed",............]; B- Reveal hidden contents Bellow dayz_allowedObjects = paste: DZE_SurvivedHouseRemove = ["MAP_plot_green_draty"]; **Note: ( if ure using my build houses based on survived just replace the wohle line of DZE_SurvivedHouseRemove = [ by: DZE_SurvivedHouseRemove = ["MAP_plot_green_draty","GUE_WarfareBFieldhHospital","MAP_bouda2_vnitrek","MAP_deutshe_mini","MAP_Mil_Mil_Guardhouse"]; C- Reveal hidden contents Find: DZE_maintainClasses = [ paste inside: "MAP_plot_green_draty", so its looks: DZE_maintainClasses = ["MAP_plot_green_draty","ModularItems",...............]; 7-Now Download the folder: Link: http://www.mediafire.com/download/t27ged2az0a9dft/workshop.rar 8-Paste into Mpmissions\instance_11.chernarus\ so your new path must be: Mpmissions\instance_11.chernarus\custom\scripts\workshop Your video private :'( Link to comment Share on other sites More sharing options...
juandayz Posted July 30, 2016 Author Report Share Posted July 30, 2016 sory @J.Dominic Link to comment Share on other sites More sharing options...
J.Dominic Posted July 30, 2016 Report Share Posted July 30, 2016 Great script. But better you must have generator before fence and speaker working. That my idea, Because my server survival style :) Link to comment Share on other sites More sharing options...
juandayz Posted July 30, 2016 Author Report Share Posted July 30, 2016 its needs a generator in inventory to start to craft.. my first idea was enable and disable the electrify trought the workshop but i cant do it.. so i decided execute the electrify by server in all fences. here i start a post about it, if u can help to modify it gonna be great!: Spoiler heres is the electrify_init ( im using the plot_green_draty (fence) as a trigger to start the electrify action.. heres where the change must be maked to get do you want Spoiler msg = false; electrify = false; while {true} do { private ["_pos","_allconditions","_inRange","_trigger"]; _trigger = ["MAP_plot_green_draty"]; _pos = getPosATL player; _allconditions = (nearestObjects [_pos, _trigger, 2]); _inRange = count _allconditions > 0; if (_inRange) then { if (!msg) then { cutText ['Electrified fences warning', 'PLAIN']; msg = true; [] execVM 'custom\scripts\workshop\serverfunction\server_electrify_action.sqf'; [] execVM 'custom\scripts\workshop\serverfunction\server_electrify_zeds.sqf'; }; } else { r_player_unconscious = false; electrify = false; msg = false; }; }; another idea I had but discard was use Electro´s power plant to execute the server_electrify_init.sqf .. so when you are in this power plant add a buttom or scroll menu action to start energy and electrified all fences. Link to comment Share on other sites More sharing options...
Karabas Posted August 1, 2016 Report Share Posted August 1, 2016 Спойлер private ["_playerPos","_nearRestr","_hastool","_hasitem","_removed", "_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo", "_pos", "_cnt", "_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","_posrad","_cntrad"]; if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; _inventory = items player; _hastool = "ItemToolbox" in _inventory; _hasitem = [["PartWoodLumber",4],["PartWoodPlywood",4]] call player_checkItems; _playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["MAP_kulna"], 45] > 0; if (_nearRestr) exitWith { cutText [format["You cannot build another Workshop in this plot area"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (!_hasitem) exitWith {cutText [format["Needs 4x woodlumbers + 4xPlywood"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (!_hastool) exitWith {cutText [format["Needs a Toolbox"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (_hasitem && _hastool) then { //snap vars -- temporary fix for errors so variables.sqf can be skipped if (isNil "snapProVariables") then { if (isNil "DZE_snapExtraRange") then { DZE_snapExtraRange = 0; }; if (isNil "DZE_checkNearbyRadius") then { DZE_checkNearbyRadius = 30; }; s_player_toggleSnap = -1; s_player_toggleSnapSelect = -1; s_player_toggleSnapSelectPoint=[]; snapActions = -1; snapGizmos = []; snapGizmosNearby = []; snapProVariables = true; // will skip this statement from now on. }; // snap vars _cancel = false; _isPerm = false; _reason = ""; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _canDo = call fnc_actionAllowed; helperDetach = false; 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_F = false; DZE_cancelBuilding = false; call gear_ui_init; closeDialog 1; _classname = "MAP_kulna"; _classnametmp = _classname; _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); _lockable = 0; if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); }; _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,5,1]; }; _isPole = (_classname == "Plastic_Pole_EP1_DZ"); _isLandFireDZ = (_classname == "Land_Fire_DZ"); _distance = DZE_PlotPole select 1; _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance]; _findNearestPole = []; { if (alive _x) then { _findNearestPole set [(count _findNearestPole),_x]; }; } count _findNearestPoles; _IsNearPlot = count (_findNearestPole); // If item is plot pole && another one exists within 45m if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; }; _location = [0,0,0]; _isOk = true; // get inital players position _location1 = [player] call FNC_GetPos; _dir = getDir player; // if ghost preview available use that instead if (_ghost != "") then { _classname = _ghost; }; _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //Build gizmo _objectHelper = "Sign_sphere10cm_EP1" createVehicle _location; _helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)"; _objectHelper setobjecttexture [0,_helperColor]; _objectHelper attachTo [player,_offset]; _object attachTo [_objectHelper,[0,0,0]]; _position = [_objectHelper] call FNC_GetPos; _objHDiff = 0; if (isClass (missionConfigFile >> "SnapBuilding" >> _classname)) then { ["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build; }; 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 = -45; }; if (DZE_6) then { _rotate = true; DZE_6 = false; _dir = 45; }; if (DZE_F and _canDo) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); helperDetach = false; } else { _objectHelperDir = getDir _objectHelper; detach _objectHelper; [_objectHelper] call FNC_GetSetPos; _objectHelper setVelocity [0,0,0]; //fix sliding glitch helperDetach = true; }; DZE_F = false; }; if(_rotate) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper setDir _objectHelperDir+_dir; [_objectHelper] call FNC_GetSetPos; } else { detach _objectHelper; _objectHelperDir = getDir _objectHelper; _objectHelper setDir _objectHelperDir+_dir; [_objectHelper] call FNC_GetSetPos; _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); }; }; if(_zheightchanged) then { if (!helperDetach) then { detach _objectHelper; _objectHelperDir = getDir _objectHelper; }; _position = [_objectHelper] call FNC_GetPos; 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; }; if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then { _position set [2,0]; }; if (surfaceIsWater _position) then { _objectHelper setPosASL _position; } else { _objectHelper setPosATL _position; }; if (!helperDetach) then { _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); }; }; sleep 0.5; _location2 = [player] call FNC_GetPos; _objectHelperPos = [_objectHelper] call FNC_GetPos; if(DZE_5) exitWith { _isOk = false; _position = [_object] call FNC_GetPos; detach _object; _dir = getDir _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _location2 > 25) exitWith { _isOk = false; _cancel = true; _reason = "You've moved too far away from where you started building (within 15 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _objectHelperPos > 25) exitWith { _isOk = false; _cancel = true; _reason = "Object is placed to far away from where you started building (within 15 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(abs(_objHDiff) > 15) exitWith { _isOk = false; _cancel = true; _reason = "Cannot move up or down more than 15 meters"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if (DZE_cancelBuilding) exitWith { _isOk = false; _cancel = true; _reason = "Cancelled building."; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; }; if(!_cancel) then { _classname = _classnametmp; // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; _tmpbuilt setdir _dir; _location = _position; if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then { _location set [2,0]; }; if (surfaceIsWater _location) then { _tmpbuilt setPosASL _location; _location = ASLtoATL _location; } else { _tmpbuilt setPosATL _location; }; cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"]; //////////////////////////////////////////////////########## player playActionNow "Medic"; [player,"repair",0,false,10] call dayz_zombieSpeak; [player,10,true,(getPosATL player)] spawn player_alertZombies; sleep 3; _removed = [["PartWoodLumber",4],["PartWoodPlywood",4]] call player_removeItems; cutText [format[localize "str_build_01",_text], "PLAIN DOWN"]; if (_isPole) then { [] spawn player_plotPreview; }; _tmpbuilt setVariable ["OEMPos",_location,true]; _tmpbuilt setVariable ["CharacterID",_combination,true]; _charID = dayz_characterID; _activatingPlayer = player; PVDZE_veh_Publish = [_tmpbuilt,[_dir,_location],_classname,true,_charid,_activatingPlayer]; publicVariableServer "PVDZE_veh_Publish"; // Customise the message below cutText [format["nice!"], "PLAIN DOWN",3]; // Customer the message above player reveal _tmpbuilt; DZE_ActionInProgress = false; } else { deleteVehicle _tmpbuilt; cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"]; DZE_ActionInProgress = false; }; }; DZE_ActionInProgress = false; snapTutorial = false; [0,0,0] call fnc_snapActionCleanup; call fnc_initSnapPointsCleanup; How to make round a raft a field 1-20 identical designs? Simply there is an idea! That players could create (MAP_smallTV and MAP_misc_videoprojector) for video observation installation on base? juandayz 1 Link to comment Share on other sites More sharing options...
theduke Posted August 1, 2016 Report Share Posted August 1, 2016 Reveal hidden contents https://www.youtube.com/watch?v=9-kCc_8E5dM&feature=youtu.be INSTALL: WARNING ! I DONT HAVE INFISTAR SO I CANT TEST ON IT. Once you update it with the latest dialog numbers ill add the infistar part chi and juandayz 2 Link to comment Share on other sites More sharing options...
Cherdenko Posted August 1, 2016 Report Share Posted August 1, 2016 was faster then you @theduke ok i fixed the infistar thing :D took me a while but now i finally did it! Spoiler First go to .hpp files , the wiringmenu.hpp and workshopmenu.hpp Then change these two Spoiler class workshopmenu { idd = 500000; class wiringmenu { idd = 500001; movingenable=true; into this Spoiler class workshopmenu { idd = 7000; movingenable=true; class wiringmenu { idd = 7001; After doing that, we have to tell infistar to notblock the dialogs, so go to your AHconfig.sqf in there we have to add these two dialofg numbers under Spoiler _ALLOWED_Dialogs = _ALLOWED_Dialogs so it looks like this: _ALLOWED_Dialogs = _ALLOWED_Dialogs + [...,7000,7001}; you´re done and good to go :) chi and juandayz 2 Link to comment Share on other sites More sharing options...
juandayz Posted August 1, 2016 Author Report Share Posted August 1, 2016 @Cherdenko @theduke Love when people works to make a better thing! really tnks so much!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! gonna ad the infi fix in main post at any time Link to comment Share on other sites More sharing options...
juandayz Posted August 1, 2016 Author Report Share Posted August 1, 2016 On 1/8/2016 at 6:13 AM, Karabas said: Reveal hidden contents private ["_playerPos","_nearRestr","_hastool","_hasitem","_removed", "_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo", "_pos", "_cnt", "_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","_posrad","_cntrad"]; if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; _inventory = items player; _hastool = "ItemToolbox" in _inventory; _hasitem = [["PartWoodLumber",4],["PartWoodPlywood",4]] call player_checkItems; _playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["MAP_kulna"], 45] > 0; if (_nearRestr) exitWith { cutText [format["You cannot build another Workshop in this plot area"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (!_hasitem) exitWith {cutText [format["Needs 4x woodlumbers + 4xPlywood"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (!_hastool) exitWith {cutText [format["Needs a Toolbox"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (_hasitem && _hastool) then { //snap vars -- temporary fix for errors so variables.sqf can be skipped if (isNil "snapProVariables") then { if (isNil "DZE_snapExtraRange") then { DZE_snapExtraRange = 0; }; if (isNil "DZE_checkNearbyRadius") then { DZE_checkNearbyRadius = 30; }; s_player_toggleSnap = -1; s_player_toggleSnapSelect = -1; s_player_toggleSnapSelectPoint=[]; snapActions = -1; snapGizmos = []; snapGizmosNearby = []; snapProVariables = true; // will skip this statement from now on. }; // snap vars _cancel = false; _isPerm = false; _reason = ""; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _canDo = call fnc_actionAllowed; helperDetach = false; 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_F = false; DZE_cancelBuilding = false; call gear_ui_init; closeDialog 1; _classname = "MAP_kulna"; _classnametmp = _classname; _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); _lockable = 0; if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); }; _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,5,1]; }; _isPole = (_classname == "Plastic_Pole_EP1_DZ"); _isLandFireDZ = (_classname == "Land_Fire_DZ"); _distance = DZE_PlotPole select 1; _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance]; _findNearestPole = []; { if (alive _x) then { _findNearestPole set [(count _findNearestPole),_x]; }; } count _findNearestPoles; _IsNearPlot = count (_findNearestPole); // If item is plot pole && another one exists within 45m if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; }; _location = [0,0,0]; _isOk = true; // get inital players position _location1 = [player] call FNC_GetPos; _dir = getDir player; // if ghost preview available use that instead if (_ghost != "") then { _classname = _ghost; }; _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //Build gizmo _objectHelper = "Sign_sphere10cm_EP1" createVehicle _location; _helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)"; _objectHelper setobjecttexture [0,_helperColor]; _objectHelper attachTo [player,_offset]; _object attachTo [_objectHelper,[0,0,0]]; _position = [_objectHelper] call FNC_GetPos; _objHDiff = 0; if (isClass (missionConfigFile >> "SnapBuilding" >> _classname)) then { ["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build; }; 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 = -45; }; if (DZE_6) then { _rotate = true; DZE_6 = false; _dir = 45; }; if (DZE_F and _canDo) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); helperDetach = false; } else { _objectHelperDir = getDir _objectHelper; detach _objectHelper; [_objectHelper] call FNC_GetSetPos; _objectHelper setVelocity [0,0,0]; //fix sliding glitch helperDetach = true; }; DZE_F = false; }; if(_rotate) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper setDir _objectHelperDir+_dir; [_objectHelper] call FNC_GetSetPos; } else { detach _objectHelper; _objectHelperDir = getDir _objectHelper; _objectHelper setDir _objectHelperDir+_dir; [_objectHelper] call FNC_GetSetPos; _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); }; }; if(_zheightchanged) then { if (!helperDetach) then { detach _objectHelper; _objectHelperDir = getDir _objectHelper; }; _position = [_objectHelper] call FNC_GetPos; 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; }; if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then { _position set [2,0]; }; if (surfaceIsWater _position) then { _objectHelper setPosASL _position; } else { _objectHelper setPosATL _position; }; if (!helperDetach) then { _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); }; }; sleep 0.5; _location2 = [player] call FNC_GetPos; _objectHelperPos = [_objectHelper] call FNC_GetPos; if(DZE_5) exitWith { _isOk = false; _position = [_object] call FNC_GetPos; detach _object; _dir = getDir _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _location2 > 25) exitWith { _isOk = false; _cancel = true; _reason = "You've moved too far away from where you started building (within 15 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _objectHelperPos > 25) exitWith { _isOk = false; _cancel = true; _reason = "Object is placed to far away from where you started building (within 15 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(abs(_objHDiff) > 15) exitWith { _isOk = false; _cancel = true; _reason = "Cannot move up or down more than 15 meters"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if (DZE_cancelBuilding) exitWith { _isOk = false; _cancel = true; _reason = "Cancelled building."; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; }; if(!_cancel) then { _classname = _classnametmp; // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; _tmpbuilt setdir _dir; _location = _position; if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then { _location set [2,0]; }; if (surfaceIsWater _location) then { _tmpbuilt setPosASL _location; _location = ASLtoATL _location; } else { _tmpbuilt setPosATL _location; }; cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"]; //////////////////////////////////////////////////########## player playActionNow "Medic"; [player,"repair",0,false,10] call dayz_zombieSpeak; [player,10,true,(getPosATL player)] spawn player_alertZombies; sleep 3; _removed = [["PartWoodLumber",4],["PartWoodPlywood",4]] call player_removeItems; cutText [format[localize "str_build_01",_text], "PLAIN DOWN"]; if (_isPole) then { [] spawn player_plotPreview; }; _tmpbuilt setVariable ["OEMPos",_location,true]; _tmpbuilt setVariable ["CharacterID",_combination,true]; _charID = dayz_characterID; _activatingPlayer = player; PVDZE_veh_Publish = [_tmpbuilt,[_dir,_location],_classname,true,_charid,_activatingPlayer]; publicVariableServer "PVDZE_veh_Publish"; // Customise the message below cutText [format["nice!"], "PLAIN DOWN",3]; // Customer the message above player reveal _tmpbuilt; DZE_ActionInProgress = false; } else { deleteVehicle _tmpbuilt; cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"]; DZE_ActionInProgress = false; }; }; DZE_ActionInProgress = false; snapTutorial = false; [0,0,0] call fnc_snapActionCleanup; call fnc_initSnapPointsCleanup; How to make round a raft a field 1-20 identical designs? Simply there is an idea! That players could create (MAP_smallTV and MAP_misc_videoprojector) for video observation installation on base? hey if u want a tv and wacht tv: first make a new sqf, called uptv.sqf (paste into custom\scripts\workshop\sqfs\) Spoiler private ["_playerPos","_nearRestr","_hasitem","_hastool","_removed", "_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo", "_pos", "_cnt", "_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","_posrad","_cntrad"]; if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; _inventory = items player; _hastool = "ItemToolbox" in _inventory; _hasitem = [["PartGeneric",2], "ItemPole"] call player_checkItems; _playerPos = getPosATL player; _nearRestr = count nearestObjects [_playerPos, ["SmallTV"], 45] > 0; if (_nearRestr) exitWith { cutText [format["You cannot build another TV in this plot area"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (!_hasitem) exitWith {cutText [format["Needs 2x CinderBlocks + 1xPartWoodPlywood"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (!_hastool) exitWith {cutText [format["Needs a Toolbox"], "PLAIN DOWN"]; DZE_ActionInProgress = false; }; if (_hasitem && _hastool) then { //snap vars -- temporary fix for errors so variables.sqf can be skipped if (isNil "snapProVariables") then { if (isNil "DZE_snapExtraRange") then { DZE_snapExtraRange = 0; }; if (isNil "DZE_checkNearbyRadius") then { DZE_checkNearbyRadius = 30; }; s_player_toggleSnap = -1; s_player_toggleSnapSelect = -1; s_player_toggleSnapSelectPoint=[]; snapActions = -1; snapGizmos = []; snapGizmosNearby = []; snapProVariables = true; // will skip this statement from now on. }; // snap vars _cancel = false; _isPerm = false; _reason = ""; _vehicle = vehicle player; _inVehicle = (_vehicle != player); _canDo = call fnc_actionAllowed; helperDetach = false; 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_F = false; DZE_cancelBuilding = false; call gear_ui_init; closeDialog 1; _classname = "SmallTV"; _classnametmp = _classname; _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); _ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview"); _lockable = 0; if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); }; _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,0]; }; _isPole = (_classname == "Plastic_Pole_EP1_DZ"); _isLandFireDZ = (_classname == "Land_Fire_DZ"); _distance = DZE_PlotPole select 1; _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance]; _findNearestPole = []; { if (alive _x) then { _findNearestPole set [(count _findNearestPole),_x]; }; } count _findNearestPoles; _IsNearPlot = count (_findNearestPole); // If item is plot pole && another one exists within 45m if(_isPole && _IsNearPlot > 0) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; }; _location = [0,0,0]; _isOk = true; // get inital players position _location1 = [player] call FNC_GetPos; _dir = getDir player; // if ghost preview available use that instead if (_ghost != "") then { _classname = _ghost; }; _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; //Build gizmo _objectHelper = "Sign_sphere10cm_EP1" createVehicle _location; _helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)"; _objectHelper setobjecttexture [0,_helperColor]; _objectHelper attachTo [player,_offset]; _object attachTo [_objectHelper,[0,0,0]]; _position = [_objectHelper] call FNC_GetPos; _objHDiff = 0; if (isClass (missionConfigFile >> "SnapBuilding" >> _classname)) then { ["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build; }; 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 = -45; }; if (DZE_6) then { _rotate = true; DZE_6 = false; _dir = 45; }; if (DZE_F and _canDo) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); helperDetach = false; } else { _objectHelperDir = getDir _objectHelper; detach _objectHelper; [_objectHelper] call FNC_GetSetPos; _objectHelper setVelocity [0,0,0]; //fix sliding glitch helperDetach = true; }; DZE_F = false; }; if(_rotate) then { if (helperDetach) then { _objectHelperDir = getDir _objectHelper; _objectHelper setDir _objectHelperDir+_dir; [_objectHelper] call FNC_GetSetPos; } else { detach _objectHelper; _objectHelperDir = getDir _objectHelper; _objectHelper setDir _objectHelperDir+_dir; [_objectHelper] call FNC_GetSetPos; _objectHelperDir = getDir _objectHelper; _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); }; }; if(_zheightchanged) then { if (!helperDetach) then { detach _objectHelper; _objectHelperDir = getDir _objectHelper; }; _position = [_objectHelper] call FNC_GetPos; 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; }; if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then { _position set [2,0]; }; if (surfaceIsWater _position) then { _objectHelper setPosASL _position; } else { _objectHelper setPosATL _position; }; if (!helperDetach) then { _objectHelper attachTo [player]; _objectHelper setDir _objectHelperDir-(getDir player); }; }; sleep 0.5; _location2 = [player] call FNC_GetPos; _objectHelperPos = [_objectHelper] call FNC_GetPos; if(DZE_5) exitWith { _isOk = false; _position = [_object] call FNC_GetPos; detach _object; _dir = getDir _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _location2 > 6) exitWith { _isOk = false; _cancel = true; _reason = "You've moved too far away from where you started building (within 6 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(_location1 distance _objectHelperPos > 6) exitWith { _isOk = false; _cancel = true; _reason = "Object is placed to far away from where you started building (within 6 meters)"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if(abs(_objHDiff) > 15) exitWith { _isOk = false; _cancel = true; _reason = "Cannot move up or down more than 15 meters"; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; if (DZE_cancelBuilding) exitWith { _isOk = false; _cancel = true; _reason = "Cancelled building."; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; }; if(!_cancel) then { _classname = _classnametmp; // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; _tmpbuilt setdir _dir; _location = _position; if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then { _location set [2,0]; }; if (surfaceIsWater _location) then { _tmpbuilt setPosASL _location; _location = ASLtoATL _location; } else { _tmpbuilt setPosATL _location; }; cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"]; //////////////////////////////////////////////////########## player playActionNow "Medic"; [player,"repair",0,false,10] call dayz_zombieSpeak; [player,10,true,(getPosATL player)] spawn player_alertZombies; sleep 3; _removed = [["PartGeneric",2], "ItemPole"] call player_removeItems; cutText [format[localize "str_build_01",_text], "PLAIN DOWN"]; if (_isPole) then { [] spawn player_plotPreview; }; _tmpbuilt setVariable ["OEMPos",_location,true]; _tmpbuilt setVariable ["CharacterID",_combination,true]; _charID = dayz_characterID; _activatingPlayer = player; PVDZE_veh_Publish = [_tmpbuilt,[_dir,_location],_classname,true,_charid,_activatingPlayer]; publicVariableServer "PVDZE_veh_Publish"; // Customise the message below cutText [format["nice!"], "PLAIN DOWN",3]; // Customer the message above player reveal _tmpbuilt; DZE_ActionInProgress = false; } else { deleteVehicle _tmpbuilt; cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"]; DZE_ActionInProgress = false; }; }; DZE_ActionInProgress = false; snapTutorial = false; [0,0,0] call fnc_snapActionCleanup; call fnc_initSnapPointsCleanup; create another sqf, and paste in same location as above gps.sqf Spoiler waitUntil { alive player }; waituntil {!isnull (finddisplay 46)}; hintsilent "Player Found! Running Script!"; sleep 5; _CustomGpsVideo = ["custom\scripts\workshop\gps.ogv",1.04] spawn bis_fnc_customGPSvideo; now open your whorkshopmenu.hpp and find this lines: Spoiler class B13: jzRscButton { idc = 1627; text = "WATERTANK"; x = 0.383108 * safezoneW + safezoneX; y = 0.251291 * safezoneH + safezoneY; w = 0.133096 * safezoneW; h = 0.0303139 * safezoneH; colorBackground[] = {0.1,0.1,0.1,0.8}; OnButtonClick = "((ctrlParent (_this select 0)) closeDisplay 7000);ExecVM 'custom\scripts\workshop\sqfs\upwater.sqf';"; }; replace by: Spoiler class B13: jzRscButton { idc = 1627; text = "CRAFT TV"; x = 0.383108 * safezoneW + safezoneX; y = 0.251291 * safezoneH + safezoneY; w = 0.133096 * safezoneW; h = 0.0303139 * safezoneH; colorBackground[] = {0.1,0.1,0.1,0.8}; OnButtonClick = "((ctrlParent (_this select 0)) closeDisplay 7000);ExecVM 'custom\scripts\workshop\sqfs\uptv.sqf';"; }; now go at bottom of your fn_selfactions paste: Spoiler //wach tv private["_playerPos","_neartv"]; _playerPos = getPosATL player; _neartv = count nearestObjects [_playerPos, ["SmallTV"], 3] > 0; if (_neartv) then { if (s_player_tv < 0) then { s_player_tv = player addaction[("<t color=""#F7D708"">" + ("Wach TV+"</t>"),"custom\scripts\whorkshop\gps.sqf"]; }; } else { player removeAction s_player_tv; s_player_tv = -1; }; Now you need change watertank info by tv info: open infoupgrades.sqf find and replace lines in red by your owns Spoiler <t size='0.75' shadow='1'align='left' color='#6599FF'>WATERTANK: You can fill your waterbottles by right click</t><br/> and now open downgradewater.sqf change this lines in red Spoiler _nearRestr = count nearestObjects [_playerPos, ["SmallTV"], 15] > 0; sleep 2; _delobj = nearestObject [player, "SmallTV"]; titleText ["Workshop and TV was removed", "PLAIN DOWN"];titleFadeOut 5; now: u need to make an .ogv video format (call it gps.ogv) and paste into custom\scripts\whorkshop\gps.sqf Then go to MANAGE WORKSHOP pick Craft Tv, then use your mouse whell on tv and choose Wach TV here you have one of my old scripts with a ogv video, use it ogv file to test if u want http://www.mediafire.com/download/6fiknw6aassaxpw/erotic.zip Cherdenko and chi 2 Link to comment Share on other sites More sharing options...
chi Posted August 3, 2016 Report Share Posted August 3, 2016 Wow, this has to be the best thing for Epoch Mod in a long time!! Glad to see people are still making stuff for it!! juandayz and Cherdenko 2 Link to comment Share on other sites More sharing options...
chi Posted August 4, 2016 Report Share Posted August 4, 2016 Is there a typo in this part? s_player_tv = player addaction[("<t color=""#F7D708"">" + ("Wach TV+"</t>"),"custom\scripts\whorkshop\gps.sqf"]; }; } else { player removeAction s_player_tv; s_player_tv = -1; }; Looks like its missing " ) " somewhere Link to comment Share on other sites More sharing options...
juandayz Posted August 4, 2016 Author Report Share Posted August 4, 2016 44 minutes ago, chi said: Is there a typo in this part? s_player_tv = player addaction[("<t color=""#F7D708"">" + ("Wach TV+"</t>"),"custom\scripts\whorkshop\gps.sqf"]; }; } else { player removeAction s_player_tv; s_player_tv = -1; }; Looks like its missing " ) " somewhere not in there, before it. whole code: Spoiler //wach tv private["_playerPos","_neartv"]; _playerPos = getPosATL player;_neartent = count nearestObjects [_playerPos, ["SmallTV"], 3] > 0; if (_neartv) then { if (s_player_tv < 0) then { s_player_tv = player addaction[("<t color=""#F7D708"">" + ("Wach TV+"</t>"),"custom\scripts\whorkshop\gps.sqf"]; }; } else { player removeAction s_player_tv; s_player_tv = -1; }; fix: Spoiler //wach tv private["_playerPos","_neartv"]; _playerPos = getPosATL player;_neartv = count nearestObjects [_playerPos, ["SmallTV"], 3] > 0; if (_neartv) then { if (s_player_tv < 0) then { s_player_tv = player addaction[("<t color=""#F7D708"">" + ("Wach TV+"</t>"),"custom\scripts\whorkshop\gps.sqf"]; }; } else { player removeAction s_player_tv; s_player_tv = -1; }; Cherdenko 1 Link to comment Share on other sites More sharing options...
chi Posted August 4, 2016 Report Share Posted August 4, 2016 oh, looked like the "(" at the end of " s_player_tv = player addaction[( " didn't have a closing ")". Im not much for code though. Link to comment Share on other sites More sharing options...
juandayz Posted August 6, 2016 Author Report Share Posted August 6, 2016 UPDATE V2. NEW WORKSHOP OPTIONS: *CRAFT MOUNTED M2: Allow players to craft only one static M2 in plot area.Needs 4xscrapmetal + 4xmetalpole + 3xDSHKM ammo (spawn with ammo, after restart ammo will be removed). *CRAFT MOUNTED DSHKM: Allow players to craft only one static DSHKM in plot area. Needs 4xscrapmetal + 4xmetalpole + 3xDSHKM ammo (spawn with ammo, after restart ammo will be removed). *CRAFT MOUNTED LANTERN: Allow players to craft a Static Lantern. Needs 4Metal Pole +1xPartGlass +1xLightbulb +1xGenerator *CRAFT KITCHEN: Player can craft a kitchen to cook any kind of meat. Its needs 1xitembandage + 1xpillowood + matchbox returns 2 cooked meats *CRAFT ANIMAL HOUSE: Players can craft an Animal House and use it to breed animals (only 4 animals per plot area). Its needs 4xlumbers + 4xPlywoods + Toolbox. Breeding needs 1xBurlap + 1xWaterBottle. *CRAFT BARBED WIRE FENCES: You can craft barbed wire fences with 2xlumbers + 1xItemWire + toolbox *CRAFT LARGE SANDBAGS: Craft "L" sandbags with 6xsandbags + toolbox in inventory. *CRAFT SMALL NEST: A small nest to make better cover. 4xSandbags + 4xLumbers +Toolbox *CRAFT A BOMB: This is dangerus, you have 50% chances to make explode your workshop so take care. Needs 1XEmptyBriefcast + 4xGranades +1xToolbox +1xWatch +1xGPS + 1xRadio. *MAKE DRUGS: Using 1xPain Killers + 1xEphifedrine + 1Nearest Kitchen you can cook drugs. But take care you can feel druged in the process. *CRAFT HOUSES BASED ON SURVIVED DAYS: This include my mod "Craft houses based on survived days" at workshop. Basically: Survive 2 days +4xWoodWalls +1xFloorCelling = SMALL HOUSE.//Survive 4 days +2xCinderWalls +1xFloorCelling = MIDDLE HOUSE.//Survive 6 days +2xCinderWalls +1xFloorCelling = LARGEHOUSE.//Survive 2 days + (+5000) Humanity + 2xCinderWalls +1xFloorCelling =Hero Hospital. (you can heal in there) VIDEO PREVIEW OF NEW OPTIONS: Spoiler AND THE OLD OPTIONS STILL WORKING: *WIRING : Its a Wiring Fence electrified... zeds and players gonna be electrified if is near of this fence. *LOUDSPEAKERS: With this u can launch a plot alarm if ure base is under attack. *ANTENNA : you can catch frecuencys and get some supplys *CARPENTER BENCH: You can craft 10 lumbers in only one step if u have 12 woodpiles in your inventory, also u can craft plywoods. *DRESSMAKER TABLE: You can craft your own clothes, needs 4 bandages and 1 item razor. *WATERTANK: used to fill waterbottles. *DOWGRADE ALL THIS using the workshop menu. *INFO MENUS into whorkshop menu. INSTALLING: ***You will need a custom: fn_selfactions.sqf//compiles.sqf//variables.sqf DOWNLOAD HERE:http://www.mediafire.com/download/pyewpbmawt0k1d1/workshopV2.rar 1-IN INIT.SQF Spoiler find: if (!isDedicated) then { into this section paste: //SERVER ELECTRIFY FENCES [] execVM 'custom\scripts\workshop\serverfunction\server_electrify_init.sqf'; 2-IN DESCRIPTION.EXTA- Spoiler find: into class CfgSounds { paste into this section: sounds4[] = { alarm }; class alarm { name="alarm"; sound[]={custom\scripts\workshop\sqfs\alarm.ogg,0.9,1}; titles[] = {}; }; sounds5[] = { electric }; class electric { name="electric"; sound[]={custom\scripts\workshop\sqfs\electric.ogg,0.9,1}; titles[] = {}; }; B-Again in description.ext but at very bottom paste: Spoiler //whorkshop #include "custom\scripts\workshop\hpp\des.hpp" #include "custom\scripts\workshop\hpp\workshopmenu.hpp" 4-NOW IN CUSTOM FN_SELFACTIONS.SQF A- Spoiler find:_isModular = _cursorTarget isKindOf "ModularItems"; change for: _isModular = (_cursorTarget isKindOf "ModularItems") or ((typeOf _cursorTarget) in DZE_SurvivedHouseRemove); B- Spoiler find: if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { above paste: ////////////////WORKSHOP HOSPITAL HERO USE HEAL OPTION/// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "GUE_WarfareBFieldhHospital")) then { if (s_player_hospitalhero < 0) then { s_player_hospitalhero = player addAction ["<t color='#ff5200'>HEAL IN TENT</t>", "custom\scripts\workshop\sqfs\healhospital.sqf", [], 5, false]; }; } else { player removeAction s_player_hospitalhero; s_player_hospitalhero = -1; }; ///////////////////////////////////////////////////////////OPEN WORKSHOP MENU//////////////////////////// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "MAP_kulna")) then { if (s_player_managework < 0) then { s_player_managework = player addAction ["<t color='#66CCFF'>MANAGE WORKSHOP</t>", "custom\scripts\workshop\hpp\workshopmenu.sqf", [], 5, false]; }; } else { player removeAction s_player_managework; s_player_managework = -1; }; C-Again but now bellow of : if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { Spoiler if (s_player_workshop < 0) then { s_player_workshop = player addAction ["<t color='#66CCFF'>CRAFT-WORKSHOP</t>", "custom\scripts\workshop\createworkshop.sqf", [], 5, false]; }; D-Bellow it u will find: Spoiler } else { player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; paste : player removeAction s_player_workshop; s_player_workshop = -1; above the player removeAction s_player_maintain_area; So steps B,C,D looks: Spoiler ////////////////WORKSHOP HOSPITAL HERO USE HEAL OPTION/// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "GUE_WarfareBFieldhHospital")) then { if (s_player_hospitalhero < 0) then { s_player_hospitalhero = player addAction ["<t color='#ff5200'>HEAL IN TENT</t>", "custom\scripts\workshop\sqfs\healhospital.sqf", [], 5, false]; }; } else { player removeAction s_player_hospitalhero; s_player_hospitalhero = -1; }; ///////////////////////////////////////////////////////////OPEN WORKSHOP MENU//////////////////////////// if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "MAP_kulna")) then { if (s_player_managework < 0) then { s_player_managework = player addAction ["<t color='#66CCFF'>MANAGE WORKSHOP</t>", "custom\scripts\workshop\hpp\workshopmenu.sqf", [], 5, false]; }; } else { player removeAction s_player_managework; s_player_managework = -1; }; if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { if (s_player_workshop < 0) then { s_player_workshop = player addAction ["<t color='#66CCFF'>CRAFT-WORKSHOP</t>", "custom\scripts\workshop\createworkshop.sqf", [], 5, false]; }; } else { player removeAction s_player_workshop; s_player_workshop = -1; player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; E- Spoiler Find near of fn_selfactions end: ( Paste only lines in Black. I put the other lines to give u a reference) } else { //Engineering paste bellow: player removeAction s_player_managework; s_player_managework = -1; player removeAction s_player_workshop; s_player_workshop = -1; {dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = []; s_player_repair_crtl = -1; {player removeAction _x} count s_player_combi;s_player_combi = []; dayz_myCursorTarget = objNull; s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull]; {player removeAction _x} count s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; {player removeAction _x} count s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; player removeAction s_player_checkGear; s_player_checkGear = -1; player removeAction s_player_SurrenderedGear; s_player_SurrenderedGear = -1; player removeAction s_player_forceSave; s_player_forceSave = -1; 5-IN CUSTOM COMPILES.SQF A- Spoiler find:player_removeObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf"; change to: player_removeObject = compile preprocessFileLineNumbers "custom\scripts\workshop\serverfunction\remove.sqf"; 6-IN CUSTOM VARIABLES.SQF A- Spoiler Find: dayz_allowedObjects = ["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; Replace with: dayz_allowedObjects = advworkshop +["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; B- Spoiler In the new :dayz_allowedObjects = advworkshop +["......", .........................................]; Paste Above: advworkshop = ["MAP_kulna","Land_Misc_Well_L_EP1","MAP_Misc_Boogieman","MAP_Shed_W01","MAP_P_Stavebni_kozy","MAP_parabola_big","MAP_office_table_a","Loudspeakers_EP1","MAP_Dkamna_bila","MAP_plot_green_draty","GUE_WarfareBFieldhHospital","MAP_bouda2_vnitrek","MAP_deutshe_mini","MAP_Mil_Mil_Guardhouse","MAP_Pristresek_mensi","Land_fort_bagfence_corner","MAP_plot_provizorni","M2StaticMG_US_EP1","DSHKM_Gue","SearchLight_RUS"]; C- Spoiler Now Bellow: dayz_allowedObjects = advworkshop +["......", .........................................]; paste: DZE_SurvivedHouseRemove = advworkshop; D- Spoiler Find: DZE_maintainClasses = ["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems",.............................."MORE IDS."]; put ONLY lines in blue: DZE_maintainClasses = advworkshop +["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems",................MORE IDS"]; ***SO STEPS A,B,C,D looks: (see lines in blue)*** Spoiler advworkshop = ["MAP_kulna","Land_Misc_Well_L_EP1","MAP_Misc_Boogieman","MAP_Shed_W01","MAP_P_Stavebni_kozy","MAP_parabola_big","MAP_office_table_a","Loudspeakers_EP1","MAP_Dkamna_bila","MAP_plot_green_draty","GUE_WarfareBFieldhHospital","MAP_bouda2_vnitrek","MAP_deutshe_mini","MAP_Mil_Mil_Guardhouse","MAP_Pristresek_mensi","Land_fort_bagfence_corner","MAP_plot_provizorni","M2StaticMG_US_EP1","DSHKM_Gue","SearchLight_RUS"]; dayz_allowedObjects = advworkshop +["TentStorage","TentStorageDomed","TentStorageDomed2", "VaultStorageLocked", "Hedgehog_DZ", "Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; DZE_SurvivedHouseRemove = advworkshop; DZE_LockableStorage = ["VaultStorage","VaultStorageLocked","LockboxStorageLocked","LockboxStorage"]; DZE_LockedStorage = ["VaultStorageLocked","LockboxStorageLocked"]; DZE_UnLockedStorage = ["VaultStorage","LockboxStorage"]; DZE_maintainClasses = advworkshop +["ModularItems","DZE_Housebase","LightPole_DZ","BuiltItems","Plastic_Pole_EP1_DZ","Fence_corrugated_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","StickFence_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","DeerStand_DZ","Scaffolding_DZ","FireBarrel_DZ"]; F: Spoiler findDZE_safeVehicle = ["ParachuteWest","ParachuteC"]; changeDZE_safeVehicle = advworkshop + ["ParachuteWest","ParachuteC"]; 7-NOW YOU NEED GO TO YOUR dayz_server.pbo UNPACK IT. A-open server_functions.sqf find: Spoiler find: fnc_plyrHit = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.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 take the "fnc_wra.sqf" located in download folder and drop it into ....\@DayZ_Epoch_Server\addons\dayz_server\compile\ Done. You can repack your dayz_server.pbo. 8-CREATE THE PATH AND PLACE DOWNLOAD FOLDER create: ......\MPMissions\DayZ_Epoch_11.Chernarus\custom\scripts\ and drop "workshop" folder inside. 9-ONLY INFISTAR USERS tell infistar to notblock the dialogs, so go to your AHconfig.sqf ( tnks @Cherdenko) in there we have to add these two dialofg numbers under: Spoiler _ALLOWED_Dialogs = _ALLOWED_Dialogs + [...,7000,7001,7002,7003}; Link to comment Share on other sites More sharing options...
chi Posted August 6, 2016 Report Share Posted August 6, 2016 Wow! This is awesome. I'll be adding this to my server this weekend and customizing it! Thanks! juandayz 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now