Przejdź do treści
Blip, Marker & Checkpoint Browser

Blip, Marker & Checkpoint Browser

Pick a GTA V blip sprite and colour, a DrawMarker type or a race checkpoint by picture, tune it, and copy a ready FiveM Lua snippet.

Ta dokumentacja jest na razie po angielsku.

Open the tool Last updated

The Blip, Marker & Checkpoint Browser shows every map blip sprite (966), blip colour (100), marker type (44) and checkpoint type (50) with a preview and its id. Click one to copy the id, tune the options in the side panel, and copy a Lua snippet that creates it.

What it is for

Blip sprite 52, colour 2, marker 1: scripts are full of these numbers and nobody remembers them. Instead of guessing and reconnecting, you pick the icon or shape by picture here, check how the colour looks on it, and paste a working snippet into your client script.

Quick start

  1. Pick a tab: Sprites, Colours, Markers or Checkpoints. The tab is kept in the URL (?tab=markers), so you can link straight to it.
  2. Search by id or name in the box on the right. A number matches ids that start with it.
  3. Click a tile. It becomes the selected one and its id is copied (the tile briefly says Copied).
  4. Adjust the options in the panel (Blip, Marker or Checkpoint).
  5. Copy the code block under the panel (blip.lua, marker.lua or checkpoint.lua).

Sprites and colours

The Sprites and Colours tabs share the Blip panel.

Option What it does Default
Colour swatches Pick the blip colour. Picking one also turns the tint preview on. 0 (White)
Tint preview Multiplies the sprite previews by the selected colour, the way the game tints white icons. off
Label The name shown in the map legend. My Blip
Scale Blip size, 0.3 to 2. 0.8
Coords (x, y, z) Where the blip goes. Any x, y, z text works. 215.76, -810.12, 30.73
Short range Only show it on the minimap when the player is nearby. on

The Colours tab lists every SetBlipColour value with its name and hex code. Some colours have enemy and friendly variants: picking one adds SetBlipAsFriendly to the snippet.

Most sprites are white and take the colour. A few (police, gang and mission icons) are already coloured and ignore it, which the tint preview shows too.

blip.lua
local blip = AddBlipForCoord(215.76, -810.12, 30.73)
SetBlipSprite(blip, 1) -- radar_level
SetBlipDisplay(blip, 4)
SetBlipScale(blip, 0.8)
SetBlipColour(blip, 0) -- White
SetBlipAsShortRange(blip, true)
BeginTextCommandSetBlipName("STRING")
AddTextComponentSubstringPlayerName("My Blip")
EndTextCommandSetBlipName(blip)

SetBlipDisplay(blip, 4) shows the blip on both the pause map and the minimap.

Markers

The Markers tab lists every DrawMarker type with a picture. The Marker panel:

Option What it does Default
Scale X / Y / Z Size on each axis. 1.0, 1.0, 1.0
Colour Any colour from the picker. #5db6e5
Alpha Opacity, 0 to 255. 150
Blip colour presets The first 30 blip colours as quick picks, so a marker can match its blip.
Bob up and down Marker floats up and down. off
Rotate Marker spins. off
Face camera Marker always turns towards the camera. off
Draw distance Only draw it when the player is within this many metres. 20
Coords Marker position (shared with the blip coords).

Markers only last one frame, so the snippet draws it every tick while you are close and sleeps 500 ms when you are not. The z is lowered by 0.98 so the marker sits on the ground when you paste player coordinates.

marker.lua
local pos = vector3(215.76, -810.12, 30.73)

CreateThread(function()
    while true do
        local sleep = 500
        local dist = #(GetEntityCoords(PlayerPedId()) - pos)
        if dist < 20.0 then
            sleep = 0
            DrawMarker(
                1, -- MarkerTypeVerticalCylinder
                pos.x, pos.y, pos.z - 0.98,
                0.0, 0.0, 0.0,   -- direction
                0.0, 0.0, 0.0,   -- rotation
                1.0, 1.0, 1.0,   -- scale
                93, 182, 229, 150,   -- rgba
                false, false, 2, false,
                nil, nil, false
            )
        end
        Wait(sleep)
    end
end)

Checkpoints

The Checkpoints tab lists the CreateCheckpoint types (race cylinders, rings, arrows, flags). Ids match game build 2189 and newer. Types that are not used in game are dimmed. A checkpoint is created once and the game keeps drawing it until you delete it, so there is no per-frame loop.

Option What it does Default
Number or icon (reserved) Only for types 44 to 46. Pick a group (numbers 0 to 99, or chevrons, circles, arrows and spheres with a digit, 100 to 189) and a value. The preview tile updates. 1
Position (x, y, z) Where the checkpoint is. Shared with the blip and marker coords.
Next point (x, y, z) Only sets where the arrow faces. Pass the next checkpoint of the route. 225.40, -798.90, 30.73
Diameter 0.5 to 20. 4
Colour / Alpha Main colour. #5db6e5, 120
Blip colour presets Quick picks for the main colour.
Icon colour / Alpha Colour of the arrow, flag or number inside. white, 200
Cylinder height: Near, Far, Radius Height while the player is within the radius (near) and outside it (far). 2.0, 2.0, 4.0
Delete when reached Adds a loop that deletes the checkpoint once the player is inside it. on
checkpoint.lua
local pos = vector3(215.76, -810.12, 30.73)
local nextPos = vector3(225.40, -798.90, 30.73) -- arrows point here

-- Created once. The game draws it every frame until you delete it.
local cp = CreateCheckpoint(
    12, -- Ring, 1 arrow
    pos.x, pos.y, pos.z,
    nextPos.x, nextPos.y, nextPos.z,
    4.0, -- diameter
    93, 182, 229, 120, -- rgba
    0 -- reserved
)
SetCheckpointCylinderHeight(cp, 2.0, 2.0, 4.0) -- near, far, radius
SetCheckpointRgba2(cp, 255, 255, 255, 200) -- icon colour, old name SetCheckpointIconRgba

CreateThread(function()
    while true do
        if #(GetEntityCoords(PlayerPedId()) - pos) < 2.0 then
            DeleteCheckpoint(cp)
            break
        end
        Wait(100)
    end
end)

AddEventHandler("onResourceStop", function(resource)
    if resource == GetCurrentResourceName() then DeleteCheckpoint(cp) end
end)

Tips

  • Use Short range for shops, garages and other static points so the minimap edge stays clean.
  • SetBlipScale between 0.8 and 1.0 matches most vanilla blips.
  • Set the same coordinates once: the blip, marker and checkpoint panels share one position, so a shop’s blip and its marker line up.
  • For a race, chain checkpoints by passing the following checkpoint as Next point, and use a chequered flag type for the last one.
  • Grab coordinates on the Interactive Map and paste them into Coords.

Common mistakes

  • Marker flickers or costs CPU. DrawMarker must run every frame while visible, but the thread should sleep when the player is far away. Keep the distance check.
  • Checkpoints pile up. CreateCheckpoint inside a loop creates a new one every tick. Create once, delete with DeleteCheckpoint.
  • Blip has no name. The label needs the three text command natives (BeginTextCommandSetBlipName, AddTextComponentSubstringPlayerName, EndTextCommandSetBlipName).
  • Wrong checkpoint shape. Type ids moved in build 2189. On an older game build, types can look different.

Limitations

  • Previews are pictures, not live renders. Colour and size in game can look a little different.
  • Sprite, marker and checkpoint pictures load from the FiveM docs site. If one fails, an icon is shown instead.
  • Everything else runs in your browser.