Skip to content

Lanterns & Items

Supported out of the box

WeaponPropConfig item name
weapon_melee_lanterns_interact_lantern01xlantern
weapon_melee_davy_lanterns_interact_lantern02xdavy_lantern
weapon_melee_lantern_halloweenmp009_s_interact_lanternskull01xskull_lantern
weapon_melee_lantern_electrics_interact_lantern01xelectric_lantern

Any lantern the game reports that is not listed falls back to Config.DefaultLantern, so an unknown lantern still works rather than breaking.

Adding your own

Add an entry to Config.Lanterns, keyed by the weapon hash:

lua
[`weapon_melee_lantern_electric`] = {
    id    = 'ELECTRIC',
    label = 'Electric Lantern',
    prop  = `s_interact_lantern01x`,   -- used on the saddle and on the ground
    item  = 'electric_lantern',        -- your inventory item name

    horse   = { pos = vector3(-0.060, -0.200, -0.447), rot = vector3(25.85, 1.72, 179.39) },
    satchel = { pos = vector3(-0.020,  0.035, -0.090), rot = vector3(3.50, 0.00, 10.00) },
    gunbelt = { pos = vector3( 0.410, -0.105, -0.065), rot = vector3(-100.0, -167.0, 87.0) },
},
FieldWhat it is
idFree-form label used in debug output
labelHuman readable name
propObject model spawned on the saddle and on the ground
itemInventory item name, only used when RequireItem is on
horseOffsets for the saddle. Only used by the weightbag attach point
satchelOffsets for the PH_Lantern bone
gunbeltOffsets for the MH_L_BeltSide bone

The backtick syntax (`weapon_name`) is shorthand for the hash — copy the style of the existing entries.

Start by copying the offsets from a lantern of similar shape, then fit them with the tuning commands in Carrying & attach points.

Inventory integration

Off by default. A player just needs the lantern weapon, exactly like the singleplayer mod.

lua
Config.Inventory = {
    RequireItem = false,
    ConsumeOnPlace = false,
}

RequireItem

When true, placing a lantern in the world requires the matching item from Config.Lanterns to be in the player's inventory.

Stowing on the belt or saddle is never gated — the player already has the lantern in hand at that point, so asking again would be strange.

ConsumeOnPlace

When true (and RequireItem is also on), the item is taken out of the player's inventory while the lantern is on the ground, and given back when they pick it up.

A full inventory does not eat the lantern

If their inventory is full at pickup, the pickup is refused and the lantern stays lit where it is rather than vanishing.

Needs RequireItem = true to do anything.

Giving players a lantern

This resource does not hand out lanterns — that stays with your framework, the same as any other weapon or item.

FrameworkHow
VORPCreate an item that gives weapon_melee_davy_lantern on use, or sell the weapon through a shop
RSG / QBRAn item with a use callback that gives the weapon
RedEM:RPA usable item that gives the weapon
StandaloneGive the weapon with your admin menu, or through whatever shop resource you run

Once the player has the lantern in hand, the resource takes over.

Props and streaming

All four lantern props are base game assets. Nothing is streamed and there is no stream folder, so there is nothing to download and no asset pack to set up.

If you point prop at a custom model, make sure the resource providing it starts before rm_Lantern, and expect to re-tune the offsets — a different model means a different pivot.

Documentation for RedMorrow. Scripts are licensed per server — redistribution is not permitted.