Run it
Copy the script and paste it into your executor.
Rayfield = (:())()
Players = :()
RunService = :()
UserInputService = :()
player = Players.LocalPlayer
camera = .CurrentCamera
character = player.Character player.CharacterAdded:()
rootPart = character:()
TRACKED_ITEMS = {
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
{ match = , pattern = , color = .(, , ) },
}
TRACKED_NPCS = {
{ pattern = , color = .(, , ) },
}
CLOSE_DISTANCE =
(name)
#name >= name:() ~=
(name)
_, entry (TRACKED_ITEMS)
entry.match == name == entry.pattern
entry.color,
entry.match == name:():(entry.pattern:(), , )
entry.color,
(name)
.(, , ),
,
(name)
_, entry (TRACKED_NPCS)
name:():(entry.pattern:(), , )
entry.color
(obj)
obj:() obj:()
(obj)
obj:() obj
obj:() obj.PrimaryPart obj:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
screenGui.DisplayOrder = -
screenGui.Parent = player.PlayerGui
UserInputService.MouseIconEnabled =
Window = Rayfield:({
Name = ,
LoadingTitle = ,
LoadingSubtitle = ,
Theme = ,
DisableRayfieldPrompts = ,
KeySystem = ,
})
ItemTab = Window:(, )
NPCTab = Window:(, )
activeItems = {}
activeNPCs = {}
itemConnections = {}
npcConnections = {}
itemWorkspaceConn =
npcWorkspaceConn =
locatingEnabled =
npcFinderEnabled =
dragonBallFinderEnabled =
updateConnection =
(color)
frame = .()
frame.Size = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.BorderSizePixel =
frame.Visible =
frame.Active =
frame.Parent = screenGui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = frame
label = .()
label.Size = .(, -, , )
label.Position = .(, , , )
label.BackgroundTransparency =
label.TextColor3 = color
label.TextStrokeTransparency =
label.TextStrokeColor3 = .(, , )
label.TextScaled =
label.Font = .Font.GothamBold
label.Text =
label.Parent = frame
arrow = .()
arrow.Size = .(, , , )
arrow.Position = .(, -, , )
arrow.BackgroundTransparency =
arrow.TextColor3 = color
arrow.TextScaled =
arrow.Font = .Font.GothamBold
arrow.Text =
arrow.Parent = frame
{ frame = frame, label = label, arrow = arrow }
(obj, color, labelText)
basePart = (obj)
basePart rootPart , , , ,
selBox = .()
selBox.Adornee = basePart
selBox.Color3 = color
selBox.LineThickness =
selBox.SurfaceTransparency =
selBox.SurfaceColor3 = color
selBox.Parent =
billboard = .()
billboard.Adornee = basePart
billboard.AlwaysOnTop =
billboard.MaxDistance = CLOSE_DISTANCE
billboard.Size = .(, , , )
billboard.StudsOffset = .(, , )
billboard.Parent = basePart
bg = .()
bg.Size = .(, , , )
bg.BackgroundColor3 = .(, , )
bg.BackgroundTransparency =
bg.BorderSizePixel =
bg.Parent = billboard
textLabel = .()
textLabel.Size = .(, , , )
textLabel.BackgroundTransparency =
textLabel.TextColor3 = color
textLabel.TextStrokeTransparency =
textLabel.TextStrokeColor3 = .(, , )
textLabel.Text = labelText
textLabel.TextScaled =
textLabel.Font = .Font.GothamBold
textLabel.Parent = bg
a0 = .()
a0.Parent = rootPart
a1 = .()
a1.Parent = basePart
beam = .()
beam.Attachment0 = a0
beam.Attachment1 = a1
beam.Color = ColorSequence.(color)
beam.Width0 =
beam.Width1 =
beam.FaceCamera =
beam.Transparency = NumberSequence.()
beam.Parent =
selBox, billboard, beam, a0, a1
(obj, data, displayName)
basePart = (obj)
basePart rootPart
dist = (basePart.Position - rootPart.Position).Magnitude
isClose = dist <= CLOSE_DISTANCE
data.beam data.beam.Enabled = isClose
arrowData = data.arrow
arrowData
isClose
arrowData.frame.Visible =
arrowData.frame.Visible =
arrowData.label.Text = displayName .. .. .(dist) ..
screenPos, onScreen = camera:(basePart.Position)
vp = camera.ViewportSize
margin =
onScreen screenPos.Z >
sx = .(screenPos.X, margin, vp.X - margin)
sy = .(screenPos.Y, margin, vp.Y - margin)
arrowData.frame.Position = .(, sx - , , sy - )
arrowData.arrow.Text =
cx, cy = vp.X / , vp.Y /
dx, dy = screenPos.X - cx, screenPos.Y - cy
screenPos.Z < dx, dy = -dx, -dy
angle = .(dy, dx)
cos, sin = .(angle), .(angle)
scaleX = (vp.X / - margin) / .(cos)
scaleY = (vp.Y / - margin) / .(sin)
scale = .(scaleX, scaleY)
ex = .(cx + cos * scale, margin, vp.X - margin - )
ey = .(cy + sin * scale, margin, vp.Y - margin - )
arrowData.frame.Position = .(, ex, , ey)
deg = .(angle)
deg > - deg <= arrowData.arrow.Text =
deg > deg <= arrowData.arrow.Text =
deg > deg <= - arrowData.arrow.Text =
arrowData.arrow.Text =
(data)
(() data.selBox:() )
(() data.billboard:() )
(() data.beam:() )
(() data.a0:() )
(() data.a1:() )
data.arrow (() data.arrow.frame:() )
()
_, data (activeItems) (data)
activeItems = {}
()
_, data (activeNPCs) (data)
activeNPCs = {}
(obj, color, isDragonBall)
activeItems[obj]
label = isDragonBall obj.Name
selBox, billboard, beam, a0, a1 = (obj, color, label)
arrowData = (color)
activeItems[obj] = {
color = color, isDragonBall = isDragonBall,
selBox = selBox, billboard = billboard,
beam = beam, a0 = a0, a1 = a1,
arrow = arrowData, label = label,
}
(obj, color)
activeNPCs[obj]
label = .. obj.Name
selBox, billboard, beam, a0, a1 = (obj, color, label)
arrowData = (color)
activeNPCs[obj] = {
color = color,
selBox = selBox, billboard = billboard,
beam = beam, a0 = a0, a1 = a1,
arrow = arrowData, label = label,
}
(obj)
(obj)
activeItems[obj]
color, isDragonBall = (obj.Name)
isDragonBall dragonBallFinderEnabled
color
(obj, color, isDragonBall)
conn = obj.AncestryChanged:((_, parent)
parent
activeItems[obj] (activeItems[obj]); activeItems[obj] =
itemConnections[obj] itemConnections[obj]:(); itemConnections[obj] =
)
itemConnections[obj] = conn
(obj)
obj:()
activeNPCs[obj]
color = (obj.Name)
color
humanoid = obj:()
humanoid
(obj, color)
conn = obj.AncestryChanged:((_, parent)
parent
activeNPCs[obj] (activeNPCs[obj]); activeNPCs[obj] =
npcConnections[obj] npcConnections[obj]:(); npcConnections[obj] =
)
npcConnections[obj] = conn
()
_, obj (:()) (obj)
itemWorkspaceConn = .DescendantAdded:((obj)
locatingEnabled (obj)
)
()
itemWorkspaceConn itemWorkspaceConn:(); itemWorkspaceConn =
_, conn (itemConnections) conn:()
itemConnections = {}
()
()
_, obj (:()) (obj)
npcWorkspaceConn = .DescendantAdded:((obj)
npcFinderEnabled
.(, () (obj) )
)
()
npcWorkspaceConn npcWorkspaceConn:(); npcWorkspaceConn =
_, conn (npcConnections) conn:()
npcConnections = {}
()
()
updateConnection
updateConnection = RunService.Heartbeat:(()
UserInputService.MouseIconEnabled =
character = player.Character
character
rootPart = character:()
rootPart
locatingEnabled
obj, data (activeItems)
obj obj.Parent
(obj, data, data.label)
(data); activeItems[obj] =
npcFinderEnabled
obj, data (activeNPCs)
obj obj.Parent
(obj, data, data.label)
(data); activeNPCs[obj] =
)
()
updateConnection updateConnection:(); updateConnection =
ItemTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (value)
locatingEnabled = value
value
character = player.Character player.CharacterAdded:()
rootPart = character:()
()
()
()
npcFinderEnabled ()
,
})
ItemTab:()
ItemTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (value)
dragonBallFinderEnabled = value
locatingEnabled value
_, obj (:()) (obj)
,
})
ItemTab:()
ItemTab:()
ItemTab:()
NPCTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (value)
npcFinderEnabled = value
value
character = player.Character player.CharacterAdded:()
rootPart = character:()
()
()
()
locatingEnabled ()
,
})
NPCTab:()
NPCTab:()
NPCTab:()
NPCTab:()
NPCTab:()Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: sirius.menu.
Highlights and locate dragon balls and items that you need to find for you paths