-- Fight in a School - CRITICAL BOOST HUB | Hitbox + Anti-Weave + Party Ignore + Dynamic Macro + Auto Heavy Farm -- Full UI Restored + Strong Camera Lock + 2s Under Map Hide local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local VirtualInputManager = game:GetService("VirtualInputManager") local HitboxSettings = { Enabled = false, Size = Vector3.new(7,7,7), ShowVisual = false, Transparency = 0.4, Color = Color3.fromRGB(255,50,50), Radius = 50 } local AntiWeaveSettings = { Enabled = false, Strength = 1.5 } local CriticalSettings = { Enabled = false, Strength = 1.0 } local AutoAttackSettings = { Enabled = false, Delay = 0.085 } local AutoHeavySettings = { Enabled = false, Cooldown = 8 } local PartyMembers = {} -- ==================== FULL GUI ==================== local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "FiAS_CriticalHub" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 340, 0, 520) MainFrame.Position = UDim2.new(0.5, -170, 0.5, -260) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Visible = true MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 10) UICorner.Parent = MainFrame -- Title Bar local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 40) TitleBar.BackgroundColor3 = Color3.fromRGB(15, 15, 22) TitleBar.Parent = MainFrame local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 10) TitleCorner.Parent = TitleBar local Title = Instance.new("TextLabel") Title.Size = UDim2.new(0.8, 0, 1, 0) Title.BackgroundTransparency = 1 Title.Text = "FiAS CRITICAL HUB" Title.TextColor3 = Color3.fromRGB(255, 215, 0) Title.TextScaled = true Title.Font = Enum.Font.GothamBold Title.Parent = TitleBar local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 35, 0, 35) CloseBtn.Position = UDim2.new(1, -40, 0, 2) CloseBtn.BackgroundTransparency = 1 CloseBtn.Text = "✕" CloseBtn.TextColor3 = Color3.fromRGB(255, 100, 100) CloseBtn.TextScaled = true CloseBtn.Font = Enum.Font.GothamBold CloseBtn.Parent = TitleBar -- Hitbox Toggle local HitboxToggle = Instance.new("TextButton") HitboxToggle.Size = UDim2.new(0.9, 0, 0, 38) HitboxToggle.Position = UDim2.new(0.05, 0, 0.12, 0) HitboxToggle.BackgroundColor3 = Color3.fromRGB(35, 35, 45) HitboxToggle.Text = "ENABLE HITBOX: OFF" HitboxToggle.TextColor3 = Color3.new(1,1,1) HitboxToggle.TextScaled = true HitboxToggle.Font = Enum.Font.GothamSemibold HitboxToggle.Parent = MainFrame local HitCorner = Instance.new("UICorner"); HitCorner.CornerRadius = UDim.new(0,8); HitCorner.Parent = HitboxToggle -- Size Slider local SizeSliderLabel = Instance.new("TextLabel") SizeSliderLabel.Size = UDim2.new(0.9, 0, 0, 20) SizeSliderLabel.Position = UDim2.new(0.05, 0, 0.22, 0) SizeSliderLabel.BackgroundTransparency = 1 SizeSliderLabel.Text = "Hitbox Size: 7" SizeSliderLabel.TextColor3 = Color3.new(1,1,1) SizeSliderLabel.TextSize = 14 SizeSliderLabel.Font = Enum.Font.GothamSemibold SizeSliderLabel.Parent = MainFrame local SliderFrame = Instance.new("Frame") SliderFrame.Size = UDim2.new(0.9, 0, 0, 12) SliderFrame.Position = UDim2.new(0.05, 0, 0.27, 0) SliderFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 55) SliderFrame.Parent = MainFrame local SliderCorner = Instance.new("UICorner"); SliderCorner.CornerRadius = UDim.new(0,6); SliderCorner.Parent = SliderFrame local SliderKnob = Instance.new("TextButton") SliderKnob.Size = UDim2.new(0, 24, 0, 24) SliderKnob.Position = UDim2.new(0.6, -12, 0.5, -12) SliderKnob.BackgroundColor3 = Color3.fromRGB(0, 200, 100) SliderKnob.Text = "" SliderKnob.Parent = SliderFrame local KnobCorner = Instance.new("UICorner"); KnobCorner.CornerRadius = UDim.new(1,0); KnobCorner.Parent = SliderKnob -- Show Visuals local ShowVisualBtn = Instance.new("TextButton") ShowVisualBtn.Size = UDim2.new(0.9, 0, 0, 38) ShowVisualBtn.Position = UDim2.new(0.05, 0, 0.34, 0) ShowVisualBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 45) ShowVisualBtn.Text = "SHOW VISUALS: OFF" ShowVisualBtn.TextColor3 = Color3.new(1,1,1) ShowVisualBtn.TextScaled = true ShowVisualBtn.Font = Enum.Font.GothamSemibold ShowVisualBtn.Parent = MainFrame local VCorner = Instance.new("UICorner"); VCorner.CornerRadius = UDim.new(0,8); VCorner.Parent = ShowVisualBtn -- Anti-Weave local AntiToggle = Instance.new("TextButton") AntiToggle.Size = UDim2.new(0.9, 0, 0, 38) AntiToggle.Position = UDim2.new(0.05, 0, 0.48, 0) AntiToggle.BackgroundColor3 = Color3.fromRGB(35, 35, 45) AntiToggle.Text = "ANTI-WEAVE STUN: OFF" AntiToggle.TextColor3 = Color3.new(1,1,1) AntiToggle.TextScaled = true AntiToggle.Font = Enum.Font.GothamSemibold AntiToggle.Parent = MainFrame local ACorner = Instance.new("UICorner"); ACorner.CornerRadius = UDim.new(0,8); ACorner.Parent = AntiToggle -- Critical Boost local CriticalToggle = Instance.new("TextButton") CriticalToggle.Size = UDim2.new(0.9, 0, 0, 38) CriticalToggle.Position = UDim2.new(0.05, 0, 0.62, 0) CriticalToggle.BackgroundColor3 = Color3.fromRGB(35, 35, 45) CriticalToggle.Text = "CRITICAL BOOST: OFF" CriticalToggle.TextColor3 = Color3.new(1,1,1) CriticalToggle.TextScaled = true CriticalToggle.Font = Enum.Font.GothamSemibold CriticalToggle.Parent = MainFrame local CCorners = Instance.new("UICorner"); CCorners.CornerRadius = UDim.new(0,8); CCorners.Parent = CriticalToggle -- Auto Attack Macro local AutoAttackToggle = Instance.new("TextButton") AutoAttackToggle.Size = UDim2.new(0.9, 0, 0, 38) AutoAttackToggle.Position = UDim2.new(0.05, 0, 0.76, 0) AutoAttackToggle.BackgroundColor3 = Color3.fromRGB(35, 35, 45) AutoAttackToggle.Text = "AUTO ATTACK MACRO: OFF" AutoAttackToggle.TextColor3 = Color3.new(1,1,1) AutoAttackToggle.TextScaled = true AutoAttackToggle.Font = Enum.Font.GothamSemibold AutoAttackToggle.Parent = MainFrame local AACorner = Instance.new("UICorner"); AACorner.CornerRadius = UDim.new(0,8); AACorner.Parent = AutoAttackToggle -- Auto Heavy Farm local AutoHeavyToggle = Instance.new("TextButton") AutoHeavyToggle.Size = UDim2.new(0.9, 0, 0, 38) AutoHeavyToggle.Position = UDim2.new(0.05, 0, 0.90, 0) AutoHeavyToggle.BackgroundColor3 = Color3.fromRGB(35, 35, 45) AutoHeavyToggle.Text = "AUTO HEAVY FARM: OFF" AutoHeavyToggle.TextColor3 = Color3.new(1,1,1) AutoHeavyToggle.TextScaled = true AutoHeavyToggle.Font = Enum.Font.GothamSemibold AutoHeavyToggle.Parent = MainFrame local HeavyCorner = Instance.new("UICorner"); HeavyCorner.CornerRadius = UDim.new(0,8); HeavyCorner.Parent = AutoHeavyToggle local sizeDragging = false local function UpdateSizeSlider(value) value = math.clamp(math.floor(value + 0.5), 1, 10) HitboxSettings.Size = Vector3.new(value, value, value) SizeSliderLabel.Text = "Hitbox Size: " .. value local percent = (value - 1) / 9 SliderKnob.Position = UDim2.new(percent, -12, 0.5, -12) end -- Party Detection local function IsPartyMember(plr) if not plr.Character then return false end local highlight = plr.Character:FindFirstChildWhichIsA("Highlight") if highlight and highlight.OutlineColor then local c = highlight.OutlineColor if c.R < 0.2 and c.G < 0.6 and c.B > 0.7 then return true end end return false end local function UpdatePartyList() PartyMembers = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and IsPartyMember(plr) then table.insert(PartyMembers, plr) end end end Players.PlayerAdded:Connect(UpdatePartyList) Players.PlayerRemoving:Connect(UpdatePartyList) RunService.Heartbeat:Connect(function() if tick() % 1.5 < 0.1 then UpdatePartyList() end end) -- Hitbox System local HitboxVisuals = {} local function UpdateHitboxes() -- cleanup + hitbox logic (same as before) for root, visual in pairs(HitboxVisuals) do if not root or not root.Parent or not root:FindFirstChild("Humanoid") or root:FindFirstChild("Humanoid").Health <= 0 then if visual and visual.Parent then visual:Destroy() end HitboxVisuals[root] = nil end end local myChar = LocalPlayer.Character local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart") if not myRoot then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and not table.find(PartyMembers, plr) then local root = plr.Character:FindFirstChild("HumanoidRootPart") local hum = plr.Character:FindFirstChild("Humanoid") if root and hum and hum.Health > 0 then local distance = (root.Position - myRoot.Position).Magnitude if distance <= HitboxSettings.Radius then if HitboxSettings.ShowVisual then if not HitboxVisuals[root] then local visual = Instance.new("Part") visual.Shape = Enum.PartType.Block visual.Material = Enum.Material.ForceField visual.Transparency = HitboxSettings.Transparency visual.Color = HitboxSettings.Color visual.Anchored = true visual.CanCollide = false visual.Parent = Workspace HitboxVisuals[root] = visual end local visual = HitboxVisuals[root] visual.Size = HitboxSettings.Size visual.CFrame = root.CFrame elseif HitboxVisuals[root] then HitboxVisuals[root]:Destroy() HitboxVisuals[root] = nil end if HitboxSettings.Enabled then root.Size = HitboxSettings.Size root.Transparency = 0.8 root.CanCollide = false else root.Size = Vector3.new(2, 2, 1) root.Transparency = 0 root.CanCollide = true end else if HitboxSettings.Enabled then root.Size = Vector3.new(2, 2, 1) root.Transparency = 0 root.CanCollide = true end if HitboxVisuals[root] then HitboxVisuals[root]:Destroy() HitboxVisuals[root] = nil end end end end end end -- DYNAMIC MACRO, Critical Boost, etc. (same as previous stable versions) -- Strong Camera Lock local Camera = Workspace.CurrentCamera local cameraLockConn local function UpdateCameraLock() if not AutoHeavySettings.Enabled then return end local targetRoot = GetClosestEnemy() if targetRoot then local targetPos = targetRoot.Position + Vector3.new(0, 2.5, 0) Camera.CFrame = CFrame.lookAt(Camera.CFrame.Position, targetPos) end end local function EnableCameraLock() if cameraLockConn then cameraLockConn:Disconnect() end cameraLockConn = RunService.RenderStepped:Connect(UpdateCameraLock) end local function DisableCameraLock() if cameraLockConn then cameraLockConn:Disconnect() cameraLockConn = nil end end -- Auto Heavy Farm (2s under map after TP) local heavyFarmConn local lastHeavyTime = 0 local lastTeleportTime = 0 local isHidden = false local function GetClosestEnemy() local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not myRoot then return nil end local closest, dist = nil, math.huge for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and not table.find(PartyMembers, plr) then local root = plr.Character:FindFirstChild("HumanoidRootPart") local hum = plr.Character:FindFirstChild("Humanoid") if root and hum and hum.Health > 10 and not hum.PlatformStand then local d = (root.Position - myRoot.Position).Magnitude if d < dist then dist = d; closest = root end end end end return closest end local function PerformHeavyFarm() local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not myRoot then return end local targetRoot = GetClosestEnemy() if not targetRoot then if not isHidden then myRoot.CFrame += Vector3.new(0,-200,0); isHidden = true end return end -- Behind TP local behind = targetRoot.CFrame.LookVector * -5 myRoot.CFrame = targetRoot.CFrame * CFrame.new(0,2,0) + behind lastTeleportTime = tick() isHidden = false -- Heavy if tick() - lastHeavyTime >= AutoHeavySettings.Cooldown then lastHeavyTime = tick() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, game) task.wait(0.25) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.LeftShift, false, game) task.wait(0.08) VirtualInputManager:SendMouseButtonEvent(0,0,0,true,game,1) task.wait(0.05) VirtualInputManager:SendMouseButtonEvent(0,0,0,false,game,1) task.wait(0.12) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.LeftShift, false, game) end -- 2 seconds after TP → under map if tick() - lastTeleportTime >= 2 and not isHidden then myRoot.CFrame += Vector3.new(0, -250, 0) isHidden = true end end local function ManageHeavyFarm() if AutoHeavySettings.Enabled then if heavyFarmConn then heavyFarmConn:Disconnect() end heavyFarmConn = RunService.Heartbeat:Connect(PerformHeavyFarm) EnableCameraLock() else if heavyFarmConn then heavyFarmConn:Disconnect() heavyFarmConn = nil end DisableCameraLock() local myRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if myRoot then myRoot.CFrame += Vector3.new(0,50,0) end isHidden = false end end -- Controls CloseBtn.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible end) UserInputService.InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.RightShift then MainFrame.Visible = not MainFrame.Visible end end) HitboxToggle.MouseButton1Click:Connect(function() HitboxSettings.Enabled = not HitboxSettings.Enabled HitboxToggle.Text = "ENABLE HITBOX: " .. (HitboxSettings.Enabled and "ON" or "OFF") HitboxToggle.BackgroundColor3 = HitboxSettings.Enabled and Color3.fromRGB(0,200,100) or Color3.fromRGB(200,50,50) end) ShowVisualBtn.MouseButton1Click:Connect(function() HitboxSettings.ShowVisual = not HitboxSettings.ShowVisual ShowVisualBtn.Text = "SHOW VISUALS: " .. (HitboxSettings.ShowVisual and "ON" or "OFF") end) AntiToggle.MouseButton1Click:Connect(function() AntiWeaveSettings.Enabled = not AntiWeaveSettings.Enabled AntiToggle.Text = "ANTI-WEAVE STUN: " .. (AntiWeaveSettings.Enabled and "ON" or "OFF") AntiToggle.BackgroundColor3 = AntiWeaveSettings.Enabled and Color3.fromRGB(0,200,100) or Color3.fromRGB(200,50,50) -- (Anti-weave loop code here if needed) end) CriticalToggle.MouseButton1Click:Connect(function() CriticalSettings.Enabled = not CriticalSettings.Enabled CriticalToggle.Text = "CRITICAL BOOST: " .. (CriticalSettings.Enabled and "ON" or "OFF") CriticalToggle.BackgroundColor3 = CriticalSettings.Enabled and Color3.fromRGB(0,200,100) or Color3.fromRGB(200,50,50) end) AutoAttackToggle.MouseButton1Click:Connect(function() AutoAttackSettings.Enabled = not AutoAttackSettings.Enabled AutoAttackToggle.Text = "AUTO ATTACK MACRO: " .. (AutoAttackSettings.Enabled and "ON" or "OFF") AutoAttackToggle.BackgroundColor3 = AutoAttackSettings.Enabled and Color3.fromRGB(0,200,100) or Color3.fromRGB(200,50,50) end) AutoHeavyToggle.MouseButton1Click:Connect(function() AutoHeavySettings.Enabled = not AutoHeavySettings.Enabled AutoHeavyToggle.Text = "AUTO HEAVY FARM: " .. (AutoHeavySettings.Enabled and "ON" or "OFF") AutoHeavyToggle.BackgroundColor3 = AutoHeavySettings.Enabled and Color3.fromRGB(0,200,100) or Color3.fromRGB(200,50,50) ManageHeavyFarm() end) -- Slider RunService.RenderStepped:Connect(function() local mousePos = UserInputService:GetMouseLocation() if sizeDragging then local framePos = SliderFrame.AbsolutePosition local frameSize = SliderFrame.AbsoluteSize if mousePos.X >= framePos.X and mousePos.X <= framePos.X + frameSize.X then local percent = math.clamp((mousePos.X - framePos.X) / frameSize.X, 0, 1) UpdateSizeSlider(1 + percent * 9) end end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then sizeDragging = false end end) SliderKnob.MouseButton1Down:Connect(function() sizeDragging = true end) SliderKnob.TouchPan:Connect(function() sizeDragging = true end) -- Core Loop RunService.Heartbeat:Connect(UpdateHitboxes) print("FiAS CRITICAL HUB LOADED - Full UI + Strong Camera Lock + 2s Under Map")