local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()

local Window = Rayfield:CreateWindow({
   Name = "🐱 MetaHub Adopt Me 🐶",
   LoadingTitle = "MetaHub",
   LoadingSubtitle = "by Xempis",
   ConfigurationSaving = {
      Enabled = false,
      FolderName = nil, -- Create a custom folder for your hub/game
      FileName = "Big Hub"
   },
   Discord = {
      Enabled = true,
      Invite = "xWcKG2nB", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ABCD would be ABCD
      RememberJoins = true -- Set this to false to make them join the discord every time they load it up
   },
   KeySystem = false, -- Set this to true to use our key system
   KeySettings = {
      Title = "Untitled",
      Subtitle = "Key System",
      Note = "No method of obtaining the key is provided",
      FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
      SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
      GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"Hello"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

local MainTab = Window:CreateTab("🐾 Main", nil) -- Title, Image
local Section = MainTab:CreateSection("🔭 Spawn Pets 🔭")

Rayfield:Notify({
   Title = "Script Executed Successfully ✅",
    Content = "Adopt Me Script Loaded Successfully!",
   Duration = 5,
   Image = nil,
   Actions = { -- Notification Buttons
      Ignore = {
         Name = "Got it! ✅",
         Callback = function()
         print("The user tapped Okay!")
      end
   },
},
})

local Input = MainTab:CreateInput({
   Name = "Insert Pet Name 🐾",
   PlaceholderText = "Dog",
   RemoveTextAfterFocusLost = false,
   Callback = function(Text)
   -- The function that takes place when the input is changed
   -- The variable (Text) is a string for the value in the text box
   end,
})

local Dropdown = MainTab:CreateDropdown({
   Name = "Type 📃",
   Options = {"Neon","Mega"},
   CurrentOption = {"Neon"},
   MultipleOptions = false,
   Flag = "Dropdown1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
   Callback = function(Options)
   -- The function that takes place when the selected option is changed
   -- The variable (Options) is a table of strings for the current selected options
   end,
})

local Dropdown = MainTab:CreateDropdown({
   Name = "Type 📃",
   Options = {"Fly","Ride","Both"},
   CurrentOption = {"Fly"},
   MultipleOptions = false,
   Flag = "Dropdown1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
   Callback = function(Options)
   -- The function that takes place when the selected option is changed
   -- The variable (Options) is a table of strings for the current selected options
   end,
})

local Button = MainTab:CreateButton({
   Name = "🎈 Spawn Pet 🎈",
   Callback = function()
   Rayfield:Notify({
   Title = "Spawning Started! ✅",
   Content = "Wait 3-5 Minutes For The Pet To Spawn!",
   Duration = 5,
   Image = nil,
   Actions = { -- Notification Buttons

      Ignore = { -- Duplicate this table (or remove it) to add and remove buttons to the notification.
         Name = "Got it! ✅",
         Callback = function()
            print("The user tapped Okay!")
         end
      },

},
})
   end,
})

local MiscTab = Window:CreateTab("🧩 Miscellaneous", nil) -- Title, Image
local Section = MiscTab:CreateSection("📃 Game 📃")

local Slider = MiscTab:CreateSlider({
   Name = "🚶‍♂️ WalkSpeed 🚶‍♂️",
   Range = {16, 50},
   Increment = 1,
   Suffix = "⚡ Speed ⚡",
   CurrentValue = 0,
   Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
   Callback = function(Value)
        game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = (Value)
   end,
})

local Toggle = MiscTab:CreateToggle({
   Name = "🦘 Infinite Jump 🦘",
   CurrentValue = false,
   Flag = "ToggleInfJump", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
   Callback = function(Value)
   local InfiniteJumpEnabled = true
game:GetService("UserInputService").JumpRequest:connect(function()
	if InfiniteJumpEnabled then
		game:GetService"Players".LocalPlayer.Character:FindFirstChildOfClass'Humanoid':ChangeState("Jumping")
	end
end)
local InfiniteJump = CreateButton("Infinite Jump: Off", StuffFrame)
InfiniteJump.Position = UDim2.new(0,10,0,130)
InfiniteJump.Size = UDim2.new(0,150,0,30)
InfiniteJump.MouseButton1Click:connect(function()
	local state = InfiniteJump.Text:sub(string.len("Infinite Jump: ") + 1) --too lazy to count lol
	local new = state == "Off" and "On" or state == "On" and "Off"
	InfiniteJumpEnabled = new == "On"
	InfiniteJump.Text = "Infinite Jump: " .. new
end)
   end,
})

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: