From 53ec32c832d69326e6e60d30b7b0834f14528cdb Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Tue, 24 Mar 2020 18:41:57 +0000 Subject: [PATCH] Added welcome tab --- config/join_messages.lua | 4 +- expcore/gui/defines.lua | 24 +++++++++++ locale/en/gui.cfg | 16 +++++++ modules/gui/logo.png | Bin 0 -> 15942 bytes modules/gui/readme.lua | 88 +++++++++++++++++++++++++++++++++------ 5 files changed, 119 insertions(+), 13 deletions(-) create mode 100644 modules/gui/logo.png diff --git a/config/join_messages.lua b/config/join_messages.lua index 058435d3..b0226a28 100644 --- a/config/join_messages.lua +++ b/config/join_messages.lua @@ -2,5 +2,7 @@ return { Cooldude2606 = 'Lua lets you set metatables on numbers, did you know that? Cooldude2606 knows this.', samy115 = 'Tremble in fear as the banhammer is now here, its owner: samy115', XenoCyber = '"Fire Fire Fire" oops wrong game, have no fear XenoCyber is here', - HunterOfGames = 'Unable to support HunterOfGames. You must construct additional miners.' + HunterOfGames = 'Unable to support HunterOfGames. You must construct additional miners.', + ookl = 'ookl says: "Pineapples are amazing, hello everyone!"', + arty714 = 'Arty\'s Potato made it!' } \ No newline at end of file diff --git a/expcore/gui/defines.lua b/expcore/gui/defines.lua index d062078c..41af4c32 100644 --- a/expcore/gui/defines.lua +++ b/expcore/gui/defines.lua @@ -215,4 +215,28 @@ end) local frame_style = element.parent.style frame_style.padding = 2 frame_style.minimal_width = width +end) + +--[[-- Used to make a solid white bar in a gui +@element Gui.bar +@tparam LuaGuiElement parent the parent element to which the container will be added +@tparam number width the width of the bar that will be made, if not given bar will strech to fill the parent + +@usage-- Adding a bar to a gui +local bar = Gui.bar(parent, 100) + +]] +Gui.bar = +Gui.element(function(_,parent) + return parent.add{ + type = 'progressbar', + size = 1, + value = 1 + } +end) +:style(function(style,_,width) + style.height = 3 + style.color = {r=255,g=255,b=255} + if width then style.width = width + else style.horizontally_stretchable = true end end) \ No newline at end of file diff --git a/locale/en/gui.cfg b/locale/en/gui.cfg index 440f485d..44ff5d20 100644 --- a/locale/en/gui.cfg +++ b/locale/en/gui.cfg @@ -97,3 +97,19 @@ timer-tooltip=Warp cooldown takes __1__ seconds goto-tooltip=Go to x __1__ y __2__ goto-disabled=You must be on a warp point and have a full charge to warp goto-edit=Edit warp icon + +[readme] +main-tooltip=Infomation +welcome-tab=Welcome +welcome-tooltip=Welcome to Explosive Gaming +welcome-general=Welcome to Explosive Gaming, we host many factorio servers. While you are here we require you to follow our rules, you can find these in the tab above. You can also find our custom commands and links to our other servers.\nPlease note that our servers reset periodically, the next reset is: __1__ +welcome-roles=We run a custom role system to help protect the work of others. As a result you may not be able to use your deconstruction planner yet or drop item on the groud. Roles also give you access to some custom features such as adding tasks to our task list or making new warp points.\nYou have been assigned the roles: __1__ +welcome-chat=Chatting can be difficult for new players because it’s different than other games! It’s very simple, the button you need to press is the “GRAVE/TILDE” key (which is located under the “ESC key”) - If you would like to change the key, go to your Controls tab in options.\nThe setting you need to change is “Toggle chat (and Lua console)” you currently have it set to "__CONTROL__toggle-console__" +rules-tab=Rules +rules-tooltip=Rules for our server +commands-tab=Commands +commands-tooltip=Commands which you are able to use +servers-tab=Servers +servers-tooltip=Links to our other servers and sites +backers-tab=Backers +backers-tooltip=People who have helped make our server \ No newline at end of file diff --git a/modules/gui/logo.png b/modules/gui/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cef59c4d1f82ada58092f1d64480c7e8df6ced72 GIT binary patch literal 15942 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 o01M!IZ=>wJ@ literal 0 HcmV?d00001 diff --git a/modules/gui/readme.lua b/modules/gui/readme.lua index d94890c2..2fe865e4 100644 --- a/modules/gui/readme.lua +++ b/modules/gui/readme.lua @@ -14,17 +14,82 @@ local function Tab(caption,tooltip,element_define) tabs[#tabs+1] = {caption,tooltip,element_define} end +local function description_label(parent,width,caption) + local label = parent.add{ + type = 'label', + caption = caption, + style = 'description_label' + } + + local style = label.style + style.horizontal_align = 'center' + style.single_line = false + style.width = width +end + +--- Sub content area used within the content areas +-- @element sub_content +local sub_content = +Gui.element(function(_,parent) + return parent.add{ + type = 'frame', + direction = 'vertical', + style = 'image_frame' + } +end) +:style{ + horizontally_stretchable = true, + horizontal_align = 'center' +} + --- Content area for the welcome tab -- @element welcome_content -Tab('Welcome',nil, -Gui.element{ - type = 'label', - caption = 'Welcome' -}) +Tab({'readme.welcome-tab'},{'readme.welcome-tooltip'}, +Gui.element(function(_,parent) + local server_details = global.server_details or { name='ExpGaming S0 - Local', description='Failed to load description: disconnected from sync api.', reset_time='Non Set', branch='Unknown'} + local container = parent.add{ type='flow', direction='vertical' } + local player = Gui.get_player_from_element(parent) + + -- Set up the top flow with logos + local top_flow = container.add{ type='flow' } + top_flow.add{ type='sprite', sprite='file/modules/gui/logo.png'} + local top_vertical_flow = top_flow.add{ type='flow', direction='vertical' } + top_flow.add{ type='sprite', sprite='file/modules/gui/logo.png'} + top_vertical_flow.style.horizontal_align = 'center' + + -- Add the title to the top flow + local title_flow = top_vertical_flow.add{ type='flow' } + title_flow.style.vertical_align = 'center' + Gui.bar(title_flow,85) + title_flow.add{ + type = 'label', + caption = 'Welcome to '..server_details.name, + style = 'caption_label' + } + Gui.bar(title_flow,85) + + -- Add the description to the top flow + description_label(top_vertical_flow,380,server_details.description) + Gui.bar(container) + + -- Get the names of the roles the player has + local player_roles = Roles.get_player_roles(player) + local role_names = {} + for i,role in ipairs(player_roles) do + role_names[i] = role.name + end + + -- Add the other information to the gui + description_label(sub_content(container),575,{'readme.welcome-general',server_details.reset_time}) + description_label(sub_content(container),575,{'readme.welcome-roles',table.concat(role_names,', ')}) + description_label(sub_content(container),575,{'readme.welcome-chat'}) + + return container +end)) --- Content area for the rules tab -- @element rules_content -Tab('Rules',nil, +Tab({'readme.rules-tab'},{'readme.rules-tooltip'}, Gui.element{ type = 'label', caption = 'Rules' @@ -32,7 +97,7 @@ Gui.element{ --- Content area for the commands tab -- @element commands_content -Tab('Commands',nil, +Tab({'readme.commands-tab'},{'readme.commands-tooltip'}, Gui.element{ type = 'label', caption = 'Commands' @@ -40,15 +105,15 @@ Gui.element{ --- Content area for the servers tab -- @element servers_content -Tab('Servers',nil, +Tab({'readme.servers-tab'},{'readme.servers-tooltip'}, Gui.element{ type = 'label', caption = 'Servers' }) --- Content area for the servers tab --- @element servers_content -Tab('Backers',nil, +-- @element backers_content +Tab({'readme.backers-tab'},{'readme.backers-tooltip'}, Gui.element{ type = 'label', caption = 'Backers' @@ -91,7 +156,6 @@ Gui.element(function(event_trigger,parent) tab_pane.add_tab(tab, tab_details[3](tab_pane)) end - tab_pane.style.width = 500 return container end) :on_open(function(player) @@ -107,7 +171,7 @@ end) --- Toggle button for the readme gui -- @element readme_toggle readme_toggle = -Gui.toolbar_button('virtual-signal/signal-info','Information',function(player) +Gui.toolbar_button('virtual-signal/signal-info',{'readme.main-tooltip'},function(player) return Roles.player_allowed(player,'gui/readme') end) :on_click(function(player,_)