velocity OPEN SOURCE
Key Required Patched

velocity OPEN SOURCE

Knife Ability Testslurkyzslurkyz 15.6K views 650 executesUpdated Aug 25, 2025
4.0/ 5(5 votes)
4180% Positive
Lua Scriptβ€’772 lines (27131 chars)
-- ==== Load Obsidian Library & Setup ====
local repo = "https://raw.githubusercontent.com/deividcomsono/Obsidian/main/"
local Library = loadstring(game:HttpGet(repo .. "Library.lua"))()
Library:SetDPIScale(85)
Library:SetWatermarkVisibility(true)

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local LP = Players.LocalPlayer
local Camera = Workspace.CurrentCamera

-- Watermark FPS + Ping update
local FrameTimer = tick()
local FrameCounter = 0
local FPS = 60
local Stats = game:GetService("Stats")

RunService.RenderStepped:Connect(function()
    FrameCounter += 1
    if tick() - FrameTimer >= 1 then
        FPS = FrameCounter
        FrameTimer = tick()
        FrameCounter = 0
    end
    Library:SetWatermark(('Velocity Trial | %s fps | %s ms'):format(
        math.floor(FPS),
        math.floor(Stats.Network.ServerStatsItem['Data Ping']:GetValue())
    ))
end)

Library:Notify({ Title = "Success", Description = "Script Executed successfully", Time = 5 })

-- Load addons
local ThemeManager = loadstring(game:HttpGet(repo .. "addons/ThemeManager.lua"))()
local SaveManager = loadstring(game:HttpGet(repo .. "addons/SaveManager.lua"))()
local Options = Library.Options
local Toggles = Library.Toggles

-- Create Window
local Window = Library:CreateWindow({
    Title = "Velocity",
    Footer = "version: Version 1.0",
    Icon = 128828160470041,
    NotifySide = "Right",
    ShowCustomCursor = false,
})

-- Tabs
local Tabs = {
    Main = Window:AddTab("Main", "user"),
    Esp = Window:AddTab({Name = "Visuals", Description = "Visuals & Players & World Options", Icon = "eye"}),
    AutoFarm = Window:AddTab({Name = "AutoFarm", Description = "Automatically Farm", Icon = "axe"}),
 
}-- ==== Silent Aim Group ====
local SAGroup = Tabs.Main:AddLeftGroupbox("Silent Aim", "crosshair")
local SAFOV = 100
local FOVColor = Color3.fromRGB(255,255,255)
local SAFOVFilled = true
local SAFOVOutline = true
local C1, C2 = nil, nil
local SAConnections = {}
local SAHook = nil
local HitPart = "HumanoidRootPart"
local SAHitChance = 100 -- default 100%
local SASnaplines = false
local SnaplineDrawing = nil
local CircleMode = "Center" -- "Center" or "Follow Crosshair"

local SAToggle = SAGroup:AddToggle("SilentAimToggle", {
    Text = "Enable Silent Aim",
    Default = false,
    Callback = function(Value)
        if Value then
            local CC = Workspace.CurrentCamera
            local SA = {fov = SAFOV, fovcircle = true}
            local Tgt = nil
            C1 = Drawing.new("Circle")
            C2 = Drawing.new("Circle")

            SAConnections.RenderStepped = RunService.Stepped:Connect(function()
                local sc
if CircleMode == "Center" then
    sc = Vector2.new(CC.ViewportSize.X/2, CC.ViewportSize.Y/2)
else
    local mouse = LP:GetMouse()
    sc = Vector2.new(mouse.X, mouse.Y)
end

C1.Position = sc
C2.Position = sc
                SA.fov = SAFOV

                C1.Position = sc
                C1.Radius = SA.fov
                C1.Color = FOVColor
                C1.Filled = SAFOVFilled
                C1.Transparency = SAFOVFilled and 0.3 or 0
                C1.Visible = SAFOVFilled

                C2.Position = sc
                C2.Radius = SA.fov
                C2.Color = FOVColor
                C2.Thickness = SAFOVOutline and 2 or 0
                C2.Filled = false
                C2.Visible = SAFOVOutline

                -- Find closest target
                local closest, dist = nil, SA.fov
                for _, v in ipairs(Players:GetPlayers()) do
                    local h = v.Character and v.Character:FindFirstChild(HitPart)
                    if v ~= LP and h then
                        local hum = v.Character:FindFirstChildOfClass("Humanoid")
                        local pos, on = CC:WorldToViewportPoint(h.Position + Vector3.new(0,0.2,0))
                        if on and hum and hum.Health > 0 then
                            local canTarget = true
                            if Toggles.SAWallCheck.Value then
                                local rayParams = RaycastParams.new()
                                rayParams.FilterType = Enum.RaycastFilterType.Blacklist
                                rayParams.FilterDescendantsInstances = {LP.Character}
                                local result = Workspace:Raycast(CC.CFrame.Position, (h.Position - CC.CFrame.Position).Unit * 1000, rayParams)
                                canTarget = not result or result.Instance:IsDescendantOf(v.Character)
                            end
                            if canTarget then
                                local m = (Vector2.new(pos.X,pos.Y)-sc).Magnitude
                                if m < dist then
                                    dist, closest = m, v
                                end
                            end
                        end
                    end
                end
                Tgt = closest

                -- Snapline drawing
                if SASnaplines then
                    if not SnaplineDrawing then
                        SnaplineDrawing = Drawing.new("Line")
                        SnaplineDrawing.Color = Color3.fromRGB(255, 0, 0)
                        SnaplineDrawing.Thickness = 2
                        SnaplineDrawing.Visible = true
                    end
                    if Tgt and Tgt.Character and Tgt.Character:FindFirstChild(HitPart) then
                        local tgtPos, onScreen = CC:WorldToViewportPoint(Tgt.Character[HitPart].Position)
                        if onScreen then
                            SnaplineDrawing.From = Vector2.new(CC.ViewportSize.X/2, CC.ViewportSize.Y/2)
                            SnaplineDrawing.To = Vector2.new(tgtPos.X, tgtPos.Y)
                            SnaplineDrawing.Visible = true
                        else
                            SnaplineDrawing.Visible = false
                        end
                    else
                        SnaplineDrawing.Visible = false
                    end
                else
                    if SnaplineDrawing then
                        SnaplineDrawing.Visible = false
                    end
                end
            end)

            SAHook = hookmetamethod(game, "__namecall", function(self,...)
                local a={...}
                if not checkcaller() and getnamecallmethod()=="FindPartOnRayWithIgnoreList" and Tgt and Tgt.Character then
                    if math.random(1,100) <= SAHitChance then
                        local o = a[1].Origin
                        a[1] = Ray.new(o, Tgt.Character[HitPart].Position-o)
                    end
                end
                return SAHook(self, unpack(a))
            end)
        else
            for _, conn in pairs(SAConnections) do conn:Disconnect() end
            SAConnections = {}
            if C1 then C1:Remove() end
            if C2 then C2:Remove() end
            if SnaplineDrawing then SnaplineDrawing:Remove() SnaplineDrawing=nil end
            if SAHook then hookmetamethod(game, "__namecall", SAHook) end
        end
    end
})

-- Snaplines toggle
SAGroup:AddToggle("SASnaplinesToggle", {
    Text = "Enable Snaplines",
    Default = false,
    Callback = function(Value)
        SASnaplines = Value
        if not Value and SnaplineDrawing then
            SnaplineDrawing:Remove()
            SnaplineDrawing = nil
        end
    end
})

-- FOV Slider
SAGroup:AddSlider("SAFOVSlider", {
    Text = "FOV Size",
    Default = SAFOV,
    Min = 10,
    Max = 500,
    Rounding = 1,
    Callback = function(Value) SAFOV = Value end
})

-- FOV Color
SAToggle:AddColorPicker("SAFOVColor", {
    Default = FOVColor,
    Title = "FOV Color",
    Callback = function(Value) FOVColor = Value end
})

SAGroup:AddDropdown("SAFOVModeDropdown", {
    Text = "FOV Circle Mode",
    Values = {"Center", "Follow Crosshair"},
    Default = "Center",
    Callback = function(Value)
        CircleMode = Value
    end
})

-- Filled/Outline toggles
SAGroup:AddToggle("SAFOVFilledToggle",{Text="Filled FOV",Default=true,Callback=function(Value) SAFOVFilled=Value end})
SAGroup:AddToggle("SAFOVOutlineToggle",{Text="Outline FOV",Default=true,Callback=function(Value) SAFOVOutline=Value end})

-- Wall Check
local SAOptionsGroup = Tabs.Main:AddRightGroupbox("Silent Aim Options", "eye")
SAOptionsGroup:AddToggle("SAWallCheck", { Text = "Wall Check", Default = false })

-- Hit Part Dropdown
SAGroup:AddDropdown("SAHitPartDropdown",{
    Text="Hit Part",
    Values={"Head","Torso","HumanoidRootPart"},
    Default="HumanoidRootPart",
    Callback=function(Value) HitPart=Value end
})

-- Hit Chance Slider
SAGroup:AddSlider("SAHitChanceSlider",{
    Text="Hit Chance %",
    Default=100,
    Min=1,
    Max=100,
    Rounding=1,
    Callback=function(Value) SAHitChance=Value end
})

local SAOptionsGroup = Tabs.Main:AddRightGroupbox("Miscellaneous", "brush")
SAOptionsGroup:AddToggle("CrosshairToggle", {
    Text = "Crosshair",
    Default = false,
}):OnChanged(function(Value)
    if Value then
        -- === CREATE CROSSHAIR ===
        local RunService = game:GetService("RunService")
        local Camera = workspace.CurrentCamera

        local Center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
        local CrosshairLines, LineCount, Radius, LineLength, LineColor = {}, 4, 7, 15, Color3.fromRGB(255,0,0)

        for i = 1, LineCount do
            local line = Drawing.new("Line")
            line.Color = LineColor
            line.Thickness = 2
            line.Visible = true
            table.insert(CrosshairLines, line)
        end

        local Dot = Drawing.new("Circle")
        Dot.Radius = 2
        Dot.Position = Center
        Dot.Color = LineColor
        Dot.Filled = true
        Dot.Visible = true

        local VelocityText = Drawing.new("Text")
        VelocityText.Text = "Velocity"
        VelocityText.Position = Vector2.new(Center.X - 20, Center.Y + 20)
        VelocityText.Size = 16
        VelocityText.Center = true
        VelocityText.Outline = true
        VelocityText.Color = Color3.new(1,1,1)
        VelocityText.Visible = true
        VelocityText.Font = 2

        local LOLText = Drawing.new("Text")
        LOLText.Text = ".lol"
        LOLText.Position = Vector2.new(Center.X + 35, Center.Y + 20)
        LOLText.Size = 16
        LOLText.Center = true
        LOLText.Outline = true
        LOLText.Color = Color3.fromRGB(255,0,0)
        LOLText.Visible = true
        LOLText.Font = 2

        local angle = 0
        CrosshairConnection = RunService.RenderStepped:Connect(function()
            Center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
            for i, line in ipairs(CrosshairLines) do
                local a = angle + (math.pi*2/LineCount)*(i-1)
                local from = Vector2.new(Center.X + math.cos(a) * Radius, Center.Y + math.sin(a) * Radius)
                local to = Vector2.new(Center.X + math.cos(a) * (Radius + LineLength), Center.Y + math.sin(a) * (Radius + LineLength))
                line.From = from
                line.To = to
            end
            Dot.Position = Center
            VelocityText.Position = Vector2.new(Center.X - 20, Center.Y + 20)
            LOLText.Position = Vector2.new(Center.X + 35, Center.Y + 20)
            angle = angle + 0.05
        end)

        CrosshairObjects = {Dot, VelocityText, LOLText}
        for _, line in ipairs(CrosshairLines) do
            table.insert(CrosshairObjects, line)
        end

    else
        -- === REMOVE CROSSHAIR ===
        if CrosshairConnection then
            CrosshairConnection:Disconnect()
            CrosshairConnection = nil
        end
        if CrosshairObjects then
            for _, obj in ipairs(CrosshairObjects) do
                obj:Remove()
            end
            CrosshairObjects = nil
        end
    end
end)

-- ==== ESP / Visuals ====
local ESPGroup = Tabs.Esp:AddLeftGroupbox("Player Visuals", "eye")

-- Highlight toggle (chams)
local ESPHighlightToggle = ESPGroup:AddToggle("ESPEnabled", {
    Text = "Enable Highlight",
    Default = false,
    Tooltip = "Enable player highlights (chams)"
})

-- Highlight color variable
local HighlightColor = Color3.fromRGB(0,0,255) -- default blue

-- Color picker for highlight
ESPHighlightToggle:AddColorPicker("ESPHighlightColor", {
    Default = Color3.fromRGB(255, 0, 0),    Title = "Highlight Color",
    Callback = function(Value)
        HighlightColor = Value
        -- Update existing highlights if any
        for _, h in pairs(Highlights) do
            if h then
                h.FillColor = HighlightColor
            end
        end
    end
})

-- Sub-toggles
local ESPNameToggle = ESPGroup:AddToggle("ESPName", {Text = "Show Names", Default = false})
local ESPHealthToggle = ESPGroup:AddToggle("ESPHealthBar", {Text = "Show Health Bars", Default = false})
local ESPDistanceToggle = ESPGroup:AddToggle("ESPDistance", {Text = "Show Distance", Default = false})
local ESPCornersToggle = ESPGroup:AddToggle("ESPCorners", {Text = "Show Outline Box", Default = false})
local ESPWeaponToggle = ESPGroup:AddToggle("ESPWeapon", {Text = "Show Weapon/Tool", Default = false})

-- Storage for drawings and highlights
local Drawings = {}
local Highlights = {}

-- Health color gradient
local function getHealthColor(p)
    return Color3.fromHSV(p * 0.33, 1, 1)
end

-- Cleanup ESP for a player
local function removeESP(plr)
    if Drawings[plr] then
        for _, obj in pairs(Drawings[plr]) do
            if typeof(obj)=="table" then
                for _, d in pairs(obj) do if d.Remove then d:Remove() end end
            elseif obj.Remove then obj:Remove() end
        end
        Drawings[plr]=nil
    end
    if Highlights[plr] then
        Highlights[plr]:Destroy()
        Highlights[plr]=nil
    end
end

-- Corner lines
local function createCorners()
    local lines = {}
    for _=1,8 do
        local l = Drawing.new("Line")
        l.Color = Color3.new(1,1,1)
        l.Thickness = 2
        l.Visible = false
        table.insert(lines,l)
    end
    return lines
end

-- Initialize ESP for a player
local function createESP(plr)
    if plr==LP then return end
    Drawings[plr]={
        DisplayName=Drawing.new("Text"),
        Username=Drawing.new("Text"),
        Distance=Drawing.new("Text"),
        HealthBar=Drawing.new("Line"),
        HealthText=Drawing.new("Text"),
        Corners=createCorners(),
        Weapon=Drawing.new("Text")
    }
    for _, obj in pairs({Drawings[plr].DisplayName,Drawings[plr].Username,Drawings[plr].Distance,Drawings[plr].HealthText,Drawings[plr].Weapon}) do
        obj.Visible=false
        obj.Center=true
        obj.Outline=true
        obj.Font=2
        obj.Size=13
        obj.Color=Color3.new(1,1,1)
    end
    Drawings[plr].HealthBar.Thickness=4
    Drawings[plr].HealthBar.Visible=false

    if ESPHighlightToggle.Value then
        local h = Instance.new("Highlight")
        h.FillColor = Color3.fromRGB(255, 0, 0) -- default red
h.OutlineColor = Color3.new(1,1,1)
        h.FillTransparency = 0.25
        h.OutlineTransparency = 0
        h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
        h.Parent = game.CoreGui
        Highlights[plr] = h
    end
end

-- ESP Render Loop
RunService.RenderStepped:Connect(function()
    if not ESPHighlightToggle.Value and not ESPNameToggle.Value and not ESPHealthToggle.Value and not ESPDistanceToggle.Value and not ESPCornersToggle.Value and not ESPWeaponToggle.Value then
        for _, plr in pairs(Players:GetPlayers()) do removeESP(plr) end
        return
    end

    for _, plr in pairs(Players:GetPlayers()) do
        if plr~=LP and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
            local char=plr.Character
            local hrp=char:FindFirstChild("HumanoidRootPart")
            local hum=char:FindFirstChildOfClass("Humanoid")
            local pos,vis = Camera:WorldToViewportPoint(hrp.Position)
            local dist = (Camera.CFrame.Position-hrp.Position).Magnitude

            if not Drawings[plr] then createESP(plr) end
            local obj=Drawings[plr]

            if vis and dist<=1000 then
                local scale=1/(dist/100)
                local boxW=30*scale
                local boxH=30*scale
                local size=Vector2.new(boxW,boxH)
                local tl=Vector2.new(pos.X-size.X/2,pos.Y-size.Y/2)
                local tr=tl+Vector2.new(size.X,0)
                local bl=tl+Vector2.new(0,size.Y)
                local br=tl+size
                local len=8*scale
                local c=obj.Corners
                for i=1,8 do c[i].Visible=ESPCornersToggle.Value end
                c[1].From=tl;c[1].To=tl+Vector2.new(len,0)
                c[2].From=tl;c[2].To=tl+Vector2.new(0,len)
                c[3].From=tr;c[3].To=tr-Vector2.new(len,0)
                c[4].From=tr;c[4].To=tr+Vector2.new(0,len)
                c[5].From=bl;c[5].To=bl+Vector2.new(len,0)
                c[6].From=bl;c[6].To=bl-Vector2.new(0,len)
                c[7].From=br;c[7].To=br-Vector2.new(0,len)
                c[8].From=br;c[8].To=br-Vector2.new(0,len)

                obj.DisplayName.Position=Vector2.new(pos.X,tl.Y-35)
                obj.DisplayName.Text=plr.DisplayName
                obj.DisplayName.Visible=ESPNameToggle.Value

                obj.Username.Position=Vector2.new(pos.X,tl.Y-23)
                obj.Username.Text=plr.Name
                obj.Username.Visible=ESPNameToggle.Value

                obj.Distance.Position=Vector2.new(pos.X,br.Y+4)
                obj.Distance.Text=math.floor(dist).." Studs"
                obj.Distance.Visible=ESPDistanceToggle.Value

                if hum then
                    local hpPercent=math.clamp(hum.Health/hum.MaxHealth,0,1)
                    local barHeight=size.Y*hpPercent
                    local from=Vector2.new(tl.X-6,br.Y)
                    local to=Vector2.new(tl.X-6,br.Y-barHeight)
                    obj.HealthBar.From=from
                    obj.HealthBar.To=to
                    obj.HealthBar.Color=getHealthColor(hpPercent)
                    obj.HealthBar.Visible=ESPHealthToggle.Value

                    obj.HealthText.Position=Vector2.new(from.X-10,to.Y-6)
                    obj.HealthText.Text=tostring(math.floor(hum.Health))
                    obj.HealthText.Color=getHealthColor(hpPercent)
                    obj.HealthText.Visible=ESPHealthToggle.Value
                end

                if ESPWeaponToggle.Value then
                    local tool=nil
                    for _, child in ipairs(char:GetChildren()) do
                        if child:IsA("Tool") then
                            tool=child
                            break
                        end
                    end
                    if tool then
                        obj.Weapon.Text=tool.Name
                        obj.Weapon.Position=Vector2.new(pos.X,tl.Y-50)
                        obj.Weapon.Visible=true
                    else
                        obj.Weapon.Visible=false
                    end
                else obj.Weapon.Visible=false end

                if Highlights[plr] then
                    Highlights[plr].Adornee=char
                    Highlights[plr].Enabled=ESPHighlightToggle.Value
                end
            else
                for _, obj2 in pairs(obj) do
                    if typeof(obj2)=="table" then
                        for _, x in pairs(obj2) do x.Visible=false end
                    elseif obj2.Visible then obj2.Visible=false end
                end
                if Highlights[plr] then Highlights[plr].Enabled=false end
            end
        else removeESP(plr) end
    end
end)

Players.PlayerRemoving:Connect(removeESP)

-- ==== World Groupbox ====
local WorldGroup = Tabs.Esp:AddRightGroupbox("World", "globe")

local CameraFOV = 70
WorldGroup:AddSlider("CameraFOVSlider",{
    Text="Camera Field Of View",
    Default=CameraFOV,
    Min=50,
    Max=120,
    Rounding=1,
    Callback=function(Value)
        CameraFOV=Value
        Camera.FieldOfView=CameraFOV
    end
})

local VisualSaturation = 100
local VisualBrightness = 1
local Lighting = game:GetService("Lighting")
local ColorEffect = Instance.new("ColorCorrectionEffect")
ColorEffect.Parent = Lighting
ColorEffect.Saturation=VisualSaturation/100
ColorEffect.Brightness=VisualBrightness/35
ColorEffect.TintColor=Color3.new(1,1,1)

WorldGroup:AddSlider("VisualSaturationSlider",{Text="Saturation",Default=VisualSaturation,Min=0,Max=100,Rounding=1,Callback=function(Value)
    VisualSaturation=Value
    ColorEffect.Saturation=VisualSaturation/100
end})

WorldGroup:AddSlider("VisualBrightnessSlider",{Text="Brightness",Default=VisualBrightness,Min=1,Max=10,Rounding=1,Callback=function(Value)
    VisualBrightness=Value
    ColorEffect.Brightness=VisualBrightness/10
end})

WorldGroup:AddButton("Stretched Resolution",function()
    getgenv().Resolution={[".gg/scripters"]=0.65}
    local Camera=workspace.CurrentCamera
    if getgenv().gg_scripters==nil then
        game:GetService("RunService").RenderStepped:Connect(function()
            Camera.CFrame=Camera.CFrame*CFrame.new(0,0,0,1,0,0,0,getgenv().Resolution[".gg/scripters"],0,0,0,1)
        end)
    end
    getgenv().gg_scripters="Aori0001"
end)

WorldGroup:AddButton("FPS Boost (BloxStrap)",function()
    loadstring(game:HttpGet('https://raw.githubusercontent.com/qwertyui-is-back/Bloxstrap/main/Initiate.lua', true))()
end)

-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer

-- Variables
local followDistance = 2
local sideOffset = 1
local followTime = 1.5
local knifeName = "Knife"
local equipInterval = 0.5

-- Current character reference
local currentChar = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
LocalPlayer.CharacterAdded:Connect(function(char)
    currentChar = char
end)

local autoFarmGroup = Tabs.AutoFarm:AddLeftGroupbox("AutoFarm Settings", "axe")

-- AutoFarm toggle
local autoFarmToggle = autoFarmGroup:AddToggle("AutoFarmToggle", {
    Text = "AutoFarm",        -- visible label
    Default = false
})

-- Auto Equip Knife toggle
local autoEquipToggle = autoFarmGroup:AddToggle("AutoEquipKnifeToggle", {
    Text = "Auto Equip Knife", -- visible label
    Default = false
})

-- Helper: get next player
local function getNextPlayer(currentIndex)
    local all = Players:GetPlayers()
    if #all <= 1 then return nil, 0 end

    local index = currentIndex or 0
    local tries = 0
    repeat
        index = index + 1
        if index > #all then index = 1 end
        tries = tries + 1
    until all[index] ~= LocalPlayer or tries > #all

    return all[index] ~= LocalPlayer and all[index] or nil, index
end

-- Combined AutoFarm + Auto Equip Knife loop
task.spawn(function()
    local currentIndex = 0
    while true do
        -- AUTO FARM LOGIC
        if autoFarmToggle.Value then
            local target
            target, currentIndex = getNextPlayer(currentIndex)
            if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
                local startTime = tick()
                while tick() - startTime < followTime and autoFarmToggle.Value do
                    local hrp = target.Character:FindFirstChild("HumanoidRootPart")
                    if currentChar and hrp and currentChar:FindFirstChild("HumanoidRootPart") then
                        local backPos = hrp.Position - hrp.CFrame.LookVector * followDistance
                        local sidePos = backPos + hrp.CFrame.RightVector * sideOffset
                        currentChar.HumanoidRootPart.CFrame = CFrame.new(sidePos, hrp.Position)
                    end
                    RunService.RenderStepped:Wait()
                end
            else
                task.wait(0.2)
            end
        else
            task.wait(0.2)
        end

        -- AUTO EQUIP KNIFE LOGIC
        if autoEquipToggle.Value then
            local backpack = LocalPlayer:FindFirstChild("Backpack")
            if backpack and currentChar then
                local knife = backpack:FindFirstChild(knifeName)
                if knife then
                    currentChar.Humanoid:EquipTool(knife)
                end
            end
        end

        task.wait(equipInterval)
    end
end)

-- Configuration Tab
local Configuration = Window:AddTab({
    Name = "Configuration",
    Description = "Settings & Configs",
    Icon = "file"
})

-- =========================
-- Left Groupbox: Menu / UI
-- =========================
local MenuGroup = Configuration:AddLeftGroupbox("Menu", "wrench")

MenuGroup:AddToggle("KeybindMenuOpen", {
    Default = Library.KeybindFrame.Visible,
    Text = "Open Keybind Menu",
    Callback = function(value)
        Library.KeybindFrame.Visible = value
    end,
})

MenuGroup:AddToggle("ShowCustomCursor", {
    Text = "Custom Cursor",
    Default = true,
    Callback = function(Value)
        Library.ShowCustomCursor = Value
    end,
})

MenuGroup:AddDropdown("NotificationSide", {
    Values = { "Left", "Right" },
    Default = "Right",
    Text = "Notification Side",
    Callback = function(Value)
        Library:SetNotifySide(Value)
    end,
})

MenuGroup:AddDropdown("DPIDropdown", {
    Values = { "50%", "75%", "100%", "125%", "150%", "175%", "200%" },
    Default = "100%",
    Text = "DPI Scale",
    Callback = function(Value)
        Value = Value:gsub("%%", "")
        local DPI = tonumber(Value)
        Library:SetDPIScale(DPI)
    end,
})

MenuGroup:AddDivider()
MenuGroup:AddLabel("Menu bind")
    :AddKeyPicker("MenuKeybind", { Default = "RightShift", NoUI = true, Text = "Menu keybind" })

MenuGroup:AddButton("Unload", function()
    Library:Unload()
end)

Library.ToggleKeybind = Options.MenuKeybind


-- =========================
-- Right Groupbox: Configs
-- =========================
local ConfigGroup = Configuration:AddRightGroupbox("Config Manager", "cog")

-- Hook managers into library
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)

-- Ignore theme + menu keybind in configs
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({ "MenuKeybind" })

-- Folder structure
ThemeManager:SetFolder("MyScriptHub")
SaveManager:SetFolder("MyScriptHub/specific-game")
SaveManager:SetSubFolder("specific-place")

-- Force managers into RIGHT groupbox
SaveManager:BuildConfigSection(ConfigGroup)   -- βœ… Build config list, save/load, etc
ThemeManager:ApplyToGroupbox(ConfigGroup)     -- βœ… Add theme dropdowns here

-- Auto-load if marked
SaveManager:LoadAutoloadConfig()

-- ==== Finish Setup ====
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetFolder("MyScriptHub")
SaveManager:SetSubFolder("specific-place")
SaveManager:BuildConfigSection(Tabs["UI Settings"])
ThemeManager:ApplyToTab(Tabs["UI Settings"])
SaveManager:LoadAutoloadConfig()

Features & Information

script made entirely by AI lmao and he said he created the ui (obsidian ui) like bro πŸ₯€πŸ₯€ (It's the initial version of the script, the autofarm has been patched but the other function works. the esp are bugged (blame the prompt that obi gave to ai lol) velocity.lol discord: .gg/2gFFyCpy
#opensource#katx

Community Comments (1)

slurkyzslurkyzAug 25, 2025

funcs btw: silent aim, esp, autofarm (patched), auto equip knife, streched resolution, bloxstrap script, wallcheck and crosshair

More Scripts for Knife Ability Test