1) Выбираешь нужную модель в СК, нажимаешь Edit. В окне Model Data показан список, из каких частей состоит модель. ЛКМЛКМ по нужной части, появляется список Select Form. Формы в этом списке находятся в разделе Miscellanious -> TextureSet. Выбираешь нужную форму (если нужна своя, предварительно надо создать ее), нажимаешь OK -> OK. Все.
Странно, при открытии модов, частенько замечал такое. Может они как-то автоматически создаются...
Чтоб создать подраздел в Weapon нужно: Зайти в папку Meshes->Weapon и создать там папку. К примеру, VASYAPUPKINWEAPON и поместить туда новые модели. Позже, добавить эти модели в CK. Вот и всё.
"Шекспир когда-то написал, что жизнь — это всего лишь сон. Именно так я и проживаю свою. От одного сна до другого, ненавидя всякое обновление реальности." (Удар молнии)
Multigone, C TextureSet связан один глюк редактора. Его нельзя поставить виду перчаток от первого лица для женских персонажей (дискриминация по половому признаку ). Поставить можно, но работать не будет. Обходной манёвр такой: поставить эту текстуру для мужского пола, а для женского оставить пустое место. Тогда будет работать и для женского
Myprism, да, я где-то эту инфу уже читал, спасибо... Все равно, достаточно удобное назначение одной и той же модели разных текстур, не препарируя ее в НифСкопе.
Этот вариант у меня в запасе, мне надо именно чтобы это заклинание даже экипировать нельзя было пока в инвертаре нету предмета. В моде какомто видел такое, только вот второй день немогу вспомнить в каком...
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №8860
написано: 15 сентября 2014, 10:12
| Отредактировано: Multigone - 15 сентября 2014, 10:16
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) IF akBaseItem == ITEM Игрок().AddSpell(SPELL) END END
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer) IF akBaseItem == ITEM Если Заклинание экипировано в правую руку Разэкипировать из правой Все Если В левую Из левой Все Игрок().RemoveSpell(SPELL) END END
Я уже по другому решил извернуться, но такой вариант тоже продумывал, просто видел в какомто моде такое: спелл в книге есть но пока определённые условия не выполнятся оно серое(как невыученный крик)...
Нашол ещё 1 мод с такой штукой - Цветная магия, там пока не экипируешь в правую руку одноручное оружие без зачарования, то спелл на зачарование неактивен. Не смотрел как оно там сделано, бардов заканчиваю
Подскажите плз как сделать, чтобы при выборе ответа в диалоге нпс (или нпс+гг) проигрывал нужную анимацию (например танец). Понимаю, что нужен файл(ы) с анимацией, он есть. Вопрос - что с ним делать? =)
Сейчас ковыряю мод sanguinesDebauchery. Интересно каким образом сделано в моде, что ГГ встает на колени, если хозяин находится рядом? (То бишь анимация ГГ заменяется на другую в присутствии определенного непися...) КАК автор это сделал? Или например, на реплике диалога висит скрипт, в CS это видно. Но при попытке добавить этот скрипт другой реплике CS его не находит в списке, даже если писать вручную.
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №8869
написано: 16 сентября 2014, 07:28
| Отредактировано: Multigone - 16 сентября 2014, 07:37
Но при попытке добавить этот скрипт другой реплике CS его не находит в списке, даже если писать вручную.
Скрипты диалогов генерируются автоматически, скрыты (Hidden) и используются только для одного диалога. Решение: найти исходник нужного скрипта (они именуются так же, как форма диалога), и написать в своем диалоге такой же текст скрипта (в рамках между ;BEGIN CODE ;END CODE), не забывая о Properties.
Народ подскажите как в диалоге запустить скрипт, мне нужно чтобы в конце определённой реплики запустился скрипт висящий на квесте и затрагивающий НПС который эту реплику говорит.
QuestScriptName - название скрипта, присоединенного к целевому квесту. QuestScriptNameLINK - произвольное название переменной, которая будет отображать этот скрипт.
Обращайся к функциям MyFUNC(), расположенным в скрипте QuestScriptName, таким образом:
QuestScriptNameLINK.MyFUNC()
Надеюсь, идея понятна.
Изменение репутации для пользователя mxac
mxacOffline
Сообщение №8872
написано: 16 сентября 2014, 14:16
| Отредактировано: mxac - 16 сентября 2014, 14:33
mxac, Создай в диалоге: QuestScriptName Property QuestScriptNameLINK Auto Где: QuestScriptName - название скрипта, присоединенного к целевому квесту. QuestScriptNameLINK - произвольное название переменной, которая будет отображать этот скрипт. Обращайся к функциям MyFUNC(), расположенным в скрипте QuestScriptName, таким образом: QuestScriptNameLINK.MyFUNC() Надеюсь, идея понятна.
Спасибо. А как вычислить актёра с которым говорю, а то там у меня аж с целой фракцией надо проворачивать такое? :)Предполагаю что в начале реплики вычислить того с кем говорит гг последством Game.GetPlayer().GetDialogueTarget(), а в конце диалога вызвать функцию в которую передать этого актёра... Может есть что попроще?
mxac, если брать сгенерированные скрипты диалогов, там говорящий определяется так:
Function Fragment_5(ObjectReference akSpeakerRef) Actor akSpeaker = akSpeakerRef as Actor
Цитата mxac
Может есть что попроще?
Не знаю, может, есть варианты еще проще... Эм, например, такой:
В скрипте квеста:
Event OnStoryDialogue(Location akLocation, ObjectReference akActor1, ObjectReference akActor2) IF akActor2 as Actor == MyActor ; Уточнить, кто является говорящим... Актер1 или 2?
А если не уточнять, можно обойтись таким образом:
Event OnStoryDialogue(Location akLocation, ObjectReference akActor1, ObjectReference akActor2) IF (akActor1 as Actor == GetPlayer() && akActor2 as Actor == MyActor) || (akActor2 as Actor == GetPlayer() && akActor1 as Actor == MyActor)
написать в своем диалоге такой же текст скрипта (в рамках между ;BEGIN CODE ;END CODE)
Не понял где что написать :(((((
В окне Topic info в правом нижнем углу прописано название скрипта. Если нажать Properties, то выдает ошибку "Error encountered while attempting to reload script" и открывается окно с пустыми настройками.
Область Scripts - Begin - Papyrus fragment пустая; Advanced - <no fragment> Область Scripts - End - Papyrus fragment ;CODE NOT LOADED ; Advanced - Script name название_скрипта и Function Fragment_0
Frostik, ошибка, вызванная отсутствием скрипта в Data -> Scripts. Значит, нужно распаковать требуемый скрипт из архива мода в эту папку.
Если есть минимальные знания скриптов, попробуй так:
- Создай исходник скрипта по подобию скриптов диалога. Назови его произвольно. - Добавь в скрипт основной код и Properties. - Скомпилируй. - Добавь к своему диалогу и заполни Properties.
О, о, можно отключить неписю контроль над собой на время, например пока проигрывается анимация? От туплю, EnableAI же. Лучше подскажите как заставить окружающих реагировать на то что делает гг - играет на муз инструменте(сделано через скрипт - анимация+звук)