I love C++
-
Автор темы
- #1
Здравствуйте, искал смещение но подходящего для моей функции не нашёл, может кто имеет рабочий IsVisible соизволит со мной поделиться.
Заранее благодарю!
Заранее благодарю!
C++:
// До текущего обновления работал нормально
class IPhysicalWorld {
public:
__int32 RayWorldIntersection(const Vector3& org, const Vector3& dir, __int32 objtypes, unsigned __int32 flags, stRayHit* hits, __int32 nMaxHits, IPhysicalEntity** pSkipEnts = 0, __int32 nSkipEnts = 0, PVOID64 pForeignData = 0, __int32 iForeignData = 0, const char* pNameTag = "RayWorldIntersection(Game)", stRayHitCached* phitLast = 0, __int32 iCaller = 4)
{
return Call<__int32(__fastcall*)(PVOID64, const Vector3&, const Vector3&, __int32, unsigned __int32, stRayHit*, __int32, IPhysicalEntity**, __int32, PVOID64, __int32, const char*, stRayHitCached*, __int32)>(this, 0x308)(this, org, dir, objtypes, flags, hits, nMaxHits, pSkipEnts, nSkipEnts, pForeignData, iForeignData, pNameTag, phitLast, iCaller);
}
bool IsVisible(IEntitySystem* pEntitySystem, IEntity* pEntity, Vector3 shootPos, Vector3 pos, IPhysicalEntity** pSkipEnts = 0, __int32 nSkipEnts = 0, __int32 pierceability = 10) {
stRayHit rayhit;
if (RayWorldIntersection(shootPos, pos - shootPos, 257, 0xA0001500 | pierceability, &rayhit, 1, pSkipEnts, nSkipEnts) > 0) {
return pEntitySystem->GetEntityFromPhysics(rayhit.pCollider) == pEntity;
}
return true;
}
}