Для начала, немного о Пинге:
Ping — это служебная компьютерная программа, предназначенная для проверки соединений в сетях на основе TCP/IP.
Она отправляет запросы Echo-Request протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженности каналов передачи данных и промежуточных устройств.
Простонародным языком. Пингом называется время, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту, оно измеряется в миллисекундах. Время пинга связано со скоростью соединения и загруженностью каналов на всём протяжении от клиента к серверу.
Минимальное значение пинга, при даже самом быстром инете и самом маленьком расстоянии, равняется 30МС - это минимальное время необходимое для выполнения всех операций в любой сети, будь то локальная, то интернетовская
Теперь к тому как пинг отражается в игре в моей собственной формулировке.
Время затраченное на отправку сигнала от вашего компьютера до сервера и время на его возврат на сервере, допустим 100МС. Тоесть сервер видит вас через 50 МС после того как вы что либо сделаете, а через 100МС после действия вы видите картинку на сервере.
как стрелять по игрокам с пингом 50, 100, 150, и 200 в конце статьи. а щас я попробую порассуждать почему надо делать расстояние.
Когда вы, игрок1, отсылаете ваш сигнал на сервер о неком действии "А", проходит 50 МС прежде чем сервер его получит и еще 50 прежде чем вы получите картинку на сервере после некого действия А. Параллельно с вами игрок с пингом 200 делает действие "Б" и проходит 100 МС прежде чем сервер получит сигнал и еще 100 прежде чем отошлет ответ игроку 2 о действиях "А" и "Б". Но игроку с пингом в 100, время на получение действия Б равняется пингу в 50 т.к. нулевая точка времени является та точка, которая стоит на моменте получения сервера сигнала. А игроку 2, нужно 100МС о получении сигнала о действии "А". По этому любой пинг делите по полам и вы получите время через которое он вас увидит.
Вот я сижу уже битый час, думая по чему чем выше пинг, тем сложнее попасть по человеку. Но ответ в ЛАГАХ этого человека. Т.к. сигнал идет 200 МС туда сюда, то увеличивается промежуток "мертвой зоны"(время которое без сигнала от сервера иным словом Лаги) и ваше приложение САМП само пытается воссоздать эти сигналы исходя из последних действий игрока 2. следовательно он "немного" не там где надо smile3.gif
И теперь научу не опытных игроков стрелять по пингу.
Стрельба по пингу - это стрельба по человеку, но немного дальше того где он идет у вас на экране. На кровь даже не смотрите, БРЕД!
Допустим.
Пинг 50 - делаете расстояние почти нулевым, т.е. то где он будет через 30 МС (30, не 25 т.к. 30 МС минимальный пинг для любого xD)
100 - делаете такое расстояние где чел будет через 50 МС. Т.е. тож не значительным, не более 1 СМ.
200 и более - тут дело по сложнее. из-за "мертвых зон" т.е. лагов, у этого игрока не будет сглаженного движения, по этому стрелять надо на расстоянии 2 и более СМ впереди игрока.
НО! Все вы забываете что человеку с большим пингом так же трудно попасть по человеку с малым пингом, но почти без труда они смогут попасть по челу с аналогичным себе пингу. Кто не верит, может проверить это на буржуйках.
+ большого пинга.
Есть много людей которые не смогут по вам попасть, так же вас почти не реально сбить с дороги другим авто.
- большого пинга.
Значительная задержка перед отправкой сообщения дает некий дискомфорт. Все таки большинство игроков с малым пингом для вас не убиваемые. Так же на вас будут орать в подозрениях на ГМ нубы.
__________________________________________________
Теперь о стрельбе, как уже стало ясно "Стрельба по пингу - это стрельба по человеку, но немного дальше того где он идет у вас на экране". Тоесть, никогда не смотрите на "тело" игрока, смотрите на сторону, в которую он двигается и примерно прикидывайте его местоположение.
Чтобы было немного проще это представить, см. скрины внизу.
Игрок двигается в левую сторону, соответственно, его настоящее местоположение будет немного левее того "тела", что вы видите.