
Key RequiredUniversal

if setclipboard then setclipboard("https://discord.gg/QyTujFeJmc") end
local p=game.Players.LocalPlayer
local RS=game:GetService("RunService")
local SG=game:GetService("StarterGui")
local UIS=game:GetService("UserInputService")
local cam=workspace.CurrentCamera
local execPos=nil
local gui=Instance.new("ScreenGui",p:WaitForChild("PlayerGui")) gui.Name="FE_BTOOLS_GUI" gui.ResetOnSpawn=false gui.IgnoreGuiInset=true
local redBlocks={} local hatMap={} local selectedBlock=nil
local orbitCount=6 local controlBlock=nil local viewToControl=false
local accToBlockMap={}
local function notify(t,m) pcall(function()SG:SetCore("SendNotification",{Title=t,Text=m,Icon="rbxassetid://8027925475",Duration=3})end) end
local function makeBlock(pos)
local b=Instance.new("Part")
b.Size=Vector3.new(1,1,1) b.Anchored=true b.CanCollide=false b.Material=Enum.Material.Neon b.Color=Color3.fromRGB(255,0,0)
b.Name="RedBlock" b.Position=pos b.Parent=workspace
local force=Instance.new("BodyForce",b)
force.Force=Vector3.new(0,b:GetMass()*workspace.Gravity,0)
return b
end
local function createRedBlocks()
local rootPos=p.Character and p.Character:FindFirstChild("HumanoidRootPart")and p.Character.HumanoidRootPart.Position or Vector3.new(0,5,0)
for i=1,orbitCount do
local offset=Vector3.new(math.random(-5,5),math.random(1,4),math.random(-5,5))
local block=makeBlock(rootPos+offset)
table.insert(redBlocks,block)
end
end
local function attach(acc,block)
local base=acc:FindFirstChildWhichIsA("BasePart") if not base then return end
local a0=Instance.new("Attachment",base)
local a1=Instance.new("Attachment",block)
local ap=Instance.new("AlignPosition",base) ap.Attachment0=a0 ap.Attachment1=a1 ap.Responsiveness=9999 ap.MaxForce=1e20 ap.ApplyAtCenterOfMass=true
local ao=Instance.new("AlignOrientation",base) ao.Attachment0=a0 ao.Attachment1=a1 ao.Responsiveness=9999 ao.MaxTorque=1e20
local bf=Instance.new("BodyForce",base) bf.Force=Vector3.new(0,base:GetMass()*workspace.Gravity,0)
hatMap[acc]={block=block,ap=ap,ao=ao,a0=a0,a1=a1,bf=bf}
end
local function assignAccessories(char)
hatMap={} local accessories={}
for _,acc in pairs(char:GetChildren())do if acc:IsA("Accessory")then table.insert(accessories,acc)end end
for i,acc in ipairs(accessories)do
local id=acc.Name
local block=accToBlockMap[id]
if not block or not block.Parent then
local assignedBlocks={} for _,b in pairs(accToBlockMap)do assignedBlocks[b]=true end
for _,candidateBlock in ipairs(redBlocks)do
if not assignedBlocks[candidateBlock] then
block=candidateBlock break
end
end
if not block then block=redBlocks[((#accToBlockMap)%#redBlocks)+1] end
accToBlockMap[id]=block
end
attach(acc,block)
end
end
local function updatePositions()
for acc,data in pairs(hatMap)do
if acc.Parent==nil then hatMap[acc]=nil continue end
local block=data.block
data.a1.WorldCFrame=block.CFrame
end
end
local function freezePlayer(char)
local hum=char:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed=0 hum.JumpPower=0 hum.PlatformStand=true
end
end
local function onCharacterAdded(char)
task.spawn(function()
local hum=char:WaitForChild("Humanoid",5)
local hrp=char:WaitForChild("HumanoidRootPart",5)
if not execPos and hrp then execPos=hrp.Position end
if hum and hrp and execPos then
repeat task.wait() until hum.Health>0
hrp.CFrame=CFrame.new(execPos)
task.wait(0.5)
hum.Health=0
end
freezePlayer(char)
assignAccessories(char)
task.spawn(function()
while char and char:FindFirstChildOfClass("Humanoid") and char.Humanoid.Health>0 do
updatePositions() task.wait(0.001)
end
end)
end)
end
p.CharacterAdded:Connect(onCharacterAdded)
if p.Character then onCharacterAdded(p.Character) end
task.spawn(function()
while true do task.wait(0.8)
if p.Character and p.Character:FindFirstChildOfClass("Humanoid") then
p.Character.Humanoid.Health=0
end
end
end)
local frame=Instance.new("Frame",gui)
frame.Size=UDim2.new(0,220,0,170) frame.Position=UDim2.new(0,20,1,-190)
frame.BackgroundColor3=Color3.new(0,0,0) frame.BackgroundTransparency=0.3
frame.Active=true frame.Draggable=true
local function makeBtn(txt,pos,func)
local b=Instance.new("TextButton",frame)
b.Size=UDim2.new(0,40,0,40) b.Position=pos b.Text=txt
b.BackgroundColor3=Color3.fromRGB(60,60,60) b.TextColor3=Color3.new(1,1,1) b.TextScaled=true
b.MouseButton1Click:Connect(func)
return b
end
makeBtn("↑",UDim2.new(0,80,0,10),function()if selectedBlock then selectedBlock.Position+=Vector3.new(0,1,0) end end)
makeBtn("↓",UDim2.new(0,80,0,120),function()if selectedBlock then selectedBlock.Position+=Vector3.new(0,-1,0) end end)
makeBtn("←",UDim2.new(0,30,0,65),function()if selectedBlock then selectedBlock.Position+=Vector3.new(-1,0,0) end end)
makeBtn("→",UDim2.new(0,130,0,65),function()if selectedBlock then selectedBlock.Position+=Vector3.new(1,0,0) end end)
makeBtn("Z-",UDim2.new(0,30,0,30),function()if selectedBlock then selectedBlock.Position+=Vector3.new(0,0,-1) end end)
makeBtn("Z+",UDim2.new(0,130,0,30),function()if selectedBlock then selectedBlock.Position+=Vector3.new(0,0,1) end end)
makeBtn("↻",UDim2.new(0,30,0,120),function()if selectedBlock then selectedBlock.Orientation+=Vector3.new(0,15,0) end end)
makeBtn("↺",UDim2.new(0,130,0,120),function()if selectedBlock then selectedBlock.Orientation+=Vector3.new(0,-15,0) end end)
makeBtn("Rndm",UDim2.new(0,80,0,65),function()
if #redBlocks>0 then
if selectedBlock then selectedBlock.Color=Color3.fromRGB(255,0,0) end
selectedBlock=redBlocks[math.random(1,#redBlocks)]
selectedBlock.Color=Color3.fromRGB(255,128,0)
end
end)
for _,block in pairs(redBlocks)do
block.Touched:Connect(function()
if selectedBlock then selectedBlock.Color=Color3.fromRGB(255,0,0) end
selectedBlock=block selectedBlock.Color=Color3.fromRGB(255,128,0)
end)
end
task.spawn(function()
while true do task.wait(0.1)
if p.Character then freezePlayer(p.Character) end
end
end)
UIS.InputBegan:Connect(function(i,g)
if i.KeyCode==Enum.KeyCode.Q and not g then
if controlBlock then controlBlock:Destroy() end
controlBlock=Instance.new("Part",workspace)
controlBlock.Anchored=true controlBlock.CanCollide=false
controlBlock.Transparency=0.88 controlBlock.Size=Vector3.new(3,1,3)
controlBlock.Material=Enum.Material.ForceField controlBlock.BrickColor=BrickColor.new("Lime green")
controlBlock.Position=p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character.HumanoidRootPart.Position or Vector3.new(0,5,0)
cam.CameraSubject=controlBlock
end
end)
createRedBlocks()
notify("made by me gaming","accessories bound by redblock")



where are the accesories we gotta use?
you can use whatever but if wanna more use more than 3-4 hats