
Key Required Verified

--// RIDE A PET - UPDATED OPTIMIZED EGG ESP
--// For your own Roblox Studio test game
--// Put in StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Player = Players.LocalPlayer
--==================================================
-- EGG DATABASE - UPDATED
--==================================================
local Eggs = {
["White Egg"] = {luck = 1, rarity = "Common"},
["Brown Egg"] = {luck = 5, rarity = "Common"},
["Cracked Egg"] = {luck = 30, rarity = "Rare"},
["Easter Egg"] = {luck = 50, rarity = "Rare"},
["Stone Egg"] = {luck = 100, rarity = "Rare"},
["Leaf Egg"] = {luck = 200, rarity = "Rare"},
["Mushroom Egg"] = {luck = 500, rarity = "Epic"},
["Flower Egg"] = {luck = 750, rarity = "Epic"},
["Slime Egg"] = {luck = 1000, rarity = "Epic"},
["Ice Egg"] = {luck = 3000, rarity = "Epic"},
["Glass Egg"] = {luck = 10000, rarity = "Legendary"},
["Golden Egg"] = {luck = 30000, rarity = "Legendary"},
-- MYTHIC
["Crystal Egg"] = {luck = 150000, rarity = "Mythic"},
["Skull Egg"] = {luck = 250000, rarity = "Mythic"},
["Dominus Egg"] = {luck = 700000, rarity = "Mythic"},
["Flaming Egg"] = {luck = 1000000, rarity = "Mythic"},
["Sinister Egg"] = {luck = 3000000, rarity = "Mythic"},
["Soul Egg"] = {luck = 7000000, rarity = "Mythic"},
-- DIVINE
["Aurora Egg"] = {luck = 300000000, rarity = "Divine"},
["Galaxy Egg"] = {luck = 1500000000, rarity = "Divine"},
-- ETHEREAL
["Black Hole Egg"] = {luck = 100000000000, rarity = "Ethereal"},
["Cherub Egg"] = {luck = 1000000000000, rarity = "Ethereal"},
}
--==================================================
-- RARITY COLORS
--==================================================
local RarityColors = {
Common = Color3.fromRGB(220,220,220),
Rare = Color3.fromRGB(70,150,255),
Epic = Color3.fromRGB(180,70,255),
Legendary = Color3.fromRGB(255,190,40),
Mythic = Color3.fromRGB(255,70,70),
Divine = Color3.fromRGB(255,120,255),
Ethereal = Color3.fromRGB(70,255,255),
}
--==================================================
-- SETTINGS
--==================================================
local ESPEnabled = true
local RadarEnabled = true
local FlyEnabled = false
local InfiniteJumpEnabled = false
local NoclipEnabled = false
local WalkSpeed = 16
local FlySpeed = 60
local JumpPower = 100
local EggESP = {}
--==================================================
-- HELPERS
--==================================================
local function GetCharacter()
return Player.Character
end
local function GetRoot()
local Character = GetCharacter()
if not Character then return nil end
return Character:FindFirstChild("HumanoidRootPart")
end
local function GetHumanoid()
local Character = GetCharacter()
if not Character then return nil end
return Character:FindFirstChildOfClass("Humanoid")
end
local function FormatNumber(Number)
if Number >= 1000000000000 then
return string.format("%.1fT", Number / 1000000000000)
elseif Number >= 1000000000 then
return string.format("%.1fB", Number / 1000000000)
elseif Number >= 1000000 then
return string.format("%.1fM", Number / 1000000)
elseif Number >= 1000 then
return string.format("%.1fK", Number / 1000)
end
return tostring(Number)
end
local function GetObjectPosition(Object)
if Object:IsA("BasePart") then
return Object.Position
end
if Object:IsA("Model") then
return Object:GetPivot().Position
end
return nil
end
--==================================================
-- EGG CHECK
--==================================================
local function IsEgg(Object)
if not (Object:IsA("Model") or Object:IsA("BasePart")) then
return false
end
return Eggs[Object.Name] ~= nil
end
--==================================================
-- FIND ADORNEE
--==================================================
local function GetAdornee(Egg)
if Egg:IsA("BasePart") then
return Egg
end
if Egg:IsA("Model") then
return Egg.PrimaryPart
or Egg:FindFirstChildWhichIsA("BasePart", true)
end
return nil
end
--==================================================
-- CREATE ESP
--==================================================
local function CreateESP(Egg)
if EggESP[Egg] then
return
end
if not IsEgg(Egg) then
return
end
local Adornee = GetAdornee(Egg)
if not Adornee then
return
end
local Data = Eggs[Egg.Name]
local Billboard = Instance.new("BillboardGui")
Billboard.Name = "EggESP"
Billboard.Adornee = Adornee
Billboard.Size = UDim2.fromOffset(125,38)
Billboard.StudsOffset = Vector3.new(0,2.2,0)
Billboard.AlwaysOnTop = true
Billboard.MaxDistance = 600
Billboard.Enabled = ESPEnabled
Billboard.Parent = Egg
local Frame = Instance.new("Frame")
Frame.Size = UDim2.fromScale(1,1)
Frame.BackgroundColor3 = Color3.fromRGB(15,15,20)
Frame.BackgroundTransparency = 0.3
Frame.BorderSizePixel = 0
Frame.Parent = Billboard
local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0,5)
Corner.Parent = Frame
local Stroke = Instance.new("UIStroke")
Stroke.Color = RarityColors[Data.rarity]
Stroke.Thickness = 1
Stroke.Parent = Frame
local Text = Instance.new("TextLabel")
Text.Size = UDim2.new(1,-4,1,-2)
Text.Position = UDim2.fromOffset(2,1)
Text.BackgroundTransparency = 1
Text.TextColor3 = Color3.fromRGB(255,255,255)
Text.TextSize = 9
Text.Font = Enum.Font.GothamBold
Text.TextWrapped = true
Text.Parent = Frame
EggESP[Egg] = {
gui = Billboard,
text = Text,
}
end
--==================================================
-- REMOVE ESP
--==================================================
local function RemoveESP(Egg)
local Info = EggESP[Egg]
if Info then
if Info.gui then
Info.gui:Destroy()
end
EggESP[Egg] = nil
end
end
--==================================================
-- SCAN EGGS
--==================================================
local function ScanEggs()
local Found = {}
for _, Object in ipairs(workspace:GetDescendants()) do
if IsEgg(Object) then
Found[Object] = true
if not EggESP[Object] then
CreateESP(Object)
end
end
end
for Egg,_ in pairs(EggESP) do
if not Found[Egg] or not Egg.Parent then
RemoveESP(Egg)
end
end
end
ScanEggs()
workspace.DescendantAdded:Connect(function(Object)
if IsEgg(Object) then
task.wait()
CreateESP(Object)
end
end)
workspace.DescendantRemoving:Connect(function(Object)
if EggESP[Object] then
RemoveESP(Object)
end
end)
--==================================================
-- UI
--==================================================
local GUI = Instance.new("ScreenGui")
GUI.Name = "RideAPetUpdatedUI"
GUI.ResetOnSpawn = false
GUI.Parent = Player:WaitForChild("PlayerGui")
local Main = Instance.new("Frame")
Main.Size = UDim2.fromOffset(300,430)
Main.Position = UDim2.new(0,25,0.5,-215)
Main.BackgroundColor3 = Color3.fromRGB(18,18,23)
Main.BorderSizePixel = 0
Main.Parent = GUI
Instance.new("UICorner",Main).CornerRadius = UDim.new(0,12)
--==================================================
-- TITLE
--==================================================
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1,-80,0,42)
Title.Position = UDim2.fromOffset(12,0)
Title.BackgroundTransparency = 1
Title.Text = "🥚 RIDE A PET"
Title.TextColor3 = Color3.new(1,1,1)
Title.TextSize = 16
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Main
local Minimize = Instance.new("TextButton")
Minimize.Size = UDim2.fromOffset(30,27)
Minimize.Position = UDim2.new(1,-68,0,7)
Minimize.BackgroundColor3 = Color3.fromRGB(40,40,50)
Minimize.Text = "−"
Minimize.TextColor3 = Color3.new(1,1,1)
Minimize.TextSize = 18
Minimize.Parent = Main
local Close = Instance.new("TextButton")
Close.Size = UDim2.fromOffset(30,27)
Close.Position = UDim2.new(1,-34,0,7)
Close.BackgroundColor3 = Color3.fromRGB(60,35,40)
Close.Text = "×"
Close.TextColor3 = Color3.new(1,1,1)
Close.TextSize = 18
Close.Parent = Main
--==================================================
-- CONTENT
--==================================================
local Content = Instance.new("Frame")
Content.Position = UDim2.fromOffset(0,42)
Content.Size = UDim2.new(1,0,1,-42)
Content.BackgroundTransparency = 1
Content.Parent = Main
local function Button(Text, Y)
local B = Instance.new("TextButton")
B.Position = UDim2.fromOffset(15,Y)
B.Size = UDim2.new(1,-30,0,35)
B.BackgroundColor3 = Color3.fromRGB(34,34,43)
B.Text = Text
B.TextColor3 = Color3.new(1,1,1)
B.TextSize = 13
B.Font = Enum.Font.GothamSemibold
B.BorderSizePixel = 0
B.Parent = Content
Instance.new("UICorner",B).CornerRadius = UDim.new(0,8)
return B
end
local ESPButton = Button("ESP: ON",5)
local RadarButton = Button("RADAR: ON",45)
local FlyButton = Button("FLY: OFF",85)
local InfiniteButton = Button("INFINITE JUMP: OFF",125)
local NoclipButton = Button("NOCLIP: OFF",165)
--==================================================
-- SPEED INPUTS
--==================================================
local SpeedBox = Instance.new("TextBox")
SpeedBox.Position = UDim2.fromOffset(15,210)
SpeedBox.Size = UDim2.new(.48,-20,0,35)
SpeedBox.BackgroundColor3 = Color3.fromRGB(34,34,43)
SpeedBox.TextColor3 = Color3.new(1,1,1)
SpeedBox.Text = "16"
SpeedBox.PlaceholderText = "Walk Speed"
SpeedBox.TextSize = 13
SpeedBox.Parent = Content
Instance.new("UICorner",SpeedBox).CornerRadius = UDim.new(0,8)
local FlyBox = Instance.new("TextBox")
FlyBox.Position = UDim2.new(.52,5,0,210)
FlyBox.Size = UDim2.new(.48,-20,0,35)
FlyBox.BackgroundColor3 = Color3.fromRGB(34,34,43)
FlyBox.TextColor3 = Color3.new(1,1,1)
FlyBox.Text = "60"
FlyBox.PlaceholderText = "Fly Speed"
FlyBox.TextSize = 13
FlyBox.Parent = Content
Instance.new("UICorner",FlyBox).CornerRadius = UDim.new(0,8)
--==================================================
-- STATUS
--==================================================
local Status = Instance.new("TextLabel")
Status.Position = UDim2.fromOffset(15,255)
Status.Size = UDim2.new(1,-30,0,25)
Status.BackgroundTransparency = 1
Status.Text = "🔎 Scanning..."
Status.TextColor3 = Color3.fromRGB(160,160,170)
Status.TextSize = 12
Status.Parent = Content
local Nearest = Instance.new("TextLabel")
Nearest.Position = UDim2.fromOffset(15,285)
Nearest.Size = UDim2.new(1,-30,0,80)
Nearest.BackgroundColor3 = Color3.fromRGB(27,27,35)
Nearest.TextColor3 = Color3.new(1,1,1)
Nearest.TextSize = 12
Nearest.Font = Enum.Font.GothamSemibold
Nearest.TextWrapped = true
Nearest.TextXAlignment = Enum.TextXAlignment.Left
Nearest.TextYAlignment = Enum.TextYAlignment.Center
Nearest.Text = "🧭 NEAREST EGG\nSearching..."
Nearest.Parent = Content
Instance.new("UICorner",Nearest).CornerRadius = UDim.new(0,8)
--==================================================
-- REOPEN
--==================================================
local Reopen = Instance.new("TextButton")
Reopen.Size = UDim2.fromOffset(48,48)
Reopen.Position = UDim2.new(0,20,.5,-24)
Reopen.BackgroundColor3 = Color3.fromRGB(25,25,32)
Reopen.Text = "🥚"
Reopen.TextSize = 22
Reopen.Visible = false
Reopen.Parent = GUI
Instance.new("UICorner",Reopen).CornerRadius = UDim.new(1,0)
--==================================================
-- MINIMIZE / CLOSE
--==================================================
local Minimized = false
Minimize.MouseButton1Click:Connect(function()
Minimized = not Minimized
Content.Visible = not Minimized
if Minimized then
Main.Size = UDim2.fromOffset(300,48)
Minimize.Text = "+"
else
Main.Size = UDim2.fromOffset(300,430)
Minimize.Text = "−"
end
end)
Close.MouseButton1Click:Connect(function()
Main.Visible = false
Reopen.Visible = true
end)
Reopen.MouseButton1Click:Connect(function()
Main.Visible = true
Reopen.Visible = false
end)
--==================================================
-- DRAG UI
--==================================================
local Dragging = false
local DragStart
local StartPos
Title.InputBegan:Connect(function(Input)
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
Dragging = true
DragStart = Input.Position
StartPos = Main.Position
end
end)
UserInputService.InputChanged:Connect(function(Input)
if Dragging and Input.UserInputType == Enum.UserInputType.MouseMovement then
local Delta = Input.Position - DragStart
Main.Position = UDim2.new(
StartPos.X.Scale,
StartPos.X.Offset + Delta.X,
StartPos.Y.Scale,
StartPos.Y.Offset + Delta.Y
)
end
end)
UserInputService.InputEnded:Connect(function(Input)
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
Dragging = false
end
end)
--==================================================
-- ESP
--==================================================
ESPButton.MouseButton1Click:Connect(function()
ESPEnabled = not ESPEnabled
ESPButton.Text = "ESP: "..(ESPEnabled and "ON" or "OFF")
for _,Info in pairs(EggESP) do
Info.gui.Enabled = ESPEnabled
end
end)
--==================================================
-- RADAR
--==================================================
RadarButton.MouseButton1Click:Connect(function()
RadarEnabled = not RadarEnabled
RadarButton.Text = "RADAR: "..(RadarEnabled and "ON" or "OFF")
end)
--==================================================
-- WALK SPEED
--==================================================
local function ApplySpeed()
local Humanoid = GetHumanoid()
if Humanoid and not FlyEnabled then
Humanoid.WalkSpeed = WalkSpeed
end
end
SpeedBox.FocusLost:Connect(function()
local Value = tonumber(SpeedBox.Text)
if Value then
WalkSpeed = math.clamp(Value,1,500)
SpeedBox.Text = tostring(WalkSpeed)
else
SpeedBox.Text = tostring(WalkSpeed)
end
ApplySpeed()
end)
--==================================================
-- FLY
--==================================================
local FlyVelocity
local function StartFly()
local Root = GetRoot()
if not Root then
return
end
if FlyVelocity then
FlyVelocity:Destroy()
end
FlyVelocity = Instance.new("BodyVelocity")
FlyVelocity.MaxForce = Vector3.new(100000,100000,100000)
FlyVelocity.Velocity = Vector3.zero
FlyVelocity.Parent = Root
end
local function StopFly()
if FlyVelocity then
FlyVelocity:Destroy()
FlyVelocity = nil
end
end
FlyBox.FocusLost:Connect(function()
local Value = tonumber(FlyBox.Text)
if Value then
FlySpeed = math.clamp(Value,1,500)
FlyBox.Text = tostring(FlySpeed)
else
FlyBox.Text = tostring(FlySpeed)
end
end)
FlyButton.MouseButton1Click:Connect(function()
FlyEnabled = not FlyEnabled
FlyButton.Text = "FLY: "..(FlyEnabled and "ON" or "OFF")
if FlyEnabled then
StartFly()
else
StopFly()
ApplySpeed()
end
end)
--==================================================
-- INFINITE JUMP
--==================================================
InfiniteButton.MouseButton1Click:Connect(function()
InfiniteJumpEnabled = not InfiniteJumpEnabled
InfiniteButton.Text =
"INFINITE JUMP: "..(InfiniteJumpEnabled and "ON" or "OFF")
end)
UserInputService.JumpRequest:Connect(function()
if not InfiniteJumpEnabled then
return
end
local Humanoid = GetHumanoid()
if Humanoid then
Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end)
--==================================================
-- NOCLIP
--==================================================
local function ApplyNoclip()
if not NoclipEnabled then
return
end
local Character = GetCharacter()
if not Character then
return
end
for _,Object in ipairs(Character:GetDescendants()) do
if Object:IsA("BasePart") then
Object.CanCollide = false
end
end
end
NoclipButton.MouseButton1Click:Connect(function()
NoclipEnabled = not NoclipEnabled
NoclipButton.Text =
"NOCLIP: "..(NoclipEnabled and "ON" or "OFF")
end)
--==================================================
-- MAIN UPDATE
--==================================================
local ScanTimer = 0
RunService.Heartbeat:Connect(function(DeltaTime)
ApplyNoclip()
if not FlyEnabled then
ApplySpeed()
end
ScanTimer += DeltaTime
if ScanTimer >= 0.5 then
ScanTimer = 0
ScanEggs()
end
end)
--==================================================
-- ESP + RADAR UPDATE
--==================================================
RunService.RenderStepped:Connect(function()
local Root = GetRoot()
if not Root then
return
end
local NearestEgg
local NearestName
local NearestDistance = math.huge
for Egg,Info in pairs(EggESP) do
if not Egg.Parent then
RemoveESP(Egg)
else
Info.gui.Enabled = ESPEnabled
local Position = GetObjectPosition(Egg)
if Position then
local Distance =
(Root.Position - Position).Magnitude
local Data = Eggs[Egg.Name]
Info.text.Text =
"🥚 "..Egg.Name..
"\n"..Data.rarity..
" • "..FormatNumber(Data.luck)..
" • "..math.floor(Distance).." studs"
if Distance < NearestDistance then
NearestDistance = Distance
NearestEgg = Egg
NearestName = Egg.Name
end
end
end
end
if RadarEnabled and NearestEgg then
local Data = Eggs[NearestName]
Status.Text = "🟢 "..NearestName.." detected"
Nearest.Text =
"🧭 NEAREST EGG\n"..
"🥚 "..NearestName..
"\n⭐ "..Data.rarity..
" • Luck: "..FormatNumber(Data.luck)..
"\n📏 "..math.floor(NearestDistance).." studs"
Nearest.TextColor3 =
RarityColors[Data.rarity]
elseif RadarEnabled then
Status.Text = "🔎 Searching for eggs..."
Nearest.Text =
"🧭 NEAREST EGG\nNo eggs detected"
else
Status.Text = "🔴 Radar OFF"
Nearest.Text =
"🧭 NEAREST EGG\nRadar disabled"
end
end)
--==================================================
-- FLY MOVEMENT
--==================================================
RunService.RenderStepped:Connect(function()
if not FlyEnabled then
return
end
local Root = GetRoot()
if not Root then
return
end
if not FlyVelocity then
StartFly()
end
if not FlyVelocity then
return
end
local Camera = workspace.CurrentCamera
local Direction = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
Direction += Camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
Direction -= Camera.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
Direction -= Camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
Direction += Camera.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
Direction += Vector3.new(0,1,0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then
Direction -= Vector3.new(0,1,0)
end
if Direction.Magnitude > 0 then
Direction = Direction.Unit
end
FlyVelocity.Velocity = Direction * FlySpeed
end)
--==================================================
-- RESPAWN
--==================================================
Player.CharacterAdded:Connect(function()
task.wait(1)
ApplySpeed()
if FlyEnabled then
StartFly()
end
end)
print("Ride A Pet - Updated Egg ESP loaded!")

![[CANDY] BEST FREE NEW SCRIPT](https://cdn.kocakz.me/images/b4f87249462e13921281b08e97864baeb7e28b349d75687bc7c3d8734f12a7e7.webp)

Hello! Please remove the game name in the title. Thankyou!
@MocjEscanor why