Stealing Script
Key RequiredUniversal

Stealing Script

Universal ScriptStudioboyStudioboy 617 views 88 executesUpdated Mar 15, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•84 lines (2991 chars)
--made by @SimpleStudioboy on YouTube

local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local humRoot = char:WaitForChild("HumanoidRootPart")
local hand = char:FindFirstChild("RightHand") or char:FindFirstChild("Right Arm") -- R15 or R6
local stealable = workspace:WaitForChild("Stealable")
local tablePart = workspace:WaitForChild("Table")

-- GUI setup
local gui = Instance.new("ScreenGui")
gui.Name = "StealGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local stealButton = Instance.new("TextButton")
stealButton.Size = UDim2.new(0,120,0,50)
stealButton.Position = UDim2.new(0.5,-60,0.85,0)
stealButton.Text = "Steal"
stealButton.Visible = false
stealButton.Parent = gui

local carrying = false
local delivered = false
local weld

-- Update steal button visibility
game:GetService("RunService").RenderStepped:Connect(function()
    if delivered then
        stealButton.Visible = false
        return
    end
    local dist = (humRoot.Position - stealable.Position).Magnitude
    stealButton.Visible = (dist < 10 and not carrying)
end)

-- Handle stealing
stealButton.MouseButton1Click:Connect(function()
    if delivered then return end -- Can't steal after delivery
        carrying = true
        stealButton.Visible = false
        
        -- Ensure physics won't bug out
        stealable.Anchored = false
        stealable.CanCollide = false
        
        -- Position it in front of the hand to prevent clipping
        stealable.CFrame = hand.CFrame * CFrame.new(0,-0.5,-1)
        
        -- Weld to hand
        weld = Instance.new("WeldConstraint")
        weld.Part0 = hand
        weld.Part1 = stealable
        weld.Parent = stealable
    end)
    
    -- Check for delivery
    game:GetService("RunService").RenderStepped:Connect(function()
        if carrying and not delivered then
            local dist = (humRoot.Position - tablePart.Position).Magnitude
            if dist < 8 then
                carrying = false
                delivered = true
                
                -- Remove weld and anchor on table
                if weld then weld:Destroy() weld = nil end
                stealable.CanCollide = true
                stealable.Anchored = true
                stealable.CFrame = tablePart.CFrame + Vector3.new(0,2,0)
                
                -- Success message
                local msg = Instance.new("TextLabel")
                msg.Size = UDim2.new(0.6,0,0.1,0)
                msg.Position = UDim2.new(0.2,0,0.1,0)
                msg.TextScaled = true
                msg.Text = "You Successfully Stole A Part!, now plss sub to @simplestudioboy on YouTube"
                msg.BackgroundTransparency = 0.3
                msg.BackgroundColor3 = Color3.fromRGB(80,200,120)
                msg.TextColor3 = Color3.new(1,1,1)
                msg.Parent = gui
                game:GetService("Debris"):AddItem(msg, 2)
            end
        end
    end)

Features & Information

Subscribe to @simpleatudioboy on YouTube for OP TUTORIALS!

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts