瀏覽代碼

Got it working fully (!)

m3ales 4 年之前
父節點
當前提交
e2e0486340

+ 3 - 1
addons - Copy/RD501_Droid_Dispenser/XEH_postInit.sqf

@@ -1,2 +1,4 @@
 #include "config_macros.hpp"
-GVAR(spawnTime) = 5;
+GVAR(spawnTime) = 5;
+GVAR(spawnerDefaultObject) = "Land_Cargo_House_V1_F";
+GVAR(fireSupportSpawnDelay) = 8;

+ 2 - 1
addons - Copy/RD501_Droid_Dispenser/XEH_prep.hpp

@@ -1,4 +1,5 @@
 #include "config_macros.hpp"
 #define PREP(name) FUNC(name) = compile preProcessFileLineNumbers QUOTE(ADDON\functions\CONCAT(fnc_,name).sqf)
 PREP(spawnDroidPFH);
-PREP(spawnerInit);
+PREP(spawnerInit);
+PREP(newSpawner);

+ 47 - 3
addons - Copy/RD501_Droid_Dispenser/config.cpp

@@ -1,16 +1,60 @@
 #include "config_macros.hpp"
 #define COMPILE_FILE(name) compile preprocessFileLineNumbers SQUOTE(ADDON\name.sqf)
-
+//Land_Cargo_House_V1_F
 class CfgPatches {
 	class ADDON
 	{
 		name = QUOTE(Droid Dispenser);
-		author = "M3ales";
+		author = "RD501";
 		requiredAddons[] = {};
-		units[] = {};
+		units[] = { QUOTE(ORDNANCE(DroidDispenser)) };
 		weapons[] = {};
 	};
 };
+class CfgVehicles
+{
+	class ModuleOrdnance_F;
+	class ORDNANCE(DroidDispenser): ModuleOrdnance_F
+	{
+		author = "RD501";
+		isGlobal = 1;
+		scope = 1;
+		scopeCurator = 2;
+		simulation = "house";
+		category = "Ordnance";
+		model = "\a3\Modules_F_Curator\Ordnance\surfacehowitzer.p3d";
+        function = QUOTE(FUNC(newSpawner));
+        functionPriority = 1;
+		displayName = QUOTE(Droid Dispenser);
+		portrait = "\a3\Modules_F_Curator\Data\portraitOrdnanceMortar_ca.paa";
+		ammo = QUOTE(RD501_Droid_Dispenser_Round);
+		delete Arguments;
+	};
+};
+class CfgAmmo
+{
+	class ModuleOrdnanceHowitzer_F_ammo;
+	class ModuleOrdnanceMortar_F_ammo;
+	class ModuleOrdnanceRocket_F_ammo;
+	class RD501_Droid_Dispenser_Round : ModuleOrdnanceHowitzer_F_ammo
+	{
+		caliber = 950;
+		hit = 1000;
+		allowAgainstInfantry = 1;
+		canLock = 0;
+		explosive = 1;
+		fuseDistance = 30;
+		indirectHit = 200;
+		indirectHitRange = 2;
+		maxSpeed = 1100;
+		typicalSpeed = 1050;
+		sideAirFriction = 0;
+		submunitionAmmo = "";
+		submunitionConeAngle = 30;
+		simulation = "shotshell";
+		model="\A3\Structures_F\Mil\Cargo\Cargo_House_V1_F.p3d";
+	};
+};
 
 class Extended_PreInit_EventHandlers {
     class ADDON {

+ 1 - 0
addons - Copy/RD501_Droid_Dispenser/config_macros.hpp

@@ -13,4 +13,5 @@
 	#define GVAR(name) CONCAT(PREFIX,CONCAT(_,name))
 	#define QGVAR(name) QUOTE(GVAR(name))
 	#define UNIT_NAME(side,name) CONCAT_3(PREFIX,_,CONCAT_3(side,_unit_,name))
+	#define ORDNANCE(name) CONCAT_3(PREFIX,_Ordnance_,name)
 #endif

+ 16 - 0
addons - Copy/RD501_Droid_Dispenser/functions/fnc_newSpawner.sqf

@@ -0,0 +1,16 @@
+#include "function_macros.hpp"
+
+LOG("Triggered newSpawner");
+//wait for projectile to land and then spawn vehicle
+params["_module"];
+_position = position _module;
+LOGF_2("Firing Spawner Artillery at %1, for %2",_postition,_unit);
+[{
+	params["_position"];
+	_spawner = GVAR(spawnerDefaultObject) createVehicle _position;
+	LOGF_2("Created Spawner %1 at %2",_spawner,position _spawner);
+	[_spawner] call FUNC(spawnerInit);
+}, [_position], GVAR(fireSupportSpawnDelay)] call CBA_fnc_waitAndExecute;
+
+// fire projectile
+_this call ace_zeus_fnc_bi_moduleProjectile;