Arma 3 Scripting

Topics

675 pages: data types, locality and multiplayer, event handlers, mission editing, configs, GUI, tools and more.

Change Logs

Configuration

  • AI BehaviourA group's behaviour determines how its units move from one point to another, behave when idle, and how they engage an enemy. This setting can…
  • AI Group Vehicle ManagementReal Virtuality games' AI groups all work the same way with vehicles. Aside from game-specific commands, this page applies from Operation Flashpoint…
  • AI MoraleIn addition to behaviour and combat modes, there are other factors they may affect the overall activity of AI.
  • Ambient ParametersSee also getAllEnvSoundControllers, SoundControllers.
  • Arma 3: AI SkillThe AI is characterized by a set of sub-skills. The final AI skill is unfluenced by several factors. Additionally each sub-skill is then interpolated…
  • Arma 3: AICarSteeringComponentuseAISteeringComponent true/false
  • Arma 3: CfgDisabledCommandsThe CfgDisabledCommands is a Description.ext class which allows to disable selected scripting commands in a mission.
  • Arma 3: CfgGlassesGenerated in Arma 3 v2.17 by R3vo (talk) 14:35, 10 August 2024 (CEST)
  • Arma 3: CfgGroupsconfig: West
  • Arma 3: CfgIdentitiesAn identity declaration is done with setIdentity command, and its declaration looks like this:
  • Arma 3: CfgMagazinesGenerated in Arma 3 v2.17 by R3vo (talk) 13:39, 10 August 2024 (CEST)
  • Arma 3: CfgPatches CfgVehiclesGenerated in Arma 3 v2.17 by R3vo (talk) 16:13, 10 August 2024 (CEST)
  • Arma 3: CfgPatches CfgWeaponsGenerated in Arma 3 v2.17 by R3vo (talk) 16:30, 10 August 2024 (CEST)
  • Arma 3: CfgRecoilsCamera shakes are derived from the overall magnitude of each recoil impulse forces.
  • Arma 3: CfgRemoteExecCfgRemoteExec defines rules for the remote execution of functions and commands. These rules only apply to clients. The server is not subject to any…
  • Arma 3: CfgRemoteExecCommands
  • Arma 3: CfgRemoteExecFunctions
  • Arma 3: CfgVehicles Plane class config referenceAll config values related to Plane class configuration can be found here.
  • Arma 3: CfgWeapons EquipmentGenerated in Arma 3 v2.17 by R3vo (talk) 19:36, 9 August 2024 (CEST)
  • Arma 3: CfgWeapons ItemsGenerated in Arma 3 v2.17 by R3vo (talk) 19:17, 9 August 2024 (CEST)
  • Arma 3: CfgWeapons Vehicle WeaponsGenerated in Arma 3 v2.17 by R3vo (talk) 17:47, 9 August 2024 (CEST)
  • Arma 3: Damage DescriptionAn ongoing investigation on how damage and armor actually work in Arma 3. This page was initially based on Olds (talk) research during the creation…
  • Arma 3: Damage EnhancementArma 3 Tanks brought with it an overhaul, or rather enhancement of the vehicle damage model as part of the free platform upgrade.
  • Arma 3: Dynamic Airport ConfigurationJets DLC introduced a new feature which is creating landing strips dynamically, instead of them being hardcoded in the terrain config.
  • Arma 3: Jets Hitpoint ConfigurationOne of the features for the Jets DLC being created was overhaul of our own planes being released, including new hitpoints. Previous state was quite…
  • Arma 3: Magazine ProxiesMagazine Proxies, as name suggest, is a technology that allows moving weapon magazines to separate proxy & swap it dynamically by just swapping a…
  • Arma 3: Missile flight profilesSince Arma 1.82 it is possible for precision guided munitions to utilize different flight profiles or acquire targets after being launched.
  • Arma 3: Multi-Function Display (MFD) config referenceMulti-Function Display (MFD) is implementation of HUD (Head-Up Displays) in Arma 3. Display can be fixed on helmet (move with player head) or cockpit…
  • Arma 3: Named PropertiesNamed Properties can be set in Object Builder. If you don't see this, you must first active the Named Properties window under -> Window -> Named…
  • Arma 3: Particle EffectsThere are two ways how to define particle effect in Arma 3 - script and config. Pros and cons of config-defined effects:
  • Arma 3: Particle Effects: Config ParametersThe list of config parameters used for calling of particle effects. For more information, see Arma 3: Particle Effects.
  • Arma 3: Replacement Config TutorialThis is a guide how to create an addon to replace the look of a given weapon/unit/vehicle with a different model from another community made addon.
  • Arma 3: RscDisplayLocWeaponInfoA debug config dialog to explore all weapon and magazine classes and check if their localized name is too long.
  • Arma 3: Scope 3DThis page will show you how to make a 3D scope, step by step.
  • Arma 3: Sensors Config ReferenceVehicle and ammo sensors for target detection and tracking.
  • Arma 3: SoundArma 3's sound system became much more complex with the release of the Eden Update.
  • Arma 3: Sound: cfgSound3DProcessorsIn the old audio engine any stereo file that was supposed to be positional in the 3D world (gunshots for example) was downmixed to mono.
  • Arma 3: Sound: cfgSoundCurvesInstead of having to define many points every time you need to define a curve (for example for the rangeCurve in a SoundShader) you can use the class…
  • Arma 3: Sound: cfgSoundSetsA SoundSet usually combines multiple SoundShaders and decides how they are presented in the world. Let's look at an example SoundSet:
  • Arma 3: Sound: cfgSoundShadersThe SoundShader within the class cfgSoundShaders is the most basic sound entity in the Arma 3 sound engine. Let's look at an example and the…
  • Arma 3: Sound: ExampleWeaponConfigCfgPatches is the class that that gives your addon it is identity. More info in the CfgPatches page.
  • Arma 3: Sound: FiltersEvery sound in the game is attenuated by a frequency Low Pass Filter, the frequency cutoff changes with distance.
  • Arma 3: Sound: Global Sound ParametersDefinition of default sound properties, which are applied on every sound if not overridden by custom definition within SoundSet.
  • Arma 3: Sound: Processing TypesSound Processing Type in Arma 3 audio engine is method of distribution of source wave file channels to output channels.
  • Arma 3: Sound: Sound CurvesSound curve is a simple set of points on 2D graph, which define the relationship between two variables (usually distance and volume).
  • Arma 3: Sound: SoundControllersSound controllers deliver data from the engine in real time which makes them perfect to control volumes and frequencies of sounds. If you want to…
  • Arma 3: Sound: SoundSetSoundSet is second level of sound configuration. It contains array of SoundShaders to be mixed and parameters for advanced features and options.
  • Arma 3: Sound: SoundShaderSoundShader is the lowest level of sound configuration. It contains the definition of sound files and basic set of parameters.
  • Arma 3: SuppressionThere is an Event Handler for suppression events: Arma 3: Event Handlers - Suppressed.
  • Arma 3: Tanks Config GuidelinesArma 3: Cars Config Guidelines
  • Arma 3: Vehicle CustomisationThe Vehicle Customisation (VhC) is the system responsible for the customisation of vehicles, either, defined or randomised. It consists of a set of…
  • Arma 3: Vehicle Hitpoint CreationThis article gives basic suggestions for building vehicle fire geometry and hit points. It assumes you are already familiar with making vehicle…
  • Arma 3: Vehicle in Vehicle TransportVehicle in Vehicle Transport functionality was added in Arma 3 Apex expansion. For proper function it needs suitable transport vehicle with cargo…
  • Arma 3: Vehicle LoadoutsIn-game customisation of vehicle's external armament.
  • Arma 3: Vehicle Weapon SwitchingAs part of Arma 3 release 1.54, four actions were added offering the ability to switch between vehicle weapons based on categorization, which avoided…
  • Arma: All-in-one ConfigContains the game configs as they exist in memory when the game is running. Useful during development, lookup of values etc.
  • CfgMissionsCfgMissions contains list of all playable content available for players in ingame menus. It is core of missions exported in Addon Format.
  • CfgPatchesCfgPatches is a header class of an addon. Placed in Config.cpp, it contains information about requirements, content and meta data describing the…
  • Class InheritanceInheriting classes within the config is a concept that can easily go wrong. The purpose of this document is to clarify the cause of some common…
  • Combat ModesCombat modes reflect the group leader's ordered Rules of Engagement (ROE), and are respected by AI and visible to players. They can be modified by:
  • Documentation SourcesAs you've probably noticed, there is no comprehensive resource for Arma 3 modding.
  • Helicopter Flight Model Config (XML)RotorLib FDM is RTDynamics' rotary wing aircraft flight dynamics model solution. It includes aerodynamic models, ground contact model, flight…
  • ParticleTemplatesListed on this page are several basic particle effects, that can be used as they are, or as templates for further customization.
  • Turret Config ReferenceOperation Flashpoint used an optional turret class for some, few, models.
  • UserActionsDefines an action to be associated with the current object class. Commonly used for operating doors on vehicles.
  • userconfigSome quick notes from what I learned while trying to use it for a mission. (a.k.a. What I wish somebody had written already) --MaHuJa

Data Types

  • AnythingA variable of type Anything may be of any data types or Nothing.
  • ArrayAn Array is a list of items of varying variable types (including other arrays). Different types can coexist within the same array.
  • BooleanA Boolean can either be true or false. Note that Booleans are real types in the scripting language.
  • CodeCode represents data consisting of commands and their parameters. It is defined in script by being wrapped in {/} brackets, and is precompiled by the…
  • ConfigConfig file entry.
  • ControlControl UI object.
  • Diary RecordA Diary Record is created by createDiaryRecord - introduced in Arma 2.
  • DisplayDisplay is a UI object that holds Dialogs and Controls. Similar to how controls are identified by IDCs, displays and dialogs are identified by IDDs.
  • Editor ObjectEditor objects are used in Offline Mission Editor (VBS2) and Real Time Editor for an abstract representation of what is on the map.
  • For TypeThis type handles 'For' cycles.
  • GroupA group is its own data type in the scripting language. All units belong to a group. If units are linked together in the editor, they are all part of…
  • HashMapA HashMap is a specialized data structure that contains key-value pairs. HashMaps provide (near) constant-time lookup for keys, making them highly…
  • HashMapKeyHashMapKey is a virtual compound type containing all the possible types that can be used as keys in a HashMap.
  • If TypeHelper type used in if...then construct.
  • LocationA location is an extended type of marker. For example city names displayed on the map are locations; their information can be accessed and modified…
  • NamespaceArma 2 v1.00
  • NaNA dummy data type to trigger errors.
  • NothingAn expression of type Nothing is no value. It cannot be assigned to a variable. It exists because each expression needs to return some value and…
  • NumberA number is, depending on scope, either a single precision floating-point number (when talking about scripting) or a range of numerical types when…
  • ObjectObject refers to a building block within a scenario. In general when using this term the author refers to the representation of an object (soldier,…
  • Script HandleA Script Handle, used to identify scripts in script operations called using spawn or execVM. Introduced with ArmA: Armed Assault, does not refer to…
  • SideSee Also
  • StringA string is a variable type that contains text. Possible length and characters depend on the game and its version.
  • Structured TextStructured Text is a Data Type that has been introduced with Armed Assault. It is a rich text, which is able to include images and formatting. It can…
  • Switch TypeA helper type used in switch constructs.
  • TaskPossible values
  • TeamIntroduced with Arma 2.
  • Team MemberIntroduced with Arma 2.
  • VoidA variable of type Void is an undefined variable.
  • While TypeHelper type used in while...do construct.
  • With TypeA helper type created by the operator with and used in do constructs.

Event Handlers

Game and Troubleshooting

  • Arma 3: Alternate Reality Game 2013Welcome to the Community ARG 2013 intiated by SahraniRadio and Jerry Hopper.
  • Arma 3: CheatsCheats offer various different functionalities which are not meant to be easily accessible. Use cheats with care! To enter a cheat press: ⇧ Shift +…
  • Arma 3: Difficulty SettingsThe Arma 3 v1.58 update brought a lot of changes to the difficulty system. A list of the most significant ones can be found at the bottom of the…
  • Arma 3: DLC Content LicensingThere are various places in vanilla Arma 3 where DLC and premium content can and will be promoted (to non-owners especially).
  • Arma 3: DLC RestrictionsMost Arma 3 DLCs & Expansions come with restrictions regarding the usage of their premium assets (e.g. vehicles and weapons). This technology is…
  • Arma 3: Easter EggsThe "Land_Laptop_02_unfolded_F" Old Laptop has an action to "Get Back to Main Menu" when the mission date is set to 2001-06-22 (Operation Flashpoint…
  • Arma 3: Enable Steam Workshop support in Server BrowserArma 3: Launcher Server Browser can pair server mods with Steam Workshop items, activate required mods before joining the server and/or subscribe and…
  • Arma 3: Experimental PortsPlease visit this overview page to learn more about our experimental client ports to Mac and options for Linux, including the limitations and F.A.Q.
  • Arma 3: Getting StartedBuying Arma 3Starting with the gamePlaying in Single PlayerPlaying in MultiplayerFinding players
  • Arma 3: InvadersInvaders is a minigame in the Arma 3 main menu. By default, it is only available during Arma 3 Steam sales. Completing the minigame unlocks the Arma…
  • Arma 3: Launcher - Advanced ParametersThis page is summary of advanced parameters available in Arma 3 Launcher. Majority of these parameters is based on Arma 3 startup parameters.
  • Arma 3: Loading ScreensArma 3 loading screens composes of two main sections:
  • Arma 3: Main MenuArma 3 Apex introduces a new main menu defined in the RscDisplayMain ressource.
  • Arma 3: Main UpdatesThis page gives an overview of past stable releases and their main features. This list is not supposed to give a complete overview but rather serve…
  • Arma 3: Performance OptimisationArma 3 performance has always been a great interrogation topic. This page brings light on some aspects of the Video Settings.
  • Arma 3: Performance Profiling
  • Arma 3: Play on LinuxThis article covers the basic setup and troubleshooting of Arma 3 on Proton. Using Proton, it is possible to run the latest version of Arma 3 on a…
  • Arma 3: Play on MacThis article covers the basic setup and troubleshooting of Arma 3 on Mac.
  • Arma 3: Points of Interest"Atlantis" can be found at 150068 (source)
  • Arma 3: SoundtrackOwners of Digital Deluxe, Extended and Supporter Edition of the game have all tracks accessible as MP3 files in the Bonus folder (by default…
  • Arma 3: Steam BranchesArma 3 is distributed as several branches on Steam.
  • Arma 3: Steam Game RecordingArma 3 supports the Steam Timeline feature as part of Steam Game Recording.
  • Arma 3: Unusual Process ExitAn “Unusual process exit” message is displayed by Arma 3: Launcher whenever it detects that the game was not closed correctly.
  • Arma 3: Zeus Hints & TipsGuide for Arma 3 Zeus, courtesy of Lankercool from the Arma 3 Discord.
  • Crash FilesTo better analyze the reason for malfunctions it might be useful to also create a DirectX diagnostic file.
  • Objects.savThe Objects.sav file is the save/load location of the following commands:
  • OneDrive FixMicrosoft's OneDrive can lead to issues accessing player profiles in BI games.
  • ProfileAll Real Virtuality games allow you to create multiple profiles. Personal settings like video configuration, campaign progress or controls assigments…
  • SteamSteam is a video game distribution platform that hosts, sometimes exclusively, Bohemia Interactive games such as Arma 3, Take On Helicopters and Arma…
  • TrackIRTrackIR is a virtual reality personal computer control device developed by NaturalPoint.

General

  • Arma 3: Adding Custom FontsThis tutorial explains how to get a font into Arma 3.
  • Arma 3: Advanced Helicopter Flight ModelThis document relates to Helicopter_Flight_Model_Config_(XML)
  • Arma 3: Aircraft SystemsArma 3 Jets DLC comes with a varity of new functionalities such as:
  • Arma 3: Alien Entity BehaviorSpoiler Warning
  • Arma 3: Animals: Ambient SystemAnimals can be placed in Arma 3 either directly by the mission designer (scripting command createAgent, animal sites in modules) or created by the…
  • Arma 3: Animals: Override Default Animal Behaviour Via ScriptAnimals in Arma 3 roam freely according to their FSM; they autonomously walk, stop, eat, flee etc.
  • Arma 3: AnimationsThere are three ways to create animations:
  • Arma 3: ArsenalArsenal is, essentially, a character, equipment and weapon viewer which has been added to Arma 3 in the Bootcamp update.
  • Arma 3: CBRNThere are no engine nor scripted features to simulate Chemical Biological Radiological Nuclear (CBRN) threats, contamination, or decontamination in…
  • Arma 3: Communication MenuCommunication menu is a commanding menu where support or mission requests are placed.
  • Arma 3: CountermeasuresCountermeasures, detection of locking, tracking and missiles in flight.
  • Arma 3: Custom InfoUI window elements that encompass various display modules and gadgets (Navigation, Camera feeds, Radar...)
  • Arma 3: Dynamic GroupsTo add the Dynamic Groups functionality to your mission do the following steps:
  • Arma 3: Dynamic SimulationDynamic Simulation is a feature that extends the possibilities to define and control object simulation.
  • Arma 3: End Game Spectator ModeThe Nexus Update has introduced a new spectator mode which should improve the way players can observe a match.
  • Arma 3: Enhanced Multiplayer MenuEnhanced Multiplayer Menu (or EMM) is an alternative in-game server browser for Arma 3.
  • Arma 3: Environment Metricse.g an opening below a fence, space under a vehicle, etc.
  • Arma 3: Firing DrillsThis guide will describe how to design and implement a custom Firing Drill Challenge as available in the vanilla game.
  • Arma 3: Improved FogMain improvements are:
  • Arma 3: Infantry MetricsFor making structures and also maps that work well in-game it ss important to know what metrics infantry units have.
  • Arma 3: Key Frame AnimationKey Frame Animation is an animation system introduced in Arma 3 v1.78 with real time preview with 3DEN integration. A Key Frame is a location on a…
  • Arma 3: LeafletsPropaganda leaflets are a new feature introduced in Arma 3 Laws of War DLC (Arma 3 v1.76)
  • Arma 3: Modded KeybindingAs of Arma 3 v2.06, mods are able to define keys that can be bound by the user in the keybindings.
  • Arma 3: MP Mission NamesFormat is PBO file name (for server config mission whitelisting) followed by the in-game name.
  • Arma 3: Multiplayer Campaign CreationA multiplayer campaign is a series of interconnected missions that follow a sequential order, creating a storyline that groups of players can enjoy…
  • Arma 3: NameSound SetupOne can assign magazines, weapons or vehicles (units, vehicles, objects, etc) with nameSound a reference to the radio protocol.
  • Arma 3: NotificationArma 3 allows to show mission or system notification using BIS_fnc_showNotification function:
  • Arma 3: Old Man SystemsEach scenario using any Old Man systems needs to contain this minimal setup:
  • Arma 3: Parallax MapThis page describes changes in parallax technology that are going to go into main branch of Arma 3 with Eden update (estimated Q1 2016), originally…
  • Arma 3: Probing MechanicsSpoiler Warning
  • Arma 3: Radio ProtocolOverview of the radio protocol technology.
  • Arma 3: RespawnScripting Commands
  • Arma 3: ReviveRevive is a multiplayer system built to enhance teamwork during infantry gameplay. Its main highlights are:
  • Arma 3: RopesSee Ropes and Sling Loading command group.
  • Arma 3: SensorsVehicle and ammo sensors for target detection and tracking.
  • Arma 3: Shooting TargetsArma 3 comes with a variety of shooting targets. Most of these targets come with a somewhat hidden functionality which is explained on this page.
  • Arma 3: Simple ObjectsSimple Objects is feature that allows creation of objects with very limited simulation, low performance impact and network traffic.
  • Arma 3: Soldier ProtectionThis new system allows the definition of the protection level of various hit-points (head, face, neck) in a given piece of equipment (I.e. Headgear,…
  • Arma 3: Sound: SoundShapesSoundShapes allow sounds to have different volumes depending on whether the listener is inside or outside a soundShape with a transition inbetween.
  • Arma 3: Spectrum DeviceThe Spectrum Device is a tool / feature introduced in Arma 3 Contact. It's fully integrated only in the optionally loaded expansion data, relying on…
  • Arma 3: StaminaStamina is the new exhaustion mechanics that replaced the old Fatigue system as of Arma 3 Nexus update (1.54).
  • Arma 3: TargetingTargeting systems and aids in Arma 3:
  • Arma 3: Task FrameworkTask framework is a complex scripted system for handling tasks in both singleplayer and multiplayer environment.
  • Arma 3: Time TrialsThis guide describes how to design and implement a custom Time Trial Challenge (similar to those available in the vanilla game).
  • Arma 3: Unit InsigniaUnit insignia is a custom texture which can be mapped to a character to give it special look. It's similar to existing squad.xml clan logo, and it is…
  • Arma 3: Virtual Reality Custom CoursesHere is a basic guide on how to configure your own VR training courses. If there are some community Courses configured, a new selector will appear…
  • Arma 3: Visual UpgradeWe wanted to improve the visual results for our and your own maps. The change was more extensive than before and at first you might be confused as…
  • Arma 3: WebAPIWebAPI allows to use HTTP, Websocket and other REST APIs.
  • Vehicle Respawnimproved and extended the vehicle respawn functionality. The new options can be found on respawnVehicle and getRespawnVehicleInfo pages.

GUI

  • Arma 3: ctrlCreate/classnamesAncillary sub-page of ctrlCreate, listing control classnames available in config.
  • Arma 3: ctrlMapCursor/cursorsAncillary sub-page of ctrlMapCursor, listing cursor classes available in Arma 3.
  • Arma 3: Display3DEN IDCs
  • Arma 3: display3denCopyIn Eden Editor, display3denCopy can be accessed to offer the user a way to inspect and copy long texts.
  • Arma 3: GUI CoordinatesYou can check some of the grid systems on an interactive test menu ingame:
  • Arma 3: IDD ListSee also: Arma 3: Display3DEN IDCs.
  • Arma 3: Inventory IDC List62** IDCs target slot items 63** IDCs target slot container items (uniform, vest, backpack)
  • Arma 3: Pixel Grid SystemReal Virtuality offers the ability to configure and draw HUD and UI elements, through the use of engine supported control types and configuration…
  • Arma 3: User Interface EditorThe User Interface editor can be launched from the Debug Console -> "GUI Editor" button.
  • Arma: GUI ConfigurationDialogs are one way to provide custom graphical user interface in your missions and allow interaction with the player as well as they are able to run…
  • CT ACTIVETEXTThe active text control behaves very similar to buttons. It shows up as regular text with the additional functionality that you can click and select…
  • CT ANIMATED TEXTUREUnknown control type.
  • CT BUTTONButtons are one way to add interactivity to your dialogs. If you need a button that has more options for customization then use CT_SHORTCUTBUTTON.
  • CT CHECKBOXA toggleable control. There are two states that can be switched between: Checked and Unchecked.
  • CT CHECKBOXESThe Checkboxes (also known as textual checkboxes) are a set of state change buttons, ordered by columns and rows. Unlike the Toolbox Control more…
  • CT COMBOA drop down menu. Compared to a CT_LISTBOX or CT_TOOLBOX it can display many items without taking a lot of space. Disadvantage is that the user has…
  • CT CONTEXT MENUThere are no base classes for this control type.
  • CT CONTROL REFRenders a different references control, in the position of this control. ctrlWebBrowserAction can be used to change the source control.
  • CT CONTROLS GROUPContainer control for other controls. The child controls have to be defined in the controls subclass.
  • CT CONTROLS TABLEThis control type is a crossover between CT_LISTNBOX and CT_CONTROLS_GROUP. It is a list of user defined controls.
  • CT EDITAn editable text box, which allows the user to either enter text himself or to select and copy its content.
  • CT EXTENSIONExtension controls are controlled and rendered by Extensions. The constant type property for these controls usually is CT_EXTENSION. All inputs to…
  • CT HITZONESUnknown control type.
  • CT HTMLThe HTML control is well known as the "notebook" in the Map-View of the game. It can display a text over more pages and can inherit links to other,…
  • CT ITEMSLOTUnknown control type.
  • CT LINEBREAKUnknown control type.
  • CT LISTBOXThe listbox displays a list of items. With ST_MULTI it is possible to select multiple entries.
  • CT LISTNBOXSimilar to CT_LISTBOX. Additionally this control supports multiple columns which all have their own text, data and value.
  • CT LISTNBOX CHECKABLEUnknown control type.
  • CT MAPThere is no control that currently uses this control type. It might be obsolete. See CT_MAP_MAIN instead.
  • CT MAP MAINA control that gives access to the map including markers. The ingame map that is opened with M uses this control type.
  • CT MENUEden Editor context menu which is opened with right click. Same problems as CT_CONTEXT_MENU.
  • CT MENU STRIPControl with expandable sublists. The top bar in 3den uses this CT.
  • CT OBJECTWith this control type it is possible to integrate 3D objects into a dialog.
  • CT OBJECT CONT ANIMUnknown control type.
  • CT OBJECT CONTAINERSee CT_OBJECT for more information on the basics of object dialogs. In addition to CT_OBJECT this control type supports the addition of controls…
  • CT OBJECT ZOOMVery similar to CT_OBJECT. See that page for information on objects in dialogs.
  • CT PROGRESSSince Arma 2 the progressSetPosition command can be used to change the value. Since Arma 3 v1.40 the fill color can be changed via the…
  • CT SHORTCUTBUTTONA more customizable and modern version of CT_BUTTON that also supports Structured Text and an image with text at the same time (see below).
  • CT SLIDERA slider can be used to make the user select a value in a predefined range.
  • CT STATICStatic controls represent exactly that: static data. Static means there is NO possible user interaction. CT_STATIC is primarily used for texts,…
  • CT STATIC SKEWUnknown control type.
  • CT STRUCTURED TEXTThe Structured Text control can display Structured Text. This is a separate data type in Arma.
  • CT TOOLBOXA Toolbox is a set of options, ordered by columns and rows. Only one can be active at a time and one is always selected (the first one by default).…
  • CT TREEThe CT_TREE, also referred to as tree view (tv), is a control with similar functionality as the CT_LISTBOX. In addition to that it supports multiple…
  • CT USERThis control type is used by the engine for Performance Profiling and has probably no use outside of it.
  • CT VEHICLE DIRECTIONUnknown control type.
  • CT VEHICLETOGGLESUnknown control type.
  • CT WEBBROWSERWeb browser control features an embedded Chromium window. The URL is subject to allowedHTMLLoadURIs[] whitelisting in Description.ext - CfgCommands.…
  • CT XBUTTONAnother type of button. Seems like the only difference between other buttons is, that it has no animation when being clicked.
  • CT XCOMBOSideways CT_COMBO.
  • CT XKEYDESCUnknown control type.
  • CT XLISTBOXSideways listbox with only one entry visible at a time. More similar to CT_COMBO. This control should probably not be used at all because of its poor…
  • CT XSLIDERType: String
  • GUI TutorialThis page will teach you how to create your very own User Interface for Arma. The second part of this page will dive deeper into the possibilities…
  • SafeZoneIn Arma: Cold War Assault, user interface Displays were drawn always in 4:3 aspect ratio. Since then, many other aspect ratios became common and…
  • User Interface ColorsTake On Helicopters introduced ability to recolor menu and HUD colors. Community creators can define new presets or use user's colors using following…

Mission Editing

  • 2D EditorThe 2D Mission Editor is the primary tool for creating both singleplayer and multiplayer scenarios in majority of Bohemia Interactive's products.
  • 2D Editor: ExternalMission Editor provides majority of tools required for designing a mission, but finishing touches are usually made outside of it.
  • 2D Editor: GroupsGroup editing mode can be used in several ways. The primary use is to join previously placed individual entities together into groups.
  • 2D Editor: IntelThe Intel box is the dark grey box with a weather icon, the time and date. It allows you to name your mission, give it a brief description, set the…
  • 2D Editor: Layout CustomizationDescription
  • 2D Editor: MarkersMarker mode is primarily used to place visual map icons and zones on the mission map. Markers are only visible while the mission editor is in marker…
  • 2D Editor: SynchronizationSynchronisation mode is used to make different groups carry out their waypoint orders at the same time, and optionally only under specific…
  • 2D Editor: Take On Helicopters Sample MissionTake On Helicopters presents the players with a powerful - and sometimes overwhelming - Editor.
  • 2D Editor: TriggersA trigger is an abstract game entity that will wait until it is condition block returns true, then carry out the On Activation string.
  • 2D Editor: UnitsUnit mode is used to add individual units, vehicles and objects on the map. To do so, double click on the empty space where you would like to add a…
  • 2D Editor: WaypointsWaypoints are used to define the route and behaviour of a group during the mission. At any point in time a group will have one active waypoint…
  • Arma 3: Animated BriefingThe Arma 3: Animated Briefing framework allows you to create a briefing using the in-game map which features timeline-based, animated events such as…
  • Arma 3: BriefingAlthough a briefing is fully optional, it is the first thing a player sees when playing your mission and there is no second chance for a first…
  • Arma 3: Civilian PresenceCivilian Presence (CP) is a supplementary system introduced with the Arma 3 Tac-Ops Mission Pack. Its goal is it to enrich combat experience in urban…
  • Arma 3: DebriefingArma 3 introduces new debriefing screen style. It completely replaces the old Briefing.html system which is no longer supported.
  • Arma 3: Debug ConsoleThe Debug Console is an editing tool that provides scenario designers with the ability to observe variables and to execute code on the fly.
  • Arma 3: High CommandHigh Command (HC) allows the player to slip into the role of a commander. Instead of having control over a group of several units, as high commander…
  • Arma 3: Mission OverviewOverview is short summary of a mission displayed in mission selection. It's the first thing player sees from a mission and should not be…
  • Arma 3: Mission PresentationIn order to play a scenario from the main menu, player has to go through multiple menus. While in the scenario itself, additional user interface…
  • Arma 3: Module: AnimalsCreates a group of animals and handles their basic behavior. Deleting the module will delete animals as well.
  • Arma 3: Module: Combat Get InBohemia Interactive's Combat Get In module allows you to easily set up crew behavior to a team in your missions.
  • Arma 3: Module: Cover MapHighlights area of operation in the map by enclosing it and covering the unused part.
  • Arma 3: Module: Game MasterZeus logic which provides access to the 3D real-time editor.
  • Arma 3: Module: SectorBohemia Interactive's sector module allows you to easily create sector control missions. The side with the strongest force within the area…
  • Briefing.htmlBriefing.html is a simple HTML file located in the mission folder. You have to create this file manually, and the file will be loaded automatically…
  • Campaign Description.extA campaign's Description.ext is the entry point to load a campaign's information; the campaign title, author and overview picture, the missions tree,…
  • Eden Editor: ActionsActions are engine operations used by Menu Bar and are available for scripting.
  • Eden Editor: Asset BrowserThe Asset Browser shows all available assets which can be placed in the scenario, sorted into various lists. When unofficial addons are installed,…
  • Eden Editor: Cfg3DEN
  • Eden Editor: CommentA comment is an annotation in the scenario. It is a virtual entity which only exists in the editor and has no effect on the scenario playthrough.
  • Eden Editor: Configuring Asset PreviewsIncrease folder size for screenshots to at least 1000 MB. The process how to do it is described in screenshot command description.
  • Eden Editor: Configuring AttributesA scenario and each entity in it are defined by their attributes. An attribute is a value customizable by the user, and it has some function tied to…
  • Eden Editor: Configuring Attributes: ControlsEntity attributes in Eden Editor are represented by specific UI controls. By default, the game offers a wide range of pre-define controls. Not all…
  • Eden Editor: Configuring Menu BarMenu Bar is the central control element of the Eden Editor, where all available options and tools are available. When adding a new functionality to…
  • Eden Editor: Configuring TutorialsEden Editor offers in-game tutorial system. By default, it contains tutorials for controlling various editor features.
  • Eden Editor: Configuring User Interface
  • Eden Editor: ConnectingConnecting can bind certain entities together and affect their functionality.
  • Eden Editor: ControlsThis page lists Eden Editor controls based on pressed (or not) modifiers.
  • Eden Editor: Custom CompositionApart from pre-defined groups and compositions, you can save and share your own custom compositions.
  • Eden Editor: Custom ConnectionsSince Arma 3 v2.10 it is possible to create custom connections.
  • Eden Editor: Custom Entity TexturesThe following list shows all entities that allow for changing their textures through the Eden Editor custom textures attribute either by providing…
  • Eden Editor: Entity AttributesAn entity is defined by its attributes. Each entity type has a different set of attributes. Object attributes, for example, can be type, position or…
  • Eden Editor: Entity Context MenuOnce the menu has been opened, the following variables can be accessed:
  • Eden Editor: Entity PlacingNew assets can be added to the scenario by placing them. Once added, they become editable entities.
  • Eden Editor: Entity TransformingEntities in the scenario can be quickly manipulated using basic transformation.
  • Eden Editor: GroupA group is a composition of characters which are linked together in a command structure.
  • Eden Editor: IntroductionEden Editor is scenario editor introduced in Arma 3. It replaces previous 2D Editor, sharing many of its features, but also adding a wide range of…
  • Eden Editor: LayerA layer is like a folder that can contain multiple entities of type object, group, trigger, waypoint, system or marker. They can also contain…
  • Eden Editor: MarkerA marker is an image shown on the player's map. It is visible to every player, and it is visible only on the map, not in the scene.
  • Eden Editor: Menu BarThe Menu Bar is displayed at the top of the Workspace. It contains almost all available actions and tools in the Eden Editor, sorted into logical…
  • Eden Editor: ModdingEden Editor is a powerful modding tool for designing scenarios, but what makes it truly unique is that the editor itself is moddable.
  • Eden Editor: ObjectAn object is an entity with physical representation in the world. The player can see it as a model with textures, while the game recognizes its…
  • Eden Editor: Object CategorizationMode - All objects placed in Objects mode Submode - Characters and vehicles are sorted per side (e.g., BLUFOR), the rest is under Props
  • Eden Editor: PreviewWhen designing a scenario, it is important to periodically preview it from the player's point of view.
  • Eden Editor: PublishingOnce you have finished creating your scenario, there are several options for sharing it with others.
  • Eden Editor: Scenario AttributesScenario Attributes are used to set, customize and define numerous scenario settings.
  • Eden Editor: Scenario FolderThe scenario folder can contain various scripts, but also images used during the mission. Commonly used are:
  • Eden Editor: Scenario PhasesThe scenario is divided into four phases. Each has its own set of entities and environmental settings (e.g. a night scenario with a player in a tank…
  • Eden Editor: Setting AttributesWhile Eden Editor Workspace behaves like a normal scenario and it is possible to modify entities using existing commands (e.g., setPosATL), such…
  • Eden Editor: Status BarThe Status Bar provides real-time information about the view and the current game session.
  • Eden Editor: Switching from 2D EditorWhile Eden Editor is based on the good old 2D Editor, there are some major differences.
  • Eden Editor: SystemA system is a virtual object which can help expand your scenario with a new functionality.
  • Eden Editor: TerminologyA list of commonly used terms related to the Eden Editor documentation.
  • Eden Editor: ToolbarThe Toolbar is displayed at the top of the Workspace. It provided quick access to commonly used actions and tools.
  • Eden Editor: Transformation WidgetThe Transformation Widget is a tool for precise entity manipulation. It consists of a set of color-coded parts, each offering a transformation in a…
  • Eden Editor: Transforming CrewCharacters can become vehicle crew members, while still being independently editable entities. The available vehicle roles are:
  • Eden Editor: TriggerA trigger is a virtual entity which executes an action once a specific condition is met.
  • Eden Editor: WaypointA waypoint defines the destination for a group. Waypoints are ordered sequentially, and only one can be active at any given time.
  • Eden EntityEden Entity is an entity which can be created, edited or deleted in the Eden Editor.
  • Eden IDEden ID is unique index of an Eden Entity. This Number remains the same even after saving and loading the scenario. Editor layers and Editor comments…
  • Military SymbolsMilitary Symbols allow to display units' military symbol in real time either in-game (above units), on map or both.
  • Mission DesignMission Design is an important aspect to consider in order to keep the player(s) entertained. Arma is a game after all!
  • Mission ExportTwo export methods are available, both with certain pros and cons.
  • Mission ParametersMission parameters are integer values that are passed to the mission at the beginning and which are used by the mission designer to customise user…
  • Mission Readme TemplateThe following text can be freely used as a basis for creating readme text as part of a user made mission distribution. Note text inside square…
  • Mission.sqmMission.sqm is the file generated by the Mission Editor; it contains mission information (date, time, weather), object placement information…
  • MissionsInformation regarding missions for each of the Bohemia Interactive games is available from the appropriate link below.
  • ModulesThis page can be considered a hub when it comes to Modules. Here you will find everything you need to know when it comes to creating modules,…
  • Multiplayer Game TypesGame type is a simplified category describing what a mission is about. It helps player to navigate through potentially large number of available…
  • Overview.htmlThe overview.html is an optional file, which simply means the game won't crash without it, but it adds polish to your creative efforts. It appears on…

Modding

Multiplayer and Server

  • Arma 3: arma3battleye.exeThese parameters can be configured by creating a new shortcut on your desktop and then adding the appropriate option.
  • Arma 3: Basic Server Config FileThis article deals with the basic.cfg, the name means nothing, and can be called anything.
  • Arma 3: Custom Memory AllocatorThe memory allocator is a very important component, which significantly affects both performance an stability of the game.
  • Arma 3: Dedicated ServerThis page contains useful information on how to install and configure an Arma 3 server and includes step by step guides of the install process. Also…
  • Arma 3: Headless ClientMultiple Connections and Addresses are allowed in the case of more than one Headless Client
  • Arma 3: Mission HTTP DownloadWhen missionHTTPDownloadBaseURL is configured in the server config, clients will attempt to download mission files via HTTP from the specified base…
  • Arma 3: Mission VotingDocumentation for server-side voting settings.
  • Arma 3: MP Combat PatrolCombat Patrol is a game mode which can be easily set up on any map and offers short, randomized CQB scenarios on a location selected by the players.
  • Arma 3: MP End GameA sample is available in Arma 3 Tools.
  • Arma 3: MP Support GuidelineMost of the work involved in creating your own Support mission consists of simply inserting and synchronizing several modules and game logics in the…
  • Arma 3: MP VanguardIn these combined arms scenarios, we're paradropping an important device over a random area on the map, and three teams need to compete by picking up…
  • Arma 3: MP WarlordsWarlords for Arma 3 is a multiplayer mode set up as a sort of Sector Control / CTI hybrid supporting TvT, PvP as well as COOP and even solo play…
  • Arma 3: Named PipeArma 3 has a fully working implementation of named pipe which allows developers to pass several predefined commands to Arma process.
  • Arma 3: Server Config FileThis article deals with the server.cfg, a configuration file which one can use to configure various game server settings such as the difficulty…
  • Arma 3: Server ProfileThis article is about the server.Arma3Profile.
  • Arma 3: Server Side ScriptingThe server has a separate Virtual Machine (VM) running administration scripts.
  • Arma 3: ServerBrowserProtocol2Arma 3 Server Browser Protocol
  • Arma 3: ServerBrowserProtocol3STEAMWORKSquery Server Browser Protocol
  • Arma 3: Startup ParametersStartup parameters are command line interface(CLI) arguments that go after the executable's name in order to set options; e.g arma3_x64.exe -window…
  • Arma 3: STEAMWORKSquerySteam API provides an ability to register a game server to Steam master server for players to find it and get its ip and port, that is later used by…
  • arma.cfgREDIRECT arma2.cfg
  • arma2.cfgThe arma.cfg or arma2.cfg or arma2oa.cfg or takeonh.cfg are configuration files containing detailed information about YOUR game setup. Information…
  • Arma: Mod FoldersCustom mod folders is a concept that was introduced with Operation Flashpoint. It allows addon makers and players to completely change most aspects…
  • Aspect Ratio ManagementThe Aspect Ratio is the ratio of the pixel width of your display to the height of the display. Commonly you'll see it listed as a number (1.25 or…
  • BattlEyeBattlEye website Abbreviation: BE
  • Carrier Command: Gaea Mission: Startup ParametersThese parameters can be configured by creating a new shortcut on your desktop and then adding the appropriate option in the target line.
  • hosts.txtThe hosts.txt file is a special file that lists servers for Real Virtuality games. When the multiplayer option is selected, the game will scan the…
  • Multiplayer Server CommandsYou can access the command line by pressing the chat key (default /).
  • server.armaprofileThis article deals with the server.armaprofile, describing all the visual and difficulty settings in Arma, like friendly and enemy AI quality, HUD,…
  • squad.xmlIf you feel unfamiliar with the XML file format itself and/or have questions about basic XML markup, you are advised to consult literature,…
  • Startup Parameters Config FileThe startup parameters config file can be used to put startup parameters in, instead of specifying them in a shortcut/commandline.

Reference Lists

Scripting

  • ArgumentAn argument is any value that is being passed to a scripting command or an executed script or function. In the script or function this value is…
  • Arma 3: ActionsGeneral Syntax
  • Arma 3: Animated OpeningThe Animated Opening framework allows you to easily create campaign openings by animating pictures using a timeline.
  • Arma 3: CuratorCurator is a technical name for Arma 3 Zeus game master system. Every involved scripting command, event handler or class name contains the name.
  • Arma 3: Debug ModeArma 3 now has an additional debug mode that can be enabled with the -debug startup parameter.
  • Arma 3: Error MessagesErrors can be Normal, or DebugOnly. If it is DebugOnly, the error will only show when Arma 3 is in debug mode.
  • Arma 3: Functions LibraryArma 3's Functions Library is the way to declare mission, campaign or addon's Functions. The main difference from older Function Libraries is that it…
  • Arma 3: Regular ExpressionsA Regular Expression (or regex/regexp) is an advanced text search format involving specific codes.
  • Arma 3: Remote ExecutionRemote Execution is one of the cornerstones of Multiplayer Scripting in Arma 3.
  • Arma 3: Scripted DatabaseA Scripted Database is a simple way to manage information with ingame functions from Bohemia Interactive and has been introduced in Take On…
  • Arma 3: Task Framework TutorialTasks are a group's objectives. Arma 3 introduced the Arma 3: Task Framework to work with tasks with ease. The Task Framework functions have a global…
  • Arma 3: Tree View PathTree View path for referencing Tree View item is not the same as the path used for adding items to the Tree View. This may cause quite a bit of…
  • Arma 3: Writing a FunctionThe most important thing to remember when writing a function is that other people are going to use it. Most of them won't understand how it works,…
  • Array of Eden EntitiesArray of Eden Entities is an Array used by many Eden Editor commands. It's not a unique data type, only an array with specific format.
  • Camera TutorialA cinematic camera is what is commonly known as a "cutscene"; the player's input are dismissed and events happen during the video.
  • Channel IDsIn Arma 3, chat, radio, VON and markers all use the same channel ID system. However, channel IDs for custom channels behave a bit differently. This…
  • Code Best PracticesIn the domain of development, any rule is a rule of thumb. If a rule states for example that it is better that a line of code doesn't go over 80…
  • Code OptimisationThis article will try to be a general guide about improving your code and its performance.
  • Code PositivityThis page provides some insights into what it means to try and write code in a positive way, with the least negation as possible.
  • Code vs. StringsSince Armed Assault the convention to use quotation marks for Strings and curly braces for Code has been formalised. Some "exceptions" exist, for…
  • ColorColor is a format of an Array, namely an Array of Numbers in format [r, g, b] or [r, g, b, a], values ranging from 0 to 1.
  • Control StructuresControl Structures are statements which are used to control execution flow in the scripts. They are sequences of scripting code which help to control…
  • ConversationsArma 2 v1.00 Arma 2: Operation Arrowhead v1.50 Take On Helicopters v1.00 Arma 3 v1.00
  • DateDefault Mission Editor Terrains dates
  • Debugging TechniquesDebugging Techniques are ways for a developers to debug (narrow down/determine the root source), or to learn and understand where and why errors or…
  • Description.extThe Description.ext file is a missionConfigFile and is used to set the overall mission attributes or to define global properties that will be…
  • DiaryCan be created with createDiarySubject - they go after all the default ones and can obviously be modified.
  • Error Generic Error in ExpressionThis error occurs when the type of data an operator is expecting does not match.
  • Error Type Something Expected NothingThis error usually occurs when a statement is incomplete, malformed, or non-existent.
  • Error Type String Expected CodeThis error occurs when there is a syntax error contained inside a block of code that makes up part of another statement.
  • Error Unknown OperatorThis error occurs when the game engine has attempted to parse something as an operator, but could not successfully find the given symbol.
  • Error Zero DivisorThis error occurs when you attempt to divide a variable by 0. It also occurs when you attempt to access an element of an array which does not exist.
  • Event ScriptsDefault Scripts Location
  • Example Code: Convert Position To Map GridArma 3 (Arma 3 v1.00 Arma 2 v1.04)
  • Example Code: General Deletionfn_delete.sqf:
  • Example Code: Get Center
  • Example Code: Random Area DistributionOriginally from Commy2's sqf.ovh post.
  • Example Code: Remove NVGs From EnemiesArma 3 (Arma 3 v2.02)
  • Example Code: Reveal Units Temporarily
  • Exception handlingArmed Assault v1.00
  • ExpressionAn expression is a piece of code that returns a value.
  • ExtensionsExtensions can be accessed using callExtension.
  • FSMThe FSM file is a new format and has been introduced in Armed Assault. FSM stands for Finite-State Machine and is the primary method of coordinating…
  • FunctionA function contains code which usually consists of an input, processing and output part. Functions were first introduced in the Operation Flashpoint:…
  • IdentifierAn Identifier is the name given to a variable that the scripter can choose: It is the name that identifies the variable.
  • import (Config)The import keyword can only be used in mission config, pretty much like class keyword, in order to import a class from main config into mission…
  • Initialisation OrderWhenever a mission is launched (or joined in Multiplayer) certain tasks are performed to ensure the mission's various components are initialised…
  • Introduction to Arma ScriptingScripting is one of the most powerful and most versatile tools available in the Arma sandbox. Unfortunately, it is also one of the most complex and…
  • Light Source TutorialArmed Assault v1.00
  • Magic VariablesMagic variables are engine-maintained variables that serve a specific purpose within a given scope and are often used by the engine to provide data…
  • Mission OptimisationThis article will try to be a general guide about improving your mission's performance.
  • Multiplayer Custom Sounds TutorialArmed Assault v1.00Arma 2 v1.00Arma 3 v1.00
  • Multiplayer ScriptingThis page aims to explain notions and specificities of Multiplayer Scripting and its differences with Singleplayer Scripting. It features three parts:
  • OFPEC Tags ListThis list is a copy of OFPEC's tag list (with the addition of Bohemia Interactive's BI_/BIN_/BIS_/SCR_ prefixes) as a mirror backup.
  • OperandAn operand is any value given to an operator.
  • OperatorsOperators are the base commands each programming language is built on. They provide ability to perform basic mathematical and logical operations.
  • Order of PrecedenceOrder of operations, also called operator precedence, is a set of rules specifying which procedures should be performed first in a mathematical…
  • ParameterA parameter is a value that was passed to the actual script. All parameters are accessible over the array _this.
  • ParticleArrayParticle is a lightweight for performance effect system that is to be used for emulate dusts, fires, explosions, and/or anything. Every explosions,…
  • Particles TutorialA particle is a (to some extent, non-physical) 2D plane that always faces the camera, or (more rarely) a 3D model.
  • Performance ProfilingThe Profiling build is provided in semi regular intervals between major game version updates by Dedmen in tandem with Arma 3 Performance build.
  • PositionPositions in Arma games are always represented as arrays. There are two types of positions:
  • Post Process EffectsCompared to the effect cancellation, in this case the effect is just disabled but still exists
  • PreProcessor CommandsThe PreProcessor and the Config Parser allow to use macros in configs. The purpose of macros is to re-use the same definition in scripts and configs…
  • Remote Control TutorialRemote Control allows a player (remote-controller) to take control of another unit (drone, or remote-controlled) that is different from the local…
  • scalar bool array string 0xe0ffffefIf variables don't exist, their value as string is generally a "scalar bool array string 0xe0ffffef" error.
  • scalar bool array string 0xfcffffefIf variables don't exist, their value as string is generally a "scalar bool array string 0xfcffffef" error.
  • SchedulerThe Scheduler is the part of the game engine that decides which script runs at a certain point in time. It has the ability to pause a running script,…
  • Script FileA script file is multiple commands and arguments defining wanted behaviour from the game, all grouped together in a textfile. This code does a…
  • Scripting TagsA Tag, also referred as an OFPEC tag, is a usually two to eight characters identifier that is individual to each designer, and allows for proper…
  • Side RelationsHelper function: BIS_fnc_sideIsFriendly
  • Simple Expressiona,b can be any simple expression. x,y can be a constant expression only (i.e. expression with a type Number).
  • Simulation vs Render Time ScopeArma 2: Operation Arrowhead v1.60 Take On Helicopters v1.00 Arma 3 v1.00
  • SQFREDIRECT SQF Syntax
  • SQF BytecodeAn SQF bytecode is a file that contains the instructions to be executed in an SQF script. The bytecode is obtained after parsing the SQF script,…
  • SQF SyntaxSQF stands for Status Quo Function - a successor of Status Quo Script, which is deprecated since Armed Assault but could still be used in Arma 3.
  • SQS SyntaxSQS Syntax (where SQS stands for Status Quo Script) was the main syntax in Operation Flashpoint and is still available (although considered obsolete)…
  • SQS to SQF conversionSQF Syntax has been introduced in Operation Flashpoint: Resistance v1.85 and is the Arma series' main scripting language until Arma 3. The main…
  • StatementA statement is a piece of scripting code. It is an instruction to the script Interpreter and tells it to do something.
  • Turret PathA Turret Path is an Array of Numbers that determines a turret seat's "path", a turret being able to have a turret that has a turret etc.
  • Unit Loadout ArrayThis array format is used with getUnitLoadout and setUnitLoadout commands. Its format is described in the side table.
  • Unknown enum valueThis error occurs when an incorrect enum(erated) value is provided.
  • VariablesA variable is a "storage container" or "named placeholder" for data. You can read and modify the data once this container is created. Its "name" is…
  • Vector2DSee also Vector3D.
  • Vector3DSee also Vector2D.
  • Visual Studio Code SQF ExtensionsThis page contains information about Microsoft's Visual Studio Code editor and how it can be used for content creation in Arma.
  • WaypointFormat: [group, index]
  • WaypointsWaypoints are a group's successive destination/task indicator. They are represented as an Array in Waypoint format [group, index].
  • When an error makes no senseSometimes, the displayed error will not appear to be correct. The error parser will point you to a line of code which is correct, yet it will tell…

Tools and File Formats

  • A3 LauncherLauncher is a new interface to run the game and manage Steam Workshop addons. The purpose of this tool is to simplify start-up parameters, game…
  • Addon BuilderAddon Builder is a packing tool created by Bohemia Interactive. The purpose of this tool is to convert all data into formats readable by the Real…
  • AltisAltis is an Arma 3 terrain, released with the game. It is a North Aegean Mediterranean island with an area of 268.65 km2 and is a 0.75× scale…
  • Arma 3: AnalyticsLine call: arma3.exe
  • Arma 3: Asset SamplesFormerly part of Arma 3 Tools, this application contains all necessary samples to get started with Arma 3 content creation. The collection covers a…
  • Arma 3: Cars Config Guidelines{model.cfg}
  • Arma 3: Diagnostics ExeThis special executable aims to help community creators in tweaking their addons. It contains various diagnostic tools that display the current game…
  • Arma 3: Functions ViewerThe Functions Viewer allows you to view all functions, modded or default that are defined in CfgFunctions.
  • Arma 3: LauncherThe main purpose of the official Arma 3 Launcher is to enable easy management of local and Steam Workshop mods including their load order and custom…
  • Arma 3: meta.cppMeta.cpp file contains additional information about mods published on Steam Workshop. This file is automatically created when a mod is published by…
  • Arma 3: Modding CharactersThis is an early version of a character model making tutorial for Arma 3 Alpha. It still relies on the old Arma 2 tools and only limited example…
  • Arma 3: ORBAT ViewerThe ORBAT Viewer can be used to displayed the hiearchy of troops present in a scenario. Inside the ORBAT Viewer pressing H will toggle the visibility…
  • Arma 3: Project Directory: MigrationThis only applies if you are currently using the install directory of Arma 3 Tools as the source for your P drive. Otherwise, there is no need to…
  • Arma 3: PublisherThe purpose of this tools is to publish and manage items in the Steam Workshop. It allows you to upload your mods and change the information that is…
  • Arma 3: Ships Config GuidelinesSo you want to build a boat in Arma 3? Well lets start with some basics...
  • Arma 3: Splendid Animation ViewerThe Splendid Animation Viewer lets you preview animations ingame. You can use some of the commands listed here to animate the character.
  • Arma 3: Splendid CameraThe Splendid Camera is available in Eden Editor and Debug Console. It can be used to capture scenes, look around the map or create splendid…
  • Arma 3: Splendid Config ViewerThe Splendid™ Config Viewer is a way to access the contents of the game's current config.
  • Arma 3: Tools DiagThis script will check some registry keys, files and other stuff to produce a report to help debugging your tools. Reports are stored in…
  • Arma 3: Tools InstallationThis page contains all necessary data to install Arma 3 Tools in your computer.
  • Arma 3: Tools LauncherThis is a "one place" for Arma 3 Tools, it can check some points of your installation and run any tools from the suite. It's also able to detect…
  • Arma 3: UtilitiesIn order to access the Utilities list, type utils in debug console and click on LOCAL EXEC or execute execVM…
  • Arma 3: Vehicle Handling ConfigurationDefines simulation type of the vehicle. PhysX simulation ends with letter "x". Can be:
  • Arma 3: Weapon Collimator Sights(Written by Alwarren. Thank you to LiquidPinky and da12thMonkey for their help. See the Forum thread for more info…
  • Arma 3: Weapon Config Guidelines101 - How to set up a weapon for Arma 3
  • Array+=same-file support Arma 3 v1.00 full support
  • BankRevBankRev is a simple tool to extract content of PBOs
  • BIDMPREDIRECT Crash Files
  • Bimpas File Formatbimpas files are associated with Xbox elite they were the precursor to Armed Assault's rvmat files.
  • BINREDIRECt Config.cpp/bin File Format
  • BIN File FormatsFileExtension .bin is a generic identifier that indicates the contents are raPified (binarised)
  • BinarizeBinarize is a model/world optimizing tool created by Bohemia Interactive. The purpose of the tool is to convert the file into the representation…
  • BinMakeArmed Assault Arma 3
  • BuldozerBuldozer is a model (Object Builder) / map (Terrain Builder) viewing tool and was formerly known as Oxygen Viewer.
  • Buldozer ConfiguratorThis is a small UI tool that generates the configuration file of Buldozer and defines the settings in Terrain Builder and Object Builder.
  • Buldozer ManualBuldozer is a viewer for the Real Virtuality 4 Engine. It comes on some of sub program of the main application (here, Arma 3) that’s able to load…
  • CFGREDIRECT Model Config
  • CfgConvertCfgConvert is a command line tool for converting configs between text and binary representation. If you use the interface (cfgConvertGUI), based on…
  • CfgNonAIVehicles Config ReferenceWeapon magazines:
  • CfgVehicles Config ReferenceTokenName Config.cpp Reference
  • Compressed LZO File FormatThis is LZO as defined by oberhumer - http://www.oberhumer.com/opensource/lzo/
  • Compressed LZSS File FormatLev Zimpel (LZ) compression is a form of run length encoding that was first introduced in 1983.
  • Config.cpp/bin File FormatTwo mutually exclusive file formats exist for addons:
  • CPPREDIRECT Config.cpp/bin File Format
  • CPP File FormatThe .cpp file extension is a generic identifier that indicates the contents contain pre-raPified text and can be raPified (binarised).
  • DSCheckSignaturesDSCheckSignatures is a tool for checking ArmA digital signatures. It allows you to verify your signatures match your pbo files.
  • DSCreateKeyArmed Assault, Arma 3
  • DSKeysFileStruct
  • DSSignFileArmed Assault Arma 3
  • DSUtilsThis tool provides an easy-to-use visual interface to all addon signature tools.
  • EXTREDIRECT Description.ext
  • FBX to RTMFBX to RTM is a simple tool to convert animations from Motion Builder FBX format into RV Engine RTM
  • File AssocFile Assoc is used to associate file types (like scripts or 3D files) with the appropriate application.
  • FileBankArmed Assault, Arma 3
  • FontToTgaThis tool helps you to get your favourite TrueType font (.ttf) into Arma 3.
  • FSM EditorGUI application for creating and editing FSM files.
  • FSM Editor ManualFSM stands for Finite State Machine. If this is the first thing you are reading about FSM, please read the FSM article first.
  • FXYREDIRECT FXY File Format
  • FXY File FormatThe Operation Flashpoint and ArmA: Armed Assault engines use a limited set of bit mapped fonts developed by Bohemia Interactive for the engine. They…
  • Game UpdaterThis application aims to improve the experience of switching between Steam branches of the game by avoiding the inconvenience of additional downloads…
  • Game Updater ManualThis page contains all necessary data to install and use Game Updater (hereafter, GU).
  • Generic FileFormat Data TypesThis is a generic list of data types encountered in all file formats. Not all of which will be used in a specific file format.
  • ImageToPAAImageToPAA is a command line tool for texture conversion. The conversion engine is identical to TexView 2. See Arma: Texture Naming Rules (also…
  • Lip File FormatLip is a humanly readable text file generated by WaveToLip from any wss, wav, or ogg sound file and produces lip expressions (lip sync) for the…
  • LITE mod version creation guideThis guide describes briefly the process to create a LITE version of a pbo.
  • LivoniaDense forests, wide open fields, and plenty of interesting landmarks – get ready to explore a fresh temperate summer environment ideally suited for…
  • LODArma 3 example:
  • Malden 2035Malden 2035 is a fresh take on the original Malden terrain featured in the very first Arma game.
  • MDMPREDIRECT Crash Files
  • Mod.cpp/bin File FormatAs of Arma 2: Operation Arrowhead, the root folder of your @mod can contain an (optional) mod.cpp/bin.
  • Modelling TutorialsMaking your first addon link courtesy of OFP-Faguss.com
  • ModHashCalculatorMod Hash Calculator is a tool designed to calculate short and long hash of the selected mod folders. The result can be exported to a file or the to…
  • Object BuilderThis tool is used to create, edit and configure 3D models made for Arma 3. Object Builder is the successor to Oxygen 2.
  • OGV File FormatThe OGV format is a video format that is playable in Arma 2: Operation Arrowhead and Arma 3 (through e.g BIS_fnc_playVideo).
  • P3DREDIRECT Model File Formats
  • P3D File Format - MLODThis information comes largely from the long defunct 'ofpinternals', who in turn acknowledge
  • P3D File Format - ODOLV40 ObsoleteThe following information has been provided by BxBx and included by Mikero
  • P3D File Format - ODOLV4xThis body of work is due to Synide's sweat and tears. To whom, all honour and glory. Ably assisted by T_D and Mikero that further detailed the data…
  • P3D File Format - ODOLV7see Generic FileFormat Data Types
  • P3D File FormatsP3D File Format - MLOD P3D File Format - ODOLV40 Revised P3D File Format - ODOLV7
  • P3D Lod EdgesEvery vertex in the vertaxtable is owned only by 1 face.
  • P3D Lod FacesAlias 'Polygons'
  • P3D Lod FramesFrames are Animation times. They are similar in nature to RTM files.
  • P3D Lod ProxiesRelated Pages
  • P3D Lod SectionsLodFaces are organised sequentially, in blocks.
  • P3D Model InfoThe Model Info structure is last in file for ODOL7 (ofp) and at top of file for ODOL4x (ARMAx)
  • P3D Named Selectionsplaceholder till better organsied
  • P3D Point and Face FlagsThese 'flags' (or attributes) are present in the following p3d's
  • PAAREDIRECT PAA File Format
  • PAA File FormatOf the many image file formats out there, such as jpeg, or gif, Bohemia Interactive choose to use a specially developed file format (paa) as the base…
  • PBOREDIRECT PBO File Format
  • PBO File FormatPBO means "packed bank of files". A .pbo is identical in purpose to a zip or rar. It is a container for folder(s) and file(s).
  • PEWREDIRECT PEW File Formats
  • PEW File FormatPEW files are Visitor's project files. Visitor is Bohemia Interactive's tool for creating Islands.
  • Procedural TexturesProcedural textures are textures generated by the engine on the basis of their text description. They can be used anywhere instead of normal textures.
  • Product.Bin File Formatdta\product.bin is a class text config file like any other.
  • Product.cpp/bin File FormatProduct.bin exists in the ~\dta folder of the Arma game.
  • PublisherPublisher is a content publishing tool created by Bohemia Interactive. The purpose of this tool is to publish whole Mods onto Steam Workshop to be…
  • Render WorldsWe have added three Render Worlds that may be used to take pictures or video that needs some keying to add some different scene.
  • Resource.cpp/binbin\resource.bin is exclusively used in OFP and contains the resource dialogs.
  • RPTREDIRECT Crash Files
  • Rtm (Animation) File FormatFor binary rtm's see Rtm Binarised File Format
  • Rtm Binarised File FormatFor unbinarised see Rtm (Animation) File Format
  • RVMATREDIRECT RVMAT_basics
  • Rvmat File FormatRvmat files are the texture (material) files introduced with Armed Assault. Their syntax is similar to that of a config file.
  • Sound ToolsSoundTools allow to convert various sound formats used by Bohemia Interactive's games and also create information necessary for lip sync.
  • SQMREDIRECT Mission.sqm
  • SQSREDIRECT SQS Syntax
  • StratisStratis is an Arma 3 terrain, released with the game. It is a Mediterranean island with an area of 20 km2 based on the real-life island Agios…
  • Stringtable.csvStringtables are used to make internationalization easier for the game. They are used in addons, missions, and scripts.
  • Stringtable.xmlString tables are used to make internationalization easier for the game. They are used in addons, missions, and scripts, and are located in the root…
  • TanoaTanoa is an Arma 3 terrain, released in 11 July 2016 as a part of the Apex expansion. It is a South Pacific archipelago map, and it is 100 km2 .
  • Terrain BuilderTerrain Builder is a terrain creation tool. It allows users to build their own virtual worlds from scratch. It is a successor to Visitor 3.
  • Terrain ProcessorTerrain Processor is an application for making mass changes and additions to Arma terrains edited in Terrain Builder, focused primarily on fast…
  • Terrain Processor SDK ManualTerrain Processor has its own SDK which allows the creation of new tasks. Hereafter, you will find a quick introduction of the setup of the new…
  • Terrain Processor: Area: High-density ClusterTask name : Area: Hight-density Cluster
  • Terrain Processor: Area: Local Maximum ClusterTask name : Area: Local Maximum Cluster
  • Terrain Processor: Area: Local Minimum ClusterTask name : Area: Local Minimum Cluster
  • Terrain Processor: Area: Low-density Cluster (circle)Task name : Area: Low-density Cluster (circle)
  • Terrain Processor: Area: Low-density Cluster (strip)Task name : Area: Low-density Cluster (strip)
  • Terrain Processor: Area: RandomTask name : Area: Random
  • Terrain Processor: Heightmap: ASCII DEM ConvertTask name : Heightmap: Create from Geodetic .asc
  • Terrain Processor: Heightmap: Perlin NoiseTask name : Heightmap: Perlin Noise
  • Terrain Processor: Heightmap: Road IntegrationTask name : Heightmap: Road Integration
  • Terrain Processor: Introduction
  • Terrain Processor: Line: Mask: AreaTask name : Mask: Area
  • Terrain Processor: Line: Mask: LineTask name : Mask: line
  • Terrain Processor: Line: Nodes ObjectsTask name : Line: Nodes Objects
  • Terrain Processor: Line: RandomTask name : Line: Random
  • Terrain Processor: Line: RegularTask name : Line: Regular
  • Terrain Processor: Line: Segments ObjectsTask name : Line: Segments Objects
  • Terrain Processor: Line: Sparse ClusterTask name : Line: Sparse Cluster
  • Terrain Processor: Point: With RotationTask name : Point: With Rotation
  • Terrain Processor: Print Composer TutorialThis tutorial covers the process of creating a raster composition out of vector data in QGIS, suitable as basic spatially correct reference for…
  • Terrain Processor: TutorialThis tutorial explains the basic usage of Terrain Processor and publicly available vector geographic data from OpenStreetMap (OSM) in making terrains…
  • Terrain Processor: Tutorial Sample projectSummary of the content of the sample data pack for the Terrain Processor demo map project for Arma 3. Use with the Terrain Processor Tutorial.
  • texHeaders.bin File FormatTextHeaders.bin is created by Binpbo personal edition 2.5 and greater, or, mikero's dos tools.
  • Texture Map TypesNormal mapping is a technique used to fake the lighting of surface bumps and dents. It is used to enhance the appearance of low polygon models.
  • Texture Naming ConventionsThe name should be english, without spaces, czech special letters nor any other extravagant symbols. Only one dot before filename type, usualy TGA.
  • TexView 2TexView 2 is a texture viewer and conversion tool for .paa and .pac files. For batch/command line operations use Pal2PacE instead (included in…
  • TexView 2 ManualTexView 2 is a texture viewer and conversion tool supporting Real Virtuality Engine's internal texture formats.
  • Virtual RealityVirtual Reality is a virtual space similar to Render Worlds with no elements nor terrain relief in sight with the exception of a small, squared lake…
  • WaveToLipWavToLip is an application that generates a lip files (.lip) from wav files (.wav).
  • WaveToWssWaveToWSS is a simple tool to convert Wave format to WSS.
  • Work DriveWorkDrive is a tool designed to replace the previous scripted systems in order to provide a more reliable way to manage the work drive (P) and its…
  • WRPREDIRECT BIS_File_Formats#Island_File_Formats
  • Wrp File Format - 1WVRWVR type 1 was released as a cwc demo island
  • Wrp File Format - 4WVRFlashpoint wrp files use two different file formats to contain the data. This document contains information on unbinarised 4WVR format as used by…
  • Wrp File Format - 8WVRA wrp file is the 'world map' for the given island. The simplicity of the requirements for the map are very neatly exposed in the structure below.
  • Wrp File Format - OPRW2 & 3Flashpoint wrp files use two different file formats to contain the data. This document contains information on OPRW format as used by WrpEdit, and as…
  • Wrp File Format - OPRWv17 to 24For a general description of wrp files see 8WVR
  • WSS File FormatBis-proprietary WSS files store Pulse Code Modulated (PCM) sound data. It's format is a variant of RIFF WAVE file format used for .wav
  • WSSDecoderWSSDecoder is an application to convert WSS format to Wave.