client/addons/service/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

151 lines
3.9 KiB
Markdown

# Forge Service Module
## Overview
The Service module provides a comprehensive vehicle service system for the Forge client. It includes features for vehicle repair, refueling, rearming, and general maintenance, with integration into the organization system for cost management.
## Dependencies
- forge_client_main
## Authors
- J. Schmidt
- Creedcoder
- IDSolutions
## Features
### Service System
1. **Service Initialization** (`fnc_initService.sqf`)
- Initializes the service system
- Sets up service points and triggers
- Configures fuel pump locations
- Manages service area detection
2. **Vehicle Maintenance**
- **Repair** (`fnc_repair.sqf`)
- Handles vehicle repair operations
- Calculates repair costs based on damage
- Manages labor hours and parts costs
- Provides repair progress feedback
- Integrates with organization funds
- **Refuel** (`fnc_refuel.sqf`)
- Manages vehicle refueling
- Calculates fuel costs
- Provides real-time refueling progress
- Handles fuel pump interactions
- Integrates with organization funds
- **Rearm** (`fnc_rearm.sqf`)
- Handles vehicle rearming
- Manages magazine reloading
- Processes turret systems
- Calculates rearm costs
- Integrates with organization funds
3. **Vehicle Service** (`fnc_vehicle.sqf`)
- Comprehensive vehicle service management
- Coordinates different service operations
- Handles cost calculations
- Manages service notifications
- Integrates with organization system
### Cost Management
1. **Cost Calculation**
- Repair costs (labor and parts)
- Fuel costs (based on amount needed)
- Rearm costs (per magazine)
- Total service costs
- Organization fund integration
2. **Organization Integration**
- Fund verification
- Cost deduction
- Transaction logging
- Balance updates
- Service authorization
### Service Points
1. **Fuel Stations**
- Automatic detection
- Service area setup
- Trigger management
- Vehicle detection
- Service activation
2. **Service Areas**
- Area definition
- Trigger configuration
- Vehicle validation
- Service coordination
- Status monitoring
## 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 service module:
```sqf
// Initialize service system
[] call forge_client_service_fnc_initService;
// Service a vehicle
[vehicle, "LAND"] call forge_client_service_fnc_vehicle;
// Repair a vehicle
[vehicle, "B_APC_Tracked_01_CRV_F"] call forge_client_service_fnc_repair;
// Refuel a vehicle
[vehicle, "B_APC_Tracked_01_CRV_F"] call forge_client_service_fnc_refuel;
// Rearm a vehicle
[vehicle, "B_APC_Tracked_01_CRV_F"] call forge_client_service_fnc_rearm;
```
## Integration
The service module integrates with other Forge client systems:
1. **Organization System**
- Fund management
- Cost tracking
- Transaction processing
- Service authorization
- Balance updates
2. **Vehicle System**
- Vehicle state tracking
- Damage monitoring
- Fuel management
- Armament status
- Service history
3. **Notification System**
- Service progress updates
- Cost notifications
- Status messages
- Error reporting
- Completion alerts
## 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 service processing
- Cost calculation system
- Organization fund integration
- Service point management
- Vehicle state tracking
- Progress monitoring
- Error handling
- Transaction logging
- Service validation
- Resource management
- Cross-module integration
- Event system integration