Eh Script Vault open source
Key Required

Eh Script Vault open source

Emergency Hamburgkuchen1804kuchen1804 1.8K views 566 executesUpdated Nov 29, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•977 lines (36792 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()


local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local UIS = UserInputService
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local camCFrame = Camera.CFrame

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Camera = workspace.CurrentCamera


local discordInvite = ""
setclipboard(discordInvite)
Rayfield:Notify({
    Title = "Discord Invite",
    Content = "Link copied to clipboard!",
    Duration = 5,
    Image = 4483362458,
    Actions = { Ignore = { Name = "OK", Callback = function() print("Notification dismissed") end } }
})

local Window = Rayfield:CreateWindow({
    Name = "Script/Vault",
    LoadingTitle = "Script/Vault thank you for using the script",
    LoadingSubtitle = "by Script/Vault team",
    ShowText = "Script/Vault",
    Theme = "Default",
    ToggleUIKeybind = "K",
    KeySystem = true,
    KeySettings = {
        Title = "Script/Vault",
        Subtitle = "Key System",
        Note = "Join DC to get key: discord.gg/AEfrtdMz Link copied",
        FileName = "Key",
        SaveKey = true,
        GrabKeyFromSite = true,
        Key = {""}
    },
    ConfiglurationSaving = {
        Enabled = true,
        FileName = "Script/Vault"
    },
    Discord = { Enabled = true, Invite = "AEfrtdMz", RememberJoins = true }
})





local AimTab = Window:CreateTab("Aimbot")
local SilentTab = Window:CreateTab("Silent Aim")
local GunTab = Window:CreateTab("Gun Mods")
local ESPTab = Window:CreateTab("ESP")
local ColorTab = Window:CreateTab("ESP Colors")
local Tab = Window:CreateTab("LocalPlayer")


local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")


local AimBotEnabled = false
local AimKeyHeld = false
local AimKey = Enum.KeyCode.Q
local MaxDistance = 1000
local AimFOV = 50
local AimSmoothness = 0.2
local ShowFOV = true
local VisibleCheckEnabled = true
local AimPart = "Head"
local PredictionEnabled = false
local PredictionAmount = 0.1
local FOVColor = Color3.fromRGB(255,255,255)


local function createFOVCircle(size, color)
    local gui = LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("AimbotFOV") or Instance.new("ScreenGui")
    gui.Name = "AimbotFOV"
    gui.ResetOnSpawn = false
    gui.Parent = LocalPlayer:WaitForChild("PlayerGui")

    local frame = Instance.new("Frame")
    frame.Name = "FOVCircle"
    frame.Parent = gui
    frame.AnchorPoint = Vector2.new(0.5,0.5)
    frame.Position = UDim2.new(0.5,0,0.5,0)
    frame.Size = UDim2.new(0,size*2,0,size*2)
    frame.BackgroundTransparency = 1
    frame.BorderSizePixel = 0
    frame.Visible = ShowFOV

    local stroke = Instance.new("UIStroke")
    stroke.Parent = frame
    stroke.Color = color
    stroke.Thickness = 2

    local corner = Instance.new("UICorner")
    corner.Parent = frame
    corner.CornerRadius = UDim.new(1,0)

    return frame, stroke
end

local AimbotFOVCircle, AimbotFOVStroke = createFOVCircle(AimFOV, FOVColor)


UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and input.KeyCode == AimKey then
        AimKeyHeld = true
    end
end)
UserInputService.InputEnded:Connect(function(input)
    if input.KeyCode == AimKey then
        AimKeyHeld = false
    end
end)


local function isInFOV(worldPos)
    local mousePos = UserInputService:GetMouseLocation()
    local screenPos, onScreen = Camera:WorldToViewportPoint(worldPos)
    if not onScreen then return false end
    local dist = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
    return dist <= AimFOV
end

local function isVisible(part)
    local origin = Camera.CFrame.Position
    local direction = (part.Position - origin)
    local rayParams = RaycastParams.new()
    rayParams.FilterDescendantsInstances = {LocalPlayer.Character}
    rayParams.FilterType = Enum.RaycastFilterType.Blacklist
    local result = workspace:Raycast(origin, direction, rayParams)
    if result then
        return result.Instance:IsDescendantOf(part.Parent)
    end
    return true
end

local function applyPrediction(part)
    if PredictionEnabled and part.Parent:FindFirstChild("HumanoidRootPart") then
        local velocity = part.Parent.HumanoidRootPart.Velocity
        return part.Position + velocity * PredictionAmount
    end
    return part.Position
end

local function getNearestPlayerPart()
    local best, bestDist = nil, math.huge
    for _, pl in pairs(Players:GetPlayers()) do
        if pl ~= LocalPlayer and pl.Character and pl.Character:FindFirstChild(AimPart) then
            local part = pl.Character[AimPart]
            local dist = (part.Position - Camera.CFrame.Position).Magnitude
            local visible = true
            if VisibleCheckEnabled then
                visible = isVisible(part)
            end
            if dist <= MaxDistance and dist < bestDist and isInFOV(part.Position) and visible then
                best = part
                bestDist = dist
            end
        end
    end
    return best
end


AimTab:CreateToggle({Name="Enable Aimbot", CurrentValue=AimBotEnabled, Callback=function(val) AimBotEnabled=val end})
AimTab:CreateKeybind({Name="Aim Key", CurrentKeybind=AimKey.Name, HoldToInteract=true, Callback=function(isHeld) AimKeyHeld=isHeld end})
AimTab:CreateSlider({Name="FOV Size", Range={0,200}, Increment=5, CurrentValue=AimFOV, Callback=function(val) AimFOV=val; if AimbotFOVCircle then AimbotFOVCircle.Size=UDim2.new(0,val*2,0,val*2) end end})
AimTab:CreateSlider({Name="Max Distance", Range={0,2000}, Increment=50, CurrentValue=MaxDistance, Callback=function(val) MaxDistance=val end})
AimTab:CreateSlider({Name="Smoothness", Range={0,1}, Increment=0.05, CurrentValue=AimSmoothness, Callback=function(val) AimSmoothness=val end})
AimTab:CreateSlider({Name="Prediction Amount", Range={0,1}, Increment=0.01, CurrentValue=PredictionAmount, Callback=function(val) PredictionAmount=val end})
AimTab:CreateToggle({Name="Show FOV", CurrentValue=ShowFOV, Callback=function(val) ShowFOV=val; if AimbotFOVCircle then AimbotFOVCircle.Visible=val end end})
AimTab:CreateToggle({Name="Visible Check", CurrentValue=VisibleCheckEnabled, Callback=function(val) VisibleCheckEnabled=val end})
AimTab:CreateToggle({Name="Prediction", CurrentValue=PredictionEnabled, Callback=function(val) PredictionEnabled=val end})
AimTab:CreateDropdown({Name="Aim Body Part", Options={"Head","UpperTorso","LowerTorso","HumanoidRootPart"}, CurrentOption={AimPart}, Callback=function(opt) AimPart=opt[1] end})

RunService.RenderStepped:Connect(function()
    if AimbotFOVCircle then
        AimbotFOVCircle.Position = UDim2.new(0.5,0,0.5,0)
    end
    if AimBotEnabled and AimKeyHeld then
        local target = getNearestPlayerPart()
        if target then
            local targetPos = applyPrediction(target)
            local currentCFrame = Camera.CFrame
            local targetCFrame = CFrame.lookAt(currentCFrame.Position, targetPos)
            Camera.CFrame = currentCFrame:Lerp(targetCFrame, AimSmoothness)
        end
    end
end)


local function applyGeneralPrediction(part, basePrediction)
    local predictedPos = part.Position
    if part.Parent:FindFirstChild("HumanoidRootPart") then
        local velocity = part.Parent.HumanoidRootPart.Velocity
        predictedPos = predictedPos + velocity * (basePrediction or 0.1)
    end
    local randomOffset = Vector3.new(
        math.random(-5,5)/10,
        math.random(-5,5)/10,
        math.random(-5,5)/10
    )
    predictedPos = predictedPos + randomOffset
    return predictedPos
end


local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local SilentSettings = {
    Enable = false,
    FOV = 150,
    HitChance = 1,
    Delay = 0.1,
    LifeCheck = true,
    VisibleCheck = true,
    ShootThroughWalls = false,
    ShowFOV = true,
    PredictionEnabled = true,
    PredictionAmount = 0.2
}
local lastShot = 0

local SilentFOVGui = Instance.new("ScreenGui")
SilentFOVGui.Name = "SilentFOVGui"
SilentFOVGui.ResetOnSpawn = false
SilentFOVGui.DisplayOrder = 999
SilentFOVGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

local SilentFOVCircle = Instance.new("Frame")
SilentFOVCircle.AnchorPoint = Vector2.new(0.5,0.5)
SilentFOVCircle.Position = UDim2.new(0.5,0,0.5,0)
SilentFOVCircle.Size = UDim2.new(0, SilentSettings.FOV*2, 0, SilentSettings.FOV*2)
SilentFOVCircle.BackgroundTransparency = 1
SilentFOVCircle.BorderSizePixel = 0
SilentFOVCircle.Visible = SilentSettings.ShowFOV
SilentFOVCircle.Parent = SilentFOVGui

local stroke = Instance.new("UIStroke")
stroke.Parent = SilentFOVCircle
stroke.Color = Color3.fromRGB(255,255,255)
stroke.Thickness = 2

local corner = Instance.new("UICorner")
corner.Parent = SilentFOVCircle
corner.CornerRadius = UDim.new(1,0)


local function isInFOV(worldPos)
    local mousePos = UserInputService:GetMouseLocation()
    local screenPos, onScreen = Camera:WorldToViewportPoint(worldPos)
    if not onScreen then return false end
    local dist = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(mousePos.X, mousePos.Y)).Magnitude
    return dist <= SilentSettings.FOV
end

local function isVisible(part)
    local origin = Camera.CFrame.Position
    local direction = (part.Position - origin)
    local rayParams = RaycastParams.new()
    rayParams.FilterDescendantsInstances = {LocalPlayer.Character}
    rayParams.FilterType = Enum.RaycastFilterType.Blacklist
    local result = workspace:Raycast(origin, direction, rayParams)
    return not result or result.Instance:IsDescendantOf(part.Parent)
end

local function applyPrediction(part)
    if SilentSettings.PredictionEnabled and part.Parent:FindFirstChild("HumanoidRootPart") then
        return part.Position + part.Parent.HumanoidRootPart.Velocity * SilentSettings.PredictionAmount
    end
    return part.Position
end


RunService.RenderStepped:Connect(function(dt)
    if not SilentSettings.Enable then
        stroke.Color = Color3.fromRGB(255,255,255)
        return
    end

    lastShot = lastShot + dt
    local closest = nil
    local closestDist = SilentSettings.FOV
    local screenCenter = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)

    for _, p in pairs(Players:GetPlayers()) do
        if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
            local hrp = p.Character.HumanoidRootPart
            local humanoid = p.Character:FindFirstChildOfClass("Humanoid")

            -- LiveCheck
            if humanoid and (not SilentSettings.LifeCheck or humanoid.Health > 0) then
                local screenPos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
                if onScreen then
                    local delta = (Vector2.new(screenPos.X,screenPos.Y)-screenCenter).Magnitude
                    if delta <= closestDist and isInFOV(hrp.Position) then
                        if SilentSettings.ShootThroughWalls or (not SilentSettings.ShootThroughWalls and (not SilentSettings.VisibleCheck or isVisible(hrp))) then
                            closest = p
                            closestDist = delta
                        end
                    end
                end
            end
        end
    end

    if closest then
        stroke.Color = Color3.fromRGB(0,255,0)
    else
        stroke.Color = Color3.fromRGB(255,255,255)
    end


    if closest and lastShot >= SilentSettings.Delay and math.random() <= SilentSettings.HitChance then
        local weapon = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool")
        local event = ReplicatedStorage:WaitForChild("Bnl"):WaitForChild("635831fc-aa69-408c-a888-190900cf67b3")
        if weapon and event then
            local hrp = closest.Character.HumanoidRootPart
            event:FireServer(weapon, applyPrediction(hrp), (applyPrediction(hrp)-weapon.Handle.Position).Unit)
            lastShot = 0
        end
    end
end)


SilentTab:CreateToggle({ Name="Enable Silent Aim", CurrentValue=SilentSettings.Enable, Callback=function(v) SilentSettings.Enable=v end })
SilentTab:CreateToggle({ Name="Life Check", CurrentValue=SilentSettings.LifeCheck, Callback=function(v) SilentSettings.LifeCheck=v end })
SilentTab:CreateToggle({ Name="Visible Check", CurrentValue=SilentSettings.VisibleCheck, Callback=function(v) SilentSettings.VisibleCheck=v end })
SilentTab:CreateToggle({ Name="Shoot Through Walls", CurrentValue=SilentSettings.ShootThroughWalls, Callback=function(v) SilentSettings.ShootThroughWalls=v end })
SilentTab:CreateToggle({ Name="Show FOV", CurrentValue=SilentSettings.ShowFOV, Callback=function(v) SilentSettings.ShowFOV=v; SilentFOVCircle.Visible=v end })
SilentTab:CreateSlider({ Name="FOV", Range={50,500}, Increment=1, CurrentValue=SilentSettings.FOV, Callback=function(v) 
    SilentSettings.FOV=v
    SilentFOVCircle.Size = UDim2.new(0,v*2,0,v*2) 
end })
SilentTab:CreateSlider({ Name="HitChance", Range={0,1}, Increment=0.01, CurrentValue=SilentSettings.HitChance, Callback=function(v) SilentSettings.HitChance=v end })
SilentTab:CreateSlider({ Name="Delay", Range={0,1}, Increment=0.01, CurrentValue=SilentSettings.Delay, Callback=function(v) SilentSettings.Delay=v end })
SilentTab:CreateToggle({ Name="Prediction", CurrentValue=SilentSettings.PredictionEnabled, Callback=function(v) SilentSettings.PredictionEnabled=v end })
SilentTab:CreateSlider({ Name="Prediction Amount", Range={0,1}, Increment=0.01, CurrentValue=SilentSettings.PredictionAmount, Callback=function(v) SilentSettings.PredictionAmount=v end })



local rapidEnabled, rapidValue, noReloadEnabled, noRecoilEnabled, CrosshairSizeEnabled, AimDelayEnabled = false,0,false,false,false,false
GunTab:CreateToggle({ Name="RapidFire", CurrentValue=false, Callback=function(v) rapidEnabled=v end })
GunTab:CreateSlider({ Name="RapidFire Delay", Range={0,1}, Increment=0.01, CurrentValue=0, Callback=function(v) rapidValue=v end })
GunTab:CreateToggle({ Name="No Reload", CurrentValue=false, Callback=function(v) noReloadEnabled=v end })
GunTab:CreateToggle({ Name="No Recoil", CurrentValue=false, Callback=function(v) noRecoilEnabled=v end })
GunTab:CreateToggle({ Name="CrosshairSize", CurrentValue=false, Callback=function(v) CrosshairSizeEnabled=v end })
GunTab:CreateToggle({ Name="AimDelay", CurrentValue=false, Callback=function(v) AimDelayEnabled=v end })

task.spawn(function()
    while task.wait(0.2) do
        local char = LocalPlayer.Character
        if char then
            local tool = char:FindFirstChildOfClass("Tool")
            if tool then
                if rapidEnabled and tool:GetAttribute("ShootDelay") then tool:SetAttribute("ShootDelay", rapidValue) end
                if noReloadEnabled and tool:GetAttribute("ReloadTime") then tool:SetAttribute("ReloadTime",0) end
                if noRecoilEnabled and tool:GetAttribute("Recoil") then tool:SetAttribute("Recoil",0) end
                if CrosshairSizeEnabled and tool:GetAttribute("CrosshairSize") then tool:SetAttribute("CrosshairSize",0) end
                if AimDelayEnabled and tool:GetAttribute("AimDelay") then tool:SetAttribute("AimDelay",0) end
            end
        end
    end
end)

local Button = Tab:CreateButton({
   Name = "Inf Stamina",
   Callback = function()
      local Module  = LocalPlayer.PlayerScripts.Code.controllers.character.characterStaminaController
      local ClassModule = require(Module).CharacterStaminaController

      hookfunction(ClassModule.useStamina, function()
         return true
      end)
   end,
})

local InfinityJumpToggle = Tab:CreateToggle({
    Name = "Infinity Jump you can be kicked",
    CurrentValue = false,
    Flag = "InfinityJumpToggle",
    Callback = function(Value)
        _G.InfinityJumpEnabled = Value
    end,
})

-- Input-Abfrage
UIS.InputBegan:Connect(function(input, gameProcessed)
    if not gameProcessed and _G.InfinityJumpEnabled and input.KeyCode == Enum.KeyCode.Space then
        local character = LocalPlayer.Character
        if character and character:FindFirstChildOfClass("Humanoid") then
            character:FindFirstChildOfClass("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end
end)


local GhostToggle = Tab:CreateToggle({
    Name = "Ghost Mode just cosmetics",
    CurrentValue = false,
    Flag = "GhostToggle",
    Callback = function(Value)
        _G.GhostEnabled = Value
        local character = LocalPlayer.Character
        if character then
            for _, part in ipairs(character:GetDescendants()) do
                if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                    if Value then
                        part.Transparency = 0.6
                        local highlight = Instance.new("Highlight")
                        highlight.Name = "GhostHighlight"
                        highlight.FillTransparency = 1
                        highlight.OutlineTransparency = 0
                        highlight.OutlineColor = _G.GhostColor or Color3.fromRGB(200,200,255)
                        highlight.Parent = part

                        local p = Instance.new("ParticleEmitter")
                        p.Name = "GhostParticles"
                        p.Texture = "rbxassetid://258128463"
                        p.Rate = 5
                        p.Lifetime = NumberRange.new(1,2)
                        p.Size = NumberSequence.new(0.5)
                        p.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.6), NumberSequenceKeypoint.new(1,1)})
                        p.Color = ColorSequence.new(_G.GhostColor or Color3.fromRGB(200,200,255))
                        p.Parent = part
                    else
                        part.Transparency = 0
                        if part:FindFirstChild("GhostHighlight") then part.GhostHighlight:Destroy() end
                        if part:FindFirstChild("GhostParticles") then part.GhostParticles:Destroy() end
                    end
                end
            end
        end
    end,
})


local GhostColorPicker = Tab:CreateColorPicker({
    Name = "Ghost Color",
    Color = Color3.fromRGB(200,200,255),
    Callback = function(value)
        _G.GhostColor = value
        local char = LocalPlayer.Character
        if char then
            for _, part in ipairs(char:GetDescendants()) do
                if part:IsA("BasePart") then
                    if part:FindFirstChild("GhostHighlight") then
                        part.GhostHighlight.OutlineColor = value
                    end
                    if part:FindFirstChild("GhostParticles") then
                        part.GhostParticles.Color = ColorSequence.new(value)
                    end
                end
            end
        end
    end,
})



local TrailToggle = Tab:CreateToggle({
    Name = "Trail just cosmetics",
    CurrentValue = false,
    Flag = "TrailToggle",
    Callback = function(Value)
        _G.TrailEnabled = Value
        local character = LocalPlayer.Character
        if character then
            local hrp = character:FindFirstChild("HumanoidRootPart")
            if hrp then
                if Value then
                    -- Attachments erstellen
                    local attachment0 = Instance.new("Attachment")
                    attachment0.Name = "TrailAttachment0"
                    attachment0.Position = Vector3.new(0, 0.5, 0)
                    attachment0.Parent = hrp

                    local attachment1 = Instance.new("Attachment")
                    attachment1.Name = "TrailAttachment1"
                    attachment1.Position = Vector3.new(0, -0.5, 0)
                    attachment1.Parent = hrp

                    -- Trail erstellen
                    local trail = Instance.new("Trail")
                    trail.Name = "GhostTrail"
                    trail.Attachment0 = attachment0
                    trail.Attachment1 = attachment1
                    trail.Color = ColorSequence.new(_G.TrailColor or Color3.fromRGB(200,200,255))
                    trail.Lifetime = _G.TrailLifetime or 2
                    trail.Transparency = NumberSequence.new(_G.TrailTransparency or 0.5)
                    trail.MinLength = 0.1
                    trail.LightEmission = 0.7
                    trail.Enabled = true
                    trail.Parent = hrp
                else
                    -- Trail und Attachments löschen
                    for _, obj in ipairs(hrp:GetChildren()) do
                        if obj.Name == "TrailAttachment0" or obj.Name == "TrailAttachment1" or obj.Name == "GhostTrail" then
                            obj:Destroy()
                        end
                    end
                end
            end
        end
    end,
})

local TrailLifetimeSlider = Tab:CreateSlider({
    Name = "Trail Lifetime",
    Range = {1, 10},
    Increment = 1,
    Suffix = "s",
    CurrentValue = _G.TrailLifetime or 2,
    Flag = "TrailLifetime",
    Callback = function(Value)
        _G.TrailLifetime = Value
        local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp then
            local trail = hrp:FindFirstChild("GhostTrail")
            if trail then
                trail.Lifetime = Value
            end
        end
    end,
})

local TrailTransparencySlider = Tab:CreateSlider({
    Name = "Trail Transparency",
    Range = {0, 1},
    Increment = 0.05,
    CurrentValue = _G.TrailTransparency or 0.5,
    Flag = "TrailTransparency",
    Callback = function(Value)
        _G.TrailTransparency = Value
        local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        if hrp then
            local trail = hrp:FindFirstChild("GhostTrail")
            if trail then
                -- Setze einfache Transparenz für Start und Ende
                trail.Transparency = NumberSequence.new(Value)
            end
        end
    end,
})

local TrailColorPicker = Tab:CreateColorPicker({
    Name = "Trail Color",
    Color = Color3.fromRGB(200,200,255),
    Callback = function(value)
        _G.TrailColor = value
        local char = LocalPlayer.Character
        if char then
            local hrp = char:FindFirstChild("HumanoidRootPart")
            if hrp and hrp:FindFirstChild("GhostTrail") then
                hrp.GhostTrail.Color = ColorSequence.new(value)
            end
        end
    end,
})


local SpeedSlider = Tab:CreateSlider({
    Name = "Speed",
    Range = {16, 100},
    Increment = 1,
    CurrentValue = 32,
    Flag = "SpeedSlider",
    Callback = function(Value)
        _G.Speed = Value
    end,
})

local SpeedToggle = Tab:CreateToggle({
    Name = "Enable SpeedHack you can be kicked",
    CurrentValue = false,
    Flag = "SpeedToggle",
    Callback = function(Value)
        _G.SpeedEnabled = Value
    end,
})



local speedMoveInput = {W=false, A=false, S=false, D=false}

UIS.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then speedMoveInput.W = true end
    if input.KeyCode == Enum.KeyCode.A then speedMoveInput.A = true end
    if input.KeyCode == Enum.KeyCode.S then speedMoveInput.S = true end
    if input.KeyCode == Enum.KeyCode.D then speedMoveInput.D = true end
end)

UIS.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then speedMoveInput.W = false end
    if input.KeyCode == Enum.KeyCode.A then speedMoveInput.A = false end
    if input.KeyCode == Enum.KeyCode.S then speedMoveInput.S = false end
    if input.KeyCode == Enum.KeyCode.D then speedMoveInput.D = false end
end)

spawn(function()
    while true do
        if _G.SpeedEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            local hrp = LocalPlayer.Character.HumanoidRootPart
            local camCFrame = Camera.CFrame
            local lookVector = Vector3.new(camCFrame.LookVector.X, 0, camCFrame.LookVector.Z).Unit
            local rightVector = Vector3.new(camCFrame.RightVector.X, 0, camCFrame.RightVector.Z).Unit

            local dir = Vector3.new(0,0,0)
            if speedMoveInput.W then dir = dir + lookVector end
            if speedMoveInput.S then dir = dir - lookVector end
            if speedMoveInput.A then dir = dir - rightVector end
            if speedMoveInput.D then dir = dir + rightVector end

            if dir.Magnitude > 0 then
                dir = dir.Unit * _G.Speed * 0.03
                hrp.CFrame = CFrame.new(hrp.Position + Vector3.new(dir.X, 0, dir.Z))
            end
        end
        task.wait(0.03)
    end
end)




local FlyToggle = Tab:CreateToggle({
    Name = "Fly you can be kicked",
    CurrentValue = false,
    Flag = "FlyToggle",
    Callback = function(Value)
        _G.FlyEnabled = Value
        if character and character:FindFirstChild("Humanoid") then
            character.Humanoid.PlatformStand = Value
        end
    end,
})

local FlySlider = Tab:CreateSlider({
    Name = "Fly Speed",
    Range = {16, 100},
    Increment = 1,
    CurrentValue = 32,
    Flag = "FlySpeedSlider",
    Callback = function(Value)
        _G.FlySpeed = Value
    end,
})



local flyMoveInput = {W=false, A=false, S=false, D=false, Up=false, Down=false}
UIS.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then flyMoveInput.W = true end
    if input.KeyCode == Enum.KeyCode.A then flyMoveInput.A = true end
    if input.KeyCode == Enum.KeyCode.S then flyMoveInput.S = true end
    if input.KeyCode == Enum.KeyCode.D then flyMoveInput.D = true end
    if input.KeyCode == Enum.KeyCode.Space then flyMoveInput.Up = true end
    if input.KeyCode == Enum.KeyCode.LeftShift then flyMoveInput.Down = true end
end)
UIS.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then flyMoveInput.W = false end
    if input.KeyCode == Enum.KeyCode.A then flyMoveInput.A = false end
    if input.KeyCode == Enum.KeyCode.S then flyMoveInput.S = false end
    if input.KeyCode == Enum.KeyCode.D then flyMoveInput.D = false end
    if input.KeyCode == Enum.KeyCode.Space then flyMoveInput.Up = false end
    if input.KeyCode == Enum.KeyCode.LeftShift then flyMoveInput.Down = false end
end)

spawn(function()
    while true do
        if _G.FlyEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
            local hrp = LocalPlayer.Character.HumanoidRootPart
            local camCFrame = Camera.CFrame
            local dir = Vector3.new(0,0,0)
            if flyMoveInput.W then dir = dir + camCFrame.LookVector end
            if flyMoveInput.S then dir = dir - camCFrame.LookVector end
            if flyMoveInput.A then dir = dir - camCFrame.RightVector end
            if flyMoveInput.D then dir = dir + camCFrame.RightVector end
            if flyMoveInput.Up then dir = dir + Vector3.new(0,1,0) end
            if flyMoveInput.Down then dir = dir - Vector3.new(0,1,0) end

            if dir.Magnitude > 0 then
                hrp.CFrame = CFrame.new(hrp.Position + dir.Unit * (_G.FlySpeed * 0.03), hrp.Position + camCFrame.LookVector)
            else
                hrp.CFrame = CFrame.new(hrp.Position, hrp.Position + camCFrame.LookVector)
            end

            hrp.AssemblyLinearVelocity = Vector3.zero
            hrp.AssemblyAngularVelocity = Vector3.zero
        end
        task.wait(0.03)
    end
end)


_G.GhostEnabled = false
_G.GhostColor = Color3.fromRGB(200,200,255)
_G.TrailEnabled = false
_G.TrailLifetime = 2
_G.TrailTransparency = 0.5
_G.TrailColor = Color3.fromRGB(200,200,255)
_G.SpeedEnabled = false
_G.Speed = 32
_G.FlyEnabled = false
_G.FlySpeed = 32




local Settings = {
    MaxDistance = 800,
    NameESP = true,
    DistanceESP = true,
    ItemESP = true,
    LineESP = false,
    HealthbarESP = true,
    SkeletonESP = false,
    TeamESP = true,
    ESPEnabled = true
}

local Colors = {
    Name = Color3.fromRGB(255,255,255),
    Distance = Color3.fromRGB(200,200,200),
    Item = Color3.fromRGB(150,200,255),
    Line = Color3.fromRGB(120,220,220),
    Healthbar = Color3.fromRGB(0,255,0),
    Skeleton = Color3.fromRGB(255,0,0),
    Wanted = Color3.fromRGB(255,50,50)
}

local TEAM_COLORS = {
    ADAC = Color3.fromRGB(255, 255, 0),
    BusCompany = Color3.fromRGB(0, 200, 255),
    Citizen = Color3.fromRGB(255, 255, 255),
    FireDepartment = Color3.fromRGB(255, 100, 0),
    Police = Color3.fromRGB(0, 0, 255),
    Prisoner = Color3.fromRGB(255, 0, 0),
    TruckCompany = Color3.fromRGB(0, 255, 0),
}

-- DRAWING CACHE
local DrawCache = {}

local function newText()
    local t = Drawing.new("Text")
    t.Size = 16
    t.Center = true
    t.Outline = true
    t.Font = 2
    t.Visible = false
    return t
end

local function newLine()
    local l = Drawing.new("Line")
    l.Thickness = 2
    l.Visible = false
    return l
end

local function ensureDrawings(player)
    if DrawCache[player] then return DrawCache[player] end
    local t = {
        NameText = newText(),
        DistanceText = newText(),
        ItemText = newText(),
        Line = newLine(),
        HealthBG = newLine(),
        Health = newLine(),
        Skeleton = {}
    }
    DrawCache[player] = t
    return t
end

local function cleanupDrawings(player)
    local t = DrawCache[player]
    if not t then return end
    for _, v in pairs(t) do
        if type(v)=="table" then
            for _, l in ipairs(v) do if l and l.Remove then l:Remove() end end
        elseif v.Remove then
            v:Remove()
        end
    end
    DrawCache[player] = nil
end

Players.PlayerRemoving:Connect(cleanupDrawings)

local function getTeamLabelAndColor(player)
    local team = player and player.Team
    if Settings.TeamESP and team and TEAM_COLORS[team.Name] then
        return team.Name, TEAM_COLORS[team.Name]
    end
    return nil, Colors.Name
end

local function healthColorFromPercent(p)
    p = math.clamp(p,0,1)
    return Color3.new(1-p,p,0)
end

local function getSkeletonConns(char)
    local hum = char:FindFirstChildOfClass("Humanoid")
    if not hum then return {} end
    if hum.RigType == Enum.HumanoidRigType.R15 then
        return {{"Head","UpperTorso"},{"UpperTorso","LowerTorso"},
                {"UpperTorso","LeftUpperArm"},{"LeftUpperArm","LeftLowerArm"},{"LeftLowerArm","LeftHand"},
                {"UpperTorso","RightUpperArm"},{"RightUpperArm","RightLowerArm"},{"RightLowerArm","RightHand"},
                {"LowerTorso","LeftUpperLeg"},{"LeftUpperLeg","LeftLowerLeg"},{"LeftLowerLeg","LeftFoot"},
                {"LowerTorso","RightUpperLeg"},{"RightUpperLeg","RightLowerLeg"},{"RightLowerLeg","RightFoot"}}
    else
        return {{"Head","Torso"},{"Torso","Left Arm"},{"Torso","Right Arm"},{"Torso","Left Leg"},{"Torso","Right Leg"}}
    end
end

local function createToggle(name, flag)
    ESPTab:CreateToggle({
        Name = name,
        CurrentValue = Settings[name:gsub(" ","")],
        Flag = flag,
        Callback = function(v)
            Settings[name:gsub(" ","")] = v
            if name == "ESP Enabled" and not v then
                for _, player in ipairs(Players:GetPlayers()) do
                    cleanupDrawings(player)
                end
            end
        end
    })
end

for _, name in ipairs({"Name ESP","Distance ESP","Item ESP","Line ESP","Healthbar ESP","Skeleton ESP","Team ESP","ESP Enabled"}) do
    createToggle(name, name.."Flag")
end


ESPTab:CreateSlider({
    Name = "Max ESP Distance",
    Range = {50,5000},
    Increment = 50,
    Suffix = "studs",
    CurrentValue = Settings.MaxDistance,
    Flag = "MaxDistanceFlag",
    Callback = function(v) Settings.MaxDistance = v end
})


for k,v in pairs(Colors) do
    ColorTab:CreateColorPicker({
        Name = k.." Color",
        Color = v,
        Flag = "Color"..k,
        Callback = function(c) Colors[k] = c end
    })
end


RunService.RenderStepped:Connect(function()
    if not Settings.ESPEnabled then return end
    local camPos = Camera.CFrame.Position
    for _, player in ipairs(Players:GetPlayers()) do
        if player == LocalPlayer then continue end
        local char = player.Character
        local hrp = char and char:FindFirstChild("HumanoidRootPart")
        local hum = char and char:FindFirstChildOfClass("Humanoid")
        if not hrp or not hum then cleanupDrawings(player) continue end

        local dist = (hrp.Position - camPos).Magnitude
        local sPos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
        if dist > Settings.MaxDistance or not onScreen then
            cleanupDrawings(player)
            continue
        end

        local drawings = ensureDrawings(player)
        local teamLabel, teamColor = getTeamLabelAndColor(player)


        local baseY = sPos.Y - 20
        local texts = {}
        if Settings.NameESP then
            local displayName = player.Name
            local color = Colors.Name
            if teamLabel then displayName = string.format("%s [%s]", player.Name, teamLabel) color = teamColor end
            table.insert(texts, {drawings.NameText, displayName, color})
        end
        if Settings.DistanceESP then table.insert(texts, {drawings.DistanceText, "["..math.floor(dist).."m]", Colors.Distance}) end
        if Settings.ItemESP then
            local tool = char:FindFirstChildOfClass("Tool")
            if tool then table.insert(texts, {drawings.ItemText, tool.Name, Colors.Item}) end
        end
        drawings.NameText.Visible = false
        drawings.DistanceText.Visible = false
        drawings.ItemText.Visible = false
        for i, t in ipairs(texts) do
            local obj, txt, col = t[1], t[2], t[3]
            obj.Position = Vector2.new(sPos.X, baseY + (i-1)*20)
            obj.Text = txt
            obj.Color = col
            obj.Visible = true
        end


        drawings.Line.Visible = Settings.LineESP
        if Settings.LineESP then
            drawings.Line.From = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
            drawings.Line.To = Vector2.new(sPos.X, sPos.Y)
            drawings.Line.Color = teamColor or Colors.Line
        end

        drawings.Health.Visible = Settings.HealthbarESP
        drawings.HealthBG.Visible = Settings.HealthbarESP
        if Settings.HealthbarESP then
            local offsetX = 25
            local topV = Vector2.new(sPos.X + offsetX, sPos.Y - 20)
            local bottomV = Vector2.new(sPos.X + offsetX, sPos.Y + 20)
            drawings.HealthBG.From = topV
            drawings.HealthBG.To = bottomV
            drawings.HealthBG.Color = Color3.fromRGB(0,0,0)
            drawings.HealthBG.Thickness = 3

            local hpPct = hum.Health / hum.MaxHealth
            drawings.Health.From = bottomV
            drawings.Health.To = Vector2.new(bottomV.X, bottomV.Y - (40 * hpPct))
            drawings.Health.Color = teamColor or healthColorFromPercent(hpPct)
            drawings.Health.Thickness = 3
        end


        if Settings.SkeletonESP then
            local conns = getSkeletonConns(char)
            if #drawings.Skeleton < #conns then
                for i=#drawings.Skeleton+1,#conns do table.insert(drawings.Skeleton,newLine()) end
            end
            for i,pair in ipairs(conns) do
                local partA = char:FindFirstChild(pair[1])
                local partB = char:FindFirstChild(pair[2])
                local ln = drawings.Skeleton[i]
                if partA and partB then
                    local aScr,_ = Camera:WorldToViewportPoint(partA.Position)
                    local bScr,_ = Camera:WorldToViewportPoint(partB.Position)
                    ln.From = Vector2.new(aScr.X,aScr.Y)
                    ln.To = Vector2.new(bScr.X,bScr.Y)
                    ln.Color = teamColor or Colors.Skeleton
                    ln.Visible = true
                else ln.Visible=false end
            end
        else
            for _, ln in ipairs(drawings.Skeleton) do if ln then ln.Visible=false end end
        end
    end
end)

Features & Information

This script is now open source, join the Discord server where you can get it for free.

Community Comments (3)

Aabbaaii13Aabbaaii13Nov 29, 2025

put the actual code or else staff delete this script

Replying to @Aabbaaii13
cropwcropwNov 29, 2025

@Aabbaaii13 too late

Blox_AdsBlox_AdsNov 29, 2025

Dm x86h on discord to make money or robux ( just post script for me and get paid dm if interested )

More Scripts for Emergency Hamburg