-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- Spicy Hub | Fight in a School: Ultimate Mobile Testing Script (Flat Down Position Fix) -- Compatible with iOS / Delta Executor local Players = game:GetService("Players") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local TeleportService = game:GetService("TeleportService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- Clean up previous instances completely if CoreGui:FindFirstChild("SchoolFightGUI") then CoreGui.SchoolFightGUI:Destroy() end if CoreGui:FindFirstChild("SchoolFightItemsGUI") then CoreGui.SchoolFightItemsGUI:Destroy() end -- ScreenGui Setup local parentTarget = CoreGui pcall(function() local testGui = Instance.new("ScreenGui") testGui.Parent = CoreGui testGui:Destroy() end) local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SchoolFightGUI" ScreenGui.IgnoreGuiInset = true ScreenGui.ResetOnSpawn = false ScreenGui.Parent = parentTarget -- ========================================== -- LOADING SCREEN SYSTEM -- ========================================== local LoadFrame = Instance.new("Frame") LoadFrame.Size = UDim2.new(1, 0, 1, 0) LoadFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 12) LoadFrame.ZIndex = 2000 LoadFrame.Parent = ScreenGui local Spinner = Instance.new("TextLabel") Spinner.Size = UDim2.new(0, 100, 0, 100) Spinner.Position = UDim2.new(0.5, -50, 0.4, -50) Spinner.BackgroundTransparency = 1 Spinner.Text = "🌶️" Spinner.TextSize = 70 Spinner.ZIndex = 2001 Spinner.Parent = LoadFrame local LoadText = Instance.new("TextLabel") LoadText.Size = UDim2.new(0, 300, 0, 40) LoadText.Position = UDim2.new(0.5, -150, 0.4, 50) LoadText.BackgroundTransparency = 1 LoadText.TextColor3 = Color3.fromRGB(255, 70, 70) LoadText.Text = "S P I C Y H U B" LoadText.Font = Enum.Font.GothamBold LoadText.TextSize = 22 LoadText.ZIndex = 2001 LoadText.Parent = LoadFrame local SubText = Instance.new("TextLabel") SubText.Size = UDim2.new(0, 300, 0, 20) SubText.Position = UDim2.new(0.5, -150, 0.4, 85) SubText.BackgroundTransparency = 1 SubText.TextColor3 = Color3.fromRGB(150, 150, 150) SubText.Text = "LOADING FIGHT IN A SCHOOL..." SubText.Font = Enum.Font.GothamMedium SubText.TextSize = 12 SubText.ZIndex = 2001 SubText.Parent = LoadFrame -- Floating Pepper Toggle Button (Custom Modern Style) local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0, 56, 0, 56) ToggleButton.Position = UDim2.new(0, 20, 0, 140) ToggleButton.BackgroundColor3 = Color3.fromRGB(18, 18, 22) ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.Text = "🌶️" ToggleButton.TextSize = 28 ToggleButton.Font = Enum.Font.SourceSansBold ToggleButton.ZIndex = 999 ToggleButton.Active = true ToggleButton.Draggable = true ToggleButton.Visible = false ToggleButton.Parent = ScreenGui local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(1, 0) ToggleCorner.Parent = ToggleButton local ToggleStroke = Instance.new("UIStroke") ToggleStroke.Color = Color3.fromRGB(255, 70, 70) ToggleStroke.Thickness = 2.5 ToggleStroke.Parent = ToggleButton -- Main Window Frame (Ultra Modern Glassmorphic UI Design) local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 440, 0, 340) MainFrame.Position = UDim2.new(0.5, -220, 0.5, -170) MainFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 16) MainFrame.BackgroundTransparency = 0.05 MainFrame.Visible = false MainFrame.Active = true MainFrame.Draggable = true MainFrame.ZIndex = 100 MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 12) MainCorner.Parent = MainFrame local MainStroke = Instance.new("UIStroke") MainStroke.Color = Color3.fromRGB(50, 50, 65) MainStroke.Thickness = 1.5 MainStroke.Parent = MainFrame -- Title Bar local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 42) Title.BackgroundColor3 = Color3.fromRGB(18, 18, 24) Title.TextColor3 = Color3.fromRGB(245, 245, 250) Title.Text = " 🌶️ Spicy Hub | Fight in a School" Title.TextSize = 14 Title.Font = Enum.Font.GothamBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.ZIndex = 101 Title.Parent = MainFrame local TitleCorner = Instance.new("UICorner") TitleCorner.CornerRadius = UDim.new(0, 12) TitleCorner.Parent = Title -- Close / Reopen Button (X) local CloseButton = Instance.new("TextButton") CloseButton.Size = UDim2.new(0, 30, 0, 30) CloseButton.Position = UDim2.new(1, -38, 0, 6) CloseButton.BackgroundColor3 = Color3.fromRGB(210, 45, 45) CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.Text = "✕" CloseButton.TextSize = 12 CloseButton.Font = Enum.Font.GothamBold CloseButton.ZIndex = 102 CloseButton.Parent = MainFrame local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 8) CloseCorner.Parent = CloseButton -- Resize Handle (Bottom-Right Corner Dragging) local ResizeButton = Instance.new("TextButton") ResizeButton.Size = UDim2.new(0, 22, 0, 22) ResizeButton.Position = UDim2.new(1, -22, 1, -22) ResizeButton.BackgroundTransparency = 1 ResizeButton.Text = "◢" ResizeButton.TextColor3 = Color3.fromRGB(130, 130, 150) ResizeButton.TextSize = 12 ResizeButton.Font = Enum.Font.GothamBold ResizeButton.ZIndex = 150 ResizeButton.Parent = MainFrame local resizing = false local dragStartPos = Vector2.new(0, 0) local startSize = UDim2.new(0, 440, 0, 340) ResizeButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then resizing = true dragStartPos = Vector2.new(input.Position.X, input.Position.Y) startSize = MainFrame.AbsoluteSize end end) UserInputService.InputChanged:Connect(function(input) if resizing and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local deltaX = input.Position.X - dragStartPos.X local deltaY = input.Position.Y - dragStartPos.Y local newWidth = math.clamp(startSize.X + deltaX, 340, 720) local newHeight = math.clamp(startSize.Y + deltaY, 240, 580) MainFrame.Size = UDim2.new(0, newWidth, 0, newHeight) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then resizing = false end end) -- Scrolling Container for Options local ScrollingFrame = Instance.new("ScrollingFrame") ScrollingFrame.Size = UDim2.new(1, -12, 1, -52) ScrollingFrame.Position = UDim2.new(0, 6, 0, 46) ScrollingFrame.BackgroundTransparency = 1 ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 1500) ScrollingFrame.ScrollBarThickness = 3 ScrollingFrame.ZIndex = 101 ScrollingFrame.Parent = MainFrame local UIListLayout = Instance.new("UIListLayout") UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 8) UIListLayout.Parent = ScrollingFrame -- Helper Function to Create Toggle Buttons local function createButton(name, text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 38) btn.BackgroundColor3 = Color3.fromRGB(22, 22, 30) btn.TextColor3 = Color3.fromRGB(225, 225, 235) btn.Text = text .. ": OFF" btn.TextSize = 13 btn.Font = Enum.Font.GothamMedium btn.ZIndex = 102 btn.Parent = ScrollingFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = btn local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(40, 40, 55) stroke.Thickness = 1 stroke.Parent = btn local active = false btn.MouseButton1Click:Connect(function() active = not active if active then btn.BackgroundColor3 = Color3.fromRGB(35, 145, 75) stroke.Color = Color3.fromRGB(60, 215, 110) btn.Text = text .. ": ON" else btn.BackgroundColor3 = Color3.fromRGB(22, 22, 30) stroke.Color = Color3.fromRGB(40, 40, 55) btn.Text = text .. ": OFF" end callback(active) end) end -- Helper Function to Create Action Buttons local function createActionButton(text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 38) btn.BackgroundColor3 = Color3.fromRGB(65, 45, 140) btn.TextColor3 = Color3.fromRGB(245, 245, 255) btn.Text = text btn.TextSize = 13 btn.Font = Enum.Font.GothamBold btn.ZIndex = 102 btn.Parent = ScrollingFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = btn local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(95, 70, 195) stroke.Thickness = 1 stroke.Parent = btn btn.MouseButton1Click:Connect(function() callback() end) end -- Helper Function to Create Text Inputs local function createInputRow(name, defaultVal, callback) local container = Instance.new("Frame") container.Size = UDim2.new(1, 0, 0, 44) container.BackgroundColor3 = Color3.fromRGB(18, 18, 24) container.ZIndex = 102 container.Parent = ScrollingFrame local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = container local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(38, 38, 50) stroke.Thickness = 1 stroke.Parent = container local label = Instance.new("TextLabel") label.Size = UDim2.new(0.5, 0, 1, 0) label.Position = UDim2.new(0, 12, 0, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(215, 215, 225) label.Text = name label.TextSize = 13 label.Font = Enum.Font.Gotham label.TextXAlignment = Enum.TextXAlignment.Left label.ZIndex = 103 label.Parent = container local textBox = Instance.new("TextBox") textBox.Size = UDim2.new(0, 120, 0, 30) textBox.Position = UDim2.new(1, -128, 0.5, -15) textBox.BackgroundColor3 = Color3.fromRGB(30, 30, 40) textBox.TextColor3 = Color3.fromRGB(255, 255, 255) textBox.Text = tostring(defaultVal) textBox.TextSize = 13 textBox.Font = Enum.Font.GothamBold textBox.ZIndex = 103 textBox.Parent = container local tboxCorner = Instance.new("UICorner") tboxCorner.CornerRadius = UDim.new(0, 6) tboxCorner.Parent = textBox textBox.FocusLost:Connect(function() callback(textBox.Text) end) end -- Feature States & Variables local espActive = false local targetLockActive = false local flyActive = false local invisActive = false local godModeActive = false local autoKillActive = false local customSpeed = 16 local speedActive = false local customJump = 50 local jumpActive = false local flySpeedVal = 50 local toolNameToGive = "Bat" local targetPlayerName = "" -- Safe Glitch-Free Teleport Function (Flat horizontal alignment above target) local function safeTeleportTo(targetCFrame) local character = LocalPlayer.Character if not character then return end local rootPart = character:FindFirstChild("HumanoidRootPart") local humanoid = character:FindFirstChild("Humanoid") if not rootPart or not humanoid then return end rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.CFrame = targetCFrame rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) task.spawn(function() pcall(function() for i = 1, 3 do if rootPart then rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) end task.wait(0.05) end end) end) end -- Open/Close Handlers local function toggleUI() MainFrame.Visible = not MainFrame.Visible end ToggleButton.MouseButton1Click:Connect(toggleUI) CloseButton.MouseButton1Click:Connect(toggleUI) -- UI Controls Construction createButton("ESPToggle", "Player ESP", function(state) espActive = state end) createButton("TargetLockToggle", "Target Lock", function(state) targetLockActive = state end) createButton("FlyToggle", "Mobile Fly Mode", function(state) flyActive = state end) createInputRow("Fly Speed", "50", function(val) local num = tonumber(val) if num then flySpeedVal = num end end) createButton("InvisToggle", "Invisibility", function(state) invisActive = state end) createButton("GodModeToggle", "Undying God Mode", function(state) godModeActive = state end) createButton("AutoKillToggle", "Auto Kill Farm", function(state) autoKillActive = state end) createInputRow("Target Player", "Username", function(val) targetPlayerName = val end) createActionButton("Teleport to Player", function() pcall(function() for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer and (p.Name:lower():sub(1, #targetPlayerName) == targetPlayerName:lower() or p.DisplayName:lower():sub(1, #targetPlayerName) == targetPlayerName:lower()) then if p.Character and p.Character:FindFirstChild("HumanoidRootPart") then -- Positioned flat right above them (feet pointing down normally, looking forward/down at them) safeTeleportTo(CFrame.new(p.Character.HumanoidRootPart.Position + Vector3.new(0, 3.5, 0), p.Character.HumanoidRootPart.Position)) break end end end end) end) createActionButton("Server Hop", function() pcall(function() local servers = {} local req = game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100") local data = game:GetService("HttpService"):JSONDecode(req) if data and data.data then for _, s in ipairs(data.data) do if type(s) == "table" and s.id and s.playing < s.maxPlayers then table.insert(servers, s.id) end end end if #servers > 0 then TeleportService:TeleportToPlaceInstance(game.PlaceId, servers[math.random(1, #servers)], LocalPlayer) else TeleportService:Teleport(game.PlaceId, LocalPlayer) end end) end) createActionButton("Rejoin Server", function() pcall(function() TeleportService:Teleport(game.PlaceId, LocalPlayer) end) end) createButton("SpeedToggle", "Custom WalkSpeed", function(state) speedActive = state end) createInputRow("Set Speed", "16", function(val) local num = tonumber(val) if num then customSpeed = num end end) createButton("JumpToggle", "Custom JumpPower", function(state) jumpActive = state end) createInputRow("Set Jump", "50", function(val) local num = tonumber(val) if num then customJump = num end end) createInputRow("Tool Name", "Bat", function(val) toolNameToGive = val end) -- Functional Tool Giver local function giveFunctionalTool(name) pcall(function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if not backpack then return end local originalTool = nil for _, obj in ipairs(game:GetDescendants()) do if obj:IsA("Tool") and obj.Name:lower() == name:lower() then originalTool = obj break end end if originalTool then local clonedTool = originalTool:Clone() for _, desc in ipairs(clonedTool:GetDescendants()) do if desc:IsA("LocalScript") then desc.Enabled = true end end clonedTool.Parent = backpack else local newTool = Instance.new("Tool") newTool.Name = name local handle = Instance.new("Part") handle.Name = "Handle" handle.Size = Vector3.new(1, 1, 3) handle.Parent = newTool newTool.Parent = backpack end end) end createActionButton("Give Yourself Tool", function() giveFunctionalTool(toolNameToGive) end) -- Item Spawner Catalog GUI local function openItemSpawnerScreen() pcall(function() if parentTarget:FindFirstChild("SchoolFightItemsGUI") then parentTarget.SchoolFightItemsGUI:Destroy() end local itemsGui = Instance.new("ScreenGui") itemsGui.Name = "SchoolFightItemsGUI" itemsGui.IgnoreGuiInset = true itemsGui.ResetOnSpawn = false itemsGui.Parent = parentTarget local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 360, 0, 340) frame.Position = UDim2.new(0.5, -180, 0.5, -170) frame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) frame.Active = true frame.Draggable = true frame.ZIndex = 200 frame.Parent = itemsGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 10) corner.Parent = frame local titleLbl = Instance.new("TextLabel") titleLbl.Size = UDim2.new(1, 0, 0, 38) titleLbl.BackgroundColor3 = Color3.fromRGB(22, 22, 28) titleLbl.TextColor3 = Color3.fromRGB(245, 245, 250) titleLbl.Text = " 🌶️ Item Spawner Catalog" titleLbl.TextSize = 14 titleLbl.Font = Enum.Font.GothamBold titleLbl.TextXAlignment = Enum.TextXAlignment.Left titleLbl.ZIndex = 201 titleLbl.Parent = frame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 10) titleCorner.Parent = titleLbl local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 28, 0, 28) closeBtn.Position = UDim2.new(1, -34, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(210, 45, 45) closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.Text = "✕" closeBtn.Font = Enum.Font.GothamBold closeBtn.ZIndex = 202 closeBtn.Parent = frame local closeBtnCorner = Instance.new("UICorner") closeBtnCorner.CornerRadius = UDim.new(0, 6) closeBtnCorner.Parent = closeBtn closeBtn.MouseButton1Click:Connect(function() itemsGui:Destroy() end) local scroll = Instance.new("ScrollingFrame") scroll.Size = UDim2.new(1, -12, 1, -48) scroll.Position = UDim2.new(0, 6, 0, 42) scroll.BackgroundTransparency = 1 scroll.CanvasSize = UDim2.new(0, 0, 0, 0) scroll.ScrollBarThickness = 3 scroll.ZIndex = 201 scroll.Parent = frame local listLayout = Instance.new("UIListLayout") listLayout.Padding = UDim.new(0, 6) listLayout.Parent = scroll local discoveredTools = {} for _, obj in ipairs(game:GetDescendants()) do if obj:IsA("Tool") and not discoveredTools[obj.Name] then discoveredTools[obj.Name] = true end end local count = 0 for toolName, _ in pairs(discoveredTools) do count = count + 1 local itemBtn = Instance.new("TextButton") itemBtn.Size = UDim2.new(1, 0, 0, 36) itemBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 34) itemBtn.TextColor3 = Color3.fromRGB(235, 235, 240) itemBtn.Text = "Spawn: " .. toolName itemBtn.TextSize = 13 itemBtn.Font = Enum.Font.GothamMedium itemBtn.ZIndex = 202 itemBtn.Parent = scroll local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = itemBtn itemBtn.MouseButton1Click:Connect(function() giveFunctionalTool(toolName) end) end scroll.CanvasSize = UDim2.new(0, 0, 0, count * 42) end) end -- Chat Command Listener Hook (;give) LocalPlayer.Chatted:Connect(function(message) local msg = message:lower() if msg == ";give" then openItemSpawnerScreen() end end) -- Dedicated Mobile Flight Input Tracking local moveForward, moveBackward, moveLeft, moveRight = false, false, false, false UserInputService.InputBegan:Connect(function(input, gameProcessed) if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.Up then moveForward = true end if input.KeyCode == Enum.KeyCode.S or input.KeyCode == Enum.KeyCode.Down then moveBackward = true end if input.KeyCode == Enum.KeyCode.A or input.KeyCode == Enum.KeyCode.Left then moveLeft = true end if input.KeyCode == Enum.KeyCode.D or input.KeyCode == Enum.KeyCode.Right then moveRight = true end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.Up then moveForward = false end if input.KeyCode == Enum.KeyCode.S or input.KeyCode == Enum.KeyCode.Down then moveBackward = false end if input.KeyCode == Enum.KeyCode.A or input.KeyCode == Enum.KeyCode.Left then moveLeft = false end if input.KeyCode == Enum.KeyCode.D or input.KeyCode == Enum.KeyCode.Right then moveRight = false end end) -- Deep Health & Character Core Protection Bypass local function applyBypassedGodMode(character) local humanoid = character:WaitForChild("Humanoid", 5) local rootPart = character:WaitForChild("HumanoidRootPart", 5) if humanoid then pcall(function() humanoid.MaxHealth = math.huge humanoid.Health = math.huge end) pcall(function() humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding, false) end) humanoid.HealthChanged:Connect(function(health) if godModeActive then if health < humanoid.MaxHealth or health <= 0 then pcall(function() humanoid.MaxHealth = math.huge humanoid.Health = math.huge end) end end end) end end if LocalPlayer.Character then task.spawn(function() applyBypassedGodMode(LocalPlayer.Character) end) end LocalPlayer.CharacterAdded:Connect(function(newChar) task.spawn(function() applyBypassedGodMode(newChar) end) end) -- Loading Screen Animation & Reveal Sequence task.spawn(function() local rotateTween = TweenService:Create(Spinner, TweenInfo.new(2, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, -1), {Rotation = 360}) rotateTween:Play() task.wait(2.0) local fadeInfo = TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) TweenService:Create(LoadFrame, fadeInfo, {BackgroundTransparency = 1}):Play() TweenService:Create(Spinner, fadeInfo, {TextTransparency = 1}):Play() TweenService:Create(LoadText, fadeInfo, {TextTransparency = 1}):Play() TweenService:Create(SubText, fadeInfo, {TextTransparency = 1}):Play() task.wait(0.4) LoadFrame:Destroy() ToggleButton.Visible = true MainFrame.Visible = true end) -- Core Game Loop RunService.RenderStepped:Connect(function() pcall(function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChild("Humanoid") local rootPart = character:FindFirstChild("HumanoidRootPart") if humanoid then if speedActive then humanoid.WalkSpeed = customSpeed end if jumpActive then humanoid.JumpPower = customJump end if godModeActive then pcall(function() if humanoid.MaxHealth ~= math.huge then humanoid.MaxHealth = math.huge end if humanoid.Health < math.huge then humanoid.Health = math.huge end humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false) humanoid:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding, false) end) else pcall(function() if humanoid.MaxHealth == math.huge then humanoid.MaxHealth = 100 end humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, true) humanoid:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, true) humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, true) end) end end -- Mobile Flight Logic with Fly Speed if flyActive and rootPart then local att = rootPart:FindFirstChild("SchoolFlyAttachment") local vecForce = rootPart:FindFirstChild("SchoolFlyForce") if not att then att = Instance.new("Attachment") att.Name = "SchoolFlyAttachment" att.Parent = rootPart vecForce = Instance.new("VectorForce") vecForce.Name = "SchoolFlyForce" vecForce.Attachment0 = att vecForce.RelativeTo = Enum.ActuatorRelativeTo.World vecForce.Parent = rootPart end local camVectors = Camera.CFrame local pushDir = Vector3.new(0, 0, 0) local thumbstickMove = humanoid and humanoid.MoveDirection or Vector3.new(0, 0, 0) if thumbstickMove.Magnitude > 0 then pushDir = thumbstickMove * (flySpeedVal * 2) else if moveForward then pushDir = pushDir + camVectors.LookVector end if moveBackward then pushDir = pushDir - camVectors.LookVector end if moveLeft then pushDir = pushDir - camVectors.RightVector end if moveRight then pushDir = pushDir + camVectors.RightVector end pushDir = pushDir.Unit * (flySpeedVal * 2) if tostring(pushDir.X) == "nan" then pushDir = Vector3.new(0, 0, 0) end end local totalMass = 0 for _, p in ipairs(character:GetDescendants()) do if p:IsA("BasePart") then totalMass = totalMass + p.AssemblyMass end end vecForce.Force = (pushDir * 60) + Vector3.new(0, Workspace.Gravity * totalMass, 0) rootPart.AssemblyLinearVelocity = Vector3.new(pushDir.X, 0, pushDir.Z) if humanoid and not godModeActive then humanoid.PlatformStand = true end else if rootPart then if rootPart:FindFirstChild("SchoolFlyAttachment") then rootPart.SchoolFlyAttachment:Destroy() end if rootPart:FindFirstChild("SchoolFlyForce") then rootPart.SchoolFlyForce:Destroy() end end if humanoid and not flyActive then if not godModeActive then humanoid.PlatformStand = false end end end -- Invisibility Logic for _, part in ipairs(character:GetDescendants()) do if part:IsA("BasePart") or part:IsA("Decal") then if part.Name ~= "HumanoidRootPart" then if invisActive then part.Transparency = 1 else part.Transparency = 0 end end end end -- Target Finding Utility (Closest Valid Enemy) local function getClosestPlayer() local target = nil local shortestDist = math.huge local mousePos = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local pChar = player.Character local hum = pChar:FindFirstChild("Humanoid") local rPart = pChar:FindFirstChild("HumanoidRootPart") if hum and hum.Health > 0 and rPart then local screenPos, onScreen = Camera:WorldToViewportPoint(rPart.Position) if onScreen then local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude if dist < shortestDist then shortestDist = dist target = rPart end end end end end return target end -- Target Lock Logic local currentTarget = getClosestPlayer() if currentTarget and targetLockActive and rootPart then rootPart.CFrame = CFrame.new(rootPart.Position, Vector3.new(currentTarget.Position.X, rootPart.Position.Y, currentTarget.Position.Z)) end -- Auto Kill Farm Logic (Flat standing upright above them, normal orientation for melee combat hits) if autoKillActive and rootPart then for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local pChar = player.Character local pHum = pChar:FindFirstChild("Humanoid") local pRoot = pChar:FindFirstChild("HumanoidRootPart") if pHum and pHum.Health > 0 and pRoot then rootPart.CFrame = CFrame.new(pRoot.Position + Vector3.new(0, 3.5, 0), pRoot.Position) rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) break end end end end -- ESP Rendering Loop for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local pChar = player.Character local pRoot = pChar:FindFirstChild("HumanoidRootPart") if pRoot then local highlight = pChar:FindFirstChild("SchoolESP") if espActive then if not highlight then highlight = Instance.new("Highlight") highlight.Name = "SchoolESP" highlight.Adornee = pChar highlight.FillColor = Color3.fromRGB(255, 60, 60) highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.Parent = pChar end else if highlight then highlight:Destroy() end end end end end end) end) print("Spicy Hub | Fight in a School Loaded Successfully!")