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


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

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

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

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

#3301 Ссылка на это сообщение 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" />


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

#3302 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

ResetCell?

Я пробовал ResetInterior, но результат нулевой.



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

allexa
  • Feci quod potui, faciant meliora potentes

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

Отправлено

Я пробовал ResetInterior, но результат нулевой.

PurgeCellBuffers

после SetAngle z

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



#3304 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

PurgeCellBuffers

после SetAngle z

Получилось. Спасибо всем, кто откликнулся!



#3305 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

Можно ли добавить в инвентарь игрока предмет, который будет значиться как украденный? Ну, или сделать предмет таковым уже непосредственно в самом инвентаре?



#3306 Ссылка на это сообщение Nu-Hatta

Nu-Hatta
  • Скиталец
  • 57 сообщений
  •  

Отправлено

Можно ли добавить в инвентарь игрока предмет, который будет значиться как украденный?

 

С помощью команды Activate можно заставить принудительно взять размещённый в мире предмет, причём, не зависимо от того, где он находится.



#3307 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

Я реализовал движение объекта привязав смещение по осям координат к таймеру внутри скрипта. Оказалось, что скорость движения напрямую зависит от мощности железа и разница весьма значительная. Отсюда вопрос: если вместо таймера в скрипте я использую привязку к игровому времени посредством функции GetCurrentTime (в теории мне это кажется возможным) нивелирует ли это разницу в скорости движения объекта на разных машинах?



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

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

Отправлено

Я реализовал движение объекта привязав смещение по осям координат к таймеру внутри скрипта. Оказалось, что скорость движения напрямую зависит от мощности железа и разница весьма значительная. Отсюда вопрос: если вместо таймера в скрипте я использую привязку к игровому времени посредством функции GetCurrentTime (в теории мне это кажется возможным) нивелирует ли это разницу в скорости движения объекта на разных машинах?

Хотелось бы увидеть сам скрипт. И я не очень понимаю - зачем Вам привязка к игровому времени, когда задавать скорость можно с помощью переменной-множителя?


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

#3309 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

задавать скорость можно с помощью переменной-множителя

Переменную-множитель я использую для замедления объекта в конце движения, но и она обрабатывается с разной скоростью на разных по мощностям компьютерах. В самом скрипте используется стандартный таймер с функцией GetSecondsPassed.



#3310 Ссылка на это сообщение Nu-Hatta

Nu-Hatta
  • Скиталец
  • 57 сообщений
  •  

Отправлено

Скриптовые перемещения объектов (getpos\setpos, getangle\setangle) нужно делать через getSecondsPassed - тогда они будут независимыми от фпс, и скорость одинаковой на любых машинах. Пример:
set xp to ОбъектРеф.getpos x + 60*getSecondsPassed
ОбъектРеф.setPos x xp
Ну тут уже на практике смотри, какое число умножать на getSecondsPassed, чтобы получить нужную скорость.



#3311 Ссылка на это сообщение asrind

asrind
  • Новенький
  • 10 сообщений

Отправлено

.


Сообщение отредактировал asrind: 02 декабря 2021 - 19:16


#3312 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

как слить два плагина Oblivion в один?

Я бы воспользовался утилитой Tes4Edit. Там довольно быстро можно скопировать данные из одного плагина в другой. Главное чтоб в списке плагинов ваш плагин был расположен ниже донорского. Если одежда зачарована, то лучше сначала скопировать зачарования, а потом саму одежду, предварительно удалив с нее чары. А потом добавить чары обратно с новыми FormID. Иначе программа потребует добавить плагин-донор в список мастер-файлов вашего плагина.



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

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

Отправлено

Я бы воспользовался утилитой Tes4Edit. Там довольно быстро можно скопировать данные из одного плагина в другой. Главное чтоб в списке плагинов ваш плагин был расположен ниже донорского. Если одежда зачарована, то лучше сначала скопировать зачарования, а потом саму одежду, предварительно удалив с нее чары. А потом добавить чары обратно с новыми FormID. Иначе программа потребует добавить плагин-донор в список мастер-файлов вашего плагина.

Либо TES4Gecko, который в 2 клика объединяет плагины.


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

#3314 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

Задумал тут одну вещь: хотел сделать так, чтобы при условии завершения основного квеста и наступления нового года по игровому календарю, год сбрасывался на первый, а эра изменялась на 4ю. Собирался даже выпустить номер "вороного курьера" посвященный этому событию, и набросал его текст в уме, но в очередной раз меня ждало разочарование. Год сбросить не проблема, а "3я эра" это просто текст в меню и изменить его не представляется возможным. Жалко...



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

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

Отправлено

"3я эра" это просто текст в меню и изменить его не представляется возможным

Этот текст также должен быть где-то прописан, возможно, что в каком-то из XML-файлов интерфейса или же - это игровая настройка.


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

#3316 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

Попробовал изобразить спарринг двух NPC взяв за основу тренировку клинков в храме повелителя облаков. В точности скопировал их скрипты (кроме фрагмента с повышением навыка у игрока при наблюдении), а также AI пакеты с привязкой к маркерам на локации. В результате получилось не совсем то, что хотелось. А именно: мои NPC совсем не используют блок и лупят друг друга без остановки. Если оказаться в поле зрения одного из них, не важно, на каком расстоянии, то он прекращает спарринг и просто стоит с оружием наизготовку, в то время, как второй продолжает его дубасить. Может кто-нибудь сталкивался с подобным? Возможно есть нюанс, который я упустил... Изменение CombatStyle ничего не дает.

А упустил я следующее: Нужно было у маркера (на который ссылается AI пакет) во вкладке "X Target Data" указать RefID спарринг-партнера.


Сообщение отредактировал Pimple03: 18 декабря 2021 - 21:34


#3317 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

Я заскриптовал объект-активатор на "Bigin OnHitWith" определенным оружием и выяснилось, что скрипт не работает. Как же так, подумал я, ведь я уже использовал подобный скрипт, только вместо оружия была стрела. Забавно, но на стрелу мой активатор сразу заработал, но он никак не реагирует ни на какое оружие. Больше того, он не работает даже просто с "Begin OnHit". Пораскинув мозгами, я пришел к выводу, что скрипт не срабатывает, потому, что активатор не получает урона. Почему же он реагирует на стрелу? Видимо потому, что реакция на попадание стрелой по неживому объекту была запрограммирована, чтобы сработала "стрела высвобождения" и обучающий квест с ведром. Или я опять что-то упустил?


Сообщение отредактировал Pimple03: 20 декабря 2021 - 23:06


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

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

Отправлено

Я заскриптовал объект-активатор на "Bigin OnHitWith" определенным оружием и выяснилось, что скрипт не работает. Как же так, подумал я, ведь я уже использовал подобный скрипт, только вместо оружия была стрела. Забавно, но на стрелу мой активатор сразу заработал, но он никак не реагирует ни на какое оружие. Больше того, он не работает даже просто с "Begin OnHit". Пораскинув мозгами, я пришел к выводу, что скрипт не срабатывает, потому, что активатор не получает урона. Почему же он реагирует на стрелу? Видимо потому, что реакция на попадание стрелой по неживому объекту была запрограммирована, чтобы сработала "стрела высвобождения" и обучающий квест с ведром. Или я опять что-то упустил?

Все верно, эти блоки не работают на активаторах. Игра реагирует только на прожектали (магические снаряды и стрелы, т.к они, походу, чуть иначе обрабатываются).


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

#3319 Ссылка на это сообщение Pimple03

Pimple03
  • Авантюрист
  • 116 сообщений

Отправлено

Все верно, эти блоки не работают на активаторах.

Может есть способ как-то по другому зафиксировать удар оружием по активатору?



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

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

Отправлено

Может есть способ как-то по другому зафиксировать удар оружием по активатору?

По классике - ставят кричера на место активатора и по его скрипту считывают удары. Можно попробовать использовать триггер, хотя я так никогда не делал.
Есть еще мысль через GetCrosshairRef считывать объект в перекрестии игрока, затем проверять анимацию атаки через AnimPathIncludes и уже по полученным результатам считать хиты. Сам я такой скрипт не писал, концепция давно вынашивается в голове, но реализовывать не пробовал, т.к не было надобности.
На нексусе где-то был мод, типа NPC Box, который, якобы, ловил удары. По этой схеме был построен локальный урон по актерам. Мод не разбирал, хз, как он досконально устроен.


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

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

allexa
  • Feci quod potui, faciant meliora potentes

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

Отправлено

Есть еще мысль через GetCrosshairRef считывать объект в перекрестии игрока

По моему именно так и реализовано разбивание замков в моде Lock Bash Omega (включен в состав ООО)
если интересно, вот код

КОД






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

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

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