Начинающий
-
Автор темы
- #1
C++:
static const char* ReadStringMemoryPtr(uint64_t dwAddress)
{
if (uint64_t v0 = Read<uint64_t>(dwAddress))
{
char buffer[1024];
pMemory.get()->Rpm(v0, &buffer, sizeof(buffer));
return buffer;
}
else
return "----NULL";
}
std::string GetAnimation(IActor* pActor)
{
using QWORD = unsigned long long;
QWORD a1 = Read<QWORD>(reinterpret_cast<uint64_t>(pActor) + 0x13B8);
uint64_t vtablePtr = Read<uint64_t>(a1);
uint64_t* animationGraphState = reinterpret_cast<uint64_t*>(vtablePtr + 0x60);
QWORD a3 = Read<QWORD>(reinterpret_cast<QWORD>(animationGraphState) + 0x18);
unsigned short a4 = Read<unsigned short>(Read<uint64_t>(a3) + 0x32);
if (a4 == 0xFFFF)return "<no state>";
QWORD a5 = 112 * static_cast<QWORD>(a4);
uint64_t vtablePtr1 = Read<uint64_t>(a3);
auto v32 = vtablePtr1 + 0x28;
QWORD a6 = Read<QWORD>(Read<uint64_t>(v32) + 0x80);
return std::string( ReadStringMemoryPtr(a5 + a6));
}