Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Исходник MovementCore

  • Автор темы Автор темы Yushkxn
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
16 Фев 2021
Сообщения
45
Реакции
40
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет всем кто это читает.

Все адреса обновлены под DirectX 11, от 22.05.21


У меня нету времени тестировать данный функционал, в общем через него можно сделать FakeDuck, и фейковые лаги а может быть ещё что-то интересное, дерзайте.


Код:
Expand Collapse Copy
namespace MovementCore {

    struct SMovementCmd {

        unsigned int N;
        unsigned __int8 physCounter;
        Vec3_tpl<float> lookDir;
        Vec3_tpl<float> slideDir;
        Vec3_tpl<float> moveDir;
        bool haste;
        bool slide;
        bool jump;
        bool use;
        bool zoom;
        bool simulate;
        char stance;
        unsigned int stateChecksum;
        bool generated;
    };

    struct SMovementCmdBucket {

        unsigned int N;
        unsigned __int8 physCounter;
        unsigned int stateChecksum;
        std::vector< MovementCore::SMovementCmd, std::allocator< MovementCore::SMovementCmd > > commands;
    };

    struct SPlayerMovementState {

        unsigned int cmdN;
        unsigned __int8 physCounter;
        bool hasData;
        unsigned int standingOn;
        Vec3_tpl<float> pos;
        Vec3_tpl<float> vel;
        Vec3_tpl<float> slideDir;
        float slideTimer;
        char stance;
        bool inHaste;
        bool inSlide;
        bool inJump;
        bool inZoom;
        bool simulate;
        bool isRemotePlayer;
        bool isExtrapolated;
        float stamina;
        float groundTimer;
        Vec3_tpl<float> filteredMove;
        Vec3_tpl<float> groundNormal;
        Vec3_tpl<float> lookDirection;
        float latency;
        float pseudoSpeed;
        bool isStuck;
        Vec3_tpl<float> moveDir;
    };

    using fnMove = void(__fastcall*)(CActor*, MovementCore::SMovementCmd*, MovementCore::SPlayerMovementState*, MovementCore::SPlayerMovementState*);
    void Move(/* CPlayer */ CActor* player, MovementCore::SMovementCmd* cmd, MovementCore::SPlayerMovementState* in_state, MovementCore::SPlayerMovementState* out_state) {
        fnMove(0x1413E74D0)(player, cmd, in_state, out_state);     // Find -> ClientMove
    }
}


Использование простое, в первый аргумент передаём указатель нашего персонажа, во второй структуру SMovementCmd, в третий SPlayerMovementState, в четвёртый ничего не нужно передавать.
 
Привет всем кто это читает.

Все адреса обновлены под DirectX 11, от 22.05.21


У меня нету времени тестировать данный функционал, в общем через него можно сделать FakeDuck, и фейковые лаги а может быть ещё что-то интересное, дерзайте.


Код:
Expand Collapse Copy
namespace MovementCore {

    struct SMovementCmd {

        unsigned int N;
        unsigned __int8 physCounter;
        Vec3_tpl<float> lookDir;
        Vec3_tpl<float> slideDir;
        Vec3_tpl<float> moveDir;
        bool haste;
        bool slide;
        bool jump;
        bool use;
        bool zoom;
        bool simulate;
        char stance;
        unsigned int stateChecksum;
        bool generated;
    };

    struct SMovementCmdBucket {

        unsigned int N;
        unsigned __int8 physCounter;
        unsigned int stateChecksum;
        std::vector< MovementCore::SMovementCmd, std::allocator< MovementCore::SMovementCmd > > commands;
    };

    struct SPlayerMovementState {

        unsigned int cmdN;
        unsigned __int8 physCounter;
        bool hasData;
        unsigned int standingOn;
        Vec3_tpl<float> pos;
        Vec3_tpl<float> vel;
        Vec3_tpl<float> slideDir;
        float slideTimer;
        char stance;
        bool inHaste;
        bool inSlide;
        bool inJump;
        bool inZoom;
        bool simulate;
        bool isRemotePlayer;
        bool isExtrapolated;
        float stamina;
        float groundTimer;
        Vec3_tpl<float> filteredMove;
        Vec3_tpl<float> groundNormal;
        Vec3_tpl<float> lookDirection;
        float latency;
        float pseudoSpeed;
        bool isStuck;
        Vec3_tpl<float> moveDir;
    };

    using fnMove = void(__fastcall*)(CActor*, MovementCore::SMovementCmd*, MovementCore::SPlayerMovementState*, MovementCore::SPlayerMovementState*);
    void Move(/* CPlayer */ CActor* player, MovementCore::SMovementCmd* cmd, MovementCore::SPlayerMovementState* in_state, MovementCore::SPlayerMovementState* out_state) {
        fnMove(0x1413E74D0)(player, cmd, in_state, out_state);     // Find -> ClientMove
    }
}


Использование простое, в первый аргумент передаём указатель нашего персонажа, во второй структуру SMovementCmd, в третий SPlayerMovementState, в четвёртый ничего не нужно передавать.
Можешь подсказать актуальный адрес, опыта в IDA мало, не знаю где точно его смотреть. // Find -> ClientMove
Спасибо.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Можешь подсказать актуальный адрес, опыта в IDA мало, не знаю где точно его смотреть. // Find -> ClientMove
Спасибо.
там вроде самый первый Ida viev-a sub по find
sub_1416FECE0
 
Назад
Сверху Снизу