-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Под базу asphyxia
Rapid fire code:
hook:
rage:
Rapid fire code:
hook:
Код:
if (I::Engine->IsConnected() || I::Engine->IsInGame() && SDK::LocalPawn && SDK::LocalPawn->GetHealth() > 0 ) {
if (rage->sub_tick_data.command == F::RAGE::impl::command_msg::silent) {
// modify predicted sub tick viewangles to our rage bestpoint forcing silent w predicted cmds
Input->m_view_angles = rage->sub_tick_data.best_point_vec;
Input->m_view_angles.clamp();
InputHistoryEntry->m_pViewCmd->m_angValue = rage->sub_tick_data.best_point;
InputHistoryEntry->m_pViewCmd->m_angValue.Clamp();
rage->sub_tick_data.response = impl::response_msg::validated_view_angles;
}
else
rage->sub_tick_data.response = impl::response_msg::empty;
if (F::RAGE::rage->rage_data.rapid_fire)
{
if (rage->sub_tick_data.command == impl::command_msg::rapid_fire)
{
// override angles just to prevent
Input->m_view_angles = rage->sub_tick_data.best_point_vec;
Input->m_view_angles.clamp();
InputHistoryEntry->m_pViewCmd->m_angValue = rage->sub_tick_data.best_point;
InputHistoryEntry->m_pViewCmd->m_angValue.Clamp();
// override tickcount
InputHistoryEntry->m_nPlayerTickCount = 0;
Input->m_player_tick_count = 0;
// perform shooting
SDK::Cmd->m_nButtons.m_nValue |= IN_ATTACK;
}
else
SDK::Cmd->m_nButtons.m_nValue &= ~IN_ATTACK;
}
if (rage->sub_tick_data.command == impl::command_msg::teleport) {
// overflow viewangles
// send new msg to sv
// maybe change our shoot pos? idk
}
}
Код:
bool can_scope = weapon_data->m_zoomLevel() == 0 && weapon_data->datawep()->m_WeaponType() == WEAPONTYPE_SNIPER_RIFLE;
if (can_scope && !rage_data.rapid_fire) {
cmd->m_nButtons.m_nValue |= IN_SECOND_ATTACK;
}
if (cheat->canShot) {
if (rage_data.rapid_fire && rage_data.accurate) {
sub_tick_data.command = command_msg::rapid_fire;
sub_tick_data.best_point = best_point;
}
else
{
if (rage_data.accurate) {
sub_tick_data.command = command_msg::silent;
sub_tick_data.best_point = best_point;
// our InputMessage set our predicted subtick viewangles to best point we ready to shoot
cmd->AdjustAttackStartIndex(pCmd->m_nTickCount - 1);
cmd->m_nButtons.m_nValue |= IN_ATTACK;
}
/* else if (rage_data.rapid_fire && cheat->canShot) {
cmd->m_csgoUserCmd.m_nAttack1StartHhistoryIndex = pCmd->m_nTickCount - 1;
if (!(cmd->m_nButtons.m_nValue & IN_ATTACK)) {
L_PRINT(LOG_INFO) << "shooting";
cmd->m_nButtons.m_nValue |= IN_ATTACK;
}
L_PRINT(LOG_INFO) << "on rapid fire";
for (int i = 0; i < cmd->m_csgoUserCmd.m_inputHistoryField.m_pRep->m_nAllocatedSize; i++)
{
CCSGOInputHistoryEntryPB* pInputEntry = cmd->GetInputHistoryEntry(i);
if (pInputEntry == nullptr)
continue;
if (pInputEntry->m_pViewCmd == nullptr)
continue;
pInputEntry->m_nPlayerTickCount = 0;
L_PRINT(LOG_INFO) << "tick:" << pInputEntry->m_nPlayerTickCount;
}
*/
}
} // run rapid fire on ( awp, scout, scar ) regeardless if we can shoot or not to avoid delays and shit.
else if (rage_data.accurate && rage_data.rapid_fire && weapon_data->datawep()->m_WeaponType() == WEAPONTYPE_SNIPER_RIFLE) {
sub_tick_data.command = command_msg::rapid_fire;
sub_tick_data.best_point = best_point;
}
else
sub_tick_data.command = command_msg::none;
Код:
bool rapid_fire;
bool do_rapid_fire;
enum command_msg
{
rapid_fire = 1,
teleport = 2,
};
Последнее редактирование: