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

132 lines
3.5 KiB
Markdown

# Forge Garage Module
## Overview
The Garage module provides a comprehensive vehicle management system for the Forge client. It includes features for storing, spawning, and managing vehicles in a garage environment, with support for various vehicle types and states.
## Dependencies
- forge_client_main
## Authors
- J. Schmidt
- Creedcoder
- IDSolutions
## Features
### Garage System
1. **Garage Initialization** (`fnc_initGarage.sqf`)
- Initializes the garage system
- Sets up vehicle storage and management
- Configures garage locations and spawn points
- Manages vehicle state persistence
2. **Vehicle Management**
- **Spawn Vehicle** (`fnc_spawnVehicle.sqf`)
- Handles vehicle spawning from garage
- Manages spawn locations and orientations
- Preserves vehicle type information
- Updates garage inventory
- **Store Vehicle** (`fnc_storeVehicle.sqf`)
- Manages vehicle storage in garage
- Handles vehicle cleanup
- Updates garage inventory
- Preserves vehicle data
- **Fetch Garage** (`fnc_fetchGarage.sqf`)
- Retrieves garage vehicle information
- Updates garage interface
- Manages vehicle listings
- Handles vehicle categorization
- **Fetch Nearby** (`fnc_fetchNearby.sqf`)
- Locates and manages nearby vehicles
- Validates vehicle ownership
- Handles vehicle state checks
- Updates interface with nearby vehicles
3. **Vehicle Categories**
- Cars (Light vehicles, transport)
- Armor (Tanks, APCs)
- Helicopters (All rotary-wing aircraft)
- Planes (Fixed-wing aircraft)
- Naval (Boats, ships)
- Static (Weapons, emplacements)
4. **Vehicle States**
- Available
- In Use
- Maintenance
- Damaged
- Fuel Status
- Condition Tracking
### User Interface
1. **Garage Dialog**
- Vehicle listing and management
- Category filtering
- Status indicators
- Action buttons (Spawn/Store)
- Vehicle details display
2. **Vehicle Information**
- Vehicle name and type
- Status indicators
- Fuel level
- Damage state
- Maintenance status
- Last used timestamp
3. **Controls**
- Category filters
- Vehicle actions
- Status management
- Quick access buttons
## 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 garage module:
1. Ensure the module is properly loaded in your mission
2. Access the garage through the provided UI
3. Manage vehicles using the appropriate functions:
```sqf
// Open garage interface
[] call forge_client_garage_fnc_openGarage;
// Store a vehicle
[] call forge_client_garage_fnc_storeVehicle;
// Spawn a vehicle
[] call forge_client_garage_fnc_spawnVehicle;
```
4. Monitor vehicle status and location
## 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
- Vehicle state persistence
- Category-based organization
- Status tracking system
- Location management
- Spawn point configuration
- Vehicle cleanup handling
- Interface synchronization
- Event system integration
- Error handling
- Debug support
- Data validation
- State management