Author: HallyG
Author Website:

Requirements: No addons required

Version: 1.5

Short description: adds a weapon store to any mission. This provides players with the opportunity to buy and sell equipment or weapons from stores defined by the mission maker.

Date: 2020-08-19 09:38

Comments: (1)


HALs Equipment Store


HALs Store adds a weapon store to any mission. This provides players with the opportunity to buy and sell equipment or weapons from stores defined by the mission maker.

Easily configurable store; define your own traders and the items they buy and sell in description.ext.
In-game currency system, fully integrated with the money objects (added in the Old Man update) available in the editor.
Each Trader has its own categories, each with their own items.
e.g. Handguns, Magazines, Backpacks
Items have prices and can only be purchased if the player has sufficient money.
Stores have stock - an item can only be purchased if it is stocked.
Items can be purchased from the trader to the player, their equipment or nearby vehicles.
Items can be sold to the trader from the player, their equipment or nearby vehicles.
Helpful progress bars indicate the current load of a container, and the space available after purchase.
Filter available items with preset conditions (compatible with equipped weapons, available for purchase).
Progress bars show various stats about the available weapons and equipment.
e.g. Ballistic Protection, Explosion Resistance, Impact, Accuracy

Installation / Usage:
For usage instructions and information of how to use the HALs Equipment Store please refer to the included documentation and/or example mission.


Visit the Usage page for information about how to use new/modified functions.


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

Known issues:
Sometimes you can't use grenades after they have been added to your inventory. This could potentially be solved using reload.

Credits & Thanks:
All the members of the community who dedicate their time to document the wiki, post snippets and answers questions on the forums.
7erra for the German translation.
vbr74 for the French translation.
Kain181 for the Spanish translation.

Improved the GUI appearance by minimising white-space and changing colours to match BIS' theme.
Added an example mission to demonstrate using different stores.
Added a help button that links to the Usage page on the GitHub wiki.
Added optional target parameter to HALs_store_fnc_addTrader to determine what players (e.g. BLUFOR only) can access the store (default is everyone).
Added function HALs_store_fnc_openStore to open the store without the action.
Added function HALs_store_fnc_addActionTrader to add an open store action to all targets.
Changed traders can be any type not just CAManBase, ReammoBox_F or Car_F.
Changed stock and starting funds can now be greater than 999,999.
Fixed typo in the store open action - with a new entry in stringtable.xml: STR_HALS_STORE_OPEN_ACTION.

Added support for Old Man's new money items: picking them up will add money to the player. Alter the money values in HALs\Addons\money\functions\client\fn_client.sqf.
Added BIS_fnc_holdActionAdd to replace the previously used addAction.
Added a textbox in the inventory screen to display the player's money.
Chnaged final sell prices are now only calculated on the server.
Changed some colours to match BIS GUI colour scheme.
Changed summary messages from buying and selling.
Fixed minor issue with Russian translation (credits to: barman75).
Fixed issue where a non-parent weapon could not be sold.
Fixed issue where the players money was not updated will using the store.
Fixed issue where the tooltip for the trader's container dropdown box was not updated when the sell checkbox was checked.
Optimised HALs_store_fnc_main by replacing the trader's item and prices arrays with hashmaps.
Optimised HALs_store_fnc_main by removing duplicate code.

Added Selling.
The no stock and too expensive filters have been combined into one: "Only show items available for purchase"
Added filter to enable selling (only sellable items in the current container (eg trader category) are shown).
You can only sell an item to a store if the store itself sells the item.
If you sell a weapon with attachments, the attachments won't be sold and are added to the container.
Global item sell factor is controlled by the variable HALs_store_sellFactor whose default value is defined in config.hpp.
Added French Translation (thanks to vbr74).
Added "All" category to the dropdown box.
Added a button to alphabetise the listed store items.
Fixed issue where lbValue returned an incorrect value.
Fixed issue which displayed the incorrect description for a store item.
Optimised the functions: HALs_store_fnc_main, HALs_store_fnc_getTraderStock HALs_store_fnc_setTraderStock and HALs_store_fnc_updateStock.
Removed the functions: HALs_store_fnc_blur, HALs_fnc_getModuleRoot and HALs_store_fnc_addMoneyOnOpen.
Updated defines.hpp by removing unused class definitions.
Updated dialog.hpp by replacing Safezone value with pixelGridNoUIScale values.
Updated dialog.hpp by replacing magic numbers with MACROs.
Updated HALs file structure to be compatible with my other projects (moved HALs\Core to HALs\Addons\Core).

ADDED: (Function) HALs_store_fnc_addMoneyOnOpen
ADDED: Option to change the currency symbol used.
CHANGED: Restructured HALs\Addons folder. Everything is initialised through HALs\Addons\main\config.hpp now.
CHANGED: Categorised functions in the HALs\Core folder.

FIXED: The mass of items of containers within containers were not calculated.
FIXED: Edit box maximum characters set to 6 (credits to: R3vo).
FIXED: Players couldn't buy items in multiplayer (credits to: Antoine)
OPTIMIZED: Removed the creation of unneccesary private variables.
OPTIMIZED: HALs_store_fnc_main, HALs_store_fnc_initModule, HALs_store_fnc_blur, HALs_fnc_getModuleRoot
ADDED: (Function) HALs_store_fnc_getItemType
ADDED: (Function) HALs_fnc_getModuleSettings
ADDED: Spanish Translation thanks to Kain181.
ADDED: French Translation thanks to vbr74.
CHANGED: (Dialog) Visual changes. Text should be easier to read and dialog should scale better with different resolutions
CHANGED: (Config) The configuration files for HALs_Money and HALs_Store have been moved from the description.ext to config.hpp in their respective folders.
HALs_Money: HALs\Addons\Money\config.hpp
HALs_Store: HALs\Addons\Store\config.hpp

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