A high-performance, metamethod-based Silent Aim script for Roblox. This project utilizes LinoriaLib for a modern interface and HookMetamethod for engine-level redirection, ensuring compatibility with both modern Raycast and legacy FindPartOnRay systems.
- Dual Hooking: Support for
__namecall(Engine Raycasts) and__index(Mouse Property redirection). - Performance Caching: Throttled targeting logic (45Hz) to prevent CPU spikes and frame drops.
- Anti-Crash Logic: Non-destructive hooking that allows character movement and reloading scripts to function normally.
- Customizable FOV: Real-time adjustable Drawing API circle with visibility toggles.
- Sanity Checks: Built-in Team Check, Visibility (Wall) Check, and Tool-Equipped verification.
Execution: Run the provided LocalScript in your preferred environment.
Menu Toggle: Press RightShift (default) to show or hide the GUI.
Configuration:
| Setting | Options / Notes |
|---|---|
| Method | Raycast β For modern games (ACS, CE, etc.)FindPartOnRay β Legacy games (e.g., Prison Life)Mouse.Hit β For basic "click-to-hit" tools |
| FOV Size | Scale the detection radius to your preference |
The script follows a filtered decision tree to ensure target accuracy without wasting system resources:
- Throttled Search: Instead of checking every frame, the script searches for the closest player at a set interval.
- Validation: Checks if the target is alive, on the opposite team, and (optionally) visible.
- Metamethod Hijack: Intercepts the game's intent to fire a bullet and replaces the coordinates with the validated target's position.
| Feature | Type | Description |
|---|---|---|
| SA_Enabled | Toggle | Master switch for all redirection logic |
| Method | Dropdown | Switches engine hooks between Raycast, FindPartOnRay, and Mouse.Hit |
| Visible Check | Toggle | Uses GetPartsObscuringTarget to prevent shooting through walls |
| Team Check | Toggle | Compares Player.Team to prevent friendly fire |
| FOV Radius | Slider | Sets the pixel-distance limit for the auto-aim |
-
The game is laggy
Solution: Disable Visible Check. Wall-checking requires extra raycasts for every potential target, which is demanding in complex maps. -
I can't move after respawning
Solution: The script includes aself == workspacecheck to prevent hijacking the character's internal "floor detection" raycasts. Make sure you're using the latest version. -
The gun doesn't shoot
Solution: Switch the Method dropdown. Older games often rely onFindPartOnRayinstead of modern Raycast.
- v1.0.0: Initial release.
- v1.0.1: Added
checkcaller()to prevent infinite hooking loops. - v1.0.2: Implemented Target Caching to fix FPS drops.
- v1.0.3: Added Tool-Check to
__indexto allow UI interaction while unequipped.