Rank control clean

This commit is contained in:
Cooldude2606
2017-10-14 23:26:51 +01:00
parent ffc9f85c72
commit 6513e25c3f
13 changed files with 115 additions and 143 deletions

View File

@@ -51,7 +51,7 @@ function draw_frame.center(player,element)
local tab_bar_scroll = frame.add{type = "scroll-pane", name= "tab_bar_scroll", vertical_scroll_policy="never", horizontal_scroll_policy="always"}
local tab_bar = tab_bar_scroll.add{type='flow',direction='horizontal',name='tab_bar'}
local tab = frame.add{type = "scroll-pane", name= "tab", vertical_scroll_policy="auto", horizontal_scroll_policy="never"}
for n,t in pairs(frame_data.tabs) do if rank_allowed(get_rank(player),t.name..'_tab') then debug_write({'GUI','CENTER','ADD'},t.name) ExpGui.add_input.draw_button(tab_bar,t.name) end end
for n,t in pairs(frame_data.tabs) do if ranking.rank_allowed(ranking.get_player_rank(player),t.name..'_tab') then debug_write({'GUI','CENTER','ADD'},t.name) ExpGui.add_input.draw_button(tab_bar,t.name) end end
draw_frame.tab(player,tab_bar[frame_data.tabs[1].name])
ExpGui.add_input.draw_button(tab_bar,'close_center')
tab.style.minimal_height = 300

View File

@@ -68,7 +68,7 @@ Event.register(defines.events.on_gui_click, function(event)
if event.element.type == 'button' or event.element.type == 'sprite-button' then
for _,button in pairs(inputs.buttons) do
if button.name == event.element.name then
if button.event then button.event(player,event.element) else rank_print('Button without Function '..button.name,'Mod') end break
if button.event then button.event(player,event.element) else ranking.rank_print('Button without Function '..button.name,'Mod') end break
end
end
end

View File

@@ -29,7 +29,7 @@ player_table_functions.filters = {
{name='online',is_text=false,test=function(player) return player.connected end},
{name='offline',is_text=false,test=function(player) return not player.connected end},
{name='online_time',is_text=true,test=function(player,input) if input and tonumber(input) and tonumber(input) < tick_to_min(player.online_time) then return true elseif not input or not tonumber(input) then return true end end},
{name='rank',is_text=true,test=function(player,input) if input and string_to_rank(input) and get_rank(player).power <= string_to_rank(input).power then return true elseif not input or not string_to_rank(input) then return true end end}
{name='rank',is_text=true,test=function(player,input) if input and ranking.string_to_rank(input) and ranking.get_player_rank(player).power <= ranking.string_to_rank(input).power then return true elseif not input or not ranking.string_to_rank(input) then return true end end}
}
--set up all the text inputs
for _,filter in pairs(player_table_functions.filters) do
@@ -70,15 +70,15 @@ function player_table_functions.player_match(player,filter,input)
end
--used by script on filter texts
function player_table_functions.redraw(player,element)
local frame = global.current_filters[player.index][2]
local filters = global.current_filters[player.index][1]
local frame = global.exp_core.current_filters[player.index][2]
local filters = global.exp_core.current_filters[player.index][1]
player_table_functions.draw(player,frame,filters,element.parent.parent)
end
--used to draw the player table with filter that you want
--filter = {{'is_admin',true},{'offline',true},{'player_name'}} ; if the length is 2 then it will not attempt to get a user input
function player_table_functions.draw(player,frame,filters,input_location)
debug_write({'GUI','PLAYER-TABLE','START'},player.name)
global.current_filters[player.index] = {filters,frame}
global.exp_core.current_filters[player.index] = {filters,frame}
--setup the table
if frame.player_table then frame.player_table.destroy() end
player_table = frame.add{name='player_table', type="table", colspan=5}
@@ -116,11 +116,11 @@ function player_table_functions.draw(player,frame,filters,input_location)
then player_table.add{name=p.name.."status", type="label", caption="Online"}
else player_table.add{name=p.name.."s", type="label", caption="Offline"} end
player_table.add{name=p.name.."online_time", type="label", caption=tick_to_display_format(p.online_time)}
player_table.add{name=p.name.."rank", type="label", caption=get_rank(p).short_hand}
player_table.add{name=p.name.."rank", type="label", caption=ranking.get_player_rank(p).short_hand}
end
end
end
Event.register(-1,function() global.current_filters = {} end)
Event.register(Event.soft_init,function() global.exp_core.current_filters = {} end)
--Please Only Edit Above This Line-----------------------------------------------------------
return credits

View File

@@ -32,8 +32,8 @@ function toolbar.draw(player)
local toolbar_frame = mod_gui.get_button_flow(player)
toolbar_frame.clear()
for _,button in pairs(toolbar.buttons) do
local rank = get_rank(player)
if rank_allowed(get_rank(player),button.name) then
local rank = ranking.get_player_rank(player)
if ranking.rank_allowed(ranking.get_player_rank(player),button.name) then
debug_write({'GUI','TOOLBAR','ADD'},button.name)
ExpGui.add_input.draw_button(toolbar_frame,button.name)
end