Fixed the adding of ranks indide player_ranks

This commit is contained in:
Cooldude2606
2017-12-16 16:32:52 +00:00
parent dfea8d6a51
commit cefac5221c
3 changed files with 19 additions and 17 deletions

View File

@@ -44,7 +44,7 @@ groups['Root']:edit('allow',false,{
}) })
ranks['Root']:edit('test',true,'testing') ranks['Root']:edit('test',true,'testing')
ranks['Root']:add_rank{ groups['Root']:add_rank{
name='Owner', name='Owner',
short_hand='Owner', short_hand='Owner',
tag='[Owner]', tag='[Owner]',
@@ -52,14 +52,14 @@ ranks['Root']:add_rank{
colour={r=170,g=0,b=0}, colour={r=170,g=0,b=0},
is_admin = true is_admin = true
} }
ranks['Root']:add_rank{ groups['Root']:add_rank{
name='Community Manager', name='Community Manager',
short_hand='Com Mngr', short_hand='Com Mngr',
tag='[Com Mngr]', tag='[Com Mngr]',
colour={r=150,g=68,b=161}, colour={r=150,g=68,b=161},
is_admin = true is_admin = true
} }
ranks['Root']:add_rank{ groups['Root']:add_rank{
name='Developer', name='Developer',
short_hand='Dev', short_hand='Dev',
tag='[Dev]', tag='[Dev]',
@@ -67,7 +67,7 @@ ranks['Root']:add_rank{
is_admin = true is_admin = true
} }
ranks['Admin']:add_rank{ groups['Admin']:add_rank{
name='Mod', name='Mod',
short_hand='Mod', short_hand='Mod',
tag='[Mod]', tag='[Mod]',
@@ -82,7 +82,8 @@ groups['User']:add_rank{
name='Donator', name='Donator',
short_hand='P2W', short_hand='P2W',
tag='[P2W]', tag='[P2W]',
colour={r=233,g=63,b=233} colour={r=233,g=63,b=233},
power=0
} }
groups['User']:add_rank{ groups['User']:add_rank{
name='Veteran', name='Veteran',
@@ -90,7 +91,7 @@ groups['User']:add_rank{
tag='[Veteran]', tag='[Veteran]',
time=600, time=600,
colour={r=140,g=120,b=200}, colour={r=140,g=120,b=200},
power=8 power=1
} }
groups['User']:add_rank{ groups['User']:add_rank{
name='Regular', name='Regular',
@@ -98,7 +99,7 @@ groups['User']:add_rank{
tag='[Regular]', tag='[Regular]',
time=180, time=180,
colour={r=24,g=172,b=188}, colour={r=24,g=172,b=188},
power=10 power=4
} }
Ranking._base_preset{ Ranking._base_preset{

View File

@@ -123,7 +123,7 @@ function Ranking.give_rank(player,rank,by_player,tick)
player.permission_group = game.permissions.get_group(rank.name) player.permission_group = game.permissions.get_group(rank.name)
player.tag = rank.tag player.tag = rank.tag
if not old_rank.group.name == 'Jail' then Ranking._presets().old[player.index] = rank.name end 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 if defines.events.rank_change then
script.raise_event(defines.events.rank_change,{ script.raise_event(defines.events.rank_change,{
name=defines.events.rank_change, name=defines.events.rank_change,
@@ -265,6 +265,7 @@ end
-- this makes a new rank in side this group -- this makes a new rank in side this group
-- {name='Root',short_hand='Root',tag='[Root]',time=nil,colour=defines.colors.white,allow={},disallow={}} -- {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) function Ranking._group:add_rank(obj)
if game then return end if game then return end
if not is_type(obj.name,'string') or if not is_type(obj.name,'string') or
@@ -275,13 +276,14 @@ function Ranking._group:add_rank(obj)
obj.group = self obj.group = self
obj.allow = obj.allow or {} obj.allow = obj.allow or {}
obj.disallow = obj.disallow 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.allow,{__index=self.allow})
setmetatable(obj.disallow,{__index=self.disallow}) setmetatable(obj.disallow,{__index=self.disallow})
Ranking._add_rank(obj,obj.power) Ranking._add_rank(obj,obj.power)
Ranking._set_rank_power() Ranking._set_rank_power()
table.insert(self.ranks,obj) table.insert(self.ranks,obj)
if not self.highest or obj.power > self.highest.power then self.highest = 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 if not self.lowest or obj.power > self.lowest.power then self.lowest = obj end
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 -- 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

View File

@@ -82,7 +82,11 @@ local jail = Ranking._group:create{
'set_allow_commands', 'set_allow_commands',
'edit_permission_group', 'edit_permission_group',
'delete_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', short_hand='Jail',
tag='[Jail]', tag='[Jail]',
colour={r=50,g=50,b=50}, colour={r=50,g=50,b=50},
disallow={ disallow={}
'open_character_gui',
'begin_mining',
'start_walking',
'player_leave_game'
}
} }
function Ranking._auto_edit_ranks() function Ranking._auto_edit_ranks()