![]() |
Модель фонаря как вставлена? Как Things? Почему второй параметр у human_linktohand 18? Ведь берется номер фрейма, а не номер оружия.
Если брать этот кусок, Развернуть для просмотраКод:
dim_act 5 [свернуть] а findframe 0,"f_light" это модель фонаря, то должно быть human_linktohand 0, 0, LEFT |
Модель фонаря как вставлена как Things в BSV6.
Цитата:
Цитата:
|
Цитата:
Правда не уверен будет ли фонарь перемещаться вместе с игроком. Но попробуй. Лично я так привязываю фрейм камеры, а потом скриптом делаю камера лок и фиксирую командблоками и бесконечным циклом. И получается вот так (первые 16 секунд) Развернуть для просмотра[свернуть] |
Ладно, спасибо, поковыряюсь ещё на досуге. Уж больно нелепо смотрится поднятая рука с лайтом без модельки фонаря. Не понятно только, если возможно прикрепить лайт к руке, то почему нельзя сделать это с предметом.
В принципе идея изначально вставить модель в руку Томми и засетонить фрейм модели на нуль не плоха, но есть маленький нюанс - после загрузки сохранения 0 меняется на 1. И если Томми не будет поднимать руку, то вполне приемлем такой вариант. Но если он будет использовать двуручное оружие, биту, к примеру. Какую картину игрок будет лицезреть? Ладно если фонарь(лайт) включен, полбеды, можно с этим как-то смириться, да и в любом случае видимо придётся. Вот не плохо было бы сделать: если левая рука занята то фонарь(модель) падал бы на пол. Добавлено через 55 минут А лучший вариант реализации фонаря - прикрепить лайт на лоб Томми и обойтись без всех этих заморочек. |
если модельки фонаря нет и расчетном месте, то неплохо б ее поискать и проверить что она вообще отрисована в игре(напр сетон1, компас и тп.), а еще может косяк с самой моделью(геометрия не центрована в занозе и получается смещение относительно руки), а еще может нужна хайполимодель Томми(там системные допдумми в кистях).
|
Для меня это всё сложно: "хайполимодель", "системные допдумми в кистях" - тёмный лес для меня. И в Занозе я к сожалению не шарю.
Лайт привязан к левой руке Томми и когда он поднимает руку вместе с рукой позиционируется выше и лайт. Нельзя ли изначально как-то сместить лайт позиционно относительно левой руки повыше на метр-полтора? Проще говоря "убедить лайт" в том, что рука находится выше. Ну как-то так. Идею реализации фонаря взял из Boz мода. |
хайполимодель Тома - эта модель, которая используется в катсценах (заставках на игровом движке). Она более детализирована, в ней отдельные глазные яблоки (у обычной модели глаза нарисованы на текстуре головы), кисти рук, на которых раздельные пальцы.
|
alex5995, фонарь нужен в руке в определённый момент или на протяжении всей миссии?
upd: понял, в моменте. Могу предложить такой вариант. Сначала создать дополнительный фрейм для фонаря. В BSV - тип other без скрипта. Эти детекторы в игре невидимы. Надо привязать его жёстко к руке Тома на всё время, прописав ему в Parent строку "Tommy.l_hand" и настроив положение в MWE. Этот объект будет играть роль якоря для модели фонаря, которую в нужный момент надо расположить в его месте. Чтобы расположить один фрейм на месте другого, придётся использовать команды считывания и назначения координат и ротаций. То есть сначала считать место якоря - frm_getworldpos и frm_getworldrot, потом назначить его фонарю - frm_setpos и frm_setrot. Команды со словом "world" нужны, потому что якорь привязан к руке, а место для фонаря надо получить относительно Prim-сектора. после перемещения фонарь надо привязать к якорю командой frm_linkto. Должно получиться, что фрейм будет двигаться вместе с рукой, таская за собой постоянно фонарь. При этом положение фонаря можно регулировать настройкой координат и ротаций фрейма в MWE. Идея такая, насчёт реализации надо проверять, вылезут ли какие-то подводные камни. Фонарь должен быть именно простой моделью (Building), а не физ. объектом (Things), потому что актор физ. объекта не позволит ему перемещаться в пространстве вместе с фреймом. |
Цитата:
Цитата:
|
alex5995, а я так и не понял, чем варианты с human_linktohand и тем, чтобы сделать фонарь оружием, не подходят?
Цитата:
|
Изначально я планировал сделать модель фонаря в виде масляной лампы как в пенумбре или амнезии, так как лайт освещает всё пространство вокруг Г.Г. , т.е. не направленно. Направленный поток света, как это реализовано в Boz моде не освещает стены впереди из-за их больших полигонов(экономия ресурсов?).
Цитата:
Цитата:
https://mafia-game.ru/forum/imgcache...uegjjegxmb.jpg Нельзя ли сделать, что бы лайт перемещался во фрейм повыше этой самой руки? |
Цитата:
|
Я изложу свои суждения по дилетански, не силён я в механике движка игры, уж не обессудь.
Изначально лайт расположен в координатах где-то там... Если мы подобрали фонарь и включили его лайт по скриптовой команде перемещается в руку. Как я понимаю, к кисти руки прикреплён фрейм, который перемещается с этой кистью и моделью в целом в пространстве карты и "тащит" за собой лайт. У фрейма(руки) меняющиеся координаты, программа считывает местоположение руки и задаёт каждые новые координаты лайту. Я это к тому что: обязательно ли фрейм должен быть в кисти руки, почему бы не сместить его по оси "y" (или "z"?) относительно руки на определённую высоту. Ну как бы обхитрить программу. Какая ей разница где находится рука модели. Цитата:
Firefox3860, что-бы точно понимать суть моих вопросов глянь прохождение Парадонца на ю-тубе, где используется фонарь. Mafia Undertown - Darkness. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Поэтому просто задаёшь фрейму А координаты командой frm_setpos (или как её там) и это будут координаты фрейма А относительно фрейма В. После привязывания фрейма, естественно. |
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
правда, я не уверен, сработает ли такая привязка с лайтом. изначально я предполагал, что это будет модель фонаря. |
Ладненько, с фонарём надеюсь как нибудь разберусь, когда вернусь к этому предмету. В последнее время делаю в максе городские локации - входябельные здания, улицы, заборы и т.п. Когда есть возможность(и желание) всем этим заниматься всё свободное время на это уходит, как-то пока не до фонаря. Или может фонарь стал мне как-бы до фонаря:).
Есть ещё одна проблема, буквально на ровном месте, а именно: не деактивируются скрипты "poster1_2"..."poster1_6" кликая на "poster1_1" в контекстном меню. Имеется шесть скриптов с одинаковыми координатами. При нажатии кнопки действия(Е) вызываю контекстное меню выбора, где выбираю один из постеров(в данном случае "poster1_1"). После чего остальные скрипты должны деактивироваться, а меню убраться из экрана и стать недоступным. Этого почему-то не происходит. Пробовал всяко, и через эвенты тоже - результат нулевой. Что я делаю не так? Развернуть для просмотраdim_act 8 dim_flt 1 findactor 0,"poster1_1" findactor 1,"Tommy" findactor 2, "poster1end" findactor 3,"poster1_2" findactor 4,"poster1_3" findactor 5,"poster1_4" findactor 6,"poster1_5" findactor 7,"poster1_6" label 1 detector_waitforuse 99970004 ///detector_setsignal 0, 1 mission_objectivesclear mission_objectives 99970000 wait 200 setevent 2, 1, 2 /с эвентами тоже не работает/ wait 300 act_setstate 3, inactive act_setstate 4, inactive act_setstate 5, inactive act_setstate 6, inactive act_setstate 7, inactive --или скриптом /poster1end/-- dim_act 6 dim_flt 1 findactor 0, "poster1_1" findactor 1, "poster1_2" findactor 2, "poster1_3" findactor 3, "poster1_4" findactor 4, "poster1_5" findactor 5, "poster1_6" label 101 goto 101 event 1 wait 300 ///act_setstate 0, inactive act_setstate 1, inactive act_setstate 2, inactive act_setstate 3, inactive act_setstate 4, inactive act_setstate 5, inactive [свернуть] |
а может у фонаря не настроен тип_удерживания в предметах.деф.
- уж не помню подробности с убиранием юзалок..но на крайняк чтоб убрать юзалку можно переместить(напр на -10м по вертикали), и чтоб обновить ее положение нужно делать act_setstate хх, active. тогда юзалка сместится на 10м вниз и станет недоступной(ибо у нее радиус порядка метра). |
Цитата:
Цитата:
|
GOLOD55, я и не знал, что неактивный скрипт тоже юзается. Спасибо за инфу.
Цитата:
Цитата:
|
а если после off-ов сесть в тачку и выйти, то юзалки по-прежнему активны?
А то по идее статусы юзалок обновляются при ентом. Как убить юзалку я не помню(и хз можно ли; надо либо плеером ее юзать, либо ..енеми натравить попробовать лол(через enemy_use_detector)), но переместить в недоступное место и обновить - вполне надежно. |
Цитата:
|
а шо если actor_delete? оно суровее.
|
пробовал, тоже бестолку
|
На моей памяти даже при off'е скрипта юзалка все равно оставалась и исчезала только когда её заюзаешь. И когда я такие механики писал то делал именно как Голод описал выше: прячешь куда-то ненужную юзалку (её актор) и активишь ещё раз чтоб обновить её (юзалки) местоположение. Я кажется перед этим ещё и инактивил её чтоб сработало... не помню точно
|
CurtisTea, Идея в целом такова. На стене постер с отсылкой на известную игру. Нужно с одной попытки угадать к какой именно игре относится данная отсылка. При нажатии кнопки действия на постер появляется меню выбора из 10 названий разных игр. Вторым кликом выбираем строку в меню. Далее, независимо от результата постер не должен юзаться. Т.е. не должно быть второй попытки, иначе какой смысл во всём этом.
https://disk.yandex.ru/i/ye3262aLExOkiw |
Отлично, значит каждый детектор при его юзании должен делает что ты там задумал, а потом ныкать все детекторы (в том числе и себя) куда-то в недоступное место и активить их заново.
|
Цитата:
|
Цитата:
|
А вот команду actorupdateplacement я не применял, насколько помнится. Ладно, спасибо, займусь этим позже. Сейчас не до скриптов, с картой города вожусь в Максе, столько комнат и каждую надо как-то обставить. Гемор ещё тот.
И всё же не понимаю зачем заново активить детекторы, они же больше не нужны. Да и движок не помешало бы разгрузить от лишних скриптов. |
Если ты их заново не заактивишь они останутся на том месте где были. Ну и ничего тебе не мешает выключить их после успешного перемещения)
|
активирование обновляет местоположение юзалки сдвинутого детектора, ога, шо ж непонятного.
|
Привет всем. Может кто-нибудь помочь мне разрешить один вопрос?
Нужно придать модели человека позу спящего за столом. В энциклопедии анимаций ничего подходящего не нашёл. |
Цитата:
|
А вот там я и не смотрел. Короче, идея такова. Заходим в комнату - за столом застрелившийся полицейский, лужа крови, предсмертная записка.
Убитый за рулём или пассажир в этой ситуации будут выглядеть более-менее естественно? |
Вспомнилась подходящая анимация. В баре сальери когда сидят люди за стойкой (например, 16 миссия), если их побить, то упадут на стойку руками и лицом. Надо только как-то определить имя анимации.
|
Цитата:
Добавлено через 45 минут Статическая анимация убитых нпс за столом наверняка дефолтная и заложена в движок, вряд ли она нам доступна. Есть мысль дать персу обычную сидячую анимацию, а при входе в комнату поставить скрипт его умерщвления. Но не факт что модель примет правильную позицию по координате высоты, т.е. не провалится под столешницу и не воспарит над столом. При трагизме данного игрового момента это будет выглядеть нелепо. |
Текущее время: 03:30. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2025, vBulletin Solutions Inc. Перевод: zCarot