[WARFACE] Хиты не работают на цели сверху (проблема в визибле)

EVOLUTION ?
Забаненный
Статус
Оффлайн
Регистрация
30 Июл 2019
Сообщения
1,162
Реакции[?]
269
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Крч проблема такая, что если у меня стоит такой визибл:
C++:
if (c_system_global::singleton()->get_physical_world()->is_visible(info.shared.shootPos, info.shared.pos))
            {
                if (g_vars.aimbot.shot_type == 1) {
                    if (GetAsyncKeyState(VK_LBUTTON) & 1)
                        g_weapon->get_weapon_specific()->request_shoot_hit(&info);
                }
                else if (g_vars.aimbot.shot_type == 2)
                    g_weapon->get_weapon_specific()->request_shoot_hit(&info);
                break;
            }
то он не хочет стрелять вообще по целям, которые сверху, но сайлент с таким визиблом:
C++:
if (c_system_global::singleton()->get_physical_world()->is_visible_bone(bone_postion, 0.f))
            {
                if (g_vars.aimbot.shot_type == 1)
                    g_weapon->set_firing_pos(bone_postion);
                else if (g_vars.aimbot.shot_type == 2) {
                    g_weapon->set_firing_pos(bone_postion);
                    g_weapon->start_fire();
                    g_weapon->stop_fire();
                }
            }
работает идеально на все цели, но на хиты я не могу его поставить, т.к. меня кикает с карты мол прострелы сквозь стену, которых нет. Что это может быть, как мне фиксануть эту хрень?
Видео работы:
 
EVOLUTION ?
Забаненный
Статус
Оффлайн
Регистрация
30 Июл 2019
Сообщения
1,162
Реакции[?]
269
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
После обновы стало кикать и за
C++:
if (c_system_global::singleton()->get_physical_world()->is_visible(info.shared.shootPos, info.shared.pos))
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Может проблема в самом is_visible?
 
EVOLUTION ?
Забаненный
Статус
Оффлайн
Регистрация
30 Июл 2019
Сообщения
1,162
Реакции[?]
269
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Может проблема в самом is_visible?
класс physicalworld
C++:
class c_physical_world
{
public:
    int ray_world_intersection(const Vec3& org, const Vec3& dir, int objtypes, unsigned int flags, CRayHit* hits, int nMaxHits, c_physical_entity** pSkipEnts = 0, int nSkipEnts = 0, void* pForeignData = 0, int iForeignData = 0, const char* pNameTag = "RayWorldIntersection(Game)", CRayHitCached* phitLast = 0, int iCaller = 4)
    {
        using oRayWorldIntersection = int(__fastcall*)(PVOID, const Vec3&, const Vec3&, int, unsigned int, CRayHit*, int, c_physical_entity**, int, void*, int, const char*, CRayHitCached*, int);
        return hook<oRayWorldIntersection>(this, 97)(this, org, dir, objtypes, flags, hits, nMaxHits, pSkipEnts, nSkipEnts, pForeignData, iForeignData, pNameTag, phitLast, iCaller);
    }
    bool is_visible(Vec3 shootPos, Vec3 pos)
    {
        CRayHit tmpHit;
        return !this->ray_world_intersection(shootPos, pos - shootPos, 0x100 | 1, 0xA | 0x400, &tmpHit, 1);
    }
    bool is_visible_bone(Vec3 BoneID, float Correct)
    {
        CRayHit tmpHit;
        Vec3 CamPos = c_system_global::singleton()->get_irenderer()->get_view_camera();
        Vec3 vOut(this->get_m_pos(BoneID, CamPos, Correct));
        return !this->ray_world_intersection(CamPos, vOut, 0x100 | 1, 0xA | 0x400, &tmpHit, (1));
    }
    Vec3 get_m_pos(Vec3 BoneID, Vec3 CamPos, FLOAT Correct)
    {
        Vec3 vOut = BoneID - CamPos;
        FLOAT sqr = (FLOAT)sqrt(vOut.x * vOut.x + vOut.y * vOut.y + vOut.z * vOut.z);
        vOut /= sqr;
        vOut *= sqr - Correct;
        return vOut;
    }

    bool is_visible(Vec3 CamPos, Vec3 BoneID, FLOAT Correct)
    {
        CRayHit tmpHit;
        Vec3 vOut(get_m_pos(BoneID, CamPos, Correct));
        return !this->ray_world_intersection(CamPos, vOut, 0x100 | 1, 0xA | 0x400, &tmpHit, 1);
    }

};
 
Сверху Снизу