local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
Rayfield:Notify({
Title = "Notification",
Content = "Required hats are listed in the discord server. made by if0undy0u",
Duration = 6.5,
Image = 4483362458,
Actions = { -- Notification Buttons
Ignore = {
Name = "Okay!",
Callback = function()
print("The user tapped Okay!")
end
},
},
})
local Window = Rayfield:CreateWindow({
Name = "ZenOHub Demo",
LoadingTitle = "Suite",
LoadingSubtitle = "Ui by MrNobody",
ConfigurationSaving = {
Enabled = true,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "Big Hub"
},
Discord = {
Enabled = nil,
Invite = "mZnyNUgZF6", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ABCD would be ABCD
RememberJoins = false -- 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",
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 will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
local Tab = Window:CreateTab("FE Scripts", 4483362458) -- Title, Image
local Section = Tab:CreateSection("Please make sure you are using the required hats and are R6")
local Button = Tab:CreateButton({
Name = "Blind Reaper",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "Bomber",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "Sword",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "Star Glitcher",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "Hat Aura (Uses any hats and is R15 and R6)",
Callback = function()
for i, v in pairs(game.Players.LocalPlayer.Character:GetChildren()) do
if v:IsA("Accessory") then
if v.Handle:FindFirstChildOfClass("Mesh") or v.Handle:FindFirstChildOfClass("SpecialMesh") then
if v.Handle:FindFirstChildOfClass("SpecialMesh") then
print("SpecialMesh")
end
end
end
end
local LC = game.Players.LocalPlayer
local Name = LC.Name
local Char = LC.Character
local Humanoid = Char:FindFirstChildWhichIsA("Humanoid")
local Root = Humanoid.RootPart
local Accessories = Humanoid:GetAccessories()
local Target = Char
local TargetPos = Target.Humanoid.RootPart.Position
local Commands = {
".Offset <number>",
".Speed <number>",
".Height <number>",
".Power <number>",
".Orbit <player> or Nearest / Farthest / Me / Random",
".BlockHats",
".Cmds"
}
local Offset = 10
local Rotation = 0
local Speed = 1
local Height = 2
local EditingPos = false
local Power = 50000
local Damping = 500
local Mode = 1
local NormalSpin = true
function findName(pname)
for i, v in ipairs(game.Players:GetPlayers()) do
if pname then
if string.match(v.Name:lower(), pname:lower()) or string.match(v.Character.Humanoid.DisplayName:lower(), pname:lower()) then
return v.Name
end
else
end
end
end
function findChar(pname)
return game.Players:FindFirstChild(findName(pname)).Character
end
local hats = {}
if Target then
-- Loop through each hat in the target player's character
local character = Target
for _, hat in ipairs(character:GetChildren()) do
if hat:IsA("Accessory") then
hats[#hats+1] = hat
end
end
end
local hatCount = #hats
if hatCount > 0 then
local angle = math.pi * 2 / hatCount
-- Loop through each hat again to add bodyposition and move hats
for i, hat in ipairs(hats) do
-- Add bodyposition to the handle and make it massless
local handle = hat.Handle
handle.AccessoryWeld:Remove()
if handle then
local bodyPosition = Instance.new("BodyPosition", handle)
bodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bodyPosition.P = Power
bodyPosition.D = Damping
local bodyGyro = Instance.new("BodyGyro", handle)
bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bodyGyro.P = Power
bodyGyro.D = Damping
-- Calculate position based on angle and Offset
local x = math.sin(Rotation + angle * (i-1)) * Offset
local z = math.cos(Rotation + angle * (i-1)) * Offset
-- Set position of bodyposition
bodyPosition.Position = TargetPos + Vector3.new(x, Height, z)
end
end
-- Rotate hats around target player
local function myCoroutine()
while wait(-9e999) do
Rotation = Rotation + (Speed / 20)
if Rotation >= math.pi * 2 then
Rotation = 0
end
for i, hat in ipairs(hats) do
local handle = hat.Handle
local x = math.sin(Rotation + angle * (i-1)) * Offset
local z = math.cos(Rotation + angle * (i-1)) * Offset
handle.BodyPosition.P = Power
handle.Velocity = Vector3.new(0, 5, 0)
handle.Massless = true
handle.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
handle.BodyGyro.CFrame = CFrame.lookAt(handle.Position + Vector3.new(0, handle.Position.Y, 0), Root.Position)
if NormalSpin == true then
handle.BodyPosition.Position = TargetPos + Vector3.new(x + Target.Humanoid.MoveDirection.X, Height, z + Target.Humanoid.MoveDirection.Z)
end
if EditingPos == false then
TargetPos = Target.Humanoid.RootPart.Position
end
end
end
end
local myWrappedCoroutine = coroutine.wrap(myCoroutine)
myWrappedCoroutine()
end
function Mode2()
if Mode == 2 then
local Angle = math.pi * 2 / #hats -- number of hats in the circle
function Loop()
if Mode == 2 then
-- Get the orientation of the root part
local RootOrientation = Target.Humanoid.RootPart.CFrame - Target.Humanoid.RootPart.Position
local RootRotation = RootOrientation
for i, Hat in ipairs(hats) do
local HatRotation = RootRotation.Y + Angle * (i - 1) + Speed * tick()
local x = math.sin(HatRotation) * Offset
local z = math.cos(HatRotation) * Offset
local HatPos = TargetPos + RootOrientation * Vector3.new(x, z, -Height)
Hat.Handle.BodyPosition.Position = HatPos
end
wait()
Loop()
end
end
Loop()
for i, Hat in ipairs(hats) do
local Handle = Hat.Handle
Hat.Handle.BodyPosition.Position = TargetPos
end
end
end
function Mode3()
if Mode == 3 then
for i = 1, #Accessories do
Accessories[i].Handle.BodyPosition.Position = TargetPos + Vector3.new(0, Height, 0)
wait(.1)
end
wait()
Mode3()
end
end
function Mode4 ()
if Mode == 4 then
if not LC:GetMouse().Target then else
TargetPos = LC:GetMouse().Hit.Position
end
wait(-9e999)
Mode4()
end
end
function Mode5 ()
local spiralPitch = 0
local spiralAngle = 0
function Loop ()
if Mode == 5 then
spiralAngle = spiralAngle + Speed / 300
if spiralAngle >= math.pi * 10 then
spiralAngle = 0
end
for i, hat in ipairs(hats) do
local handle = hat.Handle
if handle then
local x = math.sin(spiralAngle + i*spiralPitch) * (i*Offset / 8)
local y = i*(Height / 3)
local z = math.cos(spiralAngle + i*spiralPitch) * (i*Offset / 8)
handle.BodyPosition.Position = TargetPos - Vector3.new(0, 2, 0) + Vector3.new(x, y, z)
end
end
end
spiralPitch += Speed / 70
wait(-9e999)
Loop()
end
Loop()
end
function Mode6 ()
local stack1 = {}
local stack2 = {}
for i = 1, #Accessories do
if i <= #Accessories / 2 then
stack1[#stack1 + 1] = Accessories[i]
else
stack2[#stack2 + 1] = Accessories[i]
end
end
function Loop()
if Mode == 6 then
local angle = tick() * Speed
local x = math.sin(angle)* Offset
local z = math.cos(angle)* Offset
for i, v in ipairs(stack1) do
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, i+Height,-z)
end
for i, v in ipairs(stack2) do
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(-x, i+Height,z)
end
wait()
Loop()
end
end
Loop()
end
function Mode7()
local stack1 = {}
local stack2 = {}
local stack3 = {}
for i = 1, #Accessories do
if i < #Accessories / 3 then
stack1[#stack1 + 1] = Accessories[i]
elseif i < #Accessories / 3 * 2 or i == #Accessories then
stack2[#stack2 + 1] = Accessories[i]
else
stack3[#stack3 + 1] = Accessories[i]
end
end
function Loop()
if Mode == 7 then
local angle = tick() * Speed
local x = math.sin(angle)* Offset
local z = math.cos(angle)* Offset
for i, v in ipairs(stack1) do
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, i+Height, -z)
end
for i, v in ipairs(stack2) do
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, i+Height, z)
end
for i, v in ipairs(stack3) do
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(-x, i+Height, -z)
end
wait()
Loop()
end
end
Loop()
end
function Mode8()
if Mode == 8 then
local forward = workspace.CurrentCamera.CFrame.LookVector
local right = workspace.CurrentCamera.CFrame.RightVector
local up = workspace.CurrentCamera.CFrame.UpVector
local angle = math.pi * 2 / #hats * tick()
for i, hat in ipairs(hats) do
local handle = hat.Handle
local x = right * (math.sin(angle * (i-1)) * Offset)
local y = up * (math.cos(angle * (i-1)) * Offset)
local z = forward * (Height+10)
local pos = workspace.CurrentCamera.CFrame.LookVector + z + x + y
local look = (workspace.CurrentCamera.CFrame.LookVector - pos).unit
handle.BodyPosition.Position = pos + TargetPos + Vector3.new(0, 2, 0)
end
wait()
Mode8()
end
end
function Mode9 ()
local Left = {}
local Right = {}
for i, v in pairs(Accessories) do
if (#Left < #Accessories / 2) then
Left[#Left + 1] = v
else
Right[#Right + 1] = v
end
end
function Loop ()
if Mode == 9 then
for i, v in ipairs(Left) do
local angle = tick() * Speed
local x = math.sin(angle + i) * Offset
local z = math.cos(angle + i) * Offset
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, Height, z)
end
for i, v in ipairs(Right) do
local angle = tick() * Speed
local x = math.sin(angle + i) * Offset
local z = math.cos(angle + i) * Offset
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(z, Height, x)
end
wait()
Loop()
end
end
Loop()
end
function Mode10 ()
local Left = {}
local Right = {}
for i, v in pairs(Accessories) do
if (#Left < #Accessories / 2) then
Left[#Left + 1] = v
else
Right[#Right + 1] = v
end
end
function Loop ()
if Mode == 10 then
for i, v in ipairs(Left) do
local angle = tick() * Speed
local x = math.sin(angle + i) * Offset
local z = math.cos(angle + i) * Offset
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(z, x + Height, -x)
end
for i, v in ipairs(Right) do
local angle = tick() * Speed
local x = math.sin(angle + i) * Offset
local z = math.cos(angle + i) * Offset
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(-x, x + Height, -z)
end
wait()
Loop()
end
end
Loop()
end
function Mode11 ()
if Mode == 11 then
for i, v in pairs(Accessories) do
local angle = tick() * Speed
local x = math.sin(angle) * Offset
local z = math.cos(angle) * Offset
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, Height, z)
end
wait()
Mode11()
end
end
function Mode12 ()
local Circle1 = {}
local Circle2 = {}
for i, v in pairs(Accessories) do
if (#Circle1 < #Accessories / 2) then
Circle1[#Circle1 + 1] = v
else
Circle2[#Circle2 + 1] = v
end
end
function Loop ()
if Mode == 12 then
for i = 1, #Circle1 do
local angle = tick() * Speed
local x = math.sin(angle + (i * 5)) * Offset
local z = math.cos(angle + (i * 5)) * Offset
local offset = CFrame.Angles(0, math.rad(Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(x, Height, z)
Circle1[i].Handle.BodyPosition.Position = TargetPos + offset
end
for i = 1, #Circle2 do
local angle = tick() * Speed
local x = math.sin(angle + (i * 5)) * Offset
local z = -math.cos(angle + (i * 5)) * Offset
local offset = CFrame.Angles(0, math.rad(-Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(x, Height + 2, z)
Circle2[i].Handle.BodyPosition.Position = TargetPos + offset
end
wait()
Loop()
end
end
Loop()
end
function Mode13 ()
local Circle1 = {}
local Circle2 = {}
for i, v in pairs(Accessories) do
if (#Circle1 < #Accessories / 2) then
Circle1[#Circle1 + 1] = v
else
Circle2[#Circle2 + 1] = v
end
end
function Loop ()
if Mode == 13 then
for i = 1, #Circle1 do
local angle = tick() * Speed
local x = math.sin(angle + (i * 5)) * Offset
local z = math.cos(angle + (i * 5)) * Offset
local offset = CFrame.Angles(0, math.rad(Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(x + Offset * 2, Height, z)
Circle1[i].Handle.BodyPosition.Position = TargetPos + offset
end
for i = 1, #Circle2 do
local angle = tick() * Speed
local x = math.sin(angle + (i * 5)) * Offset
local z = math.cos(angle + (i * 5)) * Offset
local offset = CFrame.Angles(0, math.rad(Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(x - Offset * 2, Height, z)
Circle2[i].Handle.BodyPosition.Position = TargetPos + offset
end
wait()
Loop()
end
end
Loop()
end
function Mode14 ()
local Circle1 = {}
local Circle2 = {}
for i, v in pairs(Accessories) do
if (#Circle1 < #Accessories / 2) then
Circle1[#Circle1 + 1] = v
else
Circle2[#Circle2 + 1] = v
end
end
function Loop ()
if Mode == 14 then
for i = 1, #Circle1 do
local angle = tick() * Speed
local x = math.sin(angle + (i * 5)) * Offset
local z = math.cos(angle + (i * 5)) * Offset
local offset = CFrame.Angles(0, math.rad(Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(x + Offset * 2, Height, z)
Circle1[i].Handle.BodyPosition.Position = TargetPos + offset
end
for i = 1, #Circle2 do
local angle = tick() * Speed
local x = math.sin(angle + (i * 5)) * Offset
local z = math.cos(angle + (i * 5)) * Offset
local offset = CFrame.Angles(0, math.rad(-Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(x - Offset * 2, Height, z)
Circle2[i].Handle.BodyPosition.Position = TargetPos + offset
end
wait()
Loop()
end
end
Loop()
end
function Mode15()
Height = -1
function Loop ()
if Mode == 15 then
for i = 1, #Accessories do
local offset = CFrame.Angles(0, math.rad(Target.Humanoid.RootPart.Orientation.Y), 0) * Vector3.new(0, Height, -i * Offset / 5)
Accessories[i].Handle.BodyPosition.Position = TargetPos + offset
end
wait()
Loop()
end
end
Loop()
wait()
end
function Mode16()
local function Loop()
if Mode == 16 then
for i, v in pairs(Accessories) do
local x = math.cos(math.random(1, 255) + (i + 1)) * Offset
local z = math.sin(math.random(1, 255) + (i + 1)) * Offset
local m = math.random(1, 13)
if m == 1 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, Height, z)
elseif m == 2 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(z, Height, x)
elseif m == 3 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(-x, Height, z)
elseif m == 4 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, Height, -z)
elseif m == 5 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, z, z)
elseif m == 6 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, x, z)
elseif m == 7 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(-x, x, z)
elseif m == 8 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, -x, z)
elseif m == 9 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, x, -z)
elseif m == 10 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(-x, z, z)
elseif m == 11 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, -z, z)
elseif m == 12 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(x, z, -z)
elseif m == 13 then
v.Handle.BodyPosition.Position = TargetPos + Vector3.new(z, z, z)
end
end
end
wait()
Loop()
end
Loop()
end
function Mode17()
if Mode == 17 then
end
end
local connect = LC.Chatted:Connect(function(chat)
local Split = chat:lower():split(" ")
local C1 = Split[1]
local C2 = Split[2]
if C1 == ".mode" then
Mode = tonumber(C2)
if C2 == "1" then
EditingPos = false
NormalSpin = true
elseif C2 == "2" then
EditingPos = false
NormalSpin = false
Mode2()
elseif C2 == "3" then
EditingPos = false
NormalSpin = false
Mode3()
elseif C2 == "4" then
EditingPos = true
NormalSpin = true
Mode4()
elseif C2 == "5" then
EditingPos = false
NormalSpin = false
Mode5()
elseif C2 == "6" then
EditingPos = false
NormalSpin = false
Mode6()
elseif C2 == "7" then
EditingPos = false
NormalSpin = false
Mode7()
elseif C2 == "8" then
EditingPos = false
NormalSpin = false
Mode8()
elseif C2 == "9" then
EditingPos = false
NormalSpin = false
Mode9()
elseif C2 == "10" then
EditingPos = false
NormalSpin = false
Mode10()
elseif C2 == "11" then
EditingPos = false
NormalSpin = false
Mode11()
elseif C2 == "12" then
EditingPos = false
NormalSpin = false
Mode12()
elseif C2 == "13" then
EditingPos = false
NormalSpin = false
Mode13()
elseif C2 == "14" then
EditingPos = false
NormalSpin = false
Mode14()
elseif C2 == "15" then
EditingPos = false
NormalSpin = false
Mode15()
elseif C2 == "16" then
EditingPos = false
NormalSpin = false
Mode16()
elseif C2 == "17" then
EditingPos = false
NormalSpin = true
Mode17()
end
elseif C1 == ".offset" then
Offset = tonumber(C2)
elseif C1 == ".speed" then
Speed = tonumber(C2)
elseif C1 == ".height" then
Height = tonumber(C2)
elseif C1 == ".power" then
Power = tonumber(C2)
elseif C1 == ".orbit" then
if C2 == "me" then
Target = Char
elseif C2 == "random" then
local randomPlayer = game.Players:GetPlayers()[math.random(1, #game.Players:GetPlayers())]
Target = randomPlayer.Character
elseif C2 == "nearest" then
local minDistance = math.huge
for _, player in pairs(game.Players:GetPlayers()) do
if player.Character and player.Character ~= Char then
local distance = (player.Character.HumanoidRootPart.Position - Char.HumanoidRootPart.Position).magnitude
if distance < minDistance then
minDistance = distance
Target = player.Character
end
end
end
elseif C2 == "farthest" then
local maxDistance = -math.huge
for _, player in pairs(game.Players:GetPlayers()) do
if player.Character and player.Character ~= Char then
local distance = (player.Character.HumanoidRootPart.Position - Char.HumanoidRootPart.Position).magnitude
if distance > maxDistance then
maxDistance = distance
Target = player.Character
end
end
end
else
Target = findChar(C2)
end
elseif C1 == ".blockhats" then
for i, v in pairs(Accessories) do
if v.Handle:FindFirstChild("Mesh") then
v.Handle:FindFirstChild("Mesh"):Remove()
else
v.Handle:FindFirstChild("SpecialMesh"):Remove()
end
end
elseif C1 == ".cmds" then
for i = 1, #Commands do
print(Commands[i])
wait()
end
end
end)
Humanoid.Died:Connect(function()
connect:Disconnect()
end)
Root.CFrame += Vector3.new(0, 10, 0)
Root.Anchored = true
for i,v in next, game:GetService("Players").LocalPlayer.Character:GetDescendants() do if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then game:GetService("RunService").Heartbeat:connect(function() v.Velocity = Vector3.new(-30, 0, 0) v.Massless = true end) end end
wait(1)
Root.Anchored = false
end,
})
local Button = Tab:CreateButton({
Name = "Gun Man",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "The Cube",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "Ravanger Hands",
Callback = function()
loadstring(game:HttpGet('https://[Log in to view URL]'))()
end,
})
local Button = Tab:CreateButton({
Name = "Void Boss",
Callback = function()
loadstring(game:HttpGet("https://[Log in to view URL]"))()
end,
})
To embed this project on your website, copy the following code and paste it into your website's HTML: