Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
StarterGui = :()
NOTIFICATION_COOLDOWN =
TARGET_CHECK_INTERVAL =
DEFAULT_CONFIG = {
Active = ,
Prediction = ,
TargetPart = ,
Smoothness = ,
MaxRadius = ,
MinimumDistance = ,
DeactivationSensitivity =
}
State = {
LastNotification = ,
LastTargetCheck = ,
LockedTarget = ,
ControlPressed = ,
LastMousePosition = .(, )
}
LocalPlayer = Players.LocalPlayer
Mouse = LocalPlayer:()
Camera = .CurrentCamera
(active)
currentTime = ()
currentTime - State.LastNotification >= NOTIFICATION_COOLDOWN
StarterGui:(, {
Title = ,
Text = active ,
Duration =
})
State.LastNotification = currentTime
(player)
player player.Character
character = player.Character
humanoid = character:()
targetPart = character:(DEFAULT_CONFIG.TargetPart)
targetPart
humanoid
humanoid.Health >
(position)
viewportPosition = Camera:(position)
(.(viewportPosition.X, viewportPosition.Y) - .(Mouse.X, Mouse.Y)).Magnitude
()
State.LockedTarget (State.LockedTarget)
State.LockedTarget
shortestDistance = DEFAULT_CONFIG.MaxRadius
target =
_, player (Players:())
player ~= LocalPlayer (player)
targetPart = player.Character[DEFAULT_CONFIG.TargetPart]
distance = (targetPart.Position)
distance >= DEFAULT_CONFIG.MinimumDistance distance < shortestDistance
shortestDistance = distance
target = player
target
()
DEFAULT_CONFIG.Active State.LockedTarget
(State.LockedTarget)
DEFAULT_CONFIG.Active =
State.LockedTarget =
targetPart = State.LockedTarget.Character[DEFAULT_CONFIG.TargetPart]
prediction = targetPart.Velocity * DEFAULT_CONFIG.Prediction
targetPosition = targetPart.Position + prediction
newCFrame = .(Camera.CFrame.Position, targetPosition)
Camera.CFrame = Camera.CFrame:(newCFrame, DEFAULT_CONFIG.Smoothness)
UserInputService.InputBegan:((input)
input.KeyCode == .KeyCode.LeftControl
State.ControlPressed =
DEFAULT_CONFIG.Active = DEFAULT_CONFIG.Active
DEFAULT_CONFIG.Active
State.LockedTarget = ()
State.LockedTarget =
(DEFAULT_CONFIG.Active)
)
UserInputService.InputEnded:((input)
input.KeyCode == .KeyCode.LeftControl
State.ControlPressed =
)
RunService.RenderStepped:(()
State.LastMousePosition = .(Mouse.X, Mouse.Y)
()
)The default key to block on another player is Ctrl (Left), but this can be changed by messing with the code