CCCPaste

Cut Trees Script

-- 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()