-
Автор темы
- #1
SSystemGlobalEnvironment Interface:
GameFramework Interface:
IRenderer Interface:
C++:
ISingleton = 0x141E63CF8,
ISystem = 0xF0,
IEntitySyste = 0xE0,
IRenderer = 0x48,
IPhysicalWorld = 0x70
C++:
IActorSystem = 0x04E0,
ISingleton = 0x14217D408, // string -> Failed to create the GameFramework Interface!
IGetClientActor = 0x470
C++:
IGetViewCamera = 0x1720,
IGetDirectDevice = 0xA760
C++:
class IEntityMapIt
{
public:
virtual ~IEntityMapIt() = 0;
virtual void AddRef() = 0;
virtual void Release() = 0;
virtual void MoveFirst() = 0;
virtual bool IsEnd() = 0;
virtual IEntity* This() = 0;
virtual IEntity* NextMap() = 0;
};
C++:
class IEntity
{
public:
class IEntityClass* GetEntityClass() {
return CryInterfaces::cast_index<IEntityClass* (__fastcall*)(PVOID64)>(this, 0x18)(this);
}
EntityId GetEntityId() {
return *(EntityId*)((DWORD64)this + 0x18);
}
const char* GetName() {
return CryInterfaces::cast_index<const char* (__thiscall*)(PVOID)>(this, 0x60)(this);
}
const Matrix34 GetWorldTM() { //string: "GetWorldBoundsCenter"; LODWORD 2
return CryInterfaces::cast_index <const Matrix34& (__thiscall*)(PVOID)>(this, 0xB8)(this);
}
class ICharacterInstance* GetCharacter(int nSlot) { //string: "GetCharacter"
return CryInterfaces::cast_index <ICharacterInstance* (__thiscall*)(PVOID, int)>(this, 664)(this, nSlot);
}
};
enum offsets_winapi : DWORD64{
i_strstr = 0x1417AD3B6,
i_malloc = 0x1417AD51E,
i_sleep = 0x1400A2A80,
i_free = 0x1417AD518,
i_memcpy = 0x1417AD3CE,
i_memset = 0x1417AD3DA,
i_get_async_key_state = 0x1400A2B60
game_framework = 0x14217D408,
void ClientHit(SClientGameHitInfo* info)
{
return CryInterfaces::cast_index<void(__thiscall*)(PVOID, SClientGameHitInfo*)>(this, 0x4E0)(this, info);
}
int GetHitTypeId(const char* type){
return CryInterfaces::cast_index<int(__thiscall*)(PVOID, const char*)>(this, 0x140)(this, type);
}
int GetHitMaterialId(const char* materialName) {
return CryInterfaces::cast_index<int(__thiscall*)(PVOID, const char*)>(this, 0x390)(this, materialName);
}
struct ISurfaceType* GetHitMaterial(int materialId) {
return CryInterfaces::cast_index<ISurfaceType* (__thiscall*)(PVOID, int)>(this, 0x398)(this, materialId);
}
void* CVisual::HudSilhouettes(EntityId Entityid, float Red, float Green, float Blue)
{
Color silhouette_color;
silhouette_color.r = Red;
silhouette_color.g = Green;
silhouette_color.b = Blue;
silhouette_color.a = 1.000f;
using FunctionTypeSilhoutte = void* (__fastcall*)(__int64, EntityId, Color, bool, bool, float);
FunctionTypeSilhoutte GetSilhouettes = (FunctionTypeSilhoutte)(0x1414ED6E0);
return GetSilhouettes(NULL, Entityid, silhouette_color, false, false, 1000.f);
}
class IItem
{
public:
class IWeapon* GetWeapon()
{
return (IWeapon*)((uintptr_t)this + 0x28);
}
};
class IWeapon {
public:
void SetBulletPostion(Vec3& Position) { return CryInterfaces::cast_index<void(__fastcall*)(PVOID, Vec3&)>(this, Offsets ::SetFiringPos)(this, Position); }
private:
enum Offsets : DWORD64 {
SetFiringPos= 0x2F0,
};
};
Последнее редактирование: