Jump to content
Sign in to follow this  
thierry007

Herculess bombing run?

Recommended Posts

Is it possible to use Init scripts to make a Herculess drop bombs? (like carpet bombing ) And i dont mean it to be used with som but it could be possible but currently just Mortar shells being dropped/fired from a Herculess on the ground below. ( by a trigger or every 7 minutes etc )

Share this post


Link to post
Share on other sites

Well, you could just make the "Herculess" or what aircraft you want fly over and then an explosion to happen on the ground.

If you want the hercules to actually drop the bomb thats harder but easily do-able.

Im not sure any way else if you want a "carpet-bombing" effect, but creating invisible h's on every bomb explosion spot, because it would have to be from north - south or east-west ect ect.

Create 6 invisible h's in a bombing effect, ie, 2 in a line, and 6 in total, like the 6 on a dice.

name each one, Bomb1, bomb2, bomb3 ect.

Then put in the init line

[bomb1] exec "bomb.sqs" Change bomb1 for bomb2 through to bomb6

Create a script called "bomb.sqs" Inside it put:

_thePoint = _this select 0

_bombLoc = GetPos _theObject
_bombLocX = _bombLoc select 0
_bombLocY = _bombLoc select 1
_bombLocZ = _bombLoc select 2

*ammo*  createVehicle[_bombLocX, _bombLocY, _bombLocZ]
exit

This should work, but replace *ammo* with the ammo type you want.

If you want a blast from the round of a tank shell, replace it with

Sh_125_HE

If you want the blast type from a hellfire missile, use

M_Hellfire_AT

If you want a Laser Guided Bomb explosion, which you probably do (No Laser Needed, btw.) use

Bo_GBU12_LGB

For the LGB, the line would look like

Bo_GBU12_LGB  createVehicle[_bombLocX, _bombLocY, _bombLocZ]

Hope this helps.

Share this post


Link to post
Share on other sites

I downloaded that script thing going to test it for Coronel niel's thing i would need a little more explanation but i understand the parts of zhe bombs Muahaha =p

Edit: how would i do it then to make my enemy bomb me? ( for example im from opfor one of our fortified sites is under attack how can i get the blufor to carpet bomb it then?

Share this post


Link to post
Share on other sites

Come close to it =p ( depends if im there or not but getting them to use it would be nice so the player doesnt has to do it =p ( if possible even possible for opfor ) that script i didnt really figure out how to use it Heh ( still trying tho lol )

Edited by thierry007

Share this post


Link to post
Share on other sites

Does someone know witch ammo i need to destroy a tank? I've tried the three types from Colonel_Niel's post but the tank's still standing after 18! hits...

Share this post


Link to post
Share on other sites

Here's a little something to keep your player on his toes. It'll spawn a LGB explosion 50-60 meters from them in a random direction wherever they are. So it'll follow them. :)

_bombcount = 5;

for "_x" from 1 to _bombcount do
{
_distance = (random 10) + 50;
_direction = random 360;
_destination = [(getPosASL player select 0)+((Sin _direction)*_distance), (getPosASL player select 1)+((Cos _direction)*_distance), getPosASL player select 2];
_effect = "Bo_GBU12_LGB" createVehicle getPosASL player; 
_effect setPosASL _destination; 
sleep 4;

};

50m minimum seemed to be the closest I could get without outright killing a foot soldier, but close enough to put the fear of god into them. However, anything that happens to be 50m away from this guy should be very afraid.

---------- Post added at 09:31 PM ---------- Previous post was at 09:28 PM ----------

Does someone know witch ammo i need to destroy a tank? I've tried the three types from Colonel_Niel's post but the tank's still standing after 18! hits...

This'll do it nicely:

_bomb = "Bo_GBU12_LGB" createVehicle getPosASL tank;

Share this post


Link to post
Share on other sites

Thanks, but i found out what my mistake was. I used a false variable name so the actual bomb never "reached" the target. :rolleyes: It's always such a stupid mistake.^^

Share this post


Link to post
Share on other sites

Didnt figure out how to let em bomb me Heh ( dont know where to put yer code =p and it says 2 errors first one (forgot it) second one says ; is missing? Heh i make many mistakes

Share this post


Link to post
Share on other sites

To be honest, I thought about it, and if you wanted it more than once on different spots, its probably work doing it a different way. Longer, but more flexable. Which is what that other script does.

So you should use that script, as mine was just a crude method quickly made from cutting out points from the Ac-130 script im ussing.

Share this post


Link to post
Share on other sites

im using that script but they didnt want to drop zhe bombz maybe it only works if the player flies it o.o ( i cant fly even a helo yeehaw =p )

Share this post


Link to post
Share on other sites

That script just does what it says on the tin.

Read the notes, it creates 2 bombs under each wing and lets them go, in basic terms.

You can make it so when a plane flies over a certain point, a rectangle trigger in a line, like a carpet bombing, it works.

But basicaly, make a plane fly over a spot. Skip this if you know how, but it also flies it in height.

Todo this:

Make a plane, give it a waypoint so it flies over the target, make the "Special" Flying. In name put "bomber"

Then, put in its init line:

this setposASL [(getposASL this select 0), (getposASL this select 1), 500]; this flyinheight 500;

So now, it flys and is in 500 height. Change the red variables for different heights.

Now, make a trigger, where you want the bombs to start dropping. Make it bigger, as the plane might deviate slightly from the waypoint.

Then, put on activation:

[bomber] exec "carpet.sqf"

After thats done, we need to create the script.

Name is carpet.sqf, fill it with:

//variables
_bomb = "RHIB";
_bomb2 = "RHIB";
_plane = _this select 0;
_i= 0;
player globalChat format["%1","Bombs away!"];


//spawning bombs
for [{_i=1}, {_i<6}, {_i=_i+1}] do  //change 6 for whatever number of bombs you want the c-130 to be able to drop (here its  6x2 = 12 bombs)
{
_bomb = "Bo_GBU12_LGB" createVehicle [1000, 1000, 1000];
_bomb attachTo [_plane, [4, 0, -5]]; //spawn under left wing
sleep 0.01;  //allow the bomb to be attached before detaching it
detach _bomb;
sleep 0.15;


_bomb2 = "Bo_GBU12_LGB" createVehicle [1000, 1000, 1000];
_bomb2 attachTo [_plane, [-4, 0, -5]]; //spawn under right wing
sleep 0.01;  //allow the bomb to be attached before detaching it
detach _bomb2;
sleep 0.15;
};

//destroying variables
_bomb = nil;
_bomb2 = nil;
_plane = nil;
_i = nil;

Thats it.

Share this post


Link to post
Share on other sites

Okay seems easy need to figure out what trigger i would need but i understand the rest now =] EDIT: is putting that code in a .txt file named carpet.sqf good too? ( Woulndt know how to make a SQF file )

Edited by thierry007

Share this post


Link to post
Share on other sites

THE BROKEN ARROW: "Hercules paradrop, bombing, cluster bombing and carpet bombing SuperFXâ„¢" script:

- Just copy all files to your mission folder and it will run on default settings.

- In examples 5 bombers will drop 10 bombs each to the target provided by you.

- Supports troop paradrops

- Supports now cluster and conventional bombs. Cluster bomb configurations ie. options for area of effect, submunition count,explosion height

- Cluster submunitions can be any given type: grenades, mines, smokeshells etc.

- Supports unlimited bombing or paradrop waves with given intervals.

- Easy to configure. Read init.sqf for more details and use configuration section inside init.sqf.

- Plane can be any given side or class

- Paratroopers can be modified to be any given class

- Activated via radio and giving coordinates on map click

- Includes dispersion bombing and more precise hits

- Script cleans itself aka deletes spawned bombers after bombing run

- Preview mode for observing. Player will be teleported onboard bomber fleet and kicked out over sea after bombing mission. Enable/disable from configuration

- (To do paradrop settings : more settings for paratroopers ie. multiple targets, waypoints, not sure about loadouts)

- (To do: one simple configuration file with explanations and multiplayer compatibility. It will come when ill update this to version 1.0) :P

If you are lazy like me, here is the ready for use demo mission: Demo

clusterbombing2.png

Clusterbombing

More screens

mk82hit2.png

Carpetbombing - Look! Is that granny in fireball...? ...LoL

para2.png

Paradropping

ww2j.png

WW2 style massive bomber formations - Sir! We bombed the whole island! ...but missed the target.

This will spawn x amount of hercules each with x amount of GBUs/clusterbombs/paratrooper (you can put 1-1000 hercules if you want to kill your CPU). They will come all from one random direction. Your job is act as spotter and mark target via map click and in case of paratroops, their drop point and the attack target. Script can be easily modified to disable map clicking and be activated by triggers and different conditions.

make a file bombingrun.sqf

private ["_Marker","_name","_i","_relpos","_unit","_distance ","_placepos","_dir","_target","_bombsrequested","_a","_bomber","_pilot","_world","_bombcount","_bombsdropped","_group","_pilottype","_side","_bombers","_planetype","_bombtype","_center_map","_precision","_clusterbombing","_munitiontype","_missiontype","_paramission","_groupP","_clusterBombType","_clusterBombExplosionRadius","_clusterBombSubmunitionCount","_clusterBombExplosionHeight","_previewmode","_giveTargetsViaMapClick"];
_relpos = compile preProcessFile "ca\modules\functions\geometry\fn_relPos.sqf";
_center_map = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition");
map_center setpos _center_map;
_unit = map_center;
_distance = 20000;
_dir = random 360;
_a=0;
_i=1;
_group = grpNull;
_pilottype = "Pilot";
mapclick=true;
_side = _this select 0;
_bombers = _this select 1;
_planetype = _this select 2;
target2 = _this select 3;
_bombsrequested = _this select 4;
_bombtype = _this select 5;
_precision = _this select 6;
_clusterbombing= _this select 7;
_interval = _this select 8;
_paramission = _this select 9; if (_paramission) then {_precision = false;};
paramissiontarget = _this select 10;
_clusterBombType = _this select 11;
_clusterBombExplosionRadius = _this select 12;
_clusterBombSubmunitionCount = _this select 13;
_clusterBombExplosionHeight = _this select 14;
_previewmode=_this select 15;
_giveTargetsViaMapClick=_this select 16;
_munitiontype = _bombtype;
_missiontype = "Precision bombing";
if (_bombtype == "Bo_GBU12_LGB") then {_munitiontype = "GBU12 bombs";} else {_munitiontype = "Mk82 bombs";};
if (_clusterbombing) then {_munitiontype = "Clusterbombs";};
if (!_precision) then {_missiontype = "Dispersion bombing"};

if (_givetargetsviamapclick) then
{
if (!continuation) then
{	
if (!_paramission) then {player sidechat "Time to give the coordinates from the map..."} else {player sidechat "Time to give the drop point for the paratroops from the map..."}:
onMapSingleClick "target2 setpos _pos;mapclick=false; onMapSingleClick """";";
waituntil {!(mapclick)};
_name = format ["Target-%1",_i];
if (_paramission) then {_name = "Drop point"};
_Marker = createMarkerLocal [_name, position target2];
_Marker setMarkerColorLocal "ColorRed";
_Marker setMarkerTypeLocal "mil_destroy";
_Marker setMarkerTextLocal format["%1",_name];
_Marker setMarkerSizeLocal [1, 1];
if (_paramission) then 
{
_Marker setMarkerColorLocal "ColorBlue";
_Marker setMarkerTypeLocal "mil_start";
};
if (!_paramission) then {player sidechat "Requesting air support on this coordinates."} else {player sidechat "Requesting reinforcement on this coordinates."};
if (_paramission) then
{
mapclick=true;
player sidechat "Now the target for paratrooppers...";
onMapSingleClick "paramissiontarget setpos _pos;mapclick=false; onMapSingleClick """";";
waituntil {!(mapclick)};
_name = "Attack target";
_Marker2 = createMarkerLocal [_name, position paramissiontarget];
_Marker2 setMarkerColorLocal "ColorRed";
_Marker2 setMarkerTypeLocal "mil_destroy";
_Marker2 setMarkerTextLocal format["%1",_name];
_Marker2 setMarkerSizeLocal [1, 1];
};
player sidechat "Target for the attack is this!";
waitUntil{!visibleMap};
};
};

switch (_side) do 
{
case WEST:
{
_group = Wgrp;
_groupP = WgrpP;
_pilottype = "USMC_Soldier_Pilot";
};

case EAST:
{
_group = Egrp;
_groupP = WgrpP;
_pilottype = "RU_Soldier_Pilot";
};

case RESISTANCE:
{
_group = Rgrp;
_groupP = WgrpP;
_pilottype = "GUE_Soldier_Pilot";
};

case CIVILIAN:
{
_group = Cgrp;
_groupP = WgrpP;
_pilottype = "Pilot";
};
};

while {_a<_bombers} do
{
_placepos = [];
_placepos = [_unit, _distance, _dir+random 45] call _relpos;
_bomber = createVehicle [_planetype,  [(getpos target2 select 0),(getpos target2 select 1),1000], [], 0, "NONE"];
_bomber setpos [(_placepos select 0),(_placepos select 1),1500];
_dir = _dir - 180;
_bomber setdir _dir;
_pilot = _group createUnit [_pilottype, [(getpos target2 select 0),(getpos target2 select 1),1000], [], 0, "CAN_COLLIDE"];
_pilot setbehaviour "CARELESS";
if (_precision) then {_pilot domove getpos target2;};
_pilot moveindriver _bomber;
_bomber setVelocity [300 * (sin _dir), 300 * (cos _dir), 0];
sleep 0.01;
if (_precision) then {_pilot domove getpos target2;};
if (!_precision) then {_bomber flyInHeight 500;};
if (_paramission) then {_bomber flyInHeight 200;};
_a=_a+1;
[_pilot,_bomber,target2, _bombsrequested,_bombtype,_placepos,_precision,_clusterbombing,_paramission,paramissiontarget,_groupP,_clusterBombType,_clusterBombExplosionRadius,_clusterBombSubmunitionCount,_clusterBombExplosionHeight] execVM "monitor.sqf";
_dir = _dir + 180;
};

if (!_precision) then {_group move getPos target2;_group setFormation "LINE";};
if (side _pilot==side player) then 
{	
if (!_paramission) then 
{
leader group _pilot sidechat format ["%1 bomber(s) on the way. Missiontype %2.ETA couple of minutes.",_bombers,_missiontype];
leader group _pilot sidechat format ["Total payload on bombers=%1 %2",(_bombers*_bombsrequested),_munitiontype];
} 
else 
{
};
};
if (_previewmode) then {player moveincargo _bomber;comrade moveincargo _bomber;};

if (_interval>0) then
{
continuation = true;
sleep (_interval*60);
[_side,_bombers,_planetype,target2,_bombsrequested,_bombtype,_precision,_clusterbombing,_interval,_paramission,paramissiontarget,_clusterBombType,_clusterBombExplosionRadius,_clusterBombSubmunitionCount,_clusterBombExplosionHeight,_previewmode] execVM "bombingrun.sqf";
};

Make a file monitor.sqf

private ["_bombsdropped","_bombcount","_pilot","_bomber","_target","_bombsrequested","_bombtype","_placepos","_firstrange","_secondrange","_precision","_clusterbombing","_i","_wing","_paramission","_paratrooper","_soldiertype","_groupP","_side","_soldierclasses","_classescount","_j","_clusterBombType","_clusterBombExplosionRadius","_clusterBombSubmunitionCount","_clusterBombExplosionHeight"];
_bombsdropped=false;
_bombcount=0;
_pilot = _this select 0;
_bomber = _this select 1;
_target = _this select 2;
_bombsrequested = _this select 3;
_bombtype = _this select 4;
_placepos = _this select 5;
_precision = _this select 6;
_clusterbombing = _this select 7;
_paramission = _this select 8;
paramissiontarget = _this select 9;
_groupP = _this select 10;
_clusterBombType = _this select 11;
_clusterBombExplosionRadius = _this select 12;
_clusterBombSubmunitionCount = _this select 13;
_clusterBombExplosionHeight = _this select 14;
_firstrange=0;
_secondrange=750;
_wing=0;
_i=0;

if (_bombsrequested < 5) then {_secondrange = 500;};
_pilot domove getpos _target;

if (!_precision) then 
{
_firstrange = 3000;
while {(_bomber distance _target > _firstrange)&&(alive _bomber)} do {sleep 5;};
_pilot domove getpos _target;
_secondrange = 1400;
if (_bombsrequested < 5) then {_secondrange = 1200};
};

if (_paramission) then {_secondrange = 750};

while {(alive _pilot)&&(alive _bomber)&&(!_bombsdropped)} do 
{
while {_bomber distance _target > _secondrange} do 
{
sleep 1;
if (_precision) then {_pilot domove getpos _target;};
};
if (!_paramission) then
{		
if (_bombsrequested > 10) then
{
	_wing = 8;
	for [{_i=1}, {_i<_bombsrequested}, {_i=_i+1}] do
	{
		_bombs = _bombtype createVehicle [1000, 1000, 1000];
		if (_i mod 3 != 0) then {_bombs attachTo [_bomber, [_wing, 0, -5]]} else {_bombs attachTo [_bomber, [0, 0, -10]]};
		sleep 0.01;
		detach _bombs;
		_bombs setdir (getdir _bomber);
		_bombs setvelocity [(velocity _bomber select 0)*0.5,(velocity _bomber select 1)*0.5,(velocity _bomber select 2)*0.5];
		if (_clusterbombing) then {[_bombs,_precision,_clusterBombType,_clusterBombExplosionRadius,_clusterBombSubmunitionCount,_clusterBombExplosionHeight] execVM "clusterbombs.sqf";};
		sleep 0.15;
		_wing = _wing *(-1);
	};
};

if (_bombsrequested <= 10) then
{
	while {_bombcount != _bombsrequested} do
	{
		_bombs = _bombtype createvehicle [getpos _bomber select 0,getpos _bomber select 1,(getpos _bomber select 2)-10];
		_bombs setdir (getdir _bomber);
		_bombs setvelocity [(velocity _bomber select 0)*0.5,(velocity _bomber select 1)*0.5,(velocity _bomber select 2)*0.5];
		if (_clusterbombing) then {[_bombs,_precision,_clusterBombType,_clusterBombExplosionRadius,_clusterBombSubmunitionCount,_clusterBombExplosionHeight] execVM "clusterbombs.sqf";};
		_bombcount = _bombcount+1;
		sleep 0.3;
	};
};

}
else
{
_side = side _bomber;
if (_side==WEST) then {_soldierclasses = usparatroopers} else {_soldierclasses=ruparatroopers;};
_classescount = (count _soldierclasses)-1;
_j=0;
while {_bombcount != _bombsrequested} do
{
	_soldiertype = _soldierclasses select _j;
	_paratrooper = _groupP createUnit [_soldiertype, [(getpos target2 select 0),(getpos target2 select 1),1000], [], 0, "CAN_COLLIDE"];
	_paratrooper assignascargo _bomber; 
	_paratrooper moveincargo _bomber;
	sleep 0.5;
	unassignvehicle _paratrooper;
	_paratrooper action ["eject", vehicle _paratrooper];
	_paratrooper setvelocity [(velocity _bomber select 0)*0.2,(velocity _bomber select 1)*0.2,(velocity _bomber select 2)*0.2];
	_bombcount = _bombcount+1;
	if (_j<_classescount) then {_j=_j+1} else 
	{
	_j=1;

	};
};
_groupP move getpos paramissiontarget;
(leader _groupP) sidechat "We are here and heading for the target.";
};
_bombsdropped=true;
};

sleep 10;

_pilot domove _placepos;
while {(_bomber distance _target < 3000)&&(alive _bomber)} do 
{
sleep 1;
};

if (alive _bomber) then
{
deletevehicle _pilot:
deletevehicle _bomber;
};

Make a file clusterbombs.sqf

private ["_bomb","_a","_positionbomb","_explosion","_clusters","_precision","_height","_positionbomb","_velocitybomb","_explosion","_dir","_speed","_clusterBombType","_clusterBombExplosionRadius","_clusterBombSubmunitionCount","_clusterBombExplosionHeight"];

_bomb=_this select 0;
_precision = _this select 1;
_clusterBombType = _this select 2;
_clusterBombExplosionRadius = _this select 3;
_clusterBombSubmunitionCount = _this select 4;
_clusterBombExplosionHeight = _this select 5;
_height = _clusterBombExplosionHeight;
if (_precision) then {_height = 50;};
_a=0;

while {(getposasl _bomb select 2)>_height && (alive _bomb)} do {sleep 0.1;};
_positionBomb = [(getpos _bomb select 0),(getpos _bomb select 1),(getpos _bomb select 2)];
_velocityBomb = [(velocity _bomb select 0)*0.5,(velocity _bomb select 1)*0.5,(velocity _bomb select 2)*0.5];
_explosion = "HelicopterExploSmall" createvehicle [(getpos _bomb select 0),(getpos _bomb select 1),(getpos _bomb select 2)];
deletevehicle _bomb;

while {_a<_clusterBombSubmunitionCount} do 
{
_dir = random 360;
_speed = random _clusterBombExplosionRadius;
_clusters = _clusterBombType createvehicle [(_positionBomb select 0)+random 1,(_positionBomb select 1)+random 1,(_positionBomb select 2)+random 1];
_clusters setVelocity [_speed * (sin _dir), _speed * (cos _dir),(_velocityBomb select 2)];
sleep 0.01;
_a=_a+1;
};

Make a file init.sqf

// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//																																			//
//															By Väinämöinen																		//
//																																			//
//	WEST:			planes side. Possible sides are WEST,EAST,RESISTANCE,CIVILIAN																	//
//	10:				Count of bombers. You can put 1 to spawn only 1 bomber or 100. Crazy numbers will produce insane behaviours										//
//	"C130J":			Bomber class.																												//
//	targetx:			Targetname. Your object on map with the name targetx. Replace with any you wish. If target is selected via map click don't alter this.					//
//	10:				Bombs/paratrooppers each plane has. 10 is fine! You can put 0-1000. In this example we have 10 planes with 10bombs each = 100gbus					//
//	"Bo_Mk82":		bomb class "Bo_GBU12_LGB" or "Bo_Mk82" or whatever you want. If paradrop mission this is ingnored											//
//	FALSE:			Precision bombing TRUE/FALSE. If true bombers will try to aim at target while flying low.If false they'll fly high and bomb WW2 style even your mama.	//
//	TRUE:			Clusterbombs TRUE/FALSE. Cluster munition will explode mid air and drop smaller submunitions. If paradrop mission this is ingnored.					//
//	0:				The attack frequency in minutes. First attack will commence when trigger activates and next ones repeatedly after 5 minutes.0 means only one attack.		//
//	TRUE:			TRUE if this is paradrop, false if it's bombingmission. If true bombcount is instead paratroopper count											//
//	movetargetx:		Target for paratroopers. If target is selected via map click don't alter this.																//
//																																			//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

private ["_side","_bombercount","_bomberclass","_targetx","_bombcount","_bombtype","_precision","_clusterbombs","_attackInterval","_paradrop","_movetargetx","_clusterBombType","_clusterBombExplosionRadius","_clusterBombSubmunitionCount","_clusterBombExplosionHeight","_previewmode"];

// Settings for the air support. Modify to meet your needs.
_paraDrop=FALSE;
_clusterBombs=FALSE;
_precision=FALSE;
_attackInterval=0;
_giveTargetsViaMapClick=TRUE;
_previewMode=TRUE;
_side = WEST;
_bomberCount=5;
_bomberClass="C130J";
_targetX="targetx";
_bombCount=10;
_bombType="Bo_Mk82";
_clusterBombType="grenade";
_clusterBombExplosionRadius=100;
_clusterBombSubmunitionCount=100;
_clusterBombExplosionHeight=100;
_moveTargetX="movetargetx";
_radioCallText="Bomb Da Shitta out!";
_bomberSquadronName="Black Squadron";
_paratrooperSquadName="Black Squad";
_playerSquadname="Black Razor";
UsParatroopers=["FR_TL","FR_Corpsman","FR_AR","FR_GL","FR_Marksman","FR_R"];
RuParatroopers=["RUS_Soldier_TL","RU_Soldier_Medic","RUS_Soldier_GL","RUS_Soldier_Marksman","RUS_Soldier1","RUS_Soldier2","RUS_Soldier3"];
//End of the settings

centeE = createCenter East;
centeW = createCenter West;
centeG = createCenter Resistance;
centeC = createCenter Civilian;
Egrp = createGroup centeE;EgrpP = createGroup centeE;
Wgrp = createGroup centeW;WgrpP = createGroup centeW;
Rgrp = createGroup centeG;RgrpP = createGroup centeG;
Cgrp = createGroup centeC;CgrpP = createGroup centeC;
Egrp setGroupId [_bomberSquadronName,"GroupColor1"];EgrpP setGroupId [_paratrooperSquadName,"GroupColor1"];
Wgrp setGroupId [_bomberSquadronName,"GroupColor1"];WgrpP setGroupId [_paratrooperSquadName,"GroupColor1"];
Rgrp setGroupId [_bomberSquadronName,"GroupColor1"];RgrpP setGroupId [_paratrooperSquadName,"GroupColor1"];
Cgrp setGroupId [_bomberSquadronName,"GroupColor1"];CgrpP setGroupId [_paratrooperSquadName,"GroupColor1"];
(group player) setGroupId [_playerSquadname,"GroupColor7"];

continuation = false;
if (_giveTargetsViaMapClick) then 
{
targetx = "HeliHEmpty" createVehicle [0,0,0];
movetargetx = "HeliHEmpty" createVehicle [0,0,0];
};

map_center=createTrigger["EmptyDetector",getPos player];
map_center setTriggerArea[0,0,0,false];
map_center setTriggerActivation["JULIET","PRESENT",true];
call compile format ["map_center setTriggerStatements ['this','_script = [%1,%2,''%3'',%4,%5,''%6'',%7,%8,%9,%10,%11,''%12'',%13,%14,%15,%16,%17] execVM ''bombingrun.sqf''','']",_side,_bombercount,_bomberclass,_targetx,_bombcount,_bombtype,_precision,_clusterbombs,_attackInterval,_paradrop,_movetargetx,_clusterBombType,_clusterBombExplosionRadius,_clusterBombSubmunitionCount,_clusterBombExplosionHeight,_previewMode,_giveTargetsViaMapClick];
map_center setTriggerText _radiocalltext;
map_center setTriggerTimeout [0, 0, 0, false];

Explanation. Variables reference:

//Disable or enable paradrop. _bombcount and _bombercount will set paradrop size

_paraDrop=FALSE;

//Disable or enable clusterbombing. If paradrop switch enable was used this will be ignored

_clusterBombs=FALSE;

//Precision bombing true or false. Bombers will fly low and will try hard to hit the target

_precision=FALSE;

//Attack interval for waves of attacks. 0 will disable attack waves

_attackInterval=0;

//Does player have the option to give targets via map click?

_giveTargetsViaMapClick=TRUE;

//Will the player get teleported onboard bomber fleet

_previewMode=TRUE;

//Side of the air support

_side = WEST;

//How many bombers will participate for bombing. If repeative mode enabled each wave will have this amount of bombers

_bomberCount=5;

//Plane class, duh?

_bomberClass="C130J";

//Name of the attack target or paradrop point. If mapclicking was disabled you have to put target named this on the map

_targetX="targetx";

//Bomb-Paratrooper count per plane

_bombCount=10;

//Bomb type. If clusterbombing switch was used this will be just for the visuals, it doesn't affect the explosion size.

_bombType="Bo_Mk82";

//What type of class will cluster submunitions be

_clusterBombType="grenade";

//Rough estimation of the cluster submunition spread

_clusterBombExplosionRadius=100;

//How many clustersubmunitions will each clusterbomb contain?

_clusterBombSubmunitionCount=100;

//What altitude will clusterbombs explode and start spreading submunitions

_clusterBombExplosionHeight=100;

//If paradrop switch was used this will set the attack target where paratroopers will head after been dropped to _targetx

_moveTargetX="movetargetx";

//Radio command text appearing to radio menu

_radioCallText="Bomb Da Shitta out!";

//Bomber squadron name. Black is always cool, use it everywhere.

_bomberSquadronName="Black Squadron";

//Paratrooper squad name

_paratrooperSquadName="Black Squad";

//Player squad name

_playerSquadname="Black Razor";

//Different paratrooper classes.

UsParatroopers=["FR_TL","FR_Corpsman","FR_AR","FR_GL","FR_Marksman","FR_R"];

RuParatroopers=["RUS_Soldier_TL","RU_Soldier_Medic","RUS_Soldier_GL","RUS_Soldier_Marksman","RUS_Soldier1","RUS_Soldier2","RUS_Soldier3"];

Script can be configured from init.sqf. Configure trigger statements as you like.

Go and blow everything up!

If you dont wan't to use "preview mode" meaning you will be transported onboard bomber squadron then use switch _previewMode=FALSE from init.sqf

In mission radio alpha triggers annihilation. If you want to disable giving target via map click then edit _giveTargetsViaMapClick=FALSE from init.sqf

If you don't want to use map clicking these settings must be completed:

Put targetx named trigger or object on map and it will act as the bomb target or in the case of paradrop as the drop point for the troops. If paradrop switch was used you need movetargetx named object/trigger on map. It will act as the attack target for the troops.

Edited by Väinämöinen
Complete overhaul version 10

Share this post


Link to post
Share on other sites

The Demo mission is not working for me, anyone any idea's. no units show up in the Demo mission?

Share this post


Link to post
Share on other sites

It's been a while since i looked into demo mission but just tested it:

1. Use the radio menu 0-0-0 to call for an airstrike

2. You will be asked for coordinates - give those by clicking on the map

3. Planes will arrive to coordinates

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×