Возникла проблема с созданием диалога. Проблема в самой программе. Когда я тыкаю "Edit topic", ничего не происходит. Даже ошибки нет. А в "Topic info" он мне просто ничего не дает вписать в строку "Topic text".
Если этот вопрос уже обсуждался, то дайте, пожалуйста, ссылку.
Dialogue Views можно и не использовать. Как я понимаю, они только для удобства (сомнительного, как по мне). В следующей вкладке (Player Dialogue) и так есть все бранчи, топики и инфо. Там и текст вписывается без проблем.
Народ, если кому интересно. На статуе Ауриэля обнаружила очень интересный эффект. Если поставить её в эстерьер, то та часть, которая обернута к небу покрывается снегом, вне зависимости от положения статуи.
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Изменение репутации для пользователя Indiana_Jones
Но ведь это урок о Бенду Оло. Неужели делая все по инструкции что-то могло пойти не так? Или что-то свое попробовали? Если так, то это похвально. Тоже люблю так делать. Если получается - то это довольно большой опыт. Для новичка, конечно.
«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.» - Ринсвинд, "Посох и Шляпа"
Indiana_Jones, Вы же в курсе про тот старый баг, когда диалог не появляется, пока игру не сохранить с подключенным модом и не загрузить снова? Это касается только Start Game Enabled квестов. Если в курсе и все-равно нет диалога, я посмотрю...
Добавлено (07 Августа 2014, 19:53) --------------------------------------------- Глянул esp. Диалог работает после сохранения и загрузки. Остальное не получится проверить без файлов скриптов.
Изменение репутации для пользователя Arin
ArinOffline
Сообщение №8440
написано: 7 августа 2014, 15:59
| Отредактировано: Arin - 7 августа 2014, 15:59
Этот скрипт полезный, я возьму его на заметку. Было бы смешно, если бы автор квеста просил бы всех сохраняться и загружаться после загрузки квеста.
Добавлено (08 Августа 2014, 04:45) --------------------------------------------- Пришел очередной интересующий меня вопрос. Я сделал свое первое подземелье. Получилось даже лучше чем я себе представлял. Но в одном из проходов я установил "Туннель с обвалом". Обвал есть, а скрипт, который его активирует, я не знаю.
Мне хотелось бы знать, как использовать скрипты, которые "чувствуют приближение игрока". По активации какого-то предмета или убийству определенного моба все и так, вроде бы, понятно.
«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.» - Ринсвинд, "Посох и Шляпа"
Мне хотелось бы знать, как использовать скрипты, которые "чувствуют приближение игрока". По активации какого-то предмета или убийству определенного моба все и так, вроде бы, понятно.
Создаешь обычный триггер в Активаторах. У триггера есть специальная функция - что делать, если игрок зашел на территорию триггера, что деласть, если покинул. И тп
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №8445
написано: 8 августа 2014, 06:43
| Отредактировано: Dsion - 8 августа 2014, 06:43
Добавлено (08 Августа 2014, 15:15) --------------------------------------------- Вот небольшой отчет:
Именно триггеры, если я брал их из списка или нажимал "Т в коробочке", почему-то визуально были невидимы. Тогда я решил сделать "Коллизионный куб", и присвоил ему готовый скрипт "defaultActivateSelf". Настроил его. Сделал, чтобы тот активировал нужную мне часть.
Но я забыл, что он осязаемый. Как сделать его неосязаемым? Чтобы можно было пройти через него и тем самым заставить триггер активировать то, что мне нужно.
Еще, к примеру я хочу, чтобы мои ворота изначально были открыты. Я ставлю галочку на Open by Deafult, но это не работает. А как тогда?
«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.» - Ринсвинд, "Посох и Шляпа"
А) Создай новый триггер. Б) Триггер не может быть невидимым, если куб коллизии видимый. Другое дело, что триггер воздается вокруг какого-то объекта, то есть просто так, как статик, ты его не вытянешь. Жми "Т", выбираешь триггер (Нью, например) после чего выбираешь объект, вокруг которого триггер будет создан.
Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых. Джордж Бернард Шоу
Да всё он видимый... Даже цвет можно настраивать для удобства.
Добавлено (08 Августа 2014, 16:00) --------------------------------------------- Вернее, в CK видны. А в игре - нет, конечно. Возможно, и в игре будет виден, если убрать галочку Is Marker. Или не будет...
Добавлено (08 Августа 2014, 16:03) --------------------------------------------- Никогда бы не догадался, что у "коллизионного куба" есть коллизия :-D
Изменение репутации для пользователя JoeOwl
JoeOwlOffline
Сообщение №8449
написано: 8 августа 2014, 12:26
| Отредактировано: JoeOwl - 8 августа 2014, 12:49
Тот, что я создал сам - видимый, да. Но обычный триггер-активатор, который в Скайриме встречается около 500-та раз, я не вижу. И не знаю, почему.
Но даже когда я его создал, и поставил его так, как нужно, и присвоил ему скрипт defaultActivateSelf, и взял ворота, и в их Activate Parents указал этот триггер - я прошел по триггеру, и ничего не произошло. Вот. Хотя они должны открыться. Закрыться вообще, по задумке, но это не важно.
---
Ну, я смог взять обычный триггер из Warehouse. Но это ничего не поменяло. До меня, похоже, доходит, что в отличии от конструкций с рычагом, где нужно лишь поставить его и на нужной вещи настроить Activate Parents, в моем случае скрипт нужно давать не только триггеру, но и воротам?
«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.» - Ринсвинд, "Посох и Шляпа"
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №8450
написано: 8 августа 2014, 12:53
| Отредактировано: Dsion - 8 августа 2014, 12:51
Ну, это вкладка в настройках какого-либо предмета, который нужно активировать. К примеру, у нас есть ворота и рычаг. Если мы зайдем в настройки ворот, найдем вкладку Activate Parents и выберем там рычаг, то он будет открывать ворота.
«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.» - Ринсвинд, "Посох и Шляпа"
Ты смотрел 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
Итак, торговка исправно соглашается торговать, что не может не радовать. Однако торгует она всем, чем только можно, кроме ключей. У меня есть несколько вариантов достижения цели. Хотелось бы узнать, какой из вариантов будет наиболее удобен и разумен.
Сначала сама идея: Имеется дом. Комнаты в нем должны быть закрыты решетками (пока что не дошел до этого). Имеется магазин. В нем несколько решеток, за которыми находятся кнопки. Чтобы нажать кнопку, требуется купить соответствующий ключик у торговки. После этого нужно открыть решетку и нажать кнопку, которая откроет соответствующую комнату в доме.
P.S. хотелось бы, конечно, научиться работать с ключевыми словами. Но, насколько я понимаю, любое ключевое слово, связанное с торговлей, как-то привязывается к определенному списку вещей, но я не нашел, к чему именно они привязываются. Так что, если кто знает, как создать ключевое слово, чтобы торговец продавал и покупал только определенные вещи (в моём случае это ключи), буду благодарен за информацию.
Сложнее, да. Там можно настроить, чтобы тот отключался после первого использования, и все такое. Чтобы его мог активировать, к примеру, только Имперец, но по дефолту там значения не выставлены.
Я не пытался вдуматься в сам скрипт, который ниже проверки некоторых значений, так как для меня это пока нечто новое и я не смогу понять все, что там есть, но мне казалось, что если оно срабатывает с, к примеру, гробами и трупами в них, то уж с какой-то дверью и подавно должен справиться.
---
Вместо MyDoor - определенное имя, но я не понимаю, какое. Editor ID не принимает, тот, что в скобках рядом с ним - тоже.
«Этому наверняка есть какое-то естественное объяснение. Или, по крайней мере, неестественное.» - Ринсвинд, "Посох и Шляпа"
Хотя если подумать... Я никогда не открывал двери скриптом. Наверное, не все двери можно открыть/закрыть простой активацией. Если не получится, ты напиши. А я тогда постараюсь вникнуть, как оно работает с ванильными.