Вопрос Как найти projectile гранат?

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
9 Сен 2025
Сообщения
14
Реакции
0
у меня экстернал чит на c#, мне нужно найти entity гранаты например молика и далее ее позицию, смотрел на UC но чет там не понял реализацию
 
у меня экстернал чит на c#, мне нужно найти entity гранаты например молика и далее ее позицию, смотрел на UC но чет там не понял реализацию
const uintptr_t entityListBase = memory->read<uintptr_t>(client + Offsets::dwEntityList);
uintptr_t listEntry = memory->read<uintptr_t>(entityListBase + 8 * ((i & 0x7FFF) >> 9) + 16);
uintptr_t entity = memory->read<uintptr_t>(listEntry + 112 * (i & 0x1FF));
uintptr_t sceneNode = memory->read<uintptr_t>(entity + Offsets::m_pGameSceneNode);
Vec3 origin = memory->read<Vec3>(sceneNode + Offsets::m_vecAbsOrigin);
Теперь можешь искать по названию projectile
 
const uintptr_t entityListBase = memory->read<uintptr_t>(client + Offsets::dwEntityList);
uintptr_t listEntry = memory->read<uintptr_t>(entityListBase + 8 * ((i & 0x7FFF) >> 9) + 16);
uintptr_t entity = memory->read<uintptr_t>(listEntry + 112 * (i & 0x1FF));
uintptr_t sceneNode = memory->read<uintptr_t>(entity + Offsets::m_pGameSceneNode);
Vec3 origin = memory->read<Vec3>(sceneNode + Offsets::m_vecAbsOrigin);
Теперь можешь искать по названию projectile
если не секрет как получить название projectile'а? designerName пробовал не помогло
 
так же как name esp
получаю ошибку на линии entity

System.AccessViolationException: Не удалось прочитать массив байт по адресу 3356688392
at System.MemoryInteractions.SimpleMemoryManager.ReadBytes(IntPtr address, UInt32 size)
at System.MemoryInteractions.ModuleManager.ReadBytes(IntPtr address, UInt32 size)
at macentosh_cs2.Entities.Base.GetProjectiles() in \Entities\Entity.cs:line 257

Entity.cs:
Expand Collapse Copy
public static nint GetEntityList() => Memo.Read<nint>(Client + dwEntityList);

//GetProjectiles
try
{
    for (int i = 0; i < 10000; i++)
    {
        nint EntityListBase = GetEntityList();
        uint listEntry = Memo.Read<uint>(EntityListBase + 0x8 * ((i & 0x7FFF) >> 9) + 0x10);

        if (listEntry == 0) continue;

        uint entity = Memo.Read<uint>((nint)(listEntry + 0x70 * (i & 0x1FF)));

        if (entity == 0) continue;

        uint sceneNode = Memo.Read<uint>((nint)(entity + C_BaseEntity.m_pGameSceneNode));
        if (sceneNode == 0) continue;

        Vector3 origin = Memo.Read<Vector3>((nint)(sceneNode + CGameSceneNode.m_vecAbsOrigin));
        Console.WriteLine(origin);
    }
    /*const uintptr_t entityListBase = memory->read<uintptr_t>(client + Offsets::dwEntityList);
     uintptr_t listEntry = memory->read<uintptr_t>(entityListBase + 8 * ((i & 0x7FFF) >> 9) + 16);
     uintptr_t entity = memory->read<uintptr_t>(listEntry + 112 * (i & 0x1FF));
     uintptr_t sceneNode = memory->read<uintptr_t>(entity + Offsets::m_pGameSceneNode);
      Vec3 origin = memory->read<Vec3>(sceneNode + Offsets::m_vecAbsOrigin)*/

} catch (Exception e)
{
    Console.WriteLine(e.ToString());
    return;
}
 
for (int i = 64; i < 1024; i++)
uint entity = Memo.Read<uint>((nint)(listEntry + 112* (i & 0x1FF))); // 112 валид не меняй его (через 70 не найдешь)
 
for (int i = 64; i < 1024; i++)
uint entity = Memo.Read<uint>((nint)(listEntry + 112* (i & 0x1FF))); // 112 валид не меняй его (через 70 не найдешь)
1761590207690.png

че серьезно не найду?
 
либо я даун либо хз но GetEntities работает а GetAllEntities нет((

System.AccessViolationException: Не удалось прочитать массив байт по адресу 3625131016
at System.MemoryInteractions.SimpleMemoryManager.ReadBytes(IntPtr address, UInt32 size)
at macentosh_cs2.Entities.Base.GetProjectiles() in \Entities\Entity.cs:line 259
Entity.cs:
Expand Collapse Copy
public static nint GetEntityList() => Memo.Read<nint>(Client + dwEntityList);
public static List<Entity> GetEntities()
{
    List<Entity> list = new List<Entity>();

    try
    {
        nint entityList = GetEntityList();
        nint listEntry = Memo.Read<nint>(entityList + 0x10);

        for (int i = 0; i < 64; i++)
        {
            if (listEntry == nint.Zero)
                continue;

            nint currentController = Memo.Read<nint>(listEntry + i * 0x70);

            if (currentController == nint.Zero)
                continue;

            int pawnHandle = Memo.Read<int>(currentController + CCSPlayerController.m_hPlayerPawn); // CCSPlayerController.m_hPlayerPawn

            if (pawnHandle == 0)
                continue;

            //bitmaska
            nint listEntry2 = Memo.Read<nint>(entityList + 0x8 * ((pawnHandle & 0x7FFF) >> 9) + 0x10);

            if (listEntry2 == nint.Zero)
                continue;

            nint currentPawn = Memo.Read<nint>(listEntry2 + 0x70 * (pawnHandle & 0x1FF));
            IntPtr healthaddr = currentPawn + C_BaseEntity.m_iHealth;


            if (currentPawn != LocalPlayer.Pawn && currentController != LocalPlayer.Controller && healthaddr != 844)
                list.Add(new Entity(currentController, currentPawn, i));
        }
    } catch (Exception e)
    {
        Console.WriteLine(e.ToString());
    }

    return list;
}
public static List<Vector3> GetProjectiles()
{
    List<Vector3> list = new List<Vector3>();

    try
    {
        for (int i = 64; i < 1024; i++)
        {
            nint EntityListBase = GetEntityList();
            uint listEntry = Memo.Read<uint>(EntityListBase + 8 * ((i & 0x7FFF) >> 9) + 16);

            if (listEntry == 0) continue;

            //Ошибка опять здессь
            uint entity = Memo.Read<uint>((nint)(listEntry + 112 * (i & 0x1FF)));  // 112 валид не меняй его (через 70 не найдешь)

            if (entity == 0) continue;

            uint sceneNode = Memo.Read<uint>((nint)(entity + C_BaseEntity.m_pGameSceneNode));
            if (sceneNode == 0) continue;

            Vector3 origin = Memo.Read<Vector3>((nint)(sceneNode + CGameSceneNode.m_vecAbsOrigin));

            //Projectile NewEntity = new Projectile((nint)entity, (nint)sceneNode, nint.Zero, i);

            list.Add(origin);
            //Console.WriteLine(origin);
        }
        /*const uintptr_t entityListBase = memory->read<uintptr_t>(client + Offsets::dwEntityList);
         uintptr_t listEntry = memory->read<uintptr_t>(entityListBase + 8 * ((i & 0x7FFF) >> 9) + 16);
         uintptr_t entity = memory->read<uintptr_t>(listEntry + 112 * (i & 0x1FF));
         uintptr_t sceneNode = memory->read<uintptr_t>(entity + Offsets::m_pGameSceneNode);
          Vec3 origin = memory->read<Vec3>(sceneNode + Offsets::m_vecAbsOrigin)*/

    } catch (Exception e)
    {
        Console.WriteLine(e.ToString());
        return list;
    }
    return list;
}
 
Назад
Сверху Снизу