Browse
Script Types
Tools
Community
Reach players with keyless, universal, or place-specific scripts.


MM2 script, I don’t know what to put to be honest.
High risk script. Copying is delayed so you can review the warning. Prefer safer scripts for this place when possible.
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
1getgenv().MM2Hub = getgenv().MM2Hub or {}2local S = getgenv().MM2Hub34-- ══════════ SERVICES ══════════5local Players = game:GetService("Players")6local RunService = game:GetService("RunService")7local Lighting = game:GetService("Lighting")8local UserInputService = game:GetService("UserInputService")9local VirtualUser = game:GetService("VirtualUser")10local HttpService = game:GetService("HttpService")11local Workspace = game:GetService("Workspace")12local Camera = Workspace.CurrentCamera13local LP = Players.LocalPlayer1415-- ══════════ DEFAULTS ══════════16S.Aimbot = S.Aimbot or false17S.FOV = S.FOV or 12018S.Smoothness = S.Smoothness or 0.619S.ShowFOVCircle = S.ShowFOVCircle or false20S.AimPart = S.AimPart or "Head"21S.AutoShoot = S.AutoShoot or false22S.ShootDelay = S.ShootDelay or 0.423S.AutoKnife = S.AutoKnife or false24S.KillOnSight = S.KillOnSight or false25S.ESP_M = S.ESP_M or false26S.ESP_S = S.ESP_S or false27S.ESP_I = S.ESP_I or false28S.ESP_Box = S.ESP_Box or false29S.ESP_Name = S.ESP_Name or false30S.ESP_Tracer = S.ESP_Tracer or false31S.ESP_Coin = S.ESP_Coin or false32S.ESP_Gun = S.ESP_Gun or false33S.ESP_Spanner = S.ESP_Spanner or false34S.ESP_Crossbow = S.ESP_Crossbow or false35S.WalkSpeed = S.WalkSpeed or 1636S.JumpPower = S.JumpPower or 5037S.NoClip = S.NoClip or false38S.Fly = S.Fly or false39S.FlySpeed = S.FlySpeed or 5040S.InfiniteJump = S.InfiniteJump or false41S.AutoCollect = S.AutoCollect or false42S.CoinMagnet = S.CoinMagnet or false43S.MagnetRadius = S.MagnetRadius or 5044S.AutoGrabGun = S.AutoGrabGun or false45S.AutoEquipGun = S.AutoEquipGun or false46S.AutoGrabSpanner = S.AutoGrabSpanner or false47S.AutoGrabKnife = S.AutoGrabKnife or false48S.CrossbowMode = S.CrossbowMode or false49S.Fullbright = S.Fullbright or false50S.NoFog = S.NoFog or false51S.CameraFOV = S.CameraFOV or 7052S.Crosshair = S.Crosshair or false53S.RainbowLight = S.RainbowLight or false54S.AntiAfk = S.AntiAfk or false55S.AntiFall = S.AntiFall or false56S.AutoRespawn = S.AutoRespawn or false57S.AutoKill = S.AutoKill or false58S.KillRange = S.KillRange or 2559S.TeleportKill = S.TeleportKill or false60S.KillAura = S.KillAura or false61S.AutoWin = S.AutoWin or false62S.SmartMode = S.SmartMode or false63S.LoopDelay = S.LoopDelay or 0.564S.RainbowUI = S.RainbowUI or false65S.Accent = S.Accent or Color3.fromRGB(255, 45, 85)66S.DebugLogs = S.DebugLogs or false6768-- ══════════ HELPERS ══════════69local function Char(p) return p and p.Character end70local function HRP(p) local c = Char(p); return c and c:FindFirstChild("HumanoidRootPart") end71local function Human(p) local c = Char(p); return c and c:FindFirstChildOfClass("Humanoid") end7273local function Log(...) if S.DebugLogs then print("[MM2HUB]", ...) end end7475local function GetRole(p)76 local c = Char(p)77 if not c then return "Unknown" end78 local hasKnife, hasGun = false, false79 for _, v in pairs(c:GetChildren()) do80 if v:IsA("Tool") then81 local n = v.Name:lower()82 if n:find("gun") or n:find("pistol") or n:find("luger") then83 hasGun = true84 elseif n ~= "spanner" and n ~= "coin" and n ~= "map" then85 hasKnife = true86 end87 end88 end89 if hasKnife then return "Murderer" end90 if hasGun then return "Sheriff" end91 return "Innocent"92end9394local function GetMurderer()95 for _, p in pairs(Players:GetPlayers()) do96 if p ~= LP and GetRole(p) == "Murderer" then return p end97 end98 return nil99end100101local function GetSheriff()102 for _, p in pairs(Players:GetPlayers()) do103 if p ~= LP and GetRole(p) == "Sheriff" then return p end104 end105 return nil106end107108local function FindItems(pattern)109 local list = {}110 for _, v in pairs(Workspace:GetChildren()) do111 local n = v.Name:lower()112 if v:IsA("Tool") and n:find(pattern) then113 table.insert(list, v)114 elseif v:IsA("Model") and n:find(pattern) then115 table.insert(list, v)116 elseif v:IsA("Model") then117 local t = v:FindFirstChildOfClass("Tool")118 if t and t.Name:lower():find(pattern) then table.insert(list, v) end119 end120 end121 return list122end123124local function ItemPos(v)125 if v:IsA("Tool") then126 local h = v:FindFirstChild("Handle")127 return h and h.Position or v:GetPivot().Position128 end129 return v:GetPivot().Position130end131132local function TpTo(pos)133 local hrp = HRP(LP)134 if hrp and pos then135 hrp.CFrame = CFrame.new(pos + Vector3.new(0, 4, 0))136 end137end138139local function AimAt(target)140 local c = Char(target)141 if not c then return end142 local part = S.AimPart == "Head" and c:FindFirstChild("Head") or HRP(target)143 if part and Camera then144 Camera.CFrame = Camera.CFrame:Lerp(CFrame.lookAt(Camera.CFrame.Position, part.Position), S.Smoothness)145 end146end147148local function GetGunTool()149 local c = Char(LP)150 local g = c and (c:FindFirstChild("Gun") or c:FindFirstChild("Crossbow"))151 if not g then g = LP.Backpack:FindFirstChild("Gun") or LP.Backpack:FindFirstChild("Crossbow") end152 return g153end154155local function GetKnifeTool()156 local c = Char(LP)157 for _, v in pairs(c and c:GetChildren() or {}) do158 if v:IsA("Tool") and v.Name:lower() ~= "gun" and v.Name:lower() ~= "spanner" then return v end159 end160 for _, v in pairs(LP.Backpack:GetChildren()) do161 if v:IsA("Tool") and v.Name:lower() ~= "gun" and v.Name:lower() ~= "spanner" then return v end162 end163 return nil164end165166local function Equip(tool)167 if not tool then return end168 local hum = Human(LP)169 if hum then pcall(function() hum:EquipTool(tool) end) end170end171172local function ShootGun()173 local gun = GetGunTool()174 if gun then175 Equip(gun)176 pcall(function() gun:Activate() end)177 for _, c in pairs(gun:GetChildren()) do178 if c:IsA("RemoteEvent") then pcall(function() c:FireServer() end) end179 end180 end181end182183local function GrabGun()184 local items = FindItems("gun")185 if #items > 0 then186 TpTo(ItemPos(items[1]))187 task.wait(0.25)188 for _, v in pairs(items) do189 local t = v:IsA("Tool") and v or v:FindFirstChildOfClass("Tool")190 if t then pcall(function() t.Parent = LP.Backpack end) end191 end192 end193end194195local function GrabSpanner()196 local items = FindItems("spanner")197 if #items > 0 then198 TpTo(ItemPos(items[1]))199 task.wait(0.25)200 for _, v in pairs(items) do201 local t = v:IsA("Tool") and v or v:FindFirstChildOfClass("Tool")202 if t then pcall(function() t.Parent = LP.Backpack end) end203 end204 end205end206207local function KillMurderer()208 local m = GetMurderer()209 if not m then return end210 AimAt(m)211 if S.TeleportKill or S.KillRange > 999 then TpTo(HRP(m).Position) end212 local gun = GetGunTool()213 if gun then214 ShootGun()215 else216 local knife = GetKnifeTool()217 if knife then218 Equip(knife)219 task.wait(0.15)220 pcall(function() knife:Activate() end)221 else222 GrabGun()223 end224 end225end226227-- ══════════ FLY ══════════228local flyActive = false229local flyBV, flyBG230local function ToggleFly(on)231 flyActive = on232 S.Fly = on233 local hrp = HRP(LP)234 if on and hrp then235 flyBV = Instance.new("BodyVelocity"); flyBV.MaxForce = Vector3.new(9e9, 9e9, 9e9); flyBV.Parent = hrp236 flyBG = Instance.new("BodyGyro"); flyBG.MaxTorque = Vector3.new(9e9, 9e9, 9e9); flyBG.Parent = hrp237 elseif flyBV then238 pcall(function() flyBV:Destroy() end); flyBV = nil239 pcall(function() flyBG:Destroy() end); flyBG = nil240 end241end242243RunService.RenderStepped:Connect(function()244 if flyActive and HRP(LP) and Camera then245 local hrp = HRP(LP)246 local dir = Vector3.new()247 if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + Camera.CFrame.LookVector end248 if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - Camera.CFrame.LookVector end249 if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - Camera.CFrame.RightVector end250 if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + Camera.CFrame.RightVector end251 if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0, 1, 0) end252 if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir = dir - Vector3.new(0, 1, 0) end253 dir = dir.Unit * S.FlySpeed254 flyBV.Velocity = dir255 flyBG.CFrame = Camera.CFrame256 end257end)258259-- ══════════ LOOP: AIMBOT ══════════260RunService.RenderStepped:Connect(function()261 if S.Aimbot then262 local m = GetMurderer()263 if m then264 local c = Char(m)265 local part = S.AimPart == "Head" and c and c:FindFirstChild("Head") or HRP(m)266 if part then267 local sp, on = Camera:WorldToScreenPoint(part.Position)268 if on then269 local center = Camera.ViewportSize / 2270 local dist = (Vector2.new(sp.X, sp.Y) - center).Magnitude271 if dist <= S.FOV then AimAt(m) end272 end273 end274 end275 end276end)277278-- ══════════ LOOP: AUTO SHOOT / KILL ══════════279task.spawn(function()280 while task.wait(S.ShootDelay) do281 local m = GetMurderer()282 if m and Human(m) and Human(m).Health > 0 then283 if S.AutoShoot and GetGunTool() then ShootGun() end284 if S.KillOnSight and GetGunTool() then ShootGun() end285 if S.AutoKill then KillMurderer() end286 if S.KillAura and HRP(m) and HRP(LP) then287 if (HRP(m).Position - HRP(LP).Position).Magnitude <= S.KillRange then KillMurderer() end288 end289 if S.AutoWin then290 local gun = GetGunTool()291 if gun then AimAt(m); ShootGun() else GrabGun() end292 end293 end294 end295end)296297-- ══════════ LOOP: FARM / ITEMS ══════════298task.spawn(function()299 while task.wait(S.LoopDelay) do300 if S.AutoGrabGun and not GetGunTool() then GrabGun() end301 if S.AutoGrabSpanner then GrabSpanner() end302 if S.AutoEquipGun and GetGunTool() then Equip(GetGunTool()) end303 if S.CrossbowMode then304 local cb = LP.Backpack:FindFirstChild("Crossbow") or (Char(LP) and Char(LP):FindFirstChild("Crossbow"))305 if cb then Equip(cb) end306 end307 if S.AutoCollect then308 local coins = FindItems("coin")309 if #coins > 0 then310 TpTo(ItemPos(coins[1]))311 task.wait(0.2)312 end313 end314 if S.SmartMode and GetRole(LP) == "Innocent" and S.AutoCollect then315 local coins = FindItems("coin")316 if #coins > 0 then TpTo(ItemPos(coins[1])) end317 end318 end319end)320321-- ══════════ LOOP: COIN MAGNET ══════════322task.spawn(function()323 while task.wait(0.1) do324 if S.CoinMagnet and HRP(LP) then325 local hrp = HRP(LP)326 for _, coin in pairs(FindItems("coin")) do327 if (ItemPos(coin) - hrp.Position).Magnitude <= S.MagnetRadius then328 pcall(function() coin:PivotTo(CFrame.new(hrp.Position + Vector3.new(0, 2, 0))) end)329 end330 end331 end332 end333end)334335-- ══════════ LOOP: MOVEMENT / MISC ══════════336RunService.Stepped:Connect(function()337 local hum = Human(LP)338 if hum then339 if hum.WalkSpeed ~= S.WalkSpeed then hum.WalkSpeed = S.WalkSpeed end340 if hum.JumpPower ~= S.JumpPower then hum.JumpPower = S.JumpPower end341 end342 if S.NoClip and Char(LP) then343 for _, v in pairs(Char(LP):GetDescendants()) do344 if v:IsA("BasePart") and v.CanCollide then v.CanCollide = false end345 end346 end347 if S.CameraFOV and Camera and Camera.FieldOfView ~= S.CameraFOV then Camera.FieldOfView = S.CameraFOV end348end)349350UserInputService.JumpRequest:Connect(function()351 if S.InfiniteJump and Human(LP) then352 pcall(function() Human(LP):ChangeState(Enum.HumanoidStateType.Jumping) end)353 end354end)355356-- ══════════ LOOP: ANTI AFK / RESPAWN ══════════357task.spawn(function()358 while task.wait(30) do359 if S.AntiAfk then360 pcall(function()361 VirtualUser:CaptureController()362 VirtualUser:Button2Down(Vector2.new(0, 0))363 task.wait(0.1)364 VirtualUser:Button2Up(Vector2.new(0, 0))365 end)366 end367 if S.AutoRespawn and Human(LP) and Human(LP).Health <= 0 then368 pcall(function() LP:LoadCharacter() end)369 end370 end371end)372373-- ══════════ VISUALS: FULLBRIGHT / FOG / RAINBOW ══════════374task.spawn(function()375 local hue = 0376 while task.wait(0.05) do377 if S.Fullbright then378 Lighting.Ambient = Color3.fromRGB(200, 200, 200)379 Lighting.Brightness = 2380 Lighting.ClockTime = 14381 Lighting.OutdoorAmbient = Color3.fromRGB(180, 180, 180)382 end383 if S.NoFog then384 Lighting.FogEnd = 100000385 Lighting.FogStart = 100000386 end387 if S.RainbowLight then388 hue = (hue + 0.002) % 1389 Lighting.Ambient = Color3.fromHSV(hue, 0.4, 1)390 Lighting.OutdoorAmbient = Color3.fromHSV(hue, 0.4, 1)391 end392 if S.RainbowUI then393 pcall(function()394 if OrionLib and OrionLib.Theme then395 OrionLib.Theme.Background = Color3.fromHSV(hue, 0.5, 0.15)396 OrionLib.Theme.Main = Color3.fromHSV(hue, 0.7, 0.25)397 end398 end)399 end400 end401end)402403-- ══════════ DRAWINGS: FOV CIRCLE + CROSSHAIR ══════════404local fovCircle = Drawing.new("Circle"); fovCircle.Thickness = 2; fovCircle.Radius = S.FOV; fovCircle.Color = S.Accent; fovCircle.Visible = false405local xhairH = Drawing.new("Line"); xhairH.Thickness = 2; xhairH.Color = Color3.new(1, 0, 0); xhairH.Visible = false406local xhairV = Drawing.new("Line"); xhairV.Thickness = 2; xhairV.Color = Color3.new(1, 0, 0); xhairV.Visible = false407408RunService.RenderStepped:Connect(function()409 local center = Camera.ViewportSize / 2410 fovCircle.Visible = S.ShowFOVCircle and S.Aimbot411 fovCircle.Position = center412 fovCircle.Radius = S.FOV413 fovCircle.Color = S.Accent414 xhairH.Visible = S.Crosshair; xhairH.From = Vector2.new(center.X - 10, center.Y); xhairH.To = Vector2.new(center.X + 10, center.Y)415 xhairV.Visible = S.Crosshair; xhairV.From = Vector2.new(center.X, center.Y - 10); xhairV.To = Vector2.new(center.X, center.Y + 10)416end)417418-- ══════════ ESP: PLAYERS ══════════419local espObjs = {}420local function GetESP(p)421 if not espObjs[p] then422 local e = {}423 e.box = Drawing.new("Square"); e.box.Thickness = 2; e.box.Filled = false424 e.name = Drawing.new("Text"); e.name.Center = true; e.name.Size = 14; e.name.Outline = true425 e.tracer = Drawing.new("Line"); e.tracer.Thickness = 1426 espObjs[p] = e427 end428 return espObjs[p]429end430431local function UpdatePlayerESP(p, color, show)432 local e = GetESP(p)433 local hrp = HRP(p)434 local hum = Human(p)435 if not (hrp and hum and hum.Health > 0) then436 e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false437 return438 end439 local pos, on = Camera:WorldToScreenPoint(hrp.Position)440 if not on then441 e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false442 return443 end444 local scale = 500 / (Camera.CFrame.Position - hrp.Position).Magnitude445 local h = math.clamp(3.5 * scale, 10, 500)446 local w = h * 0.65447 e.box.Visible = S.ESP_Box and show448 e.box.Color = color449 e.box.Position = Vector2.new(pos.X - w / 2, pos.Y - h)450 e.box.Size = Vector2.new(w, h)451 e.name.Visible = S.ESP_Name and show452 e.name.Color = color453 e.name.Position = Vector2.new(pos.X, pos.Y - h - 14)454 e.name.Text = p.Name .. " [" .. GetRole(p) .. "]"455 e.tracer.Visible = S.ESP_Tracer and show456 e.tracer.Color = color457 e.tracer.From = Camera.ViewportSize / 2458 e.tracer.To = Vector2.new(pos.X, pos.Y)459end460461task.spawn(function()462 while task.wait() do463 for _, p in pairs(Players:GetPlayers()) do464 if p ~= LP then465 local role = GetRole(p)466 local show = false467 local col = Color3.new(1, 1, 1)468 if role == "Murderer" and S.ESP_M then show = true; col = Color3.fromRGB(255, 30, 30) end469 if role == "Sheriff" and S.ESP_S then show = true; col = Color3.fromRGB(30, 150, 255) end470 if role == "Innocent" and S.ESP_I then show = true; col = Color3.fromRGB(120, 255, 120) end471 UpdatePlayerESP(p, col, show)472 end473 end474 end475end)476477-- ══════════ ESP: ITEMS ══════════478local itemESP = {}479local function GetItemESP(i)480 if not itemESP[i] then481 itemESP[i] = Drawing.new("Text")482 itemESP[i].Center = true483 itemESP[i].Size = 13484 itemESP[i].Outline = true485 end486 return itemESP[i]487end488489task.spawn(function()490 local idx = 0491 while task.wait(0.1) do492 local configs = {493 {enabled = S.ESP_Coin, pattern = "coin", label = "🪙 COIN", color = Color3.fromRGB(255, 215, 0)},494 {enabled = S.ESP_Gun, pattern = "gun", label = "🔫 GUN", color = Color3.fromRGB(255, 160, 0)},495 {enabled = S.ESP_Spanner, pattern = "spanner", label = "🔧 SPANNER", color = Color3.fromRGB(0, 200, 255)},496 {enabled = S.ESP_Crossbow, pattern = "crossbow", label = "🏹 CROSSBOW", color = Color3.fromRGB(200, 0, 255)},497 }498 idx = 0499 for _, cfg in pairs(configs) do500 if cfg.enabled then501 local items = FindItems(cfg.pattern)502 for i = 1, math.min(#items, 8) do503 idx = idx + 1504 local e = GetItemESP(idx)505 local pos, on = Camera:WorldToScreenPoint(ItemPos(items[i]))506 if on then507 e.Visible = true508 e.Position = Vector2.new(pos.X, pos.Y - 20)509 e.Text = cfg.label510 e.Color = cfg.color511 else512 e.Visible = false513 end514 end515 end516 end517 for i = idx + 1, #itemESP do518 if itemESP[i] then itemESP[i].Visible = false end519 end520 end521end)522523-- ══════════ UI ══════════524local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))()525local Window = OrionLib:MakeWindow({526 Name = "🔪 MM2 DELTA HUB 🔫 — KEYLESS",527 HidePremium = false,528 SaveConfig = true,529 ConfigFolder = "MM2DeltaHub"530})531532-- ─── TAB 1: MAIN ───533local T1 = Window:MakeTab({Name = "Main", Icon = "rbxassetid://4483345998", PremiumOnly = false})534T1:AddParagraph("Welcome", "Keyless MM2 script for Delta. 22 tabs, no key system, no gated content. Load and go.")535T1:AddLabel("✅ STATUS: KEYLESS | LOADED")536T1:AddButton({Name = "Destroy UI", Callback = function() OrionLib:Destroy() end})537T1:AddButton({Name = "Rejoin Server", Callback = function()538 pcall(function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, LP) end)539end})540541-- ─── TAB 2: AIMBOT ───542local T2 = Window:MakeTab({Name = "Aimbot", Icon = "rbxassetid://4483345998", PremiumOnly = false})543T2:AddToggle({Name = "Aimbot", Default = S.Aimbot, Callback = function(v) S.Aimbot = v end})544T2:AddSlider({Name = "FOV (degrees)", Min = 10, Max = 180, Default = S.FOV, Increment = 1, Callback = function(v) S.FOV = v end})545T2:AddSlider({Name = "Smoothness", Min = 1, Max = 100, Default = S.Smoothness * 100, Increment = 1, Callback = function(v) S.Smoothness = v / 100 end})546T2:AddToggle({Name = "Show FOV Circle", Default = S.ShowFOVCircle, Callback = function(v) S.ShowFOVCircle = v end})547T2:AddDropdown({Name = "Aim Part", Default = S.AimPart, Options = {"Head", "HumanoidRootPart"}, Callback = function(v) S.AimPart = v end})548T2:AddToggle({Name = "Aim Only With Gun", Default = false, Callback = function(v) S.AimOnlyGun = v end})549550-- ─── TAB 3: COMBAT ───551local T3 = Window:MakeTab({Name = "Combat", Icon = "rbxassetid://4483345998", PremiumOnly = false})552T3:AddToggle({Name = "Auto Shoot Murderer", Default = S.AutoShoot, Callback = function(v) S.AutoShoot = v end})553T3:AddSlider({Name = "Shoot Delay (s)", Min = 1, Max = 20, Default = S.ShootDelay * 10, Increment = 1, Callback = function(v) S.ShootDelay = v / 10 end})554T3:AddButton({Name = "🔫 SHOOT NOW", Callback = function()555 local m = GetMurderer()556 if m then AimAt(m) end557 ShootGun()558end})559T3:AddToggle({Name = "Auto Knife (when no gun)", Default = S.AutoKnife, Callback = function(v) S.AutoKnife = v end})560T3:AddToggle({Name = "Kill On Sight", Default = S.KillOnSight, Callback = function(v) S.KillOnSight = v end})561562-- ─── TAB 4: ESP ───563local T4 = Window:MakeTab({Name = "ESP", Icon = "rbxassetid://4483345998", PremiumOnly = false})564T4:AddToggle({Name = "ESP — Murderer (red)", Default = S.ESP_M, Callback = function(v) S.ESP_M = v end})565T4:AddToggle({Name = "ESP — Sheriff (blue)", Default = S.ESP_S, Callback = function(v) S.ESP_S = v end})566T4:AddToggle({Name = "ESP — Innocents (green)", Default = S.ESP_I, Callback = function(v) S.ESP_I = v end})567T4:AddSection({Name = "ESP Style"})568T4:AddToggle({Name = "Boxes", Default = S.ESP_Box, Callback = function(v) S.ESP_Box = v end})569T4:AddToggle({Name = "Names + Role", Default = S.ESP_Name, Callback = function(v) S.ESP_Name = v end})570T4:AddToggle({Name = "Tracers", Default = S.ESP_Tracer, Callback = function(v) S.ESP_Tracer = v end})571T4:AddSection({Name = "Item ESP"})572T4:AddToggle({Name = "Coins", Default = S.ESP_Coin, Callback = function(v) S.ESP_Coin = v end})573T4:AddToggle({Name = "Gun", Default = S.ESP_Gun, Callback = function(v) S.ESP_Gun = v end})574T4:AddToggle({Name = "Spanner", Default = S.ESP_Spanner, Callback = function(v) S.ESP_Spanner = v end})575T4:AddToggle({Name = "Crossbow", Default = S.ESP_Crossbow, Callback = function(v) S.ESP_Crossbow = v end})576577-- ─── TAB 5: MOVEMENT ───578local T5 = Window:MakeTab({Name = "Movement", Icon = "rbxassetid://4483345998", PremiumOnly = false})579T5:AddSlider({Name = "WalkSpeed", Min = 16, Max = 250, Default = S.WalkSpeed, Increment = 1, Callback = function(v) S.WalkSpeed = v end})580T5:AddSlider({Name = "JumpPower", Min = 50, Max = 500, Default = S.JumpPower, Increment = 10, Callback = function(v) S.JumpPower = v end})581T5:AddToggle({Name = "Noclip", Default = S.NoClip, Callback = function(v) S.NoClip = v end})582T5:AddToggle({Name = "Fly (WASD + Space/Ctrl)", Default = S.Fly, Callback = function(v) ToggleFly(v) end})583T5:AddSlider({Name = "Fly Speed", Min = 10, Max = 300, Default = S.FlySpeed, Increment = 5, Callback = function(v) S.FlySpeed = v end})584T5:AddToggle({Name = "Infinite Jump", Default = S.InfiniteJump, Callback = function(v) S.InfiniteJump = v end})585586-- ─── TAB 6: FARM ───587local T6 = Window:MakeTab({Name = "Farm", Icon = "rbxassetid://4483345998", PremiumOnly = false})588T6:AddToggle({Name = "Auto Collect Coins", Default = S.AutoCollect, Callback = function(v) S.AutoCollect = v end})589T6:AddToggle({Name = "Coin Magnet", Default = S.CoinMagnet, Callback = function(v) S.CoinMagnet = v end})590T6:AddSlider({Name = "Magnet Radius", Min = 10, Max = 200, Default = S.MagnetRadius, Increment = 5, Callback = function(v) S.MagnetRadius = v end})591T6:AddButton({Name = "Collect All Coins Now", Callback = function()592 for _, coin in pairs(FindItems("coin")) do593 TpTo(ItemPos(coin))594 task.wait(0.15)595 end596end})597T6:AddToggle({Name = "Smart Farm (only as Innocent)", Default = S.SmartMode, Callback = function(v) S.SmartMode = v end})598599-- ─── TAB 7: GUNS ───600local T7 = Window:MakeTab({Name = "Guns", Icon = "rbxassetid://4483345998", PremiumOnly = false})601T7:AddToggle({Name = "Auto Grab Gun (teleport to drop)", Default = S.AutoGrabGun, Callback = function(v) S.AutoGrabGun = v end})602T7:AddToggle({Name = "Auto Equip Gun", Default = S.AutoEquipGun, Callback = function(v) S.AutoEquipGun = v end})603T7:AddButton({Name = "Grab Gun Now", Callback = GrabGun})604T7:AddButton({Name = "Equip Gun", Callback = function() Equip(GetGunTool()) end})605T7:AddToggle({Name = "Crossbow Mode (auto-equip crossbow)", Default = S.CrossbowMode, Callback = function(v) S.CrossbowMode = v end})606T7:AddToggle({Name = "Keep Gun Equipped", Default = false, Callback = function(v) S.KeepGun = v end})607608-- ─── TAB 8: ITEMS ───609local T8 = Window:MakeTab({Name = "Items", Icon = "rbxassetid://4483345998", PremiumOnly = false})610T8:AddToggle({Name = "Auto Grab Spanner", Default = S.AutoGrabSpanner, Callback = function(v) S.AutoGrabSpanner = v end})611T8:AddToggle({Name = "Auto Grab Knife", Default = S.AutoGrabKnife, Callback = function(v) S.AutoGrabKnife = v end})612T8:AddButton({Name = "Grab Spanner Now", Callback = GrabSpanner})613T8:AddButton({Name = "Drop Current Tool", Callback = function()614 local c = Char(LP)615 if c then616 for _, v in pairs(c:GetChildren()) do617 if v:IsA("Tool") then pcall(function() v.Parent = Workspace end) end618 end619 end620end})621T8:AddSlider({Name = "Item Loop Delay (s)", Min = 1, Max = 30, Default = S.LoopDelay * 10, Increment = 1, Callback = function(v) S.LoopDelay = v / 10 end})622623-- ─── TAB 9: VISUALS ───624local T9 = Window:MakeTab({Name = "Visuals", Icon = "rbxassetid://4483345998", PremiumOnly = false})625T9:AddToggle({Name = "Fullbright", Default = S.Fullbright, Callback = function(v) S.Fullbright = v end})626T9:AddToggle({Name = "No Fog", Default = S.NoFog, Callback = function(v) S.NoFog = v end})627T9:AddSlider({Name = "Camera FOV", Min = 70, Max = 120, Default = S.CameraFOV, Increment = 1, Callback = function(v) S.CameraFOV = v end})628T9:AddToggle({Name = "Crosshair", Default = S.Crosshair, Callback = function(v) S.Crosshair = v end})629T9:AddToggle({Name = "Rainbow Lighting", Default = S.RainbowLight, Callback = function(v) S.RainbowLight = v end})630T9:AddColorpicker({Name = "Accent Color", Default = S.Accent, Callback = function(v) S.Accent = v end})631632-- ─── TAB 10: TELEPORTS ───633local T10 = Window:MakeTab({Name = "Teleports", Icon = "rbxassetid://4483345998", PremiumOnly = false})634T10:AddButton({Name = "Teleport to Murderer", Callback = function() local m = GetMurderer(); if m and HRP(m) then TpTo(HRP(m).Position) end end})635T10:AddButton({Name = "Teleport to Coin", Callback = function() local c = FindItems("coin"); if #c > 0 then TpTo(ItemPos(c[1])) end end})636T10:AddButton({Name = "Teleport to Gun", Callback = function() local g = FindItems("gun"); if #g > 0 then TpTo(ItemPos(g[1])) end end})637T10:AddButton({Name = "Teleport to Spanner", Callback = function() local s = FindItems("spanner"); if #s > 0 then TpTo(ItemPos(s[1])) end end})638T10:AddButton({Name = "Teleport to Crossbow", Callback = function() local x = FindItems("crossbow"); if #x > 0 then TpTo(ItemPos(x[1])) end end})639T10:AddButton({Name = "Teleport to Random Player", Callback = function()640 local ps = Players:GetPlayers()641 local r = ps[math.random(1, #ps)]642 if r and HRP(r) then TpTo(HRP(r).Position) end643end})644645-- ─── TAB 11: SAFETY ───646local T11 = Window:MakeTab({Name = "Safety", Icon = "rbxassetid://4483345998", PremiumOnly = false})647T11:AddToggle({Name = "Anti AFK", Default = S.AntiAfk, Callback = function(v) S.AntiAfk = v end})648T11:AddToggle({Name = "Auto Respawn", Default = S.AutoRespawn, Callback = function(v) S.AutoRespawn = v end})649T11:AddToggle({Name = "Anti Fall Damage", Default = S.AntiFall, Callback = function(v) S.AntiFall = v end})650T11:AddButton({Name = "🚨 PANIC — Disable Everything", Callback = function()651 for k, _ in pairs(S) do652 if type(S[k]) == "boolean" then S[k] = false end653 end654 ToggleFly(false)655 pcall(function()656 for _, e in pairs(espObjs) do e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false end657 for _, e in pairs(itemESP) do e.Visible = false end658 end)659 OrionLib:MakeNotification({Name = "Panic", Content = "All features disabled", Time = 3})660end})661662-- ─── TAB 12: PLAYER ───663local roleLabel = T1664local T12 = Window:MakeTab({Name = "Player", Icon = "rbxassetid://4483345998", PremiumOnly = false})665local myRole = T12:AddLabel({Name = "Role: ..."})666T12:AddButton({Name = "Refresh Role", Callback = function() myRole:Set("Role: " .. GetRole(LP)) end})667T12:AddToggle({Name = "Speed Boost After Kill", Default = false, Callback = function(v) S.SpeedBoost = v end})668T12:AddSlider({Name = "Boost Speed", Min = 16, Max = 250, Default = 50, Increment = 1, Callback = function(v) S.BoostSpeed = v end})669T12:AddToggle({Name = "Show Role Above My Head", Default = false, Callback = function(v) S.ShowMyRole = v end})670671task.spawn(function()672 while task.wait(1) do673 pcall(function() myRole:Set("Role: " .. GetRole(LP)) end)674 end675end)676677-- ─── TAB 13: WORLD ───678local T13 = Window:MakeTab({Name = "World", Icon = "rbxassetid://4483345998", PremiumOnly = false})679T13:AddToggle({Name = "Disable Shadows", Default = false, Callback = function(v)680 if v then681 pcall(function()682 for _, s in pairs(Lighting:GetDescendants()) do683 if s:IsA("Shadow") then s.Enabled = false end684 end685 end)686 end687end})688T13:AddSlider({Name = "Ambient Brightness", Min = 0, Max = 3, Default = 1, Increment = 0.1, Callback = function(v) Lighting.Brightness = v end})689T13:AddButton({Name = "Set Time: Day", Callback = function() Lighting.ClockTime = 14 end})690T13:AddButton({Name = "Set Time: Night", Callback = function() Lighting.ClockTime = 0 end})691T13:AddButton({Name = "Set Time: Sunset", Callback = function() Lighting.ClockTime = 18 end})692693-- ─── TAB 14: KILL ───694local T14 = Window:MakeTab({Name = "Kill", Icon = "rbxassetid://4483345998", PremiumOnly = false})695T14:AddToggle({Name = "Auto Kill Murderer", Default = S.AutoKill, Callback = function(v) S.AutoKill = v end})696T14:AddButton({Name = "💀 Kill Murderer NOW", Callback = KillMurderer})697T14:AddSlider({Name = "Kill Range", Min = 5, Max = 200, Default = S.KillRange, Increment = 1, Callback = function(v) S.KillRange = v end})698T14:AddToggle({Name = "Teleport Kill (always teleport to target)", Default = S.TeleportKill, Callback = function(v) S.TeleportKill = v end})699T14:AddToggle({Name = "Kill Aura (teleport + hit in range)", Default = S.KillAura, Callback = function(v) S.KillAura = v end})700701-- ─── TAB 15: MISC ───702local T15 = Window:MakeTab({Name = "Misc", Icon = "rbxassetid://4483345998", PremiumOnly = false})703T15:AddButton({Name = "Server Hop", Callback = function()704 pcall(function() game:GetService("TeleportService"):Teleport(game.PlaceId) end)705end})706T15:AddToggle({Name = "Auto Rejoin on Death", Default = false, Callback = function(v) S.AutoRejoin = v end})707T15:AddToggle({Name = "Sprint with Shift (x2 speed)", Default = false, Callback = function(v) S.Sprint = v end})708T15:AddToggle({Name = "No Walk Animation Glitch Fix", Default = false, Callback = function(v) S.FixAnim = v end})709710RunService.RenderStepped:Connect(function()711 if S.Sprint and UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and Human(LP) then712 Human(LP).WalkSpeed = S.WalkSpeed * 2713 end714end)715716-- ─── TAB 16: SETTINGS ───717local T16 = Window:MakeTab({Name = "Settings", Icon = "rbxassetid://4483345998", PremiumOnly = false})718T16:AddParagraph("Config", "Orion auto-saves settings on leave. You can also save/load manually.")719T16:AddButton({Name = "💾 Save Config", Callback = function()720 pcall(function()721 writefile("MM2DeltaHub_Config.json", HttpService:JSONEncode(S))722 OrionLib:MakeNotification({Name = "Saved", Content = "Config saved to file", Time = 3})723 end)724end})725T16:AddButton({Name = "📂 Load Config", Callback = function()726 pcall(function()727 local data = HttpService:JSONDecode(readfile("MM2DeltaHub_Config.json"))728 for k, v in pairs(data) do S[k] = v end729 OrionLib:MakeNotification({Name = "Loaded", Content = "Config loaded — restart script for full effect", Time = 3})730 end)731end})732T16:AddButton({Name = "Reset Config", Callback = function()733 pcall(function() writefile("MM2DeltaHub_Config.json", "{}") end)734 OrionLib:MakeNotification({Name = "Reset", Content = "Config cleared", Time = 3})735end})736T16:AddToggle({Name = "Debug Logs", Default = S.DebugLogs, Callback = function(v) S.DebugLogs = v end})737738-- ─── TAB 17: INFO ───739local T17 = Window:MakeTab({Name = "Info", Icon = "rbxassetid://4483345998", PremiumOnly = false})740T17:AddParagraph("MM2 DELTA HUB", "Version 2.0 | Built with Orion Library")741T17:AddLabel("🔑 KEYLESS — no key, no linkvertise, no gates")742T17:AddLabel("⚡ Delta / Android / iOS compatible")743T17:AddLabel("🛠️ For educational/testing use only")744T17:AddButton({Name = "Copy Loadstring Line", Callback = function()745 pcall(function() setclipboard('loadstring(game:HttpGet("https://raw.githubusercontent.com/shlexware/Orion/main/source"))()') end)746 OrionLib:MakeNotification({Name = "Copied", Content = "Orion loader line copied", Time = 3})747end})748749-- ─── TAB 18: CONTROLS / KEYBINDS ───750local T18 = Window:MakeTab({Name = "Controls", Icon = "rbxassetid://4483345998", PremiumOnly = false})751T18:AddKeybind({Name = "Toggle Aimbot", Default = Enum.KeyCode.Q, Callback = function()752 S.Aimbot = not S.Aimbot753 OrionLib:MakeNotification({Name = "Aimbot", Content = tostring(S.Aimbot), Time = 1.5})754end})755T18:AddKeybind({Name = "SHOOT", Default = Enum.KeyCode.F, Callback = function()756 local m = GetMurderer(); if m then AimAt(m) end757 ShootGun()758end})759T18:AddKeybind({Name = "Teleport to Murderer", Default = Enum.KeyCode.T, Callback = function()760 local m = GetMurderer(); if m and HRP(m) then TpTo(HRP(m).Position) end761end})762T18:AddKeybind({Name = "Toggle Fly", Default = Enum.KeyCode.X, Callback = function()763 ToggleFly(not flyActive)764end})765766-- ─── TAB 19: WEAPONS ───767local T19 = Window:MakeTab({Name = "Weapons", Icon = "rbxassetid://4483345998", PremiumOnly = false})768T19:AddDropdown({Name = "Weapon Mode", Default = "Auto", Options = {"Auto", "Gun", "Knife", "Crossbow"}, Callback = function(v)769 S.WeaponMode = v770 if v == "Gun" then Equip(GetGunTool()) end771 if v == "Crossbow" then772 local cb = LP.Backpack:FindFirstChild("Crossbow") or (Char(LP) and Char(LP):FindFirstChild("Crossbow"))773 if cb then Equip(cb) end774 end775 if v == "Knife" then Equip(GetKnifeTool()) end776end})777T19:AddButton({Name = "Equip Selected", Callback = function()778 if S.WeaponMode == "Gun" then Equip(GetGunTool()) end779 if S.WeaponMode == "Knife" then Equip(GetKnifeTool()) end780 if S.WeaponMode == "Crossbow" then781 local cb = LP.Backpack:FindFirstChild("Crossbow") or (Char(LP) and Char(LP):FindFirstChild("Crossbow"))782 if cb then Equip(cb) end783 end784end})785T19:AddToggle({Name = "Auto Switch to Gun on Grab", Default = false, Callback = function(v) S.AutoSwitchGun = v end})786787-- ─── TAB 20: AUTO ───788local T20 = Window:MakeTab({Name = "Auto", Icon = "rbxassetid://4483345998", PremiumOnly = false})789T20:AddToggle({Name = "Auto Win Round (aim + shoot murderer)", Default = S.AutoWin, Callback = function(v) S.AutoWin = v end})790T20:AddToggle({Name = "Auto Loot (gun + coins)", Default = false, Callback = function(v)791 S.AutoLoot = v792 if v then S.AutoGrabGun = true; S.AutoCollect = true end793end})794T20:AddToggle({Name = "Auto Grab Everything (gun + spanner + coins)", Default = false, Callback = function(v)795 if v then S.AutoGrabGun = true; S.AutoGrabSpanner = true; S.AutoCollect = true end796end})797T20:AddSlider({Name = "Master Loop Delay (s)", Min = 1, Max = 30, Default = S.LoopDelay * 10, Increment = 1, Callback = function(v) S.LoopDelay = v / 10 end})798799-- ─── TAB 21: DEBUG ───800local T21 = Window:MakeTab({Name = "Debug", Icon = "rbxassetid://4483345998", PremiumOnly = false})801T21:AddButton({Name = "Print Murderer", Callback = function()802 local m = GetMurderer(); print("[MM2HUB] Murderer:", m and m.Name or "none found")803end})804T21:AddButton({Name = "Print My Role", Callback = function() print("[MM2HUB] Role:", GetRole(LP)) end})805T21:AddButton({Name = "Print Coin Count", Callback = function() print("[MM2HUB] Coins:", #FindItems("coin")) end})806T21:AddButton({Name = "Clear All ESP", Callback = function()807 pcall(function()808 for _, e in pairs(espObjs) do e.box.Visible = false; e.name.Visible = false; e.tracer.Visible = false end809 for _, e in pairs(itemESP) do e.Visible = false end810 end)811end})812813-- ─── TAB 22: THEME ───814local T22 = Window:MakeTab({Name = "Theme", Icon = "rbxassetid://4483345998", PremiumOnly = false})815T22:AddToggle({Name = "Rainbow UI", Default = S.RainbowUI, Callback = function(v) S.RainbowUI = v end})816T22:AddColorpicker({Name = "UI Background", Default = Color3.fromRGB(25, 25, 35), Callback = function(v)817 pcall(function()818 if OrionLib and OrionLib.Theme then819 OrionLib.Theme.Background = v820 OrionLib.Theme.Main = v821 OrionLib.Theme.Title = v822 end823 end)824end})825T22:AddColorpicker({Name = "UI Accent", Default = S.Accent, Callback = function(v)826 S.Accent = v827 pcall(function()828 if OrionLib and OrionLib.Theme then OrionLib.Theme.Accent = v end829 end)830end})831832-- ══════════ INIT ══════════833OrionLib:Init()834print("✅ [MM2HUB] Loaded — KEYLESS | 22 tabs active")835OrionLib:MakeNotification({Name = "MM2 DELTA HUB", Content = "Loaded keyless — enjoy 🔪🔫", Time = 5})
Murder Mystery 2By Nikilis




Comments · …
Loading comments…