F.A.Q

2 min readUpdated Today

Setup

Set Config.Language to the desired locale code:

shared/config.lua
1Config.Language = 'en'

Add the GTA zone code to Config.DisabledZones:

shared/config.lua
1Config.DisabledZones = {
2    JAIL = true,
3    CHIL = true,
4    AIRP = true, -- disable airport notifications
5}

Zone codes can be found using the /viewzonename command with Config.DebugMode = true.

Set Config.CustomFontUrl to a Google Fonts CDN link and add the font to Config.AvailableFonts:

shared/config.lua
1Config.CustomFontUrl = 'https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'
2Config.AvailableFonts = {
3    { name = 'Press Start 2P', value = "'Press Start 2P', cursive" },
4    -- keep other fonts too
5}

Display

shared/config.lua
1Config.UseGameTime = true

This reads the GTA in-game clock instead of the server's real-world time.

Use the date offset values to shift the display without affecting the actual clock:

shared/config.lua
1Config.DateOffsetYears = -50
2Config.DateOffsetMonths = 0
3Config.DateOffsetDays = 0

Or force a fixed year entirely:

shared/config.lua
1Config.FixedYear = 1985

Toggle each part independently:

shared/config.lua
1Config.SeeDate = false -- hide date
2Config.SeeYear = false -- hide year from date
3Config.SeeTime = false -- hide time

Yes. Players open the settings panel with the command (default /zonesettings) and click the drag mode button. They can reposition and resize the display using mouse and scroll wheel.

Custom Zones

Add an entry to Config.Locations with the zone type and parameters:

shared/config.lua
1Config.Locations = {
2    {
3        type = 'sphere',
4        label = 'Trading Post',
5        coords = vector3(100.0, 200.0, 30.0),
6        radius = 25.0,
7    },
8}

Supported types: 'sphere' (center + radius), 'box' (center + size + rotation), 'poly' (points + thickness).

Yes. When a player enters a custom zone, its label takes priority over the GTA native zone label for that area.

Integration

lua
1exports['ml_display_zone']:hide()   -- hide
2exports['ml_display_zone']:show()   -- show again
lua
1exports['ml_display_zone']:showMessage('My Location', 'January 1, 2030 - 00:00')

The second parameter is optional. If omitted, the current time is used.

Disable specific options in Config.PlayerSettings:

shared/config.lua
1Config.PlayerSettings = {
2    EnableSettingsCommand = true,
3    AllowFontChange       = false,
4    AllowAnimationChange  = true,
5    AllowSoundToggle      = true,
6    AllowStreetNameToggle = false,
7    AllowCoordsToggle     = false,
8    AllowIconToggle       = true,
9}

Updates

  1. Download latest from CFX Portal
  2. Backup shared/config.lua and open/ folder
  3. Replace all files except config and open hooks
  4. Restart the resource

No database, nothing to migrate. KVP data (player settings, visit counts) persists automatically on the client.