В zBlock, если игрок изменяет значение cl_interp в сторону увеличения (находясь на сервере), то его кикает. Топорно, но зато надёжно...
На самом деле Дидроль уже планировал сделать такую функцию, когда я предложил ввести некую защиту от таких действий. Он видимо был в курсе, как работает зблок, поэтому когда он сделал эту функцию, то заявил, что такой способ заморозки на 5 сек он считает более приемлемым, нежели кик с сервера. Полностью предотвратить, то есть запретить менять рейты видимо не представляется возможным. Это конечно был бы наилучший выход. Так что щас в ДБ есть защита от таких людей.
Так вот продолжим. Кстати второе название эффекта ранншута - джап-н-шут (когда хевик убивает тебя не долетев до земли, или еле коснувшись). В общем хотел описать свои домыслы насчет того, почему так происходит. Даже принудительную интерполяцию вводили, когда 66 тик ввели для того, чтобы удалить такой эффект.. удалить не получилось. Хотя бы скомпенсировали. Так вот, техническая часть подробно.
Я наверно уже говорил (а может и нет), что в один прекрасный день я заметил то, что многие ранншутеры вайнят, что их убивают за стеной. И тут я понял, что есть прямая зависимость. Получается, обратная сторона медали ранншута - эффект "ЯЖЕБЫЛЗАСТЕНОЙ_КАКОГОЧЛЕНА!!". Отсюда, разложив все по полочкам, я сделал вывод. Все эти эффекты обуславливаются тем, что клиент (прошу заметить это зависит только от клиента) передает пакеты на сервер с задержкой, причем получает от сервера пакеты он без задержек походу. В итоге, на пальцах, получается следующее.
Ранншутер выбегает из-за стены, видит врага, стреляет убивает. Враг видит весь этот беспредел, думает: "лолшто_остановисьхотябыскотина". Игроки видят то, что передает им сервер, но поскольку на сервер информация о местоположении ранншутера приходит с задержкой, то и отображает он эту информацию с задержкой. Поскольку приоритет выстрела выше (не уверен, слышал только от антареса, но похоже на правду), чем местоположения, то сервер регистрирует выстрел и ГГ, а ты падая видишь как лагокомпенсация сглаживает нелепые безостановочные движения.
Обратная сторона медали - эффект "ПАЦАНОВЗАСТЕНОЙВАЛЯТ". Допустим я стою с прицелом жду когда в него вбежит ранншутер. И вот он вбегает, НО мажет и пытается убежать за стену. У себя на экране он, бравый молодец, конечно же, убежал за стенку, но не тут-то было, ведь сервер отображает модельку с задержкой! У себя-то он убежал, а вот для всех клиентов он еще стоит рядом с углом. Я, конечно, по-честному стреляю в эту модельку, по-честному попадаю и по-честному убиваю. Сервер получает пакеты, регистрирует попадание и человек на своем экране падает за стеной или рядом с углом (что бывает чаще, типа как будто не убегал никуда). Это означает, что механизм лагокомпенсации отработал ПРАВИЛЬНО. Он скомпенсировал данный эффект.
Поэтому игроки типа аКааа так вайнят насчет эффекта "ЗАВАЛИЛИзаСТЕНОЙ" (кто играл против него знают как он джампншутит на ура). Ибо до этого момента сервер позволял им выбегать и убегать за стены безо всяких проблем. Даже если ты стреляешь в такую модельку и сервер по-честному должен зарегистрировать попадания, механизм лагокомпенсации не сработает как надо, ведь на клиенте стоит 0 и такой хмырь спокойно убежит за стену.
Небольшое отступление. Мне мПх показывал скрины, на которых видно (команда showimpacts), что по модельке-то он попал, а вот сервер попадания не засчитал. У меня есть стойкое подозрение, что такие скрины были сделаны на паблике, где серверный конфиг позволяет ставить "нулевой" лерп. Это все объясняет.
Думаю теперь вам приблизительно понятно почему такое происходит: "убили в прыжке" и "толком не вышел из-за стены а уже убил". Далее я расскажу о причине, которая вызывает данный эффект.
Небольшое отступление. Мне мПх показывал скрины, на которых видно (команда showimpacts), что по модельке-то он попал, а вот сервер попадания не засчитал. У меня есть стойкое подозрение, что такие скрины были сделаны на паблике, где серверный конфиг позволяет ставить "нулевой" лерп. Это все объясняет.
Посмотри еще раз. Какой нах паблик на котором лерп 0 Игра с есл матча, с есл конфигом Я просто тот момент очень запомнил, как я этого француза убил выпустив в него всю обойму с бара, добил его последним патроном. Вот и посмотри клиент зарегистрировал 6 попаданий, сервер всего 3. Скрин сделал на память
По теме писать влом, и спорить тоже. Одно могу сказать вся проблема в задержке. Конкретнее в пинге до сервера, в лерпе у тебя на клиенте и скорости обработки информации на сервере.
P.S. Всегда думал что ранэндшут это когда люди не останавливаясь стреляют. Вроде хэвиков которые закрывают глаза, зажимают и стрейфятся в разные стороны, попадая 125 ин 1.
P.S.S. всегда весело когда соло рейджится Судить меня дано лишь Богу, другим я укажу дорогу
Сообщение отредактировал mPx - Пятница, 10.02.12, 17:17
S. Всегда думал что ранэндшут это когда люди не останавливаясь стреляют. Вроде хэвиков которые закрывают глаза, зажимают и стрейфятся в разные стороны, попадая 125 ин 1.
Погоди. Ты все-таки его убил.. окей. Но где синие хитбоксы, которые показывают, что игрок все-таки получил демейдж? Или на демке их не видно?
Как бы такая фигня мало имеет отношения к ранншуту, на самом деле. Во всем известном видео наглядно объясняется, что такое может произойти если траблы с моргающим лерпом есть у тебя.
Очередной заговор Думаю все дело в лучшем интернете на нашем материке, хотя британия остров но все же. Был бы у нас такой рег, мы бы тоже наглели, стреляя через пол карты анскопом, синглшотом и пехалем, высаживали без зазрений совести всю обойму на абум, вдруг попадёт. А может и вправду хитрые конфиги. Не зря именно Люке спалил(?) Эквалла. Надо же додуматься до такого, как минимум надо знать о таком скрипте!? Играй гармонь
Сообщение отредактировал Zephyr - Пятница, 10.02.12, 19:56
Один хэвик даёт всем совет (перевод дословный): "Из автоматов на бегу (если цель далеко) можно стрелять очередью из максимум 2 патронов, стоя - 4, сидя - 5."