Run it
Copy the script and paste it into your executor.
Rayfield = (:())()
Window = Rayfield:({
Name = ,
LoadingTitle = ,
LoadingSubtitle = ,
ConfigurationSaving = {
Enabled = ,
FolderName = ,
FileName =
},
KeySystem = ,
KeySettings = {
Title = ,
Subtitle = ,
Note = ,
FileName = ,
SaveKey = ,
GrabKeyFromSite = ,
Key = {}
}
})
AimbotTab = Window:(, )
VisualsTab = Window:(, )
CreditsTab = Window:(, )
Players = :()
RunService = :()
UserInputService = :()
LocalPlayer = Players.LocalPlayer
Camera = .CurrentCamera
aimEnabled =
fov =
smoothing =
wallcheck =
fovCircle = .()
fovCircle.Thickness =
fovCircle.NumSides =
fovCircle.Radius = fov
fovCircle.Color = .(, , )
fovCircle.Transparency =
fovCircle.Visible =
fovCircle.Filled =
()
fovCircle.Radius = fov
fovCircle.Visible = aimEnabled
fovCircle.Position = .(Camera.ViewportSize.X / , Camera.ViewportSize.Y / )
AimbotTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
aimEnabled = Value
()
})
AimbotTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
wallcheck = Value
})
AimbotTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = ,
Callback = (Value)
fov = Value
()
})
AimbotTab:({
Name = ,
Range = {, },
Increment = ,
Suffix = ,
CurrentValue = ,
Callback = (Value)
smoothing = Value
})
aiming =
UserInputService.InputBegan:((input, gpe)
gpe
input.UserInputType == .UserInputType.MouseButton2
aiming =
)
UserInputService.InputEnded:((input, gpe)
gpe
input.UserInputType == .UserInputType.MouseButton2
aiming =
)
(targetHead)
wallcheck
origin = Camera.CFrame.Position
direction = targetHead.Position - origin
rayParams = RaycastParams.()
rayParams.FilterDescendantsInstances = {LocalPlayer.Character {}}
rayParams.FilterType = .RaycastFilterType.Exclude
rayParams.IgnoreWater =
result = :(origin, direction, rayParams)
result == result.Instance:(targetHead.Parent)
()
closest, dist = , fov
center = .(Camera.ViewportSize.X / , Camera.ViewportSize.Y / )
_, plr Players:()
plr ~= LocalPlayer plr.Character plr.Character:() plr.Character.Humanoid.Health > plr.Character:()
head = plr.Character.Head
screen, onScreen = Camera:(head.Position)
onScreen
mag = (.(screen.X, screen.Y) - center).Magnitude
mag < dist (head)
dist = mag
closest = plr
closest
RunService.RenderStepped:(()
()
aimEnabled aiming
target = ()
target target.Character target.Character:()
headPos = target.Character.Head.Position
targetCFrame = .(Camera.CFrame.Position, headPos)
lerpAlpha = / smoothing
Camera.CFrame = Camera.CFrame:(targetCFrame, lerpAlpha)
)
espEnabled =
showBox =
showSkeleton =
showDistance =
showName =
teamCheck =
showTracers =
espDrawings = {}
(plr)
plr == LocalPlayer
box = .()
box.Thickness =
box.Color = .(, , )
box.Transparency =
box.Filled =
box.Visible =
nameText = .()
nameText.Size =
nameText.Color = .(, , )
nameText.Outline =
nameText.Center =
nameText.Visible =
distText = .()
distText.Size =
distText.Color = .(, , )
distText.Outline =
distText.Center =
distText.Visible =
tracer = .()
tracer.Color = .(, , )
tracer.Thickness =
tracer.Transparency =
tracer.Visible =
skeletonLines = {}
i = ,
line = .()
line.Color = .(, , )
line.Thickness =
line.Transparency =
line.Visible =
.(skeletonLines, line)
espDrawings[plr] = {box = box, name = nameText, dist = distText, tracer = tracer, skeleton = skeletonLines}
_, plr Players:()
(plr)
Players.PlayerAdded:(addEsp)
RunService.RenderStepped:(()
espEnabled
_, d espDrawings
d.box.Visible =
d.name.Visible =
d.dist.Visible =
d.tracer.Visible =
_, line d.skeleton line.Visible =
screenBottom = .(Camera.ViewportSize.X / , Camera.ViewportSize.Y)
plr, d espDrawings
plr.Character plr.Character:() plr.Character:() plr.Character.Humanoid.Health >
teamCheck plr.Team == LocalPlayer.Team
d.box.Visible =
d.name.Visible =
d.dist.Visible =
d.tracer.Visible =
_, line d.skeleton line.Visible =
root = plr.Character.HumanoidRootPart
head = plr.Character.Head
rootPos, onScreen = Camera:(root.Position)
headPos = Camera:(head.Position)
onScreen
size = (Camera:(root.Position - .(, , )).Y - headPos.Y) *
showBox
d.box.Size = .(size * , size * )
d.box.Position = .(rootPos.X - d.box.Size.X / , headPos.Y - )
d.box.Visible =
d.box.Visible =
showName
d.name.Text = plr.Name
d.name.Position = .(rootPos.X, headPos.Y - )
d.name.Visible =
d.name.Visible =
showDistance
dist = (LocalPlayer.Character.HumanoidRootPart.Position - root.Position).Magnitude /
d.dist.Text = .(, dist)
d.dist.Position = .(rootPos.X, headPos.Y - )
d.dist.Visible =
d.dist.Visible =
showTracers
d.tracer.From = screenBottom
d.tracer.To = .(rootPos.X, rootPos.Y)
d.tracer.Visible =
d.tracer.Visible =
showSkeleton
parts = {
{head.Position, head.Position + .(, -, )},
{head.Position + .(, -, ), root.Position},
{root.Position, root.Position + .(-, -, )},
{root.Position, root.Position + .(, -, )},
{root.Position + .(-, -, ), root.Position + .(-, -, )},
{root.Position + .(, -, ), root.Position + .(, -, )}
}
i, pair (parts)
p1 = Camera:(pair[])
p2 = Camera:(pair[])
line = d.skeleton[i]
line.From = .(p1.X, p1.Y)
line.To = .(p2.X, p2.Y)
line.Visible =
_, line d.skeleton line.Visible =
d.box.Visible =
d.name.Visible =
d.dist.Visible =
d.tracer.Visible =
_, line d.skeleton line.Visible =
d.box.Visible =
d.name.Visible =
d.dist.Visible =
d.tracer.Visible =
_, line d.skeleton line.Visible =
)
Players.PlayerRemoving:((plr)
espDrawings[plr]
espDrawings[plr].box:()
espDrawings[plr].name:()
espDrawings[plr].dist:()
espDrawings[plr].tracer:()
_, line espDrawings[plr].skeleton line:()
espDrawings[plr] =
)
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
espEnabled = Value
})
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
showBox = Value
})
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
showSkeleton = Value
})
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
showDistance = Value
})
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
showName = Value
})
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
showTracers = Value
})
VisualsTab:({
Name = ,
CurrentValue = ,
Callback = (Value)
teamCheck = Value
})
CreditsTab:()Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: sirius.menu.

Universal