Ku2zoff писал: Не сломает ли это физику в мультиплеере? Я тестировал всего лишь одну карту с лифтом на несколько этажей. Кроме небольших лагов дочерних энтить у нелокальных игроков ничего не заметил.
Пост за 11 ноября 2010-го года
Цитата:
Ku2zoff писал: Специально заточенная под поезд энтитя-дверь... Смешно. Глобальный мовевитч всяко лучше, только его довести до ума надо.
и мой ответ
Цитата:
Дядя Миша писал: Ну ты, положим, и такую не сделаешь.
Ну чего ж ты не довел, а? Доведи. Только для начала ответь на простой вопрос: ты знаешь откуда главный кадр этой системы вызывается?
То есть не прошло и семи лет как ты наконец-то таки заинтерисовался моими словами. Ну ниплоха, ниплоха. Семь лет то еще не срок, один вообще через 404 года проснулся. А уже ничего не найдено.
Цитата:
XaeroX писал: Это из-за чего же?
Там вазелины лишние шлются, увеличивают стартовый пакет, а по сети он маленький совсем, 512 байт чота, а потом небольшой таймаут. Вот в сумме пара лишних секунд и набигает.
Дядя Миша писал: То есть не прошло и семи лет как ты наконец-то таки заинтерисовался моими словами.
Вернее, я всё-таки стал изучать сорцы, а не просто копипастить из них половину наугад, а в половину прочего вникать абы как.
Цитата:
Дядя Миша писал: откуда главный кадр этой системы вызывается?
Кстати, чем вообще вызван этот хак? В комментариях написано, что движок может сбрасывать gpGlobals->frametime, и брашевые энтити не могут менять скорость если не тчинкают. Ну последнее и так ясно, почти в каждой физической функции в движке есть условие if (!SV_RunThink(ent)), а после него ретёрн. Это всё, видимо, приводит к застреванию игрока в дочерних энтитях. Ну или вообще все энтити в конструкции дёргаются страшно.
Ну чем-чем обусловлен. Есть клиентский фрейм-тайм, а есть серверный.
Серверный фреймтайм как легко догадаться используют все объекты на сервере, кроме игроков. А у каждого игрока - свой персональный фреймтайм, посчитанный на клиенте, то самое поле usercmd_t->msec.
Мовевитч из спирита работает как пост-эффект. Энтити сдвинулись, а он это отследил проапдейтил позиции. Всё бы ничего, но в халфе нет никакой возможности что-либо вызвать пост-фактум. StartFrame есть а EndFrame нет.
Вот Лаури и надумал вызывать из тчинка игрока. Причём раньше он конечно вызывал из StartFrame, но это приводило к разным проблемам. А теперь выходит что работа мовевитча завязана на игроков. Причём видимо на всех сразу. Ушли все игроки с сервера - мовевитч и сломался нахрен. Это я еще не подымаю вопрос о том, насколько калечный сам по себе. Впрочем для лифтов годится.
Ghoul [BB] писал: За Ксаш сказать ничего не могу - старые версии глючили или работали некорректно, а новая... ну что ж, подождём 26 апреля, когда будет очередной релиз.
Crystallize писал: 26 апреля было как раз вчера, когда ты это писал.
у меня на 5 часов позже, чем у вас, так что всё могло бы и измениться...
но, заглядывая нм ситуацию уже из тогдашнего "завтра" я не наблюдаю никаких новостей по этому поводу. Значит ДМ опять продинамил.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
XaeroX писал: Ghoul [BB]
Да ладно, нас с Ku2zoff от тебя всего час отделяет.
Возможно. Но ты пойми, я время по default city воспринимаю...
Такова моя природа - в привязке к месту обитания на родине...
в общем, не спасло положение ни Московское время, ни Сахалинское. Ни даже наступление следующих суток, чего уж там.
Цитата:
nemyax писал: Ghoul [BB]
Про 26 апреля разговор был, про 2017 не было.
А. Ну тогда время есть... в каждом последующем году по-любому будет 26 апреля. Ну это как с концом света - всё обещают, тыкая пальцем в небо. Когда-нибудь и попадут...
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Почему при установке блендов на анимацию в qc файле, её фрем становится 2? Посмотрел в моделях из кс, там такая же ситуация, но некоторые проигрываются нормально.
Дядя Миша писал: Ушли все игроки с сервера - мовевитч и сломался нахрен.
Это решаемо: можно всегда держать на сервере особенного, служебного бота, в коробочке где-нибудь под основной картой, чтобы он там сидел, а для него считался фреймтайм. И завязать тчинки именно на игрока с индексом 1, чтобы не было рассинхрона из-за других игроков. А в сингле использовать старый вариант. Это актуально для выделенки. На листенсервере не нужно. Там первый игрок вышел - сервер выключился. Правда я не знаю, считается ли фреймтайм для ботов так же как для игроков, или нет. По идее должен... Надо смотреть сорцы rehlds.
Коррекция хуллов (для изменения масштаба карты) без спавна какого-нибудь игрока хотя бы на долю секунды, не сработает, тут хоть как нужен бот. А вот мовевитч можно попытаться переделать, чтобы не зависел от игроков.
Ku2zoff писал: можно всегда держать на сервере особенного, служебного бота, в коробочке где-нибудь под основной картой, чтобы он там сидел, а для него считался фреймтайм
Ku2zoff писал: Это решаемо: можно всегда держать на сервере особенного, служебного бота, в коробочке где-нибудь под основной картой, чтобы он там сидел, а для него считался фреймтайм.
Боюсь ты меня опять невнимательно прочитал. Мовевитчу нахрен не нужен фреймтайм от бота, ему наоборот серверный нужен, который сохраняется в cached_frametime. Мовевитчу нужен только вызов PlayerPreThink. А для ботов он не совпадает с вызовом у настоящих клиентов, поскольку боты вызываются через функцию RunClientMove, которая наверняка будет вызываться из StartFrame, т.е. мы придём к тому, от чего попытались уйти.
Так что служебный бот нифига не поможет. Нужен служебный человек.