-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ac1018da56625374424eec3"))() end) end) --[[rscripts:analytics:end]] local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Player = Players.LocalPlayer local Mouse = Player:GetMouse() local DuplicateOne = ReplicatedStorage:FindFirstChild("InventoryDuplicateRemote") local DuplicateAll = ReplicatedStorage:FindFirstChild("InventoryDuplicateAllRemote") local Gui = Instance.new("ScreenGui") Gui.Name = "ColetaHub" Gui.ResetOnSpawn = false Gui.IgnoreGuiInset = true Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling Gui.Parent = Player:WaitForChild("PlayerGui") local Scale = Instance.new("UIScale") Scale.Parent = Gui local Main = Instance.new("Frame") Main.Name = "Main" Main.Size = UDim2.fromOffset(390, 290) Main.Position = UDim2.new(0.5, -195, 0.5, -145) Main.BackgroundColor3 = Color3.fromRGB(18, 20, 26) Main.BackgroundTransparency = 0.04 Main.BorderSizePixel = 0 Main.Parent = Gui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 14) MainCorner.Parent = Main local MainStroke = Instance.new("UIStroke") MainStroke.Color = Color3.fromRGB(70, 74, 88) MainStroke.Transparency = 0.35 MainStroke.Thickness = 1 MainStroke.Parent = Main local function Resize() local Camera = workspace.CurrentCamera if not Camera then return end local Size = Camera.ViewportSize local Value = math.min(Size.X / 760, Size.Y / 570) Scale.Scale = math.clamp(Value, 0.65, 1) end Resize() if workspace.CurrentCamera then workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(Resize) end local TopBar = Instance.new("Frame") TopBar.Size = UDim2.new(1, 0, 0, 38) TopBar.BackgroundTransparency = 1 TopBar.Parent = Main local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -100, 1, 0) Title.Position = UDim2.fromOffset(14, 0) Title.BackgroundTransparency = 1 Title.Text = "COLETA HUB" Title.TextColor3 = Color3.fromRGB(240, 242, 248) Title.TextSize = 15 Title.Font = Enum.Font.GothamBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = TopBar local SubTitle = Instance.new("TextLabel") SubTitle.Size = UDim2.new(1, -130, 0, 14) SubTitle.Position = UDim2.fromOffset(14, 23) SubTitle.BackgroundTransparency = 1 SubTitle.Text = "Scanner universal de ProximityPrompt" SubTitle.TextColor3 = Color3.fromRGB(130, 135, 150) SubTitle.TextSize = 8 SubTitle.Font = Enum.Font.Gotham SubTitle.TextXAlignment = Enum.TextXAlignment.Left SubTitle.Parent = TopBar local Minimize = Instance.new("TextButton") Minimize.Size = UDim2.fromOffset(30, 26) Minimize.Position = UDim2.new(1, -68, 0, 7) Minimize.BackgroundColor3 = Color3.fromRGB(35, 38, 48) Minimize.Text = "—" Minimize.TextColor3 = Color3.fromRGB(230, 232, 238) Minimize.TextSize = 15 Minimize.Font = Enum.Font.GothamBold Minimize.AutoButtonColor = false Minimize.Parent = TopBar local MinCorner = Instance.new("UICorner") MinCorner.CornerRadius = UDim.new(0, 7) MinCorner.Parent = Minimize local Close = Instance.new("TextButton") Close.Size = UDim2.fromOffset(30, 26) Close.Position = UDim2.new(1, -35, 0, 7) Close.BackgroundColor3 = Color3.fromRGB(58, 34, 38) Close.Text = "×" Close.TextColor3 = Color3.fromRGB(245, 210, 214) Close.TextSize = 17 Close.Font = Enum.Font.GothamBold Close.AutoButtonColor = false Close.Parent = TopBar local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 7) CloseCorner.Parent = Close local Tabs = Instance.new("Frame") Tabs.Size = UDim2.new(1, -20, 0, 30) Tabs.Position = UDim2.fromOffset(10, 44) Tabs.BackgroundTransparency = 1 Tabs.Parent = Main local TabLayout = Instance.new("UIListLayout") TabLayout.FillDirection = Enum.FillDirection.Horizontal TabLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left TabLayout.Padding = UDim.new(0, 5) TabLayout.Parent = Tabs local function CreateTab(Text) local Button = Instance.new("TextButton") Button.Size = UDim2.fromOffset(118, 28) Button.BackgroundColor3 = Color3.fromRGB(29, 32, 40) Button.Text = Text Button.TextColor3 = Color3.fromRGB(170, 174, 190) Button.TextSize = 9 Button.Font = Enum.Font.GothamBold Button.AutoButtonColor = false Button.Parent = Tabs local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 7) Corner.Parent = Button return Button end local CollectTab = CreateTab("COLETA") local InventoryTab = CreateTab("DUPLICAR INVENTÁRIO") local OthersTab = CreateTab("OUTROS") local Pages = Instance.new("Frame") Pages.Size = UDim2.new(1, -20, 1, -84) Pages.Position = UDim2.fromOffset(10, 78) Pages.BackgroundTransparency = 1 Pages.Parent = Main local CollectPage = Instance.new("Frame") CollectPage.Size = UDim2.fromScale(1, 1) CollectPage.BackgroundTransparency = 1 CollectPage.Parent = Pages local InventoryPage = Instance.new("Frame") InventoryPage.Size = UDim2.fromScale(1, 1) InventoryPage.BackgroundTransparency = 1 InventoryPage.Visible = false InventoryPage.Parent = Pages local OthersPage = Instance.new("Frame") OthersPage.Size = UDim2.fromScale(1, 1) OthersPage.BackgroundTransparency = 1 OthersPage.Visible = false OthersPage.Parent = Pages -- ========================================================= -- COLETA -- ========================================================= local Search = Instance.new("TextBox") Search.Size = UDim2.new(1, -120, 0, 30) Search.Position = UDim2.fromOffset(0, 0) Search.BackgroundColor3 = Color3.fromRGB(28, 31, 39) Search.PlaceholderText = "Pesquisar coletável..." Search.PlaceholderColor3 = Color3.fromRGB(105, 110, 125) Search.Text = "" Search.TextColor3 = Color3.fromRGB(235, 237, 242) Search.TextSize = 10 Search.Font = Enum.Font.Gotham Search.ClearTextOnFocus = false Search.Parent = CollectPage local SearchCorner = Instance.new("UICorner") SearchCorner.CornerRadius = UDim.new(0, 8) SearchCorner.Parent = Search local Refresh = Instance.new("TextButton") Refresh.Size = UDim2.fromOffset(52, 30) Refresh.Position = UDim2.new(1, -52, 0, 0) Refresh.BackgroundColor3 = Color3.fromRGB(38, 42, 52) Refresh.Text = "↻" Refresh.TextColor3 = Color3.fromRGB(225, 228, 236) Refresh.TextSize = 15 Refresh.Font = Enum.Font.GothamBold Refresh.AutoButtonColor = false Refresh.Parent = CollectPage local RefreshCorner = Instance.new("UICorner") RefreshCorner.CornerRadius = UDim.new(0, 8) RefreshCorner.Parent = Refresh local Count = Instance.new("TextLabel") Count.Size = UDim2.new(1, 0, 0, 20) Count.Position = UDim2.fromOffset(0, 34) Count.BackgroundTransparency = 1 Count.Text = "Coletáveis: 0" Count.TextColor3 = Color3.fromRGB(130, 135, 150) Count.TextSize = 9 Count.Font = Enum.Font.Gotham Count.TextXAlignment = Enum.TextXAlignment.Left Count.Parent = CollectPage local List = Instance.new("ScrollingFrame") List.Size = UDim2.new(1, 0, 1, -58) List.Position = UDim2.fromOffset(0, 58) List.BackgroundColor3 = Color3.fromRGB(22, 24, 31) List.BackgroundTransparency = 0.15 List.BorderSizePixel = 0 List.ScrollBarThickness = 4 List.ScrollBarImageTransparency = 0.2 List.CanvasSize = UDim2.new() List.AutomaticCanvasSize = Enum.AutomaticSize.Y List.Parent = CollectPage local ListCorner = Instance.new("UICorner") ListCorner.CornerRadius = UDim.new(0, 10) ListCorner.Parent = List local ListPadding = Instance.new("UIPadding") ListPadding.PaddingTop = UDim.new(0, 6) ListPadding.PaddingBottom = UDim.new(0, 6) ListPadding.PaddingLeft = UDim.new(0, 6) ListPadding.PaddingRight = UDim.new(0, 6) ListPadding.Parent = List local ListLayout = Instance.new("UIListLayout") ListLayout.Padding = UDim.new(0, 5) ListLayout.Parent = List local Items = {} local Collecting = {} local function GetName(Prompt) if Prompt.ObjectText ~= "" then return Prompt.ObjectText end if Prompt.ActionText ~= "" then return Prompt.ActionText end local Current = Prompt.Parent while Current and Current ~= workspace do if Current:IsA("Model") then return Current.Name end Current = Current.Parent end if Prompt.Parent then return Prompt.Parent.Name end return "Objeto" end local function GetTargetCFrame(Prompt) if not Prompt or not Prompt.Parent then return nil end local Parent = Prompt.Parent if Parent:IsA("Attachment") then return Parent.WorldCFrame end if Parent:IsA("BasePart") then return Parent.CFrame end if Parent:IsA("Model") then return Parent:GetPivot() end local Part = Parent:FindFirstChildWhichIsA("BasePart", true) if Part then return Part.CFrame end local Current = Parent.Parent while Current and Current ~= workspace do if Current:IsA("Model") then return Current:GetPivot() end if Current:IsA("BasePart") then return Current.CFrame end Current = Current.Parent end return nil end local function TeleportToPrompt(Prompt, Offset) local Character = Player.Character if not Character then return false end local Target = GetTargetCFrame(Prompt) if not Target then return false end local Position = Target.Position + Offset return pcall(function() Character:PivotTo( CFrame.lookAt( Position, Target.Position ) ) end) end local function TryPrompt(Prompt) if not Prompt or not Prompt.Parent then return false, false end if not Prompt.Enabled then return false, false end local Triggered = false local Connection Connection = Prompt.Triggered:Connect(function() Triggered = true end) local Success = pcall(function() Prompt:InputHoldBegin() local Duration = Prompt.HoldDuration if Duration > 0 then task.wait(Duration + 0.08) else task.wait(0.12) end Prompt:InputHoldEnd() end) task.wait(0.12) if Connection then Connection:Disconnect() end return Success, Triggered end local function Collect(Data, Button) local Prompt = Data.Prompt if not Prompt or not Prompt.Parent or not Prompt.Enabled then Button.Text = "INDISPONÍVEL" task.wait(0.5) if Button.Parent then Button.Text = "COLETAR" end return end if Collecting[Prompt] then return end Collecting[Prompt] = true local OldText = Button.Text Button.Text = "..." local Character = Player.Character local Root = Character and Character:FindFirstChild("HumanoidRootPart") local OriginalCFrame if Root then OriginalCFrame = Root.CFrame end local Success = false local Triggered = false local Teleported = false -- TENTATIVA 1 do local OK, WasTriggered = TryPrompt(Prompt) if OK then Success = true end if WasTriggered then Triggered = true end end -- TENTATIVA 2 if not Triggered and Prompt.Parent and Prompt.Enabled then if TeleportToPrompt( Prompt, Vector3.new(0, 3, 4) ) then Teleported = true task.wait(0.15) local OK, WasTriggered = TryPrompt(Prompt) if OK then Success = true end if WasTriggered then Triggered = true end end end -- TENTATIVA 3 if not Triggered and Prompt.Parent and Prompt.Enabled then if TeleportToPrompt( Prompt, Vector3.new(0, 1.8, 1.8) ) then Teleported = true task.wait(0.15) local OK, WasTriggered = TryPrompt(Prompt) if OK then Success = true end if WasTriggered then Triggered = true end end end if Triggered then Button.Text = "✓ COLETADO" elseif Success then Button.Text = "TENTOU" else Button.Text = "ERRO" end task.wait(0.25) if Teleported and OriginalCFrame then local CurrentCharacter = Player.Character if CurrentCharacter then pcall(function() CurrentCharacter:PivotTo(OriginalCFrame) end) end end task.wait(0.5) if Button.Parent then Button.Text = OldText end Collecting[Prompt] = nil end local function CreateItem(Data) local Item = Instance.new("Frame") Item.Size = UDim2.new(1, 0, 0, 45) Item.BackgroundColor3 = Color3.fromRGB(30, 33, 42) Item.BorderSizePixel = 0 Item.Parent = List local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 8) Corner.Parent = Item local NameLabel = Instance.new("TextLabel") NameLabel.Size = UDim2.new(1, -145, 1, 0) NameLabel.Position = UDim2.fromOffset(10, 0) NameLabel.BackgroundTransparency = 1 NameLabel.Text = Data.Name NameLabel.TextColor3 = Color3.fromRGB(235, 237, 242) NameLabel.TextSize = 10 NameLabel.Font = Enum.Font.GothamMedium NameLabel.TextXAlignment = Enum.TextXAlignment.Left NameLabel.TextTruncate = Enum.TextTruncate.AtEnd NameLabel.Parent = Item local TPButton = Instance.new("TextButton") TPButton.Size = UDim2.fromOffset(55, 27) TPButton.Position = UDim2.new(1, -123, 0.5, -13) TPButton.BackgroundColor3 = Color3.fromRGB(45, 49, 60) TPButton.Text = "TP" TPButton.TextColor3 = Color3.fromRGB(220, 224, 235) TPButton.TextSize = 9 TPButton.Font = Enum.Font.GothamBold TPButton.AutoButtonColor = false TPButton.Parent = Item local TPCorner = Instance.new("UICorner") TPCorner.CornerRadius = UDim.new(0, 6) TPCorner.Parent = TPButton local CollectButton = Instance.new("TextButton") CollectButton.Size = UDim2.fromOffset(62, 27) CollectButton.Position = UDim2.new(1, -63, 0.5, -13) CollectButton.BackgroundColor3 = Color3.fromRGB(48, 68, 54) CollectButton.Text = "COLETAR" CollectButton.TextColor3 = Color3.fromRGB(222, 238, 226) CollectButton.TextSize = 8 CollectButton.Font = Enum.Font.GothamBold CollectButton.AutoButtonColor = false CollectButton.Parent = Item local CollectCorner = Instance.new("UICorner") CollectCorner.CornerRadius = UDim.new(0, 6) CollectCorner.Parent = CollectButton TPButton.MouseButton1Click:Connect(function() TeleportToPrompt( Data.Prompt, Vector3.new(0, 3, 5) ) end) CollectButton.MouseButton1Click:Connect(function() task.spawn(function() Collect(Data, CollectButton) end) end) end local function RefreshCollectionList() for _, Child in ipairs(List:GetChildren()) do if Child:IsA("Frame") then Child:Destroy() end end local Query = Search.Text:lower() local Shown = 0 for _, Data in ipairs(Items) do if Query == "" or Data.Name:lower():find(Query, 1, true) then CreateItem(Data) Shown += 1 end end Count.Text = "Coletáveis: " .. tostring(Shown) .. " / " .. tostring(#Items) end local function Scan() Items = {} for _, Object in ipairs(workspace:GetDescendants()) do if Object:IsA("ProximityPrompt") and Object.Enabled then table.insert(Items, { Prompt = Object, Name = GetName(Object) }) end end table.sort(Items, function(A, B) return A.Name:lower() < B.Name:lower() end) RefreshCollectionList() end Search:GetPropertyChangedSignal("Text"):Connect(function() RefreshCollectionList() end) Refresh.MouseButton1Click:Connect(function() Refresh.Text = "..." task.spawn(function() Scan() task.wait(0.25) if Refresh.Parent then Refresh.Text = "↻" end end) end) -- ========================================================= -- DUPLICAR INVENTÁRIO -- ========================================================= local DupeTitle = Instance.new("TextLabel") DupeTitle.Size = UDim2.new(1, -100, 0, 25) DupeTitle.Position = UDim2.fromOffset(0, 0) DupeTitle.BackgroundTransparency = 1 DupeTitle.Text = "MEU INVENTÁRIO" DupeTitle.TextColor3 = Color3.fromRGB(235, 237, 242) DupeTitle.TextSize = 12 DupeTitle.Font = Enum.Font.GothamBold DupeTitle.TextXAlignment = Enum.TextXAlignment.Left DupeTitle.Parent = InventoryPage local DupeAll = Instance.new("TextButton") DupeAll.Size = UDim2.fromOffset(95, 28) DupeAll.Position = UDim2.new(1, -95, 0, 0) DupeAll.BackgroundColor3 = Color3.fromRGB(47, 68, 53) DupeAll.Text = "DUPLICAR TUDO" DupeAll.TextColor3 = Color3.fromRGB(225, 238, 227) DupeAll.TextSize = 8 DupeAll.Font = Enum.Font.GothamBold DupeAll.AutoButtonColor = false DupeAll.Parent = InventoryPage local DupeAllCorner = Instance.new("UICorner") DupeAllCorner.CornerRadius = UDim.new(0, 7) DupeAllCorner.Parent = DupeAll local InventoryList = Instance.new("ScrollingFrame") InventoryList.Size = UDim2.new(1, 0, 1, -35) InventoryList.Position = UDim2.fromOffset(0, 35) InventoryList.BackgroundColor3 = Color3.fromRGB(22, 24, 31) InventoryList.BackgroundTransparency = 0.15 InventoryList.BorderSizePixel = 0 InventoryList.ScrollBarThickness = 4 InventoryList.AutomaticCanvasSize = Enum.AutomaticSize.Y InventoryList.Parent = InventoryPage local InventoryCorner = Instance.new("UICorner") InventoryCorner.CornerRadius = UDim.new(0, 10) InventoryCorner.Parent = InventoryList local InventoryPadding = Instance.new("UIPadding") InventoryPadding.PaddingTop = UDim.new(0, 6) InventoryPadding.PaddingBottom = UDim.new(0, 6) InventoryPadding.PaddingLeft = UDim.new(0, 6) InventoryPadding.PaddingRight = UDim.new(0, 6) InventoryPadding.Parent = InventoryList local InventoryLayout = Instance.new("UIListLayout") InventoryLayout.Padding = UDim.new(0, 5) InventoryLayout.Parent = InventoryList local function CreateInventoryItem(Tool) local Item = Instance.new("Frame") Item.Size = UDim2.new(1, 0, 0, 42) Item.BackgroundColor3 = Color3.fromRGB(30, 33, 42) Item.BorderSizePixel = 0 Item.Parent = InventoryList local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 8) Corner.Parent = Item local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -90, 1, 0) Label.Position = UDim2.fromOffset(10, 0) Label.BackgroundTransparency = 1 Label.Text = Tool.Name Label.TextColor3 = Color3.fromRGB(235, 237, 242) Label.TextSize = 10 Label.Font = Enum.Font.GothamMedium Label.TextXAlignment = Enum.TextXAlignment.Left Label.TextTruncate = Enum.TextTruncate.AtEnd Label.Parent = Item local Button = Instance.new("TextButton") Button.Size = UDim2.fromOffset(72, 27) Button.Position = UDim2.new(1, -78, 0.5, -13) Button.BackgroundColor3 = Color3.fromRGB(45, 64, 51) Button.Text = "DUPLICAR" Button.TextColor3 = Color3.fromRGB(220, 236, 224) Button.TextSize = 8 Button.Font = Enum.Font.GothamBold Button.AutoButtonColor = false Button.Parent = Item local ButtonCorner = Instance.new("UICorner") ButtonCorner.CornerRadius = UDim.new(0, 6) ButtonCorner.Parent = Button Button.MouseButton1Click:Connect(function() if not DuplicateOne then Button.Text = "SEM SERVER" task.wait(0.8) if Button.Parent then Button.Text = "DUPLICAR" end return end Button.Text = "..." task.spawn(function() local Success, Result, Message = pcall(function() return DuplicateOne:InvokeServer(Tool) end) if Success and Result == true then Button.Text = "✓" else Button.Text = "ERRO" end task.wait(0.7) if Button.Parent then Button.Text = "DUPLICAR" end end) end) end local function RefreshInventory() for _, Child in ipairs(InventoryList:GetChildren()) do if Child:IsA("Frame") then Child:Destroy() end end local Backpack = Player:FindFirstChildOfClass("Backpack") if Backpack then for _, Tool in ipairs(Backpack:GetChildren()) do if Tool:IsA("Tool") then CreateInventoryItem(Tool) end end end local Character = Player.Character if Character then for _, Tool in ipairs(Character:GetChildren()) do if Tool:IsA("Tool") then CreateInventoryItem(Tool) end end end end DupeAll.MouseButton1Click:Connect(function() if not DuplicateAll then DupeAll.Text = "SEM SERVER" task.wait(0.9) if DupeAll.Parent then DupeAll.Text = "DUPLICAR TUDO" end return end DupeAll.Text = "..." task.spawn(function() local Success, Result = pcall(function() return DuplicateAll:InvokeServer() end) if Success and Result == true then DupeAll.Text = "✓ FEITO" RefreshInventory() else DupeAll.Text = "ERRO" end task.wait(0.9) if DupeAll.Parent then DupeAll.Text = "DUPLICAR TUDO" end end) end) -- ========================================================= -- OUTROS / TP TOOL -- ========================================================= local OthersTitle = Instance.new("TextLabel") OthersTitle.Size = UDim2.new(1, 0, 0, 30) OthersTitle.Position = UDim2.fromOffset(0, 0) OthersTitle.BackgroundTransparency = 1 OthersTitle.Text = "OUTROS" OthersTitle.TextColor3 = Color3.fromRGB(235, 237, 242) OthersTitle.TextSize = 13 OthersTitle.Font = Enum.Font.GothamBold OthersTitle.TextXAlignment = Enum.TextXAlignment.Left OthersTitle.Parent = OthersPage local OthersSubtitle = Instance.new("TextLabel") OthersSubtitle.Size = UDim2.new(1, 0, 0, 25) OthersSubtitle.Position = UDim2.fromOffset(0, 28) OthersSubtitle.BackgroundTransparency = 1 OthersSubtitle.Text = "Ferramentas adicionais" OthersSubtitle.TextColor3 = Color3.fromRGB(130, 135, 150) OthersSubtitle.TextSize = 9 OthersSubtitle.Font = Enum.Font.Gotham OthersSubtitle.TextXAlignment = Enum.TextXAlignment.Left OthersSubtitle.Parent = OthersPage local TPToolButton = Instance.new("TextButton") TPToolButton.Size = UDim2.new(1, 0, 0, 58) TPToolButton.Position = UDim2.fromOffset(0, 62) TPToolButton.BackgroundColor3 = Color3.fromRGB(30, 33, 42) TPToolButton.Text = "" TPToolButton.AutoButtonColor = false TPToolButton.Parent = OthersPage local TPToolCorner = Instance.new("UICorner") TPToolCorner.CornerRadius = UDim.new(0, 10) TPToolCorner.Parent = TPToolButton local TPToolStroke = Instance.new("UIStroke") TPToolStroke.Color = Color3.fromRGB(65, 70, 84) TPToolStroke.Transparency = 0.45 TPToolStroke.Parent = TPToolButton local TPToolTitle = Instance.new("TextLabel") TPToolTitle.Size = UDim2.new(1, -100, 0, 22) TPToolTitle.Position = UDim2.fromOffset(12, 7) TPToolTitle.BackgroundTransparency = 1 TPToolTitle.Text = "TP TOOL" TPToolTitle.TextColor3 = Color3.fromRGB(235, 237, 242) TPToolTitle.TextSize = 11 TPToolTitle.Font = Enum.Font.GothamBold TPToolTitle.TextXAlignment = Enum.TextXAlignment.Left TPToolTitle.Parent = TPToolButton local TPToolDescription = Instance.new("TextLabel") TPToolDescription.Size = UDim2.new(1, -100, 0, 18) TPToolDescription.Position = UDim2.fromOffset(12, 30) TPToolDescription.BackgroundTransparency = 1 TPToolDescription.Text = "Adicionar ferramenta de teleporte" TPToolDescription.TextColor3 = Color3.fromRGB(130, 135, 150) TPToolDescription.TextSize = 8 TPToolDescription.Font = Enum.Font.Gotham TPToolDescription.TextXAlignment = Enum.TextXAlignment.Left TPToolDescription.Parent = TPToolButton local TPToolStatus = Instance.new("TextLabel") TPToolStatus.Size = UDim2.fromOffset(70, 28) TPToolStatus.Position = UDim2.new(1, -82, 0.5, -14) TPToolStatus.BackgroundColor3 = Color3.fromRGB(47, 68, 53) TPToolStatus.Text = "ADICIONAR" TPToolStatus.TextColor3 = Color3.fromRGB(222, 238, 226) TPToolStatus.TextSize = 8 TPToolStatus.Font = Enum.Font.GothamBold TPToolStatus.Parent = TPToolButton local TPToolStatusCorner = Instance.new("UICorner") TPToolStatusCorner.CornerRadius = UDim.new(0, 7) TPToolStatusCorner.Parent = TPToolStatus local function GetTPTool() local Backpack = Player:FindFirstChildOfClass("Backpack") if Backpack then local Existing = Backpack:FindFirstChild("TP Tool") if Existing and Existing:IsA("Tool") then return Existing end end local Character = Player.Character if Character then local Existing = Character:FindFirstChild("TP Tool") if Existing and Existing:IsA("Tool") then return Existing end end return nil end local function CreateTPTool() local Existing = GetTPTool() if Existing then return Existing end local Backpack = Player:FindFirstChildOfClass("Backpack") if not Backpack then return nil end local Tool = Instance.new("Tool") Tool.Name = "TP Tool" Tool.ToolTip = "Clique/toque em um ponto para teleportar" Tool.RequiresHandle = false Tool.CanBeDropped = false Tool.Activated:Connect(function() local Character = Player.Character if not Character then return end local Root = Character:FindFirstChild("HumanoidRootPart") if not Root then return end local Hit = Mouse.Hit if not Hit then return end local TargetPosition = Hit.Position pcall(function() Character:PivotTo( CFrame.new( TargetPosition + Vector3.new(0, 3, 0) ) ) end) end) Tool.Parent = Backpack return Tool end TPToolButton.MouseButton1Click:Connect(function() TPToolStatus.Text = "..." task.spawn(function() local Tool = CreateTPTool() if Tool then TPToolStatus.Text = "ADICIONADA" else TPToolStatus.Text = "ERRO" end task.wait(0.8) if TPToolStatus.Parent then TPToolStatus.Text = "ADICIONAR" end end) end) -- ========================================================= -- ABAS -- ========================================================= local function SetTab(Page) CollectPage.Visible = Page == CollectPage InventoryPage.Visible = Page == InventoryPage OthersPage.Visible = Page == OthersPage CollectTab.BackgroundColor3 = Color3.fromRGB(29, 32, 40) CollectTab.TextColor3 = Color3.fromRGB(170, 174, 190) InventoryTab.BackgroundColor3 = Color3.fromRGB(29, 32, 40) InventoryTab.TextColor3 = Color3.fromRGB(170, 174, 190) OthersTab.BackgroundColor3 = Color3.fromRGB(29, 32, 40) OthersTab.TextColor3 = Color3.fromRGB(170, 174, 190) if Page == CollectPage then CollectTab.BackgroundColor3 = Color3.fromRGB(48, 53, 67) CollectTab.TextColor3 = Color3.fromRGB(240, 242, 248) elseif Page == InventoryPage then InventoryTab.BackgroundColor3 = Color3.fromRGB(48, 53, 67) InventoryTab.TextColor3 = Color3.fromRGB(240, 242, 248) RefreshInventory() elseif Page == OthersPage then OthersTab.BackgroundColor3 = Color3.fromRGB(48, 53, 67) OthersTab.TextColor3 = Color3.fromRGB(240, 242, 248) end end CollectTab.MouseButton1Click:Connect(function() SetTab(CollectPage) end) InventoryTab.MouseButton1Click:Connect(function() SetTab(InventoryPage) end) OthersTab.MouseButton1Click:Connect(function() SetTab(OthersPage) end) -- ========================================================= -- ARRASTAR GUI -- ========================================================= local Dragging = false local DragStart local StartPosition local DragInput TopBar.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = true DragStart = Input.Position StartPosition = Main.Position DragInput = Input end end) TopBar.InputEnded:Connect(function(Input) if Input == DragInput then Dragging = false end end) UserInputService.InputChanged:Connect(function(Input) if not Dragging then return end if Input.UserInputType ~= Enum.UserInputType.MouseMovement and Input.UserInputType ~= Enum.UserInputType.Touch then return end local Delta = Input.Position - DragStart Main.Position = UDim2.new( StartPosition.X.Scale, StartPosition.X.Offset + Delta.X, StartPosition.Y.Scale, StartPosition.Y.Offset + Delta.Y ) end) -- ========================================================= -- MINIMIZAR -- ========================================================= local Minimized = false local Floating = Instance.new("TextButton") Floating.Size = UDim2.fromOffset(54, 54) Floating.Position = UDim2.new(0, 20, 0.5, -27) Floating.BackgroundColor3 = Color3.fromRGB(24, 27, 34) Floating.Text = "CH" Floating.TextColor3 = Color3.fromRGB(240, 242, 248) Floating.TextSize = 14 Floating.Font = Enum.Font.GothamBold Floating.Visible = false Floating.AutoButtonColor = false Floating.Parent = Gui local FloatingCorner = Instance.new("UICorner") FloatingCorner.CornerRadius = UDim.new(1, 0) FloatingCorner.Parent = Floating local FloatingStroke = Instance.new("UIStroke") FloatingStroke.Color = Color3.fromRGB(75, 80, 95) FloatingStroke.Thickness = 1 FloatingStroke.Parent = Floating Minimize.MouseButton1Click:Connect(function() Minimized = true Main.Visible = false Floating.Visible = true end) Floating.MouseButton1Click:Connect(function() Minimized = false Main.Visible = true Floating.Visible = false end) Close.MouseButton1Click:Connect(function() Gui:Destroy() end) UserInputService.InputBegan:Connect(function(Input, GameProcessed) if GameProcessed then return end if Input.KeyCode == Enum.KeyCode.RightShift then Minimized = not Minimized Main.Visible = not Minimized Floating.Visible = Minimized end end) -- ========================================================= -- ATUALIZAÇÃO AUTOMÁTICA -- ========================================================= workspace.DescendantAdded:Connect(function(Object) if Object:IsA("ProximityPrompt") then task.delay(0.15, function() if Gui.Parent then Scan() end end) end end) workspace.DescendantRemoving:Connect(function(Object) if Object:IsA("ProximityPrompt") then task.delay(0.15, function() if Gui.Parent then Scan() end end) end end) Player.CharacterAdded:Connect(function() task.wait(1) if Gui.Parent then RefreshInventory() end end) SetTab(CollectPage) task.wait(0.5) Scan() RefreshInventory()