Новые сообщения · Участники · Правила форума · Поиск · RSS
Страница 18 из 82«1216171819208182»
Модератор форума: Santiya 
Форум - gamer-mods » Creation Kit » Все о Creation Kit для Skyrim » Вопросы по Creation Kit
Вопросы по Creation Kit
alex78aДата: Среда, 29.06.2016, 02:27:07 | Сообщение # 256
Горожанин
Группа: Проверенные
Сообщений: 18
Статус: Оффлайн
Коллизия я пробовал .они на эффекты не работают.
 
АкатошкаДата: Пятница, 01.07.2016, 13:57:50 | Сообщение # 257
Горожанин
Группа: Модмейкеры
Сообщений: 17
Статус: Оффлайн
Всем привет! Кто-нибудь знает, есть ли такая функция условия, которая проверяла бы, находится ли ГГ в свободной стойке или с обнажённым оружием?

Я нашёл, что искал. Если кому ещё понадобится, то такая функция называется IsWeaponMagicOut.


Когда ты входишь в Древние Свитки, Древние Свитки входят в тебя.

Сообщение отредактировал Акатошка - Пятница, 01.07.2016, 17:25:22
 
ąnizórđąДата: Суббота, 02.07.2016, 21:31:52 | Сообщение # 258
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
Кто знает, объясните пожалуйста.
Суть вопроса в следующем:
Что в СК, что в RaceMenu, когда мы задаём оттенок персонажу, мы работаем с цветовой моделью RGB. В ней каждый цвет (красный, зелёный, синий) в отдельности, имеет числовое представление целым числом типа uint8. Диапазон 0 - 255 для каждого цвета. Это 1 байт, 8 разрядов.
Когда мы целиком создали персонаж в СК, то сохраняем плагин esp, а комбинацией Ctrl+F4, создаём nif-модель головы и dds-маску оттенка. Замечательно.
А где-же оттенок тела? А он закодирован в плагине. Если открыть плагин с помощью TESVSnip (лучше именно этой программой), и посмотреть GRUP(NPC_)/NPC_(имя парсонажа), то найдём 12-байтную структуру QNAM. И что? А там каждый цвет (красный, зелёный, синий) в отдельности, уже имеет числовое представление числом типа float. А это 4 байта, 32 разряда.
С помощью TESVSnip можно просмотреть QNAM и встроенным HEX-редактором. Там можно увидеть цвета, выраженные и в int, и в HEX... Но, всё теми-же 32-разрядами.
И вот вопрос - Каким образом однобайтное выражение цвета в СК разрослось до четырёх байт на цвет в плагине? Должно-же быть какое-то соответствие... 
32-бита это, извините, уже TrueColor.
Почему меня это заинтересовало? В СК набор, для создания нормального лица, недостаточен. А вот RaceMenu - другое дело. Но если я хочу лицо, созданное в RaceMenu, перенести на NPC, мне нужна не только голова nif-модели, но и тинт-маска. А как поменять цвет тела NPC, чтобы он соответствовал тинт-маске лица? Какие цифры вписать в QNAM?
Цвет R = 122 в СК, например, это сколько будет в QNAM?
 
ąnizórđąДата: Воскресенье, 03.07.2016, 05:58:52 | Сообщение # 259
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
Мдя...
Разобралась, наконец. Оказалось всё так просто, что плакать хочется.
Неужели я на столько тупая?
Что я только не изучила, где только не лазила... 
И копалась в стандарте представления чисел IEEE 754; до-посинения штудировала классы float; изучила цветовые модели RGB, HSL, SMIK, LaB с альфой и без, и порядок их конвертации между собой.
Далее, изучила стандарт представления цветов в Win32 COLORREF; по-копалась с функцией ChooseColor из библиотеки commdlg.dll (кстати, именно этой функцией в СК вызывается цветовая панель в расширенном виде "Define Custom Colors..."); возилась с макрокомандами типа DIBINDEX, GetRValue, GetGValue и т. п.
Наконец, доползла до представления данных цвета в Direct3D, и там обнаружила значения типа D3DCOLOR со знакомым диапазоном 0 - 255, и значения типа D3DCOLORVALUE, выражаемые числом с плавающей точкой (float) и диапазоном 0.0 - 1.0. И там... конвертация.
Блин, ну нет ничего проще:

COLORREF c = ...;
D3DCOLORVALUE cv;
cv.r = GetRValue© / 255.0;
cv.g = GetGValue© / 255.0;
cv.b = GetBValue© / 255.0;

То-есть, тупо берём значение цвета (например красного R), установленного в том-же CK или RaceMenu, и делим на 255. Например, R=87. Тогда float R = 87/255 = 0,3411765. Это и есть то значение цвета R, которое записывается в структуру QNAM (Skin Tone). Аналогично, и для остальных цветов.

Теперь, для чего это, и как использовать. В RaceMenu делаем из своего ГГ красавца, чтобы сделать красавцем какого-либо NPC. Выбираем оттенок кожи, какой нравится. Цифирки значений R, G, B записываем на листик. Экспортируем модель головы и тинт-маску. Как прикручивать голову к NPC, полагаю, объяснять не надо - имя nif и dds - файлов головы меняем на номер ID NPC, в nif-файле головы меняем имя файла тинт-маски на новое, что дали dds-файлу.
С помощью TESVEdit, в плагин-файле открываем NPC_ запись нашего непися, и ищем QNAM. Там три строки - сверху вниз, соответствуют R, G, B. Наши циферки, что записали на листик, конвертируем делением на 255, округляем до 7-го знака после запятой, и вписываем в строки QNAM.
Всё! Теперь оттенок тела соответствует оттенку лица.
Сторонние волосы, глаза и прочее (если они есть), тоже добавляем с помощью TESVEdit.
Так мы полностью поменяем внешность любого NPC, используя только RaceMenu и TESVEdit.
 
ksv042Дата: Вторник, 05.07.2016, 18:06:30 | Сообщение # 260
Горожанин
Группа: Проверенные
Сообщений: 4
Статус: Оффлайн
как сделать сундук в котором через определенное время добавлялись деньги
 
ąnizórđąДата: Вторник, 05.07.2016, 21:58:46 | Сообщение # 261
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
ksv042, для себя или для игры?  :D
А если серьёзно, то достаточно поставить галочку Respawns в свойствах сундука.


Сообщение отредактировал anizorda - Среда, 06.07.2016, 00:05:31
 
ksv042Дата: Среда, 06.07.2016, 20:36:29 | Сообщение # 262
Горожанин
Группа: Проверенные
Сообщений: 4
Статус: Оффлайн
anizorda, Спасибо за ответ. так  уже пробовал не работает. надо чтобы через пару дней в контейнере появлялись деньги примерно 100 через 5 дней было 500 и тд.
 
ąnizórđąДата: Четверг, 07.07.2016, 06:00:44 | Сообщение # 263
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
ksv042, а,теперь поняла, что Вы хотите. Вам нужно будет с сундуку прикрутить скрипт, примерно такой конструкции

GlobalVariable Property GameDaysPassed Auto

Function GoldChest()                
RegisterForUpdate(60.0)
EndFunction

Event OnUpdate()
int dayOfGold1 = GameDaysPassed.GetValue() as int
Utility.WaitGameTime(24.0)
int dayOfGold2 = GameDaysPassed.GetValue() as int
If dayOfGold1 < dayOfGold2
Chest.AddItem(GoldBase, 100)
EndIf
EndEvent

Попробуйте, по-экспериментируйте.


Сообщение отредактировал anizorda - Пятница, 08.07.2016, 07:47:46
 
Bolgarec75Дата: Суббота, 09.07.2016, 00:16:59 | Сообщение # 264
Горожанин
Группа: Проверенные
Сообщений: 13
Статус: Оффлайн
Приветствую, коллеги!) Хотелось бы узнать такую вот маленькую детальку: как поменять
цвет призываемому существу (в данном случае это питомец)?
 
ąnizórđąДата: Суббота, 09.07.2016, 04:05:08 | Сообщение # 265
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
Bolgarec75, да вроде так-же как и остальным персонажам. Это ведь тоже Character, только типа Сreature, группы Animals.
Или грубой перекраской/подменой текстур.
 
Bolgarec75Дата: Суббота, 09.07.2016, 06:10:33 | Сообщение # 266
Горожанин
Группа: Проверенные
Сообщений: 13
Статус: Оффлайн
Не)) Я имел ввиду другое. Вот питомец сам по себе - обычный волк (хоть снежный,хоть какой ещё, но у него прописаны в привязанных мэджик-эффектах кейворды.скрипты, короче неважно... и он становится в виде призрака синего цвета, а я хотел красным его сделать. Правда во всём уже сам разобрался, прочитав тонны туторилов на инглише в инете, блина почти 6 утра у нас в Москве, а я тока спать ложусь, но сзато с явно счастливым осадком на душе. Спасибо за помощь!)..
 
ąnizórđąДата: Суббота, 09.07.2016, 08:04:37 | Сообщение # 267
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
Bolgarec75, рада за Вас. Только Вы делитесь, может кто-то ещё мается с подобной задачей.
Сама испытала, каково это, когда нужен совет а помочь некому.
 
Bolgarec75Дата: Суббота, 09.07.2016, 14:06:16 | Сообщение # 268
Горожанин
Группа: Проверенные
Сообщений: 13
Статус: Оффлайн
anizorda, да не вопрос)) В общем находим (как в моём случае уже имеющегося питомца EncSummonFamiliar, дублируем его и переименовываем в EncSummonFamiliarPotent, тобиш усиленная версия его, которая будет заменять собой обычного питомца, когда у игрока взят перк в колдовстве Elemental Potency, в переводе "Усиленные атронахи" (требуемый уровень колдовства 80). Я назвал новую зверюшку "Спектральный питомец" (не знаю почему, название понравилось))) Далее находим AbFamiliarVisuals (это мэджик-эффект, который использует питомец обыкновенный)) Опять же, дублируем его и именуем AbFamiliarPotentVisuals. В образовавшемся дубле находим параметр "Hit Shader" (он то и отвечает за "духовную внешность зверька)). Там по умолчанию выбрано GhostFXShader - синий дух короче)) (такой шейдер используют почти что все духи в игре)" Заменяем его на GhostWolfSpiritFXShader (такой шейдер используется лишь для трёх "моделек" в игре: у изгоняемого духа волка Кодлака и призываемых вервольфом в Dawnguard'е членов стаи (волков и других вервольфов). Отличие его в том, что он "цвета красного духа", а не голубого. Вот поэтому мы его и выбираем. Следом сразу создаём дубль для спелла FamiliarVisuals и переименовываем его в FamiliarPotentVisuals (и в нём меняем мэджик эффект на созданный нами ранее AbFamiliarPotentVisuals. Ну а самому новому питомцу ставим в разделе спеллов FamiliarPotentVisuals). Понимаю, что ничего непонятно, у меня красноречие не прокачено)), но поэтому, извиняйте, старался как мог))) Всего Вам доброго и удачной работы в Creation Kit!)...

Ах да, чуть не забыл важную деталь: в оригинальной игре после взятие вышеприведённого перка усиленными становятся только атронахи и трэллы (огненный, грозовой и морозный). У маленького волчонка, доступного бретонцам с самого начала игры лишь уровень 2 максимум и он не растёт вместе с довакином, поэтому становится бесполезным на высоких уровнях, а также его никакие перки не усиливают. Отсюда вытекает последний пункт: нужно найти в криейшен ките мэджик эффект SummonFamiliar, дублировать его и назвать скажем PerkSummonFamiliarPotent. В нем уже в разделе Target Conditions (там окажется пустое поле создаём новую зависимость: выбираем в Condition Function HasPerk --> вместо "INVALID" выбираем ElementalPotency, Comparsion "=", Value "1" В графе Assoc Item 1 выбираем нашего EncSummonFamiliarPotent и закрываем это дело. Далее в стандартном спелле вызова ConjureFamiliar просто добавляем созданный нами перк PerkSummonFamiliarPotent. Получается создаётся прямая зависимость вызова зверька того или иного вида от наличия перка у Довакина))


Сообщение отредактировал Bolgarec75 - Суббота, 09.07.2016, 14:51:25
 
ąnizórđąДата: Суббота, 09.07.2016, 14:13:42 | Сообщение # 269
Сикигами
Группа: Дух-хранитель
Сообщений: 1165
Статус: Оффлайн
Bolgarec75, спасибо. Всё чётко и понятно.
Наверно, можно и сами шейдеры разнообразить.
 
Bolgarec75Дата: Суббота, 09.07.2016, 14:35:32 | Сообщение # 270
Горожанин
Группа: Проверенные
Сообщений: 13
Статус: Оффлайн
Рад был помочь и поделится опытом. Могу Вам скинуть свой плагин, в котором все атронахи, включая и нового мною созданного волчонка растут вместе с игроком и более сильные нежели в оригинале, так что не теряют свою актуальность даже на поздних этапах игры.

А вот шейдеры разнообразить легко, там просто дублируешь какой-нибудь и в нём уже меняешь цвета как тебе угодно (хоть зелёного духа вызывать можно таким образом, но думаю это будет выглядеть не совсем лорно (хотя... кто в наше время задумывается о лоре - лишь бы игровой процесс бы затягивал))


Сообщение отредактировал Bolgarec75 - Суббота, 09.07.2016, 14:57:12
 
Форум - gamer-mods » Creation Kit » Все о Creation Kit для Skyrim » Вопросы по Creation Kit
Страница 18 из 82«1216171819208182»
Поиск: