diff --git a/Readme.md b/Readme.md index 785fea7..5061010 100644 --- a/Readme.md +++ b/Readme.md @@ -1,33 +1,29 @@ -#Enhanced Fast.Net -####Payday 2 Server Browser +# Enhanced Fast.Net +#### Payday 2 Server Browser +This mod is a visually upgraded Version of Lastbullet_Big Bushy Beard's 'Fast.Net Standalone'. -This mod is a visually upgraded Version of Lastbullet_Big Bushy Beard's 'Fast.Net Standalone'. -It started with the background panels, because the list was very hard to read with the blue default background. -~~(Maybe my Monitor is just crap? :P )~~ +### Screenshot +![Screenshot Preview](http://pre10.deviantart.net/8d1c/th/pre/f/2017/052/c/2/c255ffd7c8e8a4016a97a7f01d4b93d7-dazxhjn.jpg) -![Screenshot Preview](http://www.imghost.eu/images/2016/02/18/EnhancedFast.Net.jpg) - -###Installation: +### Installation Simply drag and drop the Contents of the downloaded archive into your mods-folder, and you are good to go. __(You need the [BLT Hook](http://paydaymods.com/download/) for this mod to work)__ -###Included Mods: +### Included Mods - __[FastNet Standalone](http://paydaymods.com/mods/79/fastnetstand)__, made by _Big Bushy Beard_, modified by me - Removed filters from the Serverlist - - Added Background panels to different parts of the UI + - Added background panels to different parts of the UI - Made labels on the left side permanent - - Created a button panel in the bottom left for Filters, Sidejobs, Brooker, etc. + - Created a button panel in the bottom left for Filters, Sidejobs, Offshore Casino, etc. - Added working keyboard shortcut support for Filters - - Added marking of friends lobbies in the serverlist - - Added advanced difficulty filters, for Hard+ to Overkill+ - - Added option to display 50 servers at once + - Added marking of friends and mutated lobbies in the serverlist + - Added option to display 10-70 servers at once - __[Persistent Filter Settings](https://steamcommunity.com/app/218620/discussions/15/46476691291148659/)__, made by _Seven_ - Updated to load advanced filter settings correctly - __[Reconnect to Server](http://forums.lastbullet.net/mydownloads.php?action=view_down&did=13546)__, made by _Luffy_ - __[Stale Lobby Fix](http://paydaymods.com/mods/277/stalelobbycontractfix)__, made by _Snh20_ -###TODO: -- ~~Add aditional filter options~~ DONE! -- ~~Remove crimenet Map from the importet crimenet UIs~~ - - Probably not worth it, given I would need to detect, wether the UI was called through CrimeNet or FastNet and replace the fullscreen_ws in 'lib/managers/menu/...' for the second case -- ~~Restructure the way, the reconnect script is implemented~~ DONE! +### Update (2017-02-20) by FlamingFox +- Removed some difficulty filters (ie Pro Jobs, since they no longer exist). +- Fixed Filters Popping up when already in a server when hitting 'F'. +- Help Descriptions reapplied. diff --git a/lua/ExtendedFilters.lua b/lua/ExtendedFilters.lua index 1e170b1..1014c3e 100644 --- a/lua/ExtendedFilters.lua +++ b/lua/ExtendedFilters.lua @@ -5,7 +5,7 @@ if requiredScript == "lib/managers/menumanager" then local modify_filter_node_actual = MenuCrimeNetFiltersInitiator.modify_node local clbk_choice_difficulty_filter = MenuCallbackHandler.choice_difficulty_filter local server_count = {10, 20, 30, 40, 50, 60, 70} - local difficulties = {"menu_all", "menu_difficulty_normal", "menu_difficulty_hard", "menu_difficulty_very_hard", "menu_difficulty_overkill", "menu_difficulty_easy_wish", "menu_difficulty_apocalypse", "menu_difficulty_sm_wish", "menu_difficulty_hard", "menu_difficulty_very_hard", "menu_difficulty_overkill", "menu_difficulty_easy_wish", "menu_difficulty_apocalypse"} + local difficulties = {"menu_all", "menu_difficulty_normal", "menu_difficulty_hard", "menu_difficulty_very_hard", "menu_difficulty_overkill", "menu_difficulty_easy_wish", "menu_difficulty_apocalypse", "menu_difficulty_sm_wish"} function MenuCrimeNetFiltersInitiator:modify_node(original_node, ...) local res = modify_filter_node_actual(self, original_node, ...) @@ -32,7 +32,7 @@ if requiredScript == "lib/managers/menumanager" then for k, v in ipairs(difficulties) do diff_filter:add_option(CoreMenuItemOption.ItemOption:new({ _meta = "option", - text_id = managers.localization:text(v) .. (k > 8 and " +" or ""), + text_id = managers.localization:text(v), value = k, localize = false })) diff --git a/lua/FastNet.lua b/lua/FastNet.lua index af48474..4974e94 100644 --- a/lua/FastNet.lua +++ b/lua/FastNet.lua @@ -47,7 +47,7 @@ if requiredScript == "lib/managers/menumanager" then local params = { name = "fast_net_friends", text_id = "fast_net_friends_title", - --help_id = "fast_net_help", + help_id = "fast_net_help", callback = "find_online_games_with_friends", next_node = FastNet.fastnetmenu, } @@ -60,7 +60,7 @@ if requiredScript == "lib/managers/menumanager" then local params = { name = "fast_net", text_id = "fast_net_title", - --help_id = "fast_net_help", + help_id = "fast_net_help", callback = "play_online_game find_online_games", next_node = FastNet.fastnetmenu, } @@ -145,7 +145,6 @@ if requiredScript == "lib/managers/menumanager" then local job_id = tweak_data.narrative:get_job_name_from_index(math.floor(job_index)) local job_name = job_id and tweak_data.narrative.jobs[job_id] and managers.localization:text(tweak_data.narrative.jobs[job_id].name_id) or "CONTRACTLESS" local job_days = job_id and (tweak_data.narrative.jobs[job_id].job_wrapper and table.maxn(tweak_data.narrative.jobs[tweak_data.narrative.jobs[job_id].job_wrapper[1]].chain) or table.maxn(tweak_data.narrative.jobs[job_id].chain)) or 1 - local is_pro = job_id and (tweak_data.narrative.jobs[job_id].professional and tweak_data.narrative.jobs[job_id].professional or false) or false local difficulty_num = attributes_numbers[2] local difficulty = tweak_data:index_to_difficulty(difficulty_num) or "error" local state_string_id = tweak_data:index_to_server_state(attributes_numbers[4]) @@ -178,7 +177,6 @@ if requiredScript == "lib/managers/menumanager" then tostring(num_plrs) .. "/4 ", (job_plan == 1 and utf8.char(57364) or job_plan == 2 and utf8.char(57363) or "") }, - pro = is_pro, days = job_days, level_name = job_id, real_level_name = display_job, @@ -275,8 +273,6 @@ elseif requiredScript == "lib/managers/menu/menunodegui" then for i, gui in ipairs(row_item.gui_columns) do if i == 1 and item_params.friend then gui:set_color(tweak_data.screen_colors.friend_color) - elseif i == 2 and item_params.pro then - gui:set_color(tweak_data.screen_colors.pro_color) else gui:set_color(item_params.mutators and tweak_data.screen_colors.mutators_color_text or row_item.color) end @@ -300,8 +296,6 @@ elseif requiredScript == "lib/managers/menu/menunodegui" then for i, gui in ipairs(row_item.gui_columns) do if i == 1 and item_params.friend then gui:set_color(tweak_data.screen_colors.friend_color) - elseif i == 2 and item_params.pro then - gui:set_color(tweak_data.screen_colors.pro_color) else gui:set_color(item_params.mutators and tweak_data.screen_colors.mutators_color or row_item.color) end @@ -434,7 +428,7 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then local font_size = tweak_data.menu.pd2_small_font_size self._server_title = self.safe_rect_panel:text({ name = "server_title", - text = managers.localization:to_upper_text("menu_lobby_server_title"):sub(0, -2) .. ": ", + text = managers.localization:to_upper_text("menu_lobby_server_title"):sub(0, -2) .. " ", font = tweak_data.menu.pd2_small_font, font_size = font_size, align = "left", @@ -445,7 +439,7 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then }) self._server_info_title = self.safe_rect_panel:text({ name = "server_info_title", - text = managers.localization:to_upper_text("menu_lobby_server_state_title") .. " ", + text = managers.localization:to_upper_text("menu_lobby_server_state_title"), font = self.font, font_size = font_size, align = "left", @@ -456,7 +450,7 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then }) self._level_title = self.safe_rect_panel:text({ name = "level_title", - text = managers.localization:to_upper_text("menu_lobby_campaign_title") .. " ", + text = managers.localization:to_upper_text("menu_lobby_campaign_title"), font = tweak_data.menu.pd2_small_font, font_size = font_size, align = "left", @@ -467,7 +461,7 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then }) self._difficulty_title = self.safe_rect_panel:text({ name = "difficulty_title", - text = managers.localization:to_upper_text("menu_lobby_difficulty_title") .. " ", + text = managers.localization:to_upper_text("menu_lobby_difficulty_title"), font = tweak_data.menu.pd2_small_font, font_size = font_size, align = "left", @@ -489,7 +483,7 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then }) self._days_title = self.safe_rect_panel:text({ name = "days_title", - text = managers.localization:to_upper_text("cn_menu_contract_length"):sub(10, -1) .. ": ", + text = managers.localization:to_upper_text("cn_menu_contract_length"):sub(10, -1) .. ": ", font = tweak_data.menu.pd2_small_font, font_size = font_size, align = "left", @@ -500,7 +494,7 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then }) self._kick_title = self.safe_rect_panel:text({ name = "kick_title", - text = managers.localization:to_upper_text("menu_kicking_allowed_option") .. ": ", + text = managers.localization:to_upper_text("menu_kicking_allowed_option") .. ": ", font = tweak_data.menu.pd2_small_font, font_size = font_size, align = "left", @@ -556,7 +550,6 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then h = self.safe_rect_panel:h() - self._info_bg_rect:h() }) - self._mini_info_text = self._button_panel:text({ name = "players_online_text", x = self._button_panel:w() - tweak_data.menu.info_padding * 12, @@ -751,8 +744,6 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then local color = row_item.color if i == 1 and row_item.item:parameters().friend then color = tweak_data.screen_colors.friend_color - elseif i == 2 and row_item.item:parameters().pro then - color = tweak_data.screen_colors.pro_color elseif row_item.item:parameters().mutators then color = tweak_data.screen_colors.mutators_color end @@ -927,19 +918,6 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then layer = 1 }) - row_item.level_pro_text = row_item.gui_info_panel:text({ - name = "level_pro_text", - text = utf8.to_upper(row_item.item:parameters().pro and "PRO JOB" or ""), - font = tweak_data.menu.pd2_small_font, - color = tweak_data.screen_colors.pro_color, - font_size = font_size, - align = "left", - vertical = "center", - w = 256, - h = font_size, - layer = 1 - }) - row_item.difficulty_text = row_item.gui_info_panel:text({ name = "difficulty_text", text = managers.localization:to_upper_text(tweak_data.difficulty_name_ids[row_item.item:parameters().difficulty]), @@ -1060,10 +1038,6 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then row_item.level_text:set_w(w) row_item.level_text:set_position(math.round(row_item.level_text:x()), math.round(row_item.level_text:y())) - row_item.level_pro_text:set_lefttop(row_item.level_text:righttop()) - row_item.level_pro_text:set_w(row_item.gui_info_panel:w()) - row_item.level_pro_text:set_position(math.round(row_item.level_pro_text:x()), math.round(row_item.level_pro_text:y())) - row_item.days_text:set_lefttop(self._days_title:righttop()) row_item.days_text:set_w(row_item.gui_info_panel:w()) row_item.days_text:set_position(math.round(row_item.days_text:x()), math.round(row_item.days_text:y())) @@ -1154,7 +1128,9 @@ elseif requiredScript == "lib/managers/menu/renderers/menunodetablegui" then end function MenuNodeTableGui:key_press(o, k) - if managers.network and managers.network:session() and not Network:is_server() then return end + if managers.network and managers.network:session() then + if Network:is_client() or Network:is_server() then return end + end if managers.menu_component and managers.menu_component.crimenet_enabled and not managers.menu_component:crimenet_enabled() then return end local reconnect_key = LuaModManager:GetPlayerKeybind("Reconnect_key") or "f1" diff --git a/mod.txt b/mod.txt index 5cea835..8907c81 100644 --- a/mod.txt +++ b/mod.txt @@ -1,18 +1,45 @@ { - "name" : "Fast.net Enhanced", - "description" : "Enhanced version, based on LASTBULLET_GREAT BIG BUSHY BEARD's FastNet Standalone. \nIt also includes Luffy's Reconnect to server Skript and Stale Lobby Fix made by Shn20.", - "author" : "Kamikaze94", - "contact" : "https://github.com/Kamikaze94/Enhanced-Fast.Net", - "version" : "2.00", - "hooks" : [ - { "hook_id" : "lib/managers/menumanager", "script_path" : "Core.lua" }, - { "hook_id" : "lib/managers/menu/renderers/menunodetablegui", "script_path" : "Core.lua" }, - { "hook_id" : "lib/managers/menu/nodes/menunodeserverlist", "script_path" : "Core.lua" }, - { "hook_id" : "lib/managers/menu/menunodegui", "script_path" : "Core.lua" }, - { "hook_id" : "lib/network/matchmaking/networkmatchmakingsteam", "script_path" : "Core.lua" }, - { "hook_id" : "lib/managers/crimenetmanager", "script_path" : "Core.lua" }, - { "hook_id" : "lib/managers/menu/menucomponentmanager", "script_path" : "Core.lua" }, - { "hook_id" : "lib/network/base/hostnetworksession", "script_path" : "Core.lua" }, - { "hook_id" : "lib/managers/menu/crimenetfiltersgui", "script_path" : "Core.lua" } - ] + "name":"Fast.net Enhanced", + "description":"Enhanced version, based on LASTBULLET_GREAT BIG BUSHY BEARD's FastNet Standalone. \nIt also includes Luffy's Reconnect to server Skript and Stale Lobby Fix made by Shn20.", + "author":"Kamikaze94", + "contact":"https://github.com/Kamikaze94/Enhanced-Fast.Net", + "version":"3.00", + "hooks":[ + { + "hook_id":"lib/managers/menumanager", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/managers/menu/renderers/menunodetablegui", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/managers/menu/nodes/menunodeserverlist", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/managers/menu/menunodegui", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/network/matchmaking/networkmatchmakingsteam", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/managers/crimenetmanager", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/managers/menu/menucomponentmanager", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/network/base/hostnetworksession", + "script_path":"Core.lua" + }, + { + "hook_id":"lib/managers/menu/crimenetfiltersgui", + "script_path":"Core.lua" + } + ] }