Перейти к содержимому


Фотография
* * * * - 12 Голосов

Вопросы по плагиностроению

как создать торговца oblivion cs торговец cs как создать торговца oblivion моделирование

  • Авторизуйтесь для ответа в теме

#3401 Ссылка на это сообщение X-command

X-command
  • Следопыт
  • 70 сообщений

Отправлено

Здесь задавать вопросы по плагиностроению для Обливиона.

Тема по Обливиону. Тема по Морровинду тут.


<a href="http://profile.xfire.../xcommand"><img src="http://miniprofile.x...2/xcommand.png" border="0" class="linked-sig-image" /></a>
Сила - способность улыбаться © Белльмере-сан "One Piece"<img src="http://www.kolobok.u...zer/pirate.gif" border="0" class="linked-sig-image" />


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3640

#3402 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

jpsmith, насколько я помню, уровень неписей ловит клин, если актер уже был размещен в мире и игрок посещал ячейку, где НПС обитает. Оно нормально не обновляется вот так сразу, нужно ждать респауна. У меня были похожие трудности с системой лвл-апа для Лилит, когда я отменил у нее рост вслед за игроком, а прописал свою систему прокачки. Тут может помочь функция SetLevel, но с ней нужно немного помудрить, дабы все верно установилось. Я давно уже этой темой не занимался, точно сказать не смогу.


Ничто не истинно, все потрачено

#3403 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

jpsmith, насколько я помню, уровень неписей ловит клин, если актер уже был размещен в мире и игрок посещал ячейку, где НПС обитает. Оно нормально не обновляется вот так сразу, нужно ждать респауна. У меня были похожие трудности с системой лвл-апа для Лилит, когда я отменил у нее рост вслед за игроком, а прописал свою систему прокачки. Тут может помочь функция SetLevel, но с ней нужно немного помудрить, дабы все верно установилось. Я давно уже этой темой не занимался, точно сказать не смогу.

Я уже пару дней экспериментирую с этим делом. Гугл до дыр зачитал (очень трудно сформулировать критерии поиска). Спрашивал умных людей (которых удалось найти).
Это я к тому, что размещение в мире, респаун и все прочее - проверено. Никакого эффекта!
Был совет "resurrect"-нуть того NPC, которому нужно изменить уровень. Делаю. Он остается таким, как прописан в oblivion.esm: с "offset"-ом от уровня ГГ.
Так что подозреваю, дело именно в "offset"-е. Потому что уровень NPC без "offset"-а меняется без всяких заморочек.

p.s. Решил попробовать, как сработает SetLevel. Отловил NPC (с "offset"-ом), применяю SetLevel 35. Был 16 уровень (+10 к 6 уровню ГГ), стал 41.
При том, что в описании функции вообще-то сказано, что применение ее с одним параметром устанавливает абсолютный уровень на величину параметра (SetLevel 10: устанавливает абсолютный уровень вызывающего актера на 10).


Сообщение отредактировал jpsmith: 06 мая 2022 - 15:32


#3404 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

jpsmith, раз через конструктор не поддается, пробуйте менять сперва через консоль, используя SetLevel. У этой функции есть опция отмены Offset'а, она должна работать нормально. Походу, порядок загрузки тоже играет роль, раз игра все равно берет значения из мастер-файла, игнорируя внесенные Вами изменения. 


Ничто не истинно, все потрачено

#3405 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

jpsmith, раз через конструктор не поддается, пробуйте менять сперва через консоль, используя SetLevel. У этой функции есть опция отмены Offset'а, она должна работать нормально. Походу, порядок загрузки тоже играет роль, раз игра все равно берет значения из мастер-файла, игнорируя внесенные Вами изменения. 

Сдаться? Это точно невозможно сделать? Или просто я слишком мало знаю еще о том, как в конструкторе все работает? Не может быть так, что где-то надо галочку снять/поставить, чтобы все заработало нормально?
Функции мне, как я пока себе вижу, помогут мало.
Задача стоит так, что нужно "фирменным" стражникам (из oblivion.esm) сделать именно абсолютный уровень, "отвязать" от уровня ГГ. Как мне в этом функции помогут? Вылавливать их после спауна? Каждого в отдельности?
Навскидку казалось, что самое что ни на есть простое редактирование мастер-файла решит задачу.
Порядок тоже всячески испробован. Мод с редактированием стражника стоит последним в списке. Собственно, я даже убирал вообще все моды, которые были, оставляя только этот один.


Сообщение отредактировал jpsmith: 06 мая 2022 - 12:11


#3406 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

jpsmith, ну, почему сразу сдаться?
В Обле не всегда простые задумки легко реализовать и зачастую бывают немыслимые сложности там, где их, по логике, быть и не должно вовсе.
Вашу задумку можно реализовать и через скрипты, причем тут есть несколько вариантов, которые нужно пробовать. Возможно даже не придется никак менять ванильных стражников, а просто создать сканер НПС через спелл, который будет кастоваться активатором над головой у игрока, в радиусе 2048 юнитов. Спелл будет иметь ряд условий на проверку актера и если они соответствуют заданным, можно менять уровень на статичный через SetLevel, убирая этой же функцией Offset. Внесенные изменения сохраняются с сейвах игры, так что все должно сработать. Причем, уровень можно будет ставить действительно рандомный в определенном интервале от 30 до 35, используя функцию Rand. Иными словами, выход есть, просто пробовать нужно.


Ничто не истинно, все потрачено

#3407 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

jpsmith, ну, почему сразу сдаться?
В Обле не всегда простые задумки легко реализовать и зачастую бывают немыслимые сложности там, где их, по логике, быть и не должно вовсе.
Вашу задумку можно реализовать и через скрипты, причем тут есть несколько вариантов, которые нужно пробовать. Возможно даже не придется никак менять ванильных стражников, а просто создать сканер НПС через спелл, который будет кастоваться активатором над головой у игрока, в радиусе 2048 юнитов. Спелл будет иметь ряд условий на проверку актера и если они соответствуют заданным, можно менять уровень на статичный через SetLevel, убирая этой же функцией Offset. Внесенные изменения сохраняются с сейвах игры, так что все должно сработать. Причем, уровень можно будет ставить действительно рандомный в определенном интервале от 30 до 35, используя функцию Rand. Иными словами, выход есть, просто пробовать нужно.

Наверное, правильнее было бы написать, зачем мне изменение уровня стражника.
Есть мод, который вроде как убирает авто-левелинг. Из-за чего стражники, скажем, 13 (+10 к 3-му уровню ГГ) могут встретить сприганна, пуму или медведя (а то и двух). Каждый из которых этого стражника разматывает, не напрягаясь.
Автор мода, похоже, на него забил.
С одним приятелем думали, как бы нам обустроить Рос... Сиродил.
Идея номер раз: вместо одного стражника сделать патруль из двоих. Идея с треском провалилась, когда прикинули, чего это будет стоить.
Идея номер два: дать стражнику зелья лечения и научить их использовать, если количество НР сильно упало. Аналогично: надо раздать зелья, надо научить их использовать, надо наделать скриптов, чтобы проверяли, есть ли зелья, ибо - вылеты и краши... И - то же, что и выше: зелья-то надо положить в инвентарь "фирменных" стражников!
Идея номер три: то, о чем спрашиваю. Казалось самой простой: всего-то делов - поправить уровень! И - на тебе!



#3408 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

jpsmith, идея номер 4 - выдать им скриптовые абилки, которые повышают 2 параметра: AttackBonus и DefendBonus. Они нигде не задокументированы, но реально работают и имеют эффект.
В общем, лично я бы заморочился со сканнером.


Ничто не истинно, все потрачено

#3409 Ссылка на это сообщение Atosamyc

Atosamyc
  • Пейте дети молоко!

  • 8 074 сообщений
  •    

Отправлено

 

Хех, знаю что оффтоп, но пользуясь случаем...

 

Кхм-кхм.

 

КОГДА ЦБ 2????  :D:


Як-цуп-цоп

#3410 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

jpsmith, идея номер 4 - выдать им скриптовые абилки, которые повышают 2 параметра: AttackBonus и DefendBonus. Они нигде не задокументированы, но реально работают и имеют эффект.
В общем, лично я бы заморочился со сканнером.

Хорошо, когда есть багаж знаний, с которым можно заморачиваться. Не мой случай (хотелось бы думать, что "пока").

Так вот, по теме: если начать новую игру, то изменения к "offset"-ным NPC применяются! Сделал Клоду Марику 30 уровень, сохранил как мод, начал новую игру - бинго! У Клода Марика 30 уровень!
Вопрос, стало быть, несколько трансформируется: можно ли как-то обойти это извращение (получить изменения в существующей игре)? Я уже больше 100 часов наиграл. Теперь все заново?
 



#3411 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

Хорошо, когда есть багаж знаний

Я сейчас сам набросал себе тут скрипт, который бы менял уровень у стражников, но, по какой-то причине, после введения функции SetLevel, у меня игра вываливается на рабочий стол. В чем причина - я хз, посему проверить работоспособность не получится.

 

если начать новую игру, то изменения к "offset"-ным NPC применяются!

По идеи, раз стража респавнится, то изменения должны в любом случае вступить в силу. Правда ждать придется 30 игровых дней, находясь в интерьере где-нибудь далеко. С фракциями, кстати, такая же история. Если они были добавлены через редактор, то не применяются здесь и сейчас. Нужно либо вообще отключать мод, делать сейв и снова включать, либо фракцию прописывать скриптом.


Ничто не истинно, все потрачено

#3412 Ссылка на это сообщение allexa

allexa
  • Feci quod potui, faciant meliora potentes

  • 219 сообщений
  •    

Отправлено

Так вот, по теме: если начать новую игру, то изменения к "offset"-ным NPC применяются!

Хотел написать раньше но не получалось...
Так вот, по теме, есть такое понятие "Память сейва", - а это значит: какие бы изменения вы не производили, и какие бы приоритеты (в порядке загрузки модов) не задавали, то что прописано в сейве имеет наивысший приоритет.
Возможно и есть какое нибудь решение (типа подождать 30 дней, этот мод вам в помощь https://tesall.ru/fi...stroe-ozhidanie чтобы быстро проверить), в частности как решить вашу проблему, я не знаю (не было повода), но в других случаях (связанных к примеру с размещением объектов) это удалось с помощью одноразовых скриптов.
пс. ведь не просто так в аннотации к некоторым модам указано "Обязательно начало новой игры".... (на это есть причины)
 

 



#3413 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

Я сейчас сам набросал себе тут скрипт, который бы менял уровень у стражников, но, по какой-то причине, после введения функции SetLevel, у меня игра вываливается на рабочий стол. В чем причина - я хз, посему проверить работоспособность не получится.

 

По идеи, раз стража респавнится, то изменения должны в любом случае вступить в силу. Правда ждать придется 30 игровых дней, находясь в интерьере где-нибудь далеко. С фракциями, кстати, такая же история. Если они были добавлены через редактор, то не применяются здесь и сейчас. Нужно либо вообще отключать мод, делать сейв и снова включать, либо фракцию прописывать скриптом.

По SetLevel-у: "меня терзают смутные сомненья": если применить SetLevel из консоли, уровень изменяется на "offset-ную величину, а не становится таким, как значение аргумента.
Что лично меня настораживает: что будет после повышения уровня ГГ? Не придется ли этот SetLevel делать каждый раз после этого повышения?

По респауну: аналогичные сомнения! Ressurect разве не должен помочь?
Как бы там ни было: трюк с 30 днями не помогает. Прождал я (в интерьере!) аж 33 дня. Уровень у стражника не изменился (+10 к уровню ГГ).



#3414 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

Так вот, по теме, есть такое понятие "Память сейва", - а это значит: какие бы изменения вы не производили, и какие бы приоритеты (в порядке загрузки модов) не задавали, то что прописано в сейве имеет наивысший приоритет.

Возможно и есть какое нибудь решение (типа подождать 30 дней, этот мод вам в помощь https://tesall.ru/fi...stroe-ozhidanie чтобы быстро проверить), в частности как решить вашу проблему, я не знаю (не было повода), но в других случаях (связанных к примеру с размещением объектов) это удалось с помощью одноразовых скриптов.
пс. ведь не просто так в аннотации к некоторым модам указано "Обязательно начало новой игры".... (на это есть причины)
 

1. Ни разу не встречал моды, у которых было бы требование "Обязательно начало новой игры" (моды к Обливиону, конечно). Реально такие есть?!
2. "30 дней" уже попробовал. Никакой реакции. Не помогло.
3. Насчет "памяти сейва" - туманно как-то, нет? Не, я читал, что есть хитрые методики удаления некоторых модов (типа "сохрани -> выключи и удали мод - снова сохрани -> 7 раз ударь в барабан"), но - опять-таки - ни разу не случалось такого делать. Если содержимое сейва столь приоритетно, куча модов просто-напросто не смогут нормально работать, как мне кажется. Нет?
Надо ли понимать так, что при выходе ГГ из канализации игра ВСЕМ NPC прописала нужные статы/параметры? (И ладно бы "на выходе из канализации"! Она, похоже, всем всё прописывает, даже если сохраниться еще в камере до прихода Императора!).
И черт с ней, со всей этой теорией. Не может быть так, чтобы не было какого-то способа симулировать начало новой игры.


Сообщение отредактировал jpsmith: 06 мая 2022 - 17:01


#3415 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

По SetLevel-у

"SetLevel 30, 0" - вот так должно быть и нужно вводить. Флаг 0 обязателен, чтобы отключить Offset.

 

Как бы там ни было: трюк с 30 днями не помогает.

Тогда я иссяк, поскольку уже писал выше, что заморачивался скриптами больше и все мои НПС, которые я создавал с уровнями, изначально были уникальными и с отключенным Offset'ом.


Ничто не истинно, все потрачено

#3416 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

"SetLevel 30, 0" - вот так должно быть и нужно вводить. Флаг 0 обязателен, чтобы отключить Offset.

Всяко вводил. Почитал описание функции, так что вводил и просто число, и с 0 через запятую - работает одинаково. "Offset"!



#3417 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

Всяко вводил. Почитал описание функции, так что вводил и просто число, и с 0 через запятую - работает одинаково. "Offset"!

Ну ок, тогда сначала попробуйте ввести SetPCLevelOffset 0, а затем уже просто SetLevel 30, 0.


Ничто не истинно, все потрачено

#3418 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

Ну ок, тогда сначала попробуйте ввести SetPCLevelOffset 0, а затем уже просто SetLevel 30, 0.

Хоть что-то! Если так вводить - срабатывает! Можно любой уровень выставить. Запишу себе в книжечку, может, пригодится когда-нибудь.



#3419 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

Хоть что-то! Если так вводить - срабатывает! Можно любой уровень выставить. Запишу себе в книжечку, может, пригодится когда-нибудь.

Ага, т.е таким образом оно работает?
Сделайте сейв, выйдите из игры и снова зайдите. Потом проверьте уровень НПС.


Ничто не истинно, все потрачено

#3420 Ссылка на это сообщение jpsmith

jpsmith
  • Скиталец
  • 34 сообщений
  •  

Отправлено

Ага, т.е таким образом оно работает?
Сделайте сейв, выйдите из игры и снова зайдите. Потом проверьте уровень НПС.

Таким образом работает. И - да: если сделать сейв, выйти и зайти заново, уровень сохраняется.
Скажу больше: если теперь изменить уровень у ГГ, то у этого моба он остается тем, который был введен командой.
Это что же получается?
Узнаю RefID-ы всех, кому хочу поменять уровень, делаю квест/скрипты - и готово?!



#3421 Ссылка на это сообщение Takirell

Takirell
  • <~Broken Steel~>
  • 901 сообщений
  •    

Отправлено

Узнаю RefID-ы всех, кому хочу поменять уровень, делаю квест/скрипты - и готово?!

Ну, вообще, я уже сделал отдельный esp, в котором есть сканер, который чекает всех актеров в радиусе 2048 юнитов и если непись - стражник, меняет его уровень на любой в интервале с 30 по 35-й. Просто у меня SetLevel выбивает игру почему-то.
А так - да, по сути, это является решением Вашей проблемы.


Ничто не истинно, все потрачено





Темы с аналогичным тегами как создать торговца, oblivion cs торговец, cs как создать торговца, oblivion, моделирование

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых