00M

BloxScripts.funIt first auto collects all the ducks inside Family Zone then asks you to teleport to the next game which is Duck Duck (Tag) Play 10 games and play for 30mins. Inside the script there's an auto farm that lets you win almost every game! After that you enter back to Family Zone and claim the free pumpkin head UGC.
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
local function grabq()
local g = (getgenv and getgenv()) or _G
return rawget(g, "queueonteleport")
or rawget(g, "queue_on_teleport")
or (type(queueonteleport) == "function" and queueonteleport)
or (type(queue_on_teleport) == "function" and queue_on_teleport)
or (syn and (syn.queueonteleport or syn.queue_on_teleport))
or (fluxus and fluxus.queue_on_teleport)
end
local logic = [====[
local NEXT = 135486323963203
local FILE = "DuckRun.lua"
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local TeleportService = game:GetService("TeleportService")
local RS = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local LP = Players.LocalPlayer
local PG = LP:WaitForChild("PlayerGui")
local env = (getgenv and getgenv()) or _G
local function grabq()
local g = (getgenv and getgenv()) or _G
return rawget(g, "queueonteleport")
or rawget(g, "queue_on_teleport")
or (type(queueonteleport) == "function" and queueonteleport)
or (type(queue_on_teleport) == "function" and queue_on_teleport)
or (syn and (syn.queueonteleport or syn.queue_on_teleport))
or (fluxus and fluxus.queue_on_teleport)
end
local function arm()
local q = grabq()
if not q then return false end
local ok = pcall(function()
q('loadstring(readfile("'..FILE..'"))()')
end)
if not ok then
ok = pcall(function()
q(readfile(FILE))
end)
end
if not ok then
ok = pcall(function()
q(logic)
end)
end
return ok
end
env.DuckRequeue = arm
pcall(function()
if type(env.DUCK_CLEAN) == "function" then
env.DUCK_CLEAN()
end
end)
for _, g in ipairs(PG:GetChildren()) do
if g.Name == "DuckNotch" or g.Name == "DuckClaimPrompt" then
g:Destroy()
end
end
local alive = true
local lockCf = nil
local glue = nil
local force = nil
local out = {}
local hoverY = nil
local rejoining = false
local gui = Instance.new("ScreenGui")
gui.Name = "DuckNotch"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.DisplayOrder = 10000
gui.Parent = PG
env.DUCK_CLEAN = function()
alive = false
lockCf = nil
glue = nil
pcall(function()
RunService:UnbindFromRenderStep("DuckLock")
end)
if gui and gui.Parent then
gui:Destroy()
end
local extra = PG:FindFirstChild("DuckClaimPrompt")
if extra then extra:Destroy() end
env.DUCK_CLEAN = nil
end
local island = Instance.new("Frame")
island.AnchorPoint = Vector2.new(0.5, 0)
island.Position = UDim2.new(0.5, 0, 0, 10)
island.Size = UDim2.fromOffset(300, 36)
island.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
island.BorderSizePixel = 0
island.Parent = gui
Instance.new("UICorner", island).CornerRadius = UDim.new(0, 8)
local label = Instance.new("TextLabel")
label.BackgroundTransparency = 1
label.Size = UDim2.fromScale(1, 1)
label.Text = "Duck claimed: on"
label.TextColor3 = Color3.fromRGB(240, 240, 245)
label.TextSize = 15
label.Font = Enum.Font.GothamMedium
label.Parent = island
local function say(t)
label.Text = "Duck claimed: " .. t
island.Size = UDim2.fromOffset(math.clamp(#label.Text * 8 + 32, 200, 480), 36)
end
local queued = arm()
pcall(function()
LP.OnTeleport:Connect(function()
arm()
end)
end)
task.spawn(function()
while alive do
task.wait(8)
arm()
end
end)
local function myChar()
if LP.Character and LP.Character:FindFirstChild("HumanoidRootPart") then
return LP.Character
end
local folder = workspace:FindFirstChild("Characters")
local m = folder and folder:FindFirstChild(LP.Name)
if m and m:FindFirstChild("HumanoidRootPart") then
return m
end
return LP.Character
end
local function hrp(char)
char = char or myChar()
return char and char:FindFirstChild("HumanoidRootPart")
end
local function stick()
if not alive then return end
local char = myChar()
local part = hrp(char)
if not part then return end
local cf = lockCf
if glue and glue.Parent then
local target = glue:FindFirstChild("HumanoidRootPart")
if target then
cf = CFrame.new(target.Position)
end
end
if not cf then return end
part.AssemblyLinearVelocity = Vector3.zero
part.AssemblyAngularVelocity = Vector3.zero
part.CFrame = cf
char:PivotTo(cf)
end
RunService:BindToRenderStep("DuckLock", Enum.RenderPriority.Camera.Value + 5, stick)
RunService.Heartbeat:Connect(stick)
local function findDucks()
local top = workspace:FindFirstChild("DuckDuck")
if top and top:FindFirstChild("Ducks") then
return top.Ducks
end
for _, d in ipairs(workspace:GetDescendants()) do
if d.Name == "Ducks" and d.Parent and d.Parent.Name == "DuckDuck" then
return d
end
end
end
local function spot(m)
if m:IsA("BasePart") then
return m.Position
end
if m:IsA("Model") then
local p = m.PrimaryPart or m:FindFirstChildWhichIsA("BasePart", true)
if p then return p.Position end
return m:GetPivot().Position
end
end
local function showClaimPrompt()
if PG:FindFirstChild("DuckClaimPrompt") then return end
local prompt = Instance.new("ScreenGui")
prompt.Name = "DuckClaimPrompt"
prompt.ResetOnSpawn = false
prompt.IgnoreGuiInset = true
prompt.DisplayOrder = 10050
prompt.Parent = PG
local dim = Instance.new("Frame")
dim.Size = UDim2.fromScale(1, 1)
dim.BackgroundColor3 = Color3.new(0, 0, 0)
dim.BackgroundTransparency = 0.45
dim.BorderSizePixel = 0
dim.Parent = prompt
local box = Instance.new("Frame")
box.AnchorPoint = Vector2.new(0.5, 0.5)
box.Position = UDim2.fromScale(0.5, 0.5)
box.Size = UDim2.fromOffset(340, 170)
box.BackgroundColor3 = Color3.fromRGB(28, 28, 34)
box.BorderSizePixel = 0
box.Parent = prompt
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 10)
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(55, 55, 65)
stroke.Thickness = 1
stroke.Parent = box
local title = Instance.new("TextLabel")
title.BackgroundTransparency = 1
title.Position = UDim2.new(0, 18, 0, 16)
title.Size = UDim2.new(1, -36, 0, 22)
title.Text = "All ducks collected"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 17
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = box
local body = Instance.new("TextLabel")
body.BackgroundTransparency = 1
body.Position = UDim2.new(0, 18, 0, 48)
body.Size = UDim2.new(1, -36, 0, 55)
body.Text = "To claim the UGC you need to join the next game and re-run the script."
body.TextColor3 = Color3.fromRGB(190, 190, 200)
body.TextSize = 14
body.Font = Enum.Font.Gotham
body.TextWrapped = true
body.TextXAlignment = Enum.TextXAlignment.Left
body.TextYAlignment = Enum.TextYAlignment.Top
body.Parent = box
local function makeBtn(text, x, color)
local btn = Instance.new("TextButton")
btn.AnchorPoint = Vector2.new(0, 1)
btn.Position = UDim2.new(0, x, 1, -16)
btn.Size = UDim2.fromOffset(140, 34)
btn.BackgroundColor3 = color
btn.BorderSizePixel = 0
btn.Text = text
btn.TextColor3 = Color3.new(1, 1, 1)
btn.TextSize = 14
btn.Font = Enum.Font.GothamMedium
btn.AutoButtonColor = true
btn.Parent = box
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
return btn
end
local okBtn = makeBtn("Okay", 18, Color3.fromRGB(45, 120, 80))
local exitBtn = makeBtn("Exit", 182, Color3.fromRGB(70, 70, 80))
okBtn.MouseButton1Click:Connect(function()
prompt:Destroy()
arm()
task.wait(0.4)
pcall(function()
TeleportService:Teleport(NEXT, LP)
end)
end)
exitBtn.MouseButton1Click:Connect(function()
prompt:Destroy()
if env.DUCK_CLEAN then
env.DUCK_CLEAN()
end
end)
end
local function collect()
local folder = findDucks()
if not folder then return false end
local models = {}
for _, m in ipairs(folder:GetChildren()) do
if m:IsA("Model") or m:IsA("BasePart") then
models[#models + 1] = m
end
end
if #models == 0 then
for _, m in ipairs(folder:GetDescendants()) do
if m:IsA("Model") then
models[#models + 1] = m
end
end
end
local n = 0
for _, m in ipairs(models) do
if not alive then return true end
local pos = spot(m)
if pos then
n += 1
glue = nil
lockCf = CFrame.new(pos + Vector3.new(0, 4, 0))
say(n .. " " .. m.Name)
task.wait(0.2)
end
end
say(n .. " done")
if n > 0 then
lockCf = nil
showClaimPrompt()
end
return n > 0
end
local function hop()
say(queued and "next game" or "no queue")
arm()
task.wait(0.5)
pcall(function()
TeleportService:Teleport(NEXT, LP)
end)
end
local function findRem(name)
for _, d in ipairs(RS:GetDescendants()) do
if d.Name == name and (d:IsA("RemoteEvent") or d:IsA("RemoteFunction")) then
return d
end
end
end
local elim = findRem("PlayerEliminated")
if elim then
elim.OnClientEvent:Connect(function(a)
if typeof(a) == "Instance" and a:IsA("Player") then
out[a] = true
elseif type(a) == "number" then
local p = Players:GetPlayerByUserId(a)
if p then out[p] = true end
end
end)
end
local function bodyScore(char, folderName)
local folder = char and char:FindFirstChild(folderName)
local root = hrp(char)
if not folder or not root then return 0 end
local n = 0
for _, d in ipairs(folder:GetDescendants()) do
if d:IsA("BasePart") and d.Transparency < 0.85 and (d.Position - root.Position).Magnitude < 12 then
n += d.Size.Magnitude
end
end
return n
end
local function isGoose(char)
if not char then return false end
return bodyScore(char, "GooseMain") > bodyScore(char, "DuckMain")
end
local function meGoose()
if force == "goose" then return true end
if force == "duck" then return false end
return isGoose(myChar())
end
local function setHover()
if hoverY then return hoverY end
local part = hrp()
local y = part and part.Position.Y or 12
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Exclude
params.FilterDescendantsInstances = { myChar() }
local hit = part and workspace:Raycast(part.Position, Vector3.new(0, -250, 0), params)
hoverY = (hit and hit.Position.Y or y) + 12
return hoverY
end
local function roundList()
local marked = {}
for _, plr in ipairs(Players:GetPlayers()) do
local part = hrp(plr.Character)
if plr ~= LP and not out[plr] and part and plr:GetAttribute("AliveInRound") == true then
marked[#marked + 1] = plr
end
end
if #marked > 0 then return marked end
local me = hrp()
local list = {}
if not me then return list end
for _, plr in ipairs(Players:GetPlayers()) do
local part = hrp(plr.Character)
if plr ~= LP and not out[plr] and part and plr:GetAttribute("AliveInRound") ~= false then
local flat = (Vector3.new(part.Position.X - me.Position.X, 0, part.Position.Z - me.Position.Z)).Magnitude
if flat < 250 then
list[#list + 1] = plr
end
end
end
return list
end
local function nearestDuck()
local me = hrp()
if not me then return end
local best, dist = nil, math.huge
local fallback, far = nil, math.huge
for _, plr in ipairs(roundList()) do
local d = (hrp(plr.Character).Position - me.Position).Magnitude
if d < far then
fallback = plr
far = d
end
if not isGoose(plr.Character) and d < dist then
best = plr
dist = d
end
end
return best or fallback
end
local function hideCf()
local part = hrp()
local y = setHover()
local origin = part and part.Position or Vector3.new(0, y, 0)
local pos = Vector3.new(origin.X, y, origin.Z)
local threat, best = nil, 26
for _, plr in ipairs(roundList()) do
local p = hrp(plr.Character).Position
local flat = (Vector3.new(p.X - origin.X, 0, p.Z - origin.Z)).Magnitude
if flat < best then
best = flat
threat = p
end
end
if threat then
local dir = Vector3.new(origin.X - threat.X, 0, origin.Z - threat.Z)
if dir.Magnitude < 1 then
dir = Vector3.new(0, 0, 1)
end
pos = Vector3.new(threat.X, y, threat.Z) + dir.Unit * 28
end
return CFrame.new(pos)
end
local function tryTag(plr)
local peck = findRem("TagPeck")
local claim = findRem("SubmitTagClaim")
if peck then
pcall(function() peck:FireServer(plr) end)
pcall(function() peck:FireServer(plr.Character) end)
end
if claim and claim:IsA("RemoteFunction") then
pcall(function() claim:InvokeServer(plr) end)
end
end
local function rejoin()
if rejoining or not alive then return end
rejoining = true
say("rejoin")
arm()
task.wait(0.4)
local ok, err = pcall(function()
TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LP)
end)
if not ok then
say(tostring(err))
rejoining = false
end
end
pcall(function()
local vu = game:GetService("VirtualUser")
LP.Idled:Connect(function()
pcall(function()
vu:CaptureController()
vu:ClickButton2(Vector2.new())
end)
rejoin()
end)
task.spawn(function()
while alive do
task.wait(600)
pcall(function()
vu:CaptureController()
vu:ClickButton2(Vector2.new())
end)
end
end)
end)
task.delay(19 * 60, function()
rejoin()
end)
UIS.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.G then
force = "goose"
say("goose")
elseif input.KeyCode == Enum.KeyCode.H then
force = "duck"
glue = nil
say("hiding")
end
end)
task.spawn(function()
repeat task.wait(0.1) until hrp() or not alive
if not queued then
say("no queue")
task.wait(1)
end
if findDucks() and game.PlaceId ~= NEXT then
collect()
return
end
lockCf = hideCf()
say("hiding")
while alive and gui.Parent do
if meGoose() then
local duck = nearestDuck()
if duck and hrp(duck.Character) then
say("tag " .. duck.DisplayName)
glue = duck.Character
lockCf = nil
tryTag(duck)
task.wait(1.6)
tryTag(duck)
else
glue = nil
lockCf = hideCf()
say("goose")
task.wait(0.25)
end
else
glue = nil
lockCf = hideCf()
say("hiding")
task.wait(0.2)
end
end
end)
]====]
if writefile then
writefile("DuckRun.lua", logic)
end
local q = grabq()
if q then
pcall(function()
q('loadstring(readfile("DuckRun.lua"))()')
end)
end
loadstring(logic)()Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
00