-- 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 ===")
Comments
(TELL ME IF BUGS)