Вопрос Какая сигнатура GET_PLAYER_FROM_CONTROLLER после апдейта 01.04?

Забаненный
Статус
Оффлайн
Регистрация
17 Мар 2023
Сообщения
20
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
649
Реакции[?]
138
Поинты[?]
1K
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
649
Реакции[?]
138
Поинты[?]
1K
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
Советую выкинуть свой сурс на помойку, и сделать нормальный. Спустя все апдейты, нормальным кодерам с нормальным сурсом ещё ничего не потребовалось обновлять. Задумайся.
хз, Посмотреть вложение 243754 Посмотреть вложение 243755 с гита брал сдк, вроде как именно она крашит, сам понять не могу что это такое
Сигнатура верная, проблема в другом.
 
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
649
Реакции[?]
138
Поинты[?]
1K
Советую выкинуть свой сурс на помойку, и сделать нормальный. Спустя все апдейты, нормальным кодерам с нормальным сурсом ещё ничего не потребовалось обновлять. Задумайся.

Сигнатура верная, проблема в другом.
а в чем ещё может быть проблема?
image-2.png
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
а в чем ещё может быть проблема?
Посмотреть вложение 243765
Хуево хукнул, либо неправильно абсолютный адрес получаешь
C++:
ALWAYS_INLINE address_t &absolute(std::ptrdiff_t pre_offset = 0x3,
                                    std::ptrdiff_t post_offset = 0x0) {
    self_offset(pre_offset);
    m_data.m_ptr = m_data.m_ptr + sizeof(std::int32_t) + *reinterpret_cast<std::int32_t *>(m_data.m_ptr);
    self_offset(post_offset);

    return *this;
  }
C++:
m_swap_chain_dx11 = **SIG("rendersystemdx11.dll",
                            "66 0F 7F 05 ? ? ? ? 66 0F 7F 0D ? ? ? ? 48 89 35").absolute(0x4)
                            .cast<i_swap_chain_dx11 ***>();
 
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
649
Реакции[?]
138
Поинты[?]
1K
Хуево хукнул, либо неправильно абсолютный адрес получаешь
C++:
ALWAYS_INLINE address_t &absolute(std::ptrdiff_t pre_offset = 0x3,
                                    std::ptrdiff_t post_offset = 0x0) {
    self_offset(pre_offset);
    m_data.m_ptr = m_data.m_ptr + sizeof(std::int32_t) + *reinterpret_cast<std::int32_t *>(m_data.m_ptr);
    self_offset(post_offset);

    return *this;
  }
C++:
m_swap_chain_dx11 = **SIG("rendersystemdx11.dll",
                            "66 0F 7F 05 ? ? ? ? 66 0F 7F 0D ? ? ? ? 48 89 35").absolute(0x4)
                            .cast<i_swap_chain_dx11 ***>();
сдк отсюда брал
Пожалуйста, авторизуйтесь для просмотра ссылки.
, особо ничего не менял, на старой версии работает вроде, хз
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
сдк отсюда брал
Пожалуйста, авторизуйтесь для просмотра ссылки.
, особо ничего не менял, на старой версии работает вроде, хз
C++:
//  i_game_entity_system
template <typename t = c_base_entity> t *get_base_entity(int index) {
    static const auto get_entity_by_id =
        SIG("client.dll", "8B D3 E8 ? ? ? ? 48 8B F8 48 85 C0 74 76")
            .absolute()
            .cast<void *(__thiscall *)(void *, int)>();

    return reinterpret_cast<t *>(get_entity_by_id(this, index));
  }

  int get_highest_entity_index() {
    static const auto _fn = SIG("client.dll", "33 DB E8 ? ? ? ? 8B 08").absolute()
                                .cast<void(__thiscall *)(void *, int *)>();

    int result = -1;

    _fn(this, &result);

    return result;
  }
C++:
m_game_resource_service = get_interface<sdk::i_game_resource_service *>(
      FNV1A("engine2.dll"), FNV1A("GameResourceServiceClientV001"));

  m_entity_system = m_game_resource_service->get_game_entity_system();
 
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
649
Реакции[?]
138
Поинты[?]
1K
C++:
//  i_game_entity_system
template <typename t = c_base_entity> t *get_base_entity(int index) {
    static const auto get_entity_by_id =
        SIG("client.dll", "8B D3 E8 ? ? ? ? 48 8B F8 48 85 C0 74 76")
            .absolute()
            .cast<void *(__thiscall *)(void *, int)>();

    return reinterpret_cast<t *>(get_entity_by_id(this, index));
  }

  int get_highest_entity_index() {
    static const auto _fn = SIG("client.dll", "33 DB E8 ? ? ? ? 8B 08").absolute()
                                .cast<void(__thiscall *)(void *, int *)>();

    int result = -1;

    _fn(this, &result);

    return result;
  }
C++:
m_game_resource_service = get_interface<sdk::i_game_resource_service *>(
      FNV1A("engine2.dll"), FNV1A("GameResourceServiceClientV001"));

  m_entity_system = m_game_resource_service->get_game_entity_system();
спасибо, завтра попробую
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
C++:
//  i_game_entity_system
template <typename t = c_base_entity> t *get_base_entity(int index) {
    static const auto get_entity_by_id =
        SIG("client.dll", "8B D3 E8 ? ? ? ? 48 8B F8 48 85 C0 74 76")
            .absolute()
            .cast<void *(__thiscall *)(void *, int)>();

    return reinterpret_cast<t *>(get_entity_by_id(this, index));
  }

  int get_highest_entity_index() {
    static const auto _fn = SIG("client.dll", "33 DB E8 ? ? ? ? 8B 08").absolute()
                                .cast<void(__thiscall *)(void *, int *)>();

    int result = -1;

    _fn(this, &result);

    return result;
  }
C++:
m_game_resource_service = get_interface<sdk::i_game_resource_service *>(
      FNV1A("engine2.dll"), FNV1A("GameResourceServiceClientV001"));

  m_entity_system = m_game_resource_service->get_game_entity_system();
Примечание: После получения ентити нужно его конвертировать в нужный класс (ccsplayercontroller, etc...) через reinterpret_cast или C стайл
 
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
649
Реакции[?]
138
Поинты[?]
1K
Хуево хукнул, либо неправильно абсолютный адрес получаешь
C++:
ALWAYS_INLINE address_t &absolute(std::ptrdiff_t pre_offset = 0x3,
                                    std::ptrdiff_t post_offset = 0x0) {
    self_offset(pre_offset);
    m_data.m_ptr = m_data.m_ptr + sizeof(std::int32_t) + *reinterpret_cast<std::int32_t *>(m_data.m_ptr);
    self_offset(post_offset);

    return *this;
  }
C++:
m_swap_chain_dx11 = **SIG("rendersystemdx11.dll",
                            "66 0F 7F 05 ? ? ? ? 66 0F 7F 0D ? ? ? ? 48 89 35").absolute(0x4)
                            .cast<i_swap_chain_dx11 ***>();
1680587098598.png
а pad1 не менялося?
 
Участник
Статус
Оффлайн
Регистрация
21 Сен 2019
Сообщения
594
Реакции[?]
250
Поинты[?]
23K
Сверху Снизу