
Keyless
![[OP] AUTO FARM, ANTI-GR* & MORE](https://scriptblox.com/images/script/90086669327265-1787368076339.jpg)
-- If my script helped you, please tag me :3
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local CollectionService = game:GetService("CollectionService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local VirtualUser = game:GetService("VirtualUser")
local ProximityPromptService = game:GetService("ProximityPromptService")
local CoreGui = game:GetService("CoreGui")
local lp = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local Mouse = lp:GetMouse()
local Svc = nil
local function resolveServices()
local ok = pcall(function()
local idx = ReplicatedStorage:WaitForChild("Packages", 4):WaitForChild("_Index", 4)
for _, child in ipairs(idx:GetChildren()) do
if child.Name:match("knit") and child:FindFirstChild("knit") and child.knit:FindFirstChild("Services") then
Svc = child.knit.Services
return
end
end
end)
if not Svc then
pcall(function()
if ReplicatedStorage:FindFirstChild("Services") then
Svc = ReplicatedStorage.Services
end
end)
end
end
resolveServices()
local function findRemote(svcNames, folderType, remoteNames)
if type(svcNames) == "string" then svcNames = {svcNames} end
if type(remoteNames) == "string" then remoteNames = {remoteNames} end
if Svc then
for _, sName in ipairs(svcNames) do
local s = Svc:FindFirstChild(sName)
if s then
local f = s:FindFirstChild(folderType)
if f then
for _, rName in ipairs(remoteNames) do
local r = f:FindFirstChild(rName)
if r then return r end
end
end
end
end
end
for _, d in ipairs(ReplicatedStorage:GetDescendants()) do
for _, rName in ipairs(remoteNames) do
if d.Name == rName then
if folderType == "RE" and d:IsA("RemoteEvent") then return d end
if folderType == "RF" and d:IsA("RemoteFunction") then return d end
end
end
end
return nil
end
local R = {
StrengthClick = findRemote("StrengthService", "RE", {"ClickRequested", "Click"}),
SellLoot = findRemote("DataService", "RF", {"SellAllBackpackLoot", "SellLoot", "Sell"}),
Rebirth = findRemote({"RebirtService", "RebirthService"}, "RE", {"RebirthButtonClicked", "Rebirth"}),
GetRebirth = findRemote({"RebirtService", "RebirthService"}, "RF", {"GetState", "GetRebirthState"}),
UpgSpeed = findRemote("UpgradesService", "RE", {"SpeedButtonClicked", "SpeedUpgrade"}),
UpgCarry = findRemote("UpgradesService", "RE", {"CarryButtonClicked", "CarryUpgrade"}),
UpgAtkSpeed = findRemote("UpgradesService", "RE", {"AttackSpeedButtonClicked", "AttackSpeedUpgrade"}),
UpgAtkRange = findRemote("UpgradesService", "RE", {"AttackRangeButtonClicked", "AttackRangeUpgrade"}),
NotEnoughMoney = findRemote("UpgradesService", "RE", {"NotEnoughMoney"}),
GetBackpack = findRemote("DataService", "RF", {"GetBackpackSlotsSummary", "GetBackpack"}),
}
local GrassRarityOrder = {
"Grass_Common",
"Grass_Uncommon",
"Grass_Rare",
"Grass_Epic",
"Grass_Legendary",
"Grass_Mythic",
"Grass_Ethernal",
"Grass_Secret",
"Grass_Celestial",
"Grass_Divine",
"Grass_Absolute"
}
local Cfg = {
autoLoot = false,
lootMagnetRadius = 500,
strength = false,
strengthDelay = 0.05,
hideGrass = false,
grassNoCollide = false,
instantPrompts = false,
sell = true,
sellThreshold = 100,
speedEnabled = true,
speedValue = 50,
speedMode = "Both",
clickTP = false,
upgAll = false,
upgSpeed = false,
upgCarry = false,
upgAtkSpeed = false,
upgAtkRange = false,
autoRebirth = false,
antiAfk = true,
}
local alive = true
local nextClick, nextUpgrade, nextRebirth, nextLoot = 0, 0, 0, 0
local upgradeBackoff = 0
local isSellingInProgress = false
local lastFarmCFrame = nil
local antiAfkCon = nil
local function setAntiAfk(enabled)
if getconnections then
for _, c in ipairs(getconnections(lp.Idled)) do
pcall(function() c:Disable() end)
pcall(function() c:Disconnect() end)
end
end
if antiAfkCon then
antiAfkCon:Disconnect()
antiAfkCon = nil
end
if enabled then
antiAfkCon = lp.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.zero)
end)
end
end
if Cfg.antiAfk then
setAntiAfk(true)
end
local function char()
local c = lp.Character
if c and c:FindFirstChild("HumanoidRootPart") and c:FindFirstChildOfClass("Humanoid") then
return c
end
return nil
end
local function hrp()
local c = char()
return c and c:FindFirstChild("HumanoidRootPart")
end
local function humanoid()
local c = char()
return c and c:FindFirstChildOfClass("Humanoid")
end
local function getBackpackInfo()
local count = 0
local cap = 0
local attrCount = lp:GetAttribute("BackpackCount") or lp:GetAttribute("BackpackRaw") or lp:GetAttribute("LootCount") or lp:GetAttribute("Backpack")
local attrCap = lp:GetAttribute("BackpackCapacity") or lp:GetAttribute("CapacityRaw") or lp:GetAttribute("BackpackMax") or lp:GetAttribute("MaxBackpack")
if attrCount then count = tonumber(attrCount) or count end
if attrCap then cap = tonumber(attrCap) or cap end
if (cap == 0 or count == 0) and R.GetBackpack then
local ok, s = pcall(R.GetBackpack.InvokeServer, R.GetBackpack)
if ok and type(s) == "table" then
count = tonumber(s.Count) or tonumber(s.count) or count
cap = tonumber(s.Capacity) or tonumber(s.capacity) or tonumber(s.Max) or cap
end
end
local isFull = (cap > 0 and count >= cap)
local pct = (cap > 0) and math.floor((count / cap) * 100) or 0
return {count = count, cap = cap, pct = pct, full = isFull}
end
local function teleportToBase()
local baseBtn = lp:FindFirstChild("PlayerGui") and lp.PlayerGui:FindFirstChild("TopGUI") and lp.PlayerGui.TopGUI:FindFirstChild("Top") and lp.PlayerGui.TopGUI.Top:FindFirstChild("BaseButton")
if baseBtn then
if firesignal then
pcall(firesignal, baseBtn.Activated)
pcall(firesignal, baseBtn.MouseButton1Click)
end
if getconnections then
for _, name in ipairs({"Activated", "MouseButton1Click", "MouseButton1Down"}) do
for _, conn in ipairs(getconnections(baseBtn[name])) do
pcall(conn.Fire, conn)
end
end
end
end
task.wait(0.1)
local w1 = Workspace:FindFirstChild("Worlds") and Workspace.Worlds:FindFirstChild("World_1")
if w1 and hrp() then
local spawnPart = w1:FindFirstChild("Spawn_Point_1") or w1:FindFirstChild("Spawn") or w1:FindFirstChild("Safe_Zone_0")
if spawnPart then
local pos = spawnPart:IsA("BasePart") and spawnPart.Position or spawnPart:GetPivot().Position
hrp().CFrame = CFrame.new(pos + Vector3.new(0, 3, 0))
end
end
end
local function getBaseSellStand()
local w1 = Workspace:FindFirstChild("Worlds") and Workspace.Worlds:FindFirstChild("World_1")
if w1 then
local sellModel = w1:FindFirstChild("Sell")
if sellModel then
local tp = sellModel:FindFirstChild("TriggerPlace")
local claim = tp and tp:FindFirstChild("ClaimPart")
if claim and claim:IsA("BasePart") then
return claim
end
end
end
return nil
end
local function doSellAtBase()
if isSellingInProgress then return end
isSellingInProgress = true
local root = hrp()
if not root then
isSellingInProgress = false
return
end
lastFarmCFrame = root.CFrame
teleportToBase()
task.wait(0.35)
root = hrp()
local sellPart = getBaseSellStand()
if root and sellPart then
root.CFrame = CFrame.new(sellPart.Position + Vector3.new(0, 2.5, 0))
task.wait(0.15)
pcall(firetouchinterest, root, sellPart, 0)
pcall(firetouchinterest, root, sellPart, 1)
end
if R.SellLoot then
pcall(R.SellLoot.InvokeServer, R.SellLoot)
task.wait(0.25)
pcall(R.SellLoot.InvokeServer, R.SellLoot)
task.wait(0.2)
end
if lastFarmCFrame and hrp() then
hrp().CFrame = lastFarmCFrame
end
isSellingInProgress = false
end
local function makePromptInstant(prompt)
if Cfg.instantPrompts and prompt and prompt:IsA("ProximityPrompt") then
pcall(function()
prompt.HoldDuration = 0
prompt.RequiresLineOfSight = false
end)
end
end
for _, d in ipairs(Workspace:GetDescendants()) do
if d:IsA("ProximityPrompt") then
makePromptInstant(d)
end
end
Workspace.DescendantAdded:Connect(function(d)
if d:IsA("ProximityPrompt") then
makePromptInstant(d)
end
end)
ProximityPromptService.PromptButtonHoldBegan:Connect(function(prompt)
if Cfg.instantPrompts then
prompt.HoldDuration = 0
pcall(fireproximityprompt, prompt)
end
end)
local function applyGrassOptimization(inst)
if not inst then return end
pcall(function()
if inst:IsA("BasePart") then
if Cfg.grassNoCollide then
inst.CanCollide = false
end
if Cfg.hideGrass then
inst.Transparency = 1
inst.CastShadow = false
else
inst.Transparency = 0
end
elseif inst:IsA("Decal") or inst:IsA("Texture") then
inst.Transparency = Cfg.hideGrass and 1 or 0
elseif inst:IsA("ParticleEmitter") or inst:IsA("Beam") or inst:IsA("Trail") then
inst.Enabled = not Cfg.hideGrass
end
end)
end
local function refreshAllGrassVisuals()
for _, tag in ipairs(GrassRarityOrder) do
local ok, list = pcall(CollectionService.GetTagged, CollectionService, tag)
if ok and list then
for _, m in ipairs(list) do
for _, p in ipairs(m:GetDescendants()) do
applyGrassOptimization(p)
end
if m:IsA("BasePart") then applyGrassOptimization(m) end
end
end
end
end
for _, tag in ipairs(GrassRarityOrder) do
pcall(function()
CollectionService:GetInstanceAddedSignal(tag):Connect(function(m)
task.wait(0.05)
for _, p in ipairs(m:GetDescendants()) do
applyGrassOptimization(p)
end
if m:IsA("BasePart") then applyGrassOptimization(m) end
end)
end)
end
RunService.Stepped:Connect(function()
if not alive then return end
if Cfg.grassNoCollide then
local c = char()
if c then
for _, part in ipairs(c:GetChildren()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end
end
end)
local RarityWeights = {
Absolute = 10000,
Divine = 8000,
Celestial = 5000,
Secret = 3000,
Ethernal = 2000,
Mythic = 1200,
Legendary = 800,
Epic = 500,
Rare = 300,
Uncommon = 150,
Common = 50
}
local function getPrioritizedLootPrompts()
local prompts = {}
local root = hrp()
local rPos = root and root.Position or Vector3.zero
local searchContainers = {Workspace:FindFirstChild("Zones"), Workspace}
for _, container in ipairs(searchContainers) do
if container then
for _, d in ipairs(container:GetDescendants()) do
if d:IsA("ProximityPrompt") and d:GetAttribute("LootPickupPrompt") == true then
local attachment = d.Parent
local basePart = attachment and attachment.Parent
local lootModel = basePart and basePart.Parent
local pos = nil
if attachment and attachment:IsA("Attachment") then
pos = attachment.WorldPosition
elseif basePart and basePart:IsA("BasePart") then
pos = basePart.Position
elseif lootModel and lootModel:IsA("Model") then
pos = lootModel:GetPivot().Position
end
if pos then
local dist = (pos - rPos).Magnitude
if dist <= Cfg.lootMagnetRadius then
local weight = 50
if lootModel then
local price = tonumber(lootModel:GetAttribute("LootSellPrice")) or 0
local rarity = tostring(lootModel:GetAttribute("LootRarity") or "")
local rarityWeight = RarityWeights[rarity] or 50
weight = rarityWeight + (price / 1000)
end
table.insert(prompts, {
prompt = d,
pos = pos,
dist = dist,
weight = weight
})
end
end
end
end
if container.Name == "Zones" and #prompts > 0 then break end
end
end
table.sort(prompts, function(a, b)
if a.weight ~= b.weight then
return a.weight > b.weight
end
return a.dist < b.dist
end)
return prompts
end
local function doLootCollection()
local root = hrp()
if not root or not Cfg.autoLoot then return false end
local prompts = getPrioritizedLootPrompts()
if #prompts == 0 then return false end
local target = prompts[1]
if target and target.pos then
root.CFrame = CFrame.new(target.pos + Vector3.new(0, 2.5, 0))
task.wait(0.08)
pcall(fireproximityprompt, target.prompt)
return true
end
return false
end
local function doUpgrades()
if tick() < upgradeBackoff then return end
local fires = {}
if Cfg.upgAll or Cfg.upgSpeed then if R.UpgSpeed then table.insert(fires, R.UpgSpeed) end end
if Cfg.upgAll or Cfg.upgCarry then if R.UpgCarry then table.insert(fires, R.UpgCarry) end end
if Cfg.upgAll or Cfg.upgAtkSpeed then if R.UpgAtkSpeed then table.insert(fires, R.UpgAtkSpeed) end end
if Cfg.upgAll or Cfg.upgAtkRange then if R.UpgAtkRange then table.insert(fires, R.UpgAtkRange) end end
for _, rf in ipairs(fires) do
pcall(rf.FireServer, rf)
end
end
local function doRebirth()
if not Cfg.autoRebirth or not R.Rebirth then return end
if R.GetRebirth then
local ok, st = pcall(R.GetRebirth.InvokeServer, R.GetRebirth)
if ok and type(st) == "table" and st.CanRebirth == true then
pcall(R.Rebirth.FireServer, R.Rebirth)
end
else
pcall(R.Rebirth.FireServer, R.Rebirth)
end
end
if R.NotEnoughMoney then
pcall(function()
R.NotEnoughMoney.Connect(R.NotEnoughMoney, function()
upgradeBackoff = tick() + 6
end)
end)
end
RunService.Heartbeat:Connect(function(dt)
if not alive then return end
local c = char()
local h = c and c:FindFirstChildOfClass("Humanoid")
local root = c and c:FindFirstChild("HumanoidRootPart")
if h and root and Cfg.speedEnabled then
if (Cfg.speedMode == "WalkSpeed" or Cfg.speedMode == "Both") and h.WalkSpeed ~= Cfg.speedValue then
h.WalkSpeed = Cfg.speedValue
end
if (Cfg.speedMode == "CFrame" or Cfg.speedMode == "Both") and h.MoveDirection.Magnitude > 0 then
local extra = math.max(0, Cfg.speedValue - 16)
root.CFrame = root.CFrame + (h.MoveDirection * (extra * dt))
end
end
end)
UserInputService.InputBegan:Connect(function(input, processed)
if processed or not Cfg.clickTP then return end
if input.UserInputType == Enum.UserInputType.MouseButton1 and UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
local hit = Mouse.Hit
if hit and hrp() then
hrp().CFrame = CFrame.new(hit.Position + Vector3.new(0, 3, 0))
end
end
end)
task.spawn(function()
task.wait(0.3)
refreshAllGrassVisuals()
while alive do
local t = tick()
local c = char()
local root = hrp()
if c and root and not isSellingInProgress then
local bp = getBackpackInfo()
if Cfg.sell and (bp.full or (bp.cap > 0 and (bp.count >= bp.cap or bp.pct >= Cfg.sellThreshold))) then
doSellAtBase()
else
if Cfg.autoLoot and t > nextLoot then
if doLootCollection() then
nextLoot = t + 0.12
end
end
if Cfg.strength and t > nextClick and R.StrengthClick then
pcall(R.StrengthClick.FireServer, R.StrengthClick)
nextClick = t + Cfg.strengthDelay
end
end
if (Cfg.upgAll or Cfg.upgSpeed or Cfg.upgCarry or Cfg.upgAtkSpeed or Cfg.upgAtkRange) and t > nextUpgrade then
doUpgrades()
nextUpgrade = t + 2.5
end
if Cfg.autoRebirth and t > nextRebirth then
doRebirth()
nextRebirth = t + 3.5
end
end
task.wait(0.12)
end
end)
local WindUI = nil
local ok, _ = pcall(function()
WindUI = loadstring(game:HttpGet("https://tree-hub.vercel.app/api/UI/WindUI"))()
end)
if not ok or not WindUI then
pcall(function()
WindUI = loadstring(game:HttpGet("https://raw.githubusercontent.com/Footagesus/WindUI/main/dist/main.lua"))()
end)
end
if not WindUI then
WindUI = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))()
end
for _, p in ipairs({CoreGui, lp:FindFirstChild("PlayerGui")}) do
if p then
for _, g in ipairs(p:GetChildren()) do
if g:IsA("ScreenGui") and (g.Name:match("WindUI") or g.Name:match("GrassHub")) then
g:Destroy()
end
end
end
end
local Win = WindUI:CreateWindow({
Title = "+1 Cut Grass Adventure",
Icon = "sparkles",
Author = "by @VearyTry",
Size = UDim2.fromOffset(560, 430),
Theme = "Dark",
ToggleKey = Enum.KeyCode.RightControl,
})
local TabMain = Win:Tab({Title = "Main", Icon = "swords"})
local TabSell = Win:Tab({Title = "Auto Sell", Icon = "coins"})
local TabTeleport = Win:Tab({Title = "Teleports", Icon = "map-pin"})
local TabMove = Win:Tab({Title = "Movement", Icon = "zap"})
local TabShop = Win:Tab({Title = "Upgrades", Icon = "shopping-cart"})
local TabMisc = Win:Tab({Title = "Misc", Icon = "sliders-horizontal"})
TabMain:Section({Title = "Loot Pickup"})
TabMain:Toggle({
Title = "Auto Loot",
Desc = "Teleports to the best loot in range and picks it up",
Value = false,
Callback = function(v) Cfg.autoLoot = v end
})
TabMain:Slider({
Title = "Scan Radius",
Desc = "Search radius for dropped loot",
Step = 10,
Value = {
Min = 50,
Max = 2000,
Default = 500,
},
Min = 50,
Max = 2000,
Default = 500,
Callback = function(v)
local num = type(v) == "table" and (v.Value or v.Default) or tonumber(v) or 500
Cfg.lootMagnetRadius = num
end
})
TabMain:Section({Title = "Strength Training"})
TabMain:Toggle({
Title = "Auto Strength",
Desc = "Clicks strength training automatically",
Value = false,
Callback = function(v) Cfg.strength = v end
})
TabMain:Slider({
Title = "Click Delay",
Desc = "Delay between clicks (seconds)",
Step = 0.01,
Value = {
Min = 0.01,
Max = 0.5,
Default = Cfg.strengthDelay,
},
Min = 0.01,
Max = 0.5,
Default = Cfg.strengthDelay,
Callback = function(v)
local num = type(v) == "table" and (v.Value or v.Default) or tonumber(v) or 0.05
Cfg.strengthDelay = num
end
})
TabSell:Section({Title = "Auto Sell"})
TabSell:Toggle({
Title = "Auto Sell",
Desc = "Teleports to base, sells loot, and returns to your position",
Value = Cfg.sell,
Callback = function(v) Cfg.sell = v end
})
TabSell:Slider({
Title = "Backpack Threshold (%)",
Desc = "Sell when backpack reaches this percentage",
Step = 1,
Value = {
Min = 20,
Max = 100,
Default = Cfg.sellThreshold,
},
Min = 20,
Max = 100,
Default = Cfg.sellThreshold,
Callback = function(v)
local num = type(v) == "table" and (v.Value or v.Default) or tonumber(v) or 100
Cfg.sellThreshold = num
end
})
TabSell:Button({
Title = "Sell Now",
Desc = "Sells backpack loot immediately",
Callback = function()
task.spawn(doSellAtBase)
WindUI:Notify({Title = "Auto Sell", Content = "Sold backpack loot", Duration = 2})
end
})
TabTeleport:Section({Title = "Teleports"})
TabTeleport:Button({
Title = "Teleport to Base",
Desc = "Teleports your character back to base",
Callback = function()
teleportToBase()
WindUI:Notify({Title = "Teleport", Content = "Teleported to base", Duration = 2})
end
})
TabTeleport:Toggle({
Title = "Click TP",
Desc = "Hold Ctrl and left click anywhere to teleport",
Value = Cfg.clickTP,
Callback = function(v) Cfg.clickTP = v end
})
TabMove:Section({Title = "Speed"})
TabMove:Toggle({
Title = "Speed Boost",
Desc = "Enables custom walk speed",
Value = Cfg.speedEnabled,
Callback = function(v)
Cfg.speedEnabled = v
local h = humanoid()
if h then
h.WalkSpeed = v and Cfg.speedValue or 16
end
end
})
TabMove:Slider({
Title = "WalkSpeed",
Desc = "Movement speed value",
Step = 1,
Value = {
Min = 16,
Max = 250,
Default = Cfg.speedValue,
},
Min = 16,
Max = 250,
Default = Cfg.speedValue,
Callback = function(v)
local num = type(v) == "table" and (v.Value or v.Default) or tonumber(v) or 50
Cfg.speedValue = num
if Cfg.speedEnabled then
local h = humanoid()
if h then h.WalkSpeed = num end
end
end
})
TabMove:Dropdown({
Title = "Speed Method",
Desc = "Movement method",
Values = {"Both", "WalkSpeed", "CFrame"},
Value = "Both",
Callback = function(v)
if type(v) == "table" then v = v.Value or v[1] end
if v == "Both" then Cfg.speedMode = "Both"
elseif v == "WalkSpeed" then Cfg.speedMode = "WalkSpeed"
elseif v == "CFrame" then Cfg.speedMode = "CFrame"
end
end
})
TabShop:Section({Title = "Auto Upgrades"})
TabShop:Toggle({
Title = "Upgrade All",
Desc = "Buys all available upgrades continuously",
Value = false,
Callback = function(v) Cfg.upgAll = v end
})
TabShop:Toggle({
Title = "Upgrade Walk Speed",
Value = false,
Callback = function(v) Cfg.upgSpeed = v end
})
TabShop:Toggle({
Title = "Upgrade Carry Capacity",
Value = false,
Callback = function(v) Cfg.upgCarry = v end
})
TabShop:Toggle({
Title = "Upgrade Attack Speed",
Value = false,
Callback = function(v) Cfg.upgAtkSpeed = v end
})
TabShop:Toggle({
Title = "Upgrade Attack Range",
Value = false,
Callback = function(v) Cfg.upgAtkRange = v end
})
TabShop:Section({Title = "Rebirth"})
TabShop:Toggle({
Title = "Auto Rebirth",
Desc = "Rebirths automatically when available",
Value = false,
Callback = function(v) Cfg.autoRebirth = v end
})
TabMisc:Section({Title = "World & Interaction"})
TabMisc:Toggle({
Title = "Instant Prompts",
Desc = "Removes proximity prompt hold duration",
Value = Cfg.instantPrompts,
Callback = function(v)
Cfg.instantPrompts = v
if v then
for _, d in ipairs(Workspace:GetDescendants()) do
if d:IsA("ProximityPrompt") then
makePromptInstant(d)
end
end
end
end
})
TabMisc:Toggle({
Title = "Disable Grass Collision",
Desc = "Walk through grass without colliding",
Value = Cfg.grassNoCollide,
Callback = function(v)
Cfg.grassNoCollide = v
refreshAllGrassVisuals()
end
})
TabMisc:Toggle({
Title = "Hide Grass",
Desc = "Hides grass models for better visibility",
Value = Cfg.hideGrass,
Callback = function(v)
Cfg.hideGrass = v
refreshAllGrassVisuals()
WindUI:Notify({Title = "Misc", Content = v and "Grass hidden" or "Grass visible", Duration = 2})
end
})
TabMisc:Section({Title = "Utilities"})
TabMisc:Toggle({
Title = "Anti-AFK",
Desc = "Prevents 20-minute idle disconnect",
Value = Cfg.antiAfk,
Callback = function(v)
Cfg.antiAfk = v
setAntiAfk(v)
end
})
TabMisc:Button({
Title = "FPS Boost",
Desc = "Disables shadows and smooths textures for better performance",
Callback = function()
pcall(function()
for _, v in ipairs(Workspace:GetDescendants()) do
if v:IsA("BasePart") then
v.Material = Enum.Material.SmoothPlastic
v.CastShadow = false
elseif v:IsA("Decal") or v:IsA("Texture") then
v.Transparency = 1
end
end
game:GetService("Lighting").GlobalShadows = false
end)
Cfg.hideGrass = true
refreshAllGrassVisuals()
WindUI:Notify({Title = "Misc", Content = "FPS boost applied", Duration = 2})
end
})
TabMisc:Button({
Title = "Rejoin Server",
Desc = "Reconnects to the same server",
Callback = function()
pcall(function()
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, game.JobId, lp)
end)
end
})
WindUI:Notify({
Title = "+1 Cut Grass Adventure",
Content = "Press Right Ctrl to toggle menu.",
Duration = 4
})No comments yet for this script.


