Ищу нормальный код missed shot due spread

  • Автор темы Автор темы netvar
  • Дата начала Дата начала
get good get desync.vip
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
19 Мар 2017
Сообщения
813
Реакции
150
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Не кидайте пж код из вантапгенг.meme
 
По идее это должно работать так:
Идёт проверка на кол-во нанесённого дамага (тип выстрел на кол-во хп) и если дамаг равен -1\0 то рендрен текста миссед шот дуе сприд.
Кода нет но сделай сам а :orehus:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
По идее это должно работать так:
Идёт проверка на кол-во нанесённого дамага (тип выстрел на кол-во хп) и если дамаг равен -1\0 то рендрен текста миссед шот дуе сприд.
Кода нет но сделай сам а :orehus:
Ахахха лол нет
По твоей логике любой мисс из за ресольвера будет дуе ту спреад
После обеда кину, ибо щас ебать лень.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Принцип прост, у меня работает вообще идеально:
1. Ставишь эвент логгер на weapon_fire, bullet_impact, player_hurt
2. в аиме сохраняешь запись бэктрека в которую стрелял последний раз, и прочие данные
3. все эвенты присылаются клиенту последовательно, и одним пакетом, простейший пример того как приходят эвенты с прострелом одной стены:
Код:
Expand Collapse Copy
weapon_fire - происходит выстрел из оружия локального игрока
bullet_impact - пуля попала в стену
bullet_impact - пуля вылетела из стены и летит дальше
bullet_impact - пуля попала в игрока
bullet_impact - пуля вылетела из игрока и попала в не пробиваему стенку
пенетрация стен останавливается, FireBullets и HandleBulletPenetration заканчивают свою работу, и вызывается TraceAttack, который вызовет OnTakeDamage
player_hurt - игроку был нанесен урон
повторяем если пришло несколько выстрелов - например если стрелять во время фейклага, или выстрел был сделан из дробовиков
4. на каждом weapon_fire создаем структуру в которую будем добавлять наши импакты и урон
сразу замечу, что если урона нет, это не значит что ресольвер или годмод - иногда невозможно было прострелить стенку просто из-за разброса
если есть player_hurt, то трейсировку лучей и тест импактов можно просто пропустить, и просто применить в ресольвере данные сохраненные в аиме, из второго шага
если же player_hurt эвент отсутствует то делаем трейсировку лучей
а теперь сама проверка импактов и трейсировка лучей:
1. проверяем по сохраненным данным с аима, то что от позиции выстрела до самого последнего импакта дистанция больше чем до игрока, иначе - missed shot due to spread
2. если дистанция в норме, то получаем от позиции импактов направление выстрела на сервере, и начинаем трейсировку лучей - если луч ударил в хитбокс, то это missed due to resolver, если не попал по хитбоксам - missed shot due to spread
3. ( Я НЕ ТЕСТИЛ ЭТОТ ШАГ! ) если же луч ударил в хитбокс, и у нас есть импакт на игроке( просто проверяем что он в bounding box-e ) от выстрела, то это missed shot due to godmode

UPD: не обязательно для трейсировки лучей использовать TraceRay/ClipTraceToPlayer, можно использовать простейшую интерсекцию:
Пожалуйста, авторизуйтесь для просмотра ссылки.
- капсулы
Пожалуйста, авторизуйтесь для просмотра ссылки.
- bounding box

tl;dr спасти bameware и не еби мозг
 
Последнее редактирование:
Назад
Сверху Снизу