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

like amiri in my mind
Пользователь
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
308
Реакции[?]
54
Поинты[?]
1K
говорю сразу спащено с разных сурсов, мб что то и не пропер
осталось вам сделать нормальный тикбейз в чите и ваще почти по лагкомпу лв не будет мисать(шутка, хотя от тикбейза даже больше зависит imho)
animation_system.h:
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;
    }
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
(float)(int)(TICKS_TO_TIME(server_tick)
у тебя всё хорошо? тебе нужна помощь? звоните 112, парни
 
like amiri in my mind
Пользователь
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
308
Реакции[?]
54
Поинты[?]
1K
(float)(int)(TICKS_TO_TIME(server_tick)
у тебя всё хорошо? тебе нужна помощь? звоните 112, парни
блин незаметил я просто впастил потом конвертнул, попутно сверяя с другими сурсами +- это самое лучшее в паблике + еще челик кое какой подсказал
 
Последнее редактирование модератором:
Забаненный
Статус
Оффлайн
Регистрация
18 Дек 2022
Сообщения
16
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
(float)(int)(TICKS_TO_TIME(server_tick)
у тебя всё хорошо? тебе нужна помощь? звоните 112, парни
what wrong?
u can look on the pseudo code from actual server lag_compensation
C++:
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
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
what wrong?
u can look on the pseudo code from actual server lag_compensation
C++:
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
 
Забаненный
Статус
Оффлайн
Регистрация
18 Дек 2022
Сообщения
16
Реакции[?]
5
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
27 Ноя 2022
Сообщения
12
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
говорю сразу спащено с разных сурсов, мб что то и не пропер
осталось вам сделать нормальный тикбейз в чите и ваще почти по лагкомпу лв не будет мисать(шутка, хотя от тикбейза даже больше зависит imho)
animation_system.h:
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
 
like amiri in my mind
Пользователь
Статус
Оффлайн
Регистрация
4 Дек 2022
Сообщения
308
Реакции[?]
54
Поинты[?]
1K
Сверху Снизу