Core Components:
- PlayerInboxMessage: Data structure for messages (from, subject, body, sent date, read status, expiration)
- PlayerInbox: Static class managing all player inboxes with save/load functionality
- Multiple Gump classes: UI interfaces for different interactions
Key Features:
- Message Management: Send/receive messages between players with 30-day auto-expiration
- Staff Commands:
- [SendMsg
- Staff can send messages to players
- [Inbox
- Players can check their messages
- [ClearInbox
- Admins can clear player inboxes
- Persistent Storage: Messages save to XML file on world save
- Notification System: Pop-up gump appears when players have unread messages
- Search Functionality: Staff can search for players when sending messages
- Security Checks: Prevents staff from receiving player messages
UI Components:
- InboxNotificationGump: Pop-up notification for unread messages
- PlayerInboxGump: Main inbox interface showing all messages
- PlayerInboxMessageGump: Individual message viewer
- SendMessageGump: Interface for composing/sending messages (with broadcast capability for admins)
The system automatically handles expired message cleanup, player login notifications, and maintains message persistence across server restarts.