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

local Window = Rayfield:CreateWindow({
   Name = "Dark Hub",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "Dark Hub Suite",
   LoadingSubtitle = "by Kim Noel",
   Theme = "Default", -- Check https://[Log in to view URL]

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

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

   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 = true, -- Set this to true to use our key system
   KeySettings = {
      Title = "Dark Hub | Key",
      Subtitle = "Key System",
      Note = "Open the website - https://[Log in to view URL]", -- 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 = false, -- 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 = {"https://[Log in to view URL]"} -- 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("🏠Home🏠", nil) -- Title, Image
local MainSection = MainTab:CreateSection("Main")

Rayfield:Notify({
   Title = "Dark Hub Running...",
   Content = "Subscribe to DarkRB45!!",
   Duration = 5,
   Image = 4483362458,
})

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

   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 Slider = CharacterTab:CreateSlider({
   Name = "Jump Height",
   Range = {0, 300},
   Increment = 1,
   Suffix = "Height",
   CurrentValue = 10,
   Flag = "Slider2", -- 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.JumpPower = (Value)
   end,
})

local Slider = CharacterTab:CreateSlider({
   Name = "Gravity",
   Range = {0, 300},
   Increment = 1,
   Suffix = "Gravity",
   CurrentValue = 196.2,
   Flag = "Slider3", -- 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)
       workspace.Gravity = (Value)
   end,
})

local Slider = MainTab:CreateSlider({
   Name = "Hitbox Expander",
   Range = {2, 50},
   Increment = 1,
   Suffix = "Studs",
   CurrentValue = 2,
   Flag = "Slider4", -- 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(size)
                -- Loop through all players and change their hitboxes locally
        for _, player in pairs(game.Players:GetPlayers()) do
            if player ~= game.Players.LocalPlayer and player.Character then
                local hitbox = player.Character:FindFirstChild("Hitbox") or player.Character:FindFirstChild("HumanoidRootPart")
                if hitbox and hitbox:IsA("BasePart") then
                    hitbox.Size = Vector3.new(size, size, size)
                    hitbox.Transparency = 0.75
                    hitbox.Color = Color3.fromRGB(255, 0, 0)
                    hitbox.Material = Enum.Material.Neon
                    hitbox.CanCollide = false
                end
            end

local Toggle = MainTab:CreateToggle({
   Name = "ESP Toggle",
   CurrentValue = false,
   Flag = "Toggle1", -- 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)
        -- Core ESP Script with Dynamic Color Change

local Players = game:GetService("Players")

-- Default ESP Color (Red)
local currentESPColor = Color3.fromRGB(255, 0, 0)

-- Variable to track whether ESP is enabled
local espEnabled = false

-- Function to enable/disable ESP
local function toggleESPMode()
    espEnabled = not espEnabled  -- Toggle the ESP mode status

    -- Enable or disable ESP effects based on the toggle
    for _, player in pairs(Players:GetPlayers()) do
        if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            local character = player.Character
            if espEnabled then
                -- Enable ESP with the selected color
                local highlight = Instance.new("Highlight")
                highlight.Parent = character
                highlight.FillColor = currentESPColor  -- Use the selected color
                highlight.FillTransparency = 0.5
                highlight.OutlineTransparency = 0.5

                -- Display health above the player
                local healthLabel = Instance.new("BillboardGui")
                healthLabel.Adornee = character.HumanoidRootPart
                healthLabel.Size = UDim2.new(0, 200, 0, 50)
                healthLabel.StudsOffset = Vector3.new(0, 5, 0)  -- Position above
                healthLabel.Parent = character

                local textLabel = Instance.new("TextLabel")
                textLabel.Parent = healthLabel
                textLabel.Text = "HP: " .. math.floor(character.Humanoid.Health)
                textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)  -- White text
                textLabel.BackgroundTransparency = 1
                textLabel.Size = UDim2.new(1, 0, 1, 0)
            else
                -- Disable ESP effects
                if character:FindFirstChild("Highlight") then
                    character.Highlight:Destroy()
                end
                if character:FindFirstChild("BillboardGui") then
                    character.BillboardGui:Destroy()
                end
            end
        end
    end
end

-- Called when a color is picked from the dropdown
function onColorSelected(selectedColor)
    currentESPColor = selectedColor
    if espEnabled then
        toggleESPMode()  -- Reapply ESP with new color
    end
end

local ESPColors = {
    ["Red"] = Color3.fromRGB(255, 0, 0),
    ["Green"] = Color3.fromRGB(0, 255, 0),
    ["Blue"] = Color3.fromRGB(0, 0, 255),
    ["Yellow"] = Color3.fromRGB(255, 255, 0),
    ["Orange"] = Color3.fromRGB(255, 165, 0),
    ["Purple"] = Color3.fromRGB(128, 0, 128),
    ["White"] = Color3.fromRGB(255, 255, 255),
    ["Black"] = Color3.fromRGB(0, 0, 0),
}

local Dropdown = MainTab:CreateDropdown({
   Name = "Change ESP Color",
   Options = {"Red", "Green", "Blue", "Yellow", "Orange", "Purple", "White", "Black"},
   CurrentOption = {"Red"},
   MultipleOptions = true,
   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)
        local chosenColor = ESPColors[selected] -- Lookup the actual Color3
        if chosenColor then
            onColorSelected(chosenColor)
        end
    end
})
   end,
})

Embed on website

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