Вопрос Get_econ_item_schema offset changed

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
1 Апр 2021
Сообщения
28
Реакции
1
1755636272463.png


добрые люди. можете пожалуйста подсказать новое смещение у get_econ_item_schema?
Единственное что помню, не так давно в классе c_econ_item_schema начальное смещение 128 менялось на 130.
Код:
Expand Collapse Copy
class c_econ_item_schema {
public:
    //std::byte pad_001[0x128];
    std::byte pad_001[0x130];
    c_utl_map<int, c_econ_item_definition*> m_sorted_item_definition_map;
    std::byte pad_002[0x128];
    c_utl_map<uint64_t, c_alternate_icon_data> m_alternate_icons_map;
    std::byte pad_003[0x50];
    c_utl_map<int, c_paint_kit*> m_paint_kits;
    c_utl_map<int, c_sticker_kit*> m_sticker_kits;
};

class c_econ_item_system {
public:
    c_econ_item_schema* get_econ_item_schema() {
        return *reinterpret_cast<c_econ_item_schema**>((uintptr_t)(this) + 0x8);
    }
};
 
не менялся офсет, функа get_econ_item_system теперь 122
 
не менялся офсет, функа get_econ_item_system теперь 122
1755696943574.png
1755696953447.png


итемы нашло, их всего 987 показывает. а дальше идти не хочет
Код:
Expand Collapse Copy
class c_utl_map
{
public:
    struct node_t
    {
        int m_left;
        int m_right;
        int m_parent;
        int m_tag;
        K m_key;
        V m_value;
    };

    auto begin() const { return m_data; }
    auto end() const { return m_data + m_size; }

    std::optional<V> find_by_key(K key) const
    {
        int current = m_root;
        while (current != -1)
        {
            const node_t& element = m_data[current];
            if (element.m_key < key)
                current = element.m_right;
            else if (element.m_key > key)
                current = element.m_left;
            else
                return element.m_value;
        }
        return {};
    }

    std::byte pad_0[0x8];
    node_t* m_data;
    std::byte pad_1[0x8];
    int m_root;
    int m_size;
    std::byte pad_2[0x8];
};
Код:
Expand Collapse Copy
    const auto& vec_items = item_schema->m_sorted_item_definition_map;
    const auto& paint_kits = item_schema->m_paint_kits;
    const auto& alternate_icons = item_schema->m_alternate_icons_map;

    debug_text(WHITE_COLOR, "Starting item dump. Total items: %d\n", vec_items.m_size);

    for (const auto& it : vec_items) {
        c_econ_item_definition* item = it.m_value;
 
вот новый c_utl_map


C++:
Expand Collapse Copy
template <typename K, typename V>
class c_utl_map
{
public:
    struct node_t
    {
        int m_left;
        int m_right;
        int m_parent;
        int m_tag;
        K m_key;
        V m_value;
    };

    auto begin() const {
        return m_data;
    }

    auto end() const {
        return m_data + m_size;
    }

    std::optional<V> find_by_key(K key) const
    {
        int current = m_root;
        while (current != -1)
        {
            const node_t& element = m_data[current];
            if (element.m_key < key)
                current = element.m_right;
            else if (element.m_key > key)
                current = element.m_left;
            else
                return element.m_value;
        }

        return {};
    }

    int m_size;
    int m_unknown;
    node_t* m_data;
    int m_root;
};
 
Посмотреть вложение 313762Посмотреть вложение 313763

items found, there are only 987 of them showing. but it doesn't want to go further
Код:
Expand Collapse Copy
class c_utl_map
{
public:
    struct node_t
    {
        int m_left;
        int m_right;
        int m_parent;
        int m_tag;
        K m_key;
        V m_value;
    };

    auto begin() const { return m_data; }
    auto end() const { return m_data + m_size; }

    std::optional<V> find_by_key(K key) const
    {
        int current = m_root;
        while (current != -1)
        {
            const node_t& element = m_data[current];
            if (element.m_key < key)
                current = element.m_right;
            else if (element.m_key > key)
                current = element.m_left;
            else
                return element.m_value;
        }
        return {};
    }

    std::byte pad_0[0x8];
    node_t* m_data;
    std::byte pad_1[0x8];
    int m_root;
    int m_size;
    std::byte pad_2[0x8];
};
Код:
Expand Collapse Copy
 const auto& vec_items = item_schema->m_sorted_item_definition_map;
    const auto& paint_kits = item_schema->m_paint_kits;
    const auto& alternate_icons = item_schema->m_alternate_icons_map;

    debug_text(WHITE_COLOR, "Starting item dump. Total items: %d\n", vec_items.m_size);

    for (const auto& it : vec_items) {
        c_econ_item_definition* item = it.m_value;
make sure your offset for m_sorted_item_definition_map is 0x128, also open cheat engine/ida or you will never learn anything
 
Назад
Сверху Снизу