
KeylessUniversal

-- ╔══════════════════════════════════════════════════════════════╗
-- ║ CAPYBARA HUB v1.0 — by Axiom ║
-- ║ Game: Capybaras VS Plants ║
-- ║ Executor: Xeno Compatible ║
-- ╚══════════════════════════════════════════════════════════════╝
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- ══════════════════════════════════════════════
-- STATE
-- ══════════════════════════════════════════════
local Hub = {
AutoCollect = false,
AutoBuyEgg = false,
AutoHatch = false,
AutoPlaceCapy = false,
AutoBoss = false,
WeatherAlert = false,
SpeedHack = false,
AutoCode = false,
SpeedValue = 16,
EggTier = "Basic",
Dragging = false,
DragStart = nil,
StartPos = nil,
}
local Codes = {"RELEASE", "UPDATE2", "CAPYVIBES"}
-- ══════════════════════════════════════════════
-- GUI CONSTRUCTION
-- ══════════════════════════════════════════════
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "CapybaraHub"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = PlayerGui
-- Main frame
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 420, 0, 520)
MainFrame.Position = UDim2.new(0.5, -210, 0.5, -260)
MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 24)
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui
-- Rounded corners
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 12)
UICorner.Parent = MainFrame
-- Outer glow stroke
local UIStroke = Instance.new("UIStroke")
UIStroke.Color = Color3.fromRGB(120, 220, 140)
UIStroke.Thickness = 1.5
UIStroke.Transparency = 0.3
UIStroke.Parent = MainFrame
-- Title bar
local TitleBar = Instance.new("Frame")
TitleBar.Name = "TitleBar"
TitleBar.Size = UDim2.new(1, 0, 0, 48)
TitleBar.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainFrame
local TitleCorner = Instance.new("UICorner")
TitleCorner.CornerRadius = UDim.new(0, 12)
TitleCorner.Parent = TitleBar
-- Title icon + text
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(1, -60, 1, 0)
TitleLabel.Position = UDim2.new(0, 14, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "🐾 CAPYBARA HUB v1.0"
TitleLabel.TextColor3 = Color3.fromRGB(120, 230, 150)
TitleLabel.TextSize = 16
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TitleBar
-- Minimize button
local MinBtn = Instance.new("TextButton")
MinBtn.Size = UDim2.new(0, 30, 0, 30)
MinBtn.Position = UDim2.new(1, -76, 0, 9)
MinBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 75)
MinBtn.Text = "—"
MinBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
MinBtn.TextSize = 14
MinBtn.Font = Enum.Font.GothamBold
MinBtn.BorderSizePixel = 0
MinBtn.Parent = TitleBar
local MinCorner = Instance.new("UICorner")
MinCorner.CornerRadius = UDim.new(0, 6)
MinCorner.Parent = MinBtn
-- Close button
local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 30, 0, 30)
CloseBtn.Position = UDim2.new(1, -40, 0, 9)
CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
CloseBtn.Text = "✕"
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 14
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.BorderSizePixel = 0
CloseBtn.Parent = TitleBar
local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 6)
CloseCorner.Parent = CloseBtn
-- Tab bar
local TabBar = Instance.new("Frame")
TabBar.Size = UDim2.new(1, 0, 0, 38)
TabBar.Position = UDim2.new(0, 0, 0, 48)
TabBar.BackgroundColor3 = Color3.fromRGB(22, 22, 30)
TabBar.BorderSizePixel = 0
TabBar.Parent = MainFrame
local TabLayout = Instance.new("UIListLayout")
TabLayout.FillDirection = Enum.FillDirection.Horizontal
TabLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
TabLayout.VerticalAlignment = Enum.VerticalAlignment.Center
TabLayout.Padding = UDim.new(0, 6)
TabLayout.Parent = TabBar
-- Content area
local ContentArea = Instance.new("Frame")
ContentArea.Size = UDim2.new(1, 0, 1, -86)
ContentArea.Position = UDim2.new(0, 0, 0, 86)
ContentArea.BackgroundTransparency = 1
ContentArea.Parent = MainFrame
-- Status bar
local StatusBar = Instance.new("Frame")
StatusBar.Size = UDim2.new(1, 0, 0, 24)
StatusBar.Position = UDim2.new(0, 0, 1, -24)
StatusBar.BackgroundColor3 = Color3.fromRGB(22, 22, 30)
StatusBar.BorderSizePixel = 0
StatusBar.ZIndex = 10
StatusBar.Parent = MainFrame
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Size = UDim2.new(1, -10, 1, 0)
StatusLabel.Position = UDim2.new(0, 10, 0, 0)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "● Idle"
StatusLabel.TextColor3 = Color3.fromRGB(100, 200, 120)
StatusLabel.TextSize = 11
StatusLabel.Font = Enum.Font.Gotham
StatusLabel.TextXAlignment = Enum.TextXAlignment.Left
StatusLabel.Parent = StatusBar
local function SetStatus(msg, color)
StatusLabel.Text = "● " .. msg
StatusLabel.TextColor3 = color or Color3.fromRGB(100, 200, 120)
end
-- ══════════════════════════════════════════════
-- TAB + PANEL SYSTEM
-- ══════════════════════════════════════════════
local Tabs = {}
local Panels = {}
local ActiveTab = nil
local TabNames = {"Farm", "Hatch", "Misc", "Codes"}
local TabColors = {
Active = Color3.fromRGB(80, 200, 110),
Inactive = Color3.fromRGB(45, 45, 58),
Text = Color3.fromRGB(240, 240, 240),
TextDim = Color3.fromRGB(130, 130, 145),
}
local function SwitchTab(name)
for tname, panel in pairs(Panels) do
panel.Visible = (tname == name)
end
for tname, btn in pairs(Tabs) do
if tname == name then
btn.BackgroundColor3 = TabColors.Active
btn.TextColor3 = Color3.fromRGB(18, 18, 24)
else
btn.BackgroundColor3 = TabColors.Inactive
btn.TextColor3 = TabColors.TextDim
end
end
ActiveTab = name
end
for _, name in ipairs(TabNames) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 82, 0, 28)
btn.BackgroundColor3 = TabColors.Inactive
btn.Text = name
btn.TextColor3 = TabColors.TextDim
btn.TextSize = 13
btn.Font = Enum.Font.GothamBold
btn.BorderSizePixel = 0
btn.Parent = TabBar
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 6)
c.Parent = btn
local panel = Instance.new("ScrollingFrame")
panel.Size = UDim2.new(1, 0, 1, -24)
panel.Position = UDim2.new(0, 0, 0, 0)
panel.BackgroundTransparency = 1
panel.BorderSizePixel = 0
panel.ScrollBarThickness = 4
panel.ScrollBarImageColor3 = Color3.fromRGB(80, 200, 110)
panel.Visible = false
panel.Parent = ContentArea
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 8)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
layout.Parent = panel
local pad = Instance.new("UIPadding")
pad.PaddingTop = UDim.new(0, 10)
pad.PaddingBottom = UDim.new(0, 10)
pad.Parent = panel
Tabs[name] = btn
Panels[name] = panel
btn.MouseButton1Click:Connect(function()
SwitchTab(name)
end)
end
SwitchTab("Farm")
-- ══════════════════════════════════════════════
-- WIDGET BUILDERS
-- ══════════════════════════════════════════════
local function MakeToggle(parent, label, desc, callback)
local row = Instance.new("Frame")
row.Size = UDim2.new(0, 390, 0, 56)
row.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
row.BorderSizePixel = 0
row.Parent = parent
local rc = Instance.new("UICorner")
rc.CornerRadius = UDim.new(0, 8)
rc.Parent = row
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0, 270, 0, 24)
lbl.Position = UDim2.new(0, 12, 0, 6)
lbl.BackgroundTransparency = 1
lbl.Text = label
lbl.TextColor3 = Color3.fromRGB(230, 230, 230)
lbl.TextSize = 13
lbl.Font = Enum.Font.GothamBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = row
local sub = Instance.new("TextLabel")
sub.Size = UDim2.new(0, 270, 0, 18)
sub.Position = UDim2.new(0, 12, 0, 30)
sub.BackgroundTransparency = 1
sub.Text = desc
sub.TextColor3 = Color3.fromRGB(110, 110, 130)
sub.TextSize = 11
sub.Font = Enum.Font.Gotham
sub.TextXAlignment = Enum.TextXAlignment.Left
sub.Parent = row
-- Toggle pill
local pill = Instance.new("Frame")
pill.Size = UDim2.new(0, 46, 0, 24)
pill.Position = UDim2.new(1, -58, 0.5, -12)
pill.BackgroundColor3 = Color3.fromRGB(55, 55, 68)
pill.BorderSizePixel = 0
pill.Parent = row
local pc = Instance.new("UICorner")
pc.CornerRadius = UDim.new(0, 12)
pc.Parent = pill
local knob = Instance.new("Frame")
knob.Size = UDim2.new(0, 18, 0, 18)
knob.Position = UDim2.new(0, 3, 0.5, -9)
knob.BackgroundColor3 = Color3.fromRGB(160, 160, 175)
knob.BorderSizePixel = 0
knob.Parent = pill
local kc = Instance.new("UICorner")
kc.CornerRadius = UDim.new(0, 9)
kc.Parent = knob
local state = false
local function SetToggle(val)
state = val
local goal = val and UDim2.new(0, 25, 0.5, -9) or UDim2.new(0, 3, 0.5, -9)
local col = val and Color3.fromRGB(80, 200, 110) or Color3.fromRGB(55, 55, 68)
local kcol = val and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(160, 160, 175)
TweenService:Create(knob, TweenInfo.new(0.15), {Position = goal, BackgroundColor3 = kcol}):Play()
TweenService:Create(pill, TweenInfo.new(0.15), {BackgroundColor3 = col}):Play()
callback(state)
end
pill.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
SetToggle(not state)
end
end)
return row, function() return state end, SetToggle
end
local function MakeButton(parent, label, desc, callback)
local row = Instance.new("Frame")
row.Size = UDim2.new(0, 390, 0, 46)
row.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
row.BorderSizePixel = 0
row.Parent = parent
local rc = Instance.new("UICorner")
rc.CornerRadius = UDim.new(0, 8)
rc.Parent = row
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 100, 0, 28)
btn.Position = UDim2.new(1, -112, 0.5, -14)
btn.BackgroundColor3 = Color3.fromRGB(60, 180, 90)
btn.Text = label
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 12
btn.Font = Enum.Font.GothamBold
btn.BorderSizePixel = 0
btn.Parent = row
local bc = Instance.new("UICorner")
bc.CornerRadius = UDim.new(0, 6)
bc.Parent = btn
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0, 260, 1, 0)
lbl.Position = UDim2.new(0, 12, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Text = desc
lbl.TextColor3 = Color3.fromRGB(180, 180, 200)
lbl.TextSize = 12
lbl.Font = Enum.Font.Gotham
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = row
btn.MouseButton1Click:Connect(callback)
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(80, 210, 110)}):Play()
end)
btn.MouseLeave:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(60, 180, 90)}):Play()
end)
return row
end
local function MakeSectionLabel(parent, text)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0, 390, 0, 22)
lbl.BackgroundTransparency = 1
lbl.Text = " " .. text
lbl.TextColor3 = Color3.fromRGB(80, 200, 110)
lbl.TextSize = 11
lbl.Font = Enum.Font.GothamBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = parent
end
local function MakeSlider(parent, label, min, max, default, callback)
local row = Instance.new("Frame")
row.Size = UDim2.new(0, 390, 0, 60)
row.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
row.BorderSizePixel = 0
row.Parent = parent
local rc = Instance.new("UICorner")
rc.CornerRadius = UDim.new(0, 8)
rc.Parent = row
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -60, 0, 22)
lbl.Position = UDim2.new(0, 12, 0, 6)
lbl.BackgroundTransparency = 1
lbl.Text = label
lbl.TextColor3 = Color3.fromRGB(220, 220, 220)
lbl.TextSize = 12
lbl.Font = Enum.Font.GothamBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = row
local valLabel = Instance.new("TextLabel")
valLabel.Size = UDim2.new(0, 50, 0, 22)
valLabel.Position = UDim2.new(1, -58, 0, 6)
valLabel.BackgroundTransparency = 1
valLabel.Text = tostring(default)
valLabel.TextColor3 = Color3.fromRGB(80, 200, 110)
valLabel.TextSize = 12
valLabel.Font = Enum.Font.GothamBold
valLabel.TextXAlignment = Enum.TextXAlignment.Right
valLabel.Parent = row
local track = Instance.new("Frame")
track.Size = UDim2.new(0, 362, 0, 6)
track.Position = UDim2.new(0, 14, 0, 40)
track.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
track.BorderSizePixel = 0
track.Parent = row
local tc = Instance.new("UICorner")
tc.CornerRadius = UDim.new(0, 3)
tc.Parent = track
local fill = Instance.new("Frame")
fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(80, 200, 110)
fill.BorderSizePixel = 0
fill.Parent = track
local fc = Instance.new("UICorner")
fc.CornerRadius = UDim.new(0, 3)
fc.Parent = fill
local handle = Instance.new("Frame")
handle.Size = UDim2.new(0, 14, 0, 14)
handle.Position = UDim2.new((default - min) / (max - min), -7, 0.5, -7)
handle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
handle.BorderSizePixel = 0
handle.Parent = track
local hc = Instance.new("UICorner")
hc.CornerRadius = UDim.new(0, 7)
hc.Parent = handle
local dragging = false
local currentVal = default
local function UpdateSlider(x)
local relX = math.clamp((x - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1)
currentVal = math.floor(min + relX * (max - min))
fill.Size = UDim2.new(relX, 0, 1, 0)
handle.Position = UDim2.new(relX, -7, 0.5, -7)
valLabel.Text = tostring(currentVal)
callback(currentVal)
end
track.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
UpdateSlider(input.Position.X)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
UpdateSlider(input.Position.X)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
return row
end
-- ══════════════════════════════════════════════
-- TAB: FARM
-- ══════════════════════════════════════════════
local FarmPanel = Panels["Farm"]
MakeSectionLabel(FarmPanel, "MONEY & COLLECTION")
MakeToggle(FarmPanel, "⚡ Auto Collect Money", "Grabs cash drops from your plot automatically", function(val)
Hub.AutoCollect = val
SetStatus(val and "Auto Collect ON" or "Idle", val and Color3.fromRGB(80, 220, 100) or Color3.fromRGB(100, 200, 120))
end)
MakeToggle(FarmPanel, "🌿 Auto Buy Best Egg", "Purchases the highest tier egg you can afford", function(val)
Hub.AutoBuyEgg = val
SetStatus(val and "Auto Buy Egg ON" or "Idle")
end)
MakeToggle(FarmPanel, "📦 Auto Place Capybara", "Places hatched capybaras onto plot slots", function(val)
Hub.AutoPlaceCapy = val
SetStatus(val and "Auto Place ON" or "Idle")
end)
MakeSectionLabel(FarmPanel, "BOSS EVENTS")
MakeToggle(FarmPanel, "👾 Auto Boss Fight", "Targets and attacks boss when it spawns", function(val)
Hub.AutoBoss = val
SetStatus(val and "Boss Hunter ON" or "Idle")
end)
MakeButton(FarmPanel, "Attack Now", "Manually trigger a boss attack this cycle", function()
local boss = workspace:FindFirstChild("Boss") or workspace:FindFirstChildWhichIsA("Model", true)
if boss then
SetStatus("Boss targeted!", Color3.fromRGB(220, 180, 60))
-- Fire toward boss position
local char = LocalPlayer.Character
if char and char:FindFirstChild("HumanoidRootPart") then
char.HumanoidRootPart.CFrame = CFrame.new(boss:GetPivot().Position + Vector3.new(0, 0, 5))
end
else
SetStatus("No boss found", Color3.fromRGB(200, 80, 80))
end
end)
MakeSectionLabel(FarmPanel, "MOVEMENT")
MakeSlider(FarmPanel, "Walk Speed", 16, 100, 16, function(val)
Hub.SpeedValue = val
if Hub.SpeedHack then
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid.WalkSpeed = val
end
end
end)
MakeToggle(FarmPanel, "🏃 Speed Hack", "Apply custom walk speed to character", function(val)
Hub.SpeedHack = val
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid.WalkSpeed = val and Hub.SpeedValue or 16
end
SetStatus(val and "Speed: " .. Hub.SpeedValue or "Idle")
end)
MakeButton(FarmPanel, "Teleport Plot", "Teleport to your own plot instantly", function()
local char = LocalPlayer.Character
if not char then return end
-- Scan for plot tagged with player name
for _, obj in ipairs(workspace:GetDescendants()) do
if (obj.Name == "Plot" or obj.Name == "PlayerPlot") and obj:IsA("BasePart") then
local root = char:FindFirstChild("HumanoidRootPart")
if root then
root.CFrame = obj.CFrame + Vector3.new(0, 5, 0)
SetStatus("Teleported to plot", Color3.fromRGB(80, 180, 220))
return
end
end
end
-- Fallback: find plot by proximity
local plotFolder = workspace:FindFirstChild("Plots") or workspace:FindFirstChild("PlayerPlots")
if plotFolder then
local myPlot = plotFolder:FindFirstChild(LocalPlayer.Name) or plotFolder:GetChildren()[1]
if myPlot then
local part = myPlot:FindFirstChildWhichIsA("BasePart")
local root = char:FindFirstChild("HumanoidRootPart")
if part and root then
root.CFrame = part.CFrame + Vector3.new(0, 5, 0)
SetStatus("Teleported!", Color3.fromRGB(80, 180, 220))
end
end
end
end)
-- ══════════════════════════════════════════════
-- TAB: HATCH
-- ══════════════════════════════════════════════
local HatchPanel = Panels["Hatch"]
MakeSectionLabel(HatchPanel, "EGG MANAGEMENT")
MakeToggle(HatchPanel, "🥚 Auto Hatch Eggs", "Automatically hatches all eggs on your plot", function(val)
Hub.AutoHatch = val
SetStatus(val and "Auto Hatch ON" or "Idle")
end)
MakeToggle(HatchPanel, "⚙️ Weather Alert", "Notifies when weather mutation event triggers", function(val)
Hub.WeatherAlert = val
SetStatus(val and "Weather Watch ON" or "Idle")
end)
MakeButton(HatchPanel, "Collect All", "Attempt to collect all hatched capybaras now", function()
SetStatus("Collecting...", Color3.fromRGB(220, 180, 60))
-- Scan workspace for interactable collect prompts
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") and (obj.ActionText:lower():find("collect") or obj.ActionText:lower():find("hatch")) then
fireproximityprompt(obj)
end
end
task.delay(1.5, function()
SetStatus("Collection sweep done", Color3.fromRGB(80, 200, 110))
end)
end)
MakeSectionLabel(HatchPanel, "MUTATION TRACKER")
MakeButton(HatchPanel, "Scan Mutations", "Scan all plot objects for active mutations", function()
SetStatus("Scanning mutations...", Color3.fromRGB(220, 180, 60))
local found = {}
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("StringValue") and obj.Name == "Mutation" and obj.Value ~= "" then
table.insert(found, obj.Parent.Name .. ": " .. obj.Value)
end
if obj:IsA("Model") and obj:FindFirstChild("Mutation") then
local m = obj:FindFirstChild("Mutation")
if m and m.Value ~= "" then
table.insert(found, obj.Name .. " → " .. m.Value)
end
end
end
if #found > 0 then
SetStatus("Mutations: " .. #found .. " found", Color3.fromRGB(180, 130, 255))
else
SetStatus("No active mutations detected", Color3.fromRGB(150, 150, 170))
end
end)
MakeButton(HatchPanel, "Instant Hatch", "Fire hatch prompt on all eggs in proximity", function()
local char = LocalPlayer.Character
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart")
if not root then return end
local count = 0
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") then
local dist = (obj.Parent:IsA("BasePart") and (obj.Parent.Position - root.Position).Magnitude) or 999
if dist < 50 then
pcall(function() fireproximityprompt(obj) end)
count = count + 1
end
end
end
SetStatus("Fired " .. count .. " prompts", Color3.fromRGB(80, 200, 110))
end)
MakeSectionLabel(HatchPanel, "REMOTE TOOLS")
MakeButton(HatchPanel, "Dump Remotes", "Print all ReplicatedStorage remote names to console", function()
local remotes = {}
for _, v in ipairs(ReplicatedStorage:GetDescendants()) do
if v:IsA("RemoteEvent") or v:IsA("RemoteFunction") then
table.insert(remotes, v.ClassName .. ": " .. v:GetFullName())
end
end
if #remotes > 0 then
print("=== CAPYBARA HUB: REMOTE DUMP ===")
for _, r in ipairs(remotes) do print(r) end
print("=== TOTAL: " .. #remotes .. " ===")
SetStatus("Dumped " .. #remotes .. " remotes → console", Color3.fromRGB(100, 180, 255))
else
SetStatus("No remotes found in ReplicatedStorage", Color3.fromRGB(200, 80, 80))
end
end)
-- ══════════════════════════════════════════════
-- TAB: MISC
-- ══════════════════════════════════════════════
local MiscPanel = Panels["Misc"]
MakeSectionLabel(MiscPanel, "VISUAL")
MakeButton(MiscPanel, "Fullbright", "Set ambient and fog to maximum visibility", function()
game:GetService("Lighting").Ambient = Color3.fromRGB(255, 255, 255)
game:GetService("Lighting").OutdoorAmbient = Color3.fromRGB(255, 255, 255)
game:GetService("Lighting").Brightness = 5
game:GetService("Lighting").FogEnd = 100000
SetStatus("Fullbright ON", Color3.fromRGB(255, 230, 80))
end)
MakeButton(MiscPanel, "Reset Lighting", "Restore default lighting values", function()
game:GetService("Lighting").Ambient = Color3.fromRGB(70, 70, 70)
game:GetService("Lighting").OutdoorAmbient = Color3.fromRGB(140, 140, 140)
game:GetService("Lighting").Brightness = 2
game:GetService("Lighting").FogEnd = 100000
SetStatus("Lighting reset", Color3.fromRGB(100, 200, 120))
end)
MakeSectionLabel(MiscPanel, "PLAYER")
MakeButton(MiscPanel, "Rejoin", "Rejoin the same game server", function()
SetStatus("Rejoining...", Color3.fromRGB(220, 130, 60))
task.delay(0.5, function()
game:GetService("TeleportService"):Teleport(game.PlaceId, LocalPlayer)
end)
end)
MakeButton(MiscPanel, "No Clip", "Toggle noclip — walk through all parts", function()
Hub._noclip = not Hub._noclip
SetStatus(Hub._noclip and "No Clip ON" or "No Clip OFF", Hub._noclip and Color3.fromRGB(255, 180, 60) or Color3.fromRGB(100, 200, 120))
end)
MakeButton(MiscPanel, "Inf Jump", "Enable infinite jump", function()
Hub._infjump = not Hub._infjump
if Hub._infjump then
UserInputService.JumpRequest:Connect(function()
if Hub._infjump then
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end)
SetStatus("Inf Jump ON", Color3.fromRGB(80, 200, 255))
else
SetStatus("Inf Jump OFF", Color3.fromRGB(100, 200, 120))
end
end)
MakeSectionLabel(MiscPanel, "SERVER")
MakeButton(MiscPanel, "Server Hop", "Hop to a new server instance of this game", function()
SetStatus("Hopping server...", Color3.fromRGB(220, 130, 60))
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local placeId = game.PlaceId
local currentServerId = game.JobId
local found = false
-- Attempt server hop via public server list
pcall(function()
local url = "https://games.roblox.com/v1/games/" .. placeId .. "/servers/Public?sortOrder=Asc&limit=100"
local response = game:HttpGetAsync(url)
local data = HttpService:JSONDecode(response)
for _, server in ipairs(data.data or {}) do
if server.id ~= currentServerId and server.playing < server.maxPlayers then
TeleportService:TeleportToPlaceInstance(placeId, server.id, LocalPlayer)
found = true
break
end
end
end)
if not found then
SetStatus("No open server found", Color3.fromRGB(200, 80, 80))
end
end)
-- ══════════════════════════════════════════════
-- TAB: CODES
-- ══════════════════════════════════════════════
local CodesPanel = Panels["Codes"]
MakeSectionLabel(CodesPanel, "AUTO REDEEM")
MakeToggle(CodesPanel, "🎁 Auto Redeem Codes", "Automatically redeems all known active codes", function(val)
Hub.AutoCode = val
SetStatus(val and "Code Redeemer ON" or "Idle")
end)
MakeButton(CodesPanel, "Redeem All", "Redeem all known active codes right now", function()
SetStatus("Redeeming codes...", Color3.fromRGB(220, 180, 60))
local redeemed = 0
-- Try to find the code input via PlayerGui
local function TryRedeem(code)
-- Method 1: Find TextBox in GUI and submit
for _, gui in ipairs(PlayerGui:GetDescendants()) do
if gui:IsA("TextBox") and (gui.PlaceholderText:lower():find("code") or gui.Name:lower():find("code")) then
gui.Text = code
-- Find nearby submit button
local parent = gui.Parent
for _, child in ipairs(parent:GetDescendants()) do
if child:IsA("TextButton") and (child.Text:lower():find("enter") or child.Text:lower():find("redeem") or child.Text:lower():find("submit")) then
child:Activate()
task.wait(0.8)
redeemed = redeemed + 1
return true
end
end
end
end
-- Method 2: Fire RemoteEvent directly
for _, re in ipairs(ReplicatedStorage:GetDescendants()) do
if re:IsA("RemoteEvent") and (re.Name:lower():find("code") or re.Name:lower():find("redeem")) then
re:FireServer(code)
task.wait(0.5)
redeemed = redeemed + 1
return true
end
end
return false
end
for _, code in ipairs(Codes) do
TryRedeem(code)
end
task.delay(0.5, function()
SetStatus("Redeemed " .. redeemed .. " codes", Color3.fromRGB(80, 200, 110))
end)
end)
MakeSectionLabel(CodesPanel, "KNOWN ACTIVE CODES")
for _, code in ipairs(Codes) do
MakeButton(CodesPanel, "Copy", code, function()
setclipboard(code)
SetStatus("Copied: " .. code, Color3.fromRGB(100, 180, 255))
end)
end
MakeSectionLabel(CodesPanel, "CUSTOM CODE")
-- Custom code input row
local inputRow = Instance.new("Frame")
inputRow.Size = UDim2.new(0, 390, 0, 46)
inputRow.BackgroundColor3 = Color3.fromRGB(28, 28, 36)
inputRow.BorderSizePixel = 0
inputRow.Parent = CodesPanel
local irc = Instance.new("UICorner")
irc.CornerRadius = UDim.new(0, 8)
irc.Parent = inputRow
local codeBox = Instance.new("TextBox")
codeBox.Size = UDim2.new(0, 240, 0, 28)
codeBox.Position = UDim2.new(0, 10, 0.5, -14)
codeBox.BackgroundColor3 = Color3.fromRGB(40, 40, 54)
codeBox.PlaceholderText = "Enter custom code..."
codeBox.PlaceholderColor3 = Color3.fromRGB(100, 100, 120)
codeBox.Text = ""
codeBox.TextColor3 = Color3.fromRGB(220, 220, 220)
codeBox.TextSize = 12
codeBox.Font = Enum.Font.Gotham
codeBox.BorderSizePixel = 0
codeBox.ClearTextOnFocus = false
codeBox.Parent = inputRow
local cbc = Instance.new("UICorner")
cbc.CornerRadius = UDim.new(0, 6)
cbc.Parent = codeBox
local sendBtn = Instance.new("TextButton")
sendBtn.Size = UDim2.new(0, 80, 0, 28)
sendBtn.Position = UDim2.new(1, -90, 0.5, -14)
sendBtn.BackgroundColor3 = Color3.fromRGB(60, 150, 220)
sendBtn.Text = "Redeem"
sendBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
sendBtn.TextSize = 12
sendBtn.Font = Enum.Font.GothamBold
sendBtn.BorderSizePixel = 0
sendBtn.Parent = inputRow
local sbc = Instance.new("UICorner")
sbc.CornerRadius = UDim.new(0, 6)
sbc.Parent = sendBtn
sendBtn.MouseButton1Click:Connect(function()
local code = codeBox.Text
if code == "" then return end
SetStatus("Trying: " .. code, Color3.fromRGB(220, 180, 60))
-- Try GUI submission
for _, gui in ipairs(PlayerGui:GetDescendants()) do
if gui:IsA("TextBox") and gui ~= codeBox and gui.PlaceholderText:lower():find("code") then
gui.Text = code
local parent = gui.Parent
for _, child in ipairs(parent:GetDescendants()) do
if child:IsA("TextButton") and child.Text:lower():find("enter") then
child:Activate()
break
end
end
end
end
-- Try remote
for _, re in ipairs(ReplicatedStorage:GetDescendants()) do
if re:IsA("RemoteEvent") and re.Name:lower():find("code") then
re:FireServer(code)
end
end
task.delay(0.6, function()
SetStatus("Sent code: " .. code, Color3.fromRGB(80, 200, 110))
end)
end)
-- ══════════════════════════════════════════════
-- LOOPS
-- ══════════════════════════════════════════════
-- Auto Collect loop
task.spawn(function()
while true do
task.wait(2)
if Hub.AutoCollect then
pcall(function()
local char = LocalPlayer.Character
if not char then return end
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") then
local pp = obj.Parent
if pp and pp:IsA("BasePart") then
local root = char:FindFirstChild("HumanoidRootPart")
if root and (pp.Position - root.Position).Magnitude < 35 then
fireproximityprompt(obj)
end
end
end
end
end)
end
end
end)
-- Auto Hatch loop
task.spawn(function()
while true do
task.wait(3)
if Hub.AutoHatch then
pcall(function()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") and obj.ActionText:lower():find("hatch") then
fireproximityprompt(obj)
end
end
end)
end
end
end)
-- Auto Buy Egg loop
task.spawn(function()
while true do
task.wait(4)
if Hub.AutoBuyEgg then
pcall(function()
for _, re in ipairs(ReplicatedStorage:GetDescendants()) do
if re:IsA("RemoteEvent") and (re.Name:lower():find("buy") or re.Name:lower():find("egg") or re.Name:lower():find("purchase")) then
re:FireServer()
break
end
end
-- Also try proximity prompts tagged as shops
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") and (obj.ActionText:lower():find("buy") or obj.ObjectText:lower():find("egg")) then
fireproximityprompt(obj)
end
end
end)
end
end
end)
-- Auto Boss loop
task.spawn(function()
while true do
task.wait(1)
if Hub.AutoBoss then
pcall(function()
local char = LocalPlayer.Character
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart")
if not root then return end
for _, obj in ipairs(workspace:GetDescendants()) do
if obj.Name:lower():find("boss") and obj:IsA("Model") then
local bossRoot = obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChildWhichIsA("BasePart")
if bossRoot then
root.CFrame = CFrame.new(bossRoot.Position + Vector3.new(0, 0, 4))
end
-- Try to fire attack remotes
for _, re in ipairs(ReplicatedStorage:GetDescendants()) do
if re:IsA("RemoteEvent") and (re.Name:lower():find("attack") or re.Name:lower():find("boss") or re.Name:lower():find("hit")) then
re:FireServer(obj)
break
end
end
end
end
end)
end
end
end)
-- Speed hack persistence
task.spawn(function()
while true do
task.wait(0.5)
if Hub.SpeedHack then
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid.WalkSpeed = Hub.SpeedValue
end
end
end
end)
-- No clip loop
task.spawn(function()
while true do
task.wait(0.1)
if Hub._noclip then
local char = LocalPlayer.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end
end
end)
-- Weather alert detector
task.spawn(function()
while true do
task.wait(5)
if Hub.WeatherAlert then
pcall(function()
local lighting = game:GetService("Lighting")
for _, obj in ipairs(workspace:GetDescendants()) do
if obj.Name:lower():find("weather") or obj.Name:lower():find("rain") or obj.Name:lower():find("storm") or obj.Name:lower():find("snow") then
SetStatus("⚠ Weather event detected!", Color3.fromRGB(255, 200, 60))
return
end
end
end)
end
end
end)
-- Auto code redeemer (periodic)
task.spawn(function()
while true do
task.wait(60)
if Hub.AutoCode then
for _, re in ipairs(ReplicatedStorage:GetDescendants()) do
if re:IsA("RemoteEvent") and re.Name:lower():find("code") then
for _, code in ipairs(Codes) do
re:FireServer(code)
task.wait(0.5)
end
end
end
end
end
end)
-- ══════════════════════════════════════════════
-- DRAGGABLE WINDOW
-- ══════════════════════════════════════════════
local function MakeDraggable(frame, handle)
local dragging, dragInput, mousePos, framePos = false, nil, nil, nil
handle.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
mousePos = input.Position
framePos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
handle.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - mousePos
frame.Position = UDim2.new(
framePos.X.Scale,
framePos.X.Offset + delta.X,
framePos.Y.Scale,
framePos.Y.Offset + delta.Y
)
end
end)
end
MakeDraggable(MainFrame, TitleBar)
-- ══════════════════════════════════════════════
-- MINIMIZE / CLOSE
-- ══════════════════════════════════════════════
local minimized = false
MinBtn.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
TweenService:Create(MainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quart), {Size = UDim2.new(0, 420, 0, 48)}):Play()
MinBtn.Text = "▲"
else
TweenService:Create(MainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quart), {Size = UDim2.new(0, 420, 0, 520)}):Play()
MinBtn.Text = "—"
end
end)
CloseBtn.MouseButton1Click:Connect(function()
TweenService:Create(MainFrame, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
task.delay(0.2, function() ScreenGui:Destroy() end)
end)
-- ══════════════════════════════════════════════
-- KEYBIND: RSHIFT to toggle visibility
-- ══════════════════════════════════════════════
UserInputService.InputBegan:Connect(function(input, processed)
if not processed and input.KeyCode == Enum.KeyCode.RightShift then
MainFrame.Visible = not MainFrame.Visible
end
end)
-- ══════════════════════════════════════════════
-- OPEN ANIMATION
-- ══════════════════════════════════════════════
MainFrame.BackgroundTransparency = 1
MainFrame.Size = UDim2.new(0, 420, 0, 0)
TweenService:Create(MainFrame, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
BackgroundTransparency = 0,
Size = UDim2.new(0, 420, 0, 520)
}):Play()
SetStatus("Capybara Hub loaded — RShift to toggle", Color3.fromRGB(80, 200, 110))
print("[CAPYBARA HUB] Loaded. RShift = toggle UI.")No comments yet for this script.



