HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > вопрос про предиктинг оружия ?
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



Question вопрос про предиктинг оружия ?

можно спросить а зачем нужен предиктинг оружия. И нужно ли его отключить ?

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 192123

Старое сообщение 12-04-2020 07:40
- За что?
SNMetamorph
Житель форума

Дата регистрации: Jun 2018
Проживает: Ижевск
Сообщений: 560

Рейтинг



Цитата:
илья2 писал:
можно спросить а зачем нужен предиктинг оружия. И нужно ли его отключить ?


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

Отключать - сомневаюсь. В синглплеере он не помешает, а стрельба в мультиплеере совсем паршивая станет.

__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord

Сообщить модератору | | IP: Записан
Сообщение: 192125

Старое сообщение 12-04-2020 10:07
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



а мне все равно главное чтобы у меня пушки в синглеплеере хорошо стреляли
а и спасибо за ответ

Добавлено 12-04-2020 в 14:03:

все равно мне кажется лучше его убрать поэкспериментировать думаю можно над ним

Добавлено 12-04-2020 в 14:29:

а можно ещё вопрос а что эта за консольная команда cl_lw 0 и 1 это тоже что то связано с предиктингами ?

__________________
илья

Отредактировано илья2 12-04-2020 в 10:58

Сообщить модератору | | IP: Записан
Сообщение: 192127

Старое сообщение 12-04-2020 11:29
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



cl_lw - cl local weapons. Как раз таки включает и выключает локальные (клиентские) пушки. Правда, не совсем корректно. У Дяди Миши есть тутор Xash Weapon System. Там он сначала заводит динамический корректно отключаемый предиктинг. А потом и вовсе от него избавляется.

Цитата:
илья2 писал:
все равно мне кажется лучше его убрать

Единственная явная проблема в сингле из-за предиктинга - неработающая после смены уровня перезарядка. Лечится вызовом TabulateAmmo после рестора игрока. Есть такой пуллреквест на гитхабе в репе валвэ. Вторая проблема - более долгие загрузки уровней, но разница в 2-3 секунды некритична. Вот третья проблема достаточно нехорошая, и связана она с вьюмоделями пушек.
На клиент нужно передавать информацию о бодигруппах и скинах, чтобы читать её в файле hl_weapons.cpp, и учитывать. Ещё, на сервере, пушки работают как минимум из двух мест: PlayerPrethink и PlayerPostthink. А где-то между ними по времени происходит вызов кадра игровой физики. Если, например, попытаться сделать анимацию Holster, не отключив локальные (клиентские анимации), можно получить моргание вьюмодели. Потому что на сервере есть чёткое разграничение вызовов для m_pActiveItem, m_pNextItem, m_pLastItem. А вот на клиенте вся бражка вызывается из HUD_WeaponsPostThink, то есть в конце кадра. Получается, нельзя чётко разделить предыдущую и следующую пушку, не переписав всю клиентскую часть предиктинга. Отсюда получаются моргающие анимации.
Потому что отправлена была на клиент анимация, например, №3, что у текущей пушки Holster. Она проигралась. Пушка сменилась на следующую, и тут же проиграла свою анимацию №3. А у этой пушки это может быть Shoot. И только после этого, новая пушка проиграет Draw. Я забарывал эту пакость через вставку return в блоке с условием if ( cmd->weaponselect && ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) ). Но, как по мне, это не очень хорошее решение. Лучше завести по аналогии с сервером HUD_WeaponsPreThink, и вызывать откуда-то из HUD_Frame. Может быть, когда нибудь заморочусь этим.
А тебе советую просто вырезать предиктинг по тутору Дяди Миши, если хочешь.

Сообщить модератору | | IP: Записан
Сообщение: 192130

Старое сообщение 12-04-2020 11:50
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Получается, нельзя чётко разделить предыдущую и следующую пушку, не переписав всю клиентскую часть предиктинга. Отсюда получаются моргающие анимации.

Сегодня шышки особенно забористые!

Моргает эта зараза из-за того, что у пушек первая анимация обычно idle.
Сперва приходит команда для CL_LoadModel. Ставится пушка и сразу начинает играть анимацию idle. На следующем кадре приходит команда Deploy и пушка начинает подыматься. Выглядит как моргание. Иногда обе команды проходят на одном кадре, иногда нет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 192133

Старое сообщение 12-04-2020 12:01
-
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



Я забарывал не понятное слово может забрасывал

А тебе советую просто вырезать предиктинг по тутору Дяди Миши, если хочешь. Как раз этим я и хочу заняться

и кстати ещё один факт если поставить cl_lw 0 то точность у глока почему то выше чем у cl_lw 1 это баг такой если баг то это круто

Добавлено 12-04-2020 в 15:10:

Моргает эта зараза из-за того, что у пушек первая анимация обычно idle.
Сперва приходит команда для CL_LoadModel. Ставится пушка и сразу начинает играть анимацию idle. На следующем кадре приходит команда Deploy и пушка начинает подыматься. Выглядит как моргание. Иногда обе команды проходят на одном кадре, иногда нет.

ЭТО НЕ ОСОБО СТРАШНЫЙ БАГ

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 192135

Старое сообщение 12-04-2020 12:10
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Иногда обе команды проходят на одном кадре, иногда нет.

Ну вот отсюда и оно. А ты про шишки Если бы они всегда проходили на одном кадре, то "моргания" бы не было. А то, что появление моргания зависит от того, что не совпадают номера анимаций, я предположил, сравнив некоторые модели. И моргания нет в тех случаях, когда Holster предыдущей пушки имеет тот же номер, что и Draw предыдущей.

Сообщить модератору | | IP: Записан
Сообщение: 192136

Старое сообщение 12-04-2020 12:11
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



а баг про точность вас не смущает при cl_lw ?
лично меня да

Добавлено 12-04-2020 в 15:31:

точность реально изменяется при cl_lw 1 и 0 можете даже проверить на
cs 1.6 ну если кому интересно и не знает об этом

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 192137

Старое сообщение 12-04-2020 12:31
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



Скорее всего просто декали ставятся в соответствии с серверной трассой, ох давно я в SDK не лазал

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 192140

Старое сообщение 12-04-2020 14:42
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
илья2 писал:
точность реально изменяется при cl_lw 1 и 0 можете даже проверить на
cs 1.6 ну если кому интересно и не знает об этом

Несовпадение клиентской и серверной трассы, как пишет KiQ. По факту, трасса всегда серверная, т.к. попадания считаются именно на сервере. Клиентская часть - всего лишь зеркало для предиктинга. FireBulletsPlayer и EV_HLDM_FireBullets синхронизируются через параметр m_pPlayer->pev->random_seed. Или как-то так, дословно не помню. Особенно заметно на примере шотгана в халфе: если и на сервере и на клиенте сделать одинаковый разброс, но без синхронизации, то серверные и клиентские декали совпадать не будут. Наверное, в кс 1.6 допущён такой ляп.

Добавлено 12-04-2020 в 22:06:

Так что никакого бага точности нет. Просто визуальная, косметическая часть отличается от физической, реальной. Что интересно, в оригинальной халфе такого нет. Декали шотгана (клиентские) совпадают со спрайтами крови (серверными). Это надо очень намудрить, чтобы получить сильное расхождение.

Отредактировано Ku2zoff 12-04-2020 в 15:09

Сообщить модератору | | IP: Записан
Сообщение: 192141

Старое сообщение 12-04-2020 15:06
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



Так что никакого бага точности нет. Просто визуальная, косметическая часть отличается от физической, реальной.

понятно забаговались спец эффекты

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 192179

Старое сообщение 14-04-2020 13:13
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 21:02. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > вопрос про предиктинг оружия ?
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024