local Players = game:GetService("Players") local RunService = game:GetService("RunService") local HttpService = game:GetService("HttpService") local TeleportService = game:GetService("TeleportService") local localPlayer = Players.LocalPlayer local PlaceId = game.PlaceId local JobId = game.JobId local serverhopping = false -- Buggy, use if you want too tho! local max_attempts = 3 local skipped = {} local function yoinkertheegg() local easterfolder = workspace:FindFirstChild("EasterEggs") if not easterfolder then return {} end local results = {} for _, eggModel in ipairs(easterfolder:GetChildren()) do local part = eggModel:FindFirstChild("Part") if part and part:IsA("MeshPart") and part.Transparency ~= 1 and not skipped[part] then table.insert(results, part) end end return results end local function serverhop() local servers = {} local ok, req = pcall(function() return game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true") end) if not ok then print("failed to fetch servers: " .. tostring(req)) return end local ok2, body = pcall(function() return HttpService:JSONDecode(req) end) if not ok2 then print("failed to parse servers: " .. tostring(body)) return end if body and body.data then for i, v in next, 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, 1, v.id) end end end if #servers > 0 then print("serverhopping...") TeleportService:TeleportToPlaceInstance(PlaceId, servers[math.random(1, #servers)], localPlayer) else print("WHERE IS SERVERS, WHERE IS HE") end end local yoinking = false local lastcount = 0 RunService.Heartbeat:Connect(function() local eggs = yoinkertheegg() local count = #eggs if count > lastcount then print(count .. " available eggs woa time to yoink") elseif count == 0 and lastcount > 0 then print("damn no eggs... yoinked them all..") if serverhopping then serverhop() end end lastcount = count if count > 0 and not yoinking then yoinking = true task.spawn(function() local char = localPlayer.Character local root = char and char:FindFirstChild("HumanoidRootPart") if not root then yoinking = false return end for _, part in ipairs(eggs) do if part and part.Parent and part.Transparency ~= 1 then local attempts = 0 while attempts < max_attempts do root.CFrame = part.CFrame task.wait(0.5) attempts += 1 if not part.Parent or part.Transparency == 1 then break end end if attempts == max_attempts and part.Parent and part.Transparency ~= 1 then print("I tried " .. max_attempts .. " times, skipping this egg >;c") skipped[part] = true end end end if #yoinkertheegg() == 0 and next(skipped) and serverhopping then print("remaining eggs brokie, hopping") skipped = {} serverhop() end yoinking = false end) end end)