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

local Window = Rayfield:CreateWindow({
   Name = "Idk",
   Icon = 0,
   LoadingTitle = "Immortal Hub",
   LoadingSubtitle = "By Immortal Venerable",
   Theme = "Default",
   DisableRayfieldPrompts = true,
   DisableBuildWarnings = false,
   ConfigurationSaving = {
      Enabled = true,
      FolderName = "ImmortalHub",
      FileName = "ImmortalHub",
   },
   Discord = {
      Enabled = true,
      Invite = "bnGPMC6s",
      RememberJoins = true
   },
   KeySystem = false,
})

local MainTab = Window:CreateTab("🔱Main", nil)
local MainSection = MainTab:CreateSection("Main")

Rayfield:Notify({
   Title = "Executed",
   Content = "GUI",
   Duration = 3.5,
   Image = 4483362458,
})

getgenv().WalkSpeedValue = 16

local function UpdateWalkSpeed(value)
    local Player = game:service'Players'.LocalPlayer
    if Player and Player.Character and Player.Character:FindFirstChild("Humanoid") then
        Player.Character.Humanoid.WalkSpeed = value
    end
end

local function MonitorWalkSpeed()
    local Player = game:service'Players'.LocalPlayer
    if Player and Player.Character and Player.Character:FindFirstChild("Humanoid") then
        local Humanoid = Player.Character.Humanoid
        Humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
            Humanoid.WalkSpeed = getgenv().WalkSpeedValue
        end)
        Humanoid.WalkSpeed = getgenv().WalkSpeedValue
    end
end

local Player = game:service'Players'.LocalPlayer
Player.CharacterAdded:Connect(function()
    wait(1)
    MonitorWalkSpeed()
end)

if Player.Character then
    MonitorWalkSpeed()
end

local Slider = MainTab:CreateSlider({
    Name = "Speed",
    Range = {1, 200},
    Increment = 1,
    Suffix = " Speed",
    CurrentValue = getgenv().WalkSpeedValue,
    Flag = "sliderws",
    Callback = function(Value)
        getgenv().WalkSpeedValue = Value
        UpdateWalkSpeed(Value)
    end,
})

getgenv().FlySpeed = 50
local flying = false
local directions = {W = false, A = false, S = false, D = false}

local UserInputService = game:GetService("UserInputService")

UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.W then
        directions.W = true
    elseif input.KeyCode == Enum.KeyCode.A then
        directions.A = true
    elseif input.KeyCode == Enum.KeyCode.S then
        directions.S = true
    elseif input.KeyCode == Enum.KeyCode.D then
        directions.D = true
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.W then
        directions.W = false
    elseif input.KeyCode == Enum.KeyCode.A then
        directions.A = false
    elseif input.KeyCode == Enum.KeyCode.S then
        directions.S = false
    elseif input.KeyCode == Enum.KeyCode.D then
        directions.D = false
    end
end)

local function ToggleFly(state)
    flying = state
    local Player = game.Players.LocalPlayer
    local Character = Player.Character or Player.CharacterAdded:Wait()
    local HumanoidRootPart = Character:FindFirstChild("HumanoidRootPart")

    if flying then
        local BodyGyro = Instance.new("BodyGyro")
        local BodyVelocity = Instance.new("BodyVelocity")
        BodyGyro.P = 9e4
        BodyGyro.CFrame = HumanoidRootPart.CFrame
        BodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
        BodyGyro.Parent = HumanoidRootPart

        BodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
        BodyVelocity.Parent = HumanoidRootPart

        while flying and HumanoidRootPart do
            local moveDirection = Vector3.zero
            if directions.W then
                moveDirection = moveDirection + workspace.CurrentCamera.CFrame.LookVector
            end
            if directions.S then
                moveDirection = moveDirection - workspace.CurrentCamera.CFrame.LookVector
            end
            if directions.A then
                moveDirection = moveDirection - workspace.CurrentCamera.CFrame.RightVector
            end
            if directions.D then
                moveDirection = moveDirection + workspace.CurrentCamera.CFrame.RightVector
            end

            moveDirection = moveDirection.Magnitude > 0 and moveDirection.Unit or Vector3.zero
            BodyVelocity.Velocity = moveDirection * getgenv().FlySpeed
            BodyGyro.CFrame = workspace.CurrentCamera.CFrame
            wait()
        end

        BodyGyro:Destroy()
        BodyVelocity:Destroy()
    end
end

MainTab:CreateButton({
    Name = "Toggle Fly",
    Callback = function()
        flying = not flying
        ToggleFly(flying)
    end,
})

local FlySpeedSlider = MainTab:CreateSlider({
    Name = "Fly Speed",
    Range = {1, 200},
    Increment = 1,
    Suffix = " Speed",
    CurrentValue = getgenv().FlySpeed,
    Flag = "sliderflyspeed",
    Callback = function(Value)
        getgenv().FlySpeed = Value
    end,
})

Embed on website

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