Форум » Записи участника [Myprism]

Результаты поиска
Myprism  Offline  Сообщение №1351 | Тема: Вопросы по Creation Kit SE написано: 30 декабря 2016, 07:53 | Отредактировано: Myprism - 30 декабря 2016, 08:04


Физик


snnut,
Объясню подробнее про навмеши. Есть у нас 2 смежные ячейки. В одной (А) мы редактировали навмеши. Во второй (Б) - нет. При финализации ячейки А изменёнными считаются обе ячейки. Если кто-то ещё редактировал ячейку Б, то имеем несовместимость модов, так как в случае, если мой мод стоит в загрузке позже, то изменения вносимые другим модом игнорируются. Но ведь если номера треугольников ячейки А пограничные с Б не менялись, то все записи о финализации ячейки Б остаются неизменными. А это значит, что все изменения ячейки Б можно просто отменить, работоспособность её сохранится, но она больше не будет входить в мой мод и вызывать проблемы совместимости.

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

6. Выставлял. Именно playerfaction. Попробую отменить.
Попробовал. Ни на что не влияет.

7. Лидия не сидит, но действует крайне ограниченно. Там сразу несколько багов. Главный - маркер её кровати находится за стеной и она не может там спать. Радиус действия её пакета маленький, а маркер стоит на втором этаже. Навмеши в её комнате кривые, там без причины есть островной навмеш. Кровать ей Артмур поправил.

8. Редактор начинает рассказывать о ванильных ошибках и довольно долго приходится говорить ему ДА. Дальше он ругается на каждую русскую букву и заполняет этой руганью свой лог. В прежней версии Скайрима я этот лог всегда читал, так как находил там полезные для себя вещи. Сейчас это нереально.
Цитата snnut

И так, ради интереса, вы не пробовали загрузить новую игру, где вы еще не входили в "музей", сделать новый сейв, загрузиться на этот сейв и потом уже войти в "музей" ? Например, с новыми диалогами всегда так. Чтобы они корректно работали нужно всегда один раз сделать сейв и загрузиться на новый сейв.

Совершенно верно! Именно так. Глюк есть только при первом заходе в Музей с чистой игры. Достаточно один раз там сохраниться и глюка больше не существует.

Myprism  Offline  Сообщение №1352 | Тема: Технический F.A.Q. Skyrim Special Edition написано: 30 декабря 2016, 09:26


Физик


Дариан, вечером я уже не смогу вам помочь, так как буду лететь в Ханой :)

Myprism  Offline  Сообщение №1353 | Тема: Вопросы по Creation Kit SE написано: 30 декабря 2016, 12:52


Физик


Цитата snnut

Принцип вам понятен о чем я пишу ?

Вам не приходило в голову, что у нас могут быть совершенно одинаковые претензии друг к другу? :)
С наступающим Новым Годом! Через пол часа ухожу в офлайн на 10 дней :)

Myprism  Offline  Сообщение №1354 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 14 января 2017, 02:01 | Отредактировано: Myprism - 14 января 2017, 02:09


Физик


Помню замечание из одного учебника по Дельфи (язык программирования): Если что-то получается слишком сложно, значит вы делаете что-то не то :) .
Так и со Скайримом. Это набор вроде детского конструктора или кубиков. Есть комплект определённых деталек. Их ограниченное количество, хотя и много. Со стороны кажется, что сделать из них можно что угодно, но это не так. Тут важно научиться делать не то, что хочется, а то, что этот набор позволяет. По крайней мере, ограничивать желания. Например, из детского конструктора можно собрать портальный кран или автомобиль. Там есть пластины с дырками под винты, оси и колёса. Но из него нельзя сделать ложку или вилку. В принципе - можно. Взять детали конструктора, переплавить их и отлить ложку или вилку. Но для этого требуются уже совсем не те умения, на которые рассчитан детский конструктор. Кроме того, если у человека хватает умений на переплавку, то он сообразит, что ложки и вилки лучше отливать из алюминия из использованных пивных банок, а не из стали детского конструктора :)

Myprism  Offline  Сообщение №1355 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 16 января 2017, 00:42


Физик


gangrena1972Dsion, квест компаньонов можно и обойти. Вообще обойтись без него. Я это сделал в своём моде Фалмерки. Там есть 6 фалмерок, любое число которых можно взять в компаньоны, не зависимо от того, кто ещё сопровождает ГГ. Для этого просто потенциальному компаньону ставится специальный пакет сопровождения, который выполняется при соблюдении некоторого условия. У меня это условие - передача фалмерке специального колечка. Т.е. получила колечко - стала спутником. Отобрали колечко - пошла домой. Преимущество - работает не зависимо от квеста компаньонов и можно сделать гораздо более интересный пакет следования. В частности, я повторил самостоятельность Сераны. Кроме того, сильно увеличил радиус действия пакета. Тогда компаньон не мешается под ногами и ему доступна фурнитура в круге большего радиуса. Пришёл к полевую лабораторию Синедриона с тремя спутниками (два обычных, UFO), занимаюсь алхимией, оглядываюсь, а третья фалмерка уже разлеглась на кровати и спит :) Тут даже Серана отдыхает :)

А вот по озвучке ничего подсказать не могу :( Я ненавижу то, как это реализовано в ванильной игре :(

Myprism  Offline  Сообщение №1356 | Тема: Вопросы по текстурированию написано: 18 января 2017, 16:14


Физик


Stannn, таким образом ничего не получится. Тут важно не число полигонов, а число их вершин - вертексов. Каждый вертекс имеет текстурные координаты, т.е. привязку к карте нормалей. Старые вертексы имеют текстурные координаты, а вот будут ли они у новых, зависит от применённого редактора. Тут гораздо страшнее то, что каждый вертекс должен двигаться вместе с телом, т.е. быть привязан к одной или нескольким костям. Информамация о такой привязке (скининге) в obj-файле не содержится и работа со скинингом гораздо сложнее работы с формой тела. Кстати, а на фига больше полигонов? У тел их и так изрядно, а лишние полигоны это лишняя нагрузка на компьютер и тормоза в игре.

Lexo, для тел не используют vertex color. Там и нормали вертексов не используют.

Myprism  Offline  Сообщение №1357 | Тема: Вопросы по моделированию написано: 20 января 2017, 15:38


Физик


Цитата alexwar

я пользу - NifSkope - 2 , а плагин зависит смотря какой МАКС

Всё в нём хорошо кроме одного: он ничего не импортирует.  Экспортировать OBJ позоляет, а вкладка импорта неактивна. В результате я практически не могу им пользоваться. Не могу импортировать в него модели из Бледера через 3ds и OBJ и не могу импортировать OBJ, которые редактирую другими способами.

Кстати, тут Антон делал специальную утилиту импортирования модели в NIF-файл. Меня это в своё время очень удивило, так как я долго сидел на НИФскопе 1.1.0, который прекрасно берёт и 3ds и OBJ. Потом я поставил 1.1.3 и озадачился, заметив, что при импорте 3ds он теряет текстурные координаты. Просмотрел много версий его и обнаружил, что никакой НИФскоп старше 1.1.2 не способен импортировать 3ds, не потеряв текстурные координаты вертексов. А версия 2 вообще ничего импортировать не может :(

Myprism  Offline  Сообщение №1358 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 22 января 2017, 03:50


Физик


Aksyonov, а сохранение, которое ты используешь для тестов, чистое? Иначе разные чудеса возможны...

Myprism  Offline  Сообщение №1359 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 22 января 2017, 11:36


Физик


Kepper, для манекенов это не только можно делать, но даже нужно! Именно так я и поступаю. Мимика не нужна голове манекена. Только не забудь, что для тела есть 2 модели разной полноты, а для головы только 1. Чтобы манекен поддерживал регулировку веса, ему надо сделать 2 головы. Кстати, а нужно ли делать манекен с текстурой тела? Это же не труп, а манекен. :)

Да, у меня уже выложен мод на расширенные манекены, где LB является опцией.

Добавлено (22 Января 2017, 14:36)
---------------------------------------------
Aksyonov, Я давно перешёл в режим ручного добавления изменений в свои моды. Иначе отсебятина редактора накапливается и приводит к непредсказуемым последствиям. Делаю изменения в отдельном маленьком моде, а потом переношу их в основной с помощью TES5Edit. Одновременно отфильтровываются ошибки.


Myprism  Offline  Сообщение №1360 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 22 января 2017, 14:05


Физик


Kepper, деревянную текстуру возьми из моего мода. У меня же там есть LB, на сколько отличается Демоника, я не знаю, с ней не работал. В принципе, Кристинина текстурная развёртка удобна для натягивания на неё одного листа любой текстуры. Как вариант, залить одним цветом, но не латексом, а терракотом (керамикой), фарфором. Вариант - затянуть холстом.

Myprism  Offline  Сообщение №1361 | Тема: Вопросы по моделированию написано: 23 января 2017, 03:17 | Отредактировано: Myprism - 23 января 2017, 03:31


Физик


@perture, причина банальна :) Для этого мне надо отложить одно из дел в очереди других дел, которая бесконечна. :( Ещё, у меня не получится заниматься только импортом. Если уж браться (если залезу), то надо делать полный обмен данных с Блендером. Не сейчас.
Да и не правильно это, делать всё самому. Есть же другие люди, которые как раз занимаются другими задачами.
Да, и это при том, что у меня есть НИФСкоп 1.1.2, который делает то, что мне нужно. И есть утилиты Антона, которые тоже делают самое необходимое для импорта/экспорта моделей в Блендер. Т.е. задача экспорта/импорта в НИФСкопе для меня второстепенна, не актуальна и вообще то она и не моя :)

Myprism  Offline  Сообщение №1362 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 23 января 2017, 19:04


Физик


Цитата Dsion

А потом клацаю Details при загрузке мода. Там есть сортировка и по имени, и по типу. Если вижу записи без префикса и не помню, что изменил их сам, то удаляю... Ну у меня обычно таких и нету.

Ага, только:
1. Редактор вносит отсебятину только в те объекты, которые УЖЕ изменены мододелом. И никогда по своей инициативе не портит те объекты, которые ещё не трогались. Например, я имею мод, который меняет несколько сотен ванильных персонажей. Изменение заключается только в смене оутфита. Причём, мой мод состоит из двух частей: ESM и ESP. Там один и тот же перечень персонажей, но разные оутфиты. Если я открываю файл ESP, что-то делаю там и сохраняю, то потом в TES5Edit могу увидеть ВСЕ изменённые записи. Так вот, при одном сохранении примерно 20% персонажей окажутся изменёнными в ESP-файле. Изменёнными окажутся те поля, которые я не трогал. Не любые. Будут изменены 1, 2 или все 3 компонента цвета тела (случайным образом). Те величины, что близки к круглому значению, будут округлены (и считаться изменёнными). Появятся новые записи Tint Laer и могут пропасть по паре перков персонажей. Пол, скин, раса не меняются никогда. Кроме того, пересохранение может нарушать работу технологии "комнат и порталов" и финализацию ячеек. Но последние 2 случая уже сложнее.
2. Твой способ не контролирует изменения при сохранении мода редактором.

Myprism  Offline  Сообщение №1363 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 24 января 2017, 00:50


Физик


Цитата Dsion

Аутфит и скриптом нормально меняется.

Нескольким сотням персонажей раздать несколько десятков Outfit скриптом? А зачем именно скриптом? Только для того, чтобы обойтись без редактора? Ну так я и так его странности успешно отсекаю TES5Edit.

Да, кстати, как можно добавить что-то в outfit скриптом и как редактировать им левельные списки?

Myprism  Offline  Сообщение №1364 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 24 января 2017, 04:10


Физик


Dsion, ну как же в три строчки! Персонажи же разные и дать им надо разные шмотки в зависимости от их рода деятельности и общественного положения... Эх, если бы я это сделал скриптом, то улучшил бы совместимость. Ведь изменения одного и того же оутфита или уровнего списка в двух модах одновременно не работают :(

Myprism  Offline  Сообщение №1365 | Тема: Вопросы по скриптам Papyrus написано: 5 декабря 2018, 17:40


Физик


Существует хорошо известный глюк использования физики - это её "бешенство". При выходе персонажа в отрытый мир (не в интерьер) волосы или плащ начинают метаться. Через некоторое время могут успокоиться, а могут и нет. Тогда персонаж становится невидимым. Так как это происходит только в открытых локациях, то можно предположить, что физика глючит из-за того, что локация не успевает прогрузиться. Но задержка появления персонажа, увы не помогает. Зато великолепно всё исправляется, если задержать появление в открытой локации только шмотки с физикой относительно появления персонажа, на коем эта шмотка надета. Например, достаточно задержать появление волос относительно персонажа на 2 секунды, чтобы проблем с ними не было совсем. На эти 2 секунды их можно заменить волосами без физики. Вопрос в том, как написать скрипт, который бы находился на одеваемой шмотке и засекал, когда персонаж меняет локацию и выходит в открытый мир. Скрипт, который делает это, вися на персонаже, я написал и он великолепно исправляет физику волос. Но мне нужен скрипт именно на шмотках. Ведь не вешать же скрипт на каждого персонажа Скайрима! Гораздо правильнее - повесить его на ограниченное число проблемных шмоток с физикой (плащи, волосы). Да, шмотки раздаются персонажам через оутфиты и левельные списки.

Myprism  Offline  Сообщение №1366 | Тема: Вопросы по скриптам Papyrus написано: 6 декабря 2018, 04:43


Физик


Aksyonov, у меня нет проблемы определять, находится ли персонаж в интерьере. Вот скрипт, который я повесил на персонажа:

Код
Scriptname aa_ChangeLocation extends Actor

Armor property HairItem auto

Event OnLocationChange(Location akOldLoc, Location akNewLoc)
     if (Game.GetPlayer().GetCurrentLocation() == akNewLoc) && !(Game.GetPlayer().IsInInterior())    ; Если главный герой в той же локации и если она не интерьер
        AddItem(HairItem)                ; Добавляем новые
        EquipItem(HairItem, true)        ; Устанавливаем новые
        RegisterForSingleUpdate(3.0)    ; Ждём 3 секунды
    endIf
endEvent

Event OnUpdate()
        RemoveItem(HairItem)            ; Удаляем новые волосы
endEvent

И он прекрасно работает.
Мне нужен скрипт для ПРЕДМЕТА. Тех же волос или плаща, находящегося в левельных списках и оутфитах очень многих персонажей. Нужно чтобы при инициализации предмета или при переходе главного героя в данную локацию, все плащи там стали Disable, а через 3 секунды - Enable. Дело в том, что многочисленные мои варианты (не привожу примера, так как никакой не работает :( )тут не работают. Тут есть какая-то фишка, которую я не понимаю. Вот другой пример её: создаю я кольцо со скриптом. Всё отлично работает. Дальше кладу 6 колец в сундук в интерьере - в игре кольца больше не работают. Одно кольцо, лежащее на полу - работает, 6 в сундуке - не работают. А вот если в сундук положить левельный список, в котором уже лежат 6 колец (но не 6 сразу вместе, а отдельно, 6 раз по одному) - то всё работает отлично. Тут есть какая-то фишка с тем, как Скайрим выделяет память под переменные однотипных объектов.

Добавлено (06 Декабря 2018, 08:28)
---------------------------------------------
Я попробую по чётче обрисовать свою задачу.
При переходе Главного Героя в некоторую локацию, она начинает загружать все свои объекты. Мне нужно, чтобы небольшая часть объектов (одежда с физикой на персонажах локации) грузилась не сразу, а спустя 3 секунды после начала загрузки локации. Внимание, задерживаться должны не персонажи с физикой (не поможет), а только некоторые их шмотки.


Myprism  Offline  Сообщение №1367 | Тема: Вопросы по скриптам Papyrus написано: 6 декабря 2018, 08:56


Физик


andrelo-1, спасибо за наводку. Очень полезные функция:
string Function SetModelPath(string path, bool firstPerson, bool female) native
Открывает большие возможности.
Но моя проблема не в этом, а куда прикрутить её или что-то другое. Мне не удаётся подобрать для шмотки событие в котором я мог бы её менять. У меня тупо ничего не делает даже вот такой код:
Код
Scriptname aa_ChangeLocationObj extends ObjectReference

Event OnEquipped(Actor akActor)
    Delete()
endEvent

Года четыре как не занимался скриптами, из головы всё вылетело, туплю страшно.

Myprism  Offline  Сообщение №1368 | Тема: Вопросы по скриптам Papyrus написано: 6 декабря 2018, 10:50


Физик


Друзья, вы меня утешили. Я наверное, всё же не совсем тупой, а просто задача, которую я поставил, действительно не решается. Дело в том, что у надетой шмотки совсем нет событий! Меня ввело в заблуждение то, что шмотки это как бы ObjectReference. Да, пока их не надели. И даже OnЕquipped это событие ещё не надетой шмотки. И смена слота у надетой шмотки тоже не происходит. Так что, есть только один путь - через Актора.
Dsion, постоянное заклятие это не такое уж и плохое решение.  Во-первых, так работает вся обувь на высоком каблуке и это проблем не вызывает. Во-вторых это открывает возможность создавать плащи (особенно актуально) и причёски с физикой, которые совсем не занимают слотов. Если шмотка привязана только к одной кости, то её можно рисовать магическим эффектом. При этом сам объект к которому привязан магический эффект не показывается, а эффект рисуется. А скелеты у плащей и причёсок с физикой обычно свои и привязаны только к одной из костей обычного скелета. Одна беда, пока занимался только телами и бронёй, совсем забыл (да и знал то не очень) магические эффекты...
А вообще, когда приходится изобретать такие костыли, то это верный признак того, что путь выбран не тот. Ведь главная причина в дефекте физики. И заключается он в том, что если скелет объекта с физикой грузится одновременно со скелетом персонажа, то, похоже, объект с физикой инициализируется не на персонаже, а в центре локации и потом физика старается (иногда тщетно) это исправить. Ведь плащи и причёски всегда вытянуты к центру локации, а вероятность глюка тем больше, чем больше локация.
andrelo-1, идея новая для меня, надо хорошенько её обдумать.

Myprism  Offline  Сообщение №1369 | Тема: Вопросы по скриптам Papyrus написано: 7 декабря 2018, 03:49 | Отредактировано: Myprism - 7 декабря 2018, 03:51


Физик


@perture, Точно! Там на персонажа вешается заклятие (заклятие видимости забрала). Заклятие на персонажа вешает шмотка, а уже у заклятия полно событий и доступ к чему угодно. Так же работают и высокие сапоги. Я сейчас пробую так сделать для укрощения плащей. Кстати, это ещё позволяет сделать плащи не занимающие слотов, так как их видимость может быть обеспечена заклятием.
Кстати, у меня та же проблема, спустя некоторое время уже не помню, как делал ту или иную вещь :( А так как приходится переключаться между очень многими областями программирования, то случается это частенько :(
Цитата @perture

Сам бы таким путем и пошел.

Вынужден сам себе запрещать такие решения :( Достаточно посмотреть на размер DLL-ки и тот факт, что её писали на Си (я на нем не писал), чтобы понять, что времени на это уйдёт много. Для меня то это не проблема, я легко в это нырну и даже получу от этого удовольствие, но тогда модов от меня уже долго никто не увидит :( И так уже у меня возникло опасение, что из-за того, что я программирую в слишком большом количестве разных областей, а переключение между ними не очень лёгкое, то процесс создания модов перестаёт быть сходящимся :)

Добавлено (12 Декабря 2018, 21:17)
---------------------------------------------
1. Скажите, пожалуйста, переменные какого уровня сохраняются в скрипте при сохранении и загрузке игры? Наверное, переменные объявленные внутри функции или события не сохраняются. А те, что объявлены в скрипте вне функций и событий?

2. Есть ли способ отследить внутри скрипта extends ActiveMagicEffect событие загрузки игры? Или выхода из игры?


Myprism  Offline  Сообщение №1370 | Тема: Вопросы по скриптам Papyrus написано: 13 декабря 2018, 16:34


Физик


andrelo-1, Увы, эффект визит не на игроке, а на других персонажах. :(

Добавлено (13 Декабря 2018, 19:46)
---------------------------------------------
Ещё появились вопросы.
Вот объявляю я в скрипте переменную:
Armor Armor31
Присваиваю ей значение:
Armor31 = (NPC.GetWornForm(0x00000002) as armor)
Дальше меняю свою переменную:
Armor31.SetSlotMask(0x00000800)    ; 41
И обнаруживаю, что соответствующая шмотка на персонаже поменяла свои слоты. Таким образом, знак присваивания означает, что присваивается указатель на объект. А как получить копию объекта?


Myprism  Offline  Сообщение №1371 | Тема: Вопросы по скриптам Papyrus написано: 13 декабря 2018, 17:26


Физик


andrelo-1, а это точно? Ведь базовый объект не вызывался...

Добавлено (13 Декабря 2018, 20:28)
---------------------------------------------
А ведь это объясняет непредсказуемое поведение моего скрипта... :(

Добавлено (16 Декабря 2018, 15:59)
---------------------------------------------
Загадки папируса. (Или игры).
Долго я возился над скриптом, задерживающим появление шмоток с физикой через заклятие. Большой получился, хоть и работает. Но не люблю я таких громоздких решений. Тогда отложил его и написал очень простой скрипт, который вешается прямо на шмотку:

Код
Scriptname _HDTPhysics extends ObjectReference

Event OnEquipped(Actor akActor)
    if (akActor != Game.GetPlayer()) ;&&  !(akActor.IsInInterior())
        Armor NPCItem = (Self.GetBaseObject() as armor)
        akActor.UnEquipItem(NPCItem)    
        Utility.Wait(3.0)
        akActor.EquipItem(NPCItem)    
    endif
endEvent
Не бейте ногами за Utility.Wait(3.0). У надетой шмотки нет никаких событий кроме OnEquipped и OnUnEquipped. Не обрабатывает она и событие OnUpdate. И не ругается на событие, но код в нём никакой не работает.
Но даже с этим маленьким кодом возникли непонятки. Если я брошу такую шмотку на пол в интерьере, то она прекрасно работает в соответствии со скриптом. Но если я дам эту шмотку персонажу в оутфит, а в игре заберу эту шмотку, она не работает. Т.е. не пропадает на 3 секунды при надевании. Вот есть 2 шмотки. Одну с пола подобрал, другую с трупа. В моём инвентаре они выглядят идентично. Точнее сливаются в одну с цифрой 2. Но если их выбросить на землю, а потом надеть по-отдельности на персонажа-спутника, то одна шмотка работает, другая - нет. Почему???

Myprism  Offline  Сообщение №1372 | Тема: Вопросы по скриптам Papyrus написано: 16 декабря 2018, 20:22


Физик


Я сначала написал большой и сложный скрипт, который вешается на заклятие (а оно вешается на персонажа шмоткой) и отслеживает видимость персонажа главным героем. (Работает хорошо, кстати). А в процессе отладки понавешал на все события мессаджей. Вот тут и увидел, что персонаж переодевается, причём делает это только при выходе из интерьера на открытое пространство (как раз, где надо). При переходе из интерьера в интерьер переодевания нет.
Принципиальное отличие твоего скрипта в том, что ты саму шмотку в свойство определил. Скорее всего в этом и причина, что у тебя скрипт работает всюду. Скорее всего, свойству референс id выделяется.
Ещё, скажи, пожалуйста, зачем нужна первая задержка в 1 секунду?
То, что у меня не работает, если шмотка берётся с трупа, скорее всего, связано с тем, что шмотке не выделяется референс id. Если она лежит в игре на полу - то это просто объект и референс id у него быть обязан. Такой глюк у меня был пару лет назад с кольцами. Я тогда повесил скрипт на кольцо, отладил его и всё работало великолепно, пока мне не понадобилось положить кольца в сундук. Кольца извлечённые из сундука не работали категорически. Тогда проблему удалось решить так - я положил все кольца в левельный список, но не 6 вместе, а 6 раз по одному. А этот левельный список бросил в сундук. В этот раз я попытался сделать тоже со шмоткой, положить её в отдельный левельный список, увы, в этот раз не помогло.

Добавлено (17 Декабря 2018, 06:37)
---------------------------------------------
Да, а от самоопределения шмотки
Armor NPCItem = (Self.GetBaseObject() as armor)
ты отказался потому, что не работал Self? Дело в том, что для шмотки на земле он работает! Значит, он не работает только для шмотки из инвентаря.


Myprism  Offline  Сообщение №1373 | Тема: Вопросы по скриптам Papyrus написано: 18 декабря 2018, 07:40


Физик


Dsion, тут получается очень интересная вещь. Пока скрипт висит только на одной шмотке без референс-id, то всё работает нормально. Но если повесить на 2 разные шмотки из тех, что есть у персонажа, то обе они запускают один и тот же скрипт с ОБЩИМИ локальными переменными. Т.е. скрипты на таких шмотках не являются разными объектами, а только одним.
Я усложнил скрипт и встроил туда защиту от случаев срабатывания, когда шмотка переодевается самим скриптом. В принципе, событие onEquip не вызывается в том случае, если надевание данного объекта произошло именно скриптом (или консолью). Но оно может произойти во время действия скрипта по другим причинам, например, скрипт трогает другую шмотку, которая уже вызывает переодевание нашей. Получилось так:
Код
Scriptname _DelayOnEquip extends ObjectReference

Armor  Property EmptyItem = none     Auto    ; Замещающая шмотка
int       Property ItemSlot = 53         Auto    ; Слот занимаемый задерживаемой шмоткой
float    Property Delay = 3.0         Auto    ; Задержка появления, с десятичной частью

Bool     SenderisScript = false

Event OnEquipped(Actor akActor)
    if !SenderisScript && (akActor != Game.GetPlayer()) && !(akActor.IsInInterior())
        SenderisScript = true
        Armor NPCItem = (akActor.GetWornForm(Armor.GetMaskForSlot(ItemSlot)) as armor)    
        If EmptyItem
            akActor.AddItem(EmptyItem)        ; Добавляем замещающую шмотку в инвентарь
            akActor.EquipItem(EmptyItem, true)    ; Надеваем шмотку
        else
            akActor.UnEquipItem(NPCItem, true)    
        endif
        Utility.Wait(Delay)
        If EmptyItem
            akActor.RemoveItem(EmptyItem)    ; Удаляем замещающую шмотку
        endif
        akActor.EquipItem(NPCItem)    
        Utility.Wait(0.2)
        SenderisScript = false
    endif
endEvent
Пока шмотка с таким скриптом у персонажа одна, всё работает отлично. Но если их две, то сработает только одна, так как у них окажется одна общая переменная SenderisScript. После того, как скрипт запустится один раз, код в событии не работает второй раз пока не закончится его выполнение. Т.е. пропадать на 3 секунды будет только одна шмотка из двух. В принципе, сегодня утром я придумал, как это обойти. У меня может быть только 4 разных слота, на которых может стоять проблемная физика. Тогда в скрипте должно быть 4 разных SenderisScript для каждого номера слота и 4 фрагмента кода, работающих для четырёх условий. Получается рекурсивное использование одного скрипта. Задача зацепила меня. Не важностью для моего мода, а просто как интересная задача :) Но пока отложу её. Я сейчас заканчиваю большой мод и у меня там уже есть скрипт, который более-менее спасает от такой проблемы с физикой. Так что, сначала выложу, а потом вернусь к этому орешку :)

Myprism  Offline  Сообщение №1374 | Тема: Вопросы по текстурированию написано: 18 декабря 2018, 09:03


Физик


AsuraShip, а что в ESP файле? И о модели чего идёт речь? Может, там изменение трона Балгруфа в белый или красный цвет? :) Тогда он станет в полоску :)

Myprism  Offline  Сообщение №1375 | Тема: Вопросы по текстурированию написано: 21 декабря 2018, 18:04


Физик


AsuraShip, куда прописаны пути к мешам??? В ЕСП-файле никаких мешей быть не может. Мод на броню может быть устроен совершенно по-разному. И только автор этого мода знает, зачем ему разные текстуры, на что они вешаются, и где появится и как используется его броня. Никто лучше автора мода вам не ответит. А вопрос ваш, между прочим, совсем не по теме текстурирование.

Myprism  Offline  Сообщение №1376 | Тема: Вопросы по текстурированию написано: 22 декабря 2018, 05:03


Физик


AsuraShip, используемая текстура (и её папка) прописана в мешах. В ЕСП-файле может быть установлен ретекстур для данного меша. Т.е. подмена прописанной в меше текстуры. Тогда путь до текстуры оказывается в ЕСП-файле. Будут работать те текстуры, которые либо прописаны в меше, либо в ретекстуре в ЕСП. Чтобы получить в игре сразу две шмотки с разными текстурами, надо иметь 2 разных ЕСП файла, как минимум. В них должны быть прописаны РАЗНЫЕ ретекстуры, либо пути к РАЗНЫМ мешам, в которых прописаны эти две текстуры.

Myprism  Offline  Сообщение №1377 | Тема: Ваш реплейсер тела написано: 5 января 2019, 05:55 | Отредактировано: Myprism - 5 января 2019, 06:16


Физик


Почитал ветку. Очень удивило, что некоторые серьёзно (а иногда и с гордостью :) ) заявляют, что используют ванильное тело.
Должен их огорчить. Нет такой вещи, как тело в ванильном Скайриме. Вот у реплейсеров тело есть, а в Скайриме его нет. Если даже я захочу создавать шмотки под "ванильное тело", то столкнусь с таким количеством проблем, что легче сделать новое.
Начнём с того, где вы видели "ванильное тело" в Скайриме? В ванильном Скайриме из живых персонажей вы можете раздеть только себя и никого больше. Вообще-то тел должно быть как минимум 2 - мужское и женское. Начнём с женского, так как ему повезло больше (во всех смыслах, в том числе и в оказанном ему внимании :) ). Полное (детальное) женское тело в Скайриме встречается. Один единственный раз. Это обожженный труп Астрид. Если вы играете женским персонажем и любите вид от третьего лица, то можете раздеться меред зеркалом :) . Вы увидите очень грубо сделанное тело (как топором вытесанное) в бесформенном грязном нижнем белье. Больше вы женского тела в ванильном Скайриме не увидите совсем (подробнее объясню дальше).
Мужскому телу повезло куда меньше. Там совсем не существует целого тела. Даже если бы я захотел делать шмотки под него, его бы пришлось сначала создать. Увидеть это тело вы можете только в том случае, если играете мужским персонажем, разделись и смотрите на себя со стороны. Тогда вы увидите себя в юбочке. Под юбочкой как у настоящего шотландца ничего нет. Я не про гениталии, которых тоже нет, там вообще ничего нет. Там нет даже тела. Там просто дырка. Область таза отсутствует совсем! Ну как на пустоту можно создавать, например, трусы?
Но всё это не очень важно, так как ЛЮБАЯ ванильная одежда или броня ЗАМЕЩАЕТ тело. Тело занимает слот 32 и его же замещает любая ванильная одежда или броня. Одев что-то вы просто убираете тело напрочь и больше его не видите. Даже если вы видите концы рук и ног, то только потому, что это ЧАСТЬ брони, а не тела. Их включили в броню. Может, думаете, что эта броня создавалась под некое гипотетическое "ванильное тело"? Как бы не так! Достаточно наложить в 3D-редакторе тело на броню, чтобы убедиться, что броня висит на теле хуже чем на вешалке, а иногда тело выпирает за пределы брони. Разумеется, в области таза у мужских персонажей не может выпирать ничего, так как там и нет ничего :)
Самое смешное, что большая часть брони изготовленной мододелами якобы под новые реплейсеры, совсем под них и не подгонялась. А зачем? Она же всё равно ЗАМЕЩАЕТ тело. Вот человек тщательно подбирает себе реплейсер тела, а на него текстуры, может быть даже тату, одевает броню и гордится тем, с каким замечательным телом он ходит по Скайриму :) А тела там никакого и нет. Есть только броня, при изготовлении которой никто никаким телом и не заморачивался. :)
В случае реплейсеров мододелы старались это преодолеть и иногда даже преодолевали. Так тело LB оснащено богатым ассортиментом одежды. Точно так же существует одежда под DG. Очень много моделей под UNP. Но это всё женские тела. С мужскими всё куда хуже :(

Myprism  Offline  Сообщение №1378 | Тема: Как Вы относитесь к Серане? написано: 8 января 2019, 05:15


Физик


Она намного интереснее других потенциальных спутников благодаря особому AI-пакету следования (собственно говоря, разработчики могли бы всем спутникам поставить такие же пакеты). Она занимается своими делами вокруг довакина, а не следует тупо за ним, как другие ванильные спутники.

Myprism  Offline  Сообщение №1379 | Тема: Сколько весит ваша папка "Data"? написано: 8 января 2019, 05:24


Физик


Вес моей папки не показатель, так как я пишу моды и для тестов там стоят только они. Все остальные моды там появляются лишь временно, на "посмотреть". Сейчас там 16 гигов, которые включают и распакованные модели, с которыми я работаю сейчас.
Хочу отметить только одну вещь: В чистой игре совсем нет папки Meshes. Всё, что там находится, понаставили ваши моды. Причём сделали это только те моды, авторы которых не умеют пользоваться BSA-архивами, т.е. не очень хорошие мододелы.
Папка Textures в чистой игре есть, но лишь для того, чтобы положить туда локализованные картинки. Например, текстуры вывесок с русскими названиями.

Myprism  Offline  Сообщение №1380 | Тема: Вопросы по Creation Kit (продолжение старой темы) написано: 10 января 2019, 09:42


Физик


Dirzi, действительно не понятно. В принципе, несколько лет назад были сообщения, что эта функция может глючить. Но с тех пор много воды утекло. У меня экспорт работает исправно. Не работает, если данный персонаж используется как Template для других. Но тогда, как вы правильно заметили, вообще нет сообщения об экспорте. Перезагрузка редактора не помогает? С названиями модов всё в порядке? (нет ли там кириллицы?)

Да, ещё такая вещь: при экспорте мешей головы туда экспортируются глаза, брови, причёска. А ведь мододел мог не положить их в свой мод в принципе. У него они есть, с ними он экспортировал голову сам, а в выкладываемый архив взял и не положил это всё. Мод будет работать исправно и не будет ни на что жаловаться. При этом он ещё и меньше весит. Но вот поредактировать эту голову уже никто не сможет.

Форум » Записи участника [Myprism]
Поиск:





Ответ на жалобу смотрите в разделе жалоб