diff --git a/@ExileServer/addons/exile_server_config.pbo b/@ExileServer/addons/exile_server_config.pbo index b9522f4..5c00f92 100644 Binary files a/@ExileServer/addons/exile_server_config.pbo and b/@ExileServer/addons/exile_server_config.pbo differ diff --git a/@ExileServer/addons/exile_server_config/config.cpp b/@ExileServer/addons/exile_server_config/config.cpp index dc33a7f..ab28d20 100644 --- a/@ExileServer/addons/exile_server_config/config.cpp +++ b/@ExileServer/addons/exile_server_config/config.cpp @@ -4703,7 +4703,7 @@ class CfgSettings {4, 0} = Every 4 hours {1, 30} = Every one and a half hour (who the hell would do this?) */ - restartTimer[] = {0, 15}; + restartTimer[] = {4, 0}; /* Kicks players before restart to prevent gear loss. diff --git a/OpenRecentLog.bat b/OpenRecentLog.bat index faa734b..77236c8 100644 --- a/OpenRecentLog.bat +++ b/OpenRecentLog.bat @@ -1,6 +1,6 @@ @echo off -for /f "delims=" %%x in ('dir /od /a-d /b F:\Arma3\Arma3_Server\SC\*.rpt') do set recent=%%x -start "" "C:\Program Files (x86)\Notepad++\notepad++.exe" "F:\Arma3\Arma3_Server\SC\%recent%" - for /f "delims=" %%x in ('dir /od /a-d /b F:\Arma3\Arma3_Server\HC\*.rpt') do set recent=%%x -start "" "C:\Program Files (x86)\Notepad++\notepad++.exe" "F:\Arma3\Arma3_Server\HC\%recent%" \ No newline at end of file +start "" "C:\Program Files (x86)\Notepad++\notepad++.exe" "F:\Arma3\Arma3_Server\HC\%recent%" + +for /f "delims=" %%x in ('dir /od /a-d /b F:\Arma3\Arma3_Server\SC\*.rpt') do set recent=%%x +start "" "C:\Program Files (x86)\Notepad++\notepad++.exe" "F:\Arma3\Arma3_Server\SC\%recent%" \ No newline at end of file diff --git a/mpmissions/Exile.Altis.pbo b/mpmissions/Exile.Altis.pbo index 6991bbd..0f58fa2 100644 Binary files a/mpmissions/Exile.Altis.pbo and b/mpmissions/Exile.Altis.pbo differ diff --git a/mpmissions/Exile.Altis/CfgExileCustomCode.cpp b/mpmissions/Exile.Altis/CfgExileCustomCode.cpp index 723b049..b805def 100644 --- a/mpmissions/Exile.Altis/CfgExileCustomCode.cpp +++ b/mpmissions/Exile.Altis/CfgExileCustomCode.cpp @@ -1,10 +1,5 @@ /* -//ExAd -ExileClient_gui_xm8_slide = "ExAdClient\XM8\CustomCode\ExileClient_gui_xm8_slide.sqf"; -ExileClient_gui_xm8_show = "ExAdClient\XM8\CustomCode\ExileClient_gui_xm8_show.sqf"; -ExileServer_system_territory_database_load = "ExAdClient\VirtualGarage\CustomCode\ExileServer_system_territory_database_load.sqf"; - //Extended Base Mod ExileClient_system_lootmanager_thread_spawn = "EBM\exileclient_system_lootmanager_thread_spawn.sqf"; @@ -33,12 +28,6 @@ ExileServer_system_trading_network_wasteDumpRequest = "custom\SellCrates\ExileSe //enhancedMovement ExileClient_system_thread_initialize = "custom\enhancedMovement\ExileClient_system_thread_initialize.sqf"; -//Fix for Error Foreign error: Unknown enum value: "MPKilled" -ExileServer_system_garbageCollector_deleteObject="custom\fixes\ExileServer_system_garbageCollector_deleteObject.sqf"; - -//Another fix for unknown enum value: PUBLIC -ExileServer_system_event_ambientFlyOver_start="custom\fixes\ExileServer_system_event_ambientFlyOver_start.sqf"; - //Persistent Time and Weather System ExileClient_object_player_stats_updateTemperature="custom\PTWS\ExileClient_object_player_stats_updateTemperature.sqf"; ExileClient_system_snow_thread_update="custom\PTWS\ExileClient_system_snow_thread_update.sqf"; @@ -52,4 +41,15 @@ ExileServer_system_rcon_thread_check="custom\fixes\ExileServer_system_rcon_threa //Exile Loot Drop DLL ExileServer_system_lootManager_dropItem = "\ExileLootDrop\ExileServer_system_lootManager_dropItem.sqf"; -ExileServer_system_lootManager_spawnLootInBuilding = "\ExileLootDrop\ExileServer_system_lootManager_spawnLootInBuilding.sqf"; \ No newline at end of file +ExileServer_system_lootManager_spawnLootInBuilding = "\ExileLootDrop\ExileServer_system_lootManager_spawnLootInBuilding.sqf"; + +//ExAd +ExileClient_gui_xm8_slide = "ExAdClient\XM8\CustomCode\ExileClient_gui_xm8_slide.sqf"; +ExileClient_gui_xm8_show = "ExAdClient\XM8\CustomCode\ExileClient_gui_xm8_show.sqf"; +ExileServer_system_territory_database_load = "ExAdClient\VirtualGarage\CustomCode\ExileServer_system_territory_database_load.sqf"; + +//Fix for Error Foreign error: Unknown enum value: "MPKilled" +ExileServer_system_garbageCollector_deleteObject="custom\fixes\ExileServer_system_garbageCollector_deleteObject.sqf"; + +//Another fix for unknown enum value: PUBLIC +ExileServer_system_event_ambientFlyOver_start="custom\fixes\ExileServer_system_event_ambientFlyOver_start.sqf"; \ No newline at end of file diff --git a/mpmissions/Exile.Altis/config.cpp b/mpmissions/Exile.Altis/config.cpp index 56813f5..694c218 100644 --- a/mpmissions/Exile.Altis/config.cpp +++ b/mpmissions/Exile.Altis/config.cpp @@ -70,1113 +70,9 @@ class Exile_AbstractCraftingRecipe class CfgCraftingRecipes { - -class BreachingChargeBigMomma: Exile_AbstractCraftingRecipe -{ - name = "Breaching Charge (Big Momma)"; - pictureItem = "Exile_Item_BreachingCharge_BigMomma"; - returnedItems[] = - { - {1, "Exile_Item_BreachingCharge_BigMomma"} - }; - tools[] = - { - "Exile_Item_Foolbox" - }; - components[] = - { - {3, "Exile_Item_BreachingCharge_Metal"}, - {1, "Exile_Item_MobilePhone"}, - {1, "Exile_Item_DuctTape"}, - {1, "Exile_Item_ZipTie"} - }; -}; - -class BreachingChargeMetal: Exile_AbstractCraftingRecipe -{ - name = "Breaching Charge (Metal)"; - pictureItem = "Exile_Item_BreachingCharge_Metal"; - returnedItems[] = - { - {1, "Exile_Item_BreachingCharge_Metal"} - }; - tools[] = - { - "Exile_Item_Foolbox" - }; - components[] = - { - {1, "Exile_Item_DuctTape"}, - {1, "SatchelCharge_Remote_Mag"} - }; -}; - -class BreachingChargeWood: Exile_AbstractCraftingRecipe -{ - name = "Breaching Charge (Wood)"; - pictureItem = "Exile_Item_BreachingCharge_Wood"; - returnedItems[] = - { - {1, "Exile_Item_BreachingCharge_Wood"} - }; - tools[] = - { - "Exile_Item_Foolbox" - }; - components[] = - { - {1, "Exile_Item_DuctTape"}, - {1, "DemoCharge_Remote_Mag"} - }; -}; - -class CookBBQSandwich: Exile_AbstractCraftingRecipe -{ - name = "Cook BBQ Sandwich"; - pictureItem = "Exile_Item_BBQSandwich_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_BBQSandwich_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_BBQSandwich"} - }; -}; - -class CookCatFood: Exile_AbstractCraftingRecipe -{ - name = "Cook Cat Food"; - pictureItem = "Exile_Item_CatFood_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_CatFood_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_CatFood"} - }; -}; - -class CookChristmasTinner: Exile_AbstractCraftingRecipe -{ - name = "Cook Christmas Tinner"; - pictureItem = "Exile_Item_ChristmasTinner_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_ChristmasTinner_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_ChristmasTinner"} - }; -}; -class CookCoffee: Exile_AbstractCraftingRecipe -{ - name = "Brew Coffee"; - pictureItem = "Exile_Item_PlasticBottleCoffee"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleCoffee"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_PlasticBottleFreshWater"}, - {1, "Exile_Item_InstantCoffee"} - }; -}; -class CookDogFood: Exile_AbstractCraftingRecipe -{ - name = "Cook Dog Food"; - pictureItem = "Exile_Item_DogFood_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_DogFood_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_DogFood"} - }; -}; - -class CookGloriousKnakworst: Exile_AbstractCraftingRecipe -{ - name = "Cook Glorious Knakworst"; - pictureItem = "Exile_Item_GloriousKnakworst_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_GloriousKnakworst_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_GloriousKnakworst"} - }; -}; - -class CookMacasCheese: Exile_AbstractCraftingRecipe -{ - name = "Cook Macas Cheese"; - pictureItem = "Exile_Item_MacasCheese_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_MacasCheese_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_MacasCheese"} - }; -}; - -class CookPlasticBottleDirtyWater: Exile_AbstractCraftingRecipe -{ - name = "Cook Dirty Water"; - pictureItem = "Exile_Item_PlasticBottleFreshWater"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleFreshWater"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_PlasticBottleDirtyWater"} - }; -}; -class CookPlasticBottleSaltWater: Exile_AbstractCraftingRecipe -{ - name = "Cook Salt Water"; - pictureItem = "Exile_Item_PlasticBottleFreshWater"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleFreshWater"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_PlasticBottleSaltWater"} - }; -}; - -class CookSausageGravy: Exile_AbstractCraftingRecipe -{ - name = "Cook Sausage Gravy"; - pictureItem = "Exile_Item_SausageGravy_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_SausageGravy_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_SausageGravy"} - }; -}; - -class CookSurstromming: Exile_AbstractCraftingRecipe -{ - name = "Cook Surströmming"; - pictureItem = "Exile_Item_Surstromming_Cooked"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_Surstromming_Cooked"} - }; - tools[] = - { - "Exile_Item_CookingPot" - }; - components[] = - { - {1, "Exile_Item_Surstromming"} - }; -}; - -class CraftBandage: Exile_AbstractCraftingRecipe -{ - name = "Craft Bandage"; - pictureItem = "Exile_Item_Bandage"; - returnedItems[] = - { - {1, "Exile_Item_Bandage"} - }; - components[] = - { - {4, "Exile_Item_ToiletPaper"} - }; -}; - -class CraftConcreteDoorway: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Doorway"; - pictureItem = "Exile_Item_ConcreteDoorwayKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteDoorwayKit"}, - {3, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {3, "Exile_Item_Cement"}, - {3, "Exile_Item_Sand"}, - {3, "Exile_Item_MetalPole"}, - {3, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftConcreteFloor: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Floor"; - pictureItem = "Exile_Item_ConcreteFloorKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteFloorKit"}, - {2, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {2, "Exile_Item_Cement"}, - {2, "Exile_Item_Sand"}, - {2, "Exile_Item_MetalPole"}, - {2, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftConcreteFloorPort: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Floor Port"; - pictureItem = "Exile_Item_ConcreteFloorPortKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteFloorPortKit"}, - {3, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {3, "Exile_Item_Cement"}, - {3, "Exile_Item_Sand"}, - {3, "Exile_Item_MetalPole"}, - {3, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftConcreteGate: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Gate"; - pictureItem = "Exile_Item_ConcreteGateKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteGateKit"}, - {4, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {4, "Exile_Item_Cement"}, - {4, "Exile_Item_Sand"}, - {4, "Exile_Item_MetalPole"}, - {4, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftConcretStairs: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Stairs"; - pictureItem = "Exile_Item_ConcreteStairsKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteStairsKit"}, - {1, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {1, "Exile_Item_Cement"}, - {1, "Exile_Item_Sand"}, - {1, "Exile_Item_MetalPole"}, - {1, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftConcretSupport: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Support"; - pictureItem = "Exile_Item_ConcreteSupportKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteSupportKit"}, - {1, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {1, "Exile_Item_Cement"}, - {1, "Exile_Item_Sand"}, - {1, "Exile_Item_MetalPole"}, - {1, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftConcreteWall: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Wall"; - pictureItem = "Exile_Item_ConcreteWallKit"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_ConcreteWallKit"}, - {2, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {2, "Exile_Item_Cement"}, - {2, "Exile_Item_Sand"}, - {2, "Exile_Item_MetalPole"}, - {2, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftFirePlace: Exile_AbstractCraftingRecipe -{ - name = "Craft Fire Place"; - pictureItem = "Exile_Item_CampFireKit"; - returnedItems[] = - { - {1, "Exile_Item_CampFireKit"} - }; - components[] = - { - {2, "Exile_Item_WoodLog"} - }; -}; -class CraftFloodLight: Exile_AbstractCraftingRecipe -{ - name = "Craft Flood Light"; - pictureItem = "Exile_Item_FloodLightKit"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_FloodLightKit"} - }; - components[] = - { - {1, "Exile_Item_MetalPole"}, - {1, "Exile_Item_LightBulb"}, - {1, "Exile_Item_ExtensionCord"} - }; -}; -class CraftFortificationUpgrade: Exile_AbstractCraftingRecipe -{ - name = "Craft Fortification Upgrade"; - pictureItem = "Exile_Item_MetalBoard"; //<< CHANGE IT - requiresFire = 1; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_FortificationUpgrade"} - }; - components[] = - { - {2, "Exile_Item_MetalPole"}, - {4, "Exile_Item_MetalBoard"} - }; - tools[] = {"Exile_Item_Grinder"}; -}; -class CraftHBarrier5Kit: Exile_AbstractCraftingRecipe -{ - name = "Craft H-barrier (5 Blocks)"; - pictureItem = "Exile_Item_HBarrier5Kit"; - requiredInteractionModelGroup = "WorkBench"; - tools[] = - { - "Exile_Item_Pliers" - }; - returnedItems[] = - { - {1, "Exile_Item_HBarrier5Kit"} - }; - components[] = - { - {3, "Exile_Item_SandBagsKit_Long"}, - {2, "Exile_Item_MetalWire"} - }; -}; -class CraftMetalBoard: Exile_AbstractCraftingRecipe -{ - name = "Craft Metal Board"; - pictureItem = "Exile_Item_MetalBoard"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_MetalBoard"} - }; - components[] = - { - {2, "Exile_Item_JunkMetal"} - }; - tools[] = {"Exile_Item_Grinder"}; -}; -class CraftMetalHedgehog: Exile_AbstractCraftingRecipe -{ - name = "Craft Metal Hedgehog"; - pictureItem = "Exile_Item_MetalHedgehogKit"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_MetalHedgehogKit"} - }; - components[] = - { - {4, "Exile_Item_MetalPole"} - }; - tools[] = {"Exile_Item_Grinder"}; -}; -class CraftMetalPole: Exile_AbstractCraftingRecipe -{ - name = "Craft Metal Pole"; - pictureItem = "Exile_Item_MetalPole"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_MetalPole"} - }; - components[] = - { - {4, "Exile_Item_JunkMetal"} - }; - tools[] = {"Exile_Item_Grinder"}; -}; -class CraftPortableGenerator: Exile_AbstractCraftingRecipe -{ - name = "Craft Portable Generator"; - pictureItem = "Exile_Item_PortableGeneratorKit"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_PortableGeneratorKit"} - }; - components[] = - { - {4, "Exile_Item_MetalBoard"}, - {1, "Exile_Item_FuelCanisterFull"}, - {1, "Exile_Item_ExtensionCord"} - }; -}; -/*class CraftRazorWireKit: Exile_AbstractCraftingRecipe -{ - name = "Craft Razor Wire Kit Kit"; - pictureItem = "Exile_Item_RazorWireKit_Long"; - requiredInteractionModelGroup = "WorkBench"; - tools[] = - { - "Exile_Item_Grinder", - "Exile_Item_Pliers", - "Exile_Item_Screwdriver" - }; - returnedItems[] = - { - {1, "Exile_Item_RazorWireKit_Long"} - }; - components[] = - { - {2, "Exile_Item_MetalPole"}, - {4, "Exile_Item_MetalWire"}, - {1, "Exile_Item_MetalScrews"} - }; -};*/ -class CraftRepairKitConcrete: Exile_AbstractCraftingRecipe -{ - name = "Craft Concrete Repair Kit"; - pictureItem = "Exile_Item_Cement"; - requiresConcreteMixer = true; - returnedItems[] = - { - {1, "Exile_Item_RepairKitConcrete"}, - {1, "Exile_Item_WaterCanisterEmpty"}, - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {4, "Exile_Item_Cement"}, - {2, "Exile_Item_Sand"}, - {1, "Exile_Item_WaterCanisterDirtyWater"}, - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class CraftRepairKitMetal: Exile_AbstractCraftingRecipe -{ - name = "Craft Metal Repair Kit"; - pictureItem = "Exile_Item_RepairKitMetal"; - requiresFire = 0; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_RepairKitMetal"} - }; - components[] = - { - {4, "Exile_Item_MetalBoard"} - }; - tools[] = - { - "Exile_Item_Foolbox", - "Exile_Item_Grinder" - }; -}; -class CraftRepairKitWood: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Repair Kit"; - pictureItem = "Exile_Item_RepairKitWood"; - requiresFire = 0; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_RepairKitWood"} - }; - components[] = - { - {4, "Exile_Item_WoodPlank"} - }; - tools[] = - { - "Exile_Item_Foolbox" - }; -}; -class CraftSandBagsKitCorner: Exile_AbstractCraftingRecipe -{ - name = "Craft Sandbags Kit (Corner)"; - pictureItem = "Exile_Item_SandBagsKit_Corner"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_SandBagsKit_Corner"} - }; - components[] = - { - {3, "Exile_Item_Sand"} - }; -}; -class CraftSandBagsKitLong: Exile_AbstractCraftingRecipe -{ - name = "Craft Sand Bags Kit (Long)"; - pictureItem = "Exile_Item_SandBagsKit_Long"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_SandBagsKit_Long"} - }; - components[] = - { - {6, "Exile_Item_Sand"} - }; -}; -class CraftStorageCrate: Exile_AbstractCraftingRecipe -{ - name = "Craft Storage Crate"; - pictureItem = "Exile_Item_StorageCrateKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_StorageCrateKit"} - }; - components[] = - { - {5, "Exile_Item_WoodPlank"} - }; -}; -class CraftWaterBarrel: Exile_AbstractCraftingRecipe -{ - name = "Craft Water Barrel"; - pictureItem = "Exile_Item_WaterBarrelKit"; - requiredInteractionModelGroup = "WorkBench"; - requiresFire = 1; - returnedItems[] = - { - {1, "Exile_Item_WaterBarrelKit"} - }; - components[] = - { - {20, "Exile_Item_PlasticBottleEmpty"} - }; -}; -class CraftWireFenceKit: Exile_AbstractCraftingRecipe -{ - name = "Craft Wire Fence Kit"; - pictureItem = "Exile_Item_WireFenceKit"; - requiredInteractionModelGroup = "WorkBench"; - tools[] = - { - "Exile_Item_Grinder", - "Exile_Item_Pliers", - "Exile_Item_Screwdriver" - }; - returnedItems[] = - { - {1, "Exile_Item_WireFenceKit"} - }; - components[] = - { - {4, "Exile_Item_MetalPole"}, - {6, "Exile_Item_MetalWire"}, - {1, "Exile_Item_MetalScrews"} - }; -}; -class CraftWoodDoorWay: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Doorway"; - pictureItem = "Exile_Item_WoodDoorwayKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodDoorwayKit"} - }; - components[] = - { - {6, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodFloor: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Floor"; - pictureItem = "Exile_Item_WoodFloorKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodFloorKit"} - }; - components[] = - { - {4, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodFloorPort: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Floor Port"; - pictureItem = "Exile_Item_WoodFloorPortKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodFloorPortKit"} - }; - components[] = - { - {6, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodGate: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Gate"; - pictureItem = "Exile_Item_WoodGateKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodGateKit"} - }; - components[] = - { - {8, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodPlank: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Plank"; - pictureItem = "Exile_Item_WoodPlank"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodPlank"} - }; - components[] = - { - {2, "Exile_Item_WoodLog"} - }; - tools[] = {"Exile_Item_Handsaw"}; -}; -class CraftWoodStairs: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Stairs"; - pictureItem = "Exile_Item_WoodStairsKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodStairsKit"} - }; - components[] = - { - {6, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodSupport: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Support"; - pictureItem = "Exile_Item_WoodSupportKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodSupportKit"} - }; - components[] = - { - {6, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodWall: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Wall"; - pictureItem = "Exile_Item_WoodWallKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodWallKit"} - }; - components[] = - { - {4, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodWallHalf: Exile_AbstractCraftingRecipe -{ - name = "Craft 1/2 Wood Wall"; - pictureItem = "Exile_Item_WoodWallHalfKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodWallHalfKit"} - }; - components[] = - { - {2, "Exile_Item_WoodPlank"} - }; -}; -class CraftWoodWindow: Exile_AbstractCraftingRecipe -{ - name = "Craft Wood Window"; - pictureItem = "Exile_Item_WoodWindowKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodWindowKit"} - }; - components[] = - { - {6, "Exile_Item_WoodPlank"} - }; -}; -class CraftWorkBench: Exile_AbstractCraftingRecipe -{ - name = "Craft Work Bench"; - pictureItem = "Exile_Item_WorkBenchKit"; - returnedItems[] = - { - {1, "Exile_Item_WorkBenchKit"} - }; - components[] = - { - {4, "Exile_Item_WoodLog"} - }; -}; -class EmptyFuelCanister: Exile_AbstractCraftingRecipe -{ - name = "Empty Fuel Canister"; - pictureItem = "Exile_Item_FuelCanisterEmpty"; - returnedItems[] = - { - {1, "Exile_Item_FuelCanisterEmpty"} - }; - components[] = - { - {1, "Exile_Item_FuelCanisterFull"} - }; -}; -class EmptyPlasticBottleDirtyWater: Exile_AbstractCraftingRecipe -{ - name = "Empty Dirty Water"; - pictureItem = "Exile_Item_PlasticBottleEmpty"; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleEmpty"} - }; - components[] = - { - {1, "Exile_Item_PlasticBottleDirtyWater"} - }; -}; -class EmptyPlasticBottleSaltWater: Exile_AbstractCraftingRecipe -{ - name = "Empty Salt Water"; - pictureItem = "Exile_Item_PlasticBottleEmpty"; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleEmpty"} - }; - components[] = - { - {1, "Exile_Item_PlasticBottleSaltWater"} - }; -}; -class FillEmptyPlasticBottleWithDirtyWater: Exile_AbstractCraftingRecipe -{ - name = "Fill Dirty Water"; - pictureItem = "Exile_Item_PlasticBottleDirtyWater"; - requiredInteractionModelGroup = "WaterSource"; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleDirtyWater"} - }; - components[] = - { - {1, "Exile_Item_PlasticBottleEmpty"} - }; -}; -class FillEmptyPlasticBottleWithFreshWater: Exile_AbstractCraftingRecipe -{ - name = "Fill Fresh Water"; - pictureItem = "Exile_Item_PlasticBottleFreshWater"; - requiredInteractionModelGroup = "CleanWaterSource"; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleFreshWater"} - }; - components[] = - { - {1, "Exile_Item_PlasticBottleEmpty"} - }; -}; -class FillEmptyPlasticBottleWithSaltWater: Exile_AbstractCraftingRecipe -{ - name = "Fill Salt Water"; - pictureItem = "Exile_Item_PlasticBottleSaltWater"; - requiresOcean = 1; - returnedItems[] = - { - {1, "Exile_Item_PlasticBottleSaltWater"} - }; - components[] = - { - {1, "Exile_Item_PlasticBottleEmpty"} - }; -}; -class FillEmptyWaterCanisterWithDirtyWater: Exile_AbstractCraftingRecipe -{ - name = "Fill Dirty Water"; - pictureItem = "Exile_Item_WaterCanisterDirtyWater"; - requiredInteractionModelGroup = "WaterSource"; - returnedItems[] = - { - {1, "Exile_Item_WaterCanisterDirtyWater"} - }; - components[] = - { - {1, "Exile_Item_WaterCanisterEmpty"} - }; -}; -class FillFuelCanister: Exile_AbstractCraftingRecipe -{ - name = "Fill Fuel Canister"; - pictureItem = "Exile_Item_FuelCanisterFull"; - requiredInteractionModelGroup = "FuelSource"; - returnedItems[] = - { - {1, "Exile_Item_FuelCanisterFull"} - }; - components[] = - { - {1, "Exile_Item_FuelCanisterEmpty"} - }; -}; -class UpgradeToConcreteDoor: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Concrete Door"; - pictureItem = "Exile_Item_ConcreteDoorKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_ConcreteDoorKit"} - }; - components[] = - { - {1, "Exile_Item_ConcreteDoorwayKit"}, - {2, "Exile_Item_MetalPole"}, - {4, "Exile_Item_MetalBoard"} - }; -}; -class UpgradeToConcreteFloorPort: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Concrete Floor Port"; - pictureItem = "Exile_Item_ConcreteFloorPortKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_ConcreteFloorPortKit"} - }; - components[] = - { - {1, "Exile_Item_ConcreteFloorKit"}, - {2, "Exile_Item_MetalPole"}, - {4, "Exile_Item_MetalBoard"} - }; -}; -class UpgradeToConcreteGate: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Concrete Gate"; - pictureItem = "Exile_Item_ConcreteGateKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_ConcreteGateKit"} - }; - components[] = - { - {1, "Exile_Item_ConcreteWallKit"}, - {2, "Exile_Item_MetalPole"}, - {4, "Exile_Item_MetalBoard"} - }; -}; -class UpgradeToConcreteWindow: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Concrete Window"; - pictureItem = "Exile_Item_ConcreteWindowKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_ConcreteWindowKit"} - }; - components[] = - { - {1, "Exile_Item_ConcreteWallKit"}, - {2, "Exile_Item_MetalPole"}, - {4, "Exile_Item_MetalBoard"} - }; -}; -class UpgradeToWoodDoor: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Wood Door"; - pictureItem = "Exile_Item_WoodDoorKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodDoorKit"} - }; - components[] = - { - {1, "Exile_Item_WoodDoorwayKit"}, - {2, "Exile_Item_WoodPlank"} - }; -}; -class UpgradeToWoodFloorPort: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Wood Floor Port"; - pictureItem = "Exile_Item_WoodFloorPortKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodFloorPortKit"} - }; - components[] = - { - {1, "Exile_Item_WoodFloorKit"}, - {2, "Exile_Item_WoodPlank"} - }; -}; -class UpgradeToWoodGate: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Wood Gate"; - pictureItem = "Exile_Item_WoodGateKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodGateKit"} - }; - components[] = - { - {1, "Exile_Item_WoodWallKit"}, - {4, "Exile_Item_WoodPlank"} - }; -}; -class UpgradeToWoodWall: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Wood Wall"; - pictureItem = "Exile_Item_WoodWallHalfKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodWallKit"} - }; - components[] = - { - {2, "Exile_Item_WoodWallHalfKit"} - }; -}; -class UpgradeToWoodWindow: Exile_AbstractCraftingRecipe -{ - name = "Upgrade to Wood Window"; - pictureItem = "Exile_Item_WoodWindowKit"; - requiredInteractionModelGroup = "WorkBench"; - returnedItems[] = - { - {1, "Exile_Item_WoodWindowKit"} - }; - components[] = - { - {1, "Exile_Item_WoodWallKit"}, - {2, "Exile_Item_WoodPlank"} - }; -}; + + #include "custom\evolved\Evolved.sqf" + }; class CfgExileArsenal { @@ -3142,6 +2038,14 @@ class CfgInteractionMenus condition = "call ExileClient_object_vehicle_interaction_show"; action = "_this call ExileClient_object_vehicle_drain"; }; + + //ExAd + class PackDeployedVehicle: ExileAbstractAction + { + title = "Pack Vehicle"; + condition = "call ExAd_XM8_DV_fnc_canPack"; + action = "call ExAd_XM8_DV_fnc_pack"; + }; }; }; @@ -3274,6 +2178,14 @@ class CfgInteractionMenus condition = "((ExileClientInteractionObject getvariable ['ExileIsLocked',1]) isEqualTo 0)"; action = "_this spawn ExileClient_object_lock_setPin"; }; + + //Exad + class HackSafe : ExileAbstractAction + { + title = "Hack Safe"; + condition = "call ExAd_fnc_canHackSafe"; + action = "_this spawn ExAd_fnc_startHack"; + }; }; }; @@ -3290,6 +2202,14 @@ class CfgInteractionMenus condition = "((ExileClientInteractionObject animationPhase 'LaptopLidRotation') >= 0.5)"; action = "_this call ExileClient_gui_baseCamera_show"; }; + + //ExAd + class StopHack: ExileAbstractAction + { + title = "Interupt Hack"; + condition = "(ExileClientInteractionObject getVariable ['ExAd_HACKING_IN_PROGRESS', false])"; + action = "_this spawn ExAd_fnc_stopHack"; + }; }; }; @@ -3395,6 +2315,21 @@ class CfgInteractionMenus action = "_this call ExileClient_object_construction_repair"; }; + //ExAd + class Grind : ExileAbstractAction + { + title = "Grind Lock"; + condition = "call ExAd_fnc_canGrindLock"; + action = "_this spawn ExAd_fnc_grindLock"; + }; + + class RestoreLock : ExileAbstractAction + { + title = "Restore Lock"; + condition = "_object call ExAd_fnc_canRestoreLock"; + action = "_this spawn ExAd_fnc_restoreLock"; + }; + }; }; @@ -3452,6 +2387,14 @@ class CfgInteractionMenus condition = "((ExileClientInteractionObject getvariable ['ExileFlagStolen',0]) isEqualTo 1)"; action = "['restoreFlagRequest', [netID ExileClientInteractionObject]] call ExileClient_system_network_send"; }; + + //ExAd + class HackVG : ExileAbstractAction + { + title = "Hack Virtual Garage"; + condition = "call ExAd_fnc_canHackVG"; + action = "_this spawn ExAd_fnc_startHack"; + }; }; }; @@ -3533,6 +2476,14 @@ class CfgInteractionMenus condition = "true"; action = "_this call ExileClient_object_vehicle_flip"; }; + + //ExAd + class PackDeployedVehicle: ExileAbstractAction + { + title = "Pack Bike"; + condition = "call ExAd_XM8_DV_fnc_canPack"; + action = "call ExAd_XM8_DV_fnc_pack"; + }; }; }; @@ -6327,4 +5278,87 @@ class CfgVehicleTransport detachPosition[] = {0.08, -6}; }; }; -}; \ No newline at end of file +}; + + +class CfgXM8 +{ + extraApps[] = {"ExAd_VG","ExAd_CHVD","ExAd_Bike","ExAd_SB","BRAmaRecipes"}; + + class ExAd_VG + { + title = "Virtual Garage"; + controlID = 50000; //IDC:50000 -> 50015 || These need to be unique and out of range from each other + logo = "ExadClient\XM8\Apps\VG\Icon_VG.paa"; + onLoad = "ExAdClient\XM8\Apps\VG\onLoad.sqf"; + onOpen = "ExAdClient\XM8\Apps\VG\onOpen.sqf"; + onClose = "ExAdClient\XM8\Apps\VG\onClose.sqf"; + }; + class ExAd_Info + { + title = "Server Info"; + controlID = 50100; //IDC:50100 -> 50102 || These need to be unique and out of range from each other + logo = "ExadClient\XM8\Apps\Info\Icon_SI.paa"; + onLoad = "ExAdClient\XM8\Apps\Info\onLoad.sqf"; + onOpen = "ExAdClient\XM8\Apps\Info\onOpen.sqf"; + onClose = "ExAdClient\XM8\Apps\Info\onClose.sqf"; + }; + class ExAd_CHVD + { + title = "View Distance Settings"; + controlID = 50200; //IDC:50200 -> 50102 || These need to be unique and out of range from each other + config = "ExadClient\XM8\Apps\CHVD\config.sqf"; + logo = "ExadClient\XM8\Apps\CHVD\Icon_CHVD.paa"; + onLoad = "ExAdClient\XM8\Apps\CHVD\onLoad.sqf"; + onOpen = "ExAdClient\XM8\Apps\CHVD\onOpen.sqf"; + onClose = "ExAdClient\XM8\Apps\CHVD\onClose.sqf"; + }; + class ExAd_Journal + { + title = "Journal"; + controlID = 50300; //IDC:50300 -> 50305 || These need to be unique and out of range from each other + config = "ExadClient\XM8\Apps\Journal\config.sqf"; + logo = "ExadClient\XM8\Apps\Journal\Icon_Journal.paa"; + onLoad = "ExAdClient\XM8\Apps\Journal\onLoad.sqf"; + onOpen = "ExAdClient\XM8\Apps\Journal\onOpen.sqf"; + onClose = "ExAdClient\XM8\Apps\Journal\onClose.sqf"; + }; + class ExAd_Bike + { + title = "Deploy Bike"; + config = "ExadClient\XM8\Apps\DeployVehicle\config.sqf"; + bambiState = 0; //Set to 1 to only allow players to deploy as a bambi. + blockInSafezone = 0; //Set to 1 to prevent players deploying said vehicle inside of safezones. + vehicleClass = "Exile_Bike_MountainBike"; + recipe[] = {{"Exile_Item_ExtensionCord",-1}}; + packable = 1; + autoCleanUp = 1; + quickFunction = "['ExAd_Bike'] call ExAd_XM8_DV_fnc_spawnVehicle"; + }; + class ExAd_Quad + { + title = "Deploy Quad"; + bambiState = 0; + blockInSafezone = 0; + vehicleClass = "Exile_Bike_QuadBike_Fia"; + recipe[] = {}; + packable = 1; + quickFunction = "['ExAd_Quad'] call ExAd_XM8_DV_fnc_spawnVehicle"; + }; + class ExAd_SB + { + title = "Statsbar Settings"; + controlID = 50400; //IDC:50400 -> 50475 || These need to be unique and out of range from each other + logo = "ExadClient\XM8\Apps\SB_Settings\Icon_SB.paa"; + onLoad = "ExAdClient\XM8\Apps\SB_Settings\onLoad.sqf"; + }; + class BRAmaRecipes + { + controlID = 107000; + title = "Recipies"; + logo = "ExAdClient\XM8\Apps\BRAmaRecipes\BRAma.paa"; + config = "ExAdClient\XM8\Apps\BRAmaRecipes\config.sqf"; + onLoad = "ExAdClient\XM8\Apps\BRAmaRecipes\onLoad.sqf"; + onOpen = "ExAdClient\XM8\Apps\BRAmaRecipes\onOpen.sqf"; + }; +}; \ No newline at end of file diff --git a/mpmissions/Exile.Altis/description.ext b/mpmissions/Exile.Altis/description.ext index ff2cebf..84a4807 100644 --- a/mpmissions/Exile.Altis/description.ext +++ b/mpmissions/Exile.Altis/description.ext @@ -74,3 +74,33 @@ showHUD[] = #include "infiSTAR_AdminMenu.hpp" #include "infiSTAR_chat.hpp" #include "infiSTAR_KeyBinds.hpp" + +//ExAd +#include "ExAdClient\ExAd.cpp" + +//R3F Logistics +//#include "R3F_LOG\desc_include.h" + +class CfgFunctions +{ + //ExAd + #include "ExAdClient\CfgFunctions.cpp" +}; + +class RscTitles +{ + //ExAd + #include "ExAdClient\RscTitles.cpp" +}; + +class CfgHints +{ + //ExAd + #include "ExAdClient\CfgHints.cpp" +}; + +class CfgNetworkMessages +{ + //ExAd + #include "ExAdClient\CfgNetworkMessages.cpp" +}; \ No newline at end of file