Author: DoctorSheep
Author Website:

Requirements: Community Base addons A3

Version: 0.6
Signed: Yes, serverkey included

Short description: The Action Button Mod aims to move time critical actions to a simpler, quicker, and more efficient one button context sensitive interaction method.

Date: 2015-07-26 19:11

Comments: (6)


Action Button Mod


The Action Button Mod aims to move time critical actions to a simpler, quicker, and more efficient one button context sensitive interaction method.

It's simple, we kill the action menu. Or, at least offload time critical actions to a system that is easy to use under duress.

This is my first go at writing anything for the Arma series, let alone releasing a fully fledged addon. Please be patient as I figure out what I'm doing.

Get in specific vehicle seats (Armored vehicles follow this method of seating)
Drag things (Boxes, CSW, objects and gear on the ground)
Open backpacks/gear of dead soldiers/gear boxes/doors
Incremental opening of doors/hatches
Mount/dismount ladders
Light/extinguish fires
CBA keybinding menu integration
Options menu via CBA Fleximenu
Compatibility with Arma 2 assets

Extract into the ArmA 3 Directory, by default this is located in:
32-Bit - C:\Program Files\Steam/Steamapps\Common\ArmA 3\
64-Bit - C:\Program Files (x86)\Steam/Steamapps\Common\ArmA 3\
After extraction it should look like this:
Steam\Steamapps\Common\ArmA 3\@your_mod_folder_name\addons\

You can also use the "Arma 3 Alpha" folder in your "My Documents" folder. Your folder setup could than look like for example this:
mydocuments\Arma3 Alpha\@your_mod_folder_name1\addons\
mydocuments\Arma3 Alpha\@your_mod_folder_name2\addons\
mydocuments\Arma3 Alpha\@your_mod_folder_name2\addons\

When present place the "userconfig" folder into your game install folder, usually:
"C:\Program Files (x86)\Steam\steamapps\common\Arma 3".
You may already have "userconfig" folder from other addons and/or mods in which case it is safe to merge the contents from this archive.

You'll also need to add a Launch Parameter to Steam, in order to do so right-click on ArmA 3 Alpha and click Properties and then Set Launch Options. In the window that opens enter in -mod=@your_mod_folder_name
For using multiple mods you would then do so like this:

You can also use -nosplash to get rid of the splash art and intro videos.

And of course you can also enable and disable community made addons and mods through the in-game Options Expansions menu if you do not want to mess with startup parameters!

When the above information still does not provide you with enough to learn how to install custom addons and mods you can always ask in our Guide On Installing Mods.

Included files:

-While in mission, you can configure what key you use through the CBA Keybind Menu. Controls>Configure Addons>Action Button Mod. The default key is Space. Keep in mind that "Use Default Action" defaults to Space, you'll have to unbind it if you want to use the Spacebar.
-A single tap of the Action Button (<0.5 seconds by default) will perform most actions. Looking at a seat in a vehicle will put you in that seat, looking at a backpack or ammo box will open the gear menu, you can open doors and hatches as well.
-If you hold the Action Button for longer then 0.5 seconds while looking at a CSW, box, or gear you'll start dragging the respective object. You can also do a hold action to incrementally open doors and hatches using the scroll wheel. Ejecting from a vehicle is activated this way as well.
-There is an alternative method of operation available via the options menu (Ctrl+Alt+Shift+I by default) titled "Hold use timeout". With this deactivated the 0.5 second timeout is disabled so you can hold the Action Button to your heart's content and look at all of the pretty icons. When you release you will do a tap-use action. To do hold-use actions, hold the Action Button down and tick the scroll wheel in any direction.
-You don't have to be looking right at a specific icon to use it. The code will take at shot at "figuring out" what you want to do.

Media: has its own Youtube channel where we will cover the Community made releases.
Subscribe to the Youtube channel

Known issues:
Mounting short ladders can sometimes mount wrong position of ladder, teleporting the player to the top for example.
Dragged objects' angle resets in multiplayer
Trying to drag an object with Tactical Pace on will prevent the player from moving
Incrementally opening doors makes a lot of noise
Poor performance per frame
Standing right up against a ladder might result in the icon not being recognized and not being able to mount it
Certain A2 Community map buildings' doors don't respond properly to the commands required to detect and open doors
Things act strangely over water, luckily, it's rare for a player to be over water.

What gigantic flaw does this mod have?
At the moment, I don't have any way of finding the physical seat locations in any given vehicle in real time. Why do I need to know where all of the seats are? Having that info lets me draw icons on seats enabling precise seat selections. Look at the left bench seat? You get the left bench seat, instead of trying to guess with some proximity based weirdness. How am I getting around this right now you ask? I wrote a script that cycles a player through all of the seats in all of the vehicles in vanilla Arma 3 and records all of that data in a giant array. Any new vehicle packs/mods added later will have to be trained separately using this same method before they can be used. Either the player, the mod author, or myself would have to go through that process to make the units compatible. How do we solve this? I've put in this ticket requesting a new scripting command that would output the locations of all seats in any given vehicle. Pulling all of that data directly from the model is the most efficient solution.

Future plans:
Make it open to third party addon writers
Dismounting vehicles in the direction the player is looking at. (Similar to the ShackTac Littlebird Enhance Mod)
Rotate dragged objects
Respect locked vehicles and doors
Other key hold visualizations like a timer with numbers
Support for server forced settings

Updated to A3v1.48 .sqf file references for opening doors and hatches
Updated options menu to use the not-so-new-anymore CBA keybinding API.

Slightly modified the position of icons relating to jet pilot seats to make them easier to hit.
Added checks for locked vehicles.
Added an eight segmented ring for indicating key hold time and relevant options.
Prevent a script error resulting from using the action button when there is nothing to action.
Prevent a script error when attempting to use the action button to dismount a vehicle you spawned in.
Add new version of the proof of concept background updating script. (This new version does not display icons in doorways due to a change in how we draw icons. HOWEVER, this new version is significantly more efficient.)
Implemented new CBA keybinding API
Added the ability for dragging and incremental opening to be disabled by admins. Logged in admins can use the actions in the ABM options menu to toggle these features on and off for players in the server. Additionally, the public variables "ABM_pub_enableDragging" and "ABM_pub_enableIncrementalDoors" can be set to false in conjunction with the publicVariable command to disable the respective features in mission scripts.

- SIGNIFICANTLY improved interacting with dead units. Gone are the days of struggling to find the sweet spot on a dead unit just to access his gear. (If a WeaponHolderSimulated (a dropped weapon) is selected, we check for dead units within 5m. This should also prevent the player from getting the inventory screen containing only a weapon from the fallen unit)
- Incremental opening of Takistan doors
- Added support for aiming deadzone. Simply enable "Aiming deadzone support" in the "Toggle features" section of the options menu.
- Selecting an FFV position already being used will move the player to the next available FFV/cargo position
- Prevent players from mounting ladders through walls/glass
- Added a PROOF OF CONCEPT ambient display of icons and relevant settings. When enabled, transparent icons will display automatically when near objects you can interact with. Disabled by default. This is safe to use, but may cause a performance hit.
- Fixed incremental opening on upper floors
- Change to only allow accessing a unit's backpack in a 200 degree arc behind him.
- Additional compatibility with Chernarus doors. (Specifically, dealing with using the Czech word "Dvere" on certain double doors instead of "Door".)
- Improved handling of dragging items and preventing them from getting stuck underground.
- Added provisions to prevent locality issues when a player tries to drag an object already being dragged by someone else
- Added the ability to choose how you use the action button to dismount a vehicle. Tap, hold, or both.
- Added an indicator when an action can't be performed or is rejected. For example, if there are no more available seats in a vehicle.

- Support for Takistan building doors (Only directly selecting these doors works ATM, the memory point used for non direct selection doesn't exist in these models) (To-Do: Incremental opening of these doors)
- Added support for new helicopters
- Added support for vehicles that had FFV added to them (To-Do: Have FFV (turret) positions move the player into another open seat if occupied similar to how cargo seats behave)

- Reworked the system that selects what object the player is wanting to interact with. (My oldest piece of code) This change mostly benefits doors and hatches. Previously, you would have to be looking directly at part of a building to interact with one of its doors. Now, a new system is used to check for objects within 5m that the player is aiming at. If that fails, a circle search expanding from the player will be used to look for nearby objects. In practice this means you wont have to be looking directly at what you want to interact with!
- Provisions to prevent a player flying into the air if initiating a drag while on top of an object (Thanks to Elvis_FIN for reporting)(Source Engine? In my Arma?)(Side effect: Player will not be able to go if his people need him.)
- Fixed a design flaw that would allow a player to incrementally open a door while out of range (Thanks to GiPPO for reporting)
- Fixed a design flaw that would allow a player to open and close a door from another floor (Thanks to St. Jimmy for reporting)
- Decreased the distance a player can open a door from 4m to 2m
- Improved code that handles when the player/objects are over water
- First implementation of disabling specific features of ABM (To Do: forced server settings)
- Fix for script error when exiting a vehicle

- Initial test release

Forum topic:
- BI forums

- Community Base addons A3

Enable javascript to be able to download from Armaholic please!

Tags: Action,   Button,   Menu