• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Не работает External Night Mode

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
14 Апр 2020
Сообщения
49
Реакции
4
Всем хай! Я решил сделать Night Mode для кс, а он, п*длa такая, не работает! Помогите мне, люди добрые!

C#:
Expand Collapse Copy
public static void NightMode()
{
    int LocalPlayer = mem.Read<int>(client_dll + Offsets.dwLocalPlayer);
    int ToneMapControllerIndex = mem.Read<int>(LocalPlayer + Offsets.m_hTonemapController) & 0xFFF;

    for (int i = 0; i < 2048; i++)
    {
        int EntityList = mem.Read<int>(client_dll + Offsets.dwEntityList + i * 0x10);


        if (EntityList != 0)
        {
            var ToneMapControllerHandle = mem.Read<int>(client_dll + Offsets.dwEntityList + ToneMapControllerIndex * 0x10);

            if (NightModeEnabled)
            {
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMin, 1);
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMax, 1);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMin, 0.075f);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMax, 0.075f);
            }
            else
            {
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMin, 0);
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMax, 0);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMin, 1f);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMax, 1f);
            }
        }
    }
}
 
Всем хай! Я решил сделать Night Mode для кс, а он, п*длa такая, не работает! Помогите мне, люди добрые!

C#:
Expand Collapse Copy
public static void NightMode()
{
    int LocalPlayer = mem.Read<int>(client_dll + Offsets.dwLocalPlayer);
    int ToneMapControllerIndex = mem.Read<int>(LocalPlayer + Offsets.m_hTonemapController) & 0xFFF;

    for (int i = 0; i < 2048; i++)
    {
        int EntityList = mem.Read<int>(client_dll + Offsets.dwEntityList + i * 0x10);


        if (EntityList != 0)
        {
            var ToneMapControllerHandle = mem.Read<int>(client_dll + Offsets.dwEntityList + ToneMapControllerIndex * 0x10);

            if (NightModeEnabled)
            {
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMin, 1);
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMax, 1);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMin, 0.075f);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMax, 0.075f);
            }
            else
            {
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMin, 0);
                mem.Write<int>(ToneMapControllerHandle + Offsets.m_bUseCustomAutoExposureMax, 0);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMin, 1f);
                mem.Write<float>(ToneMapControllerHandle + Offsets.m_flCustomAutoExposureMax, 1f);
            }
        }
    }
}
Друг, скажи пожалуйста. Дебаггеры для кого придумали?
 
Друг, скажи пожалуйста. Дебаггеры для кого придумали?

А что дебаггер то? Прогнал я этот код через него, и? Переменным присваивается значение, но все равно не работает
 
Последнее редактирование:
А что дебаггер то? Прогнал я этот код через него, и? Переменным присваивается значение, но все равно не работает
Ну так проверь те ли оффсеты, в правильные ли места ты записываешь значения, меняются ли нужные тебе переменные в самой игре
 
офсеты сами обновляются, записывается все верно, а вот изменились ли переменные в игре, я посмотрю
 
Неправильно получаешь энтити, от ToneMapControllerIndex перед получением указателя на сам энтити надо отнять еденицу, а-ля

C++:
Expand Collapse Copy
uintptr32_t m_hHandle = mem.Read<uintptr32_t>(EntBase + Offset) & 0xFFF;
uintptr32_t Ent = mem.Read<uintptr32_t>(ClientDll + O.dwEntityList + (m_hHandle - 1) * 16);
(Где оффсет = Offsets.m_hTonemapController, EntBase = LocalPlayer).

Также m_b в m_bUseCustomAutoExposureMin, говорит что это байт а не int.

А ещё зачем 2048 раз этот код выполнять ?
 
Неправильно получаешь энтити, от ToneMapControllerIndex перед получением указателя на сам энтити надо отнять еденицу, а-ля

C++:
Expand Collapse Copy
uintptr32_t m_hHandle = mem.Read<uintptr32_t>(EntBase + Offset) & 0xFFF;
uintptr32_t Ent = mem.Read<uintptr32_t>(ClientDll + O.dwEntityList + (m_hHandle - 1) * 16);
(Где оффсет = Offsets.m_hTonemapController, EntBase = LocalPlayer).

Также m_b в m_bUseCustomAutoExposureMin, говорит что это байт а не int.

А ещё зачем 2048 раз этот код выполнять ?

спасибо тебе, выручил) 2048 прогонов это по гайду с UC, как, впрочем, и весь Night Mode ;)
 
Назад
Сверху Снизу