Подскажите, пожалуйста, как в папирусе выглядит функция или команда, которая повышает лимит призванных существ?
В перках есть строчка "modify commanded actor limit", но доступные на выбор функции не дают достаточной гибкости. Как это вообще можно с помощью скрипта реализовать?

Папирус и лимит призванных существ
#2
Отправлено
Для смены этого значения вам нужно поменять соотв функцию в Gameplay -> GameSetting. Это у нас должно быть iMaxSummonedCreatures (по умолчанию 1)
Для смены через скрипт нужно будет использовать вот эту функцию. т.е. Game.SetGameSettingInt("iMaxSummonedCreatures", 1)
Учтите, функция добавлена SKSE.
Численность компаньонов или петов, если что, диктуется через скрипт управляющий системой компаньонов.
- Bolgarec75 это нравится
#3
Отправлено
Для смены этого значения вам нужно поменять соотв функцию в Gameplay -> GameSetting. Это у нас должно быть iMaxSummonedCreatures (по умолчанию 1)
Для смены через скрипт нужно будет использовать вот эту функцию. т.е. Game.SetGameSettingInt("iMaxSummonedCreatures", 1)
Учтите, функция добавлена SKSE.
Численность компаньонов или петов, если что, диктуется через скрипт управляющий системой компаньонов.
Спасибо большое за быстрый ответ.
Без сксе, я так понимаю, не обойтись? В смысле, должно же где-то храниться это значение в любом случае. Или оно просто скрыто/недоступно в creation kit по дефолту?
#4
Отправлено
Спасибо большое за быстрый ответ.
Без сксе, я так понимаю, не обойтись? В смысле, должно же где-то храниться это значение в любом случае. Или оно просто скрыто/недоступно в creation kit по дефолту?
Через просто CK его можно изменить. На верхней панели Gameplay -> Game Setting
- Divico это нравится
#5
Отправлено
Через просто CK его можно изменить. На верхней панели Gameplay -> Game Setting
А в скрипте манипулировать этим значением без SKSE никак не удастся? Я понимаю, что если бы была возможность, то не требовался бы SKSE, но может всё же есть какие-то танцы с бубнами.
Интересуюсь потому, что в дальнейшем хотелось бы и на SE мод перенести, а там SKSE нету и точно неизвестно когда появится
#7
Отправлено
Сделайте свой перк с несколькими точками входа для разного кол-ва существ, каждая из которых будет уникально проверять условие, например глобальную переменную. Добавьте перк игроку player.addperk() и меняйте эту переменную в скрипте. Не надо никакого SKSE.
- ferretcha и Potatoider нравится это
#8
Отправлено
Сделайте свой перк с несколькими точками входа для разного кол-ва существ, каждая из которых будет уникально проверять условие, например глобальную переменную. Добавьте перк игроку player.addperk() и меняйте эту переменную в скрипте. Не надо никакого SKSE.
Дело не в самом перке, а в лимите. Я поставил на перк определенный лимит, который касается одних существ, а другие при превышении своего, другого лимита ломают сразу всех первых. Т.е. существа не заменяют друг друга по одному, а ломают сразу всех призванных, если группы существ привязаны к разным перкам.
Я вот и думал это как-то скриптами решить, а для этого нужно знать функции и т.п.
#10
Отправлено
Меняйте лимит для всех существ в перке.
Но ведь тогда и дефолтных суммонов можно будет призвать много, а это портит весь геймплей мода.
Я думал так сделать, но только при этом написать скрипт, который при вызове существа будет проверять наложен ли маг.эффект с ключевыми словами дефолтных суммонов. Если да, то завершать данный эффект и накладывать новый. Вот только не до конца понимаю в какой ивент/ивенты этот код писать, что бы скрипт можно было прицепить на перк, а не на каждый эффект призыва и оживления.
#12
Отправлено
Все зависит от условий Conditions, которые вы пропишите у точек входа в перке.
В общем, пробовал разные комбинации условий и модификаторов увеличения лимита и пришел к выводу, что работает эта штука очень странно. Если поднять лимит только одним существам, то другие при превышении своего лимита уничтожают сразу всех призванных из той группы, как я и говорил выше. НО! Если использовать модификатор Add Value и повысить лимит двум группам на любое одинаковое количество, именно на одинаковое, то все работает корректно. Другими словами так же, если бы я вместо двух "Add Value +5.00" написал одно, но сразу ко всем, ну или "Set Value 6.00". Не представляю с чем это связано.
Так же удивляет тот факт, что если одним задать +5, а другим +2, то те, что с +2 при превышении своего лимита уничтожают не всех из +5, а оставляют одного. Как я понял, учитывается еще разница между этими значениями зачем-то, ведь если разница меньше, то умирает меньше существ. Если поставить +4 и +3, то из +4 умирает уже только двое. И еще непонятно, почему всей призванной пачкой (ну или по несколько) страдают именно из той группы, в которой лимит больше.
Думал, как вы советовали, использовать глобальную переменную. Хотел повесить счетчик на каждый дефолтный маг.эффект оживления или призыва, который будет добавлять +1, если эффект сработал и просто указать в условиях наложения эффекта эту переменную. Мол, если больше единицы, то не срабатывает. Ну и учесть перк "Парные души". Но потом подумал, что для каждого существа это будет весьма долго, при этом я не знаю всех дефолтных заклинаний, а на все подряд вешать боюсь, вдруг поломает что-то или НПС будут криво это использовать.
Как можно выйти из этой ситуации? Что бы одни существа призывались Х раз, а другие Y без таких последствий. Несколько дней пытался что-то придумать, но либо функции нужной не находил, либо фантазии не хватало
Сообщение отредактировал Divico: 16 января 2017 - 18:04
#13
Отправлено
Ну если уверены, что с условиями в перке вы точно все делали правильно и оно не получается из-за ограничений движка игры, тогда просто повышайте лимит перком без условий до 100 например. А проверки делайте непосредственно в момент каста заклинаний призыва с анализом что призывается, и сколько оного уже призвано.
Попробуйте найти и покопаться в существующих подобных модах если найдете.
- ferretcha это нравится
#14
Отправлено
Ну если уверены, что с условиями в перке вы точно все делали правильно и оно не получается из-за ограничений движка игры, тогда просто повышайте лимит перком без условий до 100 например. А проверки делайте непосредственно в момент каста заклинаний призыва с анализом что призывается, и сколько оного уже призвано.
Попробуйте найти и покопаться в существующих подобных модах если найдете.
Не подскажите, можно ли обойтись одним скриптом или надо на каждое существо вешать?
#15
Отправлено
Не подскажите, можно ли обойтись одним скриптом или надо на каждое существо вешать?
Одним скриптом. Вешать надо на маг. эффект (у спелла). И проверять глобальную переменную ивентом OnEffectStart()
- ferretcha и Bolgarec75 нравится это
#16
Отправлено
Одним скриптом. Вешать надо на маг. эффект (у спелла). И проверять глобальную переменную ивентом OnEffectStart()
Это я понимаю. Я имею ввиду можно ли обойтись одним-двумя скриптами в целом или же необходимо вешать скрипт на каждый маг.эффект для каждого суммона?
Просто призыв относится и к способностям, не только к заклинаниям. Придется искать список всех заклинаний и способностей призыва, вешать скрипты на каждый, выставлять параметры. Боюсь напутать, задеть лишнего или наоборот не дописать что-то, потом среди всего этого искать ошибки.
Если это единственный способ, то вопросов нет, но меня интересует, можно ли откуда-то в одном месте все это контролировать? Например, прицепить скрипт на специально созданный маг.эффект, на котором будет висеть скрипт.
Сообщение отредактировал Divico: 17 января 2017 - 15:06
#17
Отправлено
если честно, я мало с магией работал в СК. Но насколько помню, там нет какого-то единого места, которое можно поменять и все будет как ты задумал. Нужно для каждого маг эффекта скрипт менять.
п.с. хотя, если там суммон происходит не по маг эффекту, а в результате самого explosion (что сейчас мне кажется наиболее вероятным), то я не знаю. Тогда надо игровую переменную менять через сксе. Навскидку приходит такое решение: создать квест, который запустится с загрузкой игры при подключении мода (Start Game Enabled) и сменит значение глобальной переменной iMaxSummonedCreatures на желаемое и завершится.
- ferretcha это нравится
#18
Отправлено
если честно, я мало с магией работал в СК. Но насколько помню, там нет какого-то единого места, которое можно поменять и все будет как ты задумал. Нужно для каждого маг эффекта скрипт менять.
п.с. хотя, если там суммон происходит не по маг эффекту, а в результате самого explosion (что сейчас мне кажется наиболее вероятным), то я не знаю. Тогда надо игровую переменную менять через сксе. Навскидку приходит такое решение: создать квест, который запустится с загрузкой игры при подключении мода (Start Game Enabled) и сменит значение глобальной переменной iMaxSummonedCreatures на желаемое и завершится.
Эх. В общем, как всегда. Проблема появилась в самом неожиданном месте и оказалась самым трудным, из чего состоит мод)
Спасибо за помощь, буду пробовать
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 скрытых