From 44066b0828932078b3db3c23a3e9afc50183ba37 Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Sun, 23 Jul 2023 23:24:36 +0200 Subject: [PATCH] update: fetch with identifer and charid --- server/player.lua | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/server/player.lua b/server/player.lua index ecc16b9..4a50e4b 100644 --- a/server/player.lua +++ b/server/player.lua @@ -306,12 +306,18 @@ end ---@param id number ---@return table -function NDCore.fetchCharacter(id) - local result = MySQL.query.await("SELECT * FROM nd_characters WHERE charid = ?", {id}) +function NDCore.fetchCharacter(id, src) + local result + if src then + result = MySQL.query.await("SELECT * FROM nd_characters WHERE charid = ? and identifier = ?", {id, GetPlayerIdentifierByType(src, Config.characterIdentifier)}) + else + result = MySQL.query.await("SELECT * FROM nd_characters WHERE charid = ?", {id}) + end + if not result then return end - local info = result[1] return createCharacterTable({ + source = src, id = info.charid, identifier = info.identifier, name = info.name, @@ -359,8 +365,7 @@ end ---@return table function NDCore.setActiveCharacter(src, id) if not src then return end - local character = NDCore.fetchCharacter(id) - character.source = src + local character = NDCore.fetchCharacter(id, src) character.name = GetPlayerName(src) character.active() return ActivePlayers[src]