-- Change this variable to search for different mob names
local targetMobNames = {"Elder Treant", "Golden Fairy"}
if not game:IsLoaded() then
game.Loaded:Wait()
end
local TeleportService = game:GetService("TeleportService")
local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")
local PlaceId = game.PlaceId
local JobId = game.JobId
local httprequest = (syn and syn.request) or (http and http.request) or
http_request or (fluxus and fluxus.request) or request
local aliveFolder = game.Workspace:WaitForChild("Alive")
-- Function to search for a mob matching any name in targetMobNames in the Alive
folder.
-- It returns the mob if its "Master" ObjectValue is empty or doesn't exist.
local function getTargetMob()
for _, mob in ipairs(aliveFolder:GetChildren()) do
for _, targetName in ipairs(targetMobNames) do
if string.find(mob.Name, targetName) then
print("[DEBUG] Found mob matching target:", mob.Name, "for
target:", targetName)
local masterObj = mob:FindFirstChild("Master")
if masterObj and masterObj:IsA("ObjectValue") then
if masterObj.Value then
if typeof(masterObj.Value) == "Instance" then
print("[DEBUG] Master Object in", mob.Name, "has
instance value:", masterObj.Value.Name)
else
print("[DEBUG] Master Object in", mob.Name, "has
value:", masterObj.Value)
end
print("[DEBUG] Master Object is not empty for", mob.Name,
"-> skipping this mob.")
else
print("[DEBUG] Master Object is empty for", mob.Name, "->
valid target.")
return mob
end
else
print("[DEBUG] No Master Object found in", mob.Name, "-> valid
target.")
return mob
end
end
end
end
return nil
end
local foundMob = getTargetMob()
if foundMob then
-- Target mob found: play sound and insert BillboardGui ESP.
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6186621655" -- Replace with desired sound asset
id
sound.Volume = 1
sound.Parent = game.Workspace
sound:Play()
local hrp = foundMob:FindFirstChild("HumanoidRootPart")
if hrp then
local espGui = Instance.new("BillboardGui")
espGui.Name = "ESP_GUI"
espGui.Adornee = hrp
espGui.Size = UDim2.new(0, 100, 0, 50)
espGui.AlwaysOnTop = true
espGui.Parent = foundMob
local textLabel = Instance.new("TextLabel")
textLabel.Name = "ESP_Label"
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundTransparency = 1
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
textLabel.TextStrokeTransparency = 0
textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
textLabel.TextScaled = true
textLabel.Text = table.concat(targetMobNames, " or ")
textLabel.Parent = espGui
end
-- Additional functionality: toggle MasterEvent firing when the "C" key is
pressed.
local UserInputService = game:GetService("UserInputService")
local Network = require(game:GetService("ReplicatedStorage").Modules.Network)
local toggled = false
task.spawn(function()
while true do
if toggled then
Network.connect('MasterEvent', 'FireServer',
Players.LocalPlayer.Character, {
Config = "Roll"
})
end
task.wait(0.1)
end
end)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.C then
toggled = not toggled
end
end)
-- NoFall hook: sets the "height" to 0 for MasterEvent calls.
local old_connect
old_connect = hookfunction(Network.connect, function(a1, ...)
local args = {...}
if a1 == "MasterEvent" and args[3] and type(args[3]) == "table" and args[3]
["height"] and args[3]["Config"] then
args[3]["height"] = 0
end
return old_connect(a1, table.unpack(args))
end)
else
-- Target mob not found: attempt server hop.
wait(5)
local function fetchServers()
local servers = {}
local req = httprequest({
Url =
string.format("https://games.roblox.com/v1/games/%d/servers/Public?
sortOrder=Desc&limit=100&excludeFullGames=true", PlaceId)
})
local body = HttpService:JSONDecode(req.Body)
if body and body.data then
for _, v in ipairs(body.data) do
if type(v) == "table" and tonumber(v.playing) and
tonumber(v.maxPlayers) and v.playing < v.maxPlayers and v.id ~= JobId then
table.insert(servers, v.id)
end
end
end
return servers
end
local currentServers = {}
local teleporting = false
local function attemptTeleport()
if #currentServers == 0 then
print("No valid servers found, retrying...")
wait(5)
currentServers = fetchServers()
end
if #currentServers > 0 then
local chosenIndex = math.random(1, #currentServers)
local chosenServer = table.remove(currentServers, chosenIndex)
teleporting = true
TeleportService:TeleportToPlaceInstance(PlaceId, chosenServer,
Players.LocalPlayer)
else
print("Still no servers available, retrying...")
wait(5)
currentServers = fetchServers()
attemptTeleport()
end
end
TeleportService.TeleportInitFailed:Connect(function(player, teleportResult,
errorMessage)
if player == Players.LocalPlayer and teleporting then
print("Teleport failed: " .. errorMessage)
teleporting = false
wait(1)
attemptTeleport()
end
end)
while #currentServers == 0 do
currentServers = fetchServers()
if #currentServers == 0 then
print("No servers available, retrying...")
wait(5)
end
end
attemptTeleport()
end