Сделать это всё можно, конечно... Но конкретно у меня, к сожалению, не хватит терпения выдумывать новые умения для всех боссов и монстров в игре... Я бы взялся сделать что-угодно с Довакином, но не со всеми боссами игры
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №32
| Тема: Обсуждение Dragonborn
написано: 7 декабря 2012, 15:48
| Отредактировано: Dsion - 7 декабря 2012, 15:49
Мне нравится, чтоб битвы с финальными боссами были на пределе возможностей игрока. Именно так я для себя и сбалансировал игру, добавив себе несколько вредоносных перков и изменив некоторые переменные. И любой из вас может настроить игру так, чтоб битвы с боссами были на пределе его возможностей. Потому я не очень понимаю, почему два человека из трех заходят сюда и отписывают, как круто и шарово они нагибают всё и вся и что игра слишком легкая. У каждого тут свой набор модов и своя сложность... Кроме того, Довакин Довакину рознь. Что легко магу, может быть почти невозможным для вора. А вор может подкрасться и одним ударом зарезать босса, которого маг долбил бы 5 минут...
Demolir, этот вариант я уже рассматривал (пробовал), но искать то, чего я не знаю, тем более среди кучи параметров написанных самим автором плагина не получилось.
Плохо другое, что адаптации подобных модов под патч 1.8 пока не наблюдается.
Наверное, это глобальные переменные: KillMoveRandom DecapitationChance
Добавлено (08.12.2012, 19:01) --------------------------------------------- О других переменных не знаю. Но, разумеется, скрипт может менять её при смене оружия.
Не хочет работать - ни через консоль, ни через конструктор, а со скриптами я не "дружу". Вот чёрт, придёться видимо ждать адаптации подобного мода под патч 1.8, но всё равно благодарю всех за готовность помочь.
Точно? Там есть еще дополнительные требование на киллмув: должна быть стамина и герой должен сражаться с одним врагом. Плюс переменная меняется в рэндже от -100 до 100, а не от 0 до 100... Ну я проверю.
Добавлено (08.12.2012, 20:45) --------------------------------------------- В общем, тема не очень простая, как оказалось: http://www.uesp.net/wiki....es_text
Кроме этой переменной и того, что враг должен быть единственным или последним, там еще есть факторы: тип врага, положение относительно него итп...
Вы разобрались, как ставить флаг Ignored напротив какой-то записи при загрузке плагина в CK? Если поставить этот флаг напротив измененной cell, загрузить плагин, а потом снова его сохранить, то он должен сохраниться уже с ванильной cell. А еще надо учитывать, что некоторая информация по некоторым cell (домам, например) сохраняется еще и в сэйвах.
А удалять зачарованный предмет и добавлять аналогичный без зачарования не хотите? Не думаю, что можно обойтись без этого.
На UESP когда-то читал про баг. Не знаю, актуален ли он еще: Giving a non-essential follower any of your custom enchanted weapons or shields, letting them die, then looting directly from their corpse, is the only way to remove those enchantments on the items. This only works with weapons and shields that you have custom-enchanted yourself; it will not remove the enchantment on artifacts or generic enchanted gear found or bought.
А в каких случаях не срабатывает? Если в моде нету записей, изменяющих cell, с чего бы ей быть измененной? Может, действительно что-то в сэйвах хранится? Не о домах игрока речь?
Если я удаляю записи этой ячейки (интерьера), дверь пропадает. Но в чистой ячейке она должна быть.
Да, не очень-то понятно. Ну совсем пустой мод, без записей, дверь убивать не может - логично. Лично мне стало бы интересно и я поискал бы запись, влияющую на эту злополучную дверь. Пусть даже методом исключения.
Да? Ну тогда тебе понадобится много пива и много терпения Далеко не все зачарованные предметы в игре имеют аналоги без энчанта... Придется создавать вручную. А если и имеют, то без форм-листов фиг определишь, какой именно чистый предмет соответствует данному зачарованному...
Вот кто-то уже пробовал сделать (мод с исходниками там). Я не проверял, но посмотрел записи и приблизительно понял, как оно работает. Может, есть способ и полегче... Но ничего в голову не приходит. Вряд ли... http://skyrim.nexusmods.com/mods/9894
Выбить энчант базового предмета энчантом в сэйве тоже не выйдет. Похоже, энчант базового предмета как-то приоритетнее. Даже если найти способ зачаровывать на пиктограмме уже зачарованные предметы, то сохранится только измененное имя, но не новый энчант...
А никто не встречал какого-нибудь способа перехватить Fast Travel? Чтоб герой не перемещался, но, вместо этого, вызывалась моя функция. Я сделал летающий корабль с функцией "лететь к точке" и хотел бы попробовать заменить им быстрое перемещение...
Не подскажете , как изменить внешность ребенка. Точнее лицо.
Лица детей не настраиваются так, как лица других рас. У них нету файла, описывающего кастомизацию. Я попробовал прицепить к детским лицам файл кастомизации от взрослой расы, но вышел ужас какой-то... В общем, я вижу такие варианты: 1. Можно изменить меш детских лиц. Тогда поменяются лица всех детей в игре. 2. Можно создать новую расу на основе расы ребенка и прицепить к ней свой меш лица. Тогда новое лицо будет только у npc этой расы. Но, опять же, надо иметь навыки моделирования. 3. Можно попытаться разобраться или найти информацию о tri файлах кастомизации лица. Это круто, но, скорее всего, очень сложно.
У меня нету dlc heartfire. Я слышал, что там что-то про детей добавляли. Там их внешность не меняется?
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №44
| Тема: Вопросы по скриптам Papyrus
написано: 18 декабря 2012, 10:22
| Отредактировано: Dsion - 18 декабря 2012, 10:24
И снова я. В общем, какая нужна функция, чтоб quest objectives ставился в статус complited только в том случае, если определенный предмет лежит в инвентаре игрока. но когда игрок его скидывает Quest Objectiv сбрасывался. (надеюсь понятно)
В общем задача такова, есть некий список предметов, которые игрок должен собрать. когда соберет все предметы квест переходит на новую стадию, но если игрок выкинул один из предметов, стадия возвращается. Причем к каждому предмету свой Квест обджектив.
Вот два варианта. Не факт, что они лучшие Может, кто-то придумает что-то проще...
1. Если каждый из этих предметов уникальный и создан тобой лично, можно к ним прецепить скрипт такого типа:
Code
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer) ;при смете контэйнера If akNewContainer == Game.GetPlayer() ;установить обджэктив в комплитэд. проверить, собраны ли все предметы. если собраны, сменить стадию на "всё собрано". Else ;снять комплитэд. сменить стадию на "не всё собрано". EndIf EndEvent
2. Более универсальный вариант. Отслеживаются любые изменения инвентаря игрока. Скрипт цепляется к игроку.
Code
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) ;если предмет в твоём списке, установить коплитэд. Сменить стадию, если нужно. EndEvent
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer) ;если предмет в твоём списке, снять коплитэд. Сменить стадию, если нужно. EndEvent
Вот. Ну это так, примитивненько... Может, сейчас кто-то с меня посмеется и расскажет, как это надо делать. Если нужны совсем полные скрипты, пиши в пм.
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №45
| Тема: Вопросы по скриптам Papyrus
написано: 18 декабря 2012, 10:45
| Отредактировано: Dsion - 18 декабря 2012, 10:47
Да, как-то все сложно, я думал скрипт на квест вешать. В том то все и дело, что предметы ванильные, и не хочется их скриптами портить, иначе конфликтов будет немерено!
Меня интересует куда больше Quest Objectives. Закончить все понят поставить set completed. А вот как их вернуть назад?! Что они ещё не выполнены?! Хм, посмотрю на примеру собирания шкур!
MyQuest.SetObjectiveCompleted(10, false) - Вот так снимается флаг "выполнено" =) Если предметы ванильные, то 2й вариант подойдет. А скрипт вешается на Алиас игрока. Никаких проблем и конфликтов не будет...
Ну если нужно прицепить скрипт именно к квесту, можно сделать через з... более хитро. Скажем, каждые 5 секунд идет проверка инвентаря игрока и установка/снятие нужных флагов...
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №46
| Тема: Вопросы по скриптам Papyrus
написано: 18 декабря 2012, 10:59
| Отредактировано: Dsion - 18 декабря 2012, 11:16
OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) - что-то попало в инвентарь OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer) - что-то ушло из инвентаря
Dsion, у меня стоит heartfire , тоже ничего нельзя изменить. Я думала о новой расе , только детей нельзя будет удочерять\усыновлять.
Рано сдаваться Я почти уверен, что новых детей новой расы можно было бы сделать усыновляемыми. И есть еще идея. Возможно, получится сделать новые лица в виде Skin'ов для стандартной расы детей. Скорее всего, это возможно и решит все проблемы. К сожалению, в любом случае, необходимы навыки 3d-шника И делать надо не только лицо, но и анимации к нему...
Добавлено (18.12.2012, 15:58) --------------------------------------------- Хм, а может, и не в любом случае... Вот кто-то уже пытался сделать мод на эту тему... http://bagserk.blogspot.com/2012....en.html
Если хотите, я покопаюсь и попытаюсь разобраться, как он работает...
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №49
| Тема: Вопросы по скриптам Papyrus
написано: 18 декабря 2012, 13:06
| Отредактировано: Dsion - 18 декабря 2012, 13:11
так я делал, тогда каждый раз когда берешь или удаляешь предмет все время высвечивается на экране задание!
Ну а как же... Берешь предмет: высвечивается "Найти предмет #1: выполнено". Удаляешь предмет: появляется "Найти предмет #1"... Или тебе надо, чтоб не было такого?
Может, к черту вообще objective'ы? Например, npc говорит "собери мне то и то". А когда ты с ним говоришь в следующий раз, он единоразово проверяет, есть ли у тебя всё необходимое. Если есть, забирает и дает награду...
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №51
| Тема: Вопросы по скриптам Papyrus
написано: 18 декабря 2012, 15:18
| Отредактировано: Dsion - 18 декабря 2012, 15:25
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer) (TQ01 As TQ01Script).OnItemAddedOrRemoved(akBaseItem) EndEvent
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer) (TQ01 As TQ01Script).OnItemAddedOrRemoved(akBaseItem) EndEvent
Второй скрипт к самому квесту:
Code
Scriptname TQ01Script extends Quest
Form Property Item1 Auto Form Property Item2 Auto Form Property Item3 Auto
Function OnItemAddedOrRemoved(Form akBaseItem) ;Каждый раз при изменении инвентаря игрока If akBaseItem == Item1 || akBaseItem == Item2 || akBaseItem == Item3 UpdateQuestState() EndIf EndFunction
Function UpdateQuestState() ;При добавлении/удалении одного из искомых предметов
Actor Player = Game.GetPlayer() Int TotalItems = 0
If TotalItems < 3 UpdateStage(0) Else UpdateStage(1) EndIf
EndFunction
Function UpdateObjective(Int Objective, Bool Flag) ;Меняет состояние "выполнено", если нужно. If Flag == 1 && IsObjectiveCompleted(Objective) == 0 SetObjectiveCompleted(Objective, 1) ElseIf Flag == 0 && IsObjectiveCompleted(Objective) == 1 SetObjectiveCompleted(Objective, 0) SetObjectiveDisplayed(Objective, abForce = True) EndIf EndFunction
Function UpdateStage(Bool Flag) ;Меняет стадию квеста, если нужно. If Flag == 1 && GetStage() == 10 SetStage(20) ElseIf Flag == 0 && GetStage() == 20 SetStage(10) EndIf EndFunction
Но я этого не проверял и 80% вероятность, что оно не работает. Еще функцию UpdateQuestState() надо выполнить при старте квеста. Вдруг у игрока уже всё есть?
Ну если задача - это сбор каких-нибудь ванильных и не уникальных предметов, то на них нельзя повесить скрипт или создать алиас. В общем, нормальный я скрипт написал. Только я уже придумал чуть более оптимизированную версию... Это моя беда... Я редко бываю доволен созданным, постоянно стремлюсь его доработать и по этой причине ничего не довожу до конца Прям безумие какое-то... В общем, VIPerMX, если захочешь оптимизированную версию, говори - я сброшу в приват...
Всем привет! такая проблема: скачал Creation Kit совместимый с патчем 1.8 но после загрузки вещи из даунгарда отображаются красным ромбом с белым восклицательным знаком что это значит, и можно это както исправить?
Не уверен, что проблема в этом, но проверь, прописан ли архив Dawnguard.bsa в списке загружаемых архивов в файле SkyrimEditor.ini Это единственная проблема, которую я встречал при загрузке объектов из Dawnguard...
Добавлено (18.12.2012, 22:27) --------------------------------------------- О, смотри-ка. Ответ на твой вопрос гугл выдает первым же результатом по запросу "creation kit dawnguard"... Крутенько...
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №55
| Тема: Вопросы по скриптам Papyrus
написано: 19 декабря 2012, 08:45
| Отредактировано: Dsion - 19 декабря 2012, 08:48
Я не очень знаю, как NIF формат работает. Но подозреваю, что где-то там прописано, должен ли объект взаимодействовать с силой тяжести итп. Может, кто-то знает подробности? И можно ли это поправить при помощи Nif Scope.
Потому что вот есть колесо от телеги, которое падает и взаимодействует с игроком. Но если ему поменять меш, то объект становится абсолютно статичным. Как это исправить?
Добавлено (19.12.2012, 21:13) --------------------------------------------- А, работает... Это я скопировал настройки, но забыл массу поменять... Теперь падает.
Кто-нибудь разбирался с поведением Сераны? Она ведёт себя намного интереснее остальных спутников. Когда ГГ стоит, она активно пользуется окружающей фурнитурой. Как такое же поведение установить другим персонажам? Обычная установка пакетов тут не проходит - у неё только простенькие пакеты песочниц. Зато в редакторе в списке всех пакетов с именем Серана обнаруживается несколько десятков их. Как они подключаются?
DLC1NPCMentalModel - её квест. Алиас ResponsiveNPC. И там её пакет SandboxAroundPlayer... Можно добавить аналогичный пакет в квест DialogueFollower к алиасу Follower. Или, если не любите редактировать ванильные записи, как я, можно создать новый квест с алиасом на вашего спутника и добавить пакет туда.
Добавлено (22.12.2012, 23:18) --------------------------------------------- Заодно можно добавить и combat override пакет, чтоб они не вступали в бой, пока игрок в стелсе, и прекращали бой, когда игрок отступает. Благое дело...
, а не подскажете какой именно пакет воспроизводит данные действия, а то их там "воз и маленькая тачка". В общем запуталась в них.
Плохо понял вопрос Там не сложно. У каждого актёра есть список пакетов. В самом его низу лежат пакеты, прицепленные к самому актёру. Чуть выше - пакеты, прицепленные к квестовым алиасам, указывающим на этого актёра (если квест активен). Игра регулярно (или по команде) проверяет список пакетов актёра сверху вниз и выбирает первый валидный (все conditions выполняются). Вот... Но таких списков у актёра несколько... Если актёр, скажем, в бою, то игра будет выбирать пакеты не из обычного списка, а из combat override списка, который тоже можно прицепить к актёру или алиасу.
В общем, обычный список - это поведение актёра вне боя. Комбат овэррайд список - его поведение в бою. Если Вы хотите реализовать компаньону фишки типа отступления или запрета боя при каких-либо условиях, то надо добавлять/менять CO-пакеты. Если, скажем, в момент начала боя у актёра будет валидный CO пакет с процедурой Follow, то о он будет следовать за кем-то, а не драться.
Блин, целый гайд получился. Прошу прощения. На самом деле, именно компаньонами я и занимался до недавнего времени. Так что если кому понадобятся советы, буду рад помочь.
Dsion, спасибо. Просто из списка выбирать сложновато. Именно Лиде и хотела хотела усложнить поведение.
Так давайте сделаем О каком списке речь?
Обычные спутники до безобразия просто работают... Есть квест DialogueFollower и в нем алиас, который ни на кого не указывает. К алиасу прицеплены, по сути, всего два пакеты: один обычный (идти за игроком) и один CO (сражаться в радиусе от игрока). Когда Вы говорите любому из друзей "иди со мной", этот актёр просто "запихивается" в алиас квеста DialogueFollower. Пакеты, прицепленные к алиасу, становятся приоритетнее пакетов актёра и он начинает ходить за вами.
Dsion, в вкладке AI Packages в самом низу есть Combat Overrade Package , смотрела там. А так как кроме брони ничего никогда не трогала то и тут "постеснялась" .
Это Вы нашли пакеты, прицепленные к актёру. Пакеты, прицепленные к алиасам, приоритетнее. Вот квест и алиас, который управляет Лидией, когда она спутник. http://i.piccy.info/i7....pg
Добавлено (24.12.2012, 03:20) --------------------------------------------- Ну если Вы не разбирались с тем, как работают квесты и алиасы, то, наверное, не очень легко сходу всё понять... Я тему гайдами больше не буду забивать. Но мой приват всегда открыт для желающих обсудить ИИ компаньонов