local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local StarterGui = game:GetService("StarterGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -- [[ CLEANUP ]] -- if CoreGui:FindFirstChild("GibHubVerticalUI") then CoreGui.GibHubVerticalUI:Destroy() end -- [[ GLOBAL SETTINGS ]] -- getgenv().EspStatus = false getgenv().InfJump = false getgenv().SpeedStatus = false getgenv().DesyncActive = false getgenv().UnwalkActive = false getgenv().BatMasterActive = false getgenv().AntiKBActive = false -- [[ STORAGE ]] -- local Tracers = {} local savedAnims = {} local watcher local alignOri, attach0, aimbotConnection -- [[ ANTI-KB / RAGDOLL VARIABLES ]] -- local PlayerModule = require(LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule")) local Controls = PlayerModule:GetControls() local Frozen = false local DisabledRemotes = {} local RemoteWatcher local BlockedStates = { [Enum.HumanoidStateType.Ragdoll] = true, [Enum.HumanoidStateType.FallingDown] = true, [Enum.HumanoidStateType.Physics] = true, [Enum.HumanoidStateType.Dead] = true } local RemoteKeywords = { "useitem", "combatservice", "ragdoll" } -- [[ MOBILE DRAG ]] -- local function MakeDraggable(gui) local dragging, dragInput, dragStart, startPos gui.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true; dragStart = input.Position; startPos = gui.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) gui.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) RunService.RenderStepped:Connect(function() if dragging and dragInput then local delta = dragInput.Position - dragStart; gui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) end -- [[ UI SETUP ]] -- local ScreenGui = Instance.new("ScreenGui", CoreGui); ScreenGui.Name = "GibHubVerticalUI" local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 130, 0, 292); MainFrame.Position = UDim2.new(0.05, 0, 0.4, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 12); MakeDraggable(MainFrame) Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12) Instance.new("UIStroke", MainFrame).Color = Color3.fromRGB(0, 120, 255) local Title = Instance.new("TextLabel", MainFrame) Title.Size = UDim2.new(1, 0, 0, 35); Title.Text = "GIB HUB"; Title.TextColor3 = Color3.fromRGB(0, 150, 255); Title.Font = Enum.Font.GothamBlack; Title.TextSize = 14; Title.BackgroundTransparency = 1 local Container = Instance.new("Frame", MainFrame) Container.Size = UDim2.new(1, 0, 1, -40); Container.Position = UDim2.new(0, 0, 0, 35); Container.BackgroundTransparency = 1 Instance.new("UIListLayout", Container).Padding = UDim.new(0, 5) Container.UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center local function createBtn(text, parent, sizeX) local b = Instance.new("TextButton", parent) b.Size = UDim2.new(sizeX or 0.9, 0, 0, 32); b.BackgroundColor3 = Color3.fromRGB(25, 25, 25); b.Text = text; b.TextColor3 = Color3.new(1, 1, 1); b.Font = Enum.Font.GothamBold; b.TextSize = 9 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6); return b end local function updateB(btn, val) btn.BackgroundColor3 = val and Color3.fromRGB(0, 120, 255) or Color3.fromRGB(25, 25, 25) end local Row = Instance.new("Frame", Container); Row.Size = UDim2.new(0.9, 0, 0, 32); Row.BackgroundTransparency = 1 Instance.new("UIListLayout", Row).FillDirection = Enum.FillDirection.Horizontal; Row.UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center; Row.UIListLayout.Padding = UDim.new(0, 5) local DesyncBtn = createBtn("DESYNC V3", Container) local SpeedBtn = createBtn("SPEED", Row, 0.47) local JumpBtn = createBtn("JUMP", Row, 0.47) local EspBtn = createBtn("PLAYER ESP", Container) local BatBtn = createBtn("BAT MASTER", Container) local UnwalkBtn = createBtn("UNWALK", Container) local AntiKBBtn = createBtn("ANTI KB", Container) -- [[ ANTI KB LOGIC FUNCTIONS ]] -- local function ForceNormal(character) local hum = character:FindFirstChildOfClass("Humanoid") local hrp = character:FindFirstChild("HumanoidRootPart") if not hum or not hrp then return end hum.Health = hum.MaxHealth hum:ChangeState(Enum.HumanoidStateType.RunningNoPhysics) if not Frozen then Frozen = true; hrp.Anchored = true; hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero; hrp.CFrame += Vector3.new(0, 1.5, 0) end end local function Release(character) local hrp = character:FindFirstChild("HumanoidRootPart") if hrp and Frozen then hrp.Anchored = false; Frozen = false end end local function RestoreMotors(character) for _, v in ipairs(character:GetDescendants()) do if v:IsA("Motor6D") then v.Enabled = true elseif v:IsA("Constraint") then v.Enabled = false end end end local function InitAntiRagdoll(character) local hum = character:WaitForChild("Humanoid", 10) if not hum then return end for state in pairs(BlockedStates) do hum:SetStateEnabled(state, false) end hum.StateChanged:Connect(function(_, new) if getgenv().AntiKBActive and BlockedStates[new] then ForceNormal(character); RestoreMotors(character) end end) RunService.Stepped:Connect(function() if not getgenv().AntiKBActive then Release(character) return end if BlockedStates[hum:GetState()] then ForceNormal(character) else Release(character) end hum.Health = hum.MaxHealth end) end local function KillRemote(remote) if not getconnections or not remote:IsA("RemoteEvent") then return end if DisabledRemotes[remote] then return end local name = remote.Name:lower() for _, key in ipairs(RemoteKeywords) do if name:find(key) then DisabledRemotes[remote] = {} for _, c in ipairs(getconnections(remote.OnClientEvent)) do if c.Disable then c:Disable(); table.insert(DisabledRemotes[remote], c) end end break end end end -- [[ BUTTON ACTIONS ]] -- AntiKBBtn.MouseButton1Click:Connect(function() getgenv().AntiKBActive = not getgenv().AntiKBActive updateB(AntiKBBtn, getgenv().AntiKBActive) if getgenv().AntiKBActive then Controls:Enable() for _, obj in ipairs(ReplicatedStorage:GetDescendants()) do KillRemote(obj) end if not RemoteWatcher then RemoteWatcher = ReplicatedStorage.DescendantAdded:Connect(KillRemote) end end end) DesyncBtn.MouseButton1Click:Connect(function() getgenv().DesyncActive = not getgenv().DesyncActive updateB(DesyncBtn, getgenv().DesyncActive) if getgenv().DesyncActive then local flags = { {"GameNetPVHeaderRotationalVelocityZeroCutoffExponent", "-5000"},{"LargeReplicatorWrite5", "true"},{"LargeReplicatorEnabled9", "true"}, {"AngularVelociryLimit", "360"},{"TimestepArbiterVelocityCriteriaThresholdTwoDt", "2147483646"},{"S2PhysicsSenderRate", "15000"}, {"DisableDPIScale", "true"},{"MaxDataPacketPerSend", "2147483647"},{"ServerMaxBandwith", "52"},{"PhysicsSenderMaxBandwidthBps", "20000"}, {"MaxTimestepMultiplierBuoyancy", "2147483647"},{"SimOwnedNOUCountThresholdMillionth", "2147483647"},{"MaxMissedWorldStepsRemembered", "-2147483648"}, {"CheckPVDifferencesForInterpolationMinVelThresholdStudsPerSecHundredth", "1"},{"StreamJobNOUVolumeLengthCap", "2147483647"},{"DebugSendDistInSteps", "-2147483648"}, {"MaxTimestepMultiplierAcceleration", "2147483647"},{"LargeReplicatorRead5", "true"},{"SimExplicitlyCappedTimestepMultiplier", "2147483646"}, {"GameNetDontSendRedundantNumTimes", "1"},{"CheckPVLinearVelocityIntegrateVsDeltaPositionThresholdPercent", "1"},{"CheckPVCachedRotVelThresholdPercent", "10"}, {"LargeReplicatorSerializeRead3", "true"},{"ReplicationFocusNouExtentsSizeCutoffForPauseStuds", "2147483647"},{"NextGenReplicatorEnabledWrite4", "true"}, {"CheckPVDifferencesForInterpolationMinRotVelThresholdRadsPerSecHundredth", "1"},{"GameNetDontSendRedundantDeltaPositionMillionth", "1"},{"InterpolationFrameVelocityThresholdMillionth", "5"}, {"StreamJobNOUVolumeCap", "2147483647"},{"InterpolationFrameRotVelocityThresholdMillionth", "5"},{"WorldStepMax", "30"},{"TimestepArbiterHumanoidLinearVelThreshold", "1"}, {"InterpolationFramePositionThresholdMillionth", "5"},{"TimestepArbiterHumanoidTurningVelThreshold", "1"},{"MaxTimestepMultiplierContstraint", "2147483647"}, {"GameNetPVHeaderLinearVelocityZeroCutoffExponent", "-5000"},{"CheckPVCachedVelThresholdPercent", "10"},{"TimestepArbiterOmegaThou", "1073741823"},{"MaxAcceptableUpdateDelay", "1"},{"LargeReplicatorSerializeWrite4", "true"} } for _, data in ipairs(flags) do pcall(function() setfflag(data[1], data[2]) end) end local char = LocalPlayer.Character if char then local hum = char:FindFirstChildWhichIsA("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Dead) end char:ClearAllChildren() local fake = Instance.new("Model", workspace); LocalPlayer.Character = fake; task.wait(); LocalPlayer.Character = char; fake:Destroy() end end end) UnwalkBtn.MouseButton1Click:Connect(function() getgenv().UnwalkActive = not getgenv().UnwalkActive updateB(UnwalkBtn, getgenv().UnwalkActive) if getgenv().UnwalkActive then local animate = LocalPlayer.Character:FindFirstChild("Animate") if animate then local targets = {"walk","run","jump","swim","swimidle","fall","climb","idle","sit","toolnone","toolsit"} for _, name in ipairs(targets) do local folder = animate:FindFirstChild(name) if folder then for _, anim in ipairs(folder:GetChildren()) do if anim:IsA("Animation") then table.insert(savedAnims, {instance = anim, id = anim.AnimationId}); anim.AnimationId = "" end end end end end watcher = LocalPlayer.Character.DescendantAdded:Connect(function(d) if d:IsA("Animation") then table.insert(savedAnims, {instance = d, id = d.AnimationId}); d.AnimationId = "" end end) else if watcher then watcher:Disconnect() end for _, v in ipairs(savedAnims) do if v.instance then v.instance.AnimationId = v.id end end savedAnims = {} end end) BatBtn.MouseButton1Click:Connect(function() getgenv().BatMasterActive = not getgenv().BatMasterActive updateB(BatBtn, getgenv().BatMasterActive) if getgenv().BatMasterActive then local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then attach0 = Instance.new("Attachment", hrp); alignOri = Instance.new("AlignOrientation", hrp) alignOri.Attachment0 = attach0; alignOri.Mode = Enum.OrientationAlignmentMode.OneAttachment; alignOri.RigidityEnabled = true aimbotConnection = RunService.RenderStepped:Connect(function() local closest, dist = nil, 45 for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local d = (p.Character.HumanoidRootPart.Position - hrp.Position).Magnitude if d < dist then dist = d; closest = p.Character.HumanoidRootPart end end end if closest then alignOri.CFrame = CFrame.lookAt(hrp.Position, Vector3.new(closest.Position.X, hrp.Position.Y, closest.Position.Z)) end end) end else if aimbotConnection then aimbotConnection:Disconnect() end if alignOri then alignOri:Destroy() end if attach0 then attach0:Destroy() end end end) EspBtn.MouseButton1Click:Connect(function() getgenv().EspStatus = not getgenv().EspStatus; updateB(EspBtn, getgenv().EspStatus) end) SpeedBtn.MouseButton1Click:Connect(function() getgenv().SpeedStatus = not getgenv().SpeedStatus; updateB(SpeedBtn, getgenv().SpeedStatus); if getgenv().SpeedStatus then pcall(function() loadstring(game:HttpGet("https://pastebin.com/raw/S0jRxdhG"))() end) end end) JumpBtn.MouseButton1Click:Connect(function() getgenv().InfJump = not getgenv().InfJump; updateB(JumpBtn, getgenv().InfJump) end) -- [[ LOOPS & EVENTS ]] -- task.spawn(function() while true do if getgenv().BatMasterActive and LocalPlayer.Character then local bat = LocalPlayer.Backpack:FindFirstChild("Bat") or LocalPlayer.Character:FindFirstChild("Bat") if bat then bat.Parent = LocalPlayer.Character; bat:Activate() end end task.wait(0.05) end end) LocalPlayer.CharacterAdded:Connect(function(char) task.wait(0.4) InitAntiRagdoll(char) end) if LocalPlayer.Character then InitAntiRagdoll(LocalPlayer.Character) end RunService.RenderStepped:Connect(function() if getgenv().EspStatus then local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then local tRoot = p.Character.HumanoidRootPart local box = p.Character:FindFirstChild("GibBox") or Instance.new("BoxHandleAdornment", p.Character) box.Name = "GibBox"; box.Adornee = p.Character; box.AlwaysOnTop = true; box.Color3 = Color3.new(0,1,1); box.Size = Vector3.new(4,6,1); box.Transparency = 0.6 if myRoot then local myP, myS = Camera:WorldToViewportPoint(myRoot.Position) local tP, tS = Camera:WorldToViewportPoint(tRoot.Position) if myS and tS then local tr = Tracers[p] or Drawing.new("Line") tr.Color = Color3.new(0,1,1); tr.Thickness = 3; tr.From = Vector2.new(myP.X, myP.Y); tr.To = Vector2.new(tP.X, tP.Y); tr.Visible = true; Tracers[p] = tr else if Tracers[p] then Tracers[p].Visible = false end end end end end else for _, p in pairs(Players:GetPlayers()) do if p.Character and p.Character:FindFirstChild("GibBox") then p.Character.GibBox:Destroy() end if Tracers[p] then Tracers[p].Visible = false end end end end) UserInputService.JumpRequest:Connect(function() if getgenv().InfJump then LocalPlayer.Character.HumanoidRootPart.Velocity = Vector3.new(0, 50, 0) end end) StarterGui:SetCore("SendNotification", {Title = "GIB HUB", Text = "Anti KB & Ragdoll Added", Duration = 3})