-
Автор темы
- #1
Подгоните это под лв, пожалуйста
C++:
void Resolver::ResolveEntity ( Player* player, AimPlayer* data, LagComp::LagRecord_t* record, LagComp::LagRecord_t* prev_record ) {
// get the players max rotation.
float max_rotation = record->m_pEntity->GetMaxBodyRotation ( );
if ( !record->m_pState )
return;
const auto info = g_anims.GetAnimationInfo ( record->m_pEntity );
if ( !info )
return;
if ( !g_cfg [ ( "aimbot_resolver" ) ].get< bool > ( ) )
return;
if ( !prev_record )
return;
float eye_yaw = record->m_pState->eye_angles_y;
// detect if player is using maximum desync.
data->m_extending = record->m_pLayers [ 3 ].m_cycle == 0.f && record->m_pLayers [ 3 ].m_weight == 0.f;
// resolve shooting players separately.
if ( record->m_bDidShot ) {
record->m_pState->goal_feet_yaw = eye_yaw + Resolver::ResolveShot ( data, record );
return;
}
else {
if ( record->m_pEntity->m_vecVelocity ( ).length_2d ( ) <= 0.1 ) {
float angle_difference = math::AngleDiff ( eye_yaw, record->m_pState->goal_feet_yaw );
data->m_index = 2 * angle_difference <= 0.0f ? 1 : -1;
}
else
{
if ( prev_record && !( ( int ) record->m_pLayers [ 12 ].m_weight * 1000.f ) && record->m_pEntity->m_vecVelocity ( ).length_2d ( ) > 0.1 &&
( ( int ) record->m_pLayers [ 6 ].m_weight * 1000.f ) == ( ( int ) prev_record->m_pLayers [ 6 ].m_weight * 1000.f ) ) {
auto m_layer_delta1 = abs ( record->m_pLayers [ 6 ].m_playback_rate - record->center_layers [ 6 ].m_playback_rate );
auto m_layer_delta2 = abs ( record->m_pLayers [ 6 ].m_playback_rate - record->left_layers [ 6 ].m_playback_rate );
auto m_layer_delta3 = abs ( record->m_pLayers [ 6 ].m_playback_rate - record->right_layers [ 6 ].m_playback_rate );
if ( m_layer_delta1 < m_layer_delta2
|| m_layer_delta3 <= m_layer_delta2
|| ( signed int ) ( float ) ( m_layer_delta2 * 1000.0 ) )
{
if ( m_layer_delta1 >= m_layer_delta3
&& m_layer_delta2 > m_layer_delta3
&& !( signed int ) ( float ) ( m_layer_delta3 * 1000.0 ) )
{
data->m_index = 1;
}
}
else
{
data->m_index = -1;
}
}
}
}
switch ( data->m_missed_shots % 3 ) {
case 0: //default
record->m_pState->goal_feet_yaw = build_server_abs_yaw ( player, record->m_angEyeAngles.y + max_rotation * data->m_index );
break;
case 1: //reverse
record->m_pState->goal_feet_yaw = build_server_abs_yaw ( player, record->m_angEyeAngles.y + max_rotation * -data->m_index );
break;
case 2: //middle
record->m_pState->goal_feet_yaw = build_server_abs_yaw ( player, record->m_angEyeAngles.y );
break;
}
}