Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Modified Pet Finder Script for Rainbow Trenostruzzo Turbo 3000
- --// Services
- local Players = game:GetService("Players")
- local HttpService = game:GetService("HttpService")
- local TeleportService = game:GetService("TeleportService")
- -- Wait for LocalPlayer to initialize
- local LocalPlayer
- repeat
- LocalPlayer = Players.LocalPlayer
- task.wait()
- until LocalPlayer
- --// User Configuration from loader
- local webhook = getgenv().webhook or ""
- local targetPets = {"Trenostruzzo Turbo 3000"}
- local requireRainbowMutation = true
- --// Visited Job Tracking
- local visitedJobIds = {[game.JobId] = true}
- local hops = 0
- local maxHopsBeforeReset = 50
- --// Teleport Fail Handling
- local teleportFails = 0
- local maxTeleportRetries = 3
- --// Found Pet Cache
- local detectedPets = {}
- local webhookSent = false
- local stopHopping = false
- -- Teleport error handling (unchanged)
- TeleportService.TeleportInitFailed:Connect(function(_, result)
- teleportFails += 1
- if teleportFails >= maxTeleportRetries then
- teleportFails = 0
- task.wait(1)
- TeleportService:Teleport(game.PlaceId)
- else
- task.wait(1)
- serverHop()
- end
- end)
- -- ESP Function (unchanged)
- local function addESP(targetModel)
- if targetModel:FindFirstChild("PetESP") then return end
- local Billboard = Instance.new("BillboardGui")
- Billboard.Name = "PetESP"
- Billboard.Adornee = targetModel
- Billboard.Size = UDim2.new(0, 100, 0, 30)
- Billboard.StudsOffset = Vector3.new(0, 3, 0)
- Billboard.AlwaysOnTop = true
- Billboard.Parent = targetModel
- local Label = Instance.new("TextLabel")
- Label.Size = UDim2.new(1, 0, 1, 0)
- Label.BackgroundTransparency = 1
- Label.Text = "🌈 Rainbow Turbo"
- Label.TextColor3 = Color3.fromRGB(255, 0, 255)
- Label.TextStrokeTransparency = 0.5
- Label.Font = Enum.Font.SourceSansBold
- Label.TextScaled = true
- Label.Parent = Billboard
- end
- -- Webhook Function (unchanged)
- local function sendWebhook(foundPets, jobId)
- if webhook == "" then return end
- local petCounts = {}
- for _, pet in ipairs(foundPets) do
- petCounts[pet] = (petCounts[pet] or 0) + 1
- end
- local formattedPets = {}
- for petName, count in pairs(petCounts) do
- table.insert(formattedPets, count > 1 and petName .. " x" .. count or petName)
- end
- local jsonData = HttpService:JSONEncode({
- ["content"] = "@everyone 🌈 Rainbow Turbo Found!",
- ["embeds"] = {{
- ["title"] = "🚨 Rainbow Trenostruzzo Found!",
- ["description"] = "A rainbow Trenostruzzo Turbo 3000 has been detected!",
- ["fields"] = {
- { ["name"] = "User", ["value"] = LocalPlayer.Name },
- { ["name"] = "Rainbow Pet(s)", ["value"] = table.concat(formattedPets, "\n") },
- { ["name"] = "Server JobId", ["value"] = jobId },
- { ["name"] = "Time", ["value"] = os.date("%Y-%m-%d %H:%M:%S") }
- },
- ["color"] = 0xFF00FF
- }}
- })
- local req = http_request or request or syn and syn.request
- if req then
- pcall(function()
- req({
- Url = webhook,
- Method = "POST",
- Headers = { ["Content-Type"] = "application/json" },
- Body = jsonData
- })
- end)
- end
- end
- -- Check if a model is rainbow mutated
- local function isRainbowMutated(model)
- for _, child in ipairs(model:GetChildren()) do
- if child:IsA("Decal") or child:IsA("ParticleEmitter") then
- if string.find(string.lower(child.Name), "rainbow") then
- return true
- end
- end
- end
- return false
- end
- -- Pet Detection
- local function checkForPets()
- local found = {}
- for _, obj in pairs(workspace:GetDescendants()) do
- if obj:IsA("Model") and table.find(targetPets, obj.Name) then
- if requireRainbowMutation and not isRainbowMutated(obj) then
- continue
- end
- addESP(obj)
- table.insert(found, obj.Name)
- stopHopping = true
- end
- end
- return found
- end
- -- Server Hop Function (unchanged)
- function serverHop()
- if stopHopping then return end
- task.wait(1.5)
- local cursor = nil
- local PlaceId, JobId = game.PlaceId, game.JobId
- local tries = 0
- hops += 1
- if hops >= maxHopsBeforeReset then
- visitedJobIds = {[JobId] = true}
- hops = 0
- end
- while tries < 3 do
- local url = "https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"
- if cursor then url = url .. "&cursor=" .. cursor end
- local success, response = pcall(function()
- return HttpService:JSONDecode(game:HttpGet(url))
- end)
- if success and response and response.data then
- local servers = {}
- for _, server in ipairs(response.data) do
- if tonumber(server.playing or 0) < tonumber(server.maxPlayers or 1)
- and server.id ~= JobId
- and not visitedJobIds[server.id] then
- table.insert(servers, server.id)
- end
- end
- if #servers > 0 then
- local picked = servers[math.random(1, #servers)]
- teleportFails = 0
- TeleportService:TeleportToPlaceInstance(PlaceId, picked)
- return
- end
- cursor = response.nextPageCursor
- if not cursor then
- tries += 1
- cursor = nil
- task.wait(0.5)
- end
- else
- tries += 1
- task.wait(0.5)
- end
- end
- TeleportService:Teleport(PlaceId)
- end
- -- Live Detection (slightly adjusted for rainbow check)
- workspace.DescendantAdded:Connect(function(obj)
- task.wait(0.25)
- if obj:IsA("Model") and table.find(targetPets, obj.Name) then
- if requireRainbowMutation and not isRainbowMutated(obj) then return end
- if not detectedPets[obj.Name] then
- detectedPets[obj.Name] = true
- addESP(obj)
- stopHopping = true
- if not webhookSent then
- sendWebhook({obj.Name}, game.JobId)
- webhookSent = true
- end
- end
- end
- end)
- -- Start
- task.wait(6)
- local petsFound = checkForPets()
- if #petsFound > 0 then
- for _, name in ipairs(petsFound) do
- detectedPets[name] = true
- end
- if not webhookSent then
- sendWebhook(petsFound, game.JobId)
- webhookSent = true
- end
- else
- task.delay(1.5, serverHop)
- end
Advertisement
Add Comment
Please, Sign In to add comment