Run it
Copy the script and paste it into your executor.
Players, RunSvc, StarterPack, Lighting, TweenSvc = :(), :(), :(), :(), :()
TOOL_NAME =
TOOL_ICON =
TOOL_TIP =
COLOR_STOPS = {{D=,C=.(,,)}, {D=,C=.(,,)}, {D=,C=.(,,)}, {D=,C=.(,,)}, {D=,C=.(,,)}, {D=,C=.(,,)}}
.(COLOR_STOPS, (a,b) a.D < b.D )
HL_FILL_TRANS =
HL_OUTLINE_TRANS =
UPDATE_FREQ =
USE_BLUR =
BLUR_AMT =
CC_TINT = .(,,)
CC_SAT = -
CC_BRIGHT = -
FX_TIME =
SCANLINE_COUNT =
SCANLINE_THICK =
SCANLINE_CLR = .(,,)
SCANLINE_TRANS =
VIGNETTE_SCALE =
VIGNETTE_CLR = .(,,)
VIGNETTE_TRANS =
plr = Players.LocalPlayer
playerGui = plr:()
tool, isEquipped, highlights, lastUpdate, hbConn, ccFx, blurFx, crtGui, fxTweens = , , {}, , , , , , {}
(dist)
i=, #COLOR_STOPS- s1,s2=COLOR_STOPS[i],COLOR_STOPS[i+]; dist>=s1.D dist<s2.D s1.C:(s2.C,(dist-s1.D)/(s2.D-s1.D))
dist>=COLOR_STOPS[#COLOR_STOPS].D COLOR_STOPS[#COLOR_STOPS].C ; COLOR_STOPS[].C
() _,t (fxTweens) t t:() ; fxTweens={}
()
(); tInfo=TweenInfo.(FX_TIME,.EasingStyle.Quad,.EasingDirection.Out)
ccFx ccFx.Parent ccFx=.(); ccFx.Name=; ccFx.Enabled=; ccFx.Parent=Lighting
fxTweens.CC=TweenSvc:(ccFx,tInfo,{Brightness=CC_BRIGHT, Saturation=CC_SAT, TintColor=CC_TINT, Enabled=}); fxTweens.CC:()
USE_BLUR
blurFx blurFx.Parent blurFx=.(); blurFx.Name=; blurFx.Enabled=; blurFx.Size=; blurFx.Parent=Lighting
fxTweens.Blur=TweenSvc:(blurFx,tInfo,{Size=BLUR_AMT,Enabled=}); fxTweens.Blur:()
()
(); tInfo=TweenInfo.(FX_TIME,.EasingStyle.Quad,.EasingDirection.In)
ccFx ccFx.Parent goal={Brightness=,Saturation=,TintColor=.(,,),Enabled=}; fxTweens.CC=TweenSvc:(ccFx,tInfo,goal); fxTweens.CC.Completed:(() ccFx ccFx:(); ccFx= ); fxTweens.CC:()
blurFx blurFx.Parent goal={Size=,Enabled=}; fxTweens.Blur=TweenSvc:(blurFx,tInfo,goal); fxTweens.Blur.Completed:(() blurFx blurFx:(); blurFx= ); fxTweens.Blur:()
()
crtGui crtGui.Parent
crtGui=.(); crtGui.Name=; crtGui.ZIndexBehavior=.ZIndexBehavior.Sibling; crtGui.DisplayOrder=; crtGui.IgnoreGuiInset=; crtGui.Enabled=
vignCont=.(); vignCont.Name=; vignCont.BackgroundTransparency=; vignCont.Size=.(,,,); vignCont.ZIndex=; vignCont.Parent=crtGui
(n, sz, pos)
f=.(); f.Name=n; f.BackgroundColor3=VIGNETTE_CLR; f.BorderSizePixel=; f.Size=sz; f.Position=pos; f.BackgroundTransparency=VIGNETTE_TRANS; f.Parent=vignCont
f
(, .(VIGNETTE_SCALE, , , ), .(, , , ))
(, .(VIGNETTE_SCALE, , , ), .( - VIGNETTE_SCALE, , , ))
(, .( - * VIGNETTE_SCALE, , VIGNETTE_SCALE, ), .(VIGNETTE_SCALE, , , ))
(, .( - * VIGNETTE_SCALE, , VIGNETTE_SCALE, ), .(VIGNETTE_SCALE, , - VIGNETTE_SCALE, ))
scanCont=.(); scanCont.Name=; scanCont.BackgroundTransparency=; scanCont.Size=.(,,,); scanCont.ZIndex=; scanCont.Parent=crtGui
lineSpacing=/SCANLINE_COUNT; i=,SCANLINE_COUNT- l=.(); l.Name=..i; l.BackgroundColor3=SCANLINE_CLR; l.BackgroundTransparency=SCANLINE_TRANS; l.BorderSizePixel=; l.Size=.(,,,SCANLINE_THICK); l.Position=.(,,i*lineSpacing,); l.Parent=scanCont
crtGui.Parent=playerGui
(enable) crtGui crtGui.Enabled=enable
(p, dist)
char=p.Character; char
hl=highlights[p]; ok, err = (()
hl hl=.(); hl.Name=; hl.DepthMode=; hl.FillTransparency=HL_FILL_TRANS; hl.OutlineTransparency=HL_OUTLINE_TRANS; hl.Adornee=char; hl.Enabled=; hl.Parent=playerGui; highlights[p]=hl
hl.Adornee~=char hl.Adornee=char ; hl.Enabled=
targetC=(dist); hl.FillColor=targetC; hl.OutlineColor=targetC:(.(),)
)
ok (,p.Name,err); highlights[p] highlights[p]:(); highlights[p]=
(p) hl=highlights[p]; hl hl:(); highlights[p]=
(dt)
isEquipped ; now=(); now-lastUpdate<UPDATE_FREQ ; lastUpdate=now
lChar=plr.Character; lRoot=lChar lChar:(); lRoot
currentP={}; _,p (Players:()) p==plr
char=p.Character; root=char char:(); hum=char char:()
root hum hum.Health> dist=(lRoot.Position-root.Position).Magnitude; (p,dist); currentP[p]= (p)
; p,_ (highlights) currentP[p] (p)
() isEquipped=; lastUpdate=; (); (); hbConn hbConn=RunSvc.Heartbeat:(OnHeartbeat) ; ()
() isEquipped=; (); (); hbConn hbConn:(); hbConn= ; p,hl (highlights) hl hl:() ; highlights={}
(p) (p)
()
existingCRT=playerGui:(); existingCRT existingCRT:()
plr.Backpack:(TOOL_NAME) (plr.Character plr.Character:(TOOL_NAME))
tool=.(); tool.Name=TOOL_NAME; tool.ToolTip=TOOL_TIP; tool.TextureId=TOOL_ICON; tool.RequiresHandle=
h=.(); h.Name=; h.Size=.(,,); h.Transparency=; h.CanCollide=; h.Locked=; h.Anchored=; h.Parent=tool
tool.Equipped:(OnEquipped); tool.Unequipped:(OnUnequipped); tool.Parent=plr:(); ()
Players.PlayerRemoving:(OnPlayerRemoving)
plr.Character plr.CharacterAdded:() ; .(); ()
.Destroying:(() isEquipped=; (); hbConn hbConn:() ; ccFx ccFx:() ; blurFx blurFx:() ; _,hl (highlights) (hl.Destroy,hl) ; highlights={}; crtGui crtGui:() ; tool (tool.Destroy,tool) )Cool

Universal