Human-like aim assist, developed and maintained between 2016 and 2020 for a small circle of friends. Using it today would probably damage one's trust factor, if it were still private. It's config only, no menu.
Here is a showcase video of the aim assist with various weapons.
Uses nlohmann's JSON library and offset files generated with frk1's hazedumper. Structs, class IDs, etc. were mostly found on the UC Wiki.
The program requires config.cfg and offsets.json to be located in the directory %userprofile%/Documents/Anda/. The offsets need continuous updating.
The config allows general, weapon and weapon-class specific settings. To apply a setting to one weapon (or group), insert the weapon expression in front of the option. If no weapon is specified, the setting is applied globally. The more specific a setting is, the higher is its priority. Variant settings allow playing with different settings while holding a defined key. The default config mainly utilizes Mouse 5 (MB2) for features that require holding a button.
Example: Every weapon's tracking speed is set to 0.10. This value is overwritten for assault rifles (0.35). When using the AK47 and holding the ALT key, the value is overwritten with 0.60.
AimAssist::TrackingSpeed 0.10
ASSAULT_RIFLE AimAssist::TrackingSpeed 0.35
AK47 VARIANT_KEY ALT AimAssist::TrackingSpeed 0.60
Weapon expressions can be found in weapon.cpp and key expressions in parser.cpp. Alternatively keys can be assigned with hexadecimal key codes as listed here.
Example of the same expression:
SNIPER_RIFLE TriggerBot_Key ALT
SNIPER_RIFLE TriggerBot_Key 0x12
Datatype | Description | Example |
---|---|---|
INT | Integer Value | 0, 1, 2, 1337, ... |
FLOAT | Decimal Value | 0.1, 1.1, 1.337, 3.14159, ... |
BOOL | Truth Value | 0 or 1 |
HEX | Hexadecimal Keycode | 0x01, 0x02, 0x0F, ... |
STR | Character Sequence | "LMB", "ENTER", "INSERT", ... |
RGBA | Color (R, G, B, a) | "0xffff00ff" (yellow at 100% alpha), ... |
- LoadConfigKey [STR or HEX]
- Key to reload the config. Changes made to config.cfg can be applied in-game. An audio signal will confirm that the config has been loaded. Invalid settings can make the game crash as there is no error handling. Reloading the config resets temporary changes like a disabled feature.
- PanicKey [STR or HEX]
- Exits the game without any further confirmation.
- SyncBreak [INT]
- Pause between each iteration in milliseconds. Some features do not get updated permanently to enhance the performance. The optimal setting is machine specific.
- ActivateConsole [BOOL]
- The console shows if the config and offset files have been loaded.
- HideConsoleAfterStartup [BOOL]
- Hides the console five seconds after injection.
- On [BOOL]
- Enables or disables the feature it is used on.
- Key [STR or HEX]
- Determines which key is used to activate the feature. Valid arguments are either the predefined strings in parser.cpp or the hexadecimal key codes for Windows key events.
- HoldKey [BOOL]
- Boolean value defining whether pressing the key toggles the feature or if the key must be held down.
- PlaySound [BOOL]
- Plays a beep sound when the feature is activated (high pitch) or deactivated (low pitch) if set to 1.
- FieldOfViewType [INT]
- Set to degree [0] or Source Engine units [1] (dynamic FOV). Determines how the field of view is measured. A dynamic field of view gets smaller for entities far away. A player model in CS:GO is about 70 Source Engine units high: Using a dynamic FOV with 70 units for example activates the aim assist within a diameter of the target's height, regardless of its distance.
- FieldOfView [FLOAT]
- Field of view of the aim assist.
- TrackingSpeed [FLOAT]
- Value between 0.0 and 1.0 defining the converging velocity when resting. A small value provides slow tracking when not shooting. Very high values make the tracking seem unnatural, especially on moving targets. Setting this value to 0.0 disables tracking when not shooting.
- TrackingSpeedFire [FLOAT]
- Value between 0.0 and 1.0 defining the converging velocity when shooting. Values are recommended to be higher than for the resting TrackingSpeed as more aim compensation is needed while firing due to recoil.
- CurbZone [FLOAT]
- Factor to set a range in which the tracking is decelerated (hit box size reference). Determines the zone inside which the tracking speed is decreased to not lock on the target but track it smoothly. Setting this value to 1.0 will start the deceleration on the edge of the hitbox. Setting it to 2.0 will start the deceleration within a radius of two hitboxes, and so on.
- Punch [FLOAT]
- Value between 0.0 and 1.0 that determines the amount of recoil being compensated. A value of 0.0 will not compensate any recoil, a value of 1.0 will compensate the full amount of recoil if the tracking speed is high enough to follow the spraying pattern.
- DistanceReduction [FLOAT]
- Factor that reduces tracking speed for afar targets. A value of 1.0 will slow and soften the tracking for targets according to their distance to the local player. Setting the factor to zero will keep the tracking speed high to allow strong recoil compensation on long range.
- MaximumVelocity [FLOAT]
- Maximum permitted velocity of the local player until the aim assist is active. Moving faster deactivates the aim assist (completely or partly, see LinearVelocityMapping). The moving velocity with a knife is 250.0 Source Engine units per second. The feature can be disabled by setting it to 300.0 or higher.
- LinearVelocityMapping [BOOL]
- Linearly reduces the tracking speed until MaximumVelocity is reached. Allows maximum tracking strength when standing still with a linear drop-off. The feature can be disabled by setting it to 0.
- ForceHeadshot [BOOL]
- Exclusively converge to a target's head. Otherwise selects the closest bone to the crosshair.
- ForceBodyAfterShots [INT]
- Number of shots fired after which the aim assist will exclusively target the chest. This feature neglects ForceHeadshot and can be used to increase hit chance on long range after initially converging to the head.
- JumpDelay [INT]
- Reaction time to track a jumping target (milliseconds). Value that determines the aim assist's tracking delay when a target jumps.
- CrouchDelay [INT]
- Reaction time to track a crouching target (milliseconds). Value that determines the aim assist's tracking delay when a target crouches.
- MovementPrediction [INT]
- Shifts the target's coordinates to its predicted position in a definable amount of time (milliseconds). Because there is no bullet speed in CS, this feature has no practical use, unless the tracking speed is set to a low value.
- TransferPause [INT]
- Pause between switching targets after a kill while spraying (milliseconds). Allows a smooth transition to the next target.
- FirePause [INT]
- Time of deactivation after the last bullet (milliseconds). Pauses the aim assist after shooting to make the tracking look more human.
- PauseRangeExtensionFactor [FLOAT]
- Time added to FirePause: t = t_firepause + range_factor * distance / Source Engine units. Increases the pause after firing a shot at afar targets.
- SpotDelay [INT]
- Activation delay after the target is spotted for the first time (milliseconds).
- ActivationSoftening [INT]
- Softening duration after the aim assist is activated with a key event.
- KeySpraydown [STR or HEX]
- Determines a key that triggers a long burst instead of a classic triggerbot shooting pattern. This feature is intended to be used together with the aim assist when holding an angle against a close-range target with automatic weapons.
- Mode [INT]
- Set to incross [0], hitbox [1] or both combined (OR) [2]. The incross triggerbot uses a Source Engine function to check if a target is behind the player's crosshair and works reliably in most situations, but not always (for example when aiming through smoke). The hitbox triggerbot scans for the target's hitbox and can be used to shoot at targets behind objects if VisibilityCheck is turned off. The combined option uses both methods at the same time.
- PauseAfterShot [INT]
- Time before the next shot can be triggered (milliseconds).
- PauseRangeExtensionFactor [FLOAT]
- Extends the standard pause with increasing distance to the target (milliseconds per unit) to make the triggerbot shoot with lower frequency on long-range if greater than 0.0. Time added to PauseAfterShot: t = t_pause + range_factor * distance / Source Engine units.
- FakeShotDuration [INT]
- Time after a kill during which shots are still triggered (milliseconds). Determines whether the previous target has died and keeps shooting during the defined timespan.
- FireExtension [INT]
- Applies only for spraydowns: Minimum duration (milliseconds) of activation after a contact. Results in shots being fired even after leaving the target, depending on the weapon's RPM and the duration defined.
- MaximumDistance [FLOAT]
- Distance between local player and target required to trigger (Source Engine units).
- MaximumVelocity [FLOAT]
- Maximum permitted velocity of the local player until the triggerbot is active. The moving velocity with a knife is 250.0 Source Engine units per second. The feature can be disabled by setting it to 300.0 or higher.
- DisableWhileEnteringScope [BOOL]
- Turns the triggerbot off while changing to the scope.
- EnableInScopeOnly [BOOL]
- Disables the triggerbot when not scoped in.
- HeadOnly [BOOL]
- Reacts to heads only.
- FriendlyFire [BOOL]
- Enables the triggerbot for teammates.
- VisibilityCheck [BOOL]
- Checks if a target is visible.
- ToggleForAllWeapons [BOOL]
- Allows to apply toggling to all [1] or a single weapon [0].
- SpottedOnly [BOOL]
- Enables the glow only for already spotted targets.
- DistinctColors [BOOL]
- Enables different glow colors for each target. The colors can be defined using RGBA_DistinctColors.
- DistinctMixFactor [FLOAT]
- Value between 0.0 and 1.0 that is the weight of RGBA_Hostile1HP for the health dependent glow color determination.
- RGBA_Color [RGBA]
- Glow color of an object.
- RGBA_DistinctColors [RGBA]
- List of colors to use for the DistinctColors feature.
- FieldOfView [FLOAT]
- Field of view of the aimbot.
- SingleShot [BOOL]
- Fires one shot once a target has been locked on. Allows to one-tap targets by turning on FireShotIfNoTargetFound, turning off visibility checks and binding all features to one button, for example RMB.
- FireShotIfNoTargetFound [BOOL]
- Fires one shot, even if no target has been found.
- VisibilityCheck [BOOL]
- Checks if a target is visible.
- FriendlyFire [BOOL]
- Enables the aimbot for teammates.
- ReductionFactor [FLOAT]
- Value between 0.0 and 1.0, determining the strength of the compensation.
- SyncPause [INT]
- Pause between each iteration in milliseconds. The regular SyncBreak doesn't fully apply for the RCS.