Форум » TES V: Skyrim » Библиотека модмейкера » Вопросы по Creation Kit. Старая тема (Тут вы можете задать вопросы по редактору Скайрима)

Вопросы по Creation Kit. Старая тема
Морфин  Сообщение №1 написано: 7 февраля 2012, 21:38

Тема по работе с редактором Skyrim Creation Kit.

----------
Полезная информация:

Видео уроки:


Предупреждаю! За оффтоп и флуд буду наказывать беспощадно!

Void_flame  Offline  Сообщение №8431 написано: 7 августа 2014, 13:20



98
Возникла проблема с созданием диалога. Проблема в самой программе. Когда я тыкаю "Edit topic", ничего не происходит. Даже ошибки нет. А в "Topic info" он мне просто ничего не дает вписать в строку "Topic text".

Если этот вопрос уже обсуждался, то дайте, пожалуйста, ссылку.



Dsion  Offline  Сообщение №8432 написано: 7 августа 2014, 14:06



Dialogue Views можно и не использовать. Как я понимаю, они только для удобства (сомнительного, как по мне). В следующей вкладке (Player Dialogue) и так есть все бранчи, топики и инфо. Там и текст вписывается без проблем.

Arin  Offline  Сообщение №8433 написано: 7 августа 2014, 14:24



570
Народ, если кому интересно. На статуе Ауриэля обнаружила очень интересный эффект. Если поставить её в эстерьер, то та часть, которая обернута к небу покрывается снегом, вне зависимости от положения статуи.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Indiana_Jones  Offline  Сообщение №8434 написано: 7 августа 2014, 14:25



63
http://www.creationkit.skv1991.ru/wiki....E%D0%B3 
следуя этому гайду, пытаюсь научиться создать квест, уже несколько раз перепробовал, но каждый раз я не могу поговорить с нпс. Может кто открыть есп через Creation Kit и проверить, всё ли правильно?
https://yadi.sk/d/sY1I4FSKZEhFY - ссылка на еcп.

Arin  Offline  Сообщение №8435 написано: 7 августа 2014, 14:26



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

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Void_flame  Offline  Сообщение №8436 написано: 7 августа 2014, 14:27



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

Indiana_Jones  Offline  Сообщение №8437 написано: 7 августа 2014, 14:31 | Отредактировано: Indiana_Jones - 7 августа 2014, 14:37



63
Аrin, cейчас зайду в редактор, думаю, это займет время, я ещё ничего не умею, просто следую инструкциям. 

Готово. 
Вот ссылка на скрин.
https://pp.vk.me/c617430/v617430564/1610e/lQQAQ6vvfIk.jpg

JoeOwl  Offline  Сообщение №8438 написано: 7 августа 2014, 15:45 | Отредактировано: JoeOwl - 7 августа 2014, 15:48



86
Цитата Indiana_Jones

Вот ссылка на скрин.


Но ведь это урок о Бенду Оло. Неужели делая все по инструкции что-то могло пойти не так?
Или что-то свое попробовали? Если так, то это похвально. Тоже люблю так делать. Если получается - то это довольно большой опыт. Для новичка, конечно.

«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Dsion  Offline  Сообщение №8439 написано: 7 августа 2014, 15:53



Indiana_Jones, Вы же в курсе про тот старый баг, когда диалог не появляется, пока игру не сохранить с подключенным модом и не загрузить снова?
Это касается только Start Game Enabled квестов. Если в курсе и все-равно нет диалога, я посмотрю...

Добавлено (07 Августа 2014, 19:53)
---------------------------------------------
Глянул esp. Диалог работает после сохранения и загрузки. Остальное не получится проверить без файлов скриптов.


Arin  Offline  Сообщение №8440 написано: 7 августа 2014, 15:59 | Отредактировано: Arin - 7 августа 2014, 15:59



570
Чтобы квест нормально стартовал, нужно прицепить к нему скрипт:
Scriptname aaaStartQuest extends Quest

Event OnInit()
if !IsRunning() && !IsCompleted()
Start()
endIf
EndEvent
Тогда никакой загрузки и сохранения не потребуется.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Indiana_Jones  Offline  Сообщение №8441 написано: 7 августа 2014, 16:02 | Отредактировано: Indiana_Jones - 7 августа 2014, 16:03



63
О, ребята, большое спасибо. А почему в инструкции не указаны возможные проблемы?

А я 3 раза одно и то же делал и думал, в чем проблема? XD

Arin  Offline  Сообщение №8442 написано: 7 августа 2014, 16:05



570
Потому, что это проблема тестера, а не игры) В игре, ты ясен пень успеваешь хотя бы раз сохранится - при создании персонажа.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
JoeOwl  Offline  Сообщение №8443 написано: 8 августа 2014, 00:45



86
Этот скрипт полезный, я возьму его на заметку.
Было бы смешно, если бы автор квеста просил бы всех сохраняться и загружаться после загрузки квеста.

Добавлено (08 Августа 2014, 04:45)
---------------------------------------------
Пришел очередной интересующий меня вопрос.
Я сделал свое первое подземелье. Получилось даже лучше чем я себе представлял.
Но в одном из проходов я установил "Туннель с обвалом".
Обвал есть, а скрипт, который его активирует, я не знаю.

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


«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Arin  Offline  Сообщение №8444 написано: 8 августа 2014, 02:00



570
Цитата JoeOwl

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

Создаешь обычный триггер в Активаторах. У триггера есть специальная функция - что делать, если игрок зашел на территорию триггера, что деласть, если покинул. И тп

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Dsion  Offline  Сообщение №8445 написано: 8 августа 2014, 06:43 | Отредактировано: Dsion - 8 августа 2014, 06:43



Там неверху есть кнопка с буквой "T" для создания триггера из активатора.

JoeOwl  Offline  Сообщение №8446 написано: 8 августа 2014, 11:15



86
Спасибо за ответы, сейчас что-нибудь попробую.

Добавлено (08 Августа 2014, 15:15)
---------------------------------------------
Вот небольшой отчет:

Именно триггеры, если я брал их из списка или нажимал "Т в коробочке", почему-то визуально были невидимы. Тогда я решил сделать "Коллизионный куб", и присвоил ему готовый скрипт "defaultActivateSelf". Настроил его. Сделал, чтобы тот активировал нужную мне часть. 

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

Еще, к примеру я хочу, чтобы мои ворота изначально были открыты. Я ставлю галочку на Open by Deafult, но это не работает. А как тогда?


«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Arin  Offline  Сообщение №8447 написано: 8 августа 2014, 11:48



570
А) Создай новый триггер.
Б) Триггер не может быть невидимым, если куб коллизии видимый. Другое дело, что триггер воздается вокруг какого-то объекта, то есть просто так, как статик, ты его не вытянешь. Жми "Т", выбираешь триггер (Нью, например) после чего выбираешь объект, вокруг которого триггер будет создан.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Dsion  Offline  Сообщение №8448 написано: 8 августа 2014, 12:03



Да всё он видимый... Даже цвет можно настраивать для удобства.

Добавлено (08 Августа 2014, 16:00)
---------------------------------------------
Вернее, в CK видны. А в игре - нет, конечно. Возможно, и в игре будет виден, если убрать галочку Is Marker. Или не будет...

Добавлено (08 Августа 2014, 16:03)
---------------------------------------------
Никогда бы не догадался, что у "коллизионного куба" есть коллизия :-D


JoeOwl  Offline  Сообщение №8449 написано: 8 августа 2014, 12:26 | Отредактировано: JoeOwl - 8 августа 2014, 12:49



86
Тот, что я создал сам - видимый, да. Но обычный триггер-активатор, который в Скайриме встречается около 500-та раз, я не вижу. И не знаю, почему.

Но даже когда я его создал, и поставил его так, как нужно, и присвоил ему скрипт defaultActivateSelf, и взял ворота, и в их Activate Parents указал этот триггер - я прошел по триггеру, и ничего не произошло. Вот. Хотя они должны открыться. Закрыться вообще, по задумке, но это не важно.

---

Ну, я смог взять обычный триггер из Warehouse. Но это ничего не поменяло. До меня, похоже, доходит, что в отличии от конструкций с рычагом, где нужно лишь поставить его и на нужной вещи настроить Activate Parents, в моем случае скрипт нужно давать не только триггеру, но и воротам?

«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Dsion  Offline  Сообщение №8450 написано: 8 августа 2014, 12:53 | Отредактировано: Dsion - 8 августа 2014, 12:51



Я бы сначала попробовал сделать триггер, который просто сообщение выводит, когда кто-то в него заходит...

Добавлено (08 Августа 2014, 16:53)
---------------------------------------------
Воротам вряд ли понадобится скрипт...


JoeOwl  Offline  Сообщение №8451 написано: 8 августа 2014, 12:53



86
Ну, это вкладка в настройках какого-либо предмета, который нужно активировать.
К примеру, у нас есть ворота и рычаг.
Если мы зайдем в настройки ворот, найдем вкладку Activate Parents и выберем там рычаг, то он будет открывать ворота.

«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Dsion  Offline  Сообщение №8452 написано: 8 августа 2014, 12:58



А, понял.
Наверное, можно и через эти activate parent. Даже лучше...
Но сначала можешь попробовать вот такой скрипт на триггере:

ObjectReference Property MyDoor Auto

Event OnTriggerEnter(ObjectReference akActionRef)
Debug.MessageBox("trigger")
MyDoor.Activate(akActionRef)
EndEvent

MyDoor надо заполнить конкретной дверью.

JoeOwl  Offline  Сообщение №8453 написано: 8 августа 2014, 13:04



86
Сейчас попробую.

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

Если вместе с ним сработает и "AnyDoor.Activate", было бы хорошо.

«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Dsion  Offline  Сообщение №8454 написано: 8 августа 2014, 13:05



Ты смотрел defaultActivateSelf? Он намного сложнее, чем просто "активировать себя, когда кто-то заходит"... Там какие-то дополнительные проверки, Property, которые надо заполнять и настраивать. Вот он:

Код
ScriptName defaultActivateSelf extends objectReference
{Default script that simply activates itself when player enters trigger}

import game
import debug

bool property doOnce = TRUE auto
{Fire only once?  Default: TRUE}
bool property disableWhenDone = FALSE auto
{Disable after activating? Default: FALSE}
bool property playerOnly = TRUE auto
{Only Player Triggers?  Default: TRUE}
bool property playerAndAlliesOnly = False Auto
{Only player or Allies/Followers/Summons trigger? Overrides playerOnly if that's true as well.  Default: TRUE}
int property minLevel auto
{Optional: If set, player must be >= minLevel to activate this}

Faction property PlayerFaction Auto
Faction property CurrentFollowerFaction Auto
Package property Follow Auto
Package property FollowerPackageTemplate Auto

;************************************

auto State waiting
     Event onTriggerEnter(objectReference triggerRef)
         Actor actorRef = triggerRef as Actor
         ; check whether we care if the player is activating
         if(actorRef == game.getPlayer() || (playerAndAlliesOnly && IsPlayerAlly(triggerRef)) || (playerOnly == False && playerAndAlliesOnly == False))
             ; also check level (if we even care about that)
             if(minLevel == 0 || game.getPlayer().getLevel() >= minLevel)
                 if doOnce == TRUE
                     gotoState("allDone")
                 endif
                 if disableWhenDone
                     Self.Disable()
                 EndIf
                 ; per the description of this script, pass self as the activating ref
                 activate(self)
             endif
         endif
     endEvent
endState

bool Function IsPlayerAlly(ObjectReference triggerObj)
     Actor triggerAct = (triggerObj as Actor)
      
     ;Short-circuit this if this isn't an Actor at all, or if it's hostile to the player.
     if (triggerAct == None || triggerAct.GetFactionReaction(GetPlayer()) == 1)
         return False
     EndIf
      
     ;Is this a summon or one of the various types of player followers?
     return ((triggerAct.IsCommandedActor()) || \
             (triggerAct.GetRelationshipRank(GetPlayer()) > 0) || \
             (triggerAct.IsInFaction(CurrentFollowerFaction)) || \
             (triggerAct.IsPlayerTeammate()) || \
             (triggerAct.GetCurrentPackage().GetTemplate() == Follow) || \
             (triggerAct.GetCurrentPackage().GetTemplate() == FollowerPackageTemplate))
EndFunction

;************************************

State allDone
     ;do nothing
endState

;************************************

Void_flame  Offline  Сообщение №8455 написано: 8 августа 2014, 13:12



98
Итак, торговка исправно соглашается торговать, что не может не радовать. Однако торгует она всем, чем только можно, кроме ключей.
У меня есть несколько вариантов достижения цели. Хотелось бы узнать, какой из вариантов будет наиболее удобен и разумен.

Сначала сама идея:
Имеется дом. Комнаты в нем должны быть закрыты решетками (пока что не дошел до этого). Имеется магазин. В нем несколько решеток, за которыми находятся кнопки. Чтобы нажать кнопку, требуется купить соответствующий ключик у торговки. После этого нужно открыть решетку и нажать кнопку, которая откроет соответствующую комнату в доме.



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

Dsion  Offline  Сообщение №8456 написано: 8 августа 2014, 13:13



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

JoeOwl  Offline  Сообщение №8457 написано: 8 августа 2014, 13:15 | Отредактировано: JoeOwl - 8 августа 2014, 13:20



86
Сложнее, да. Там можно настроить, чтобы тот отключался после первого использования, и все такое. Чтобы его мог активировать, к примеру, только Имперец, но по дефолту там значения не выставлены.

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

---

Вместо MyDoor - определенное имя, но я не понимаю, какое. Editor ID не принимает, тот, что в скобках рядом с ним - тоже.

«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Dsion  Offline  Сообщение №8458 написано: 8 августа 2014, 13:31



Не надо ничего вместо MyDoor... Надо сохранить скрипт, открыть Properties и заполнить MyDoor реальной дверь.

Ну можно и через ID, но это не очень правильно.

JoeOwl  Offline  Сообщение №8459 написано: 8 августа 2014, 13:34



86
А, вот как. Извиняюсь за своё невежество. Учусь-учусь.

«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.»
- Ринсвинд, "Посох и Шляпа"
Dsion  Offline  Сообщение №8460 написано: 8 августа 2014, 13:35



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

Форум » TES V: Skyrim » Библиотека модмейкера » Вопросы по Creation Kit. Старая тема (Тут вы можете задать вопросы по редактору Скайрима)
Поиск:





Ответ на жалобу смотрите в разделе жалоб