diff --git a/shared/contextmenus.lua b/shared/contextmenus.lua
index d4d8f15..3ef65b4 100644
--- a/shared/contextmenus.lua
+++ b/shared/contextmenus.lua
@@ -47,48 +47,7 @@
--- })
--- ```
function openMenu(Menu, data)
- if Config.System.Menu == "jim" then
- if data.onBack then
- table.insert(Menu, 1, {
- icon = "fas fa-circle-arrow-left",
- header = " ",
- txt = "Return",
- params = {
- isAction = true,
- event = data.onBack,
- },
- })
- elseif data.canClose then
- table.insert(Menu, 1, {
- icon = "fas fa-circle-xmark",
- header = " ",
- txt = "Close",
- params = {
- isAction = true,
- event = data.onExit and data.onExit or (function() exports[QBMenuExport]:closeMenu() end),
- },
- })
- end
- if data.header ~= nil then
- local tempMenu = {}
- for k, v in pairs(Menu) do tempMenu[k + 1] = v end
- tempMenu[1] = { header = data.header, txt = data.headertxt or "", isMenuHeader = true }
- Menu = tempMenu
- end
- for k in pairs(Menu) do
- if not Menu[k].params or not Menu[k].params.event then
- Menu[k].params = {
- isAction = true,
- event = Menu[k].onSelect or function() end,
- }
- end
- if not Menu[k].header then Menu[k].header = " " end
- if Menu[k].arrow then Menu[k].icon = "fas fa-angle-right" end
- Menu[k].isMenuHeader = Menu[k].isMenuHeader or Menu[k].disable
- end
- TriggerEvent("jim_bridge:client:openMenu", Menu)
-
- elseif Config.System.Menu == "ox" then
+ if Config.System.Menu == "ox" then
local index = nil
if data.onBack and not data.onSelected then
table.insert(Menu, 1, {
@@ -286,11 +245,56 @@ function openMenu(Menu, data)
function(data, menu)
menu.close()
end)
+
+ elseif Config.System.Menu == "lation" then
+ if data.onBack then
+ table.insert(Menu, 1, {
+ icon = "fas fa-circle-arrow-left",
+ onSelect = data.onBack,
+ header = "Return",
+ })
+ end
+
+ for k in pairs(Menu) do
+ if data.onSelected and Menu[k].arrow then
+ Menu[k].icon = "fas fa-angle-right"
+ end
+ -- If no title, use header or txt as title/label.
+ if not Menu[k].title then
+ if Menu[k].header ~= nil and Menu[k].header ~= "" then
+ Menu[k].title = Menu[k].header
+ Menu[k].label = Menu[k].header
+ if Menu[k].txt then Menu[k].description = Menu[k].txt else Menu[k].description = "" end
+ else
+ Menu[k].title = Menu[k].txt
+ Menu[k].label = Menu[k].txt
+ end
+ end
+ -- Copy parameters from 'params' if available.
+ if Menu[k].params then
+ Menu[k].event = Menu[k].params.event
+ Menu[k].args = Menu[k].params.args or {}
+ end
+ if Menu[k].isMenuHeader then
+ Menu[k].readOnly = true
+ end
+ end
+
+ exports.lation_ui:registerMenu({
+ id = 'menu',
+ title = data.header,
+ subtitle = (data.headertxt and data.headertxt or ""),
+ options = Menu,
+ })
+
+ -- Show menu
+ exports.lation_ui:showMenu('menu')
+
end
end
--- A line break constant used for menu header formatting.
-br = (Config.System.Menu == "ox" or Config.System.Menu == "gta") and "\n" or "
"
+br = (Config.System.Menu == "ox" or Config.System.Menu == "gta" or Config.System.Menu == "lation") and "\n" or "
"
--- Checks if the current menu system is 'ox' or 'gta' for formatting purposes.
--- @return boolean boolean True if using ox or gta menus, otherwise false.
diff --git a/shared/drawText.lua b/shared/drawText.lua
index 62ccb1f..35471ff 100644
--- a/shared/drawText.lua
+++ b/shared/drawText.lua
@@ -35,11 +35,26 @@ function drawText(image, input, style, oxStyleTable)
elseif Config.System.drawText == "ox" then
-- Append newline spacing to each input line.
+ local inputnum = countTable(input)
for k, v in pairs(input) do
- input[k] = v.." \n"
+ input[k] = v..(inputnum ~= k and " \n" or "")
end
lib.showTextUI(table.concat(input), { icon = (image and radarTable[image] or image) or nil, position = 'left-center', style = oxStyleTable })
+ elseif Config.System.drawText == "lation" then
+ local inputnum = countTable(input)
+ for k, v in pairs(input) do
+ input[k] = v..(inputnum ~= k and " \n" or "")
+ end
+ exports.lation_ui:showText({
+ --title = " ",
+ description = table.concat(input),
+ keybind = nil,
+ icon = (image and radarTable[image] or image) or nil,
+ iconColor = '#3B82F6',
+ position = 'center-left'
+ })
+
elseif Config.System.drawText == "gta" then
-- Concatenate input lines and apply GTA style formatting.
for i = 1, #input do
@@ -88,6 +103,8 @@ function hideText()
exports[QBExport]:HideText()
elseif Config.System.drawText == "ox" then
lib.hideTextUI()
+ elseif Config.System.drawText == "lation" then
+ exports.lation_ui:hideText()
elseif Config.System.drawText == "gta" then
ClearAllHelpMessages()
elseif Config.System.drawText == "esx" then
diff --git a/shared/make/progressBars.lua b/shared/make/progressBars.lua
index 56296f1..21b413e 100644
--- a/shared/make/progressBars.lua
+++ b/shared/make/progressBars.lua
@@ -135,6 +135,34 @@ function progressBar(data)
end
})
+ elseif Config.System.ProgressBar == "lation" then
+ if exports.lation_ui:progressBar({
+ label = data.label,
+ description = nil,
+ duration = debugMode and 1000 or data.time,
+ icon = data.icon,
+ useWhileDead = data.dead or false,
+ disable = {
+ combat = data.combat or true,
+ move = data.disableMovement or false,
+ car = data.disableMovement or false,
+ },
+ anim = {
+ dict = data.dict,
+ clip = data.anim,
+ },
+ prop = {
+ model = data.prop and data.prop.model,
+ pos = data.prop and (data.prop.pos or vec3(0, 0, 0)),
+ rot = data.prop and (data.prop.rot or vec3(0, 0, 0)),
+ bone = data.prop and (data.prop.bone or 0)
+ }
+ }) then
+ result = true
+ else
+ result = true
+ end
+
elseif Config.System.ProgressBar == "red" then
-- Currently only uses jim-redui if you choose this option
if exports["jim_bridge"]:redProgressBar({
@@ -204,6 +232,8 @@ function stopProgressBar()
exports[OXLibExport]:cancelProgress()
elseif Config.System.ProgressBar == "qb" then
TriggerEvent("progressbar:client:cancel")
+ elseif Config.System.ProgressBar == "lation" then
+ exports.lation_ui:cancelProgress()
elseif Config.System.ProgressBar == "gta" or Config.System.ProgressBar == "red" then
exports["jim_bridge"]:stopProgressBar()
end
diff --git a/shared/notify.lua b/shared/notify.lua
index fde1e41..76e8fcd 100644
--- a/shared/notify.lua
+++ b/shared/notify.lua
@@ -62,6 +62,20 @@ function triggerNotify(title, message, type, src)
else
TriggerClientEvent(getScript()..":DisplayESXNotify", src, type, message)
end
+ elseif Config.System.Notify == "lation" then
+ if not src then
+ exports.lation_ui:notify({
+ title = title,
+ message = message,
+ type = type or "success",
+ })
+ else
+ TriggerClientEvent("lation_ui:notify", src, {
+ title = title,
+ message = message,
+ type = type or "success",
+ })
+ end
elseif Config.System.Notify == "red" then
if isStarted("jim-redui") then
diff --git a/shared/skillcheck.lua b/shared/skillcheck.lua
index f4d3c79..55940ae 100644
--- a/shared/skillcheck.lua
+++ b/shared/skillcheck.lua
@@ -32,6 +32,25 @@ function skillCheck(data)
elseif Config.System.skillCheck == "gta" then
exports.jim_bridge:skillCheck()
+ elseif Config.System.skillCheck == "lation" then
+ local Skillbar = exports.lation_ui:skillCheck("",
+ {
+ "easy",
+ "easy",
+ "easy"
+ },
+ {
+ "1",
+ "2",
+ "3",
+ "4"
+ })
+
+ if Skillbar then
+ result = true
+ else
+ result = false
+ end
else
result = true
end