M
Description
WHAT INCLUDE: PRESS G TO START STEALING(CHANGABLE THO) INCLUDE STEAL USING GK CATCH(BASICALLY DIVE IS THE MOST POWERFUL STEAL) HAVE TEAM CHECK IF U WANT TO STEAL FROM TEAMMATE USING BAROU
GAME[Yukimiya] Blue Lock: Skibidi
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. 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 BloxScripts 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=6aa7ccb06850d730d8168606"))()
end)
end)
--[[rscripts:analytics:end]]
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local LocalPlayer = Players.LocalPlayer
local BALL_NAME = "Ball"
local DEFAULT_STEAL_DISTANCE = 3
local STEAL_SLIDE_INTERVAL = 0.12
local GK_ROLE_NAMES = {"gk", "goalkeeper", "goal keeper", "keeper"}
local GK_TP_OFFSET = Vector3.new(0, 2.5, 0)
local GK_DIVE_DELAY = 0.30
-- State & Configuration
local isStealing = false
local autoStealEnabled = false
local currentKeybind = Enum.KeyCode.G
local isListeningForKey = false
local teamCheckEnabled = true
local currentHighlight = nil
-- ==========================================
-- [ HELPER & TEAM CHECK FUNCTIONS ]
-- ==========================================
local function getCharacter()
local char = LocalPlayer.Character
if not char then return nil, nil, nil end
local hum = char:FindFirstChildOfClass("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
return char, hum, hrp
end
local function localHasBall()
local char = LocalPlayer.Character
if not char then return false end
local ball = char:FindFirstChild(BALL_NAME, true)
return ball ~= nil and ball:IsA("BasePart")
end
local function isTeammate(plr)
if not plr or plr == LocalPlayer then return true end
if LocalPlayer.Team and plr.Team then
return LocalPlayer.Team == plr.Team
end
return false
end
local function getRoleName()
local roleObj = LocalPlayer:FindFirstChild("Role") or (LocalPlayer:FindFirstChild("Values") and LocalPlayer.Values:FindFirstChild("Role"))
if roleObj and roleObj.Value ~= nil then
return string.lower(tostring(roleObj.Value))
end
return ""
end
local function localIsGoalkeeper()
local role = string.gsub(getRoleName(), "%s+", " ")
for _, name in ipairs(GK_ROLE_NAMES) do
if role == name then return true end
end
return false
end
local function sendVirtualKey(keyCode)
if not VirtualInputManager then return end
pcall(function()
VirtualInputManager:SendKeyEvent(true, keyCode, false, game)
task.wait()
VirtualInputManager:SendKeyEvent(false, keyCode, false, game)
end)
end
local function resolveOwnGoalPart()
local isHome = LocalPlayer.Team and string.lower(LocalPlayer.Team.Name) == "home"
local goalName = isHome and "PlayerOneGoalArea" or "PlayerTwoGoalArea"
local goal = workspace:FindFirstChild(goalName)
if not goal then
goalName = isHome and "PlayerOneGoal" or "PlayerTwoGoal"
local map = workspace:FindFirstChild("Map")
local goalModel = map and map:FindFirstChild(goalName)
if goalModel then
goal = goalModel:FindFirstChild("ScoreHitbox") or goalModel:FindFirstChild("Score")
end
end
if goal then
if goal:IsA("BasePart") then return goal end
if goal:IsA("Model") then return goal.PrimaryPart or goal:FindFirstChildWhichIsA("BasePart", true) end
end
return nil
end
local function findBallTarget()
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character then
if not (teamCheckEnabled and isTeammate(plr)) then
local ball = plr.Character:FindFirstChild(BALL_NAME, true)
local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
if ball and hrp then
return hrp, plr
end
end
end
end
local freeBall = workspace:FindFirstChild(BALL_NAME)
if freeBall and freeBall:IsA("BasePart") then
return freeBall, nil
end
return nil, nil
end
-- ==========================================
-- [ BALL CARRIER HIGHLIGHT (ESP) ]
-- ==========================================
local function updateBallCarrierHighlight()
local carrierChar = nil
local carrierPlr = nil
for _, plr in ipairs(Players:GetPlayers()) do
if plr.Character then
local ball = plr.Character:FindFirstChild(BALL_NAME, true)
if ball then
carrierChar = plr.Character
carrierPlr = plr
break
end
end
end
if carrierChar and carrierPlr then
if not currentHighlight or currentHighlight.Parent ~= carrierChar then
if currentHighlight then currentHighlight:Destroy() end
currentHighlight = Instance.new("Highlight")
currentHighlight.Name = "BallCarrierHighlight"
currentHighlight.FillTransparency = 0.4
currentHighlight.OutlineTransparency = 0
currentHighlight.Parent = carrierChar
end
if isTeammate(carrierPlr) then
currentHighlight.FillColor = Color3.fromRGB(0, 255, 100)
currentHighlight.OutlineColor = Color3.fromRGB(255, 255, 255)
else
currentHighlight.FillColor = Color3.fromRGB(255, 50, 50)
currentHighlight.OutlineColor = Color3.fromRGB(255, 255, 255)
end
else
if currentHighlight then
currentHighlight:Destroy()
currentHighlight = nil
end
end
end
RunService.RenderStepped:Connect(updateBallCarrierHighlight)
-- ==========================================
-- [ MAIN ACTION: STEAL BALL ]
-- ==========================================
local function triggerStealBallAction()
if isStealing or localHasBall() then return end
local _, _, rootPart = getCharacter()
if not rootPart then return end
isStealing = true
local savedCFrame = rootPart.CFrame
task.spawn(function()
local timeout = os.clock() + 15
while isStealing and not localHasBall() and (os.clock() < timeout) do
local targetPart, targetPlayer = findBallTarget()
if not targetPart then break end
local isGK = localIsGoalkeeper()
local targetIsTeammate = targetPlayer and isTeammate(targetPlayer)
if isGK and not targetIsTeammate then
local ownGoal = resolveOwnGoalPart()
if ownGoal then
local _, _, currentRoot = getCharacter()
if currentRoot then
currentRoot.CFrame = CFrame.new(ownGoal.Position + GK_TP_OFFSET)
task.wait(GK_DIVE_DELAY)
sendVirtualKey(Enum.KeyCode.Q)
end
end
local cycleTimeout = os.clock() + 1.0
local lastSlideTime = 0
while isStealing and not localHasBall() and (os.clock() < cycleTimeout) do
local _, _, currentRoot = getCharacter()
if not currentRoot then break end
local currentTargetPart, _ = findBallTarget()
if currentTargetPart then
currentRoot.CFrame = CFrame.new(currentTargetPart.Position + Vector3.new(0, DEFAULT_STEAL_DISTANCE, 0))
if os.clock() - lastSlideTime >= STEAL_SLIDE_INTERVAL then
sendVirtualKey(Enum.KeyCode.E)
lastSlideTime = os.clock()
end
else
break
end
RunService.Heartbeat:Wait()
end
else
local _, _, currentRoot = getCharacter()
if currentRoot and targetPart then
currentRoot.CFrame = CFrame.new(targetPart.Position + Vector3.new(0, DEFAULT_STEAL_DISTANCE, 0))
sendVirtualKey(Enum.KeyCode.E)
end
task.wait(STEAL_SLIDE_INTERVAL)
end
RunService.Heartbeat:Wait()
end
local _, _, finalRoot = getCharacter()
if finalRoot and savedCFrame then
finalRoot.CFrame = savedCFrame
end
isStealing = false
end)
end
-- ==========================================
-- [ AUTOMATIC LOOP ]
-- ==========================================
RunService.Heartbeat:Connect(function()
if autoStealEnabled and not isStealing and not localHasBall() then
triggerStealBallAction()
end
end)
-- ==========================================
-- [ UI SETUP & DRAGGABLE LOGIC ]
-- ==========================================
local playerGui = LocalPlayer:WaitForChild("PlayerGui")
local oldGui = playerGui:FindFirstChild("StealHubGui")
if oldGui then oldGui:Destroy() end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "StealHubGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 220, 0, 190)
mainFrame.Position = UDim2.new(0.5, -110, 0.4, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = mainFrame
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 30)
titleLabel.BackgroundColor3 = Color3.fromRGB(35, 35, 42)
titleLabel.Text = " STEAL BALL HUB"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Font = Enum.Font.SourceSansBold
titleLabel.TextSize = 16
titleLabel.Parent = mainFrame
local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 8)
titleCorner.Parent = titleLabel
local keybindBtn = Instance.new("TextButton")
keybindBtn.Size = UDim2.new(0.85, 0, 0, 30)
keybindBtn.Position = UDim2.new(0.075, 0, 0.22, 0)
keybindBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
keybindBtn.Text = "Steal Key: [" .. currentKeybind.Name .. "]"
keybindBtn.TextColor3 = Color3.fromRGB(220, 220, 220)
keybindBtn.Font = Enum.Font.SourceSansSemibold
keybindBtn.TextSize = 14
keybindBtn.Parent = mainFrame
local btnCorner1 = Instance.new("UICorner")
btnCorner1.CornerRadius = UDim.new(0, 6)
btnCorner1.Parent = keybindBtn
local autoStealBtn = Instance.new("TextButton")
autoStealBtn.Size = UDim2.new(0.85, 0, 0, 30)
autoStealBtn.Position = UDim2.new(0.075, 0, 0.44, 0)
autoStealBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
autoStealBtn.Text = "Auto Steal: OFF"
autoStealBtn.TextColor3 = Color3.fromRGB(220, 220, 220)
autoStealBtn.Font = Enum.Font.SourceSansSemibold
autoStealBtn.TextSize = 14
autoStealBtn.Parent = mainFrame
local btnCorner3 = Instance.new("UICorner")
btnCorner3.CornerRadius = UDim.new(0, 6)
btnCorner3.Parent = autoStealBtn
local teamCheckBtn = Instance.new("TextButton")
teamCheckBtn.Size = UDim2.new(0.85, 0, 0, 30)
teamCheckBtn.Position = UDim2.new(0.075, 0, 0.66, 0)
teamCheckBtn.BackgroundColor3 = Color3.fromRGB(40, 120, 60)
teamCheckBtn.Text = "Team Check: ON"
teamCheckBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
teamCheckBtn.Font = Enum.Font.SourceSansSemibold
teamCheckBtn.TextSize = 14
teamCheckBtn.Parent = mainFrame
local btnCorner2 = Instance.new("UICorner")
btnCorner2.CornerRadius = UDim.new(0, 6)
btnCorner2.Parent = teamCheckBtn
-- Logic Draggable
local function enableDragging(frame)
local dragging, dragInput, dragStart, startPos
frame.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.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
end
enableDragging(mainFrame)
keybindBtn.MouseButton1Click:Connect(function()
isListeningForKey = true
keybindBtn.Text = "Press any key..."
keybindBtn.BackgroundColor3 = Color3.fromRGB(200, 120, 0)
end)
autoStealBtn.MouseButton1Click:Connect(function()
autoStealEnabled = not autoStealEnabled
if autoStealEnabled then
autoStealBtn.Text = "Auto Steal: ON"
autoStealBtn.BackgroundColor3 = Color3.fromRGB(40, 160, 80)
else
autoStealBtn.Text = "Auto Steal: OFF"
autoStealBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
isStealing = false
end
end)
teamCheckBtn.MouseButton1Click:Connect(function()
teamCheckEnabled = not teamCheckEnabled
if teamCheckEnabled then
teamCheckBtn.Text = "Team Check: ON"
teamCheckBtn.BackgroundColor3 = Color3.fromRGB(40, 120, 60)
else
teamCheckBtn.Text = "Team Check: OFF"
teamCheckBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40)
end
end)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if isListeningForKey then
if input.UserInputType == Enum.UserInputType.Keyboard then
currentKeybind = input.KeyCode
keybindBtn.Text = "Steal Key: [" .. currentKeybind.Name .. "]"
keybindBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
isListeningForKey = false
end
return
end
if not gameProcessed and input.KeyCode == currentKeybind then
triggerStealBallAction()
end
end)Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place