Вопрос Glow External HP Colors

Начинающий
Статус
Оффлайн
Регистрация
6 Ноя 2018
Сообщения
20
Реакции[?]
0
Поинты[?]
0
Подскажите пожалуйста кто знает, есть у меня рабочий source glow, как мне сделать так чтобы подсветка на игроках работала в зависимости от HP.
Ну 20hp красный, 50hp зеленый ну и тд!?
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
777
Реакции[?]
245
Поинты[?]
10K
Подскажите пожалуйста кто знает, есть у меня рабочий source glow, как мне сделать так чтобы подсветка на игроках работала в зависимости от HP.
Ну 20hp красный, 50hp зеленый ну и тд!?
ищешь оффсет хп
и далее делаее ебашишь проверки:
Код:
Color bebra;
if(hp > 75){
bebra = Color(0,255,0);
}
else if(hp > 50){
bebra = Color(255,150,0);
}
else if(hp > 25){
bebra = Color(255,0,0);
}
 
Начинающий
Статус
Оффлайн
Регистрация
6 Ноя 2018
Сообщения
20
Реакции[?]
0
Поинты[?]
0
Код:
Color bebra;
if(hp > 75){
bebra = Color(0,255,0);
}
else if(hp > 50){
bebra = Color(255,150,0);
}
else if(hp > 25){
bebra = Color(255,0,0);
}
Плохо понимаю, как инициализировать оффсет(

m_iHealth ? оффсет хп!?
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
6 Ноя 2018
Сообщения
20
Реакции[?]
0
Поинты[?]
0
Код:
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include <io.h>

using namespace std;

uintptr_t moduleBase;
HANDLE TargetProccess;
HWND GameHWND;

DWORD flashDuration = 0x10470; // Flash duration offset
uintptr_t isSpotted = 0x93D; // Enemy tags on radar

int flashDur = 0;

template <typename T> T RPM(SIZE_T address) {
    T buffer;
    ReadProcessMemory(TargetProccess, (LPCVOID)address, &buffer, sizeof(T), NULL);
    return buffer;
}

template <typename T>
void WPM(DWORD address, T value) {
    WriteProcessMemory(TargetProccess, (LPVOID)address, &value, sizeof(value), 0);
}

uintptr_t GetModuleBaseAddress(DWORD dwPid, const wchar_t* moduleName) {
    uintptr_t dwBase = 0;

    do {
        HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, dwPid);

        if (hSnapshot == INVALID_HANDLE_VALUE) continue;

        MODULEENTRY32 ModuleEntry32;
        ModuleEntry32.dwSize = sizeof(MODULEENTRY32);

        if (Module32First(hSnapshot, &ModuleEntry32)) {
            do {
                if (!wcscmp(ModuleEntry32.szModule, moduleName)) {
                    dwBase = (DWORD)ModuleEntry32.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnapshot, &ModuleEntry32));
        }
        CloseHandle(hSnapshot);
    } while (!dwBase);

    return dwBase;
}

//Making glow
void makeGlow(uintptr_t glowObj, int glowIndx) {
    WPM<float>(glowObj + glowIndx * 0x38 + 0x8, 0); // red
    WPM<float>(glowObj + glowIndx * 0x38 + 0xC, 255); // green
    WPM<float>(glowObj + glowIndx * 0x38 + 0x10, 9); // blue
    WPM<float>(glowObj + glowIndx * 0x38 + 0x14, 1); // alpha
    WPM<bool>(glowObj + glowIndx * 0x38 + 0x28, 1); // enable glow if 1, disabled if 0
    WPM<bool>(glowObj + glowIndx * 0x38 + 0x29, 0);
}

//Enabling Wallhack
void wallHack() {

    uintptr_t  dwGlowManager = RPM<uintptr_t>(moduleBase + dwGlowObjectManager);

    int localTeam = RPM<int>(RPM<uintptr_t>(moduleBase + dwEntityList) + m_iTeamNum);

    for (int i = 0; i < 64; i++) {

        uintptr_t pEnt = RPM<uintptr_t>(moduleBase + dwEntityList + i * 0x10);

        radarHack(pEnt); // radar

        int enemyPlayer = RPM<int>(pEnt + m_iTeamNum);

        if (pEnt == 0 || localTeam == enemyPlayer) continue;

        int iGlowIndx = RPM<int>(pEnt + m_iGlowIndex);

        makeGlow(dwGlowManager, iGlowIndx);

    }
}

//Enabling Radar
void radarHack(uintptr_t entity) {

    WPM<bool>(entity + isSpotted, 1);
}

//Antiflash
void antiFlash(uintptr_t localplayer) {
    flashDur = RPM<int>(localplayer + flashDuration);

    if (flashDur > 0) {
        WPM<int>(localplayer + flashDuration, 0);
    }
}

//Run cheats
void activateHacks() {

    while (true) {

        uintptr_t localPlayer = RPM<DWORD>(moduleBase + dwLocalPlayer);


        if (GetKeyState(VK_F1) & 1) {
            wallHack();
        }

        if (GetKeyState(VK_F2) & 1) {
            antiFlash(localPlayer);
        }

        Sleep(1);
    }
}
Вот сурс как сделать подскажите пожалуйста((
 
Участник
Статус
Оффлайн
Регистрация
29 Дек 2019
Сообщения
380
Реакции[?]
168
Поинты[?]
3K
я случайно
Подскажите пожалуйста кто знает, есть у меня рабочий source glow, как мне сделать так чтобы подсветка на игроках работала в зависимости от HP.
Ну 20hp красный, 50hp зеленый ну и тд!?
auto hp = ctx.pl->m_iHealth();
int green = int(hp * 2.55f);
int red = 255 - green;
Color(red, green, 0, 255)

Из ксгосимпла
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
777
Реакции[?]
245
Поинты[?]
10K
я случайно

auto hp = ctx.pl->m_iHealth();
int green = int(hp * 2.55f);
int red = 255 - green;
Color(red, green, 0, 255)

Из ксгосимпла
Это немного не то, потому что он написал определенные числа хп, на которых должен меняться цвет.
Хотя кто его знает)
 
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Начинающий
Статус
Оффлайн
Регистрация
6 Ноя 2018
Сообщения
20
Реакции[?]
0
Поинты[?]
0
Это немного не то, потому что он написал определенные числа хп, на которых должен меняться цвет.
Хотя кто его знает)
Да это не то моленьк.

Color bebra;
if(hp > 75){
bebra = Color(0,255,0);
}
else if(hp > 50){
bebra = Color(255,150,0);
}
else if(hp > 25){
bebra = Color(255,0,0);
}

Похоже на правду, но. Как сделать хз((
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
14 Ноя 2020
Сообщения
1,796
Реакции[?]
586
Поинты[?]
2K
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
777
Реакции[?]
245
Поинты[?]
10K
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Начинающий
Статус
Оффлайн
Регистрация
6 Ноя 2018
Сообщения
20
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2019
Сообщения
113
Реакции[?]
12
Поинты[?]
7K
Подскажите пожалуйста кто знает, есть у меня рабочий source glow, как мне сделать так чтобы подсветка на игроках работала в зависимости от HP.
Ну 20hp красный, 50hp зеленый ну и тд!?
Если нужно плавно, то попробуй использовать циклы, ну или же посмотри как это реализовано в ЛВ хелтчбаре, оно там вроде правильно реализуется
 
Сверху Снизу