Blip Info System (Client)
RP.Blips provides GTA's mission-creator-style info panel that appears when hovering
over a blip on the pause-map. It mirrors the scaleform functions used by Rockstar for
mission blips.
Setup workflow
-- 1. Create a blip as normal
local blip = AddBlipForCoord(100.0, 200.0, 30.0)
SetBlipSprite(blip, 1)
SetBlipColour(blip, 5)
SetBlipAsShortRange(blip, true)
-- 2. Configure its info panel
RP.Blips.SetBlipInfoTitle(blip, "Sprint Race", false)
RP.Blips.SetBlipInfoEconomy(blip, "500 XP", "$1,000")
RP.Blips.SetBlipInfoImage(blip, "mphud", "mph_blip_race_sprint")
RP.Blips.SetBlipInfo(blip, {}) -- clears previous entries then:
RP.Blips.AddBlipInfoText(blip, "Distance", "2.4 km")
RP.Blips.AddBlipInfoText(blip, "Best lap", "1:23.456")
RP.Blips.AddBlipInfoIcon(blip, "Difficulty", "Easy", 84, 69, true)
-- 3. Optionally draw a multi-point GPS route
RP.Blips.SetBlipPath(blip, {
vector3(100, 200, 30),
vector3(150, 250, 31),
})Function reference
Title & header
RP.Blips.SetBlipInfoTitle(blip, title, rockstarVerified?)
Sets the main title shown at the top of the info panel.
RP.Blips.SetBlipInfoTitle(blip, "Sprint Race", false)RP.Blips.SetBlipInfoImage(blip, dict, tex)
Sets the thumbnail image (texture dictionary + texture name).
RP.Blips.SetBlipInfoEconomy(blip, rp, money)
Sets the RP / money reward strings shown below the title.
Info rows
RP.Blips.SetBlipInfo(blip, info)
Replaces all existing info rows with a pre-built table. Each entry is
{type, leftText, rightText, ...}.
RP.Blips.AddBlipInfoText(blip, leftText, rightText?)
Appends a key/value text row. Omit rightText for a full-width label.
RP.Blips.AddBlipInfoText(blip, "Laps", "3")
RP.Blips.AddBlipInfoText(blip, "~y~Tip: use shortcuts!")RP.Blips.AddBlipInfoName(blip, leftText, rightText?)
Appends a name-style row (style 3).
RP.Blips.AddBlipInfoHeader(blip, leftText, rightText?)
Appends a header-style row (style 4).
RP.Blips.AddBlipInfoIcon(blip, leftText, rightText, iconId, iconColor, checked?)
Appends a row with a check-box icon.
RP.Blips.AddBlipInfoIcon(blip, "Requirement", "Rank 5+", 84, 69, playerMeetsRequirement)GPS path
RP.Blips.SetBlipPath(blip, path)
Stores a table of vector3 waypoints. When the player hovers the blip, a multi-point
GPS route is drawn on the map.
RP.Blips.SetBlipPath(blip, {
vector3(100, 200, 30),
vector3(200, 300, 35),
vector3(350, 400, 40),
})Pass an empty string or nil to clear the route.
RP.Blips.ensureBlipInfo(blip)
Initialises and returns the info data table for a blip, creating defaults if it doesn't
exist yet. All Set* and Add* functions call this internally.
How it works
rp-base:main.lua runs a permanent loop on the client that:
- Watches
IsHoveringOverMissionCreatorBlip()on the pause map. - When hovering, reads
RP.Blips.BLIP_INFO_DATA[blip]and pushes all stored data into the scaleform movie usingSET_COLUMN_TITLE,SET_DATA_SLOT, etc. - Shows or hides the panel and manages the GPS multi-route automatically.