Вопрос Как находят пути к новым моделям?

Undetected
Пользователь
Статус
Оффлайн
Регистрация
22 Июн 2019
Сообщения
178
Реакции[?]
63
Поинты[?]
8K
Как находят пути к новым моделькам, стикерам, пинам из операций/пропусков зрителя?
 
Олдфаг
Статус
Оффлайн
Регистрация
5 Июл 2017
Сообщения
2,108
Реакции[?]
1,189
Поинты[?]
0
Динамически через GetItemSystem()->GetItemSchemaInterface(), в структуре есть utl векторы/мапы со всеми предметами игры, которые можно парсить без проблем.
Вручную через GCFScape открываешь .vpk и начинаешь ручками работать

Доставал месяца 3 назад, вроде еще валидная структура (не думаю, что тебе это пригодится, но мало ли):
C++:
class CEconItemSchema : public IEconItemSchema
{
public:
    //void*                                                    SomePtr1; //0x0000
    //void*                                                    SomePtr2; //0x0004
    // Then -8 offset bc we r in CEconItemSchema not CEconItemSystem
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_0008; //0x0008
    char pad_002C[40]; //0x002C
    CUtlVector<attr_type_t>                                    m_vecAttributeTypes; //0x0054
    CUtlHashMapLarge<int, CEconItemRarityDefinition>        m_mapRarities; //0x0068
    CUtlHashMapLarge<int, CEconItemQualityDefinition>        m_mapQualities; //0x008C
    CUtlVector<void*>                                        CUtlVector_00B0; //0x00B0
    char pad_00C4[16]; //0x00C4
    void*                                                    m_pItemDefinition; //0x00D4
    char pad_00D8[16]; //0x00D8
    int                                                        m_iItemDefinitionCount; //0x00E8
    char pad_00EC[12]; //0x00EC
    CUtlHashMapLarge<int, CEconItemDefinition*>                m_mapItems; //0x0F8
    CEconItemDefinition*                                    m_pDefaultItem; //0x011C
    CUtlVector<CEconItemAttributeDefinition*>                m_vecAttributes; //0x0120
    CUtlHashMapLarge<int, CEconCraftingRecipeDefinition*>    m_mapCraftingRecipes; //0x0134
    CUtlMap<const char*, CEconItemSetDefinition>            m_mapItemSets; //0x0158
    char pad_0174[8]; //0x0174
    CUtlHashMapLarge<int, const char*>                        m_mapRevolvingLootLists; //0x017C
    CUtlHashMapLarge<int, const char*>                        m_mapQuestRewardLootLists; //0x01A0
    CUtlMap<const char*, void*>                                CUtlMap_01C4; //0x01C4
    char pad_01E0[64]; //0x01E0
    CUtlHashMapLarge<int, AlternateIconData_t>                m_mapAlternateIcons; //0x0220
    char pad_0244[36]; //0x0244
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_0268; //0x0268
    CUtlHashMapLarge<int, CPaintKit*>                        m_mapPaintKits; //0x028C
    CUtlHashMapLarge<int, CStickerKit*>                        m_mapStickerKits; //0x02B0
    CUtlMap<const char*, CStickerKit*>                        m_mapStickerKitsByName; //0x02D4
    char pad_02F0[48]; //0x02F0
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_0320; //0x0320
    char pad_0344[20]; //0x0344
    CUtlMap<const char*, KeyValues*>                        m_mapPrefabs; //0x0358
    char pad_0374[8]; //0x0374
    CUtlVector<CEconColorDefinition*>                        m_vecColor; //0x037C
    CUtlVector<CEconGraffitiTintDefinition*>                m_vecGraffitiTint; //0x0390
    CUtlStringMap< CEconGraffitiTintDefinition* >            m_mapGraffitiTintByName; //0x03A4
    CUtlHashMapLarge<int, CEconMusicDefinition*>            m_mapMusic; //0x03F0
    CUtlHashMapLarge<int, CEconQuestDefinition*>            m_mapQuests; //0x0414
    CUtlHashMapLarge<int, CEconCampaignDefinition*>            m_mapCampaigns; //0x0438
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_045С; //0x045С
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_0480; //0x0480
    char pad_04A4[72]; //0x04A4
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_04EC; //0x04EC
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_0510; //0x0510
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_0534; //0x0534
    char pad_0558[72]; //0x0558
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_05A0; //0x05A0
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_05C4; //0x05C4
    char pad_05E8[164]; //0x05E8
    CUtlVector<void*>                                        CUtlVector_068C; //0x068C
    char pad_06A0[172]; //0x06A0
    CUtlHashMapLarge<int, void*>                            CUtlHashMapLarge_074C; //0x074C
    CUtlVector<const char*>                                    m_vecClassUsabilityStrings; //0x0770
    CUtlVector<const char*>                                    m_vecLoadoutStrings; //0x0784
    CUtlVector<const char*>                                    m_vecLoadoutStringsSubPositions; //0x0798
    CUtlVector<const char*>                                    m_vecLoadoutStringsForDisplay; //0x07AC
    char pad_07C0[20]; //0x07C0
    CUtlVector<const char*>                                    m_vecLoadoutStringsOrder; //0x07D4
};
 
Сверху Снизу