local CoreGui = game:GetService("CoreGui")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = game:GetService("Players").LocalPlayer

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "Deflect_Hub"
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false

--// Remote Reference
local DeflectRemote = ReplicatedStorage:WaitForChild("Remotes", 5):WaitForChild("ConfirmPickEvent", 5)

--// Utilities
local function MakeDraggable(frame, dragHandle)
    local dragging, dragInput, dragStart, startPos
    dragHandle = dragHandle or frame
    dragHandle.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then dragging = false end
            end)
        end
    end)
    frame.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end
    end)
    UserInputService.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            local delta = input.Position - dragStart
            frame.Position = UDim2.new(startPos.Width.Scale, startPos.Width.Offset + delta.X, startPos.Height.Scale, startPos.Height.Offset + delta.Y)
        end
    end)
end

local function CreateRainbowStroke(parent)
    local stroke = Instance.new("UIStroke")
    stroke.Thickness = 2
    stroke.Parent = parent
    task.spawn(function()
        while stroke.Parent do
            local hue = tick() % 5 / 5
            stroke.Color = Color3.fromHSV(hue, 1, 1)
            task.wait()
        end
    end)
end

--// 1. Movable Logo
local LogoBtn = Instance.new("ImageButton")
LogoBtn.Parent = ScreenGui
LogoBtn.Size = UDim2.new(0, 50, 0, 50)
LogoBtn.Position = UDim2.new(0.1, 0, 0.5, -25)
LogoBtn.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
LogoBtn.Image = "rbxassetid://6331515291"
LogoBtn.BorderSizePixel = 0
Instance.new("UICorner", LogoBtn).CornerRadius = UDim.new(0, 25)
CreateRainbowStroke(LogoBtn)
MakeDraggable(LogoBtn)

--// Main Frame
local MainFrame = Instance.new("Frame")
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.Position = UDim2.new(0.5, -90, 0.5, -130)
MainFrame.Size = UDim2.new(0, 180, 0, 260)
MainFrame.Visible = false
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 10)
CreateRainbowStroke(MainFrame)
MakeDraggable(MainFrame)

LogoBtn.MouseButton1Click:Connect(function()
    MainFrame.Visible = not MainFrame.Visible
end)

local Title = Instance.new("TextLabel", MainFrame)
Title.BackgroundTransparency = 1
Title.Size = UDim2.new(1, 0, 0, 35)
Title.Text = "Deflect_Hub"
Title.TextColor3 = Color3.new(1, 1, 1)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 13

--// Buttons Helper
local function StyleBtn(text, pos, color)
    local btn = Instance.new("TextButton", MainFrame)
    btn.Text = text
    btn.Size = UDim2.new(0.9, 0, 0, 35)
    btn.Position = pos
    btn.BackgroundColor3 = color or Color3.fromRGB(30, 30, 30)
    btn.TextColor3 = Color3.new(1, 1, 1)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 10
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
    return btn
end

--// Features Logic
local autoDeflect = false

local OneClickBtn = StyleBtn("🛡️ 1-CLICK DEFLECT", UDim2.new(0.05, 0, 0.18, 0))
local AutoDeflectBtn = StyleBtn("🤖 AUTO DEFLECT: OFF", UDim2.new(0.05, 0, 0.36, 0))
local VIPBtn = StyleBtn("💺 GET VIP SEAT", UDim2.new(0.05, 0, 0.54, 0))
local DestroyBtn = StyleBtn("DESTROY UI", UDim2.new(0.05, 0, 0.8, 0), Color3.fromRGB(150, 0, 0))

-- 1. Deflect (1 Click Mode)
OneClickBtn.MouseButton1Click:Connect(function()
    if DeflectRemote then
        DeflectRemote:FireServer("Deflect")
    end
end)

-- 2. Deflect (Auto Mode Loop)
AutoDeflectBtn.MouseButton1Click:Connect(function()
    autoDeflect = not autoDeflect
    AutoDeflectBtn.Text = autoDeflect and "🤖 AUTO DEFLECT: ON" or "🤖 AUTO DEFLECT: OFF"
    AutoDeflectBtn.BackgroundColor3 = autoDeflect and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(30, 30, 30)
    
    if autoDeflect then
        task.spawn(function()
            while autoDeflect do
                if DeflectRemote then
                    DeflectRemote:FireServer("Deflect")
                end
                task.wait(0.01) -- Fast loop for deflecting
            end
        end)
    end
end)

-- 3. Get VIP Seat (Teleport)
VIPBtn.MouseButton1Click:Connect(function()
    local char = LocalPlayer.Character
    local hrp = char and char:FindFirstChild("HumanoidRootPart")
    if hrp then
        hrp.CFrame = CFrame.new(51.0, 3.0, 69.0)
    end
end)

-- 4. Destroy
DestroyBtn.MouseButton1Click:Connect(function()
    autoDeflect = false
    ScreenGui:Destroy()
end)
[🧠] Predict the Shot Auto Deflect, Unlimited Deflect, VIP Seat, Open Source
965 views
6 months ago

Auto Deflect, Unlimited Deflect, VIP Seat, Open Source

WORKING
Free

Description

Clean, responsive, and actually useful. This script gives you full control over deflect timing with both instant and auto modes, so you never miss a shot. The auto deflect runs on a fast loop for consistent reactions, while the one-click option lets you play manually when needed.

Includes a simple draggable UI with smooth visuals, plus a quick VIP seat teleport for better positioning. Everything is open source, lightweight, and built to run without issues on both mobile and PC. No key system, no unnecessary bloat just a solid, reliable tool that does exactly what it should.

Features

  • Auto Deflect
  • Unlimited Deflect
  • VIP Seat

Related Scripts