-- [[ 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 ]]
-- Advanced Multi-Hub v6.7 (Flame Red & Black + Spin, Fly, Anti-AFK, Click TP, Warning, Search Bar, Reset & Credits)
-- LocalScript: StarterPlayer > StarterPlayerScripts
-- Made by veryvare
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local ContextActionService = game:GetService("ContextActionService")
local player = Players.LocalPlayer
--------------------------------------------------
-- GUI CREATION & CORE LAYOUT
--------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "MultiHubFlameUI"
gui.ResetOnSpawn = false
gui.Parent = CoreGui:FindFirstChild("RobloxGui") or player:WaitForChild("PlayerGui")
local main = Instance.new("Frame")
main.Size = UDim2.new(0, 480, 0, 440)
main.Position = UDim2.new(0.5, -240, 0.5, -220)
main.BackgroundColor3 = Color3.fromRGB(12, 10, 10)
main.BorderSizePixel = 0
main.ClipsDescendants = true
main.Parent = gui
-- Opening Animation
main.Size = UDim2.new(0, 0, 0, 0)
main.Position = UDim2.new(0.5, 0, 0.5, 0)
TweenService:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(0, 480, 0, 440), Position = UDim2.new(0.5, -240, 0.5, -220) }):Play()
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 12)
mainCorner.Parent = main
local mainStroke = Instance.new("UIStroke")
mainStroke.Color = Color3.fromRGB(255, 60, 0)
mainStroke.Thickness = 1.5
mainStroke.Transparency = 0.2
mainStroke.Parent = main
--------------------------------------------------
-- TOP HEADER (TITLE, TABS, MINIMIZE)
--------------------------------------------------
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 40)
header.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
header.BorderSizePixel = 0
header.Parent = main
local title = Instance.new("TextLabel")
title.Size = UDim2.new(0, 120, 1, 0)
title.Position = UDim2.new(0, 15, 0, 0)
title.BackgroundTransparency = 1
title.Text = "MULTI HUB"
title.RichText = true
title.Font = Enum.Font.GothamBold
title.TextSize = 12
title.TextColor3 = Color3.new(1, 1, 1)
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = header
-- Tab Switcher Container
local tabContainer = Instance.new("Frame")
tabContainer.Size = UDim2.new(0, 200, 0, 26)
tabContainer.Position = UDim2.new(0, 120, 0.5, -13)
tabContainer.BackgroundTransparency = 1
tabContainer.Parent = header
local tabLayout = Instance.new("UIListLayout")
tabLayout.FillDirection = Enum.FillDirection.Horizontal
tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
tabLayout.Padding = UDim.new(0, 6)
tabLayout.Parent = tabContainer
local function createTabButton(text, active)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 60, 1, 0)
btn.BackgroundColor3 = active and Color3.fromRGB(45, 15, 10) or Color3.fromRGB(22, 14, 14)
btn.Text = text
btn.Font = Enum.Font.GothamBold
btn.TextSize = 10
btn.TextColor3 = active and Color3.fromRGB(255, 90, 30) or Color3.fromRGB(150, 90, 80)
btn.Parent = tabContainer
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = btn
local stroke = Instance.new("UIStroke")
stroke.Color = active and Color3.fromRGB(255, 60, 0) or Color3.fromRGB(50, 25, 20)
stroke.Thickness = 1
stroke.Parent = btn
return btn
end
local tab1Btn = createTabButton("TROLL", true)
local tab2Btn = createTabButton("MOVE", false)
local tab3Btn = createTabButton("UTILITY", false)
-- Minimieren Button
local minimizeBtn = Instance.new("TextButton")
minimizeBtn.Size = UDim2.new(0, 24, 0, 24)
minimizeBtn.Position = UDim2.new(1, -34, 0.5, -12)
minimizeBtn.BackgroundColor3 = Color3.fromRGB(25, 14, 14)
minimizeBtn.Text = "-"
minimizeBtn.Font = Enum.Font.GothamBold
minimizeBtn.TextSize = 13
minimizeBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
minimizeBtn.Parent = header
local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 6)
minCorner.Parent = minimizeBtn
local minStroke = Instance.new("UIStroke")
minStroke.Color = Color3.fromRGB(180, 40, 0)
minStroke.Thickness = 1
minStroke.Transparency = 0.4
minStroke.Parent = minimizeBtn
-- Dragging System
local dragging, dragStart, startPosition
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPosition = main.Position
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - dragStart
main.Position = UDim2.new(startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)
--------------------------------------------------
-- MAIN CONTENT VIEWS
--------------------------------------------------
local contentContainer = Instance.new("Frame")
contentContainer.Size = UDim2.new(1, 0, 1, -40)
contentContainer.Position = UDim2.new(0, 0, 0, 40)
contentContainer.BackgroundTransparency = 1
contentContainer.Parent = main
-- Tab 1: Troll Panel
local trollTab = Instance.new("Frame")
trollTab.Size = UDim2.new(1, 0, 1, 0)
trollTab.BackgroundTransparency = 1
trollTab.Visible = true
trollTab.Parent = contentContainer
-- Tab 2: Movement Panel
local moveTab = Instance.new("Frame")
moveTab.Size = UDim2.new(1, 0, 1, 0)
moveTab.BackgroundTransparency = 1
moveTab.Visible = false
moveTab.Parent = contentContainer
-- Tab 3: Utility Panel
local utilityTab = Instance.new("Frame")
utilityTab.Size = UDim2.new(1, 0, 1, 0)
utilityTab.BackgroundTransparency = 1
utilityTab.Visible = false
utilityTab.Parent = contentContainer
--------------------------------------------------
-- TAB 1 LOGIC (TROLL PANEL)
--------------------------------------------------
local leftColumn = Instance.new("Frame")
leftColumn.Size = UDim2.new(0, 190, 1, -20)
leftColumn.Position = UDim2.new(0, 12, 0, 10)
leftColumn.BackgroundTransparency = 1
leftColumn.Parent = trollTab
local selectedLabel = Instance.new("TextLabel")
selectedLabel.Size = UDim2.new(1, 0, 0, 26)
selectedLabel.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
selectedLabel.Text = "Target: None"
selectedLabel.Font = Enum.Font.GothamMedium
selectedLabel.TextSize = 11
selectedLabel.TextColor3 = Color3.fromRGB(255, 140, 100)
selectedLabel.Parent = leftColumn
local statusCorner = Instance.new("UICorner")
statusCorner.CornerRadius = UDim.new(0, 6)
statusCorner.Parent = selectedLabel
local statusStroke = Instance.new("UIStroke")
statusStroke.Color = Color3.fromRGB(50, 25, 20)
statusStroke.Thickness = 1
statusStroke.Parent = selectedLabel
-- Search Bar for Player List
local searchBox = Instance.new("TextBox")
searchBox.Size = UDim2.new(1, 0, 0, 26)
searchBox.Position = UDim2.new(0, 0, 0, 31)
searchBox.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
searchBox.PlaceholderText = "Search player..."
searchBox.PlaceholderColor3 = Color3.fromRGB(100, 60, 50)
searchBox.Text = ""
searchBox.Font = Enum.Font.GothamMedium
searchBox.TextSize = 11
searchBox.TextColor3 = Color3.fromRGB(220, 220, 220)
searchBox.ClearTextOnFocus = false
searchBox.Parent = leftColumn
local searchCorner = Instance.new("UICorner")
searchCorner.CornerRadius = UDim.new(0, 6)
searchCorner.Parent = searchBox
local searchStroke = Instance.new("UIStroke")
searchStroke.Color = Color3.fromRGB(50, 25, 20)
searchStroke.Thickness = 1
searchStroke.Parent = searchBox
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Size = UDim2.new(1, 0, 1, -142)
scrollFrame.Position = UDim2.new(0, 0, 0, 62)
scrollFrame.BackgroundTransparency = 1
scrollFrame.BorderSizePixel = 0
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.ScrollBarThickness = 3
scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(255, 60, 0)
scrollFrame.Parent = leftColumn
local uiLayout = Instance.new("UIListLayout")
uiLayout.SortOrder = Enum.SortOrder.LayoutOrder
uiLayout.Padding = UDim.new(0, 5)
uiLayout.Parent = scrollFrame
uiLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, uiLayout.AbsoluteContentSize.Y)
end)
local refreshBtn = Instance.new("TextButton")
refreshBtn.Size = UDim2.new(1, 0, 0, 30)
refreshBtn.Position = UDim2.new(0, 0, 1, -70)
refreshBtn.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
refreshBtn.Text = "REFRESH LIST"
refreshBtn.Font = Enum.Font.GothamBold
refreshBtn.TextSize = 10
refreshBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
refreshBtn.Parent = leftColumn
local refreshCorner = Instance.new("UICorner")
refreshCorner.CornerRadius = UDim.new(0, 6)
refreshCorner.Parent = refreshBtn
local refreshStroke = Instance.new("UIStroke")
refreshStroke.Color = Color3.fromRGB(180, 40, 0)
refreshStroke.Thickness = 1
refreshStroke.Transparency = 0.4
refreshStroke.Parent = refreshBtn
local unloadBtn = Instance.new("TextButton")
unloadBtn.Size = UDim2.new(1, 0, 0, 30)
unloadBtn.Position = UDim2.new(0, 0, 1, -34)
unloadBtn.BackgroundColor3 = Color3.fromRGB(45, 12, 12)
unloadBtn.Text = "UNLOAD MENU"
unloadBtn.Font = Enum.Font.GothamBold
unloadBtn.TextSize = 10
unloadBtn.TextColor3 = Color3.fromRGB(255, 80, 80)
unloadBtn.Parent = leftColumn
local unloadCorner = Instance.new("UICorner")
unloadCorner.CornerRadius = UDim.new(0, 6)
unloadCorner.Parent = unloadBtn
local unloadStroke = Instance.new("UIStroke")
unloadStroke.Color = Color3.fromRGB(255, 80, 80)
unloadStroke.Thickness = 1
unloadStroke.Transparency = 0.4
unloadStroke.Parent = unloadBtn
local rightColumn = Instance.new("Frame")
rightColumn.Size = UDim2.new(0, 246, 1, -20)
rightColumn.Position = UDim2.new(0, 214, 0, 10)
rightColumn.BackgroundTransparency = 1
rightColumn.Parent = trollTab
local actionsLabel = Instance.new("TextLabel")
actionsLabel.Size = UDim2.new(1, 0, 0, 28)
actionsLabel.BackgroundTransparency = 1
actionsLabel.Text = "TARGET ACTIONS"
actionsLabel.Font = Enum.Font.GothamBold
actionsLabel.TextSize = 11
actionsLabel.TextColor3 = Color3.fromRGB(160, 80, 60)
actionsLabel.TextXAlignment = Enum.TextXAlignment.Left
actionsLabel.Parent = rightColumn
local actionsScroll = Instance.new("ScrollingFrame")
actionsScroll.Size = UDim2.new(1, 0, 1, -34)
actionsScroll.Position = UDim2.new(0, 0, 0, 34)
actionsScroll.BackgroundTransparency = 1
actionsScroll.BorderSizePixel = 0
actionsScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
actionsScroll.ScrollBarThickness = 3
actionsScroll.ScrollBarImageColor3 = Color3.fromRGB(255, 60, 0)
actionsScroll.Parent = rightColumn
local actionsLayout = Instance.new("UIListLayout")
actionsLayout.SortOrder = Enum.SortOrder.LayoutOrder
actionsLayout.Padding = UDim.new(0, 5)
actionsLayout.Parent = actionsScroll
actionsLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
actionsScroll.CanvasSize = UDim2.new(0, 0, 0, actionsLayout.AbsoluteContentSize.Y)
end)
local function createActionButton(name, isSpecial)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 30)
btn.BackgroundColor3 = isSpecial and Color3.fromRGB(35, 14, 10) or Color3.fromRGB(18, 12, 12)
btn.Text = name
btn.Font = Enum.Font.GothamBold
btn.TextSize = 10
btn.TextColor3 = isSpecial and Color3.fromRGB(255, 90, 30) or Color3.fromRGB(150, 90, 80)
btn.Parent = actionsScroll
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = btn
local stroke = Instance.new("UIStroke")
stroke.Color = isSpecial and Color3.fromRGB(180, 40, 0) or Color3.fromRGB(50, 25, 20)
stroke.Thickness = 1
if isSpecial then stroke.Transparency = 0.4 end
stroke.Parent = btn
return btn
end
local tpBtn = createActionButton("TELEPORT TO TARGET", true)
local watchBtn = createActionButton("SPECTATE: OFF", false)
local orbitBtn = createActionButton("ORBIT TARGET: OFF", false)
local whisperBtn = createActionButton("WHISPER SPAM: OFF", false)
local soundBtn = createActionButton("PING SOUND: OFF", false)
local voidBtn = createActionButton("VOID TARGET", true)
--------------------------------------------------
-- TAB 2 LOGIC (MOVEMENT & MODS)
--------------------------------------------------
local moveScroll = Instance.new("ScrollingFrame")
moveScroll.Size = UDim2.new(1, -24, 1, -20)
moveScroll.Position = UDim2.new(0, 12, 0, 10)
moveScroll.BackgroundTransparency = 1
moveScroll.BorderSizePixel = 0
moveScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
moveScroll.ScrollBarThickness = 3
moveScroll.ScrollBarImageColor3 = Color3.fromRGB(255, 60, 0)
moveScroll.Parent = moveTab
local moveLayout = Instance.new("UIListLayout")
moveLayout.SortOrder = Enum.SortOrder.LayoutOrder
moveLayout.Padding = UDim.new(0, 8)
moveLayout.Parent = moveScroll
moveLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
moveScroll.CanvasSize = UDim2.new(0, 0, 0, moveLayout.AbsoluteContentSize.Y)
end)
local function createMoveButton(name)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 34)
btn.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
btn.Text = name
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
btn.TextColor3 = Color3.fromRGB(255, 90, 30)
btn.Parent = moveScroll
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = btn
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(180, 40, 0)
stroke.Thickness = 1
stroke.Transparency = 0.4
stroke.Parent = btn
return btn
end
local flyBtn = createMoveButton("FLY (WASD): OFF")
local speedBtn = createMoveButton("SPEED BOOST (100): OFF")
-- Warning Label for Speed Boost (in English)
local speedWarnLabel = Instance.new("TextLabel")
speedWarnLabel.Size = UDim2.new(1, 0, 0, 18)
speedWarnLabel.BackgroundTransparency = 1
speedWarnLabel.Text = "⚠ Warning: May trigger anti-cheat kicks!"
speedWarnLabel.Font = Enum.Font.GothamMedium
speedWarnLabel.TextSize = 10
speedWarnLabel.TextColor3 = Color3.fromRGB(255, 60, 60)
speedWarnLabel.TextXAlignment = Enum.TextXAlignment.Center
speedWarnLabel.Parent = moveScroll
local jumpBtn = createMoveButton("HIGH JUMP (100): OFF")
local spinBtn = createMoveButton("SPIN CHARACTER: OFF")
local clickTpBtn = createMoveButton("CLICK TP (CTRL + CLICK): OFF")
local resetCharBtn = createMoveButton("RESET CHARACTER")
--------------------------------------------------
-- TAB 3 LOGIC (UTILITY & INFO)
--------------------------------------------------
local utilScroll = Instance.new("ScrollingFrame")
utilScroll.Size = UDim2.new(1, -24, 1, -20)
utilScroll.Position = UDim2.new(0, 12, 0, 10)
utilScroll.BackgroundTransparency = 1
utilScroll.BorderSizePixel = 0
utilScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
utilScroll.ScrollBarThickness = 3
utilScroll.ScrollBarImageColor3 = Color3.fromRGB(255, 60, 0)
utilScroll.Parent = utilityTab
local utilLayout = Instance.new("UIListLayout")
utilLayout.SortOrder = Enum.SortOrder.LayoutOrder
utilLayout.Padding = UDim.new(0, 8)
utilLayout.Parent = utilScroll
utilLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
utilScroll.CanvasSize = UDim2.new(0, 0, 0, utilLayout.AbsoluteContentSize.Y)
end)
local statsCard = Instance.new("Frame")
statsCard.Size = UDim2.new(1, 0, 0, 64)
statsCard.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
statsCard.Parent = utilScroll
local scCorner = Instance.new("UICorner")
scCorner.CornerRadius = UDim.new(0, 6)
scCorner.Parent = statsCard
local scStroke = Instance.new("UIStroke")
scStroke.Color = Color3.fromRGB(50, 25, 20)
scStroke.Thickness = 1
scStroke.Parent = statsCard
local statsLabel = Instance.new("TextLabel")
statsLabel.Size = UDim2.new(1, -16, 1, 0)
statsLabel.Position = UDim2.new(0, 8, 0, 0)
statsLabel.BackgroundTransparency = 1
statsLabel.Text = "Loading Server Stats..."
statsLabel.Font = Enum.Font.GothamMedium
statsLabel.TextSize = 11
statsLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statsLabel.TextXAlignment = Enum.TextXAlignment.Left
statsLabel.Parent = statsCard
-- Credits Card (Made by veryvare)
local creditsCard = Instance.new("Frame")
creditsCard.Size = UDim2.new(1, 0, 0, 44)
creditsCard.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
creditsCard.Parent = utilScroll
local ccCorner = Instance.new("UICorner")
ccCorner.CornerRadius = UDim.new(0, 6)
ccCorner.Parent = creditsCard
local ccStroke = Instance.new("UIStroke")
ccStroke.Color = Color3.fromRGB(255, 60, 0)
ccStroke.Thickness = 1
ccStroke.Transparency = 0.5
ccStroke.Parent = creditsCard
local creditsLabel = Instance.new("TextLabel")
creditsLabel.Size = UDim2.new(1, -16, 1, 0)
creditsLabel.Position = UDim2.new(0, 8, 0, 0)
creditsLabel.BackgroundTransparency = 1
creditsLabel.Text = "MULTI HUB v6.7\nMade by veryvare"
creditsLabel.RichText = true
creditsLabel.Font = Enum.Font.GothamBold
creditsLabel.TextSize = 11
creditsLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
creditsLabel.TextXAlignment = Enum.TextXAlignment.Left
creditsLabel.Parent = creditsCard
local function createUtilButton(name)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 34)
btn.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
btn.Text = name
btn.Font = Enum.Font.GothamBold
btn.TextSize = 11
btn.TextColor3 = Color3.fromRGB(255, 90, 30)
btn.Parent = utilScroll
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = btn
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(180, 40, 0)
stroke.Thickness = 1
stroke.Transparency = 0.4
stroke.Parent = btn
return btn
end
local rejoinBtn = createUtilButton("REJOIN SERVER")
local serverHopBtn = createUtilButton("SERVER HOP (ANOTHER SERVER)")
local fullbrightBtn = createUtilButton("FULLBRIGHT: OFF")
local gravityBtn = createUtilButton("LOW GRAVITY: OFF")
local fpsUnlockBtn = createUtilButton("FPS UNLOCKER: OFF")
local antiAfkBtn = createUtilButton("ANTI-AFK: OFF")
--------------------------------------------------
-- TAB SWITCHING BEHAVIOR
--------------------------------------------------
local function updateTabs(activeId)
trollTab.Visible = (activeId == 1)
moveTab.Visible = (activeId == 2)
utilityTab.Visible = (activeId == 3)
local tabs = {tab1Btn, tab2Btn, tab3Btn}
for i, btn in ipairs(tabs) do
local isActive = (i == activeId)
btn.BackgroundColor3 = isActive and Color3.fromRGB(45, 15, 10) or Color3.fromRGB(22, 14, 14)
btn.TextColor3 = isActive and Color3.fromRGB(255, 90, 30) or Color3.fromRGB(150, 90, 80)
btn.UIStroke.Color = isActive and Color3.fromRGB(255, 60, 0) or Color3.fromRGB(50, 25, 20)
end
end
tab1Btn.MouseButton1Click:Connect(function() updateTabs(1) end)
tab2Btn.MouseButton1Click:Connect(function() updateTabs(2) end)
tab3Btn.MouseButton1Click:Connect(function() updateTabs(3) end)
--------------------------------------------------
-- MOVEMENT & FEATURE LOGIC
--------------------------------------------------
-- Fly Logic
local flying = false
local flySpeed = 50
local keys = {w = false, s = false, a = false, d = false}
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.W then keys.w = true end
if input.KeyCode == Enum.KeyCode.S then keys.s = true end
if input.KeyCode == Enum.KeyCode.A then keys.a = true end
if input.KeyCode == Enum.KeyCode.D then keys.d = true end
end)
UserInputService.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.W then keys.w = false end
if input.KeyCode == Enum.KeyCode.S then keys.s = false end
if input.KeyCode == Enum.KeyCode.A then keys.a = false end
if input.KeyCode == Enum.KeyCode.D then keys.d = false end
end)
flyBtn.MouseButton1Click:Connect(function()
flying = not flying
if flying then
flyBtn.Text = "FLY (WASD): ON"
flyBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
flyBtn.Text = "FLY (WASD): OFF"
flyBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
if player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.PlatformStand = false
end
end
end)
-- Speed Mod
local speedActive = false
speedBtn.MouseButton1Click:Connect(function()
speedActive = not speedActive
if speedActive then
speedBtn.Text = "SPEED BOOST (100): ON"
speedBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
speedBtn.Text = "SPEED BOOST (100): OFF"
speedBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
if player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.WalkSpeed = 16
end
end
end)
-- Jump Mod
local jumpActive = false
jumpBtn.MouseButton1Click:Connect(function()
jumpActive = not jumpActive
if jumpActive then
jumpBtn.Text = "HIGH JUMP (100): ON"
jumpBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
jumpBtn.Text = "HIGH JUMP (100): OFF"
jumpBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
if player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.JumpPower = 50
player.Character.Humanoid.UseJumpPower = true
end
end
end)
-- Spin Character Logic
local spinning = false
spinBtn.MouseButton1Click:Connect(function()
spinning = not spinning
if spinning then
spinBtn.Text = "SPIN CHARACTER: ON"
spinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
spinBtn.Text = "SPIN CHARACTER: OFF"
spinBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
end
end)
-- Click TP Logic
local clickTpActive = false
clickTpBtn.MouseButton1Click:Connect(function()
clickTpActive = not clickTpActive
if clickTpActive then
clickTpBtn.Text = "CLICK TP (CTRL + CLICK): ON"
clickTpBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
clickTpBtn.Text = "CLICK TP (CTRL + CLICK): OFF"
clickTpBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
end
end)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if clickTpActive and input.UserInputType == Enum.UserInputType.MouseButton1 and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
local mouse = player:GetMouse()
if mouse.Target then
local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if root then
root.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 3, 0))
end
end
end
end)
-- Reset Character
resetCharBtn.MouseButton1Click:Connect(function()
if player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.Health = 0
end
end)
-- Anti-AFK Logic
local antiAfkActive = false
local vu = game:GetService("VirtualUser")
player.Idled:Connect(function()
if antiAfkActive then
vu:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
task.wait(1)
vu:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
end
end)
antiAfkBtn.MouseButton1Click:Connect(function()
antiAfkActive = not antiAfkActive
if antiAfkActive then
antiAfkBtn.Text = "ANTI-AFK: ON"
antiAfkBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
antiAfkBtn.Text = "ANTI-AFK: OFF"
antiAfkBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
end
end)
--------------------------------------------------
-- UTILITY & GENERAL LOOPS
--------------------------------------------------
task.spawn(function()
while true do
pcall(function()
local fps = math.round(1 / RunService.RenderStepped:Wait())
local ping = math.round(player:GetNetworkPing() * 1000)
local playersCount = #Players:GetPlayers()
statsLabel.Text = string.format("📊 SERVER INFO\n• FPS: %d | Ping: %dms\n• Players Online: %d | Place ID: %d", fps, ping, playersCount, game.PlaceId)
end)
task.wait(1)
end
end)
rejoinBtn.MouseButton1Click:Connect(function()
if #Players:GetPlayers() <= 1 then
TeleportService:Teleport(game.PlaceId, player)
else
TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, player)
end
end)
serverHopBtn.MouseButton1Click:Connect(function()
pcall(function()
local servers = HttpService:JSONDecode(game:HttpGet(string.format("https://games.roblox.com/v1/games/%d/servers/Public?sortOrder=Asc&limit=100", game.PlaceId)))
for _, s in ipairs(servers.data) do
if s.playing < s.maxPlayers and s.id ~= game.JobId then
TeleportService:TeleportToPlaceInstance(game.PlaceId, s.id, player)
break
end
end
end)
end)
local fullbrightActive = false
fullbrightBtn.MouseButton1Click:Connect(function()
fullbrightActive = not fullbrightActive
if fullbrightActive then
fullbrightBtn.Text = "FULLBRIGHT: ON"
fullbrightBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
game:GetService("Lighting").Brightness = 2
game:GetService("Lighting").ClockTime = 14
game:GetService("Lighting").GlobalShadows = false
else
fullbrightBtn.Text = "FULLBRIGHT: OFF"
fullbrightBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
game:GetService("Lighting").GlobalShadows = true
end
end)
local lowGravActive = false
gravityBtn.MouseButton1Click:Connect(function()
lowGravActive = not lowGravActive
if lowGravActive then
gravityBtn.Text = "LOW GRAVITY: ON"
gravityBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
workspace.Gravity = 50
else
gravityBtn.Text = "LOW GRAVITY: OFF"
gravityBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
workspace.Gravity = 196.2
end
end)
local fpsUnlockActive = false
fpsUnlockBtn.MouseButton1Click:Connect(function()
fpsUnlockActive = not fpsUnlockActive
pcall(function()
if fpsUnlockActive then
fpsUnlockBtn.Text = "FPS UNLOCKER: ON"
fpsUnlockBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
setfpscap(9999)
else
fpsUnlockBtn.Text = "FPS UNLOCKER: OFF"
fpsUnlockBtn.TextColor3 = Color3.fromRGB(255, 90, 30)
setfpscap(60)
end
end)
end)
--------------------------------------------------
-- TROLL & TARGET SYSTEM LOGIC
--------------------------------------------------
local minimized = false
minimizeBtn.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
minimizeBtn.Text = "+"
TweenService:Create(main, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(0, 480, 0, 40) }):Play()
contentContainer.Visible = false
else
minimizeBtn.Text = "-"
contentContainer.Visible = true
TweenService:Create(main, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = UDim2.new(0, 480, 0, 440) }):Play()
end
end)
local selectedTarget = nil
local activeCard = nil
local spectating = false
local orbiting = false
local whispering = false
local sounding = false
local angle = 0
local function refreshPlayerList()
for _, child in ipairs(scrollFrame:GetChildren()) do
if child:IsA("Frame") then child:Destroy() end
end
local filter = searchBox.Text:lower()
for _, p in ipairs(Players:GetPlayers()) do
if p ~= player then
if filter == "" or p.Name:lower():find(filter) or p.DisplayName:lower():find(filter) then
local card = Instance.new("Frame")
card.Size = UDim2.new(1, 0, 0, 26)
card.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
card.Parent = scrollFrame
local cardCorner = Instance.new("UICorner")
cardCorner.CornerRadius = UDim.new(0, 6)
cardCorner.Parent = card
local cardStroke = Instance.new("UIStroke")
cardStroke.Color = Color3.fromRGB(50, 25, 20)
cardStroke.Thickness = 1
cardStroke.Parent = card
local selectBtn = Instance.new("TextButton")
selectBtn.Size = UDim2.new(1, 0, 1, 0)
selectBtn.Position = UDim2.new(0, 8, 0, 0)
selectBtn.BackgroundTransparency = 1
selectBtn.Text = p.Name
selectBtn.Font = Enum.Font.GothamMedium
selectBtn.TextSize = 11
selectBtn.TextColor3 = Color3.fromRGB(220, 220, 220)
selectBtn.TextXAlignment = Enum.TextXAlignment.Left
selectBtn.Parent = card
if selectedTarget == p then
card.BackgroundColor3 = Color3.fromRGB(45, 15, 10)
cardStroke.Color = Color3.fromRGB(255, 60, 0)
activeCard = card
end
selectBtn.MouseButton1Click:Connect(function()
if activeCard and activeCard:FindFirstChild("UIStroke") then
activeCard.BackgroundColor3 = Color3.fromRGB(18, 12, 12)
activeCard.UIStroke.Color = Color3.fromRGB(50, 25, 20)
end
selectedTarget = p
activeCard = card
card.BackgroundColor3 = Color3.fromRGB(45, 15, 10)
cardStroke.Color = Color3.fromRGB(255, 60, 0)
selectedLabel.Text = "Target: " .. p.Name
end)
end
end
end
end
searchBox:GetPropertyChangedSignal("Text"):Connect(refreshPlayerList)
Players.PlayerAdded:Connect(refreshPlayerList)
Players.PlayerRemoving:Connect(function(p)
if selectedTarget == p then
selectedTarget = nil
selectedLabel.Text = "Target: None"
spectating, orbiting, whispering, sounding = false, false, false, false
end
refreshPlayerList()
end)
refreshPlayerList()
refreshBtn.MouseButton1Click:Connect(function()
refreshPlayerList()
end)
tpBtn.MouseButton1Click:Connect(function()
if selectedTarget and selectedTarget.Character and selectedTarget.Character:FindFirstChild("HumanoidRootPart") then
local myRoot = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if myRoot then
myRoot.CFrame = selectedTarget.Character.HumanoidRootPart.CFrame + Vector3.new(0, 3, 0)
end
end
end)
voidBtn.MouseButton1Click:Connect(function()
if selectedTarget and selectedTarget.Character and selectedTarget.Character:FindFirstChild("HumanoidRootPart") then
selectedTarget.Character.HumanoidRootPart.CFrame = CFrame.new(0, -500, 0)
end
end)
watchBtn.MouseButton1Click:Connect(function()
if not selectedTarget and not spectating then return end
spectating = not spectating
if spectating then
watchBtn.Text = "SPECTATE: ON"
watchBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TweenService:Create(watchBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(220, 50, 0) }):Play()
else
watchBtn.Text = "SPECTATE: OFF"
watchBtn.TextColor3 = Color3.fromRGB(150, 90, 80)
TweenService:Create(watchBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(18, 12, 12) }):Play()
if player.Character and player.Character:FindFirstChild("Humanoid") then
workspace.CurrentCamera.CameraSubject = player.Character.Humanoid
end
end
end)
orbitBtn.MouseButton1Click:Connect(function()
if not selectedTarget and not orbiting then return end
orbiting = not orbiting
if orbiting then
orbitBtn.Text = "ORBIT TARGET: ON"
orbitBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TweenService:Create(orbitBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(220, 50, 0) }):Play()
else
orbitBtn.Text = "ORBIT TARGET: OFF"
orbitBtn.TextColor3 = Color3.fromRGB(150, 90, 80)
TweenService:Create(orbitBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(18, 12, 12) }):Play()
end
end)
whisperBtn.MouseButton1Click:Connect(function()
if not selectedTarget and not whispering then return end
whispering = not whispering
if whispering then
whisperBtn.Text = "WHISPER SPAM: ON"
whisperBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TweenService:Create(whisperBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(220, 50, 0) }):Play()
else
whisperBtn.Text = "WHISPER SPAM: OFF"
whisperBtn.TextColor3 = Color3.fromRGB(150, 90, 80)
TweenService:Create(whisperBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(18, 12, 12) }):Play()
end
end)
soundBtn.MouseButton1Click:Connect(function()
if not selectedTarget and not sounding then return end
sounding = not sounding
if sounding then
soundBtn.Text = "PING SOUND: ON"
soundBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
TweenService:Create(soundBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(220, 50, 0) }):Play()
else
soundBtn.Text = "PING SOUND: OFF"
soundBtn.TextColor3 = Color3.fromRGB(150, 90, 80)
TweenService:Create(soundBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(18, 12, 12) }):Play()
end
end)
task.spawn(function()
while true do
task.wait(1.5)
if whispering and selectedTarget then
local success, textChatService = pcall(function() return game:GetService("TextChatService") end)
if success and textChatService and textChatService.TextChannels then
local channel = textChatService.TextChannels:FindFirstChild("RBXWhisper:" .. player.UserId "_" .. selectedTarget.UserId) or textChatService.TextChannels:FindFirstChild("RBXGeneral")
if channel then
pcall(function() channel:SendAsync("/w " .. selectedTarget.Name .. " hello there! :)") end)
end
end
end
if sounding and selectedTarget and selectedTarget.Character and selectedTarget.Character:FindFirstChild("Head") then
pcall(function()
local s = Instance.new("Sound")
s.SoundId = "rbxassetid://906081742"
s.Volume = 1
s.Parent = selectedTarget.Character.Head
s:Play()
s.Ended:Connect(function() s:Destroy() end)
end)
end
end
end)
RunService.RenderStepped:Connect(function(dt)
-- Character stats application loop
if player.Character and player.Character:FindFirstChild("Humanoid") then
local hum = player.Character.Humanoid
if speedActive then hum.WalkSpeed = 100 end
if jumpActive then
hum.UseJumpPower = true
hum.JumpPower = 100
end
end
-- Spin Character Loop
if spinning and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local root = player.Character.HumanoidRootPart
root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(40), 0)
end
-- Fly Loop
if flying and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("Humanoid") then
local root = player.Character.HumanoidRootPart
local hum = player.Character.Humanoid
hum.PlatformStand = true
local cam = workspace.CurrentCamera
local moveDir = Vector3.new()
if keys.w then moveDir = moveDir + cam.CFrame.LookVector end
if keys.s then moveDir = moveDir - cam.CFrame.LookVector end
if keys.a then moveDir = moveDir - cam.CFrame.RightVector end
if keys.d then moveDir = moveDir + cam.CFrame.RightVector end
if moveDir.Magnitude > 0 then
root.Velocity = moveDir.Unit * flySpeed + Vector3.new(0, 0.5, 0)
else
root.Velocity = Vector3.new(0, 0.5, 0)
end
end
-- Spectate Loop
if spectating and selectedTarget and selectedTarget.Character then
local hum = selectedTarget.Character:FindFirstChildOfClass("Humanoid")
if hum then workspace.CurrentCamera.CameraSubject = hum end
end
-- Orbit Loop
if orbiting and selectedTarget and selectedTarget.Character and selectedTarget.Character:FindFirstChild("HumanoidRootPart") then
local myRoot = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if myRoot then
angle = angle + (dt * 5)
local targetPos = selectedTarget.Character.HumanoidRootPart.Position
local offset = Vector3.new(math.cos(angle) * 5, 2, math.sin(angle) * 5)
myRoot.CFrame = CFrame.new(targetPos + offset, targetPos)
end
end
end)
unloadBtn.MouseButton1Click:Connect(function()
flying, spectating, orbiting, whispering, sounding, spinning = false, false, false, false, false, false
if player.Character and player.Character:FindFirstChild("Humanoid") then
player.Character.Humanoid.PlatformStand = false
player.Character.Humanoid.WalkSpeed = 16
player.Character.Humanoid.JumpPower = 50
end
local closeTween = TweenService:Create(main, TweenInfo.new(0.3, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
Size = UDim2.new(0, 0, 0, 0),
Position = UDim2.new(0.5, 0, 0.5, 0)
})
closeTween:Play()
closeTween.Completed:Wait()
gui:Destroy()
end)