Framework Support
sh-telegram supports both VORP and RSG frameworks. Set the framework in your server-sideconfig.lua before starting the resource:
config.lua (server)
Localization
sh-telegram ships with English, Spanish, and German locale files. Set the active locale in the config:config.lua (server)
Telegram IDs
Every character receives a unique Telegram ID the first time they interact with a telegraph office. You can choose from three ID formats to match your server’s theme:- numeric
- town
- custom
A six-digit numeric code assigned randomly, for example
034921. Best for servers that want a neutral, registry-style identifier.config.lua (server)
Features
Send Telegrams
Send Telegrams
Players compose a text message at the telegraph office counter and pay a base fee to dispatch it. An optional anonymous send mode obscures the sender’s identity for an additional surcharge. Sent telegrams are stored per-character in the database and appear in the recipient’s NUI inbox.
Inbox UI
Inbox UI
The NUI inbox uses Vue 3 with western-themed styling. Players can browse their message list, open individual telegrams, reply directly from the view pane, and delete messages they no longer need. An unread indicator persists on the HUD when new telegrams are waiting, and you can position the indicator anywhere on screen from the client config.
Parcel System
Parcel System
Players can bundle physical items into a parcel and send it to another character’s Telegram ID. You control the base parcel fee, the maximum number of distinct item types per parcel, and optional per-item surcharges. The recipient collects the parcel from the telegraph office.
Parcel Mishaps
Parcel Mishaps
Enable mishap events to simulate the unpredictability of frontier mail. When a parcel triggers a mishap, one of three outcomes can apply: the parcel arrives
damaged (cosmetic label only), the recipient receives only part of the contents (lost_some), or the entire parcel is lost (lost_all). You configure which outcome is active, the overall chance percentage, and the loss percentage range.Return to Sender
Return to Sender
Players can manually request that an uncollected parcel be returned to them for an optional fee. You can also enable automatic returns after a configurable number of unclaimed days so that inventory items are never permanently stuck in transit.
Contacts List
Contacts List
Players save frequently contacted characters with a friendly display name and can mark favorites for quick access when composing a new telegram or parcel.
NPC Clerks & Blips
NPC Clerks & Blips
Define telegraph office locations in the client config. Each location spawns a period-appropriate NPC clerk and a world blip so players can find offices on the map. You can add as many office locations as your map warrants.
Configuration
Server Config
The following block covers every server-side option. Copy it into yourconfig.lua and adjust values to match your server’s economy and feature preferences:
config.lua (server)
Client Config
NPC clerk spawn points, map blip settings (sprite, color, scale), and the on-screen position of the unread-telegram HUD indicator are all defined in the client-sideconfig.lua. Each office entry uses a vector4 coordinate (x, y, z, heading) for the NPC’s spawn position and facing direction.
After editing either config file, restart the resource with
ensure sh-telegram in your server console for changes to take effect.sh-identity Integration
If your server runs sh-identity, you can require players to hold a valid identity card before they can use the telegraph office:config.lua (server)
Installation
Add to server.cfg
Add
ensure sh-telegram to your server.cfg after your framework resource and, if applicable, after sh-identity.server.cfg
Import the SQL file
Run the SQL file found in the
sql/ folder of the resource against your database to create the required tables for telegrams, parcels, contacts, and character IDs.Configure
Open
server/config.lua and set your framework, fees, ID mode, and webhook URLs. Then open the client config to place your telegraph office NPC locations.