Исходник onetap v4 writeusercmddeltatobuffer

Пользователь
Статус
Оффлайн
Регистрация
8 Янв 2020
Сообщения
187
Реакции[?]
138
Поинты[?]
20K
Onetap v4 writeusercmddeltatobuffer hook.

Возможно вронг.

C++:
bool hkWriteUsercmdDeltaToBuffer(int m_pThis, int edx, int m_pBuf, int m_nFrom, int m_nTo, bool m_bIsNewCommand)
{
    if (!g_pGlobals.Tickbase.ShiftAmount)
        return oWriteusercmdDeltaToBuffer(m_pThis, m_pBuf, m_nFrom, m_nTo, m_bIsNewCommand);

    if (m_nTo != -1)
        return true;

    int m_iFinalFrom = -1;
    int m_iFinalTo = 0;

    int m_iShiftTicks = g_pGlobals.Tickbase.ShiftAmount;

    g_pGlobals.Tickbase.ShiftAmount = 0;

    int* m_pnNewCmds = (int*)((uintptr_t)m_pBuf - 0x2C);
    int* m_pnBackupCmds = (int*)((uintptr_t)m_pBuf - 0x30);

    *m_pnBackupCmds = 0;

    int m_nNewCmds = *m_pnNewCmds;
    int m_nNextCmdNr = g_pClientState->m_nChokedCmds + g_pClientState->m_nLastOutgoingCmd + 1;
    int m_nTotalNewCmds = std::min(m_nNewCmds + abs(m_iShiftTicks), 62);

    m_nTo = m_nNewCmds;
    m_iFinalFrom = -1;

    *m_pnNewCmds = m_nTotalNewCmds;
    m_iFinalTo = m_nNextCmdNr - m_nTo + 1;

    if (m_iFinalTo > m_nNextCmdNr)
    {
        while (oWriteusercmdDeltaToBuffer(v51, m_pBuf, m_nFrom, m_iFinalFrom, m_iFinalTo))
        {
            m_iFinalFrom = m_iFinalTo++;

            CUserCmd* cmd = g_pInput->GetUserCmd(m_nFrom);
            CUserCmd* from_cmd, to_cmd;

            if (cmd)
            {
                from_cmd = cmd;
                to_cmd = cmd;
                
                to_cmd->command_number++;
                to_cmd->tickcount += g_pGlobals.Tickrate + 2 * g_pGlobals.Tickrate;

                if (m_nTo <= m_nTotalNewCmds)
                {
                    int m_iSukaSuka = m_nTotalNewCmds - m_nTo + 1;

                    do
                    {
                        WriteUserCmd(m_pBuf, &to_cmd, &from_cmd);
                        from_cmd = to_cmd;

                        to_cmd->command_number++;
                        to_cmd->tickcount++;

                        --m_iSukaSuka;
                    }
                    while (m_iSukaSuka > 0);
                }
            }
        }
    }

    return true;
}
 
Участник
Статус
Оффлайн
Регистрация
27 Авг 2021
Сообщения
525
Реакции[?]
209
Поинты[?]
12K
Onetap v4 writeusercmddeltatobuffer hook.

Возможно вронг.

C++:
bool hkWriteUsercmdDeltaToBuffer(int m_pThis, int edx, int m_pBuf, int m_nFrom, int m_nTo, bool m_bIsNewCommand)
{
    if (!g_pGlobals.Tickbase.ShiftAmount)
        return oWriteusercmdDeltaToBuffer(m_pThis, m_pBuf, m_nFrom, m_nTo, m_bIsNewCommand);

    if (m_nTo != -1)
        return true;

    int m_iFinalFrom = -1;
    int m_iFinalTo = 0;

    int m_iShiftTicks = g_pGlobals.Tickbase.ShiftAmount;

    g_pGlobals.Tickbase.ShiftAmount = 0;

    int* m_pnNewCmds = (int*)((uintptr_t)m_pBuf - 0x2C);
    int* m_pnBackupCmds = (int*)((uintptr_t)m_pBuf - 0x30);

    *m_pnBackupCmds = 0;

    int m_nNewCmds = *m_pnNewCmds;
    int m_nNextCmdNr = g_pClientState->m_nChokedCmds + g_pClientState->m_nLastOutgoingCmd + 1;
    int m_nTotalNewCmds = std::min(m_nNewCmds + abs(m_iShiftTicks), 62);

    m_nTo = m_nNewCmds;
    m_iFinalFrom = -1;

    *m_pnNewCmds = m_nTotalNewCmds;
    m_iFinalTo = m_nNextCmdNr - m_nTo + 1;

    if (m_iFinalTo > m_nNextCmdNr)
    {
        while (oWriteusercmdDeltaToBuffer(v51, m_pBuf, m_nFrom, m_iFinalFrom, m_iFinalTo))
        {
            m_iFinalFrom = m_iFinalTo++;

            CUserCmd* cmd = g_pInput->GetUserCmd(m_nFrom);
            CUserCmd* from_cmd, to_cmd;

            if (cmd)
            {
                from_cmd = cmd;
                to_cmd = cmd;
              
                to_cmd->command_number++;
                to_cmd->tickcount += g_pGlobals.Tickrate + 2 * g_pGlobals.Tickrate;

                if (m_nTo <= m_nTotalNewCmds)
                {
                    int m_iSukaSuka = m_nTotalNewCmds - m_nTo + 1;

                    do
                    {
                        WriteUserCmd(m_pBuf, &to_cmd, &from_cmd);
                        from_cmd = to_cmd;

                        to_cmd->command_number++;
                        to_cmd->tickcount++;

                        --m_iSukaSuka;
                    }
                    while (m_iSukaSuka > 0);
                }
            }
        }
    }

    return true;
}
ждем миндамаг из вантапа, инфинити дак еще не забудь
 
ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,552
Реакции[?]
519
Поинты[?]
189K
ждем миндамаг из вантапа, инфинити дак еще не забудь
авто мин дамаг вполне неплохой там я тебе так скажу, лучше уж его чем инфинити дак...
Onetap v4 writeusercmddeltatobuffer hook.

Возможно вронг.

C++:
bool hkWriteUsercmdDeltaToBuffer(int m_pThis, int edx, int m_pBuf, int m_nFrom, int m_nTo, bool m_bIsNewCommand)
{
    if (!g_pGlobals.Tickbase.ShiftAmount)
        return oWriteusercmdDeltaToBuffer(m_pThis, m_pBuf, m_nFrom, m_nTo, m_bIsNewCommand);

    if (m_nTo != -1)
        return true;

    int m_iFinalFrom = -1;
    int m_iFinalTo = 0;

    int m_iShiftTicks = g_pGlobals.Tickbase.ShiftAmount;

    g_pGlobals.Tickbase.ShiftAmount = 0;

    int* m_pnNewCmds = (int*)((uintptr_t)m_pBuf - 0x2C);
    int* m_pnBackupCmds = (int*)((uintptr_t)m_pBuf - 0x30);

    *m_pnBackupCmds = 0;

    int m_nNewCmds = *m_pnNewCmds;
    int m_nNextCmdNr = g_pClientState->m_nChokedCmds + g_pClientState->m_nLastOutgoingCmd + 1;
    int m_nTotalNewCmds = std::min(m_nNewCmds + abs(m_iShiftTicks), 62);

    m_nTo = m_nNewCmds;
    m_iFinalFrom = -1;

    *m_pnNewCmds = m_nTotalNewCmds;
    m_iFinalTo = m_nNextCmdNr - m_nTo + 1;

    if (m_iFinalTo > m_nNextCmdNr)
    {
        while (oWriteusercmdDeltaToBuffer(v51, m_pBuf, m_nFrom, m_iFinalFrom, m_iFinalTo))
        {
            m_iFinalFrom = m_iFinalTo++;

            CUserCmd* cmd = g_pInput->GetUserCmd(m_nFrom);
            CUserCmd* from_cmd, to_cmd;

            if (cmd)
            {
                from_cmd = cmd;
                to_cmd = cmd;
               
                to_cmd->command_number++;
                to_cmd->tickcount += g_pGlobals.Tickrate + 2 * g_pGlobals.Tickrate;

                if (m_nTo <= m_nTotalNewCmds)
                {
                    int m_iSukaSuka = m_nTotalNewCmds - m_nTo + 1;

                    do
                    {
                        WriteUserCmd(m_pBuf, &to_cmd, &from_cmd);
                        from_cmd = to_cmd;

                        to_cmd->command_number++;
                        to_cmd->tickcount++;

                        --m_iSukaSuka;
                    }
                    while (m_iSukaSuka > 0);
                }
            }
        }
    }

    return true;
}
кста m_ISukaSuka это m_Shift
 
ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,552
Реакции[?]
519
Поинты[?]
189K
to_cmd->tickcount += g_pGlobals.Tickrate + 2 * g_pGlobals.Tickrate;
АХЗВЗХАЫВЗХАЫЗХВАЗХЫВЗХАЗЫХВАХЗ 66 * 64 ахуенный у тебя тиккаунт брат
думаю так будет правильнее to_cmd->tickcount += g_pGlobals.Tickrate * 3;
да и в целом там ещё пару моментов не таких как по идее надо было а значит это вронг реверс + быдло код
 
купить дизайн: yougame.biz/threads/155999
Дизайнер
Статус
Оффлайн
Регистрация
19 Сен 2018
Сообщения
793
Реакции[?]
1,380
Поинты[?]
9K
ЧВК EB_LAN
Эксперт
Статус
Оффлайн
Регистрация
26 Янв 2021
Сообщения
1,552
Реакции[?]
519
Поинты[?]
189K
Забаненный
Статус
Оффлайн
Регистрация
26 Апр 2021
Сообщения
18
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Onetap v4 writeusercmddeltatobuffer hook.

Возможно вронг.

C++:
bool hkWriteUsercmdDeltaToBuffer(int m_pThis, int edx, int m_pBuf, int m_nFrom, int m_nTo, bool m_bIsNewCommand)
{
    if (!g_pGlobals.Tickbase.ShiftAmount)
        return oWriteusercmdDeltaToBuffer(m_pThis, m_pBuf, m_nFrom, m_nTo, m_bIsNewCommand);

    if (m_nTo != -1)
        return true;

    int m_iFinalFrom = -1;
    int m_iFinalTo = 0;

    int m_iShiftTicks = g_pGlobals.Tickbase.ShiftAmount;

    g_pGlobals.Tickbase.ShiftAmount = 0;

    int* m_pnNewCmds = (int*)((uintptr_t)m_pBuf - 0x2C);
    int* m_pnBackupCmds = (int*)((uintptr_t)m_pBuf - 0x30);

    *m_pnBackupCmds = 0;

    int m_nNewCmds = *m_pnNewCmds;
    int m_nNextCmdNr = g_pClientState->m_nChokedCmds + g_pClientState->m_nLastOutgoingCmd + 1;
    int m_nTotalNewCmds = std::min(m_nNewCmds + abs(m_iShiftTicks), 62);

    m_nTo = m_nNewCmds;
    m_iFinalFrom = -1;

    *m_pnNewCmds = m_nTotalNewCmds;
    m_iFinalTo = m_nNextCmdNr - m_nTo + 1;

    if (m_iFinalTo > m_nNextCmdNr)
    {
        while (oWriteusercmdDeltaToBuffer(v51, m_pBuf, m_nFrom, m_iFinalFrom, m_iFinalTo))
        {
            m_iFinalFrom = m_iFinalTo++;

            CUserCmd* cmd = g_pInput->GetUserCmd(m_nFrom);
            CUserCmd* from_cmd, to_cmd;

            if (cmd)
            {
                from_cmd = cmd;
                to_cmd = cmd;
            
                to_cmd->command_number++;
                to_cmd->tickcount += g_pGlobals.Tickrate + 2 * g_pGlobals.Tickrate;

                if (m_nTo <= m_nTotalNewCmds)
                {
                    int m_iSukaSuka = m_nTotalNewCmds - m_nTo + 1;

                    do
                    {
                        WriteUserCmd(m_pBuf, &to_cmd, &from_cmd);
                        from_cmd = to_cmd;

                        to_cmd->command_number++;
                        to_cmd->tickcount++;

                        --m_iSukaSuka;
                    }
                    while (m_iSukaSuka > 0);
                }
            }
        }
    }

    return true;
}
ну уж лучше так..
Код:
bool __fastcall WriteUsercmdDeltaToBuffer(void* ecx, void* edx, int slot, void* buf, int from, int to, bool new_cmd) {
    // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

    auto tickbase_shift = *(_DWORD *)(((dword_3A8A19F0 - 975873238) ^ 0x10ACA28E) + 0x4C);
    if (!tickbase_shift) {
        Hooks::oWriteusercmdDeltaToBuffer(ecx, slot, buf, from, to, new_cmd);
    }

    if (from != -1) {
        return 1;
    }

    uintptr_t frame_ptr{};
    __asm {
        mov frame_ptr, ebp;
    }

    int* backup_commands = reinterpret_cast<int*>(frame_ptr + 0xFD8);
    int* new_commands = reinterpret_cast<int*>(frame_ptr + 0xFDC);

    *(_DWORD *)(((dword_3A8A19F0 - 975873238) ^ 0x10ACA28E) + 0x4C) = 0; // shift_amount = 0;
    auto new_cmds = *new_commands;
    *backup_commands = 0;
    auto m_nToa = new_cmds;
    auto v9 = new_cmds + abs(tickbase_shift);
    if (v9 > 62) {
        v9 = 62;
    }

    auto v10 = -1;
    *new_commands = v9;

    auto next_cmd = Interfaces::m_pClientState->iChokedCommands + Interfaces::m_pClientState->nLastOutgoingCommand + 1;
    auto tocmd = next_cmd - m_nToa + 1;
    if (tocmd > next_cmd) {
    LABEL_9:
        auto v14 = Interfaces::m_pInput->GetUserCmd(v10);
        if (v14) {
            static auto rate = (int)(1.f / Interfaces::m_pGlobals->interval_per_tick);
            CUserCmd v33 = *v14;
            CUserCmd v18 = v33;

            ++v18.command_number;
            v18.tick_count += rate + 2 * rate;
            if (m_nToa <= v9) {
                auto shift_amount = v9 - m_nToa + 1;
                do {
                    WriteUsercmd(buf, &v18, &v33); // MEMORY[0x233DDF60]
                    v33 = v18;
                    ++v18.command_number;
                    ++v18.tick_count;
                    --shift_amount;
                } while (shift_amount);
            }
        }
        return 1;
    }
    while (Hooks::oWriteusercmdDeltaToBuffer(ecx, slot, buf, v10, tocmd, true)) {
        v10 = tocmd++;
        if (tocmd > next_cmd)
            goto LABEL_9;
    }
    return 0;
}
 
helicopter aa unofficial dev
Пользователь
Статус
Оффлайн
Регистрация
4 Апр 2021
Сообщения
415
Реакции[?]
72
Поинты[?]
6K
эти ваши функции безпонтовые бля, слейте уже исходник от4, а не вот это всё
 
Сверху Снизу