diff --git a/server/functions.lua b/server/functions.lua index c136ce7..0e6d9fc 100644 --- a/server/functions.lua +++ b/server/functions.lua @@ -22,6 +22,28 @@ function NDCore.getPlayers(key, value) return players end +---@param fileLocation string|tabale +---@return boolean +function NDCore.loadSQL(fileLocation, resource) + local resourceName = resource or GetInvokingResource() or GetCurrentResourceName() + + if type(fileLocation) == "string" then + local file = LoadResourceFile(resourceName, fileLocation) + if not file then return end + MySQL.query(file) + return true + end + + for i=1, #fileLocation do + local file = LoadResourceFile(resourceName, fileLocation[i]) + if file then + MySQL.query(file) + Wait(100) + end + end + return true +end + for name, func in pairs(NDCore) do if type(func) == "function" then exports(name, func) diff --git a/server/main.lua b/server/main.lua index 4fc8470..4042b53 100644 --- a/server/main.lua +++ b/server/main.lua @@ -3,10 +3,6 @@ ActivePlayers = {} PlayersInfo = {} local resourceName = GetCurrentResourceName() local tempPlayersInfo = {} -local databaseFiles = { - "database/characters.sql", - "database/vehicles.sql" -} local discordErrors = { [400] = "Improper HTTP request", [401] = "Discord bot token might be missing or incorrect", @@ -121,9 +117,9 @@ AddEventHandler("playerDropped", function() PlayersInfo[src] = nil end) -for i=1, #databaseFiles do - local file = LoadResourceFile(resourceName, databaseFiles[i]) - if file then - MySQL.query(file) - end -end +SetTimeout(500, function() + NDCore.loadSQL({ + "database/characters.sql", + "database/vehicles.sql" + }, resourceName) +end)