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

3.5 KiB

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:
    // 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:

#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