---@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,
}
}