костыльно как-то, но в целом как варианткароч отслеживай яв противника каждый тик, и если этот яв резко фликается то баим включай и все
в анимфикс вставляешь после чека на weight/playbackrate <= 0возможно ли как-то резольвить фейк флик? если да, то как?
if ( record->m_flags & 1
&& record->m_velocity.length_2d( ) > 0.0f
&& record->m_layers[ 6 ].m_weight != prev_record->m_layers[ 6 ].m_weight )
record->m_fake_flick = true;
if ( record->m_fake_flick )
record->m_velocity.clear( );
неее, лучше так тогдав анимфикс вставляешь после чека на weight/playbackrate <= 0
и все
C++:if ( record->m_flags & 1 && record->m_velocity.length_2d( ) > 0.0f && record->m_layers[ 6 ].m_weight != prev_record->m_layers[ 6 ].m_weight ) record->m_fake_flick = true; if ( record->m_fake_flick ) record->m_velocity.clear( );
if(player->simtime > player->oldsimtime){ -- fakeflick check
player_records[player->entindex].clear() --clear unnecessary data
for(auto i; i<sizeof(animlayers) i++){ --iterate layers clear data to get new one at next frame
player->get_animlayers()[i].reset();
}
че за нанотехнологии 0_о?в анимфикс вставляешь после чека на weight/playbackrate <= 0
и все
C++:if ( record->m_flags & 1 && record->m_velocity.length_2d( ) > 0.0f && record->m_layers[ 6 ].m_weight != prev_record->m_layers[ 6 ].m_weight ) record->m_fake_flick = true; if ( record->m_fake_flick ) record->m_velocity.clear( );
А как же джитеры?кароч отслеживай яв противника каждый тик, и если этот яв резко фликается то баим включай и все
джиттеры, десинк-спины, инверт десинк, выходят из чатакароч отслеживай яв противника каждый тик, и если этот яв резко фликается то баим включай и все
фейк флик десинк, флик ролы, гиперфлик на пол тика я вижу тожеджиттеры, десинк-спины, инверт десинк, выходят из чата
Как проверка на чокед стала резко проверкой на *фейкфлик*неее, лучше так тогда
Код:if(player->simtime > player->oldsimtime){ -- fakeflick check
Чистить рекорды = твой чит не выстрелит вовсе..неее, лучше так тогда
Код:player_records[player->entindex].clear() --clear unnecessary data
Ну а это вообще наверное без коменанеее, лучше так тогда
Код:for(auto i; i<sizeof(animlayers) i++){ --iterate layers clear data to get new one at next frame player->get_animlayers()[i].reset(); }
Очень плохая затея.кароч отслеживай яв противника каждый тик, и если этот яв резко фликается то баим включай и все
так это рофл был, я челу ответил который мега пропер метод сделалКак проверка на чокед стала резко проверкой на *фейкфлик*
Понял, зря быканул сорритак это рофл был, я челу ответил который мега пропер метод сделал
да ну ща даже норм читы его пофиксить не фулл могут, либо сложная логика нужна если по факту говорить, и я не уверен что у чела лютый анимфикс чтобы хотя бы норм челов фиксить, лучше пусть анимфикс норм сделает сначала, потом будетт думать как уже и реализовать фейкфлик предикт, хотя одна идея по леерам у меня есть, можно продебажить их и посмотреть как ведет себя лееры при фейкфлике и возможно как то через них детекнутьИтог : *фейкфлик* отдельно фиксить я думаю не нужно т.к нормальный ( даже не идеальный ) анимфикс зафиксит это.
В добавок к нему простой ресольвер по типу анимлееров + антифристенд метода укрепят всё это.
Димас, самая полезная строкаrecord->m_velocity.clear( );
а теперь поясни мне где ты увидел проверку на чокед?)))))))Как проверка на чокед стала резко проверкой на *фейкфлик*
Чистить рекорды = твой чит не выстрелит вовсе..
upd : ну если у тебя они опять не соберутся конечно, но всё таки смысла в коде ноль
Ну а это вообще наверное без комена
Очень плохая затея.
Итог : *фейкфлик* отдельно фиксить я думаю не нужно т.к нормальный ( даже не идеальный ) анимфикс зафиксит это.
В добавок к нему простой ресольвер по типу анимлееров + антифристенд метода укрепят всё это.
тариев..
Ну или TimeDelta без разницы.а теперь поясни мне где ты увидел проверку на чокед?)))))))
Ну или TimeDelta без разницы.
В любом случае если m_flOldSimulationTime будет не равен m_flSimulationTime , то чувак чокает пакеты...
Вспомни сервер код а именно CBasePlayer::PostThink ( симтайм ставится именно там )
А так-же :Пожалуйста, авторизуйтесь для просмотра ссылки.
Ну и наверное :Пожалуйста, авторизуйтесь для просмотра ссылки.
.
Коротко говоря и своими словами : Есть у тебя старый симтайм да? и есть актуальный симтайм, на апдейте первый равен второму.. и вдруг чувак чокает например 6 тиков. Знаешь какая разница будет между симтайм и олдсимтайм ? правильно, 6 !
UPD : Надеюсь так будет понятно почему происходит *сдвиг* этого интересного нетвара. Всем спасибо за внимание.
ААааа боже, Альмир ты меня убиваешь.Посмотреть вложение 243613
Ты сейчас сказал глупость.... большую глупость.
А тут ты сам себе противоречишь
Посмотреть вложение 243614
на апдейте симтайма
ой бляяяяяяяяяяяяяяяААааа боже, Альмир ты меня убиваешь.
Вот еще пример
( просто легит чел )
m_flOldSimulationTime = 5
m_flSimulationTime = 5
Чувак чокает 6 ( фейклаги включил или эксплойт хз )
m_flOldSimulationTime = 5
m_flSimulationTime = 11
Получилась некая разница, вот почему это чокед..
Мне лень тоже, мб я что то не так написал и что то пропустил.ой бляяяяяяяяяяяяяяя
я не собираюсь объяснять то, что и так было в паблике
научись пользоваться поиском, ты в корне не прав
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz