-
Автор темы
- #1
- Misc.cpp
- Misc.h
- Configs.cpp
Ниже этой строки: automatic_peek, вставляем этот код:
- Configs.h
В struct Misc_t, вставляем этот код:
- Constchars.h
-
Menu.cpp
- key_binds.cpp
ищем: update_key_binds и в нево пишем:
- hooked_createmove.cpp
выше данной строки: if (!should_recharge) вставляем:
Код:
void misc::blockbot(CUserCmd* cmd)
{
if (!g_cfg.misc.blockbot_enabled ||!key_binds::get().get_key_bind_state(25))
return;
float flBestDistance = 250.0f;
int iBestIndex = -1;
for (auto i = 1; i < m_globals()->m_maxclients; i++) {
auto entity = (player_t*)m_entitylist()->GetClientEntity(i);
if (!entity || entity->IsDormant() || !entity->is_alive() ||
entity == g_ctx.local())
continue;
float flDistance = g_ctx.local()->m_vecOrigin().DistTo(entity->m_vecOrigin());
if (flDistance < flBestDistance)
{
flBestDistance = flDistance;
iBestIndex = i;
}
}
auto entity = (player_t*)m_entitylist()->GetClientEntity(iBestIndex);
if (!entity)
return;
float flBestSpeed = g_cfg.misc.blockbot_type == 0 ? entity->m_vecVelocity().Length() : 450.0f;
Vector angLocal;
m_engine()->GetViewAngles(angLocal);
Vector vecForward = entity->m_vecOrigin() - g_ctx.local()->m_vecOrigin();
if (entity->hitbox_position(6).z < g_ctx.local()->m_vecOrigin().z && g_ctx.local()->m_vecOrigin().DistTo(entity->m_vecOrigin()) < 100.0f)
{
cmd->m_forwardmove = ((sin(DEG2RAD(angLocal.y)) * vecForward.y) + (cos(DEG2RAD(angLocal.y)) * vecForward.x)) * flBestSpeed;
cmd->m_sidemove = ((cos(DEG2RAD(angLocal.y)) * -vecForward.y) + (sin(DEG2RAD(angLocal.y)) * vecForward.x)) * flBestSpeed;
}
else
{
auto yaw_delta = (atan2(vecForward.y, vecForward.x) * 180.0f / M_PI) - angLocal.y;
if (yaw_delta > 180) { yaw_delta -= 360; }
else if (yaw_delta < -180) { yaw_delta += 360; }
if (yaw_delta > 0.25) { cmd->m_sidemove = -flBestSpeed; }
else if (yaw_delta < -0.25) { cmd->m_sidemove = flBestSpeed; }
}
}
Код:
void blockbot(CUserCmd* cmd);
Ниже этой строки: automatic_peek, вставляем этот код:
Код:
setup_item(&g_cfg.misc.block_bot, key_bind(HOLD), crypt_str("Misc.blockbot"));
setup_item(&g_cfg.misc.blockbot_enabled, false, crypt_str("Misc.blockbot_enabled"));
setup_item(&g_cfg.misc.blockbot_type, 0, crypt_str("Misc.blockbot_type"));
В struct Misc_t, вставляем этот код:
Код:
bool blockbot_enabled;
int blockbot_type;
Код:
const char* blockbot_type_cb[] =
{
"Match Speed",
"Maximum"
};
Menu.cpp
Код:
ImGui::Checkbox(crypt_str("Blockbot"), &g_cfg.misc.blockbot_enabled);
if (g_cfg.misc.blockbot_enabled == 1)
{
draw_keybind(crypt_str("Blockbot key"), &g_cfg.misc.block_bot, crypt_str("##BLOCKBOT__HOTKEY"));
padding(10, 0);
draw_combo(crypt_str("Blockbot type"), g_cfg.misc.blockbot_type, blockbot_type_cb, ARRAYSIZE(blockbot_type_cb));
}
ищем: update_key_binds и в нево пишем:
Код:
update_key_bind(&g_cfg.misc.block_bot, 25);
выше данной строки: if (!should_recharge) вставляем:
Код:
if (key_binds::get().get_key_bind_state(25)) //-V807
misc::get().blockbot(m_pcmd);
Последнее редактирование: