server/convert.lua
-- with this command you can integrate your qb inventories into the new system
-- if you write a code for different inventories please share it with us
-- Commands only available from cmd/live consol
local function convertItems(itemList)
if not itemList then return "[]" end
local items = json.decode(itemList)
if not items then return "[]" end
for _, itemData in pairs(items) do
if itemData then
itemData.info = itemData.metadata or itemData.info
itemData.amount = itemData.count or itemData.amount
end
end
return json.encode(items)
end
RegisterCommand("convertqb", function(source)
if source > 0 then return print("Pls use on server cmd") end
local response = MySQL.query.await('SELECT * FROM `stashitems`')
if response and next(response) then
for i = 1, #response do
MySQL.insert.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?)', {
response[i].stash, response[i].items
})
end
print("stashitems converted")
end
local response = MySQL.query.await('SELECT * FROM `trunkitems`')
if response and next(response) then
for i = 1, #response do
MySQL.insert.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?)', {
response[i].plate, response[i].items
})
end
print("trunkitems converted")
end
local response = MySQL.query.await('SELECT * FROM `gloveboxitems`')
if response and next(response) then
for i = 1, #response do
MySQL.insert.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?)', {
response[i].plate, response[i].items
})
end
print("gloveboxitems converted")
end
local response = MySQL.query.await('SELECT citizenid, inventory FROM `players`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.insert.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?)', {
response[i].citizenid, response[i].inventory, "[]"
})
end
end
print("Player inventorys converted")
end
print("Finished")
end)
-- Ox Inventory
-- Not Tested!
RegisterCommand("convertox", function(source)
if source > 0 then return print("Pls use on server cmd") end
local response = MySQL.query.await('SELECT name, data FROM `ox_inventory`')
if response and next(response) then
for i = 1, #response do
local owner = response[i].owner or ""
MySQL.insert.await('INSERT INTO `tgiann_inventory_stashitems` (stash, items) VALUES (?, ?)', {
response[i].name .. "_" .. owner, convertItems(response[i].data)
})
if response[i].owner then
print(string.format("%s Converted but u need the edit open event! When opening the stash you need to send the player id in the stash name! Example: TriggerServerEvent('inventory:server:OpenInventory', 'stash', %s_PlayerData.citizenid)", response[i].name, response[i].name))
end
end
print("stashitems converted")
end
if config.framework == "qb" then
local response = MySQL.query.await('SELECT glovebox, trunk, plate FROM `player_vehicles`')
if response and next(response) then
for i = 1, #response do
MySQL.insert.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?)', {
response[i].plate, convertItems(response[i].glovebox)
})
MySQL.insert.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?)', {
response[i].plate, convertItems(response[i].trunk)
})
end
print("gloveboxitems and trunkitems converted")
end
else
local response = MySQL.query.await('SELECT glovebox, trunk, plate FROM `owned_vehicles`')
if response and next(response) then
for i = 1, #response do
MySQL.insert.await('INSERT INTO `tgiann_inventory_gloveboxitems` (plate, items) VALUES (?, ?)', {
response[i].plate, convertItems(response[i].glovebox)
})
MySQL.insert.await('INSERT INTO `tgiann_inventory_trunkitems` (plate, items) VALUES (?, ?)', {
response[i].plate, convertItems(response[i].trunk)
})
end
print("gloveboxitems and trunkitems converted")
end
end
if config.framework == "qb" then
local response = MySQL.query.await('SELECT citizenid, inventory FROM `players`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.insert.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?)', {
response[i].citizenid, convertItems(response[i].inventory), "[]"
})
end
end
print("Player inventorys converted")
end
else
local response = MySQL.query.await('SELECT identifier, inventory FROM `users`')
if response and next(response) then
for i = 1, #response do
if response[i].inventory then
MySQL.insert.await('INSERT INTO `tgiann_inventory_player` (citizenid, inventory, clotheinventory) VALUES (?, ?, ?)', {
response[i].identifier, convertItems(response[i].inventory), "[]"
})
end
end
print("Player inventorys converted")
end
end
print("Finished")
end)
Last updated