Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- getgenv().webhook = "https://discord.com/api/webhooks/1460229448686370869/5kA_lmVV-q9CQej0Pf33m6ccvVCvbmzMsVdWYsUVnq5uKU5fGh9SSHRBhokwTIts_ki5"
- getgenv().PetListURL = "https://pastebin.com/raw/jX2AKtBN"
- local Players = game:GetService("Players")
- local HttpService = game:GetService("HttpService")
- local TeleportService = game:GetService("TeleportService")
- local TextChatService = game:GetService("TextChatService")
- local LocalPlayer
- repeat LocalPlayer = Players.LocalPlayer task.wait() until LocalPlayer
- local function SendChatMessage(msg)
- if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
- TextChatService.TextChannels.RBXGeneral:SendAsync(msg)
- else
- game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(msg,"All")
- end
- end
- local function loadPets(url)
- local ok,res=pcall(function() return game:HttpGet(url) end)
- if not ok then return {} end
- local t={}
- for l in string.gmatch(res,"[^\r\n]+") do
- l=l:match("^%s*(.-)%s*$")
- if l~="" then table.insert(t,l) end
- end
- return t
- end
- local targetPets=loadPets(getgenv().PetListURL)
- local visitedJobIds={[game.JobId]=true}
- local hops,maxHops=0,50
- local teleportFails,maxRetries=0,3
- local stopHopping=false
- local detectedPets={}
- local webhookSent=false
- local function matchesTarget(n)
- for _,t in ipairs(targetPets) do
- if string.lower(n)==string.lower(t) then return true end
- end
- return false
- end
- local function addESP(m)
- if m:FindFirstChild("PetESP") then return end
- local b=Instance.new("BillboardGui")
- b.Name="PetESP"
- b.Adornee=m
- b.Size=UDim2.new(0,100,0,30)
- b.StudsOffset=Vector3.new(0,3,0)
- b.AlwaysOnTop=true
- b.Parent=m
- local t=Instance.new("TextLabel")
- t.Size=UDim2.new(1,0,1,0)
- t.BackgroundTransparency=1
- t.Text="🎯 Target Pet"
- t.TextColor3=Color3.fromRGB(255,0,0)
- t.TextScaled=true
- t.Parent=b
- end
- function serverHop()
- if stopHopping then return end
- SendChatMessage("FREE FINDER :D /brhkUJnqkk")
- task.wait(1)
- hops+=1
- if hops>=maxHops then visitedJobIds={[game.JobId]=true} hops=0 end
- local cursor
- for _=1,3 do
- local url="https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Asc&limit=100"..(cursor and "&cursor="..cursor or "")
- local ok,res=pcall(function() return HttpService:JSONDecode(game:HttpGet(url)) end)
- if ok and res and res.data then
- local pool={}
- for _,s in ipairs(res.data) do
- if (s.playing or 0)<(s.maxPlayers or 1) and s.id~=game.JobId and not visitedJobIds[s.id] then
- table.insert(pool,s.id)
- end
- end
- if #pool>0 then
- teleportFails=0
- TeleportService:TeleportToPlaceInstance(game.PlaceId,pool[math.random(#pool)])
- return
- end
- cursor=res.nextPageCursor
- if not cursor then break end
- end
- end
- TeleportService:Teleport(game.PlaceId)
- end
- TeleportService.TeleportInitFailed:Connect(function()
- teleportFails+=1
- if teleportFails>=maxRetries then teleportFails=0 task.wait(1) TeleportService:Teleport(game.PlaceId)
- else task.wait(1) serverHop() end
- end)
- local function sendWebhook(list)
- if webhookSent then return end
- webhookSent=true
- local body=HttpService:JSONEncode({
- content="🚨 SECRET PET DETECTED!",
- embeds={{
- title="Pet Found",
- fields={
- {name="User",value=LocalPlayer.Name},
- {name="Pet",value=table.concat(list,"\n")},
- {name="Server",value=game.JobId}
- },
- color=0xFF00FF
- }}
- })
- local req=http_request or request or syn and syn.request
- if req then pcall(function()
- req({Url=getgenv().webhook,Method="POST",Headers={["Content-Type"]="application/json"},Body=body})
- end) end
- end
- local function petRemovedCheck(pet)
- task.wait(0.5)
- if not pet.Parent then
- detectedPets[pet]=nil
- stopHopping=false
- webhookSent=false
- serverHop()
- end
- end
- workspace.DescendantAdded:Connect(function(obj)
- task.wait(0.25)
- if obj:IsA("Model") and obj.Parent and obj.Parent:IsDescendantOf(workspace:WaitForChild("Plots")) then
- if matchesTarget(obj.Name) and not detectedPets[obj] then
- detectedPets[obj]=true
- stopHopping=true
- addESP(obj)
- sendWebhook({obj.Name})
- obj.AncestryChanged:Connect(function(_,parent)
- if not parent then petRemovedCheck(obj) end
- end)
- end
- end
- end)
- task.wait(5)
- local found={}
- if workspace:FindFirstChild("Plots") then
- for _,p in ipairs(workspace.Plots:GetDescendants()) do
- if p:IsA("Model") and matchesTarget(p.Name) then
- table.insert(found,p.Name)
- stopHopping=true
- addESP(p)
- p.AncestryChanged:Connect(function(_,parent)
- if not parent then petRemovedCheck(p) end
- end)
- end
- end
- end
- if #found>0 then
- sendWebhook(found)
- else
- task.delay(1.5,serverHop)
- end
Advertisement
Add Comment
Please, Sign In to add comment