Jump to content
Sign in to follow this  
Desrat

FSM Support Systems

Recommended Posts

I know there's multiple air support and artillery scripts around at the moment but whilst investigating the possibilities of what FSM has to offer I decided to make an all in one solution that combines the various options into one package.

fsm_support.jpg

The example missions (one for A2 one for OA) uses the communication menu to call in the support (default space bar - communication) and is split into 4 different sub menus

1. Fixed Wing

  • Close air support
  • JDAM
  • Anti-personel cluster bomb
  • Anti-tank cluster bomb
  • Mine dispenser cluster bomb

2. Rotor Wing

  • Close air support (2 attack choppers)
  • Transport

3. Artillery

  • High explosive suppression
  • Willie pete suppression
  • Smoke
  • Illumination
  • Laser guided
  • SADARM
  • High explosive Fire for Effect
  • Willie pete Fire for Effect

4. Air Drop

  • Ammo
  • Vehicle

Only 1 support mission can be executed at any given time (so cant have CAS and artillery firing at the same time for example) and the mission designer can impose limits on how may times both fixed wing, rotor wing and artillery can be called (air drops are part of fixed wing), from within "Support\SupInit.sqf"

The ammo drop includes the ability to add custom code so you can use your own loadouts.

I've done my best to ensure multiplayer compatibility and haven't found any game breaking issues thus far.

To add to your own missions the following is required:

  • Functions module placed on the map
  • artillery module (named m119Batt)
  • 3 virtual artillery pieces (named vp1,vp2, and vp3 respectively)
  • artillery module must be synced (f5) to the virtual pieces
  • an object named spwnpad placed in the editor (I use an invisible helipad)
  • a player named s1 with the following in his init line
    null = [] execVM 'Support\CommsMenu.sqf';

    if you intend to use the menu I created.*

  • copy the Support folder into your mision
  • add the following to your init.sqf file
    //wait till both functions module and Multiplayer framework has initialised 
    waituntil {!(isnil "bis_fnc_init")}; 
    waitUntil{!(isNil "BIS_MPF_InitDone")}; 
    //execute init file for air support 
    null = [] execVM "Support\SupInit.sqf";


* If you dont wish to use my comms menu you still require a player named s1 and can trigger the calls like so

null = [parameter1,parameter2] execFSM "Support\Support.fsm";

parameter1 can be :

  • Fixed
  • Rotor
  • Arty

parameter2 depends on what Parameter 1 is and must be in quotes:

Fixed :

  • "Ammo"
  • "Vehicle"
  • "JDAM"
  • "CBUAP"
  • "CBUAT"
  • "CBUM"
  • "CAS"

Rotor :

  • "CAS"
  • "Transport"

Arty :

  • "HE"
  • "WP"
  • "SMOKE"
  • "ILLUM"
  • "LASER"
  • "SADARM"
  • "FFEHE"
  • "FFEWP"

Download

http://www.desrat.lightning-bolt.net/ArmA/FSM_Support_Systems_1.0.zip

Credits :

Much of the code for the fixed aircraft and chopper gunships comes from Draper's Air Support Scripts although a lot has been changed/moved/replaced so many thanks goes to him for allowing people to use his code.

Also thanks to all of you guys who frequent these forums regularly handing out free support and advice and even demo scripts where needed (you know who you are) without which I doubt I would have completed this project.

And finally thanks to BIS for continuously improving and updating the series (I mean who patches a 10yr old game) when many devs/publishers would have washed their hands and walked away - BIS I salute you :)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Edited by Desrat
removed "Progress" as there is none...

Share this post


Link to post
Share on other sites

Nice one will download now and have a go , can this be made available to more than just 1 player in MP ? i.e 2 Squad leaders s1, s2 only

Looks like it should be fun !

Share this post


Link to post
Share on other sites

the requirement for a player named s1 is just so the radio messages don't break - it may work with any unit but that's untested..

Share this post


Link to post
Share on other sites

OK cool.. thanks

Would be good to limit it to certain players but if they use it in MP then Team leaders can shout at them –LOL

One thing that would be really assume would be to give it a Random placement , because if you click drop ammo box and put the x you know 100% it will be there why not have a random area around the drop zone it could land ? same with ARTY but a smaller random % if you get what I mean ?

I use this to spawn enemy in that give it a more random placement

_dis = 120; // disctance from marker
_ang = random 360;
_dx = sin(_ang)*_dis;
_dy = cos(_ang)*_dis;
_positionToSpawnIn = [((getpos _markerspot) select 0) + _dx, ((getpos _markerspot) select 1) + _dy, 0];

forgot to say Great script thanks !

Share this post


Link to post
Share on other sites

ammo drop in my tests has a random drift of anywhere up to 100m I just move the marker once its landed to aid navigation to it (n00b friendly) and the arty has pre set dispersion of 50m (100m for smoke) although I may tweak that.

Thanks for taking the time to leave feedback I'll take those points on board.

Share this post


Link to post
Share on other sites

Nice work Desrat! this is better then the default BIS ones(and is in FSM format thumbs up for that)! I have had many issues with the default Support options in the SOM module! Specially in my Templates Mission(the one in the Salvage Truck thread)! Good work and cant wait to see more from you, Maby a "Support Units" FSM, Including what we are talking about in my Salvage Truck thread plus including the other Trucks(Supply/Rearm/Refuel) and the Medics/Medevac! One thing i always have a problem with in defualt BIS Supports is they never want to return to the Place the are stationed too(Usaully the place i place them at in the editor in my template)!

BTW i may have missed it but can the CAS/Helo support work with pre-placed helos/jets? thats something i wanted in my missions/templates, same with the artillery, altho i have them working with pre-placed artillery(using the Artillery Module).

Dave,

Edited by soldier2390

Share this post


Link to post
Share on other sites
Release front-paged

Cool thanks foxhound.

I'm glad people are liking what I've done.

BTW i may have missed it but can the CAS/Helo support work with pre-placed helos/jets? thats something i wanted in my missions/templates, same with the artillery, altho i have them working with pre-placed artillery(using the Artillery Module).

Not as yet but should be able to implement easy enough look for version 1.1 in the near future

Share this post


Link to post
Share on other sites
Cool thanks foxhound.

I'm glad people are liking what I've done.

Not as yet but should be able to implement easy enough look for version 1.1 in the near future

Nice to hear thanks alot, been looking forward to that for awhile now! Also will it work with multiple units, for example have seprate airbases have its own Attack Helos that respond to calls, depending on if the if its called from either Attack Helos zone, i.e. lets say your a Marine ingame and your close to an Airbase where the Marine Helos are stationed and you call the script, and the Marine Attack Helos respond(since your closer to them instead of the Airbase where lets say the Army Helos are stationed)? Sorry some times my ideas are more of a dream, and kind of out there, just thought i would say it tho! Goodluck bro

Dave,

Share this post


Link to post
Share on other sites

Very nice contribution, Desrat!

One suggestion - rather than hard-code the variable "s1", you may want to let that be configurable. There's an example of this sort of thing in Norrin's excellent revive scripts where an initialization section allows mission makers to enter their own player/unit names into an array (NORRN_player_units).

Haven't looked at the code in detail but it'd also be nice to tie the ability to request support to specific units based on their equipment and/or role. For example, if they're not carrying a radio, then they can't request support. Or maybe (even more restrictive), they can request support if they're both a forward observer and carrying a radio. Again, I've only glanced at the code so maybe this is something you've already considered. Regardless, thanks for this excellent script pack!

Share this post


Link to post
Share on other sites
One suggestion - rather than hard-code the variable "s1", you may want to let that be configurable.

It's on the list for v1.1 as well as support for multiple operators and pre-placed units.

I also intend to move the configuration options like number of support requests into the configurable parameters of the mission (i.e add to description.ext to allow change on a per play basis)

I got the bulk of this system built over the weekend and it may have to wait till the weekend again before I can really sit down and look through what changes are necessary to implement the first three of those, the parameters should take all of 5 minutes.

Edited by Desrat

Share this post


Link to post
Share on other sites

Awesome work! The communication system really stream lined the support options. Also, putting the bomb drop physics into an FSM will probably make it more reliable on an MP dedicated since it will have higher priority, so already the air support stuff are better then mine.

And if I may suggest too, I liked in the BIS SSM how you had to observe the target to call arty/airstrikes from where you were looking, since it adds a reasonable amount of realism requiring an FO to observe. Any consideration to implement that?

Share this post


Link to post
Share on other sites
Awesome work! The communication system really stream lined the support options. Also, putting the bomb drop physics into an FSM will probably make it more reliable on an MP dedicated since it will have higher priority, so already the air support stuff are better then mine.

And if I may suggest too, I liked in the BIS SSM how you had to observe the target to call arty/airstrikes from where you were looking, since it adds a reasonable amount of realism requiring an FO to observe. Any consideration to implement that?

yeah it shouldn't be too hard to implement a requirement for line of sight or maybe use cursor target instead of map click.

Share this post


Link to post
Share on other sites

Works good so far. The only thing I could not get to work is changing of the aircraft. They stay the same like it was hard coded.

Share this post


Link to post
Share on other sites
Works good so far. The only thing I could not get to work is changing of the aircraft. They stay the same like it was hard coded.

Support\airSupInit.sqf

// type of plane for fixed wing missions
airSupFXD = "class name";

// type of plane for air drop
airSupDROP = "class name";

and etc, all the vehicle classes are customisable (as well as the pilots).

Additional Class Names

Share this post


Link to post
Share on other sites

Hi Desrat,

Thanks for sharing.

One suggestion would be for you to TAG your global variables.

_neo_

Share this post


Link to post
Share on other sites

I seen that...I edited the test mission instead of the one I put it in! Thanks for clearing my head!

Share this post


Link to post
Share on other sites
Hi Desrat,

Thanks for sharing.

One suggestion would be for you to TAG your global variables.

_neo_

Yup already ahead of ya - registered a tag a few weeks ago ready for the next version (VOWS is the team I play with/for)

Share this post


Link to post
Share on other sites

Just to let you know so far so good in MP with large amount of other scripts running.

Share this post


Link to post
Share on other sites

Been using this to test our dynamic SAM Site spawn scripts...I hate to tell you that it's about 50-50 if the pilots will live =)

One question is I have seen that you do not need a laser designator for most of the guided munitions, is that a correct assumption or could it help? We put a lot of JDAMs on things and couldn't see it doing any different.

Thanks for a great script.

Share this post


Link to post
Share on other sites

The fact that pilots arent surviving is down to ArmA itself - I haven't scripted that at all - just provided a waypoint and the AI makes its own way there.

As for air strikes, its true a laser designator is not required - its a precision strike on marked area I simply don't know how to make a bomb follow at target or I'd implement laser guiding in a future revision.

On a side note - progress on the next release of the systems is really slow at present as adding pre-placed editor units for this is turning out to be a nightmare..

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  

×