-- Cut Trees Script by JayRBLX -- Discord: https://discord.gg/KPUPp4m9pJ -- YouTube: https://youtube.com/@jayscriptsrblx local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- Key System Configuration local Window = Rayfield:CreateWindow({ Name = "Cut Trees Script | JayRBLX", LoadingTitle = "Cut Trees Script", LoadingSubtitle = "by JayRBLX", ConfigurationSaving = { Enabled = true, FolderName = "JayRBLXScripts", FileName = "CutTreesConfig" }, Discord = { Enabled = true, Invite = "KPUPp4m9pJ", RememberJoins = true }, KeySystem = true, KeySettings = { Title = "Cut Trees Script", Subtitle = "Key System", Note = "Join our discord to get the key! https://discord.gg/KPUPp4m9pJ", FileName = "CutTreesKey", SaveKey = false, GrabKeyFromSite = false, Key = {"Jcheeks130"} } }) -- Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local VirtualUser = game:GetService("VirtualUser") local Workspace = game:GetService("Workspace") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Player = Players.LocalPlayer local Character = Player.Character or Player.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart") -- Update character references on respawn Player.CharacterAdded:Connect(function(char) Character = char Humanoid = char:WaitForChild("Humanoid") HumanoidRootPart = char:WaitForChild("HumanoidRootPart") end) -- Variables local AutoChop = false local UltraAutoChop = false local TreeHitboxWidth = 10 local TreeHitboxHeight = 10 local TreeHitboxDepth = 10 local WeaponHitboxWidth = 10 local WeaponHitboxHeight = 10 local WeaponHitboxDepth = 10 local InvisibleTool = false local ChestESP = false local AutoOpenChests = false local AutoCollectChests = false local SelectedChest = "All" local SelectedMap = "Forest" local FakeLevel = 1 local FakeWood = 0 local WalkSpeed = 16 local JumpPower = 50 local SpinSpeed = 0 local NoClip = false local AntiAFK = false -- Gamepass Variables local XRayEnabled = false local TwoXWood = false local TwoXPower = false local TwoXLoot = false local LuckyEnabled = false local UltraLuckyEnabled = false -- Create Tabs local HomeTab = Window:CreateTab("🏠 Home", 4483362458) local TreesTab = Window:CreateTab("🌲 Trees", 4483362458) local ChestTab = Window:CreateTab("πŸ“¦ Chest", 4483362458) local MapsTab = Window:CreateTab("πŸ—ΊοΈ Maps", 4483362458) local GamepassTab = Window:CreateTab("🎁 Free Gamepass", 4483362458) local PlayerTab = Window:CreateTab("πŸ‘€ Player", 4483362458) local TrollTab = Window:CreateTab("😈 Troll", 4483362458) local CreditsTab = Window:CreateTab("πŸ“œ Credits", 4483362458) -- HOME TAB local HomeSection = HomeTab:CreateSection("Welcome!") HomeTab:CreateParagraph({ Title = "⚠️ Warning", Content = "Use this script at your own risk! We are not responsible for any bans or consequences. Use on an alt account if possible." }) HomeTab:CreateParagraph({ Title = "πŸ“’ Message", Content = "Welcome to Cut Trees Script by JayRBLX! Join our Discord for updates, support, and to get keys. Enjoy the script!" }) HomeTab:CreateButton({ Name = "πŸ“‹ Copy Discord Link", Callback = function() setclipboard("https://discord.gg/KPUPp4m9pJ") Rayfield:Notify({ Title = "Copied!", Content = "Discord link copied to clipboard", Duration = 3, Image = 4483362458 }) end }) HomeTab:CreateButton({ Name = "πŸ“‹ Copy YouTube Link", Callback = function() setclipboard("https://youtube.com/@jayscriptsrblx?si=94ZHB3di6FfIHY9q") Rayfield:Notify({ Title = "Copied!", Content = "YouTube link copied to clipboard", Duration = 3, Image = 4483362458 }) end }) -- TREES TAB local TreeSection = TreesTab:CreateSection("Tree Chopping") TreesTab:CreateToggle({ Name = "Auto Chop Trees", CurrentValue = false, Flag = "AutoChop", Callback = function(Value) AutoChop = Value if Value then Rayfield:Notify({ Title = "Auto Chop", Content = "Auto chop enabled!", Duration = 2, Image = 4483362458 }) end end }) TreesTab:CreateToggle({ Name = "Ultra Auto Chop Trees", CurrentValue = false, Flag = "UltraAutoChop", Callback = function(Value) UltraAutoChop = Value if Value then Rayfield:Notify({ Title = "Ultra Auto Chop", Content = "Ultra auto chop enabled!", Duration = 2, Image = 4483362458 }) end end }) local HitboxSection = TreesTab:CreateSection("Tree Hitbox Settings") TreesTab:CreateSlider({ Name = "Tree Hitbox Width", Range = {1, 100}, Increment = 1, CurrentValue = 10, Flag = "TreeHitboxWidth", Callback = function(Value) TreeHitboxWidth = Value end }) TreesTab:CreateSlider({ Name = "Tree Hitbox Height", Range = {1, 100}, Increment = 1, CurrentValue = 10, Flag = "TreeHitboxHeight", Callback = function(Value) TreeHitboxHeight = Value end }) TreesTab:CreateSlider({ Name = "Tree Hitbox Depth", Range = {1, 100}, Increment = 1, CurrentValue = 10, Flag = "TreeHitboxDepth", Callback = function(Value) TreeHitboxDepth = Value end }) local WeaponHitboxSection = TreesTab:CreateSection("Weapon Hitbox Settings") TreesTab:CreateSlider({ Name = "Weapon Hitbox Width", Range = {1, 100}, Increment = 1, CurrentValue = 10, Flag = "WeaponHitboxWidth", Callback = function(Value) WeaponHitboxWidth = Value end }) TreesTab:CreateSlider({ Name = "Weapon Hitbox Height", Range = {1, 100}, Increment = 1, CurrentValue = 10, Flag = "WeaponHitboxHeight", Callback = function(Value) WeaponHitboxHeight = Value end }) TreesTab:CreateSlider({ Name = "Weapon Hitbox Depth", Range = {1, 100}, Increment = 1, CurrentValue = 10, Flag = "WeaponHitboxDepth", Callback = function(Value) WeaponHitboxDepth = Value end }) TreesTab:CreateToggle({ Name = "Invisible Tool", CurrentValue = false, Flag = "InvisibleTool", Callback = function(Value) InvisibleTool = Value end }) -- CHEST TAB local ChestSection = ChestTab:CreateSection("Chest Settings") ChestTab:CreateDropdown({ Name = "Select Chest Type", Options = {"All", "Common", "Rare", "Epic", "Legendary", "Mythic"}, CurrentOption = "All", Flag = "ChestType", Callback = function(Option) SelectedChest = Option Rayfield:Notify({ Title = "Chest Selected", Content = "Target: " .. Option, Duration = 2, Image = 4483362458 }) end }) ChestTab:CreateToggle({ Name = "ESP Chest", CurrentValue = false, Flag = "ChestESP", Callback = function(Value) ChestESP = Value end }) ChestTab:CreateToggle({ Name = "Auto Open All Chests", CurrentValue = false, Flag = "AutoOpenChests", Callback = function(Value) AutoOpenChests = Value end }) ChestTab:CreateToggle({ Name = "Auto Collect Chest (Map)", CurrentValue = false, Flag = "AutoCollectChests", Callback = function(Value) AutoCollectChests = Value end }) -- MAPS TAB local MapsSection = MapsTab:CreateSection("Map Teleportation") MapsTab:CreateDropdown({ Name = "Select Map", Options = {"Forest", "Lava", "World 3", "World 4"}, CurrentOption = "Forest", Flag = "MapSelection", Callback = function(Option) SelectedMap = Option end }) MapsTab:CreateButton({ Name = "Teleport to Selected Map", Callback = function() local mapLocations = { ["Forest"] = CFrame.new(0, 5, 0), ["Lava"] = CFrame.new(1000, 5, 0), ["World 3"] = CFrame.new(2000, 5, 0), ["World 4"] = CFrame.new(3000, 5, 0) } if HumanoidRootPart and mapLocations[SelectedMap] then HumanoidRootPart.CFrame = mapLocations[SelectedMap] Rayfield:Notify({ Title = "Teleported!", Content = "Teleported to " .. SelectedMap, Duration = 2, Image = 4483362458 }) end end }) -- FREE GAMEPASS TAB local GamepassSection = GamepassTab:CreateSection("Free Gamepasses") GamepassTab:CreateToggle({ Name = "X-Ray", CurrentValue = false, Flag = "XRay", Callback = function(Value) XRayEnabled = Value if Value then Rayfield:Notify({ Title = "X-Ray Enabled", Content = "X-Ray gamepass activated!", Duration = 2, Image = 4483362458 }) end end }) GamepassTab:CreateToggle({ Name = "2x Wood", CurrentValue = false, Flag = "TwoXWood", Callback = function(Value) TwoXWood = Value if Value then Rayfield:Notify({ Title = "2x Wood Enabled", Content = "2x Wood gamepass activated!", Duration = 2, Image = 4483362458 }) end end }) GamepassTab:CreateToggle({ Name = "2x Power", CurrentValue = false, Flag = "TwoXPower", Callback = function(Value) TwoXPower = Value if Value then Rayfield:Notify({ Title = "2x Power Enabled", Content = "2x Power gamepass activated!", Duration = 2, Image = 4483362458 }) end end }) GamepassTab:CreateToggle({ Name = "2x Loot", CurrentValue = false, Flag = "TwoXLoot", Callback = function(Value) TwoXLoot = Value if Value then Rayfield:Notify({ Title = "2x Loot Enabled", Content = "2x Loot gamepass activated!", Duration = 2, Image = 4483362458 }) end end }) GamepassTab:CreateToggle({ Name = "Lucky", CurrentValue = false, Flag = "Lucky", Callback = function(Value) LuckyEnabled = Value if Value then Rayfield:Notify({ Title = "Lucky Enabled", Content = "Lucky gamepass activated!", Duration = 2, Image = 4483362458 }) end end }) GamepassTab:CreateToggle({ Name = "Ultra Lucky", CurrentValue = false, Flag = "UltraLucky", Callback = function(Value) UltraLuckyEnabled = Value if Value then Rayfield:Notify({ Title = "Ultra Lucky Enabled", Content = "Ultra Lucky gamepass activated!", Duration = 2, Image = 4483362458 }) end end }) -- PLAYER TAB local PlayerSection = PlayerTab:CreateSection("Player Settings") PlayerTab:CreateSlider({ Name = "Walk Speed", Range = {16, 500}, Increment = 1, CurrentValue = 16, Flag = "WalkSpeed", Callback = function(Value) WalkSpeed = Value end }) PlayerTab:CreateSlider({ Name = "Jump Boost", Range = {50, 500}, Increment = 1, CurrentValue = 50, Flag = "JumpPower", Callback = function(Value) JumpPower = Value end }) PlayerTab:CreateSlider({ Name = "Spin Speed", Range = {0, 100}, Increment = 1, CurrentValue = 0, Flag = "SpinSpeed", Callback = function(Value) SpinSpeed = Value end }) PlayerTab:CreateToggle({ Name = "No Clip", CurrentValue = false, Flag = "NoClip", Callback = function(Value) NoClip = Value end }) PlayerTab:CreateToggle({ Name = "Anti AFK", CurrentValue = false, Flag = "AntiAFK", Callback = function(Value) AntiAFK = Value end }) -- TROLL TAB local TrollSection = TrollTab:CreateSection("Troll Features") TrollTab:CreateInput({ Name = "Set Fake Level", PlaceholderText = "Enter level", RemoveTextAfterFocusLost = false, Callback = function(Text) FakeLevel = tonumber(Text) or 1 Rayfield:Notify({ Title = "Fake Level Set", Content = "Level set to: " .. FakeLevel, Duration = 2, Image = 4483362458 }) end }) TrollTab:CreateInput({ Name = "Set Fake Wood Amount", PlaceholderText = "Enter wood amount", RemoveTextAfterFocusLost = false, Callback = function(Text) FakeWood = tonumber(Text) or 0 Rayfield:Notify({ Title = "Fake Wood Set", Content = "Wood set to: " .. FakeWood, Duration = 2, Image = 4483362458 }) end }) TrollTab:CreateButton({ Name = "Admin Commands", Callback = function() loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))() end }) -- CREDITS TAB local CreditsSection = CreditsTab:CreateSection("Script Information") CreditsTab:CreateParagraph({ Title = "πŸ‘¨β€πŸ’» Created By", Content = "JayRBLX Scripts\n\nThank you for using this script! For more scripts, updates, and support, join our community!" }) CreditsTab:CreateButton({ Name = "πŸŽ₯ YouTube Channel", Callback = function() setclipboard("https://youtube.com/@jayscriptsrblx?si=94ZHB3di6FfIHY9q") Rayfield:Notify({ Title = "Copied!", Content = "YouTube link copied! Subscribe for more scripts!", Duration = 3, Image = 4483362458 }) end }) CreditsTab:CreateButton({ Name = "πŸ’¬ Discord Server", Callback = function() setclipboard("https://discord.gg/KPUPp4m9pJ") Rayfield:Notify({ Title = "Copied!", Content = "Discord link copied! Join for support!", Duration = 3, Image = 4483362458 }) end }) CreditsTab:CreateParagraph({ Title = "⚑ Script Version", Content = "Version: 1.1.0\nLast Updated: November 2025\n\nFeatures:\nβ€’ Auto Chop Trees (Fixed)\nβ€’ Chest Collection (Fixed)\nβ€’ Map Teleportation\nβ€’ Free Gamepasses (Fixed)\nβ€’ Player Enhancements\nβ€’ And More!" }) -- SCRIPT FUNCTIONS -- Function to get all trees in the workspace local function getAllTrees() local trees = {} for _, v in pairs(Workspace:GetDescendants()) do if v:IsA("Model") and (v.Name:lower():find("tree") or v:FindFirstChild("Tree")) then table.insert(trees, v) end end return trees end -- Auto Chop Function (FIXED) spawn(function() while wait() do if (AutoChop or UltraAutoChop) and Character then pcall(function() local tool = Character:FindFirstChildOfClass("Tool") if tool and tool:FindFirstChild("Handle") then local waitTime = UltraAutoChop and 0.001 or 0.05 -- Fire the tool activation if tool:FindFirstChild("RemoteEvent") then tool.RemoteEvent:FireServer() elseif tool:FindFirstChild("Activate") then tool:Activate() end -- Alternative method: Simulate mouse click local args = { [1] = "Swing" } for _, remote in pairs(ReplicatedStorage:GetDescendants()) do if remote:IsA("RemoteEvent") and (remote.Name:lower():find("swing") or remote.Name:lower():find("chop") or remote.Name:lower():find("cut")) then remote:FireServer(unpack(args)) end end wait(waitTime) end end) end end end) -- Tree Hitbox Modifier (FIXED) spawn(function() while wait(0.3) do pcall(function() local trees = getAllTrees() for _, tree in pairs(trees) do if tree:IsA("Model") then for _, part in pairs(tree:GetDescendants()) do if part:IsA("BasePart") and not part.Name:lower():find("leaves") then part.Size = Vector3.new(TreeHitboxWidth, TreeHitboxHeight, TreeHitboxDepth) part.CanCollide = false part.Transparency = 0.5 end end end end end) end end) -- Weapon Hitbox Modifier spawn(function() while wait(0.3) do if Character then pcall(function() local tool = Character:FindFirstChildOfClass("Tool") if tool then for _, part in pairs(tool:GetDescendants()) do if part:IsA("BasePart") and part.Name:lower():find("handle") or part.Name:lower():find("blade") then part.Size = Vector3.new(WeaponHitboxWidth, WeaponHitboxHeight, WeaponHitboxDepth) if InvisibleTool then part.Transparency = 1 else part.Transparency = 0 end end end end end) end end end) -- Chest ESP Function spawn(function() while wait(1) do if ChestESP then pcall(function() for _, chest in pairs(Workspace:GetDescendants()) do if chest:IsA("Model") and chest.Name:lower():find("chest") then if not chest:FindFirstChild("ChestESP") then local billboard = Instance.new("BillboardGui") billboard.Name = "ChestESP" billboard.Parent = chest billboard.AlwaysOnTop = true billboard.Size = UDim2.new(0, 100, 0, 50) billboard.StudsOffset = Vector3.new(0, 3, 0) local textLabel = Instance.new("TextLabel") textLabel.Parent = billboard textLabel.Size = UDim2.new(1, 0, 1, 0) textLabel.BackgroundTransparency = 1 textLabel.Text = chest.Name textLabel.TextColor3 = Color3.fromRGB(255, 255, 0) textLabel.TextStrokeTransparency = 0 textLabel.Font = Enum.Font.SourceSansBold textLabel.TextSize = 18 end end end end) else for _, chest in pairs(Workspace:GetDescendants()) do if chest:FindFirstChild("ChestESP") then chest.ChestESP:Destroy() end end end end end) -- Auto Open Chests (Near player) spawn(function() while wait(0.3) do if AutoOpenChests and HumanoidRootPart then pcall(function() for _, chest in pairs(Workspace:GetDescendants()) do if chest:IsA("Model") and chest.Name:lower():find("chest") then local chestPrimary = chest:FindFirstChild("HumanoidRootPart") or chest:FindFirstChildWhichIsA("BasePart") if chestPrimary and (HumanoidRootPart.Position - chestPrimary.Position).Magnitude < 50 then -- Fire proximity prompt or click detector if chest:FindFirstChildOfClass("ProximityPrompt") then fireproximityprompt(chest:FindFirstChildOfClass("ProximityPrompt")) elseif chest:FindFirstChildOfClass("ClickDetector") then fireclickdetector(chest:FindFirstChildOfClass("ClickDetector")) end -- Try remote events for _, remote in pairs(ReplicatedStorage:GetDescendants()) do if remote:IsA("RemoteEvent") and (remote.Name:lower():find("chest") or remote.Name:lower():find("collect")) then remote:FireServer(chest) end end end end end end) end end end) -- Auto Collect Chests (FIXED - Now collects after teleporting) spawn(function() while wait(1) do if AutoCollectChests and HumanoidRootPart then pcall(function() for _, chest in pairs(Workspace:GetDescendants()) do if chest:IsA("Model") and chest.Name:lower():find("chest") then if SelectedChest == "All" or chest.Name:find(SelectedChest) then local chestPrimary = chest:FindFirstChild("HumanoidRootPart") or chest:FindFirstChildWhichIsA("BasePart") if chestPrimary then -- Teleport to chest HumanoidRootPart.CFrame = chestPrimary.CFrame * CFrame.new(0, 3, 0) wait(0.5) -- Collect the chest if chest:FindFirstChildOfClass("ProximityPrompt") then fireproximityprompt(chest:FindFirstChildOfClass("ProximityPrompt")) elseif chest:FindFirstChildOfClass("ClickDetector") then fireclickdetector(chest:FindFirstChildOfClass("ClickDetector")) end -- Try remote events for _, remote in pairs(ReplicatedStorage:GetDescendants()) do if remote:IsA("RemoteEvent") and (remote.Name:lower():find("chest") or remote.Name:lower():find("collect") or remote.Name:lower():find("open")) then remote:FireServer(chest) remote:FireServer("Collect", chest) remote:FireServer("Open", chest) end end wait(1) end end end end end) end end end) -- Free Gamepasses (FIXED) spawn(function() while wait(1) do pcall(function() -- Hook gamepass checks to return true local mt = getrawmetatable(game) local oldNamecall = mt.__namecall setreadonly(mt, false) mt.__namecall = newcclosure(function(self, ...) local args = {...} local method = getnamecallmethod() if method == "UserOwnsGamePassAsync" then -- Return true for all gamepass checks when toggles are enabled if XRayEnabled or TwoXWood or TwoXPower or TwoXLoot or LuckyEnabled or UltraLuckyEnabled then return true end end return oldNamecall(self, ...) end) setreadonly(mt, true) end) end end) -- Player Speed/Jump RunService.Heartbeat:Connect(function() if Humanoid then Humanoid.WalkSpeed = WalkSpeed Humanoid.JumpPower = JumpPower end end) -- Spin spawn(function() while wait() do if SpinSpeed > 0 and HumanoidRootPart then HumanoidRootPart.CFrame = HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(SpinSpeed), 0) end end end) -- NoClip RunService.Stepped:Connect(function() if NoClip and Character then for _, part in pairs(Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- Anti AFK spawn(function() while wait(60) do if AntiAFK then VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end end end) -- Fake Level Display (Visual only) spawn(function() while wait(1) do if FakeLevel > 1 then pcall(function() for _, gui in pairs(Player.PlayerGui:GetDescendants()) do if gui:IsA("TextLabel") and gui.Text:lower():find("level") then gui.Text = "Level: " .. FakeLevel end end end) end end end) -- Fake Wood Display (Visual only) spawn(function() while wait(1) do if FakeWood > 0 then pcall(function() for _, gui in pairs(Player.PlayerGui:GetDescendants()) do if gui:IsA("TextLabel") and gui.Text:lower():find("wood") then gui.Text = "Wood: " .. FakeWood end end end) end end end) Rayfield:LoadConfiguration()