Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Deadcell

Потому что был хитшанс, а стал сприд лимит, ну работает нормально, значит можно было и не делать хитшанс
Я не думаю что там огромная разница. Тот код что ты сделал у меня был в замане и оно работало отлично
 
Потому что был хитшанс, а стал сприд лимит, ну работает нормально, значит можно было и не делать хитшанс
Код:
Expand Collapse Copy
bool c_ragebot::hitchance( vec3_t &angle, c_csplayer *ent ) {
    int traces_hit = 0;
    auto local = c_csplayer::get_local( );
    if( !local )
        return false;

    vec3_t forward, right, up;
    const vec3_t eye_position = local->eye_pos( );
    math::angle_to_vectors( angle + local->punch_angle( ) * 2.f, &forward, &right, &up ); // maybe add an option to not account for punch.

    c_base_combat_weapon *weapon = local->get_active_weapon( );
    if( !weapon )
        return false;

    weapon->update_accuracy( );
    float weapon_spread = weapon->spread( );
    float weapon_cone = weapon->inaccuracy( );

    const auto get_bullet_location = [ & ]( int seed ) {
        static auto random_seed = pe::get_export< void( *)( int ) >( pe::get_module( "vstdlib.dll" ), "RandomSeed" );
        random_seed( seed );

        float a = math::random_float( 0.f, 1.f );
        float b = math::random_float( 0.f, 2.f * math::pi );
        float c = math::random_float( 0.f, 1.f );
        float d = math::random_float( 0.f, 2.f * math::pi );

        const float generated_spread = a * weapon_spread;
        const float generated_cone = c * weapon_cone;

        const vec3_t spread = vec3_t(
            std::cos( b ) * generated_spread + std::cos( d ) * generated_cone,
            std::sin( b ) * generated_spread + std::sin( d ) * generated_cone,
            0.f
        );

        return vec3_t( forward + right * -spread.x + up * -spread.y ).normalized( );
    };

    for( int i = 1; i <= 256; i++ ) {
        vec3_t spread_angle;
        vec3_t bullet_end;

        math::vector_angle( get_bullet_location( i ), spread_angle );
        math::angle_to_vector( angle - ( spread_angle - angle ), bullet_end );

        trace_t trace;
        ray_t ray;
        ray.init( eye_position, eye_position + bullet_end * weapon->get_weapon_info( )->range );

        g_csgo.m_engine_trace->clip_ray_to_entity( ray, MASK_SHOT, ent, &trace );

        if( trace.m_hit_entity == ent )
            ++traces_hit;

        if( traces_hit >= static_cast< int >( g_vars.rage.hitchance * 2.56f ) )
            return true;
    }

    return false;
}
ср**ная магия а не функция. Шо за числа, шо за деления бл*ть. На**й тут рейкаст!? Одному Богу известно...
 
Код:
Expand Collapse Copy
bool c_ragebot::hitchance( vec3_t &angle, c_csplayer *ent ) {
    int traces_hit = 0;
    auto local = c_csplayer::get_local( );
    if( !local )
        return false;

    vec3_t forward, right, up;
    const vec3_t eye_position = local->eye_pos( );
    math::angle_to_vectors( angle + local->punch_angle( ) * 2.f, &forward, &right, &up ); // maybe add an option to not account for punch.

    c_base_combat_weapon *weapon = local->get_active_weapon( );
    if( !weapon )
        return false;

    weapon->update_accuracy( );
    float weapon_spread = weapon->spread( );
    float weapon_cone = weapon->inaccuracy( );

    const auto get_bullet_location = [ & ]( int seed ) {
        static auto random_seed = pe::get_export< void( *)( int ) >( pe::get_module( "vstdlib.dll" ), "RandomSeed" );
        random_seed( seed );

        float a = math::random_float( 0.f, 1.f );
        float b = math::random_float( 0.f, 2.f * math::pi );
        float c = math::random_float( 0.f, 1.f );
        float d = math::random_float( 0.f, 2.f * math::pi );

        const float generated_spread = a * weapon_spread;
        const float generated_cone = c * weapon_cone;

        const vec3_t spread = vec3_t(
            std::cos( b ) * generated_spread + std::cos( d ) * generated_cone,
            std::sin( b ) * generated_spread + std::sin( d ) * generated_cone,
            0.f
        );

        return vec3_t( forward + right * -spread.x + up * -spread.y ).normalized( );
    };

    for( int i = 1; i <= 256; i++ ) {
        vec3_t spread_angle;
        vec3_t bullet_end;

        math::vector_angle( get_bullet_location( i ), spread_angle );
        math::angle_to_vector( angle - ( spread_angle - angle ), bullet_end );

        trace_t trace;
        ray_t ray;
        ray.init( eye_position, eye_position + bullet_end * weapon->get_weapon_info( )->range );

        g_csgo.m_engine_trace->clip_ray_to_entity( ray, MASK_SHOT, ent, &trace );

        if( trace.m_hit_entity == ent )
            ++traces_hit;

        if( traces_hit >= static_cast< int >( g_vars.rage.hitchance * 2.56f ) )
            return true;
    }

    return false;
}
ср**ная магия а не функция. Шо за числа, шо за деления бл*ть. На**й тут рейкаст!? Одному Богу известно...
Ну впринципе всё логично, рандомные значения раскидываем по экрану, смотрим сколько точек попало в разброс, и умножаем хитшанс на 2.56 и смотрим, что больше - точки в разбросе или хитшанс. Если первое - то стреляем, а если второе - то нет
 
Ну впринципе всё логично, рандомные значения раскидываем по экрану, смотрим сколько точек попало в разброс, и умножаем хитшанс на 2.56 и смотрим, что больше - точки в разбросе или хитшанс. Если первое - то стреляем, а если второе - то нет
А хули именно 2.56. Вот я за это. Откуда мне знать, чо оно не работает, если 2.56? Я по жизни 2.56
 
Ну впринципе всё логично, рандомные значения раскидываем по экрану, смотрим сколько точек попало в разброс, и умножаем хитшанс на 2.56 и смотрим, что больше - точки в разбросе или хитшанс. Если первое - то стреляем, а если второе - то нет
Кстати. А тебя не смущает, что цикл на 256 и с рейкастом ( сам по себе тяжеленький такой, ну, сам понимаешь... )
Класс -фпс) Мб кстати отсюда и просадки в этом сурсе. Хотя там весь рейдж такой, оптимизированный
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну впринципе всё логично, рандомные значения раскидываем по экрану, смотрим сколько точек попало в разброс, и умножаем хитшанс на 2.56 и смотрим, что больше - точки в разбросе или хитшанс. Если первое - то стреляем, а если второе - то нет
ебать ты мне глаза раскрыл.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
никогда раньше не работал с ёбаным аимботом(хитшанс/миндмг/хитскан)
блять, сложна
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
Expand Collapse Copy
void c_ragebot::auto_revolver( c_base_combat_weapon *local_weapon, c_user_cmd *cmd ) {
    if( !local_weapon || local_weapon->item_index( ) != WEAPON_REVOLVER )
        return;

    if( !( TIME_TO_TICKS( g_csgo.m_global_vars->m_cur_time - local_weapon->ready_time( ) ) <= -1 ) )
        return;

    cmd->m_buttons |= IN_ATTACK;
}
пофиксите ревик плз)
 
Код:
Expand Collapse Copy
void c_ragebot::auto_revolver( c_base_combat_weapon *local_weapon, c_user_cmd *cmd ) {
    if( !local_weapon || local_weapon->item_index( ) != WEAPON_REVOLVER )
        return;

    if( !( TIME_TO_TICKS( g_csgo.m_global_vars->m_cur_time - local_weapon->ready_time( ) ) <= -1 ) )
        return;

    cmd->m_buttons |= IN_ATTACK;
}
пофиксите ревик плз)
а пососать не завернуть
 
Код:
Expand Collapse Copy
void c_ragebot::auto_revolver( c_base_combat_weapon *local_weapon, c_user_cmd *cmd ) {
    if( !local_weapon || local_weapon->item_index( ) != WEAPON_REVOLVER )
        return;

    if( !( TIME_TO_TICKS( g_csgo.m_global_vars->m_cur_time - local_weapon->ready_time( ) ) <= -1 ) )
        return;

    cmd->m_buttons |= IN_ATTACK;
}
пофиксите ревик плз)
А что с ним не так?
 
Если честно, от части я согласен. Если значения по дефолту будут отличаться от необходимых ( и тех которые были в предыдущей менюшке )
Например, тот же хитшанс по дефолту 0, автоволл тоже 0 по дефолту. Что твой чит будет делать?)))
Было уже такое, это не сама смена меню, а значения, которые берутся из меню. Так правильнее

это не спорю,но не думаю что меню сломает чит(если грамотно все сделать)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я не догоняю, а как меню может сломать чит, лол?
В каком плане?
коряво сделанное может вызывать краши, а так же настройки которые берутся из меню могут вызывать проблемы внутри самого чита и он начинает вести себя непредсказуемо. Но если делать нормально, то ниче там не сломается
 
Назад
Сверху Снизу