BLIP_ADD_FOR_COORDS first arg is a BLIP_STYLE_* hash, not a sprite hash — passing a sprite returns a silent inert blip
Context
Adding map blips in RedM, often when porting GTA V code or following GTA tutorials.
The trap
BLIP_ADD_FOR_COORDS (0x554D9D53F696D002) signature is (blipHash, x, y, z) -> Blip. The native description doesn't specify what blipHash is — the natural assumption (especially coming from GTA V where AddBlipForCoord takes a sprite ID) is that you pass the icon hash, e.g. GetHashKey('blip_ambient_gang_leader').
This call returns a valid blip handle but no blip renders on the map. No error, no warning. The blip is silently inert.
Why
RedM's blip system separates style (range, color, fade behavior, label, scale-pulse, sonar-pulse, distance-fade rules) from sprite (the icon texture). BLIP_ADD_FOR_COORDS's first arg is a BLIP_STYLE_* hash — see rdr3_discoveries/useful_info_from_rpfs/blip_styles/README.md for the full enumeration (~300 styles). Passing a sprite/texture hash there gives the blip system no style to apply, and it doesn't fall back to a default.
Fix
Pass a style hash to BLIP_ADD_FOR_COORDS, then set the icon separately with SET_BLIP_SPRITE (0x74F74D3207ED525C):
local style = GetHashKey('BLIP_STYLE_GANG_CAMP') -- or _RANDOM_EVENT, _MISSION, etc.
local sprite = GetHashKey('blip_ambient_gang_leader')
local blip = Citizen.InvokeNative(0x554D9D53F696D002, style, x, y, z)
SetBlipSprite(blip, sprite, true)
Picking a style
Common choices for custom events:
BLIP_STYLE_GANG_CAMP— red (enemy color), 150m radar range, persistent on mapBLIP_STYLE_RANDOM_EVENT— grey, 150m range, fades over 3000ms when removed, sonar pulseBLIP_STYLE_MISSION— yellow, mission-launcher category, area-awareBLIP_STYLE_ENEMY— for combatant peds; auto-removes when target is dead/injured
Sprite list: rdr3_discoveries/useful_info_from_rpfs/textures/blips/README.md.
Verified
Hostile-camp blip with BLIP_STYLE_GANG_CAMP + sprite blip_ambient_gang_leader (-1489164512) renders correctly on map and minimap.
Linked natives
BLIP_ADD_FOR_COORDS(0x554D9D53F696D002)SET_BLIP_SPRITE(0x74F74D3207ED525C)
Tags: blip, map, ui, minimap, porting
Category: natives
Created: 2026-04-29T14:58:04.040Z