-- M Script | ENTRENCHED WW1 | FINAL BUILD -- Silent Aim + No Recoil + Scope Assist + ESP + Hitbox local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local ReplicatedStorage = game:GetService("ReplicatedStorage") local UserInputService = game:GetService("UserInputService") -- STATE local status = { Active = true, SilentAim = true, NoRecoil = true, ScopeAssist = true, Triggerbot = true, ESP = true, Hitbox = true, FPS = true } local fovRadius = 250 local scopeFOV = 120 local shootDelay = 0.12 local lastShoot = 0 local fpsValues = {} local drawings = {} local isScoped = false -- ========== BYPASS ========== local function bypass(func) local s, e = pcall(func) if not s then warn("Bypass:", e) end return s end -- ========== TEAM CHECK ========== local function isEnemy(p) if p == LocalPlayer then return false end local lt = LocalPlayer.Team local tt = p.Team if not lt or not tt then return true end return lt.Name ~= tt.Name end -- ========== VISIBILITY ========== local function isVisible(part) local origin = Camera.CFrame.Position local dir = (part.Position - origin).Unit local ray = Ray.new(origin, dir * (part.Position - origin).Magnitude) local hit = workspace:FindPartOnRay(ray, LocalPlayer.Character) if hit then if hit:IsDescendantOf(part.Parent) then return true end if hit:IsDescendantOf(LocalPlayer.Character) then return true end return false end return true end -- ========== SCOPE DETECTION ========== local function checkScope() local camera = workspace.CurrentCamera if camera.FieldOfView < 70 then isScoped = true else isScoped = false end return isScoped end -- ========== SILENT AIM + SCOPE ASSIST ========== local function getSilentTarget() local closest = nil local bestDist = fovRadius local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) local currentFOV = isScoped and scopeFOV or fovRadius for _, p in ipairs(Players:GetPlayers()) do if isEnemy(p) and p.Character then local head = p.Character:FindFirstChild("Head") local hum = p.Character:FindFirstChild("Humanoid") if head and hum and hum.Health > 0 then local pos, onScreen = Camera:WorldToViewportPoint(head.Position) if onScreen then local dist = (Vector2.new(pos.X, pos.Y) - center).Magnitude if dist < bestDist and isVisible(head) then bestDist = dist closest = head end end end end end return closest, bestDist end -- ========== AIM ASSIST (SCOPE ONLY) ========== local function scopeAimAssist() if not status.ScopeAssist then return end if not isScoped then return end local target, dist = getSilentTarget() if target and dist <= scopeFOV then -- Soft lock: tarik crosshair ke target local screenPos, onScreen = Camera:WorldToViewportPoint(target.Position) if onScreen then local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) local offset = Vector2.new(screenPos.X, screenPos.Y) - center local strength = math.clamp(1 - (dist / scopeFOV), 0.3, 0.9) -- Simulate mouse movement (soft aim assist) local move = offset * strength * 0.25 if move.Magnitude > 0.5 then -- Apply via mouse move simulation mousemoverel(move.X, move.Y) end end end end -- ========== NO RECOIL (ZERO SPREAD) ========== local function applyNoRecoil() if not status.NoRecoil then return end bypass(function() local tool = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool") if not tool then return end -- Scan weapon configs for _, obj in ipairs(tool:GetDescendants()) do if obj:IsA("NumberValue") then local name = string.lower(obj.Name) if name:find("recoil") or name:find("spread") or name:find("kick") then obj.Value = 0 end if name:find("accuracy") then obj.Value = 100 end if name:find("ammo") and not name:find("max") then obj.Value = 999 end end if obj:IsA("CFrameValue") and string.lower(obj.Name):find("recoil") then obj.Value = CFrame.new() end if obj:IsA("Vector3Value") and string.lower(obj.Name):find("recoil") then obj.Value = Vector3.new(0, 0, 0) end end -- Bypass weapon module if exists local weaponModule = tool:FindFirstChild("WeaponScript") if weaponModule and weaponModule:IsA("ModuleScript") then local oldGet = getfenv(weaponModule).GetRecoil if oldGet then getfenv(weaponModule).GetRecoil = function() return 0 end end end end) end -- ========== HOOK SHOOT REMOTE ========== local function hookWeapon() bypass(function() local tool = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool") if not tool then return end local shootRemote = nil for _, r in ipairs(ReplicatedStorage:GetDescendants()) do if r:IsA("RemoteEvent") and (r.Name:lower():find("shoot") or r.Name:lower():find("fire")) then shootRemote = r break end end if not shootRemote then return end local oldFire = shootRemote.FireServer shootRemote.FireServer = function(self, ...) if status.Active and status.SilentAim then local target = getSilentTarget() if target then local args = {...} if #args > 0 then if type(args[1]) == "Vector3" then args[1] = target.Position elseif type(args[1]) == "CFrame" then args[1] = CFrame.new(args[1].Position, target.Position) end end return oldFire(self, unpack(args)) end end return oldFire(self, ...) end end) end -- ========== TRIGGERBOT ========== local function isTargetInFOV() local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) local currentFOV = isScoped and scopeFOV or fovRadius for _, p in ipairs(Players:GetPlayers()) do if isEnemy(p) and p.Character then local head = p.Character:FindFirstChild("Head") local hum = p.Character:FindFirstChild("Humanoid") if head and hum and hum.Health > 0 then local pos, onScreen = Camera:WorldToViewportPoint(head.Position) if onScreen then local dist = (Vector2.new(pos.X, pos.Y) - center).Magnitude if dist <= currentFOV and isVisible(head) then return true, head end end end end end return false, nil end local function triggerbot() if not status.Triggerbot then return end local hasTarget, targetHead = isTargetInFOV() if hasTarget and targetHead then local now = tick() if now - lastShoot >= shootDelay then lastShoot = now bypass(function() local tool = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool") if tool then for _, r in ipairs(ReplicatedStorage:GetDescendants()) do if r:IsA("RemoteEvent") and (r.Name:lower():find("shoot") or r.Name:lower():find("fire")) then r:FireServer(targetHead.Position) break end end end end) end end end -- ========== HITBOX ========== local function enlargeHitboxes() if not status.Hitbox then return end bypass(function() for _, p in ipairs(Players:GetPlayers()) do if isEnemy(p) and p.Character then local head = p.Character:FindFirstChild("Head") if head then head.Size = Vector3.new(7, 7, 7) head.Transparency = 0.3 head.CanCollide = false end local torso = p.Character:FindFirstChild("UpperTorso") if torso then torso.Size = Vector3.new(6, 5, 4) torso.Transparency = 0.3 end end end end) end -- ========== ESP ========== local function updateESP() if not status.ESP then for _, p in ipairs(Players:GetPlayers()) do if p.Character then local esp = p.Character:FindFirstChild("MijusticeESP") if esp then esp:Destroy() end end end return end bypass(function() for _, p in ipairs(Players:GetPlayers()) do if isEnemy(p) and p.Character then local esp = p.Character:FindFirstChild("MijusticeESP") if not esp then esp = Instance.new("Highlight") esp.Name = "MijusticeESP" esp.FillColor = Color3.fromRGB(255, 0, 0) esp.OutlineColor = Color3.fromRGB(200, 0, 0) esp.FillTransparency = 0.5 esp.Adornee = p.Character esp.Parent = p.Character end esp.Enabled = true end end end) end -- ========== FPS ========== local function updateFPS() if not status.FPS then for _, d in pairs(drawings) do if d and d.Remove then d:Remove() end end drawings = {} return end bypass(function() local fpsText = drawings["fps"] if not fpsText then fpsText = Drawing.new("Text") fpsText.Size = 16 fpsText.Color = Color3.fromRGB(255, 0, 0) fpsText.Outline = true drawings["fps"] = fpsText end local now = tick() table.insert(fpsValues, now) while #fpsValues > 0 and fpsValues[1] < now - 1 do table.remove(fpsValues, 1) end fpsText.Text = "FPS: " .. #fpsValues fpsText.Position = Vector2.new(10, 10) fpsText.Visible = true end) end -- ========== NO RECOIL LOOP ========== spawn(function() while true do if status.Active and status.NoRecoil then applyNoRecoil() end wait(0.05) end end) -- ========== SCOPE ASSIST LOOP ========== spawn(function() while true do if status.Active and status.ScopeAssist then checkScope() scopeAimAssist() end wait(0.016) end end) -- ========== MAIN LOOPS ========== spawn(function() hookWeapon() end) spawn(function() while true do if status.Active then enlargeHitboxes() updateESP() end wait(0.2) end end) spawn(function() while true do if status.Active then triggerbot() end wait(0.05) end end) RunService.RenderStepped:Connect(function() if not status.Active then for _, d in pairs(drawings) do if d and d.Remove then d:Remove() end end drawings = {} return end updateFPS() checkScope() -- FOV Circle local circle = drawings["fov"] if not circle then circle = Drawing.new("Circle") drawings["fov"] = circle end circle.Visible = true circle.Radius = isScoped and scopeFOV or fovRadius circle.Thickness = 1.5 circle.Color = isScoped and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0) circle.Filled = false circle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) end) -- ========== UI ========== local function showNotification(msg) local gui = Instance.new("ScreenGui") gui.Name = "MijusticeNotify" gui.Parent = LocalPlayer:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 320, 0, 50) frame.Position = UDim2.new(0.5, -160, 0.85, 0) frame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) frame.BackgroundTransparency = 0.15 frame.BorderSizePixel = 0 frame.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 12) corner.Parent = frame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(255, 0, 0) stroke.Thickness = 2 stroke.Parent = frame local txt = Instance.new("TextLabel") txt.Size = UDim2.new(1, 0, 1, 0) txt.BackgroundTransparency = 1 txt.Text = msg txt.TextColor3 = Color3.fromRGB(255, 50, 50) txt.TextSize = 14 txt.Font = Enum.Font.GothamBold txt.Parent = frame wait(2.5) frame:Destroy() end local function loadingScreen() local gui = Instance.new("ScreenGui") gui.Name = "MijusticeLoad" gui.Parent = LocalPlayer:WaitForChild("PlayerGui") gui.IgnoreGuiInset = true local bg = Instance.new("Frame") bg.Size = UDim2.new(1, 0, 1, 0) bg.BackgroundColor3 = Color3.fromRGB(0, 0, 0) bg.BackgroundTransparency = 0 bg.Parent = gui local text = Instance.new("TextLabel") text.Size = UDim2.new(1, 0, 1, 0) text.BackgroundTransparency = 1 text.Text = "MIJUSTICE" text.TextColor3 = Color3.fromRGB(255, 0, 0) text.TextSize = 50 text.Font = Enum.Font.GothamBlack text.Parent = bg for i = 1, 20 do text.TextTransparency = (i / 20) bg.BackgroundTransparency = (i / 20) * 0.8 wait(0.03) end bg:Destroy() end local function createToggle() local gui = Instance.new("ScreenGui") gui.Name = "MijusticeToggle" gui.Parent = LocalPlayer:WaitForChild("PlayerGui") local btn = Instance.new("ImageButton") btn.Size = UDim2.new(0, 65, 0, 65) btn.Position = UDim2.new(0.02, 0, 0.85, 0) btn.BackgroundColor3 = Color3.fromRGB(20, 20, 20) btn.BackgroundTransparency = 0.2 btn.BorderSizePixel = 0 btn.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = btn local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(255, 0, 0) stroke.Thickness = 2 stroke.Parent = btn local txt = Instance.new("TextLabel") txt.Size = UDim2.new(1, 0, 1, 0) txt.BackgroundTransparency = 1 txt.Text = "ON" txt.TextColor3 = Color3.fromRGB(255, 0, 0) txt.TextSize = 22 txt.Font = Enum.Font.GothamBold txt.Parent = btn btn.MouseButton1Click:Connect(function() status.Active = not status.Active status.SilentAim = status.Active status.NoRecoil = status.Active status.ScopeAssist = status.Active status.Triggerbot = status.Active status.ESP = status.Active status.Hitbox = status.Active status.FPS = status.Active if status.Active then txt.Text = "ON" txt.TextColor3 = Color3.fromRGB(255, 0, 0) stroke.Color = Color3.fromRGB(255, 0, 0) showNotification("MIJUSTICE | ALL FEATURES ON") else txt.Text = "OFF" txt.TextColor3 = Color3.fromRGB(150, 150, 150) stroke.Color = Color3.fromRGB(150, 150, 150) showNotification("MIJUSTICE OFF") end end) btn.TouchTap:Connect(function() btn.MouseButton1Click:Fire() end) end -- EXECUTE loadingScreen() createToggle() showNotification("MIJUSTICE | NO RECOIL + SCOPE ASSIST")