Форум » Записи участника [AleksTirex]

Результаты поиска
AleksTirex  Offline  Сообщение №61 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 августа 2013, 11:22 | Отредактировано: AleksTirex - 22 августа 2013, 11:23


Архимаг


371
Цитата spok2

Доброго времени суток! Проблема такая: работая в редакторе обратил внимание на то, что некоторые объекты перестают отображаться в RenderWindow, то есть они есть, но их не видно. Например исчезают камни, части гор, ландшафта. Как с этим бороться, где-то видел инфу по данной проблеме, но тогда не придал этому значения, а теперь ничего похожего не могу найти. Заранее благодарен.



Нажми F5 при активном окне RenderWindow, это обновление/перезагрузка объектов.

AleksTirex  Offline  Сообщение №62 | Тема: Вопросы по Creation Kit. Старая тема написано: 22 августа 2013, 16:39


Архимаг


371
Цитата Иsкатель

Что и где выбрать, прописать или еще что-нибудь сделать в AI пакете("UseMagic"), чтобы NPC у которого этот AI пакет, в котором он должен бесконечно кастовать спелл(тип каста которого "Концентрация"), бесконечно его кастовал(непрекрощая)?:D



Или выставь время каста большим - CastTimeMax и CastTimeMin или используй шаблон UseMagicRepeat, а лучше и то и другое вместе.

AleksTirex  Offline  Сообщение №63 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 августа 2013, 16:55


Архимаг


371
Цитата kiroHQ

т.е. ресурсами CK никак?



Можно.Делаешь свой активатор или сундук, назначаешь ему Markers\CommentTrigger\CommentTrigger.nif
В игре ничего видно не будет, коллизии тоже, а надпись и активация будут.
 
****
mayor, если квест твой и там стоит галочка автозапуска, то диалогов не будет до первого сохранения и перезагрузки.
 
*****
GreyFox447, вешай скрипт на ГГ (алиас, способность ...):
 
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
  if akBaseItem as MiscObject == akMiscObject ; или ListMiscObject.Find(akBaseItem as MiscObject) != -1
    Game.GetPlayer().AddSpell(akSpell) ; или AddPerk(akPerk) и т.д.
  endIf
EndEvent
 
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
  if akBaseItem as MiscObject == akMiscObject ; или ListMiscObject.Find(akBaseItem as MiscObject) != -1
    Game.GetPlayer().RemoveSpell(akSpell) ; или RemovePerk(akPerk) и т.д.
  endIf
endEvent
--------
akMiscObject - предмет
ListMiscObject - форм-лист со списком предметов.

AleksTirex  Offline  Сообщение №64 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 августа 2013, 18:44 | Отредактировано: AleksTirex - 25 августа 2013, 18:46


Архимаг


371
Цитата mayor

перезагружался и ничего..



Убери условие на алиас, оставь только ID и деньги. (квест твой, или ты в дефолтный добавлял?)

Добавлено (25.08.2013, 22:44)
---------------------------------------------
Для тех, кто не знает, как добавлять/использовать дефолтные нифы не распаковывая BSA.

1. Находим нужный активатор/предмет/статик в СК, открываем его ID (где он редактируется/создаётся). Там прописан ниф этого предмета. Копируем этот путь.
2. Открываем свой предмет и там окошечко Model, жмём кнопку Edit
3. Появляется окно Model Data, там есть Model File Name, жмём рядом кнопку Edit.
4. Появляется виндовое окно Select File, доходим до папки Meshes.
5. В строке "Имя файла" вставляем этот путь и жмём "Открыть".
6. Везде нажимаем ОК.


AleksTirex  Offline  Сообщение №65 | Тема: Вопросы по Creation Kit. Старая тема написано: 25 августа 2013, 21:02


Архимаг


371
Так ты писал свои диалоги в дефолтном квесте? А зачем? Не проще ли свой квест сделать и не портить дефолт. К тому же, теперь твои диалоги зависят от этого квеста. Чтобы они заработали, надо запустить этот дефолтный квест, а он запускается через событие смены локации с привязкой к определённой локации, в другом любом месте ничего работать не станет.

AleksTirex  Offline  Сообщение №66 | Тема: Вопросы по Creation Kit. Старая тема написано: 26 августа 2013, 20:05


Архимаг


371
Цитата anton

Так вот не хочет выполнятся событие OnUpdate()хоть ты тресни.  Такой же скрипт, но на объекте типа "Activator" прекрасно работает, но там запуск идёт с помощью OnActivate().  Почему так ? Как исправить ? Помогите пожалуйста.



И не надо исправлять, т.к. данный объект легко уничтожаемый и теряющийся, а событие OnUpdate() весьма коварное - оно может работать даже при отсутствии этого мода и этого скрипта, если оно запущено/зарегистрировано.
Лучше сделай это событие в своём квесте или алиасе, ведь регистрация автоматически отменится при выключении этого квеста.
 
****
В режиме меню это событие останавливается.

AleksTirex  Offline  Сообщение №67 | Тема: Вопросы по Creation Kit. Старая тема написано: 28 августа 2013, 11:05


Архимаг


371
Цитата anton

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



Чтобы вещей не было в инвентаре манекена и они сами одевались обратно надо сделать Outfit для манекена с этими вещами.

AleksTirex  Offline  Сообщение №68 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 августа 2013, 01:36


Архимаг


371
Цитата anton

Так что в топиках своего диалога смотрите названия прикрепленных скриптов и копируйте их тоже.



Если скрипты топиков и квестов не переименовывал, то найти их по названию тяжело, проще в папке включить сортировку "по дате", и тогда все твои скрипты окажутся на самом верху, ведь они созданы/изменены позднее остальных скриптов. А там уже просто отсортировать свой-чужой.

AleksTirex  Offline  Сообщение №69 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 августа 2013, 12:11 | Отредактировано: AleksTirex - 29 августа 2013, 12:23


Архимаг


371
Цитата Artem13

Т.е. там (в движке) реализована такая же квазимультизадачность, как в винде?



В принципе да. В Папирусе обработка скриптов происходит только "по требованию", просто так скрипты не проверяются и не обрабатываются, как это было в Обливионе. Запуск скрипта происходит по событию или по обращению к нему другого скрипта.
Вот в скрипте Антона сработало событие "объект экипировался" и оно отрабатывает до исполнения всех команд в нём. Поскольку в нём сделан цикл, то обработка этого блока-события не закончится, пока работает цикл. Но если произойдёт другое событие, например "объект снят" или сторонний скрипт запустит в этом какую-то функцию, то эти блоки событий и/или функций будут обрабатываться независимо от исполнения блока OnEquipped. Таких работающих блоков в скрипте может быть сколько угодно. К тому же, если снять и одеть предмет снова, то и новое событие OnEquipped запустит новый блок-событие. Получится уже два таких работающих блока, и так можно запустить хоть сотню одинаковых событий/функций.

Вот в скрипте Антона как раз и произойдёт этот вариант "размножения" блоков события до бесконечности, если ненадолго снимать и опять одевать шапку. О чём я совсем забыл предупредить самого Антона, поэтому его скрипт надо доработать, чтобы избежать подобного.

Bool bDone

Event OnEquipped(Actor akActor)
PlayerREF = akActor as ObjectReference
if bDone == false
bDone = true
  SoundREF = SomeSound.Play( PlayerREF )
  Sound.SetInstanceVolume(SoundREF, 0.1)

  Utility.Wait (5.0)
  VisualEffectSource1.Play( PlayerREF )
 
  IsEquipped = True
  While IsEquipped == True
    EffectShaderSource1.Play( PlayerREF , 2.0)
    Utility.Wait(12.0)
  EndWhile
bDone = false
endif
endEVENT

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

AleksTirex  Offline  Сообщение №70 | Тема: Вопросы по скриптам Papyrus написано: 29 августа 2013, 15:44


Архимаг


371
Цитата Artem13

Подскажите шаблончик скрипта для однократной выдачи перка герою. Т.е. такого, который крепится к квесту, стартующему однократно при первом запуске игры. А то что-то  ДЛЦ-шные скрипты мне СК отказывается показывать



Perk Property akPerk auto
 
 Event OnInit()
   Game.GetPlayer().AddPerk(akPerk)
 endEVENT

 
Исходники DLC лежать в той же папке с другими исходниками, но в своей отдельной папке. Надо просто их переложить в общую папку.

AleksTirex  Offline  Сообщение №71 | Тема: Вопросы по скриптам Papyrus написано: 29 августа 2013, 16:38


Архимаг


371
У скриптов всегда есть "тип". При создании нового скрипта в квесте ты пишешь название этого скрипта (его ID), а тип скрипта сам добавится. (кнопка Add, в списке верхняя строка [New Script])
 
Свойству akPerk надо будет назначить твой перк: у окна рядом со скриптом есть кнопочка Properties, на неё нажимаешь и выскочит окошко. Там выделяешь akPerk и жмёшь кнопку Edit Value, там в списке ищешь свой перк, потом везде ОК.
 
Вот так будет выглядеть готовый скрипт (название придумаешь своё) :
 
Scriptname aaMyQuestScript Extends Quest
 
Perk Property akPerk auto
 
 Event OnInit()
   Game.GetPlayer().AddPerk(akPerk)
 endEVENT

AleksTirex  Offline  Сообщение №72 | Тема: Вопросы по Creation Kit. Старая тема написано: 29 августа 2013, 16:44


Архимаг


371
Цитата Kolyanus93

Так вот собственно в чём вопрос: можете написать как из подвала нового дома ветров сделать переход в хранилище?



Не объединяя оба мода и не привязывая их друг к другу? А в каком моде делать "кнопку/дверь/скрипт" этого перехода, в своём новом моде?
Сделать можно любой вариант, но нужны пояснения/подробности.

AleksTirex  Offline  Сообщение №73 | Тема: Вопросы по скриптам Papyrus написано: 30 августа 2013, 10:34


Архимаг


371
Raser0919, вот фрагмент скрипта самого определения нужного движения, это для примера:
 




AleksTirex  Offline  Сообщение №74 | Тема: Вопросы по скриптам Papyrus написано: 30 августа 2013, 11:24


Архимаг


371
Raser0919
 


AleksTirex  Offline  Сообщение №75 | Тема: Вопросы по Creation Kit. Старая тема написано: 30 августа 2013, 16:43


Архимаг


371
Цитата Kolyanus93

Не объединяя их. Отредактировать мод дом тёплых ветров и в нём добавить дверь. Ну или там есть лифт и как-то сделать кроме ререхода по этажам переход и в хранилище.



Рассказывать долго, проще сделать. Вот тебе патч совместимости: http://yadi.sk/d/G2iXqJD88W2Wg 
 
Там напротив штатного телепорта сделан ещё один такой же, который ведёт в хранилище. В самом хранилище будет появляться люк рядом с остальными люками, который ведёт обратно в дом.
 
Если интересно, то вот там примерно так:




AleksTirex  Offline  Сообщение №76 | Тема: Вопросы по Creation Kit. Старая тема написано: 30 августа 2013, 20:29


Архимаг


371
Цитата Kolyanus93

Спасибо большущее, но я клацаю на новый телепорт и остаюсь на месте. Из другого дома зашёл в хранилище там нового люка нет.



Тогда не совпала версия модов, твоего и моего хранилища. Скинь свой ESP хранилища, я поправлю под эту версию мода.

AleksTirex  Offline  Сообщение №77 | Тема: Вопросы по Creation Kit. Старая тема написано: 30 августа 2013, 22:25


Архимаг


371
Цитата Kolyanus93

Спасибо большущее, но я клацаю на новый телепорт и остаюсь на месте. Из другого дома зашёл в хранилище там нового люка нет.



Прошу прощения, это моя невнимательность - запаковщик BSA обрезал название архива, а я не заметил этого.
Вот исправленный вариант: http://yadi.sk/d/Rf4LQcw58WbIG 
 
***
Без первоначальной активации телепорта люка в хранилище не будет, он создаётся активатором телепорта.
 
*****
*****
Таким способом можно сделать дверь-телепорт в любой дом их любого мода, причём без привязки к тому моду.
Если у кого будет желание, то распишу это дело подробнее.

AleksTirex  Offline  Сообщение №78 | Тема: Вопросы по Creation Kit. Старая тема написано: 31 августа 2013, 01:18 | Отредактировано: AleksTirex - 31 августа 2013, 01:46


Архимаг


371
Сперва открывается мод с нужным домом/локацией, куда мы хотим сделать дверь из своего дома. Там в доме ищется любой удобный маркер, на месте которого будет стоять дверь-активатор. Записывается FormID его референса, этот номер написан окне Reference этого маркера в самом верхнем правом углу в скобках.
Закрываем этот мод, он больше не нужен.

Открываем СК и загружаем основной мод. Если мод на основе ESM, то загружаем этот ESM и после загрузки сохраняемся с названием ... - это будет мод-патч к этому ESM.
Создаём активатор с понравившимся нифом (способ назначения нифа без распаковки описан в этой теме немного раньше).
Создаём активатор для ответной двери, который будет устанавливаться во втором доме, тем же способом.

Вешаем скрипт на первый активатор:




Устанавливаем его в нужное место в доме.

Вешаем скрипт на второй активатор:




Сохраняем. Всё готово.




AleksTirex  Offline  Сообщение №79 | Тема: Вопросы по Creation Kit. Старая тема написано: 31 августа 2013, 10:45


Архимаг


371
Цитата GreyFox447

mayor, Стандартный игровой баг, сохранись в этой локе и перезагрузись.



Уже давно известно, что квесты с автозапуском не дают диалогов до первой перезагрузки, поэтому не стоит этот дело списывать на "игровой баг". Надо учитывать это дело и сразу делать квесты без автозапуска.
Запускать квесты можно через события или скриптово (командой). Если кто не умеет делать запуск через событие, то можно сделать свой автозапуск (галочки автозапуска на квесте не должно быть в любом случае). Для этого достаточно повесить на свой квест простенький скрипт:
 
Event OnInit()
  if !IsRunning() && !IsCompleted()
    Start()
  endif
EndEvent

 
Это аналог галочек на квесте - он будет сам стартовать при первой же загрузки мода. И не будет вашего "бага" и жалоб игроков на отсутствие диалогов у НПС.

AleksTirex  Offline  Сообщение №80 | Тема: Вопросы по Creation Kit. Старая тема написано: 31 августа 2013, 19:40


Архимаг


371
Цитата mayor

до этого создавал торговцев,учителей навыков,диалоги работали (правда только после сейв-лоад).а тут нифига не выходит...



Если всё делал правильно и в итоге не работает, то проверь алиасы (если они есть), с неправильно созданными алиасами квест не запустится. Если и там не найдёшь проблему, то скидывай ESP и скрипты с исходниками, иначе диагноз будет не поставить.

AleksTirex  Offline  Сообщение №81 | Тема: Вопросы по Creation Kit. Старая тема написано: 31 августа 2013, 23:35 | Отредактировано: AleksTirex - 31 августа 2013, 23:44


Архимаг


371
Цитата mayor

алиасы тоже все прописаны..



Прописаны то они да, но как.
Если правильно понял, то квест NewWorldHouseQuestSvonSkull. Там ошибка с алиасами, квест не запустится.

Все алиасы заполняются в момент старта квеста, причём по очереди сверху вниз. У тебя сперва создаётся предмет в сундуке алиасе, но сам сундук в списке ниже, и поэтому ещё не заполнен его алиас. Так предмету просто негде создаться, и алиас не может быть заполнен, а значит, квест не запустится.
Надо сундук сделать выше в списке, а предмет ниже.
Для этого надо удалить алиас предмета, но предварительно снять все ссылки на него в других скриптах. Потом создать заново, тогда он окажется ниже сундука.
Хотя, лучше нажми в нижнем левом углу >> или << , так передвинь предмет ниже сундука.

После отладки диалога, не забудь снять автозапуск и сделать свой запуск, иначе "баг" останется.

Кстати, для облегчения поиска скриптов и устранения дубликатов этих скриптов с другими модами, надо переименовать все стадийные и топиковые скрипты. Там у окна с командами скрипта есть кнопка Advanced, нажимай и там Rename Script, стираешь название и пишешь своё, потом везде ОК до полного закрытия квеста. И так со всеми скриптами. Если в этих скриптах есть свойства, то после полной переименовки надо опять по новой их все назначить, эти данные теряются.

AleksTirex  Offline  Сообщение №82 | Тема: Вопросы по Creation Kit. Старая тема написано: 1 сентября 2013, 01:05 | Отредактировано: AleksTirex - 1 сентября 2013, 01:20


Архимаг


371
Цитата mayor

чего после убийства врага,не исчезает маркер с него и не пишет мол я молодец я убил его?



У тебя не инициализировано свойство, т.е. не назначен свойству ID/объект (квест). Поэтому скрипт видит событие, а команда не передаётся - некуда передать.
Пройдись по всем скриптам и проверь заполнение свойств.
 
****
Если ты используешь алиас, то такие скрипты лучше давать алиасу, а не актёру.

AleksTirex  Offline  Сообщение №83 | Тема: Вопросы по Creation Kit. Старая тема написано: 1 сентября 2013, 12:09


Архимаг


371
Цитата mayor

AleksTirex, проверил,везде указан враг..именно алиас врага



Вот, что я имею в виду:

 
Хоть скрипт жёлтого цвета (типа свойства заполнены), но само свойство пустое, ему надо назначить твой квест.

AleksTirex  Offline  Сообщение №84 | Тема: Вопросы по Creation Kit. Старая тема написано: 1 сентября 2013, 13:29


Архимаг


371
Если свойству назначил нужный квест и при смерти НПС стадия не переключается, то загрузи чистый сейв (до момента, когда этот мод был подключён) и проверь всё снова в игре. От грязных сейвов вылезают всевозможные бяки, а с инициализацией свойств - так это вообще огромный шанс на лажу, если ты их менял (или сами менялись, ведь у тебя много дубликатов, которые СК тебе делал, а не ты сам, от туда и лажа со свойствами).
 
*****
Для проверки срабатывания самого скрипта НПС, введи в него сообщение: Debug.Notification("NPC Death")
Потом удали, когда всё заработает.
 


AleksTirex  Offline  Сообщение №85 | Тема: Вопросы по Creation Kit. Старая тема написано: 1 сентября 2013, 18:14


Архимаг


371
Цитата mayor

а я не сейвы загружаю.я при заходе в игру пишу "coc "...



Уже не помню на каком форуме, здесь или на ТесАлле, вот точно так же человек бился с проблемами квестов - один работает, другой нет, потом загружается с нормального сейва - и всё наоборот, уже другие квесты не работают, а эти заработали. Так он так же делал через СОС, и результат соответствующий.
 
Если хочешь полноценный мод, то делать и тестить его надо полноценно, максимально приближенно к "боевой обстановке" (с нормальными игровыми сейвами).

AleksTirex  Offline  Сообщение №86 | Тема: Вопросы по Creation Kit. Старая тема написано: 1 сентября 2013, 23:52


Архимаг


371
Цитата mayor

скрипт для диалога перевозчика не знаешь?который на лодке.в ките скрипт нашел,но он пустой



Я и самого перевозчика то не знаю, кто это? Ты его ID напиши + когда и что он должен делать. В общем, подробности нужны.

AleksTirex  Offline  Сообщение №87 | Тема: Вопросы по Creation Kit. Старая тема написано: 2 сентября 2013, 11:59


Архимаг


371
Нашёл перевозчика.
Вот его скрипты: DLC1_TIF__0101682F - в диалоге на старт перевозки, FerrySystemScript - основной квестовый скрипт, где прописано всё необходимое.
Они лежат в папке исходников в своей папке Dawnguard.
 
Но... навряд ли ты там разберёшься, скрипт не из простых. (как говорят, он даже у разрабов не работал)

Добавлено (02.09.2013, 15:59)
---------------------------------------------

Цитата StanislavD

генерацию появления персонажа



Это как? ГГ сам куда и когда хочет, туда и ходит. Или ГГ надо принудительно туда телепортировать?
Сам алгоритм действий не понятен.

AleksTirex  Offline  Сообщение №88 | Тема: Вопросы по Creation Kit. Старая тема написано: 2 сентября 2013, 14:25


Архимаг


371
Цитата mayor

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



Я не думаю, что с повозкой скрипт гораздо проще.
Тут проще самому сделать свой собственный скрипт. Главное - правильный алгоритм команд придумать.
 
Топик с лодочником, если денег хватает, то запуск функции на перевозку в НУЖНУЮ локацию и минус деньги.
В функции перевозки:
отобрать управление от ГГ
привязать к лодке (есть такие команды через AV)
дать анимацию сесть в лодку
когда сядет - фасттревел
по прибытии - всё тоже самое, но наоборот - встать, отвязать, вернуть управление.
 
Сам лодочник должен или перемещаться по портам, или в каждом порту будет свой лодочник.
 
В общем, пробуй создать такой скрипт.

Добавлено (02.09.2013, 18:25)
---------------------------------------------
В папке Source есть папка Dawnguard, так вот содержимое этой папки скопируй в папку Source.


AleksTirex  Offline  Сообщение №89 | Тема: Вопросы по Creation Kit. Старая тема написано: 2 сентября 2013, 14:51


Архимаг


371
Мой чудный волшебный колпачок сполз на глаза и я не правильно понял человека, оказывается всё проще: "мне нужно,чтоб нпц сидел в лодке и после диалога с ним меня телепортировало в мою локу.." и если не надо анимация "ГГ сесть в лодку" и всякие разговоры, то...
это совсем просто:
Делается диалог лодочника, в нём условия "субъект - если сидит > 0" и если надо проверка денег.
По окончании диалога - FastTravel(akMarkerTarget), а если локация интерьер, то MoveTo
Как и когда сажать лодочника в лодку - на усмотрение автора. (сиденье лодки делается стулом и назначается собственность лодочника)

AleksTirex  Offline  Сообщение №90 | Тема: Вопросы по Creation Kit. Старая тема написано: 2 сентября 2013, 17:49


Архимаг


371
Цитата mayor

я в скриптах дуб дубом..сложны они для меня..не в курсе у какого нпц есть подобный скрипт?)



Так нет никакого скрипта, есть только одна команда FastTravel(akMarkerTarget) , которая пишется в топике, окошко End, где обычно пишут переключение стадий квеста. Но предварительно надо там прописать/добавить свойство akMarkerTarget типа ObjectReference, и потом указать этому свойству тот маркер, куда будет телепортироваться ГГ в твоей локе.
Чтобы можно было прописать свойство в топик, сперва в окошке скрипта ставишь " ; " (точку с запятой), компилишь скрипт и везде ОК до закрытия квеста. Желательно этот скрипт переименовать, как это делается, написано немного раньше.
Потом в скрипт добавляешь свойство и удаляя ";" прописываешь свою команду. (не забудь указать свойству тот маркер)
 
Все условия только в условиях топика, и ID лодочника, и GetSiting > 0 и количество золота у ГГ.

Форум » Записи участника [AleksTirex]
Поиск:





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