mirror of
https://github.com/ND-Framework/ND_Core.git
synced 2026-08-19 14:56:02 +01:00
tweak: remove character functions on server
This commit is contained in:
@@ -5,24 +5,14 @@ RegisterNetEvent("ND:updateMoney", function(cash, bank)
|
|||||||
NDCore.player.bank = bank
|
NDCore.player.bank = bank
|
||||||
end)
|
end)
|
||||||
|
|
||||||
local function removeCharacterFunctions(character)
|
|
||||||
local newData = {}
|
|
||||||
for k, v in pairs(character) do
|
|
||||||
if type(v) ~= "function" then
|
|
||||||
newData[k] = v
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return newData
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Sets main character.
|
-- Sets main character.
|
||||||
RegisterNetEvent("ND:characterLoaded", function(character)
|
RegisterNetEvent("ND:characterLoaded", function(character)
|
||||||
NDCore.player = removeCharacterFunctions(character)
|
NDCore.player = character
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Update main character info.
|
-- Update main character info.
|
||||||
RegisterNetEvent("ND:updateCharacter", function(character)
|
RegisterNetEvent("ND:updateCharacter", function(character)
|
||||||
NDCore.player = removeCharacterFunctions(character)
|
NDCore.player = character
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Updates last lcoation.
|
-- Updates last lcoation.
|
||||||
@@ -30,3 +20,7 @@ RegisterNetEvent("ND:updateLastLocation", function(location)
|
|||||||
if not NDCore.player then return end
|
if not NDCore.player then return end
|
||||||
NDCore.player.lastLocation = location
|
NDCore.player.lastLocation = location
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
RegisterNetEvent("ND:revivePlayer", function()
|
||||||
|
NDCore.revivePlayer(true)
|
||||||
|
end)
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
|
local function removeCharacterFunctions(character)
|
||||||
|
local newData = {}
|
||||||
|
for k, v in pairs(character) do
|
||||||
|
if type(v) ~= "function" then
|
||||||
|
newData[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return newData
|
||||||
|
end
|
||||||
|
|
||||||
local function createCharacterTable(info)
|
local function createCharacterTable(info)
|
||||||
local playerInfo = PlayersInfo[info.source] or {}
|
local playerInfo = PlayersInfo[info.source] or {}
|
||||||
|
|
||||||
@@ -102,7 +112,7 @@ local function createCharacterTable(info)
|
|||||||
TriggerEvent("ND:moneyChange", self.source, key, value, "set", reason)
|
TriggerEvent("ND:moneyChange", self.source, key, value, "set", reason)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
self.triggerEvent("ND:updateCharacter", self)
|
self.triggerEvent("ND:updateCharacter", removeCharacterFunctions(self))
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param key string|table
|
---@param key string|table
|
||||||
@@ -116,7 +126,7 @@ local function createCharacterTable(info)
|
|||||||
else
|
else
|
||||||
self.metadata[key] = value
|
self.metadata[key] = value
|
||||||
end
|
end
|
||||||
self.triggerEvent("ND:updateCharacter", self)
|
self.triggerEvent("ND:updateCharacter", removeCharacterFunctions(self))
|
||||||
return self.metadata
|
return self.metadata
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -197,7 +207,7 @@ local function createCharacterTable(info)
|
|||||||
else
|
else
|
||||||
self.metadata.licenses = {license}
|
self.metadata.licenses = {license}
|
||||||
end
|
end
|
||||||
self.triggerEvent("ND:updateCharacter", self)
|
self.triggerEvent("ND:updateCharacter", removeCharacterFunctions(self))
|
||||||
end
|
end
|
||||||
|
|
||||||
function self.getLicense(identifier)
|
function self.getLicense(identifier)
|
||||||
@@ -272,7 +282,7 @@ local function createCharacterTable(info)
|
|||||||
end
|
end
|
||||||
NDCore.players[self.source] = self
|
NDCore.players[self.source] = self
|
||||||
TriggerEvent("ND:characterLoaded", self)
|
TriggerEvent("ND:characterLoaded", self)
|
||||||
self.triggerEvent("ND:characterLoaded", self)
|
self.triggerEvent("ND:characterLoaded", removeCharacterFunctions(self))
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param name string
|
---@param name string
|
||||||
@@ -294,7 +304,7 @@ local function createCharacterTable(info)
|
|||||||
rank = groupRank,
|
rank = groupRank,
|
||||||
isJob = isJob
|
isJob = isJob
|
||||||
}
|
}
|
||||||
self.triggerEvent("ND:updateCharacter", self)
|
self.triggerEvent("ND:updateCharacter", removeCharacterFunctions(self))
|
||||||
lib.addPrincipal(self.source, ("group.%s"):format(name))
|
lib.addPrincipal(self.source, ("group.%s"):format(name))
|
||||||
return self.groups[name]
|
return self.groups[name]
|
||||||
end
|
end
|
||||||
@@ -309,7 +319,7 @@ local function createCharacterTable(info)
|
|||||||
function self.removeGroup(name)
|
function self.removeGroup(name)
|
||||||
local group = self.groups[name]
|
local group = self.groups[name]
|
||||||
self.groups[name] = nil
|
self.groups[name] = nil
|
||||||
self.triggerEvent("ND:updateCharacter", self)
|
self.triggerEvent("ND:updateCharacter", removeCharacterFunctions(self))
|
||||||
lib.removePrincipal(self.source, ("group.%s"):format(name))
|
lib.removePrincipal(self.source, ("group.%s"):format(name))
|
||||||
return group
|
return group
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user