Spicy Hub Fight in a School script keyless – Auto farm kill
fight in a school Keyless
Spicy Hub Fight in a School script keyless – Auto farm kill
👤 alexriderr 👁 18 views ❤️ 0 likes ⏱ Jul 28, 2026
This keyless script is developed by Spicy Hub and includes a variety of useful gameplay features to improve your overall experience. It offers ESP, Fly Speed, Invisibility, and several additional utility functions that make exploration and movement much easier. The script is also compatible with the Xeno executor, making it accessible to a wider range of users.
✨ Features
Teleport to Player Rejoin Server Custom Walk Speed Player ESP Auto Farm God Mode Invisibility
📋 Script Code
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> 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> 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  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!")
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game fight in a school
TypeKeyless
Authoralexriderr
Views18
Likes0
PublishedJul 28, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Naval Warfare script
Naval Warfare script
Naval Warfare • 👁 2
Keyless
PhantomHub MM2 KEYLESS OP
PhantomHub MM2 KEYLESS OP
Murder Mystery 2 • 👁 7
Keyless
Forsaken Auto Block V2 | OpenSource
Forsaken Auto Block V2 | OpenSource
Forsaken • 👁 9
Keyless
Butterfly Legends script keyless
Butterfly Legends script keyless
Butterfly Legends • 👁 7
Keyless
Claw Fishing script keyless OP
Claw Fishing script keyless OP
Claw Fishing • 👁 9
Keyless