local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/theneutral0ne/wally-modified/refs/heads/main/wally-modified.lua"))()
local PlayersService = game:GetService("Players")
local ReplicatedStorageService = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local LocalPlayer = PlayersService.LocalPlayer
local RemoteFolder = ReplicatedStorageService:WaitForChild("Remotes")
local RequestRockDamageRemote = RemoteFolder:WaitForChild("RequestRockDamage")
local BonkClickRemote = RemoteFolder:FindFirstChild("BonkClick")
local MineOreRemote = RemoteFolder:FindFirstChild("MineOre")
local PrestigeRemote = RemoteFolder:FindFirstChild("PrestigeRemote")
local RequestReforgeRemote = RemoteFolder:FindFirstChild("RequestReforge")
while LocalPlayer:GetAttribute("DataLoaded") ~= true do
task.wait()
end
local CurrentGeneration = LocalPlayer:GetAttribute("ServerResetTick") or 0
local LastResetClock = 0
LocalPlayer:GetAttributeChangedSignal("ServerResetTick"):Connect(function()
CurrentGeneration = LocalPlayer:GetAttribute("ServerResetTick") or CurrentGeneration
LastResetClock = os.clock()
end)
local Settings = {
AutoFarmEnabled = false,
SendInterval = 0.10,
UseResetGuard = true,
AutoBonk = true,
AutoOre = true,
AutoPrestige = true,
AutoReforge = true,
}
local function CreatePositionValue(PositionVector)
if vector and vector.create then
return vector.create(PositionVector.X, PositionVector.Y, PositionVector.Z)
end
return PositionVector
end
local function FireRemoteIfEnabled(RemoteInstance, IsEnabled)
if IsEnabled and RemoteInstance then
RemoteInstance:FireServer()
end
end
local function RunFarmTick()
if Settings.UseResetGuard and (os.clock() - LastResetClock < 0.5) then
return
end
FireRemoteIfEnabled(BonkClickRemote, Settings.AutoBonk)
FireRemoteIfEnabled(MineOreRemote, Settings.AutoOre)
FireRemoteIfEnabled(PrestigeRemote, Settings.AutoPrestige)
FireRemoteIfEnabled(RequestReforgeRemote, Settings.AutoReforge)
for _, Object in ipairs(workspace:GetChildren()) do
if Object:IsA("BasePart") and string.find(Object.Name, "Rock", 1, true) then
local RockIdentifier = Object:GetAttribute("RockId")
if RockIdentifier ~= nil then
RequestRockDamageRemote:FireServer({
Gen = CurrentGeneration,
Pos = CreatePositionValue(Object.Position),
Rocks = { RockIdentifier }
})
end
end
end
end
local Window = Library:CreateWindow("Rock Farm", {
topcolor = Color3.fromRGB(28, 28, 28),
bgcolor = Color3.fromRGB(35, 35, 35),
btncolor = Color3.fromRGB(24, 24, 24),
dropcolor = Color3.fromRGB(24, 24, 24),
sectncolor = Color3.fromRGB(22, 22, 22),
bordercolor = Color3.fromRGB(60, 60, 60),
underlinecolor = Color3.fromRGB(0, 170, 255),
font = Enum.Font.SourceSans,
titlefont = Enum.Font.SourceSansSemibold,
fontsize = 16,
titlesize = 17,
})
Window:Section("Main")
local AutoFarmToggle = Window:Toggle("Auto Farm", { flag = "AutoFarm", default = false }, function(IsEnabled)
Settings.AutoFarmEnabled = IsEnabled
end)
local IntervalSlider
local IsUpdatingIntervalSlider = false
IntervalSlider = Window:Slider("Interval", {
flag = "SendInterval",
min = 0.05,
max = 1,
default = Settings.SendInterval,
precise = true
}, function(NewInterval)
local RoundedInterval = tonumber(string.format("%.2f", NewInterval))
if IsUpdatingIntervalSlider then
Settings.SendInterval = RoundedInterval
return
end
Settings.SendInterval = RoundedInterval
IsUpdatingIntervalSlider = true
IntervalSlider:Set(RoundedInterval)
IsUpdatingIntervalSlider = false
end)
Window:Toggle("Reset Guard", { flag = "UseResetGuard", default = true }, function(IsEnabled)
Settings.UseResetGuard = IsEnabled
end)
Window:Button("Run Once", function()
RunFarmTick()
end)
Window:Bind("Toggle Key", {
flag = "ToggleAutoKey",
default = Enum.KeyCode.RightShift,
kbonly = true
}, function()
AutoFarmToggle:Set(not Settings.AutoFarmEnabled)
end)
Window:Section("Extras")
Window:Toggle("Auto Bonk", { flag = "AutoBonk", default = true }, function(IsEnabled)
Settings.AutoBonk = IsEnabled
end)
Window:Toggle("Auto Ore", { flag = "AutoOre", default = true }, function(IsEnabled)
Settings.AutoOre = IsEnabled
end)
Window:Toggle("Auto Prestige", { flag = "AutoPrestige", default = true }, function(IsEnabled)
Settings.AutoPrestige = IsEnabled
end)
Window:Toggle("Auto Reforge", { flag = "AutoReforge", default = true }, function(IsEnabled)
Settings.AutoReforge = IsEnabled
end)
local LastSendTime = 0
RunService.Heartbeat:Connect(function()
if not Settings.AutoFarmEnabled then
return
end
local CurrentTime = tick()
if CurrentTime - LastSendTime < Settings.SendInterval then
return
end
LastSendTime = CurrentTime
RunFarmTick()
end)made a quick script for Break Rocks cuz clicking rocks 24/7 is boring ngl
just turn on auto farm and it will start breaking rocks, bonking, mining ores etc by itself. also added stuff like auto prestige and auto reforge so progression is way faster.
there’s a small ui where you can toggle things and change the interval if u want it faster/slower. nothing crazy just a chill autofarm that works.
No comments yet. Be the first to comment!
1local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/theneutral0ne/wally-modified/refs/heads/main/wally-modified.lua"))()
2
3local PlayersService = game:GetService("Players")
4local ReplicatedStorageService = game:GetService("ReplicatedStorage")
5local RunService = game:GetService("RunService")
6
7local LocalPlayer = PlayersService.LocalPlayer
8local RemoteFolder = ReplicatedStorageService:WaitForChild("Remotes")
9
10local RequestRockDamageRemote = RemoteFolder:WaitForChild("RequestRockDamage")
11local BonkClickRemote = RemoteFolder:FindFirstChild("BonkClick")
12local MineOreRemote = RemoteFolder:FindFirstChild("MineOre")
13local PrestigeRemote = RemoteFolder:FindFirstChild("PrestigeRemote")
14local RequestReforgeRemote = RemoteFolder:FindFirstChild("RequestReforge")
15
16while LocalPlayer:GetAttribute("DataLoaded") ~= true do
17 task.wait()
18end
19
20local CurrentGeneration = LocalPlayer:GetAttribute("ServerResetTick") or 0
21local LastResetClock = 0
22
23LocalPlayer:GetAttributeChangedSignal("ServerResetTick"):Connect(function()
24 CurrentGeneration = LocalPlayer:GetAttribute("ServerResetTick") or CurrentGeneration
25 LastResetClock = os.clock()
26end)
27
28local Settings = {
29 AutoFarmEnabled = false,
30 SendInterval = 0.10,
31 UseResetGuard = true,
32 AutoBonk = true,
33 AutoOre = true,
34 AutoPrestige = true,
35 AutoReforge = true,
36}
37
38local function CreatePositionValue(PositionVector)
39 if vector and vector.create then
40 return vector.create(PositionVector.X, PositionVector.Y, PositionVector.Z)
41 end
42 return PositionVector
43end
44
45local function FireRemoteIfEnabled(RemoteInstance, IsEnabled)
46 if IsEnabled and RemoteInstance then
47 RemoteInstance:FireServer()
48 end
49end
50
51local function RunFarmTick()
52 if Settings.UseResetGuard and (os.clock() - LastResetClock < 0.5) then
53 return
54 end
55
56 FireRemoteIfEnabled(BonkClickRemote, Settings.AutoBonk)
57 FireRemoteIfEnabled(MineOreRemote, Settings.AutoOre)
58 FireRemoteIfEnabled(PrestigeRemote, Settings.AutoPrestige)
59 FireRemoteIfEnabled(RequestReforgeRemote, Settings.AutoReforge)
60
61 for _, Object in ipairs(workspace:GetChildren()) do
62 if Object:IsA("BasePart") and string.find(Object.Name, "Rock", 1, true) then
63 local RockIdentifier = Object:GetAttribute("RockId")
64 if RockIdentifier ~= nil then
65 RequestRockDamageRemote:FireServer({
66 Gen = CurrentGeneration,
67 Pos = CreatePositionValue(Object.Position),
68 Rocks = { RockIdentifier }
69 })
70 end
71 end
72 end
73end
74
75local Window = Library:CreateWindow("Rock Farm", {
76 topcolor = Color3.fromRGB(28, 28, 28),
77 bgcolor = Color3.fromRGB(35, 35, 35),
78 btncolor = Color3.fromRGB(24, 24, 24),
79 dropcolor = Color3.fromRGB(24, 24, 24),
80 sectncolor = Color3.fromRGB(22, 22, 22),
81 bordercolor = Color3.fromRGB(60, 60, 60),
82 underlinecolor = Color3.fromRGB(0, 170, 255),
83 font = Enum.Font.SourceSans,
84 titlefont = Enum.Font.SourceSansSemibold,
85 fontsize = 16,
86 titlesize = 17,
87})
88
89Window:Section("Main")
90
91local AutoFarmToggle = Window:Toggle("Auto Farm", { flag = "AutoFarm", default = false }, function(IsEnabled)
92 Settings.AutoFarmEnabled = IsEnabled
93end)
94
95local IntervalSlider
96local IsUpdatingIntervalSlider = false
97
98IntervalSlider = Window:Slider("Interval", {
99 flag = "SendInterval",
100 min = 0.05,
101 max = 1,
102 default = Settings.SendInterval,
103 precise = true
104}, function(NewInterval)
105 local RoundedInterval = tonumber(string.format("%.2f", NewInterval))
106
107 if IsUpdatingIntervalSlider then
108 Settings.SendInterval = RoundedInterval
109 return
110 end
111
112 Settings.SendInterval = RoundedInterval
113 IsUpdatingIntervalSlider = true
114 IntervalSlider:Set(RoundedInterval)
115 IsUpdatingIntervalSlider = false
116end)
117
118Window:Toggle("Reset Guard", { flag = "UseResetGuard", default = true }, function(IsEnabled)
119 Settings.UseResetGuard = IsEnabled
120end)
121
122Window:Button("Run Once", function()
123 RunFarmTick()
124end)
125
126Window:Bind("Toggle Key", {
127 flag = "ToggleAutoKey",
128 default = Enum.KeyCode.RightShift,
129 kbonly = true
130}, function()
131 AutoFarmToggle:Set(not Settings.AutoFarmEnabled)
132end)
133
134Window:Section("Extras")
135
136Window:Toggle("Auto Bonk", { flag = "AutoBonk", default = true }, function(IsEnabled)
137 Settings.AutoBonk = IsEnabled
138end)
139
140Window:Toggle("Auto Ore", { flag = "AutoOre", default = true }, function(IsEnabled)
141 Settings.AutoOre = IsEnabled
142end)
143
144Window:Toggle("Auto Prestige", { flag = "AutoPrestige", default = true }, function(IsEnabled)
145 Settings.AutoPrestige = IsEnabled
146end)
147
148Window:Toggle("Auto Reforge", { flag = "AutoReforge", default = true }, function(IsEnabled)
149 Settings.AutoReforge = IsEnabled
150end)
151
152local LastSendTime = 0
153
154RunService.Heartbeat:Connect(function()
155 if not Settings.AutoFarmEnabled then
156 return
157 end
158
159 local CurrentTime = tick()
160 if CurrentTime - LastSendTime < Settings.SendInterval then
161 return
162 end
163
164 LastSendTime = CurrentTime
165 RunFarmTick()
166end)