Documentation

Config

functions.lua

functions.lua
return {
	---Grabs the fuel level of the current vehicle.
	---@param entVehicleId number
	---@return number
	getFuel = function(entVehicleId)
		assert(entVehicleId, "[getFuel] invalid arg passed.")
		-- Logic Here.
		return 75
	end,

	---Returns the proximity level of the player, 0-100 (Auto detected if auto detection isn't disabled or if your using a resource that isn't automatically detected.)
	---@param player_id string|string
	---@return number|nil
	getPlayerProximityLevel = function(player_id)
		-- Logic Here
		return nil
	end
}

shared.lua

shared.lua
---@alias IFrameworkTypes "qb" | "esx" | "ox" | "qbox" | "nd" | "custom" | "none"
---@alias THudConditionType "always_visible" | "always_hidden" | "visible_under_condition"

---@class MapDataZoomLevel
---@field index integer
---@field zoomScale integer
---@field zoomSpeed integer
---@field scrollSpeed integer
---@field tilesX integer
---@field tilesY integer

---@class IHudColors
---@field health string
---@field armor string
---@field hunger string
---@field thirst string
---@field stress string
---@field stamina string
---@field minimapBorder string

---@class IHudVisibility
---@field health THudConditionType
---@field armor THudConditionType
---@field hunger THudConditionType
---@field thirst THudConditionType
---@field stress THudConditionType
---@field stamina THudConditionType

---@class IHudConditions
---@field health? number
---@field armor? number
---@field hunger? number
---@field thirst? number
---@field stress? number
---@field stamina? number

---@class IHudSettings
---@field rectangularMap boolean
---@field theme "modern" | "classic"
---@field iconStyle "square" | "hexagon" | "star" | "circle" | "no_shape"
---@field useImperialUnits boolean
---@field displayMinimapOnFoot boolean
---@field borderedMinimap boolean
---@field modernizedCompass boolean
---@field hideCompass boolean
---@field colors IHudColors
---@field visibility IHudVisibility
---@field conditions IHudConditions
---@field cinematicMode boolean
---@field statusOverCinematicMode boolean
---@field blindfoldedDisplay boolean
---@field hideGearCounter boolean
---@field anchorControl boolean
---@field hoverControl boolean
---@field statusAlerts boolean

---@class IDisabledIcons
---@field micProximityIndicator boolean

---@class IConfig
---@field framework IFrameworkTypes
---@field disableAutoDetection boolean
---@field forceDisableStressDisplay boolean
---@field language string
---@field hiddenUIComponents integer[]
---@field defaultHudSettings IHudSettings
---@field seatbeltEjectionValues {ejectVelocity: integer, unknownEjectVelocity: integer, unknownModifier: integer, minDamage: integer}
---@field disabledIcons IDisabledIcons
---@field useMapCustomZoomLevels boolean?
---@field mapZoomLevels MapDataZoomLevel[]

---@type IConfig
return {
	language = "en",                 -- You have to setup your own locale in `locales/**` and make sure the file name matches this string,
	framework = "none",              -- esx, qb, qbox, ox, nd, custom, none
	disableAutoDetection = false,    -- Set to true if you wanna disable the auto framework & fuel resource detection.
	forceDisableStressDisplay = false, -- Stress is only displayed if the logic is there for your framework of choice, but you can fully disable it.
	forceDisableStaminaDisplay = false, -- Optionally turn off the stamina display.
	hiddenUIComponents = {
		3,                           -- Cash
		6,                           -- Vehicle Name
		7,                           -- Area Name
		8,                           -- Vehicle Class
		9                            -- Street Name
	},
	seatbeltEjectionValues = {
		ejectVelocity = (1 / 2.236936),
		unknownEjectVelocity = (2 / 2.236936),
		unknownModifier = 17.0,
		minDamage = 0.0,
	},
	disabledIcons = {
		micProximityIndicator = true
	},
	useMapCustomZoomLevels = false, -- Enable if you wanna use your own custom zoom levels, the ones defined  in `mapZoomLevels`
	mapZoomLevels = {
		{
			index = 1,
			zoomScale = 2.7999999523163,
			zoomSpeed = 0.89999997615814,
			scrollSpeed = 0.079999998211861,
			tilesX = 0.0,
			tilesY = 0.0
		},
		{
			index = 2,
			zoomScale = 8.0,
			zoomSpeed = 0.89999997615814,
			scrollSpeed = 0.079999998211861,
			tilesX = 0.0,
			tilesY = 0.0
		},
		{
			index = 3,
			zoomScale = 11.0,
			zoomSpeed = 0.89999997615814,
			scrollSpeed = 0.079999998211861,
			tilesX = 0.0,
			tilesY = 0.0
		},
		{
			index = 4,
			zoomScale = 16.0,
			zoomSpeed = 0.89999997615814,
			scrollSpeed = 0.079999998211861,
			tilesX = 0.0,
			tilesY = 0.0
		},
		{
			index = 5,
			zoomScale = 55.0,
			zoomSpeed = 0.0,
			scrollSpeed = 0.10000000149012,
			tilesX = 2.0,
			tilesY = 1.0
		},
	},
	defaultHudSettings = {
		rectangularMap = true,
		theme = "modern",
		iconStyle = "square",
		useImperialUnits = true,
		borderedMinimap = true,
		modernizedCompass = false,
		displayMinimapOnFoot = false,
		hideGearCounter = false,
		hideCompass = false,
		colors = {
			health = "#11f601",
			armor = "#2980B9",
			hunger = "#ffba00",
			thirst = "#b4fefe",
			stress = "#c2b4fb",
			stamina = "#00e676",
			mic = "#808080",
			minimapBorder = "#ffffff",
		},
		visibility = {
			health = "always_visible",
			armor = "always_visible",
			hunger = "always_visible",
			thirst = "always_visible",
			stress = "always_visible",
			mic = "always_visible",
			stamina = "visible_under_condition",
		},
		conditions = {
			stamina = 90 -- Visible only when under 100.
		},
		cinematicMode = false,
		statusOverCinematicMode = false,
		blindfoldedDisplay = false,
		anchorControl = true,
		hoverControl = true,
		statusAlerts = true,
	}
}

On this page