local players: Players = game:GetService("Players")
local starterPlayer: StarterPlayer = game:GetService("StarterPlayer")
local runService: RunService = game:GetService("RunService")
local localPlayer: Player = players.LocalPlayer
local playerScripts: PlayerScripts = localPlayer:WaitForChild("PlayerScripts")
local starterPlayerScripts: StarterPlayerScripts = starterPlayer.StarterPlayerScripts
local function destroyAntiCheat(): ()
local a = playerScripts:FindFirstChild("QuitsAntiCheatChecker")
local b = playerScripts:FindFirstChild("QuitsAntiCheatLocal")
local c = starterPlayerScripts:FindFirstChild("QuitsAntiCheatChecker")
local d = starterPlayerScripts:FindFirstChild("QuitsAntiCheatLocal")
if a then a:Destroy() end
if b then b:Destroy() end
if c then c:Destroy() end
if d then d:Destroy() end
end
destroyAntiCheat()
local character: Model = localPlayer.Character or localPlayer.CharacterAdded:Wait()
local humanoidRootPart: BasePart = character:WaitForChild("HumanoidRootPart")
local winPad: BasePart = workspace.lobbyCage.obby.landawnObby.winpad
local originalCFrame: CFrame = winPad.CFrame
winPad.Size = Vector3.new(1, 1, 1)
winPad.Transparency = 1
winPad.CanCollide = false
winPad.CanTouch = true
winPad.Anchored = true
local leaderstats: Folder = localPlayer:WaitForChild("leaderstats")
local currency: NumberValue = leaderstats:WaitForChild("Quidz")
local startClock: number = os.clock()
local startMoney: number = currency.Value
local lastMoney: number = startMoney
local totalEarned: number = 0
local cycles: number = 0
local cycleEarnings: {number} = {}
local maxSamples: number = 20
if rconsoleclear then rconsoleclear() end
if rconsolename then rconsolename("winpad-farm • analytics") end
local function formatNumber(n: number): string
return tostring(math.floor(n))
:reverse()
:gsub("(%d%d%d)", "%1,")
:reverse()
:gsub("^,", "")
end
local function sweepWinPad(): ()
local base: CFrame = humanoidRootPart.CFrame * CFrame.new(0, -3, 0)
for i = 1, 6 do
winPad.CFrame = base * CFrame.new(0, i * 0.6, 0)
runService.Heartbeat:Wait()
end
winPad.CFrame = originalCFrame
end
task.spawn(function()
while true do
sweepWinPad()
cycles += 1
local currentMoney: number = currency.Value
local delta: number = currentMoney - lastMoney
if delta > 0 then
totalEarned += delta
lastMoney = currentMoney
table.insert(cycleEarnings, delta)
if #cycleEarnings > maxSamples then
table.remove(cycleEarnings, 1)
end
end
task.wait(5)
end
end)
task.spawn(function()
while true do
local uptime: number = os.clock() - startClock
local sum: number = 0
for _, v in cycleEarnings do
sum += v
end
local avgPerCycle: number = #cycleEarnings > 0 and (sum / #cycleEarnings) or 0
local cyclePerHour: number = 3600 / 5
local stableHour: number = avgPerCycle * cyclePerHour
local stableMinute: number = stableHour / 60
local stableSecond: number = stableMinute / 60
local sessionSecond: number = totalEarned / math.max(uptime, 1)
local sessionMinute: number = sessionSecond * 60
local sessionHour: number = sessionMinute * 60
local output: string =
"winpad-farm v2.1\n\n" ..
"Runtime\n" ..
" Uptime " .. string.format("%.1f", uptime) .. "s\n" ..
" Touch cycles " .. formatNumber(cycles) .. "\n\n" ..
"Economy\n" ..
" Start balance " .. formatNumber(startMoney) .. "\n" ..
" Current balance " .. formatNumber(currency.Value) .. "\n" ..
" Total earned " .. formatNumber(totalEarned) .. "\n\n" ..
"Performance (stable)\n" ..
" Earn / second " .. formatNumber(stableSecond) .. "\n" ..
" Earn / minute " .. formatNumber(stableMinute) .. "\n" ..
" Earn / hour " .. formatNumber(stableHour) .. "\n\n" ..
"Performance (session)\n" ..
" Avg / hour " .. formatNumber(sessionHour)
if rconsoleclear then rconsoleclear() end
rconsoleprint(output)
task.wait(1)
end
end)
Comments
No comments yet
Be the first to share your thoughts!