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

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

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

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

Видео уроки:


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

AleksTirex  Offline  Сообщение №5941 написано: 2 ноября 2013, 18:52


Архимаг


371
Цитата Myprism

Работают: WinterholdGate01; SDoorJail01,  не работают SSingleDoorIntJail01R.



Я вот не поленился и воткнул твои "нерабочие" двери в тестовую локацию, причём без скриптов. Так они даже в дефолтном режиме глючат - проблема с коллизиями, не совпадают коллизия и видимая часть двери после дефолтного использования. :D
 
Т.е. проблема в самих дверях, а не в скрипте.
 
Для переключения "типа" двери можно ввести в скрипт флаг, и на "проблемной" двери не делать проверку на наличие НПС. На скрипте на самой двери (референсе) просто ставится галочка на свойстве, на остальных дверях ничего делать и ставить не надо. (хотя, какая связь двери с проверкой... не пойму)
 
bool Property bDisableCount Auto
 
 Event OnTriggerLeave(ObjectReference akActionRef)
     ObjectReference akDoor = GetLinkedRef()
     if akDoor.GetOpenState() <=2 && (GetTriggerObjectCount() == 0 || bDisableCount)
         akDoor.SetOpen(false)
     endif
 EndEvent

Myprism  Offline  Сообщение №5942 написано: 2 ноября 2013, 19:51


Физик


AleksTirex, спасибо!
Я уже подумал, сделать два типа триггеров с разными скриптами. Но твоё решение, конечно, изящнее.
Я сам не пойму, что с этими дверями, но дело, конечно, не в коллизиях. Поставил сейчас твой последний вариант. Работают все двери, в том числе и проблемные. Но вот обнаружилось ещё одно свойство этих проблемных дверей: если покинуть локацию и войти в неё снова, проблемные двери оказываются открытыми, хотя пред этим я их проходил и потому они оставались закрытыми. Т.е. при входе в локацию скрипт их открыл и открыл только их!

DarkVetal  Сообщение №5943 написано: 2 ноября 2013, 20:00

AleksTirex
Да, получилась лажа. Ты сними галочку Parent Activate Only и добавь скрипт на сундук: 
  
Event OnActivate(ObjectReference triggerRef) 
  Activate(Game.GetPlayer(), true) 
endEvent 
  
Так точно работать будет.

AleksTirex  Offline  Сообщение №5944 написано: 2 ноября 2013, 21:27


Архимаг


371
Цитата Myprism

Т.е. при входе в локацию скрипт их открыл и открыл только их!



Такое ощущение, что в этих дверях как-то спутаны фазы, нет синхронности отработки модели и состояния двери. Коллизия это только как пример одной из лаж самой модели. Что-то мне подсказывает, что бороться с этим не стоит, хотя можешь попробовать.
 
Попробуй это:
 
Event OnCellAttach()
  ObjectReference akDoor = GetLinkedRef()
  if akDoor.GetOpenState() <=2
    akDoor.SetOpen(false)
  endif
endEvent

 
Или
 
Event OnCellAttach()
  ObjectReference akDoor = GetLinkedRef()
  akDoor.Reset()
endEvent


************************
 
DarkVetal, проверь работу на чистом сохранении.

Myprism  Offline  Сообщение №5945 написано: 3 ноября 2013, 11:57


Физик


AleksTirex, Ещё несколько наблюдений из жизни дверей :)
- Новые варианты ничего не дали, возможно, по следующей причине:
- Неадекватность поведения дверей сохраняется (либо в сейве игры, либо в редакторе) даже после того, как меш двери исправлен.
- Я взял несколько разных одностворчатых дверей и проверил их - всё в порядке. Тогда я заменил в одной из подходящих по размеру и форме и работающей двери её меш на меш нужной мне решётчатой двери. При этом, не стал переносить поворачивающуюся ручку (она не нужна автоматической двери). Всё работает как часы. Теперь просто заменю старые двери на новые с новым мешем (чтобы не менять ванильную дверь).
- Остался один, по-видимому, неустранимый недочёт: уже открывающаяся дверь не принимает сигнала закрытия. Т.е. если войти в триггер и быстро выйти из него прежде, чем дверь откроется, она останется открытой :( Но это уже не существенно.

Добавлено (03 Ноября 2013, 15:57)
---------------------------------------------
Тихо схожу с ума... :) Все двери у меня идеально работают пока стоят посередине комнаты, но перестают работать в дверных проёмах. Автоматически не закрываются, хотя открываются исправно. Это относится только к одностворчатым дверям, так как двустворчатые везде работают одинаково. Это не зависит от того, где была создана дверь и её триггер. Созданная в проёме, но вытащенная в комнату - работает, созданная в комнате (и где угодно), но задвинутая в проём - не работает. Единственно, на что могу грешить, это на технологию "комнат" и "порталов" которой я широко пользуюсь. По этой технологии локация разбивается специальными маркерами на "комнаты", которые соединяются окнами - "порталами" через которые одна "комната" видна из другой. Это необходимо для быстрой отрисовки только того, что необходимо в данный момент. "Порталы", естественно, находятся как раз в дверных проёмах. Так вот, похоже, комбинация триггера с одностворчатой дверью глючит, если приходится на стык двух "комнат", на "портал".


nine-dragon-art  Offline  Сообщение №5946 написано: 3 ноября 2013, 13:36



341
Как сделать чтобы заклинания ударяли дальше ? Например чтобы так сказать "струя молнии" доставала людей на более дальних расстояниях. Или чтоб огненный шар летел дальше и т.д.

Добавлено (03 Ноября 2013, 17:36)
---------------------------------------------
Как сделать чтобы заклинания ударяли дальше ? Например чтобы так сказать "струя молнии" доставала людей на более дальних расстояниях. Или чтоб огненный шар летел дальше и т.д.


border="0" alt=""/
DarkVetal  Сообщение №5947 написано: 3 ноября 2013, 16:10

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

Arin  Offline  Сообщение №5948 написано: 4 ноября 2013, 10:54



570
Уважаемые, не подскажете, как можно сделать бесплатного торговца? Типа приходишь в свой дом к кухарке и спрашиваешь - покормишь? А она - выбирай. То есть не просто сумку показывает, а набор еды, который обновляется каждый день.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
nine-dragon-art  Offline  Сообщение №5949 написано: 4 ноября 2013, 11:22



341
Arin, полазай по интернету) Я где-то видел видео где чел подходит к камню и при нажатии на Е он ему выдает деньги) Или попробуй залесть в криэйшн кит и посмотреть на столбцы которые дают герычу соловьиную броню, принцып тот же, разница в количестве выдаваемого и сколько раз можно будет это юзнуть)

border="0" alt=""/
Arin  Offline  Сообщение №5950 написано: 4 ноября 2013, 11:33 | Отредактировано: Arin - 4 ноября 2013, 13:31



570
Цитата nine-dragon-art

Arin, полазай по интернету) Я где-то видел видео где чел подходит к камню и при нажатии на Е он ему выдает деньги) Или попробуй залесть в криэйшн кит и посмотреть на столбцы которые дают герычу соловьиную броню, принцып тот же, разница в количестве выдаваемого и сколько раз можно будет это юзнуть)


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

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Artem13  Offline  Сообщение №5951 написано: 4 ноября 2013, 15:31


Mercenaries. Со смертью на ты.


Arin, посмотри главный квест. Там в начале, если идёшь с Хадваром, Алвор - кузнец из Ривервуда, как раз может бесплатно дать всё, что у него есть.

Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Arin  Offline  Сообщение №5952 написано: 4 ноября 2013, 15:36 | Отредактировано: Arin - 4 ноября 2013, 15:37



570
Цитата Artem13

Arin, посмотри главный квест. Там в начале, если идёшь с Хадваром, Алвор - кузнец из Ривервуда, как раз может бесплатно дать всё, что у него есть.


Это другое... У него сумка открывается как у компаньона, а мне надо как у торговца, с постоянно обновляющимся списком вещей. Торговец же не с собой всё таскает, а держит в контейнере.

Наука всегда оказывается не права. Она не в состоянии решить ни одного вопроса, не поставив при этом десятка новых.
Джордж Бернард Шоу
Artem13  Offline  Сообщение №5953 написано: 4 ноября 2013, 16:57


Mercenaries. Со смертью на ты.


Arin, а кто мешает открывать не сумку, а сундук?
Бартер бесплатным не получится, даже если продавцу соотв. навык обнулить.

Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
spok2  Offline  Сообщение №5954 написано: 5 ноября 2013, 09:12



54
Доброго времени суток. Вопрос такой, "закопал" я упырей по типу скелетов из Dawnguard (те что вылазиют из-под земли), и все работает исправно, но проблема вот в чем, мне надо чтобы вылазили они только при приближении ГГ, сейчас их активирует любая зверушка и по прибытии ГГ к месту "захоронения" вся эта нежить уже на поверхности гоняется за животными. Можно ли их как-то "успокоить" и заставить реагировать только на ГГ?

Myprism  Offline  Сообщение №5955 написано: 5 ноября 2013, 09:58


Физик


spok2, Нужны триггеры, пробуждающие скелетов. Образцы того, как это сделать, посмотри в интерьере WarehouseAmbushes. Вообще, интерьеры Warehouse сделаны специально для обучения. Это образцы, как надо делать.

spok2  Offline  Сообщение №5956 написано: 5 ноября 2013, 10:25



54
Myprism
Триггеры есть и работают исправно. Мне надо чтобы упыри вылазили только при непосредственной близости ГГ. Т.е. пока ГГ не подошел к месту "захоронения" эти товарищи сидели под землей и не рыпались. Чтобы до поры до времени всякие зайчики, лисички и козлы были им неинтересны и не вызывали у них желания покинуть свои могилки.

Myprism  Offline  Сообщение №5957 написано: 5 ноября 2013, 10:39


Физик


spok2, тогда надо убедиться, что в скрипте триггера стоит условие фиксации только игрока. Или изменить скрипт и сохранить как новый.
В первом попавшемся мне стоит if(actorRef == game.getPlayer() || (playerAndAlliesOnly && IsPlayerAlly(triggerRef)) || (playerOnly == False && playerAndAlliesOnly == False))
Как я понимаю, без игрока это срабатывать не должно :)

spok2  Offline  Сообщение №5958 написано: 5 ноября 2013, 11:59



54
Myprism
Все правильно, я досконально изучил скрипт и он должен срабатывать только на ГГ и его спутников. Но вот беда, в игре моих мертвяков активирует абсолютно все что движется и я ума не приложу что с этим делать, я даже думал что виной тому Aggro Radius что в настройках НПС, но нет он тут непричем. Как их заставить сидеть под землей не реагируя на всякую живность я не пойму, прям руки опускаются!

Kepper  Offline  Сообщение №5959 написано: 5 ноября 2013, 12:27



860
spok2,
Повесь на мертвяков скрипт

Event OnActivate(ObjectReference akActionRef)
    Debug.Notification("Activated by " + akActionRef)
EndEvent

И в триггер добавь вывод сообщения при активации.

Может их вовсе не триггер активирует.

spok2  Offline  Сообщение №5960 написано: 5 ноября 2013, 14:43



54
Kepper

Не может, а так и есть. Активирует их вовсе не триггер, а неведомая мне сила, будь она неладна. Я с этим редактором с ума сойду, то бывает созданные упыри столбом стоят и ничего не хотят делать, пока к ним не подойдешь и не шмякнешь по головушке, а тут им вдруг стало ужасть как охото зайчиков блин с козлами покошмарить, хотя их задача заключается в том чтобы сидеть тихо в могилке и смирно ждать ГГ. Вроде все на 100 раз проверяешь и перепроверяешь, ан нет, что-то видно упускаю я из виду. Ладно шут с ними, спасибо хотя бы за то что попытались помочь. Удачи вам!

Artem13  Offline  Сообщение №5961 написано: 5 ноября 2013, 15:10


Mercenaries. Со смертью на ты.


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

Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Kepper  Offline  Сообщение №5962 написано: 5 ноября 2013, 17:18



860
Цитата spok2

а неведомая мне сила


Была гипотеза что если узнать имя этой силы, то и причину можно найти.

1) Может ты подружишь фракции твоих мертвяков и зайцев? Решение конечно не очень.

2) Повесить на мервяков скрипт.
Event OnActivate(ObjectReference akActionRef)
if(akActionRef== game.getPlayer())
Self.SetUnconscious(false) 'снимаем бессознательное состояние
else
Self.SetUnconscious(true) ' раз активировал не игрок то пусть поваляется оглушенным
endif

Интересно как будут реагировать драугры из ванильных подземелий на зайцев, если последних туда добавить. Завтра пожалуй эксперимент поставлю :D

spok2  Offline  Сообщение №5963 написано: 5 ноября 2013, 18:18



54
Artem13
Может ты подружишь фракции твоих мертвяков и зайцев?

Не вариант, конечно меня эта мысль посещала, но я ее отмел. Нежить она на то и нежить, чтобы убивать все живое, а упыри зверелюбы мягко говоря странно :) .

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

valambar  Offline  Сообщение №5964 написано: 5 ноября 2013, 21:25



513
Цитата spok2

и как мне решить мою проблемку сверхагрессивных упырей.


А может, старым дедовским методом, известным еще с Обливиона и как бы не с Морровинда - изначально их задизейблить, а энейблить только при определенном расстоянии от них игрока?

Myprism  Offline  Сообщение №5965 написано: 6 ноября 2013, 02:13


Физик


Цитата valambar

энейблить только при определенном расстоянии от них игрока?

Тем же триггером.

spok2  Offline  Сообщение №5966 написано: 6 ноября 2013, 09:31 | Отредактировано: spok2 - 6 ноября 2013, 09:33



54
valambar,
Цитата Myprism

Тем же триггером.


Попробовал, результат тот же. Я вообще ничего не понимаю, еще попробовал убрать подальше триггер, также увеличил время начала срабатывания активации, вообще ничего не меняется. У меня складывается впечатление что игра при загрузке ячейки вообще не засовывает их под землю, потому как они просто физически не могут все это проделывать (вылазить из-под земли, догнать и убить животное) так быстро, сама анимация длится пару секунд, плюс еще надо догнать жертву, а мне до них бежать пару шагов, но я успеваю лишь к тому моменту когда они уже зачехляют оружие. Бред какой-то! Откуда такая неимоверная скорость? Глюк игры, редактора или я в конец отупел? Как такое вообще возможно?

Myprism  Offline  Сообщение №5967 написано: 6 ноября 2013, 11:28


Физик


spok2, всё сильно похоже на "грязный" сейв. Там сохранены какие-то предыдущие эксперименты с этими триггерами. Надо пробовать на чистом сейве, который был сделан до того, как началась работа с триггерами.

spok2  Offline  Сообщение №5968 написано: 6 ноября 2013, 12:26 | Отредактировано: spok2 - 6 ноября 2013, 15:32



54
Цитата Myprism

Надо пробовать на чистом сейве


Нет дело не в сейве, я всегда тестирую мод на чистом сохранении, иначе просто никак не получится, изменений не увидишь.

Чуть позже.

Отбой ребята. Как оказалось мой "чистый" сейв оказался не таким уж и чистым. Создал новое сохранение и все вроде заработало, опять я старый дурак понадеялся на авось :) . Ларчик, как это всегда бывает, открывается просто. Спасибо вам и простите за беспокойство!

Еще позже :D .

Рано обрадовался. Не все хотят сидеть смирно, буду разбираться, какого им надо. Мммдааа... попал я с этими упырями!

Samund  Offline  Сообщение №5969 написано: 7 ноября 2013, 05:51



48
Доброе утро (день, вечер, ночь)!
Нарисовался у меня такой забавный трабл: в локации заключенные не желают сидеть в клетках, все время выходят. То на улицу, то к соседям переползут. Я попытался методом тыка найти какую-нибудь локацию с клетками и изначально сидящей в них живностью (помню, что где-то были) и посмотреть, нет ли каких-нибудь маркеров или еще чего в этаком духе, но не смог с наскока отыскать. Подскажите пожалуйста, как их в неволе зафиксировать?

"Скайриму в России ТРИ года!
Myprism  Offline  Сообщение №5970 написано: 7 ноября 2013, 06:02


Физик


Samund, Довольно давно я помучился с этим тоже. В Скайриме есть несколько способов заточения в темницу. Мне больше понравился вариант со скриптованной дверью. Дверь надо искать по сочетанию букв Prisoner. На ней висит скрипт, в котором в виде свойств надо указать ссылки на своих зэков (их может быть несколько в одной камере). Но ещё надо побеспокоиться от том, чтобы клетка была достаточно просторна для выбранной твари, иначе тварь может объявиться не внутри, а снаружи :)

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





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