- Статус
- Оффлайн
- Регистрация
- 3 Апр 2019
- Сообщения
- 429
- Реакции
- 117
при включении ебучих десинк чамсов краш,дэбаг указывает на эту строчку
Вызвано исключение: нарушение доступа для чтения.
g_pMemalloc было nullptr.
код фейк анимстейта
m_fake_state = static_cast<CCSGOPlayerAnimState*> (g_pMemalloc->Alloc(sizeof(CCSGOPlayerAnimState)));
Вызвано исключение: нарушение доступа для чтения.
g_pMemalloc было nullptr.
код фейк анимстейта
C++:
void StateFake::manage_local_fake_animstate()
{
if (!g_pEngine->IsInGame() || !g_pEngine->IsConnected() || Globals::pCmd == nullptr)
return;
if (!Globals::LocalPlayer || !Globals::LocalPlayer->IsAlive())
return;
if (!c_config::get().desync_chams)
return;
if (m_fake_spawntime != Globals::LocalPlayer->SpawnTime() || m_should_update_fake)
{
init_fake_anim = false;
m_fake_spawntime = Globals::LocalPlayer->SpawnTime();
m_should_update_fake = false;
}
if (!init_fake_anim)
{
m_fake_state = static_cast<CCSGOPlayerAnimState*> (g_pMemalloc->Alloc(sizeof(CCSGOPlayerAnimState))); ///
if (m_fake_state != nullptr)
CreateAnimationState(m_fake_state);
init_fake_anim = true;
}
float frametime = g_pGlobalVars->frametime;
if (Globals::bSendPacket)
{
std::array<AnimationLayer, 13> networked_layers;
std::memcpy(&networked_layers, Globals::LocalPlayer->AnimOverlays(), sizeof(AnimationLayer) * 13);
auto backup_abs_angles = Globals::LocalPlayer->GetAbsAngles();
auto backup_poses = Globals::LocalPlayer->PoseParam();
if (Globals::LocalPlayer->FlagsGet() & FL_ONGROUND)
Globals::LocalPlayer->FlagsGet() |= FL_ONGROUND;
else
{
if (Globals::LocalPlayer->AnimOverlays()[4].m_flWeight != 1.f && Globals::LocalPlayer->AnimOverlays()[5].m_flWeight != 0.f)
Globals::LocalPlayer->FlagsGet() |= FL_ONGROUND;
if (Globals::LocalPlayer->FlagsGet() & FL_ONGROUND)
Globals::LocalPlayer->FlagsGet() &= ~FL_ONGROUND;
}
*reinterpret_cast<int*>(Globals::LocalPlayer + 0xA68) = g_pGlobalVars->frametime;
g_pGlobalVars->frametime = 23.91753135f;
update_Fake_state(m_fake_state, Globals::pCmd->viewangles);
Globals::should_setup_local_bones = true;
m_got_fake_matrix = Globals::LocalPlayer->SetupBones(Globals::fakematrix, 128, 524032 - 66666, false);
const auto org_tmp = Globals::LocalPlayer->GetRenderOrigin();
if (m_got_fake_matrix)
{
for (auto& i : Globals::fakematrix)
{
i[0][3] -= org_tmp.x;
i[1][3] -= org_tmp.y;
i[2][3] -= org_tmp.z;
}
}
std::memcpy(Globals::LocalPlayer->AnimOverlays(), &networked_layers, sizeof(AnimationLayer) * 13);
Globals::LocalPlayer->PoseParam() = backup_poses;
Globals::LocalPlayer->GetAbsAngles() = backup_abs_angles;
}
g_pGlobalVars->frametime = frametime;
}