Как отследить "рассинхронизацию" при убийстве игрока в АФК с ножа?
#1

Думаю всем известно, что если зарезать товарища по команде или спящего игрока ножом, то у находящихся поблизости игроков он будет "ползать" по земле до момента синхронизации (новый спавн / перепрорисовка / новая отправка на координаты / сесть и выйти из машины и т.д). Причем сам игрок, которого порезали, видит себя в нормальном состоянии, но тем у кого он "ползает" урона нанести не может. Вопрос: Как отследить такую ситуацию через скриптинг?
Reply
#2

Надо бы проверить какие анимы воспроизводятся, потом попробовать по ним определять
Reply
#3

На мой взгляд, может и ошибаюсь, это никак не проследить. По поводу предложения с анимацией - что-то мне подсказывает что анимка будет передаваться нормальная, хотя ошибаюсь может. Но ведь не зря разработчики написали -


P.S: Сейчас нету времени, но если проследить, вызывается ли OnPlayerTakeDamage для таких случаев, то можно в принципе определить какое оружие в руки у наносившего удар и если нож - то просто убиваем игрока. Но однако буду ложные срабатывания. Такие как: если игрок пырнет ножом другого игрока, он сразу погибнет.
Reply
#4

По нажатиям клавиш мыши можно попробовать определить пырнул он его или режет сзади.
Reply
#5

OnPlayerGiveDamage срабатывает 2 раза, при начале резания урон 0 и когда вытаскивает нож из горла ~2000(хотя у меня множитель стоит). Лечить можно телепортом или вирт.миром, лишь бы жертва вышела из зоны стрима. А когда жертва вернётся из афк то тп назад.
Reply
#6

Можно при входе в АФК (у многих, наверное, стоит скрипт проверки) ставить вир.мир MAX_PLAYERS + playerid, а при выходе - возвращать 0, тогда и резать некого будет.
Reply
#7

Кстати проверяйте сколько водителей в машине. Если вашу машину украли пока вы стояли в АФК и уехали из зоны стрима, то при выходе из АФК машина не отбирается и ваш спидометр начинает бесится а вы не можете синхронизироваться с угонщиком пока кто-то из вас не выйдет из машины.
ИМХО лучше ставить вирт.мир когда порезали.
Reply
#8

Когда игрок выходит из афк, очищать его анимацию, ну или синхронизировать.
Reply
#9

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Можно при входе в АФК (у многих, наверное, стоит скрипт проверки) ставить вир.мир MAX_PLAYERS + playerid, а при выходе - возвращать 0, тогда и резать некого будет.
Огосподи.
Reply
#10

Quote:
Originally Posted by NameNone
Посмотреть сообщение
Огосподи.
А зачем вам АФКшники в игровом мире? Пинать их хотите?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)