Tool giver universal
Key RequiredUniversal

Tool giver universal

Universal Scriptnanookinanooki 1.9K views 4.4K executesUpdated Mar 2, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•247 lines (7829 chars)
--// UI Upgrade (keeps your existing logic style)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")

local player = Players.LocalPlayer

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ToolGiverUI"
ScreenGui.Parent = game:GetService("CoreGui")
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.ResetOnSpawn = false

-- Main Frame
local Frame = Instance.new("Frame")
Frame.Parent = ScreenGui
Frame.Active = true
Frame.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
Frame.BorderSizePixel = 0
Frame.Position = UDim2.new(0.06, 0, 0.1, 0)
Frame.Size = UDim2.new(0, 260, 0, 300)

local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 14)
mainCorner.Parent = Frame

local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(55, 55, 70)
mainStroke.Thickness = 1
mainStroke.Parent = Frame

-- Top bar (for title + drag)
local TopBar = Instance.new("Frame")
TopBar.Parent = Frame
TopBar.BackgroundColor3 = Color3.fromRGB(26, 26, 34)
TopBar.BorderSizePixel = 0
TopBar.Size = UDim2.new(1, 0, 0, 38)

local topCorner = Instance.new("UICorner")
topCorner.CornerRadius = UDim.new(0, 14)
topCorner.Parent = TopBar

local Title = Instance.new("TextLabel")
Title.Parent = TopBar
Title.BackgroundTransparency = 1
Title.Position = UDim2.new(0, 12, 0, 0)
Title.Size = UDim2.new(1, -24, 1, 0)
Title.Font = Enum.Font.GothamBold
Title.Text = "Tool Giver"
Title.TextColor3 = Color3.fromRGB(240, 240, 255)
Title.TextSize = 15
Title.TextXAlignment = Enum.TextXAlignment.Left

-- ScrollingFrame
local ScrollingFrame = Instance.new("ScrollingFrame")
ScrollingFrame.Parent = Frame
ScrollingFrame.Active = true
ScrollingFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 26)
ScrollingFrame.BorderSizePixel = 0
ScrollingFrame.Position = UDim2.new(0, 12, 0, 52)
ScrollingFrame.Size = UDim2.new(1, -24, 1, -130)
ScrollingFrame.ScrollBarThickness = 6
ScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(90, 90, 110)
ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)

local scrollCorner = Instance.new("UICorner")
scrollCorner.CornerRadius = UDim.new(0, 12)
scrollCorner.Parent = ScrollingFrame

local scrollStroke = Instance.new("UIStroke")
scrollStroke.Color = Color3.fromRGB(50, 50, 64)
scrollStroke.Thickness = 1
scrollStroke.Parent = ScrollingFrame

local Padding = Instance.new("UIPadding")
Padding.Parent = ScrollingFrame
Padding.PaddingTop = UDim.new(0, 10)
Padding.PaddingBottom = UDim.new(0, 10)
Padding.PaddingLeft = UDim.new(0, 10)
Padding.PaddingRight = UDim.new(0, 10)

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Parent = ScrollingFrame
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 8)

UIListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
	ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y + 20)
end)

-- Template button (hidden)
local TextButton = Instance.new("TextButton")
TextButton.Parent = ScrollingFrame
TextButton.Name = "TemplateButton"
TextButton.BackgroundColor3 = Color3.fromRGB(34, 34, 44)
TextButton.BorderSizePixel = 0
TextButton.Size = UDim2.new(1, 0, 0, 38)
TextButton.Visible = false
TextButton.Font = Enum.Font.Gotham
TextButton.TextColor3 = Color3.fromRGB(230, 230, 245)
TextButton.TextSize = 14
TextButton.TextWrapped = true
TextButton.AutoButtonColor = false

local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 10)
btnCorner.Parent = TextButton

local btnStroke = Instance.new("UIStroke")
btnStroke.Color = Color3.fromRGB(60, 60, 78)
btnStroke.Thickness = 1
btnStroke.Parent = TextButton

-- Hover effect for clones
local function attachHover(btn)
	btn.MouseEnter:Connect(function()
		TweenService:Create(btn, TweenInfo.new(0.12), {BackgroundColor3 = Color3.fromRGB(44, 44, 58)}):Play()
	end)
	btn.MouseLeave:Connect(function()
		TweenService:Create(btn, TweenInfo.new(0.12), {BackgroundColor3 = Color3.fromRGB(34, 34, 44)}):Play()
	end)
end

-- Update List button
local TextButton_2 = Instance.new("TextButton")
TextButton_2.Parent = Frame
TextButton_2.Name = "UpdateList"
TextButton_2.BackgroundColor3 = Color3.fromRGB(80, 255, 140)
TextButton_2.BorderSizePixel = 0
TextButton_2.Position = UDim2.new(0, 12, 1, -78)
TextButton_2.Size = UDim2.new(1, -24, 0, 34)
TextButton_2.Font = Enum.Font.GothamBold
TextButton_2.Text = "Update List"
TextButton_2.TextColor3 = Color3.fromRGB(10, 10, 12)
TextButton_2.TextSize = 14

local upCorner = Instance.new("UICorner")
upCorner.CornerRadius = UDim.new(0, 10)
upCorner.Parent = TextButton_2

-- Profile footer (username + avatar)
local Footer = Instance.new("Frame")
Footer.Parent = Frame
Footer.BackgroundColor3 = Color3.fromRGB(26, 26, 34)
Footer.BorderSizePixel = 0
Footer.Size = UDim2.new(1, 0, 0, 46)
Footer.Position = UDim2.new(0, 0, 1, -46)

local footCorner = Instance.new("UICorner")
footCorner.CornerRadius = UDim.new(0, 14)
footCorner.Parent = Footer

local footStroke = Instance.new("UIStroke")
footStroke.Color = Color3.fromRGB(55, 55, 70)
footStroke.Thickness = 1
footStroke.Parent = Footer

local Avatar = Instance.new("ImageLabel")
Avatar.Parent = Footer
Avatar.BackgroundTransparency = 1
Avatar.Size = UDim2.new(0, 32, 0, 32)
Avatar.Position = UDim2.new(0, 12, 0.5, -16)

local avCorner = Instance.new("UICorner")
avCorner.CornerRadius = UDim.new(1, 0)
avCorner.Parent = Avatar

local UserText = Instance.new("TextLabel")
UserText.Parent = Footer
UserText.BackgroundTransparency = 1
UserText.Position = UDim2.new(0, 52, 0, 0)
UserText.Size = UDim2.new(1, -64, 1, 0)
UserText.Font = Enum.Font.GothamBold
UserText.TextColor3 = Color3.fromRGB(240, 240, 255)
UserText.TextSize = 13
UserText.TextXAlignment = Enum.TextXAlignment.Left

UserText.Text = ("@%s"):format(player.Name)
task.spawn(function()
	local img = Players:GetUserThumbnailAsync(player.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size150x150)
	Avatar.Image = img
end)

-- ====== YOUR ORIGINAL LOGIC (kept same style) ======
do
	local button = ScrollingFrame:WaitForChild("TemplateButton")
	button.Parent = nil
	button.Name = "slaves"

	local function updatelist()
		for _, v in ipairs(ScrollingFrame:GetDescendants()) do
			if v:IsA("TextButton") then
				v:Destroy()
			end
		end

		local function cloneToBackpack(toolObj)
			local clonedTool = toolObj:Clone()
			clonedTool.Parent = player:WaitForChild("Backpack")
		end

		for _, v in ipairs(game:GetDescendants()) do
			if v:IsA("Tool") and v.Parent and v.Parent.Parent ~= player then
				local clonebutton = button:Clone()
				clonebutton.Parent = ScrollingFrame
				clonebutton.Visible = true
				clonebutton.Text = v.Name
				attachHover(clonebutton)
				clonebutton.MouseButton1Click:Connect(function()
					cloneToBackpack(v)
				end)
			end
		end
	end

	TextButton_2.MouseButton1Click:Connect(updatelist)
end

-- ====== DRAG SCRIPT (better + smooth, drag from TopBar) ======
do
	local dragging = false
	local dragStart, startPos

	local function update(input)
		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

	TopBar.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)

	UIS.InputChanged:Connect(function(input)
		if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
			update(input)
		end
	end)
end

Features & Information

Works for most games with tools some arent usable but it still goes in your backpack and some are for some games which can be op

Community Comments (3)

illimaniaiillimaniaiMar 2, 2026

Love the script!!!

Replying to @illimaniai
illimaniaiillimaniaiMar 2, 2026

it really give the tool. but you can't use it.

GlitchyVEXGlitchyVEXMar 2, 2026

pfft

More Scripts for Universal Scripts