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

Rifk7 crash hook windows 7

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Участник
Участник
Статус
Оффлайн
Регистрация
20 Апр 2017
Сообщения
1,375
Реакции
377
https://yougame.biz/threads/122141/ - данный топик не помог.

Пожалуйста, авторизуйтесь для просмотра ссылки.
- пример исходов рифка7, который крашит.


Крашит в момент первого хука, на Windows 10 работает, на Windows 7 - не работает.
 
Скрин дебагера в студию
Нет возможности скрин сделать, крашит в момент инициализации класса хука .

На Windows 10 работает заебись, на Windows 7 не работает.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Нет возможности скрин сделать, крашит в момент инициализации класса хука .

На Windows 10 работает заебись, на Windows 7 не работает.
Значит рифк не подходит на 7 винду, переписывай длл мейн или ставь 10-ку
 
Значит рифк не подходит на 7 винду, переписывай длл мейн или ставь 10-ку
ДА ЛАДНО? Ты гений, я до этого догадался и без тебя. Про дллмейн ты вообще хуйню втер.
Напоминает анекдот про чела который машину чинил и дауна с советами.
: А я знаю что у вас сломаалось - МАШИИНАА
 
Нет возможности скрин сделать, крашит в момент инициализации класса хука .

На Windows 10 работает заебись, на Windows 7 не работает.
Значит вызываешь неправильно, либо код кусок говна xD
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Значит вызываешь неправильно, либо код кусок говна xD
вы там в блейзхаке что ли все умудрились собрать? и рифк и фатал и монеон, ху0 там не было случайно?
 
вы там в блейзхаке что ли все умудрились собрать? и рифк и фатал и монеон, ху0 там не было случайно?
Рифк - да
фатал - вряд ли от него уже чёта осталось
Монеон - некоторые визуалы и легит от него остались
Ху0 - точно нет ( его там и не было )
Вантап - есть некоторые плюхи из него xd
Ну и самописного кода тоже хватает
 
https://yougame.biz/threads/122141/ - данный топик не помог.

Пожалуйста, авторизуйтесь для просмотра ссылки.
- пример исходов рифка7, который крашит.


Крашит в момент первого хука, на Windows 10 работает, на Windows 7 - не работает.
как то довелось мне пол года кодить под рифк. Мой тебе совет: бросай эту фигню

Там на первый взгляд все логично и все правильно. Но это только на первый. Потом начнешь замечать кучу приколов, которые по коду вроде не подозрительные, но на игру влияют пздц как. Для примеру,
в антиаимах
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Рифк - да
фатал - вряд ли от него уже чёта осталось
Монеон - некоторые визуалы и легит от него остались
Ху0 - точно нет ( его там и не было )
Вантап - есть некоторые плюхи из него xd
Ну и самописного кода тоже хватает
ЪАХАХАХАХАХАХА, ну бля красавцы тут не поспорить, так то норм замутили, локал анимки не из вт случайно?
 
как то довелось мне пол года кодить под рифк. Мой тебе совет: бросай эту фигню

Там на первый взгляд все логично и все правильно. Но это только на первый. Потом начнешь замечать кучу приколов, которые по коду вроде не подозрительные, но на игру влияют пздц как. Для примеру,
в антиаимах
так в паблике нет нихуя баз адекватных....был бы выбор
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.


Например:
Код:
Expand Collapse Copy
for (auto i = 0; i <= client_state->choked_commands; i++)
    {
        auto& c = input->commands[(cmd->command_number + i - client_state->choked_commands) % 150];
        auto& verified = input->verified_commands[(cmd->command_number + i - client_state->choked_commands) % 150];
        if (c.command_number >= shot_cmd && shot_cmd >= cmd->command_number - client_state->choked_commands) // useless залупа которая не пойми на кой хрен вообще нужна. Разве что для стрельбы из-под Choke. Но нах это надо, если когда ты чокаешь и стреляешь. твой питч висит почти секунду на макс фейклагах и тебя даже самая донная паста тапнет в бекшут.
        {
            auto target_angle = c.viewangles;
            c.viewangles = input->commands[shot_cmd % 150].viewangles; 
            // тут я добавлю tick_count из команды, где был сделан выстрел. Это так, что б бектрек реже багался. У меня без этого были миссы в бектрек в 40-50% случаев.
            c_aimhelper::fix_movement(&c, target_angle);
            math::ensure_bounds(c.viewangles, *reinterpret_cast<c_vector3d*>(&c.forwardmove));
            c_miscellaneous::set_buttons_for_direction(&c);
        }
        else
        {
            auto target_angle = c.viewangles;
            c.viewangles.x = 88.f; //going for that nazi shit
            if (left && !right && !back)
                last_real = c.viewangles.y += 90.f;
            else if (!left && right && !back)
                last_real = c.viewangles.y -= 90.f;
            else if (!left && !right && back)
                last_real = c.viewangles.y -= 180.f;
            else if (!left && !right && !back)
                last_real = c.viewangles.y = ideal_yaw;
            c.viewangles.z = 0.f;
            //last_fake = math::normalize_yaw(ideal_yaw - target_delta + max_delta);
            if (i != client_state->choked_commands)
            {
                const auto info = prediction_system->animation_info[
                    (cmd->command_number + i - client_state->choked_commands) % 150];              
                //*
                // make room for prediction error.
                const auto min = min_delta + .1f;
                const auto max = max_delta - .1f;
                 change break direction, let the enemy guess what direction we are faking.
                const auto delta = alternate ? min : max;
                alternate = !alternate;
                if (lby_update == info.curtime + global_vars_base->interval_per_tick || info.curtime + global_vars_base->interval_per_tick > next_lby_update)
                    c.viewangles.y = math::normalize_yaw(get_feet_yaw(local) - target_delta + delta);
                else if (lby_update == info.curtime || info.curtime > next_lby_update)
                    c.viewangles.y = math::normalize_yaw(get_feet_yaw(local) + target_delta);
                else
                    c.viewangles.y = math::normalize_yaw(ideal_yaw - target_delta + max);
                //*
                alternate = !alternate;
                if (!local->get_velocity().length2d() > 0.1 && local->is_on_ground()) //standing
                    c.viewangles.y = last_fake = math::normalize_yaw(get_feet_yaw(local) + RandomFloat(target_delta, -target_delta));
                else                                                                  //moving
                    c.viewangles.y = last_fake = math::normalize_yaw(alternate ? get_feet_yaw(local) + target_delta : get_feet_yaw(local) - target_delta);
            }
            c_aimhelper::fix_movement(&c, target_angle);
            math::ensure_bounds(c.viewangles, *reinterpret_cast<c_vector3d*>(&c.forwardmove));
            c_miscellaneous::set_buttons_for_direction(&c);
        }
        verified.cmd = c;
        verified.crc = get_check_sum(&verified.cmd);
        // fix up prediction and animate.
        prediction_system->repredict(local, &c);
        local->get_anim_state()->feet_yaw_rate = 0.f;
        animation_system->local_animation.eye_angles = c.viewangles;
        animation_system->update_player(local);
    }

Это мусор. В том сурсе что ты скинул это изменили, и хорошо. Да и ресольвер там тоже исправили. Но он все равно донный там.
Я сделал так:
Код:
Expand Collapse Copy
for (auto i = 0; i <= client_state->choked_commands; i++)
    {
        //auto& c = input->commands[(cmd->command_number + i - client_state->choked_commands) % 150];
        //auto& verified = input->verified_commands[(cmd->command_number + i - client_state->choked_commands) % 150];

        //auto& c = input->commands[shot_cmd % 150];
        //auto& verified = input->verified_commands[shot_cmd % 150];

        auto& c = input->commands[sequence_number % 150];
        auto& verified = input->verified_commands[sequence_number % 150];
        // фикс дробовиков и прочей радости. Так же, фиксит твой питч 0. Он быстрее проходит.
        if ((c.command_number == shot_cmd) /* && shot_cmd == (c.command_number - client_state->choked_commands)*/)
        {
            auto target_angle = c.viewangles;

            c = input->commands[shot_cmd % 150]; // simulate our shoot tick for most accuracy
            c.viewangles = input->commands[shot_cmd % 150].viewangles;
            c.tick_count = input->commands[shot_cmd % 150].tick_count; // фикс бектрека

            c_aimhelper::fix_movement(&c, target_angle);
            math::ensure_bounds(c.viewangles, *reinterpret_cast<c_vector3d*>(&c.forwardmove));
            c_miscellaneous::set_buttons_for_direction(&c);

            prediction_system->repredict(local, &c, c.command_number);
            local->get_anim_state()->feet_yaw_rate = 0.f;
            animation_system->local_animation.eye_angles = c.viewangles;
            animation_system->update_player(local);

            last_lby = local->get_lby();
            animation_system->local_animation.abs_ang.y = local->get_anim_state()->goal_feet_yaw;
            animation_system->local_animation.layers = animation_system->server_layers;
            animation_system->local_animation.poses = local->get_pose_parameter();
            animation_system->local_animation.real_eye_angles = animation_system->local_animation.eye_angles;

            verified.cmd = c;
            verified.crc = get_check_sum(&verified.cmd);

            on_shot = true;

            sendpacket = true;

            return;
        }
    }
// тут делаешь свои АА

А вот мультипоинты. Когда я их переделал из дефолтных, чит перестал тупить и начал чаще стрелять ( уже не делает 1 выстрел на 3 вражеских )
Да и голову видит нормально, а не стоит ждёт когда ты пытаешься прострелить преграду на 10-15 дамага.

Код:
Expand Collapse Copy
std::vector<c_aimhelper::aim_info> c_aimhelper::select_multipoint(c_animation_system::animation* animation, c_cs_player::hitbox box, int32_t group, float scaled_box, float scale_box2)
{
    std::vector<aim_info> points;

    if (!is_multipoint_hitbox(box))
        return points;

    auto scale = scale_box2;

    if (box == c_cs_player::hitbox::head)
        scale = scaled_box;

    const auto model = animation->player->get_model();

    if (!model)
        return points;

    const auto studio_model = model_info_client()->get_studio_model(model);

    if (!studio_model)
        return points;

    const auto local = c_cs_player::get_local_player();

    if (!local)
        return points;

    const auto weapon = reinterpret_cast<c_base_combat_weapon*>(client_entity_list()->get_client_entity_from_handle(local->get_current_weapon_handle()));

    if (!weapon)
        return points;

    const auto anim = animation_system->get_animation_info(animation->player);

    if (!anim)
        return points;

    const auto hitbox = studio_model->get_hitbox(static_cast<uint32_t>(box), 0);

    if (!hitbox)
        return points;

    const auto is_zeus = weapon->get_item_definition() == weapon_taser;

    if (is_zeus)
        return points;

    auto& mat = animation->bones[hitbox->bone];

    c_vector3d min, max;
    math::vector_transform(hitbox->bbmax, mat, max);
    math::vector_transform(hitbox->bbmin, mat, min);

    const auto center = (min + max) * 0.5f;
    const auto cur_angles = math::calc_angle(center, local->get_shoot_position());

    c_vector3d forward;
    math::angle_vectors(cur_angles, forward);

    auto rs = hitbox->radius * scale;
    rs *= 1.f - min_ak(anim->missed_due_to_spread, 3) * 0.25;

    //rs *= 1.f - min(anim->missed_due_to_spread, 4) * .5f;//.05f;

    if (rs < .2f)
        return points;

    const auto right = forward.cross(c_vector3d(0.f, 0.f, 1.f)) * rs;
    const auto left = c_vector3d(-right.x, -right.y, right.z);
    const auto top = c_vector3d(0.f, 0.f, 1.f) * rs;
    const auto bot = c_vector3d(0.f, 0.f, -1.f) * rs;

    const auto delta = (max - min).normalize();
    c_qangle angle;
    math::vector_angles(delta, angle);
    angle -= cur_angles;
    math::normalize(angle);

    const auto is_horizontal = angle.x < 45.f && angle.x > -45.f;
    const auto is_flipped = angle.y < 0.f;

    if (box == c_cs_player::hitbox::head)
    {
        points.emplace_back(center + top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + left, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + right, 0.f, animation, false, center, hitbox->radius, rs, box, group);
    }
    else
    {
        points.emplace_back(center + top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + left, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + right, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + bot, 0.f, animation, false, center, hitbox->radius, rs, box, group);
    }

    /*
    if (box == c_cs_player::hitbox::head || (box != c_cs_player::hitbox::left_foot && box != c_cs_player::hitbox::right_foot))
    {
        points.emplace_back(max + top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(min - top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
    }

    points.emplace_back(max - (is_horizontal ? c_vector3d() - top : left), 0.f, animation, false, center, hitbox->radius, rs, box, group);
    points.emplace_back(max - (is_horizontal ? is_flipped ? left : right : right), 0.f, animation, false, center, hitbox->radius, rs, box, group);

    if (box != c_cs_player::hitbox::left_foot && box != c_cs_player::hitbox::right_foot)
    {
        points.emplace_back(min - (is_horizontal ? top : left),
            0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(min + (is_horizontal ? is_flipped ? left : right : left),
            0.f, animation, false, center, hitbox->radius, rs, box, group);
    }
    */

    return points;
}

И даже это в той версии что ты скинул, тоже поправили:
Код:
Expand Collapse Copy
    // optimize multipoint and select final aimpoint.
    c_aimhelper::optimize_multipoint(best_match);

    // calculate angle.
    const auto angle = math::calc_angle(local->get_shoot_position(), best_match.position);

А было наоборот, то бишь функция optimize_multipoint работала за зря и угол между локальной позицией и best_match.position был старый без оптимайза.



И вообще я вижу, много приколюх в том сурсе что ты скинул уже пофиксили. Но это только беглый взгляд. У рифка трабл с предикшн системой. cl_showerror 2 в игровой консоли и справа будут ошибки показываться. Нужен так же VelMod фикс потому что из-за фейклагов у тебя с сервером разное значение, поэтому ты будешь срать по сприду ( это одна из причин почему виртуосити\рифк спамит по сприду, вторая причина это мульты. Третья причина это задержка от фейклага )
 
Например:
Код:
Expand Collapse Copy
for (auto i = 0; i <= client_state->choked_commands; i++)
    {
        auto& c = input->commands[(cmd->command_number + i - client_state->choked_commands) % 150];
        auto& verified = input->verified_commands[(cmd->command_number + i - client_state->choked_commands) % 150];
        if (c.command_number >= shot_cmd && shot_cmd >= cmd->command_number - client_state->choked_commands)
        {
            auto target_angle = c.viewangles;
            c.viewangles = input->commands[shot_cmd % 150].viewangles;
            c_aimhelper::fix_movement(&c, target_angle);
            math::ensure_bounds(c.viewangles, *reinterpret_cast<c_vector3d*>(&c.forwardmove));
            c_miscellaneous::set_buttons_for_direction(&c);
        }
        else
        {
            auto target_angle = c.viewangles;
            c.viewangles.x = 88.f; //going for that nazi shit
            if (left && !right && !back)
                last_real = c.viewangles.y += 90.f;
            else if (!left && right && !back)
                last_real = c.viewangles.y -= 90.f;
            else if (!left && !right && back)
                last_real = c.viewangles.y -= 180.f;
            else if (!left && !right && !back)
                last_real = c.viewangles.y = ideal_yaw;
            c.viewangles.z = 0.f;
            //last_fake = math::normalize_yaw(ideal_yaw - target_delta + max_delta);
            if (i != client_state->choked_commands)
            {
                const auto info = prediction_system->animation_info[
                    (cmd->command_number + i - client_state->choked_commands) % 150];              
                //*
                // make room for prediction error.
                const auto min = min_delta + .1f;
                const auto max = max_delta - .1f;
                 change break direction, let the enemy guess what direction we are faking.
                const auto delta = alternate ? min : max;
                alternate = !alternate;
                if (lby_update == info.curtime + global_vars_base->interval_per_tick || info.curtime + global_vars_base->interval_per_tick > next_lby_update)
                    c.viewangles.y = math::normalize_yaw(get_feet_yaw(local) - target_delta + delta);
                else if (lby_update == info.curtime || info.curtime > next_lby_update)
                    c.viewangles.y = math::normalize_yaw(get_feet_yaw(local) + target_delta);
                else
                    c.viewangles.y = math::normalize_yaw(ideal_yaw - target_delta + max);
                //*
                alternate = !alternate;
                if (!local->get_velocity().length2d() > 0.1 && local->is_on_ground()) //standing
                    c.viewangles.y = last_fake = math::normalize_yaw(get_feet_yaw(local) + RandomFloat(target_delta, -target_delta));
                else                                                                  //moving
                    c.viewangles.y = last_fake = math::normalize_yaw(alternate ? get_feet_yaw(local) + target_delta : get_feet_yaw(local) - target_delta);
            }
            c_aimhelper::fix_movement(&c, target_angle);
            math::ensure_bounds(c.viewangles, *reinterpret_cast<c_vector3d*>(&c.forwardmove));
            c_miscellaneous::set_buttons_for_direction(&c);
        }
        verified.cmd = c;
        verified.crc = get_check_sum(&verified.cmd);
        // fix up prediction and animate.
        prediction_system->repredict(local, &c);
        local->get_anim_state()->feet_yaw_rate = 0.f;
        animation_system->local_animation.eye_angles = c.viewangles;
        animation_system->update_player(local);
    }

Это мусор. В том сурсе что ты скинул это изменили, и хорошо. Да и ресольвер там тоже исправили. Но он все равно донный там.
Я сделал так:
Код:
Expand Collapse Copy
for (auto i = 0; i <= client_state->choked_commands; i++)
    {
        //auto& c = input->commands[(cmd->command_number + i - client_state->choked_commands) % 150];
        //auto& verified = input->verified_commands[(cmd->command_number + i - client_state->choked_commands) % 150];

        //auto& c = input->commands[shot_cmd % 150];
        //auto& verified = input->verified_commands[shot_cmd % 150];

        auto& c = input->commands[sequence_number % 150];
        auto& verified = input->verified_commands[sequence_number % 150];
        // фикс дробовиков и прочей радости. Так же, фиксит твой питч 0. Он быстрее проходит.
        if ((c.command_number == shot_cmd) /* && shot_cmd == (c.command_number - client_state->choked_commands)*/)
        {
            auto target_angle = c.viewangles;

            c = input->commands[shot_cmd % 150]; // simulate our shoot tick for most accuracy
            c.viewangles = input->commands[shot_cmd % 150].viewangles;
            c.tick_count = input->commands[shot_cmd % 150].tick_count; // фикс бектрека

            c_aimhelper::fix_movement(&c, target_angle);
            math::ensure_bounds(c.viewangles, *reinterpret_cast<c_vector3d*>(&c.forwardmove));
            c_miscellaneous::set_buttons_for_direction(&c);

            prediction_system->repredict(local, &c, c.command_number);
            local->get_anim_state()->feet_yaw_rate = 0.f;
            animation_system->local_animation.eye_angles = c.viewangles;
            animation_system->update_player(local);

            last_lby = local->get_lby();
            animation_system->local_animation.abs_ang.y = local->get_anim_state()->goal_feet_yaw;
            animation_system->local_animation.layers = animation_system->server_layers;
            animation_system->local_animation.poses = local->get_pose_parameter();
            animation_system->local_animation.real_eye_angles = animation_system->local_animation.eye_angles;

            verified.cmd = c;
            verified.crc = get_check_sum(&verified.cmd);

            on_shot = true;

            sendpacket = true;

            return;
        }
    }
// тут делаешь свои АА

А вот мультипоинты. Когда я их переделал из дефолтных, чит перестал тупить и начал чаще стрелять ( уже не делает 1 выстрел на 3 вражеских )
Да и голову видит нормально, а не стоит ждёт когда ты пытаешься прострелить преграду на 10-15 дамага.

Код:
Expand Collapse Copy
std::vector<c_aimhelper::aim_info> c_aimhelper::select_multipoint(c_animation_system::animation* animation, c_cs_player::hitbox box, int32_t group, float scaled_box, float scale_box2)
{
    std::vector<aim_info> points;

    if (!is_multipoint_hitbox(box))
        return points;

    auto scale = scale_box2;

    if (box == c_cs_player::hitbox::head)
        scale = scaled_box;

    const auto model = animation->player->get_model();

    if (!model)
        return points;

    const auto studio_model = model_info_client()->get_studio_model(model);

    if (!studio_model)
        return points;

    const auto local = c_cs_player::get_local_player();

    if (!local)
        return points;

    const auto weapon = reinterpret_cast<c_base_combat_weapon*>(client_entity_list()->get_client_entity_from_handle(local->get_current_weapon_handle()));

    if (!weapon)
        return points;

    const auto anim = animation_system->get_animation_info(animation->player);

    if (!anim)
        return points;

    const auto hitbox = studio_model->get_hitbox(static_cast<uint32_t>(box), 0);

    if (!hitbox)
        return points;

    const auto is_zeus = weapon->get_item_definition() == weapon_taser;

    if (is_zeus)
        return points;

    auto& mat = animation->bones[hitbox->bone];

    c_vector3d min, max;
    math::vector_transform(hitbox->bbmax, mat, max);
    math::vector_transform(hitbox->bbmin, mat, min);

    const auto center = (min + max) * 0.5f;
    const auto cur_angles = math::calc_angle(center, local->get_shoot_position());

    c_vector3d forward;
    math::angle_vectors(cur_angles, forward);

    auto rs = hitbox->radius * scale;
    rs *= 1.f - min_ak(anim->missed_due_to_spread, 3) * 0.25;

    //rs *= 1.f - min(anim->missed_due_to_spread, 4) * .5f;//.05f;

    if (rs < .2f)
        return points;

    const auto right = forward.cross(c_vector3d(0.f, 0.f, 1.f)) * rs;
    const auto left = c_vector3d(-right.x, -right.y, right.z);
    const auto top = c_vector3d(0.f, 0.f, 1.f) * rs;
    const auto bot = c_vector3d(0.f, 0.f, -1.f) * rs;

    const auto delta = (max - min).normalize();
    c_qangle angle;
    math::vector_angles(delta, angle);
    angle -= cur_angles;
    math::normalize(angle);

    const auto is_horizontal = angle.x < 45.f && angle.x > -45.f;
    const auto is_flipped = angle.y < 0.f;

    if (box == c_cs_player::hitbox::head)
    {
        points.emplace_back(center + top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + left, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + right, 0.f, animation, false, center, hitbox->radius, rs, box, group);
    }
    else
    {
        points.emplace_back(center + top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + left, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + right, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(center + bot, 0.f, animation, false, center, hitbox->radius, rs, box, group);
    }

    /*
    if (box == c_cs_player::hitbox::head || (box != c_cs_player::hitbox::left_foot && box != c_cs_player::hitbox::right_foot))
    {
        points.emplace_back(max + top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(min - top, 0.f, animation, false, center, hitbox->radius, rs, box, group);
    }

    points.emplace_back(max - (is_horizontal ? c_vector3d() - top : left), 0.f, animation, false, center, hitbox->radius, rs, box, group);
    points.emplace_back(max - (is_horizontal ? is_flipped ? left : right : right), 0.f, animation, false, center, hitbox->radius, rs, box, group);

    if (box != c_cs_player::hitbox::left_foot && box != c_cs_player::hitbox::right_foot)
    {
        points.emplace_back(min - (is_horizontal ? top : left),
            0.f, animation, false, center, hitbox->radius, rs, box, group);
        points.emplace_back(min + (is_horizontal ? is_flipped ? left : right : left),
            0.f, animation, false, center, hitbox->radius, rs, box, group);
    }
    */

    return points;
}

И даже это в той версии что ты скинул, тоже поправили:
Код:
Expand Collapse Copy
    // optimize multipoint and select final aimpoint.
    c_aimhelper::optimize_multipoint(best_match);

    // calculate angle.
    const auto angle = math::calc_angle(local->get_shoot_position(), best_match.position);

А было наоборот, то бишь функция optimize_multipoint работала за зря и угол между локальной позицией и best_match.position был старый без оптимайза.



И вообще я вижу, много приколюх в том сурсе что ты скинул уже пофиксили. Но это только беглый взгляд. У рифка трабл с предикшн системой. cl_showerror 2 в игровой консоли и справа будут ошибки показываться. Нужен так же VelMod фикс потому что из-за фейклагов у тебя с сервером разное значение, поэтому ты будешь срать по сприду ( это одна из причин почему виртуосити\рифк спамит по сприду, вторая причина это мульты. Третья причина это задержка от фейклага )
ну конкретно ты с крашем сталкивался? на старых системах. Я понимаю, что с хуками проблема...
 
ну конкретно ты с крашем сталкивался? на старых системах. Я понимаю, что с хуками проблема...
С крашем при инжекте вроде нет. Просто не инжектилось на 7. Но у некоторых работало даже на 7. Брейкпоинт показывал что до net channel
Код:
Expand Collapse Copy
c_client_mode_shared::hook();
    c_wnd_proc::hook();
    c_client::hook();
    c_cs_player_::hook();
    c_surface_::hook();
    c_events::hook();
    c_render_view_::hook();
    c_model_render_::hook();  
    c_game_event_manager_::hook();
    c_base_animating_::hook();
    c_engine_client_::hook();
    c_cl_csm_shadows::hook();
    c_cl_camera_height_restriction_debug::hook();
    c_view_render_::hook();
    c_prediction_::hook();
    c_client_state_::hook();
    c_mdl_cache::hook();
    c_engine_sound_::hook();
    c_sv_cheats::hook();
    c_panel_::hook();
    c_smoke_grenade_projectile_::hook();
    c_net_channel_::hook();
все окей. А значит либо крашит net channel либо что-то другое, но не хук, а уже c_menu::instance();
Фикс краша для меню есть в том топике который ты говоришь, что он не работает.
Попробуй как-нибудь узнать где именно у тебя происходит краш что б не тыкать пальцем в небо.
Вполне вероятно, крашит хандлер от радио. Там куча кода и я вообще не разбирался в нем. Его можно заккоментить и проверить.
(BASS - > dll.cpp)

Заккоменить можно в sounds.cpp все что ниже rifk ( define rifk::instance() )
Аля вот так:
Код:
Expand Collapse Copy
void playback_loop()
{
    while (!memory::get_module_handle(fnv1a("serverbrowser.dll")))
        std::this_thread::sleep_for(100ms);
    hotkeys->register_callback([&](auto code) -> void {
        if (code != VK_INSERT)
            return;

        menu.opened = !menu.opened;
        // reset hold

        input_system()->enable_input(!menu.opened);
        input_system()->reset_input_state();
        });
        // reset hold

    rifk;
/*
    BASS::bass_lib_handle = BASS::bass_lib.LoadFromMemory(bass_dll_image, sizeof(bass_dll_image));

    if (BASS_INIT_ONCE())
        BASS::bass_init = TRUE;

    static auto bass_needs_reinit = false;

    static std::pair<std::string, char> channels[] = {
        __(" "),
        __("http://www.rockantenne.de/webradio/channels/alternative.m3u"),
        __("http://listen.technobase.fm/dsl.pls"),
        __("http://streams.bigfm.de/bigfm-deutschrap-128-aac"),
        __("http://mp3.stream.tb-group.fm/tt.mp3"),
        __("http://mp3.stream.tb-group.fm/clt.mp3"),
        __("http://mp3.stream.tb-group.fm/ht.mp3"),
        __("http://www.iloveradio.de/iloveradio.m3u"),
        __("http://8bit.fm:8000/live"),
        __("http://air.radiorecord.ru:8101/rr_320"),
        __("https://dfm.hostingradio.ru/dfm96.aacp"),
        __("http://ic2.101.ru:8000/v1_1"),   
        __("http://retroserver.streamr.ru:8043/retro256.mp3"),
        
    };

    hotkeys->register_callback([](const uint32_t code) -> void
    {
        if (code != 0 && code == config.misc.radio_mute && !menu.opened)
            radio_muted = !radio_muted;
    });

    while (true)
    {
        std::this_thread::sleep_for(100ms);
        const auto desired_channel = config.misc.radio_channel;

        if (BASS::bass_init && desired_channel)
        {
            static auto current_channel = 0;

            if (current_channel != desired_channel || bass_needs_reinit)
            {
                bass_needs_reinit = false;
                BASS_Start();
                _rt(channel, channels[desired_channel]);
                BASS_OPEN_STREAM(channel);
                current_channel = desired_channel;
            }
            
            BASS_SET_VOLUME(BASS::stream_handle, radio_muted ? 0.f : config.misc.radio_volume / 100.f);
            BASS_PLAY_STREAM();
        }
        else if (BASS::bass_init)
        {
            bass_needs_reinit = true;
            BASS_StreamFree(BASS::stream_handle);
        }
    }
    */
}

Краш при смене карты из-за материалов под чамсы. Тебе нужно очистить память при смене карты дабы чит не обратился по неактуальному адресу который уже nullptr материала.
 
Последнее редактирование:
С крашем при инжекте вроде нет. Просто не инжектилось на 7. Но у некоторых работало даже на 7. Брейкпоинт показывал что до net channel
Код:
Expand Collapse Copy
c_client_mode_shared::hook();
    c_wnd_proc::hook();
    c_client::hook();
    c_cs_player_::hook();
    c_surface_::hook();
    c_events::hook();
    c_render_view_::hook();
    c_model_render_::hook(); 
    c_game_event_manager_::hook();
    c_base_animating_::hook();
    c_engine_client_::hook();
    c_cl_csm_shadows::hook();
    c_cl_camera_height_restriction_debug::hook();
    c_view_render_::hook();
    c_prediction_::hook();
    c_client_state_::hook();
    c_mdl_cache::hook();
    c_engine_sound_::hook();
    c_sv_cheats::hook();
    c_panel_::hook();
    c_smoke_grenade_projectile_::hook();
    c_net_channel_::hook();
все окей. А значит либо крашит net channel либо что-то другое, но не хук, а уже c_menu::instance();
Фикс краша для меню есть в том топике который ты говоришь, что он не работает.
Попробуй как-нибудь узнать где именно у тебя происходит краш что б не тыкать пальцем в небо.
Вполне вероятно, крашит хандлер от радио. Там куча кода и я вообще не разбирался в нем. Его можно заккоментить и проверить.
(BASS - > dll.cpp)

Заккоменить можно в sounds.cpp все что ниже rifk ( define rifk::instance() )
Аля вот так:
Код:
Expand Collapse Copy
void playback_loop()
{
    while (!memory::get_module_handle(fnv1a("serverbrowser.dll")))
        std::this_thread::sleep_for(100ms);
    hotkeys->register_callback([&](auto code) -> void {
        if (code != VK_INSERT)
            return;

        menu.opened = !menu.opened;
        // reset hold

        input_system()->enable_input(!menu.opened);
        input_system()->reset_input_state();
        });
        // reset hold

    rifk;
/*
    BASS::bass_lib_handle = BASS::bass_lib.LoadFromMemory(bass_dll_image, sizeof(bass_dll_image));

    if (BASS_INIT_ONCE())
        BASS::bass_init = TRUE;

    static auto bass_needs_reinit = false;

    static std::pair<std::string, char> channels[] = {
        __(" "),
        __("http://www.rockantenne.de/webradio/channels/alternative.m3u"),
        __("http://listen.technobase.fm/dsl.pls"),
        __("http://streams.bigfm.de/bigfm-deutschrap-128-aac"),
        __("http://mp3.stream.tb-group.fm/tt.mp3"),
        __("http://mp3.stream.tb-group.fm/clt.mp3"),
        __("http://mp3.stream.tb-group.fm/ht.mp3"),
        __("http://www.iloveradio.de/iloveradio.m3u"),
        __("http://8bit.fm:8000/live"),
        __("http://air.radiorecord.ru:8101/rr_320"),
        __("https://dfm.hostingradio.ru/dfm96.aacp"),
        __("http://ic2.101.ru:8000/v1_1"),  
        __("http://retroserver.streamr.ru:8043/retro256.mp3"),
       
    };

    hotkeys->register_callback([](const uint32_t code) -> void
    {
        if (code != 0 && code == config.misc.radio_mute && !menu.opened)
            radio_muted = !radio_muted;
    });

    while (true)
    {
        std::this_thread::sleep_for(100ms);
        const auto desired_channel = config.misc.radio_channel;

        if (BASS::bass_init && desired_channel)
        {
            static auto current_channel = 0;

            if (current_channel != desired_channel || bass_needs_reinit)
            {
                bass_needs_reinit = false;
                BASS_Start();
                _rt(channel, channels[desired_channel]);
                BASS_OPEN_STREAM(channel);
                current_channel = desired_channel;
            }
           
            BASS_SET_VOLUME(BASS::stream_handle, radio_muted ? 0.f : config.misc.radio_volume / 100.f);
            BASS_PLAY_STREAM();
        }
        else if (BASS::bass_init)
        {
            bass_needs_reinit = true;
            BASS_StreamFree(BASS::stream_handle);
        }
    }
    */
}

Краш при смене карты из-за материалов под чамсы. Тебе нужно очистить память при смене карты дабы чит не обратился по неактуальному адресу который уже nullptr материала.
Спасибо. BASS я удалил сразу же.

Попробую конечно один вариант, может получится.
 
Назад
Сверху Снизу