cfg_main.lua

return {
	--[[ General Settings ]]

	Framework = "auto", -- Options: "esx", "qbcore", "custom", or "auto" (auto-detects between "esx" and "qbcore")
	DebugMode = "prod", -- Debug options: "prod" (minimal logs), "dev" (detailed logs & dev commands), false (disable logs)

	--[[ Update Intervals ]]

	UpdateIntervals = {
		PlayerData = 5000, -- Interval for updating player and server data (e.g., time, job, player ID, and player count)
		Money = 1500, -- Interval for updating the money display
		Ammo = 150, -- Interval for updating the ammo display
		HealthArmor = 750, -- Interval for updating health and armor display
		Stamina = { Active = 150, Idle = 1000 }, -- Interval for updating stamina display. --? (Idle cannot be configured by the client)
		Oxygen = { Active = 150, Idle = 1250 }, -- Interval for updating oxygen display. --? (Idle cannot be configured by the client)
		Voice = 300, -- Interval for updating voice status --? (Only for pma-voice; cannot be configured by the client)
		Location = 1500, -- Interval for updating location display
		Speedo = 120, -- Interval for updating speedometer display
		PauseMenu = 650, -- Interval for hiding the HUD when the pause menu is active. (Cannot be configured by the client)
	},

	--[[ Minimap Settings ]]

	Minimap = {
		ShowDefaultBar = false, -- Show the default GTA status bar (health, armor, oxygen)
		HideOnFoot = false, -- Disables the minimap when the player is on foot
		FlashOnDamage = true, -- Flash minimap red when taking damage
		TextureDict = "minimap_mask", -- Texture dictionary for the minimap mask
		Scaleform = "minimap", -- Scaleform movie for the minimap
		Offsets = {
			Left = -0.0065, -- Left offset
			Bottom = 0.022, -- Bottom offset
			AddedHeight = 0.0265, -- Added height to the minimap
		},
		Positions = {
			minimap = { x = -0.0045, y = 0.002, width = 0.150, height = 0.188888 },
			minimap_mask = { x = 0.020, y = 0.032, width = 0.111, height = 0.159 },
			minimap_blur = { x = -0.03, y = 0.022, width = 0.266, height = 0.237 },
		},
	},

	--[[ Location Settings ]]

	Location = {
		ShowPostal = true, -- Show the nearest postal code
	},

	--[[ Speedometer Settings ]]

	Speedo = {
		OnlyEngineRunning = true, -- Display speedometer only when the engine is running
		OnlyDriver = true, -- Display speedometer only when the player is in the driver's seat
		UnitSystem = "metric", -- Unit system for speed ("metric" or "imperial")
		WarningSteps = {
			fuel = { warning = 35, critical = 20 }, -- Fuel warning at 35% (orange), critical at 20% (red)
			engine = { warning = 35, critical = 20 }, -- Engine warning at 35% (orange), critical at 20% (red)
		},
		Seatbelt = { --! Check documentation for setup instructions
			Enabled = true,
			KeyMapping = "B",

			EjectVelocity = 60, -- Player ejection speed threshold
			UnknownEjectVelocity = 60, -- Secondary threshold for advanced vehicle damage
			UnknownModifier = 17.0, -- Multiplier for vehicle ejection force
			MinDamage = 2000, -- Minimum damage applied to the player on ejection
			Sound = {
				Warning = {
					Enabled = true,
					Path = "sound/seatbelt-warning.wav",
					Volume = 0.25,
				},
				Buckle = {
					Enabled = true,
					Path = "sound/seatbelt-buckle.ogg",
					Volume = 0.3,
				},
				Unbuckle = {
					Enabled = true,
					Path = "sound/seatbelt-unbuckle.ogg",
					Volume = 0.3,
				},
			},
		},
	},

	--[[ Voice Chat Settings ]]

	Voice = {
		System = "pma-voice", -- Options: "pma-voice" or "saltychat"
		TransitionDuration = 300, -- Time for marker to reach its final size
		MarkerDuration = 1500, -- Time before the marker begins to fade out
		FadeDuration = 1500, -- Duration of fade out before marker is hidden
		Ranges = {
			[1] = { value = 25, markerColor = { 0, 255, 0 } }, -- Range 1
			[2] = { value = 50, markerColor = { 65, 133, 235 } }, -- Range 2
			[3] = { value = 75, markerColor = { 255, 255, 0 } }, -- Range 3
			[4] = { value = 100, markerColor = { 255, 0, 0 } }, -- Range 4 (ignored if only 3 ranges are used)
		},
	},

	--[[ Config Menu Settings ]]

	ConfigMenu = {
		Enabled = true,
		Command = "hud", -- Command to open the HUD configuration menu

		ShowItems = {
			MainMenu = { -- Main menu options
				toggleHud = true, -- Toggle the entire HUD on or off
				toggleCinematicMode = true, -- Enable cinematic bars and disable HUD
				hudComponents = true, -- Toggle individual HUD components
				intervalsMenu = true, -- Customize update intervals for HUD elements
			},
			ComponentsMenu = { -- Component-specific options
				toggleTimeDate = true,
				toggleJob = true,
				togglePlayerId = true,
				togglePlayerCount = true,
				toggleWatermark = true,
				toggleWallet = true,
				toggleBank = true,
				toggleAmmo = true,
				toggleHealth = true,
				toggleArmor = true,
				toggleStamina = true,
				toggleOxygen = true,
				toggleHunger = true,
				toggleThirst = true,
				toggleStress = false,
				toggleVoice = true,
				toggleRadio = true,
				toggleRadioChannel = true,
				toggleLocation = true,
				toggleSpeedo = true,
			},
			IntervalsMenu = { -- Update interval options
				playerDataInterval = true,
				moneyInterval = true,
				ammoInterval = true,
				healthArmorInterval = true,
				staminaInterval = true,
				oxygenInterval = true,
				locationInterval = true,
				speedoInterval = true,
			},
		},
	},

	--[[ Time and Date Format ]]

	TimeFormat = {
		time = "%H:%M", -- Time format (hour:minutes)
		date = "%d.%m.%Y", -- Date format (day.month.year)
	},
}

Last updated