Skip to content

Configuration

config/main.lua — setup, pause screen, 3D map blips, camera, and locales.

Everything lives in config/main.lua. Change only what you need — this page is the short reference.


Setup#

OptionDefaultWhat it does
debug4Console output. Use 1 on a live server (errors only).
checkVersiontrueWarns on startup if a newer release exists.

General#

OptionDefaultWhat it does
locale'en'UI language — see Locales
currency'USD'Currency for cash and bank in the header
currencyFormat'en-US'Number formatting (e.g. tr-TR, de-DE)

Pause (pause)#

OptionDefaultWhat it does
serverName'0Resmon Roleplay'Shown next to the logo
showBrandingfalseShow the logo and server name on the pause, settings, stats, and 3D map screens

Portrait camera (pause.portrait)#

OptionDefaultWhat it does
distance2.55Metres in front of the ped
height0.55Camera height
lookZ0.35Where the camera looks (height on the ped)
fov38.0Field of view
blendInMs900Gameplay → portrait blend (ms)
blendOutMs750Portrait → gameplay blend (ms)
followMove0.45How far the ped can move before the camera re-frames
followBlendMs700Re-frame blend (ms)

Hooks#

Run your own client code when the menu opens or closes — for example, to hide your HUD:

lua
onPauseOpened = function()
    exports['my-hud']:setVisible(false)
end,

onPauseClosed = function()
    exports['my-hud']:setVisible(true)
end,

Hooks run on the client. If your code throws an error, the menu can get stuck — keep them simple.


3D map (threeDMap)#

OptionDefaultWhat it does
enabledtrueEnable the 3D map. Also needed for blips that use Show on 2D Map.
autoDBtrueCreate the blip tables if missing
drawDistance2500.0Blips farther than this from the camera aren't drawn
interval50How often blip positions update on screen (ms)
createCooldown30000Wait (ms) before a player can create another blip
maxMarkers16Max blips one player can own
shareCooldown30000Wait (ms) between share requests
playerCreatortrueLet players create personal blips
adminCreatortrueLet admins create global blips
adminAce'0r-pausemenu.globalblips'ACE that grants global blip access

Categories (threeDMap.categories)#

Fixed blips that every player sees in the 3D map legend. They're not stored in the database and can't be deleted in-game.

lua
categories = {
    {
        id = 'services',
        label = 'ui.map3d.services.label',
        blips = {
            { label = 'ui.map3d.services.shop', sprite = 59, color = 69, coords = vec3(25.7, -1347.3, 29.49) },
            { label = 'Police Station', sprite = 60, color = 29, coords = vec3(441.2, -982.1, 30.7), showOn2d = true },
        },
    },
},
FieldRequiredWhat it does
idYesUnique category id
labelYesCategory name — a locale key or plain text
blips[].labelYesBlip name — a locale key or plain text
blips[].spriteYesGTA blip sprite id
blips[].coordsYesvec3 position
blips[].colorNoGTA blip colour 0–85 (default 3)
blips[].showOn2dNoAlso add it to the regular map and minimap
blips[].scaleNo2D blip size (default 0.8)
blips[].shortRangeNoOnly show on the minimap when nearby (default true)

Blips with the same label and sprite in a category are stacked into one legend row.

For blips with showOn2d = true, use plain text labels. Locale keys show up as raw text (like ui.map3d.services.shop) on the regular GTA map.


Camera (camera)#

Controls the 3D map camera.

OptionDefaultWhat it does
startAt150.0Metres above the player when the map opens
minHeight150.0Lowest camera height (world Z)
maxHeight675.0Highest camera height (world Z)
minHeightAboveGround50.0Minimum distance above the ground
fov72.5Field of view
transitionMs800Opening rise duration (ms)
panSpeed0.185Pan speed
rotateSpeed0.075Rotate speed
zoomStep24.0Metres per wheel tick
moveLerp8.0Movement smoothing
pitch-60.0Default look angle
minPitch75.0Highest look angle (looking up)
maxPitch-75.0Lowest look angle (looking down)
infoInterval500Zone and street refresh (ms)
focusInterval1000World streaming refresh under the camera (ms)
fadeMs250Screen fade duration (ms)
flyDistanceScale0.5Fly duration per metre travelled
minFlyMs500.0Minimum fly duration (ms)
lookDownMs750Top-view tilt duration (ms)
blendMs750Blend back to gameplay on close (ms)
hideOtherPlayerstrueHide other players while the map is open
hidePedstrueHide peds (including NPCs)
hideVehiclestrueHide vehicles (yours stays visible)
hideRefreshMs200How often hidden peds and vehicles are rescanned (ms)

Don't swap minPitch and maxPitch. The names look backwards, but swapping them locks the camera looking at the sky. To stop players from looking up at the sky, lower minPitch instead (for example -10.0).

If the camera clips into high terrain like Mount Chiliad, raise maxHeight.


Locales#

Translation files are JSON in the locales/ folder. Included: en, tr.

To add a language:

  1. Copy locales/en.json to locales/<code>.json (for example de.json).
  2. Translate the values. Don't change the keys.
  3. Set ui.localeName to the language name (it's shown in Preferences).
  4. Set locale = '<code>' in config/main.lua.

Missing keys fall back to English.