Modules
Contents
Introduction
This page can be considered a hub when it comes to modules. Here you'll find everything you need to know when it comes to creating modules, available modules in Arma 3 and existing module documentation.
General Information
- Modules are executed before initServer.sqf, initPlayerLocal.sqf and initPlayerServer.sqf (See Initialization Order)
- Modules are very easy to set up, even for unexperienced users
- They can easily be used to create mission templates
Spawning a Module by script
A module can be created using createUnit. Same as normal units, a Group must be created first.
Since 1.86 the variable BIS fnc initModules_disableAutoActivation must be set to false in its init to allow its init code to run.
Example
private _moduleGroup = createGroup sideLogic; "ModuleSmokeWhite_F" createUnit [ getPosATL player, _moduleGroup, "this setVariable ['BIS_fnc_initModules_disableAutoActivation', false, true];" ];
Creating a Module
Arma 3 introduces a module framework which aims to simplify the configuration of modules and the way their functions are executed (Globally,JIP)
1. Create a Module Addon
- Make a folder named myTag_addonName a create a config.cpp file in it.
- Inside, declare a CfgPatches class with your addon and its modules (in the units array). Without this, the game wouldn't recognize the addon.
- Make sure the addon and all objects start with your tag, e.g. myTag
Example
class CfgPatches { class myTag_addonName { units[] = {"myTag_ModuleNuke"}; requiredVersion = 1.0; requiredAddons[] = {"A3_Modules_F"}; }; };
2. Module Category
- Modules are placed into basic categories which makes finding a desired module easier. You can use on of the existing categories (See table to the right) or create your own category (See example below)
class | displayName |
---|---|
Effects | Effects |
Events | Events |
Modes | Gameplay Modes |
GroupModifiers | Group Modifiers |
Intel | Intel |
NO_CATEGORY | Misc |
Multiplayer | Multiplayer |
ObjectModifiers | Object Modifiers |
Sites | Sites |
StrategicMap | Strategic |
Supports | Supports |
Example
class CfgFactionClasses { class NO_CATEGORY; class myTag_explosions: NO_CATEGORY { displayName = "Explosions"; }; };
3. Creating the Module Config
- All in-game objects (soldiers, vehicles, buildings, logics, modules, ...) are defined in CfgVehicles class.
- All modules must inherit from Module_F parent class, either directly or through some additional sub-parent.
- Modules functions are by default not executed when in Eden Editor workspace. It can be enabled using is3DEN property, but that will also change format of function params.
Example
Show text


- Pre-defined sync preview entities can be:
Class | Descripton |
---|---|
Anything | Any object - persons, vehicles, static objects, etc. |
AnyPerson | Any person. Not vehicles or static objects. |
AnyVehicle | Any vehicle. No persons or static objects. |
GroupModifiers | Group Modifiers |
AnyStaticObject | Any static object. Not persons or vehicles. |
AnyBrain | Any AI or player. Not empty objects |
AnyAI | Any AI unit. Not players or empty objects |
AnyPlayer | Any player. Not AI units or empty objects |
EmptyDetector | Any trigger |
4. Configuring the Module Function
- Place class CfgFunctions to config.cpp. See Functions Library (Arma 3) for more info about functions configuration.
Example
Show text
5. Writing the Module Function
- Create the functions folder within the addon folder and place *.sqf or *.fsm files there.
- Example: \myTag_addonName\functions\fn_moduleNuke.sqf
- Input parameters differ based on value of is3DEN property.
Default Example (is3DEN = 0)
Show text
Example Eden Editor (is3DEN = 1)
Show text
Module Properties
Property Name | Description |
---|---|
Name | The name of a module can be used to refer to the object in script code. Like all variable names, the name must not contain any spaces or reserved characters. You should try to make it something meaningful and avoid conflicts. Note that if a variable exists with an identical name, no warning will be given and the name will refer to the variable first, rather than the named unit. If you copy and paste a named entity, the duplicate will be automatically have an underscore and number appended to it's name to avoid conflicts. |
Initialization | Any script code placed in this box will be executed as the mission begins. Script code is extremely powerful and useful - it allows you to create many effects and change aspects of the mission that would not be possible using only the graphical interface of the mission editor. For example, to make a soldier begin the mission unarmed, add "removeAllWeapons this" (without the quotation marks) to it's initialization string. Any expressions in the initialization field must return nothing, or an error message will prevent the unit dialogue from closing. |
Description | The description property is not used by modules. However, it's used by some functions and it changes the tooltip in Eden Editor when hovering over the module icon. |
Probability of Presence | Defines how likely it is that the entity will exist each time the mission is played. This can be used to add a bit of randomness to missions. Moving the slider all the way to the right means the object will always be there, all the way to the left means the unit will never appear. Note the Condition of Presence must also return true if the entity is to appear in the mission. |
Condition of Presence | This is a script code condition which must return true in order for the object to appear in the mission. By default this reads "true" which means the object will appear as defined by it's Probability of Presence. For an example, if you wanted a unit to appear only if the mission is being played in Veteran mode, place "!cadetMode" (without quotation marks) in it's Condition of Presence box. A unit with a Condition of Presence that returns false will not exist in the mission, irrespective of its Probability of Presence. |
Placement Radius | Changes the object's starting position to a random point within a circle of this radius, in metres. This can be used to add some randomness to your mission. For grouped units, the placement radius is only used by the group leader, and group members with a special setting of None (or In Cargo for a group without suitable vehicle). |
Arma 3 Modules (List)
Export Function
Show text
Module Documentation
Here you find links to modules which are documented on this wiki.
Arma 2
Arma 3
Last updated: 1.97
Module Name | Category | Addon | Function | Description |
---|---|---|---|---|
Hide Terrain Objects | Environment | Arma 3 | BIS fnc moduleHideTerrainObjects | |
Edit Terrain Object | Environment | Arma 3 | BIS fnc moduleEditTerrainObject | |
Timeline | Keyframe Animation | Arma 3 | ||
Rich Curve | Keyframe Animation | Arma 3 | ||
Rich Curve Key | Keyframe Animation | Arma 3 | ||
Rich Curve Key Control Point | Keyframe Animation | Arma 3 | ||
Camera | Keyframe Animation | Arma 3 | ||
Smoke Grenade | Effects | Arma 3 | BIS fnc moduleGrenade | Create a smoke shell. |
Chem light | Effects | Arma 3 | BIS fnc moduleGrenade | Create a chem light. |
Tracers | Effects | Arma 3 | BIS fnc moduleTracers | Shoot tracers upwards to create an illusion of battle. |
Plankton | Effects | Arma 3 | BIS fnc moduleEffectsEmitterCreator | Plankton module creates an underwater plankton effect around player. |
Bubbles | Effects | Arma 3 | BIS fnc moduleEffectsEmitterCreator | Creates underwater bubbles on position of the module. Unless you set the position of the module manually (via script commands), bubbles will be created at the bottom. |
Cartridges | Effects | Arma 3 | BIS fnc moduleEffectsEmitterCreator | Creates empty cartridges on the position of the module. |
Smoke | Effects | Arma 3 | BIS fnc moduleEffectsEmitterCreator | Creates smoke on a position of the module. |
Fire | Effects | Arma 3 | BIS fnc moduleEffectsEmitterCreator | Creates fire on a position of the module. |
Date | Events | Arma 3 | BIS fnc moduleDate | Set mission date. |
Weather | Environment | Arma 3 | BIS fnc moduleWeather | Set mission weather. Certain changes can take some time to appear. |
Save Game | Events | Arma 3 | BIS fnc moduleSaveGame | Set the mission progress. Will replace the previous automatic save. User save won't be affected. |
Radio Chat | Events | Arma 3 | BIS fnc moduleChat | Show a chat message. |
Volume | Events | Arma 3 | BIS fnc moduleVolume | Set mission sound/music volume. Changes won't affect user options. |
Generic radio message | Events | Arma 3 | BIS fnc moduleGenericRadio | Show a chat message. |
Set Callsign | Group Modifiers | Arma 3 | BIS fnc moduleGroupID | Assign group callsign. Each group has to have a unique callsign - assigning an existing one will remove it from the group which used it previously. |
Combat Get In | Group Modifiers | Arma 3 | BIS fnc moduleCombatGetIn | |
High Command - Commander | Others | Arma 3 | Set person as a high commander, giving him an ability to control whole groups. | |
Skip time | Environment | Arma 3 | BIS fnc moduleSkiptime | Skip mission time. |
Create Task | Intel | Arma 3 | BIS fnc ModuleTaskCreate | Add a task to synced objects or to larger pool of units. |
Set Task Description | Intel | Arma 3 | BIS fnc ModuleTaskSetDescription | Set task description. |
Set Task Destination | Intel | Arma 3 | BIS fnc ModuleTaskSetDestination | Set task destination. |
Set Task State | Intel | Arma 3 | BIS fnc ModuleTaskSetState | Set task state. |
Create Diary Record | Intel | Arma 3 | BIS fnc moduleCreateDiaryRecord | Create a diary record for synced objects or for larger a pool of units. |
Headquarters Entity | Intel | Arma 3 | BIS fnc moduleHQ | Virtual headquarters unit which can be used for playing radio messages. |
Military Symbols | Others | Arma 3 | ||
Zone Restriction | Others | Arma 3 | BIS fnc moduleZoneRestriction | Set punishment for leaving the Area of Operation. |
Trident | Others | Arma 3 | BIS fnc moduleTrident | Set diplomacy options. When involved sides start killing each other, they won't be punished by a negative rating. Once too many kills are reached, the sides will turn hostile. |
Unlock Object | Others | Arma 3 | BIS fnc moduleUnlockObject | Unlock addons of synced objects for the curator. E.g., when synced to a BLUFOR soldier, all BLUFOR soldiers will be unlocked, because they belong to the same addon. |
Unlock Area | Others | Arma 3 | BIS fnc moduleUnlockArea | Unlock area for curator unit spawning. |
Friendly Fire | Others | Arma 3 | BIS fnc moduleFriendlyFire | Set punishment for killing friendly units. |
Sector | Multiplayer | Arma 3 | BIS fnc moduleSector | |
Respawn Position | Multiplayer | Arma 3 | BIS fnc moduleRespawnPosition | Add a respawn position. |
Vehicle Respawn | Multiplayer | Arma 3 | BIS fnc moduleRespawnVehicle | Set vehicle respawn parameters. |
Show / Hide | Object Modifiers | Arma 3 | BIS fnc moduleShowHide | Show/hide synced objects. They will become invisible and their simulation will be disabled. |
Set Position / Rotation | Object Modifiers | Arma 3 | BIS fnc modulePositioning | Set position and rotation of synced objects. |
Set Skill | Object Modifiers | Arma 3 | BIS fnc moduleSkill | Set AI skill of synced objects. Has no effect on players. |
Set Character Damage | Object Modifiers | Arma 3 | BIS fnc moduleHealth | Set damage of synced persons. |
Set Vehicle Damage | Object Modifiers | Arma 3 | BIS fnc moduleDamage | Set damage of synced vehicles. |
Set Vehicle Fuel | Object Modifiers | Arma 3 | BIS fnc moduleFuel | Set fuel of synced vehicles. |
Set Ammo | Object Modifiers | Arma 3 | BIS fnc moduleAmmo | Set total ammo of synced objects. Affects only ammo of their weapons, not ammo carried in cargo space (e.g., ammo boxes). |
Set Mode | Object Modifiers | Arma 3 | BIS fnc moduleMode | Set behavior pattern of synced objects. |
Set Rank | Object Modifiers | Arma 3 | BIS fnc moduleRank | Set military rank of synced objects. |
Set AI Mode | Object Modifiers | Arma 3 | BIS fnc moduleAI | Enable/disable AI modes. |
Add Rating / Score | Object Modifiers | Arma 3 | BIS fnc moduleRating | Add rating to synced objects. Rating is automatically awarded for killed enemies and players can see it in the debriefing screen. Shooting friendlies will lead to a negative rating and turning hostile to your own units. |
Open / Close Doors | Object Modifiers | Arma 3 | BIS fnc moduleDoorOpen | Open/close door of synced objects. |
Simulation Manager | Object Modifiers | Arma 3 | BIS fnc moduleSimulationManager | Keep all AI units disabled until someone from the player's group gets near. |
Open Strategic Map | Strategic | Arma 3 | BIS fnc moduleStrategicMapOpen | Open a strategic map. |
Support Requester | Supports | Arma 3 | BIS fnc moduleSupportsInitRequester | Supports framework. A support requester unit has to be synchronized with the Requester module. The Requester module has to be synchronized with Provider module(s). A Provider module has to be synchronized with a support provider unit(s), unless a Virtual Provider module is used. |
Posters | Others | Arma 3 | BIS fnc modulePoster | Creates posters and leafets on walls of buildings. Those buildings are made indestructible. |
Animals | Others | Arma 3 Zeus | BIS fnc moduleAnimals | Creates a group of animals and handles their basic behavior. Deleting the module will delete the animals as well. |
Close Air Support (CAS) | Effects | Arma 3 Zeus | BIS fnc moduleCAS | Send an air strike on the module position. It will take a few seconds before the plane arrives at the module’s position. Unless it's destroyed, it will be deleted after flying away. |
Game Master | Zeus | Arma 3 Zeus | BIS fnc moduleCurator | Zeus logic which provides access to the 3D real-time editor. |
Manage Addons | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddAddons | Manage addons (i.e. object packs) available to Zeus. |
Manage Resources | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddPoints | Add or subtract resources available to Zeus. They are required for placing or editing objects. |
Add Editing Area | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddEditingArea | Add an area inside of which Zeus is allowed to place or edit objects. |
Restrict Editing Around Players | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddEditingAreaPlayers | |
Set Editing Area Type | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetEditingAreaType | Set whether editing in all editing areas is allowed or restricted. |
Add Camera Area | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddCameraArea | Add an area inside of which Zeus can move with the camera. |
Set Camera Position | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetCamera | Move the Zeus camera to the module position. |
Add Editable Objects | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddEditableObjects | Add objects which Zeus can edit. |
Set Editing Costs | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetCoefs | Set coefficients for operations Zeus can perform. The object cost is multiplied by these. Use a large negative value (e.g. -1e10) to disable the operation. |
Set Costs (Default) | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetCostsDefault | |
Set Costs (Side) | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetCostsSide | Simplified definition of object costs. Can be combined with other "Set Costs" modules (e.g., cost of a BLUFOR soldier can be defined by "Set Costs - Sides" and "Set Costs - Soldiers & Vehicles" module. All matching values are multiplied together). |
Set Costs - Soldiers & Vehicles | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetCostsVehicleClass | Simplified definition of object costs. Can be combined with other "Set Costs" modules (e.g., cost of a BLUFOR soldier can be defined by "Set Costs - Sides" and "Set Costs - Soldiers & Vehicles" module. All matching values are multiplied together). |
Add Icon | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorAddIcon | Show icon visible only to a specific Zeus. |
Set Attributes - Objects | Zeus | Arma 3 Zeus | BIS fnc moduleCuratorSetAttributes | Set which attributes are available for objects. The attribute window is accessed when Zeus double-clicks LMB on an object. |
Post-Process | Environment | Arma 3 Zeus | BIS fnc modulePostprocess | Set a scene Post-Processing effect (e.g. color correction or film grain) |
IR Grenade | Effects | Arma 3 Zeus | BIS fnc moduleGrenade | |
Time Acceleration | Environment | Arma 3 Zeus | BIS fnc moduleTimeMultiplier | |
Flare | Effects | Arma 3 Zeus | BIS fnc moduleProjectile | Creates a signal flare on the module position (visible only at night). |
End Scenario | Scenario Flow | Arma 3 Zeus | BIS fnc moduleEndMission | End the scenario for all players. |
Scenario Name | Scenario Flow | Arma 3 Zeus | BIS fnc moduleMissionName | Set the scenario name. It's shown to every player upon joining and after each respawn. |
Zeus Lightning Bolt | Zeus | Arma 3 Zeus | BIS fnc moduleLightning | Creates a lightning strike powerful enough to destroy an object where it impacts. |
Cover Map | Others | Arma 3 Zeus | BIS fnc moduleCoverMap | Highlight an Area of Operations in the map by enclosing it and covering the unused part. |
Create Radio Channel | Others | Arma 3 Zeus | BIS fnc moduleRadioChannelCreate | Creates a custom radio channel for the given sides / Zeus players. |
Zone Protection | Scenario Flow | Arma 3 Zeus | BIS fnc moduleZoneProtection | Prevents players from entering the given area. |
Countdown | Scenario Flow | Arma 3 Zeus | BIS fnc moduleCountdown | |
Respawn Tickets | Scenario Flow | Arma 3 Zeus | BIS fnc moduleRespawnTickets | Set the number of respawn tickets available to each side. |
Bleed Tickets | Scenario Flow | Arma 3 Zeus | BIS fnc moduleBleedTickets | Allow ticket bleeding when one side is holding the majority of sectors. |
Ordnance | Effects | Arma 3 Zeus | BIS fnc moduleProjectile | Create an artillery shell on the module position. It will take a few seconds until it hits the ground. |
List Buildings | Interiors Development (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod listBuildings | |
Garrison Building | Interiors (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod garrisonBuilding | |
Object Fill | Interiors (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod objectFill | |
Object Switch | Interiors (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod objectSwitch | |
Interior Fill | Interiors (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod interiorFill | |
Mark Positions | Interiors Development (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod findBPos | |
Save Building Scheme | Interiors Development (ZEI) | [ZEI] Zeus and Eden Interiors | BIS fnc mod getBuildingScheme | |
Spawn AI | Others | Arma 3 Helicopters | BIS fnc moduleSpawnAI | |
Spawn AI: Spawnpoint | Others | Arma 3 Helicopters | BIS fnc moduleSpawnAIPoint | |
Spawn AI: Sector Tactic | Others | Arma 3 Helicopters | BIS fnc moduleSpawnAISectorTactic | |
Spawn AI: Options | Others | Arma 3 Helicopters | BIS fnc moduleSpawnAIOptions | |
Sling Load | Others | Arma 3 Helicopters | BIS fnc moduleSlingload | |
EndGame Objectives Instance | Objectives | Arma 3 Marksmen | BIS fnc moduleHvtObjectives | |
End Game Simple Objective | Objectives | Arma 3 Marksmen | BIS fnc moduleHvtObjectives | |
End Game Start Game Objective | Objectives | Arma 3 Marksmen | BIS fnc moduleHvtObjectives | |
End Game - End Game Objective | Objectives | Arma 3 Marksmen | BIS fnc moduleHvtObjectives | |
Combat Patrol Init | Combat Patrol | Arma 3 Malden | BIS fnc CPInit | Initializes the Combat Patrol mode upon scenario start. |
Combat Patrol Location Add | Combat Patrol | Arma 3 Malden | Adds a new selectable location to the map. | |
Combat Patrol Location Remove | Combat Patrol | Arma 3 Malden | Removes the nearest location in a 1000m radius from the map selection. | |
Combat Patrol Location Reposition | Combat Patrol | Arma 3 Malden | Moves the nearest location in a 1000m radius to this module's position. | |
Combat Patrol Azimuth Blacklist | Combat Patrol | Arma 3 Malden | Blacklists the nearest location's in a 1000m radius azimuth range so it can't be used for the starting / ending position or reinforcements spawning point. | |
Civilian Presence | Ambient | Arma 3 Tac-Ops | BIS fnc moduleCivilianPresence | |
Civilian Presence Spawnpoint | Ambient | Arma 3 Tac-Ops | BIS fnc moduleCivilianPresenceUnit | |
Civilian Presence Position | Ambient | Arma 3 Tac-Ops | BIS fnc moduleCivilianPresenceSafeSpot | |
Vanguard: Starting Area | Gameplay Modes | Arma 3 Tanks | BIS fnc moduleVanguardFob | |
Vanguard: Score Persistence | Gameplay Modes | Arma 3 Tanks | BIS fnc moduleVanguardScorePersistence | |
Vanguard: Objective Area | Gameplay Modes | Arma 3 Tanks | BIS fnc moduleVanguardObjective |
Total number of modules: 132