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

Вопрос Иллюзии и мипо

по баффам попробуй. "modifier_illusion". потести в одиночке со всякими дарксирами, террорблейдами, морфами, мипо и тд
dota_modifier_dump команда есть консольная логает все баффы на всех
 
по баффам попробуй. "modifier_illusion". потести в одиночке со всякими дарксирами, террорблейдами, морфами, мипо и тд
dota_modifier_dump команда есть консольная логает все баффы на всех

Ок попробую отпишусь,то есть прохожусь по массиву модифаеров вижу имя модифаера modifier_illusion ,и меняю цвет правильно же?
 
по баффам попробуй. "modifier_illusion". потести в одиночке со всякими дарксирами, террорблейдами, морфами, мипо и тд
dota_modifier_dump команда есть консольная логает все баффы на всех

В дампе modifier_illusion отображается,при этом при итерации по модифаерам их нету.Не знаешь что не так?GetModiferNum делает разыменование значения по оффсету 0x10.modifiernum меньше чем количество модифаеров в дампе.
Код:
Expand Collapse Copy
const auto manager = reinterpret_cast<ModifierManager*>((uint64_t)BASE_NPC + offsets::PLayerEntity::m_ModifierManager);
                    if (!_stricmp("npc_dota_hero_meepo",BASE_NPC->GetIdentity()->GetName())) //&& BASE_NPC->getColor() == -1)
                    {
                        int modifiernum = manager->GetModifiersNum();
                        for (int i = 0; i < modifiernum; i++)
                        {
                            const auto name = manager->GetModifierArray()->modifer[i]->GetName();

                            std::cout << " Illusion ModifierName : " << name << std::endl;
                        }
                    }

P.S Я где то видел (то ли на форуме,не помню),что нетвар m_Inventory как то поможет в случае мипо,но как его применять так и не понял
 
Последнее редактирование:
Сумоны мипо считаются за иллюзии.Как это пофиксить и куда смотреть?
Я лично просто фильтрую по SchemaBinding()->binaryName(того же клона арка), хотя в принципе подсветка клонов мипо как мне кажется будет полезной

В дампе modifier_illusion отображается,при этом при итерации по модифаерам их нету.Не знаешь что не так?GetModiferNum делает разыменование значения по оффсету 0x10.modifiernum меньше чем количество модифаеров в дампе.
Код:
Expand Collapse Copy
const auto manager = reinterpret_cast<ModifierManager*>((uint64_t)BASE_NPC + offsets::PLayerEntity::m_ModifierManager);
                    if (!_stricmp("npc_dota_hero_meepo",BASE_NPC->GetIdentity()->GetName())) //&& BASE_NPC->getColor() == -1)
                    {
                        int modifiernum = manager->GetModifiersNum();
                        for (int i = 0; i < modifiernum; i++)
                        {
                            const auto name = manager->GetModifierArray()->modifer[i]->GetName();

                            std::cout << " Illusion ModifierName : " << name << std::endl;
                        }
                    }

P.S Я где то видел (то ли на форуме,не помню),что нетвар m_Inventory как то поможет в случае мипо,но как его применять так и не понял
Модифаеры это CUtlVector<T>(в нашем случае Т это Modifier*), там идёт int m_iSize, T* m_pElements, int m_iCapacity, лучше как цельную структуру это получать. Шо за дамп с модифаерами не знаю, протестить тему с modifier_illusion смогу позже
 
В дампе modifier_illusion отображается,при этом при итерации по модифаерам их нету.Не знаешь что не так?GetModiferNum делает разыменование значения по оффсету 0x10.modifiernum меньше чем количество модифаеров в дампе.
Код:
Expand Collapse Copy
const auto manager = reinterpret_cast<ModifierManager*>((uint64_t)BASE_NPC + offsets::PLayerEntity::m_ModifierManager);
                    if (!_stricmp("npc_dota_hero_meepo",BASE_NPC->GetIdentity()->GetName())) //&& BASE_NPC->getColor() == -1)
                    {
                        int modifiernum = manager->GetModifiersNum();
                        for (int i = 0; i < modifiernum; i++)
                        {
                            const auto name = manager->GetModifierArray()->modifer[i]->GetName();

                            std::cout << " Illusion ModifierName : " << name << std::endl;
                        }
                    }

P.S Я где то видел (то ли на форуме,не помню),что нетвар m_Inventory как то поможет в случае мипо,но как его применять так и не понял
ну правильно что его там нету - я тебе напиздел ахахах(сорри ночью было, особо не вникал, тупанул) - dota_modifier_dump это серверная команда, она с сервера дампит(на сервере то есть модифаер а на клиенте вот его нет); ща одну хуйню протесщу и отпишусь
 
ну как вариант ты можешь просто чекать по герою(int32 m_iHeroID)/по имени героя/по классу героя - если это мипо/морф/варден - чекать специфичными способами - если это любой другой герой - просто m_hReplicatingOtherHeroModel
у мипо(C_DOTA_Unit_Hero_Meepo) работает нетвар client.dll/C_DOTA_BaseNPC/m_bIsIllusion (у других он просто не работает. у мипо он отдельно влючен габеном
+ MNetworkIncludeByName "m_bIsIllusion"
)
у морфа(C_DOTA_Unit_Hero_Morphling) если есть бафф modifier_morphling_replicate то значит это настоящий морф под ультой(в противном случае если баффа нет то через m_hReplicatingOtherHeroModel чекать)
у вардена(CDOTA_Unit_Hero_ArcWarden) если есть бафф modifier_arc_warden_tempest_double то значит это клон с ульты(в противном случае если баффа нет то через m_hReplicatingOtherHeroModel чекать)
ну и еще IsAlive к этому всему можно прикрутить(трупаков на иллюзии впринципе то и смысла нет чекать)
1676813056923.png

1676813146575.png

1676813402964.png

8iQ1YhW.png
 
Последнее редактирование:
ну как вариант ты можешь просто чекать по герою(int32 m_iHeroID)/по имени героя/по классу героя - если это мипо/морф/варден - чекать специфичными способами - если это любой другой герой - просто m_hReplicatingOtherHeroModel
у мипо(C_DOTA_Unit_Hero_Meepo) работает нетвар client.dll/C_DOTA_BaseNPC/m_bIsIllusion (у других он просто не работает. у мипо он отдельно влючен габеном
+ MNetworkIncludeByName "m_bIsIllusion"
)
у морфа(C_DOTA_Unit_Hero_Morphling) если есть бафф modifier_morphling_replicate то значит это настоящий морф под ультой(в противном случае если баффа нет то через m_hReplicatingOtherHeroModel чекать)
у вардена(CDOTA_Unit_Hero_ArcWarden) если есть бафф modifier_arc_warden_tempest_double то значит это клон с ульты(в противном случае если баффа нет то через m_hReplicatingOtherHeroModel чекать)
ну и еще IsAlive к этому всему можно прикрутить(трупаков на иллюзии впринципе то и смысла нет чекать)
Посмотреть вложение 239168
Посмотреть вложение 239169
Посмотреть вложение 239171
8iQ1YhW.png

Спасибо огромное,что время уделил,,попробую отпишусь.

P.S на счет CUtlVector возьму на заметку,я думал что модифаеры это просто рандомная структура.

P.S Все работает спс ,а то єто кошмар как радражало.По поводу того чтобы ривилить скиллы типо чарджа бары,телепортов и тд.ВВ сторону нетчана смотерть?
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
По поводу того чтобы ривилить скиллы типо чарджа бары,телепортов и тд.ВВ сторону нетчана смотерть?

Чарж -- это модификатор modifier_spirit_breaker_charge_of_darkness_vision.
Еще из полезного -- modifier_sniper_assassinate, modifier_truesight, modifier_item_sphere.
С этими -- modifier_lina_light_strike_array, modifier_invoker_sun_strike, modifier_kunkka_torrent_thinker -- чуть посложней.
Они не на героя накладываются, а на npc_dota_thinker. Чекай нетвар m_hParent у модификатора, это хендл энтити (собсна синкера), ну и смотри его AbsOrigin -- это и будет место каста.
Телепорты -- в сторону нетчана. Создание партикли и установка контрол поинтов.
 
Чарж -- это модификатор modifier_spirit_breaker_charge_of_darkness_vision.
Еще из полезного -- modifier_sniper_assassinate, modifier_truesight, modifier_item_sphere.
С этими -- modifier_lina_light_strike_array, modifier_invoker_sun_strike, modifier_kunkka_torrent_thinker -- чуть посложней.
Они не на героя накладываются, а на npc_dota_thinker. Чекай нетвар m_hParent у модификатора, это хендл энтити (собсна синкера), ну и смотри его AbsOrigin -- это и будет место каста.
Телепорты -- в сторону нетчана. Создание партикли и установка контрол поинтов.
Нихрена, в синкерах есть модификаторы
Никогда бы не подумал
 
Спасибо огромное,что время уделил,,попробую отпишусь.

P.S на счет CUtlVector возьму на заметку,я думал что модифаеры это просто рандомная структура.

P.S Все работает спс ,а то єто кошмар как радражало.По поводу того чтобы ривилить скиллы типо чарджа бары,телепортов и тд.ВВ сторону нетчана смотерть?
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Чарж -- это модификатор modifier_spirit_breaker_charge_of_darkness_vision.
Еще из полезного -- modifier_sniper_assassinate, modifier_truesight, modifier_item_sphere.
С этими -- modifier_lina_light_strike_array, modifier_invoker_sun_strike, modifier_kunkka_torrent_thinker -- чуть посложней.
Они не на героя накладываются, а на npc_dota_thinker. Чекай нетвар m_hParent у модификатора, это хендл энтити (собсна синкера), ну и смотри его AbsOrigin -- это и будет место каста.
Телепорты -- в сторону нетчана. Создание партикли и установка контрол поинтов.

О спасибо,не поудмал даже что нетвар m_hParent есть и можно его из шемы достать,я хардкодил
 
Последнее редактирование:
Назад
Сверху Снизу