Jump to content

[DUDA] Evitar que se cierre un recurso al cerrar el servidor


Marcado

Recommended Posts

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:

Quote

[2018-10-18 16:55:44] Stopping resources....
[2018-10-18 16:55:44] El recurso db se ha detenido correctamente.
[2018-10-18 16:55:44] Se ha detenido el recurso "vehicles".
[2018-10-18 16:55:44] ERROR: vehicles\vehicles.lua:41: exports: Call to non-running server resource (db) [string "?"]
[2018-10-18 16:55:44] Closing SQLite3 database

Entonces la duda es: ¿Es posible evitar que se cierre el recurso "db.lua" antes que "vehicles.lua". De ante mano muchas gracias.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...