Модератор форума: Kris†a™  
Форум » TES V: Skyrim » Мастерская » Вопросы по Creation Kit (продолжение старой темы) (Тут вы можете задать вопросы по редактору Скайрима)

Вопросы по Creation Kit (продолжение старой темы)
Kris†a™  Offline  Сообщение №1 написано: 24 апреля 2015, 09:05 | Отредактировано: Multigone - 23 апреля 2020, 14:25


Lady in the Dark


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


является продолжением старой темы ...

Тема регламентирована.


• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней.
• Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней.
• При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС.
• При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "
+" полезного сообщения.

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

My WebSite: Kris†a™: Private Modding

Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальные, надеясь на лучшее... ©
Artem13  Offline  Сообщение №1531 написано: 12 октября 2016, 17:28


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


Aksyonov,
1. Да, я там изначально лоханулся. 1 - надет.
2. Как и писал в ЛС, попробуй на Subject запускать проверку.
3. Если точно известно, что одет - это 1, проверку обратного условия следует делать более общей. Т.е. не сравнивать с 0, а проверять на отличие от 1. Т.е.
(Pl) (WornHasKeyword) (ArmorCuirass) (!=) (1.0) (AND)
(Pl) (WornHasKeyword) (ClothingBody) (!=) (1.0) (AND)

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Multigone  Offline  Сообщение №1532 написано: 12 октября 2016, 20:02



832
Artem13, в квесте WICommentNaked это прокатывает.

Aksyonov  Offline  Сообщение №1533 написано: 13 октября 2016, 05:26 | Отредактировано: Aksyonov - 13 октября 2016, 05:46



937
Цитата Artem13

(Pl) (WornHasKeyword) (ClothingBody) (!=) (1.0) (AND)


А вот с вопросом ещё не проверял, сделаю отпишусь:
Условие (Pl) (WornHasKeyword) (ClothingBody) (!=) (1.0) (AND)
работает спасибо! не работает если ставить (S) как я и думал только PL.

Добавлено (13 Октября 2016, 08:26)
---------------------------------------------
А теперь как какая же функция подходит для воровства предметов? Condition Function нашел вот такую: GetStolenItemValue
GetStolenItemValueNoCrime - вопрос как их использовать? вариации многие проверил не работает чего то :) может кто поможет
разобраться было бы замечательно - GetStolenItemValue - это как я понимаю нужно выбирать фракцию, каджитка у меня в фракции
состоит выбираю фракцию указываю значение = 1 - получается если у каджитки украдут предмет когда она будучи в этой фракции она
скажет нужный диалог НЕ ВОРУЙ СКОТИНА! - но она не говорит, сосиску присвоил к каджитке она её! и всё равно не работает.

Думаю придется использовать другое условие GetItemCount допустим, и привязывать воровство к определенному предмету.

Такое будет работать но мне хотелось найти функцию общую для всех предметов NPC.

Artem13  Offline  Сообщение №1534 написано: 13 октября 2016, 06:42


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


Multigone, это Беседка. Известные бракоделы. Да и вообще, там, где есть возможность, всегда надёжнее использовать нестрогие проверки.

Aksyonov, судя по названию, GetStolenItemValue возвращает стоимость украденного. Некриминальный вариант, виидимо, возвращает стоимость украденного, не считающегося таковым, т.е., возможно, если владелец мертв/не видел/прочее. Теоретически относится ко всему содержимому инвентаря или контейнера. Не могу сейчас посмотреть где и как функция может применяться и каковы ее параметры. Если до вечера не разберешься, я попробую посмотреть в СК.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Aksyonov  Offline  Сообщение №1535 написано: 13 октября 2016, 09:15



937
Цитата Artem13

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


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

Artem13  Offline  Сообщение №1536 написано: 13 октября 2016, 09:25


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


Aksyonov
Цитата Aksyonov

когда просто берешь что то какую то вещь у NPC в мире игры, и когда воруешь у него из карманов.

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

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Aksyonov  Offline  Сообщение №1537 написано: 13 октября 2016, 09:36 | Отредактировано: Aksyonov - 13 октября 2016, 09:40



937
Цитата Artem13

еоретически нужно смотреть диалоги с реакцией на воровство


Не могу найти подобные диалоги а так вроде они есть у всех NPC, или почти у всех?
Да и ещё если не будет трудно, посмотрите Artem13, ещё и функцию на нахождения в
тригере - нужно что бы NPC говорила когда давакин заходит в палатку нашел вроде Exist
функцию выбрал PL + указал тригер и ничего не работает опять - в общем было бы классно
найти все или многие Condition Functions основных сочетаний как у NPC стандартных есть
воровство, нахождения в тригере, каст магии, меч в руках, хотя часть из перечисленного 
я уже знаю как делать.

Artem13  Offline  Сообщение №1538 написано: 13 октября 2016, 15:24


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


Должны быть у всех, но я только вечером могу посмотреть конкретнее.

Добавлено (13 Октября 2016, 18:24)
---------------------------------------------
Aksyonov, воровство детектируется судя по всему функцией IsActorAVictim. Возможно, эти ветки диалогов должны находиться обязательно в Quest: DialogGeneric во вкладке Combat раздел (Topic или Subtype) PickpocketCombat. В общем, не понял я толком систему обнаружения залезания в карман.

нужно что бы NPC говорила когда давакин заходит в палатку
Смотря в какую - если это отдельный интерьер, то там есть IsInInterior. Также по нахождению в локации IsInSameCurrentLocAsRef и IsInSameCurrentLocAsRefAlias.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Aksyonov  Offline  Сообщение №1539 написано: 14 октября 2016, 15:57 | Отредактировано: Aksyonov - 14 октября 2016, 16:29



937
Artem13, по поводу воровства всё решил и понял, вот в записях в квесте для этого есть особые вкладки, сombat + выбрать
нужно в SubType - Steel = это для простого воровства когда берешь вещи у NPC со стола допустим, и в SubType ещё одна
вкладка SteelFromNc это для воровства из карманов, при этом достаточно когда диалог просто создан в подобной вкладки
в Condition Functions ничего кроме GetIsId не прописано, и всё работает, в тех же вкладках думаю и все остальные будут
нужные мне условия появления диалогов, вот как значит, может быть кому полезно будет теперь эти данные.



В будущим надо будет FAQ для функций основным сделать, а то уроки от Кальяна даже, в них об
этом вообще не говориться по сути, спасибо за помощь Artem13, наконец то благодаря тебе и всем
остальным разобрался и с этим барьером, завтра до привязываю остальные реплики и продолжу делать
квест.

asharmutin  Offline  Сообщение №1540 написано: 15 октября 2016, 06:01 | Отредактировано: asharmutin - 15 октября 2016, 07:23



29
Приветствую, буду рад если поможете. Не могли бы вы проинструктировать, как правильно создать заклинания призыва того или иного монстра? Насколько я помню, там нужно дубль модель в CK создавать для призыва. И можно как-то сделать чтобы призыв становился сильнее с определёнными навыками или умениями. Или они всегда статичны? Просто думал разнообразить игру призывами всякой неживой нечисти, а то игра в данном плане страдает, а хороших сборных модификация я не видел.
P.S. Форум глюканул, аль удалил кто-то, тут были сообщения о том, как можно сохранить скрипты для последующей отправки их людям, не напомните как это сделать?

Dsion  Offline  Сообщение №1541 написано: 15 октября 2016, 14:13



Ничего она не страдает! 10 видов нежити доступно для призыва. Это не считая всяких атронахов и дремора!

Добавлено (15 Октября 2016, 17:13)
---------------------------------------------
А как работает - так это лучше всего рассмотреть одно из существующих заклинаний.

Вот, например, Boneman.
1. Есть Spell "DLC1ConjureBoneman". В нем прописано использовать MagicEffect "SummonBoneman" и длительность - одна минута.
2. Есть MagicEffect "SummonBoneman", в котором выбран архетип "Summon Creature" и Assoc Item 1: DLC1SoulCairnBonemanSummon - это Актор, что призывается.
3. Есть Actor "DLC1SoulCairnBonemanSummon". На нем стоит галочка Summonable.

Любую из этих записей можно скопировать и изменить. Можешь скопировать Актора, потом скопировать магический эффект и прописать в нем своего актора. А потом скопировать заклинание и прописать в нем свой эффект.

С усилением - проблемка. Есть дефолтный перк, усиливающий атронахов. Но он сложно реализован. Есть две версии атронаха, два магических эффекта. И колдуется один из них, в зависимости от наличия у игрока перка (см. Spell ConjureFrostAtronach).
Но я чего-то думаю, что можно сделать и попроще, сохранив только одну версию призываемого существа. Возможно, получится дать ему пассивное умение, которое будет активироваться при наличии у игрока чего-то там...


asharmutin  Offline  Сообщение №1542 написано: 15 октября 2016, 14:34 | Отредактировано: Multigone - 21 апреля 2020, 17:23



29
Dsion, разве не страдает? Лично никогда не видел, чтобы кто-то всякой нежити призывал для боёв (не оживлял трэлов), а возможно просто скиллы слабы и никто их не таскал, вообще решил как-то разнообразить всё же игру.

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

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

Dsion  Offline  Сообщение №1543 написано: 15 октября 2016, 14:49



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

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

asharmutin  Offline  Сообщение №1544 написано: 15 октября 2016, 14:53 | Отредактировано: Multigone - 21 апреля 2020, 17:23



29
Dsion, не, я знаю как поставить рост, но будет ли он работать при призыве, другой вопрос...
А где этот ключ "наличие чего-то" найти? И куда его воткнуть?
Извиняюсь за вопрос, а сделать эту самую замену с простого на усиленного?
Ну, дреморы это одно, я имел ввиду всяких скелетов и драугров (жаль зомбей из Обливиона не завезли, атмосферные были парни).

Dsion  Offline  Сообщение №1545 написано: 15 октября 2016, 14:59



Разнообразить игру - это я всегда ЗА! Всегда пытаюсь что-то новенькое добавить перед очередным перепрохождением.

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

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

Добавлено (15 Октября 2016, 17:59)
---------------------------------------------
Я ведь написал (см. Spell ConjureFrostAtronach). Там видно, как наличие у игрока перка переключает призываемого атронаха. Без перка колдуется один маг эффект с обычным атронахом, а с перком - колдуется другой эффект с другим атронахом.
Условие можно и другое поставить.. Например, уровень навыка "призываение" выше 75... Да что угодно.

Но я бы сначала потестировал другие варианты...


grumpos  Offline  Сообщение №1546 написано: 15 октября 2016, 15:00



24
Вопрос к знатокам скриптинга. В квесте есть алиас, который периодически случайным образом заполняется разными НПС (Actor1 - Actor8). Эти НПС подходят к ГГ и вступают с ним в диалог. Вопрос: что нужно написать в скрипте диалога, чтобы отследить в этом алиасе конкретного НПС (скажем, Actor1) и  в случае, если это именно он вступает в разговор, увеличить на 1 некую переменную (скажем, count). Заранее благодарю за помощь.

asharmutin  Offline  Сообщение №1547 написано: 15 октября 2016, 15:11 | Отредактировано: Multigone - 21 апреля 2020, 17:24



29
Dsion, приятно слышать =). Я вот не сильно сейчас ещё шпарю в CK, но стараюсь как-то попутно создания мода и оригинальную игру улучшать. Разные доспехи сую, чтобы дополнительный esp не занимали, магию меняю, создаю новую. Вот призыв гаргульи уже есть, но делал его 100 лет назад, от того и спрашиваю, хотелось бы отыграть тёмного мага, но ввиду отсутствия оной и модов на неё, приходить думать о некроманте.
А задумка с магией прикольная, стала этаким ультимативным, но чертовски редким навыком.
Ого, а вы продвинуты в модостроении.

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

Dsion  Offline  Сообщение №1548 написано: 15 октября 2016, 15:20



Ага. Кастуется другой маг.эффект и призывается другой актор. Это так ванильный перк работает, усиливающий атронахов.

asharmutin  Offline  Сообщение №1549 написано: 16 октября 2016, 01:53 | Отредактировано: asharmutin - 16 октября 2016, 10:38



29
Цитата Dsion

Ага. Кастуется другой маг.эффект и призывается другой актор. Это так ванильный перк работает, усиливающий атронахов.

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

Aksyonov  Offline  Сообщение №1550 написано: 16 октября 2016, 09:45



937
Итак у меня небольшой новый вопрос относительно esm и esp файлов, когда открываем esp в creation kit я уже давно заметил что поле Created By: _автор_ может изменить любой желающий, а вот в расширении файла esm нет, можно ли точно так сделать невозможным изменения текста в строчки Created By в файле esp? и если можно то каким же образом? если перевести esp в esm будет ли текст в строке Created By точно также как и в ESM не активным но видимым, сейчас я уже проверял и пытался конвертировать какой то утилитой файл esp в esm но в получившимся файле esm отображается не мой ник автора а компании bethesda.

ps. было бы неплохо в своих модах запретить изменять текст во вкладке Created by
иначе я не понимаю смысла заполнения данной опции, если её каждый может изменить.

grumpos  Offline  Сообщение №1551 написано: 16 октября 2016, 11:28 | Отредактировано: grumpos - 16 октября 2016, 11:44



24
Цитата Multigone

grumpos, что-то такое:


Благодарю за помощь, это работает. Только мне нужно, чтобы MyGlobal изменялась только один раз при разговоре с конкретным НПС. Почему-то вот такой код работает неправильно:

Actor Property MyActor Auto
GlobalVariable Property MyGlobal Auto
bool doOnce
IF (akSpeakerRef as Actor == MyActor) && !doOnce
MyGlobal.Value += 1.0
doOnce = true
ENDIF
MyGlobal увеличивается при каждом разговоре с MyActor. Может, в скриптах диалогов есть какие-то особенности?

Dsion  Offline  Сообщение №1552 написано: 16 октября 2016, 14:02



А почему не просто Value = 1?

Добавлено (16 Октября 2016, 17:02)
---------------------------------------------
Чего-то мне интуиция подсказывает, что gumpus двинулся по неправильному пути несколько шагов назад.
Как именно заполняется алиас? Перезапуском квеста или скриптом?


grumpos  Offline  Сообщение №1553 написано: 16 октября 2016, 15:37



24
Multigone:
Странно, конечно, но эффект тот же - MyGlobal постоянно увеличивается на 1 независимо от того, есть MyActor в форм-листе или нет.

Добавлено (16 Октября 2016, 18:37)
---------------------------------------------

Цитата Dsion

Чего-то мне интуиция подсказывает, что gumpus двинулся по неправильному пути несколько шагов назад.Как именно заполняется алиас? Перезапуском квеста или скриптом?

 
Алиас заполняется скриптом. Мне нужно чтобы переменная увеличивалась на 1 после разговора с конкретным НПС (одним из тех, кем заполняется алиас). Повторный разговор с этим же НПС ни на что влиять не должен. Всего таких НПС - 10 человек, т.е. после разговора с каждым из них переменная должна быть равна 10.

grumpos  Offline  Сообщение №1554 написано: 16 октября 2016, 19:38 | Отредактировано: Multigone - 21 апреля 2020, 17:05



24
Не совсем понял... К ГГ подходит НПС (это и есть заполненный алиас) и начинает диалог. Вот в этом диалоге я и пишу скрипт. То есть akSpeakerRef и есть этот самый алиас AliasNPC (условие диалога GetIsAliasRef AliasNPC ==1). Что мне написать вместо GetAlias(0)?

Да, этот вариант работает, но он не совсем точно решает задачу. MyGlobal установится в 10, когда в диалог вступят любые (разные) 10 НПС. Мне же нужно, чтобы это были 10 КОНКРЕТНЫХ НПС.

Multigone  Offline  Сообщение №1555 написано: 16 октября 2016, 21:39 | Отредактировано: Multigone - 16 октября 2016, 21:42



832
grumpos,


Код
GlobalVariable Property MyGlobal Auto
FormList Property MyAllActorsList Auto ; Заполняется нужными актерами (не ActorBase).
FormList Property MyEmptyList Auto ; Изначально пустой.

IF MyAllActorsList.HasForm(akSpeakerRef) && !MyEmptyList.HasForm(akSpeakerRef)
    MyEmptyList.AddForm(akSpeakerRef)
    MyGlobal.Value += 1.0
ENDIF

grumpos  Offline  Сообщение №1556 написано: 17 октября 2016, 06:52 | Отредактировано: Multigone - 21 апреля 2020, 17:04



24
Хмм... А как и кем мне заполнить MyAllActorsList, если это не ActorBase?

Ответ: перетаскиванием из окна Cell View.

asharmutin  Offline  Сообщение №1557 написано: 17 октября 2016, 11:59 | Отредактировано: Multigone - 21 апреля 2020, 17:13



29
Извиняйте за очередной нубский вопрос, но после "Recompile All Papyrus Scripts" при нажатии на квесте, где искать разомпилированный скрипты? Я знаю что в скриптс, но их там тьма тьмущая, как отличить чужие от своего? Насколько я понял, мне осталось их найти и при их отправки, квесты наконец заработают у людей.

Ответ: если речь о скриптах, создаваемых СК автоматически и содержащих фрагменты функций, то они именуются стандартно: QF_QuestEditorID_QuestFormID.
Допустим, твой квест называется MyQuest. Идешь в Scripts, ищешь QF_MyQuest_(цифры). Это и будет тот скрипт.
Допустим, твой другой квест называется YourQuest. Идешь в Scripts, ищешь QF_YourQuest_(цифры). Это и будет тот другой скрипт.
TIF тоже нужны, конечно же. Именуются так: TIF__TopicInfoID. Обрати внимание на выделенные области.
Все скрипты используются только в .pex-формате. Они есть в комплекте мода - он работает. Их нет - мод НЕ работает. Скрипты без .esp могут работать, только если это аккуратно модифицированные ванильные.
Recompile All Papyrus Script - скорее всего, можно сделать, только если есть соотв. исходники в Source.

grumpos  Offline  Сообщение №1558 написано: 17 октября 2016, 17:45 | Отредактировано: Multigone - 21 апреля 2020, 17:15



24
Еще пара вопросов: 1. Как вывести значение переменной на экран? 2. Можно ли использовать переменные в книге, чтобы игрок видел меняющиеся значения?

Ответ:
1) Debug.Notification("Блабла " + (MyGlobal.Value) AS Int)
2) Вот ссылки: раз, два.

asharmutin  Offline  Сообщение №1559 написано: 22 октября 2016, 05:37 | Отредактировано: asharmutin - 22 октября 2016, 06:18



29
Маленький вопрос: 1) Создал заклинание на призыв трёх драугров, но при их призыве, приходит только один, другие будто бы сразу отсуммониваются, что им мешает? 2) Тот драугр что призывается живёт буквально пару секунд и умирает, как расширить его жизненный срок? Вроде бы сделал по копии предыдущего призыва одного существа, и то живёт полноценную минуту, пока этот погибает.
P.S. Duration всех трёх в spell выставлена на 60, но тот, что призывается всё ровно живёт пару секунд.

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

Myprism  Offline  Сообщение №1560 написано: 22 октября 2016, 06:46


Физик


Пытаюсь поставить нестандартные анимации новой расе. Делаю её на основе человечьей. Управление дефолтными женскими анимациями находится в meshes\actors\character\defaultfemale.hkx. Этот файл я могу преобразовывать в xml, редактировать пути в нём (для установки своих анимаций) и конвертировать обратно. Это всё работает. Но мне нужно сделать экземпляр этого файла специфичный для своей расы. А для этого его надо переименовать. Но как только я меняю его название (соответственно меняя ссылку на него в настройках расы), то он перестаёт работать. Где ещё может быть прописан путь к нему, который нарушается его переименовыванием или перемещением?

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





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