Double tap issue

Начинающий
Статус
Оффлайн
Регистрация
5 Фев 2019
Сообщения
14
Реакции[?]
0
Поинты[?]
0
Hello i have an issue with the double tap it shows the animation like i double tap and the delay between shots is as if i would dt but it only shoots one bullet (is an instant dt but normal dt does the same)
this is my buffer
Код:
if (g :: nTickBaseShift <= 0 / * || (DWORD) _ReturnAddress ()! = ((DWORD) GetModuleHandleA ("engine.dll") + 0xCCCA6) * /)
        return write_cmd_buffer (ECX, / * unk, * / EDX, nSlot, buf, from, to, isNewCmd);

    if (! g :: local-> is_alive () ||! interfaces :: engine-> is_connected () ||! interfaces :: engine-> is_in_game ())
    {
        g :: nTickBaseShift = 0;
        return write_cmd_buffer (ECX, / * unk, * / EDX, nSlot, buf, from, to, isNewCmd);
    }
    if (from! = -1)
        return true;

    // CL_SendMove function

    auto CL_SendMove = [] ()
    {
        using CL_SendMove_t = void (__fastcall *) (void);
        static CL_SendMove_t CL_SendMoveF = (CL_SendMove_t) utils.find_sig (("engine.dll"), ("55 8B EC A1???? 81 EC???? B9???? 53 8B 98"));

        CL_SendMoveF ();
    };

    / * uintptr_t framePtr;
    __asm mov framePtr, ebp;
    auto msg = reinterpret_cast <CCLCMsg_Move_t *> (framePtr + 0xFCC); * /
    int * pNumBackupCommands = (int *) (reinterpret_cast <uintptr_t> (buf) - 0x30);
    int * pNumNewCommands = (int *) (reinterpret_cast <uintptr_t> (buf) - 0x2C);
    auto net_channel = interfaces :: client_state-> m_NetChannel;

    int32_t new_commands = * pNumNewCommands;



    int32_t next_cmdnr = interfaces :: client_state-> lastoutgoingcommand + interfaces :: client_state-> chokedcommands + 1;
    int32_t total_new_commands = min (g :: nTickBaseShift, 16);
    g :: nTickBaseShift - = total_new_commands;

    from = -1;
    * pNumNewCommands = total_new_commands;
    * pNumBackupCommands = 0;

    for (to = next_cmdnr - new_commands + 1; to <= next_cmdnr; to ++)
    {
        if (! write_cmd_buffer (ECX, / * unk, * / EDX, nSlot, buf, from, to, true))
            return false;

        from = to;
    }

    usercmd * last_realCmd = interfaces :: input-> get_user_cmd (nSlot, from);
    usercmd fromCmd;

    if (last_realCmd)
        fromCmd = * last_realCmd;

    usercmd toCmd = fromCmd;
    toCmd.command_number ++;
    toCmd.tick_count--;

    for (int i = new_commands; i <= total_new_commands; i ++)
    {
        WriteUsercmd (buf, & toCmd, & fromCmd);
        fromCmd = toCmd;
        toCmd.command_number ++;
        toCmd.tick_count--;
    }

    return true;
[/ CODE]
 
Начинающий
Статус
Оффлайн
Регистрация
5 Фев 2019
Сообщения
14
Реакции[?]
0
Поинты[?]
0
[QUOTE = "M4ga, post: 1583494, member: 26274"]
[CODE = cpp] toCmd.tick_count -; [/ CODE]
[/ QUOTE]
im gonna try it but my friend who made the dt said that it only works like that
 
Пользователь
Статус
Оффлайн
Регистрация
11 Июн 2017
Сообщения
226
Реакции[?]
70
Поинты[?]
0
[QUOTE = "M4ga, post: 1583494, member: 26274"]
[CODE = cpp] toCmd.tick_count -; [/ CODE]
[/ QUOTE]
im gonna try it but my friend who made the dt said that it only works like that
// CL_SendMove function auto CL_SendMove = [] () { using CL_SendMove_t = void (__fastcall *) (void); static CL_SendMove_t CL_SendMoveF = (CL_SendMove_t) utils.find_sig (("engine.dll"), ("55 8B EC A1???? 81 EC???? B9???? 53 8B 98")); CL_SendMoveF (); };
This is useless
auto net_channel = interfaces :: client_state-> m_NetChannel;
Also useless
Change to ++
Also why tf there is edx in original call
write_cmd_buffer (ECX, / * unk, * / EDX, nSlot, buf, from, to, isNewCmd);
 
Начинающий
Статус
Оффлайн
Регистрация
5 Фев 2019
Сообщения
14
Реакции[?]
0
Поинты[?]
0
[QUOTE = "M4ga, post: 1584409, member: 26274"]
This is useless

Also useless

Change to ++
Also why tf there is edx in original call
[/ QUOTE]
MIN hook
 
Сверху Снизу