Помучил я трактрейн, он к сожалению сходит с ума когда скорости начинают измеряться тысячами юнитов в секунду, и даже по путям не ездит, а где-то на пару метров сбоку. Но это в лучшем случае, обычно его зашвыривает в произвольное место на карте, вообще не на путях, он считает что дошёл до последнего патч-трека, и при активации мотается к первому патч-треку и потом обратно в то же произвольное место.
На скоростях выше где-то 3600 трактрейн к тому же не успевает переключать все энтити что записаны для активации в патч-треках.
Вот интересный вопрос: при многократной активации спрайта он выключается и всё, а лазер выключается и включается обратно. Какие ещё энтити ведут себя как лазер? (Я префиксы, мультименеджеры, мультисорсы пока не могу юзать потому что инкрементатор в Кварке дружит только с правым полем специфика, но не с левым.)
Добавлено 02-07-2020 в 09:18:
Ещё я стал задумываться над тем что глобальная система мастеров такая же порочная как локусы, потому что так же заставляет человека мысленно отправиться назад по причинно-следственной связи: Кто активировал энтитю, кто запретил активировать энтитю. Да и оперировать со множеством отрицаний "враг врага моего врага" людям трудно.
Емнип, в халфе вообще на скоростях выше 2000 ничего нормально не функциклирует. Там даже какие-то варнинги-ограничители спамят в консоль: "Got velocity too high on ...". Для быстрого перемещения поездов между корнерами и треками кажется есть галка teleport или что-то вроде того. А чтобы ездил быстрее 2000, я хз, что можно сделать.
Цитата:
Дядя Миша писал: поставь host_framerate 1.0 или выше. И тот же поезд с безумной скоростью понесётся точно по корнерам.
Так ведь вся игра ускорится, а не только один конкретный поезд. Это годится только для катсцены какой-нибудь.
Ku2zoff писал: Для быстрого перемещения поездов между корнерами и треками кажется есть галка teleport или что-то вроде того.
В документации на ксаш упоминается одной строчкой телепортация трактрейна, да и только. Поскольку это спаунфлаг, то видимо имеется в виду телепортация между соседними патчтреками заданными заранее. Может ты перепутал, это в сорсе есть команда которая через инпут передаёт имя конечного трека.
Добавлено 03-07-2020 в 00:16:
Цитата:
Ku2zoff писал: Так ведь вся игра ускорится, а не только один конкретный поезд. Это годится только для катсцены какой-нибудь.
Она ускорится пока поезд будет ехать с безумной скоростью, т.е. очень ненадолго. Фреймтайм 1 это 60 кадров, т.е. скорость поезда (найдено экспериментально)5000*60=300К.
Добавлено 03-07-2020 в 00:43:
Ну по патч-карнерам вроде несётся, но цели указанные в них всё равно не успевает обрабатывать. Интересно, там не хватает длины у какой-нибудь очереди команд или что?
Ku2zoff писал: Так ведь вся игра ускорится, а не только один конкретный поезд
Ну так это для наглядности, что поезд может носиться по патч_корнерам с безумной скоростью и никуда не улетать.
Цитата:
Crystallize писал: Поскольку это спаунфлаг, то видимо имеется в виду телепортация между соседними патчтреками заданными заранее
так и есть. Для чего это нужно. Допустим у тебя поезд едет из точки А в точку Б, а в точке Б он мгновенно возвращается обратно в точку А и снова едет. Для таких вот вещей.
Цитата:
Crystallize писал: но цели указанные в них всё равно не успевает обрабатывать
всё может быть.
Добавлено 02-07-2020 в 23:39:
Там наверное pev->ltime + 0.5 слишком большое время для тчинка. Но это для ванильной халфы, как в ксаш-моде я не помню уже.
Ku2zoff Ну я всё так же пытаюсь сделать скользибельную рельсу длиной несколько сотен сегментов, которая не жрёт или почти не жрёт клипноды. Если у меня такая рельса через полкарты, то неизвестно в каком месте я в следующий на неё сяду, в то время как при касании поезд должен приезжать и подхватывать меня в разумные сроки, ну скажем 3-5 секунд. А ехать он, может быть, будет вообще с другого конца карты, где я с рельсы слез в прошлый раз.
Crystallize я бы сделал следующим образом: написал бы спец энтить, которая бы определяла, на какой патч_трек (как можно ближе к позиции игрока или триггера) телепортировать поезд, если он очень далеко. Ну и сделал запас в парочку треков, чтоб остаток пути поезд проезжал обычным способом, чтобы телепортация не бросалась в глаза. Костыль, зато физика не ломается. Тебе ДМ уже это посоветовал:
Цитата:
Crystallize писал: Могу ли я многократно телепортировать tracktrain с одного произвольного path_track на другой?
Цитата:
Дядя Миша писал: ну если напишешь соответствующий код.
Добавлено 04-07-2020 в 10:16:
В крайнем случае ты всегда можешь уменьшить время тчинка поезду.
Обнаружил что спрайты не могут быть блокирующими мастерами, и что бимы и лазеры при исчезновении цели или одной из целей продолжают светить в прежнем направлении.
Трактрейн, кстати, стабильно переключает энтити на патч-корнерах даже на скорост в 12000 юнитов, там просто вначале первые 4 трека он не активирует. Может не успевает, занят составлением списка патч-корнеров на пути?
Если увеличить host_framerate в 2 раза, то трактрейн начинает пропускать активацию каждого второго патч-трека, и т.д.
Добавлено 05-07-2020 в 22:12:
Ku2zoff Ну по-видимому мне всё равно придётся писать какие-то энтити. Я просто сейчас вернулся к этой идее потому что мне пришла в голову идея с поездом который маркирует энтити позади себя как проеханные, и я недопонял тот флаг с телепортацией.
Добавлено 05-07-2020 в 22:16:
Я вспомнил тот тутор на лифты в спирите где они использовали спрайт как флаг и подумал опа, сейчас быстренько решу многолетнюю задачку. А спрайт они в том туторе отслеживали мультиватчером, а его кастомные поля Кварк не инкрементирует. А без мультивотчера, спрайт мастером быть не может, нужна другая какая-то энтитя. Нормально, но уже не так наглядно.
Дядя Миша инкрементируется правая часть, где значение, типа: targetname spr000. А в мультиватчеры и мультименеджеры мы вписываем поля где имя энтити слева: spr000 ON.
thambs странно, а у меня спрайт не блокирует другой спрайт.