2 OLAF: Я не знаю, как конкретно работает переключание анимаций у cycler_sprite. Поэтому предлагаю сделать вообще без анимаций.
Вот у тебя есть func_door. У неё проставлены все настройки - она открывается и закрывается по кнопке. Ты просто берёшь и к ней цепляешь свою модельку.
Когда нажмёшь на кнопку - у тебя отодвинется func_door и с ней отъедет моделька.
2 OLAF: для контры? Нуилучшим вариантом нк мой взгляд, будет разделение её на 2 модели - статическую и динамическую. Статическую ставишь обычно через cycler Sprite. А вот подвижную модель делаешь через func_door с полем model. Ну просто отжимаешь smartedit и вписываешь.
Ну и всё это дело нужно будет заткнуть ещё одной брашевой невидимой дверью, поскольку модельная дверт несолидна.
З.Ы. Не стоит юзать Jackhammer для этого, ибо он недостаточно гибок для создания модельных энтить.
2 OLAF: Я не знаю, как конкретно работает переключание анимаций у cycler_sprite. Поэтому предлагаю сделать вообще без анимаций.
Вот у тебя есть func_door. У неё проставлены все настройки - она открывается и закрывается по кнопке. Ты просто берёшь и к ней цепляешь свою модельку.
Когда нажмёшь на кнопку - у тебя отодвинется func_door и с ней отъедет моделька.
Многие видели такую замечательную модель дверей от GeorgDestroy
Вот хочу попробовать поставить на карте, но задался вопросом после того как в учебнике Дмитрича прочел что энтитя cycler или cycler sprite -
Вопрос как сделать активацию этой двери от кнопки?, тоесть заставить проигрываться анимацию открывания и потом закрывания, или в качестве закрывания сделать реверс анимации?
На cycler_sprite никак не влияют выстрелы и юз, это только для обычного
cycler.
Можно попробовать гемор с использованием cycler sprite для закрытой двери. При нажатии кнопки срабатывает енв_рендер, который делает циклер_спрайт невидимым, а просто циклер с всегда включенной анимацией открытия - видимым. По заверщении анимации происходит вызов энтити "ченжтаргет", которая заменяет у кнопки target, для возможности включения второго циклера с анимацией закрытия. Я хз, может прокатит. Если анимация открытия будет рассинхронизироваться постоянно, то можно перед тем, как открывающаяся дверь становится видимой, вызывать её (use), чтобы анимация останавливалась, а когда она уже открывается, снова вызывать её, чтобы анимация начиналась - просто я не в курсе, как ведёт себя енв_рендер с анимированными моделями: либо он просто делает их видимыми (и поэтому, если анимация всегда включена, то в момент включения видимости, анимация будет показываться постоянно с разного кадра, в зависимости от того, когда она вызвается) или при делании видимым анимация всегда начинается с первого кадра.
Тут 2 вопроса:
1. Как ты отловишь момент, когда анимация завершится?
2. А если игрок нажмёт на кнопку в тот момент, когда анимация находится на середине?
Энв_рендер просто присваивает настройки отображения объекту. На функционал никак это не влияет.
2 Hypax: Ну вот там как раз и возникают проблемы при попытках создать солидный объект с моделькой. По началу возня с параметрами, потом куча мусора в *.map. А потом эта энтитя может просто пропасть и всё.
Вот комментарий автора:
Ааа. Ну тогда можно заморочиться с поездами. Во всяком случае, я бы так сделал)
Тут 2 вопроса:
1. Как ты отловишь момент, когда анимация завершится?
2. А если игрок нажмёт на кнопку в тот момент, когда анимация находится на середине?
Энв_рендер просто присваивает настройки отображения объекту. На функционал никак это не влияет.
2 Hypax: Ну вот там как раз и возникают проблемы при попытках создать солидный объект с моделькой. По началу возня с параметрами, потом куча мусора в *.map. А потом эта энтитя может просто пропасть и всё.
Вот комментарий автора:
Я ж писал, что тогда нужно перед включением анимации вызывать объект (циклер), тем самым он будет проигрывать анимацию с начала (перед этим естественно его нужно будет при старте карты на долю секундытоже вызывать, чтобы при повторном юзе анимация начиналась, а не останавливалась)
Post automatically merged:
"Ну тогда можно заморочиться с поездами." типа по патчам модель катать? Там ж ещё серые трубы из двери высовываются, не будут же двигаться. В таком случае уж проще всю дверь брашами сделать, превратив каждую деталь в поезд, за одно и декали будут от выстрелов оставаться
при юзе он с начала и проигрывает. Зацикливается. Я сейчас всё это попробую сделать, самому интересно стало
Post automatically merged:
Хотя не, отстой ничерта юз не останавливает анимку. Он лишь включает показ первого кадра анимации, в это время в невидимом режими анимация продолжает двигаться
Post automatically merged:
Тогда можно использовать енв бим, который будет стрелять по двери, тем самым анимка будет включаться с начала
2 OLAF: Значит смотри. Запилить это дело можно и модельками.
Тебе нужно 4 модели. Каждая с своей анимацией:
1. Закрытая
2. Открытая
3. Открывается
4. Закрывается
Ставишь их в одну точку. Затем через мультименеджер и 8 env_render переключаешь их.
Проделай эти манипуляции. Потом если не получится - я заскриптую)
открытие по кнопке получилось, но одна проблема, cycler же имеет фиксированный хулл, через него нельзя пройти так, что с ним не прокатит, в случае если нужно, чтобы дверь ещё и закрываться могла (так бы хоть с карты его можно было киллтаргить) http://rghost.ru/7ftQ52jzv карта с дверью + исходник
Post automatically merged:
DrTressi said:
2 OLAF: Значит смотри. Запилить это дело можно и модельками.
Тебе нужно 4 модели. Каждая с своей анимацией:
1. Закрытая
2. Открытая
3. Открывается
4. Закрывается
Ставишь их в одну точку. Затем через мультименеджер и 8 env_render переключаешь их.
Проделай эти манипуляции. Потом если не получится - я заскриптую)
но ведь опять же, если циклер спрайт с анимацией открытия будет на карте невидимым, при включении видимости рендером, анимация будет не с начала стартовать же
Post automatically merged:
У меня появилась идея На карте изначально есть невидимый циклер спрайт с анимацией открытия, нужно сделать, чтобы кнопку, которая делает его видимым, можно было задействовать только в момент, когда начинается первый кадр анимации двери! Сделать это не сложно: достичь этого можно, например, с помощью постоянной смены у кнопки ченжтаргетом таргета на неправильный, в момент, когда анимация имеет не первый кадр (может и проще можно, не суть). Но, игроку то нужно дать возможность нажимать кнопку в любой момент. Тогда нужно добавить динамическую задержку между нажатием кнопки и открытием двери. Т.е. игрок жмёт кнопку, а открывается дверь только в момент, когда начинается анимация открытия. Учитывая, что анимация быстрая, то задержка будет достигать максимум секунду. Вообщем, для этого прежнюю кнопку нужно спрятать, и на её месте сделать кнопку для игрока, которая после юза, будет сама с помощью мультименеджера много раз вызывать прежнюю кнопку, и в определённый момент, когда ченжтаргет у прежней кнопки поменяется на правильный (вызывающий включение видимости анимации открытия) - дверь откроется
2 Yo Den: Ага. Мне тоже эта идея пришла в голову, ток лень было расписывать)
2 OLAF: Анимацию можно отреверсить. В Милке есть такая встроенная функция. Есил нормально сделать, я думаю косячить не будет)
2 Flash: И туеву хучу трэинов, которые должны двигаться одновременно и синхронно? А если "игрок застрянет вагончик". ИМХО, в данном случае как раз лучше анимками.
2 GNU/Hurt: Ну допустим лень. Но для джека это нужно делать, а Хаммер позволял свободно работать с энтитями любых типов. А значит Хаммер более гибок в этом плане. Тут хоть лень, хоть не лень
Сама игра с некоторого апдейта запрещает принимать "опасные" команды от сервера. Я не помню команду, но по-моему это можно было как-то отключить (на клиенте игры).