
KeylessUniversal

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
-- Screen GUI Setup
local screenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
screenGui.Name = "PetDuplicator"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
-- Main Frame
local frame = Instance.new("Frame", screenGui)
frame.Size = UDim2.new(0, 300, 0, 160)
frame.Position = UDim2.new(0.5, -150, 0.5, -80)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.Active = true
frame.Draggable = true
frame.Name = "PetDuplicateFrame"
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)
-- Title
local title = Instance.new("TextLabel", frame)
title.Text = "Pet Duplicate"
title.Font = Enum.Font.FredokaOne
title.TextSize = 20
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.BackgroundTransparency = 1
title.Size = UDim2.new(1, 0, 0, 30)
title.Position = UDim2.new(0, 0, 0, 5)
-- Close Button
local closeButton = Instance.new("TextButton", frame)
closeButton.Text = "X"
closeButton.Font = Enum.Font.FredokaOne
closeButton.TextSize = 18
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.BackgroundColor3 = Color3.fromRGB(60, 0, 0)
closeButton.Size = UDim2.new(0, 28, 0, 28)
closeButton.Position = UDim2.new(1, -34, 0, 6)
Instance.new("UICorner", closeButton)
closeButton.MouseButton1Click:Connect(function()
frame.Visible = false
end)
-- Equipped Pet Label
local petInfo = Instance.new("TextLabel", frame)
petInfo.Text = "Equipped Pet: [None]"
petInfo.Font = Enum.Font.FredokaOne
petInfo.TextSize = 16
petInfo.TextColor3 = Color3.fromRGB(200, 200, 160)
petInfo.BackgroundTransparency = 1
petInfo.Position = UDim2.new(0, 12, 0, 40)
petInfo.Size = UDim2.new(1, -24, 0, 24)
petInfo.TextXAlignment = Enum.TextXAlignment.Left
-- Duplicate Pet Button (White Style)
local dupeButton = Instance.new("TextButton", frame)
dupeButton.Text = "Duplicate Pet"
dupeButton.Font = Enum.Font.FredokaOne
dupeButton.TextSize = 16
dupeButton.TextColor3 = Color3.fromRGB(40, 40, 40) -- Dark text
dupeButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) -- White button
dupeButton.Size = UDim2.new(0, 220, 0, 36)
dupeButton.Position = UDim2.new(0.5, -110, 0, 76)
Instance.new("UICorner", dupeButton)
-- Footer Label
local footer = Instance.new("TextLabel", frame)
footer.Text = "Discord:jheremy.x"
footer.Font = Enum.Font.FredokaOne
footer.TextSize = 13
footer.TextColor3 = Color3.fromRGB(150, 150, 150)
footer.BackgroundTransparency = 1
footer.Size = UDim2.new(1, 0, 0, 20)
footer.Position = UDim2.new(0, 0, 1, -20)
-- Get equipped pet
local function getEquippedPetTool()
character = player.Character or player.CharacterAdded:Wait()
for _, tool in pairs(character:GetChildren()) do
if tool:IsA("Tool") and tool:FindFirstChild("Handle") then
return tool
end
end
return nil
end
-- Update pet label
local function updateGUI()
local pet = getEquippedPetTool()
if pet then
petInfo.Text = "Equipped Pet: " .. pet.Name
else
petInfo.Text = "Equipped Pet: [None]"
end
end
-- Error message popup
local function showErrorMessage(text)
local errorLabel = Instance.new("TextLabel", screenGui)
errorLabel.AnchorPoint = Vector2.new(0.5, 0.5)
errorLabel.Position = UDim2.new(0.5, 0, 0.45, 0)
errorLabel.Size = UDim2.new(0, 250, 0, 40)
errorLabel.BackgroundColor3 = Color3.fromRGB(100, 0, 0)
errorLabel.Text = text
errorLabel.Font = Enum.Font.FredokaOne
errorLabel.TextSize = 16
errorLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
errorLabel.ZIndex = 30
Instance.new("UICorner", errorLabel)
task.delay(2.5, function()
errorLabel:Destroy()
end)
end
-- Instant duplication (no loading)
dupeButton.MouseButton1Click:Connect(function()
local equipped = getEquippedPetTool()
if not equipped then
showErrorMessage("No Equipped Pet Detected")
return
end
local clone = equipped:Clone()
clone.Name = equipped.Name
clone.Parent = player.Backpack
dupeButton.Text = "Pet Duplicated!"
task.wait(1.5)
dupeButton.Text = "Duplicate Pet"
end)
-- Keep pet name updated
task.spawn(function()
while true do
updateGUI()
task.wait(1)
end
end)No comments yet for this script.



