From ac812d6816403316fea4d00fe9072a1bad591743 Mon Sep 17 00:00:00 2001 From: MuramasaM <107993352+MuramasaM@users.noreply.github.com> Date: Mon, 4 Jul 2022 14:40:31 -0700 Subject: [PATCH] Delete 13 --- public/game/13 | 416 ------------------------------------------------- 1 file changed, 416 deletions(-) delete mode 100644 public/game/13 diff --git a/public/game/13 b/public/game/13 deleted file mode 100644 index f54db0e..0000000 --- a/public/game/13 +++ /dev/null @@ -1,416 +0,0 @@ -%13% --- This script manages context switches in the backpack (Gear to Wardrobe, etc.) and player state changes. Also manages global functions across different tabs (currently only search) -if game.CoreGui.Version < 7 then return end -- peace out if we aren't using the right client - --- basic functions -local function waitForChild(instance, name) - while not instance:FindFirstChild(name) do - instance.ChildAdded:wait() - end - return instance:FindFirstChild(name) -end -local function waitForProperty(instance, property) - while not instance[property] do - instance.Changed:wait() - end -end - --- don't do anything if we are in an empty game -waitForChild(game,"Players") -if #game.Players:GetChildren() < 1 then - game.Players.ChildAdded:wait() -end --- make sure everything is loaded in before we do anything --- get our local player -waitForProperty(game.Players,"LocalPlayer") -local player = game.Players.LocalPlayer - - - ------------------------- Locals ------------------------------ -local backpack = script.Parent -waitForChild(backpack,"Gear") - -local screen = script.Parent.Parent -assert(screen:IsA("ScreenGui")) - -waitForChild(backpack, "Tabs") -waitForChild(backpack.Tabs, "CloseButton") -local closeButton = backpack.Tabs.CloseButton - -waitForChild(backpack.Tabs, "InventoryButton") -local inventoryButton = backpack.Tabs.InventoryButton -if game.CoreGui.Version >= 8 then - waitForChild(backpack.Tabs, "WardrobeButton") - local wardrobeButton = backpack.Tabs.WardrobeButton -end -waitForChild(backpack.Parent,"ControlFrame") -local backpackButton = waitForChild(backpack.Parent.ControlFrame,"BackpackButton") -local currentTab = "gear" - -local searchFrame = waitForChild(backpack,"SearchFrame") -waitForChild(backpack.SearchFrame,"SearchBoxFrame") -local searchBox = waitForChild(backpack.SearchFrame.SearchBoxFrame,"SearchBox") -local searchButton = waitForChild(backpack.SearchFrame,"SearchButton") -local resetButton = waitForChild(backpack.SearchFrame,"ResetButton") - -local robloxGui = waitForChild(Game.CoreGui, 'RobloxGui') -local currentLoadout = waitForChild(robloxGui, 'CurrentLoadout') -local loadoutBackground = waitForChild(currentLoadout, 'Background') - -local canToggle = true -local readyForNextEvent = true -local backpackIsOpen = false -local active = true - -local humanoidDiedCon = nil - -local backpackButtonPos - -local guiTweenSpeed = 0.25 -- how quickly we open/close the backpack - -local searchDefaultText = "Search..." -local tilde = "~" -local backquote = "`" - -local backpackSize = UDim2.new(0, 600, 0, 400) - -if robloxGui.AbsoluteSize.Y <= 320 then - backpackSize = UDim2.new(0, 200, 0, 140) -end - ------------------------- End Locals --------------------------- - - ----------------------------------------- Public Event Setup ---------------------------------------- - -function createPublicEvent(eventName) - assert(eventName, "eventName is nil") - assert(tostring(eventName),"eventName is not a string") - - local newEvent = Instance.new("BindableEvent") - newEvent.Name = tostring(eventName) - newEvent.Parent = script - - return newEvent -end - -function createPublicFunction(funcName, invokeFunc) - assert(funcName, "funcName is nil") - assert(tostring(funcName), "funcName is not a string") - assert(invokeFunc, "invokeFunc is nil") - assert(type(invokeFunc) == "function", "invokeFunc should be of type 'function'") - - local newFunction = Instance.new("BindableFunction") - newFunction.Name = tostring(funcName) - newFunction.OnInvoke = invokeFunc - newFunction.Parent = script - - return newFunction -end - --- Events -local resizeEvent = createPublicEvent("ResizeEvent") -local backpackOpenEvent = createPublicEvent("BackpackOpenEvent") -local backpackCloseEvent = createPublicEvent("BackpackCloseEvent") -local tabClickedEvent = createPublicEvent("TabClickedEvent") -local searchRequestedEvent = createPublicEvent("SearchRequestedEvent") ----------------------------------------- End Public Event Setup ---------------------------------------- - - - ---------------------------- Internal Functions ---------------------------------------- - -function deactivateBackpack() - backpack.Visible = false - active = false -end - -function activateBackpack() - initHumanoidDiedConnections() - active = true - backpack.Visible = backpackIsOpen - if backpackIsOpen then - toggleBackpack() - end -end - -function initHumanoidDiedConnections() - if humanoidDiedCon then - humanoidDiedCon:disconnect() - end - waitForProperty(game.Players.LocalPlayer,"Character") - waitForChild(game.Players.LocalPlayer.Character,"Humanoid") - humanoidDiedCon = game.Players.LocalPlayer.Character.Humanoid.Died:connect(deactivateBackpack) -end - -local hideBackpack = function() - backpackIsOpen = false - readyForNextEvent = false - backpackButton.Selected = false - resetSearch() - backpackCloseEvent:Fire(currentTab) - backpack.Tabs.Visible = false - searchFrame.Visible = false - backpack:TweenSizeAndPosition(UDim2.new(0, backpackSize.X.Offset,0, 0), UDim2.new(0.5, -backpackSize.X.Offset/2, 1, -85), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, guiTweenSpeed, true, - function() - game.GuiService:RemoveCenterDialog(backpack) - backpack.Visible = false - backpackButton.Selected = false - end) - delay(guiTweenSpeed,function() - game.GuiService:RemoveCenterDialog(backpack) - backpack.Visible = false - backpackButton.Selected = false - readyForNextEvent = true - canToggle = true - end) -end - -function showBackpack() - game.GuiService:AddCenterDialog(backpack, Enum.CenterDialogType.PlayerInitiatedDialog, - function() - backpack.Visible = true - backpackButton.Selected = true - end, - function() - backpack.Visible = false - backpackButton.Selected = false - end) - backpack.Visible = true - backpackButton.Selected = true - backpack:TweenSizeAndPosition(backpackSize, UDim2.new(0.5, -backpackSize.X.Offset/2, 1, -backpackSize.Y.Offset - 88), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, guiTweenSpeed, true) - delay(guiTweenSpeed,function() - backpack.Tabs.Visible = false - searchFrame.Visible = true - backpackOpenEvent:Fire(currentTab) - canToggle = true - readyForNextEvent = true - backpackButton.Image = 'rbxasset://Textures/IPadInGameGUIToolbarBkpkTabTopV4.png' - backpackButton.Position = UDim2.new(0.5, -60, 1, -backpackSize.Y.Offset - 103) - end) -end - -function toggleBackpack() - if not game.Players.LocalPlayer then return end - if not game.Players.LocalPlayer["Character"] then return end - if not canToggle then return end - if not readyForNextEvent then return end - readyForNextEvent = false - canToggle = false - - backpackIsOpen = not backpackIsOpen - - if backpackIsOpen then - loadoutBackground.Image = 'rbxasset://Textures/IPadInGameGUIToolBarBkgd.png' - loadoutBackground.Position = UDim2.new(-0.03, 0, -0.17, 0) - loadoutBackground.Size = UDim2.new(1.05, 0, 1.25, 0) - loadoutBackground.ZIndex = 2.0 - loadoutBackground.Visible = true - --backpackButton.Position = UDim2.new(0.5, -60, 1, -503) - showBackpack() - else - backpackButton.Position = UDim2.new(0.5, -60, 1, -44) - loadoutBackground.Visible = false - backpackButton.Selected = false - backpackButton.Image = "rbxasset://Textures/IPadInGameGUIToolbarBkpkTabTopV3.png" - loadoutBackground.Image = 'rbxasset://Textures/IPadInGameGUIToolbar.png' - loadoutBackground.Position = UDim2.new(-0.1, 0, -0.1, 0) - loadoutBackground.Size = UDim2.new(1.2, 0, 1.2, 0) - hideBackpack() - - - local clChildren = currentLoadout:GetChildren() - for i = 1, #clChildren do - if clChildren[i] and clChildren[i]:IsA('Frame') then - local frame = clChildren[i] - if #frame:GetChildren() > 0 then - backpackButton.Position = UDim2.new(0.5, -60, 1, -108) - backpackButton.Visible = true - loadoutBackground.Visible = true - if frame:GetChildren()[1]:IsA('ImageButton') then - local imgButton = frame:GetChildren()[1] - imgButton.Active = true - imgButton.Draggable = false - end - end - end - end - - end -end - -function closeBackpack() - if backpackIsOpen then - toggleBackpack() - end -end - -function setSelected(tab) - assert(tab) - assert(tab:IsA("TextButton")) - - tab.BackgroundColor3 = Color3.new(1,1,1) - tab.TextColor3 = Color3.new(0,0,0) - tab.Selected = true - tab.ZIndex = 3 -end - -function setUnselected(tab) - assert(tab) - assert(tab:IsA("TextButton")) - - tab.BackgroundColor3 = Color3.new(0,0,0) - tab.TextColor3 = Color3.new(1,1,1) - tab.Selected = false - tab.ZIndex = 1 -end - -function updateTabGui(selectedTab) - assert(selectedTab) - - if selectedTab == "gear" then - setSelected(inventoryButton) - setUnselected(wardrobeButton) - elseif selectedTab == "wardrobe" then - setSelected(wardrobeButton) - setUnselected(inventoryButton) - end -end - -function mouseLeaveTab(button) - assert(button) - assert(button:IsA("TextButton")) - - if button.Selected then return end - - button.BackgroundColor3 = Color3.new(0,0,0) -end - -function mouseOverTab(button) - assert(button) - assert(button:IsA("TextButton")) - - if button.Selected then return end - - button.BackgroundColor3 = Color3.new(39/255,39/255,39/255) -end - -function newTabClicked(tabName) - assert(tabName) - tabName = string.lower(tabName) - currentTab = tabName - - updateTabGui(tabName) - tabClickedEvent:Fire(tabName) - resetSearch() -end - -function trim(s) - return (s:gsub("^%s*(.-)%s*$", "%1")) -end - -function splitByWhitespace(text) - if type(text) ~= "string" then return nil end - - local terms = {} - for token in string.gmatch(text, "[^%s]+") do - if string.len(token) > 0 then - table.insert(terms,token) - end - end - return terms -end - -function resetSearchBoxGui() - resetButton.Visible = false - searchBox.Text = searchDefaultText -end - -function doSearch() - local searchText = searchBox.Text - if searchText == "" then - resetSearch() - return - end - searchText = trim(searchText) - resetButton.Visible = true - termTable = splitByWhitespace(searchText) - searchRequestedEvent:Fire(searchText) -- todo: replace this with termtable when table passing is possible -end - -function resetSearch() - resetSearchBoxGui() - searchRequestedEvent:Fire() -end - -local backpackReady = function() - readyForNextEvent = true -end - ---------------------------- End Internal Functions ------------------------------------- - - ------------------------------- Public Functions Setup ------------------------------------- -createPublicFunction("CloseBackpack", hideBackpack) -createPublicFunction("BackpackReady", backpackReady) ------------------------------- End Public Functions Setup --------------------------------- - - ------------------------- Connections/Script Main ------------------------------------------- - -inventoryButton.MouseButton1Click:connect(function() newTabClicked("gear") end) -inventoryButton.MouseEnter:connect(function() mouseOverTab(inventoryButton) end) -inventoryButton.MouseLeave:connect(function() mouseLeaveTab(inventoryButton) end) - -if game.CoreGui.Version >= 8 then - wardrobeButton.MouseButton1Click:connect(function() newTabClicked("wardrobe") end) - wardrobeButton.MouseEnter:connect(function() mouseOverTab(wardrobeButton) end) - wardrobeButton.MouseLeave:connect(function() mouseLeaveTab(wardrobeButton) end) -end - -closeButton.MouseButton1Click:connect(closeBackpack) - -screen.Changed:connect(function(prop) - if prop == "AbsoluteSize" then - resizeEvent:Fire(screen.AbsoluteSize) - end -end) - --- GuiService key setup -game:GetService("GuiService"):AddKey(tilde) -game:GetService("GuiService"):AddKey(backquote) -game:GetService("GuiService").KeyPressed:connect(function(key) - if not active then return end - if key == tilde or key == backquote then - toggleBackpack() - end -end) -backpackButton.MouseButton1Click:connect(function() - if not active then return end - toggleBackpack() -end) - -if game.Players.LocalPlayer["Character"] then - activateBackpack() -end - -game.Players.LocalPlayer.CharacterAdded:connect(activateBackpack) - --- search functions -searchBox.FocusLost:connect(function(enterPressed) - if enterPressed or searchBox.Text ~= "" then - doSearch() - elseif searchBox.Text == "" then - resetSearch() - end -end) -searchButton.MouseButton1Click:connect(doSearch) -resetButton.MouseButton1Click:connect(resetSearch) - -if searchFrame and robloxGui.AbsoluteSize.Y <= 320 then - searchFrame.RobloxLocked = false - searchFrame:Destroy() -end - ---backpackButton.Visible = true \ No newline at end of file