explore
key systems
new
docs
discord
search scripts
⌘K
explore
key systems
new
docs
discord
sign in
⌘↵
--
publishes from anywhere on this page
new paste
untitled.luau
empty
/ 512kb
open file
⌘O
explore
key systems
new
docs
sign in
knife-vs-gun-duels-copy.lua
439 lines · 20.4kb
/ 512kb
open file
⌘O
--[[ NOAM HUB v5.0 // KNIFE VS GUN DUELS - Premium UI with animations and gradients. - Advanced Triggerbot (Auto-Fire) with prediction and wall check. - Customizable ESP, FOV Circle, and Hitbox Expander. - Manual Arg Mode selector for maximum compatibility. Use on an alt account. Scripting violates Roblox ToS. ]] -- ============================================================ -- SERVICES -- ============================================================ local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local RS = game:GetService("ReplicatedStorage") local WS = game:GetService("Workspace") local CG = game:GetService("CoreGui") local TweenService = game:GetService("TweenService") local LP = Players.LocalPlayer -- ============================================================ -- CONFIG -- ============================================================ getgenv().NoamHub = getgenv().NoamHub or { -- Combat Triggerbot = false, NoCooldown = false, HitboxExpander = false, SnapAimbot = false, FOV = 300, TriggerRadius = 60, Prediction = 0.08, TargetPart = "Head", WallCheck = true, FireRate = 0.15, NoCooldownRate = 0.05, ArgMode = "Vector3", -- "Vector3", "CFrame", "Instance", "None" -- Visuals ESP = false, ESPMaxDist = 1000, ESPTeamCheck = false, ShowHealthBar = true, ShowTracer = true, ShowFOVCircle = true, } local C = getgenv().NoamHub local function log(m) print("[Noam] " .. tostring(m)) end -- ============================================================ -- REMOTES -- ============================================================ local GunAttack, KnifeAttack pcall(function() local Container = RS.Shared.Packages.Remo.container GunAttack = Container:WaitForChild("GunAttack", 5) KnifeAttack = Container:WaitForChild("KnifeAttack", 5) end) -- ============================================================ -- PREMIUM GUI -- ============================================================ local ScreenGui local function buildGUI() local old = CG:FindFirstChild("NoamHub") if old then old:Destroy() end ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "NoamHub" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.DisplayOrder = 999999 ScreenGui.Parent = CG local Main = Instance.new("Frame") Main.Size = UDim2.new(0, 580, 0, 450) Main.Position = UDim2.new(0.5, -290, 0.5, -225) Main.BackgroundColor3 = Color3.fromRGB(15, 16, 22) Main.BorderSizePixel = 0 Main.Active = true Main.Draggable = true Main.Parent = ScreenGui Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 14) local stroke = Instance.new("UIStroke", Main) stroke.Color = Color3.fromRGB(0, 200, 180); stroke.Thickness = 1; stroke.Transparency = 0.4 -- Header with animated gradient local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 50) Header.BackgroundColor3 = Color3.fromRGB(20, 22, 30) Header.BorderSizePixel = 0 Header.Parent = Main Instance.new("UICorner", Header).CornerRadius = UDim.new(0, 14) local hfix = Instance.new("Frame", Header) hfix.Size = UDim2.new(1, 0, 0, 15) hfix.Position = UDim2.new(0, 0, 1, -15) hfix.BackgroundColor3 = Color3.fromRGB(20, 22, 30) hfix.BorderSizePixel = 0 local hGrad = Instance.new("UIGradient", Header) hGrad.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 220, 200)), ColorSequenceKeypoint.new(1, Color3.fromRGB(80, 100, 220)) }) hGrad.Rotation = 15 local Title = Instance.new("TextLabel") Title.Size = UDim2.new(0, 200, 1, 0); Title.Position = UDim2.new(0, 20, 0, 0) Title.BackgroundTransparency = 1; Title.Text = "NOAM HUB" Title.TextColor3 = Color3.fromRGB(255, 255, 255); Title.Font = Enum.Font.GothamBlack Title.TextSize = 20; Title.TextXAlignment = Enum.TextXAlignment.Left; Title.Parent = Header local Sub = Instance.new("TextLabel") Sub.Size = UDim2.new(0, 200, 1, 0); Sub.Position = UDim2.new(0, 135, 0, 0) Sub.BackgroundTransparency = 1; Sub.Text = "v5.0 | Premium" Sub.TextColor3 = Color3.fromRGB(200, 255, 240); Sub.Font = Enum.Font.GothamBold Sub.TextSize = 12; Sub.TextXAlignment = Enum.TextXAlignment.Left; Sub.Parent = Header -- Close Button (with animation) local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 30, 0, 30); closeBtn.Position = UDim2.new(1, -40, 0, 10) closeBtn.BackgroundColor3 = Color3.fromRGB(50, 20, 20); closeBtn.Text = "✕" closeBtn.TextColor3 = Color3.fromRGB(255, 120, 120); closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 16; closeBtn.Parent = Header Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 8) closeBtn.MouseEnter:Connect(function() TweenService:Create(closeBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(80, 30, 30)}):Play() end) closeBtn.MouseLeave:Connect(function() TweenService:Create(closeBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(50, 20, 20)}):Play() end) closeBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Sidebar & Content local Sidebar = Instance.new("Frame") Sidebar.Size = UDim2.new(0, 140, 1, -75); Sidebar.Position = UDim2.new(0, 15, 0, 60) Sidebar.BackgroundColor3 = Color3.fromRGB(20, 22, 30); Sidebar.BorderSizePixel = 0 Sidebar.Parent = Main Instance.new("UICorner", Sidebar).CornerRadius = UDim.new(0, 10) local Content = Instance.new("Frame") Content.Size = UDim2.new(1, -185, 1, -75); Content.Position = UDim2.new(0, 170, 0, 60) Content.BackgroundColor3 = Color3.fromRGB(20, 22, 30); Content.BorderSizePixel = 0 Content.Parent = Main Instance.new("UICorner", Content).CornerRadius = UDim.new(0, 10) local tabs = {} local function createTab(name, icon, order) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -16, 0, 40); btn.Position = UDim2.new(0, 8, 0, 10 + order * 48) btn.BackgroundColor3 = Color3.fromRGB(20, 22, 30); btn.Text = " " .. icon .. " " .. name btn.TextColor3 = Color3.fromRGB(160, 160, 175); btn.Font = Enum.Font.GothamBold btn.TextSize = 14; btn.TextXAlignment = Enum.TextXAlignment.Left; btn.AutoButtonColor = false btn.Parent = Sidebar Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local page = Instance.new("Frame") page.Size = UDim2.new(1, -24, 1, -24); page.Position = UDim2.new(0, 12, 0, 12) page.BackgroundTransparency = 1; page.Visible = false; page.Parent = Content btn.MouseButton1Click:Connect(function() for _, p in pairs(Content:GetChildren()) do if p:IsA("Frame") then p.Visible = false end end for _, b in pairs(Sidebar:GetChildren()) do if b:IsA("TextButton") then TweenService:Create(b, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(20, 22, 30), TextColor3 = Color3.fromRGB(160, 160, 175)}):Play() end end page.Visible = true TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(0, 200, 180), TextColor3 = Color3.fromRGB(10, 10, 15)}):Play() end) tabs[name] = { btn = btn, page = page } return page end local combatPage = createTab("Combat", "⚔", 0) local visualsPage = createTab("Visuals", "👁", 1) local utilityPage = createTab("Utility", "⚙", 2) -- Default Tab tabs["Combat"].btn.BackgroundColor3 = Color3.fromRGB(0, 200, 180) tabs["Combat"].btn.TextColor3 = Color3.fromRGB(10, 10, 15) combatPage.Visible = true -- Toggle Builder local function makeToggle(parent, label, key, y) local row = Instance.new("Frame"); row.Size = UDim2.new(1, 0, 0, 40); row.Position = UDim2.new(0, 0, 0, y) row.BackgroundTransparency = 1; row.Parent = parent local lbl = Instance.new("TextLabel"); lbl.Size = UDim2.new(1, -80, 1, 0); lbl.BackgroundTransparency = 1 lbl.Text = label; lbl.TextColor3 = Color3.fromRGB(225, 225, 235); lbl.Font = Enum.Font.GothamMedium lbl.TextSize = 14; lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = row local tg = Instance.new("TextButton"); tg.Size = UDim2.new(0, 50, 0, 24); tg.Position = UDim2.new(1, -54, 0.5, -12) tg.BackgroundColor3 = Color3.fromRGB(50, 50, 60); tg.Text = ""; tg.AutoButtonColor = false; tg.Parent = row Instance.new("UICorner", tg).CornerRadius = UDim.new(0, 12) local knob = Instance.new("Frame"); knob.Size = UDim2.new(0, 18, 0, 18); knob.Position = UDim2.new(0, 3, 0.5, -9) knob.BackgroundColor3 = Color3.fromRGB(180, 180, 190); knob.Parent = tg Instance.new("UICorner", knob).CornerRadius = UDim.new(0, 9) local function update(on) C[key] = on if on then TweenService:Create(tg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(0, 200, 180)}):Play() TweenService:Create(knob, TweenInfo.new(0.2), {Position = UDim2.new(1, -21, 0.5, -9), BackgroundColor3 = Color3.fromRGB(250, 255, 253)}):Play() else TweenService:Create(tg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(50, 50, 60)}):Play() TweenService:Create(knob, TweenInfo.new(0.2), {Position = UDim2.new(0, 3, 0.5, -9), BackgroundColor3 = Color3.fromRGB(180, 180, 190)}):Play() end end update(C[key] or false) tg.MouseButton1Click:Connect(function() update(not C[key]) end) end -- Combat Tab makeToggle(combatPage, "Triggerbot (Auto Fire)", "Triggerbot", 10) makeToggle(combatPage, "No Cooldown (Rapid)", "NoCooldown", 55) makeToggle(combatPage, "Snap Aimbot", "SnapAimbot", 100) makeToggle(combatPage, "Hitbox Expander", "HitboxExpander", 145) makeToggle(combatPage, "Wall Check", "WallCheck", 190) -- Arg Mode Selector local argRow = Instance.new("Frame") argRow.Size = UDim2.new(1, 0, 0, 60); argRow.Position = UDim2.new(0, 0, 0, 240) argRow.BackgroundColor3 = Color3.fromRGB(25, 28, 38); argRow.BorderSizePixel = 0; argRow.Parent = combatPage Instance.new("UICorner", argRow).CornerRadius = UDim.new(0, 8) local argLbl = Instance.new("TextLabel") argLbl.Size = UDim2.new(1, -10, 0, 20); argLbl.Position = UDim2.new(0, 10, 0, 5) argLbl.BackgroundTransparency = 1; argLbl.Text = "Fire Arg Mode (Change if not shooting):" argLbl.TextColor3 = Color3.fromRGB(0, 220, 200); argLbl.Font = Enum.Font.GothamBold argLbl.TextSize = 12; argLbl.TextXAlignment = Enum.TextXAlignment.Left; argLbl.Parent = argRow local argBtn = Instance.new("TextButton") argBtn.Size = UDim2.new(1, -20, 0, 24); argBtn.Position = UDim2.new(0, 10, 0, 28) argBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 90); argBtn.Text = C.ArgMode argBtn.TextColor3 = Color3.fromRGB(255, 255, 255); argBtn.Font = Enum.Font.GothamBold argBtn.TextSize = 12; argBtn.Parent = argRow Instance.new("UICorner", argBtn).CornerRadius = UDim.new(0, 6) local modes = {"Vector3", "CFrame", "Instance", "None"} argBtn.MouseButton1Click:Connect(function() local currentIdx = 1 for i, m in ipairs(modes) do if m == C.ArgMode then currentIdx = i break end end currentIdx = currentIdx + 1 if currentIdx > #modes then currentIdx = 1 end C.ArgMode = modes[currentIdx] argBtn.Text = C.ArgMode end) -- Visuals Tab makeToggle(visualsPage, "ESP", "ESP", 10) makeToggle(visualsPage, "Health Bar", "ShowHealthBar", 55) makeToggle(visualsPage, "Tracer", "ShowTracer", 100) makeToggle(visualsPage, "FOV Circle", "ShowFOVCircle", 145) -- Utility Tab local dumpBtn = Instance.new("TextButton") dumpBtn.Size = UDim2.new(1, 0, 0, 35); dumpBtn.Position = UDim2.new(0, 0, 0, 10) dumpBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 90); dumpBtn.Text = "Print State to Console" dumpBtn.TextColor3 = Color3.fromRGB(200, 255, 240); dumpBtn.Font = Enum.Font.GothamBold dumpBtn.TextSize = 13; dumpBtn.Parent = utilityPage Instance.new("UICorner", dumpBtn).CornerRadius = UDim.new(0, 6) dumpBtn.MouseButton1Click:Connect(function() print("=== NOAM HUB v5.0 STATE ===") print("Arg Mode:", C.ArgMode) print("Weapon:", LP.Character and LP.Character:FindFirstChild("DisplayRefGun") and LP.Character.DisplayRefGun.Value or "None") print("================") end) -- Version Label local ver = Instance.new("TextLabel") ver.Size = UDim2.new(0, 200, 0, 20); ver.Position = UDim2.new(1, -210, 1, -25) ver.BackgroundTransparency = 1; ver.Text = "v5.0 // Premium Build" ver.TextColor3 = Color3.fromRGB(80, 80, 100); ver.Font = Enum.Font.GothamBold ver.TextSize = 11; ver.TextXAlignment = Enum.TextXAlignment.Right; ver.Parent = Main log("GUI Built Successfully.") end pcall(buildGUI) -- ============================================================ -- FOV CIRCLE -- ============================================================ local FOVCircle pcall(function() FOVCircle = Drawing.new("Circle") FOVCircle.Thickness = 1.5; FOVCircle.NumSides = 64 FOVCircle.Transparency = 0.7; FOVCircle.Color = Color3.fromRGB(0, 255, 200); FOVCircle.Filled = false end) RunService.RenderStepped:Connect(function() if FOVCircle then FOVCircle.Visible = C.ShowFOVCircle if C.ShowFOVCircle then local cam = WS.CurrentCamera if cam then FOVCircle.Position = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2); FOVCircle.Radius = C.FOV end end end end) -- ============================================================ -- PRO ESP -- ============================================================ local ESPObj = { Box = {}, Label = {}, Health = {}, Tracer = {} } local function clearESP(plr) for _, tbl in pairs(ESPObj) do if tbl[plr] then pcall(function() tbl[plr]:Remove() end); tbl[plr] = nil end end end RunService.RenderStepped:Connect(function() pcall(function() if not C.ESP then for plr in pairs(ESPObj.Box) do clearESP(plr) end return end local cam = WS.CurrentCamera; local lpChar = LP.Character if not (cam and lpChar and lpChar:FindFirstChild("HumanoidRootPart")) then return end local lpRoot = lpChar.HumanoidRootPart for _, plr in ipairs(Players:GetPlayers()) do if plr == LP then continue end local char = plr.Character if not char then clearESP(plr); continue end local hum = char:FindFirstChildOfClass("Humanoid"); local root = char:FindFirstChild("HumanoidRootPart"); local head = char:FindFirstChild("Head") if not (hum and root and head) or hum.Health <= 0 then clearESP(plr); continue end if C.ESPTeamCheck and plr.Team == LP.Team then clearESP(plr); continue end local dist = (root.Position - lpRoot.Position).Magnitude if dist > C.ESPMaxDist then clearESP(plr); continue end local hp, on1 = cam:WorldToViewportPoint(head.Position); local rp, on2 = cam:WorldToViewportPoint(root.Position) if not (on1 and on2) then clearESP(plr); continue end local h = math.max(math.abs(hp.Y - rp.Y) * 2.4, 80); local w = h * 0.55 local tx = rp.X - w / 2; local ty = hp.Y - h * 0.18 local box = ESPObj.Box[plr] or Drawing.new("Square") ESPObj.Box[plr] = box box.Size = Vector2.new(w, h); box.Position = Vector2.new(tx, ty); box.Color = Color3.fromRGB(255, 60, 60); box.Thickness = 2; box.Filled = false; box.Visible = true local lbl = ESPObj.Label[plr] or Drawing.new("Text") ESPObj.Label[plr] = lbl lbl.Text = string.format("[%s] | %dm | %d hp", plr.Name, math.floor(dist), math.floor(hum.Health)) lbl.Size = 18; lbl.Center = true; lbl.Outline = true; lbl.Color = Color3.fromRGB(255, 255, 255); lbl.Position = Vector2.new(rp.X, ty - 22); lbl.Visible = true if C.ShowHealthBar then local bar = ESPObj.Health[plr] or Drawing.new("Square") ESPObj.Health[plr] = bar; local r = hum.Health / math.max(hum.MaxHealth, 1) bar.Size = Vector2.new(4, h * r); bar.Position = Vector2.new(tx - 8, ty + (h - h * r)); bar.Color = Color3.fromRGB(255 * (1 - r), 255 * r, 0); bar.Filled = true; bar.Visible = true end if C.ShowTracer then local tr = ESPObj.Tracer[plr] or Drawing.new("Line") ESPObj.Tracer[plr] = tr; tr.From = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y); tr.To = Vector2.new(rp.X, ty); tr.Color = Color3.fromRGB(255, 120, 60); tr.Thickness = 1; tr.Visible = true end end end) end) Players.PlayerRemoving:Connect(clearESP) -- ============================================================ -- TARGETING & TRIGGERBOT -- ============================================================ local function isVisible(part) if not C.WallCheck then return true end local cam = WS.CurrentCamera; if not cam then return false end local params = RaycastParams.new(); local ignore = {LP.Character, cam} local cp = WS:FindFirstChild("CombatProjectiles"); if cp then table.insert(ignore, cp) end local wd = WS:FindFirstChild("WeaponDisplays"); if wd then table.insert(ignore, wd) end params.FilterDescendantsInstances = ignore; params.FilterType = Enum.RaycastFilterType.Exclude; params.IgnoreWater = true local result = WS:Raycast(cam.CFrame.Position, (part.Position - cam.CFrame.Position), params) return result == nil or result.Instance:IsDescendantOf(part.Parent) end local function getTargetUnderCrosshair() local cam = WS.CurrentCamera; if not cam then return nil end local center = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2) local closest, shortest = nil, C.TriggerRadius for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LP and plr.Character then local hum = plr.Character:FindFirstChildOfClass("Humanoid") local part = plr.Character:FindFirstChild(C.TargetPart) or plr.Character:FindFirstChild("HumanoidRootPart") if hum and part and hum.Health > 0 then if C.ESPTeamCheck and plr.Team == LP.Team then continue end local sp, on = cam:WorldToViewportPoint(part.Position) if on and isVisible(part) then local d = (Vector2.new(sp.X, sp.Y) - center).Magnitude if d < shortest then shortest = d; closest = {player=plr, part=part} end end end end end return closest end local lastFire = 0 RunService.Heartbeat:Connect(function() -- Hitbox Expander if C.HitboxExpander then for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LP and plr.Character then local hum = plr.Character:FindFirstChildOfClass("Humanoid") if hum and hum.Health > 0 then local root = plr.Character:FindFirstChild("HumanoidRootPart") local head = plr.Character:FindFirstChild("Head") if root then root.Size = Vector3.new(5, 5, 5); root.Transparency = 0.7; root.CanCollide = false end if head then head.Size = Vector3.new(4, 4, 4); head.Transparency = 0.7; head.CanCollide = false end end end end end -- Triggerbot / No Cooldown if not (C.Triggerbot or C.NoCooldown) then return end if not GunAttack then return end local target = getTargetUnderCrosshair() if not target then return end local rate = C.NoCooldown and C.NoCooldownRate or C.FireRate if tick() - lastFire < rate then return end lastFire = tick() local cam = WS.CurrentCamera local originalCFrame = cam.CFrame if C.SnapAimbot then cam.CFrame = CFrame.new(cam.CFrame.Position, target.part.Position) end pcall(function() if C.ArgMode == "Vector3" then GunAttack:FireServer(target.part.Position) elseif C.ArgMode == "CFrame" then GunAttack:FireServer(cam.CFrame) elseif C.ArgMode == "Instance" then GunAttack:FireServer(target.part) else GunAttack:FireServer() end end) if C.SnapAimbot then cam.CFrame = originalCFrame end end) log("Noam Hub v5.0 Loaded! Premium Build Ready.")