From cefac5221cb6d32694d0bce327c44a97f208a5c2 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Sat, 16 Dec 2017 16:32:52 +0000 Subject: [PATCH] Fixed the adding of ranks indide player_ranks --- Addons/playerRanks.lua | 15 ++++++++------- ExpCore/ranking.lua | 8 +++++--- ExpCore/ranks.lua | 13 ++++++------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Addons/playerRanks.lua b/Addons/playerRanks.lua index a4d3120a..de337563 100644 --- a/Addons/playerRanks.lua +++ b/Addons/playerRanks.lua @@ -44,7 +44,7 @@ groups['Root']:edit('allow',false,{ }) ranks['Root']:edit('test',true,'testing') -ranks['Root']:add_rank{ +groups['Root']:add_rank{ name='Owner', short_hand='Owner', tag='[Owner]', @@ -52,14 +52,14 @@ ranks['Root']:add_rank{ colour={r=170,g=0,b=0}, is_admin = true } -ranks['Root']:add_rank{ +groups['Root']:add_rank{ name='Community Manager', short_hand='Com Mngr', tag='[Com Mngr]', colour={r=150,g=68,b=161}, is_admin = true } -ranks['Root']:add_rank{ +groups['Root']:add_rank{ name='Developer', short_hand='Dev', tag='[Dev]', @@ -67,7 +67,7 @@ ranks['Root']:add_rank{ is_admin = true } -ranks['Admin']:add_rank{ +groups['Admin']:add_rank{ name='Mod', short_hand='Mod', tag='[Mod]', @@ -82,7 +82,8 @@ groups['User']:add_rank{ name='Donator', short_hand='P2W', tag='[P2W]', - colour={r=233,g=63,b=233} + colour={r=233,g=63,b=233}, + power=0 } groups['User']:add_rank{ name='Veteran', @@ -90,7 +91,7 @@ groups['User']:add_rank{ tag='[Veteran]', time=600, colour={r=140,g=120,b=200}, - power=8 + power=1 } groups['User']:add_rank{ name='Regular', @@ -98,7 +99,7 @@ groups['User']:add_rank{ tag='[Regular]', time=180, colour={r=24,g=172,b=188}, - power=10 + power=4 } Ranking._base_preset{ diff --git a/ExpCore/ranking.lua b/ExpCore/ranking.lua index 8fb0f973..3be8a374 100644 --- a/ExpCore/ranking.lua +++ b/ExpCore/ranking.lua @@ -123,7 +123,7 @@ function Ranking.give_rank(player,rank,by_player,tick) player.permission_group = game.permissions.get_group(rank.name) player.tag = rank.tag if not old_rank.group.name == 'Jail' then Ranking._presets().old[player.index] = rank.name end - player.admin = rank.is_admin + player.admin = rank.is_admin or false if defines.events.rank_change then script.raise_event(defines.events.rank_change,{ name=defines.events.rank_change, @@ -265,6 +265,7 @@ end -- this makes a new rank in side this group -- {name='Root',short_hand='Root',tag='[Root]',time=nil,colour=defines.colors.white,allow={},disallow={}} +-- if the rank is given power then it is given that place realative to the highest rank in that group,if no power then it is added to the end function Ranking._group:add_rank(obj) if game then return end if not is_type(obj.name,'string') or @@ -275,13 +276,14 @@ function Ranking._group:add_rank(obj) obj.group = self obj.allow = obj.allow or {} obj.disallow = obj.disallow or {} + obj.power = obj.power and self.highest and self.highest.power+obj.power or obj.power or self.lowest and self.lowest.power+1 or nil setmetatable(obj.allow,{__index=self.allow}) setmetatable(obj.disallow,{__index=self.disallow}) Ranking._add_rank(obj,obj.power) Ranking._set_rank_power() table.insert(self.ranks,obj) - if not self.highest or obj.power > self.highest.power then self.highest = obj end - if not self.lowest or obj.power < self.lowest.power then self.lowest = obj end + if not self.highest or obj.power < self.highest.power then self.highest = obj end + if not self.lowest or obj.power > self.lowest.power then self.lowest = obj end end -- this is used to edit a group once made key is what is being edited and set_value makes it over ride the current value diff --git a/ExpCore/ranks.lua b/ExpCore/ranks.lua index 7bb24cfa..871f3ed4 100644 --- a/ExpCore/ranks.lua +++ b/ExpCore/ranks.lua @@ -82,7 +82,11 @@ local jail = Ranking._group:create{ 'set_allow_commands', 'edit_permission_group', 'delete_permission_group', - 'add_permission_group' + 'add_permission_group', + 'open_character_gui', + 'begin_mining', + 'start_walking', + 'player_leave_game' } } @@ -136,12 +140,7 @@ jail:add_rank{ short_hand='Jail', tag='[Jail]', colour={r=50,g=50,b=50}, - disallow={ - 'open_character_gui', - 'begin_mining', - 'start_walking', - 'player_leave_game' - } + disallow={} } function Ranking._auto_edit_ranks()