Skip to content

Repository files navigation

Native MP HUD

Overview

Native Central HUD is a RedM resource that provides a fully native implementation of the multiplayer match UI for Red Dead Redemption 2. This resource allows developers to display synchronized timers, team scores, progress meters, and status icons using the game's original MP HUD system.

Unlike traditional NUI/web-based overlays, this resource leverages the game's built-in UI. This ensures that the UI elements match the authentic Red Dead Online aesthetic, handle screen safe zones perfectly, and integrate seamlessly with the player's existing HUD.

📖 Jump to Documentation

Feature Requests

If you're missing functionality or have ideas for new features that would improve Native MP HUD, please don't hesitate to open an issue. Feature requests from the community are always welcome, and feedback about use cases and requirements helps shape the direction of this project!

License & Monetization

This resource is provided free of charge and represents countless hours of development work. Like most RedM resources, it builds upon the game's existing functionality rather than being created from scratch - the underlying native functionality belongs to Rockstar Games.

While the RedM community is fantastic and there's certainly a space for paid resources, there's unfortunately a trend of knowledge being gatekept behind paywalls, making important development knowledge harder to access for the community.

For Server Owners: You're absolutely welcome to use Native MP HUD on your servers without any restrictions beyond the license terms.

For Resource Developers: If you want to use this as a base for your own projects or distribute modified versions, please pay close attention to the license requirements. As stated in the GNU GPL v3 license, any distributed modifications must be shared under the same open source license. This ensures that improvements benefit the entire community rather than being locked behind paywalls.

The goal is to foster collaboration and shared knowledge, not to enable profiteering from freely contributed work. This is simply a request for license compliance - since the code is open source and properly licensed, you are free to do with it what the license permits. Ultimately, everyone should strive to make the whole of RedM a better place for all players and developers.

Native MP HUD is licensed under the GNU GPL v3.

Types

TimerData

{
    Visible = true,
    Value = "00:00",       -- String: The time to display
    ValueLow = false,      -- Bool: If true, timer turns red
    Message = "",          -- String: Replaces timer value with text
    MessageLow = false     -- Bool: If true, message text turns red
}

ScoreData

{
    Visible = true,
    LeftScore = "0",       -- String
    LeftColor = "COLOR_BLUE",
    LeftTextColor = "COLOR_BLACK",
    RightScore = "0",      -- String
    RightColor = "COLOR_RED",
    RightTextColor = "COLOR_BLACK"
}

FistingData

{
    Visible = true,
    LeftMeter = 0,         -- Int (0-100)
    LeftColor = "COLOR_BLUE",
    RightMeter = 0,        -- Int (0-100)
    RightColor = "COLOR_RED"
}

MeterData

{
    Visible = true,
    Background = false,
    Blinking = false,
    Pulsing = false,
    MeterVisible = true,
    MeterValue = 0.0,      -- Float (0.0 - 1.0)
    MeterColor = "COLOR_PURE_WHITE",
    MeterThirds = false,   -- Show dividers
    IconTxd = "",          -- Texture Dictionary
    IconTxn = "",          -- Texture Name
    IconColor = "COLOR_PURE_WHITE",
    ShowAlternateIcons = false,
    SecondaryTxd = "",
    OverlayVisible = false,
    Text = ""              -- Text label for meter
}

IconData

Same as MeterData, but used for styles that support dynamic avatars (excludes meter-specific fields like MeterValue).

API

Function Description
SetTimerScoresAndMeters(timer, scores, meters) Timer, Scores, and up to 5 meters.
SetTimerTwoMetersPlusEightMeters(timer, meters) Timer with 2 main meters and 8 additional meters below.
SetTimerAndScores(timer, scores, showCountdown) Standard timer and scores with support for 3-2-1 countdown.
SetTimerAndFistingMeter(timer, fisting) Basic timer with the dual fisting meter.
SetTimerScoresAndFistingMeter(timer, scores, fisting) Timer, Scores, and the dual fisting meter.
SetFiveMeters(meters) Style containing 5 meters.
SetMsTimerAndScores(timer, scores, meter, wrongWay, showCountdown) Precision timer with scores, single meter, wrong way icon, and countdown.
SetTimerOnly(timer, showCountdown) Basic timer with optional central countdown.
SetTimerAndAvatars(timer, avatars, meters) Style containing 6 dynamic icons, 2 regular meters, and a timer.
SetTimerAndOneMeter(timer, meter) Timer and one meter.
SetTimerAndThreeMeters(timer, meters, showCountdown) Timer and three meters (supports central countdown).
SetTimerAndFourMeters(timer, meters) Timer and four meters.
SetTimerAndEightMeters(timer, meters) Timer and eight meters.
SetFractionTimer(timer) Fractional style timer.
SetFractionTimerScoresAndMeter(timer, scores, meter) Fractional timer, scores, and a single meter.
ClearUi() Shuts down the UI state and cleans up the state machine.

Attribution

This project builds upon the hard work and research of many talented individuals in the RedM community. Their contributions made this Native MP HUD implementation possible:

Contributing

Thank you for considering contributing to Native MP HUD! Please note that this project is released with a Contributor Covenant Code of Conduct. By participating in any way in this project, you agree to abide by its terms.

Before contributing, please take a moment to read the Contribution Guide to understand the development process and how to contribute.

About

A full implementation of the truly native MP HUD UI

Topics

Resources

Code of conduct

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Sponsor this project

Used by

Contributors

Languages