From 7536889ccc3870eb9baad625833ceec9dc870b9c Mon Sep 17 00:00:00 2001 From: Kakarot <57848836+GhzGarage@users.noreply.github.com> Date: Sun, 6 Jul 2025 16:00:23 -0500 Subject: [PATCH] new method exp --- server/player.lua | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/server/player.lua b/server/player.lua index 4397938..6710368 100644 --- a/server/player.lua +++ b/server/player.lua @@ -421,6 +421,17 @@ function Player:AddField(fieldName, data) return true end +function Player:AddPlayerData(key, value) + if type(key) ~= 'string' then + error('Player:AddPlayerData - key must be a string') + end + if self.PlayerData[key] then + return false + end + self.PlayerData[key] = value + return true +end + -- Player Handler Functions function Player:UpdatePlayerData() @@ -443,11 +454,21 @@ function Player:Logout() end function Player.new(PlayerData, Offline) + if type(PlayerData) ~= 'table' then + error('Player.new param PlayerData must be a table') + end + if type(Offline) ~= 'boolean' then + error('Player.new param Offline must be a boolean') + end + local self = setmetatable({}, Player) self.PlayerData = PlayerData self.Offline = Offline self.Functions = setmetatable({}, { __index = function(_, key) + if type(key) ~= 'string' or key:match('^__') then + error('Invalid function name: ' .. tostring(key)) + end if Player[key] and type(Player[key]) == 'function' then return function(...) return Player[key](self, ...)