Статьи » Обучающие статьи » Для мододелов


Артефакторика, часть вторая: Лук Короля-Оленя


Автор статьи: Ridart

Добавлено: 12 Августа 2020 в 15:31 | Обновлено:
Просмотров: 363 | Комментарии: 6

Понравилось: 4 пользователям




Всем привет!
Это вторая часть цикла обучающих статей "Артефакторика" и сегодня, как и обещал ранее, я расскажу вам как привязать к оружию механику "Разрушителя заклинаний". Предупреждаю сразу - сегодня речь пойдет о скриптах!!

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

Для начала немного с теории:
И так - сначала переходим во вкладку Object Window - > Weapon - > Weapons - > Glass открывает Стеклянный лук Короля-Оленя и смотрим на рис. 1

рис. 1


Обращаем внимание на раздел Scripts (выделено красным): у этого лука указан очень полезный скрипт "dlc2MerchBowofTheStagEquipSCRIPT" - который, при экипировке лука, по умолчанию, дает прибавку в здоровью и запасу сил.

Раскрыв этот скрипт, в окошке Properties for script мы видим как описан в скрипте бонус лука при его оснащение, а именно - SPELL: dlc2MerchBowOfTheStagBlessing!

В CK данный спелл находится по пути Object Window - > Magic - > Spell - > Способность и имеет такие параметры:

Type - Способность
Casting - Постоянный эффект
Delivery - на себя (см. рис. 2)

рис. 2


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

То есть - эффект работает, пока экипировано оружие, к которому привязан этот эффект через скрипт. 

Переходим к практике.

И так - для создания улучшенной версии данной механики (оснащение эффекта на Героя через скрипт), нам понадобится любое оружие на ваш выбор (рекомендую выбирать из холодного типа!) и прикрепить к нему скрипт - dlc2MerchBowofTheStagEquipSCRIPT
Жмем Add, в открывшемся окне ищем название скрипта - dlc2MerchBowofTheStagEquipSCRIPT.pex и выбираем его.

Открываем скрипт, жмем на Add Property и в открывшемся окне Add Script Property в графе Type указываем новый тип - SPELL. (рис. 3)

рис. 3

(Более подробно показать не могу - СК на Скайрим SLMP отказывается редактировать скрипты и вылетает)

В итоге должно получится примерно как на рис. 3_1

рис. 3_1


Жмем на Clear Value и у нас становится доступной строка Pick Object, где можно будет указать спелл. Его мы создадим на следующем шаге. А пока сохраняем оружие.
(у меня на скрине окно редактирование Секиры; скрипт можно прописать любому оружию, даже стрелковому, правда у него есть особенности. Но об этом позже!)

Теперь решим - какой эффект мы хотим указать в скрипте. Приоритет рекомендую отдавать эффектам защитного характера. Вроде Стихийной ауры, регенерации статов или увеличения защиты. 
Я же расскажу (и покажу) на примере своего мода Battle born, part one - Paladin

В качестве примера я возьму Щит-оберег. Смотрим рис. 4

рис. 4


ID - меняем обязательно!

- Casting Type - Постоянный эффект (но это не обязательно. В некоторых случаях можно ставить - Fire and Forget
- Delivery - на себя

Здесь - все. Сохраняем эффект.

Переходим во вкладку Object Window - > Magic - > Spell - > Способность и создаем новую способность, с параметрами как на рис. 5

рис. 5


В окне Effect Item указываем наш новый эффект (у меня это - 1WardConcPaladin); обратите внимание на раздел Condition - условие IsBlocking на скрине указывает на то, что Щит-оберег будет появляться при блокировании оружием. 

В принципе это условие можно не устанавливать, но тогда эффект (Щит-оберег) будет висеть постоянно, а это не очень удобно, верно? А условие IsBlocking позволит нам контролировать появление эффекта.

Здесь мы закончили. Сохраняем Способность.

Возвращаемся вновь к нашему новому оружию и указываем в скрипте ID новой Способности (у меня это - 1EffectPalladinsWardConc) См. рис. 6

рис. 6

Сохраняем оружие. 

Ну вот и все - теперь блокирование оружием (в данном случаи - секирой) становится более эффективным.

Но это так сказать - один из вариантов улучшения парирования оружием. Данный принцип ориентирован преимущественно на повышение эффективности защиты. 

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

Отличительной особенностью такого Magic Effect является использование в нем другого архитипа - Cloak(Плащ).

Такова особенность добавляемых Способностей - они не могут наносит урон (или налагать негативный баф) непосредственно на цель, как при Зачарование

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

То есть - практически дословно повторяет принцип работы Плащей! Основу для создания заклинания-плаща и его подробности - смотрите в другой моей работе - Стихийные плащи: устройство и их модернизация в Creation Kit 

Здесь же я покажу только как в конечном итоге должен выглядеть Magic Effect для Плаща, который мы укажем в качестве Способности (Смотрим рис. 7 и 8)

рис. 7


рис. 8


Напоследок хочу обратить ваше внимание на раздел Condition на рис. 8 - в нем указано условие IsAttaking.

Данное условие указывает на то, что эффект будет проявляться только во время атаки (замахивания) оружием, к которому эффект был привязан скриптом.

В принципе, для холодного оружия можно ставить условие как IsBlocking, так и IsAttaking; все зависит от вашего предпочтения - во время чего вы хотите видеть ваш эффект: атаке или при парировании.

Иначе обстоит дело со стрелковым оружием - луки, арбалеты и посохи (с посохами работать еще не доводилось, но в теории их принцип действия аналогичен арбалету: Зарядить приравнивается к Прицелится) - режим прицеливания у луков и арбалетов считается Атакой и не важно: был ли произведен выстрел или нет - условие IsAttaking будет выполнено и эффект срабатывает.

Ну вот на этом и все пожалуй!  :)

Всем спасибо за внимание!





Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Всего комментариев: 6


0
№:1 от VitSu
1980400
| Проверенный | в 23:24 (31 Августа 2020) [Материал]
Зачем в скрипт нужно добавлять новое свойство? Оно же, вроде, нигде не используется, да и стандартные ванильные скрипты изменять нежелательно.
Посмотреть профиль VitSu

0
№:2 от Ridart
1245039
| Модмейкер | в 12:09 (01 Сентября 2020) [Материал]
Первое - прошу обратить внимание на эту цитату: "для создания улучшенной версии данной механики (оснащение эффекта на Героя через скрипт), нам понадобится любое оружие на ваш выбор (рекомендую выбирать из холодного типа!) и прикрепить к нему скрипт"

Это новый назначенный скрипт, которого изначально на оружии не было. И свойства у него будут свои.

Второе - в модах с механикой, описанной в этом материале, скрипты были вырваны из BSA и вновь помещены по пути DATA/Scripts. Таким образом получается - у скрипта дефолтная специфика, но он автономен: дефолтный Лук и модовая Секира используют скрипт с одним названием, но не один и тот же.
Посмотреть профиль Ridart

0
№:3 от VitSu
1980400
| Проверенный | в 14:25 (01 Сентября 2020) [Материал]
Ну вот смотри: например на рис. 6 в колонке "Property..." во второй строке стоит "NewProperty", которое было туда согласно статье добавлено. Зачем, если это все равно нигде не используется?
Посмотреть профиль VitSu

0
№:4 от Ridart
1245039
| Модмейкер | в 14:39 (01 Сентября 2020) [Материал]
"NewProperty" - это изначальная строка. Она была и всегда будет. Это предусмотрено по умолчанию - чтобы добавить новую позицию. И в принципе это можно сделать! А после добавления новой позиции, "NewProperty" никуда не исчезнет.
Посмотреть профиль Ridart

0
№:5 от VitSu
1980400
| Проверенный | в 16:14 (01 Сентября 2020) [Материал]
Странно... У меня изначально никакого "NewProperty" нет и появляется только после добавления кнопкой AddProperty согласно статье (но так и не понятно для чего это нужно  :) , поскольку добавить spell в свойство blessing можно и так).
Ну да ладно... Другой вопрос: а разве скрипты с одинаковым именем не взаимозаменяют друг друга и приоритет получает скрипт вне bsa-архива?
Посмотреть профиль VitSu

0
№:6 от Ridart
1245039
| Модмейкер | в 14:28 (02 Сентября 2020) [Материал]
Я не думаю, что скрипт вне BSA будет как-то влиять на дефолт. Ведь указанный в оружии эффект обращается к скрипту, который лежит по иному пути, нежели дефолтный.
Пример - оружие на основе которого был написан этот материал: у Секиры и Лука скрипт имеет общее название, но свойства в них написаны разные (в данном случаи - спеллы) и обращаются они к ним по разным путям.

Но, я повторюсь, указываемый скрипт должен быть автономный и лежать по другому пути (как в модах, сделанных на основе этой статьи) дабы избежать деструктивный изменений.  :)
Посмотреть профиль Ridart
Помочь cайту

Набор в команду сайта
Наши конкурсы
Каталог файлов
Fallout 4 [903]
The Witcher 3: Wild Hunt [111]
Skyrim Special Edition [390]
TES V: Skyrim [4317]
TES IV: Oblivion [531]
Fallout: New Vegas [2357]
Fallout 3 [1012]
Dragon Age: Origins [609]
Dragon Age 2 [245]
Dragon Age: Inquisition [234]
GTA SA [96]
GTA 4 [132]
GTA 5 [42]
S.T.A.L.K.E.R. Зов Припяти [76]
S.T.A.L.K.E.R. Чистое Небо [44]
S.T.A.L.K.E.R. Тени Чернобыля [100]
Neverwinter Nights 2 [187]
Другие разделы

Подразделы:


Общая [45]
Adobe Photoshop [17]
Для мододелов [94]


Последние рецензии
Корсары «Каждому свое». Жемчужина, скрытая под завесой «Ретро-Олда»
Масштаб, где потолка не видно!!! X3 Terran conflict!!!
Скромное видение Fallout: New California, или почему в это стоит сыграть
Sony PlayStation VR
«The long dark»
Рецензия: «God of War 4»
Brain Out для тех кто скучает по 90-м
Frostpunk: в час Белого Хлада...






Последние комментарии
Амулет был, да. Я вот сейчас и думаю о том, что дело может быть просто в этом самом амулет...
Adegar88, какой мод? Я имела личный опыт, когда отключение мода не помогало. И я пр...
С этим прекрасно справляются Ammo Crafting Schematics и CaliberX, так что этот "мод&q...
Кстати, на Лелиане уже был в тот момент амулет? Может быть, так чудит скрипт, который авто...
kusmitch, а как же штаны?  ...
Не могу завершить квест "награда за мятеж" убить 3 супермутанта - все мутанты уб...
Выполнил квест "награда за мятеж" (убил всех троих) но не могу сдать его паладин...
Статистика
Онлайн всего: 63
Гостей: 40
Пользователей: 23




Вверх Вниз