--// 通知 local NotificationHolder = loadstring(game:HttpGet("https://raw.githubusercontent.com/BocusLuke/UI/main/STX/Module.Lua"))() local Notification = loadstring(game:HttpGet("https://raw.githubusercontent.com/BocusLuke/UI/main/STX/Client.Lua"))() Notification:Notify( {Title="零制裁系统", Description="UI甩飞 + 踢出 + 封号 + AI检测"}, {OutlineColor=Color3.fromRGB(80,80,80), Time=5, Type="image"}, {Image="rbxassetid://4483345998", ImageColor=Color3.fromRGB(255,84,84)} ) --// 服务 local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local SelectedTarget = nil getgenv().AutoAntiCheat = false getgenv().LoopThrow = false getgenv().ZeroBanList = {} getgenv().BatchList = {} --// ================= 屏幕提示 ================= local function ZeroScreen(player, text1, text2, color) if not player or not player:FindFirstChild("PlayerGui") then return end local sg = Instance.new("ScreenGui", player.PlayerGui) sg.Name = "零提示" sg.IgnoreGuiInset = true local frame = Instance.new("Frame", sg) frame.Size = UDim2.new(1,0,1,0) frame.BackgroundColor3 = Color3.fromRGB(10,10,10) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1,0,0,100) title.Position = UDim2.new(0,0,0.2,0) title.Text = text1 title.TextColor3 = color title.Font = Enum.Font.GothamBold title.TextSize = 36 local reason = Instance.new("TextLabel", frame) reason.Size = UDim2.new(1,-40,0,160) reason.Position = UDim2.new(0,20,0.45,0) reason.Text = text2 reason.TextColor3 = Color3.new(1,1,1) reason.Font = Enum.Font.SourceSans reason.TextSize = 22 reason.TextWrapped = true end --// ================= 甩飞 ================= local function ExtremeThrow(target) if not target or not target.Character then return end local chr = target.Character local hrp = chr:FindFirstChild("HumanoidRootPart") local hum = chr:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end hum.PlatformStand = true hum:ChangeState(Enum.HumanoidStateType.Physics) hrp.Anchored = true for _, obj in pairs(chr:GetChildren()) do if obj:IsA("Tool") then obj:Destroy() end end for i = 1, 20 do hrp.Velocity = Vector3.new(math.random(-2000,2000), math.random(3000,5000), math.random(-2000,2000)) hrp.RotVelocity = Vector3.new(9999,9999,9999) hrp.CFrame = hrp.CFrame * CFrame.new(0, 20 + i * 5, 0) task.wait(0.015) end hrp.CFrame = CFrame.new(0, 99999, 0) hrp.Velocity = Vector3.new(0, 999999, 0) end --// ================= 踢出 ================= local function KickPlayer(player) if player == LocalPlayer then return end ZeroScreen(player, "⚠ 你被零踢出", "你已被管理员踢出\n如有疑问请联系服务器", Color3.fromRGB(255,80,80)) task.delay(2, function() if player and player.Parent then player:Kick("\n你已被【零】踢出\n如有疑问请联系管理员") end end) end --// ================= 封号 ================= local function BanPlayer(player) if player == LocalPlayer then return end getgenv().ZeroBanList[player.UserId] = true ExtremeThrow(player) ZeroScreen(player, "⚠ 你被零制裁", "检测到违规行为\n你已被【零】永久封禁\n你无法进入任何服务器", Color3.fromRGB(255,50,50)) task.delay(2.5, function() if player and player.Parent then player:Kick("\n你已被【零】永久封号\n你无法进入任何服务器") end end) end --// ================= AI 检测 ================= local function GetCheatScore(player) if not player.Character then return 0 end local hrp = player.Character:FindFirstChild("HumanoidRootPart") local hum = player.Character:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return 0 end local score = 0 if hum.WalkSpeed > 100 then score += 30 end if hrp.Velocity.Y > 250 then score += 25 end if hrp.Velocity.Magnitude > 350 then score += 30 end if hum:GetState() == Enum.HumanoidStateType.Physics then score += 15 end return score end local function ZeroHandleCheater(player) if player == LocalPlayer then return end if getgenv().ZeroBanList[player.UserId] then return end if GetCheatScore(player) >= 60 then BanPlayer(player) end end --// ================= UI ================= local Gui = Instance.new("ScreenGui", game.CoreGui) Gui.Name = "零制裁系统" local Main = Instance.new("Frame", Gui) Main.Size = UDim2.new(0,260,0,750) Main.Position = UDim2.new(0.02,0,0.1,0) Main.BackgroundColor3 = Color3.fromRGB(30,30,30) Main.BorderSizePixel = 0 Main.Active = true Main.Draggable = true local Title = Instance.new("TextLabel", Main) Title.Size = UDim2.new(1,0,0,40) Title.BackgroundColor3 = Color3.fromRGB(50,50,50) Title.Text = "零 · 制裁系统" Title.TextColor3 = Color3.new(1,1,1) Title.Font = Enum.Font.GothamBold Title.TextSize = 16 -- 最小化 local Minimize = Instance.new("TextButton", Main) Minimize.Size = UDim2.new(0,60,0,25) Minimize.Position = UDim2.new(1,-65,0,7) Minimize.Text = "-" Minimize.TextColor3 = Color3.new(1,1,1) Minimize.BackgroundColor3 = Color3.fromRGB(80,80,80) Minimize.MouseButton1Click:Connect(function() Main.Visible = not Main.Visible Minimize.Text = Main.Visible and "-" or "+" end) -- 右侧玩家弹窗 local Popup = Instance.new("Frame", Gui) Popup.Size = UDim2.new(0,200,0,300) Popup.Position = UDim2.new(0.75,0,0.25,0) Popup.BackgroundColor3 = Color3.fromRGB(25,25,25) Popup.ClipsDescendants = true Popup.Visible = false local Scroll = Instance.new("ScrollingFrame", Popup) Scroll.Size = UDim2.new(1,0,1,-25) Scroll.Position = UDim2.new(0,0,0,25) Scroll.CanvasSize = UDim2.new(0,0,0,0) -- 刷新 local Refresh = Instance.new("TextButton", Main) Refresh.Size = UDim2.new(1,-10,0,30) Refresh.Position = UDim2.new(0,5,0,50) Refresh.Text = "刷新玩家" Refresh.TextColor3 = Color3.new(1,1,1) Refresh.BackgroundColor3 = Color3.fromRGB(60,60,60) -- 甩飞 local ThrowBtn = Instance.new("TextButton", Main) ThrowBtn.Size = UDim2.new(1,-10,0,50) ThrowBtn.Position = UDim2.new(0,5,0,90) ThrowBtn.Text = "甩飞一次(未选人)" ThrowBtn.TextColor3 = Color3.new(1,1,1) ThrowBtn.BackgroundColor3 = Color3.fromRGB(180,30,30) -- 踢出 local KickBtn = Instance.new("TextButton", Main) KickBtn.Size = UDim2.new(1,-10,0,50) KickBtn.Position = UDim2.new(0,5,0,150) KickBtn.Text = "踢出玩家 (0)" KickBtn.TextColor3 = Color3.new(1,1,1) KickBtn.BackgroundColor3 = Color3.fromRGB(80,80,80) -- 批量封号 local BanBtn = Instance.new("TextButton", Main) BanBtn.Size = UDim2.new(1,-10,0,50) BanBtn.Position = UDim2.new(0,5,0,210) BanBtn.Text = "批量封号 (0)" BanBtn.TextColor3 = Color3.new(1,1,1) BanBtn.BackgroundColor3 = Color3.fromRGB(120,20,20) -- 循环甩飞 local LoopBtn = Instance.new("TextButton", Main) LoopBtn.Size = UDim2.new(1,-10,0,35) LoopBtn.Position = UDim2.new(0,5,0,270) LoopBtn.Text = "循环甩飞:关" LoopBtn.TextColor3 = Color3.new(1,1,1) LoopBtn.BackgroundColor3 = Color3.fromRGB(60,60,60) -- 自动反外挂 local AntiCheatBtn = Instance.new("TextButton", Main) AntiCheatBtn.Size = UDim2.new(1,-10,0,35) AntiCheatBtn.Position = UDim2.new(0,5,0,315) AntiCheatBtn.Text = "自动反外挂:关" AntiCheatBtn.TextColor3 = Color3.new(1,1,1) AntiCheatBtn.BackgroundColor3 = Color3.fromRGB(80,80,80) --// 刷新玩家 local function RefreshPlayers() Scroll:ClearAllChildren() local y = 0 for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer then local btn = Instance.new("TextButton", Scroll) btn.Size = UDim2.new(1,-10,0,30) btn.Position = UDim2.new(0,5,0,y) btn.Text = p.Name btn.TextColor3 = Color3.new(1,1,1) btn.BackgroundColor3 = Color3.fromRGB(40,40,40) btn.MouseButton1Click:Connect(function() if table.find(getgenv().BatchList, p) then for i, v in pairs(getgenv().BatchList) do if v == p then table.remove(getgenv().BatchList, i) break end end btn.BackgroundColor3 = Color3.fromRGB(40,40,40) else table.insert(getgenv().BatchList, p) btn.BackgroundColor3 = Color3.fromRGB(180,30,30) end KickBtn.Text = "踢出玩家 ("..#getgenv().BatchList..")" BanBtn.Text = "批量封号 ("..#getgenv().BatchList..")" SelectedTarget = p ThrowBtn.Text = "甩飞:"..p.Name Popup.Visible = false end) y += 35 end end Scroll.CanvasSize = UDim2.new(0,0,0,y) Popup.Visible = true end Refresh.MouseButton1Click:Connect(RefreshPlayers) --// 按钮事件 ThrowBtn.MouseButton1Click:Connect(function() if SelectedTarget then ExtremeThrow(SelectedTarget) end end) KickBtn.MouseButton1Click:Connect(function() for _, p in pairs(getgenv().BatchList) do KickPlayer(p) end getgenv().BatchList = {} KickBtn.Text = "踢出玩家 (0)" end) BanBtn.MouseButton1Click:Connect(function() for _, p in pairs(getgenv().BatchList) do BanPlayer(p) end getgenv().BatchList = {} BanBtn.Text = "批量封号 (0)" end) LoopBtn.MouseButton1Click:Connect(function() getgenv().LoopThrow = not getgenv().LoopThrow LoopBtn.Text = getgenv().LoopThrow and "循环甩飞:开" or "循环甩飞:关" LoopBtn.BackgroundColor3 = getgenv().LoopThrow and Color3.fromRGB(200,50,50) or Color3.fromRGB(60,60,60) end) RunService.Heartbeat:Connect(function() if getgenv().LoopThrow and SelectedTarget then ExtremeThrow(SelectedTarget) end end) AntiCheatBtn.MouseButton1Click:Connect(function() getgenv().AutoAntiCheat = not getgenv().AutoAntiCheat AntiCheatBtn.Text = getgenv().AutoAntiCheat and "自动反外挂:开" or "自动反外挂:关" AntiCheatBtn.BackgroundColor3 = getgenv().AutoAntiCheat and Color3.fromRGB(200,50,50) or Color3.fromRGB(80,80,80) if getgenv().AutoAntiCheat then task.spawn(function() while getgenv().AutoAntiCheat do for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and not getgenv().ZeroBanList[p.UserId] then ZeroHandleCheater(p) end end task.wait(3) end end) end end) --// 进服即封 Players.PlayerAdded:Connect(function(player) task.wait(1) if getgenv().ZeroBanList[player.UserId] then ZeroScreen(player, "⚠ 你被零制裁", "你已被永久封号\n你无法进入任何服务器", Color3.fromRGB(255,50,50)) task.wait(2) player:Kick("\n你已被【零】永久封号\n你无法进入任何服务器") end end) RefreshPlayers()