Recently I've been playing around with the Artillery in Arma 2. I've come to the conclusion that the Secop Module artillery is probably the best and other script tend to use this indirectly anyway.
What you need:
1 x Secop Module
2 x Triggers
1 x Artillery Module
2 x Virtual Artillery pieces
Place 1 x SecOp Module down
Init: this setVariable ["settings", [[], true, nil, nil, false]]
This stop the Secop from offering "Secondary Objectives" constantly. Thye are anonying and stupid because they are alway very close to your position.
Trigger 1
Axis a & b 50 (Place raduis over secop module)
Activation game logic once
Present Coundown 60 60 60
Condition som1 getVariable "initDone"
On Activation [["artillery_barrage"], player, [[RIPPER, [1,2,3,4,6,7,8,9]]]] call BIS_SOM_addSupportRequestFunc;
This activates your artillery battery with the name RIPPER with fire missions 1,2,3 etc (some guns only support certain missions) Fire Mission 1 is HE (High Explosive Suppression) for example.
Trigger 2
Axis none
Activation none
Condition (alive UnitUSMC_1Plt_PltCo)
UnitUSMC_1Plt_PltCo is the name you have given to your artillery operator
On Activation [this] exec "Secop.sqs"
This trigger reactivates the artillery ever time the Artillery operator dies or leaves the server. So the operator doesn't loose this ability when they die.
Artillery Module
Place a Artillery Module down with the following
Name RIPPER
Init vm = this spawn {waitUntil {_this getVariable "ARTY_INITIALIZED"}; {[_x, "M119"] call BIS_ARTY_F_SetVirtualGun;} forEach [vmlrs1, vmlrs2];};
Place Virtual Artillery pieces down name them eg vmlrs1 vmlrs2
Group the two Virtual Pieces and then Syncronise with the Virtual Artillery Module.
Then Sycronise your Artillery module with your Artillery operator in this case the guy called UnitUSMC_1Plt_PltCo
Then Sycronise your Secop Module with the guys called UnitUSMC_1Plt_PltCo
You have now setup the Artillery. You just need to make the script called "Secop.sqs" and place it in your mission folder
Secop.sqs Script
;//// Secondary ops reload enabled script
;//// for ARMA 2
;////By Karmichael
if (!isServer && (player != player)) then
{
waitUntil {player == player};
waitUntil {time > 10};
};
;//Gives re loadable support for WEST(SOM) and EAST (SOM1):
#Secop
[] spawn
{
Sleep 10;
[["artillery_barrage"], UnitUSMC_1Plt_PltCo, [[RIPPER, [1,2,3,4,6,7,8,9]]]] call BIS_SOM_addSupportRequestFunc;
;//Sleep 15;
;//[["aerial_reconnaissance", "supply_drop", "tactical_airstrike"], west1] call BIS_SOM_addSupportRequestFunc;
};
waitUntil {!isnil {UnitUSMC_1Plt_PltCo getVariable "mainScope"}};
SOM_mainScope = UnitUSMC_1Plt_PltCo getVariable "mainScope";
~2
[] spawn
{
Sleep 10;
[["artillery_barrage"], east99, [[RIPPER, [1,2,3,4,6,7,8,9]]]] call BIS_SOM_addSupportRequestFunc;
;//Sleep 15;
;//[["aerial_reconnaissance", "supply_drop", "tactical_airstrike"], east99] call BIS_SOM_addSupportRequestFunc;
};
waitUntil {!isnil {east99 getVariable "mainScope"}};
SOM_mainScope = east99 getVariable "mainScope";
~30
if (alive UnitUSMC_1Plt_PltCo) then {hint"Artillery firemissions are available every 2 minutes"}
~120
Goto "Secop"
The Secop Module is able to provide a number of other functions as well. For this tutorial I disabled these fuctions. I had alot of problems initially using this because I was trying to use real artillery no virtual. If you you real artillery the secop.sqs script doesn't allow you to fire again so thats quite important. That how I lern all about the other Artillery solutions out there like Artillery Support System ASS. In my opinion the Secop one is the best option of the two. The ASS makes your mission file very big and provides no more functionality. Oh also beaware the Artillery has a minium range and won't fire within that area. So position the artillery carefully to allow it to be able to fire in your mission AO.
Whipped up this video a month or two ago.
http://www.youtube.com/watch?v=rwVqeNQCyBU
I have a sample mission if anyone is interested.



