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 |
-- 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:
{
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:
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:
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.