Jump to content
Sign in to follow this  
wiggum2

[How To] Simple Support Module (OA) ?

Recommended Posts

Hi,

can someone please explain the new "Simple Support Module" ?

- How to get it working (basic) ?

- How to exclude some support and only chose one (like only Ammo Drop) ?

- How to select the number how often i can call a specific support ?

- How to choose Plane / Helicopter and Ammo type ?

It cant be that complicated i think, would be useful if someone can explain.

Share this post


Link to post
Share on other sites

List of variables that can be defined, just replace <BIS_SSM_XXXXX_DEFAULT> with the desired value.

// Customizable Variables

["BIS_SSM_MAXGROUPSIZE",BIS_SSM_MAXGROUPSIZE_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_VIEWDISTANCE",BIS_SSM_VIEWDISTANCE_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_SPAWNDISTANCE",BIS_SSM_SPAWNDISTANCE_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_FLYINHEIGHT",BIS_SSM_FLYINHEIGHT_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_DELAY",BIS_SSM_Mortar_DELAY_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_DELAY",BIS_SSM_Mortar_DELAY_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_ENABLED_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_ENABLED_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_ENABLED_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_ENABLED_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_ENABLED_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CeaseFire_ENABLED_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_ENABLED_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_ENABLED_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_ENABLED_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_ENABLED_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_ENABLED_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CeaseFire_ENABLED_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_ENABLED_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_ENABLED_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_ENABLED_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_ENABLED_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_ENABLED_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CeaseFire_ENABLED_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_AVAILABLE_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_AVAILABLE_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_AVAILABLE_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_AVAILABLE_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_AVAILABLE_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CeaseFire_AVAILABLE_WEST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_AVAILABLE_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_AVAILABLE_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_AVAILABLE_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_AVAILABLE_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_AVAILABLE_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CeaseFire_AVAILABLE_EAST", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_AVAILABLE_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_AVAILABLE_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_AVAILABLE_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_AVAILABLE_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_AVAILABLE_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CeaseFire_AVAILABLE_GUER", true] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CEASEFIRE_WEST", false] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CEASEFIRE_EAST", false] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CEASEFIRE_GUER", false] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_VEHICLE_WEST",BIS_SSM_AmmoDrop_VEHICLE_WEST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_VEHICLE_EAST",BIS_SSM_AmmoDrop_VEHICLE_EAST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_VEHICLE_GUER",BIS_SSM_AmmoDrop_VEHICLE_GUER_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_VEHICLE_WEST",BIS_SSM_UnitsDrop_VEHICLE_WEST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_VEHICLE_EAST",BIS_SSM_UnitsDrop_VEHICLE_EAST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_UnitsDrop_VEHICLE_GUER",BIS_SSM_UnitsDrop_VEHICLE_GUER_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_VEHICLE_WEST",BIS_SSM_Airstrike_VEHICLE_WEST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_VEHICLE_EAST",BIS_SSM_Airstrike_VEHICLE_EAST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_VEHICLE_GUER",BIS_SSM_Airstrike_VEHICLE_GUER_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_PILOT_WEST",BIS_SSM_PILOT_WEST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_PILOT_EAST",BIS_SSM_PILOT_EAST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_PILOT_GUER",BIS_SSM_PILOT_GUER_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_BOX_WEST",BIS_SSM_AmmoDrop_BOX_WEST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_BOX_EAST",BIS_SSM_AmmoDrop_BOX_EAST_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_AmmoDrop_BOX_GUER",BIS_SSM_AmmoDrop_BOX_GUER_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_SHELL_WEST", BIS_SSM_Mortar_SHELL_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_SHELL_EAST", BIS_SSM_Mortar_SHELL_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_SHELL_GUER", BIS_SSM_Mortar_SHELL_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_SHELL_WEST",BIS_SSM_Artillery_SHELL_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_SHELL_EAST",BIS_SSM_Artillery_SHELL_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_SHELL_GUER",BIS_SSM_Artillery_SHELL_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_DISPERSION_WEST", BIS_SSM_Mortar_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_DISPERSION_EAST", BIS_SSM_Mortar_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_DISPERSION_GUER", BIS_SSM_Mortar_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_DISPERSION_WEST",BIS_SSM_Artillery_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_DISPERSION_EAST",BIS_SSM_Artillery_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_DISPERSION_GUER",BIS_SSM_Artillery_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_DISPERSION_WEST",BIS_SSM_Airstrike_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_DISPERSION_EAST",BIS_SSM_Airstrike_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Airstrike_DISPERSION_GUER",BIS_SSM_Airstrike_DISPERSION_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_ROUNDS_WEST", BIS_SSM_Mortar_ROUNDS_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_ROUNDS_EAST", BIS_SSM_Mortar_ROUNDS_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Mortar_ROUNDS_GUER", BIS_SSM_Mortar_ROUNDS_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_ROUNDS_WEST",BIS_SSM_Artillery_ROUNDS_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_ROUNDS_EAST",BIS_SSM_Artillery_ROUNDS_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_Artillery_ROUNDS_GUER",BIS_SSM_Artillery_ROUNDS_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_CallSignsEnabled",BIS_SSM_CallSignsEnabled_DEFAULT] call BIS_SSM_fnc_InitVariable;

["BIS_SSM_undefinedCallSign",BIS_SSM_undefinedCallSign_DEFAULT] call BIS_SSM_fnc_InitVariable;

Share this post


Link to post
Share on other sites

Thanks !

But how do i enable the "Simple Support Module" ?

I placed one on the Map and synced it with the player...but that dont works.

Share this post


Link to post
Share on other sites

Are you also using the functions module?

Share this post


Link to post
Share on other sites

Yes i placed a Functions Module too...nothing...

Why does they give use these Modules without any kind of documentations ?

Share this post


Link to post
Share on other sites
Thanks !

But how do i enable the "Simple Support Module" ?

I placed one on the Map and synced it with the player...but that dont works.

No synchronizing, only place the modul on the map. Via comunication...0-8 you can order one of the supports.

Share this post


Link to post
Share on other sites

Thanks Imutep...i just have forgot that i have made myselfe setCaptive true...removed that and now it works !

But i have no clue how to exclude all supports except a Airstrike...

I only want the Airstrike aviable.

Then i want be able to select the Aircraft type and all other stuff.

Would be great if someone knows how this works !

Edited by Wiggum

Share this post


Link to post
Share on other sites

Like in the list i posted above, try:

["BIS_SSM_Airstrike_VEHICLE_WEST",classname] call BIS_SSM_fnc_InitVariable;

Share this post


Link to post
Share on other sites
Like in the list i posted above, try:

I first tried to exclude some support that i dont want with:

["BIS_SSM_AmmoDrop_DISABLD_WEST", false] call BIS_SSM_fnc_InitVariable;

Dont works, support is still aviable.

Share this post


Link to post
Share on other sites
I first tried to exclude some support that i dont want with:

["BIS_SSM_AmmoDrop_DISABLD_WEST", false] call BIS_SSM_fnc_InitVariable;

Dont works, support is still aviable.

I think you are doing it wrong (Can't test. I am at work).

Try this one:

["BIS_SSM_AmmoDrop_ENABLED_WEST", false] call BIS_SSM_fnc_InitVariable;

Change the boolean state from true to false, not the string.

Share this post


Link to post
Share on other sites
I think you are doing it wrong (Can't test. I am at work).

Try this one:

["BIS_SSM_AmmoDrop_ENABLED_WEST", false] call BIS_SSM_fnc_InitVariable;

Change the boolean state from true to false, not the string.

No, does not work...

Share this post


Link to post
Share on other sites

I'd like to know how to do this to, I want to remove all support apart from mortars. And I want to limit the amount of times it can be used. AND limit how long it lasts.

Edited by McNools

Share this post


Link to post
Share on other sites

I'm not too familiar with Arma scripting, but I dug up some information.

Simple Support Module seems to use variables stored in the mission global namespace and not the object itself. Therefore something like this doesn't work: this setVariable ["BIS_SSM_Mortar_ENABLED_WEST", false];. Instead you have to use missionNamespace:

missionNamespace setVariable ["BIS_SSM_Airstrike_ENABLED_WEST", false];

missionNamespace setVariable ["BIS_SSM_Mortar_DELAY", 0.5]; //seconds, instant mortars :)

The variable list is in Jelliz' post above. If you haven't used scripting commands before write them into the module's "on activation" field.

In BIS missions it seems to be more common to set the variables in a FSM (state machine) or a sqf init script, but using the "on activation" field as above is good for simple purposes.

Share this post


Link to post
Share on other sites
I'm not too familiar with Arma scripting, but I dug up some information.

Simple Support Module seems to use variables stored in the mission global namespace and not the object itself. Therefore something like this doesn't work: this setVariable ["BIS_SSM_Mortar_ENABLED_WEST", false];. Instead you have to use missionNamespace:

missionNamespace setVariable ["BIS_SSM_Airstrike_ENABLED_WEST", false];

missionNamespace setVariable ["BIS_SSM_Mortar_DELAY", 0.5]; //seconds, instant mortars :)

The variable list is in Jelliz' post above. If you haven't used scripting commands before write them into the module's "on activation" field.

In BIS missions it seems to be more common to set the variables in a FSM (state machine) or a sqf init script, but using the "on activation" field as above is good for simple purposes.

Thanks !

What did i have to consider if i want to use the Simple Support Module in MP ?

Share this post


Link to post
Share on other sites
I'm not too familiar with Arma scripting, but I dug up some information.

Simple Support Module seems to use variables stored in the mission global namespace and not the object itself. Therefore something like this doesn't work: this setVariable ["BIS_SSM_Mortar_ENABLED_WEST", false];. Instead you have to use missionNamespace:

missionNamespace setVariable ["BIS_SSM_Airstrike_ENABLED_WEST", false];

It works! good find mate.

Share this post


Link to post
Share on other sites
Thanks !

What did i have to consider if i want to use the Simple Support Module in MP ?

I think the best way is to put the commands in a init.sqf.

Here is a sample. I can't test it in multiplayer but maybe it works.

scriptName "init.sqf: 1";
if (isnull player) exitwith {};

if (isserver) then //COMMANDS IN FOLLOWING BLOCK WILL BE EXECUTED ONLY ON SERVER 
{
   //exclude anything but mortars and ammo drop
   BIS_SSM_AmmoDrop_AVAILABLE_WEST =  TRUE; publicVariable "BIS_SSM_AmmoDrop_AVAILABLE_WEST";
   BIS_SSM_UnitsDrop_AVAILABLE_WEST = FALSE; publicVariable "BIS_SSM_UnitsDrop_AVAILABLE_WEST";
   BIS_SSM_Airstrike_AVAILABLE_WEST = FALSE; publicVariable "BIS_SSM_Airstrike_AVAILABLE_WEST";
   BIS_SSM_Mortar_AVAILABLE_WEST =    TRUE; publicVariable "BIS_SSM_Mortar_AVAILABLE_WEST";
   BIS_SSM_Artillery_AVAILABLE_WEST = FALSE; publicVariable "BIS_SSM_Artillery_AVAILABLE_WEST";
   BIS_SSM_CeaseFire_AVAILABLE_WEST = FALSE; publicVariable "BIS_SSM_CeaseFire_AVAILABLE_WEST";

   //number of mortar rounds that fall
   BIS_SSM_Mortar_ROUNDS_WEST = 5;

   //by default, supports can be called infinitely. To limit them, we need to add separate checks.
   //each support has an EXPRESSION that is called when the support is called.
   //here we use it to disable ammo drop after one use.
   BIS_SSM_AmmoDrop_EXPRESSION = {
       BIS_SSM_AmmoDrop_ENABLED_WEST = FALSE;
       BIS_SSM_AmmoDrop_AVAILABLE_WEST = FALSE;
       call BIS_SSM_fnc_updateMenu; //update list
   };

   //for mortar we want three available strikes. To count that we need
   //to use a separate variable.
   mortarsAvailable = 3; publicVariable "mortarsAvailable";

   //CONDITIONs are used to check if a support can be called.
   BIS_SSM_Mortar_CONDITION = "mortarsAvailable > 0";

   //we need to decrement the mortar counter each time it is fired
   BIS_SSM_Mortar_EXPRESSION = {
       mortarsAvailable = mortarsAvailable - 1;
       //we need to add yet another check to hide the icon
       if (mortarsAvailable <= 0) then {
           BIS_SSM_Mortar_ENABLED_WEST = FALSE;
           BIS_SSM_Mortar_AVAILABLE_WEST = FALSE;
           call BIS_SSM_fnc_updateMenu;
       }
   };

   //update should be called any time the variables are changed. Leaving it out
   //here seems to have no effect but BIS scripts always have it.
   call BIS_SSM_fnc_updateMenu;
}

So, Simple Support Module isn't really *that* Simple it seems :p At least I didn't see any easier way to limit the number of airstrikes etc.

The types of ammo drops/support vehicles are set in BIS_SSM_AmmoDrop_BOX_WEST etc. variables but I don't anything more about them right now.

Share this post


Link to post
Share on other sites

How would one go about limiting support, say the airstrike, when the player is within a certain area? (Near an AA site)

Share this post


Link to post
Share on other sites
How would one go about limiting support, say the airstrike, when the player is within a certain area? (Near an AA site)
Many ways probably, you could use a trigger (first disable airstrike at startup):

Activation - BLUFOR, Repeatedly

Radius - Whatever you want

Type - Switch

On activation: missionNamespace setVariable ["BIS_SSM_Airstrike_AVAILABLE_WEST", true]; call BIS_SSM_fnc_updateMenu;

On deactivation: missionNamespace setVariable ["BIS_SSM_Airstrike_AVAILABLE_WEST", false]; call BIS_SSM_fnc_updateMenu;

Now the airstrike activates when close enough and deactivates when moving out of radius again.

Or, you could use the CONDITION functionality. Place a "game logic" object on the map, name it "marker" and in the init.sqf add:

BIS_SSM_Airstrike_CONDITION = "(player distance marker) < 500";

Or directly to the module's init field:

missionNamespace setVariable ["BIS_SSM_Airstrike_CONDITION", "(player distance marker) < 500"];

Then the airstrike icon is always visible, but strike will be denied if the player is over 500 meters from the target.

Share this post


Link to post
Share on other sites

So.. what should I do to limit the amount of times a certain support can be used? I have a mission where I want to be able to say.. two mortar strikes, (or maybe just one, if that's easier), I've managed to disable all the other supports, no problems there. But how to limit the amount of mortar strikes?

I'm guessing a good way to do it unless there is already a specific command is to create a trigger which deletes the module once a certain amount of strikes have been used?

Edited by McNools

Share this post


Link to post
Share on other sites

This works in the editor but when i test it on a dedicated server it doesnt, the options are there in game as selectable but they dont select.

Mission is simple 7 blow up objects.

Enemys all using UPSMON and blufor Norrins revive.

is there any known reason why it wouldnt work on a server but does in the editor?

I have only added the module and cynced to the leader (who becomes player number 9 on a server :confused: )

Share this post


Link to post
Share on other sites

I have only added the module and cynced to the leader (who becomes player number 9 on a server :confused: )

Dont sync the module to anything, just place it on the map !

Share this post


Link to post
Share on other sites

Figured out (by looking at the module code) how to customize the unit drops. You need to set a variable on the calling unit (player) and not the module itself. Example, in player's initialization:

this setvariable ["BIS_SSM_UnitRequestConfigArray",[["A-Team",0.5,["US_Delta_Force_Marksman_EP1", "Goat"]]]];

The parameters are squad name, skill and an array of class names. Vehicles won't work (can't be set as a parachute's "cargo" I assume).

If you test this on the desert map I recommend missionNamespace setVariable ["BIS_SSM_SPAWNDISTANCE", 10]; as the units tend to spawn outside map borders...

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  

×