the initial commit to the repo.

This commit is contained in:
NukedBart 2025-10-25 01:27:14 +08:00
parent 025c032b8c
commit 1b757591b9
264 changed files with 21882 additions and 0 deletions

View file

@ -0,0 +1,343 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using EFT;
using EFT.Ballistics;
using EFT.InventoryLogic;
using EFT.UI;
using stupid.solutions.Data;
using stupid.solutions.stupid.solutions.Data;
using stupid.solutions.Utils;
using UnityEngine;
namespace stupid.solutions.Features;
internal class Aimbot : MonoBehaviour
{
public static bool NotHooked = true;
private bool isBulletMovementHooked;
public static TestHook CreateShotHook;
public static TestHook BulletMovementHook;
public static GamePlayer Target;
public static OnlineGamePlayer OTarget;
public static List<GameUtils.Tracer> TracerList = new List<GameUtils.Tracer>();
public static List<GameUtils.HitMarker> HitList = new List<GameUtils.HitMarker>();
public static int zombiebone = 31;
public void Update()
{
switch (Settings.Aimbone)
{
case 133:
zombiebone = 31;
break;
case 132:
zombiebone = 30;
break;
case 36:
zombiebone = 15;
break;
case 35:
zombiebone = 14;
break;
}
if (!(Main.GameWorld != null) || !(Main.ActiveCamera != null))
{
return;
}
if (Settings.Aimbot)
{
Aim();
}
if (Settings.SilentAim)
{
if (Main.OnlineGamePlayers.Count > 0)
{
GetTargetO();
}
else
{
GetTarget();
}
}
if (Input.GetKeyDown(KeyCode.Mouse2) && Settings.artillery && !Settings.allinputdisabled)
{
_ = Vector3.zero;
Exploits.TestShelling(GameUtils.GetBonePosByID(Target.Player, Settings.Aimbone));
}
if (Input.GetKeyDown(KeyCode.Escape) && !Settings.allinputdisabled)
{
Main.GameWorld.ServerShellingController.StopShelling();
}
if (Settings.MagicBullet && Main.OnlineGamePlayers.Count < 1 && !isBulletMovementHooked)
{
MethodInfo method = Find("\uf16a").GetMethod("\ue014", BindingFlags.Instance | BindingFlags.NonPublic);
BulletMovementHook = new TestHook();
BulletMovementHook.Init(method, typeof(BulletMovement).GetMethod("MagicBullet_Hook"));
BulletMovementHook.Hook();
isBulletMovementHooked = true;
}
try
{
if (Main.GameWorld != null && Main.LocalPlayer.HandsController.Item is Weapon)
{
if (Settings.SilentAim && NotHooked)
{
CreateShotHook = new TestHook();
CreateShotHook.Init(typeof(BallisticsCalculator).GetMethod("CreateShot"), typeof(HookObject).GetMethod("SilentAimHook"));
CreateShotHook.Hook();
NotHooked = false;
ConsoleScreen.Log("Silent Aim Hooked");
}
if (Main.OnlineGamePlayers.Count > 0)
{
OTarget = GetTargetO();
}
else
{
Target = GetTarget();
}
}
}
catch (Exception)
{
}
}
public static bool VisCheck(GameObject obj, Vector3 Pos, Vector3 Position, out RaycastHit raycastHit)
{
if (Physics.Linecast(Pos, Position, out raycastHit, -2142957568) && (bool)raycastHit.collider)
{
return raycastHit.collider.gameObject.transform.root.gameObject == obj.transform.root.gameObject;
}
return false;
}
private GamePlayer GetTarget()
{
Dictionary<GamePlayer, int> dictionary = new Dictionary<GamePlayer, int>();
foreach (GamePlayer gamePlayer in Main.GamePlayers)
{
if (gamePlayer != null && !gamePlayer.Player.IsYourPlayer && gamePlayer.Player.HealthController.IsAlive)
{
Vector3 zero = Vector3.zero;
WildSpawnType role = gamePlayer.Player.Profile.Info.Settings.Role;
zero = ((role == WildSpawnType.infectedAssault || role == WildSpawnType.infectedCivil || role == WildSpawnType.infectedLaborant || role == WildSpawnType.infectedPmc) ? GameUtils.GetBonePosByID(gamePlayer.Player, zombiebone) : GameUtils.GetBonePosByID(gamePlayer.Player, Settings.Aimbone));
Vector3.Distance(Main.MainCamera.transform.position, gamePlayer.Player.Transform.position);
Vector3 rhs = gamePlayer.Player.Transform.position - Main.MainCamera.transform.position;
if (gamePlayer.Distance <= Settings.DrawPlayersDistance && CaulculateInFov(zero) <= Settings.AimbotFOV && Vector3.Dot(Main.MainCamera.transform.TransformDirection(Vector3.forward), rhs) > 0f && (!Settings.CheckVisible || VisCheck(gamePlayer.Player.gameObject, Main.LocalPlayer.Fireport.position, zero, out var _)))
{
dictionary.Add(gamePlayer, (int)gamePlayer.DistanceFromCenter);
}
}
}
if (dictionary.Count > 0)
{
dictionary = dictionary.OrderBy(delegate(KeyValuePair<GamePlayer, int> pair)
{
KeyValuePair<GamePlayer, int> keyValuePair = pair;
return keyValuePair.Value;
}).ToDictionary((KeyValuePair<GamePlayer, int> pair) => pair.Key, (KeyValuePair<GamePlayer, int> pair) => pair.Value);
return dictionary.Keys.First();
}
return null;
}
private OnlineGamePlayer GetTargetO()
{
Dictionary<OnlineGamePlayer, int> dictionary = new Dictionary<OnlineGamePlayer, int>();
foreach (OnlineGamePlayer onlineGamePlayer in Main.OnlineGamePlayers)
{
if (onlineGamePlayer != null && !onlineGamePlayer.Player.IsYourPlayer && onlineGamePlayer.Player.HealthController.IsAlive && onlineGamePlayer.role != OnlineGamePlayer.PlayerType.Teammate)
{
Vector3 zero = Vector3.zero;
WildSpawnType wildSpawnType = WildSpawnType.pmcUSEC;
zero = ((wildSpawnType == WildSpawnType.infectedAssault || wildSpawnType == WildSpawnType.infectedCivil || wildSpawnType == WildSpawnType.infectedLaborant || wildSpawnType == WildSpawnType.infectedPmc) ? GameUtils.GetBonePosByIDO(onlineGamePlayer.Player, zombiebone) : GameUtils.GetBonePosByIDO(onlineGamePlayer.Player, Settings.Aimbone));
Vector3.Distance(Main.MainCamera.transform.position, onlineGamePlayer.Player.Transform.position);
Vector3 rhs = onlineGamePlayer.Player.Transform.position - Main.MainCamera.transform.position;
if (onlineGamePlayer.Distance <= Settings.DrawPlayersDistance && CaulculateInFov(zero) <= Settings.AimbotFOV && Vector3.Dot(Main.MainCamera.transform.TransformDirection(Vector3.forward), rhs) > 0f && (!Settings.CheckVisible || VisCheck(onlineGamePlayer.Player.gameObject, Main.LocalPlayer.Fireport.position, zero, out var _)))
{
dictionary.Add(onlineGamePlayer, (int)onlineGamePlayer.DistanceFromCenter);
}
}
}
if (dictionary.Count > 0)
{
dictionary = dictionary.OrderBy(delegate(KeyValuePair<OnlineGamePlayer, int> pair)
{
KeyValuePair<OnlineGamePlayer, int> keyValuePair = pair;
return keyValuePair.Value;
}).ToDictionary((KeyValuePair<OnlineGamePlayer, int> pair) => pair.Key, (KeyValuePair<OnlineGamePlayer, int> pair) => pair.Value);
return dictionary.Keys.First();
}
return null;
}
private void Aim()
{
if (!Input.GetKey(Settings.AimbotKey))
{
return;
}
Vector3 vector = Vector3.zero;
float num = 9999f;
if (Main.OnlineGamePlayers.Count > 0)
{
foreach (OnlineGamePlayer onlineGamePlayer in Main.OnlineGamePlayers)
{
if (onlineGamePlayer == null || onlineGamePlayer.Player.IsYourPlayer || !onlineGamePlayer.Player.HealthController.IsAlive || onlineGamePlayer.role == OnlineGamePlayer.PlayerType.Teammate)
{
continue;
}
Vector3 zero = Vector3.zero;
zero = ((onlineGamePlayer.role == OnlineGamePlayer.PlayerType.Zombie) ? GameUtils.GetBonePosByIDO(onlineGamePlayer.Player, zombiebone) : GameUtils.GetBonePosByIDO(onlineGamePlayer.Player, Settings.Aimbone));
float num2 = Vector3.Distance(Main.MainCamera.transform.position, onlineGamePlayer.Player.Transform.position);
Weapon localPlayerWeapon = Main.LocalPlayerWeapon;
if (!(zero != Vector3.zero) || !(CaulculateInFov(zero) <= Settings.AimbotFOV) || (Settings.CheckVisible && !VisCheck(onlineGamePlayer.Player.gameObject, Main.LocalPlayer.Fireport.position, zero, out var _)) || !(num > num2))
{
continue;
}
num = num2;
if (localPlayerWeapon != null)
{
if (Main.LocalPlayerWeapon.CurrentAmmoTemplate != null)
{
float num3 = onlineGamePlayer.Distance / Main.LocalPlayerWeapon.CurrentAmmoTemplate.InitialSpeed;
zero += onlineGamePlayer.Player.Velocity * num3;
zero -= Main.LocalPlayer.Velocity * Time.deltaTime;
if (num2 > 100f)
{
zero += Vector3.up * BulletDrop(Main.LocalPlayer.Fireport.position, zero, Main.LocalPlayerWeapon.CurrentAmmoTemplate.InitialSpeed);
}
}
vector = zero;
}
vector = zero;
}
}
else
{
foreach (GamePlayer gamePlayer in Main.GamePlayers)
{
if (gamePlayer == null || gamePlayer.Player.IsYourPlayer || !gamePlayer.Player.HealthController.IsAlive)
{
continue;
}
Vector3 zero2 = Vector3.zero;
WildSpawnType role = gamePlayer.Player.Profile.Info.Settings.Role;
zero2 = ((role == WildSpawnType.infectedAssault || role == WildSpawnType.infectedCivil || role == WildSpawnType.infectedLaborant || role == WildSpawnType.infectedPmc) ? GameUtils.GetBonePosByID(gamePlayer.Player, zombiebone) : GameUtils.GetBonePosByID(gamePlayer.Player, Settings.Aimbone));
float num4 = Vector3.Distance(Main.MainCamera.transform.position, gamePlayer.Player.Transform.position);
Weapon localPlayerWeapon2 = Main.LocalPlayerWeapon;
if (!(zero2 != Vector3.zero) || !(CaulculateInFov(zero2) <= Settings.AimbotFOV) || (Settings.CheckVisible && !VisCheck(gamePlayer.Player.gameObject, Main.LocalPlayer.Fireport.position, zero2, out var _)) || !(num > num4))
{
continue;
}
num = num4;
if (localPlayerWeapon2 != null)
{
if (Main.LocalPlayerWeapon.CurrentAmmoTemplate != null)
{
float num5 = gamePlayer.Distance / Main.LocalPlayerWeapon.CurrentAmmoTemplate.InitialSpeed;
zero2 += gamePlayer.Player.Velocity * num5;
zero2 -= Main.LocalPlayer.Velocity * Time.deltaTime;
if (num4 > 100f)
{
zero2 += Vector3.up * BulletDrop(Main.LocalPlayer.Fireport.position, zero2, Main.LocalPlayerWeapon.CurrentAmmoTemplate.InitialSpeed);
}
}
vector = zero2;
}
vector = zero2;
}
}
if (vector != Vector3.zero)
{
AimAtPos(vector);
}
}
public static Vector2 GetAngleToTarget(Vector3 origin, Vector3 target)
{
Vector3 normalized = (target - origin).normalized;
float y = Mathf.Asin(normalized.y) * 57.29578f;
return new Vector2(Mathf.Atan2(normalized.x, normalized.z) * 57.29578f, y);
}
private static Vector2 GetSmoothAngle(Vector2 fromAngle, Vector2 toAngle, float smoothness)
{
float x = Mathf.LerpAngle(fromAngle.x, toAngle.x, smoothness * Time.deltaTime);
float y = Mathf.LerpAngle(fromAngle.y, toAngle.y, smoothness * Time.deltaTime);
return new Vector2(x, y);
}
public void OnGUI()
{
if (Settings.SilentTargetLines && (Settings.SilentAim || Settings.MagicBullet) && Main.GameWorld != null && Main.LocalPlayerWeapon != null && Target != null && Main.GamePlayers.Count > 0)
{
Vector3 zero = Vector3.zero;
WildSpawnType role = Target.Player.Profile.Info.Settings.Role;
zero = ((role == WildSpawnType.infectedAssault || role == WildSpawnType.infectedCivil || role == WildSpawnType.infectedLaborant || role == WildSpawnType.infectedPmc) ? GameUtils.GetBonePosByID(Target.Player, zombiebone) : GameUtils.GetBonePosByID(Target.Player, Settings.Aimbone));
Vector3 vector = Camera.main.WorldToScreenPoint(zero);
vector.y = (float)Screen.height - vector.y;
Render.DrawLine(GameUtils.ScreenCenter, vector, 1f, Settings.TargetSnaplineColor);
}
}
public static float CaulculateInFov(Vector3 position1)
{
Vector3 position2 = Main.MainCamera.transform.position;
Vector3 forward = Main.MainCamera.transform.forward;
Vector3 normalized = (position1 - position2).normalized;
return Mathf.Acos(Mathf.Clamp(Vector3.Dot(forward, normalized), -1f, 1f)) * 57.29578f;
}
public static float CaulculateInFov2(Vector3 worldPosition)
{
Vector3 normalized = (worldPosition - Main.MainCamera.transform.position).normalized;
return Vector3.Angle(Main.MainCamera.transform.forward, normalized);
}
public static void AimAtPos(Vector3 position)
{
Vector3 vector = Main.LocalPlayer.Fireport.position - Main.LocalPlayer.Fireport.up * 1f;
Vector3 eulerAngles = Quaternion.LookRotation((position - vector).normalized).eulerAngles;
if (eulerAngles.x > 180f)
{
eulerAngles.x -= 360f;
}
Main.LocalPlayer.MovementContext.Rotation = new Vector2(eulerAngles.y, eulerAngles.x);
}
public static float BulletDrop(Vector3 startVector, Vector3 endVector, float BulletSpeed)
{
float num = Vector3.Distance(startVector, endVector);
if (num >= 50f)
{
float num2 = num / BulletSpeed;
return (float)(4.905 * (double)num2 * (double)num2);
}
return 0f;
}
public static Type Find(string type)
{
Type[] types = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault((Assembly a) => a.GetName().Name == "Assembly-CSharp").GetTypes();
foreach (Type type2 in types)
{
if (type == type2.Name || type == type2.FullName)
{
return type2;
}
}
return null;
}
}