Run it
Copy the script and paste it into your executor.
Players = :()
RS = :()
TS = :()
lp = Players.LocalPlayer
genv = ( ())
genv.SpyOff (genv.SpyOff)
BOT_SPEED =
BOT_COLOR = .(, , )
FOV_SPY =
(class, props, parent)
o = .(class)
k, v (props) o[k] = v
o.Parent = parent
o
fxFolder = (, {Name = }, )
fov0 = .CurrentCamera.FieldOfView
state =
target =
tool =
bot =
conns = {}
saved =
hiddenOrig = {}
hiddenChar =
gui = (, {Name = , ResetOnSpawn = , DisplayOrder = }, )
(() gui.Parent = lp:(, ) )
gui.Parent (() gui.Parent = () )
gui.Parent (() gui.Parent = :() )
toastLbl = (, {
AnchorPoint = .(, ), Position = .(, , , ), Size = .(, , , ),
BackgroundColor3 = .(, , ), BackgroundTransparency = , TextColor3 = .(, , ),
Font = .Font.GothamBold, TextSize = , TextWrapped = , Visible = , BorderSizePixel = , Text = ,
}, gui)
(txt, dur)
toastLbl.Text = txt
toastLbl.Visible =
.(dur , ()
toastLbl.Text == txt toastLbl.Visible =
)
panel = (, {
Position = .(, , , -), Size = .(, , , ),
BackgroundColor3 = .(, , ), BorderSizePixel = , Visible = , Active = ,
}, gui)
(, {CornerRadius = .(, )}, panel)
(, {Color = BOT_COLOR, Thickness = }, panel)
(, {
Size = .(, , , ), BackgroundTransparency = , Text = ,
TextColor3 = BOT_COLOR, Font = .Font.GothamBold, TextSize = ,
}, panel)
list = (, {
Position = .(, , , ), Size = .(, -, , -), BackgroundTransparency = ,
ScrollBarThickness = , BorderSizePixel = , CanvasSize = .(, , , ),
AutomaticCanvasSize = .AutomaticSize.Y,
}, panel)
(, {Padding = .(, )}, list)
closeP = (, {
Position = .(, , , -), Size = .(, -, , ), Text = ,
BackgroundColor3 = .(, , ), TextColor3 = .(, , ),
Font = .Font.GothamBold, TextSize = , BorderSizePixel = ,
}, panel)
hud = (, {Size = .(, , , ), BackgroundTransparency = , Visible = }, gui)
(, {Color = BOT_COLOR, Thickness = , Transparency = }, hud)
rec = (, {
Position = .(, , , ), Size = .(, , , ), BackgroundTransparency = ,
TextXAlignment = .TextXAlignment.Left, TextColor3 = .(, , ),
Font = .Font.GothamBold, TextSize = , Text = ,
}, hud)
(text, x, color)
(, {
AnchorPoint = .(, ), Position = .(, x, , ), Size = .(, , , ),
Text = text, BackgroundColor3 = color, TextColor3 = .(, , ),
Font = .Font.GothamBold, TextSize = , BorderSizePixel = ,
}, hud)
swBtn = (, -, .(, , ))
exitBtn = (, -, .(, , ))
flash = (, {Size = .(, , , ), BackgroundColor3 = .(, , ), BackgroundTransparency = , BorderSizePixel = , ZIndex = }, hud)
()
m = .()
parts = {}
(size, shape, color, neon, pos, rot, spin)
p = .()
shape p.Shape = shape
p.Size = size
p.Color = color
p.Material = neon .Material.Neon .Material.Metal
p.Anchored =
p.CanCollide =
p.CanQuery =
p.CanTouch =
p.CastShadow =
p.Parent = m
.(parts, {part = p, size = size, pos = pos, rot = rot, spin = spin})
p
CYL, BALL = .PartType.Cylinder, .PartType.Ball
AX = .(, .(), )
AY = .(, , .())
body = (.(, , ), BALL, .(, , ), , .(, , ), .(), )
(.(, , ), CYL, .(, , ), , .(, , -), AX, )
(.(, , ), CYL, BOT_COLOR, , .(, , -), AX, )
halo = (.(, , ), CYL, BOT_COLOR, , .(, , ), AY, )
halo.Transparency =
(.(, , ), , .(, , ), , .(, , ), .(), )
(.(, , ), BALL, BOT_COLOR, , .(, , ), .(), )
m.PrimaryPart = body
m.Parent = fxFolder
a0 = (, {Position = .(, , )}, body)
a1 = (, {Position = .(, -, )}, body)
(, {
Attachment0 = a0, Attachment1 = a1, Lifetime = , LightEmission = ,
Color = ColorSequence.(BOT_COLOR),
Transparency = NumberSequence.({NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, )}),
}, body)
(, {Color = BOT_COLOR, Range = , Brightness = }, body)
{model = m, parts = parts}
(b, cf, scale, t)
_, e (b.parts)
rot = e.rot
e.spin rot = .(, t * , ) * e.rot
e.part.Size = e.size * scale
e.part.CFrame = cf * .(e.pos * scale) * rot
(b, startPos, getDest, onDone)
pos = startPos
t0 = .()
con
con = RS.Heartbeat:((dt)
dest = ()
dest
con:()
()
d = dest - pos
dist = d.Magnitude
dist <
con:()
()
dir = d.Unit
pos = pos + dir * .(BOT_SPEED * dt, dist)
tt = .() - t0
wob = .(, .(tt * ) * , )
(b, .(pos + wob, pos + wob + dir), , tt)
)
.(conns, con)
con
(b, pos, onDone)
t0 = .()
con
con = RS.Heartbeat:(()
k = (.() - t0) /
k >=
con:()
()
(b, .(pos), .( - k, ), .())
)
.(conns, con)
(pos)
p = (, {Anchored = , CanCollide = , CanQuery = , Transparency = , Size = .(, , ), Position = pos}, fxFolder)
e = (, {
Color = ColorSequence.(BOT_COLOR), LightEmission = , Rate = ,
Lifetime = NumberRange.(, ), Speed = NumberRange.(, ),
SpreadAngle = .(, ),
Size = NumberSequence.({NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, )}),
}, p)
e:()
.(, () p:() )
(ch, on)
ch
_, d (ch:())
d:() d.Parent d.Parent.Name ==
on
hiddenOrig[d] = d.Transparency
d.Transparency =
hiddenOrig[d] ~=
d.Transparency = hiddenOrig[d]
hiddenOrig[d] =
d:() (d.Name == (d.Parent d.Parent:()))
d.LocalTransparencyModifier = on
(on)
hum = lp.Character lp.Character:()
hum
saved =
on
saved = saved {ws = hum.WalkSpeed, jp = hum.JumpPower, jh = hum.JumpHeight}
hum.WalkSpeed =
hum.JumpPower =
hum.JumpHeight =
saved
hum.WalkSpeed = saved.ws
hum.JumpPower = saved.jp
hum.JumpHeight = saved.jh
saved =
()
(() RS:() )
(hiddenChar, )
hiddenChar =
cam = .CurrentCamera
cam.CameraType = .CameraType.Custom
hum = lp.Character lp.Character:()
hum cam.CameraSubject = hum
cam.FieldOfView = fov0
()
hud.Visible =
()
state =
cam = .CurrentCamera
cam.CameraType = .CameraType.Scriptable
cam.FieldOfView = FOV_SPY
()
panel.Visible =
hud.Visible =
rec.Text = .. target.DisplayName
flash.BackgroundTransparency =
TS:(flash, TweenInfo.(), {BackgroundTransparency = }):()
(() RS:() )
RS:(, .RenderPriority.Camera.Value + , ()
ch = target target.Character
ch ~= hiddenChar
(hiddenChar, )
hiddenChar = ch
(ch, )
head = ch ch:()
head cam.CFrame = head.CFrame * .(, , -)
)
(msg)
state ~=
head = target target.Character target.Character:()
from = head head.Position
()
target =
msg (msg, )
from
state =
state =
b = ()
bot = b
(b, from, ()
h = lp.Character lp.Character:()
h h.Position
, ()
b.model:()
bot =
state =
)
(p)
state == state == state ==
(, )
ch = p.Character
(ch ch:())
(p.DisplayName .. , )
startPos =
state ==
oh = target target.Character target.Character:()
startPos = oh oh.Position
()
startPos
lh = lp.Character lp.Character:()
lh
(, )
startPos = lh.Position + .(, , )
target = p
state =
panel.Visible =
( .. p.DisplayName, )
b = ()
bot = b
(b, startPos, ()
h = target target.Character target.Character:()
h h.Position
, (ok)
ok
b.model:()
bot =
state =
target =
(, )
state =
h = target.Character target.Character:()
hp = h h.Position startPos
(hp)
(b, hp, ()
b.model:()
bot =
target target.Character target.Character:()
()
state =
target =
(, )
)
)
()
_, c (list:())
c:() c:()
_, p (Players:())
p ~= lp
b = (, {
Size = .(, -, , ), Text = p.DisplayName .. .. p.Name .. ,
BackgroundColor3 = .(, , ), TextColor3 = .(, , ),
Font = .Font.Gotham, TextSize = , BorderSizePixel = , TextTruncate = .TextTruncate.AtEnd,
}, list)
b.MouseButton1Click:(() (p) )
(v)
panel.Visible = v
v ()
closeP.MouseButton1Click:(() () )
swBtn.MouseButton1Click:(() () )
exitBtn.MouseButton1Click:(() () )
.(conns, Players.PlayerAdded:(()
panel.Visible ()
))
.(conns, Players.PlayerRemoving:((p)
p == target state == ()
.(()
panel.Visible ()
)
))
()
t = (, {Name = , CanBeDropped = , RequiresHandle = , ToolTip = }, )
h = (, {Name = , Size = .(, , ), Color = .(, , ), Material = .Material.SmoothPlastic, CanCollide = }, t)
s = (, {Name = , Size = .(, , ), Color = BOT_COLOR, Material = .Material.Neon, CanCollide = , Massless = }, t)
s.CFrame = h.CFrame * .(, , )
(, {Part0 = h, Part1 = s}, h)
t.Equipped:(() () )
t.Unequipped:(() () )
t.Activated:(() ( panel.Visible) )
t
()
tool tool.Parent
bp = lp:() lp:(, )
bp
tool = ()
tool.Parent = bp
()
.(conns, lp.CharacterAdded:(()
state ==
()
target =
state =
.()
()
))
genv.SpyOff = ()
_, c (conns) (() c:() )
(stopSpyView)
(() tool tool:() )
(() fxFolder:() )
(() gui:() )
(, )Sorry for the script being in Spanish, here are the details: you can spy on any player by sending a nanobot to find out their location. It works for hide-and-seek modes; any game will do.