
This commit introduces several enhancements to the Forge client, including improved documentation for the Garage and Locker modules, updates to variable names for consistency, and additions to the .gitignore file. The following changes were made: - **Garage and Locker Modules:** Added comprehensive README.md files to the Garage and Locker modules, providing overviews, dependency information, author details, feature descriptions, event handler usage, debugging instructions, and version information. - **Variable Name Consistency:** Updated variable names in `fnc_playerDBSave.sqf` and `fnc_firstLogin.sqf` to use the `FORGE_PayGrade` constant instead of `Paygrade` for consistency with the Forge naming conventions. - **.gitignore:** Added `/api` to the .gitignore file to exclude the Forge API directory from version control.
76 lines
2.3 KiB
Markdown
76 lines
2.3 KiB
Markdown
# 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. |