Вопрос Как сделать rapid fire CS2

Начинающий
Статус
Оффлайн
Регистрация
28 Мар 2023
Сообщения
100
Реакции[?]
12
Поинты[?]
7K
как сделать rapid fire на imgui directx11 kiero hook c++ помогите пожалуйста
 
1337
Пользователь
Статус
Оффлайн
Регистрация
13 Ноя 2022
Сообщения
88
Реакции[?]
48
Поинты[?]
43K
player_tickcount = 0 in either createmove or input_msg_parser
yes yes and VAC will knock on your door in an instant.


rapidfire:
class CNetInputMessage
{
public:
    std::int32_t m_nRenderTickCount; //0x0000
    float m_flRenderTickFraction; //0x0004
    std::int32_t m_nPlayerTickCount; //0x0008
    float m_flPlayerTickFraction; //0x000C
    char __pad0010[ 24 ]; //0x0010
    std::int32_t m_nInvalidIndex; //0x0028
    char __pad002C[ 8 ]; //0x002C
}; // size: 0x0034

__int64 __fastcall C_Hooks::ModifyInputHistory( CNetInputMessage* a1, void* a2, char a3, __int64 a4, __int64 a5, __int64 a6 )
{
    if ( Globals::m_bUnloading )
        return ogModifyInputHistory( a1, a2, a3, a4, a5, a6 );

    // its just an example, in order to do it properly you need to backtrack yourself here. backtracking works the same as in csgo
    // modify tickcount in createmove and recieve your instant VAC.
    if ( a1 != nullptr )
    {
        if ( Config::m_bRapidFire )
        {
            a1->m_nPlayerTickCount = 0;
            a1->m_nRenderTickCount = 0;
            
            // another input history?
            [I]( int[/I] ) ( ( DWORD64 ) a2 + 0x0068 ) = 0; // nPlayerTickCount
            [I]( int[/I] ) ( ( DWORD64 ) a2 + 0x0060 ) = 0; // nRenderTickCount
        }

        // you should restore after the user disabled rapidfire
    }

    return ogModifyInputHistory( a1, a2, a3, a4, a5, a6 );
}
 
primordial
Пользователь
Статус
Оффлайн
Регистрация
4 Сен 2020
Сообщения
361
Реакции[?]
128
Поинты[?]
42K
yes yes and VAC will knock on your door in an instant.


rapidfire:
class CNetInputMessage
{
public:
    std::int32_t m_nRenderTickCount; //0x0000
    float m_flRenderTickFraction; //0x0004
    std::int32_t m_nPlayerTickCount; //0x0008
    float m_flPlayerTickFraction; //0x000C
    char __pad0010[ 24 ]; //0x0010
    std::int32_t m_nInvalidIndex; //0x0028
    char __pad002C[ 8 ]; //0x002C
}; // size: 0x0034

__int64 __fastcall C_Hooks::ModifyInputHistory( CNetInputMessage* a1, void* a2, char a3, __int64 a4, __int64 a5, __int64 a6 )
{
    if ( Globals::m_bUnloading )
        return ogModifyInputHistory( a1, a2, a3, a4, a5, a6 );

    // its just an example, in order to do it properly you need to backtrack yourself here. backtracking works the same as in csgo
    // modify tickcount in createmove and recieve your instant VAC.
    if ( a1 != nullptr )
    {
        if ( Config::m_bRapidFire )
        {
            a1->m_nPlayerTickCount = 0;
            a1->m_nRenderTickCount = 0;
           
            // another input history?
            [I]( int[/I] ) ( ( DWORD64 ) a2 + 0x0068 ) = 0; // nPlayerTickCount
            [I]( int[/I] ) ( ( DWORD64 ) a2 + 0x0060 ) = 0; // nRenderTickCount
        }

        // you should restore after the user disabled rapidfire
    }

    return ogModifyInputHistory( a1, a2, a3, a4, a5, a6 );
}
client.dll "48 8B C4 4C 89 48 20 55 56 41 56 48 8D 68 B1 48 81 EC D0 00 00 00"
 
anonymous
Участник
Статус
Онлайн
Регистрация
18 Окт 2022
Сообщения
607
Реакции[?]
216
Поинты[?]
144K
yes yes and VAC will knock on your door in an instant.


rapidfire:
class CNetInputMessage
{
public:
    std::int32_t m_nRenderTickCount; //0x0000
    float m_flRenderTickFraction; //0x0004
    std::int32_t m_nPlayerTickCount; //0x0008
    float m_flPlayerTickFraction; //0x000C
    char __pad0010[ 24 ]; //0x0010
    std::int32_t m_nInvalidIndex; //0x0028
    char __pad002C[ 8 ]; //0x002C
}; // size: 0x0034

__int64 __fastcall C_Hooks::ModifyInputHistory( CNetInputMessage* a1, void* a2, char a3, __int64 a4, __int64 a5, __int64 a6 )
{
    if ( Globals::m_bUnloading )
        return ogModifyInputHistory( a1, a2, a3, a4, a5, a6 );

    // its just an example, in order to do it properly you need to backtrack yourself here. backtracking works the same as in csgo
    // modify tickcount in createmove and recieve your instant VAC.
    if ( a1 != nullptr )
    {
        if ( Config::m_bRapidFire )
        {
            a1->m_nPlayerTickCount = 0;
            a1->m_nRenderTickCount = 0;
           
            // another input history?
            [I]( int[/I] ) ( ( DWORD64 ) a2 + 0x0068 ) = 0; // nPlayerTickCount
            [I]( int[/I] ) ( ( DWORD64 ) a2 + 0x0060 ) = 0; // nRenderTickCount
        }

        // you should restore after the user disabled rapidfire
    }

    return ogModifyInputHistory( a1, a2, a3, a4, a5, a6 );
}
yoooo bro all your posts kick hard like tyson
 
Начинающий
Статус
Оффлайн
Регистрация
3 Дек 2022
Сообщения
41
Реакции[?]
4
Поинты[?]
4K
Anyone else run into the issue of rapid fire shots like not registering??? RapidFire sometimes be shooting but none of my bullets leave the gun so it gets stuck infinitly shooting ghost bullets never running out of ammo
 
Начинающий
Статус
Оффлайн
Регистрация
29 Дек 2021
Сообщения
81
Реакции[?]
16
Поинты[?]
10K
1337
Пользователь
Статус
Оффлайн
Регистрация
13 Ноя 2022
Сообщения
88
Реакции[?]
48
Поинты[?]
43K
off-topic: dont buy sources from pasters kids... its bad
on-topic: you need to charge the shots before shooting them. also you need to backtrack yourself not to set tickcount to 0...
 
Начинающий
Статус
Оффлайн
Регистрация
1 Июл 2021
Сообщения
55
Реакции[?]
3
Поинты[?]
4K
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 = Vector_t(rage->sub_tick_data.best_point.x, rage->sub_tick_data.best_point.y, range->sub_tick_data.best_point.z);
Input->m_view_angles.clamp();
InputHistoryEntry->m_pViewCmd->m_andValue = range->sub_tick_data.best_point;
InputHistoryEntry->m_pViewCmd->m_angValue.Clamp();
// override tickcount
Input History Entry->m_n Player TickCount = 0;
Input->m_player_tick_count = 0;
// perform shooting
SDK::Cmd->m_buttons.m_n Value |= IN_ATTACK;
}
else
SDK::Cmd->m_buttons.m_n Value &= ~IN_ATTACK;
}
 
Сверху Снизу