-
Автор темы
- #1
English:
Hello people, today i am sharing some code that got ported from a movement cheat into supremacy, it performs really well and you can have fun with it, feel like zuhn on legacy hvh.
This snippet includes: jump bug, edge jump and edge bug,
im providing clips aswell.
Русский:
Привет, народ, сегодня я делюсь кодом, который я перенес из чит-кода на движение в превосходство, он работает очень хорошо, и вы можете с ним повеселиться, почувствуйте себя зуном на устаревшем hvh. Этот фрагмент включает в себя: ошибку прыжка, прыжок с края и ошибку с края, я тоже предоставляю клипы
Hello people, today i am sharing some code that got ported from a movement cheat into supremacy, it performs really well and you can have fun with it, feel like zuhn on legacy hvh.
This snippet includes: jump bug, edge jump and edge bug,
im providing clips aswell.
Русский:
Привет, народ, сегодня я делюсь кодом, который я перенес из чит-кода на движение в превосходство, он работает очень хорошо, и вы можете с ним повеселиться, почувствуйте себя зуном на устаревшем hvh. Этот фрагмент включает в себя: ошибку прыжка, прыжок с края и ошибку с края, я тоже предоставляю клипы
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
jump bug:
void Movement::jump_bug(CUserCmd* pCmd) {
Player* local = (Player*)(interfaces::entity_list->get_entity(interfaces::engine->get_local_player())); // lol
float step = math::pi_2 / 128;
float xThick = 23;
auto local_player = g_cl.m_local;
if (!g_cl.in_game)
return;
if (!local_player)
return;
if (!g_menu.main.movement.jump_bug.get())
return;
if (!g_input.GetKeyState(g_menu.main.movement.jump_bug_key.get()))
return;
if (!local_player || local_player->m_iHealth() <= 0)
return;
if (local_player->m_MoveType() == MOVETYPE_LADDER || local_player->m_MoveType() == MOVETYPE_NOCLIP)
return;
if (local_player->m_fFlags() & FL_ONGROUND) {
pCmd->m_buttons &= ~IN_DUCK;
pCmd->m_buttons |= IN_JUMP;
}
if (g_menu.main.movement.jump_bug.get() && g_input.GetKeyState(g_menu.main.movement.jump_bug_key.get()) && (local->m_fFlags() & (1 << 0))) {
g_menu.main.movement.bhop.set(false);
bool unduck = pCmd->m_buttons &= ~IN_DUCK;
if (unduck) {
pCmd->m_buttons &= ~IN_DUCK; // duck
pCmd->m_buttons |= IN_JUMP; // jump
unduck = false;
}
vec3_t pos = local->GetAbsOrigin();
for (float a = 0.f; a < math::pi_2; a += step) {
vec3_t pt;
pt.x = (xThick * cos(a)) + pos.x;
pt.y = (xThick * sin(a)) + pos.y;
pt.z = pos.z;
vec3_t pt2 = pt;
pt2.z -= 8192;
CGameTrace fag;
Ray ray{ pt, pt2 };
CTraceFilterSimple flt;
flt.m_pass_ent1 = local;
g_csgo.m_engine_trace->TraceRay(ray, MASK_PLAYERSOLID, &flt, &fag);
if (fag.m_fraction != 1.f && fag.m_fraction != 0.f) {
pCmd->m_buttons |= IN_DUCK; // duck
pCmd->m_buttons &= ~IN_JUMP; // jump
unduck = true;
}
}
for (float a = 0.f; a < math::pi_2; a += step) {
vec3_t pt;
pt.x = ((xThick - 2.f) * cos(a)) + pos.x;
pt.y = ((xThick - 2.f) * sin(a)) + pos.y;
pt.z = pos.z;
vec3_t pt2 = pt;
pt2.z -= 8192;
CGameTrace fag;
Ray ray{ pt, pt2 };
CTraceFilterSimple flt;
flt.m_pass_ent1 = local;
g_csgo.m_engine_trace->TraceRay(ray, MASK_PLAYERSOLID, &flt, &fag);
if (fag.m_fraction != 1.f && fag.m_fraction != 0.f) {
pCmd->m_buttons |= IN_DUCK; // duck
pCmd->m_buttons &= ~IN_JUMP; // jump
unduck = true;
}
}
for (float a = 0.f; a < math::pi_2; a += step) {
vec3_t pt;
pt.x = ((xThick - 20.f) * cos(a)) + pos.x;
pt.y = ((xThick - 20.f) * sin(a)) + pos.y;
pt.z = pos.z;
vec3_t pt2 = pt;
pt2.z -= 8192;
CGameTrace fag;
Ray ray{ pt, pt2 };
CTraceFilterSimple flt;
flt.m_pass_ent1 = local;
g_csgo.m_engine_trace->TraceRay(ray, MASK_PLAYERSOLID, &flt, &fag);
if (fag.m_fraction != 1.f && fag.m_fraction != 0.f) {
pCmd->m_buttons |= IN_DUCK; // duck
pCmd->m_buttons &= ~IN_JUMP; // jump
unduck = true;
}
}
}
else {
g_menu.main.movement.bhop.set(true);
}
}
edge jump:
void Movement::edge_jump(CUserCmd* cmd) {
if (!g_menu.main.movement.edge_jump.get() || !g_input.GetKeyState(g_menu.main.movement.edge_jump_key.get()))
return;
// get local player.
Player * player = (Player*)(interfaces::entity_list->get_entity(interfaces::engine->get_local_player()));
if (!player || !player->alive())
return;
// dont edge jump on ladders.
if (player->m_MoveType() == MOVETYPE_LADDER || player->m_MoveType() == MOVETYPE_NOCLIP)
return;
// predefines.
auto user_cmd = cmd;
auto local_player = g_cl.m_local;
// check for predicted and unpredicted flags.
if (g_cl.m_flags & FL_ONGROUND && !(player->m_fFlags() & FL_ONGROUND) && g_input.GetKeyState(g_menu.main.movement.edge_jump_key.get())) {
cmd->m_buttons |= IN_JUMP; // do edge jump.
}
// duck in air.
if (g_menu.main.movement.long_jump.get() && !(player->m_fFlags() & FL_ONGROUND) && g_input.GetKeyState(g_menu.main.movement.edge_jump_key.get())) {
cmd->m_buttons |= IN_DUCK;
}
// switch desired methods.
switch (g_menu.main.movement.long_jump_type.get()) {
case 0:
break;
case 1:
interfaces::engine->execute_cmd("-forward");
break;
case 2:
interfaces::engine->execute_cmd("-back");
break;
case 3:
interfaces::engine->execute_cmd("-moveleft");
break;
case 4:
interfaces::engine->execute_cmd("-moveright");
break;
}
}
edge bug:
void Movement::duck_bug(CUserCmd* pCmd) {
Player* local = (Player*)(interfaces::entity_list->get_entity(interfaces::engine->get_local_player())); // lol
float step = math::pi_2 / 128;
float xThick = 23;
if (g_menu.main.movement.edge_bug.get() && g_input.GetKeyState(g_menu.main.movement.edge_bug_key.get()) && (local->m_fFlags() & (1 << 0))) {
bool unduck = pCmd->m_buttons &= ~IN_DUCK;
if (unduck) {
pCmd->m_buttons &= ~IN_DUCK; // duck
unduck = false;
}
vec3_t pos = local->GetAbsOrigin();
for (float a = 0.f; a < math::pi_2; a += step) {
vec3_t pt;
pt.x = (xThick * cos(a)) + pos.x;
pt.y = (xThick * sin(a)) + pos.y;
pt.z = pos.z;
vec3_t pt2 = pt;
pt2.z -= 8192;
CGameTrace fag;
Ray ray{ pt, pt2 };
CTraceFilterSimple flt;
flt.m_pass_ent1 = local;
g_csgo.m_engine_trace->TraceRay(ray, MASK_PLAYERSOLID, &flt, &fag);
if (fag.m_fraction != 1.f && fag.m_fraction != 0.f) {
pCmd->m_buttons |= IN_DUCK; // duck
unduck = true;
}
}
for (float a = 0.f; a < math::pi_2; a += step) {
vec3_t pt;
pt.x = ((xThick - 2.f) * cos(a)) + pos.x;
pt.y = ((xThick - 2.f) * sin(a)) + pos.y;
pt.z = pos.z;
vec3_t pt2 = pt;
pt2.z -= 8192;
CGameTrace fag;
Ray ray{ pt, pt2 };
CTraceFilterSimple flt;
flt.m_pass_ent1 = local;
g_csgo.m_engine_trace->TraceRay(ray, MASK_PLAYERSOLID, &flt, &fag);
if (fag.m_fraction != 1.f && fag.m_fraction != 0.f) {
pCmd->m_buttons |= IN_DUCK; // duck
unduck = true;
}
}
for (float a = 0.f; a < math::pi_2; a += step) {
vec3_t pt;
pt.x = ((xThick - 20.f) * cos(a)) + pos.x;
pt.y = ((xThick - 20.f) * sin(a)) + pos.y;
pt.z = pos.z;
vec3_t pt2 = pt;
pt2.z -= 8192;
CGameTrace fag;
Ray ray{ pt, pt2 };
CTraceFilterSimple flt;
flt.m_pass_ent1 = local;
g_csgo.m_engine_trace->TraceRay(ray, MASK_PLAYERSOLID, &flt, &fag);
if (fag.m_fraction != 1.f && fag.m_fraction != 0.f) {
pCmd->m_buttons |= IN_DUCK; // duck
unduck = true;
}
}
}
}
where to call:
void Client::EndMove(CUserCmd* cmd) {
OnCreateMove();
// store this when choke cycle reset.
if (!interfaces::client_state->choked_commands) {
m_real_angle = m_cmd->m_view_angles;
m_frame_shit = interfaces::global_vars->tick_count;
}
m_cmd->m_view_angles.SanitizeAngle();
// fix our movement.
g_movement.FixMove(cmd, m_strafe_angles);
g_movement.jump_bug(cmd);
g_movement.edge_jump(cmd);
g_movement.duck_bug(cmd);
// this packet will be sent.
if (*m_packet) {
m_upd_time_test = interfaces::global_vars->tick_count + 1;
g_hvh.m_step_switch = (bool)math::random_int(0, 1);
// we are sending a packet, so this will be reset soon.
// store the old value.
m_old_lag = m_lag;
// get radar angles.
m_radar = cmd->m_view_angles;
m_radar.normalize();
}
// store some values for next tick.
m_old_packet = *m_packet;
m_old_shot = m_buttons & IN_ATTACK && g_cl.m_weapon_fire;
}
Последнее редактирование: