Вопрос Как пофиксить мерцание модельки в начале раунда?

Говорю правду в шутках
Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
114
Реакции[?]
28
Поинты[?]
0
В шапке, как пофиксить?
 
Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2019
Сообщения
137
Реакции[?]
77
Поинты[?]
2K
это потому, что вы используете другой код thirdperson (вы используете код, который не вызывает "thirdperson" в качестве консольной команды), поэтому UpdateVisibilityAllEntities не будет вызван, поскольку sv_cheats не включен, игры вынуждают вас от первого лица, но ваш чит также заставляет третье лицо, что делает вещи иначе UpdateVisibilityAllEntities не будет работать. поэтому для этого вам нужно использовать sv_cheats 1 или вы можете подключить sv_cheats, а затем проверить, является ли returnaddress CamThink. несколько примеров кода:

hooked_cvars.cpp:
C++:
bool __fastcall hooks::hooked_sv_cheats(ICvar* ecx, void* edx)
{
    // since i can't figure out on how to fix UpdateVisibilityAllEntities to work ( it's crashing. ) maybe i'll just hook it with cam_think as if it was the return address to this.
    static auto original_fn = sv_cheats_hook->get_func_address <sv_cheats_t>(13);
    static const auto return_fn = util::FindSignature("client.dll", "85 C0 75 30 38 86");

    if (_ReturnAddress() == (void*)return_fn)
        return true;

    return original_fn(ecx);
}
main.cpp:
C++:
    static const auto sv_cheats = m_cvar()->FindVar(crypt_str("sv_cheats"));
    hooks::sv_cheats_hook = new vmthook(reinterpret_cast<DWORD**>(sv_cheats));
    hooks::sv_cheats_hook->hook_function(reinterpret_cast<uintptr_t>(hooks::hooked_sv_cheats), 13);  //-V107 //-V221
 
Пользователь
Статус
Оффлайн
Регистрация
12 Июн 2019
Сообщения
865
Реакции[?]
127
Поинты[?]
1K
это потому, что вы используете другой код thirdperson (вы используете код, который не вызывает "thirdperson" в качестве консольной команды), поэтому UpdateVisibilityAllEntities не будет вызван, поскольку sv_cheats не включен, игры вынуждают вас от первого лица, но ваш чит также заставляет третье лицо, что делает вещи иначе UpdateVisibilityAllEntities не будет работать. поэтому для этого вам нужно использовать sv_cheats 1 или вы можете подключить sv_cheats, а затем проверить, является ли returnaddress CamThink. несколько примеров кода:

hooked_cvars.cpp:
C++:
bool __fastcall hooks::hooked_sv_cheats(ICvar* ecx, void* edx)
{
    // since i can't figure out on how to fix UpdateVisibilityAllEntities to work ( it's crashing. ) maybe i'll just hook it with cam_think as if it was the return address to this.
    static auto original_fn = sv_cheats_hook->get_func_address <sv_cheats_t>(13);
    static const auto return_fn = util::FindSignature("client.dll", "85 C0 75 30 38 86");

    if (_ReturnAddress() == (void*)return_fn)
        return true;

    return original_fn(ecx);
}
main.cpp:
C++:
    static const auto sv_cheats = m_cvar()->FindVar(crypt_str("sv_cheats"));
    hooks::sv_cheats_hook = new vmthook(reinterpret_cast<DWORD**>(sv_cheats));
    hooks::sv_cheats_hook->hook_function(reinterpret_cast<uintptr_t>(hooks::hooked_sv_cheats), 13);  //-V107 //-V221
Это можно использывать как Unlock hidden cvars?
 
Пользователь
Статус
Оффлайн
Регистрация
3 Июл 2019
Сообщения
137
Реакции[?]
77
Поинты[?]
2K
Это можно использывать как Unlock hidden cvars?
совсем другое дело. вы подключаете cvar для изменения значения, когда вы находитесь в особом состоянии, используя return_address, а затем создаете резервную копию значения, снова вызывая функцию, или вы можете подключить ее и просто изменить номер. для Unlock Hidden Cvars кода:

C++:
void misc::unlockhiddenconvars()
{
    auto p = **reinterpret_cast<ConCommandBase***>(reinterpret_cast<DWORD>(m_cvar()) + 0x34);

    for (auto c = p->m_pNext; c != nullptr; c = c->m_pNext) {
        c->m_nFlags &= ~FCVAR_DEVELOPMENTONLY; // FCVAR_DEVELOPMENTONLY
        c->m_nFlags &= ~FCVAR_HIDDEN; // FCVAR_HIDDEN
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
26 Ноя 2020
Сообщения
62
Реакции[?]
10
Поинты[?]
2K
whats the code for sv_cheats_t?
Edit: its on hooks.hpp
typedef long (__ stdcall * sv_cheats_t) (ICvar *);
 
Последнее редактирование:
Сверху Снизу