Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Обсуждаем От чего лц в этой хуевой игре брикается

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Мар 2026
Сообщения
65
Реакции
7
луашк на скит короче пишу с п100 лц бриком, от чего лц брикается кратко? я ебал в сурсах кс искать плеер лакомпенсешен брик телепорт че нахуй
 
лц в этой игре ломается при всем чем только можно
большие фейк лаги, тикбейз шифт, высокая скорость
C++:
Expand Collapse Copy
// reference: https://github.com/perilouswithadollarsign/cstrike15_src/blob/f82112a2388b841d72cb62ca48ab1846dfcc11c8/game/server/player_lagcompensation.cpp
Vector delta = record->m_vecOrigin - prevOrg;
if ( delta.LengthSqr( ) > LAG_COMPENSATION_TELEPORTED_DISTANCE_SQR ) // LAG_COMPENSATION_TELEPORTED_DISTANCE_SQR - ( 64.0f * 64.0f )
{
    // lost track, too much difference
    return false;
}

// did we find a context smaller than target time ?
if ( record->m_flSimulationTime <= flTargetTime )
    break; // hurra, stop

// check if head has same simulation time
if ( track->Count() > 0 )
{
    LagRecord &head = track->Element( track->Head( ) );

    // check if player changed simulation time since last time updated
    if ( head.m_flSimulationTime >= entity->GetSimulationTime( ) )
        return; // don't add new entry for same or older time
}
 
хз мне ток на вейве по методу лцбрика в 2к18 дали, я не существовал в 2к16 еще(
тоже норм, но на 2к18 метод устаревший, на 20 год крякнули метод, уже на десинки, нормуль можно гамзалить
 
лц в этой игре ломается при всем чем только можно
большие фейк лаги, тикбейз шифт, высокая скорость
C++:
Expand Collapse Copy
// reference: https://github.com/perilouswithadollarsign/cstrike15_src/blob/f82112a2388b841d72cb62ca48ab1846dfcc11c8/game/server/player_lagcompensation.cpp
Vector delta = record->m_vecOrigin - prevOrg;
if ( delta.LengthSqr( ) > LAG_COMPENSATION_TELEPORTED_DISTANCE_SQR ) // LAG_COMPENSATION_TELEPORTED_DISTANCE_SQR - ( 64.0f * 64.0f )
{
    // lost track, too much difference
    return false;
}

// did we find a context smaller than target time ?
if ( record->m_flSimulationTime <= flTargetTime )
    break; // hurra, stop

// check if head has same simulation time
if ( track->Count() > 0 )
{
    LagRecord &head = track->Element( track->Head( ) );

    // check if player changed simulation time since last time updated
    if ( head.m_flSimulationTime >= entity->GetSimulationTime( ) )
        return; // don't add new entry for same or older time
}
+rep
 
ну а у меня с гитхабом какой то пиздец и при открытии не сурсы а сисечки
Код:
Expand Collapse Copy
bool c_animation_fix::is_breaking_lagcomp(c_csplayer* player, records_t* current) {
    auto anim_player = this->get_animation_player(player->index());
    if (!anim_player || anim_player->records.empty())
        return false;

    static constexpr auto teleport_distance_sqr = 64 * 64;
    if (anim_player->records.size() < 2)
        return 0;

    auto& previous = anim_player->records[anim_player->records.size() - 2];
    auto force_breaking_lc = previous.breaking_lc && current->breaking_lc && (!(previous.flags & fl_onground) || !(current->flags & fl_onground));

    auto& origin = current->origin;

    for (auto i = 0; i < anim_player->records.size(); ++i) {
        const auto record = &anim_player->records.at(i);
        if (record->breaking_lc)
            continue;

        auto delta = record->origin - origin;
        if (delta.length_sqr(true) > teleport_distance_sqr || force_breaking_lc && (delta.length_sqr(true) > 3000 || record->velocity.length_sqr(true) > 250 * 250 || previous.velocity.length_sqr(true) > 250 * 250))
            return true;

        break;
    }

    return false;
}

В целом вроде все чеки учитаны и соблюдены, но не факт))
 
Код:
Expand Collapse Copy
bool c_animation_fix::is_breaking_lagcomp(c_csplayer* player, records_t* current) {
    auto anim_player = this->get_animation_player(player->index());
    if (!anim_player || anim_player->records.empty())
        return false;

    static constexpr auto teleport_distance_sqr = 64 * 64;
    if (anim_player->records.size() < 2)
        return 0;

    auto& previous = anim_player->records[anim_player->records.size() - 2];
    auto force_breaking_lc = previous.breaking_lc && current->breaking_lc && (!(previous.flags & fl_onground) || !(current->flags & fl_onground));

    auto& origin = current->origin;

    for (auto i = 0; i < anim_player->records.size(); ++i) {
        const auto record = &anim_player->records.at(i);
        if (record->breaking_lc)
            continue;

        auto delta = record->origin - origin;
        if (delta.length_sqr(true) > teleport_distance_sqr || force_breaking_lc && (delta.length_sqr(true) > 3000 || record->velocity.length_sqr(true) > 250 * 250 || previous.velocity.length_sqr(true) > 250 * 250))
            return true;

        break;
    }

    return false;
}

В целом вроде все чеки учитаны и соблюдены, но не факт))
тут тоже сисечки какие то
 
Назад
Сверху Снизу