Browse
Script Types
Tools
Community


MM2 script, I don’t know what to put to be honest.
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})by Nikilis · 12 scripts · 23.2K views
Comments
Loading comments…