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']: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{

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.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

View File

@@ -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()