Author: HallyG
Author Website:

Requirements: No addons required

Version: 1.1

Short description: Adds an Equipment (buy menu) dialog in to any mission such that players can buy equipment, using an in-game currency system, defined by the mission maker.

Date: 2017-07-31 21:13

Comments: (0)


HALs Store


This was the first GUI project that I began and finished a few years ago before it was lost deep in the mists of my hard drive. I have recently re-discovered it and thought I'd make it look prettier (I mean just look at this less charming earlier version) as well as completely rewriting it before its release.

If you have any suggestions, feedback or constructive criticism, feel free to leave a comment!

Purpose of this script:
Adds an Equipment (buy menu) dialog in to any mission such that players can buy equipment, using an in-game currency system, defined by the mission maker.

Easily configurable Store; define your own traders and categories in your description.ext.
Each Trader can have its own (defined by the mission maker) categories (eg: Handguns, Magazines, Backpacks) each with their own items.
Items have their own prices (defined by the mission maker); if the player does not have enough money for an item, the item cannot be purchased.
Items have their own stock (defined by the mission maker); if there is no stock for an item, the item cannot be purchased.
Purchase items to nearby vehicles or even to the player's backpack, uniform and vest.
Helpful dialog which indicates the current load of a container in addition to how much space the selected item will occupy in that container.
The dialog utilises checkboxes (default: all deselected) which allow the user to filter items with preset conditions (affordable, in stock, compatible with equipped weapons).

Installation / Usage:
Extract the .zip file to your ArmA 3 mission directory (My Documents/Arma 3/missions).
Go into the in-game editor and then select Virtual Reality followed by "HALs_Store.VR".

For usage instructions and information of how to use the HALs Store please refer to the online documentation:

Important Information:
The Trader, currently, must be a "CargoNet" object. This is just a placeholder and will be changed soon.
Items defined in cfgHALsStore MUST have the same classname as the item's classname in cfgWeapons or cfgVehicles.
The addAction on the trader will only show up if the player is on foot and within 5 meters of the trader.
Vehicles can be used if they are of a certain type (defined by the mission maker) and within a certain distance (defined by the mission maker) of the trader.

Sales have not been fully implemented yet, however you can set the "HALs_store_trader_sale" variable on a trader to force a sale.
It takes values between 0 and 1, where, for example, 0.45 is a 45% off sale.
The default value is 0 (no sale).

To set a sale:
TRADEROBJECT setVariable ["HALs_store_trader_sale", 0.45];
To get the current sale:
(TRADEROBJECT getVariable ["HALs_store_trader_sale", 0]) min 1 max 0;

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

Known issues:
Can't equip item if the current container is full.
Trader can only be a CargoNet (this is just a placeholder to fix some buggy mess I had previously).
I haven't tested it on a dedicated server, yet, but I'll get around to it when my schedule opens up.

Future plans:
Option for traders to have sales (there is already rudimentary implementation but I haven't fleshed it out, yet).
Option to add a custom display name and/or descriptions for any item.
Items require a certain condition (eg: player must be at a certain level, or have completed a certain task) to be true before they can be purchased.

Credits & Thanks:
All the members of the community who dedicate their time to document the wiki, post snippets and answers questions on the forums.

FIXED: Could not equip a sniper/shotgun if the equip checkbox was checked.
FIXED: Mass of glasses were considered 0.
FIXED: Could buy items to the inventories of other traders.
FIXED: Could trade with dead traders.
FIXED: Could trade with traders while in a vehicle.
FIXED: Could not equip item if container was completely full/no container existed (Now, the equip checkbox must be checked).
FIXED: Backpack pictures were not showing.
FIXED: Backpack stats were not working.
ADDED: German Translation thanks to 7erra.
ADDED: Items can now have custom structured text descriptions.
ADDED: fn_purchase added message if player couldnt equip item.
Uses new stringtable entry ("STR_HALS_STORE_ITEM_NOEQUIP").
ADDED: traders can be any type now ("CAManBase", "ReammoBox_F" or "Car_F").
NB automatically clears a traders inventory on init if they are not type "CAManBase"
If trader is type "CAManBase", can only purchase to player's uniform/vest/backpack.
ADDED: Stats for weapons, uniform, vests, backpacks and optics.


Forum topic:
- BI forums

Enable javascript to be able to download from Armaholic please!

Tags: Script,   Action,   Dialog,   Roleplay,   Buy,   Equipment,   Currency System