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

164 lines
4.5 KiB
Markdown

# Forge Medical Module
## Overview
The Medical module provides a comprehensive medical system for the Forge client. It includes features for handling player health, death, respawn, medical costs, and inventory management during medical events.
## Dependencies
- forge_client_main
## Authors
- J. Schmidt
- Creedcoder
- IDSolutions
## Features
### Medical System
1. **Medical Initialization** (`fnc_initMedical.sqf`)
- Initializes the medical system
- Sets up stretcher detection and triggers
- Configures medical service points
- Manages occupancy tracking
- Handles system variables
2. **Health Management**
- **Heart Beat** (`fnc_heartBeat.sqf`)
- Monitors player vital signs
- Tracks medical costs
- Manages respawn conditions
- Handles payment verification
- Controls spectator mode
- **On Killed** (`fnc_onKilled.sqf`)
- Handles player death events
- Creates body bag
- Saves dropped weapons
- Manages inventory transfer
- Triggers respawn process
- **On Respawn** (`fnc_onRespawn.sqf`)
- Manages player respawn process
- Handles medical costs
- Sets default loadout
- Manages stretcher placement
- Controls spectator mode
- Processes payment verification
3. **Inventory Management**
- **Move Inventory** (`fnc_moveInventory.sqf`)
- Transfers player inventory to body bag
- Handles all equipment types:
- Headgear
- Uniforms and items
- Vests and contents
- Backpacks and contents
- Weapons and attachments
- Magazines and ammo
- Assigned items
- Dropped equipment
- Manages weapon holders
- Preserves item condition
- **Save Dropped Weapons** (`fnc_saveDroppedWeapons.sqf`)
- Tracks dropped weapons
- Manages weapon attachments
- Preserves magazine data
- Handles handgun equipment
- Stores item information
4. **Medical Costs**
- **Deduct Medical Cost** (`fnc_deductMedicalCost.sqf`)
- Handles medical service payments
- Manages account selection
- Processes payment deduction
- Provides payment feedback
- Updates account balances
### Medical Features
1. **Stretcher System**
- Automatic stretcher detection
- Occupancy tracking
- Position management
- Respawn placement
- Trigger-based activation
2. **Body Bag System**
- Custom body bag class
- Increased storage capacity
- ACE dragging support
- Inventory preservation
- Equipment management
3. **Payment System**
- Insurance deductible
- Medical service costs
- Account balance checking
- Payment processing
- Transaction feedback
## 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 medical module:
1. Ensure the module is properly loaded in your mission
2. Monitor player health through the medical system
3. Handle medical events using the appropriate functions:
```sqf
// Initialize medical system
[] call forge_client_medical_fnc_initMedical;
// Handle player death
[player, killer, instigator, true] call forge_client_medical_fnc_onKilled;
// Process respawn
[player, corpse] call forge_client_medical_fnc_onRespawn;
```
4. Manage medical costs and inventory during medical events
## Configuration
The module can be configured through the main Forge client configuration:
```cpp
// Medical cost (default: 1000)
MED_COST = 1000;
// Insurance deductible (default: 200)
INS_DEDUCT = 200;
// Stretcher types
FORGE_Medical_StretcherTypes = [
"Land_Stretcher_01_F",
"Land_Stretcher_01_olive_F",
"Land_Stretcher_01_sand_F"
];
```
## 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
- Stretcher-based respawn system
- Body bag inventory management
- Medical cost processing
- Insurance system integration
- Inventory preservation
- Equipment tracking
- Payment verification
- Spectator mode control
- Trigger-based activation
- Event system integration
- State management
- Error handling
- User feedback
- Database persistence