[FREE] Dynamic Blip Legend Stabilizer | Fix Too Many Blips / Map Legend Flickering

[FREE] Dynamic Blip Legend Stabilizer | Fix Too Many Blips / Map Legend Flickering

A lightweight standalone FiveM resource designed to fix GTA V’s pause-map legend flickering/breaking when a server has a large number of blips.

The Problem

Servers with a large number of map blips can eventually overload GTA V’s stock pause-map legend. This can cause the location list to constantly rebuild, flicker, display incorrectly, or become difficult to use.

The usual solution is to simply remove blips.

This resource takes a different approach.

How It Works

Instead of removing blips from the map, the resource dynamically controls which blips participate in GTA’s stock map legend.

The resource uses the world position underneath your pause-map cursor/crosshair as the center point and prioritizes the nearest blips for the legend.

All of your blips remain visible on the actual map.

Only their participation in GTA’s stock legend is dynamically managed.

Features

  • Keeps GTA V’s original stock map and legend.

  • All existing blips remain visible on the map.

  • Original blip names and icons are preserved.

  • Dynamically prioritizes blips around the map cursor.

  • Legend follows the area of the map you’re currently viewing.

  • Caps legend entries to prevent GTA’s Scaleform from becoming overloaded.

  • Updates are throttled to prevent constant legend rebuilding.

  • No framework dependency.

  • No NUI.

  • No replacement map.

  • No need to modify your existing blip resources.

  • Lightweight client-side resource.

Example

If you’re looking at Los Santos, the stock legend prioritizes nearby Los Santos blips.

Pan the map toward Sandy Shores, and the legend updates to prioritize locations around Sandy.

Move toward Paleto Bay, and Paleto-area blips become the priority.

The blips outside of that area do not disappear from the map. They’re simply temporarily excluded from the stock legend.

This allows servers with a very large number of blips to retain all of their map locations without overwhelming GTA V’s stock legend.

Why I Made This

This was developed for Monkeys Paradise RolePlay after we encountered GTA V’s stock map legend constantly rebuilding/flickering due to the number of blips on the server.

Instead of deleting locations or replacing GTA’s map UI, I wanted a solution that retained the stock GTA experience.

The result was dynamically managing legend membership based on the area of the map the player is currently viewing.

Installation

  1. Download the resource.

  2. Place mprp_legendstabilizer inside your resources folder.

  3. Add this to your server.cfg:

ensure mprp_legendstabilizer

  1. Restart the resource/server.

That’s it.

Compatibility

Framework: Standalone

The resource is designed to work alongside existing blip resources without requiring modifications to them.

It does not create replacements for your existing blips.

Configuration

The production configuration allows up to 100 nearby blips to participate in the stock legend at a time.

The system prioritizes blips based on their distance from the world position underneath the pause-map cursor.

Updates are intentionally throttled so moving the cursor does not cause GTA’s legend to constantly rebuild.

Performance

The resource only performs the additional legend-management work when necessary and does not replace or continuously redraw the GTA map.

The actual map blips remain controlled by the resources that originally created them.

Credits

Created by Mr Monkey for Monkeys Paradise RolePlay.

This resource came from trying to solve a problem we were having with a heavily populated FiveM map while keeping GTA’s original map functionality intact.

If you find an edge case, compatibility issue, or improvement, feel free to report it or contribute.

Download

Direct Download: Download on github

Resource Information

Code is accessible Yes
Subscription-based No
Lines (approximately) 327
Requirements None — Standalone FiveM resource
Support No
3 Likes

This issue occurs when you create too many blips simultaneously in FiveM. There is a very simple way to solve it: add a 1ms or 0ms wait whenever you create a blip. This way, even if you create thousands of blips at once, they will all display correctly, and you won’t encounter any problems.

RegisterCommand('bliptest', function(_, args)
    local count = tonumber(args[1]) or 1000
    local coords = GetEntityCoords(PlayerPedId())

    CreateThread(function()
        for i = 1, count do
            local blip = AddBlipForCoord(coords.x + math.random(-3000, 3000), coords.y + math.random(-3000, 3000), coords.z)
            SetBlipSprite(blip, 1)
            SetBlipAsShortRange(blip, true)

            BeginTextCommandSetBlipName('STRING')
            AddTextComponentSubstringPlayerName(('Test Blip %d'):format(i))
            EndTextCommandSetBlipName(blip)

            Wait(0)
        end
        print(('%d blips created'):format(count))
    end)
end, false)
2 Likes