Начинающий
-
Автор темы
- #1
Всем доброго времени суток! Решил я, значит, сделать RCS для своего чита, но у меня он работает некорректно, уже облазил кучу форумов, но ничего толкового не нашёл, везде код написан так же.
Проблема, собственно, вот в чем:
Если запускать прогу с таким кодом, то оно работает, но если начинать стрелять, камера резко поворачивается на одну точку и стрельба происходит в неё, тут RCS работает, но ты не можешь никак повернуться при стрельбе, он просто магнитится к этой точке (см. фото).
Если здесь запись производить по тому же адресу, откуда мы читаем ViewAngle, то RCS вообще не работает.
Если же считывать m_ViewAngle не из Engine.dll, а из ClientState (engine + dwClientState) (так написано практически везде), то прицел при стрельбе вообще уходит вниз под себя, но плавно.
Спустя 5 минут, результатом того же кода, что наверху, прицел теперь резко уходит не в ту точку, что на скрине, а ровно под себя и резко.
С оффсетами все в порядке.
Прошу пожалуйста помочь с данным вопросом и объяснить в чем проблема.
Заранее спасибо)
Проблема, собственно, вот в чем:
Если запускать прогу с таким кодом, то оно работает, но если начинать стрелять, камера резко поворачивается на одну точку и стрельба происходит в неё, тут RCS работает, но ты не можешь никак повернуться при стрельбе, он просто магнитится к этой точке (см. фото).
C++:
void RCS()
{
DWORD ClientState;
INT ShotsFired = 0;
Vector2 angle;
Vector2 m_ViewAngle;
Vector2 OldAngle{0, 0};
Vector2 m_PunchAngle;
ClientState = memory.Read<DWORD>(engine + dwClientState);
DWORD playerLocal = memory.Read<DWORD>(client + dwLocalPlayer);
ShotsFired = memory.Read<DWORD>(playerLocal + m_iShotsFired);
m_ViewAngle = memory.Read<Vector2>(engine + dwClientState_ViewAngles);
if (ShotsFired >= 2)
{
m_PunchAngle = memory.Read<Vector2>(playerLocal + m_aimPunchAngle);
m_ViewAngle.x += OldAngle.x;
m_ViewAngle.y += OldAngle.y;
angle.x = m_ViewAngle.x - m_PunchAngle.x * 2.0f;
angle.y = m_ViewAngle.y - m_PunchAngle.y * 2.0f;
OldAngle.x = m_PunchAngle.x * 2.0f;
OldAngle.y = m_PunchAngle.y * 2.0f;
while (angle.y > 180.0f) angle.y -= 360.0f;
while (angle.y < -180.0f) angle.y += 360.0f;
if (angle.x > 89.0f) angle.x = 89.0f;
if (angle.x < -89.0f) angle.x = -89.0f;
memory.Write<Vector2>((DWORD)ClientState + dwClientState_ViewAngles, angle);
}
else OldAngle.x = OldAngle.y = 0;
}
Если здесь запись производить по тому же адресу, откуда мы читаем ViewAngle, то RCS вообще не работает.
Если же считывать m_ViewAngle не из Engine.dll, а из ClientState (engine + dwClientState) (так написано практически везде), то прицел при стрельбе вообще уходит вниз под себя, но плавно.
Спустя 5 минут, результатом того же кода, что наверху, прицел теперь резко уходит не в ту точку, что на скрине, а ровно под себя и резко.
С оффсетами все в порядке.
Прошу пожалуйста помочь с данным вопросом и объяснить в чем проблема.
Заранее спасибо)
Последнее редактирование: