• Прежде, чем задать вопрос, пожалуйста, убедитесь, что такой вопрос не задавался раньше. Старайтесь описать суть вопроса как можно подробней. • Прежде, чем опубликовать ответ на вопрос, пожалуйста, убедитесь, что обладаете необходимыми для этого знаниями. Старайтесь cформулировать суть ответа как можно лаконичней. • При желании ответить в приватном порядке, пожалуйста, воспользуйтесь ЛС. • При желании поблагодарить ответившего, пожалуйста, воспользуйтесь кнопкой "+" полезного сообщения.
Сообщения, не относящиеся к вопросам по редактору СК, ответам на них или уточнениям, являются оффтопом и могут быть удалены.
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> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
А вот с вопросом ещё не проверял, сделаю отпишусь: Условие (Pl) (WornHasKeyword) (ClothingBody) (!=) (1.0) (AND) работает спасибо! не работает если ставить (S) как я и думал только PL.
Добавлено (13 Октября 2016, 08:26) --------------------------------------------- А теперь как какая же функция подходит для воровства предметов? Condition Function нашел вот такую: GetStolenItemValue GetStolenItemValueNoCrime - вопрос как их использовать? вариации многие проверил не работает чего то может кто поможет разобраться было бы замечательно - GetStolenItemValue - это как я понимаю нужно выбирать фракцию, каджитка у меня в фракции состоит выбираю фракцию указываю значение = 1 - получается если у каджитки украдут предмет когда она будучи в этой фракции она скажет нужный диалог НЕ ВОРУЙ СКОТИНА! - но она не говорит, сосиску присвоил к каджитке она её! и всё равно не работает.
Думаю придется использовать другое условие GetItemCount допустим, и привязывать воровство к определенному предмету.
Такое будет работать но мне хотелось найти функцию общую для всех предметов NPC.
Multigone, это Беседка. Известные бракоделы. Да и вообще, там, где есть возможность, всегда надёжнее использовать нестрогие проверки.
Aksyonov, судя по названию, GetStolenItemValue возвращает стоимость украденного. Некриминальный вариант, виидимо, возвращает стоимость украденного, не считающегося таковым, т.е., возможно, если владелец мертв/не видел/прочее. Теоретически относится ко всему содержимому инвентаря или контейнера. Не могу сейчас посмотреть где и как функция может применяться и каковы ее параметры. Если до вечера не разберешься, я попробую посмотреть в СК.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Если до вечера не разберешься, я попробую посмотреть в СК.
Скорее всего не разберусь уже пробовал, мне нужно несколько вариантов, когда просто берешь что то какую то вещь у NPC в мире игры, и когда воруешь у него из карманов.
когда просто берешь что то какую то вещь у NPC в мире игры, и когда воруешь у него из карманов.
Если они обе являются его собственностью - эти события неразличимы кроме самого момента воровства. Теоретически нужно смотреть диалоги с реакцией на воровство, возможно там можно найти подсказку.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Aksyonov
AksyonovOffline
Сообщение №1537
написано: 13 октября 2016, 09:36
| Отредактировано: Aksyonov - 13 октября 2016, 09:40
еоретически нужно смотреть диалоги с реакцией на воровство
Не могу найти подобные диалоги а так вроде они есть у всех NPC, или почти у всех? Да и ещё если не будет трудно, посмотрите Artem13, ещё и функцию на нахождения в тригере - нужно что бы NPC говорила когда давакин заходит в палатку нашел вроде Exist функцию выбрал PL + указал тригер и ничего не работает опять - в общем было бы классно найти все или многие Condition Functions основных сочетаний как у NPC стандартных есть воровство, нахождения в тригере, каст магии, меч в руках, хотя часть из перечисленного я уже знаю как делать.
Должны быть у всех, но я только вечером могу посмотреть конкретнее.
Добавлено (13 Октября 2016, 18:24) --------------------------------------------- Aksyonov, воровство детектируется судя по всему функцией IsActorAVictim. Возможно, эти ветки диалогов должны находиться обязательно в Quest: DialogGeneric во вкладке Combat раздел (Topic или Subtype) PickpocketCombat. В общем, не понял я толком систему обнаружения залезания в карман.
нужно что бы NPC говорила когда давакин заходит в палатку
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Aksyonov
AksyonovOffline
Сообщение №1539
написано: 14 октября 2016, 15:57
| Отредактировано: Aksyonov - 14 октября 2016, 16:29
Artem13, по поводу воровства всё решил и понял, вот в записях в квесте для этого есть особые вкладки, сombat + выбрать нужно в SubType - Steel = это для простого воровства когда берешь вещи у NPC со стола допустим, и в SubType ещё одна вкладка SteelFromNc это для воровства из карманов, при этом достаточно когда диалог просто создан в подобной вкладки в Condition Functions ничего кроме GetIsId не прописано, и всё работает, в тех же вкладках думаю и все остальные будут нужные мне условия появления диалогов, вот как значит, может быть кому полезно будет теперь эти данные.
В будущим надо будет FAQ для функций основным сделать, а то уроки от Кальяна даже, в них об этом вообще не говориться по сути, спасибо за помощь Artem13, наконец то благодаря тебе и всем остальным разобрался и с этим барьером, завтра до привязываю остальные реплики и продолжу делать квест.
Изменение репутации для пользователя asharmutin
asharmutinOffline
Сообщение №1540
написано: 15 октября 2016, 06:01
| Отредактировано: asharmutin - 15 октября 2016, 07:23
Приветствую, буду рад если поможете. Не могли бы вы проинструктировать, как правильно создать заклинания призыва того или иного монстра? Насколько я помню, там нужно дубль модель в CK создавать для призыва. И можно как-то сделать чтобы призыв становился сильнее с определёнными навыками или умениями. Или они всегда статичны? Просто думал разнообразить игру призывами всякой неживой нечисти, а то игра в данном плане страдает, а хороших сборных модификация я не видел. P.S. Форум глюканул, аль удалил кто-то, тут были сообщения о том, как можно сохранить скрипты для последующей отправки их людям, не напомните как это сделать?
Ничего она не страдает! 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
asharmutinOffline
Сообщение №1542
написано: 15 октября 2016, 14:34
| Отредактировано: Multigone - 21 апреля 2020, 17:23
Dsion, разве не страдает? Лично никогда не видел, чтобы кто-то всякой нежити призывал для боёв (не оживлял трэлов), а возможно просто скиллы слабы и никто их не таскал, вообще решил как-то разнообразить всё же игру.
Насколько я помню, по этим параметрам нужно менять конкретно актёровские характеристики, чтобы он призывался уже определённо сильным? А если поставить ему рост с уровнем игрока?
Хмм... Думаю сложно будет такое даже реализовать, не помню, чтобы в ванилке что-то подобное повязанное на предмет и усиление призыва было.
Так попробуй поставить рост с уровнем... Не сложно же. Добавление пассивного навыка тоже можно попробовать. "наличине у игрока чего-то" - это включает не только предметы, а и перки, уровни навыков, уровень самого персонажа и что-угодно... Ну и, в крайнем случае, можно сделать так же, как в ванильном скайриме с атронахами. Две версии: обычный и усиленный. После взятия какого-то уровня или перка, начинает призываться усиленный.
А эффективность ванильской нежити от уровня сложности игры зависит... Если играть на "Мастере", например, то дреморы так тащат, что я аж пообещал себе их не использовать.
Изменение репутации для пользователя asharmutin
asharmutinOffline
Сообщение №1544
написано: 15 октября 2016, 14:53
| Отредактировано: Multigone - 21 апреля 2020, 17:23
Dsion, не, я знаю как поставить рост, но будет ли он работать при призыве, другой вопрос... А где этот ключ "наличие чего-то" найти? И куда его воткнуть? Извиняюсь за вопрос, а сделать эту самую замену с простого на усиленного? Ну, дреморы это одно, я имел ввиду всяких скелетов и драугров (жаль зомбей из Обливиона не завезли, атмосферные были парни).
Разнообразить игру - это я всегда ЗА! Всегда пытаюсь что-то новенькое добавить перед очередным перепрохождением.
В позапрошлый раз изменил магию. Всем существам и игроку значительно увеличил её количество, но почти убил регенерацию. То есть, для регенерации маны приходилось спать 8 часов в безопасном месте. И самому стало интересно магом побыть, и стало возможным победить мага-противника измотав его. Уклоняться от его заклинаний, пока он не потратит ману.
Вот... А в прошлый раз добавил новую расу с уникальной возможностью: концентрацией. Бойцы этой расы могут входить в режим концентрации. Их скорость перемещения и боя возрастает в два раза, а скорость течения времени замедляется в четыре раза. Входящий урон увеличивается - чтоб жизнь малиной не казалось. В общем, было весело уклоняться от стрел и от атак.
Добавлено (15 Октября 2016, 17:59) --------------------------------------------- Я ведь написал (см. Spell ConjureFrostAtronach). Там видно, как наличие у игрока перка переключает призываемого атронаха. Без перка колдуется один маг эффект с обычным атронахом, а с перком - колдуется другой эффект с другим атронахом. Условие можно и другое поставить.. Например, уровень навыка "призываение" выше 75... Да что угодно.
Вопрос к знатокам скриптинга. В квесте есть алиас, который периодически случайным образом заполняется разными НПС (Actor1 - Actor8). Эти НПС подходят к ГГ и вступают с ним в диалог. Вопрос: что нужно написать в скрипте диалога, чтобы отследить в этом алиасе конкретного НПС (скажем, Actor1) и в случае, если это именно он вступает в разговор, увеличить на 1 некую переменную (скажем, count). Заранее благодарю за помощь.
Изменение репутации для пользователя asharmutin
asharmutinOffline
Сообщение №1547
написано: 15 октября 2016, 15:11
| Отредактировано: Multigone - 21 апреля 2020, 17:24
Dsion, приятно слышать =). Я вот не сильно сейчас ещё шпарю в CK, но стараюсь как-то попутно создания мода и оригинальную игру улучшать. Разные доспехи сую, чтобы дополнительный esp не занимали, магию меняю, создаю новую. Вот призыв гаргульи уже есть, но делал его 100 лет назад, от того и спрашиваю, хотелось бы отыграть тёмного мага, но ввиду отсутствия оной и модов на неё, приходить думать о некроманте. А задумка с магией прикольная, стала этаким ультимативным, но чертовски редким навыком. Ого, а вы продвинуты в модостроении.
Я сейчас не могу зайти и проверить в ките, но то есть при определённом условии призывается просто другой актёр?
Ага. Кастуется другой маг.эффект и призывается другой актор. Это так ванильный перк работает, усиливающий атронахов.
Тогда хотел бы спросить. На легендарной сложности какие статы актёру лучше подобрать? Ну чтобы он лицом в грязь не ударял и сражался как вполне себе полноценный спутник, пусть и слабее гг. P.S. Unpacker для файлов модов не работает, выдаёт ошибку, не знаете в чём его проблема? P.P.S Какой стиль заставляет нипа сначала драться посохом, а при приближении противника переходить на ближний бой?
Итак у меня небольшой новый вопрос относительно esm и esp файлов, когда открываем esp в creation kit я уже давно заметил что поле Created By: _автор_ может изменить любой желающий, а вот в расширении файла esm нет, можно ли точно так сделать невозможным изменения текста в строчки Created By в файле esp? и если можно то каким же образом? если перевести esp в esm будет ли текст в строке Created By точно также как и в ESM не активным но видимым, сейчас я уже проверял и пытался конвертировать какой то утилитой файл esp в esm но в получившимся файле esm отображается не мой ник автора а компании bethesda.
ps. было бы неплохо в своих модах запретить изменять текст во вкладке Created by иначе я не понимаю смысла заполнения данной опции, если её каждый может изменить.
Изменение репутации для пользователя grumpos
grumposOffline
Сообщение №1551
написано: 16 октября 2016, 11:28
| Отредактировано: grumpos - 16 октября 2016, 11:44
Благодарю за помощь, это работает. Только мне нужно, чтобы 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. Может, в скриптах диалогов есть какие-то особенности?
Добавлено (16 Октября 2016, 17:02) --------------------------------------------- Чего-то мне интуиция подсказывает, что gumpus двинулся по неправильному пути несколько шагов назад. Как именно заполняется алиас? Перезапуском квеста или скриптом?
Multigone: Странно, конечно, но эффект тот же - MyGlobal постоянно увеличивается на 1 независимо от того, есть MyActor в форм-листе или нет.
Добавлено (16 Октября 2016, 18:37) ---------------------------------------------
Цитата Dsion
Чего-то мне интуиция подсказывает, что gumpus двинулся по неправильному пути несколько шагов назад.Как именно заполняется алиас? Перезапуском квеста или скриптом?
Алиас заполняется скриптом. Мне нужно чтобы переменная увеличивалась на 1 после разговора с конкретным НПС (одним из тех, кем заполняется алиас). Повторный разговор с этим же НПС ни на что влиять не должен. Всего таких НПС - 10 человек, т.е. после разговора с каждым из них переменная должна быть равна 10.
Изменение репутации для пользователя grumpos
grumposOffline
Сообщение №1554
написано: 16 октября 2016, 19:38
| Отредактировано: Multigone - 21 апреля 2020, 17:05
Не совсем понял... К ГГ подходит НПС (это и есть заполненный алиас) и начинает диалог. Вот в этом диалоге я и пишу скрипт. То есть akSpeakerRef и есть этот самый алиас AliasNPC (условие диалога GetIsAliasRef AliasNPC ==1). Что мне написать вместо GetAlias(0)?
Да, этот вариант работает, но он не совсем точно решает задачу. MyGlobal установится в 10, когда в диалог вступят любые (разные) 10 НПС. Мне же нужно, чтобы это были 10 КОНКРЕТНЫХ НПС.
Изменение репутации для пользователя Multigone
MultigoneOffline
Сообщение №1555
написано: 16 октября 2016, 21:39
| Отредактировано: Multigone - 16 октября 2016, 21:42
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
grumposOffline
Сообщение №1556
написано: 17 октября 2016, 06:52
| Отредактировано: Multigone - 21 апреля 2020, 17:04
Извиняйте за очередной нубский вопрос, но после "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
grumposOffline
Сообщение №1558
написано: 17 октября 2016, 17:45
| Отредактировано: Multigone - 21 апреля 2020, 17:15
Маленький вопрос: 1) Создал заклинание на призыв трёх драугров, но при их призыве, приходит только один, другие будто бы сразу отсуммониваются, что им мешает? 2) Тот драугр что призывается живёт буквально пару секунд и умирает, как расширить его жизненный срок? Вроде бы сделал по копии предыдущего призыва одного существа, и то живёт полноценную минуту, пока этот погибает. P.S. Duration всех трёх в spell выставлена на 60, но тот, что призывается всё ровно живёт пару секунд.
P.P.S. После перезагруки компа, странно дело но всё заработало как надо, только вот драугры не отсуммониваются и сражаются со мной, а не помогают.
Пытаюсь поставить нестандартные анимации новой расе. Делаю её на основе человечьей. Управление дефолтными женскими анимациями находится в meshes\actors\character\defaultfemale.hkx. Этот файл я могу преобразовывать в xml, редактировать пути в нём (для установки своих анимаций) и конвертировать обратно. Это всё работает. Но мне нужно сделать экземпляр этого файла специфичный для своей расы. А для этого его надо переименовать. Но как только я меняю его название (соответственно меняя ссылку на него в настройках расы), то он перестаёт работать. Где ещё может быть прописан путь к нему, который нарушается его переименовыванием или перемещением?
Форум » TES V: Skyrim » Мастерская » Вопросы по Creation Kit (продолжение старой темы) (Тут вы можете задать вопросы по редактору Скайрима)