tweak(server): character saving and unloading

This commit is contained in:
Andyyy7666
2023-08-27 17:59:22 +02:00
parent 32801873f6
commit 0ded085a28
2 changed files with 9 additions and 8 deletions

View File

@@ -102,16 +102,14 @@ end)
AddEventHandler("playerDropped", function()
local src = source
local char = NDCore.players[src]
if char then
char.unload()
end
if char then char.unload() end
PlayersInfo[src] = nil
end)
AddEventHandler("onResourceStop", function(name)
if name ~= resourceName then return end
for src, player in pairs(NDCore.players) do
player.save()
for _, player in pairs(NDCore.players) do
player.unload()
Wait(10)
end
end)

View File

@@ -145,14 +145,16 @@ local function createCharacterTable(info)
w = heading
})
end
self.triggerEvent("ND:characterUnloaded")
TriggerEvent("ND:characterUnloaded", self.source, self)
self.save()
local saved = self.save()
NDCore.players[self.source] = nil
return saved
end
-- Save character information to database
function self.save()
MySQL.update.await("UPDATE nd_characters SET name = ?, firstname = ?, lastname = ?, dob = ?, gender = ?, cash = ?, bank = ?, groups = ?, metadata = ?, inventory = ? WHERE charid = ?", {
local affectedRows = MySQL.update.await("UPDATE nd_characters SET name = ?, firstname = ?, lastname = ?, dob = ?, gender = ?, cash = ?, bank = ?, groups = ?, metadata = ?, inventory = ? WHERE charid = ?", {
self.name,
self.firstname,
self.lastname,
@@ -163,8 +165,9 @@ local function createCharacterTable(info)
json.encode(self.groups),
json.encode(self.metadata),
json.encode(self.inventory),
self.id,
self.id
})
return affectedRows > 0
end
---Create a license/permit for the character