-- Simple Admin Menu with Rayfield UI
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
-- Load Rayfield UI (commonly available in executors)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
-- Create Window
local Window = Rayfield:CreateWindow({
Name = "Admin Menu",
LoadingTitle = "Admin Panel",
LoadingSubtitle = "by Venice",
ConfigurationSaving = {
Enabled = true,
FolderName = "AdminPanel",
FileName = "Config"
},
Discord = {
Enabled = false,
Invite = "none",
RememberJoins = false
},
KeySystem = false,
KeySettings = {
Title = "Admin Panel",
Subtitle = "Key System",
Note = "No key needed",
FileName = "Key"
}
})
-- Variables
local flying = false
local flinging = false
local noClip = false
local flySpeed = 50
local flingSpeed = 500
local camera = workspace.CurrentCamera
local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local rootPart = character:WaitForChild("HumanoidRootPart")
-- Fly Function
local function enableFly()
flying = true
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bodyVelocity.P = 5000
bodyVelocity.Parent = rootPart
local connection connection = RunService.Heartbeat:Connect(function() if flying then local moveDirection = Vector3.new() if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDirection = moveDirection + camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDirection = moveDirection - camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDirection = moveDirection - camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDirection = moveDirection + camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDirection = moveDirection + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDirection = moveDirection - Vector3.new(0, 1, 0) end if moveDirection.Magnitude > 0 then moveDirection = moveDirection.Unit * flySpeed end bodyVelocity.Velocity = moveDirection else connection:Disconnect() bodyVelocity:Destroy() end end)
end
local function disableFly()
flying = false
end
-- Fling Function
local function enableFling()
flinging = true
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bodyVelocity.Velocity = Vector3.new(flingSpeed, 0, 0)
bodyVelocity.Parent = rootPart
local connection connection = RunService.Heartbeat:Connect(function() if flinging then bodyVelocity.Velocity = camera.CFrame.LookVector * flingSpeed else connection:Disconnect() bodyVelocity:Destroy() end end)
end
local function disableFling()
flinging = false
end
-- NoClip Function
local function enableNoClip()
noClip = true
local connection
connection = RunService.Stepped:Connect(function()
if noClip then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
else
connection:Disconnect()
end
end)
end
local function disableNoClip()
noClip = false
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
-- Create Tabs
local MainTab = Window:CreateTab("Main", 4483362458)
local SettingsTab = Window:CreateTab("Settings", 134477187)
-- Main Tab Content
MainTab:CreateToggle({
Name = "Fly",
CurrentValue = false,
Flag = "Fly",
Callback = function(Value)
if Value then
enableFly()
else
disableFly()
end
end,
})
MainTab:CreateToggle({
Name = "Fling",
CurrentValue = false,
Flag = "Fling",
Callback = function(Value)
if Value then
enableFling()
else
disableFling()
end
end,
})
MainTab:CreateToggle({
Name = "NoClip",
CurrentValue = false,
Flag = "NoClip",
Callback = function(Value)
if Value then
enableNoClip()
else
disableNoClip()
end
end,
})
-- Settings Tab Content
SettingsTab:CreateSlider({
Name = "Fly Speed",
Range = {10, 200},
Increment = 10,
Suffix = "Stud/s",
CurrentValue = 50,
Flag = "FlySpeed",
Callback = function(Value)
flySpeed = Value
end,
})
SettingsTab:CreateSlider({
Name = "Fling Speed",
Range = {100, 1000},
Increment = 50,
Suffix = "Stud/s",
CurrentValue = 500,
Flag = "FlingSpeed",
Callback = function(Value)
flingSpeed = Value
end,
})
SettingsTab:CreateKeybind({
Name = "Toggle UI",
CurrentKeybind = "Z",
HoldToInteract = false,
Flag = "ToggleUI",
Callback = function(Keybind)
Rayfield:ToggleUI()
end,
})
-- Notification
Rayfield:Notify({
Title = "Admin Panel Loaded",
Content = "Press Z to toggle UI",
Duration = 5,
Image = 4483362458,
Actions = {
Ignore = {
Name = "Okay",
Callback = function()
end
},
},
})
-- Character respawn handling
LocalPlayer.CharacterAdded:Connect(function(newCharacter)
character = newCharacter
humanoid = character:WaitForChild("Humanoid")
rootPart = character:WaitForChild("HumanoidRootPart")