diff --git a/README.md b/README.md index 86e15df..b6e7de6 100644 --- a/README.md +++ b/README.md @@ -53,11 +53,11 @@ setr jim_DisableDebug true setr jim_DisableEventDebug true # Force the default setting for what framework scripts should be used -setr jim_menuScript qb # qb, ox, gta, jim -setr jim_notifyScript gta # qb, ox, gta, esx, okok, red -setr jim_drawTextScript qb # qb, ox, gta, esx -setr jim_progressBarScript qb # qb, ox, gta, esx -setr jim_skillCheckScript qb # qb, ox, gta +setr jim_menuScript qb # qb, ox, gta, jim, lation +setr jim_notifyScript gta # qb, ox, gta, esx, okok, red, lation +setr jim_drawTextScript qb # qb, ox, gta, esx, lation +setr jim_progressBarScript qb # qb, ox, gta, esx, lation +setr jim_skillCheckScript qb # qb, ox, gta, lation setr jim_dontUseTarget false # Set to true to disable target systems and use draw text 3d ``` diff --git a/shared/input.lua b/shared/input.lua index 579cdb5..5e32bcd 100644 --- a/shared/input.lua +++ b/shared/input.lua @@ -138,6 +138,98 @@ function createInput(title, opts) ) return dialog + elseif Config.System.Menu == "lation" then + + for i in pairs(opts) do + currentNum += 1 + if opts[i] == nil then currentNum -= 1 goto skip end + if opts[i].type == "radio" then + for k in pairs(opts[i].options) do + opts[i].options[k].label = opts[i].options[k].text + end + options[currentNum] = { + type = "select", + required = opts[i].isRequired, + label = opts[i].label or opts[i].text, + name = opts[i].name, + default = opts[i].default or opts[i].options[1].value, + options = opts[i].options, + } + end + if opts[i].type == "number" then + options[currentNum] = { + type = opts[i].type, + label = opts[i].label or opts[i].text, + description = opts[i].txt and " - "..opts[i].txt or "", + required = opts[i].isRequired, + name = opts[i].name, + options = opts[i].options, + } + end + if opts[i].type == "text" then + options[currentNum] = { + type = "input", + label = opts[i].label or opts[i].text, + description = (opts[i].txt and " - "..opts[i].txt or ""), + placeholder = opts[i].default, + required = opts[i].isRequired, + } + end + if opts[i].type == "select" then + options[currentNum] = { + type = opts[i].type, + label = opts[i].label or opts[i].text, + description = opts[i].txt and " - "..opts[i].txt or "", + required = opts[i].isRequired, + name = opts[i].name, + options = opts[i].options, + min = opts[i].min, + max = opts[i].max, + default = opts[i].default, + } + end + + if opts[i].type == "checkbox" then + for k in pairs(opts[i].options) do + if options[currentNum] then currentNum += 1 end + options[currentNum] = { + type = opts[i].type, + label = opts[i].options[k].text..(opts[i].txt and " - "..opts[i].txt or ""), + name = opts[i].options[k].value, + } + end + end + + if opts[i].type == "color" then + options[currentNum] = { + type = opts[i].type, + label = opts[i].label, + required = opts[i].isRequired, + format = opts[i].format, + default = opts[i].default, + } + end + + if opts[i].type == "slider" then + options[currentNum] = { + type = opts[i].type, + label = opts[i].label, + required = opts[i].required, + min = opts[i].min, + max = opts[i].max, + default = opts[i].default, + } + end + ::skip:: + end + + local dialog = exports.lation_ui:input({ + title = title, + submitText = "Accept", + options = options + }) + return dialog + elseif Config.System.Menu == "gta" then WarMenu.CreateMenu(tostring(opts), title,