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

Исходник Converter better valid tick for LW

  • Автор темы Автор темы flengo
  • Дата начала Дата начала
like amiri in my mind
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
308
Реакции
54
говорю сразу спащено с разных сурсов, мб что то и не пропер
осталось вам сделать нормальный тикбейз в чите и ваще почти по лагкомпу лв не будет мисать(шутка, хотя от тикбейза даже больше зависит imho)
animation_system.h:
Expand Collapse Copy
bool valid(bool extra_checks = true)
    {
        if (!this) //-V704
            return false;

        if (i > 0)
            player = (player_t*)m_entitylist()->GetClientEntity(i);

        if (!player)
            return false;

        if (player->m_lifeState() != LIFE_ALIVE)
            return false;

        if (immune)
            return false;

        if (dormant)
            return false;

        if (!extra_checks)
            return true;

        if (invalid)
            return false;

        auto net_channel_info = m_engine()->GetNetChannelInfo();

        if (!net_channel_info)
            return false;

        static auto sv_maxunlag = m_cvar()->FindVar(crypt_str("sv_maxunlag"));

        auto outgoing = net_channel_info->GetLatency(FLOW_OUTGOING);
        auto incoming = net_channel_info->GetLatency(FLOW_INCOMING);

        auto correct = math::clamp(outgoing + incoming + util::get_interpolation(), 0.0f, sv_maxunlag->GetFloat());

        auto curtime = g_ctx.local()->is_alive() ? TICKS_TO_TIME(g_ctx.globals.fixed_tickbase) : m_globals()->m_curtime; //-V807
        auto delta_time = correct - (curtime - simulation_time);

        if (fabs(delta_time) > sv_maxunlag->GetFloat())
            return false;

        auto server_tick = m_engine()->GetServerTick() + TIME_TO_TICKS(outgoing);

        if (g_ctx.globals.fakeducking)
            server_tick += 14 - m_clientstate()->iChokedCommands;

        if (simulation_time >= (float)(int)(TICKS_TO_TIME(server_tick) - sv_maxunlag->GetFloat()))
            return false;

        return true;
    }
 
(float)(int)(TICKS_TO_TIME(server_tick)
у тебя всё хорошо? тебе нужна помощь? звоните 112, парни
блин незаметил я просто впастил потом конвертнул, попутно сверяя с другими сурсами +- это самое лучшее в паблике + еще челик кое какой подсказал
 
Последнее редактирование модератором:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
(float)(int)(TICKS_TO_TIME(server_tick)
у тебя всё хорошо? тебе нужна помощь? звоните 112, парни
what wrong?
u can look on the pseudo code from actual server lag_compensation
C++:
Expand Collapse Copy
v5 = *(float *)(GlobalVas + 16) - v22;    // flDeadtime
v6 = (signed int)v5;                              // ( int )flDeadtime, nice valve l0l
  while ( 1 )
 {
    v7 = a3[4];
    if ( !v7 || *(_DWORD *)(v7 + 400) == v7 && *(_DWORD *)(v7 + 404) != v7 )
      break;
    v5 = *(float *)(v7 + 52);
    if ( v5 >= (float)v6 )
      break;
    sub_10319FF0(a3[4]);
 }
if you don't trust me you can watch it yourself
server.dll + 31A41D
 
what wrong?
u can look on the pseudo code from actual server lag_compensation
C++:
Expand Collapse Copy
v5 = *(float *)(GlobalVas + 16) - v22;    // flDeadtime
v6 = (signed int)v5;                              // ( int )flDeadtime, nice valve l0l
  while ( 1 )
{
    v7 = a3[4];
    if ( !v7 || *(_DWORD *)(v7 + 400) == v7 && *(_DWORD *)(v7 + 404) != v7 )
      break;
    v5 = *(float *)(v7 + 52);
    if ( v5 >= (float)v6 )
      break;
    sub_10319FF0(a3[4]);
}
if you don't trust me you can watch it yourself
server.dll + 31A41D
literally unrelated to code above, fuck off
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
говорю сразу спащено с разных сурсов, мб что то и не пропер
осталось вам сделать нормальный тикбейз в чите и ваще почти по лагкомпу лв не будет мисать(шутка, хотя от тикбейза даже больше зависит imho)
animation_system.h:
Expand Collapse Copy
bool valid(bool extra_checks = true)
    {
        if (!this) //-V704
            return false;

        if (i > 0)
            player = (player_t*)m_entitylist()->GetClientEntity(i);

        if (!player)
            return false;

        if (player->m_lifeState() != LIFE_ALIVE)
            return false;

        if (immune)
            return false;

        if (dormant)
            return false;

        if (!extra_checks)
            return true;

        if (invalid)
            return false;

        auto net_channel_info = m_engine()->GetNetChannelInfo();

        if (!net_channel_info)
            return false;

        static auto sv_maxunlag = m_cvar()->FindVar(crypt_str("sv_maxunlag"));

        auto outgoing = net_channel_info->GetLatency(FLOW_OUTGOING);
        auto incoming = net_channel_info->GetLatency(FLOW_INCOMING);

        auto correct = math::clamp(outgoing + incoming + util::get_interpolation(), 0.0f, sv_maxunlag->GetFloat());

        auto curtime = g_ctx.local()->is_alive() ? TICKS_TO_TIME(g_ctx.globals.fixed_tickbase) : m_globals()->m_curtime; //-V807
        auto delta_time = correct - (curtime - simulation_time);

        if (fabs(delta_time) > sv_maxunlag->GetFloat())
            return false;

        auto server_tick = m_engine()->GetServerTick() + TIME_TO_TICKS(outgoing);

        if (g_ctx.globals.fakeducking)
            server_tick += 14 - m_clientstate()->iChokedCommands;

        if (simulation_time >= (float)(int)(TICKS_TO_TIME(server_tick) - sv_maxunlag->GetFloat()))
            return false;

        return true;
    }
```

auto curtime = g_ctx.local()->is_alive() ? TICKS_TO_TIME(g_ctx.globals.fixed_tickbase) : m_globals()->m_curtime; //-V807
auto delta_time = correct - (curtime - simulation_time);
```
help this dude to make something good
 
Назад
Сверху Снизу