Ага, давай... Скрипт можно и на базовые объекты вешать - тогда распространится на всю еду в мире. А можно на конкретные референсы в конкретной локации. Тогда только на них будет действовать.
В некоторых случаях можно изменить расу из консоли или скриптом, даже если компаньон и раса в разных модах - это легко. Но вряд ли тебе подойдет - скорее всего, будут проблемы со цветом головы, волосами итп. - зависит от того, как сделана новая раса. Хотя попробовать стоило бы. Открыть консоль, выделить NPC и ввести setrace nordrace только с именем новой расы.
Если тупо почитерить, то можно добавить себе золота побольше, а потом продать предмет скупщику краденого и купить обратно - это снимает статус украденности. Ну или выбросить на землю и убрать владельца через консоль.
А если для дела, то можно еще несколько вариантов рассмотреть, в зависимости от задачи... Через перк, например. Создаем перк, в нем две Entry Point для перехвата активации предметов и NPC. Первая будет активации предметов, которые можно взять, - нужно навешать соответствующих условий. И скрипт такого типа:
Ничего она не страдает! 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). Но я чего-то думаю, что можно сделать и попроще, сохранив только одну версию призываемого существа. Возможно, получится дать ему пассивное умение, которое будет активироваться при наличии у игрока чего-то там...
Так попробуй поставить рост с уровнем... Не сложно же. Добавление пассивного навыка тоже можно попробовать. "наличине у игрока чего-то" - это включает не только предметы, а и перки, уровни навыков, уровень самого персонажа и что-угодно... Ну и, в крайнем случае, можно сделать так же, как в ванильном скайриме с атронахами. Две версии: обычный и усиленный. После взятия какого-то уровня или перка, начинает призываться усиленный.
А эффективность ванильской нежити от уровня сложности игры зависит... Если играть на "Мастере", например, то дреморы так тащат, что я аж пообещал себе их не использовать.
Разнообразить игру - это я всегда ЗА! Всегда пытаюсь что-то новенькое добавить перед очередным перепрохождением.
В позапрошлый раз изменил магию. Всем существам и игроку значительно увеличил её количество, но почти убил регенерацию. То есть, для регенерации маны приходилось спать 8 часов в безопасном месте. И самому стало интересно магом побыть, и стало возможным победить мага-противника измотав его. Уклоняться от его заклинаний, пока он не потратит ману.
Вот... А в прошлый раз добавил новую расу с уникальной возможностью: концентрацией. Бойцы этой расы могут входить в режим концентрации. Их скорость перемещения и боя возрастает в два раза, а скорость течения времени замедляется в четыре раза. Входящий урон увеличивается - чтоб жизнь малиной не казалось. В общем, было весело уклоняться от стрел и от атак.
Добавлено (15 Октября 2016, 17:59) --------------------------------------------- Я ведь написал (см. Spell ConjureFrostAtronach). Там видно, как наличие у игрока перка переключает призываемого атронаха. Без перка колдуется один маг эффект с обычным атронахом, а с перком - колдуется другой эффект с другим атронахом. Условие можно и другое поставить.. Например, уровень навыка "призываение" выше 75... Да что угодно.
Добавлено (16 Октября 2016, 17:02) --------------------------------------------- Чего-то мне интуиция подсказывает, что gumpus двинулся по неправильному пути несколько шагов назад. Как именно заполняется алиас? Перезапуском квеста или скриптом?
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №973
| Тема: Вопросы по скриптам Papyrus
написано: 18 октября 2016, 15:58
| Отредактировано: Multigone - 23 апреля 2020, 14:31
AlexeyVN, эх, ты сам запутался и нас запутал... Давай начнем с начала.
Во-первых, ты точно понимаешь, что делаешь? (akBaseItem as Armor).SetEnchantment(none) Я не использую SKSE, но я почти уверен, что такая команда снимет зачарование не с конкретного капюшона, а со всех капюшонов данного типа во всём мире.
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №976
| Тема: Вопросы по скриптам Papyrus
написано: 20 октября 2016, 00:34
| Отредактировано: Dsion - 20 октября 2016, 00:35
Вот есть, к примеру: - не зачарованный стальной клинок - стальной клинок с уроном огнем - стальной клинок с уроном льдом - стальной клинок с шансом паралича итд. итп. И у каждого свой базовый предмет и свой базовый ID. Имея в инвентаре клинок с шансом паралича фиг получишь ID обычного не зачарованного клинка. А как ты его получишь..? Вот и я не знаю... Разве что создавать кучу формлистов, связывающих зачарованные предметы с незачарованным.
А пробовали не удалить зачарование с референса, а заменить? Зачаровать референс, база которого уже и так зачарована. Тоже вылетает? Еще я бы попробовал разобраться с этой функцией: http://www.creationkit.com/index.php?title=TempClone_-_Form
Изменение репутации для пользователя Dsion
DsionOffline
Сообщение №979
| Тема: Вопросы по скриптам Papyrus
написано: 2 ноября 2016, 12:33
| Отредактировано: Multigone - 23 апреля 2020, 14:27
SkySwifty, если клацнуть по окну правой кнопкой и выбрать "New", должно появляться окошко для создания отношений. Если не появляется, то это у тебя что-то не так. Перезапускал CK? Альтернативный вариант - это открыть в игре консоль, клацнуть мышью на своего будущего спутника, чтоб выбрался его RefId, и ввести что-то типа setrelationshiprank player 1
Добавлено (07 Ноября 2016, 01:47) --------------------------------------------- drow33, наверное, у оборотня либо фракция осталась очень враждебная жителям, либо в каком-то скрипте затесалось SetAttackActorOnSight.
Ну можно создать новый квест и ничего в нем не менять, а только во вкладке Player Dialogue создать один бранч, один топик и одну инфо. На инфо повесить условие GetIsID, чтоб удовлетворял только твой NPC. Topic Text (слова игрока): Йоу! Как чё? Давай дружить! Response Text (ответ NPC): Ну давай!
И в поле "End" для скрипта что-то типа: (akSpeaker As Actor).SetRelationshipRank(Game.GetPlayer(), 1);
Да? Ну как хочешь... Просто создать нового NPC и сделать его потенциальным компаньоном - это легко и быстро, но такие компаньоны получаются совсем не интересными. Но и самому создавать компаньону историю и характер - проблемно. Хоть бы и потому, что без озвучки всё смотрится вяло. И долго это. Мне больше нравилось брать обычных ванильных NPC и "расширять" их. Можно немного изменить внешность, сделать потенциальным компаньоном, добавить немного истории и характера... Такое... Неужели тебе во всем мире ни один NPC не понравился?
Crunatus, пробовал галочку Quest Item в настройках алиаса? Это единственный не кривой способ. Чтоб закрыть меню без SKSE ничего что-то не припоминаю А с SKSE наверняка есть, но я его не использую.
Нарада, неужели не заметил, что он отображается, если навести курсор на обьет в списке?
Но хрень в том, что в игре этот ID может быть другим. Не для объектов из Skyrim.esm, но для объектов из модов первый байт изменяется: 02, 03, 04, 05 итп. Остальные 3 байте - такие же, как в CK. Иногда проще использовать в игре в консоле команду help. Если ты в CK создал кольцо и дал ему айди SISKI, то в консоли потом можно набрать help SISKI и получить hex id кольца. И добавить его через additem.
Lexo, ничё он не интересный... Можно использовать на акторе метод GetEquippedItemType - возвращает число, соответствующие типу оружия. Можно вызывать на акторе GetEquippedWeapon - возвращает оружие и проверить наличие на оружии кейворда, обозначающего тип. Наверняка так же можно вызывать WornHasKeyword - проверяет, надето ли на акторе что-то с указанным кейвордом. Любой новичок это всё видел на creationkit.com
UntitledX, привет. На мой взгляд, использовать Wait() в твоем случае - вообще не вариант. Серьезно Не делай так. RegisterForSingleUpdateGameTime() - как раз то, что надо. Или RegisterForUpdateGameTime() для регулярного повторения. Но эти функции на замораживают скрипт на указанное время, а вызывают событие OnUpdateGameTime(), когда пройдет время. Что-то такого типа (не уверен и не могу сейчас проверить, но близко):
Код
Event OnInit() RegisterForSingleUpdateGameTime(0.5); вот так мы заказываем вызов ивента через пол часа игрового (!) времени EndEvent
Event OnUpdateGameTime(); а вот этот ивент будет вызван через пол часа Debug.Notification("Hi there!"); EndEvent
Lexo, можешь повесить на активатор вот такое и всё:
Код
Scriptname SionActScript extends ObjectReference
Actor Property PlayerRef Auto; Weapon Property IronSword Auto;
Event OnInit()
If (PlayerRef.GetItemCount(IronSword) > 0) Debug.Notification("Placing sword!"); PlayerRef.RemoveItem(IronSword, 1); PlaceAtMe(IronSword); Else Debug.Notification("You have no swords!"); EndIf