minimapscaleformhud10 min read · updated 9/19/2026

The FiveM minimap scaleform: SETUP_HEALTH_ARMOUR and the bars under the radar

Almost every custom HUD on a FiveM server contains the same eight lines: request the minimap scaleform, call SETUP_HEALTH_ARMOUR, push the integer 3, end the method. The snippet gets copied from resource to resource, and very few people who ship it know what the 3 means, why the bars sometimes come back after a respawn, or why a streamed minimap.gfx occasionally breaks the distance readout on the GPS. This guide takes the minimap scaleform apart: what it draws, what the radar engine draws instead, what each common method does, and how to hide the green and blue bars in a way that survives game updates and other resources.

Short answer: The health and armour bars under the GTA V radar are drawn by the minimap Scaleform movie (minimap.gfx), not by the radar engine. Calling its SETUP_HEALTH_ARMOUR method with ScaleformMovieMethodAddParamInt(3) switches the movie into the golf layout, which has no health or armour bars. The game re-runs the setup when the minimap restarts, so the call has to be repeated, either on a slow timer or after events that reload the minimap. Streaming an edited minimap.gfx removes the bars permanently but ties the file to one game build.

FiveM Minimap Scaleform: SETUP_HEALTH_ARMOUR Guide

#What the minimap scaleform actually draws

The radar in the bottom-left corner is two systems stacked on top of each other. The engine renders the map itself: the six minimap_* texture tiles, the sea, roads, the player arrow, blips, the GPS line and the interior floor plans. On top of that sits a Scaleform movie called minimap, a Flash file compiled into Rockstar's GFx format and stored as minimap.gfx. The movie draws everything that looks like a user interface element rather than a map.

Knowing which system owns what saves hours. A blip that renders wrong is an engine problem and no scaleform call will fix it. A health bar that refuses to disappear is a scaleform problem and no radar native will touch it. DisplayRadar(false) hides both layers together, which is why people assume they are one thing; they are not.

ElementDrawn byControlled with
Map tiles, sea, roadsRadar engineStreamed minimap_*.ytd files, zoom natives
Blips, GPS line, player arrowRadar engineBlip and GPS natives
Interior floor plansRadar engine (per-interior .gfx)SetRadarAsInteriorThisFrame
Health, armour, ability barsminimap scaleformSETUP_HEALTH_ARMOUR and bar methods
Satnav distance and turn arrowminimap scaleformSHOW_SATNAV, HIDE_SATNAV
Breath (air) meter underwaterminimap scaleformSET_AIR_BAR
Aircraft yoke and stall warningminimap scaleformSHOW_YOKE, SHOW_STALL_WARNING

Who draws which part of the GTA V radar

The original file lives in update.rpf\x64\patch\data\cdimages\scaleform_minimap.rpf. You can export it with OpenIV or CodeWalker and open it in the JPEXS Free Flash Decompiler to read the ActionScript, which is how everything below was worked out by the community in the first place.

#Getting a handle to the running movie

Scripts talk to the minimap movie through the ordinary scaleform natives. The game already has the movie loaded for the HUD, so requesting it by name gives your script a handle it can call methods on. You do not draw it yourself with DrawScaleformMovie; the game keeps drawing it as part of the radar.

client.lua
local function getMinimap()
    local handle = RequestScaleformMovie('minimap')
    local timeout = GetGameTimer() + 5000
    while not HasScaleformMovieLoaded(handle) do
        if GetGameTimer() > timeout then return nil end
        Wait(0)
    end
    return handle
end

Every call follows the same three-step shape: BeginScaleformMovieMethod(handle, 'METHOD_NAME'), one ScaleformMovieMethodAddParam… call per argument in the order the ActionScript function declares them, then EndScaleformMovieMethod(). A wrong argument type is not an error; the Flash side simply receives undefined and usually does nothing, which makes typos in method names and parameter types silent.

#What SETUP_HEALTH_ARMOUR and the value 3 mean

SETUP_HEALTH_ARMOUR(healthType) is the method the game calls when it builds the radar's lower strip. It stores the type, removes whatever bar clip is attached, and attaches a new one from the movie's library depending on the value. The lower values give the familiar single-player and GTA Online layouts with health, armour and, in single player, the special-ability bar. The value 3 attaches the layout the golf minigame uses, and the golf layout simply has no health or armour bars in it.

That is the whole trick behind ScaleformMovieMethodAddParamInt(3): you are not deleting the bars, you are telling the movie to use a layout that never had them. It also explains the side effects people report. The golf layout is a different clip, so anything the standard clip also carried behaves differently while it is active.

client.lua — the common version, explained
CreateThread(function()
    local minimap = RequestScaleformMovie('minimap')
    while not HasScaleformMovieLoaded(minimap) do Wait(0) end

    while true do
        BeginScaleformMovieMethod(minimap, 'SETUP_HEALTH_ARMOUR')
        ScaleformMovieMethodAddParamInt(3) -- 3 = golf layout, no health/armour bars
        EndScaleformMovieMethod()
        Wait(500)
    end
end)

Searching for setup_health_armour scaleformmoviemethodaddparamint(3) usually means someone found this snippet inside a HUD and wants to know whether it is safe. It is: the method only swaps a clip inside a UI movie. It cannot crash the client, it has no network effect, and it costs almost nothing at a 500 ms interval.

#Why the bars come back

Servers that call the method once at resource start see the bars return at seemingly random moments. They are not random. The game rebuilds the minimap movie, or re-runs its own setup call with the default type, whenever the radar is reinitialised:

  • Toggling the big map with SetBigmapActive, or the player pressing the expand key in a vehicle.
  • The pause menu closing, particularly after a settings change that restarts the frontend.
  • A resource calling SetMinimapComponentPosition, which rebuilds the minimap layout.
  • Respawning or being resurrected, when frameworks call their own HUD setup.
  • A resolution or aspect-ratio change.

Two strategies work. The simple one is the timer above: re-apply every 300 to 1000 ms and accept that the bars may flash for a fraction of a second after a reset. The tidier one re-applies on the events that matter and adds a slow safety timer on top.

client.lua — event-driven with a safety net
local minimap

local function hideBars()
    if not minimap then
        minimap = RequestScaleformMovie('minimap')
        while not HasScaleformMovieLoaded(minimap) do Wait(0) end
    end
    BeginScaleformMovieMethod(minimap, 'SETUP_HEALTH_ARMOUR')
    ScaleformMovieMethodAddParamInt(3)
    EndScaleformMovieMethod()
end

local wasBig, wasPaused = false, false
CreateThread(function()
    hideBars()
    while true do
        local big, paused = IsBigmapActive(), IsPauseMenuActive()
        if big ~= wasBig or (wasPaused and not paused) then
            Wait(100)
            hideBars()
        end
        wasBig, wasPaused = big, paused
        Wait(250)
    end
end)

AddEventHandler('playerSpawned', function()
    Wait(500)
    hideBars()
end)

#Other methods worth knowing

The same movie exposes more than the bar layout. These are the methods HUD authors actually use, with the parameter types the decompiled ActionScript expects:

MethodParametersEffect
SETUP_HEALTH_ARMOURint layoutChooses the bar layout; 3 = golf, no bars
SHOW_SATNAV / HIDE_SATNAVnoneShows or hides the satnav panel
SET_SATNAV_DIRECTIONint iconSets the turn arrow shown in the satnav panel
SET_SATNAV_DISTANCEint distanceSets the distance readout
SET_ABILITY_BAR_VISIBILITY_IN_MULTIPLAYERboolShows the ability bar in the multiplayer layout
SET_AIR_BARfloatSets the underwater breath meter
SHOW_STALL_WARNINGboolAircraft stall warning
SHOW_YOKEfloat, float, bool, intAircraft yoke indicator

The bar values themselves (SET_PLAYER_HEALTH, SET_PLAYER_ARMOUR) are pushed by the game every frame from the ped's real health, so overriding them from a script only lasts until the next frame. If you want a different visual for health, hide the bars and draw your own in NUI; do not try to fight the game's updates.

#The permanent route: an edited minimap.gfx

The alternative to a script is to edit the movie itself. Export minimap.gfx, open it in JPEXS, find the SETUP_HEALTH_ARMOUR(healthType) function in the ActionScript, and change it so that it always attaches an invisible clip whatever type the game asks for. Save, then stream the file from a resource by placing it in the stream folder. No manifest entry is needed beyond a normal fxmanifest.lua; FiveM streams everything in stream/.

  1. Export minimap.gfx from scaleform_minimap.rpf for the same game build your server enforces.
  2. Open it in JPEXS Free Flash Decompiler and locate SETUP_HEALTH_ARMOUR in the scripts tree.
  3. Edit the ActionScript so the attached bar clip is hidden, and keep the satnav clip untouched.
  4. Save the file and put it in yourresource/stream/minimap.gfx.
  5. Restart the resource, clear the client cache and test the satnav with an active waypoint.

The edit has two known pitfalls. Early versions of this edit attached only the golf clip and dropped the satnav clip that the standard layout also carries, so the distance-to-waypoint readout disappeared with the bars. Later edits keep the satnav attachment and only hide the health clip. The second pitfall is maintenance: Rockstar changes minimap.gfx in title updates, and an old copy streamed onto a newer build can lose features that the new build's scripts call.

Lua methodEdited minimap.gfx
Setup effortMinutesAn hour with JPEXS the first time
Survives minimap restartsOnly if re-appliedAlways
Game-build dependentNoYes, rebuild per enforced build
ConflictsAnother script calling the method with a different valueAny other resource streaming minimap.gfx
Client can undo itYes, with an injected callNo

#Conflicts with other resources

Only one resource can provide a streamed file of a given name, and the last one loaded wins. Several HUD packs, minimap-shape resources and older map packs ship their own minimap.gfx. If you install two of them, one silently replaces the other and the symptoms look like bugs in the resource that lost: bars reappearing, the satnav missing, or a scaling fix no longer applying.

Search your resources folder for minimap.gfx before adding anything that touches the radar, and search for SETUP_HEALTH_ARMOUR too. Two scripts calling it with different values (one with 3, another restoring the default on respawn) will fight on every tick. The same rule applies to the map textures themselves, which is covered in how the minimap files are built. A texture-only minimap from the catalogue replaces minimap_*.ytd tiles and never touches minimap.gfx, so it combines with either method here.

#A quick checklist

  • Decide whether the bars should be hidden everywhere or only while your own HUD is visible.
  • Use the Lua method unless you have a reason to lock it down; it survives game updates.
  • Re-apply on a 250–1000 ms timer or after big-map, pause-menu and spawn events.
  • Keep exactly one resource responsible for the call.
  • If you stream an edited minimap.gfx, keep the source file and note the game build it came from.
  • Test with an active waypoint so you notice a missing satnav before your players do.

For hiding the whole radar rather than just the bars, see hiding the minimap; for moving the radar, see minimap position and anchors.

Questions

What does ScaleformMovieMethodAddParamInt(3) do on the minimap?
It passes the layout value 3 to the minimap scaleform's SETUP_HEALTH_ARMOUR method. Layout 3 is the golf minigame layout, which has no health or armour bars, so the bars disappear.
Why do the health bars come back after respawning?
The minimap movie is reset when the radar reinitialises, for example after respawning, toggling the big map or closing the pause menu. Re-apply the call on a timer or after those events.
Does hiding the bars affect the player's real health?
No. The method only changes which UI clip the minimap movie displays. Health and armour values are untouched.
Where is minimap.gfx stored?
In update.rpf\x64\patch\data\cdimages\scaleform_minimap.rpf. Export it for the game build your server enforces before editing.
Why did my satnav distance disappear?
An edited minimap.gfx that only attaches the golf clip also removes the satnav clip. Use an edit that keeps the satnav attachment, or use the Lua method instead.
Can two resources both hide the bars?
They can, but they should not. Keep one resource responsible, and never stream two different minimap.gfx files.

Ready to pick a map?

Twelve themes on three base map styles, $8 each, instant download.

Relevant to what you just read