Jacob Schmidt f8391463b2
All checks were successful
Build / Build (push) Successful in 28s
feat: Implement timesheets and pending payments in bank UI
This commit introduces the timesheet submission feature and displays pending payments in the bank UI.

The following changes were made:

- Added a "Submit Timesheet" action tile to the bank UI.
- Implemented the `handleTimesheet` function in `script.js` to handle timesheet submissions.
- Updated the UI to display pending payments based on player rating and a server-side multiplier.
- Modified server-side event handling to process timesheet submissions and calculate payments.
- Added a refresh timer to update player data every 30 seconds.
- Updated the player load event to include the player's rating.
2025-05-11 01:19:44 -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.