https://github.com/nutria-kcu/aimbot-algorithm
https://github.com/nutria-kcu/aimbot-algorithm
algorithm linear-algebra rendering
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nutria-kcu/aimbot-algorithm
- Owner: nutria-kcu
- Created: 2025-04-16T19:21:34.000Z (8 months ago)
- Default Branch: dev
- Last Pushed: 2025-04-20T12:10:34.000Z (8 months ago)
- Last Synced: 2025-06-19T14:49:38.549Z (6 months ago)
- Topics: algorithm, linear-algebra, rendering
- Language: C++
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# External Aimbot (AssaultCube)
This project implements an **external memory-based aimbot** for AssaultCube using Windows API and memory offsets. The aimbot automatically aims at the closest visible enemy when the user is holding the left mouse button. It uses world-to-screen projection and smooth aiming based on target distance.
---
## Features
- External memory access via `ReadProcessMemory` / `WriteProcessMemory`
- Smooth aiming using linear interpolation (LERP)
- Automatically targets the closest visible enemy
- Ignores dead enemies and players behind walls
- FOV limit based on pixel distance from screen center
- Aimbot toggled with a boolean flag (`aimbotEnabled`)
---
## File Structure
| File | Description |
|------|-------------|
| `Aimbot.cpp` | Main implementation logic for the aimbot loop and memory handling |
| `AimbotHeader.h` | Header file with structure declarations and function prototypes |
| `constants.h` | Contains memory offsets specific to AssaultCube |
---
## How It Works
1. Reads local player info, view matrix, entity list, and camera angle.
2. Filters valid targets based on:
- Alive status
- Visibility via `WorldToScreen`
- FOV pixel range limit
3. Calculates aim angle using `CalcAngle` and smoothly adjusts aim using `AimAtTarget`.
4. Aimbot runs **only while left mouse button is held** and `aimbotEnabled` is `true`.
---
## How to Use
1. Launch AssaultCube.
2. Attach the program to the game's process and initialize `hProc` and `baseAddress`.
3. Call `Tick()` in your main loop.
4. Hold left mouse button to activate aiming.
---
## Configuration
- Adjust `maxFOVPixels` in `Tick()` to change how far from the crosshair enemies are allowed to be targeted.
- Tweak `priority` formula to add health or team-based weight if desired.
- Replace the auto `percent` calculation with a custom smoothness value if UI input is integrated.
---
## Disclaimer
This code is intended for **educational and research purposes only**. Do not use it in online or competitive games.
---
## Author
Dowon Lee