-- Auto Farm Script -- Made for efficient progression local Players = game:GetService("Players") local TeleportService = game:GetService("TeleportService") local VirtualInputManager = game:GetService("VirtualInputManager") local player = Players.LocalPlayer print("=== AUTO FARM SCRIPT LOADED ===") -- Wait for character to load local character = player.Character or player.CharacterAdded:Wait() local hrp = character:WaitForChild("HumanoidRootPart") print("Character loaded successfully.") -- ====================== PLANTER PHASE ====================== print("Phase 1: Searching for Planter...") local planter = nil for i = 1, 40 do local baseplate = workspace:FindFirstChild("Baseplate Greyboxing AA") if baseplate then local platform = baseplate:FindFirstChild("Platform") if platform then local platform20 = platform:FindFirstChild("Platform2.0") if platform20 then local children = platform20:GetChildren() if #children >= 2 then planter = children[2]:FindFirstChild("Planter") if planter then print("Planter located!") break end end end end end wait(0.4) end if planter then print("Floating above planter for 2.75 seconds...") local startTime = os.clock() while os.clock() - startTime < 2.75 do if hrp and planter.Parent then hrp.CFrame = planter.CFrame * CFrame.new(0, 14, 0) end wait(0.03) end else print("Planter not found, continuing anyway...") end wait(1.35) -- ====================== POSITION SEQUENCE ====================== print("Phase 2: Starting position sequence (2.85s each)...") local positions = { CFrame.new(-1.21, 27.89, -475.00), CFrame.new(-98.32, 78.81, -430.74), CFrame.new(-114.56, 94.52, -288.27), CFrame.new(-10.47, 176.31, -243.61) } for i, targetCFrame in ipairs(positions) do print("Moving to position " .. i .. " (holding 2.85s)") local startTime = os.clock() while os.clock() - startTime < 2.85 do if hrp and hrp.Parent then hrp.CFrame = targetCFrame * CFrame.new(0, 12, 0) else -- Safety recovery character = player.Character or player.CharacterAdded:Wait() hrp = character:WaitForChild("HumanoidRootPart") end wait(0.03) end end print("Position sequence finished.") wait(1.0) -- ====================== STAR FRAGMENTS ====================== print("Phase 3: Collecting Star Fragments (4s per star)...") local starFolder = workspace:FindFirstChild("StarFragmentsMinigame") if starFolder then starFolder = starFolder:FindFirstChild("StarFragments") end if starFolder and #starFolder:GetChildren() > 0 then local stars = starFolder:GetChildren() print("Found " .. #stars .. " stars to collect.") for _, star in ipairs(stars) do if star and star:IsA("BasePart") and star.Parent then print("Moving to star: " .. star.Name) local startTime = os.clock() while os.clock() - startTime < 4.0 do if hrp and star.Parent then hrp.CFrame = star.CFrame * CFrame.new(0, 12, 0) end -- Spam E key for first half of the time if (os.clock() - startTime) < 2.5 then VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game) wait(0.03) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game) wait(0.04) end wait(0.03) end print("Finished star: " .. star.Name) end end else print("StarFragments folder not found or empty.") end print("Star collection phase completed.") wait(1.2) -- ====================== FINAL TRIGGER ====================== print("Phase 4: Moving to final trigger...") local trigger = workspace:FindFirstChild("Trigger", true) if trigger then print("Trigger found, approaching...") local startTime = os.clock() while os.clock() - startTime < 2.0 do if hrp then hrp.CFrame = trigger.CFrame * CFrame.new(0, 8, 0) end wait(0.04) end -- Touch detection for rejoin local connection connection = trigger.Touched:Connect(function(hit) if hit and hit.Parent == character then connection:Disconnect() print("Trigger touched! Rejoining server...") wait(0.7) TeleportService:Teleport(game.PlaceId, player) end end) else print("Final trigger not found.") end print("=== SCRIPT EXECUTION COMPLETE ===")