50 lines
1.4 KiB
Lua
50 lines
1.4 KiB
Lua
![]() |
---@diagnostic disable: duplicate-set-field
|
||
|
local resourceName = "qb-input"
|
||
|
local configValue = BridgeClientConfig.InputSystem
|
||
|
if (configValue == "auto" and GetResourceState(resourceName) == "missing") or (configValue ~= "auto" and configValue ~= resourceName) then return end
|
||
|
|
||
|
Input = {}
|
||
|
|
||
|
-- this probably needs improvement
|
||
|
function Input.Open(title, data, isQBFormat, submitText)
|
||
|
local input = data.inputs
|
||
|
if not isQBFormat then
|
||
|
input = OxToQBInput(data)
|
||
|
end
|
||
|
local returnData = exports['qb-input']:ShowInput({
|
||
|
header = title,
|
||
|
submitText = submitText or "Submit",
|
||
|
inputs = input
|
||
|
})
|
||
|
if not returnData then return end
|
||
|
if returnData[1] then return returnData end
|
||
|
--converting to standard format (ox)
|
||
|
local convertedData = {}
|
||
|
if isQBFormat then
|
||
|
for i, v in pairs(input) do
|
||
|
for k, j in pairs(returnData) do
|
||
|
if k == v.name then
|
||
|
convertedData[tonumber(i)] = j
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
return convertedData
|
||
|
end
|
||
|
|
||
|
for i, v in pairs(returnData) do
|
||
|
local index = i and tonumber(i)
|
||
|
if not index then
|
||
|
table.insert(convertedData, v)
|
||
|
else
|
||
|
convertedData[index] = v
|
||
|
end
|
||
|
end
|
||
|
return convertedData
|
||
|
end
|
||
|
|
||
|
function Input.GetResourceName()
|
||
|
return resourceName
|
||
|
end
|
||
|
|
||
|
return Input
|