Начинающий
- Статус
- Оффлайн
- Регистрация
- 12 Мар 2025
- Сообщения
- 26
- Реакции
- 4
Что сейчас нужно передавать в dispatch_SOCreated для шмоток? Дота+ анлокается на лету без проблем, со шмотками беда.
Появляются только после перезахода в игру. То есть создается она правильно, только SOCreated не работает.
Пол дня уже убил — решил таки спросить, может кто знает.
Появляются только после перезахода в игру. То есть создается она правильно, только SOCreated не работает.
Пол дня уже убил — решил таки спросить, может кто знает.
C++:
const auto inventory = vmt.gc_client->SOListeners<CDOTAPlayerInventory>()[1];
const auto so_cache = inventory->get_so_cache();
SOID_t soid = inventory->get_owner();
CEconItem* item = inventory->create_item_object();
CSOEconItem proto;
proto.set_id(m_itemid_counter++);
proto.set_inventory(m_invpos_counter++);
proto.set_account_id(soid.m_unSteamID & 0xFFFFFFFF);
proto.set_quality(EEconItemQuality::AE_NORMAL);
proto.set_origin(eEconItemOrigin::kEconItemOrigin_Earned);
proto.set_flags(eEconItemFlags::kEconItemFlag_NonEconomy);
proto.set_style(0);
proto.set_quantity(1);
proto.set_def_index(def_index); // Передается в функу переменной
item->DeserializeFromProto(&proto);
so_cache->add_item(item);
inventory->dispatch_created(soid, item, ESOCacheEvent::eSOCacheEvent_Incremental); // Пробовал и 0 индекс, и 1 и 2