local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- UI Setup
local screenGui = Instance.new("ScreenGui", player.PlayerGui)
screenGui.Name = "MissingEggFinder"
local frame = Instance.new("Frame", screenGui)
frame.Size = UDim2.new(0, 300, 0, 160)
frame.Position = UDim2.new(0.5, -150, 0.7, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Instance.new("UICorner", frame)
local mainButton = Instance.new("TextButton", frame)
mainButton.Size = UDim2.new(0, 280, 0, 45)
mainButton.Position = UDim2.new(0, 10, 0, 10)
mainButton.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
mainButton.Text = "FIND MISSING EGGS: OFF"
mainButton.TextColor3 = Color3.fromRGB(255, 255, 255)
mainButton.Font = Enum.Font.GothamBold
mainButton.TextSize = 14
Instance.new("UICorner", mainButton)
local statusLabel = Instance.new("TextLabel", frame)
statusLabel.Size = UDim2.new(0, 280, 0, 80)
statusLabel.Position = UDim2.new(0, 10, 0, 65)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Standing by..."
statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 12
statusLabel.TextWrapped = true
local isRunning = false
mainButton.MouseButton1Click:Connect(function()
isRunning = not isRunning
if isRunning then
mainButton.Text = "FINDING... (CLICK TO STOP)"
mainButton.BackgroundColor3 = Color3.fromRGB(80, 255, 80)
task.spawn(function()
local invFolder = player:FindFirstChild("CollectiblesFolder")
local worldFolder = workspace.EVENTS["Easter 2026"].Collectibles
local character = player.Character
if not invFolder or not worldFolder then
statusLabel.Text = "Error: Folder paths not found!"
isRunning = false
return
end
for i = 1, 100 do
if not isRunning or not character then break end
local eggID = tostring(i)
local boolObj = invFolder:FindFirstChild(eggID)
-- CHECK: Do we already have this egg?
local alreadyOwned = (boolObj and boolObj:IsA("BoolValue") and boolObj.Value == true)
if not alreadyOwned then
-- We are missing this egg! Let's find it in the world.
local targetModel = worldFolder:FindFirstChild(eggID)
if targetModel then
statusLabel.Text = "Teleporting to Missing Egg: " .. eggID
character:PivotTo(targetModel:GetPivot())
task.wait(0.3) -- Wait for character to settle
-- Fire the prompt for THIS specific egg
local prompt = targetModel:FindFirstChild("Zone")
and targetModel.Zone:FindFirstChild("Attachment")
and targetModel.Zone.Attachment:FindFirstChild("ProximityPrompt")
if prompt then
fireproximityprompt(prompt)
end
task.wait(0.5) -- Cooldown to let the server update your BoolValue
else
statusLabel.Text = "Egg " .. eggID .. " is missing, but not in Workspace!"
task.wait(0.1)
end
end
end
statusLabel.Text = "Scan Complete!"
isRunning = false
mainButton.Text = "FIND MISSING EGGS: OFF"
mainButton.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
end)
else
isRunning = false
mainButton.Text = "FIND MISSING EGGS: OFF"
mainButton.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
statusLabel.Text = "Stopped."
end
end)
Comments
Works well, Thanks!