Mul*ool v1
Key RequiredUniversal

Mul*ool v1

Universal ScriptPyroXPyroX 31 views 98 executesUpdated Jul 18, 2026
Unrated
00
Lua Script•615 lines (20108 chars)
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")

_G.FriendColor = Color3.fromRGB(0, 0, 255)
_G.EnemyColor = Color3.fromRGB(255, 0, 0)
_G.UseTeamColor = true

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MultitoolGUI"
screenGui.Parent = player:WaitForChild("PlayerGui")
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local whiteBorder = Instance.new("Frame")
whiteBorder.Size = UDim2.new(0, 286, 0, 340)
whiteBorder.Position = UDim2.new(0.5, -143, 0.5, -170)
whiteBorder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
whiteBorder.BackgroundTransparency = 0
whiteBorder.BorderSizePixel = 0
whiteBorder.ClipsDescendants = true
whiteBorder.Parent = screenGui

local blackBorder = Instance.new("Frame")
blackBorder.Size = UDim2.new(1, -4, 1, -4)
blackBorder.Position = UDim2.new(0, 2, 0, 2)
blackBorder.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
blackBorder.BackgroundTransparency = 0
blackBorder.BorderSizePixel = 0
blackBorder.ClipsDescendants = true
blackBorder.Parent = whiteBorder

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(1, -4, 1, -4)
mainFrame.Position = UDim2.new(0, 2, 0, 2)
mainFrame.BackgroundColor3 = Color3.fromRGB(255, 200, 200)
mainFrame.BackgroundTransparency = 0.35
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Parent = blackBorder

local hue = 0
RunService.RenderStepped:Connect(function()
    hue = (hue + 0.005) % 1
    mainFrame.BackgroundColor3 = Color3.fromHSV(hue, 0.5, 0.9)
end)

local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 45)
header.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
header.BackgroundTransparency = 0.25
header.Parent = mainFrame

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -50, 1, 0)
title.Position = UDim2.new(0, 10, 0, 0)
title.BackgroundTransparency = 1
title.Text = "Multitool v1"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = header

local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 7)
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.TextScaled = true
closeBtn.Font = Enum.Font.GothamBold
closeBtn.BorderSizePixel = 2
closeBtn.BorderColor3 = Color3.fromRGB(0, 0, 0)
closeBtn.Parent = header
closeBtn.MouseButton1Click:Connect(function()
    screenGui:Destroy()
    if Holder then Holder:Destroy() end
end)

local dragging = false
local dragStart = nil
local startPos = nil
header.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = whiteBorder.Position
    end
end)
header.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
    end
end)
RunService.RenderStepped:Connect(function()
    if dragging then
        local delta = mouse.X - dragStart.X
        local deltaY = mouse.Y - dragStart.Y
        whiteBorder.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta, startPos.Y.Scale, startPos.Y.Offset + deltaY)
    end
end)

local flyBtn = Instance.new("TextButton")
flyBtn.Size = UDim2.new(0, 220, 0, 35)
flyBtn.Position = UDim2.new(0.5, -110, 0, 58)
flyBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 50)
flyBtn.Text = "Enable Fly"
flyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
flyBtn.TextScaled = true
flyBtn.Font = Enum.Font.GothamBold
flyBtn.BorderSizePixel = 2
flyBtn.BorderColor3 = Color3.fromRGB(0, 0, 0)
flyBtn.Parent = mainFrame

local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0, 220, 0, 16)
speedLabel.Position = UDim2.new(0.5, -110, 0, 100)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "Speed: 250"
speedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
speedLabel.TextScaled = true
speedLabel.Font = Enum.Font.Gotham
speedLabel.Parent = mainFrame

local speedSlider = Instance.new("Frame")
speedSlider.Size = UDim2.new(0, 220, 0, 4)
speedSlider.Position = UDim2.new(0.5, -110, 0, 120)
speedSlider.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
speedSlider.BackgroundTransparency = 0.3
speedSlider.Parent = mainFrame
local fill = Instance.new("Frame")
fill.Size = UDim2.new(0.5, 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
fill.Parent = speedSlider

local noclipBtn = Instance.new("TextButton")
noclipBtn.Size = UDim2.new(0, 220, 0, 30)
noclipBtn.Position = UDim2.new(0.5, -110, 0, 140)
noclipBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
noclipBtn.Text = "Noclip: OFF"
noclipBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
noclipBtn.TextScaled = true
noclipBtn.Font = Enum.Font.GothamBold
noclipBtn.BorderSizePixel = 2
noclipBtn.BorderColor3 = Color3.fromRGB(0, 0, 0)
noclipBtn.Parent = mainFrame

local fullbrightBtn = Instance.new("TextButton")
fullbrightBtn.Size = UDim2.new(0, 220, 0, 30)
fullbrightBtn.Position = UDim2.new(0.5, -110, 0, 178)
fullbrightBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
fullbrightBtn.Text = "Fullbright: OFF"
fullbrightBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
fullbrightBtn.TextScaled = true
fullbrightBtn.Font = Enum.Font.GothamBold
fullbrightBtn.BorderSizePixel = 2
fullbrightBtn.BorderColor3 = Color3.fromRGB(0, 0, 0)
fullbrightBtn.Parent = mainFrame

local espBtn = Instance.new("TextButton")
espBtn.Size = UDim2.new(0, 220, 0, 30)
espBtn.Position = UDim2.new(0.5, -110, 0, 216)
espBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
espBtn.Text = "ESP: OFF"
espBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
espBtn.TextScaled = true
espBtn.Font = Enum.Font.GothamBold
espBtn.BorderSizePixel = 2
espBtn.BorderColor3 = Color3.fromRGB(0, 0, 0)
espBtn.Parent = mainFrame

local espEnabled = false
local espHue = 0

local Holder = Instance.new("Folder", game.CoreGui)
Holder.Name = "ESP"

local Box = Instance.new("BoxHandleAdornment")
Box.Name = "nilBox"
Box.Size = Vector3.new(1, 2, 1)
Box.Color3 = Color3.new(100 / 255, 100 / 255, 100 / 255)
Box.Transparency = 0.7
Box.ZIndex = 0
Box.AlwaysOnTop = false
Box.Visible = false

local NameTag = Instance.new("BillboardGui")
NameTag.Name = "nilNameTag"
NameTag.Enabled = false
NameTag.Size = UDim2.new(0, 200, 0, 50)
NameTag.AlwaysOnTop = true
NameTag.StudsOffset = Vector3.new(0, 1.8, 0)
local Tag = Instance.new("TextLabel", NameTag)
Tag.Name = "Tag"
Tag.BackgroundTransparency = 1
Tag.Position = UDim2.new(0, -50, 0, 0)
Tag.Size = UDim2.new(0, 300, 0, 20)
Tag.TextSize = 15
Tag.TextColor3 = Color3.new(255, 255, 255)
Tag.TextStrokeColor3 = Color3.new(0, 0, 0)
Tag.TextStrokeTransparency = 0.4
Tag.Text = "nil"
Tag.Font = Enum.Font.SourceSansBold
Tag.TextScaled = false

local LoadCharacter = function(v)
    repeat wait() until v.Character ~= nil
    v.Character:WaitForChild("Humanoid")
    local vHolder = Holder:FindFirstChild(v.Name)
    if not vHolder then
        vHolder = Instance.new("Folder", Holder)
        vHolder.Name = v.Name
    end
    vHolder:ClearAllChildren()
    
    local b = Box:Clone()
    b.Name = v.Name .. "Box"
    b.Adornee = v.Character
    b.Parent = vHolder
    
    local t = NameTag:Clone()
    t.Name = v.Name .. "NameTag"
    t.Enabled = espEnabled -- ВКЛЮЧАЕМ ТОЛЬКО ЕСЛИ ESP ВКЛЮЧЕН
    t.Parent = vHolder
    t.Adornee = v.Character:WaitForChild("Head", 5)
    if not t.Adornee then
        return UnloadCharacter(v)
    end
    t.Tag.Text = v.Name
    t.Tag.TextColor3 = Color3.new(255, 255, 255)
    
    if espEnabled then
        b.Color3 = Color3.fromHSV(espHue, 1, 1)
        b.Visible = true
    else
        b.Visible = false
    end
    
    local Update
    local UpdateNameTag = function()
        if not pcall(function()
            v.Character.Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
        end) then
            Update:Disconnect()
        end
    end
    UpdateNameTag()
    Update = v.Character.Humanoid.Changed:Connect(UpdateNameTag)
end

local UnloadCharacter = function(v)
    local vHolder = Holder:FindFirstChild(v.Name)
    if vHolder then
        vHolder:ClearAllChildren()
    end
end

local LoadPlayer = function(v)
    local vHolder = Instance.new("Folder", Holder)
    vHolder.Name = v.Name
    v.CharacterAdded:Connect(function()
        pcall(LoadCharacter, v)
    end)
    v.CharacterRemoving:Connect(function()
        pcall(UnloadCharacter, v)
    end)
    v.Changed:Connect(function(prop)
        if prop == "TeamColor" then
            UnloadCharacter(v)
            wait()
            LoadCharacter(v)
        end
    end)
    LoadCharacter(v)
end

local UnloadPlayer = function(v)
    UnloadCharacter(v)
    local vHolder = Holder:FindFirstChild(v.Name)
    if vHolder then
        vHolder:Destroy()
    end
end

for i, v in pairs(game:GetService("Players"):GetPlayers()) do
    spawn(function() pcall(LoadPlayer, v) end)
end

game:GetService("Players").PlayerAdded:Connect(function(v)
    pcall(LoadPlayer, v)
end)

game:GetService("Players").PlayerRemoving:Connect(function(v)
    pcall(UnloadPlayer, v)
end)

game:GetService("Players").LocalPlayer.NameDisplayDistance = 0

local players = game:GetService("Players")
local plr = players.LocalPlayer

function esp(target, color)
    if target.Character then
        if not target.Character:FindFirstChild("GetReal") then
            local highlight = Instance.new("Highlight")
            highlight.RobloxLocked = true
            highlight.Name = "GetReal"
            highlight.Adornee = target.Character
            highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
            highlight.FillColor = color
            highlight.FillTransparency = 0.3
            highlight.OutlineColor = color
            highlight.OutlineTransparency = 0.1
            highlight.Parent = target.Character
        else
            target.Character.GetReal.FillColor = color
            target.Character.GetReal.OutlineColor = color
        end
    end
end

local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")
local camera = workspace.CurrentCamera

local flying = false
local noclipEnabled = false
local fullbrightEnabled = false
local speed = 250

local originalBrightness = Lighting.Brightness
local originalAmbient = Lighting.Ambient
local originalOutdoorAmbient = Lighting.OutdoorAmbient
local originalFogEnd = Lighting.FogEnd
local originalFogStart = Lighting.FogStart

local bodyVelocity = nil
local bodyGyro = nil
local keys = {W = false, A = false, S = false, D = false, Space = false, Shift = false}

local function updateFly()
    if not flying then return end
    
    local camLook = camera.CFrame.LookVector * Vector3.new(1, 0, 1)
    local camRight = camera.CFrame.RightVector * Vector3.new(1, 0, 1)
    local camUp = Vector3.new(0, 1, 0)
    
    if camLook.Magnitude > 0 then camLook = camLook.Unit end
    if camRight.Magnitude > 0 then camRight = camRight.Unit end
    
    local direction = Vector3.new()
    
    if keys.W then direction = direction + camLook end
    if keys.S then direction = direction - camLook end
    if keys.A then direction = direction - camRight end
    if keys.D then direction = direction + camRight end
    if keys.Space then direction = direction + camUp end
    if keys.Shift then direction = direction - camUp end
    
    if direction.Magnitude > 0 then
        direction = direction.Unit
        local velocity = direction * speed
        bodyVelocity.Velocity = velocity
        bodyGyro.CFrame = CFrame.lookAt(rootPart.Position, rootPart.Position + velocity)
    else
        bodyVelocity.Velocity = Vector3.new(0, 0, 0)
    end
end

function toggleFly()
    flying = not flying
    
    if flying then
        flyBtn.Text = "Disable Fly"
        flyBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
        
        humanoid.PlatformStand = true
        
        bodyVelocity = Instance.new("BodyVelocity")
        bodyVelocity.MaxForce = Vector3.new(1e7, 1e7, 1e7)
        bodyVelocity.P = 1e6
        bodyVelocity.Parent = rootPart
        
        bodyGyro = Instance.new("BodyGyro")
        bodyGyro.MaxTorque = Vector3.new(1e7, 1e7, 1e7)
        bodyGyro.P = 1e6
        bodyGyro.Parent = rootPart
    else
        flyBtn.Text = "Enable Fly"
        flyBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 50)
        
        if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end
        if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
        humanoid.PlatformStand = false
    end
end

function toggleNoclip()
    noclipEnabled = not noclipEnabled
    
    if noclipEnabled then
        noclipBtn.Text = "Noclip: ON"
        noclipBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
        for _, part in pairs(character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    else
        noclipBtn.Text = "Noclip: OFF"
        noclipBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
        for _, part in pairs(character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = true
            end
        end
    end
end

function toggleFullbright()
    fullbrightEnabled = not fullbrightEnabled
    
    if fullbrightEnabled then
        fullbrightBtn.Text = "Fullbright: ON"
        fullbrightBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 50)
        
        Lighting.Brightness = 10
        Lighting.Ambient = Color3.fromRGB(255, 255, 255)
        Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
        Lighting.FogEnd = 100000
        Lighting.FogStart = 0
        Lighting.Atmosphere = nil
        Lighting.GlobalShadows = false
        Lighting.ClockTime = 12
    else
        fullbrightBtn.Text = "Fullbright: OFF"
        fullbrightBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
        
        Lighting.Brightness = originalBrightness
        Lighting.Ambient = originalAmbient
        Lighting.OutdoorAmbient = originalOutdoorAmbient
        Lighting.FogEnd = originalFogEnd
        Lighting.FogStart = originalFogStart
        Lighting.GlobalShadows = true
    end
end

function toggleESP()
    espEnabled = not espEnabled
    
    if espEnabled then
        espBtn.Text = "ESP: ON"
        espBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
        
        for _, v in pairs(players:GetPlayers()) do
            if v ~= plr then
                local vHolder = Holder:FindFirstChild(v.Name)
                if vHolder then
                    local box = vHolder:FindFirstChild(v.Name .. "Box")
                    if box then
                        box.Visible = true
                    end
                    local tag = vHolder:FindFirstChild(v.Name .. "NameTag")
                    if tag then
                        tag.Enabled = true
                    end
                end
            end
        end
    else
        espBtn.Text = "ESP: OFF"
        espBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
        
        -- Скрываем все Box и ники
        for _, v in pairs(players:GetPlayers()) do
            if v ~= plr then
                local vHolder = Holder:FindFirstChild(v.Name)
                if vHolder then
                    local box = vHolder:FindFirstChild(v.Name .. "Box")
                    if box then
                        box.Visible = false
                    end
                    local tag = vHolder:FindFirstChild(v.Name .. "NameTag")
                    if tag then
                        tag.Enabled = false
                    end
                end
                if v.Character then
                    local highlight = v.Character:FindFirstChild("GetReal")
                    if highlight then
                        highlight:Destroy()
                    end
                end
            end
        end
    end
end

flyBtn.MouseButton1Click:Connect(toggleFly)
noclipBtn.MouseButton1Click:Connect(toggleNoclip)
fullbrightBtn.MouseButton1Click:Connect(toggleFullbright)
espBtn.MouseButton1Click:Connect(toggleESP)

local speedDragging = false
speedSlider.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        speedDragging = true
    end
end)
speedSlider.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        speedDragging = false
    end
end)
RunService.RenderStepped:Connect(function()
    if speedDragging then
        local relativeX = math.clamp((mouse.X - speedSlider.AbsolutePosition.X) / speedSlider.AbsoluteSize.X, 0, 1)
        speed = math.floor(relativeX * 500 + 1)
        speedLabel.Text = "Speed: " .. speed
        fill.Size = UDim2.new(relativeX, 0, 1, 0)
    end
end)

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    local key = input.KeyCode
    if key == Enum.KeyCode.W then keys.W = true end
    if key == Enum.KeyCode.S then keys.S = true end
    if key == Enum.KeyCode.A then keys.A = true end
    if key == Enum.KeyCode.D then keys.D = true end
    if key == Enum.KeyCode.Space then keys.Space = true end
    if key == Enum.KeyCode.LeftShift then keys.Shift = true end
end)

UserInputService.InputEnded:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    local key = input.KeyCode
    if key == Enum.KeyCode.W then keys.W = false end
    if key == Enum.KeyCode.S then keys.S = false end
    if key == Enum.KeyCode.A then keys.A = false end
    if key == Enum.KeyCode.D then keys.D = false end
    if key == Enum.KeyCode.Space then keys.Space = false end
    if key == Enum.KeyCode.LeftShift then keys.Shift = false end
end)

RunService.RenderStepped:Connect(function()
    if flying then
        updateFly()
    end
    
    if noclipEnabled then
        for _, part in pairs(character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
    
    if espEnabled then
        espHue = (espHue + 0.003) % 1
        local rainbowColor = Color3.fromHSV(espHue, 1, 1)
        
        for _, v in pairs(players:GetPlayers()) do
            if v ~= plr then
                local vHolder = Holder:FindFirstChild(v.Name)
                if vHolder then
                    local box = vHolder:FindFirstChild(v.Name .. "Box")
                    if box then
                        box.Color3 = rainbowColor
                    end
                end
                if v.Character then
                    local highlight = v.Character:FindFirstChild("GetReal")
                    if highlight then
                        highlight.FillColor = rainbowColor
                        highlight.OutlineColor = rainbowColor
                    else
                        esp(v, rainbowColor)
                    end
                end
            end
        end
    end
end)

player.CharacterAdded:Connect(function(newChar)
    character = newChar
    humanoid = character:WaitForChild("Humanoid")
    rootPart = character:WaitForChild("HumanoidRootPart")
    
    if flying then
        humanoid.PlatformStand = true
        bodyVelocity = Instance.new("BodyVelocity")
        bodyVelocity.MaxForce = Vector3.new(1e7, 1e7, 1e7)
        bodyVelocity.P = 1e6
        bodyVelocity.Parent = rootPart
        
        bodyGyro = Instance.new("BodyGyro")
        bodyGyro.MaxTorque = Vector3.new(1e7, 1e7, 1e7)
        bodyGyro.P = 1e6
        bodyGyro.Parent = rootPart
    end
    
    if noclipEnabled then
        for _, part in pairs(character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
end)

Features & Information

Fly, Noclip, Fullbright, ESP.
#esp#fly#noclip

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts