RedM documentation

Murphy's Telegram & Mail

Advanced

Multi-Framework Support


Murphy's Telegram & Mail supports three RedM frameworks out of the box via an adapter architecture.

Supported frameworks

Framework Config value Inventory Notifications
REDEMRP "REDEMRP2k23" redemrp_inventory murphy_notify
RSG-Core "rsg-core" rsg-inventory ox_lib
VORP "vorp" vorp_inventory vorp_core

Set your framework in config/config.lua:

lua
Config.framework = "REDEMRP2k23" -- or "rsg-core" or "vorp"

How it works

All framework-specific code is isolated in adapter files:

text
server/adapters/
REDEMRP2k23Adapter.lua
RSGAdapter.lua
VORPAdapter.lua
client/adapters/
REDEMRP2k23Adapter.lua
RSGAdapter.lua
VORPAdapter.lua

Each adapter implements the same set of functions (character data, inventory operations, money handling). The main business logic in callbacks.lua calls these functions without knowing which framework is active.

Adapter functions

Each adapter provides:

Function Purpose
GetCharIdentifier(src) Get character's unique identifier
GetCharFirstname(src) Get character's first name
GetCharLastname(src) Get character's last name
GetCharJob(src) Get character's job name
GetCharJobGrade(src) Get character's job grade
GetCharGroup(src) Get character's group/permission level
GiveItem(src, item, amount, meta) Add item to player's inventory
RemoveItem(src, item, amount, meta) Remove item from player's inventory
GetItemAmount(src, item) Get player's count of a specific item
GetItemMeta(src, item) Get metadata of first stack of an item
GetItemMetaOfPackage(src, item) Get all stacks with metadata
ChargeMoney(src, amount) Deduct money from player
RefundMoney(src, amount) Give money back to player
ResolveIdentifierByName(first, last) Find character ID by name (supports offline)
getItemDefs() Get all item definitions
getItemLabel(name) Get display label for an item

Framework-specific dependencies

REDEMRP

  • redem_roleplay - character data
  • redemrp_inventory - inventory management

RSG-Core

  • rsg-core - core framework object
  • rsg-inventory - inventory management
  • ox_lib - notifications

VORP

  • vorp_core - core framework (via getCore event)
  • vorp_inventory - inventory management (modern exports API)

Database differences

Framework Characters table Identifier field Name storage
REDEMRP characters citizenid Direct columns (firstname, lastname)
RSG-Core players citizenid JSON in charinfo column
VORP characters charidentifier Direct columns (firstname, lastname)

Last updated: September 9, 2026