From a68b6657e56e678f4e77eaf13d694a1a0cd6be2f Mon Sep 17 00:00:00 2001 From: Andyyy7666 <86536434+Andyyy7666@users.noreply.github.com> Date: Sat, 22 Jul 2023 23:59:39 +0200 Subject: [PATCH] feat: job player functions --- server/player.lua | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/server/player.lua b/server/player.lua index 421e1b5..e3db8a4 100644 --- a/server/player.lua +++ b/server/player.lua @@ -203,13 +203,19 @@ local function createCharacterTable(info) ---@param name string ---@param rank number ---@return boolean - function self.addGroup(name, rank) + function self.addGroup(name, rank, isJob) local groupInfo = Config.groups[name] if not groupInfo then return end + if isJob then + for _, group in pairs(self.groups) do + group.isJob = nil + end + end self.groups[name] = { label = groupInfo.label, rankName = groupInfo.ranks[rank] or rank, - rank = rank + rank = rank, + isJob = isJob } self.triggerEvent("ND:updateCharacter", self) return true @@ -227,6 +233,23 @@ local function createCharacterTable(info) self.triggerEvent("ND:updateCharacter", self) end + ---@param name string + ---@param rank number + ---@return boolean + function self.setJob(name, rank) + return self.addGroup(name, rank, true) + end + + ---@param job string + ---@return boolean + function self.getJob(job) + for name, group in pairs(self.groups) do + if group.isJob and not job or name == job then + return group + end + end + end + return self end