Description

This keyless script is made by spicy hub and includes the main ESP, fly speed, invisibility and other such features. this script also supports the xeno executor.

Features

  • + Teleport to player
  • + Rejoin server
  • + Custom walk speed
  • + Player ESP
  • + Auto farm
  • + God mode
  • + Invisibility

Supported Executors

Xeno Volt Potassium Wave Delta Solara Opiumware Codex MacSploit Vega X Velocity

Script

Add Xeno Scripts as a preferred source
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!")
Script worked? 🚀 Boost it to #1 so others find it too.

Comments (0)

Log in to add a comment.