Skip to content

Showcase & Camera

Showcase & Camera

The showcase locations are defined in settings/scenes.lua. Each entry places the character somewhere in Los Santos and controls how the camera frames them. When randomCoords = true in settings/options.lua, the selector cycles through these locations; job/gang-restricted scenes are only used by characters who belong to that group.

Camera modes

Each scene picks a mode:

Mode Style Fields used
1 (default) Orbit camera circling the standing ped. label, coords
2 Seated "bar" scene — the ped sits in the location. label, coords, mode = 2
3 Fully manual camera you place yourself. camCoords, fov, focusOffset, blurOptions, plus coords for the ped
settings/scenes.lua
-- mode 1: orbit
{ label = 'city outskirts', coords = vec4(-2081.84, 2606.33, 3.08, 117.31) },

-- mode 2: seated scene
{ label = 'rooftop bar', coords = vec4(-980.1, 662.18, 165.66, 185.35), mode = 2 },

-- mode 3: manual camera with depth of field
{
    label = 'manual cam demo',
    coords    = vec4(-2541.15, 2334.54, 33.06, 334.88), -- ped position
    camCoords = vec4(-2538.56, 2337.39, 33.56, 150.19), -- camera position
    fov = 20,
    focusOffset = vec3(0.5, 0, 0.5),
    blurOptions = { near = 0.5, far = 5.0 },
    emote = { animName = 'wine3' },
    mode = 3,
},

Emotes

Any scene may add an emote so the ped is doing something in-frame:

  • emote = { scenario = 'WORLD_HUMAN_COP_IDLES' } — a GTA-native scenario (no emote resource required).
  • emote = { animName = 'wine3' } — a named animation.

If a scene has no emote, the selector picks a random idle from the player's configured animList.

Group-restricted scenes

Add a group to lock a location to specific jobs or gangs. A police character can be showcased outside the station, an EMT at the hospital:

settings/scenes.lua
{
    label = 'police station',
    coords = vec4(458.19, -975.71, 30.69, 46.04),
    group = { 'police', 'sheriff', 'traffic', 'justice', 'fib' },
    emote = { scenario = 'WORLD_HUMAN_COP_IDLES' },
},

A character that belongs to a restricted group is shown at that group's scene; everyone else cycles the unrestricted locations.

Weather & time lock

While the selector is open, the weather and clock are frozen for a consistent look. Configure it in settings/options.lua:

settings/options.lua
weatherAndTimeForce = {
    enable = true,
    weather = 'EXTRASUNNY',
    hour = 20,
    minute = 0,
    handler = function(bool)
        if bool then
            TriggerEvent('qb-weathersync:client:DisableSync')
        else
            TriggerEvent('qb-weathersync:client:EnableSync')
        end
    end
},

The handler toggles your weather-sync resource so it doesn't fight the forced values. Each player can also override the weather, time, and a color filter live from their settings panel.

HUD hiding

The HUD and radar are hidden while the selector is open. If jg-hud is running, the script calls its toggleHud export; otherwise it falls back to the native DisplayRadar / DisplayHud:

settings/options.lua
hideHud = function(bool)
    if GetResourceState('jg-hud') == 'started' then
        exports['jg-hud']:toggleHud(not bool)
        return
    end
    DisplayRadar(not bool)
    DisplayHud(not bool)
end,

The create-character screen uses its own vista (a Vinewood-hills lookout), set by registerShowCoords in settings/options.lua — independent of the showcase scenes above.