# Forge Bank Module ## Overview The Bank module provides a comprehensive banking system for the Forge client. It includes features for managing player finances, transfers, and timesheet functionality. ## Dependencies - forge_client_main ## Authors - J. Schmidt - Creedcoder - IDSolutions ## Features ### Banking System 1. **Bank Initialization** (`fnc_initBank.sqf`) - Initializes the banking system - Sets up necessary configurations and account structures 2. **Bank Interface** (`fnc_openBank.sqf`) - Opens the banking user interface - Provides access to all banking functions 3. **Transaction Management** - **Deposit** (`fnc_deposit.sqf`) - Handles money deposits into bank accounts - **Withdraw** (`fnc_withdraw.sqf`) - Manages money withdrawals from bank accounts - **Transfer** (`fnc_transfer.sqf`) - Handles money transfers between players - **Submit** (`fnc_submit.sqf`) - Processes transaction submissions - **Refresh** (`fnc_refresh.sqf`) - Updates account information and balances ### User Interface The module includes several UI components: 1. **Base Controls** (`BaseControls.hpp`) - Common UI elements and definitions 2. **Bank Dialog** (`RscBankDialog.hpp`) - Banking interface specific elements ### Interface Elements The module defines several UI control IDs: - Account Information Display - Amount Input Fields - Player Selection - Transaction Buttons (Deposit, Withdraw, Transfer) - Wallet and Bank Balance Displays - Rating System - Timesheet Integration ## 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 bank module: 1. Ensure the module is properly loaded in your mission 2. Access the bank through the provided UI 3. Perform transactions using the appropriate functions 4. Monitor account status and transactions ## 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.