Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Скриптинг (https://mafia-game.ru/forum/forumdisplay.php?f=10)
-   -   Вопросы по скриптингу (https://mafia-game.ru/forum/showthread.php?t=23)

Melhior 10.02.2021 14:10

Модель фонаря как вставлена? Как Things? Почему второй параметр у human_linktohand 18? Ведь берется номер фрейма, а не номер оружия.

Если брать этот кусок,

Развернуть для просмотра

Код:

dim_act 5
dim_frm 1
dim_flt 1

findactor 0,"Tommy"
findactor 1,"f_light2"
findactor 2,"2baterkaon"
findactor 3, "2baterka"
findactor 4, "f_light_overview"
findframe 0,"f_light"

label 1
detector_waitforuse
frm_seton 0, 0
playsound "skog1.wav", 1, 50, 1, 2
wait 200
human_addweapon 0, 18, 0, 0
wait 500
///human_linktohand 0, 18, LEFT
console_addtext 3418
act_setstate 2, active
act_setstate 3, active
act_setstate 4, active
end

[свернуть]

а findframe 0,"f_light" это модель фонаря, то должно быть human_linktohand 0, 0, LEFT

alex5995 10.02.2021 15:09

Модель фонаря как вставлена как Things в BSV6.
Цитата:

Сообщение от Melhior (Сообщение 13909)
Ведь берется номер фрейма, а не номер оружия.

Я пробовал и так и эдак в разных вариантах.
Цитата:

Сообщение от Melhior (Сообщение 13909)
а findframe 0,"f_light" это модель фонаря, то должно быть human_linktohand 0, 0, LEF

Да я и так вроде тоже делал. Ты сам пробовал на практике, у тебя работает?

Melhior 10.02.2021 15:38

Цитата:

Сообщение от alex5995 (Сообщение 13910)
Да я и так вроде тоже делал. Ты сам пробовал на практике, у тебя работает?

Я сигарету давал. Всё работало. Могу предложить такой костыль: В MWE привязываешь модель фонаря к руке. Для этого фонарь размещаешь в руке и в Parent фонаря вместо Primary sector прописываешь Tommy.l_hand. Сохраняешь. А потом в скриптах через frm_seton спрятать.

Правда не уверен будет ли фонарь перемещаться вместе с игроком. Но попробуй. Лично я так привязываю фрейм камеры, а потом скриптом делаю камера лок и фиксирую командблоками и бесконечным циклом.
И получается вот так (первые 16 секунд)

Развернуть для просмотра

[свернуть]

alex5995 10.02.2021 17:01

Ладно, спасибо, поковыряюсь ещё на досуге. Уж больно нелепо смотрится поднятая рука с лайтом без модельки фонаря. Не понятно только, если возможно прикрепить лайт к руке, то почему нельзя сделать это с предметом.
В принципе идея изначально вставить модель в руку Томми и засетонить фрейм модели на нуль не плоха, но есть маленький нюанс - после загрузки сохранения 0 меняется на 1. И если Томми не будет поднимать руку, то вполне приемлем такой вариант. Но если он будет использовать двуручное оружие, биту, к примеру. Какую картину игрок будет лицезреть? Ладно если фонарь(лайт) включен, полбеды, можно с этим как-то смириться, да и в любом случае видимо придётся. Вот не плохо было бы сделать: если левая рука занята то фонарь(модель) падал бы на пол.

Добавлено через 55 минут
А лучший вариант реализации фонаря - прикрепить лайт на лоб Томми и обойтись без всех этих заморочек.

GOLOD55 19.02.2021 10:56

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

alex5995 19.02.2021 14:42

Для меня это всё сложно: "хайполимодель", "системные допдумми в кистях" - тёмный лес для меня. И в Занозе я к сожалению не шарю.
Лайт привязан к левой руке Томми и когда он поднимает руку вместе с рукой позиционируется выше и лайт. Нельзя ли изначально как-то сместить лайт позиционно относительно левой руки повыше на метр-полтора? Проще говоря "убедить лайт" в том, что рука находится выше. Ну как-то так.
Идею реализации фонаря взял из Boz мода.

Abradox 19.02.2021 16:10

хайполимодель Тома - эта модель, которая используется в катсценах (заставках на игровом движке). Она более детализирована, в ней отдельные глазные яблоки (у обычной модели глаза нарисованы на текстуре головы), кисти рук, на которых раздельные пальцы.

Firefox3860 19.02.2021 16:39

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 19.02.2021 17:27

Цитата:

Сообщение от Firefox3860 (Сообщение 13989)
фонарь нужен в руке в определённый момент или на протяжении всей миссии?

В моменте, когда Том поднимает руку. Естественно, если выбран в инвентаре. Неплохо было-бы если он исчезал(модель, не лайт) при использовании биты, автомата, кулаков тоже.
Цитата:

Сообщение от alex5995 (Сообщение 13912)
А лучший вариант реализации фонаря - прикрепить лайт на лоб Томми и обойтись без всех этих заморочек

Или просто повыше на метр, что-бы не использовать скрипт анимации для подсветки поверхностей столов, полок, стеллажей.

Firefox3860 19.02.2021 17:34

alex5995, а я так и не понял, чем варианты с human_linktohand и тем, чтобы сделать фонарь оружием, не подходят?

Цитата:

Сообщение от alex5995 (Сообщение 13912)
А лучший вариант реализации фонаря - прикрепить лайт на лоб Томми и обойтись без всех этих заморочек.

Тогда можно просто привязать модель фонаря к тому с заданными координатами и только скрывать и показывать лайт когда надо.


Текущее время: 07:41. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2025, vBulletin Solutions Inc. Перевод: zCarot