Jump to content

Recommended Posts

Greetings, fellow Comrades!
I need some advise from you - some time ago I started to think about making a mission in Arma 3's editor, where CSAT forces are trying to conquer Neochori and kill all AAF defenders (alt. history, long time before "Eastwind" operation). The mission is planned to have 5 or 6 stages:

1st - To-199 strike on city,
2nd - approach of two CSAT gunboats, covering three (or more) pontoons with infantry,

3rd - three Marid's crossing the bay and transporting another load of troops,

(optional between 3 and 4 - parachute drop from Orca's),

4th - armored strike of two Varsuk's and two Tigrises,
5th - artillery fire.

Now, back to my beg for advise - how can I delay order for artillery to start firing at Neochori? I tried to do so with "Artillery Fire" waypoint and timer set between 5-6 mins, but arty started firing at very beginning of mission's preview and didn't stopped. Is there any command, script or unit/waypoint option to delay this? (Also, I'm not searching for option to fire or not to fire, assuming to mission status - CSAT have to lose in this battle and it's gonna be forced to call artillery). I'd be very appreciated of your help :)

Ah, BTW - how can I make a parachute drop? Thanks for advices to that!

 

Share this post


Link to post
Share on other sites

Simple solution would be to name the arty guns, gun1-gun4 for as many as you want, place a marker called "artytarget" and then call this one:

TAG_fnc_openFire = false;

_fire = [] spawn {

	waitUntil {sleep 1;TAG_fnc_openFire};
	sleep 60;
	{_x commandArtilleryFire [getMarkerPos "artytarget", currentMagazine _x,4]} forEach [gun1,gun2,gun3,gun4];
	true
};

This will wait until TAG_fnc_openFire returns true, then make all guns fire at artytarget marker after 60 seconds.

Edit: corrected missing semicolon.

 

Cheers

 

  • Like 1

Share this post


Link to post
Share on other sites

Okay, that's some good info from you :) One more thing... or two, actually. First - do I have to put this script in arty's specification, marker's specifications or activate a waypoint and then put this in "Activation" label? Second - what about those paratroopers I mentioned in my Q? (sorry, that those weren't in Q's subject, but it really would look fine in this mission).

EDIT: The script doesn't work, if copied and pasted straight into vehicle's "Initiation" label, at least on my computer. I've edited it, changing third line "waitUntil {sleep1;TAG_fnc_openFire = true} and deleting (optional) the "true" sentence from pre-last textline. Then, when I went into preview, a script error arrived on screen, but it changed nothing - artillery started firing after 60 seconds, as planned in script. Thank you very much for this command, Grumpy!

Share this post


Link to post
Share on other sites

There should be a semicolon at the end of the line forEach [gun1,gun2,gun3,gun4];

That would cause a script error since it tries to return true after that.

  • Like 1

Share this post


Link to post
Share on other sites
13 hours ago, Hypyszek said:

 

EDIT: The script doesn't work, if copied and pasted straight into vehicle's "Initiation" label, at least on my computer. I've edited it, changing third line "waitUntil {sleep1;TAG_fnc_openFire = true} and deleting (optional) the "true" sentence from pre-last textline. Then, when I went into preview, a script error arrived on screen, but it changed nothing - artillery started firing after 60 seconds, as planned in script. Thank you very much for this command, Grumpy!

or delete true.

Share this post


Link to post
Share on other sites
8 hours ago, AZCoder said:

There should be a semicolon at the end of the line forEach [gun1,gun2,gun3,gun4];

That would cause a script error since it tries to return true after that.

or delete true

Share this post


Link to post
Share on other sites
10 hours ago, AZCoder said:

There should be a semicolon at the end of the line forEach [gun1,gun2,gun3,gun4];

That would cause a script error since it tries to return true after that.

Indeed, no idea how that semicolon got lost.

 

As for the paradrop something simple like this could do:

//init.sqf
GOM_fnc_paradrop = {

	params ["_aircraft","_droppoint"];

	_aircraft move _droppoint;
	_paraTroops = fullCrew [_aircraft,"cargo"] apply {_x select 0};

	waitUntil {!alive _aircraft OR _aircraft distance2d _droppoint < 5000};
	if (!alive _aircraft) exitWith {diag_log "Paradrop aircraft destroyed!"};

	_aircraft flyinHeight 500;
	driver _aircraft setSpeedMode "LIMITED";

	waitUntil {!alive _aircraft OR _aircraft distance2d _droppoint < 200};

	if (!alive _aircraft) exitWith {diag_log "Paradrop aircraft destroyed!"};

	{

		_x addBackpack "B_Parachute";
		_x action ["Eject", vehicle _x];

	} forEach _paraTroops;
	waitUntil {!alive _aircraft OR count (fullCrew [_aircraft,"cargo"] apply {_x select 0}) isEqualTo 0};
	if (!alive _aircraft) exitWith {diag_log "Paradrop aircraft destroyed!"};
	driver _aircraft setSpeedMode "NORMAL";

};


//wherever you seem fit, trigger, object init, etc.
_paradrop = [mychopper,getposatl player] spawn GOM_fnc_paradrop;

This will make the aircraft fly at 500m, slow down and eject every single unit that's occupying a cargo slot.

 

Cheers

 

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

×