Murphy's Telegram & Mail aggiunge a RedM un sistema completo di uffici postali con telegrammi, lettere, pacchi di oggetti, caselle di lavoro e sicurezza lato server.
Telegrammi, lettere e consegna di oggetti
I giocatori possono inviare due diversi tipi di posta tramite qualsiasi NPC dell'ufficio postale. I telegrammi hanno un limite di 120 caratteri e usano prezzi dinamici per carattere con font manoscritti scelti casualmente. Le lettere supportano fino a 10.000 caratteri, consentono al mittente di scegliere tra font manoscritti, corsivi e da macchina da scrivere e possono includere oggetti d'inventario allegati fino a un limite di peso configurabile. A entrambi i tipi si applicano ritardi di consegna configurabili, per offrire un'esperienza postale realistica.
Carta da lettere, modelli e contatti
Ogni corrispondenza viene visualizzata su modelli personalizzati con sfondi, intestazioni, timbri e bordi. I modelli possono essere limitati per lavoro, così sceriffi, medici, sindaci o qualsiasi ruolo configurato dispongono della propria carta ufficiale. Per aggiungere nuovi design basta sostituire un PNG, senza modificare il codice. Ogni personaggio mantiene un elenco di contatti persistente con preferiti e compilazione automatica del destinatario con un clic.
Uffici postali, caselle di lavoro e prezzi
- Addetti NPC configurabili: ogni sede dell'ufficio postale supporta modelli ped, outfit e dialoghi ambientali personalizzati, integrati con
murphy_interactper obiettivi di interazione 3D. - Caselle basate sul lavoro: le caselle condivise, come "Sceriffo di Rhodes", sono accessibili a qualsiasi giocatore con il lavoro corrispondente e indirizzano la posta a un ruolo anziché a una persona. Un sistema atomico di ritiro impedisce prelievi duplicati.
- Prezzi dinamici: i telegrammi usano un prezzo base più un costo per carattere; i pacchi delle lettere usano un prezzo base più un costo per oggetto. Tutti i prezzi vengono ricalcolati lato server, eliminando la manipolazione lato client.
- API esterna: export ed eventi permettono a qualsiasi risorsa di inviare posta tramite programmazione, incluse cartelle fiscali, offerte di lavoro, ricompense delle missioni, estratti conto bancari e annunci amministrativi. Sono inclusi dieci esempi di integrazione pronti all'uso insieme alla documentazione completa dell'API.
Supporto dei framework
Murphy's Telegram & Mail funziona direttamente con tre framework grazie a un'architettura basata su adapter che mantiene tutto il codice specifico dei framework isolato nei file degli adapter.
| Framework | Inventario | Notifiche |
|---|---|---|
| REDEMRP | redemrp_inventory | murphy_notify |
| RSG-Core | rsg-inventory | ox_lib |
| VORP | VorpInv | VORP core |
Sicurezza e prestazioni
- Convalida lato server: tutti i prezzi, le lunghezze dei campi, i tipi di oggetto e gli accessi per lavoro vengono controllati sul server.
- Query SQL parametrizzate: nessuna vulnerabilità di injection.
- Operazioni atomiche sul database: nessuna consegna duplicata o race condition.
- Limitazione della frequenza: cooldown configurabile tra gli invii.
- Pulizia automatica: i documenti scaduti e le voci della casella vengono eliminati automaticamente.
- Migrazione automatica: le tabelle del database vengono create al primo avvio senza richiedere SQL manuale.
Configurazione e contenuto incluso
Ogni aspetto del sistema è controllato da un unico config.lua, che comprende prezzi, limiti di caratteri, ritardi di consegna, vincoli dei pacchi, limitazione della frequenza, soglie di scadenza, sedi degli uffici postali, modelli e outfit degli NPC, caselle, modelli, font e lingua della UI. Le localizzazioni inglese e francese sono incluse per impostazione predefinita.
Il pacchetto contiene:
- Codice sorgente della UI creato con Vite e React, completamente personalizzabile.
- Documentazione completa con README, documentazione API, guida ai modelli e checklist per i test dello staff.
- Schema SQL creato automaticamente all'avvio.
- Dieci esempi di integrazione per i casi d'uso comuni del server.
Requisiti
- oxmysql
- murphy_interact (incluso separatamente)
- Un framework supportato: REDEMRP, RSG-Core o VORP






