Run it
Copy the script and paste it into your executor.
WindUI = (:())()
Players = :()
ReplicatedStorage = :()
StarterGui = :()
RunService = :()
UserInputService = :()
lp = Players.LocalPlayer
BEAST_COLOR = .(, , )
PLAYER_COLOR = .(, , )
COMPUTER_COLOR = .(, , )
COMPUTER_DONE = .(, , )
POD_COLOR = .(, , )
DOOR_OPEN = .(, , )
DOOR_CLOSED = .(, , )
EXIT_COLOR = .(, , )
ARROW_MARGIN =
CRAWL_HEIGHT =
CRAWL_ANIM_REF_SPEED =
CRAWL_SPEED =
THIRD_PERSON_MIN_ZOOM =
THIRD_PERSON_MAX_ZOOM =
THIRD_PERSON_START_ZOOM =
LIGHT_BRIGHTNESS =
LIGHT_RANGE =
LIGHT_COLOR = .(, , )
flags = {
Players = ,
Computers = ,
Pods = ,
Doors = ,
ExitDoors = ,
BeastAlert = ,
ThirdPerson = ,
Light = ,
NoFail = ,
}
running =
currentBeast =
(name)
v = ReplicatedStorage:(name)
v v.Value
(plr, name)
folder = plr:(, )
v = folder folder:(name)
v v.Value
(title, text, duration)
(()
StarterGui:(, {
Title = title,
Text = text,
Duration = duration ,
})
)
(adornee, name)
hl = .()
hl.Name = name
hl.FillTransparency =
hl.OutlineTransparency =
hl.DepthMode = .HighlightDepthMode.AlwaysOnTop
hl.Adornee = adornee
hl.Parent = adornee
hl
(hl, color)
hl.FillColor = color
hl.OutlineColor = color
themeName =
(()
WindUI:({
Name = ,
Accent = .(),
Dialog = .(),
Outline = .(),
Text = .(),
Placeholder = .(),
Background = .(),
Button = .(),
Toggle = .(),
ToggleBar = .(),
Icon = .(),
})
)
Window = WindUI:({
Title = ,
Icon = ,
Author = ,
Folder = ,
Size = .(, ),
Theme = themeName,
})
(()
Window:({
Title = ,
Icon = ,
CornerRadius = .(, ),
StrokeThickness = ,
Color = ColorSequence.(.(), .()),
Draggable = ,
})
)
ESPTab = Window:({ Title = , Icon = })
PlayerTab = Window:({ Title = , Icon = })
BeastTab = Window:({ Title = , Icon = })
SettingsTab = Window:({ Title = , Icon = })
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.IgnoreGuiInset =
gui.DisplayOrder =
(() gui.Parent = (gethui ()) :() ) gui.Parent
gui.Parent = lp:()
espObjects = {}
(plr)
o = espObjects[plr]
o
o.hl:()
o.bb:()
espObjects[plr] =
(plr, isBeast)
plr == lp flags.Players
(plr)
char = plr.Character
head = char char:()
head
(plr)
o = espObjects[plr]
o (o.char ~= char o.hl.Parent o.bb.Parent)
(plr)
o =
o
bb = .()
bb.Name =
bb.Adornee = head
bb.AlwaysOnTop =
bb.Size = .(, )
bb.StudsOffset = .(, , )
bb.Parent = head
label = .()
label.Size = .(, )
label.BackgroundTransparency =
label.Font = .Font.GothamBold
label.TextSize =
label.Text =
label.TextColor3 = BEAST_COLOR
label.TextStrokeTransparency =
label.Parent = bb
o = {hl = (char, ), bb = bb, char = char}
espObjects[plr] = o
(o.hl, isBeast BEAST_COLOR PLAYER_COLOR)
o.bb.Enabled = isBeast
Players.PlayerRemoving:(clearESP)
objects = {}
lastMapName, lastScan = ,
(inst)
n = inst.Name
n ==
n ==
n:() ==
n == n ==
(inst)
inst.Name ==
inst:()
inst
(kind)
(kind == flags.Computers)
(kind == flags.Pods)
(kind == flags.Doors)
(kind == flags.ExitDoors)
(inst)
o = objects[inst]
o
o.hl:()
objects[inst] =
()
_, d (:())
kind = (d)
kind (kind) objects[d]
adornee = (d)
adornee
objects[d] = {kind = kind, hl = (adornee, ), adornee = adornee}
(model)
screen = model:(, )
screen ~= screen:()
screen.BrickColor == BrickColor.()
(inst)
trigger = inst:()
sign = trigger trigger:()
val = sign sign.Value
val == DOOR_OPEN
val == DOOR_CLOSED
()
inst, o (objects)
(o.kind) (inst)
flags.Computers flags.Pods flags.Doors flags.ExitDoors
mapName = ()
now = .()
mapName ~= lastMapName now - lastScan >
lastMapName, lastScan = mapName, now
()
inst, o (objects)
inst.Parent o.adornee.Parent o.hl.Parent
(inst)
o.kind ==
(o.hl, (inst) COMPUTER_DONE COMPUTER_COLOR)
o.kind ==
(o.hl, POD_COLOR)
o.kind ==
(o.hl, EXIT_COLOR)
c = (inst)
c (o.hl, c)
arrow = .()
arrow.Name =
arrow.AnchorPoint = .(, )
arrow.Size = .(, )
arrow.BackgroundTransparency =
arrow.Visible =
arrow.Parent = gui
HEAD_TIP_Y =
HEAD_HEIGHT =
HEAD_SLOPE =
SHAFT_WIDTH =
SHAFT_BOTTOM =
OUTLINE =
(y, width, height, color, z)
f = .()
f.AnchorPoint = .(, )
f.Position = .(, y)
f.Size = .(width, height)
f.BackgroundColor3 = color
f.BorderSizePixel =
f.ZIndex = z
f.Parent = arrow
f
(tipY, height, color, z)
i = , .(height) -
(tipY + i, * HEAD_SLOPE * (i + ), , color, z)
(topY, bottomY, width, color, z)
f = (topY, width, bottomY - topY, color, z)
.(, f).CornerRadius = .(, .(width / ))
sinHalf = HEAD_SLOPE / .( + HEAD_SLOPE * HEAD_SLOPE)
tipPush = OUTLINE / sinHalf
(HEAD_TIP_Y - tipPush, HEAD_HEIGHT + tipPush + OUTLINE, .(, , ), )
(HEAD_TIP_Y + HEAD_HEIGHT - , SHAFT_BOTTOM + OUTLINE, SHAFT_WIDTH + OUTLINE * , .(, , ), )
(HEAD_TIP_Y, HEAD_HEIGHT, BEAST_COLOR, )
(HEAD_TIP_Y + HEAD_HEIGHT - , SHAFT_BOTTOM, SHAFT_WIDTH, BEAST_COLOR, )
distLabel = .()
distLabel.Name =
distLabel.AnchorPoint = .(, )
distLabel.Size = .(, )
distLabel.BackgroundTransparency =
distLabel.Font = .Font.GothamBold
distLabel.TextSize =
distLabel.TextColor3 = .(, , )
distLabel.TextStrokeTransparency =
distLabel.Visible =
distLabel.Parent = gui
()
arrow.Visible =
distLabel.Visible =
arrowConn = RunService.RenderStepped:(()
flags.Players ()
cam = .CurrentCamera
theirs = currentBeast currentBeast ~= lp currentBeast.Character
currentBeast.Character:()
(cam theirs) ()
myRoot = lp.Character lp.Character:()
from = myRoot myRoot.Position cam.CFrame.Position
studs = .((theirs.Position - from).Magnitude + )
viewport = cam.ViewportSize
sp = cam:(theirs.Position)
inFront = sp.Z >
inFront sp.X > ARROW_MARGIN sp.X < viewport.X - ARROW_MARGIN
sp.Y > ARROW_MARGIN sp.Y < viewport.Y - ARROW_MARGIN
()
center = viewport /
dir = .(sp.X, sp.Y) - center
inFront dir = -dir
dir.Magnitude < dir = .(, )
dir = dir.Unit
tx = dir.X ~= (center.X - ARROW_MARGIN) / .(dir.X) .huge
ty = dir.Y ~= (center.Y - ARROW_MARGIN) / .(dir.Y) .huge
pos = center + dir * .(tx, ty)
arrow.Position = .(pos.X, pos.Y)
arrow.Rotation = .(.(dir.X, -dir.Y))
arrow.Visible =
distLabel.Text = studs ..
gap = + .(dir.X) * (distLabel.TextBounds.X / ) + .(dir.Y) *
lpos = pos - dir * gap
distLabel.Position = .(lpos.X, lpos.Y)
distLabel.Visible =
)
notifiedBeast, notifiedPower = ,
(gameActive, power)
gameActive
notifiedBeast, notifiedPower, currentBeast = , ,
currentBeast =
_, plr (Players:())
(plr, ) ==
currentBeast = plr
beast = currentBeast
beast flags.BeastAlert
notifiedBeast ~= beast.Name
notifiedBeast, notifiedPower = beast.Name, power
who = (beast == lp) ( .. beast.Name)
(who, .. (power ), )
power power ~= notifiedPower
notifiedPower = power
( .. (power), beast.Name, )
savedCam =
()
flags.ThirdPerson
(()
lp.CameraMode = .CameraMode.Classic
lp.CameraMinZoomDistance = THIRD_PERSON_MIN_ZOOM
lp.CameraMaxZoomDistance = THIRD_PERSON_MAX_ZOOM
)
()
flags.ThirdPerson
(()
lp.CameraMode = .CameraMode.Classic
lp.CameraMaxZoomDistance = THIRD_PERSON_MAX_ZOOM
lp.CameraMinZoomDistance = THIRD_PERSON_START_ZOOM
)
.(, applyThirdPerson)
(on)
flags.ThirdPerson = on
on
savedCam = savedCam {
mode = lp.CameraMode,
min = lp.CameraMinZoomDistance,
max = lp.CameraMaxZoomDistance,
}
()
savedCam
(()
lp.CameraMode = savedCam.mode
lp.CameraMinZoomDistance = savedCam.min
lp.CameraMaxZoomDistance = savedCam.max
)
savedCam =
()
root = lp.Character lp.Character:()
light = root root:()
light light:()
()
flags.Light
root = lp.Character lp.Character:()
root
light = root:()
light
light = .()
light.Name =
light.Shadows =
light.Parent = root
light.Brightness = LIGHT_BRIGHTNESS
light.Range = LIGHT_RANGE
light.Color = LIGHT_COLOR
(on)
flags.Light = on
on () ()
noFailThread =
(on)
flags.NoFail = on
on noFailThread
noFailThread = .(()
flags.NoFail running
(()
ReplicatedStorage.RemoteEvent:(, )
)
.()
noFailThread =
)
CYAN = .(, , )
PINK = .(, , )
crawling =
crawlTrack, savedHip, savedSpeed, crawlConn
noclipConn, noclipParts = , {}
crawlBtn, crawlGrad, crawlStroke, crawlStrokeGrad, crawlLabel, crawlDot, crawlScale, crawlDragConn
crawlDragged =
crawlLocked =
crawlPos = .(, -, , )
()
crawlBtn
crawling
crawlGrad.Color = ColorSequence.(.(, , ), .(, , ))
crawlStrokeGrad.Enabled =
crawlStroke.Color = .(, , )
crawlLabel.TextColor3 = .(, , )
crawlDot.BackgroundColor3 = .(, , )
crawlGrad.Color = ColorSequence.(.(, , ), .(, , ))
crawlStrokeGrad.Enabled =
crawlStroke.Color = .(, , )
crawlLabel.TextColor3 = .(, , )
crawlDot.BackgroundColor3 = .(, , )
()
_, root ({ReplicatedStorage, lp.Character, lp, :()})
_, d (root:())
d:() d.AnimationId ~=
d.Name:():(, , )
d
()
crawlConn crawlConn:() crawlConn =
noclipConn noclipConn:() noclipConn =
part (noclipParts)
part.Parent part.CanCollide =
noclipParts = {}
crawlTrack
(() crawlTrack:() )
crawlTrack =
hum = lp.Character lp.Character:()
hum savedHip hum.HipHeight = savedHip
hum savedSpeed hum.WalkSpeed = savedSpeed
savedHip, savedSpeed, crawling = , ,
()
()
hum = lp.Character lp.Character:()
hum hum.Health <=
anim = ()
anim
(, , )
animator = hum:() .(, hum)
ok, track = (() animator:(anim) )
ok track
(, , )
track.Looped =
track.Priority = .AnimationPriority.Action
track:()
crawlTrack = track
savedHip, savedSpeed = hum.HipHeight, hum.WalkSpeed
hum.WalkSpeed = CRAWL_SPEED
crawlConn = RunService.Heartbeat:(()
c = lp.Character
h = c c:()
root = c c:()
h root h.Health <=
h.WalkSpeed ~= CRAWL_SPEED h.WalkSpeed = CRAWL_SPEED
crawlTrack
v = root.AssemblyLinearVelocity
moving = .(v.X, , v.Z).Magnitude
crawlTrack:(moving > .(moving / CRAWL_ANIM_REF_SPEED, , ) )
h.FloorMaterial == .Material.Air
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Exclude
params.FilterDescendantsInstances = {c}
hit = :(root.Position, .(, -, ), params)
hit
err = CRAWL_HEIGHT - (root.Position.Y - hit.Position.Y)
.(err) >
h.HipHeight = .(h.HipHeight + err * , -, .(savedHip , ))
)
noclipParts = {}
noclipConn = RunService.Stepped:(()
c = lp.Character
c
_, d (c:())
d:() d.CanCollide
noclipParts[d] =
d.CanCollide =
)
crawling =
()
hum.Died:(stopCrawl)
()
crawlBtn
crawlBtn = .()
crawlBtn.Name =
crawlBtn.Size = .(, )
crawlBtn.Position = crawlPos
crawlBtn.BackgroundTransparency =
crawlBtn.Text =
crawlBtn.AutoButtonColor =
crawlBtn.Parent = gui
crawlScale = .(, crawlBtn)
bg = .()
bg.Size = .(, )
bg.BackgroundColor3 = .(, , )
bg.BorderSizePixel =
bg.Parent = crawlBtn
.(, bg).CornerRadius = .(, )
crawlGrad = .(, bg)
crawlGrad.Rotation =
crawlStroke = .(, bg)
crawlStroke.Thickness =
crawlStrokeGrad = .(, crawlStroke)
crawlStrokeGrad.Color = ColorSequence.(CYAN, PINK)
crawlDot = .()
crawlDot.AnchorPoint = .(, )
crawlDot.Size = .(, )
crawlDot.Position = .(, , , )
crawlDot.BorderSizePixel =
crawlDot.Parent = bg
.(, crawlDot).CornerRadius = .(, )
crawlLabel = .()
crawlLabel.Size = .(, -, , )
crawlLabel.Position = .(, )
crawlLabel.BackgroundTransparency =
crawlLabel.Font = .Font.GothamBlack
crawlLabel.TextSize =
crawlLabel.Text =
crawlLabel.TextXAlignment = .TextXAlignment.Left
crawlLabel.Parent = bg
()
crawlBtn.Activated:(()
crawlDragged
crawlDragged =
(lp, ) ~=
(, , )
crawlLocked
(, , )
crawling () ()
)
dragging, dragStart, startPos
crawlBtn.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch
crawlScale.Scale =
crawlDragged =
crawlLocked
dragging =
dragStart = input.Position
startPos = crawlBtn.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
crawlScale crawlScale.Scale =
)
)
crawlDragConn = UserInputService.InputChanged:((input)
dragging crawlLocked crawlBtn
(input.UserInputType == .UserInputType.MouseMovement
input.UserInputType == .UserInputType.Touch)
d = input.Position - dragStart
d.Magnitude > crawlDragged =
crawlDragged
crawlPos = .(startPos.X.Scale, startPos.X.Offset + d.X,
startPos.Y.Scale, startPos.Y.Offset + d.Y)
crawlBtn.Position = crawlPos
)
()
()
crawlDragConn crawlDragConn:() crawlDragConn =
crawlBtn
crawlBtn:()
crawlBtn =
crawlDragged =
lp.CharacterAdded:(()
crawlConn crawlConn:() crawlConn =
noclipConn noclipConn:() noclipConn =
noclipParts = {}
crawlTrack, savedHip, savedSpeed, crawling = , , ,
()
()
.(applyLight)
)
()
()
char = lp.Character
hum = char char:()
hum
hum.Health =
char
char:()
()
(() == , ())
()
()
()
_, plr (Players:())
(plr, plr == currentBeast)
.(()
running
ok, err = (refresh)
ok ( .. (err))
.()
)
()
.(, refresh)
(on)
flags.Players = on
on
()
plr (espObjects) (plr)
()
(flag)
(on)
flags[flag] = on
lastScan =
()
espSetters = {
{setter = setPlayersESP},
{setter = ()},
{setter = ()},
{setter = ()},
{setter = ()},
}
(title, entry)
entry.toggle = ESPTab:({
Title = title,
Value = ,
Callback = entry.setter,
})
(, espSetters[])
(, espSetters[])
(, espSetters[])
(, espSetters[])
(, espSetters[])
ESPTab:({
Title = ,
Callback = ()
inst (objects) (inst)
plr (espObjects) (plr)
lastScan =
()
,
})
PlayerTab:({
Title = ,
Value = ,
Callback = (on)
flags.BeastAlert = on
on notifiedBeast, notifiedPower = ,
,
})
PlayerTab:({
Title = ,
Value = ,
Callback = setLight,
})
PlayerTab:({
Title = ,
Value = ,
Callback = setNoFail,
})
PlayerTab:({
Title = ,
Callback = forceReset,
})
BeastTab:({
Title = ,
Callback = ()
( flags.ThirdPerson)
,
})
BeastTab:({
Title = ,
Value = ,
Callback = (on)
on
()
crawlLocked
(, , )
()
,
})
BeastTab:({
Title = ,
Value = ,
Callback = (on)
crawlLocked = on
,
})
themeValues = {}
(()
name (WindUI:())
.(themeValues, name)
)
#themeValues ==
themeValues = {, , , , , , , , , , }
.(themeValues)
SettingsTab:({
Title = ,
Values = themeValues,
Value = ,
Callback = (option)
(() WindUI:(option) )
,
})
SettingsTab:({
Title = ,
Callback = ()
running =
()
()
k (flags) flags[k] =
arrowConn:()
()
plr (espObjects) (plr)
inst (objects) (inst)
gui:()
Window:()
,
})Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: github.com.
flee the facility script esp, etc.