
Key Required VerifiedUniversal

-- made by @udoxxed on dc
local lp = game.Players.LocalPlayer
local CoreGui = game:GetService("CoreGui") or lp:WaitForChild("PlayerGui")
if CoreGui:FindFirstChild("LassoHub") then
CoreGui.LassoHub:Destroy()
end
local rs = game:GetService("ReplicatedStorage")
local rem = rs:WaitForChild("Remotes")
-- settings
getgenv().AutoLasso = false
getgenv().AutoFarm = false
getgenv().AutoDeposit = false
getgenv().FarmRange = "Current"
local blacklist = {}
local busy = false
local function get_pen()
local pens = workspace:FindFirstChild("PlayerPens")
if not pens then return nil end
for _, pen in ipairs(pens:GetChildren()) do
local owner = pen:GetAttribute("Owner")
if owner == lp.Name or tostring(owner) == tostring(lp.UserId) then
return pen
end
end
return nil
end
local function tp(cf)
local c = lp.Character
local root = c and c:FindFirstChild("HumanoidRootPart")
if root then
root.CFrame = cf
root.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
root.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
root.Anchored = true
task.wait(0.05)
if root then
root.Anchored = false
root.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
root.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
end
end
end
local function equip()
local c = lp.Character
local hum = c and c:FindFirstChildOfClass("Humanoid")
if not hum then return nil end
for _, v in ipairs(c:GetChildren()) do
if v:IsA("Tool") and (v.Name == "Lasso" or v.Name:find("-")) then
return v
end
end
local lasso = lp.Backpack:FindFirstChild("Lasso")
if not lasso then
for _, v in ipairs(lp.Backpack:GetChildren()) do
if v:IsA("Tool") and v.Name:find("-") then
lasso = v
break
end
end
end
if lasso then
hum:EquipTool(lasso)
return lasso
end
return nil
end
local function get_nearest(dist)
local c = lp.Character
local root = c and c:FindFirstChild("HumanoidRootPart")
if not root then return nil end
local near = nil
local max_d = dist or math.huge
for _, folder in ipairs(workspace:GetChildren()) do
if (folder:IsA("Folder") or folder:IsA("Model")) and folder.Name:find("Pets")
and not folder.Name:find("Player")
and not folder.Name:find("Cloned")
and not folder.Name:find("ToFix") then
local pets = folder:FindFirstChild("Pets")
if pets then
for _, pet in ipairs(pets:GetChildren()) do
if pet:IsA("Model") and (not blacklist[pet] or tick() > blacklist[pet]) and not pet:GetAttribute("Captured") then
local part = pet.PrimaryPart or pet:FindFirstChild("HumanoidRootPart") or pet:FindFirstChildWhichIsA("BasePart")
if part then
local d = (part.Position - root.Position).Magnitude
if d < max_d then
max_d = d
near = pet
end
end
end
end
end
end
end
return near
end
local function get_best()
local best = nil
local max_s = -1
for _, folder in ipairs(workspace:GetChildren()) do
if (folder:IsA("Folder") or folder:IsA("Model")) and folder.Name:find("Pets")
and not folder.Name:find("Player")
and not folder.Name:find("Cloned")
and not folder.Name:find("ToFix") then
local pets = folder:FindFirstChild("Pets")
if pets then
for _, pet in ipairs(pets:GetChildren()) do
if pet:IsA("Model") and not pet:GetAttribute("Captured") then
local strength = pet:GetAttribute("Strength") or 0
if strength > max_s then
local part = pet.PrimaryPart or pet:FindFirstChild("HumanoidRootPart") or pet:FindFirstChildWhichIsA("BasePart")
if part then
max_s = strength
best = pet
end
end
end
end
end
end
end
return best
end
local function catch(pet)
if busy then return end
busy = true
local c = lp.Character
local root = c and c:FindFirstChild("HumanoidRootPart")
if not root then
busy = false
return
end
local part = pet.PrimaryPart or pet:FindFirstChild("HumanoidRootPart") or pet:FindFirstChildWhichIsA("BasePart")
if not part then
busy = false
return
end
local tool = equip()
if not tool then
warn("Put a Lasso in your Backpack!")
busy = false
return
end
if rem:FindFirstChild("equipLassoVisual") then
pcall(function()
rem.equipLassoVisual:InvokeServer(tool)
end)
end
task.wait(0.2)
local dir = (part.Position - root.Position)
rem.ThrowLasso:FireServer(1, Vector3.new(dir.X, 0, dir.Z).Unit)
task.wait(0.3)
local ok, res = pcall(function()
return rem.minigameRequest:InvokeServer(pet, pet:GetPivot())
end)
if ok and res == true then
if pet:GetAttribute("Rarity") == "Boss" then
for i = 1, 100 do
rem.UpdateProgress:FireServer(1)
task.wait(0.075)
end
else
local l_name = lp:GetAttribute("equippedLasso") or "Basic Lasso"
local petStrength = pet:GetAttribute("Strength") or 10
local l_conf = require(rs.Configs.Lassos)
local l_str = (l_conf[l_name] and l_conf[l_name].strength) or 10
local diff = math.clamp(math.floor(math.sqrt(math.max(0, (petStrength / l_str) - 1)) * 4 + 1.5), 1, 10)
local clicks_t = {
[1] = 14, [2] = 18, [3] = 24, [4] = 30, [5] = 38,
[6] = 47, [7] = 69, [8] = 81, [9] = 82, [10] = 98
}
local req = clicks_t[diff] or 98
local t_wait = req / 14 + 0.5
local steps = math.max(3, math.floor(t_wait / 0.25))
local stepInterval = t_wait / steps
local progress = 0
for i = 1, steps do
task.wait(stepInterval)
progress = math.min(100, math.floor(i * (100 / steps)))
rem.UpdateProgress:FireServer(progress)
end
end
task.wait(0.2)
else
blacklist[pet] = tick() + 8
end
busy = false
end
local ui = Instance.new("ScreenGui")
ui.Name = "LassoHub"
ui.ResetOnSpawn = false
ui.Parent = CoreGui
local main = Instance.new("Frame")
main.Name = "Main"
main.Parent = ui
main.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
main.Position = UDim2.new(0.5, -110, 0.5, -120)
main.Size = UDim2.new(0, 220, 0, 245)
main.Active = true
main.Draggable = true
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = main
local title = Instance.new("TextLabel")
title.Name = "Title"
title.Parent = main
title.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
title.Size = UDim2.new(1, 0, 0, 35)
title.Font = Enum.Font.GothamBold
title.Text = "@udoxxed on dc"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 14
title.TextXAlignment = Enum.TextXAlignment.Left
local t_corner = Instance.new("UICorner")
t_corner.CornerRadius = UDim.new(0, 8)
t_corner.Parent = title
local bar = Instance.new("Frame")
bar.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
bar.BorderSizePixel = 0
bar.Position = UDim2.new(0, 0, 1, -5)
bar.Size = UDim2.new(1, 0, 0, 5)
bar.Parent = title
local content = Instance.new("Frame")
content.BackgroundTransparency = 1
content.Position = UDim2.new(0, 0, 0, 35)
content.Size = UDim2.new(1, 0, 1, -35)
content.Parent = main
local list = Instance.new("UIListLayout")
list.Parent = content
list.HorizontalAlignment = Enum.HorizontalAlignment.Center
list.SortOrder = Enum.SortOrder.LayoutOrder
list.Padding = UDim.new(0, 8)
local padding = Instance.new("UIPadding")
padding.PaddingTop = UDim.new(0, 8)
padding.Parent = content
local function make_btn(txt, cb)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.9, 0, 0, 32)
btn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
btn.Font = Enum.Font.GothamBold
btn.Text = txt
btn.TextColor3 = Color3.fromRGB(200, 200, 200)
btn.TextSize = 13
btn.Parent = content
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 6)
c.Parent = btn
local act = false
local function update(val)
act = val
if act then
btn.BackgroundColor3 = Color3.fromRGB(0, 160, 255)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
else
btn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
btn.TextColor3 = Color3.fromRGB(200, 200, 200)
end
end
btn.MouseButton1Click:Connect(function()
act = not act
update(act)
cb(act)
end)
return btn, update
end
local b_lasso, set_lasso = make_btn("Auto Lasso: OFF", function(val)
getgenv().AutoLasso = val
b_lasso.Text = val and "Auto Lasso: ON" or "Auto Lasso: OFF"
end)
local b_farm, set_farm = make_btn("Auto Farm: OFF", function(val)
getgenv().AutoFarm = val
b_farm.Text = val and "Auto Farm: ON" or "Auto Farm: OFF"
if val then
set_lasso(true)
getgenv().AutoLasso = true
b_lasso.Text = "Auto Lasso: ON"
end
end)
local b_dep, set_dep = make_btn("Auto Deposit: OFF", function(val)
getgenv().AutoDeposit = val
b_dep.Text = val and "Auto Deposit: ON" or "Auto Deposit: OFF"
end)
local b_rng = Instance.new("TextButton")
b_rng.Size = UDim2.new(0.9, 0, 0, 32)
b_rng.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
b_rng.Font = Enum.Font.GothamBold
b_rng.Text = "Range: Current Zone (600)"
b_rng.TextColor3 = Color3.fromRGB(200, 200, 200)
b_rng.TextSize = 13
b_rng.Parent = content
local r_c = Instance.new("UICorner")
r_c.CornerRadius = UDim.new(0, 6)
r_c.Parent = b_rng
b_rng.MouseButton1Click:Connect(function()
if getgenv().FarmRange == "Current" then
getgenv().FarmRange = "All"
b_rng.Text = "Range: All Zones (Inf)"
b_rng.BackgroundColor3 = Color3.fromRGB(0, 160, 255)
b_rng.TextColor3 = Color3.fromRGB(255, 255, 255)
else
getgenv().FarmRange = "Current"
b_rng.Text = "Range: Current Zone (600)"
b_rng.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
b_rng.TextColor3 = Color3.fromRGB(200, 200, 200)
end
end)
local b_tp = Instance.new("TextButton")
b_tp.Size = UDim2.new(0.9, 0, 0, 32)
b_tp.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
b_tp.Font = Enum.Font.GothamBold
b_tp.Text = "TP to Best Animal"
b_tp.TextColor3 = Color3.fromRGB(255, 215, 0)
b_tp.TextSize = 13
b_tp.Parent = content
local tp_c = Instance.new("UICorner")
tp_c.CornerRadius = UDim.new(0, 6)
tp_c.Parent = b_tp
b_tp.MouseButton1Click:Connect(function()
local b = get_best()
if b then
local part = b.PrimaryPart or b:FindFirstChild("HumanoidRootPart") or b:FindFirstChildWhichIsA("BasePart")
if part then
tp(CFrame.new(part.Position + Vector3.new(6, 2, 6), part.Position))
b_tp.Text = "TPed to " .. (b:GetAttribute("Name") or b.Name)
task.delay(1.5, function()
b_tp.Text = "TP to Best Animal"
end)
end
else
b_tp.Text = "No Animals Found"
task.delay(1.5, function()
b_tp.Text = "TP to Best Animal"
end)
end
end)
task.spawn(function()
while task.wait(0.1) do
if getgenv().AutoFarm and not busy then
local c = lp.Character
local root = c and c:FindFirstChild("HumanoidRootPart")
if root then
local range = getgenv().FarmRange == "Current" and 600 or math.huge
local pet = get_nearest(range)
if pet then
local part = pet.PrimaryPart or pet:FindFirstChild("HumanoidRootPart") or pet:FindFirstChildWhichIsA("BasePart")
if part then
tp(CFrame.new(part.Position + Vector3.new(6, 2, 6), part.Position))
task.wait(0.15)
catch(pet)
if getgenv().AutoDeposit then
local pen = get_pen()
local spawn = pen and pen:FindFirstChild("SpawnLocation")
if spawn then
tp(spawn.CFrame + Vector3.new(0, 3, 0))
task.wait(0.6)
end
end
end
else
task.wait(0.3)
end
end
end
end
end)
task.spawn(function()
while task.wait(0.1) do
if getgenv().AutoLasso and not getgenv().AutoFarm and not busy then
local pet = get_nearest(65)
if pet then
catch(pet)
end
end
end
end)

yoo this script is so brokenn
Why is it messed up?