Compare commits

...

2 Commits

Author SHA1 Message Date
Jim Shield
732b07c957 Create check for broken/missing config file 2025-10-14 03:51:22 +01:00
Jim Shield
8e8010f837 Start adding stashEditMetadata()
Need help with this one

`ox_inv` provides an easy function for this but most inventories don't seem to support editing specific items in a stash

`qb-inv` currently you need to forcibly edit the sql

others I'm I'm not too sure about yet
2025-10-13 12:33:04 +01:00
2 changed files with 92 additions and 1 deletions

View File

@@ -103,6 +103,10 @@ local InvFunc = {
-- Add fallback if ox can't find the stash and returns a boolean
return type(stash) == "table" and stash.items or {}
end,
stashEditMetadata =
function(stash, slot, metadata)
exports[OXInv]:SetMetadata(stash, slot, metadata)
end,
stashAddItem =
function(stashItems, stashName, items)
@@ -207,6 +211,13 @@ local InvFunc = {
function(stashName)
return exports[CoreInv]:getInventory(stashName)
end,
stashEditMetadata =
function(stash, slot, metadata)
local itemData = exports[CoreInv]:getItemBySlot(stash, slot) or {}
if itemData then
exports[CoreInv]:setItem(stash, itemData.item, itemData.count, metadata)
end
end,
stashAddItem =
function(stashItems, stashName, items)
--
@@ -306,6 +317,10 @@ local InvFunc = {
function(stashName)
return exports[OrigenInv]:getInventory(stashName)
end,
stashEditMetadata =
function(stash, slot, metadata)
exports[OrigenInv]:setMetadata(stash, slot, metadata)
end,
stashAddItem =
function(stashItems, stashName, items)
--
@@ -416,6 +431,10 @@ local InvFunc = {
function(stashName)
return exports[CodeMInv]:GetStashItems(stashName)
end,
stashEditMetadata =
function(stash, slot, metadata)
end,
stashAddItem =
function(stashItems, stashName, items)
--
@@ -529,6 +548,10 @@ local InvFunc = {
function(stashName)
return exports[TgiannInv]:GetSecondaryInventoryItems("stash", stashName)
end,
stashEditMetadata =
function(stash, slot, metadata)
end,
stashAddItem =
function(stashItems, stashName, items)
--
@@ -692,6 +715,10 @@ local InvFunc = {
return result and json.decode(result) or {}
end
end,
stashEditMetadata =
function(stash, slot, metadata)
end,
stashAddItem =
function(stashItems, stashName, items)
--
@@ -880,6 +907,23 @@ local InvFunc = {
end
end
end,
stashEditMetadata =
function(stash, slot, metadata)
local stashData = getStash(stash)
for i = 1, #stashData do
if stashData[i].slot == slot then
print("found slot")
stashData[i].info = metadata
end
jsonPrint(stashData[i])
end
debugPrint("^6Bridge^7: ^3stashEditMetadata^7: ^2Saving ^3QB^2 stash '^6"..stash.."^7'")
MySQL.Async.insert('INSERT INTO stashitems (stash, items) VALUES (:stash, :items) ON DUPLICATE KEY UPDATE items = :items', {
['stash'] = stash,
['items'] = json.encode(stashData)
})
end,
stashAddItem =
function(stashItems, stashName, items)
--
@@ -2246,6 +2290,16 @@ function openStash(data)
end
function stashEditMetadata(stash, slot, metadata)
for i = 1, #InvFunc do
local inv = InvFunc[i]
if isStarted(inv.invName) then
inv.stashEditMetadata(stash, slot, metadata)
return
end
end
end
-- Wrapper function for opening stash from the server.
-- Messy but not much else I can do about it.
RegisterNetEvent(getScript()..":server:openServerStash", function(data)

View File

@@ -33,12 +33,47 @@ Exports = {
}
-- Required variables
debugMode = Config.System.Debug
debugMode = false
QBInvNew = true
InventoryWeight = 120000
-- Corruptted transfer file Checks -- Not Ready Yet ⚠️
--CreateThread(function()
-- local res = GetCurrentResourceName()
-- local ok, val = pcall(function()
-- return exports[res]:ping_encrypted()
-- end)
--
-- if not ok or val ~= "ok" then
-- print("\n^6===============================================================================")
-- print(("\n^1Corruption Warning^7: ^1[^7%s^1] Encrypted files failed to initialize.^7\n"):format(res))
-- print("^3Common causes^7:")
-- print(" • Possible corrupt files")
-- print(" • Damaged or partial upload (FTP/zip/unzip issue).")
-- print(" • Outdated artifact version\n")
-- print("^2How To Fix^7:")
-- print(" • Update your server artifact version")
-- print(" • Re-download asset from Keymaster")
-- print(" • Use WinSCP to upload")
-- print(" • Avoid editing any encrypted files")
-- print(" • Restart the server")
-- print("\n^6===============================================================================^7\n")
-- end
--end)
-- Missing/Broken Config file check
if not Config or not Config.System then
print("\n^6=================================================================================")
print("^6=================================================================================\n")
print(" ^1ERROR^7: jim_bridge ^1can't find the ^7Config^1 table in ^7"..GetCurrentResourceName())
print(" ^1It is either missing, or there is an error inside it stopping it from loading^7\n")
print("^6=================================================================================")
print("^6=================================================================================^7\n")
end
-- [[ Server.Cfg Convar Check ]]--
-- Check server convars for hard set defaults, otherwise it uses per script configurations
if Config and Config.System then
@@ -49,6 +84,8 @@ if Config and Config.System then
if GetConvar("jim_DisableEventDebug", "false") == "true" then
Config.System.EventDebug = false
end
else
debugMode = Config.System.Debug
end
Config.System.Menu = GetConvar("jim_menuScript", Config.System.Menu)