You are on page 1of 42

MGI ADVANCED MODULES

Version 2.4 by Pierre MGI


Edited on August The 7st 2023

Fast tools for editing MP/SP ARMA3 missions!

In this version:
 ADAPT SILENCERS to stealth/combat situation (automatic for AIs)
 ADVANCED PATROLS defined or randomized groups and make them patrolling/chasing players
 ADVANCED PLAYERS (mags repack, Zeroing, Plane HUDs, strobe lights, ear plugs)
 ADVANCED TRANSPORT (hepTaxi! - very advanced…)
 AIs CAN RESPAWN (SP/MP)
 BLAST & FIRE (Fire & explosions, stick charges, det. cord as deminer or trap)
 CAR TRAFFIC (civilian and any side)
 CIVILIAN LIFE (spawn despawn civilian)
 DROP VEHICLES instead of crates (complement for the BI support module)
 ENHANCED TURRETS on all tanks/APCs for firing HE shell by canon on infantry
 FLIP OVERTURNED VEHICLES
 HALO JUMP alone or with your group AIs
 HEAL & REVIVE (SP/MP heal system for AIs, on AIs or players, compatible with A3 MP revive)
 KILL PUNISHMENT (Friendly, civilian kills will not be tolerated… without reason)
 LOOT WEAPONS & ITEMS in HOUSES (sectored or not), choose the mod(s) you want to spawn
 MARKER TO TASK (transform some BI markers, like Destroy, to effective tasks!)
 1 MAN TANK just drive and fire solo on any tank
 PRISONERS (make prisoners, handcuff them or escort them to jail)
 REARM (AIs can rearm on crates, vehicles, corpses)
 RESPAWN VEHICLES with whole stuff (loadout, appearance, pylons, crew, waypoints…)
 SP SIMPLE RESPAWN (make player respawning in SP scenario)
 SPAWN GROUPS ATTACK (spawn what you want and give it a task,... waves, conditions…)
 SWITCH AMBIENT LIGHTS on/off from chosen generator(s)
 TERRAIN & MAP INTERACTIVE (tracers, repair stations, unit icons on map, aiming cursor on map)
 TOUCH OF CLASS (find classes, models or types of objects on map, replace them!)
 WEAR WHAT YOU WANT (even civilian or enemy uniform)
 WIRES AND FENCES (Cut, breach barbed wires, hedgehogs, blow tires on wires)
 NUKE (place a device, find code for defusing... or just release a bomb)

Enjoy!
GENERAL PURPOSE

Hi all,
Thanks for having downloaded this addon. You probably are a mission maker, experienced or not.
These modules make things easy to work in single player (SP) or multiplayer (MP) scenarii, for vanilla
Arma or modded version (CUP, RHS, UNSUNG, cDLC SOG Prairie fire, Western Sahara, CSLA Iron
curtain, Global mobilization...).

As any other modules (and logics or objects) placed in editor (3den), server and clients must have
them, so the addon. If a client doesn’t have the mod, the mission will not run for him. On the other
hand, this mod is light!
It is made of a bunch of functions which only run on demand, as any other BIS BIN (contact) loaded
functions. So only used modules, then used parameters will work on demand, at due time. The scripts
are optimized, even if some of them can be resource demanding if you don’t care of your choice
(healing all units in game can be problematic as well as scripting/editing for hundreds of units). Arma
has its own performance limitations.

I’m sure you’ll appreciate this 1Mb addon if you’re already playing with xGb mods! Some specific
mods are perhaps not compatible with some modules of mine, if they are made for the same tasks /
behaviors, in a different way. The (probably unique) example is the way ACE3 treats medical features,
but also the way this addon preempt the vanilla menu. I will not run after compatibility with such
mods. I have my own mind about how AIs (NPCs) should react.

In this document, I probably omitted some complex features, available in modules, but not
exhaustively described. I apologize for any omission. I’ll try to maintain this notice along with
modules.

At this time, there is no known bug. Some limitations can be found. I scripted for a wide range of
situations. Some of you asked for specific features that I added each time it was compatible with the
general purpose of the module. Too specific demands are to be treated by scripts, not addon. The
reason why I answers on BI forum.

Now, let’s have a look at all modules. Feel free to contribute for improvements. All positive and
constructive remarks are welcome, on Steam or on BI forum.

Thank you all, especially for thousands of people using this addon.
ADAPT SILENCERS to stealth/combat situation

Did you ever want to order to your AI subordinates, adapt their silencer muzzle during a stealth
operation? And revert it for no muzzle (more efficiency) when in combat action?
Now, it’s possible! Just order the behavior (combat, aware, stealth...)

No video
SP/MP compatible – all mods

The shift for fitting existing silencers is made when group/unit falls in combat or stealth behavior. In
other words, the aware situation doesn’t change the mounting of the current weapon.

PARAMETERS of module: decide who that may concern

 all AIs in played groups (not for players)

 whole played groups (so including players who will see their weapons automatically fitted with
existing silencers or not)

 all units (may be more resource demanding if many of them)

NOTE:
If the silencer is not on weapon or in unit’s items, there will be no added equipment. The mod doesn’t
interfere with existing equipment.
ADVANCED PATROLS

This module creates all patrol areas you need, dragging a synced trigger on map editor, above the
existing locations.

See video (formerly the module was named advanced locations)


SP/MP compatible – all mods

Most of the maps have locations. BI surely, CUP, UNSUNG also... Sorry for some “exotic” maps,
without any location. Create at least one, if necessary.
The aim of this module is to create at once, some disputed areas on locations. See the video for the
use of the “trigger tool” in 3den.
Triggers are automatically created for these areas but you can change/reedit all fields you want. The
default settings are spawning 2 to 3 or more groups, depending on how many triggering units
(generally a player’s group) will penetrate close to the trigger. The side and even the composition of
the group(s) are parameters, predefined or at your convenience.

You need to place the module anywhere on map. Then open it, choose the parameters you want. You
can change them on the fly before creating new area(s).

Now, place a trigger (more or less wide area) as tool linked to the module. This is THE tool you need
to create (or delete) the future patrol areas (triggers). This unique linked to module trigger must be
dragged on map. Each time this trigger hover an existing location (village, city, hill…), an area is
created, a marker appear with the color of the side you want. This marker will not be present in game
(just a reminder in editor).
You can delete your work, clicking on the linked trigger and choosing a square shape. This trigger,
then, becomes a rubber for your created areas (and only for that. No impact on objects/units).

So: circled trigger = create areas while dragging on map squared trigger = rubber for these areas.

On each area, you can see markers (remember: just for 3den info) and triggers. These triggers are the
core of the spawning / patrolling / renewing groups.

You can move the created area (so the triggers). You can even copy/paste these triggers if the current
locations are not satisfactory, but you need to change a character in trigger’s text because it’s
mandatory for having 2 different associated markers).

For example:
 you get a created area on Stratis: xx3338yy5744_WEST as trigger text (coordinate + side);
 copy/paste it;
 the new area is OK but there is only one blue marker, because the trigger’s text, so the marker
name, are same;
 just change one of the trigger’s text for something like: xx3338yy5743_WEST (any figure you
want, that position doesn’t matter, but avoid changing xx or yy or WEST….)
PARAMETERS of module:

 SIDE: You will spawn patrols of this side. Areas are created while dragging the trigger tool on the
map, till you decide to change for another one in module (look at the color of the tool and the
areas);

 By default, the tool is searching for 2 TYPES OF LOCATION: Local names (nameLocal) & villages
(namevillage). That's the more current. But you can add all other working locations on Arma3
(Note: "Mount" are not present as their positions are unstable) . Furthermore, you can change
their preset radius;

 NAME on temporary marker is just for editor, if you want to see the exact coordinate of the
location or its name;

 TRIGGER HEIGHT is the height above surface for any trigger areas. By default set to 20 m, that
means all aircraft flying above this height will not trigger the spawn for nuts. On the other hand,
some hill areas must have a higher volume, the cylinder collapsed inside the hill. The best bet is to
check the volume in 3D and adjust the height. Important: The trigger starts at -100m depth, so it's Z
thickness must be added to 100. Example: for 20m (as default) you will read Z =120. Known issue: If
you move the trigger, the position, then the Z coordinate changes. So, it’s useful to shift in 3D view
in editor and adjust the trigger’s height visually;

 Now, you have a set of 3 trigger presets, one for each side. You can find the same fields as for a
trigger: CONDITION, ON ACTIVATION, ON DEACTIVATION. I didn't use deactivation even some
scripts occur when the trigger is deactivated... It's a choice. The default codes for condition and on
activation are fine, spawning groups, more or less randomized in number and composition, but you
can spawn/execVM what you want from here. You are on server trigger repeatable and you can
change everything you want on a second time. See trigger areas below.

 ENABLE DYNAMIC SIMULATION: As any group in 3den, you can enable or disable the dynamic
simulation on units of the groups. (disabled by default as in 3den)

 MARK THE CONTESTED AREA:


 Don’t need any marker: Most immersive, most difficult to get info on the current leading faction;
 Dominant faction flag: You know that an area exists, which faction leads, but you can’t see the
boundary. If a faction flag is missing (mods), report me which one you need.
 Side Colored area (default): You can see which side is leading and the size of the area. The
easiest way for sweeping an area.

TRIGGER AREAS:
The created triggers (server only) can spawn what you want! What are they made of?
 First the preset condition “anybody present”. That allows all units triggering the area, under the
following CONDITION:
(thislist findIf {units _x findIf {isPlayer _x} >-1} > -1) && {WEST countSide (thislist – MGI_BLUE_LISTED ) == 0}
&& {thistrigger getvariable ["delay",TRUE]} outdated!

allPlayers select {side _x isNotEqualTo WEST} findIf {units _x inAreaArray thisTrigger isNotEqualTo []} >-1 &&
{thistrigger getvariable [""delay"",TRUE]}

See also this topic for further explanation. The important things are:
 The group composition doesn’t depend on the chosen side. No problem to spawn OPFOR with
NATO units, or blue rebels. The side of spawned groups only depends on the name of the trigger. If
you omitted to change the module’s parameters, you can write manually the right side of the area,
changing the name of the trigger (example: xx6953yy7400_WEST to xx6953yy7400_INDEP). But do
not modify the structure of this name.

 Manually, you must change the countSide for the same chosen side for the trigger (here
INDEPENDENT);
 I added three (white) lists (BLUE RED GREEN in fact) allowing you to forget the placed units in
the area.

NOTES:
1. Modifying spawned triggers: You can move them on map. The locations are just a way to get
automatic coordinates. As written above, you can duplicate them.

2. That said, let's try to change side for a trigger, even if I recommend to use the squared trigger tool
to delete it and place a new one by tool. So, let's say, you manually change WEST to INDEP. Here
INDEPENDENT is the side you check for any unit present prior to spawn some of them.

IMPORTANT: If you don't change anything else, and let the on activation field as is, you will spawn
west factions, but on INDEPENDENT side!

3. The module manages all triggers with "yy" in its text. If you delete the module, so the triggers with
"yy" in text will be deleted (in 3den).

 On activation code like:

0 = [thistrigger, ["OPF_F","OPF_G_F","O_T_ViperTeam"],["infantry", "mechanized", "armored",


"motorized_MTP"] ] spawn MGI_fnc_spwnUnits

 is spawning a home-made function with 3 (4) parameters:

 1st one is just a reference to trigger (thisTrigger).

 2nd one is a first array for the faction(s) you want to spawn. They must be present in the
cfgGroups (see config viewer from 3den). CfgGroups is divided by side, then clicking on a side
you will find the faction names like "OPF_F" (don't forget the quote ""). If you are not sure of
your factions, copy/paste their names in config viewer.
IMPORTANT:
 You can use the default example (for vanilla Arma),
 or write [""] or nil. This will be the same as ["OPF_F"] for OPFOR or 1st element of the example
in any side.
 But if you write [] or equivalent, nothing will spawn and you could get a warning on
systemChat. In fact, this empty array means you don't need any factions but you have to link
an edited group instead. If you link some edited, customized (or not) group(s) with the trigger
(not the module!), you’ll pass to the trigger what group(s) you want to spawn (once or several
times), whatever their composition and their side are in editor. These linked groups will be not
present at start, just spawned by trigger. First array accepts also the names of existing groups.
The code will find it. However, keep in mind the factions allow to randomize all existing groups
for a better suspense.

 3rd one: Back to the config viewer for the factions (first array), you can clicking on faction, you
will see the type of groups like "infantry" or "mechanized" or "specOps"... This is the object of
the second array. You can write inside it, all the existing types (check in cfgGroups) you want. In
fact, the existing types will be compared to your array as a secure check. Keep on mind that
mods (like RHS or SOG Prairie Fire) have very specific names for factions, types of groups and
groups. So, here also, a glance at config viewer will prevent some failure to spawn non-existing
types of groups.
IMPORTANT: Of course, if you wrote straight some group class names instead of faction in the
1st array, the 2nd array check is useless! So, if you didn't link any group and you fail to define
any faction/group (+ type of group for faction), nothing will spawn. In this case the area is
yours.

 There is a 4th (optional hidden) parameter, forcing the number of the groups to be spawned.
Initially (spawn just one group): TRUE or FALSE (FALSE by default).
Adding TRUE as 4rd param, you’ll spawn a unique group, instead of something related with the
number of players or the radius of the area. This can be fine for some heavy edited group with air
asset and vehicles (see video).
Since august 2021 (sorry for my laziness in version numbering), you can also give a number from
0 to 10. 0 is useless, 10 is max because spawning groups can be resource consuming. You can
add triggers by duplication… You can change this param in game if you set a variable on it and
change it before any activation of the trigger.

NOTES:

1. As reminder, don’t forget to check the volume of your triggers, especially if you moved them on
map. In mountainous area, the trigger volume could not fit to the ground or be truncated by hills.

2. If you spawn air assets, they will probably overshoot their patrol area, then the contested area
could change many times for the leading faction.
ADVANCED PLAYERS

This module allows some abilities for players.

No video (except for plane HUD and zeroing from time to time)
SP/MP compatible – all mods

PARAMETERS of module:
 REPACK your magazines (enabled by default): Once inventory opened, a double click on any
magazine or the type you want to repack;

 ZEROING HUD: If you are familiar with the MGI tactical pack mod, you already know this little
display near the center of the screen, with 2 cursors and distance to target. Some weapons have a
zeroing device you can adjust to distance. In this case, the cursors alignment indicates a correct
setting;

 PLANE HUD: I added this display in lower left corner with several bars and indicators:
 a throttle bar (thick), just because an analogical throttle’s position is far better than a
percentage;
 a combined speed / altimeter bar. You will find a yellow line at mid bar, as middle reference.
The speed grows in bar, red for static/dynamic stall proximity. So this bar can turn to red if too
slow along with the G factor: Green OK. Red you need to pull up on throttle or easy on stick! The
altimeter is a cursor moving along the bar. Scale is 0 to 1200’, then auto 0 to 12000’ when
above;
 a speed label is under the throttle bar (as reminder and visual grouping)
 a compass indicating the heading, the nearest terrain (or aircraft carrier) direction (double
arrow), the runway orientation (simple line). You can toggle:
 the HUD itself by adding an action menu, or striking CTRL + H (default) or ALT + H (choose the
option on module),
 the compass orientation North UP / Heading UP (default) by pressing R. Keep in mind the
North up is not convenient for tracking the direction to airfield.

 IR STROBE LIGHTS: You can enable the blinking or a strobe light (IR only) on the shoulder of the
played groups (only). Mission maker needs to choose when strobes are on:
 for covert ops (stealth behavior)
 during combat
 combat or stealth (default)
 during all night long (no matter the behavior).

 EAR PLUGS: simple ear plugs menu, visible when player is inside any vehicle. You can remove them
by menu, no matter the situation (in vehicle or not).
ADVANCED TRANSPORT

See video
SP/MP compatible – all mods

This module doesn’t need any link. It allows any player to use all AI driven vehicles as Taxi.
The vehicle must not be player driven or the AI driver must not belong to a player’s group. (In this
case, the player can already order what he wants as leader). This module doesn’t interfere with BI
support Transport module. That’s two different things.
A taxi is available if it belongs to your side or it’s a civilian (optional). The taxi must have available
seats for transportation (some mods can fail if there is no figure, or set to 0, for "transportSoldier" of
the vehicle class in cfgVehicles). Available taxis are sorted by efficiency and distance, I.e. a helicopter
vs a car will not have the same priority for a short vs a long distance from the caller!
Vehicles in combat are not available.
When you jump into a potential taxi (no matter you called it or not!), you’ll get an action
“destination” on menu.
As shown in video, once a destination selected on map, you can modify it for any other place, you can
cancel the taxi (so back to the pick up point).
Once arrived, you can order the taxi to stay at destination or leave back to its initial point.
(not really compatible with spawned civilian traffic – other module – which delete too far vehicles)

PARAMETERS of module:
 CIVILIAN can be called (true by default);

 TIME between 2 calls (from 2 min. to 2 hrs) You can’t call again any taxi during this interval (even if
the 1st call failed).

NOTES:
 If several players jump into the same vehicle, the higher ranked (or counter-alphabetic name) will be
able to order a destination.
 You can sync some taxis (per side) instead of using all possibilities.

 You can enable/disable the call by players, setting a variable on them: _aPlayer getVariable
["FORBIDMGITAXI",TRUE]
AI CAN RESPAWN
No video
SP/MP compatible – all mods

As you know, BI engine can make players respawning along with some options. All playable units in
fact, no matter if played. That’s probably because this way lets the AI ready for play in MP lobby. Non
playable units simply die... until this module.
Place it somewhere on map.
Parameters:
 Tick for the SIDES you want to be concerned by the respawn module.

 For each of them, you can choose to make AI respawning at start position, or at death position, or
even on a specific marker (see the name in module’s drop-down list)

 PLAYED GROUPS only: will not respawn units if no player on group.


 MIN AIs in group: As an advanced option, you can wait for a minimum remaining AIs belonging to
the same group until the dead respawn. If you set it to -1, you disabled the respawn system If you
set it to 0, that means all AI units of the group must die before any consideration for respawn.
If you set it to 3, the group will wait for 3 remaining AIs only, before first dead can respawn. The
default is set to 144 as a wish to cope with enormous amount of units in group, letting the
possibility to respawn the first killed without number consideration.

 LOADOUT same as start: If not ticked, the loadout on respawn will be the same as death.

 RESPAWN DELAY: Minimum delay for respawning a unit.


This delay is not added to the time for reaching a possible minimum remaining AIs in group (see
Min AIs in group, above). So, if the group is not re-completed after each death, this respawn delay
could not appear in the respawn event.

NOTES:
 Independently from sides, you can set a variable "specGrpForResp" on any specific group you want
to respawn. Variable is passed on group, not units. The working value is for the place you want the
units respawn among:
"start","death","leader","MGIRespWestAI","MGIRespEastAI","MGIRespIndAI" and "MGIRespCivAI"
Ex.: _grp setVariable ["specGrpForResp","death" ];

 Passing code on a spawned group (all modules):

Write something like:


addMissionEventHandler ["GroupCreated", {
params ["_group"];
_group spawn {
sleep 1;
if (leader _this inArea trig1 && side _this == EAST) then {
{_x setSkill 1} forEach units _this;
};
};
}];
BLAST & FIRE

See video (fire sequence, detonate cord sequence)


SP/MP compatible – compatible with CUP RHS IFA3 SOG Prairie Fire, CSLA... mods and DLCs

There are 3 features in one module.


 FIRE & EXPLOSION: you can put the fire or explode dangerous reservoirs or tanks or gas canisters…
depending on the caliber of your gun, the used ammo. Works on edited or map objects. It’s
impossible to filter classes, so I had to build a library for dangerous objects (and derivative!) with
mods. It’s a lot of work, so there could be missing possibilities. You can ask for some skipped
objects in most popular mods but don’t expect a new version for too specific mods (or any specific
objects you’d like).

 STICK CHARGES, BLOW DOORS: this is an old feature coming from MGI TACTICAL PACK (if you run
both mods, this one is skipped). You can stick some charges, satchels on vehicles or buildings.. Then
the detonation will open the door(s) at blow. All doors for vehicles (when it’s possible!), the stuck
door on building.

 Demine with DET CORD: When you’re throwing a flare or a smoke grenade with a grenade
launcher, maintaining ALT key when firing, you get an attached cord on grenade (working as usual).
This cord comes with some chemlights. Green chemlights indicates the part the cord don’t blow
(safety distance). The red ones indicates the active part of the det. Cord. There is also a small
detonator a the green end which enables you triggering the cord. This cord is operative for
demining a lane or as defensive device.
CAR TRAFFIC

See video (during heavy traffic test)


SP/MP compatible – compatible with CUP IFA3 SOG Prairie Fire, CSLA... mods and DLCs

Should work also for big mods like RHS or UNSUNG, if civilian side is chosen, even if there is no civilian
cars... I added crew on unarmed vehicle. Some mods will not spawn any vehicle (R3F, AMF) if civilian
side only. I didn’t add anything in this context. In these cases a systemchat message will warn you
about parameters. Anyway, you can use the module for armed factions owning cars.
Since August 2023, any linked trigger to module is an exclusion area for traffic.

PARAMETERS of module:

 SIDE(S) of cars: This must be an array of sides like [WEST,INDEPENDENT,CIVILIAN]. Default:


[CIVILIAN]

 DENSITY OF TRAFFIC: As scenarii can be very different, you may adapt the traffic to the context.
Choose one of these options: fluid, normal, often, heavy. If normal is 1 as reference, then fluid is
1/3, often is 3x, heavy is 30x. The number of spawned vehicles depends on multiple factors like
maps, roads, number of players… So, have some tests for tuning it to scenario.

 CARS… Arma’s by default. Checked the mods you need. If your favorite mod is not listed, try with
“other mods” option. If no success (systemchat warning for no vehicle spawning), ask me. If the
mod is free and popular, I will add a filter on vehicles (no guarantee).

 Extra CODE: Here you can filter your own vehicles (coming from your selected mods). The code
must ends by an array of vehicle classes named _vehs. For example:
_vehs = _this select {getNumber (configFile / 'cfgVehicles' / _x / 'transportSoldier') > 3}; _vehs;
This way, you’ll spawn only vehicles with a soldier transportation capacity of 4 at least. (see
cfgVehicles). Remember: _vehs is an array of classes, not objects!

Added parameter:

 If you don’t want to spawn vehicles regularly, but stop it when in combat mode, or for any other
reason (total number of vehicles…) just toggle a hidden variable: MGI_TRAFFICCOND (set to True
by default).
For example, on server:
0 = [] spawn {
while {true} do {
waitUntil {sleep 2; allPlayers findIf {behaviour _x == "COMBAT"}>-1};
MGI_TRAFFICCOND = FALSE;
waitUntil {sleep 2; allPlayers findIf {behaviour _x == "COMBAT"}==-1};
MGI_TRAFFICCOND = TRUE;
};
};
Keep in mind the traffic is not instantaneously modified. Vehicles are on their way.
CIVILIAN LIFE
See video
SP/MP compatible – some known mods and DLCs (CUP UNSUNG RHS... and DLCs)

Spawning/de-spawning some civilians when players are closing defined areas. For now, there is no
vehicle. Civilians enters the houses, regroup sometimes.
Just place one (or several modules) and choose what population you need. If not linked to triggers,
the default (modifiable) area applies. If you link one or several triggers, then the trigger areas apply.
It’s preferable to multiply triggers than modules.

PARAMETERS of module:

 DEFAULT AREA: size (A B), orientation, if no linked trigger. Doesn’t apply if synced trigger(s)

 DENSITY of population: Possible coef. are ½x 1x(standard) 2x 4x. The standard population
randomize about 10 men.

 SPAWN AT START. Just in case you would like permanent civilians from mission start. Could be
resource demanding for many areas.

 Enable KAMIKAZES. Decide if you want to spawn some human bombers running at any player or
his group and blowing themselves in a short delay. They wear a combat vest with explosives and
shout while attacking. Most of the time, the short notice in their behavior should be sufficient for
killing them before they bomb. But do not fire at any civilian running at you! (compatible with
punishment module as kamikazes are considered as enemies).

 All possible civilians are split into sub-categories, existing in Arma like Europeans, Africans,... but
you’ll also find some of your favorite mods…
DROP VEHICLES instead of crates
See video1 (rather old, some changes) & video2
SP/MP compatible – all mods

One of the common request is to enable the supply drop of some vehicle, or even a different crate,
instead of the hard coded crate of BI module.
Here, you need to link my supply drop module to the BI virtual supply drop one.
NOTE: This module must not be too close from the caller, at any time, because codes must wait for BI
crate initialization. Say, at least 500 meters from the caller. Keep it in mind before placing on map the
BI support module (the reference for virtual asset).

Then, my module needs some types of helos/planes (preferably slow), and dropped supplies
(vehicles/crates). These classes of assets are transferred in BI module, so you can use BI module as
usual for init fields, but do not modify the assets (helicopters).

PARAMETERS of module:

 Default HELICOPTERS (& planes now): as REMINDER. DO NOT WRITE ANYTHING HERE. The example
should be emptied after you sync the BI virtual support module.
Sync (link) any type(s) of helo/plane on MGI DROP VEHICLES module. This will be your available
assets. You can read (only) this array in both module (BI and mine). So, check it!
Of course, these objects are 3den only. They will not be present at start. And crew or not doesn’t
matter for same reason.

 Dropped VEHICLE/CRATE: as REMINDER. DO NOT WRITE ANYTHING HERE. Type must be any Land
Vehicle (inheritance), ship or ammo (ReammoBox_F inheritance). You can read the array in my
module. Check it! Of course, these objects are 3den only. They will not be present at start.

NOTE: if dropping assets matches with dropped cargoes (same number of elements for the arrays),
then you have a concordance: 1st assets will drop 1st cargo, 2nd asset for the 2nd cargo...
So, In game, If you call one of this type of support, from the BI virtual drop, you’ll spawn:
 the crate/vehicle with same index as helo/plane if the arrays have the same number of
elements;
 or randomly one of the crates/vehicles, if the array lengths don’t match. If you sync both
ships and land vehicles on module, the randomization will take into account the position of
the drop. If above water, only ships are randomized, land vehicles on land. I don’t guarantee
the exact drop position, depending on asset trajectory and wind. So, don’t drop too close
from shore line.

 Enable ARSENAL on vehicle/crate: If ticked, this will add the “open” arsenal action (full). I don’t
have the hand on specific limited arsenal.

 SIGNAL on vehicle/crate: yellow smoke, or flare at night, for better visualization of the dropped
cargo.
 MARKER on vehicle/crate: a marker will show the DZ once the crate is on ground. For caller only.
So, add your own marker for sharing the position. Disappear one minute later.

NOTE:
Do not remove the automatically added code in vehicle init field of BI virtual support module! You can
add your own code, as usual but let the added one as is.

ENHANCED TURRETS
No video
SP/MP compatible – some DLCs/mods (so far A3, CUP, RHS, AMF, CSLA, Global mobilization -
Feedback welcome)
Some DLCs/mods don’t need that (UNSUNG, SOG Prairie Fire)
Some mods are not compatible: IFA3 (no clue about that)

That’s the module version of my script enabling the AI gunners on cannons to fire HE (high explosive)
shells on infantry. The gunner will load back AP (armor piercing) shell if any armored threat. Fighting
against infantry, I tried to designate AT units first... Not so evident struggling with Arma FSMs and
engine.
Parameter on module:

 VEHICLES (with cannon only)


 Only LINKED VEHICLES (editor): If no vehicle linked to the module the script is disabled;
 All 3den vehicles: Concern edited vehicles, so at existing mission start, but not spawned ones;
 + SPAWNED VEHICLES (default). Here you are! But that could be resource consuming
somewhere. Just test it.

FLIP OVERTURNED VEHICLE


No video
SP/MP compatible - all mods

A simple action on any flipped vehicle.


HALO JUMP
No video
SP/MP compatible – all mods

This module allows player(s) to simulate a HALO jump by an action menu. This action is enabled when
player(s) aim an object at close position (addAction on the object). To make it work, the object must
be named MGIHALOXXX (variable name) where XXX can be what usual characters you want…
Or you can link some objects in editor.

PARAMETERS of module:

 WHO can jump:


 player(s) only (solo jump);
 Regrouped player’s units: player calling action and all subordinate AIs of his group if they are
nearest than 320 m from him, will jump. If any other player in this group, he will not be
concerned and he will have to jump on his own.
 both possibilities (default) You have the two possible actions on menu, one for solo jump, one
for grouped jump.

 JUMP ALTITUDE in meters. Default 2000m. The player (and subordinates) will be teleported to the
chosen point on map, at this altitude.

 SAFE OPENING altitude: Default 90m. Don’t forget the enemies: opponents and... ground!

 Cool down timer: Default 0 sec. Mandatory time interval between two jumps.

 JUMP COUNT LIMITATION. (default unlimited) By player. Max 20.


HEAL & REVIVE
see video
SP/MP compatible – check for mods... Modded units are not a problem. But some mods like ACE have
their own scripts and could be incompatible. Furthermore, I scripted for some conditions about the
presence of FirstAidKit and MediKit.

This module is complex enough. I didn’t grab into mods for exotic classes of items (and I will not). Of
course, you can choose to skip these conditions.

Place a module on map.


First of all, you must define what BROS are. All behaviors are based on the BROS, for each group.
That’s the guy, played or AIs, able to heal another one.
IMPORTANT: As BI already set a bunch of parameters for players/playable units in MP, enabling
respawn and revive, I didn’t alter these behaviors.
So, it’s important that you choose the BI 3den parameters (or the param classes in description.ext) as
usual. I’ll not override them for players!
This module allows much other behaviors:
 AIs will not die at once. They can fall unconscious like players. They finally dies if not healed;
 Players or AIs (belonging to Bros) can be healed by bros. That means you can heal an AI and AIs
can heal you;
 But player is never assigned as medic. It’s player’s choice for healing somebody. So, an AI will be
assigned (if conditions are met), even if there is a player closer to the victim;
 All AI assigned medics will leave temporarily their group. I didn’t find a better way to manage AI
medics. So, I added some parameters to avoid a “hemorrhage” of units in played groups!
 This code will work also in SP. That means the player will fall unconscious and could be healed
instead of dying.

NOTE: The hard coded radius to find a possible medic is 200 m from the unconscious unit; Medics are
bros (but bros are not always medic, depending on extra condition you choose in parameters)

PARAMETERS of module:

 HEAL OR RESPAWN some West (East, Indep,Civ): You must define if you want to apply the code to
West units (East,indep,civ).
 No other West: Means that only linked groups to the module will be bros (editor)
NOTE: Do not sync the group icon to the module, but the leader of the group.
 West leader played groups (default): Any west player, playing as leader of a group will see all his
group added as Bros (JIP compatible)
 West Playable groups: As playable units can respawn by BI engine, these groups, played or not,
are fine for bros (more bros than previous option) All West: Any units of the West groups (edited
or spawned) will belong to bros.

East, Independent and even Civilian sides have the same options:

 REACTION TIME: That’s a (small) delay during which the possible medics are sorted for assigning
the more accurate AI (matching with parameters). This reaction time is not counted as bleed out
time.
 RESPAWN DELAY: The bleed out time for any unit belonging to bros but not managed by BI
respawn feature.

 AI CAN BE HEALED (enabled by default): If not, all AIs (except playable units) will die without
respawning. But they can heal, as medic, players and playable units. That way, this option is less
resource demanding and could be good enough for simple mission (especially in SP) without “never
ending” respawns.

 AIs NEED SOME KITS to heal:


 No kit needed Need FAK: remember, BI vanilla “FirstAidKit” or equivalent but same class name;
 Need Medikit: BI vanilla “Medikit” mandatory to be medic in bros (this class name);
 AI must be medic: The “Medic” trait is required;

 HEAL OTHER GROUPS:


 Heal only group units: To avoid too much dismissed medics, even temporarily, medics are
allowed to heal only units of their group;
 Heal group and any other player (default): Same as previous but medic can also heal close
unconscious players on same side;
 Heal all Bros: all AI medic can heal all bros (same side). That could be tricky for group
management while medics leave it.

 Add WHITE FLAG healing: All medics in action will wear a white flag during this move. Can be fine
for preview/play and see how the module works.

 MP SETTINGS OVERRIDE: In multiplayer, this module sticks to your respawn/revive settings in


3den, for players and playable units. However, in some situations, hard combat, AIs could help and
that’s not planned via editor. So, you can override these settings for enabling that, then get the
same possibilities as for single player session.
KILL PUNISHMENT
See video
SP/MP compatible - all mods

In Arma, the renegade status is something… definitive, if you don’t script. And sometimes, the
sanction is weird, not compatible with objectives.

This simple module is to punish team or civilian killers. The parameters act for more or less penalty
time. The transgressor will be renegade for this time but he can return back in his group after that.
The renegade status makes you an enemy for any AI units. So, this module is not a kick/ban player for
dumb asshole, but rather a tool for better attention for “blue on blue” and collateral damage.

Compatible with my civilian life module spawning kamikazes (you can kill these civilians).

PARAMETERS of module:

 WHITE LIST you can kill without penalty: an array of units you can kill with penalty. Useful for
scenario with specific target if not enemy.

 Friendly or civilian KILL TOLERATED: some predefined amounts for kill clearance. (up to 3 by
default). Player will not be punished, wrong killing up to this number, but on the other hand, all
victims will be taken into account when time is to pay the bill.

 CIVILIAN KILLED: Default TRUE. If FALSE, the civilian casualties are free of charge... because some
scenarios gives to civilians an enemy status.

 CIVILIAN ONLY: Punishment applies only on civilian kills. So, blue on blue are out of scope.

 DURING TIME FOR RENEGADE: this is the penalty time which will be multiplied by the number of
non-allowed victims;

 VEHICLE DESTRUCTION RATIO: 0 to 1, 0 by default. On my mind, no vehicle worth a life. So, I


decided to give a ratio for destroyed assets but the destruction will not count for the sentence to
renegade.
0 means no matter the player destroys vehicles, 1 means that a vehicle will finally count as a unit.
In other words, you will never become a renegade, destroying simple vehicles. The ratio will just
add some duration if you become a renegade killing too much friendly/civilian souls. Empty vehicle
from friend sides are taken into account, same for former enemy vehicles now manned by your
friends.

NOTE: You can white list some units, by more elaborated mean than the 1 st parameter array, just
scripting for the variable WHITE_LISTED_PUNISH (will be updated by script).
The captive units are not considered as civilian, but as friend or enemy units. If you need to give them
a protection (kill punishment for them), add them into the variable BLACK_LISTED_PUNISH (array).
WHITE_LISTED_PUNISH and BLACK_LISTED_PUNISH must be known by all players. So, in MP
publicVariable them!
LOOT WEAPONS & ITEMS IN HOUSES

See video
SP/MP compatible – some mods (CUP UNSUNG IFA3 RHS R3F SOG Prairie Fire, CSLA, WS, GM, SPE)

This module will spawn in randomized houses, randomized weapons (+some mags) and/or
randomized items. You can choose among some mods, which of them will provide these loots.

PARAMETERS of module:

 HOW MANY HOUSES (percent): 20%, 40% (default), 60% or 80% of the houses with building
positions (generally enterable)

 list of mods + Arma you can select for spawning loot. Fail safe if you tick a missing mod.

NOTE:

 If synced to squared trigger(s), the loot will spawn in these trigger specific area(s). If synced to an
ellipse trigger(s), you loot can spawn everywhere except in these exclusion area(s). Don’t mix an
exclusion area with any specific area. In that case, all specific (squared) area(s) are useless!

 You can use 2 or 3 modules. This way, you can choose different parameters for RHS side weapons.
There is no simple way to give side to weapons in A3 and most of the mods! So, this possibility is
limited to RHS, I think.

MARKER TO TASK
See video
SP/MP compatible – all mods

A simple module changing some Vanilla markers for tasks.


While in game, if a player place a marker, like Objective or Ambush or Pick up or Destroy or Join, this
one will be transformed as task.
The task will be shared by the same units as those listening on the channel used on marker (MP), or
by the player’s side (by default) in SP.
In the task menu, you will find a short description but, above all, two links:
 Go,go,go! For ordering the units on channel for move to the task destination. So don’t abuse of that
in MP on side channel!
 Delete task. The easiest way to delete the right task and its marker.
ONE MAN TANK
No video
SP/MP compatible – all mods with Tanks or APCs

Module without parameter.


Apply on all tanks and APCs, edited or spawned. Just jump into it (must be a free seat). If remaining
crew, they disembark to let you alone.
As soon as you move the mouse, you’re pointing the turret while driving. In 3 rd person, if you release
the mouse for 10 sec., the view comes back to driver (as you are). Stay on gunner in 1 st person.
PRISONERS
See video
SP/MP compatible – all mods

This module allows the players to capture some enemy units (not players), depending on conditions.
Any linked trigger will be a jail area where the prisoners will stay sat, handcuffed.

To process the arrest, you have to be in GUNNER view, and TEMPORARY ZOOM IN (right click by
default). You also must have some AMMO for an OPERATIVE weapon/turret against the mobile you
want to arrest. For example, a rifle against unit or a civilian car, a cannon on APCs or military car, an
AA turret against helicopter... Planes and tanks are not concerned.
Once arrested, if the units are too far, they’ll escape without gear. If you can keep them within the
escape distance (they’ll stay hands on head) you can order:
 1st: sit down. While sat and handcuffed the prisoner can’t escape any more;
 2nd: follow me. Then the prisoner will follow you on foot. If distance is too high, the prisoner will
escape;
 3rd (optional): you can escort the prisoner(s) to a jail area. Once at jail, the unit will sit handcuffed
(automatic) but you can free them here.
Prisoners can escape by their own if you don’t handcuff them and you go away. They can even escape
once tied up if there is no jail on map and you let them without one of your guys close to them. They
don’t escape in jail, no matter the surveillance.

PARAMETERS of module:

 MAX DISTANCE FOR CAPTURE: Up to 300m (150m by default, 50m hard coded for hand guns).

 VEHICLES CAN BE HIGHJACKED: (default: TRUE) You can apply the tempo zoom for arresting
vehicles (helicopters included, but not planes). Check conditions about gun/turret efficiency on
target.

 MAX DISTANCE TO CAPTIVE: If, for whatever reason, you (or other players) overpass this distance,
and if the prisoners are not sat, handcuffed, they will escape.

 BALANCE OF FORCES: ratio for enemies vs friendly units near the target and the aiming player.
Ratio can be: No ratio (disabled), 1x (by default), 2x, 3x, 5x, 8x.

 ENEMY MUST BE LOW ON AMMO: (disabled by default). If enabled, the target must be low on
ammo (2 shots in mags..) or at reloading phase. More realistic but hard to match.

 CAPTURE IF WOUNDED: (default: no wound necessary). You can set the level of damage on
enemies to enable their capture.

 MARK JAILS ON MAP: Jail areas are marked on map.


REARM
Here is a little script enabling AIs for rearming when out of ammo.

No video
SP/MP compatible – all mods

PARAMETERS of module:

 AIs WITH PLAYED LEADER (by default): the best compromise between immersion and resource
saving;

 ALL WEST AIS (then, EAST, INDEP, CIVILIAN): You can add a lot of units for each side.

The result is the units satisfying to one of the choice above, with some extra hard coded conditions:

 Only AI units owning a primary weapon are concerned: No player, no tourist;

 When the AI has less than 10 remaining shots in its primary weapon, if magazines or weapons can
be picked, within 100 m of the unit (anytime), the AI will move and pick them up.

The possibilities and priorities are:

 Any object stated as Arsenal (virtual crates/ vehicles with arsenal code...), is scouted as priority 1.
That means the AI will reload at this object, with compatible mags, no matter the content of the
arsenal crate/vehicle. At this time, and possibly for ever, I don't make any filter about possible
limitation on arsenal. That means any enemy (concerned AI) can rearm at any arsenal.

 The priority 2 is crates/vehicles fitted with compatible mags. The rearm action (BI engine) has
been replaced for same gesture but a more elaborated rearming depending on unit’s loadout and
crate’s composition.
IMPORTANT: The mags can be inside uniforms, vests, backpacks inside the crate or the vehicle.

 The priority 3 is friendly fallen corpses... There is neither arsenal, nor crate but some fellows are
lying on ground with compatible mags. That's the last chance for AI to keep their actual primary
weapon;

 The last priority (4) is any weapon found on ground, inside crate or vehicle. This weapon is
different from the original. If several choices, the AI will pick one at random... At this time, I don't
have filter for all possible cases and skills of AIs... It's just out of my scope. Anyway, this weapon can
be inside a backpack, inside a crate... I added a mandatory mag for this weapon as I don't want the
AIs out of ammo, then picking a weapon, out of ammo then... in a boring cycle. Furthermore, at this
time, the abandoned weapon is deleted.
NOTES:

 Vehicles are considered as crates if engine off!

 You can stop an AI (stop order), so he will not continue his search for mags or weapons (but he will
not fight without ammo).

 When the AI rearms, the secondary weapon (if any) is refilled in tube (so 1 shot). The AI receives up
to 3 first aid kit and hand grenades or smokes. The AI grabs also up to 6 grenades for GL if any.

 The treated units are local on each PC/Server: the script runs locally;

 Depending on mods, you can experience some little difference:


 Compatible mags means... compatible mags and some vanilla mags can be used instead of
specific ones, for arsenal. I'm not responsible of these choices.
 On the other hand, there are several "FirstAidKit" along with mods. Some of them keep the class
name and modify the aspect, some of them modify the whole stuff (for nuts, IMHO). Your AI can
receive "firstAidKit" instead of "holyKitofTheGreatesModEverWritten". They will not make
difference in game, and you'll see that only if you pick items on dead AI fellow

LIMITATIONS:

 The hand guns are not treated at all;

 The GL and launchers are treated only when the AI goes to rearm for its primary weapon.
RESPAWN VEHICLES

No video (see an old one about script to have an idea)


SP/MP compatible – all mods

IMPORTANT: This module uses EH handleDamage. This EH doesn’t work if you apply something like:
testedVehicle setDamage 1 from console. The script needs some hits on parts (updating vehicle data
before destruction). So, crew and waypoints will be respawned after a current kill/disabled vehicle in
game.

This module will respawn all vehicles (according to parameters), empty or even AI manned. If manned
vehicles, the crew will respawn in accordance will multiplayer settings. This module will not override
the other settings in 2den or in other modules, so the crew respawn is limited to AIs who would not
respawn without this module.
You don’t need any BI module. This one will replace the BI multiplayer Vehicle respawn.

PARAMETERS of module:

 THESE OBJECTS CAN RESPAWN: That’s a simple “read only” field, as reminder of the
vehicles/ammo crates you linked on module. Do not write here. They are automatically named if
not yet done.

 WHERE THESE OBJECTS WILL RESPAWN: You can write here, for each objects above, the place
where to respawn. If you miss some elements or just don’t write the position, the corresponding
object (same index of array) will respawn where it was destroyed (default = “death” position)
Available strings are : "start", "death", "anyMarkerName". Even if not mandatory, giving a place
for each objects (1st array) is recommended.

 RESPAWN AI WEST VEHICLES: will respawn all west vehicles (so manned, not empty) if known by
server.

 RESPAWN POSITION FOR WEST: Specific objects apart (1 st array & 2nd array for positions), you must
choose the respawn position for west vehicles. Same strings available but if a marker is used it
must be called "MGIRESPWEST". So, at this time, you can use a unique marker if start and death
position don’t match your goal.

Same couple of parameters of East, Independent and civilian sides.


Markers, if needed, should be respectively "MGIRESPEAST", "MGIRESPIND" and "MGIRESPCIV".

NOTE: Here civilian means all driven vehicles by a civilian AI, not the empty vehicles.

 RESPAWN DELAY: time to respawn after destruction. Halved for disabled vehicles after crew leaves
it.

 LIMIT OF RESPAWN: (default: infinite) Maximum allowed respawn on each vehicles / crates.
 DISABLED VEHICLES CAN RESPAWN: Yes, but they will wait to be abandoned by their AI crew!

 EMPTY VEHICLES CAN RESPAWN: Here you can decide if empty vehicles, but also crates (which are
empty objects) can respawn. Do not confuse with civilian side!

 KEEP APPEARANCE & PYLONS: (default FALSE). If set to TRUE, it’s fine for recovering the exactly
same vehicle but this can be resource demanding. Check the number of vehicles you want to
respawn, the complexity of your scenario and test it.

 KEEP ACTION(S) & ARSENAL (if any): One step of complexity further. Now the vehicle should be
exactly the same.

 NOTIFICATION FOR SIDE VEHICLES: (default: TRUE). If FALSE, the notification system is disabled.

NOTE:
There is a variable: MGI_BLACKLISTVEHRESPAWN , for skipping some vehicles or crates despite the
chosen vehicles above. So, on server, you can push back on this array, all vehicles / crates you don’t
want to respawn. Example, you want to respawn West vehicles but tanks:
{MGI_BLACKLISTVEHRESPAWN pushBack _x} forEach (vehicles select {_x iskindof "tank"});

That’s enough if all you tanks are edited (so present at start). If some of them are spawned during
game, the further step is this kind of loop:
0 = [] spawn {
while {true} do {
sleep 2;
{
MGI_BLACKLISTVEHRESPAWN pushBack _x;
_x setVariable ["yourChosenVar",TRUE]
} forEach (vehicles select {_x isKindOf "tank" && isNil {_x getVariable "yourChosenVar"} });
};
};

Added new feature on August 2023.


 Setting a variable on vehicle(s) which allow a code like in init field at each respawn. See this post:
https://forums.bohemia.net/forums/topic/242819-apply-special-states-to-objects-via-trigger/?
do=findComment&comment=3477320
 As reminder, see also how to set specific times of respawn for a vehicle:
https://forums.bohemia.net/forums/topic/222362-mgi-advanced-modules/?
do=findComment&comment=3460299
I recommend to read the whole topic for better knowledge of the possibilities of this module.
SP SIMPLE RESPAWN

No video
Single Player only – all mods

This module is a light code, more handy than the (SP/MP) “heal & revive” advanced module.
Complementary to the (SP/MP) “AI can respawn” module, here, only the player is concerned.
NOTE: Avoid using this module along with Heal & Revive one.

PARAMETERS of module:

 RESPAWN DELAY: You will respawn after this due time;

WHERE TO RESPAWN:
 At death positions
 On marker(s) Marker(s) must be named MGI_RESP_XXX where XXX is what ever you want. If
more than one marker, the position is randomized on them.

 RADIUS AREA WITHOUT ENEMY: Because sometimes, it’s just impossible to respawn inside a
hornet’s nest. So, let’s sweep the enemy infantry in the area: Value can be: no sweep, 10m radius,
20m, 30m, 50m, 100m.

 LOADOUT SAME AS START: If you’re afraid to be short on ammo. Default: FALSE, means you’ll
respawn as you died.
SPAWN GROUPS ATTACK

See video
SP/MP compatible – all mods

This module allows the mission maker:


 to spawn any group, even customized, on any side,
 spawning on multiple possible areas (triggers),
 with a wide randomized choice or a very specific group.

You can place several modules on the map, each of them have their own parameters.

1. Choose the side (applies to all groups spawned from a module, no matter the initial vanilla side). So
civilian units can be aggressors;

2. decide if you want to spawn:


 at total random (so the groups are picked in cfgGroups, but for the side you chose (normal
limitation);
 Randomized or specific faction(s). They must exist in cfgGroups (not all factions from
cfgFactionClasses are available for groups!). All factions (cfgGroups) are available, whatever the
choice of the side in fine;
 You can filter these first possibilities by the type(s) of groups. For example, "infantry" and/or
"motorized" and/or "armored"... But, these types must exist in the cfgGroups.
 You can choose to spawn a specific group (from cfgGroups).. or even an array of units, vehicles...
or even an edited group (with all customized textures, pylons, loadouts...)
 Linked group(s) on module, customized or not, will be candidates for spawning. That's fine for
spawning not existing groups such as air or sea patrols.

3. Choose the attitude: behavior, combat mode, formation…

4. choose the repeat sequence (limitation and delay)

5. decide on what condition groups module can spawn (not only at start, but any time!)

6. decide for a simple task (or not). Chase players, enemies, defend…

7. run a code for each group (useful for specific task)


MODULE(S) IN 3DEN – Position/ area of the module(s) if no synced trigger area. Direction of the
module, in 3den, is the direction of the group (if no synced trigger area)

SYNCED TRIGGER AREA(S) - The position, area and direction of the module doesn't matter any more.
The group(s) are spawning at randomized positions in randomized trigger area(s), with the direction of
the trigger area.

SYNCED UNIT(S) - In 3den, you can place (customized or not) group(s) with the module(s). No matter if
you synced one (leader or not) or several units of a group, with the module. The group will be
candidate for spawning.
PARAMETERS of module:

 SIDE: Definitely the side of your group(s) for this module. No matter the choice you did (edited
group, chosen faction(s), or type(s) of group or group(s)..) What ever you spawn we belong to this
side.
NOTE: Anyway, if you let the module at full random (no synced group, no, faction, no type, no
group), in this case, the randomized group is picked among the native possibility from cfgGroups.
So, if you just select a side (say EAST), you'll spawn randomized groups(s) from OPFOR.

 HOW MANY GROUPS: The number of group(s) to be spawned at each occurrence. Randomization
will depend on the possibility of what you want to spawn, so your choice). Min 1 max 12 (limited
for performance saving when spawning heavy customized groups. Feel free to add other modules)

IMPORTANT: The modules work with edited groups or existing configs/classes of groups from
cfgGroups (see config viewer from console).
So, scripted groups have always the architecture:
configFile >> "cfgGroups" >> "side" >> "faction"* >> "type of group" >> "group"
... then units/vehicles for each group
Example: side like "Indep" , faction like "IND_E_F", type like "infantry", group like "I_E_InfSquad"

 FACTION(S)*: If empty, no filter about them. If filled without any more details (see below: type(s),
group(s) ), all available factions in cfgGroups can be used to spawn any child type, then any child
group.
All current faction names can't work. Some existing factions in cfgFactionClasses are not
present in cfgGroups. For example: "CIV_IDAP_F" (IDAP civilian faction has no group) or even
"OPF_V_F" (Arma Viper) can't work in the architecture of cfgGroups. For Viper, the only group
defined in: configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "SpecOps" >> "OI_ViperTeam" exits.
So at faction level, there is nothing to do.
You can fill the parameter with a working class like: "OPF_F", or even the config:
(configfile >> "CfgGroups" >> "East" >> "OPF_F"), or an array of these possibilities. Not case
sensitive.

 TYPE(S): More a filter about what you want to spawn. That should be simple as "infantry" or
"motorized" or "mechanized" or... "armored". That doesn't! Even in Arma vanilla, you can find
exotic classes as "motorized_MTP". Any dev has his own mind to sort the groups by types. The
reason is probably the way you can find sorted groups in 3den's right panel. But, it's just impossible
(or needs an updated list of hundreds of names) to filter groups easily. You have to do that job, if
you want to do so, writing a config or a class, or an array of that, for filtering the type(s). Not case
sensitive but do not make typo's error! If wrong, there is no more available filter.
You can fill the parameter with a working class (not the config) like: "specops", or an array of these
possibilities.
NOTE: Check each of them in cfgGroups, like this example:
configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "SpecOps" // OK
configfile >> "CfgGroups" >> "East" >> "OPF_G_F" >> "SpecOps" // doesn't exist! So, no filter as
result!
 SPECIFIC GROUP(S): a step further, for less randomization. You are at the group level. As factions,
you can fill it with class (of group) or config or an array of these possibilities.
Much more, you can add arrays of units/vehicles class(es). That's also a way to customize some
groups, but one the contrary of synced edited ones, you'll not able to define appearance for
vehicles or pylons payload at this moment.

 RADIUS AREA: radius of the module area, so the spawn area if no synced trigger areas. Useless if
any trigger area synced.

 GROUP(S) DIRECTION: orientation of the module in 3den (shift mousse drag) . Do not write
anything on field (it's a result, not an entry). Useless if any trigger area synced.

 GROUP(S) SKILL: As 3den, skill for whole group, with +/-10% randomized on each units.

 ENABLE DYNAMIC SIMULATION: As in 3den. See Biki for detailed explanation (recommended)

 CONDITION FIELD: checked every 2 seconds. So, much more convenient than a simple condition of
presence at start! Feel free to do what you want but return a boolean.
Examples:
* spawning only at night: sunOrMoon < 0.5
* strengthening weakened side: INDEPENDENT countSide allGroups < 3
* waiting for more players: count allPlayers > 2
* even checking for 1000 m distance at least from any player:
private _possAreas = _logic getVariable "possAreas"; (count allPlayers > 0 && allPlayers findIf
{private _plyr = _x; _possAreas findIf {_plyr distance _x#0 < 1000} == -1} == -1)
but that will not despawn or hide or disable the groups! See the dynamic simulation instead for
that.

 REPEAT OCCURRENCE: the added times for re-spawning the same groups (not at the same place).
0 means no more occurrence. -1 means infinite repeat.
So if you want to spawn 3 times a group, set it to 2 (1 shot + 2 added)

 INTERVAL FOR REPEAT: A delay between 2 consecutive spawns, if the condition are met. If not, the
spawn will wait for condition to be TRUE, then spawn, then wait for interval duration, then check
for condition...
min 30 sec max 2 hours.

 FORMATION OF THE GROUP: As usual. Sometimes this setting is reinitialized to default wedge. I
didn't identify why. So check it twice before OK button and save scenario.

 BEHAVIOR: (or behaviour, sorry) Same as usual

 COMBAT MODE: same as usual

 SPEED MODE: As usual. Same little problem as formation. Check twice.


 INSIGNIA: I hope that works fine everywhere...

 CODE FOR GROUP: Passed parameters are <group>, <leader>, <vehicles of the group>. Just write
the code without brackets {}. For example:
params ["_grp","_lead","_vehs"]; private _wp = _grp addWaypoint [<aPositionHere>,0]; _wp
setWaypointType "MOVE"; _lead forceFlagTexture "\A3\Data_F\Flags\Flag_red_CO.paa"; {_x
setFuel 0.2} forEach _vehs
I repeat, no bracket, just like this. It’s very interesting scripting for spawned groups.

 BASIC TASK: can be:


 Do Nothing (the preferred one of dumb AIs)
 Attack nearest known enemy So the group will start after an enemy knowledge acquisition. Not
before. I hope I managed air assets for chasing air assets... I can't imagine infantry running after
a jet.
 Chase nearest enemy Same as above but the position of nearest enemy is known (for spawning
attack waves for example)
 Attack nearest Player (known enemy) The group must acquire the detection of a hostile player.
 Chase nearest player (enemy) The group will start the hunting on player's (updated) position.
 Defend this area Some SAD waypoints in the area of the group(s).

known difficulties:

 Mods like Unsung or CUP or RHS (all in fact) requires a sharp attention for the name of the
factions/groups but also Types... of groups. You can't imagine hundreds of names for such basic
labels like "infantry" "armored" "mechanized"... That should be normalized, that doesn’t!

 Too many mods, even non used by mission, but just loaded on server (so ticked in launcher), will
affect the randomization for nuts, and lead to unwanted results like Arma or CUP units during
Unsung play. Never let all your mods/ CDLCs enabled for nuts!
SWITCH AMBIENT LIGHTS

See video
SP/MP compatible – all mods/DLCs so far…

As soon as you place this module, the code will search for existing classes of “generator”. I decided
some classes by default but you can designate all terrain objects / edited objects you want as far as
you know their classes.
My default generators are:
["Land_PowerGenerator_F","Land_wpp_Turbine_V2_F","Land_dp_transformer_F","Land_spp_Transf
ormer_F"] (all Arma vanilla), so feel free to write your existing ones! Mind for the classes.
These generators will receive an action menu (addAction) according to parameters.
IMPORTANT: if you link the module to any edited object(s) (so placed on map in editor), the above
classes don’t matter anymore and the generators will be only the linked objects.

PARAMETERS of module:

 EXISTING CLASSES OF GENERATORS: As described above. Write classes you want in an array.

 MODULE RADIUS: While in 3den, this module will show you (red markers) the available generators
which could receive the addAction. Not working if any linked objects.

 RADIUS FOR SWITCHING LIGHTS: This radius is the active range around each generator for
switching lamps and lights, runway ones included (so, mind for the range if you need to switch a
whole airport).

 START SWITCHED OFF: You can decide to start under the skylight. So romantic!

 MARK GENERATORS ON MAP: All generator markers in 3den are just helping you for locating your
generators. If you want to keep the generators marked in game, tick this option. Default: FALSE.
TERRAIN & MAP INTERACTIVE

See video for tracers


SP/MP compatible – all mods

This module regroups 4 enhanced behaviors (see parameters). The fact you’re not using several of
them doesn’t matter in term of performance. I just regrouped them for avoiding multiplication of
modules.

PARAMETERS of module:

 REPAIR AT GAS STATIONS: If you want to repair a vehicle at all possible workshops, gas stations,
tech hangars... (marked on map in game). The helipads (not invisible) are also an area for helo only
repairs. You can choose:
 Need a toolkit: to make mandatory a toolkit (mods compatible). TRUE by default
 Must be an engineer: engineer trait mandatory . FALSE by default
If I missed some exotic repair possibilities, just tell me.

 TRACERS: Magnify the tracers. This one a very scenic.


 Limit tracers: Choose the rate for adding a bright tracer on all magazines... I hope you have a
cool video card.

 UNITS Nbr/trait on map. Just because, I'm fed up of trying to guess what unit I want to call and
who can do what. Now you have the unit number and the 3 main traits (medic, engineer, explo
spe) displayed aside the icon (of course, you need to enable this feature).

 POSITION AIM CURSOR on map. Simple, when you're in gunner view, if you open the map what
you're aiming is under a cross marker.
TOUCH OF CLASS

See video
SP/MP compatible – all mods

Well, that’s a 3den tools for finding all terrain objects/ edited objects, with specific class(es) or generic
type like house, lamps or vegetation!
Not so easy to sort all that mess. What is an "hide" object, a "building" or a "house", a "lamp" for BI
devs? As you can see on video, just drag the module on map and discover the location of these
objects.
NOTE:
As is, the module does not display a lot of things because I let a unique class of house:
“Land_Airport_Tower_F” as example, and the family class is set to none.
So, let’s play withparameters:

PARAMETERS of module:

 SEARCH FOR CLASS(ES) ON MAP (1 st param): If third parameter (show these objects) is set to none,
you start a search for the objects belonging to the written class(es).

 RADIUS OF SEARCH AREA: That’s also the radius of the module. The broader, the more laggy for
huge amount of objects. Default: 300 m, up to 3000 m

 SHOW THESE OBJECTS (3rd param): Here objects are sorted by family types: Houses, Buildings (like
churches, piers, constructions), Elec. Comms and lights, Walls & fences, Vegetation, Ruins. I gave
out following the exact BI sorting.

 REPLACE ABOVE CLASS(ES) (1st param array) ON MAP: Here you can write replacing class(es) for any
element of the 1st param array.
NOTE: The classes must exist! In theory, it’s possible to replace p3d objects by other p3d objects
but it’s a pain in the butt writing their whole paths! You can see an example in video, replacing
“Land_i_Stone_Shed_V1_F” by “Land_Airport_Tower_F”. Of course, this replacement is OK during
the game.

 SHOW GENERAL TYPE(S):


 No info on marker
 class name on marker (default)
 Display name on marker
 Model name on marker
Keep in mind that many terrain objects like vegetation, doesn’t have any class, barely some
display name but a p3d model name.
WEAR WHAT YOU WANT

No video
SP / MP compatible – all mods (not all. Some weird mods don’t have true uniforms but some skinned
units... like R3F. Nothing to do with that)

This simple module allows any player to wear civilian or enemy uniforms. I never understood why BI
devs can be so strict for that. You can kill a lot, jump into any (unlocked) vehicle, fire any enemy
weapons, but it’s strictly forbidden to wear their pants... To avoid confusion on field? What about
vehicles then?
Absurd! At least, this should be an option accessible in 3den.

PARAMETERS of module: none

WIRES AND FENCES

Video for fences & video for blown tires on wires


SP / MP compatible – all mods / DLCs (so far)

PARAMETERS of module:

 TIRE PUNCTURE: (default: FALSE) If you drive on any barbed/razor wired fence (edited or map
object), you blow tires of the car and damage APC ones. No effect on tracked wheel.

 CUT BREACH WIRES FENCES: (default: TRUE) If player has a toolkit or a trap kit, you will be able to
cut fences (edited or map object). Placing a charge on fences, hedgehogs, wires, will blow them up,
when not possible on such static objects.

NOTE:
This mod relies on a bunch of classes, not easy to find for mods. So, if you think there are some
missing classes, just tell me. I’m not loading, buying all mods and CDLCs, so the best way is your own
search for the class or the model (p3d) of the object. Thanks for your comprehension.
NUKE

See video
SP / MP compatible – all mods / DLCs

This module provides a versatile tool for scenario based on nuclear conflict. You can add a “device”
(any object like vehicles or static). In video, I chose the vanilla Device (dismantled) but feel free to
choose a truck or else, not a plane. Planes are for bombing assets, which are another way for blowing
up a nuke. You can add a defuse pad on the device and, find the code in a document. It’s up to you
configuring these features.
If you want a plane with nuke bomb, just link this plane to the module. You can link several planes but
each plane will deliver just one nuke. You can specify which type of bomb (AMMO class, not
magazine) has this potentiality. If not specified, the first released bomb will blow as nuke.
You can also link one or several devices (devices will be randomized for one nuke only). This device
will have an action for defusing via an electronic pad. You need to know the code which is randomized
by script.
So you can find this code in an intel: one or several documents, also linked to the module. All these
documents will provide the same code.
If you fail to enter the right code, or you spend too much time for defusing, a timer runs, then the
nuke explode.

The nuke has a destruction radius and a coefficient for remaining radiation (based on 1 st radius). These
radiation can last a chosen amount of time.

Radiations can hurt infantry, vehicles or both. Vehicles are impacted on electronics (sudden) and
engine (progressive). Infantry can be protected by gears. If not, players will loose health and vision, AI
will fall unconscious… to death.

Radiation can be detected by the vanilla (contact) chemical detector:


(“ChemicalDetector_01_watch_F”).
But you can add assigned items (like watch or radio) in the variable:
MGI_RAD_DETECTORS = ["ChemicalDetector_01_watch_F"];
in init.sqf for example.

The other variables you can modify (init.sqf or global script, server & clients):

 Possible DOCUMENTS with code:

MGI_CODEDOC_ARRAY =
["Item_SecretDocuments","Item_FileTopSecret","Item_SecretFiles","Item_Files","Intel_File1_F","Inte
l_File2_F","Land_Document_01_F","Land_File1_F","Land_FilePhotos_F","Land_File2_F","Land_File_re
search_F","Land_vn_file1_f","Land_vn_filephotos_f","Land_vn_file2_f","vn_b_prop_cabinet_01_01",
"vn_b_prop_cabinet_02_01","item_CSLA_Documents","EvMoscow","EvKobalt","EvPhoto","uns_clipb
oard_papers"];
 possible HEADSETS (2 catégories: helmets & facewears (masks, so goggles) as in arsenal):

MGI_PROTEC_HELMETS =
["H_HelmetO_oucamo","H_HelmetO_ocamo","H_PilotHelmetFighter_B","H_PilotHelmetFighter_O","
H_PilotHelmetFighter_I","H_PilotHelmetFighter_I_E","H_HelmetO_ViperSP_hex_F","H_HelmetO_Vip
erSP_ghex_F","rhs_zsh7a","rhs_zsh7a_alt","rhs_jetpilot_usaf","H_LIB_US_Pilot_Helmet_Respirator",
"H_LIB_US_Pilot_Helmet_RespiratorGlasses_Down","H_LIB_US_Pilot_Helmet_RespiratorGlasses_Up"
,"R3F_casque_piloteAC","AMF_ALPHA900_02","AMF_LA100","CSLA_helmetZsh5c"];

MGI_PROTEC_GOGGLES =
["G_AirPurifyingRespirator_01_F","G_AirPurifyingRespirator_02_sand_F","G_AirPurifyingRespirator_
02_olive_F","G_AirPurifyingRespirator_02_black_F","G_RegulatorMask_F","UNS_M17","gm_ge_face
wear_m65","gm_gc_army_facewear_schm41m","vn_b_acc_m17_01","vn_b_acc_m17_02","vn_b_acc
_ms22001_01","vn_o_acc_km32_01","vn_o_acc_goggles_03"];

 possible VESTS:

MGI_PROTEC_VESTS =
["V_RebreatherB","V_RebreatherIA","V_RebreatherIR","V_LIB_US_Assault_Vest_dday","vn_b_vest_s
eal_01"];

 possible UNIFORMS:

MGI_PROTEC_UNIFS =
["U_C_CBRN_Suit_01_Blue_F","U_B_CBRN_Suit_01_MTP_F","U_B_CBRN_Suit_01_Tropic_F","U_C_CB
RN_Suit_01_White_F","U_B_CBRN_Suit_01_Wdl_F","U_I_CBRN_Suit_01_AAF_F","U_I_E_CBRN_Suit_
01_EAF_F"];

PARAMETERS of module:

 NUKE POSITION IS ON MAP (if any): (default: TRUE) Only for device, of course. You can choose to
reveal by marker the position of the device when the code is found. (Feel free to add it when you
want)

 ACTIVATION STATS WHEN:


 defuse code is found
 device is found
 custom (see below) You need to select this option for enabling the next parameter.

 CUSTOM CONDITION ARMING THE BOMB


TRUE by default. Must be a boolean. You can write any condition you want by make sure your
variables are defined at mission start. They must be global (all clients + server). For example, if you
place a trigger and name it TRIG1 in editor, you can write here: triggerActivated TRIG1.
That’s a nice way for running a simple efficient condition. Trigger must NOT be server only.
Don’t forget: Once the condition is met, the bomb is armed and the timer starts.
 TIMER ON ARMED BOMB (in seconds. default: 1200 sec.)
Once the condition is met (see above), this timer starts. If you have a defusing code, you can enter
it, on the device (action in red at the bottom of the action menu), for stopping the countdown to
the explosion. If you enter a wrong code, the timer will count down a last 30 seconds (just the time
to say goodbye). So when you enter the code, if you click a touch and the figure doesn’t appear, if
you have any doubt, clear and retry. Don’t push enter until you’re sure you pushed only one time
all the touches in good order.
Keep in mind, if you want an explosion as soon as the condition is met, you must set this parameter
to zero.

 HINT LAST 3 MINUTES (default: FALSE)


You can display a hint for warning all players (the same who can defuse the bomb), that the
countdown ends in 3 minutes (or less if you planned less than 180 seconds above). This hint may
interfere with other hints in your scenario.

 SIDES WHO CAN DEFUSE (default: [WEST,EAST,INDEPENDENT,CIVILIAN], so everybody but


renegade)
Just be sure it’s a workable array of sides.

 NUKE AMMOS (for vector assets) (default: [])


Assets are planes and ammos must be bombs (bombcore as type). I considered ships and missiles
but it’s not implemented. There is not so much ships firing cruise missiles in Arma but I can
reconsider later.
So here, you can write an array with compatible ammo classes, released by your plane(s) (linked to
module). This is a good way for selecting the bomb (type) which will be a nuke one. If you don’t
know how to grab these ammos, no problem. Let it empty. The first released bomb will be the
nuke, no matter its type.
In all cases, a plane can release just one nuke. All others are standard ones. But you can have
several linked planes.

 LETHAL RADIUS (default: 250m)


Everything within this radius will be destroyed (almost because some houses don’t have ruin
models, especially in poorly implemented map like Tanoa). You could go further in hiding more
terrain objects, but it’s demanding in time, and finally, CPU resource in game.
Units are deleted (vanished in the air) but players die.

 RADIATION RADIUS FACTOR (default: 4)


This factor multiplies the lethal radius for simulating a radiation area around the explosion.
The dangerousness is inversely proportional to the cube root distance from explosion.

 DURATION OF RADIATION HAZARD (default: 600 sec.)


These radiations have a duration which also impacts on dangerousness.

 RADIATION HAZARD WILL ACT: (default: on both infantry & vehicles)


 on infantry only
Players and other units will progressively loose health if they remain unprotected. If in vehicle,
this dangerousness is 10 times less, but not null. Once health (damage) falls below 0.4, the AIs fall
unconscious then die, and the players catch a blurred vision.
 On vehicle only
There is no protection for vehicle. They are immediately impacted for electronics. Planes and
helos loose their sensors and HUDs. All vehicles progressively collect damage on engine (my bad).
 On both infantry & vehicles
Normal state. Don’t forget, hazard evolves with the distance from the explosion.

 GEAR PROTECTION COMBO (default: ask or pilot helmet & rebreather)


 mask or pilot helmet
See above. I edited an array of existing masks and helmets, supposed to protect a unit. All of
them have a wearing for the face, autonomous or linked to an apparatus. Feel free to add,
remove what you need. I can register your suggestion… That’s the minimal gear for this feature.
 Mask or pilot helmet, and rebreather
As mentioned above + a rebreather. Difficult to grab that in Arma but I edited an array with
possible classes (see above).
 Mask or pilot helmet, and rebreather, and CBRN suit
Here the goal is to find CBRN suit in Arma. I hope the edited array will comply with most of your
scenarios. I’m looking for suggestions (workable classes. Don’t forget to mention the mod/DLC)

 SKULLS & SKELETONS ON SITE (default: FALSE)


Adding a touch of post-apocalyptic scenery. Not so resource demanding, but perhaps not welcome
for some arid or maritime areas).

Have fun!
Pierre MGI
I hope you’ll like this add-on.

Your suggestions and advice will be welcomed.


Tell me if you need a lighter version and what you consider as essential in these displays.

Please feel free to contact me!

Pierre Merlenghi
https://forums.bohemia.net/profile/900806-pierremgi/
Tahiti,
French Polynesia
(no chance to play on net!)

Best regards,
Pierre MGI

You might also like