-
Автор темы
- #1
сначала хукаем OverrideView если не хукнут - clientmode_hook.hook_index(18, hkOverrideView);
дальше создаете переменную, чекбокс и тд сами окда ибо делать гайд на это - деградация
создаем две функции
и в хук OverrideView
и все, проверяйте работает ежжи
UPD: управление сами заблочите, руки висящие в воздухе фиксятся включением nohands'a двк
дальше создаете переменную, чекбокс и тд сами окда ибо делать гайд на это - деградация
создаем две функции
C++:
Vector Forward(Vector vec)
{
return Vector(cos(vec.y * M_PI / 180.0f) * cos(vec.x * M_PI / 180.0f), sin(vec.y * M_PI / 180.0f) * cos(vec.x * M_PI / 180.0f), sin(-vec.x * M_PI / 180.0f)).Normalized();
}
Vector Right(Vector vec)
{
return Vector(cos((vec.y + 90.f) * M_PI / 180.0f) * cos(vec.x * M_PI / 180.0f), sin((vec.y + 90.f) * M_PI / 180.0f) * cos(vec.x * M_PI / 180.0f), sin(-vec.x * M_PI / 180.0f)).Normalized();
}
C++:
static bool oldfreecam = false;
if (Settings::Misc::freecam)
{
static Vector newOrigin = vsView->origin;
if (Settings::Misc::freecam != oldfreecam)
newOrigin = vsView->origin;
float fSpeed = Settings::Misc::freecam_speed;
if (!Menu::Get().IsVisible())
{
if (InputSys::Get().IsKeyDown(VK_SHIFT))
fSpeed = fSpeed * 0.45f;
if (InputSys::Get().IsKeyDown(VK_SPACE))
fSpeed = fSpeed * 1.65f;
if (InputSys::Get().IsKeyDown(0x57)) // W
newOrigin += Forward(vsView->angles) * fSpeed;
if (InputSys::Get().IsKeyDown(0x41)) // A
newOrigin += Right(vsView->angles) * fSpeed;
if (InputSys::Get().IsKeyDown(0x44)) // D
newOrigin -= Right(vsView->angles) * fSpeed;
if (InputSys::Get().IsKeyDown(0x53)) // S
newOrigin -= Forward(vsView->angles) * fSpeed;
}
vsView->origin = newOrigin;
}
UPD: управление сами заблочите, руки висящие в воздухе фиксятся включением nohands'a двк
Последнее редактирование: