Run it
Copy the script and paste it into your executor.
().ChopYourTree
(() ().ChopYourTree.() )
.()
Players = :()
ReplicatedStorage = :()
RunService = :()
Workspace = :()
VirtualInputManager = :()
UserInputService = :()
TweenService = :()
LocalPlayer = Players.LocalPlayer
Remotes = ReplicatedStorage:(, )
Remotes
()
TapButtonClick = Remotes:()
TreeClick = Remotes:()
AxeSwing = Remotes:()
CollectCoin = Remotes:()
Prestige = Remotes:()
ClickWateringCan = Remotes:()
ClaimWaterPurifier = Remotes:()
WaterPurifier = Remotes:()
TIMING = {
TAP_SPEED = ,
MUTATION_HIT_DELAY = ,
MUTATION_LOOP_DELAY = ,
COIN_COLLECT_DELAY = ,
COIN_LOOP_DELAY = ,
PRESTIGE_INTERVAL = ,
USE_CANS_KEY_DELAY = ,
USE_CANS_CLICK_DELAY = ,
USE_CANS_INTERVAL = ,
PICKUP_CANS_DELAY = ,
PICKUP_CANS_INTERVAL = ,
CLAIM_PURIFIER_INTERVAL = ,
FILL_PURIFIER_INTERVAL = ,
FILL_PURIFIER_DELAY = ,
STATS_UPDATE_INTERVAL = ,
KEY_PRESS_DURATION = ,
CLICK_DURATION = ,
STEAL_DELAY = ,
STEAL_LOOP_INTERVAL = ,
}
Config = {
AutoTap = ,
TapThreads = ,
AutoMutations = ,
AutoCollectCoins = ,
AutoPrestige = ,
SpeedHack = ,
SpeedAmount = ,
AutoUseCans = ,
AutoPickupCans = ,
AutoClaimPurifier = ,
AutoFillPurifier = ,
AutoSteal = ,
WaterLevelThreshold = ,
}
State = {
Running = ,
Tapping = ,
HittingTrees = ,
CollectingCoins = ,
UsingCans = ,
PickingUpCans = ,
Prestiging = ,
ClaimingPurifier = ,
FillingPurifier = ,
Stealing = ,
}
Connections = {}
Threads = {}
ScreenGui =
(name)
Connections[name]
(() Connections[name]:() )
Connections[name] =
(name)
Threads[name]
(() .(Threads[name]) )
Threads[name] =
()
name (Connections)
(name)
()
name (Threads)
(name)
()
State.Running =
k, v (Config)
(v) ==
Config[k] =
k, v (State)
(v) == k ~=
State[k] =
.()
()
()
ScreenGui
(() ScreenGui:() )
ScreenGui =
().ChopYourTree =
()
plotVal = LocalPlayer:()
plotVal plotVal:() plotVal.Value
plotVal.Value
plots = Workspace:()
plots
_, plot (plots:())
plot:() == LocalPlayer.Name
plot
()
mutations = {}
seen = {}
plot = ()
plot
_, child (plot:())
child.Name == child:()
tree = child.Value
tree tree.Parent seen[tree]
seen[tree] =
.(mutations, tree)
mutations
()
cans = {}
seen = {}
plot = ()
plot
_, desc (plot:())
desc.Name == desc:()
can = desc.Value
can can.Parent seen[can]
seen[can] =
.(cans, can)
cans
()
stealable = {}
myPlot = ()
plots = Workspace:()
plots stealable
_, plot (plots:())
plot ~= myPlot
_, desc (plot:())
desc.Name == desc:()
can = desc.Value
can can.Parent
canSteal = can:() can:()
canSteal == canSteal ==
.(stealable, can)
desc:() desc:()
name = desc.Name:()
name:() name:()
canSteal = desc:() desc:()
canSteal == canSteal ==
.(stealable, desc)
stealable
(can)
can can.Parent
ClickWateringCan
(() ClickWateringCan:(can) )
()
cans = ()
_, can (cans)
Config.AutoSteal State.Running
(can)
.(TIMING.STEAL_DELAY)
#cans
()
plot = ()
plot
contents = plot:()
contents
contents:()
()
levels = {}
data = LocalPlayer:()
data
tapCans = data:()
tapCans
_, slot (tapCans:())
levelVal = slot:()
levelVal
levels[slot.Name] = levelVal.Value
levels
()
highest =
_, level (())
level > highest
highest = level
highest
()
() >= Config.WaterLevelThreshold
()
lowestSlot, lowestLevel = ,
data = LocalPlayer:()
data
tapCans = data:()
tapCans
_, slot (tapCans:())
levelVal = slot:()
levelVal levelVal.Value < lowestLevel
lowestLevel = levelVal.Value
lowestSlot = (slot.Name)
lowestSlot, lowestLevel
()
plot = ()
plot
contents = plot:()
contents
purifier = contents:()
purifier
(purifier:() purifier:())
()
ls = LocalPlayer:()
ls
coins = ls:()
coins (coins.Value)
()
ls = LocalPlayer:()
ls
prestiges = ls:()
prestiges prestiges.Value
()
backpack = LocalPlayer:()
char = LocalPlayer.Character
backpack
_, item (backpack:())
name = item.Name:()
name:() name:()
char
_, item (char:())
item:()
name = item.Name:()
name:() name:()
(keyCode)
(()
VirtualInputManager:(, keyCode, , )
.(TIMING.KEY_PRESS_DURATION)
VirtualInputManager:(, keyCode, , )
)
()
(()
VirtualInputManager:(, , , , , )
.(TIMING.CLICK_DURATION)
VirtualInputManager:(, , , , , )
)
HotbarKeys = {
.KeyCode.Two, .KeyCode.Three, .KeyCode.Four,
.KeyCode.Five, .KeyCode.Six, .KeyCode.Seven,
.KeyCode.Eight, .KeyCode.Nine,
}
()
TapButtonClick
plot = ()
plot
(() TapButtonClick:(plot) )
(mutation)
mutation mutation.Parent
TreeClick
(() TreeClick:(mutation) )
AxeSwing
(() AxeSwing:() )
()
mutations = ()
_, mutation (mutations)
Config.AutoMutations State.Running
(mutation)
.(TIMING.MUTATION_HIT_DELAY)
()
char = LocalPlayer.Character
root = char char:()
root
originalCFrame = root.CFrame
orbsFolder = Workspace:()
orbsFolder
_, coin (orbsFolder:())
Config.AutoCollectCoins State.Running
coin coin.Parent coin:() coin:()
(() root.CFrame = coin.CFrame )
(()
(root, coin, )
(root, coin, )
)
CollectCoin
(() CollectCoin:(coin) )
.(TIMING.COIN_COLLECT_DELAY)
(() root.CFrame = originalCFrame )
()
State.UsingCans
State.UsingCans =
()
(.KeyCode.One)
State.UsingCans =
_, keyCode (HotbarKeys)
Config.AutoUseCans State.Running
(keyCode)
.(TIMING.USE_CANS_KEY_DELAY)
()
.(TIMING.USE_CANS_CLICK_DELAY)
(.KeyCode.One)
State.UsingCans =
()
State.PickingUpCans
State.PickingUpCans =
cans = ()
#cans ==
(.KeyCode.One)
State.PickingUpCans =
_, can (cans)
Config.AutoPickupCans State.Running
ClickWateringCan
(() ClickWateringCan:(can) )
.(TIMING.PICKUP_CANS_DELAY)
tree = ()
tree ClickWateringCan
(() ClickWateringCan:(tree) )
plot = ()
plot ClickWateringCan
(() ClickWateringCan:(plot) )
(.KeyCode.One)
State.PickingUpCans =
()
ClaimWaterPurifier
(() ClaimWaterPurifier:() )
()
slot, level = ()
slot level < WaterPurifier
(() WaterPurifier:(slot) )
()
Prestige
(() Prestige:() )
(speed)
char = LocalPlayer.Character
char
humanoid = char:()
humanoid
(() humanoid.WalkSpeed = speed )
()
State.Tapping
State.Tapping =
i = , Config.TapThreads
Threads[ .. i] = .(()
Config.AutoTap State.Running
()
.(TIMING.TAP_SPEED)
)
Threads[] = .(()
Config.AutoTap State.Running
.()
State.Tapping =
)
()
Config.AutoTap =
i = , Config.TapThreads
( .. i)
()
State.Tapping =
()
State.HittingTrees
State.HittingTrees =
Threads[] = .(()
Config.AutoMutations State.Running
()
.(TIMING.MUTATION_LOOP_DELAY)
State.HittingTrees =
)
()
Config.AutoMutations =
()
State.HittingTrees =
()
State.CollectingCoins
State.CollectingCoins =
Threads[] = .(()
Config.AutoCollectCoins State.Running
()
.(TIMING.COIN_LOOP_DELAY)
State.CollectingCoins =
)
()
Config.AutoCollectCoins =
()
State.CollectingCoins =
()
State.Prestiging
State.Prestiging =
Threads[] = .(()
Config.AutoPrestige State.Running
()
.(TIMING.PRESTIGE_INTERVAL)
State.Prestiging =
)
()
Config.AutoPrestige =
()
State.Prestiging =
()
Threads[] = .(()
Config.AutoUseCans State.Running
()
.(UseCans)
.(TIMING.USE_CANS_INTERVAL)
)
()
Config.AutoUseCans =
()
()
Threads[] = .(()
Config.AutoPickupCans State.Running
()
.(PickupCans)
.(TIMING.PICKUP_CANS_INTERVAL)
)
()
Config.AutoPickupCans =
()
()
Threads[] = .(()
Config.AutoClaimPurifier State.Running
()
.(TIMING.CLAIM_PURIFIER_INTERVAL)
)
()
Config.AutoClaimPurifier =
()
()
Threads[] = .(()
Config.AutoFillPurifier State.Running
()
()
.(TIMING.FILL_PURIFIER_DELAY)
.(TIMING.FILL_PURIFIER_INTERVAL)
)
()
Config.AutoFillPurifier =
()
()
State.Stealing
State.Stealing =
Threads[] = .(()
Config.AutoSteal State.Running
stolen = ()
.(TIMING.STEAL_LOOP_INTERVAL)
State.Stealing =
)
()
Config.AutoSteal =
()
State.Stealing =
()
()
Connections.SpeedHack = RunService.Heartbeat:(()
Config.SpeedHack State.Running
(Config.SpeedAmount)
)
()
Config.SpeedHack =
()
()
()
isMobile = UserInputService.TouchEnabled UserInputService.KeyboardEnabled
ScreenGui = .()
ScreenGui.Name =
ScreenGui.ResetOnSpawn =
ScreenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
ScreenGui.IgnoreGuiInset =
(()
.(ScreenGui)
gethui
ScreenGui.Parent = ()
)
ScreenGui.Parent = LocalPlayer:()
Icons = {
Power = ,
}
Accent = .(, , )
GlassBg = .(, , )
GlassCard = .(, , )
TextPrimary = .(, , )
TextSecondary = .(, , )
MainContainer = .()
MainContainer.Name =
MainContainer.AnchorPoint = .(, )
MainContainer.Position = .(, , , )
MainContainer.Size = isMobile .(, , , ) .(, , , )
MainContainer.BackgroundColor3 = GlassBg
MainContainer.BackgroundTransparency =
MainContainer.BorderSizePixel =
MainContainer.ClipsDescendants =
MainContainer.Parent = ScreenGui
MainCorner = .()
MainCorner.CornerRadius = .(, )
MainCorner.Parent = MainContainer
TopBar = .()
TopBar.Size = .(, , , )
TopBar.BackgroundColor3 = .(, , )
TopBar.BackgroundTransparency =
TopBar.BorderSizePixel =
TopBar.Parent = MainContainer
TopCorner = .()
TopCorner.CornerRadius = .(, )
TopCorner.Parent = TopBar
FarmingTab = .()
FarmingTab.Size = .(, , , )
FarmingTab.Position = .(, , , -)
FarmingTab.BackgroundColor3 = Accent
FarmingTab.BackgroundTransparency =
FarmingTab.BorderSizePixel =
FarmingTab.Text =
FarmingTab.TextSize =
FarmingTab.Font = .Font.GothamBold
FarmingTab.TextColor3 = TextPrimary
FarmingTab.Parent = TopBar
FarmCorner = .()
FarmCorner.CornerRadius = .(, )
FarmCorner.Parent = FarmingTab
PlayerTab = .()
PlayerTab.Size = .(, , , )
PlayerTab.Position = .(, , , -)
PlayerTab.BackgroundTransparency =
PlayerTab.BorderSizePixel =
PlayerTab.Text =
PlayerTab.TextSize =
PlayerTab.Font = .Font.GothamMedium
PlayerTab.TextColor3 = TextSecondary
PlayerTab.Parent = TopBar
PlayerCorner = .()
PlayerCorner.CornerRadius = .(, )
PlayerCorner.Parent = PlayerTab
PowerBtn = .()
PowerBtn.Size = .(, , , )
PowerBtn.Position = .(, -, , -)
PowerBtn.BackgroundColor3 = .(, , )
PowerBtn.BackgroundTransparency =
PowerBtn.BorderSizePixel =
PowerBtn.Image = Icons.Power
PowerBtn.ImageColor3 = TextPrimary
PowerBtn.Parent = TopBar
PowerCorner = .()
PowerCorner.CornerRadius = .(, )
PowerCorner.Parent = PowerBtn
PowerBtn.MouseButton1Click:(Unload)
AvatarFrame = .()
AvatarFrame.Size = .(, , , )
AvatarFrame.Position = .(, -, , -)
AvatarFrame.BackgroundColor3 = GlassCard
AvatarFrame.BorderSizePixel =
AvatarFrame.Parent = TopBar
AvatarCorner = .()
AvatarCorner.CornerRadius = .(, )
AvatarCorner.Parent = AvatarFrame
AvatarImg = .()
AvatarImg.Size = .(, , , )
AvatarImg.BackgroundTransparency =
AvatarImg.Parent = AvatarFrame
.(()
ok, img = (()
Players:(LocalPlayer.UserId, .ThumbnailType.HeadShot, .ThumbnailSize.Size100x100)
)
ok AvatarImg.Image = img
)
AvatarImgCorner = .()
AvatarImgCorner.CornerRadius = .(, )
AvatarImgCorner.Parent = AvatarImg
FarmingPanel = .()
FarmingPanel.Name =
FarmingPanel.Size = .(, -, , -)
FarmingPanel.Position = .(, , , )
FarmingPanel.BackgroundTransparency =
FarmingPanel.Parent = MainContainer
PlayerPanel = .()
PlayerPanel.Name =
PlayerPanel.Size = .(, -, , -)
PlayerPanel.Position = .(, , , )
PlayerPanel.BackgroundTransparency =
PlayerPanel.Visible =
PlayerPanel.Parent = MainContainer
FarmingTab.MouseButton1Click:(()
FarmingPanel.Visible =
PlayerPanel.Visible =
FarmingTab.BackgroundTransparency =
FarmingTab.TextColor3 = TextPrimary
PlayerTab.BackgroundTransparency =
PlayerTab.TextColor3 = TextSecondary
)
PlayerTab.MouseButton1Click:(()
FarmingPanel.Visible =
PlayerPanel.Visible =
FarmingTab.BackgroundTransparency =
FarmingTab.TextColor3 = TextSecondary
PlayerTab.BackgroundTransparency =
PlayerTab.BackgroundColor3 = Accent
PlayerTab.TextColor3 = TextPrimary
)
(parent, pos, size, label, default, callback)
Frame = .()
Frame.Size = size
Frame.Position = pos
Frame.BackgroundColor3 = GlassCard
Frame.BackgroundTransparency =
Frame.BorderSizePixel =
Frame.Parent = parent
Corner = .()
Corner.CornerRadius = .(, )
Corner.Parent = Frame
Label = .()
Label.Size = .(, -, , )
Label.Position = .(, , , )
Label.BackgroundTransparency =
Label.Text = label
Label.TextSize =
Label.Font = .Font.GothamMedium
Label.TextColor3 = TextPrimary
Label.TextXAlignment = .TextXAlignment.Left
Label.Parent = Frame
ToggleBg = .()
ToggleBg.Size = .(, , , )
ToggleBg.Position = .(, -, , -)
ToggleBg.BackgroundColor3 = default Accent .(, , )
ToggleBg.BorderSizePixel =
ToggleBg.Parent = Frame
BgCorner = .()
BgCorner.CornerRadius = .(, )
BgCorner.Parent = ToggleBg
Circle = .()
Circle.Size = .(, , , )
Circle.Position = default .(, -, , -) .(, , , -)
Circle.BackgroundColor3 = TextPrimary
Circle.BorderSizePixel =
Circle.Parent = ToggleBg
CircleCorner = .()
CircleCorner.CornerRadius = .(, )
CircleCorner.Parent = Circle
enabled = default
Btn = .()
Btn.Size = .(, , , )
Btn.BackgroundTransparency =
Btn.Text =
Btn.Parent = Frame
Btn.MouseButton1Click:(()
enabled = enabled
TweenService:(ToggleBg, TweenInfo.(), {
BackgroundColor3 = enabled Accent .(, , )
}):()
TweenService:(Circle, TweenInfo.(, .EasingStyle.Back), {
Position = enabled .(, -, , -) .(, , , -)
}):()
(enabled)
)
Frame
(parent, pos, size, label, min, max, default, callback)
min = .(min, max)
default = .(default, min, max)
Frame = .()
Frame.Size = size
Frame.Position = pos
Frame.BackgroundColor3 = GlassCard
Frame.BackgroundTransparency =
Frame.BorderSizePixel =
Frame.Parent = parent
Corner = .()
Corner.CornerRadius = .(, )
Corner.Parent = Frame
Label = .()
Label.Size = .(, , , )
Label.Position = .(, , , )
Label.BackgroundTransparency =
Label.Text = label
Label.TextSize =
Label.Font = .Font.GothamMedium
Label.TextColor3 = TextPrimary
Label.TextXAlignment = .TextXAlignment.Left
Label.Parent = Frame
Value = .()
Value.Size = .(, , , )
Value.Position = .(, -, , )
Value.BackgroundTransparency =
Value.Text = (default)
Value.TextSize =
Value.Font = .Font.GothamBold
Value.TextColor3 = Accent
Value.TextXAlignment = .TextXAlignment.Right
Value.Parent = Frame
SliderBg = .()
SliderBg.Size = .(, -, , )
SliderBg.Position = .(, , , )
SliderBg.BackgroundColor3 = .(, , )
SliderBg.BorderSizePixel =
SliderBg.Parent = Frame
BgCorner = .()
BgCorner.CornerRadius = .(, )
BgCorner.Parent = SliderBg
Fill = .()
Fill.Size = .((default - min) / (max - min), , , )
Fill.BackgroundColor3 = Accent
Fill.BorderSizePixel =
Fill.Parent = SliderBg
FillCorner = .()
FillCorner.CornerRadius = .(, )
FillCorner.Parent = Fill
currentValue = default
dragging =
SliderBtn = .()
SliderBtn.Size = .(, , , )
SliderBtn.Position = .(, , , )
SliderBtn.BackgroundTransparency =
SliderBtn.Text =
SliderBtn.Parent = Frame
(inputPos)
pct = .((inputPos - SliderBg.AbsolutePosition.X) / SliderBg.AbsoluteSize.X, , )
currentValue = .(min + (max - min) * pct)
Fill.Size = .(pct, , , )
Value.Text = (currentValue)
(currentValue)
SliderBtn.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
(input.Position.X)
)
SliderBtn.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
)
Connections[ .. label] = UserInputService.InputChanged:((input)
dragging State.Running (input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch)
(input.Position.X)
)
Frame
(FarmingPanel, .(, , , ), .(, -, , ), , , (v)
Config.AutoTap = v
v () ()
)
(FarmingPanel, .(, , , ), .(, -, , ), , , (v)
Config.AutoMutations = v
v () ()
)
(FarmingPanel, .(, , , ), .(, , , ), , , (v)
Config.AutoCollectCoins = v
v () ()
)
(FarmingPanel, .(, , , ), .(, -, , ), , , (v)
Config.AutoFillPurifier = v
Config.AutoClaimPurifier = v
v
()
()
()
()
)
(FarmingPanel, .(, , , ), .(, -, , ), , , (v)
Config.AutoUseCans = v
v () ()
)
(FarmingPanel, .(, , , ), .(, , , ), , , (v)
Config.AutoPickupCans = v
v () ()
)
(FarmingPanel, .(, , , ), .(, -, , ), , , (v)
Config.AutoSteal = v
v () ()
)
(FarmingPanel, .(, , , ), .(, -, , ), , , , , (v)
Config.WaterLevelThreshold = v
)
(PlayerPanel, .(, , , ), .(, -, , ), , , (v)
Config.SpeedHack = v
v () ()
)
(PlayerPanel, .(, , , ), .(, -, , ), , , (v)
Config.AutoPrestige = v
v () ()
)
StatsRow = .()
StatsRow.Size = .(, , , )
StatsRow.Position = .(, , , )
StatsRow.BackgroundColor3 = GlassCard
StatsRow.BackgroundTransparency =
StatsRow.BorderSizePixel =
StatsRow.Parent = PlayerPanel
StatsCorner = .()
StatsCorner.CornerRadius = .(, )
StatsCorner.Parent = StatsRow
CoinsLabel = .()
CoinsLabel.Size = .(, , , )
CoinsLabel.Position = .(, , , )
CoinsLabel.BackgroundTransparency =
CoinsLabel.Text =
CoinsLabel.TextSize =
CoinsLabel.Font = .Font.GothamBold
CoinsLabel.TextColor3 = TextPrimary
CoinsLabel.TextXAlignment = .TextXAlignment.Left
CoinsLabel.Parent = StatsRow
WaterStatLabel = .()
WaterStatLabel.Size = .(, , , )
WaterStatLabel.Position = .(, , , )
WaterStatLabel.BackgroundTransparency =
WaterStatLabel.Text =
WaterStatLabel.TextSize =
WaterStatLabel.Font = .Font.GothamBold
WaterStatLabel.TextColor3 = TextPrimary
WaterStatLabel.TextXAlignment = .TextXAlignment.Left
WaterStatLabel.Parent = StatsRow
PlotLabel = .()
PlotLabel.Size = .(, , , )
PlotLabel.Position = .(, , , )
PlotLabel.BackgroundTransparency =
PlotLabel.Text =
PlotLabel.TextSize =
PlotLabel.Font = .Font.GothamBold
PlotLabel.TextColor3 = TextPrimary
PlotLabel.TextXAlignment = .TextXAlignment.Left
PlotLabel.Parent = StatsRow
PrestigeLabel = .()
PrestigeLabel.Size = .(, , , )
PrestigeLabel.Position = .(, , , )
PrestigeLabel.BackgroundTransparency =
PrestigeLabel.Text =
PrestigeLabel.TextSize =
PrestigeLabel.Font = .Font.GothamBold
PrestigeLabel.TextColor3 = TextPrimary
PrestigeLabel.TextXAlignment = .TextXAlignment.Left
PrestigeLabel.Parent = StatsRow
PrestigeBtn = .()
PrestigeBtn.Size = .(, , , )
PrestigeBtn.Position = .(, , , )
PrestigeBtn.BackgroundColor3 = Accent
PrestigeBtn.BackgroundTransparency =
PrestigeBtn.BorderSizePixel =
PrestigeBtn.Text =
PrestigeBtn.TextSize =
PrestigeBtn.Font = .Font.GothamBold
PrestigeBtn.TextColor3 = TextPrimary
PrestigeBtn.Parent = PlayerPanel
PrestigeBtnCorner = .()
PrestigeBtnCorner.CornerRadius = .(, )
PrestigeBtnCorner.Parent = PrestigeBtn
PrestigeBtn.MouseButton1Click:(DoPrestige)
Threads[] = .(()
State.Running CoinsLabel CoinsLabel.Parent
(()
CoinsLabel.Text = .. ()
lvl = ()
ready = lvl >= Config.WaterLevelThreshold
WaterStatLabel.Text = .. lvl .. ready
PrestigeLabel.Text = .. (())
plot = ()
PlotLabel.Text = plot
)
.(TIMING.STATS_UPDATE_INTERVAL)
)
dragging =
dragStart, startPos
TopBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = MainContainer.Position
)
TopBar.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
)
Connections[] = UserInputService.InputChanged:((input)
dragging State.Running (input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch)
delta = input.Position - dragStart
MainContainer.Position = .(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
)
isMobile
MobileToggle = .()
MobileToggle.Name =
MobileToggle.Size = .(, , , )
MobileToggle.Position = .(, -, , )
MobileToggle.BackgroundColor3 = GlassBg
MobileToggle.BackgroundTransparency =
MobileToggle.BorderSizePixel =
MobileToggle.Text =
MobileToggle.TextSize =
MobileToggle.Font = .Font.GothamBold
MobileToggle.Parent = ScreenGui
MobileCorner = .()
MobileCorner.CornerRadius = .(, )
MobileCorner.Parent = MobileToggle
MobileStroke = .()
MobileStroke.Color = Accent
MobileStroke.Thickness =
MobileStroke.Parent = MobileToggle
visible =
mobileDragging =
mobileDragStart, mobileStartPos
MobileToggle.MouseButton1Click:(()
mobileDragging
visible = visible
MainContainer.Visible = visible
)
MobileToggle.InputBegan:((input)
input.UserInputType == .UserInputType.Touch
mobileDragging =
mobileDragStart = input.Position
mobileStartPos = MobileToggle.Position
)
MobileToggle.InputChanged:((input)
input.UserInputType == .UserInputType.Touch
delta = input.Position - mobileDragStart
delta.Magnitude >
mobileDragging =
screenSize = ScreenGui.AbsoluteSize
btnSize = MobileToggle.AbsoluteSize
newX = .(mobileStartPos.X.Offset + delta.X, , screenSize.X - btnSize.X - )
newY = .(mobileStartPos.Y.Offset + delta.Y, , screenSize.Y - btnSize.Y - )
MobileToggle.Position = .(, newX, , newY)
)
MobileToggle.InputEnded:((input)
input.UserInputType == .UserInputType.Touch
.()
mobileDragging =
)
()
()
().ChopYourTree = {
Config = Config,
State = State,
TIMING = TIMING,
Unload = Unload,
TapTree = TapTree,
HitAllMutations = HitAllMutations,
CollectAllCoins = CollectAllCoins,
UseCans = UseCans,
PickupCans = PickupCans,
ClaimPurifier = ClaimPurifier,
FillPurifier = FillPurifier,
DoPrestige = DoPrestige,
StealCan = StealCan,
StealAllCans = StealAllCans,
GetPlayerPlot = GetPlayerPlot,
GetMutations = GetMutations,
GetWateringCans = GetWateringCans,
GetStealableCans = GetStealableCans,
GetMainTree = GetMainTree,
GetWateringCanLevels = GetWateringCanLevels,
GetHighestWaterLevel = GetHighestWaterLevel,
GetLowestLevelCanSlot = GetLowestLevelCanSlot,
IsPurifierEmpty = IsPurifierEmpty,
ShouldAutoWater = ShouldAutoWater,
HasWateringCans = HasWateringCans,
StartAutoTap = StartAutoTap,
StopAutoTap = StopAutoTap,
StartAutoMutations = StartAutoMutations,
StopAutoMutations = StopAutoMutations,
StartAutoCollect = StartAutoCollect,
StopAutoCollect = StopAutoCollect,
StartAutoPrestige = StartAutoPrestige,
StopAutoPrestige = StopAutoPrestige,
StartAutoUseCans = StartAutoUseCans,
StopAutoUseCans = StopAutoUseCans,
StartAutoPickupCans = StartAutoPickupCans,
StopAutoPickupCans = StopAutoPickupCans,
StartAutoSteal = StartAutoSteal,
StopAutoSteal = StopAutoSteal,
}
Mobile + Desktop, tested on delta ios, po ta ssium , and xeno on windows. Mobile GUI hide/show button, mobile view. Open source use as you please Features: Auto Tap water button Auto hit tree Use Cans (uses watering cans it picks up) Fill purifer (fills purifier with can at desired level and claims purifier) Pickup Cans (picks up all water cans) Set pickup level (set level you want to pickup cans at) Steal cans (gamepass required) steals all cans in map Collect coins: Tps to all coins before they can spread out Player: Speed Hack Auto Prestige Prestige Now (Requires prestige Totem) Stats

🌴 Chop Your Tree