Quizá el tema no explica el problema en sí, pero bueno, el problema es el siguiente:
Nos basaremos en 2 recursos que tengo, "vehicles" y "db", al cerrar el recurso "vehicles" llama a un exports del recurso "db" para guardar los vehículos actuales en una base de datos, el problema es que se cierra el recurso "db" antes que esto se ejecute, les muestro las partes de código a las que refiero: Esto es del recurso "vehicles.lua"
addEventHandler('onResourceStop', resourceRoot, function ()
outputServerLog('Se ha detenido el recurso "vehicles".') --Esta línea la he añadido para verificar que se cierra primero, "vehicles" o "db".
local db = exports.db:getConnection()
local vehicles = getElementsByType('vehicle')
for index, vehicle in pairs(vehicles) do
local id = getElementData(vehicle, 'id')
local x, y, z = getElementPosition(vehicle)
local rx, ry, rz = getElementRotation(vehicle)
dbExec(db, 'UPDATE vehicles SET x = ?, y = ?, z = ?, rx = ?, ry = ?, rz = ? WHERE id = ?', x, y, z, rx, ry, rz, id)
end
end)
Esto es el recurso "db.lua"
local db
addEventHandler('onResourceStart', resourceRoot, function ()
db = dbConnect('sqlite', ':/global.db')
end)
addEventHandler('onResourceStop', resourceRoot, function ()
outputServerLog('El recurso db se ha detenido correctamente.') --Esta línea la he añadido para verificar que se cierra después del vehicles.lua
end)
function getConnection()
return db
end
Y el error es el siguiente, les mostraré el server.log:
Entonces la duda es: ¿Es posible evitar que se cierre el recurso "db.lua" antes que "vehicles.lua". De ante mano muchas gracias.