client/addons/money/README.md
Jacob Schmidt 9936d6ddc3
All checks were successful
Build / Build (push) Successful in 28s
feat: Enhance module documentation and features
This commit updates the documentation for several Forge modules, adding comprehensive details about their functionalities, user interfaces, and integration with other systems. Key enhancements include:

- Expanded descriptions for the Admin, Arsenal, Bank, Garage, Interaction, Locker, Medical, Organization, Service, Store, and other modules.
- Added new features such as financial operations, user interface improvements, and integration with organization systems.
- Improved clarity on usage instructions and configuration options across modules.

These changes aim to provide better guidance for users and developers interacting with the Forge client system.
2025-05-25 16:03:03 -05:00

120 lines
3.0 KiB
Markdown

# Forge Money Module
## Overview
The Money module provides a comprehensive currency management system for the Forge client. It includes features for handling cash transactions, money transfers, and currency management across the client's various systems.
## Dependencies
- forge_client_main
## Authors
- J. Schmidt
- Creedcoder
- IDSolutions
## Features
### Cash Management
1. **Give Cash** (`fnc_giveCash.sqf`)
- Handles giving cash to players
- Validates transaction amounts
- Updates player balances
- Provides transaction feedback
- Supports direct transfers
2. **Take Cash** (`fnc_takeCash.sqf`)
- Manages cash removal from players
- Validates available funds
- Updates player balances
- Provides transaction feedback
- Supports direct deductions
3. **Cash Submission** (`fnc_giveCashSubmit.sqf`)
- Processes cash transactions
- Validates transaction data
- Updates player balances
- Handles transaction feedback
- Manages transaction history
### Transaction Features
1. **Direct Transfers**
- Player-to-player transfers
- Amount validation
- Balance verification
- Transaction confirmation
- Error handling
2. **Balance Management**
- Real-time balance updates
- Transaction history
- Balance verification
- Error prevention
- Transaction logging
3. **Transaction Validation**
- Amount verification
- Player validation
- Balance checks
- Error handling
- Transaction confirmation
## 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
## Usage
To use the money module:
```sqf
// Give cash to a player
[player, 1000] call forge_client_money_fnc_giveCash;
// Take cash from a player
[player, 500] call forge_client_money_fnc_takeCash;
// Submit a cash transaction
[player, 750, "Payment for services"] call forge_client_money_fnc_giveCashSubmit;
```
## Integration
The money module integrates with other Forge client systems:
1. **Bank System**
- Wallet management
- Account transfers
- Balance synchronization
- Transaction history
2. **Organization System**
- Organization funds
- Member payments
- Transaction tracking
- Balance management
3. **Admin System**
- Administrative transfers
- Balance modifications
- Transaction oversight
- System management
## 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.
## Technical Details
- Real-time transaction processing
- Secure balance management
- Transaction validation
- Error handling
- User feedback
- Cross-module integration
- Event system integration
- State management
- Database persistence
- Transaction logging
- Balance verification
- Player validation