BobloScript.com

Description

  1. MM2 script, I don’t know what to put to be honest.

Functions

  • Auto farm
  • Aimbot

Screenshots

1 image

Script Code

Raw Code

This script loads code from an external source. Review the URL and understand what it does before running it in Roblox.

https://raw.githubusercontent.com/shlexware/Orion/main/source

getgenv().MM2Hub = getgenv().MM2Hub or {}local S = getgenv().MM2Hub-- ══════════ SERVICES ══════════local Players = game:GetService("Players")local RunService = game:GetService("RunService")local Lighting = game:GetService("Lighting")local UserInputService = game:GetService("UserInputService")local VirtualUser = game:GetService("VirtualUser")local HttpService = game:GetService("HttpService")local Workspace = game:GetService("Workspace")local Camera = Workspace.CurrentCameralocal LP = Players.LocalPlayer-- ══════════ DEFAULTS ══════════S.Aimbot        = S.Aimbot or falseS.FOV           = S.FOV or 120S.Smoothness    = S.Smoothness or 0.6S.ShowFOVCircle = S.ShowFOVCircle or falseS.AimPart       = S.AimPart or "Head"S.AutoShoot     = S.AutoShoot or falseS.ShootDelay    = S.ShootDelay or 0.4S.AutoKnife     = S.AutoKnife or falseS.KillOnSight   = S.KillOnSight or falseS.ESP_M         = S.ESP_M or falseS.ESP_S         = S.ESP_S or falseS.ESP_I         = S.ESP_I or falseS.ESP_Box       = S.ESP_Box or falseS.ESP_Name      = S.ESP_Name or falseS.ESP_Tracer    = S.ESP_Tracer or falseS.ESP_Coin      = S.ESP_Coin or falseS.ESP_Gun       = S.ESP_Gun or falseS.ESP_Spanner   = S.ESP_Spanner or falseS.ESP_Crossbow  = S.ESP_Crossbow or falseS.WalkSpeed     = S.WalkSpeed or 16S.JumpPower     = S.JumpPower or 50S.NoClip        = S.NoClip or falseS.Fly           = S.Fly or falseS.FlySpeed      = S.FlySpeed or 50S.InfiniteJump  = S.InfiniteJump or falseS.AutoCollect   = S.AutoCollect or falseS.CoinMagnet    = S.CoinMagnet or falseS.MagnetRadius  = S.MagnetRadius or 50S.AutoGrabGun   = S.AutoGrabGun or falseS.AutoEquipGun  = S.AutoEquipGun or falseS.AutoGrabSpanner = S.AutoGrabSpanner or falseS.AutoGrabKnife = S.AutoGrabKnife or falseS.CrossbowMode  = S.CrossbowMode or falseS.Fullbright    = S.Fullbright or falseS.NoFog         = S.NoFog or falseS.CameraFOV     = S.CameraFOV or 70S.Crosshair     = S.Crosshair or falseS.RainbowLight  = S.RainbowLight or falseS.AntiAfk       = S.AntiAfk or falseS.AntiFall      = S.AntiFall or falseS.AutoRespawn   = S.AutoRespawn or falseS.AutoKill      = S.AutoKill or falseS.KillRange     = S.KillRange or 25S.TeleportKill  = S.TeleportKill or falseS.KillAura      = S.KillAura or falseS.AutoWin       = S.AutoWin or falseS.SmartMode     = S.SmartMode or falseS.LoopDelay     = S.LoopDelay or 0.5S.RainbowUI     = S.RainbowUI or falseS.Accent        = S.Accent or Color3.fromRGB(255, 45, 85)S.DebugLogs     = S.DebugLogs or false-- ══════════ HELPERS ══════════local function Char(p) return p and p.Character endlocal function HRP(p) local c = Char(p); return c and c:FindFirstChild("HumanoidRootPart") endlocal function Human(p) local c = Char(p); return c and c:FindFirstChildOfClass("Humanoid") endlocal function Log(...) if S.DebugLogs then print("[MM2HUB]", ...) end endlocal function GetRole(p)    local c = Char(p)    if not c then return "Unknown" end    local hasKnife, hasGun = false, false    for _, v in pairs(c:GetChildren()) do        if v:IsA("Tool") then            local n = v.Name:lower()            if n:find("gun") or n:find("pistol") or n:find("luger") then                hasGun = true            elseif n ~= "spanner" and n ~= "coin" and n ~= "map" then                hasKnife = true            end        end    end    if hasKnife then return "Murderer" end    if hasGun then return "Sheriff" end    return "Innocent"endlocal function GetMurderer()    for _, p in pairs(Players:GetPlayers()) do        if p ~= LP and GetRole(p) == "Murderer" then return p end    end    return nilendlocal function GetSheriff()    for _, p in pairs(Players:GetPlayers()) do        if p ~= LP and GetRole(p) == "Sheriff" then return p end    end    return nilendlocal function FindItems(pattern)    local list = {}    for _, v in pairs(Workspace:GetChildren()) do        local n = v.Name:lower()        if v:IsA("Tool") and n:find(pattern) then            table.insert(list, v)        elseif v:IsA("Model") and n:find(pattern) then            table.insert(list, v)        elseif v:IsA("Model") then            local t = v:FindFirstChildOfClass("Tool")            if t and t.Name:lower():find(pattern) then table.insert(list, v) end        end    end    return listendlocal function ItemPos(v)    if v:IsA("Tool") then        local h = v:FindFirstChild("Handle")        return h and h.Position or v:GetPivot().Position    end    return v:GetPivot().Positionendlocal function TpTo(pos)    local hrp = HRP(LP)    if hrp and pos then        hrp.CFrame = CFrame.new(pos + Vector3.new(0, 4, 0))    endendlocal function AimAt(target)    local c = Char(target)    if not c then return end    local part = S.AimPart == "Head" and c:FindFirstChild("Head") or HRP(target)    if part and Camera then        Camera.CFrame = Camera.CFrame:Lerp(CFrame.lookAt(Camera.CFrame.Position, part.Position), S.Smoothness)    endendlocal function GetGunTool()    local c = Char(LP)    local g = c and (c:FindFirstChild("Gun") or c:FindFirstChild("Crossbow"))    if not g then g = LP.Backpack:FindFirstChild("Gun") or LP.Backpack:FindFirstChild("Crossbow") end    return gendlocal function GetKnifeTool()    local c = Char(LP)    for _, v in pairs(c and c:GetChildren() or {}) do        if v:IsA("Tool") and v.Name:lower() ~= "gun" and v.Name:lower() ~= "spanner" then return v end    end    for _, v in pairs(LP.Backpack:GetChildren()) do        if v:IsA("Tool") and v.Name:lower() ~= "gun" and v.Name:lower() ~= "spanner" then return v end    end    return nilendlocal function Equip(tool)    if not tool then return end    local hum = Human(LP)    if hum then pcall(function() hum:EquipTool(tool) end) endendlocal function ShootGun()    local gun = GetGunTool()    if gun then        Equip(gun)        pcall(function() gun:Activate() end)        for _, c in pairs(gun:GetChildren()) do            if c:IsA("RemoteEvent") then pcall(function() c:FireServer() end) end        end    endendlocal function GrabGun()    local items = FindItems("gun")    if #items > 0 then        TpTo(ItemPos(items[1]))        task.wait(0.25)        for _, v in pairs(items) do            local t = v:IsA("Tool") and v or v:FindFirstChildOfClass("Tool")            if t then pcall(function() t.Parent = LP.Backpack end) end        end    endendlocal function GrabSpanner()    local items = FindItems("spanner")    if #items > 0 then        TpTo(ItemPos(items[1]))        task.wait(0.25)        for _, v in pairs(items) do            local t = v:IsA("Tool") and v or v:FindFirstChildOfClass("Tool")            if t then pcall(function() t.Parent = LP.Backpack end) end        end    endendlocal function KillMurderer()    local m = GetMurderer()    if not m then return end    AimAt(m)    if S.TeleportKill or S.KillRange > 999 then TpTo(HRP(m).Position) end    local gun = GetGunTool()    if gun then        ShootGun()    else        local knife = GetKnifeTool()        if knife then            Equip(knife)            task.wait(0.15)            pcall(function() knife:Activate() end)        else            GrabGun()        end    endend-- ══════════ FLY ══════════local flyActive = falselocal flyBV, flyBGlocal function ToggleFly(on)    flyActive = on    S.Fly = on    local hrp = HRP(LP)    if on and hrp then        flyBV = Instance.new("BodyVelocity"); flyBV.MaxForce = Vector3.new(9e9, 9e9, 9e9); flyBV.Parent = hrp        flyBG = Instance.new("BodyGyro"); flyBG.MaxTorque = Vector3.new(9e9, 9e9, 9e9); flyBG.Parent = hrp    elseif flyBV then        pcall(function() flyBV:Destroy() end); flyBV = nil        pcall(function() flyBG:Destroy() end); flyBG = nil    endendRunService.RenderStepped:Connect(function()    if flyActive and HRP(LP) and Camera then        local hrp = HRP(LP)        local dir = Vector3.new()        if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + Camera.CFrame.LookVector end        if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - Camera.CFrame.LookVector end        if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - Camera.CFrame.RightVector end        if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + Camera.CFrame.RightVector end        if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0, 1, 0) end        if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir = dir - Vector3.new(0, 1, 0) end        dir = dir.Unit * S.FlySpeed        flyBV.Velocity = dir        flyBG.CFrame = Camera.CFrame    endend)-- ══════════ LOOP: AIMBOT ══════════RunService.RenderStepped:Connect(function()    if S.Aimbot then        local m = GetMurderer()        if m then            local c = Char(m)            local part = S.AimPart == "Head" and c and c:FindFirstChild("Head") or HRP(m)            if part then                local sp, on = Camera:WorldToScreenPoint(part.Position)                if on then                    local center = Camera.ViewportSize / 2                    local dist = (Vector2.new(sp.X, sp.Y) - center).Magnitude                    if dist <= S.FOV then AimAt(m) end                end            end        end    endend)-- ══════════ LOOP: AUTO SHOOT / KILL ══════════task.spawn(function()    while task.wait(S.ShootDelay) do        local m = GetMurderer()        if m and Human(m) and Human(m).Health > 0 then            if S.AutoShoot and GetGunTool() then ShootGun() end            if S.KillOnSight and GetGunTool() then ShootGun() end            if S.AutoKill then KillMurderer() end            if S.KillAura and HRP(m) and HRP(LP) then                if (HRP(m).Position - HRP(LP).Position).Magnitude <= S.KillRange then KillMurderer() end            end            if S.AutoWin then                local gun = GetGunTool()                if gun then AimAt(m); ShootGun() else GrabGun() end            end        end    endend)-- ══════════ LOOP: FARM / ITEMS ══════════task.spawn(function()    while task.wait(S.LoopDelay) do        if S.AutoGrabGun and not GetGunTool() then GrabGun() end        if S.AutoGrabSpanner then GrabSpanner() end        if S.AutoEquipGun and GetGunTool() then Equip(GetGunTool()) end        if S.CrossbowMode then            local cb = LP.Backpack:FindFirstChild("Crossbow") or (Char(LP) and Char(LP):FindFirstChild("Crossbow"))            if cb then Equip(cb) end        end        if S.AutoCollect then            local coins = FindItems("coin")            if #coins > 0 then                TpTo(ItemPos(coins[1]))                task.wait(0.2)            end        end        if S.SmartMode and GetRole(LP) == "Innocent" and S.AutoCollect then            local coins = FindItems("coin")            if #coins > 0 then TpTo(ItemPos(coins[1])) end        end    endend)-- ══════════ LOOP: COIN MAGNET ══════════task.spawn(function()    while task.wait(0.1) do        if S.CoinMagnet and HRP(LP) then            local hrp = HRP(LP)            for _, coin in pairs(FindItems("coin")) do                if (ItemPos(coin) - hrp.Position).Magnitude <= S.MagnetRadius then                    pcall(function() coin:PivotTo(CFrame.new(hrp.Position + Vector3.new(0, 2, 0))) end)                end            end        end    endend)-- ══════════ LOOP: MOVEMENT / MISC ══════════RunService.Stepped:Connect(function()    local hum = Human(LP)    if hum then        if hum.WalkSpeed ~= S.WalkSpeed then hum.WalkSpeed = S.WalkSpeed end        if hum.JumpPower ~= S.JumpPower then hum.JumpPower = S.JumpPower end    end    if S.NoClip and Char(LP) then        for _, v in pairs(Char(LP):GetDescendants()) do            if v:IsA("BasePart") and v.CanCollide then v.CanCollide = false end        end    end    if S.CameraFOV and Camera and Camera.FieldOfView ~= S.CameraFOV then Camera.FieldOfView = S.CameraFOV endend)UserInputService.JumpRequest:Connect(function()    if S.InfiniteJump and Human(LP) then        pcall(function() Human(LP):ChangeState(Enum.HumanoidStateType.Jumping) end)    endend)-- ══════════ LOOP: ANTI AFK / RESPAWN ══════════task.spawn(function()    while task.wait(30) do        if S.AntiAfk then            pcall(function()                VirtualUser:CaptureController()                VirtualUser:Button2Down(Vector2.new(0, 0))                task.wait(0.1)                VirtualUser:Button2Up(Vector2.new(0, 0))            end)        end        if S.AutoRespawn and Human(LP) and Human(LP).Health <= 0 then            pcall(function() LP:LoadCharacter() end)        end    endend)-- ══════════ VISUALS: FULLBRIGHT / FOG / RAINBOW ══════════task.spawn(function()    local hue = 0    while task.wait(0.05) do        if S.Fullbright then            Lighting.Ambient = Color3.fromRGB(200, 200, 200)            Lighting.Brightness = 2            Lighting.ClockTime = 14            Lighting.OutdoorAmbient = Color3.fromRGB(180, 180, 180)        end        if S.NoFog then            Lighting.FogEnd = 100000            Lighting.FogStart = 100000        end        if S.RainbowLight then            hue = (hue + 0.002) % 1            Lighting.Ambient = Color3.fromHSV(hue, 0.4, 1)            Lighting.OutdoorAmbient = Color3.fromHSV(hue, 0.4, 1)        end        if S.RainbowUI then            pcall(function()                if OrionLib and OrionLib.Theme then                    OrionLib.Theme.Background = Color3.fromHSV(hue, 0.5, 0.15)                    OrionLib.Theme.Main = Color3.fromHSV(hue, 0.7, 0.25)                end            end)        end    endend)-- ══════════ DRAWINGS: FOV CIRCLE + CROSSHAIR ══════════local fovCircle = Drawing.new("Circle"); fovCircle.Thickness = 2; fovCircle.Radius = S.FOV; fovCircle.Color = S.Accent; fovCircle.Visible = falselocal xhairH = Drawing.new("Line"); xhairH.Thickness = 2; xhairH.Color = Color3.new(1, 0, 0); xhairH.Visible = falselocal xhairV = Drawing.new("Line"); xhairV.Thickness = 2; xhairV.Color = Color3.new(1, 0, 0); xhairV.Visible = falseRunService.RenderStepped:Connect(function()    local center = Camera.ViewportSize / 2    fovCircle.Visible = S.ShowFOVCircle and S.Aimbot    fovCircle.Position = center    fovCircle.Radius = S.FOV    fovCircle.Color = S.Accent    xhairH.Visible = S.Crosshair; xhairH.From = Vector2.new(center.X - 10, center.Y); xhairH.To = Vector2.new(center.X + 10, center.Y)    xhairV.Visible = S.Crosshair; xhairV.From = Vector2.new(center.X, center.Y - 10); xhairV.To = Vector2.new(center.X, center.Y + 10)end)-- ══════════ ESP: PLAYERS ══════════local espObjs = {}local function GetESP(p)    if not espObjs[p] then        local e = {}        e.box = Drawing.new("Square"); e.box.Thickness = 2; e.box.Filled = false        e.name = Drawing.new("Text"); e.name.Center = true; e.name.Size = 14; e.name.Outline = true        e.tracer = Drawing.new("Line"); e.tracer.Thickness = 1        espObjs[p] = e    end    return espObjs[p]endlocal function UpdatePlayerESP(p, color, show)    local e = GetESP(p)    local hrp = HRP(p)    local hum = Human(p)    if not (hrp and hum and hum.Health > 0) then        e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false        return    end    local pos, on = Camera:WorldToScreenPoint(hrp.Position)    if not on then        e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false        return    end    local scale = 500 / (Camera.CFrame.Position - hrp.Position).Magnitude    local h = math.clamp(3.5 * scale, 10, 500)    local w = h * 0.65    e.box.Visible = S.ESP_Box and show    e.box.Color = color    e.box.Position = Vector2.new(pos.X - w / 2, pos.Y - h)    e.box.Size = Vector2.new(w, h)    e.name.Visible = S.ESP_Name and show    e.name.Color = color    e.name.Position = Vector2.new(pos.X, pos.Y - h - 14)    e.name.Text = p.Name .. " [" .. GetRole(p) .. "]"    e.tracer.Visible = S.ESP_Tracer and show    e.tracer.Color = color    e.tracer.From = Camera.ViewportSize / 2    e.tracer.To = Vector2.new(pos.X, pos.Y)endtask.spawn(function()    while task.wait() do        for _, p in pairs(Players:GetPlayers()) do            if p ~= LP then                local role = GetRole(p)                local show = false                local col = Color3.new(1, 1, 1)                if role == "Murderer" and S.ESP_M then show = true; col = Color3.fromRGB(255, 30, 30) end                if role == "Sheriff" and S.ESP_S then show = true; col = Color3.fromRGB(30, 150, 255) end                if role == "Innocent" and S.ESP_I then show = true; col = Color3.fromRGB(120, 255, 120) end                UpdatePlayerESP(p, col, show)            end        end    endend)-- ══════════ ESP: ITEMS ══════════local itemESP = {}local function GetItemESP(i)    if not itemESP[i] then        itemESP[i] = Drawing.new("Text")        itemESP[i].Center = true        itemESP[i].Size = 13        itemESP[i].Outline = true    end    return itemESP[i]endtask.spawn(function()    local idx = 0    while task.wait(0.1) do        local configs = {            {enabled = S.ESP_Coin, pattern = "coin", label = "🪙 COIN", color = Color3.fromRGB(255, 215, 0)},            {enabled = S.ESP_Gun, pattern = "gun", label = "🔫 GUN", color = Color3.fromRGB(255, 160, 0)},            {enabled = S.ESP_Spanner, pattern = "spanner", label = "🔧 SPANNER", color = Color3.fromRGB(0, 200, 255)},            {enabled = S.ESP_Crossbow, pattern = "crossbow", label = "🏹 CROSSBOW", color = Color3.fromRGB(200, 0, 255)},        }        idx = 0        for _, cfg in pairs(configs) do            if cfg.enabled then                local items = FindItems(cfg.pattern)                for i = 1, math.min(#items, 8) do                    idx = idx + 1                    local e = GetItemESP(idx)                    local pos, on = Camera:WorldToScreenPoint(ItemPos(items[i]))                    if on then                        e.Visible = true                        e.Position = Vector2.new(pos.X, pos.Y - 20)                        e.Text = cfg.label                        e.Color = cfg.color                    else                        e.Visible = false                    end                end            end        end        for i = idx + 1, #itemESP do            if itemESP[i] then itemESP[i].Visible = false end        end    endend)-- ══════════ UI ══════════local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))()local Window = OrionLib:MakeWindow({    Name = "🔪 MM2 DELTA HUB 🔫 — KEYLESS",    HidePremium = false,    SaveConfig = true,    ConfigFolder = "MM2DeltaHub"})-- ─── TAB 1: MAIN ───local T1 = Window:MakeTab({Name = "Main", Icon = "rbxassetid://4483345998", PremiumOnly = false})T1:AddParagraph("Welcome", "Keyless MM2 script for Delta. 22 tabs, no key system, no gated content. Load and go.")T1:AddLabel("✅ STATUS: KEYLESS | LOADED")T1:AddButton({Name = "Destroy UI", Callback = function() OrionLib:Destroy() end})T1:AddButton({Name = "Rejoin Server", Callback = function()    pcall(function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, LP) end)end})-- ─── TAB 2: AIMBOT ───local T2 = Window:MakeTab({Name = "Aimbot", Icon = "rbxassetid://4483345998", PremiumOnly = false})T2:AddToggle({Name = "Aimbot", Default = S.Aimbot, Callback = function(v) S.Aimbot = v end})T2:AddSlider({Name = "FOV (degrees)", Min = 10, Max = 180, Default = S.FOV, Increment = 1, Callback = function(v) S.FOV = v end})T2:AddSlider({Name = "Smoothness", Min = 1, Max = 100, Default = S.Smoothness * 100, Increment = 1, Callback = function(v) S.Smoothness = v / 100 end})T2:AddToggle({Name = "Show FOV Circle", Default = S.ShowFOVCircle, Callback = function(v) S.ShowFOVCircle = v end})T2:AddDropdown({Name = "Aim Part", Default = S.AimPart, Options = {"Head", "HumanoidRootPart"}, Callback = function(v) S.AimPart = v end})T2:AddToggle({Name = "Aim Only With Gun", Default = false, Callback = function(v) S.AimOnlyGun = v end})-- ─── TAB 3: COMBAT ───local T3 = Window:MakeTab({Name = "Combat", Icon = "rbxassetid://4483345998", PremiumOnly = false})T3:AddToggle({Name = "Auto Shoot Murderer", Default = S.AutoShoot, Callback = function(v) S.AutoShoot = v end})T3:AddSlider({Name = "Shoot Delay (s)", Min = 1, Max = 20, Default = S.ShootDelay * 10, Increment = 1, Callback = function(v) S.ShootDelay = v / 10 end})T3:AddButton({Name = "🔫 SHOOT NOW", Callback = function()    local m = GetMurderer()    if m then AimAt(m) end    ShootGun()end})T3:AddToggle({Name = "Auto Knife (when no gun)", Default = S.AutoKnife, Callback = function(v) S.AutoKnife = v end})T3:AddToggle({Name = "Kill On Sight", Default = S.KillOnSight, Callback = function(v) S.KillOnSight = v end})-- ─── TAB 4: ESP ───local T4 = Window:MakeTab({Name = "ESP", Icon = "rbxassetid://4483345998", PremiumOnly = false})T4:AddToggle({Name = "ESP — Murderer (red)", Default = S.ESP_M, Callback = function(v) S.ESP_M = v end})T4:AddToggle({Name = "ESP — Sheriff (blue)", Default = S.ESP_S, Callback = function(v) S.ESP_S = v end})T4:AddToggle({Name = "ESP — Innocents (green)", Default = S.ESP_I, Callback = function(v) S.ESP_I = v end})T4:AddSection({Name = "ESP Style"})T4:AddToggle({Name = "Boxes", Default = S.ESP_Box, Callback = function(v) S.ESP_Box = v end})T4:AddToggle({Name = "Names + Role", Default = S.ESP_Name, Callback = function(v) S.ESP_Name = v end})T4:AddToggle({Name = "Tracers", Default = S.ESP_Tracer, Callback = function(v) S.ESP_Tracer = v end})T4:AddSection({Name = "Item ESP"})T4:AddToggle({Name = "Coins", Default = S.ESP_Coin, Callback = function(v) S.ESP_Coin = v end})T4:AddToggle({Name = "Gun", Default = S.ESP_Gun, Callback = function(v) S.ESP_Gun = v end})T4:AddToggle({Name = "Spanner", Default = S.ESP_Spanner, Callback = function(v) S.ESP_Spanner = v end})T4:AddToggle({Name = "Crossbow", Default = S.ESP_Crossbow, Callback = function(v) S.ESP_Crossbow = v end})-- ─── TAB 5: MOVEMENT ───local T5 = Window:MakeTab({Name = "Movement", Icon = "rbxassetid://4483345998", PremiumOnly = false})T5:AddSlider({Name = "WalkSpeed", Min = 16, Max = 250, Default = S.WalkSpeed, Increment = 1, Callback = function(v) S.WalkSpeed = v end})T5:AddSlider({Name = "JumpPower", Min = 50, Max = 500, Default = S.JumpPower, Increment = 10, Callback = function(v) S.JumpPower = v end})T5:AddToggle({Name = "Noclip", Default = S.NoClip, Callback = function(v) S.NoClip = v end})T5:AddToggle({Name = "Fly (WASD + Space/Ctrl)", Default = S.Fly, Callback = function(v) ToggleFly(v) end})T5:AddSlider({Name = "Fly Speed", Min = 10, Max = 300, Default = S.FlySpeed, Increment = 5, Callback = function(v) S.FlySpeed = v end})T5:AddToggle({Name = "Infinite Jump", Default = S.InfiniteJump, Callback = function(v) S.InfiniteJump = v end})-- ─── TAB 6: FARM ───local T6 = Window:MakeTab({Name = "Farm", Icon = "rbxassetid://4483345998", PremiumOnly = false})T6:AddToggle({Name = "Auto Collect Coins", Default = S.AutoCollect, Callback = function(v) S.AutoCollect = v end})T6:AddToggle({Name = "Coin Magnet", Default = S.CoinMagnet, Callback = function(v) S.CoinMagnet = v end})T6:AddSlider({Name = "Magnet Radius", Min = 10, Max = 200, Default = S.MagnetRadius, Increment = 5, Callback = function(v) S.MagnetRadius = v end})T6:AddButton({Name = "Collect All Coins Now", Callback = function()    for _, coin in pairs(FindItems("coin")) do        TpTo(ItemPos(coin))        task.wait(0.15)    endend})T6:AddToggle({Name = "Smart Farm (only as Innocent)", Default = S.SmartMode, Callback = function(v) S.SmartMode = v end})-- ─── TAB 7: GUNS ───local T7 = Window:MakeTab({Name = "Guns", Icon = "rbxassetid://4483345998", PremiumOnly = false})T7:AddToggle({Name = "Auto Grab Gun (teleport to drop)", Default = S.AutoGrabGun, Callback = function(v) S.AutoGrabGun = v end})T7:AddToggle({Name = "Auto Equip Gun", Default = S.AutoEquipGun, Callback = function(v) S.AutoEquipGun = v end})T7:AddButton({Name = "Grab Gun Now", Callback = GrabGun})T7:AddButton({Name = "Equip Gun", Callback = function() Equip(GetGunTool()) end})T7:AddToggle({Name = "Crossbow Mode (auto-equip crossbow)", Default = S.CrossbowMode, Callback = function(v) S.CrossbowMode = v end})T7:AddToggle({Name = "Keep Gun Equipped", Default = false, Callback = function(v) S.KeepGun = v end})-- ─── TAB 8: ITEMS ───local T8 = Window:MakeTab({Name = "Items", Icon = "rbxassetid://4483345998", PremiumOnly = false})T8:AddToggle({Name = "Auto Grab Spanner", Default = S.AutoGrabSpanner, Callback = function(v) S.AutoGrabSpanner = v end})T8:AddToggle({Name = "Auto Grab Knife", Default = S.AutoGrabKnife, Callback = function(v) S.AutoGrabKnife = v end})T8:AddButton({Name = "Grab Spanner Now", Callback = GrabSpanner})T8:AddButton({Name = "Drop Current Tool", Callback = function()    local c = Char(LP)    if c then        for _, v in pairs(c:GetChildren()) do            if v:IsA("Tool") then pcall(function() v.Parent = Workspace end) end        end    endend})T8:AddSlider({Name = "Item Loop Delay (s)", Min = 1, Max = 30, Default = S.LoopDelay * 10, Increment = 1, Callback = function(v) S.LoopDelay = v / 10 end})-- ─── TAB 9: VISUALS ───local T9 = Window:MakeTab({Name = "Visuals", Icon = "rbxassetid://4483345998", PremiumOnly = false})T9:AddToggle({Name = "Fullbright", Default = S.Fullbright, Callback = function(v) S.Fullbright = v end})T9:AddToggle({Name = "No Fog", Default = S.NoFog, Callback = function(v) S.NoFog = v end})T9:AddSlider({Name = "Camera FOV", Min = 70, Max = 120, Default = S.CameraFOV, Increment = 1, Callback = function(v) S.CameraFOV = v end})T9:AddToggle({Name = "Crosshair", Default = S.Crosshair, Callback = function(v) S.Crosshair = v end})T9:AddToggle({Name = "Rainbow Lighting", Default = S.RainbowLight, Callback = function(v) S.RainbowLight = v end})T9:AddColorpicker({Name = "Accent Color", Default = S.Accent, Callback = function(v) S.Accent = v end})-- ─── TAB 10: TELEPORTS ───local T10 = Window:MakeTab({Name = "Teleports", Icon = "rbxassetid://4483345998", PremiumOnly = false})T10:AddButton({Name = "Teleport to Murderer", Callback = function() local m = GetMurderer(); if m and HRP(m) then TpTo(HRP(m).Position) end end})T10:AddButton({Name = "Teleport to Coin", Callback = function() local c = FindItems("coin"); if #c > 0 then TpTo(ItemPos(c[1])) end end})T10:AddButton({Name = "Teleport to Gun", Callback = function() local g = FindItems("gun"); if #g > 0 then TpTo(ItemPos(g[1])) end end})T10:AddButton({Name = "Teleport to Spanner", Callback = function() local s = FindItems("spanner"); if #s > 0 then TpTo(ItemPos(s[1])) end end})T10:AddButton({Name = "Teleport to Crossbow", Callback = function() local x = FindItems("crossbow"); if #x > 0 then TpTo(ItemPos(x[1])) end end})T10:AddButton({Name = "Teleport to Random Player", Callback = function()    local ps = Players:GetPlayers()    local r = ps[math.random(1, #ps)]    if r and HRP(r) then TpTo(HRP(r).Position) endend})-- ─── TAB 11: SAFETY ───local T11 = Window:MakeTab({Name = "Safety", Icon = "rbxassetid://4483345998", PremiumOnly = false})T11:AddToggle({Name = "Anti AFK", Default = S.AntiAfk, Callback = function(v) S.AntiAfk = v end})T11:AddToggle({Name = "Auto Respawn", Default = S.AutoRespawn, Callback = function(v) S.AutoRespawn = v end})T11:AddToggle({Name = "Anti Fall Damage", Default = S.AntiFall, Callback = function(v) S.AntiFall = v end})T11:AddButton({Name = "🚨 PANIC — Disable Everything", Callback = function()    for k, _ in pairs(S) do        if type(S[k]) == "boolean" then S[k] = false end    end    ToggleFly(false)    pcall(function()        for _, e in pairs(espObjs) do e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false end        for _, e in pairs(itemESP) do e.Visible = false end    end)    OrionLib:MakeNotification({Name = "Panic", Content = "All features disabled", Time = 3})end})-- ─── TAB 12: PLAYER ───local roleLabel = T1local T12 = Window:MakeTab({Name = "Player", Icon = "rbxassetid://4483345998", PremiumOnly = false})local myRole = T12:AddLabel({Name = "Role: ..."})T12:AddButton({Name = "Refresh Role", Callback = function() myRole:Set("Role: " .. GetRole(LP)) end})T12:AddToggle({Name = "Speed Boost After Kill", Default = false, Callback = function(v) S.SpeedBoost = v end})T12:AddSlider({Name = "Boost Speed", Min = 16, Max = 250, Default = 50, Increment = 1, Callback = function(v) S.BoostSpeed = v end})T12:AddToggle({Name = "Show Role Above My Head", Default = false, Callback = function(v) S.ShowMyRole = v end})task.spawn(function()    while task.wait(1) do        pcall(function() myRole:Set("Role: " .. GetRole(LP)) end)    endend)-- ─── TAB 13: WORLD ───local T13 = Window:MakeTab({Name = "World", Icon = "rbxassetid://4483345998", PremiumOnly = false})T13:AddToggle({Name = "Disable Shadows", Default = false, Callback = function(v)    if v then        pcall(function()            for _, s in pairs(Lighting:GetDescendants()) do                if s:IsA("Shadow") then s.Enabled = false end            end        end)    endend})T13:AddSlider({Name = "Ambient Brightness", Min = 0, Max = 3, Default = 1, Increment = 0.1, Callback = function(v) Lighting.Brightness = v end})T13:AddButton({Name = "Set Time: Day", Callback = function() Lighting.ClockTime = 14 end})T13:AddButton({Name = "Set Time: Night", Callback = function() Lighting.ClockTime = 0 end})T13:AddButton({Name = "Set Time: Sunset", Callback = function() Lighting.ClockTime = 18 end})-- ─── TAB 14: KILL ───local T14 = Window:MakeTab({Name = "Kill", Icon = "rbxassetid://4483345998", PremiumOnly = false})T14:AddToggle({Name = "Auto Kill Murderer", Default = S.AutoKill, Callback = function(v) S.AutoKill = v end})T14:AddButton({Name = "💀 Kill Murderer NOW", Callback = KillMurderer})T14:AddSlider({Name = "Kill Range", Min = 5, Max = 200, Default = S.KillRange, Increment = 1, Callback = function(v) S.KillRange = v end})T14:AddToggle({Name = "Teleport Kill (always teleport to target)", Default = S.TeleportKill, Callback = function(v) S.TeleportKill = v end})T14:AddToggle({Name = "Kill Aura (teleport + hit in range)", Default = S.KillAura, Callback = function(v) S.KillAura = v end})-- ─── TAB 15: MISC ───local T15 = Window:MakeTab({Name = "Misc", Icon = "rbxassetid://4483345998", PremiumOnly = false})T15:AddButton({Name = "Server Hop", Callback = function()    pcall(function() game:GetService("TeleportService"):Teleport(game.PlaceId) end)end})T15:AddToggle({Name = "Auto Rejoin on Death", Default = false, Callback = function(v) S.AutoRejoin = v end})T15:AddToggle({Name = "Sprint with Shift (x2 speed)", Default = false, Callback = function(v) S.Sprint = v end})T15:AddToggle({Name = "No Walk Animation Glitch Fix", Default = false, Callback = function(v) S.FixAnim = v end})RunService.RenderStepped:Connect(function()    if S.Sprint and UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and Human(LP) then        Human(LP).WalkSpeed = S.WalkSpeed * 2    endend)-- ─── TAB 16: SETTINGS ───local T16 = Window:MakeTab({Name = "Settings", Icon = "rbxassetid://4483345998", PremiumOnly = false})T16:AddParagraph("Config", "Orion auto-saves settings on leave. You can also save/load manually.")T16:AddButton({Name = "💾 Save Config", Callback = function()    pcall(function()        writefile("MM2DeltaHub_Config.json", HttpService:JSONEncode(S))        OrionLib:MakeNotification({Name = "Saved", Content = "Config saved to file", Time = 3})    end)end})T16:AddButton({Name = "📂 Load Config", Callback = function()    pcall(function()        local data = HttpService:JSONDecode(readfile("MM2DeltaHub_Config.json"))        for k, v in pairs(data) do S[k] = v end        OrionLib:MakeNotification({Name = "Loaded", Content = "Config loaded — restart script for full effect", Time = 3})    end)end})T16:AddButton({Name = "Reset Config", Callback = function()    pcall(function() writefile("MM2DeltaHub_Config.json", "{}") end)    OrionLib:MakeNotification({Name = "Reset", Content = "Config cleared", Time = 3})end})T16:AddToggle({Name = "Debug Logs", Default = S.DebugLogs, Callback = function(v) S.DebugLogs = v end})-- ─── TAB 17: INFO ───local T17 = Window:MakeTab({Name = "Info", Icon = "rbxassetid://4483345998", PremiumOnly = false})T17:AddParagraph("MM2 DELTA HUB", "Version 2.0 | Built with Orion Library")T17:AddLabel("🔑 KEYLESS — no key, no linkvertise, no gates")T17:AddLabel("⚡ Delta / Android / iOS compatible")T17:AddLabel("🛠️ For educational/testing use only")T17:AddButton({Name = "Copy Loadstring Line", Callback = function()    pcall(function() setclipboard('loadstring(game:HttpGet("https://raw.githubusercontent.com/shlexware/Orion/main/source"))()') end)    OrionLib:MakeNotification({Name = "Copied", Content = "Orion loader line copied", Time = 3})end})-- ─── TAB 18: CONTROLS / KEYBINDS ───local T18 = Window:MakeTab({Name = "Controls", Icon = "rbxassetid://4483345998", PremiumOnly = false})T18:AddKeybind({Name = "Toggle Aimbot", Default = Enum.KeyCode.Q, Callback = function()    S.Aimbot = not S.Aimbot    OrionLib:MakeNotification({Name = "Aimbot", Content = tostring(S.Aimbot), Time = 1.5})end})T18:AddKeybind({Name = "SHOOT", Default = Enum.KeyCode.F, Callback = function()    local m = GetMurderer(); if m then AimAt(m) end    ShootGun()end})T18:AddKeybind({Name = "Teleport to Murderer", Default = Enum.KeyCode.T, Callback = function()    local m = GetMurderer(); if m and HRP(m) then TpTo(HRP(m).Position) endend})T18:AddKeybind({Name = "Toggle Fly", Default = Enum.KeyCode.X, Callback = function()    ToggleFly(not flyActive)end})-- ─── TAB 19: WEAPONS ───local T19 = Window:MakeTab({Name = "Weapons", Icon = "rbxassetid://4483345998", PremiumOnly = false})T19:AddDropdown({Name = "Weapon Mode", Default = "Auto", Options = {"Auto", "Gun", "Knife", "Crossbow"}, Callback = function(v)    S.WeaponMode = v    if v == "Gun" then Equip(GetGunTool()) end    if v == "Crossbow" then        local cb = LP.Backpack:FindFirstChild("Crossbow") or (Char(LP) and Char(LP):FindFirstChild("Crossbow"))        if cb then Equip(cb) end    end    if v == "Knife" then Equip(GetKnifeTool()) endend})T19:AddButton({Name = "Equip Selected", Callback = function()    if S.WeaponMode == "Gun" then Equip(GetGunTool()) end    if S.WeaponMode == "Knife" then Equip(GetKnifeTool()) end    if S.WeaponMode == "Crossbow" then        local cb = LP.Backpack:FindFirstChild("Crossbow") or (Char(LP) and Char(LP):FindFirstChild("Crossbow"))        if cb then Equip(cb) end    endend})T19:AddToggle({Name = "Auto Switch to Gun on Grab", Default = false, Callback = function(v) S.AutoSwitchGun = v end})-- ─── TAB 20: AUTO ───local T20 = Window:MakeTab({Name = "Auto", Icon = "rbxassetid://4483345998", PremiumOnly = false})T20:AddToggle({Name = "Auto Win Round (aim + shoot murderer)", Default = S.AutoWin, Callback = function(v) S.AutoWin = v end})T20:AddToggle({Name = "Auto Loot (gun + coins)", Default = false, Callback = function(v)    S.AutoLoot = v    if v then S.AutoGrabGun = true; S.AutoCollect = true endend})T20:AddToggle({Name = "Auto Grab Everything (gun + spanner + coins)", Default = false, Callback = function(v)    if v then S.AutoGrabGun = true; S.AutoGrabSpanner = true; S.AutoCollect = true endend})T20:AddSlider({Name = "Master Loop Delay (s)", Min = 1, Max = 30, Default = S.LoopDelay * 10, Increment = 1, Callback = function(v) S.LoopDelay = v / 10 end})-- ─── TAB 21: DEBUG ───local T21 = Window:MakeTab({Name = "Debug", Icon = "rbxassetid://4483345998", PremiumOnly = false})T21:AddButton({Name = "Print Murderer", Callback = function()    local m = GetMurderer(); print("[MM2HUB] Murderer:", m and m.Name or "none found")end})T21:AddButton({Name = "Print My Role", Callback = function() print("[MM2HUB] Role:", GetRole(LP)) end})T21:AddButton({Name = "Print Coin Count", Callback = function() print("[MM2HUB] Coins:", #FindItems("coin")) end})T21:AddButton({Name = "Clear All ESP", Callback = function()    pcall(function()        for _, e in pairs(espObjs) do e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false end        for _, e in pairs(itemESP) do e.Visible = false end    end)end})-- ─── TAB 22: THEME ───local T22 = Window:MakeTab({Name = "Theme", Icon = "rbxassetid://4483345998", PremiumOnly = false})T22:AddToggle({Name = "Rainbow UI", Default = S.RainbowUI, Callback = function(v) S.RainbowUI = v end})T22:AddColorpicker({Name = "UI Background", Default = Color3.fromRGB(25, 25, 35), Callback = function(v)    pcall(function()        if OrionLib and OrionLib.Theme then            OrionLib.Theme.Background = v            OrionLib.Theme.Main = v            OrionLib.Theme.Title = v        end    end)end})T22:AddColorpicker({Name = "UI Accent", Default = S.Accent, Callback = function(v)    S.Accent = v    pcall(function()        if OrionLib and OrionLib.Theme then OrionLib.Theme.Accent = v end    end)end})-- ══════════ INIT ══════════OrionLib:Init()print("✅ [MM2HUB] Loaded — KEYLESS | 22 tabs active")OrionLib:MakeNotification({Name = "MM2 DELTA HUB", Content = "Loaded keyless — enjoy 🔪🔫", Time = 5})
Latest changeScript publishedAug 8

Comments

Loading comments…