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

124 lines
3.3 KiB
Markdown

# Forge Interaction Module
## Overview
The Interaction module provides a comprehensive player interaction system for the Forge client. It manages how players engage with objects, NPCs, items, and other interactive elements in the environment through a dynamic and context-sensitive interface.
## Dependencies
- forge_client_main
## Authors
- J. Schmidt
- Creedcoder
- IDSolutions
## Features
### Interaction System
1. **Interaction Initialization** (`fnc_initInteraction.sqf`)
- Initializes the interaction system
- Sets up interaction buttons and items
- Configures team coordination settings
- Manages virtual arsenal integration
2. **Interaction Interface**
- **Open Interaction** (`fnc_openInteraction.sqf`)
- Opens the interaction menu
- Displays available actions
- Manages button visibility
- Handles action execution
- **Interaction Action** (`fnc_interactionAction.sqf`)
- Processes selected actions
- Executes interaction commands
- Manages action feedback
- Handles interface updates
3. **Available Interactions**
- **Player Interactions**
- Give Cash
- Add Contact
- Access ATM
- Access CPOF (Company Point of Finance)
- Take Cash
- Open Locker
- Access Store
- Open Garage
- Virtual Armory (if enabled)
- Virtual Garage (if enabled)
4. **Team Coordination**
- Company garage access
- Team-specific interactions
- Permission-based actions
- Organization integration
### User Interface
1. **Interaction Menu**
- Dynamic button display
- Context-sensitive actions
- Distance-based availability
- Permission-based options
2. **Control Elements**
- Action buttons
- Status indicators
- Feedback messages
- Error handling
## 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 interaction module:
1. Ensure the module is properly loaded in your mission
2. Access interactions using the configured key (default: TAB)
3. Interact with objects and players:
```sqf
// Open interaction menu
[] call forge_client_interaction_fnc_openInteraction;
// Initialize interaction system
[] call forge_client_interaction_fnc_initInteraction;
```
4. Monitor interaction feedback and results
## Configuration
The module can be configured through the main Forge client configuration:
```cpp
// Interaction key (default: TAB)
interactionKey = 15;
// Team coordination mode
FORGE_Team_Coord = 1;
// Virtual arsenal enable
FORGE_VA_Enable = 1;
```
## 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
- Dynamic interaction system
- Context-sensitive actions
- Distance-based availability
- Permission management
- Team coordination
- Virtual arsenal integration
- Error handling
- User feedback
- Interface management
- Action validation
- State tracking
- Event system integration