local Players = game:GetService("Players") local MarketplaceService = game:GetService("MarketplaceService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local productId = 2703889068 local isLooping = false local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CompactTurboUI" ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 360, 0, 240) MainFrame.Position = UDim2.new(0.5, -180, 0.5, -120) MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) MainFrame.BackgroundTransparency = 0.25 MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 15) UICorner.Parent = MainFrame local UIStroke = Instance.new("UIStroke") UIStroke.Thickness = 3.5 UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border UIStroke.Parent = MainFrame local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 70) Header.BackgroundTransparency = 1 Header.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -60, 1, 0) Title.Position = UDim2.new(0, 20, 0, 5) Title.Text = "INFINITE REVIVES\ntoggle with [CTRL]" Title.RichText = true Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 24 Title.TextXAlignment = Enum.TextXAlignment.Left Title.BackgroundTransparency = 1 Title.Parent = Header local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0, 28, 0, 28) CloseButton.Position = UDim2.new(1, -40, 0, 15) CloseButton.BackgroundColor3 = Color3.fromRGB(200, 40, 40) CloseButton.Text = "X" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.Font = Enum.Font.GothamBold CloseButton.TextSize = 14 CloseButton.Parent = Header local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(1, 0) CloseCorner.Parent = CloseButton local function StyleButton(btn, text) btn.Size = UDim2.new(0, 300, 0, 55) btn.BackgroundColor3 = Color3.fromRGB(20, 20, 20) btn.BackgroundTransparency = 0.2 btn.Text = text btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.Font = Enum.Font.GothamBold btn.TextSize = 16 btn.AutoButtonColor = false local bCorner = Instance.new("UICorner") bCorner.CornerRadius = UDim.new(0, 10) bCorner.Parent = btn local bStroke = Instance.new("UIStroke") bStroke.Thickness = 2 bStroke.Color = Color3.fromRGB(60, 60, 60) bStroke.Parent = btn return bStroke end local SingleBtn = Instance.new("TextButton") SingleBtn.Position = UDim2.new(0.5, -150, 0, 85) SingleBtn.Parent = MainFrame local SingleStroke = StyleButton(SingleBtn, "50 revives") local LoopBtn = Instance.new("TextButton") LoopBtn.Position = UDim2.new(0.5, -150, 0, 155) LoopBtn.Parent = MainFrame local LoopStroke = StyleButton(LoopBtn, "infinite revs: OFF") local currentColor = Color3.fromRGB(255, 255, 255) task.spawn(function() while true do local hue = tick() % 5 / 5 currentColor = Color3.fromHSV(hue, 0.8, 1) UIStroke.Color = currentColor RunService.RenderStepped:Wait() end end) local function AddHover(btn) btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(40, 40, 40)}):Play() end) btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(20, 20, 20)}):Play() end) end AddHover(SingleBtn) AddHover(LoopBtn) SingleBtn.MouseButton1Click:Connect(function() MarketplaceService:SignalPromptProductPurchaseFinished(LocalPlayer.UserId, productId, true) SingleBtn.Text = "nice" task.wait(0.5) SingleBtn.Text = "50 revives" end) LoopBtn.MouseButton1Click:Connect(function() isLooping = not isLooping if isLooping then LoopBtn.Text = "infinite revs: ON" LoopBtn.TextColor3 = Color3.fromRGB(100, 255, 100) LoopStroke.Color = Color3.fromRGB(0, 150, 0) task.spawn(function() while isLooping do MarketplaceService:SignalPromptProductPurchaseFinished(LocalPlayer.UserId, productId, true) task.wait(0.1) end end) else LoopBtn.Text = "infinite revs: OFF" LoopBtn.TextColor3 = Color3.fromRGB(255, 255, 255) LoopStroke.Color = Color3.fromRGB(60, 60, 60) end end) UserInputService.InputBegan:Connect(function(input, gp) if not gp and (input.KeyCode == Enum.KeyCode.LeftControl or input.KeyCode.RightControl) then ScreenGui.Enabled = not ScreenGui.Enabled end end) CloseButton.MouseButton1Click:Connect(function() isLooping = false ScreenGui:Destroy() end) local dragToggle, dragStart, startPos MainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragToggle = true dragStart = input.Position startPos = MainFrame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragToggle and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) MainFrame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragToggle = false end end)