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!")