Run it
Copy the script and paste it into your executor.
:() .Loaded:()
Players = :()
LP = Players.LocalPlayer
.() LP.Character LP.Character:()
EMERALD_ID =
MAX_SCAN_RANGE =
SETTINGS = {
GLIDE_SPEED = ,
MINE_DISTANCE = ,
STOP_DISTANCE = ,
STUCK_TIMEOUT = ,
GLIDE_TIMEOUT_BUFFER = ,
MINE_SWITCH_COOLDOWN =
}
RunService = :()
TweenService = :()
VirtualInputManager = :()
Camera = .CurrentCamera
trackedEmeralds = {}
ignoredEmeralds = {}
totalInFrame =
closestEmerald =
currentTarget =
isTeleporting =
isGliding =
isMining =
lastMineTime = ()
lastTargetSwitchTime =
savedPosition =
isReturning =
activeGlideTween =
(char)
isTeleporting =
isGliding =
char
_, p (char:())
p:() p.CanCollide =
char
root = char:()
root
_, bv (root:())
bv:() bv:()
(targetPos, isReturningToSave)
isTeleporting isGliding
isReturning isReturningToSave
char = LP.Character
root = char char:()
root
d = (targetPos - root.Position).Magnitude
d <
isTeleporting =
isGliding =
_, p (char:()) p:() p.CanCollide =
bv = .(, root)
bv.MaxForce = .(.huge, .huge, .huge)
bv.Velocity = .(,,)
duration = d / SETTINGS.GLIDE_SPEED
duration < duration =
tCFrame = .(targetPos, root.Position + (targetPos - root.Position).Unit)
activeGlideTween
activeGlideTween:()
activeGlideTween =
t = TweenService:(root, TweenInfo.(duration, .EasingStyle.Linear), { = tCFrame})
activeGlideTween = t
t:()
.(duration + SETTINGS.GLIDE_TIMEOUT_BUFFER, ()
isGliding activeGlideTween == t
()
t:()
bv:()
(char)
activeGlideTween =
isReturningToSave
savedPosition =
isReturning =
)
t.Completed:(()
bv:()
(char)
activeGlideTween =
hrp = char char:()
hrp
hrp.CFrame = .(hrp.Position)
hum = char char:()
hum
hum:(.HumanoidStateType.GettingUp)
isReturningToSave
savedPosition =
isReturning =
)
()
isMining
isMining =
VirtualInputManager:(, , , , , )
(part)
part:() trackedEmeralds[part]
mId =
part:() mId = part.MeshId
m = part:()
m mId = m.MeshId
mId == EMERALD_ID part.Name:():()
trackedEmeralds[part] = part
part.AncestryChanged:(()
part:()
trackedEmeralds[part] =
currentTarget == part
()
currentTarget =
lastTargetSwitchTime = ()
)
.(()
_, v (:()) (v)
.DescendantAdded:(forceApplyESP)
.()
isMining () - lastMineTime > SETTINGS.STUCK_TIMEOUT
()
currentTarget ignoredEmeralds[currentTarget] =
currentTarget =
()
)
sg = .(, LP.PlayerGui)
f = .(, sg); f.Size = .(, , , ); f.Position = .(, -, , ); f.BackgroundColor3 = .(,,); f.BackgroundTransparency = ; .(, f)
t1 = .(, f); t1.Size = .(, , , ); t1.BackgroundTransparency = ; t1.Font = .Font.GothamBold; t1.TextColor3 = .(,,); t1.TextSize =
t2 = .(, f); t2.Size = .(, , , ); t2.Position = .(,,,); t2.BackgroundTransparency = ; t2.Font = .Font.Code; t2.TextSize = ; t2.TextColor3 = .(,,)
t3 = .(, f); t3.Size = .(, , , ); t3.Position = .(,,,); t3.BackgroundTransparency = ; t3.Font = .Font.Gotham; t3.TextSize = ; t3.TextColor3 = .(,,)
RunService.RenderStepped:(()
root = LP.Character LP.Character:()
root
distTable = {}
totalInFrame =
isCurrentTargetValid =
p, _ (trackedEmeralds)
p p.Parent ignoredEmeralds[p]
d = (p.Position - root.Position).Magnitude
d <= MAX_SCAN_RANGE
totalInFrame = totalInFrame +
.(distTable, {p = p, d = d})
p == currentTarget
isCurrentTargetValid =
isCurrentTargetValid
closestEmerald = currentTarget
.(distTable, (a, b) a.d < b.d )
newTarget = distTable[] distTable[].p
newTarget ~= currentTarget
currentTarget = newTarget
lastTargetSwitchTime = ()
()
closestEmerald = currentTarget
totalInFrame > closestEmerald
savedPosition isReturning isGliding isTeleporting
savedPosition = root.Position
t1.Text = .. totalInFrame
d = (closestEmerald.Position - root.Position).Magnitude
d < SETTINGS.MINE_DISTANCE
() - lastTargetSwitchTime < SETTINGS.MINE_SWITCH_COOLDOWN
t2.Text =
screenPos, onScreen = Camera:(closestEmerald.Position)
root.CFrame = .(root.Position, .(closestEmerald.Position.X, root.Position.Y, closestEmerald.Position.Z))
Camera.CFrame = .(Camera.CFrame.Position, closestEmerald.Position)
isMining
isMining =
lastMineTime = ()
VirtualInputManager:(screenPos.X, screenPos.Y, )
VirtualInputManager:(screenPos.X, screenPos.Y, , , , )
t2.Text =
()
t2.Text =
isTeleporting isGliding isReturning
direction = (root.Position - closestEmerald.Position).Unit
destPos = closestEmerald.Position + (direction * SETTINGS.STOP_DISTANCE)
(destPos, )
()
savedPosition
isReturning =
t1.Text =
t2.Text =
isTeleporting
returnPos = savedPosition + .(, , )
(returnPos, )
t1.Text =
t2.Text =
)
just for testing

Universal