local player = game:GetService("Players").LocalPlayer local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local isRunning = false local isPaused = false local activeTweens = {} local connections = {} local FARM_SPEED_MULTIPLIER = 1.3 local TELEPORT_SPEED = 100 local PROMPT_DELAY = 1.5 local screenGui = Instance.new("ScreenGui") screenGui.Name = "DragonFarmGUI" screenGui.Parent = game:GetService("CoreGui") or player:WaitForChild("PlayerGui") local backgroundFrame = Instance.new("Frame") backgroundFrame.Name = "Background" backgroundFrame.Size = UDim2.new(1, 0, 1, 0) backgroundFrame.Position = UDim2.new(0, 0, 0, 0) backgroundFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) backgroundFrame.BackgroundTransparency = 1 backgroundFrame.ZIndex = 0 backgroundFrame.Parent = screenGui local function createDecorativeElement(position, size, rotation) local element = Instance.new("ImageLabel") element.Name = "DecorativePattern" element.Size = size element.Position = position element.BackgroundTransparency = 1 element.Image = "rbxassetid://9924338112" element.ImageColor3 = Color3.fromRGB(180, 50, 50) element.ImageTransparency = 0.7 element.Rotation = rotation or 0 element.ZIndex = 1 element.Parent = screenGui end createDecorativeElement(UDim2.new(0.1, 0, 0.1, 0), UDim2.new(0, 50, 0, 50), 45) createDecorativeElement(UDim2.new(0.9, -50, 0.1, 0), UDim2.new(0, 50, 0, 50), -45) createDecorativeElement(UDim2.new(0.1, 0, 0.9, -50), UDim2.new(0, 50, 0, 50), 135) createDecorativeElement(UDim2.new(0.9, -50, 0.9, -50), UDim2.new(0, 50, 0, 50), -135) local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 350, 0, 320) mainFrame.Position = UDim2.new(0.5, -175, 0.5, -160) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) mainFrame.BackgroundTransparency = 0.1 mainFrame.BorderSizePixel = 0 local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(180, 50, 50)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(30, 30, 50)), ColorSequenceKeypoint.new(1, Color3.fromRGB(180, 50, 50)) }) gradient.Rotation = 90 gradient.Parent = mainFrame local shadow = Instance.new("ImageLabel") shadow.Name = "Shadow" shadow.Size = UDim2.new(1, 10, 1, 10) shadow.Position = UDim2.new(0, -5, 0, -5) shadow.BackgroundTransparency = 1 shadow.Image = "rbxassetid://5554236805" shadow.ImageColor3 = Color3.fromRGB(0, 0, 0) shadow.ImageTransparency = 0.8 shadow.ScaleType = Enum.ScaleType.Slice shadow.SliceCenter = Rect.new(10, 10, 10, 10) shadow.Parent = mainFrame mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui local dragonBorder = Instance.new("ImageLabel") dragonBorder.Name = "DragonBorder" dragonBorder.Size = UDim2.new(1, 20, 1, 20) dragonBorder.Position = UDim2.new(0, -10, 0, -10) dragonBorder.BackgroundTransparency = 1 dragonBorder.Image = "rbxassetid://9924338112" dragonBorder.ImageColor3 = Color3.fromRGB(200, 60, 60) dragonBorder.ImageTransparency = 0.3 dragonBorder.ZIndex = 2 dragonBorder.Parent = mainFrame local title = Instance.new("TextLabel") title.Name = "Title" title.Size = UDim2.new(1, 0, 0, 60) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.Text = "DRAGON'S HARVEST" title.TextColor3 = Color3.fromRGB(255, 220, 100) title.TextSize = 28 title.Font = Enum.Font.GothamBlack title.TextStrokeColor3 = Color3.fromRGB(180, 50, 50) title.TextStrokeTransparency = 0.5 title.ZIndex = 3 title.Parent = mainFrame local subtitle = Instance.new("TextLabel") subtitle.Name = "Subtitle" subtitle.Size = UDim2.new(1, 0, 0, 20) subtitle.Position = UDim2.new(0, 0, 0, 60) subtitle.BackgroundTransparency = 1 subtitle.Text = "Ancient Herb Collector" subtitle.TextColor3 = Color3.fromRGB(200, 200, 200) subtitle.TextSize = 14 subtitle.Font = Enum.Font.Gotham subtitle.ZIndex = 3 subtitle.Parent = mainFrame local toggleButton = Instance.new("TextButton") toggleButton.Name = "PhoenixButton" toggleButton.Size = UDim2.new(0.85, 0, 0, 60) toggleButton.Position = UDim2.new(0.075, 0, 0.25, 0) toggleButton.BackgroundColor3 = Color3.fromRGB(180, 50, 50) toggleButton.BorderSizePixel = 0 local buttonGradient = Instance.new("UIGradient") buttonGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(220, 80, 80)), ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 40, 40)) }) buttonGradient.Rotation = 90 buttonGradient.Parent = toggleButton toggleButton.Text = "⟡ AWAKEN PHOENIX ⟡" toggleButton.TextColor3 = Color3.fromRGB(255, 255, 200) toggleButton.TextSize = 20 toggleButton.Font = Enum.Font.GothamBold toggleButton.ZIndex = 3 local glow = Instance.new("Frame") glow.Name = "Glow" glow.Size = UDim2.new(1, 10, 1, 10) glow.Position = UDim2.new(0, -5, 0, -5) glow.BackgroundColor3 = Color3.fromRGB(255, 100, 100) glow.BackgroundTransparency = 0.8 glow.BorderSizePixel = 0 glow.ZIndex = 2 glow.Parent = toggleButton toggleButton.Parent = mainFrame local controlPanel = Instance.new("Frame") controlPanel.Name = "ControlPanel" controlPanel.Size = UDim2.new(0.85, 0, 0, 100) controlPanel.Position = UDim2.new(0.075, 0, 0.5, 0) controlPanel.BackgroundColor3 = Color3.fromRGB(30, 30, 40) controlPanel.BackgroundTransparency = 0.3 controlPanel.BorderSizePixel = 0 controlPanel.ZIndex = 3 controlPanel.Parent = mainFrame local pauseButton = Instance.new("TextButton") pauseButton.Name = "TemporalPause" pauseButton.Size = UDim2.new(0.45, 0, 0, 40) pauseButton.Position = UDim2.new(0.025, 0, 0.1, 0) pauseButton.BackgroundColor3 = Color3.fromRGB(80, 80, 150) pauseButton.BorderSizePixel = 0 pauseButton.Text = "⏸ TIME FROZEN ⏸" pauseButton.TextColor3 = Color3.fromRGB(255, 255, 200) pauseButton.TextSize = 14 pauseButton.Font = Enum.Font.GothamBold pauseButton.Visible = false pauseButton.ZIndex = 4 pauseButton.Parent = controlPanel local closeButton = Instance.new("TextButton") closeButton.Name = "DragonHide" closeButton.Size = UDim2.new(0.45, 0, 0, 40) closeButton.Position = UDim2.new(0.525, 0, 0.1, 0) closeButton.BackgroundColor3 = Color3.fromRGB(150, 80, 80) closeButton.BorderSizePixel = 0 closeButton.Text = "🐉 VANISH 🐉" closeButton.TextColor3 = Color3.fromRGB(255, 255, 200) closeButton.TextSize = 14 closeButton.Font = Enum.Font.GothamBold closeButton.ZIndex = 4 closeButton.Parent = controlPanel local statusPanel = Instance.new("Frame") statusPanel.Name = "StatusPanel" statusPanel.Size = UDim2.new(0.85, 0, 0, 70) statusPanel.Position = UDim2.new(0.075, 0, 0.85, -70) statusPanel.BackgroundColor3 = Color3.fromRGB(20, 20, 30) statusPanel.BackgroundTransparency = 0.5 statusPanel.BorderSizePixel = 0 statusPanel.ZIndex = 3 statusPanel.Parent = mainFrame local statusLabel = Instance.new("TextLabel") statusLabel.Name = "StatusLabel" statusLabel.Size = UDim2.new(1, 0, 0.5, 0) statusLabel.Position = UDim2.new(0, 0, 0, 0) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "⚫ DORMANT" statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200) statusLabel.TextSize = 16 statusLabel.Font = Enum.Font.GothamBold statusLabel.ZIndex = 4 statusLabel.Parent = statusPanel local counterLabel = Instance.new("TextLabel") counterLabel.Name = "CounterLabel" counterLabel.Size = UDim2.new(1, 0, 0.5, 0) counterLabel.Position = UDim2.new(0, 0, 0.5, 0) counterLabel.BackgroundTransparency = 1 counterLabel.Text = "🌸 COLLECTED: 0" counterLabel.TextColor3 = Color3.fromRGB(255, 220, 100) counterLabel.TextSize = 18 counterLabel.Font = Enum.Font.GothamBold counterLabel.ZIndex = 4 counterLabel.Parent = statusPanel local speedIndicator = Instance.new("TextLabel") speedIndicator.Name = "SpeedIndicator" speedIndicator.Size = UDim2.new(1, 0, 0, 20) speedIndicator.Position = UDim2.new(0, 0, 0.9, 0) speedIndicator.BackgroundTransparency = 1 speedIndicator.Text = "⚡ TURBO MODE: ACTIVE" speedIndicator.TextColor3 = Color3.fromRGB(100, 255, 100) speedIndicator.TextSize = 12 speedIndicator.Font = Enum.Font.Gotham speedIndicator.ZIndex = 4 speedIndicator.Parent = mainFrame local function animateButton(button) local originalSize = button.Size local tween = TweenService:Create(button, TweenInfo.new(0.1), { Size = UDim2.new(originalSize.X.Scale * 0.95, originalSize.X.Offset, originalSize.Y.Scale * 0.95, originalSize.Y.Offset) }) tween:Play() tween.Completed:Connect(function() TweenService:Create(button, TweenInfo.new(0.1), {Size = originalSize}):Play() end) end local function showNotification(message, color) local notif = Instance.new("Frame") notif.Name = "Notification" notif.Size = UDim2.new(0, 350, 0, 50) notif.Position = UDim2.new(0.5, -175, 0.1, 0) notif.BackgroundColor3 = Color3.fromRGB(20, 20, 30) notif.BackgroundTransparency = 0.2 notif.BorderSizePixel = 0 notif.ZIndex = 10 local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color), ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 20, 30)) }) gradient.Rotation = 90 gradient.Parent = notif local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.Position = UDim2.new(0, 0, 0, 0) label.BackgroundTransparency = 1 label.Text = "🐉 " .. message .. " 🐉" label.TextColor3 = Color3.fromRGB(255, 255, 200) label.TextSize = 16 label.Font = Enum.Font.GothamBold label.Parent = notif local border = Instance.new("Frame") border.Size = UDim2.new(1, 4, 1, 4) border.Position = UDim2.new(0, -2, 0, -2) border.BackgroundColor3 = color border.BackgroundTransparency = 0.5 border.BorderSizePixel = 0 border.ZIndex = 9 border.Parent = notif notif.Parent = screenGui notif.Position = UDim2.new(0.5, -175, 0.05, 0) TweenService:Create(notif, TweenInfo.new(0.3), { Position = UDim2.new(0.5, -175, 0.1, 0) }):Play() spawn(function() wait(2.5) TweenService:Create(notif, TweenInfo.new(0.3), { Position = UDim2.new(0.5, -175, 0.05, 0), BackgroundTransparency = 1 }):Play() wait(0.3) notif:Destroy() end) end local collectedCount = 0 local currentTask = nil local function stopAllTweens() for _, tween in pairs(activeTweens) do pcall(function() tween:Cancel() end) end activeTweens = {} end local function collectHerbs() local char = player.Character or player.CharacterAdded:Wait() local hrp = char:WaitForChild("HumanoidRootPart") local baba = game:GetService("Workspace") local herbis = baba.Herbs local myPart = char:FindFirstChild("AntiNoclip") if myPart then myPart:Destroy() end hrp.CanCollide = false for _, v in ipairs(herbis:GetDescendants()) do if not isRunning then break end if isPaused then repeat RunService.RenderStepped:Wait() until not isPaused or not isRunning if not isRunning then break end end if v.Name == "ProximityPrompt" then if v.Parent.Name ~= "Soul Berries" and v.Parent.Name ~= "Extreme Yin Growth" then local goal = { CFrame = CFrame.new(v.Parent.Position) } t = (v.Parent.Position - hrp.Position).Magnitude / TELEPORT_SPEED local teleportTweenInfo = TweenInfo.new( t, Enum.EasingStyle.Linear ) local teleportTween = TweenService:Create(hrp, teleportTweenInfo, goal) table.insert(activeTweens, teleportTween) teleportTween:Play() local startTime = tick() while tick() - startTime < t and isRunning do if isPaused then teleportTween:Pause() repeat RunService.RenderStepped:Wait() until not isPaused or not isRunning if not isRunning then break end teleportTween:Play() end RunService.RenderStepped:Wait() end for i, twn in ipairs(activeTweens) do if twn == teleportTween then table.remove(activeTweens, i) break end end if isRunning and not isPaused then fireproximityprompt(v, 50) collectedCount = collectedCount + 1 counterLabel.Text = "🌸 COLLECTED: " .. collectedCount wait(PROMPT_DELAY) end end end end end local function stopAutoFarm() if isRunning then isRunning = false isPaused = false if currentTask then pcall(function() coroutine.close(currentTask) end) currentTask = nil end stopAllTweens() for _, connection in pairs(connections) do pcall(function() connection:Disconnect() end) end connections = {} local character = player.Character if character then local hrp = character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CanCollide = true end end toggleButton.Text = "⟡ AWAKEN PHOENIX ⟡" buttonGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(220, 80, 80)), ColorSequenceKeypoint.new(1, Color3.fromRGB(160, 40, 40)) }) pauseButton.Visible = false statusLabel.Text = "⚫ DORMANT" showNotification("Dragon Slumbers", Color3.fromRGB(200, 60, 60)) end end local function togglePause() if not isRunning then return end isPaused = not isPaused if isPaused then for _, tween in pairs(activeTweens) do pcall(function() tween:Pause() end) end pauseButton.Text = "⏳ TIME FLOWS ⏳" statusLabel.Text = "⏸ FROZEN" showNotification("Time Stands Still", Color3.fromRGB(255, 165, 0)) else for _, tween in pairs(activeTweens) do pcall(function() tween:Play() end) end pauseButton.Text = "⏸ TIME FROZEN ⏸" statusLabel.Text = "⚡ ACTIVE" showNotification("Time Resumes", Color3.fromRGB(60, 200, 80)) end end local function startAutoFarm() if isRunning then return end isRunning = true isPaused = false collectedCount = 0 toggleButton.Text = "☯ HARVESTING ☯" buttonGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(80, 220, 80)), ColorSequenceKeypoint.new(1, Color3.fromRGB(40, 160, 40)) }) pauseButton.Visible = true pauseButton.Text = "⏸ TIME FROZEN ⏸" statusLabel.Text = "⚡ ACTIVE" counterLabel.Text = "🌸 COLLECTED: 0" showNotification("Dragon Awakens - Turbo Active", Color3.fromRGB(60, 200, 80)) currentTask = coroutine.create(function() while isRunning do if isPaused then RunService.RenderStepped:Wait() continue end local workspace = game:GetService("Workspace") local herbis = workspace:FindFirstChild("Herbs") if not herbis then showNotification("No Herbs Found!", Color3.fromRGB(255, 50, 50)) wait(3) continue end pcall(function() collectHerbs() end) if isRunning and not isPaused then wait(0.5) end end end) coroutine.resume(currentTask) local characterAddedConnection characterAddedConnection = player.CharacterAdded:Connect(function() if isRunning then stopAllTweens() wait(1.5) if isRunning then showNotification("Dragon Reborn", Color3.fromRGB(255, 165, 0)) end end end) table.insert(connections, characterAddedConnection) local characterRemovingConnection characterRemovingConnection = player.CharacterRemoving:Connect(function() stopAllTweens() end) table.insert(connections, characterRemovingConnection) end toggleButton.MouseButton1Click:Connect(function() animateButton(toggleButton) if isRunning then stopAutoFarm() else startAutoFarm() end end) pauseButton.MouseButton1Click:Connect(function() animateButton(pauseButton) togglePause() end) closeButton.MouseButton1Click:Connect(function() animateButton(closeButton) mainFrame.Visible = not mainFrame.Visible closeButton.Text = mainFrame.Visible and "🐉 VANISH 🐉" or "🐉 APPEAR 🐉" end) local hotkeyConnection hotkeyConnection = UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then animateButton(toggleButton) if isRunning then stopAutoFarm() else startAutoFarm() end elseif input.KeyCode == Enum.KeyCode.P then animateButton(pauseButton) togglePause() elseif input.KeyCode == Enum.KeyCode.H then animateButton(closeButton) mainFrame.Visible = not mainFrame.Visible closeButton.Text = mainFrame.Visible and "🐉 VANISH 🐉" or "🐉 APPEAR 🐉" end end) table.insert(connections, hotkeyConnection) local function cleanup() stopAutoFarm() pcall(function() screenGui:Destroy() end) end _G.CleanupDragonFarm = cleanup player.PlayerRemoving:Connect(cleanup) showNotification("Dragon's Harvest Loaded\nF: Toggle | P: Pause | H: Hide", Color3.fromRGB(100, 150, 255))