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

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

Опубликовано
10.07.2020 11:01:19, Enush сказал(-а):

Всем добрый день. Есть желание создав новый пресет через BodySlide прикрепить его к определённому персонажу в игре (например Серана). Как через CK это необходимо сделать?

 

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

Тело персонажа определяется его расой.

Так что только создавать отдельную расу со своими набором моделей и текстур.

 

А, ну и учти, что броня перезаписывает собой тело, поэтому условной "Серане" придется выдать еще и уникальную броню, сделанную под её уникальное тело.

  • Ответов 4,8 тыс
  • Создана
  • Последний ответ

Топ авторов темы

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

Спасибо за ответ. По поводу одежды, она в свою очередь уже будет взята из вне и подогнана под нужный мне пресет так же через BodySlide.

Теперь вопрос о другом. Хочу создать в игре контейнер с нужными мне ингридиентами, с последующим обновлением каждые игровые сутки. Мне нужны корень жарницы, лютый гриб и сердце даэдра (для яда на урон здоровью). Я выбираю сумку аптекаря (их в редакторе три вида, взял Common), перетаскиваю в мир, нажимаю на неё и иду в Edit Base. В itemList вижу два пункта, а в них я так понимаю вариации предметов, которые будут появлятся в зависимости от уровня главного героя. И как только я пытаюсь добавить свой пункт программа напрочь вылетает с ошибкой. 

 

Это получается что свои предметы добавить нельзя или я сделал что то не правильно? И вообще есть ли мои ингдириенты в списке доступных предметов? Потому что из любопытства я пролистал и ничего даже отдалённо похожего по названию на то что мне нужно не нашёл.

Опубликовано
11.07.2020 13:12:56, Enush сказал(-а):
или я сделал что то не правильно?

Или ты делаешь что-то неправильно.

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

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

С сумкой разобрался, в мире появилась, вот только почему то внутри из трёх предметов лежит только один. Возможно он будет рандомно появляться из трёх доступных вариантов, а как сделать что бы сразу три предмета отображались в сумке? Какой то параметр или значение нужно править ? 

Опубликовано
11.07.2020 22:22:01, Enush сказал(-а):

С сумкой разобрался, в мире появилась, вот только почему то внутри из трёх предметов лежит только один. Возможно он будет рандомно появляться из трёх доступных вариантов, а как сделать что бы сразу три предмета отображались в сумке? Какой то параметр или значение нужно править ? 

Положить туда эти предметы непосредственно, а не через левел-лист.

Опубликовано
12.07.2020 00:05:56, Azazellz сказал(-а):
Положить туда эти предметы непосредственно, а не через левел-лист.

 

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

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

Опубликовано
12.07.2020 14:05:57, Enush сказал(-а):

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

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

Обновляться будут, да.

Но не раз в сутки, а в зависимости от сроков респавна локации, где оно находится.

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

Но я в это не лазил никогда, так что могу и ошибаться.

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

Народ, такой вопрос, можно ли в моде (.esp) убрать определенные изменения.

Если конкретно, то ситуация следующая: есть мод, он много чего делает, но помимо прочего он изменяет внешность одному из неписей оригинальной игры, я хочу, чтоб этих изменений не было. Долго рассказывать почему, но открыть мод и изменить все на оригинал - мне не подходит. Мне желательно, чтоб в этом моде, просто не было никаких измнений данного NPC, чтоб игра не считала, что мод его хоть как-то затрагивает. Можно ли это как-нибудь сделать?

Zbog Anice i bokala vina, zapalit ću Krajinu do Knina...

Опубликовано
16.07.2020 02:23:10, Ingvar сказал(-а):

Народ, такой вопрос, можно ли в моде (.esp) убрать определенные изменения.

Если конкретно, то ситуация следующая: есть мод, он много чего делает, но помимо прочего он изменяет внешность одному из неписей оригинальной игры, я хочу, чтоб этих изменений не было. Долго рассказывать почему, но открыть мод и изменить все на оригинал - мне не подходит. Мне желательно, чтоб в этом моде, просто не было никаких измнений данного NPC, чтоб игра не считала, что мод его хоть как-то затрагивает. Можно ли это как-нибудь сделать?

Используй хЭдит.

Ищещь нужные изменения, и удаляешь.

Файлы с внешностью только тоже удалить не забудь.

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

Господа, подскажите. Если я хочу в квесте отправить игрока обыскивать комнату, как мне сделать меткой цели саму комнату? Пытался ставить xmarker и через алиас назначать его целью - в игре ничего не отображается.

Опубликовано (изменено)

И еще вопрос. Есть вот такой скрипт, он работает:

 

Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)
if (aaaHappyTogether.GetStageDone(20))
endif
if (newContainer == Game.GetPlayer())
                aaaHappyTogether.SetObjectivedisplayed(40)
   aaaHappyTogether.SetStage(40)
endif
EndEvent

 

Но если заменить GetStageDone на просто GetStage или IsRunning чтобы ввести зависимость от активной на данный момент стадии, мне выбивает ошибку "too many arguments passed to function". В чем проблема?

Изменено пользователем mantik903
Опубликовано
01.08.2020 17:40:10, mantik903 сказал(-а):

В чем проблема?

GetStage() не должно иметь ничего в скобках.
 
Должно быть что-то вроде
if (aaaHappyTogether.GetStage() == 20)
То же самое и для IsRunning(). Только эта команда стадии не поддерживает вообще. Оно чисто для проверки работы квеста.
if (aaaHappyTogether.IsRunning())
или
if (aaaHappyTogether.IsRunning() == true)
По маркеру квеста - если на Х-маркер не работает, попробуй его привязать на какой-нибудь объект внутри комнаты.
Но вообще странно, конечно.
Опубликовано (изменено)
01.08.2020 18:21:59, Azazellz сказал(-а):

GetStage() не должно иметь ничего в скобках.
 
Должно быть что-то вроде

if (aaaHappyTogether.GetStage() == 20)
То же самое и для IsRunning(). Только эта команда стадии не поддерживает вообще. Оно чисто для проверки работы квеста.
if (aaaHappyTogether.IsRunning())
или
if (aaaHappyTogether.IsRunning() == true)
По маркеру квеста - если на Х-маркер не работает, попробуй его привязать на какой-нибудь объект внутри комнаты.
Но вообще странно, конечно.

 

Насчет скрипта я понял, спасибо.

 

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

 

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

 

И еще один вопрос. Можно ли как-то указать условием диалога наличие в инвентаре игрока предмета? Через getincontainer с таргетом игрока и назначением через алиас не сработало. Я ошибся в деталях или это невозможно?

 

wfR87mp.png.png

Изменено пользователем mantik903
Опубликовано
01.08.2020 19:37:41, mantik903 сказал(-а):

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

На референс.
И учитывай, что алиасы заполняются при старте квеста.
Вообще, с маркерами все должно работать - с точки зрения игры разницы между маркером и куском пола нет.

01.08.2020 19:37:41, mantik903 сказал(-а):

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

Смотри выше про старт квеста. Предмет помещается так же, при старте квеста. Если ты что-то поправил, и проверяешь при уже запущенном квесте - ничего никуда не добавится.
В идеале для тестов вообще чистый сейв использовать надо - где у тебя этого квеста в игре еще тупо нет.
Читай, тут все написано.

01.08.2020 19:37:41, mantik903 сказал(-а):

И еще один вопрос. Можно ли как-то указать условием диалога наличие в инвентаре игрока предмета? Через getincontainer с таргетом игрока и назначением через алиас не сработало. Я ошибся в деталях или это невозможно?

Лучше использовать это.

  • Нравится 1
Опубликовано (изменено)
02.08.2020 07:22:07, Azazellz сказал(-а):

На референс.
И учитывай, что алиасы заполняются при старте квеста.
Вообще, с маркерами все должно работать - с точки зрения игры разницы между маркером и куском пола нет.

Смотри выше про старт квеста. Предмет помещается так же, при старте квеста. Если ты что-то поправил, и проверяешь при уже запущенном квесте - ничего никуда не добавится.
В идеале для тестов вообще чистый сейв использовать надо - где у тебя этого квеста в игре еще тупо нет.
Читай, тут все написано.

Лучше использовать это.

Большое спасибо, все сработало, по всем пунктам. Правда чем дальше я закапываюсь в квест, тем больше бредовых мыслей у меня возникает. Думаю, я тут еще пару раз отмечусь со странными идеями)

Изменено пользователем mantik903
Опубликовано

Добрый день всем участникам форума! Недавно я решила сделать мод на рукопашный и бездоспешный бой. Для этого я хочу переделать навык красноречия. Первый вопрос такой: где в creation kit можно изменить условие повышения навыка? Допустим, красноречие повышается, когда персонаж торгуется или кого-то успешно убеждает. Где в creation kit можно это условие поменять на "1 единица опыта = 1 единица урона, нанесённого в рукопашной?"

Опубликовано (изменено)

А вот и новые вопросы. Как заставить нпса в сцене сесть на стул и запустить анимацию письма? Я пробовал сделать пакет "идти и использовать идл", но нпс просто подходит к стулу (идет он к хмаркеру, стул в упор стоит, но в пакете назначен как маркер, который надо использовать), после чего разворачивается и уходит. А еще после сцены у него активируется агрессивное поведение с "тебе тут не рады", бегом за игроком и так далее. В чем проблема?

И еще один небольшой вопрос. Если по сцене нпс выкидывает записку, как заставить ее алиас оказаться в мире? Из инвентаря я его допустим удалю через RemoveItem(Alias.GetReference()). Но что надо сделать, чтобы он оказался на земле? DropItem, к слову, почему-то не сработал, хотя скрипт успешно скомпилировался.

А еще почему-то алиас другой записки, которая должна быть в инвентаре нпса, несмотря на стоящие галки initially disabled и allow disabled, все равно включен сам по себе, без активации.

Изменено пользователем mantik903
Опубликовано
04.08.2020 04:42:44, cruiseraurora сказал(-а):
Добрый день всем участникам форума! Недавно я решила сделать мод на рукопашный и бездоспешный бой. Для этого я хочу переделать навык красноречия. Первый вопрос такой: где в creation kit можно изменить условие повышения навыка? Допустим, красноречие повышается, когда персонаж торгуется или кого-то успешно убеждает. Где в creation kit можно это условие поменять на "1 единица опыта = 1 единица урона, нанесённого в рукопашной?"

Врядли это вообще возможно.

 

04.08.2020 12:35:40, mantik903 сказал(-а):
В чем проблема?

Что-то не так делаешь, значит.

Гугли англоязычные мануалы, может чего и найдешь.

Проведи раскопки в других модах или в ванильной игре, если не найдешь ничего. Кто-то где-то это уже делал до тебя, надо только найти кто и где.

 

04.08.2020 12:35:40, mantik903 сказал(-а):
И еще один небольшой вопрос. Если по сцене нпс выкидывает записку, как заставить ее алиас оказаться в мире? Из инвентаря я его допустим удалю через RemoveItem(Alias.GetReference()). Но что надо сделать, чтобы он оказался на земле? DropItem, к слову, почему-то не сработал, хотя скрипт успешно скомпилировался.

Ну удали вообще, и заспавнь копию, делов то.

 

04.08.2020 12:35:40, mantik903 сказал(-а):
А еще почему-то алиас другой записки, которая должна быть в инвентаре нпса, несмотря на стоящие галки initially disabled и allow disabled, все равно включен сам по себе, без активации.

Вещи в контейнерах не могут быть "disabled". Их вообще в игре как бы не существует, и с ними практически ничего нельзя делать, пока они в контейнерах.

Опубликовано (изменено)
05.08.2020 03:37:31, Azazellz сказал(-а):

Врядли это вообще возможно.

 

Что-то не так делаешь, значит.

Гугли англоязычные мануалы, может чего и найдешь.

Проведи раскопки в других модах или в ванильной игре, если не найдешь ничего. Кто-то где-то это уже делал до тебя, надо только найти кто и где.

 

Ну удали вообще, и заспавнь копию, делов то.

 

Вещи в контейнерах не могут быть "disabled". Их вообще в игре как бы не существует, и с ними практически ничего нельзя делать, пока они в контейнерах.

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

Но теперь новый вопрос. Если у меня есть стадия квеста, которую можно получить в любой момент, подобрав определенный предмет, как должен выглядеть скрипт, который выяснит текущую стадию и закроет именно ее? Спамить десять строк objectivecomplete не хочется, но кроме того, что в скрипте должна быть функция getstage больше ничего в голову не приходит.

Изменено пользователем mantik903
Опубликовано
05.08.2020 14:02:24, mantik903 сказал(-а):

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

Но теперь новый вопрос. Если у меня есть стадия квеста, которую можно получить в любой момент, подобрав определенный предмет, как должен выглядеть скрипт, который выяснит текущую стадию и закроет именно ее? Спамить десять строк objectivecomplete не хочется, но кроме того, что в скрипте должна быть функция getstage больше ничего в голову не приходит.

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

Я ж тебе вроде давал эту ссылку? Жмешь там на Quest, и перед тобой все скрипты, связанные с квестами. Смотришь, что тебе из них надо.

Опубликовано (изменено)
05.08.2020 17:28:31, Azazellz сказал(-а):

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

Я ж тебе вроде давал эту ссылку? Жмешь там на Quest, и перед тобой все скрипты, связанные с квестами. Смотришь, что тебе из них надо.

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

Изменено пользователем mantik903
Опубликовано
05.08.2020 18:16:53, mantik903 сказал(-а):

Ты не понял. Смотри, предмет можно подобрать на любой стадии от 20 до 90. При подъеме автоматом ставится 91. Но при этом та стадия на которой игрок был до этого остается незавершенной. Смысл квеста вообще найти этот предмет. Но из-за того что я не знаю, на какой стадии игрок его поднимет, мне либо надо писать objectivecomplete на каждую из этих стадий, либо сделать скрипт, который сам автоматом вычислит текущую стадию и закроет именно ее, что мне и надо. То есть как я понимаю, надо через getstage получить нынешнюю, но как заставить скрипт запомнить это значение и именно его подставить в objectivecomplete? Ту страницу кстати впервые вижу, спасибо большое.

Там же прямо на странице с GetStage пример дан, как такое сделать.

int MyQuestStage = MyQuest.GetStage()

Т.е. "MyQuestStage" везде, где ты его дальше использовать в скрипте будешь - всегда будет той стадией квеста, которую ты командой выше получил и в эту переменную записал.

MyQuest.SetObjectiveCompleted(MyQuestStage)

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

MyQuest.SetObjectiveCompleted(MyQuest.GetStage())

Но тут я уже не совсем уверен, так как сто лет скрипты не писал, и все поперезабыл уже. Но если это не будет работать - компиллер тебе об этом скажет =)

Опубликовано
05.08.2020 18:26:21, Azazellz сказал(-а):

Там же прямо на странице с GetStage пример дан, как такое сделать.

int MyQuestStage = MyQuest.GetStage()

Т.е. "MyQuestStage" везде, где ты его дальше использовать в скрипте будешь - всегда будет той стадией квеста, которую ты командой выше получил и в эту переменную записал.

MyQuest.SetObjectiveCompleted(MyQuestStage)

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

MyQuest.SetObjectiveCompleted(MyQuest.GetStage())

Но тут я уже не совсем уверен, так как сто лет скрипты не писал, и все поперезабыл уже. Но если это не будет работать - компиллер тебе об этом скажет =)

Вот, именно на это я и надеялся. Спасибо большое, пойду тестить)

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

И снова вопрос. Если мне нужно чтобы скрипт на контейнере сработал только один раз, хотя сам контейнер можно открывать на разных стадиях (скрипт активирует 10 разных стадий в зависимости от текущей), как его заморозить после первой активации?

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

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

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

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

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

Войти

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

Войти

×
×
  • Создать...