M
Description
greatnessssssssssasssssssdd hugging
GAMEUniversal
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 ]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- Configuration Variables
local maxReachDistance = 12.0 -- Reach distance cap in studs
local extensionMultiplier = 6.0
local isLeftClicking = false
--------------------------------------------------------------------------------
-- 1. PITCH-BLACK MINIMALIST UI CREATION
--------------------------------------------------------------------------------
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ArmExtensionGui"
screenGui.ResetOnSpawn = false
screenGui.Enabled = true -- Controls visibility
screenGui.Parent = PlayerGui
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 220, 0, 110)
mainFrame.Position = UDim2.new(0.05, 0, 0.4, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
mainFrame.BorderSizePixel = 1
mainFrame.BorderColor3 = Color3.fromRGB(35, 35, 35)
mainFrame.Active = true
mainFrame.Draggable = false -- Prevents slider from dragging whole UI
mainFrame.Parent = screenGui
-- Draggable Title Header (Allows moving UI ONLY via top header)
local titleLabel = Instance.new("TextLabel")
titleLabel.Name = "TitleHeader"
titleLabel.Size = UDim2.new(1, 0, 0, 28)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "ARM EXTENSION"
titleLabel.TextColor3 = Color3.fromRGB(240, 240, 240)
titleLabel.TextSize = 13
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Active = true
titleLabel.Parent = mainFrame
-- Top Bar Custom Drag Logic
local guiDragging = false
local dragInput, dragStart, startPos
titleLabel.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
guiDragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
guiDragging = false
end
end)
end
end)
titleLabel.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 guiDragging 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)
local valueLabel = Instance.new("TextLabel")
valueLabel.Size = UDim2.new(1, -20, 0, 20)
valueLabel.Position = UDim2.new(0, 10, 0, 32)
valueLabel.BackgroundTransparency = 1
valueLabel.Text = string.format("Reach Offset: %.1fx", extensionMultiplier)
valueLabel.TextColor3 = Color3.fromRGB(170, 170, 170)
valueLabel.TextSize = 11
valueLabel.Font = Enum.Font.Gotham
valueLabel.Parent = mainFrame
-- Slider Track Background
local sliderTrack = Instance.new("Frame")
sliderTrack.Name = "SliderTrack"
sliderTrack.Size = UDim2.new(1, -30, 0, 6)
sliderTrack.Position = UDim2.new(0, 15, 0, 68)
sliderTrack.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
sliderTrack.BorderSizePixel = 0
sliderTrack.Active = true
sliderTrack.Parent = mainFrame
-- Slider Fill Bar
local sliderFill = Instance.new("Frame")
sliderFill.Name = "SliderFill"
sliderFill.Size = UDim2.new(0.5, 0, 1, 0)
sliderFill.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
sliderFill.BorderSizePixel = 0
sliderFill.Parent = sliderTrack
-- Slider Knob
local sliderKnob = Instance.new("Frame")
sliderKnob.Name = "SliderKnob"
sliderKnob.Size = UDim2.new(0, 14, 0, 14)
sliderKnob.AnchorPoint = Vector2.new(0.5, 0.5)
sliderKnob.Position = UDim2.new(0.5, 0, 0.5, 0)
sliderKnob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
sliderKnob.BorderSizePixel = 0
sliderKnob.Parent = sliderTrack
--------------------------------------------------------------------------------
-- 2. SLIDER LOGIC
--------------------------------------------------------------------------------
local isDragging = false
local minVal = 0.5
local maxVal = 12.0
local function updateSlider(input)
local trackAbsPos = sliderTrack.AbsolutePosition.X
local trackAbsSize = sliderTrack.AbsoluteSize.X
local mouseX = input.Position.X
local alpha = math.clamp((mouseX - trackAbsPos) / trackAbsSize, 0, 1)
sliderFill.Size = UDim2.new(alpha, 0, 1, 0)
sliderKnob.Position = UDim2.new(alpha, 0, 0.5, 0)
extensionMultiplier = minVal + (alpha * (maxVal - minVal))
valueLabel.Text = string.format("Reach Offset: %.1fx", extensionMultiplier)
end
sliderTrack.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch or input.KeyCode == Enum.KeyCode.ButtonA or input.KeyCode == Enum.KeyCode.ButtonR2 then
isDragging = true
updateSlider(input)
end
end)
--------------------------------------------------------------------------------
-- 3. INPUT TRACKING & TOGGLES (KEYBOARD: SHIFT+2 | GAMEPAD: DPAD-DOWN)
--------------------------------------------------------------------------------
UserInputService.InputBegan:Connect(function(input, gameProcessed)
-- Toggle UI using Shift + 2 (Keyboard) OR DPadDown + Select (Gamepad)
if input.KeyCode == Enum.KeyCode.Two then
local isShiftHeld = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) or UserInputService:IsKeyDown(Enum.KeyCode.RightShift)
if isShiftHeld then
screenGui.Enabled = not screenGui.Enabled
return
end
elseif input.KeyCode == Enum.KeyCode.DPadDown then
if UserInputService:IsKeyDown(Enum.KeyCode.ButtonSelect) then
screenGui.Enabled = not screenGui.Enabled
return
end
end
if gameProcessed then return end
-- Active Reach/Catch activation check (Mouse Left Click, Screen Touch, OR Gamepad R2)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch
or input.KeyCode == Enum.KeyCode.ButtonR2 then
isLeftClicking = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch
or input.KeyCode == Enum.KeyCode.ButtonR2 then
if isDragging then
isDragging = false
end
isLeftClicking = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if isDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
updateSlider(input)
end
end)
--------------------------------------------------------------------------------
-- 4. OPTIMIZED BALL SCANNER
--------------------------------------------------------------------------------
local cachedFootball = nil
local lastScanTime = 0
local SCAN_INTERVAL = 0.25
local lastBallPosition = nil
local function getFootballOptimized()
local currentTime = os.clock()
if cachedFootball and cachedFootball:IsDescendantOf(Workspace) then
return cachedFootball
end
if currentTime - lastScanTime < SCAN_INTERVAL then
return nil
end
lastScanTime = currentTime
cachedFootball = nil
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") then
local lowerName = obj.Name:lower()
if lowerName == "football" or lowerName:find("getfootball") or lowerName:find("ball") then
cachedFootball = obj
lastBallPosition = obj.Position
local conn
conn = obj.AncestryChanged:Connect(function(_, parent)
if not parent then
cachedFootball = nil
lastBallPosition = nil
if conn then conn:Disconnect() end
end
end)
break
end
end
end
return cachedFootball
end
--------------------------------------------------------------------------------
-- 5. RAYCAST CATCH & SHOULDER EXTENSION EXECUTION
--------------------------------------------------------------------------------
local originalC0 = nil
local trackedShoulder = nil
local function getRightShoulder(character)
local shoulder = character:FindFirstChild("Right Shoulder", true)
or character:FindFirstChild("RightShoulder", true)
or character:FindFirstChild("Right Upper Arm", true)
if shoulder and shoulder ~= trackedShoulder then
trackedShoulder = shoulder
originalC0 = shoulder.C0
end
return trackedShoulder
end
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Include
LocalPlayer.CharacterAdded:Connect(function(char)
trackedShoulder = nil
originalC0 = nil
char:WaitForChild("Humanoid")
end)
RunService.RenderStepped:Connect(function()
local character = LocalPlayer.Character
if not character then return end
local rightShoulder = getRightShoulder(character)
local hrp = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Torso")
if not rightShoulder or not hrp or not originalC0 then return end
local football = getFootballOptimized()
if football then
local rightHand = character:FindFirstChild("RightHand")
or character:FindFirstChild("Right Arm")
or character:FindFirstChild("RightLowerArm")
if lastBallPosition and rightHand then
local currentBallPos = football.Position
local ballTravelVector = currentBallPos - lastBallPosition
if ballTravelVector.Magnitude > 0.01 then
raycastParams.FilterDescendantsInstances = {character}
local rayResult = Workspace:Raycast(lastBallPosition, ballTravelVector, raycastParams)
local handDistance = (football.Position - rightHand.Position).Magnitude
if rayResult or handDistance <= (2.5 * extensionMultiplier) then
football.AssemblyLinearVelocity = Vector3.zero
football.AssemblyAngularVelocity = Vector3.zero
football.CFrame = rightHand.CFrame
end
end
lastBallPosition = currentBallPos
else
lastBallPosition = football.Position
end
if isLeftClicking then
local distance = (football.Position - hrp.Position).Magnitude
if distance <= maxReachDistance then
local ballDirection = (football.Position - hrp.Position).Unit
local localDir = hrp.CFrame:VectorToObjectSpace(ballDirection)
local offsetDist = 1.0 * extensionMultiplier
local stretchOffset = CFrame.new(localDir.X * offsetDist, localDir.Y * offsetDist, localDir.Z * offsetDist)
rightShoulder.C0 = rightShoulder.C0:Lerp(originalC0 * stretchOffset, 0.5)
return
end
end
end
rightShoulder.C0 = rightShoulder.C0:Lerp(originalC0, 0.3)
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

