Вопрос Glow Offsets

I Hate Twitch Rules
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2020
Сообщения
181
Реакции[?]
72
Поинты[?]
0
Начал изучать весь этот движ с external читами.
За основу взял сурс -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Но почему-то глоу отказывается работать, хотя все остальное работает(оффсеты обновлены)

Для глоу нужны отдельные оффсеты? если да то где их взять?
 
Пользователь
Статус
Оффлайн
Регистрация
11 Июн 2020
Сообщения
177
Реакции[?]
82
Поинты[?]
0
C++:
struct GlowObjectDefinition_t
{
    BYTE nextFreeSlot[0x4]; //0x0
    BYTE entity[0x4]; //0x4
    float r; //0x8
    float g; //0xC
    float b; //0x10
    float a; //0x14
    BYTE pad0[0x10]; //0x18
    bool m_bRenderWhenOccluded; //0x18 + 0x10 = 0x28
    bool m_bRenderWhenUnoccluded; //0x29
    BYTE pad1[0xE];
};
Новая глоу структура, смотришь смещения и меняешь в
Пожалуйста, авторизуйтесь для просмотра ссылки.

Конечный результат:

C++:
void Entity::glowEsp(DWORD glowObj, int glowInd, float r, float g, float b, float a)
{
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0x8)), r);
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) +  0xC)), g);
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0x10)), b);
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0x14)), a);
    Hacks::mem.Write<bool>((glowObj + ((glowInd * 0x38) + 0x28)), true);
    Hacks::mem.Write<bool>((glowObj + ((glowInd * 0x38) + 0x29)), false);
}
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
241
Реакции[?]
83
Поинты[?]
12K
Обновлённая структура:
C++:
struct Glow_t
{
    int m_nNextFreeSlot;
    unsigned long m_pEntity;
    float m_flGlowRed;
    float m_flGlowGreen;
    float m_flGlowBlue;
    float m_flGlowAlpha;
    bool m_bGlowAlphaCappedByRenderAlpha;
    float m_flGlowAlphaFunctionOfMaxVelocity;
    float m_flGlowAlphaMax;
    float m_flGlowPulseOverdrive;
    bool m_bRenderWhenOccluded;
    bool m_bRenderWhenUnoccluded;
    bool m_bFullBloomRender;
    int m_nFullBloomStencilTestValue;
    int m_nRenderStyle;
    int m_nSplitScreenSlot;
};
Лучше писать сразу структуру в память а не каждое поле, т.е. вместо
C++:
void Entity::glowEsp(DWORD glowObj, int glowInd, float r, float g, float b, float a)
{
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0x4)), r);
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0x8)), g);
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0xC)), b);
    Hacks::mem.Write<float>((glowObj + ((glowInd * 0x38) + 0x10)), a);
    Hacks::mem.Write<bool>((glowObj + ((glowInd * 0x38) + 0x24)), true);
    Hacks::mem.Write<bool>((glowObj + ((glowInd * 0x38) + 0x25)), false);
}
сделать (примерно)
C++:
void Entity::glowEsp(DWORD glowObj, int glowInd, float r, float g, float b, float a)
{
    Glow_t Glow = {};
    Glow.m_flGlowRed = r;
    Glow.m_flGlowGreen = g;
    Glow.m_flGlowBlue = b;
    Glow.m_flGlowAlpha = a;
    Glow.m_bRenderWhenOccluded = true;
    Glow.m_bRenderWhenUnoccluded = false;
    Glow.m_nRenderStyle = 0; //Glow = 0, Pulse = 1, Outline = 2, Pulsing outline = 3
    Hacks::mem.Write<Glow_t>(glowObj + ((glowInd * 0x38) + 0x4), Glow);
}
 
Забаненный
Статус
Оффлайн
Регистрация
19 Янв 2022
Сообщения
50
Реакции[?]
18
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Но почему-то глоу отказывается работать
Забей, на экстернале ты никогда не сделаешь так хорошо, как это можно сделать в интернале.
Без синхронизации все это будет работать нестабильно.
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
241
Реакции[?]
83
Поинты[?]
12K
Забей, на экстернале ты никогда не сделаешь так хорошо, как это можно сделать в интернале.
Без синхронизации все это будет работать нестабильно.
Оно может и будет моргать, хотя это фиксится патчем одного байта, но видно через стенки енеми более чем будет.
Фикс моргания:
C++:
DWORD OldProtect{}, Dummy{};
VirtualProtectEx(Game.ProcHandle.MainHandle, (LPVOID)(ClientDll + O.force_update_spectator_glow), 1, PAGE_EXECUTE_READWRITE, &OldProtect);
Game.Write<BYTE>(ClientDll + O.force_update_spectator_glow, HConfig->bGlowFix ? 0xEB : 0x74);
VirtualProtectEx(Game.ProcHandle.MainHandle, (LPVOID)(ClientDll + O.force_update_spectator_glow), 1, OldProtect, &Dummy);
А вообще можно не ебать себе мозг и сделать глоу через нетвар m_flDetectedByEnemySensorTime:
C++:
Game.Write<float>(EntBase + O.m_flDetectedByEnemySensorTime, GlobalVars.curtime + 0.5);
И он не будет моргать, фактически это глоу от теговых гранат, хотя и цвет ты ему тоже не поменяешь. Зато без патча байт!
 
Пользователь
Статус
Оффлайн
Регистрация
30 Апр 2019
Сообщения
143
Реакции[?]
33
Поинты[?]
4K
Забей, на экстернале ты никогда не сделаешь так хорошо, как это можно сделать в интернале.
Без синхронизации все это будет работать нестабильно.
Может будет не так красиво, ну зато траст твой не будет гробить после очередного приколямбуса от Valve. Да и головной боли меньше с поддержкой такого софта после обновы. Я заметил, что после каждой обновы, у людей делающие интернал, что-то ломается каждый раз. А ещё бы я отнес к плюсам то, что ты можешь писать экстернал на скриптовых языках, что для новичка просто гуд, да и ходят слухи, что если на скриптовом языке сделать софт, ваком ты не отлетишь, если только не начнешь распространять это. Ну тут как говорится - каждому своё.
 
Pa$$ter
Пользователь
Статус
Оффлайн
Регистрация
9 Июн 2020
Сообщения
241
Реакции[?]
83
Поинты[?]
12K
Сверху Снизу