Тема для вопросов по скриптингу.
Функции папируса:
На английском
На русском (не все, но базис)
#261
Отправлено
- werr, Chesh¡re и Olechkafum нравится это
#262
Отправлено
После того, как перенёс "dlc2miraakscript" в нужную папку выдаёт это
Последнюю оставшуюся ошибку, которая говорит:
too many arguments passed to function
Что в функцию ("DeathSequence") суётся слишком много аргументов. Конструкция "MQKillDragon.DeathSequence" значит, что функция вызывается из объекта MQKillDragon. Ищем этот скрипт.
И вот тут-то самое весёлое - есть "MQKillDragon" из основной игры, и в нём эта функция только с одним аргументом:
function DeathSequence(Actor dragonRef)
Т.е. вот это вот "MQKillDragon.DeathSequence(Dragon.GetActorReference(), Miraak.GetActorReference())" с двумя актёрами-аргументами - драконом и Мираком - сюда не подходит.
А есть "MQKillDragon" в папке исходников DLC Dragonborn - этот же скрипт, обновлённый специально для DLC, в котором эта функция как раз с двумя аргументами:
function DeathSequence(Actor dragonRef, Actor AbsorbActor = None, bool MiraakAppears = False)
Тебе нужно забэкапить (необязательно, впрочем) этот скрипт в Source, потом заменить его на новый из Source/Dragonborn, после чего всё спокойно скомпилится.
#263
Отправлено
Последнюю оставшуюся ошибку, которая говорит:
Что в функцию ("DeathSequence") суётся слишком много аргументов. Конструкция "MQKillDragon.DeathSequence" значит, что функция вызывается из объекта MQKillDragon. Ищем этот скрипт.
И вот тут-то самое весёлое - есть "MQKillDragon" из основной игры, и в нём эта функция только с одним аргументом:function DeathSequence(Actor dragonRef)Т.е. вот это вот "MQKillDragon.DeathSequence(Dragon.GetActorReference(), Miraak.GetActorReference())" с двумя актёрами-аргументами - драконом и Мираком - сюда не подходит.
А есть "MQKillDragon" в папке исходников DLC Dragonborn - этот же скрипт, обновлённый специально для DLC, в котором эта функция как раз с двумя аргументами:function DeathSequence(Actor dragonRef, Actor AbsorbActor = None, bool MiraakAppears = False)Тебе нужно забэкапить (необязательно, впрочем) этот скрипт в Source, потом заменить его на новый из Source/Dragonborn, после чего всё спокойно скомпилится.
Появилось ещё несколько "зависимостей" нужного мне скрипта от скрипта dlc2mq06miraakbossbattle, dlc2miraakcombatmagiclevelingscript, dlc2mqbosstentaclecontroller, dlc2mq06script, dlc2standingstonescript... В итоге, мне надоело постоянно компилировать скрипт, перекидывать искомый скрипт из .../Data/Scripts/Source/Dragonborn в папку .../Data/Scripts/Source, поэтому я просто сразу перекинул все скрипты из .../Data/Scripts/Source/Dragonborn в .../Data/Scripts/Source. Как итог - всё заработало и скрипт скомпилировался!
UPD: изменил скрипт, добавив нужный мне фрагмент - всё, опять таки, скомпилировалось! Наконец то!
Огромное вам спасибо, мил-добр человек, во первых - за то что стерпели мой тупизм
Сообщение отредактировал mr Jygalag: 26 марта 2018 - 19:34
#264
Отправлено
Если бы у меня заклинание не работало, то тогда было бы понятнее, чем в моей ситуации (заклинание иногда работает, а потом "выключается" и не вызывает сообщение)
P.s: ccылка на архив с ESP и BSA мода, если надо "пощупать" - тык. Заклинание (его Том для изучения) лежит в "Белом Флаконе", на втором этаже, на тумбочке рядом с кроватью. Для работы необходимо дополнение Dragonborn
Если что, все новые эффекты/заклинания/переменные/etc в моде начинаются с приставки "DSM".
P.s: "кракозябры" в названии заклинания не стал убирать, лень было
Сообщение отредактировал mr Jygalag: 30 марта 2018 - 18:32
#267
Отправлено
Доброго времени! Немного споткнулся, нужна помощь:
1. Как сделать чтоб в эффекте проигрался определенный звук? Пробовал так:
Sound Property ТSound Auto Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect) ... ТSound.play(Self.GetRef()) ... EndEvent
Скрипт нормально сохраняется, но в игре не работает однако.
2. Как сделать проверку в скрипте, что определенный маркер (Xmarker) находится в определенной локации? GetDistance мне для этого не подходит.
Какую функцию для этого лучше использовать (IsInLocation? GetCurrentLocation? GetLocation?), и как?
Заранее спасибо за любую помощь. Подойдут так же готовые скрипты из игры, если такие есть.
#271
Отправлено
Вопрос - может кто описать, насколько это подробно, создание циклического меню (т.е меню с несколькими уровнями и возможностью перемещаться по ним)?
Через месседжбоксы чтоль?
Делаешь как обычный месседжбокс, только на кнопках для вызова под-меню вместо "сделать что-то скриптом" будет "открыть другой месседжбокс".
Соответственно в под-меню вместо кнопки "выход" будет "вызвать основное меню".
Сообщение отредактировал Azazellz: 05 апреля 2018 - 06:37
#272
Отправлено
Я уже разобрался сам, просто следовало немного погуглить.Через месседжбоксы чтоль?
Делаешь как обычный месседжбокс, только на кнопках для вызова под-меню вместо "сделать что-то скриптом" будет "открыть другой месседжбокс".
Соответственно в под-меню вместо кнопки "выход" будет "вызвать основное меню".
#273
Отправлено
Ещё, как альтернативу, можно скинуть мод, где такая система уже была реализована, а то я, поискав немного на Нексусе, как-то ничего не нашёл.
#276
Отправлено
Вопрос - как осуществляется вызов собственной функции (т.е. созданной мной) в других скриптах? Также пытался найти информацию о наследовании одного созданного скрипта к другому созданному скрипту, но не нашёл ничего толкового.
Также, ещё вопрос - как мне "искусственно" повысить очки брони у персонажа? Т.е, в независимости от того, какую одежду/броню носит персонаж, у него всегда было определённое число брони. Посмотрел Actor Value - ничего подобного там нет
Сообщение отредактировал mr Jyggalag: 17 апреля 2018 - 19:04
#277
Отправлено
Вопрос - как осуществляется вызов собственной функции (т.е. созданной мной) в других скриптах? Также пытался найти информацию о наследовании одного созданного скрипта к другому созданному скрипту, но не нашёл ничего толкового.
Также, ещё вопрос - как мне "искусственно" повысить очки брони у персонажа? Т.е, в независимости от того, какую одежду/броню носит персонаж, у него всегда было определённое число брони. Посмотрел Actor Value - ничего подобного там нет
https://www.creation...ction_Reference
Разделы "Calling Functions" и "Accessing Functions From Other Scripts"
За "броню" отвечает параметр DamageResist.
Сообщение отредактировал Azazellz: 17 апреля 2018 - 19:17
#278
Отправлено
Т.е, как я понял, мне просто надо прописатьhttps://www.creation...ction_Reference
Разделы "Calling Functions" и "Accessing Functions From Other Scripts"
myRefAliasScript property refScript autoа затем через refScrip вызывать функции из скрипта myRefAliasScript?
#281
Отправлено
Иногда я думаю почему же в Папирусе всё сделано через жопу. Потом вспоминаю кто его делал и всё встаёт на свои места.
https://youtu.be/acmxWIF3ZZk
Темы с аналогичным тегами papyrus, help, скрипты, вопросы
Моддинг →
Моддинг Skyrim →
Восстановление на основе Зала ДозораАвтор Alex_andra, 11 дек 2023 mod, help |
|
|||
|
Моддинг →
Моддинг Skyrim →
Отстройка ВинтерхолдаАвтор Alex_andra, 10 авг 2023 bugs, moding, help |
|
||
Моддинг →
Моддинг Oblivion →
Скрипт Для СнаряженияАвтор БесездаБойчик, 07 сен 2022 скрипты, скрипт |
|
|||
Моддинг →
Моддинг Skyrim →
Нужны добровольцы для теста модаАвтор arkadiy111, 11 апр 2022 help |
|
|||
help
Моддинг →
Моддинг Skyrim →
Ram and Skyrim seАвтор Samurai1, 03 апр 2022 help |
|
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых