# Forge Organization Module ## Overview The Organization module provides a comprehensive system for managing player-created organizations in the Forge client. It enables players to create, join, and manage organizations with features including member management, asset tracking, financial operations, and reputation systems. ## Dependencies - forge_client_main - ArmaDragonflyClient ## Authors - J. Schmidt - Creedcoder - IDSolutions ## Features ### Organization Management 1. **Creation & Disbanding** - Create new organizations with custom names - Set initial funds and reputation - Disband organizations (owner only) - Automatic database persistence 2. **Member Management** - Add and remove members - Role-based permissions - Member status tracking - Join date tracking - Leave organization option 3. **Asset Management** - Track organization-owned assets - Categorize assets by type - Store custom properties - Asset value tracking - Asset history logging ### Financial System 1. **Fund Management** - Add and remove funds - Transaction history - Balance tracking - Financial logging - Real-time updates 2. **Reputation System** - Reputation tracking - Reputation adjustments - Reputation history - Impact on gameplay - Reputation logging ### Data Management 1. **Database Integration** - Persistent storage - Automatic synchronization - Data validation - Error handling - Backup support 2. **Logging System** - Comprehensive activity logs - Transaction history - Member changes - Asset modifications - System events ## 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 organization module: ```sqf // Create a new organization [getPlayerUID player, "My Organization", 5000, 100] call forge_client_org_fnc_create; // Add a member ["76561198012345678", "John Doe"] call forge_client_org_fnc_addMember; // Add funds [1000] call forge_client_org_fnc_addFunds; // Add reputation [10] call forge_client_org_fnc_addReputation; // Add an asset ["vehicle", "B_MRAP_01_F"] call forge_client_org_fnc_addAsset; ``` ## Integration The organization module integrates with other Forge client systems: 1. **Bank System** - Organization accounts - Transaction processing - Balance management - Financial reporting 2. **Vehicle System** - Organization vehicles - Vehicle registration - Maintenance tracking - Usage logging 3. **Property System** - Organization properties - Property management - Value tracking - Usage rights ## 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 data synchronization - Secure data management - Comprehensive validation - Error handling - User feedback - Cross-module integration - Event system integration - State management - Database persistence - Transaction logging - Asset tracking - Member management