Стрелка должна вращаться всегда именно по оси Z. Но эту ось Z можно развернуть как угодно.
Теперь понятно Я просто думал, что под осью Z имеется в виду ось Z системы координат локации. А получается, что это ось Z самой модели. Ладно, на будущее учту, еще раз спс
Доброго времени суток. Подскажите, есть ли возможность сделать так, чтобы плагин использовал ресурсы другого esp-файла, не переводя используемый файл в esm? Например, нужно сделать фикс к существующему esp-плагину в отдельном esp. Заранее спасибо за ответ.
Dsion, печально А как же тогда делают патчи для совместимости между плагинами?
P.S. Нашел информацию. При помощи Wrye Bash можно любой esp-файл сделать псевдо-esm, чтобы СК его видел как мастер-файл, а после окончания работы преобразовать обратно. Получаем два esp, один из которых зависим от другого. Проверил на деле - вроде работает. Спасибо добрым людям.
W@nTeD, я о последствиях тоже подумал. Тот файл, что конвертировался, я дальше не использую, а сразу меняю его на аналогичный неконвертированный, чтобы игра работала только с чистым исходником. А то кто его знает, какие там изменения происходят при конвертации...
Добавлено (29 Марта 2015, 15:09) --------------------------------------------- FIDO_thon, в разделе ConstructibleObject хранятся все рецепты для крафта (кузница, плавильня, котелок и т.д.). Сздай там новый файл и укажи все необходимое - какой предмет создается, какие условия и материалы необходимы, на каком станке и в каких количечтвах. Подробнее рассказать не могу, т.к. не дома и пишу с телефона
1. Видел в ире, что Серана при обмене вещами принимает только предметы определенного типа. Т.е. ей нельзя дать, например, броню или оружие. Кто знает, где увидеть эти ограничения. Думал, может они они как-то зашиты в скрипт, который открывает нам ее инвентарь, но нет, там используется обычная функция OpenInventory без каких-либо дополнительных условий. На самой Серане висит только скрипт левелинга скилов, никаких особых кейвордов и т.п. Подскажите, где копать?
2. Нужно условие для скрипта, в котором на момент события заданный НПС должен находиться в заданной локации. Ну, вроде If MyNPC пребывает в локации MyCell. Знаю, что для скриптинга отдельная тема, но решил спросить в обеих. Спасибо заранее за ответ.
Подскажите как правильно оформить условие для скрипта, при котором определенный НПС должен находиться в определенной локации. Что-то вроде If MyNPC пребывает в локации MyCell. И как лучше его обозначить в Property - через ActorBase или через ObjectReference?
- Что это за горы стоят? - А, это орки бегут!
Изменение репутации для пользователя slastik
slastikOffline
Сообщение №127
| Тема: Вопросы по скриптам Papyrus
написано: 5 апреля 2015, 18:35
| Отредактировано: slastik - 5 апреля 2015, 18:38
Оч странно. У меня абсолютно ванильная Серана, но берет только расходники. Потом скрин сделаю.
Добавлено (05 Апреля 2015, 21:52) ---------------------------------------------
Цитата Dsion
Там есть аж три функции
Я не совсем в этом разбираюсь. Т. е. можно из любой функции сделать условие? Я просто представляю это так - функции что-либо исполняют (например MyActor.AddItem(MyItem)), а условия что-либо проверяют (например If MyActor.GetItemCount(MyItem) >= 1). Я ошибаюсь?
Добавлено (05 Апреля 2015, 22:06) --------------------------------------------- К вопросу о Серане. Вот что у нее в инвентаре уже есть:
Друзья, такой вопрос. Нужно, чтобы НПС открывал по требованию инвентарь для обмена вещами с ГГ. Стандартный скрипт OpenInventory не работает. Чего не хватает? Может нужна еще соответствующая фракция, кейворд или особое отношение к ГГ?
Delicious, нет, это не компаньон. Я использовал копию ванильного скрипта от компаньона, вручную прописал диалог, все сделал как положено, но не работает
Доброго времени суток. Такой вопрос. После победы над драконом, когда ГГ поглощает его душу, возникает надпись "Душа дракона поглощена" и проигрывается пафосная мелодия. Хотел эту мелодию привязать к своему эффекту, но не смог ее найти. Искал через фильтры "dragon", "soul", "absorb", просматривал квесты "DragonKill", пытаясь найти ее в propertys - не вышло. Кто знает, где вообще "зашит" этот механизм поглощения души?
Dark_Lotus Если окно крафта открывается, а предметов для создания там нет, значит станок не видит рецептов. В самих Constructible Object ты свой кейворд ScrollsAltar указал? Если да, то возможно в рецептах условия какие-то выставлены, которые не соблюдены. Или может у тебя какай-нибудь еще мод стоит, изменяющий систему крафта. Ты свой плагин на чистом Скайриме проверял?
Доброго времени суток. Такой вопрос. После победы над драконом, когда ГГ поглощает его душу, возникает надпись "Душа дракона поглощена" и проигрывается пафосная мелодия. Хотел эту мелодию привязать к своему эффекту, но не смог ее найти. Искал через фильтры "dragon", "soul", "absorb", просматривал квесты "DragonKill", пытаясь найти ее в propertys - не вышло. Кто знает, где вообще "зашит" этот механизм поглощения души?
Arin, спасибо. Я в курсе, что все сообщения располагаются в категории Message. В данном случае меня интересует не текст, а мелодия. Возможно она висит где-то в разделе Sound Descriptor, но я пока ее не нашел.
- Что это за горы стоят? - А, это орки бегут!
Изменение репутации для пользователя slastik
slastikOffline
Сообщение №139
| Тема: Вопросы по скриптам Papyrus
написано: 1 июня 2015, 10:52
| Отредактировано: slastik - 1 июня 2015, 10:53
Всем привет. Возникла следующая проблемка. Хочу сделать зелье, которое при использовании будет оставлять маркер для быстрого перемещения на карте в текущем месте пребывания ГГ, а при повторном использовании будет его убирать. Для этого создал готовый MapMarker, поместил его в игровой мир, выставил на нем галочку IsDisabled, а к зелью привязал скрипт:
Event OnEffectStart(Actor akTarget, Actor akCaster) If MyMarker.IsDisabled() MyMarker.MoveTo(Game.GetPlayer()) MyMarker.Enable() Else MyMarker.Disable() EndIf EndEvent
Скрипт прекрасно скомпилировался, но результата никакого. Тогда убрал галочку IsDisabled и сделал обычный MapMarker, спрятав его в один из интерьеров, а скрипт сократил до:
Event OnEffectStart(Actor akTarget, Actor akCaster) MyMarker.MoveTo(Game.GetPlayer()) EndEvent
Но опять никакого результата. MapMarker не хочет перемещаться. Или он перемещается, но при этом становится неактивным. Возможно проблема вовсе не в скрипте? Может маркер для быстрого перемещения имеет какие-то особенности?
После победы над драконом, когда ГГ поглощает его душу, возникает надпись "Душа дракона поглощена" и проигрывается пафосная мелодия.
Нашел, где прячется текст этого сообщения. В меню Gameplay/Settings есть запись sDragonSoulAcquired. При выборе в контекстном меню пункта UseInfo окошки пусты, поэтому понять где эта запись задействована не удалось. В квесте MQkillDragon отсылок к ней тоже нет. Я в растерянности. Уже черт с ней, с мелодией, другую подберу, но может кто подскажет - как вывести сообщение в центр экрана, как при обнаружении локации, старте или окончании квеста? При использовании команды Message.Show() мы можем выдать его либо в левый верхний угол, либо в виде окна (отметив флаг MessageBox), но нужно чтобы в центр.
Есть вопрос К активатору привязан скрипт, который через функцию MyActor.PlayIdle(MyIdle) заставляет субъекта проигрывать анимацию. Скрипт отлично работает со многими анимациями (например, субъект играет на музыкальных инструментах, танцует и т.д.), но возникла проблема с анимацией подметания пола (IdleLooseSweepingStart) - ее скрипт почему-то не хочет запускать (хотя раньше запускал без проблем). Может кто-то подскажет другой способ заставить игрока использовать анимацию при активации? Может с помощью функции PlaceAtMe добавлять ему SweepIdleMarker, использовать, а после использования удалять?
Как можно сделать, чтобы мои заклинания не наносили урон моим суммонам, а их заклинания, соответственно, не наносили урон мне ?
Можно в окне магического эффекта, который привязан к заклинанию, просто указать в условиях (по кейвордам, фракциям или иначе) на кого он будет или не будет распространяться.
Нпс отказывается использовать Идл-маркеры в интерьере.
Возможно некорректно проложена сетка путей, пересмотрите ее еще раз. Возможно в АИ-пакете не стоит соответствующая галочка, позволяющая НПС открывать двери, использовать фурнитуру и т.д. А может вы не заметили в АИ-пакете каких-то условий в разделе Conditions или в них установлено время действия, которое не совпадает с тем моментом, когда вы заходите в игру для теста. Может в вашем пакете радиус действия слишком мал и не достает до маркеров. Убедитесь в том, что ваши маркеры не "выключены", что у них не указан другой хозяин или фракция. Может ваши НПС не гуманоиды и анимация маркеров им не подходит. Причин может быть множество. Попробуйте создать свой АИ-пакет, привяжите к Х-маркеру в центре помещения, задайте радиус 500-800 или даже больше (в зависимости от площади интерьера) и активируйте True на всех пунктах, отвечающих за взаимодействие НПС с окружением.
Доброго времени суток. Хочу узнать, как привязать кейворд к определенной анимации. При создании фурнитуры мы через кейворды задаем анимацию, которая будет проигрываться. Например, если выберем IsSearchingTable, наш актер при активации будет шарить по столу руками. Вот я нашел сам кейворд и через Use Info увидел, что он связан с анимацией IdleSearchingTable. Нашел в окне Idle Animations эту анимацию, но в ней нет никаких отсылок к этому кейворду. Как же они завязаны друг с другом? Просто список доступных анимаций для фурнитуры ограничен и хотелось бы добавить свои варианты.
Нет, ничего подобного не устанавливал. Ты их открывал в каталоге Actors\Character\Behaviors\0_Master.hkx, а затем папка LOOSE? Быть может я действительно просто не там смотрю...