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

local Window = Rayfield:CreateWindow({
   Name = "Universal AGONY Hub",
   Icon = 122759465126403, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "AGONY Hub",
   LoadingSubtitle = "by agonyoffical1",
   ShowText = "agonyoffical1", -- for mobile users to unhide rayfield, change if you'd like
   Theme = "Default", -- 

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

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

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

   Discord = {
      Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "https://[Log in to view URL] ", -- 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 = true, -- Set this to true to use our key system
   KeySettings = {
      Title = "Universal Script Key",
      Subtitle = "AGONY Hub",
      Note = "To get link, join discord! https://[Log in to view URL] ", -- Use this to tell the user how to get a key
      FileName = "AGONYHubKey", -- 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 = true, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"d88917agony17hub"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

local Tab = Window:CreateTab("🏠Home", 122759465126403) -- Title, Image
local MainSection = Tab:CreateSection("Main")

Rayfield:Notify({
   Title = "Executed Script Succesfully",
   Content = "AGONY Hub",
   Duration = 3,
   Image = 122759465126403,
})

local Button = Tab:CreateButton({
   Name = "Aimbot",
   Callback = function()
 local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

local holdingRightClick = false
local fovRadius = 50

-- 🔴 Daire için UI Oluştur
local gui = Instance.new("ScreenGui")
gui.Name = "FOVGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

local fovCircle = Instance.new("ImageLabel")
fovCircle.Size = UDim2.new(0, fovRadius * 2, 0, fovRadius * 2)
fovCircle.AnchorPoint = Vector2.new(0.5, 0.5)
fovCircle.BackgroundTransparency = 1
fovCircle.Image = "rbxassetid://5075129385" -- daire görseli
fovCircle.ImageColor3 = Color3.fromRGB(255, 0, 0)
fovCircle.Visible = false
fovCircle.Parent = gui

-- 🖱 Sağ tık kontrolü
UserInputService.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		holdingRightClick = true
		fovCircle.Visible = true
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton2 then
		holdingRightClick = false
		fovCircle.Visible = false
	end
end)

-- 🔁 Render loop
RunService.RenderStepped:Connect(function()
	local mouseLocation = UserInputService:GetMouseLocation()
	fovCircle.Position = UDim2.new(0, mouseLocation.X, 0, mouseLocation.Y)

	if holdingRightClick and player.Character and player.Character:FindFirstChild("Head") then
		local head = player.Character.Head
		local camPosition = camera.CFrame.Position
		local lookVector = (head.Position - camPosition).Unit
		camera.CFrame = CFrame.new(camPosition, camPosition + lookVector)
	end
end)

   end,
})
local Button = Tab:CreateButton({
   Name = "ESP",
   Callback = function()
   -- This is will be open esp!
loadstring(game:HttpGet('https://[Log in to view URL]'))()
   end,
})

local MiscTab = Window:CreateTab("🎲Misc", 122759465126403) -- Title, Image
local Section = MiscTab:CreateSection("Changers")

local Slider = MiscTab:CreateSlider({
   Name = "Speed Changer",
   Range = {0, 500},
   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 Slider = MiscTab:CreateSlider({
   Name = "Jump Power",
   Range = {0, 500},
   Increment = 1,
   Suffix = "Jump Power",
   CurrentValue = 50,
   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)
   local player = game.Players.LocalPlayer
local humanoid = player.Character:WaitForChild("Humanoid")
        game.Players.LocalPlayer.Character.Humanoid.JumpPower = (Value)
   end,
})

local Button = MiscTab:CreateButton({
   Name = "İnfinite Yield",
   Callback = function()
        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: