# Forge Store Module

## Overview
The Store module provides a comprehensive shopping system for the Forge client. It includes features for purchasing items, vehicles, and managing store operations.

## Dependencies
- forge_client_main

## Authors
- J. Schmidt
- Creedcoder
- IDSolutions

## Features

### Store System
1. **Store Initialization** (`fnc_initStore.sqf`)
   - Initializes the store system
   - Sets up necessary configurations and product catalog

2. **Store Interface**
   - **Open Store** (`fnc_openStore.sqf`)
     - Opens the store user interface
   - **Select Product** (`fnc_selectProduct.sqf`)
     - Handles product selection
   - **Change Filter** (`fnc_changeFilter.sqf`)
     - Manages product filtering
   - **Change Payment** (`fnc_changePayment.sqf`)
     - Handles payment method selection

3. **Purchase Management**
   - **Handle Purchase** (`fnc_handlePurchase.sqf`)
     - Processes purchase transactions
   - **Buy Item** (`fnc_buyItem.sqf`)
     - Handles item purchases
   - **Buy Vehicle** (`fnc_buyVehicle.sqf`)
     - Manages vehicle purchases

## Event Handlers
The module uses several event handlers for initialization and execution:
- `XEH_preInit.sqf`: Pre-initialization setup
- `XEH_postInit.sqf`: Post-initialization tasks
- `XEH_preStart.sqf`: Pre-start configuration
- `XEH_postInit_client.sqf`: Client-specific post-initialization
- `XEH_preInit_server.sqf`: Server-specific pre-initialization

## Usage
To use the store module:
1. Ensure the module is properly loaded in your mission
2. Access the store through the provided UI
3. Browse and filter products
4. Make purchases using the appropriate functions

## Debugging
Debug mode can be enabled by uncommenting the following in `script_component.hpp`:
```cpp
#define DEBUG_MODE_FULL
```

## Version Information
Version information is managed through the main Forge client system configuration. 