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

Гайд Продолжение. вбе(партикли)

Последнее редактирование:
use_particle_fow УБРАЛИ!!!!!!!!!!!!!!!!!
У particle property есть флаг, отвечающий за рендер в тумане. У particle collection тоже можно зафорсить. Так что это не проблема. Не понимаю, почему кто-то держит что-то на конварах, если вольво спокойно могут чекать включенные конвары с сервера. Тут никто не спуфает конвары как в ксго, чтобы сервак не мог их видеть.
 
use_particle_fow УБРАЛИ!!!!!!!!!!!!!!!!!
там же вроде чето писали про хук SetRenderingEnabled почитай попробуй посмотри, вроде работает
1677088097991.png

P.S.
дамп обновил
Feb 22 2023 дамп(версия игры от Feb 21 2023)
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
use_particle_fow УБРАЛИ!!!!!!!!!!!!!!!!!

95 функа у CParticleCollection. Так даже больше партиклей рисуется, чем через конвар.

C++:
Expand Collapse Copy
void hkSetRenderingEnabled(CParticleCollection* thisptr, bool state) {
    oSetRenderingEnabled(thisptr, true);
}
 
Так, господа, чё по SetControlPoint? В витейбле его не наблюдаю, рядом похожая функция с циклом, но это SetControlPointObject
Оно теперь не виртуальное?


А, не, в CNewParticleEffect тот же индекс используется. Просто там как-то реструктуризировали и оно вызывает другую функцию с доп. аргументом
 
Последнее редактирование:
does any 1 found any good / non ugly m_iTaggedAsVisibleByTeam cuz iam trying to use it and it ALWAYS giving me value of 4 ?
You can't use it w/o hooking netvar. It always overrided to default value no matter of what. You should read this one post made by Liberalist (https://yougame.biz/threads/139802/page-8#post-3127270)

NetworkFieldChangeCallback_t aint fully since there alot more in it params and it wont catch netvars on creating but still better then nothing
 
I understand that they removed m_ITaggedAsVisible from DotaBaseNpc? are there any methods on vbe?
Visibility by Enemy – How It Actually Works Quick clarification on how the “Visible by Enemy” feature works now – especially since some of you noticed that older versions don't behave the same way anymore. 1. Stat Item RequiredMake sure you have at least one stat item in your inventory (like Wraith Band, Bracer, or Null Talisman).Why? Because visibility is detected by watching for stat updates. These updates only happen on the enemy's side when you become visible, and they rely on having something that affects your stats. 2. Visibility Timer (0.5s – 5s)There's a timer setting in the panel that controls how long you must be visible before it gets detected and displayed.0.5s → super responsive, fast feedback.5s → slower, filters out short flickers like random ward vision or creep aggro. Important Note:Valve has changed the way visibility data is handled in their API, which is why older versions of the function doesn't work anymore.This has nothing to do with Melonity itself — the feature is working as intended, but it depends on the new visibility logic and updated memory reading patterns

PS : it is copy pasted from melonity.
 
Did they do something with Ring Particle? I dont seem to be able to set control index to the proper one. VMT Index is 0x80 correct?

"particles/ui_mouseactions/selected_ring.vpcf";

I mean it draws well, but I cannot change the radius of the circle. It is always something like 200--300 and doesnt go further
 
Did they do something with Ring Particle? I dont seem to be able to set control index to the proper one. VMT Index is 0x80 correct?

"particles/ui_mouseactions/selected_ring.vpcf";

I mean it draws well, but I cannot change the radius of the circle. It is always something like 200--300 and doesnt go further
ну другую партиклю попробуй - например которая радиус/каст рейндж абилок показывает когда на них наводишь
 
setcontrolpoint na offsette 0x90 right?

просто юзаю и чето нифига не помогает хотя в партл едитор (от габена) все норм
Код:
Expand Collapse Copy
$-1D2            | 48:896C24 18               | mov qword ptr ss:[rsp+18],rbp                                          |
$-1CD            | 56                         | push rsi                                                               |
$-1CC            | 57                         | push rdi                                                               |
$-1CB            | 41:56                      | push r14                                                               |
$-1C9            | 48:83EC 30                 | sub rsp,30                                                             |
$-1C5            | 48:8BEA                    | mov rbp,rdx                                                            |
$-1C2            | 48:8BF9                    | mov rdi,rcx                                                            |
$-1BF            | BA FFFFFFFF                | mov edx,FFFFFFFF                                                       |
$-1BA            | 48:8D0D 49C10204           | lea rcx,qword ptr ds:[7FFD92BB8458]                                    |
$-1B3            | 41:8BF1                    | mov esi,r9d                                                            |
$-1B0            | 4D:8BF0                    | mov r14,r8                                                             |
$-1AD            | E8 563FBF01                | call client.7FFD90780270                                               |
$-1A8            | 48:85C0                    | test rax,rax                                                           |
$-1A5            | 75 0B                      | jne client.7FFD8EB8C32A                                                |
$-1A3            | 48:8B05 3AC10204           | mov rax,qword ptr ds:[7FFD92BB8460]                                    |
$-19C            | 48:8B40 08                 | mov rax,qword ptr ds:[rax+8]                                           |
$-198            | 8038 00                    | cmp byte ptr ds:[rax],0                                                |
$-195            | 0F85 BA010000              | jne client.7FFD8EB8C4ED                                                |
$-18F            | BA FFFFFFFF                | mov edx,FFFFFFFF                                                       |
$-18A            | 48:8D0D 8940FE03           | lea rcx,qword ptr ds:[7FFD92B703C8]                                    |
$-183            | E8 2C3FBF01                | call client.7FFD90780270                                               |
$-17E            | 48:85C0                    | test rax,rax                                                           |
$-17B            | 75 0B                      | jne client.7FFD8EB8C354                                                |
$-179            | 48:8B05 8040FE03           | mov rax,qword ptr ds:[7FFD92B703D0]                                    |
$-172            | 48:8B40 08                 | mov rax,qword ptr ds:[rax+8]                                           |
$-16E            | 8038 00                    | cmp byte ptr ds:[rax],0                                                |
$-16B            | 0F84 90010000              | je client.7FFD8EB8C4ED                                                 |
$-165            | 48:8B8F E0070000           | mov rcx,qword ptr ds:[rdi+7E0]                                         |
$-15E            | 48:895C24 50               | mov qword ptr ss:[rsp+50],rbx                                          |
$-159            | 4C:897C24 58               | mov qword ptr ss:[rsp+58],r15                                          |
$-154            | 48:85C9                    | test rcx,rcx                                                           |
$-151            | 74 12                      | je client.7FFD8EB8C385                                                 |
$-14F            | 41:B1 01                   | mov r9b,1                                                              |
$-14C            | C64424 20 01               | mov byte ptr ss:[rsp+20],1                                             |
$-147            | 45:33C0                    | xor r8d,r8d                                                            |
$-144            | 33D2                       | xor edx,edx                                                            |
$-142            | E8 CB97AE01                | call client.7FFD90675B50                                               |
$-13D            | 83FE 1C                    | cmp esi,1C                                                             |
$-13A            | 4C:8D3D 41409D02           | lea r15,qword ptr ds:[7FFD915603D0]                                    | 00007FFD915603D0:"particles/ui_mouseactions/clicked_moveto.vpcf"
$-133            | 48:8D1D 6A409D02           | lea rbx,qword ptr ds:[7FFD91560400]                                    | 00007FFD91560400:"particles/ui_mouseactions/clicked_basemove.vpcf"
$-12C            | BA FFFFFFFF                | mov edx,FFFFFFFF                                                       |
$-127            | 48:8D0D 0642FE03           | lea rcx,qword ptr ds:[7FFD92B705A8]                                    |
$-120            | 49:0F44DF                  | cmove rbx,r15                                                          |
$-11C            | E8 C53EBF01                | call client.7FFD90780270                                               |
$-117            | 48:85C0                    | test rax,rax                                                           |
$-114            | 75 0B                      | jne client.7FFD8EB8C3BB                                                |
$-112            | 48:8B05 F941FE03           | mov rax,qword ptr ds:[7FFD92B705B0]                                    |
$-10B            | 48:8B40 08                 | mov rax,qword ptr ds:[rax+8]                                           |
$-107            | 8038 00                    | cmp byte ptr ds:[rax],0                                                |
$-104            | 74 1F                      | je client.7FFD8EB8C3DF                                                 |
$-102            | 83FE 1C                    | cmp esi,1C                                                             |
$-FF             | 48:8D0D 66409D02           | lea rcx,qword ptr ds:[7FFD91560430]                                    | 00007FFD91560430:"particles/ui_mouseactions/clicked_occlusion_basemove.vpcf"
$-F8             | 8D46 FD                    | lea eax,qword ptr ds:[rsi-3]                                           |
$-F5             | 49:0F44CF                  | cmove rcx,r15                                                          |
$-F1             | 48:8D1D 98409D02           | lea rbx,qword ptr ds:[7FFD91560470]                                    | 00007FFD91560470:"particles/ui_mouseactions/clicked_occlusion_basemove_attack.vpcf"
$-EA             | 83F8 01                    | cmp eax,1                                                              |
$-E7             | 48:0F47D9                  | cmova rbx,rcx                                                          |
$-E3             | 807C24 70 00               | cmp byte ptr ss:[rsp+70],0                                             |
$-DE             | 48:8D15 D53B9D02           | lea rdx,qword ptr ds:[7FFD9155FFC0]                                    | 00007FFD9155FFC0:"particles/ui_mouseactions/waypoint_flag.vpcf"
$-D7             | 48:8D8F 68050000           | lea rcx,qword ptr ds:[rdi+568]                                         |
$-D0             | 41:B8 02000000             | mov r8d,2                                                              |
$-CA             | 48:0F44D3                  | cmove rdx,rbx                                                          |
$-C6             | 33DB                       | xor ebx,ebx                                                            |
$-C4             | 44:0FB6CB                  | movzx r9d,bl                                                           |
$-C0             | 895C24 20                  | mov dword ptr ss:[rsp+20],ebx                                          |
$-BC             | E8 45C1AE01                | call client.7FFD90678550                                               |
$-B7             | 4C:8B7C24 58               | mov r15,qword ptr ss:[rsp+58]                                          |
$-B2             | 48:8D8F D0070000           | lea rcx,qword ptr ds:[rdi+7D0]                                         |
$-AB             | 4C:8B41 10                 | mov r8,qword ptr ds:[rcx+10]                                           |
$-A7             | 48:8BD0                    | mov rdx,rax                                                            |
$-A4             | 4C:3BC0                    | cmp r8,rax                                                             |
$-A1             | 74 68                      | je client.7FFD8EB8C48B                                                 |
$-9F             | 4D:85C0                    | test r8,r8                                                             |
$-9C             | 74 3E                      | je client.7FFD8EB8C466                                                 |
$-9A             | 4C:8B49 08                 | mov r9,qword ptr ds:[rcx+8]                                            |
$-96             | 4D:85C9                    | test r9,r9                                                             |
$-93             | 74 18                      | je client.7FFD8EB8C449                                                 |
$-91             | 48:8B01                    | mov rax,qword ptr ds:[rcx]                                             |
$-8E             | 49:8901                    | mov qword ptr ds:[r9],rax                                              |
$-8B             | 4C:8B01                    | mov r8,qword ptr ds:[rcx]                                              |
$-88             | 4D:85C0                    | test r8,r8                                                             |
$-85             | 74 20                      | je client.7FFD8EB8C45F                                                 |
$-83             | 48:8B41 08                 | mov rax,qword ptr ds:[rcx+8]                                           |
$-7F             | 49:8940 08                 | mov qword ptr ds:[r8+8],rax                                            |
$-7B             | EB 16                      | jmp client.7FFD8EB8C45F                                                |
$-79             | 49:3948 08                 | cmp qword ptr ds:[r8+8],rcx                                            |
$-75             | 75 10                      | jne client.7FFD8EB8C45F                                                |
$-73             | 48:8B01                    | mov rax,qword ptr ds:[rcx]                                             |
$-70             | 49:8940 08                 | mov qword ptr ds:[r8+8],rax                                            |
$-6C             | 48:85C0                    | test rax,rax                                                           |
$-69             | 74 04                      | je client.7FFD8EB8C45F                                                 |
$-67             | 48:8958 08                 | mov qword ptr ds:[rax+8],rbx                                           |
$-63             | 48:8959 08                 | mov qword ptr ds:[rcx+8],rbx                                           |
$-5F             | 48:8919                    | mov qword ptr ds:[rcx],rbx                                             |
$-5C             | 48:8951 10                 | mov qword ptr ds:[rcx+10],rdx                                          |
$-58             | 48:85D2                    | test rdx,rdx                                                           |
$-55             | 74 1C                      | je client.7FFD8EB8C48B                                                 |
$-53             | 48:8B42 08                 | mov rax,qword ptr ds:[rdx+8]                                           |
$-4F             | 48:8901                    | mov qword ptr ds:[rcx],rax                                             |
$-4C             | 48:8B42 08                 | mov rax,qword ptr ds:[rdx+8]                                           |
$-48             | 48:85C0                    | test rax,rax                                                           |
$-45             | 74 04                      | je client.7FFD8EB8C483                                                 |
$-43             | 48:8948 08                 | mov qword ptr ds:[rax+8],rcx                                           |
$-3F             | 48:8959 08                 | mov qword ptr ds:[rcx+8],rbx                                           |
$-3B             | 48:894A 08                 | mov qword ptr ds:[rdx+8],rcx                                           |
$-37             | 48:8B8F E0070000           | mov rcx,qword ptr ds:[rdi+7E0]                                         |
$-30             | 48:8B5C24 50               | mov rbx,qword ptr ss:[rsp+50]                                          |
$-2B             | 48:85C9                    | test rcx,rcx                                                           |
$-28             | 74 51                      | je client.7FFD8EB8C4ED                                                 |
$-26             | 4C:8BC5                    | mov r8,rbp                                                             |
$-23             | 33D2                       | xor edx,edx                                                            |
$-21             | E8 5A92AE01                | call client.7FFD90675700                                               | <--  CNewParticleEffect::SetParticleControlPoint
$-1C             | 48:8B8F E0070000           | mov rcx,qword ptr ds:[rdi+7E0]                                         |
$-15             | 4D:8BC6                    | mov r8,r14                                                             |
$-12             | F2:0F1045 00               | movsd xmm0,qword ptr ss:[rbp]                                          |
$-D              | BA 01000000                | mov edx,1                                                              |
$-8              | F2:0F1141 40               | movsd qword ptr ds:[rcx+40],xmm0                                       |
$-3              | 8B45 08                    | mov eax,dword ptr ss:[rbp+8]                                           |
$ ==>            | 8941 48                    | mov dword ptr ds:[rcx+48],eax                                          |
$+3              | 48:8B8F E0070000           | mov rcx,qword ptr ds:[rdi+7E0]                                         |
$+A              | E8 2F92AE01                | call client.7FFD90675700                                               | <-- CNewParticleEffect::SetParticleControlPoint
$+F              | 48:8B87 E0070000           | mov rax,qword ptr ds:[rdi+7E0]                                         |
$+16             | F3:0F100D A4CE9302         | movss xmm1,dword ptr ds:[7FFD914C9384]                                 |
$+1E             | 48:8B48 20                 | mov rcx,qword ptr ds:[rax+20]                                          |
$+22             | 48:8B01                    | mov rax,qword ptr ds:[rcx]                                             |
$+25             | FF90 08010000              | call qword ptr ds:[rax+108]                                            |
$+2B             | 48:8B6C24 60               | mov rbp,qword ptr ss:[rsp+60]                                          |
$+30             | 48:83C4 30                 | add rsp,30                                                             |
$+34             | 41:5E                      | pop r14                                                                |
$+36             | 5F                         | pop rdi                                                                |
$+37             | 5E                         | pop rsi                                                                |
$+38             | C3                         | ret                                                                    |
C++:
Expand Collapse Copy
void(*SetParticleControlPoint)(CNewParticleEffect*, std::uint32_t, Vector3 const*);
...
    //look up in the dylib CNewParticleProperty::SetControlPoint
    const auto set_particle_cp = rel_decode<std::uint32_t>(process, ExternalSigscan(process, "client.dll",
        "89 41 ?? 48 8B 8F ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B 87", "set_particle_cp_xref") + 0xA, 1, 5);
...
if (data.functions.my_streq(data.strings.npc_dota_thinker, 16, unitName))
            {
                auto& property = entity->Member<CParticleProperty>(data.offsets.m_Particles);
                if (!property.Member<CUtlVector<void*>>(0x10).size)
                {
                    const auto particle =
                        data.functions.AttachNewParticle(
                            &property,
                            data.strings.range_display_particle,
                            1, 0, 0, &data.zero_vec, nullptr);
                    if (particle)
                    {
                        Vector3 range{ .x = 175.0f };
                        data.functions.SetParticleControlPoint(particle, 1, &range);
                    }
                }
            }
 
Назад
Сверху Снизу