Skip to main content
A comprehensive map marker system that allows players to create custom blips on the map and compass overlay, providing an immersive navigation experience in RedM.
This script provides players with the ability to create, manage, and customize their own map markers with support for various blip sprites, colors, and compass overlay integration.

Features

Custom Blip Creation

Players can create personalized map markers with custom names, sprites, and colors.

Immersive Compass Overlay

Optional compass overlay feature that displays custom markers on the compass UI.

Multiple Placement Options

Place markers at current position, waypoint location, or specific coordinates.

Sprite & Color Customization

Extensive sprite library with customizable colors and visual styles.

Player Management

Individual player blip management with safety limits and personal organization.

Framework Integration

Compatible with VORP Core and RSG Core frameworks with custom framework support.

Installation

1

Download

Get the latest release from our Tebex Store and download it from your Keymaster
2

Extract

Extract the script folder to your server’s resources directory
3

Configure

Add ensure [script-name] to your server.cfg
4

Customize

Configure the config.lua file to your preferences (see Configuration section below)

Configuration

The script is highly configurable through the config.lua file. Here are the main configuration options:

General Settings

Config = Config or {}

-- General toggles
Config.debug = false

-- Enable/disable the compass overlay feature globally
Config.CompassEnabled = true

-- Optional: default compass icon (under ui/). Supports .png or .svg.
Config.CompassIconFallback = 'icons/marker.svg'

-- Keybind/command to open the UI manager
Config.OpenCommand = 'mapmarkers'

-- Max blips per player (safety)
Config.MaxBlipsPerPlayer = 50

Allowed Blip Sprites

Configure which blip sprites players can use:
-- Allowed blip sprites (sprite hashes). Only these can be used by players.
Config.AllowedSprites = {
    -- Hash numbers below are examples. Replace/add as needed per your server's needs
    -- Optional per-sprite icon for compass overlay, relative to ui/ (e.g. 'icons/shop.png').
    { label = 'Camp',           hash =  -1606321000, icon = "icons/blip_region_caravan.png" },
    { label = 'Shop',           hash =  1481032477, icon = "icons/blip_shop_store.png" },
    { label = 'Horse',          hash =  1938782895, icon = "icons/blip_shop_horse.png" },
    { label = 'Treasure',       hash =  -1138864184, icon = "icons/blip_chest.png" },
    { label = 'Cross',          hash =  -1489164512, icon = "icons/blip_ambient_gang_leader.png" },
    { label = 'Campfire',       hash =  1754365229, icon = "icons/blip_campfire.png" },
}
You can find more blip sprites and their hash values at: RDR3 Blip Discoveries

Allowed Colors

Configure available colors for blip customization:
-- Allowed colors for UI selection. RedM blip color support is limited; some sprites ignore color.
Config.AllowedColors = {
    -- blip_style can be any style from: https://github.com/femga/rdr3_discoveries/tree/master/useful_info_from_rpfs/blip_styles
    -- Use nil to apply no style (e.g., white)
    { label = 'White', value = 'white', rgb = {255,255,255}, blip_style = nil },
    { label = 'Red',   value = 'red',   rgb = {200,40,40},  blip_style = 'BLIP_STYLE_DEBUG_RED' },
    { label = 'Green', value = 'green', rgb = {56,176,74},  blip_style = 'BLIP_STYLE_DEBUG_GREEN' },
    { label = 'Blue',  value = 'blue',  rgb = {70,120,200}, blip_style = 'BLIP_STYLE_DEBUG_BLUE' },
    { label = 'Yellow',value = 'yellow',rgb = {220,180,60}, blip_style = 'BLIP_STYLE_DEBUG_YELLOW' },
}
RedM blip color support is limited. Colors will apply to the compass overlay and map blips where supported by the game engine.

Language Localization

Customize the UI text and labels:
-- UI language/localization (server owner can translate these)
Config.Language = {
    TitleMain = 'Map Markers',
    TitleCreate = 'Create new blip',
    TitleYour = 'Your blips',

    LabelName = 'Name',
    LabelSprite = 'Sprite',
    LabelColor = 'Color',
    LabelWhere = 'Where',
    LabelShowOnCompass = 'Show on compass',

    WhereCurrent = 'Current Position',
    WhereWaypoint = 'Waypoint',
    WhereCoord = 'Specific Coordinates',

    ButtonCreate = 'Create',
    ButtonClose = 'Close',
    ButtonCompassOn = 'Compass: On',
    ButtonCompassOff = 'Compass: Off',

    ListSetCurrent = 'Set to current',
    ListSetWaypoint = 'Set to waypoint',
    ListDelete = 'Delete',

    LabelX = 'X',
    LabelY = 'Y',
    LabelZ = 'Z',
    LabelSpriteInline = 'Sprite',
    LabelColorInline = 'Color',
    LabelCompassInline = 'Compass',

    SelectSpritePlaceholder = 'Select sprite',
}

Usage

Opening the UI

Players can open the map marker interface using the configured command:
/mapmarkers

Creating Markers

1

Open Interface

Use the /mapmarkers command to open the UI
2

Select Options

Choose a sprite, color, and placement location
3

Configure Details

Set a custom name and enable/disable compass overlay
4

Create Marker

Click “Create” to place the marker on the map

Placement Options

Places the marker at the player’s current location. Useful for marking points of interest you’re currently at.
Places the marker at the active waypoint location. Perfect for marking destinations or navigation points.
Allows manual input of X, Y, Z coordinates for precise marker placement. Useful for marking locations you know the coordinates for.

Compass Overlay

The compass overlay feature provides an immersive navigation experience:
The compass overlay displays custom markers on the compass UI, making navigation more intuitive and immersive.

Compass Configuration

-- Enable/disable the compass overlay feature globally
Config.CompassEnabled = true

-- Optional: default compass icon (under ui/). Supports .png or .svg.
Config.CompassIconFallback = 'icons/marker.svg'
Disabling the compass feature will remove the compass overlay option from the UI entirely.

Customization

Adding Custom Sprites

To add new blip sprites, find the hash value and add to the AllowedSprites table:
{ label = 'Your Custom Label', hash = YOUR_HASH_VALUE, icon = "icons/your_icon.png" }

Adding Custom Colors

To add new colors, include them in the AllowedColors table:
{ label = 'Purple', value = 'purple', rgb = {128,0,128}, blip_style = 'BLIP_STYLE_DEBUG_PURPLE' }

Custom Icons

Place custom icons in the ui/icons/ directory. Supported formats:
  • PNG files (.png)
  • SVG files (.svg)
Icon paths in the configuration are relative to the ui/ directory.

Performance Considerations

The script is optimized for performance, but here are some tips to ensure smooth operation:
  • Max Blips Per Player: The default limit of 50 blips per player helps maintain performance
  • Compass Overlay: Disable if not needed to reduce UI overhead
  • Debug Mode: Keep disabled in production for optimal performance
  • Sprite Selection: Limit the number of allowed sprites to reduce UI complexity

Troubleshooting

Check if the command is properly configured in Config.OpenCommand, ensure the script is properly started, and verify there are no console errors.
Verify Config.CompassEnabled is set to true, check that compass icons exist in the ui/icons directory, and ensure the UI files are properly loaded.
Confirm the sprite hash values are correct, check that colors are properly configured, and verify the placement coordinates are valid.
Reduce the maximum blips per player, limit the number of allowed sprites, disable debug mode, and check for conflicting scripts.

Framework Integration

The script includes built-in support for multiple frameworks:
-- Automatically detected when vorp_core is running
-- No additional configuration required

Support

If you encounter issues or need assistance:
I