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

local Window = Rayfield:CreateWindow({
   Name = "8X Mod Menu",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "8X op",
   LoadingSubtitle = "by 8x8x8x8x8x8x8x8",
   ShowText = "Rayfield", -- for mobile users to unhide Rayfield, change if you'd like
   Theme = "Default", -- Check https://[Log in to view URL]

   ToggleUIKeybind = "K", -- The keybind to toggle the UI visibility (string like "K" or Enum.KeyCode)

   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false, -- Prevents Rayfield from emitting warnings when the script has a version mismatch with the interface.

   -- ScriptID = "sid_xxxxxxxxxxxx", -- Your Script ID from developer.sirius.menu — enables analytics, managed keys, and script hosting

   ConfigurationSaving = {
      Enabled = true,
      FolderName = nil, -- Create a custom folder for your hub/game
      FileName = "8X op"
   },

   Discord = {
      Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "noinvitelink", -- 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", -- Use this to tell the user how to get a key
      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 the system will accept, can be RAW file links (pastebin, github, etc.) or simple strings ("hello", "key22")
   }
})

local MainTab = Window:CreateTab("OP", nil) -- Title, Image
local MainSection = MainTab:CreateSection("Normal")

local Button = MainTab:CreateButton({
   Name = "inject",
   Callback = function()
   local player = game.Players.LocalPlayer

local gui = Instance.new("ScreenGui")
gui.Name = "InjectNotification"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 0, 50)
frame.Position = UDim2.new(1, -230, 0, 20) -- TOP RIGHT SIDE
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.Parent = gui

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = frame

local text = Instance.new("TextLabel")
text.Size = UDim2.new(1, -10, 1, 0)
text.Position = UDim2.new(0, 10, 0, 0)
text.BackgroundTransparency = 1
text.Text = "Injected"
text.TextColor3 = Color3.fromRGB(0, 255, 120)
text.Font = Enum.Font.GothamSemibold
text.TextSize = 18
text.TextXAlignment = Enum.TextXAlignment.Left
text.Parent = frame

-- wait then fade out
task.wait(2)

for i = 1, 25 do
	local alpha = i / 25
	frame.BackgroundTransparency = alpha
	text.TextTransparency = alpha
	task.wait(0.02)
end

gui:Destroy()
   end,
})

local Slider = MainTab:CreateSlider({
   Name = "WalkSpeed",
   Range = {0, 300},
   Increment = 1,
   Suffix = "Speed",
   CurrentValue = 16,
   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 Button = Tab:CreateButton({
   Name = "Free Gamepasses",
   Callback = function()
   getgenv().Settings = {
    CopyButton = false,
    -------------------
    AutoButton = false,
    AutoInterval = 0.1,
    -------------------
    InstantPurchase = true,
    AutoMassPurchase = false,
    Debug = false,
}

loadstring(game:HttpGet("https://[Log in to view URL]"))()
   end,
})

Embed on website

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