Jacob Schmidt d474b3676a
All checks were successful
Build / Build (push) Successful in 28s
Refactor: Standardize function descriptions and variable handling
This commit refactors several client-side functions to improve code consistency and readability.

- Standardizes function descriptions by removing redundant "Function: forge_client..." prefixes and "[Description]" sections, focusing on concise descriptions of the function's purpose.
- Updates variable handling in arsenal functions to use GVAR and EGVARS for default values, improving consistency and reducing code duplication.
- Removes the bank init function as it is no longer needed.
- Adds a done variable to the preinit file.
2025-05-25 11:30:26 -05:00
..
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00

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:

#define DEBUG_MODE_FULL

Version Information

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