Grab parts strengthened
Key RequiredUniversal

Grab parts strengthened

Universal Scriptgentgent 6.8K views 734 executesUpdated Jan 5, 2025
3.3/ 5(3 votes)
2167% Positive
Lua Script•130 lines (4507 chars)
--[[ 
    WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]

-- Create the Tool
local tool = Instance.new("Tool")
tool.Name = "Grab Tool"
tool.RequiresHandle = false
tool.Parent = game.Players.LocalPlayer:WaitForChild("Backpack")

-- Variables
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local grabbedPart = nil
local holding = false
local grabbedCharacter = nil

-- Function to grab a part
local function grabPart(target)
    if target and not target.Anchored and not holding and target:IsA("BasePart") then
        grabbedPart = target
        holding = true

        -- Create a BodyPosition to smoothly move the part
        local bodyPosition = Instance.new("BodyPosition")
        bodyPosition.MaxForce = Vector3.new(1e7, 1e7, 1e7) -- Increased force for larger parts
        bodyPosition.P = 5000 -- Higher responsiveness
        bodyPosition.D = 50 -- Reduced damping for more immediate response
        bodyPosition.Position = player.Character.HumanoidRootPart.Position + Vector3.new(0, 5, -5)
        bodyPosition.Parent = grabbedPart

        -- Make the part massless and disable collisions
        grabbedPart.Massless = true
        grabbedPart.CanCollide = false
    end
end

-- Function to grab the player (yourself)
local function grabCharacter()
    if not holding then
        local character = player.Character or player.CharacterAdded:Wait()
        local root = character:FindFirstChild("HumanoidRootPart")
        if not root then return end

        -- Create a BodyPosition to control the character's movement
        local bodyPosition = Instance.new("BodyPosition")
        bodyPosition.MaxForce = Vector3.new(1e7, 1e7, 1e7) -- Increased force
        bodyPosition.P = 5000
        bodyPosition.D = 50
        bodyPosition.Position = root.Position + Vector3.new(0, 5, -5)  -- Adjust offset
        bodyPosition.Parent = root

        -- Make the character massless and disable collisions
        character:BreakJoints() -- To avoid any unwanted movement
        character.HumanoidRootPart.CanCollide = false
        character.HumanoidRootPart.Massless = true

        grabbedCharacter = character
        holding = true
    end
end

-- Function to throw a part
local function throwPart()
    if grabbedPart and holding then
        -- Restore the part's properties
        grabbedPart.Massless = false
        grabbedPart.CanCollide = true

        -- Create a BodyVelocity to throw the part
        local bodyVelocity = Instance.new("BodyVelocity")
        bodyVelocity.MaxForce = Vector3.new(1e7, 1e7, 1e7) -- Increased force for an insane fling
        bodyVelocity.Velocity = mouse.UnitRay.Direction * 3000 -- Extremely fast throw
        bodyVelocity.Parent = grabbedPart

        -- Clean up the BodyPosition and BodyVelocity
        if grabbedPart:FindFirstChildOfClass("BodyPosition") then
            grabbedPart:FindFirstChildOfClass("BodyPosition"):Destroy()
        end

        game:GetService("Debris"):AddItem(bodyVelocity, 100)
        grabbedPart = nil
        holding = false
    end
end

-- Function to throw the character (yourself)
local function throwCharacter()
    if holding and grabbedCharacter then
        local root = grabbedCharacter:FindFirstChild("HumanoidRootPart")
        if not root then return end

        -- Restore character's properties
        grabbedCharacter.HumanoidRootPart.CanCollide = true
        grabbedCharacter.HumanoidRootPart.Massless = false

        -- Add BodyVelocity to throw the character
        local bodyVelocity    = Instance.new("BodyVelocity")
        bodyVelocity.MaxForce = Vector3.new(1e7, 1e7, 1e7) -- Insane force
        bodyVelocity.Velocity = mouse.UnitRay.Direction * 5000  -- Even faster speed of throw
        bodyVelocity.Parent   = root

        -- Clean up BodyPosition and BodyVelocity
        game:GetService("Debris"):AddItem(bodyVelocity, 100)
        grabbedCharacter = nil
        holding = false
    end
end

-- Tool activation logic
tool.Activated:Connect(function()
    local target = mouse.Target

    if holding then
        -- If holding a part, throw it
        if grabbedPart then
            throwPart()
        elseif grabbedCharacter then
            throwCharacter()
        end
    else
        if target then
            -- Try to grab a part first
            grabPart(target)
        else
            -- If no part is targeted, grab the player (yourself)
            grabCharacter()
        end
    end
end)

Features & Information

Increased strength of this script: https://scriptblox.com/script/Uncensored-TrainStation-GRAB-TOOL-MAKES-YOU-GRAB-PARTS-24712
#unanc*d

Community Comments (10)

FrateleFrateleJan 5, 2025(edited)

chatgpt final boss

gentgentJan 5, 2025(edited)

@Pateuing i didnt make it i just changed it

maxmaster3602maxmaster3602Jan 5, 2025(edited)

@Pateuing why did u dislike

FrateleFrateleJan 5, 2025(edited)

@gent you literally made it with chatgpt

gentgentJan 6, 2025(edited)

@Pateuing dude the original was made with chatgpt do some research

FrateleFrateleJan 6, 2025(edited)

@gent r u ret.ard.ed ? i dont gaf about these shi.tty chatgpt scripts nor care about "Grab parts strengthened" , this stuff is literally pointless and inside iy , and what even should i research, "Grab parts strengthened" ? ts is so stupid nd you aswell

gentgentJan 6, 2025(edited)

@Pateuing lmao stop crashing out

FrateleFrateleJan 6, 2025(edited)

@gent "dude the original was made with chatgpt do some research" what fkn research? because i should just research "grab parts strengthened"

Replying to @Fratele
Firefox_gamer132Firefox_gamer132Mar 20, 2026

@Fratele bro is raging at a roblox script lmao🥀🤞

srbrasil81srbrasil81Apr 17, 2026

:)

More Scripts for Universal Scripts