Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Добрый день, уважаемы мастера, помогите пожалуйста с такой проблемой. Хочу сделать так чтобы при испитии зелья у моего ГГ менялся цвет глаз и добавилось несколько пассивных эффектов. Можете подсказать как это сделать?

Опубликовано
02.10.2020 10:31:28, Dova0512 сказал(-а):

Добрый день, уважаемы мастера, помогите пожалуйста с такой проблемой. Хочу сделать так чтобы при испитии зелья у моего ГГ менялся цвет глаз и добавилось несколько пассивных эффектов. Можете подсказать как это сделать?

Какого уровня знания о скриптинге у тебя есть?

 

01.10.2020 20:10:57, Antares669 сказал(-а):
Может кому то когда то и пригодится мое инфо!!

Вот только к папирусу как таковому (скриптовый движок игры) отношения это имеет очень опосредованное.

Опубликовано
02.10.2020 18:01:56, Azazellz сказал(-а):

Какого уровня знания о скриптинге у тебя есть?

 

Вот только к папирусу как таковому (скриптовый движок игры) отношения это имеет очень опосредованное.

Честно говоря минимальные. Я б изучил, да только Creation Kit на вкладке скриптов вылетает.

Опубликовано
03.10.2020 15:41:34, Dova0512 сказал(-а):
Честно говоря минимальные. Я б изучил, да только Creation Kit на вкладке скриптов вылетает.

Ссылки на туториалы по скриптингу я тут неоднократно выкладывал, там как раз базу показывают. Гуглом переводишь, смотришь на картинки, делаешь так же, учишься. Могу и еще раз выложить.

Ссылки на скриптовые команды, которыми это можно все сделать, я тоже дать могу.

Но как ты это все собрался в кучу собрать, если у тебя СК вылетает?

 

За тебя этот скрипт с нуля никто не напишет. Если ты хочешь, чтоб тебе помогли, тебе надо сначала основы знать и что-то готовое сюда принести, что можно будет дорабатывать.

Опубликовано (изменено)
03.10.2020 15:41:34, Dova0512 сказал(-а):

Честно говоря минимальные. Я б изучил, да только Creation Kit на вкладке скриптов вылетает.

Привет!!Вылетает-потому что скачал багованную версию (их тут много в инете разных и качать нужно не где попало) К примеру просто прекрасно себя зарекомендовала версия 1.8-это как говорится старый конь борозды не испортит-Прекрасно работает и на версии Скайрим 1.9.Вот ссылка на скачивание :https://yadi.sk/d/8_nSFAvaliNPrg

А как скачаешь не забудь его правильно настроить по этой ссылке:https://tesall.ru/topic/6978-voprosy-po-modostroeniu-i-creation-kit/

Ну и осваивай скриптинг -Да будет тебе Счастье)) :bye:

Изменено пользователем Antares669
Опубликовано
07.10.2020 16:34:54, utac2012 сказал(-а):

Это у меня только нет исходников скриптов DLC Heartfire? Где взять-то их? Может у кого есть, скиньте плиз! :computer:

\Skyrim\Data\Scripts\Source\Hearthfire\

Исходники ДЛЦшных скриптов лежат в отдельных папках.

Идут все эти папки (ХФ, ДГ, ДБ) в комлекте с СК обычно. Если у тебя их нет - скачай с другого источника.

И СК их по такому пути не увидит т.е. сурсы из этих папок надо вручную скопировать.

  • Нравится 1
Опубликовано
08.10.2020 05:13:39, Azazellz сказал(-а):

\Skyrim\Data\Scripts\Source\Hearthfire\

Исходники ДЛЦшных скриптов лежат в отдельных папках.

Идут все эти папки (ХФ, ДГ, ДБ) в комлекте с СК обычно. Если у тебя их нет - скачай с другого источника.

И СК их по такому пути не увидит т.е. сурсы из этих папок надо вручную скопировать.

Спасибо, нашел. 

  • 2 месяца спустя...
Опубликовано (изменено)

Ребят, помогите, пожалуйста. Возможно где-то здесь есть ответ, но не заметила. 

Ситуация такая. В редакторе создаю дом, с кучей манекенов, полок для книг и т.д. В принципе можно скачать готовый, но в них столько лишнего (для меня) и они какие-то громоздкие.

Застопорилась на создании стойки для конкретного оружия (книги, уникальных предметов). Я понимаю, что нужен, например, даэдрический лук в виде статичного объекта, изначально невидимого в игре. Понимаю что для него нужно создать триггер, у которого указать свои ID и Name (ID обозвала так - aaaDaedricBowTrig, Name - Даэдрический лук) и тут ступор - КАКОЙ СКРИПТ нужен для того, чтобы:

 

- статичный объект становился видимым при наличии в инвентаре, ну, вот к примеру даэдрического лука

- оружие убиралось из инвентаря

- оружие возвращалось обратно в инвентарь 

 

Предполагаю, что в свойствах у триггера потом нужно поставить активацию игроком, привязать этот триггер к статичному объекту и во вкладке Скрипт в свойствах менять, чем будет активироваться сей объект.

Заранее спасибо

Изменено пользователем М.Гасникова
Опубликовано
28.12.2020 17:44:55, М.Гасникова сказал(-а):
Застопорилась на создании стойки для конкретного оружия (книги, уникальных предметов).

Если вкратце, то тебе нужен изначально скрытый статик и триггер поверх него.

При активации игроком триггера срабатывает скрипт, который сначала проверяет, есть ли у тебя в инвентаре определенный предмет, и если он есть, то этот предмет переносится в скрытый контейнер, и включается статик.

При повторной активации предмет из контейнера переносится в инвентарь игрока, и статик отключается. Т.е. нужно предусмотреть еще и активацию на тот случай, когда предмет уже размещен.

 

На нексусе есть несколько моддерских ресурсов как раз для этого. Посмотри лучше там =)

Опубликовано
28.12.2020 18:21:59, Пакость сказал(-а):

Манекены... Возможно... просто рассмотреть внимательно как оно в базовой игре сделано и работает... там кажись несколько иначе, но суть-да.

Манекены вообще иначе работают.

Они по сути - особые НПСы с ограниченным ИИ.

  • 2 недели спустя...
Опубликовано (изменено)
28.12.2020 17:44:55, М.Гасникова сказал(-а):

Ребят, помогите, пожалуйста. Возможно где-то здесь есть ответ, но не заметила. 

Ситуация такая. В редакторе создаю дом, с кучей манекенов, полок для книг и т.д. В принципе можно скачать готовый, но в них столько лишнего (для меня) и они какие-то громоздкие.

Застопорилась на создании стойки для конкретного оружия (книги, уникальных предметов). Я понимаю, что нужен, например, даэдрический лук в виде статичного объекта, изначально невидимого в игре. Понимаю что для него нужно создать триггер, у которого указать свои ID и Name (ID обозвала так - aaaDaedricBowTrig, Name - Даэдрический лук) и тут ступор - КАКОЙ СКРИПТ нужен для того, чтобы:

 

- статичный объект становился видимым при наличии в инвентаре, ну, вот к примеру даэдрического лука

- оружие убиралось из инвентаря

- оружие возвращалось обратно в инвентарь 

 

Предполагаю, что в свойствах у триггера потом нужно поставить активацию игроком, привязать этот триггер к статичному объекту и во вкладке Скрипт в свойствах менять, чем будет активироваться сей объект.

Заранее спасибо

В этом моде реализована такие полки:https://tesall.ru/files/modi-dlya-skyrim/doma-dlya-igroka/5562-dom-v-svyatilishche-velikogo-dreva

Помню помогал делать их там для когтей и масок. Давно это было.)
Можете глянуть их устройство, исходники скриптов там тоже лежат. Отследить все связанные объекты для работы там тоже не проблема.

 

Подскажите пожалуйста со скриптами к фаллауту 4, смотрю раздел по нему мертвый какой-то, задам здесь вопрос. скрипты в играх почти не менялись, редактор тоже.

Сделал мод который автоматически взламывает терминалы на отдельную клавишу, расходуя при этом устройство для взлома и воспроизводя небольшой электрический взрыв(aaaQuickHackExplosion00).

Так вот проблема взрыв возникает ни на столе на котором стоит терминал, а на полу почему-то.

Не выходит ни как сместить его, пробовал MoveTo, пробовал еще SetPosition, не выходит, как-то я не верно применяю эти команды к взрыву, хотя компилируется скрипт нормально. 

 

Вот образец кода:

 

Спойлер

 

Scriptname Fragments:Perks:PRKF_aaaQuickHackPerk00_02001734 Extends Perk Hidden Const

Function Fragment_Entry_00(ObjectReference akTargetRef, Actor akActor)
 

akTargetRef.Unlock(False)
akTargetRef.PlaceAtMe(aaaQuickHackExplosion00 as Form, 1, False, False, True).MoveTo(akTargetRef, 0.0 * Math.Sin(akTargetRef.GetAngleZ()), 0.0 * Math.Cos(akTargetRef.GetAngleZ()), akTargetRef.GetHeight() - 50.0)
Game.GetPlayer().RemoveItem(CircuitBoardMilitary as Form, 1, False, None)
Game.RewardPlayerXP(6, False)
Game.IncrementStat("Computers Hacked")
UIHackingUnlock.play(akTargetRef)

 

EndFunction

 

 

 

MiscObject Property CircuitBoardMilitary Auto Const
Sound Property UIHackingUnlock Auto Const
Explosion Property aaaQuickHackExplosion00 Auto Const

 

 

Fallout4 2021-01-06 19-51-19.png

Fallout4 2021-01-06 19-51-20.png

Изменено пользователем Bulbazhab
Опубликовано
06.01.2021 17:03:01, Bulbazhab сказал(-а):
Вот образец кода:

Эээ. Ну, по идее хватило бы простого PlaceAtMe взрыва на терминал.

MoveTo тут не прокатит скорее всего, так как это взрыв, а не статик.

И зачем там какие-то сложные вычисления дальше - непонятно.

 

В скайриме еще была команда cast - кастовало заклинание. В том числе и с "неодушевленных" объектов. Можно было заставить камень скастовать взрыв, например.

Хз, есть альтернатива в Ф4, или нет.

Опубликовано (изменено)
07.01.2021 09:32:21, Azazellz сказал(-а):

Эээ. Ну, по идее хватило бы простого PlaceAtMe взрыва на терминал.

MoveTo тут не прокатит скорее всего, так как это взрыв, а не статик.

И зачем там какие-то сложные вычисления дальше - непонятно.

 

В скайриме еще была команда cast - кастовало заклинание. В том числе и с "неодушевленных" объектов. Можно было заставить камень скастовать взрыв, например.

Хз, есть альтернатива в Ф4, или нет.

С командой MoveTo это я уже экспериментировал, до этого ее вобще не было, но она никакого эффекта не оказывает на взрывы к сожалению. Cast, попробую потом, спасибо, забыл про нее, она есть тут, только немного по другому работает.

Изменено пользователем Bulbazhab
Опубликовано
06.01.2021 17:03:01, Bulbazhab сказал(-а):

Так вот проблема взрыв возникает ни на столе на котором стоит терминал, а на полу почему-то.


Взрыв применяется не на саму меш терминала, а на якорную точку (pivot point) - то место, где в редакторе желтое перекрестье у основании любого объекта, помещаемого в Render Window.

Если бы мне нужно было сделать задуманное, то я бы помещал Xmarker через PlaceAtMe() как ты это и делаешь, потом двигал бы маркер вверх (это где-то 64 единицы навскидку) и все тем же пресловутым PlaceAtMe() размещал взрыв по Xmarker-у. Ну и удалить этот маркер в конце было бы не лишним.
  • Нравится 1
Опубликовано
08.01.2021 00:35:16, werr сказал(-а):
Взрыв применяется не на саму меш терминала, а на якорную точку (pivot point) - то место, где в редакторе желтое перекрестье у основании любого объекта, помещаемого в Render Window.

Т.е. у терминалов она вон там снизу?..

Мда.

 

Тогда и cast оттуда будет идти скорее всего.

Опубликовано
08.01.2021 00:35:16, werr сказал(-а):

Взрыв применяется не на саму меш терминала, а на якорную точку (pivot point) - то место, где в редакторе желтое перекрестье у основании любого объекта, помещаемого в Render Window.

Если бы мне нужно было сделать задуманное, то я бы помещал Xmarker через PlaceAtMe() как ты это и делаешь, потом двигал бы маркер вверх (это где-то 64 единицы навскидку) и все тем же пресловутым PlaceAtMe() размещал взрыв по Xmarker-у. Ну и удалить этот маркер в конце было бы не лишним.

Ага, теперь получилось, спасибо. Я так и думал что он привязывается к этой якорной точке, только как-то багуется и проваливается сквозь столы на пол. Про маркеры забыл что можно их использовать, хотя в первом своем посте рекомендовал мод человеку, где используется установка объектов как раз через маркеры, скрипты которого я писал ... :facepalm

Опубликовано
08.01.2021 06:15:01, Azazellz сказал(-а):

Т.е. у терминалов она вон там снизу?..
Мда.

Ну если я правильно помню, терминалы в игре заведомо приподняты относительно пола на высоту стола (все столы в игре одной высоты на самом-то деле), чтоб на них размещать. Плюс к ним маркер гуманоида прикреплен, показывающий, какую позу НПС займет при активации терминала. Так что наверное такое дизайнерское решение оправдано.
  • Нравится 1
Опубликовано
08.01.2021 11:22:08, werr сказал(-а):

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

Ох..точно. Они же как мебель, работают.

  • 4 недели спустя...
Опубликовано

Здравствуйте. Мне очень нужна помощь.  Дело в том, что я уже долгое время пытаюсь сделать особое призываемое существо для TESV:Skyrim. Оно должно напоминать Пепельного Стража из Dragonborn, но не внешне, а поведением. Оно должно не следовать за героем, а оставаться на той позиции на которой его призвали. Я сделал все что мог и это существо остается на своей позиции и не переходит в другие локации за героем, но вот при быстром перемещении в открытом мире (если оно было призвано в мире Tamriel) оно все равно оказывается рядом с героем. Я уже понял, что тут нужен скрипт, но беда в том, что я не умею их писать. В связи с этим, у меня два вопроса: первый - можно ли без скриптов как то сделать так, что существо не будет следовать вместе с игроком при быстром перемещении и второй - если все же нужен скрипт то не могли бы вы сказать, какой именно и куда его нужно ставить?

Я уже добился того чтобы призванное существо не следовало вслед за игроком в другие локации, теперь мне просто надо знать, как сделать чтобы оно не телепортировалось вместе с игроком при быстром перемещении в открытом мире.

Опубликовано

Доброго времени суток. Кайо полный чайник в скриптах, но честно пыталась найти, как реализовать скрипт внутри диалога, который создавал бы переменную (или свойство, как я понимаю, лучше свойство, да?), а затем в дальнейших репликах диалога изменял бы её (банально путём добавления/вычитания числа), а сравнение этой переменной с фиксированными значениями открывало бы определённые ветки диалога.

 

Казалось бы, это не должно быть сложно, но Кайо не нашла толковых примеров объявления и изменения новых переменных/свойств в скриптовых окошках Begin/End настройки реплики, как и того, как засунуть итоговое значение в условие. Я попробовала ввести в поле End лишь единожды активируемой реплики такую фразу с объявлением переменной: "int property BLlevel = 1 auto" (где BLlevel - название моего свойства), нажала на компиляцию и получила батарею ошибок: 

 

"...\TIF__0903E5C3.psc(9,0): no viable alternative at input 'int'

...\TIF__0903E5C3.psc(9,0): no viable alternative at input 'int'
...\TIF__0903E5C3.psc(9,25): required (...)+ loop did not match anything at input 'auto' "

Понятия не имею, что не так, и как тогда надо. К тому же, если самый первый шаг ознаменовался таким фейлом, вангую, остальные части моего чайничевского плана заочно обречены на провал (Я планировала в остальных репликах прописывать просто BLlevel += 100 (или -=), а вот как использовать это в поле Conditions, и вовсе, по сути, пока не знаю, но подозреваю, что это можно как-то выкрутить через GetVMQuestVariable).

 

Объясните, пожалуйста, кто знает, как именно всё это использовать. Заочно благодарю за участие.

Опубликовано

Вроде как непосредственно в диалогах нельзя объявлять переменные. Они только для простейших штук предназначены.

Можно в связанном квесте это прописать, и из него уже вызывать.

А можно через глобальную переменную прогонять.

int n = BLlevel.GetValueInt()
BLlevel.SetValueInt(n + 100)

Такое вроде как должно сразу сработать, из диалога прямо. Только не забудь глобальную переменную с точно таким же названием сделать сначала.

Опубликовано
04.02.2021 12:56:44, Azazellz сказал(-а):

Вроде как непосредственно в диалогах нельзя объявлять переменные. Они только для простейших штук предназначены.

Можно в связанном квесте это прописать, и из него уже вызывать.

А можно через глобальную переменную прогонять.

int n = BLlevel.GetValueInt()
BLlevel.SetValueInt(n + 100)

Такое вроде как должно сразу сработать, из диалога прямо. Только не забудь глобальную переменную с точно таким же названием сделать сначала.

 

Благодарю за скорый ответ. К сожалению, до сих пор пытаюсь с его помощью до сего-то прокопаться, но то ли знаний не хватает, то ли мозгов, то ли руки из os sacrum, - тщетно. В диалоге не заработало, решила, что ну его, отдельно попыталась написать в диалоговом "квесте" скрипт и прикрепить его к реплике, но в итоге лишь столкнулась с теми же ошибками, что и в диалоге. Такое впечатление, словно CK не понимает, что значит точка и все операторы присвоения... Переменную глобальную успешно создала (кстати, как-то не заметила этот вариант в условиях ранее, спасибо), присвоила значение 0 по умолчанию. Запись в скрипте, дабы хоть разобраться, что происходит, упростила до 

BLlevel.SetValueInt(1)

На всякий случай даже приписала выше этого 

GlobalVariable property BLlevel auto 

Компиляторка упорно выдаёт "no viable alternative at input '.' "

Если же писать первый вариант с

int BLlevVar = BLlevel.GetValueInt()

то добавляется точно такая же ругачка ещё на знак =

Опубликовано
04.02.2021 18:31:00, Кайо сказал(-а):
то добавляется точно такая же ругачка ещё на знак =

Так он может на другое ругается.

Скрипт целиком давай, посмотрим, что там к чему.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...