Добрый день. Большая просьба не кидаться тапками, я пока только осваиваю мододелание, поэтому вопросов много. Но с большинством помогают разобраться гайды и прочее. Хотя иногда проблема ставит в тупик и не знаешь, что делать. Как сейчас. Итак, есть задача, при смене локации в кошелек игрока падает 2 золотых, для этих целей сделал скрипт:
Scriptname _0000gold extends ObjectReference MiscObject Property Gold001 Auto
erlick, вешать скрипт прямо на персонажа - это не очень хорошо, потому что, если все будут так делать, то моды будут конфликтовать между собой. Поэтому обычно делают так: создают квест, добавляют альяс на персонажа, а уже к альясу прицепляют скрипт.Кстати, условие у вас какое-то странное "if (Game.GetPlayer().GetCurrentLocation() == akOldLoc)", оно по-моему никогда не будет выполняться.
Создал пустой квест, назвал _0000gold, поставил галочку в stаrt game enаblеd и run once, создал алиас на уникального актера player, в окне алиаса создал скрипт:
сохранил, активировал есп - не работает. Думаю, что проблема в активации квеста, да и в самом скрипте. Сорри за тупость. Возможно кто-то даст ссылочку на мануал, который может мне помочь, чтобы я тут тупыми вопросами не сыпал.
Все заработало. Дело было в незаполненном свойстве Gold001, я решил, что при переносе текста скрипта методом копирования свойства тоже переносятся, строчка-то появляется.... сам дурак. Всем спасибо за помощь и за понимание!
evTau, Большое спасибо. теперь я знаю 2 способа реализации данной идеи. Думаю, что оба будут мне в будущем очень полезны. Еще раз всем спасибо за помощь и отзывчивость.
на самом деле данный скрипт приведен был в качестве примера, основная задача будущего мода - получение скрытых итемов при убийстве неписей и получении души дракона и дальнейший автоматический обмен данный итемов на заклинания. Теперь буду долго соображать, как активировать получение при событии "получение души дракона", с убийством проще. Но, начало положено, я уже два дня пытался получить хоть что-то при срабатывании события, если бы не ваша помощь, еще бы с неделю доходил сам, как это делается.
Доброго всем времени суток. На этот раз я сдался раньше, чем через неделю. Нужна помощь в составлении скрипта, цель, получить 10 золотых автоматом при убийстве дракона (любого) или при получении души дракона, моего скудного мышления хватило только на:
Event OnDeath(Actor akKiller) if Actor.IsInFaction(DragonFaction) Game.GetPlayer().AddItem(Gold001, 10) endIf EndEvent
естественно не работает. Как можно привязать событие к либо убийству кого-то из фракции драконов, либо к получению души дракона?
Изменение репутации для пользователя erlick
erlickOffline
Сообщение №8
| Тема: Вопросы по скриптам Papyrus
написано: 29 февраля 2016, 18:46
| Отредактировано: erlick - 29 февраля 2016, 19:09
Multigone, оба способа не сработали, в первом случае даже душа даваться не стала, во втором вообще ничего не произошло.
Dsion, а можно по поводу перков поподробнее? Как я понимаю, после драконов остается труп, но с разных драконов остаются разные трупы...или труп один и можно на него повесить событие активации?
Multigone, а нет, второй способ работает!!! Изначально забыл внести его в SM Event Node. После исправления ошибки все заработало! Огромное спасибо!
Задача: сделать сундук, который открывался бы каждый раз после определенной фразы в диалоге с определенным НПС (спутником), причем из любого места в игровом мире. Сделал и спрятал сундук, сделал квест, сделал алиас на сундук, прописал диалог, указал на диалоге целью НПС. Добавил в окончание диалога скрипт:
GetOwningQuest().SetStage(5)
В стадии 05 квеста поставил галочку на окончание квеста, прописал скрипт:
Dsion, спасибо за совет. Изначально я так и собирался, одним скриптом, без алиасов и стадий, но, без прописанных свойств ,в диалоге, скрипт не хотел компелится, а при неправильной комппиляции скрипт не создавался в диалогах, а как следствиена него нельзя было повесить свойства. Выход был таким, сначала создать скрипт:
GetOwningQuest().SetStage(5)
А потом, после удачной компиляции, удалить вышенаписанный скрипт, пятую стадию квеста, навесить на скрипт свойство ObjectReference с ссылкой на сундук и прописать скрипт:
ChestRef.Activate(Game.GetPlayer())
Все заработало. За что я премного благодарен)) В том, что я неправильно сделал с алиасом и стадиями, я не разбирался. И есть подозрение, что постоянное завершение квеста постепенно раздувало бы сохранение и скрипты, прописанные в сохранении, что со временем повлияло бы на качестве игры. Так что вариант без алиаса и стадии я считаю оптимальным. Спасибо за помощь!)
Добрый день всем. Возможно вопрос глупый, но, ответа на него самостоятельно у меня найти не получилось. Есть созданный спутник, которого мы находим в каком нибудь глубоком-глубоком подземелье. берем с собой, ходим некоторое время с ним, а потом отпускаем его. Так вот, как сделать так, чтобы отпущенный спутник топал не обратно в глубокое-глубокое подземелье, а, например, в дом теплых ветров. Я понимаю, что есть куча модов, которые позволяют провернуть это безболезнено и без лишних усилий, но хотелось бы сделать своего спутника максимально независимым от других модов. Заранее спасибо.
И еще вопрос. Когда ты загружаешь в Creation Kit какой-либо мастер файл, а потом сохраняешь свой еспешник, то при следующем его открытии он загружает и ранее открытый мастер файл, даже если из этот мастер файла не было взято ничего для работы в собственном esp. Можно ли как то почистить список мастер файлов, чтобы при работе с моим esp не открывалось то, что мне не нужно?
Еще один глупый вопрос: как можно найти все диалоги, использующие определенный тип голоса? В экспортированных диалогах такой информации нет, а копать по тем фразам, что лично слышишь в игре - ненадежно и долго. Просто хочется создать свой тип голоса и привесить его на созданного спутника и привесить этот голос к происходящему, не создавая все с нуля. как пример: фраза "Ой, смотри, какие цвета" при зажженном игроком магическом источнике света.
И глупый вопрос номер два: Делаю дубликат локации (Аванчнзел - Паровые машины), ничего не меняю, сохраняю есп. Загружаю игру, с помощью "сос" попадаю в дубликат локации, бегу по коридору и тут он обрывается и впереди серая дымка (как при отсутствии текстур), пробегаешь вперед и снова попадаешь в коридор, оглядываешься назад - только что пройденный коридор тоже скрыть серой пеленой. Что я делаю не так?
PS: Второй глупый вопрос отпадает. Проблема была в отсутствующем портале между маркерами комнат. Странно, что он не дублируется при дублировании всей локации.
Господа, задолбал этот дефолтный лук для спутников! Я его уже и в инвентаре алиаса изничтожал, и сам лук делал невидимым, невесомым, неэкипируемым, все равно, если и не его, то короткий охотничий лук спутник нацепляет. Как-нибудь его можно извести? А то тут делаю модик - спасаешь ты девочку, вытаскиваешь из клетки, говоришь: "Идем со мной", и она тут же откуда-то вытаскивает лук и нацепляет на себя...
Myprism, так изничтожал, не помогает, тогда он выдает девочке просто охотничий короткий лук. Где ноги растут - непонятно) Ладно, буду копать, спасибо за помощь.
Dsion, ох блин! А пользовался этим только для удаления вещей, даже и помыслить не мог, что оно еще и переносить. Мои мысли блуждали куда-то в сторону фромлистов и глобальных переменных. Большое спасибо!
Добавлено (25 Марта 2016, 13:11) --------------------------------------------- NPC.RemoveAllItems(Chest) - не работает (( Свойства и сундука и нпс прописаны, причем нпс прописывал и как ObjectReference и как Actor. Строчка написана в теле скрипта квеста (Extends Quest Hidden), полный фрагмент выглядит так:
;BEGIN FRAGMENT Fragment_3 Function Fragment_3() ;BEGIN CODE _00IoHuman1.RemoveAllItems(_00IoItemChest) SetObjectiveCompleted(20) SetObjectiveCompleted(30) SetObjectiveDisplayed(40) _00IoHuman.RemoveFromFaction(PotentialFollowerFaction) ;END CODE EndFunction ;END FRAGMENT
Фракция удаляется, цели квеста меняются, вещи с НПС удаляются, а в сундуке не появляются. Где у меня лыжи не едут?
Добавлено (25 Марта 2016, 13:41) --------------------------------------------- Разобрался. Скрипт не срабатывал из другой локации. Перенес активатор скрипта в локацию с сундуком - все заработало.
Изменение репутации для пользователя erlick
erlickOffline
Сообщение №18
| Тема: Вопросы по моделированию
написано: 4 апреля 2016, 20:46
| Отредактировано: erlick - 4 апреля 2016, 20:58
Задача: сделать стандартное тело но без правой руки. Импортирую тело в 3д макс, удаляю лишние точки, дырку от правой руки коллапсирую - в 3д максе все идеально. Экспортирую в ниф, открываю в nifscope, там же открываю стандартное тело. Оба тела показываются в программе нормально. Переношу с отредактированного тела NiTriShapeData в стандартное тело и вместо тела без одной руки вижу только рванные части тела. Что я делаю не так?
Добавлено (04 Апреля 2016, 05:30) --------------------------------------------- Вопрос снимается, разобрался, но появился второй вопрос, после экспорта из 3д макс тело слегка "съезжает" в сторону в игре, то есть слегка убегает от головы и рук. Как можно подогнать его обратно?
Добавлено (04 Апреля 2016, 23:46) --------------------------------------------- Второй вопрос тоже снимается. Подправил ручками в NifScope NilSkinData бонлисты. Долго и муторно. Возможно кто-то знает более быстрый способ подгонки?