-- Configuration local ESP_COLOR = Color3.fromRGB(255, 120, 0) -- Bright Pumpkin Orange local ESP_HOLDER_NAME = "FlightWorld_Pumpkin_ESP" local INTERVAL = 0.2 -- Scan interval optimized for memory stability -- Services local Workspace = game:GetService("Workspace") local CoreGui = game:GetService("CoreGui") local Players = game:GetService("Players") -- Folders setup inside CoreGui (persists across workspace changes) local ESPHolder = CoreGui:FindFirstChild(ESP_HOLDER_NAME) or Instance.new("Folder") ESPHolder.Name = ESP_HOLDER_NAME ESPHolder.Parent = CoreGui -- Folder to hold virtual anchor parts for unstreamed pumpkins local AnchorFolder = ESPHolder:FindFirstChild("Virtual_Anchors") or Instance.new("Folder") AnchorFolder.Name = "Virtual_Anchors" AnchorFolder.Parent = ESPHolder -- Global Tracking Tables local KnownPumpkins = {} -- Stores [Unique ID / Hash Key] = {Position = Vector3, Collected = false, CurrentPart = BasePart} local ActiveDots = {} -- Stores [Unique ID / Hash Key] = BillboardGui -- Simple hashing function to generate a unique string ID based on position local function getPositionKey(position) return string.format("%.1f_%.1f_%.1f", position.X, position.Y, position.Z) end -- Completely removes a single dot UI element local function removeDot(key) if ActiveDots[key] then ActiveDots[key]:Destroy() ActiveDots[key] = nil end end -- Creates the true infinite-range billboard dot attached to a specific part local function createInfiniteDot(key, targetPart) if ActiveDots[key] then return end -- Already rendering a dot for this coordinate local Billboard = Instance.new("BillboardGui") Billboard.Name = "PumpkinDot_" .. key Billboard.Size = UDim2.new(0, 16, 0, 16) -- Static pixel layout size Billboard.AlwaysOnTop = true Billboard.MaxDistance = math.huge -- Force infinite rendering engine threshold -- Try setting distance matching mode to prevent perspective scaling down pcall(function() Billboard.DistanceMatchingMode = Enum.DistanceMatchingMode.Disabled end) Billboard.Adornee = targetPart Billboard.Parent = ESPHolder local Dot = Instance.new("Frame") Dot.Size = UDim2.new(1, 0, 1, 0) Dot.BackgroundColor3 = ESP_COLOR Dot.BorderSizePixel = 0 Dot.Parent = Billboard local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(1, 0) Corner.Parent = Dot ActiveDots[key] = Billboard end -- Processes found pumpkin instances local function trackPumpkinPart(part) if not part:IsA("BasePart") or not part:IsDescendantOf(Workspace) then return end -- If the pumpkin is already invisible, flag it as collected immediately if part.Transparency >= 1 then return end local pos = part.Position local key = getPositionKey(pos) local data = KnownPumpkins[key] if not data then -- Completely new pumpkin discovered! Save its coordinates permanently KnownPumpkins[key] = { Position = pos, Collected = false, CurrentPart = part } createInfiniteDot(key, part) else -- Known pumpkin streamed back into range if not data.Collected then data.CurrentPart = part -- Switch the dot adornee back to the real game model part if ActiveDots[key] then ActiveDots[key].Adornee = part else createInfiniteDot(key, part) end end end end -- Scan strings for pumpkin markers local function checkIsPumpkin(instance) if not instance or not instance.Parent then return end if string.find(string.lower(instance.Name), "pumpkin") then if instance:IsA("BasePart") then trackPumpkinPart(instance) else for _, child in ipairs(instance:GetDescendants()) do if child:IsA("BasePart") then trackPumpkinPart(child) end end end end end -- 1. Setup initial world listeners for _, desc in ipairs(Workspace:GetDescendants()) do checkIsPumpkin(desc) end Workspace.DescendantAdded:Connect(function(descendant) task.wait(0.05) -- Execution engine memory stabilization padding if descendant and descendant.Parent then checkIsPumpkin(descendant) end end) -- 2. Master tracking loop task.spawn(function() while true do -- STEP A: Manage states for all coordinates saved in history for key, data in pairs(KnownPumpkins) do if not data.Collected then local realPart = data.CurrentPart -- Check if the pumpkin was locally hidden/collected by the client if realPart and realPart.Parent and realPart:IsDescendantOf(Workspace) and realPart.Transparency >= 1 then data.Collected = true removeDot(key) -- Clean up any virtual anchor that was representing it local oldAnchor = AnchorFolder:FindFirstChild("Anchor_" .. key) if oldAnchor then oldAnchor:Destroy() end -- Check if the pumpkin un-streamed because you flew too far away elseif not realPart or not realPart.Parent or not realPart:IsDescendantOf(Workspace) then -- Check if we already built a virtual anchor part for this location local anchor = AnchorFolder:FindFirstChild("Anchor_" .. key) if not anchor then -- Build a tiny invisible part at the exact saved 3D position anchor = Instance.new("Part") anchor.Name = "Anchor_" .. key anchor.Size = Vector3.new(1, 1, 1) anchor.Position = data.Position anchor.Anchored = true anchor.CanCollide = false anchor.Transparency = 1 anchor.Parent = AnchorFolder end -- Pin the dot to our persistent virtual anchor instead if ActiveDots[key] then ActiveDots[key].Adornee = anchor else createInfiniteDot(key, anchor) end end end end -- STEP B: Continual workspace scanning for missed objects or freshly streamed targets for _, desc in ipairs(Workspace:GetDescendants()) do checkIsPumpkin(desc) end task.wait(INTERVAL) end end)