local SCRIPT = [[
queueonteleport('loadstring(readfile("serverhop.lua"))()')
if not game:IsLoaded() then game.Loaded:Wait() end
task.wait(2)
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local RS = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")
if PlayerGui:FindFirstChild("ShGui") then PlayerGui.ShGui:Destroy() end
local sg = Instance.new("ScreenGui", PlayerGui)
sg.Name = "ShGui"
sg.ResetOnSpawn = false
local lbl = Instance.new("TextLabel", sg)
lbl.Size = UDim2.new(0, 280, 0, 36)
lbl.Position = UDim2.new(0.5, -140, 0.9, 0)
lbl.BackgroundColor3 = Color3.fromRGB(10,10,10)
lbl.TextColor3 = Color3.new(1,1,1)
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 13
lbl.Text = "Starting..."
Instance.new("UICorner", lbl)
Instance.new("UIStroke", lbl).Color = Color3.fromRGB(60,60,60)
local function status(txt, r, g, b)
lbl.Text = txt
lbl.BackgroundColor3 = Color3.fromRGB(r or 10, g or 10, b or 10)
end
local remotes = {}
local function collectRemotes()
for _, v in pairs(RS:GetDescendants()) do
if v:IsA("RemoteEvent") and (v.Name:find("Kick") or v.Name:find("Admin") or v.Name == "RemoteEvent" or v.Name:find("Troll")) then
table.insert(remotes, v)
end
end
end
local function kick(p)
for _, r in pairs(remotes) do
pcall(function()
r:FireServer(p)
r:FireServer("ExecuteCommand", "kick " .. p.Name)
r:FireServer("kick", p.Name)
end)
end
end
local function getBiggestServer()
local ok, res = pcall(function()
return HttpService:JSONDecode(game:HttpGet(
"https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Desc&limit=100"
))
end)
if not ok or not res or not res.data then return nil end
local best = nil
for _, s in pairs(res.data) do
if s.id ~= game.JobId and s.playing and s.maxPlayers then
if not best or s.playing > best.playing then best = s end
end
end
return best
end
task.spawn(function()
collectRemotes()
while #Players:GetPlayers() >= 3 do
status("Kicking... " .. #Players:GetPlayers() .. " left", 130, 0, 0)
for _, p in pairs(Players:GetPlayers()) do
if p ~= Player then kick(p) end
end
task.wait(1)
end
status("Finding server...", 0, 70, 160)
local server = getBiggestServer()
if server then
status("Hopping to " .. server.playing .. " players", 0, 100, 40)
task.wait(0.3)
local ok = pcall(function()
TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, Player)
end)
if not ok then
task.wait(1)
pcall(function() TeleportService:Teleport(game.PlaceId, Player) end)
end
else
status("No server found, random hop", 80, 0, 80)
task.wait(0.3)
pcall(function() TeleportService:Teleport(game.PlaceId, Player) end)
end
end)
]]
writefile("serverhop.lua", SCRIPT)
queueonteleport('loadstring(readfile("serverhop.lua"))()')
loadstring(SCRIPT)()
Comments
No comments yet
Be the first to share your thoughts!