Jump to content

VALKNUT

Administrators
  • Posts

    403
  • Joined

  • Last visited

  • Days Won

    57

Blog Entries posted by VALKNUT

  1. VALKNUT
    Институт производит синтов мужского пола в специальном подразделении "ROBOTICS" и в очередной раз у меня возник вопрос: а откуда берутся синты женщины???
    Сам себе ответил "патамушта гладиолус" и полез в конструктор.
    Теперь подразделение выпускает синтов женщин, а на складе готовой продукции хранятся мильёоны синтов мужчин... это если учесть скорость их производства...



    Запилил мод, протестил, глаз порадовал и вывалил на официальный сайт беседки, чтоб фаперы игроки смогли себе тоже скачать мод и порадовать глаз..
    Мод рванул вверх по загрузкам, фаворитам и просмотрам и.. короче его Беседка удалила... я подумал, что из-за скриншотов и запилил новую редакцию, с "пресными" скринами..
    Удалили через 10 минут..
     
    Собственно, вдруг кому понадобится такой "извращенный" мод, я его опубликую здесь.
    [VKN] Produces women synths.7z
  2. VALKNUT

    VALKNUT
    По просьбе участника сайта, который не очень хорошо разбирается в Creation Kit. Как адаптировать жНПС из стороннего мода, под голову LH.
     
    Начнем с того, что запустим СК, выберем в списке нужный мод, сделаем его активным нажмем кнопку [Details], чтоб узнать, какие НПС были изменены в моде.
    В данном случае, для примера, я взял свой собственный мод, просто так...

     
    В открывшейся форме смотрим какие жНПС были добавлены в игру или изменены.

     
    Когда конструктор откроется, в окне "Object Window" выбираем список "Actor" и в поле фильтра вводим нужное имя и в списке НПС остается удовлетворяющее требованию фильтра. Двойной "тыц" по найденному НПС откроет форму его настройки, но!!! Вам это не нужно. Достаточно того, что вы его нашли в списке.

     
    Теперь нужно мышкой выделить этого НПС в списке.

     
    И! Удерживая [Ctrl] нажать [F4]. Выскочит форма запроса сгенерить лицо или нет..

     
    Нажимаем [Да] и не сохраняя мод выходим из него. Вот и вся оптимизация.
  3. VALKNUT

    VALKNUT
    Что-то как-то незаметно пролетели 10 лет с выхода Скайрим.
    Столько было ажиотажа, народ трудился, кто-то из удовольствия, кто-то из-за денег, кто-то из-за кармы от фанов...
    Сейчас тема Скайрима еще дрыгает худенькими ножками, но пик пройден и игруха пошла на закат... Хотя если уж по существу, ничего толкового не появилось с тех пор.
    Фалаут4 стал скорее разочарованием, чем ништяком.
     
    Подумал я немного и решил забабахать новый квестик, с новым жНПС по имени Йана.
    Наброски. Из нифскопов всяких...
     
    И из игры чуть...
     
    Возможно заменю ей одного из игровых НПС
  4. VALKNUT
    Начну с того, что мир игрового моддинга, в русском сегменте, состоит из двух направлений.
    - Первый, это люди, которые создают модификации, то есть русские авторы.
    - Второй, это люди, которые переводят уже готовые иностранные модификации.

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

    Теперь перейдем к сути моей статьи.
    - В прошлой версии Скайрима, кодировка стринг-файлов локализации была CP1251, что позволяло работать с конструктором(CreationKit) на русском языке. То есть не сам конструктор был на русском языке, а локализация игры корректно отображалась в конструкторе и мододелы не имели никаких проблем с неправильным отображением кирилических символов в игре с русской локализацией. Конструктор работал с кодировкой CP1251 и стринг-файлы игры были в кодировке CP1251.
    - В новой версии Скайрим(SSE) разработчики, по ошибке или ХЗ еще зачем сделали стринг-файлы локализации в кодировке UTF-8. И. Если играть без модификаций, то вообще пофигу, какую они использовали кодировку, если игра нормально отображает кириллицу.

    Но, т.к. Скайрим интересен по большому счету тем, что его можно изменять на усмотрение автора мода, то тут получается конфликт интересов. Да, именно так.
    Есть второе направление, о котором я писал выше, это переводчики, которым в принципе(возможно) нет дела до русских модмейкеров. Они имеют пару софтин, в которых на поток поставлен перевод иностранных модов. Как правило, сами переводчики ограничиваются знанием только лишь этих профильных программ и не лезут в создание модов, по этому не увидели сразу проблемы и начали на перегонки переводить моды для SSE в кодировке UTF-8, пытаясь опередить друг-друга количеством, чтоб получить на своих ресурсах как можно больше "трафика" игроков и как водится... "поспешишь - людей насмешишь". Дело в том, что они исключительно по непониманию того, что творят, перегоняют моды в кодировку, которая не подходит и для модмейкеров и для переводчиков одновременно.

    А теперь я расскажу почему это нихрена не правильно:
    1. Используя кодировку UTF-8, невозможно использовать конструктор с русской локализацией, т.к. все символы на кириллице становятся нечитабельными.
    2. Используя кодировку UTF-8, и не используя русскую локализацию конструктора, мы(модмейкеры) получаем конструктор с английской локализацией и возможностью писать на русском языке имена НПС, названия локаций, строчки диалогов и прочее... все бы казалось ничего, но есть одно НО, которое делает такой вариант не допустимым... Это то, что любая локация или любой диалог, который был затронут в моде, но не изменен на русский язык, а это в первую очередь ванильная озвучка, становится в русской игре - английской. То есть, к примеру.. модмейкер изменил, ну скажем ТТХ какого-то лука... и если он не изменил его название на русский язык, то пользователь получит в игре улучшенный лук с английским названием. Или к примеру возьмем ванильные фразы в диалогах, которые мы(модмейкеры) используем в своих модах... так вот, создавая какой-то диалог и используя ваниль, мы будем говорить НПС на русском, а он отвечать на английском(т.к. конструктор считает, что локализация английская) Часть НПС начнут кидать реплики на английском языке.
    То есть, используя UTF-8, переводчики подсаживают на этот вариант игроков и тем самым убивают на корню русский модинг.

    А теперь, я расскажу как правильно:
    1. Нужно использовать стринг-файлы CP1251*.
    2. Нужно всем(модмейкерам и переводчикам) выбрать этот формат и делать все в одном формате, чтоб пользователи не верещали о нечитабельных текстах и английской речи в своей игре.

    *Почему я предлагаю использовать кодировку CP1251?
    - У модмейкеров будет полноценно локализованный на русский язык, контент игры, что позволит делать модификации на русском языке, без всяких английских озвучек и "кракозябликов".
    - Для переводчиков это вообще не проблема, просто при переводе выбрать правильную кодировку сохранения файла.
    - Да, переводчики поспешили и поставили под угрозу русский моддинг, это я заявляю совершенно категорично, т.к. ситуация еще пока может быть изменена.

    К счастью, для модмейкеров и для переводчиков, есть формат, в котором никто никому не будет мешать и это только CP1251. Если переводчики модов останутся на кодировке UTF-8, значит им абсолютно наплевать и на пользователей и на модмейкеров, а беспокоит их лишь скорость выдачи модов.. ну по типу "у нас раньше появилось".

    Я в статье не буду приводить никаких ссылок, ни на стринг-файлы, ни на шустриков-переводчиков, я хотел бы быть услышанным. В противном случае, в каждом моде будет подниматься холивар на тему кодировок и пока мы в начале пути SSE, это еще пока можно решить.
     
    14 ноября 2016 VALKNUT
     
     
    Надо отметить, что ничего не изменилось и переводчики взяли верх над создателями.
    -= А патамушта их больше было! =-
     

  5. VALKNUT

    VALKNUT
    В роли торговца будет не новый персонаж, а аргонианин из самой игры..
    Так и интересней делать и у НПС есть хоть какая-то своя жизнь.
     
    ЧАСТЬ 1. Вступление
    Откроем редактор и загрузим skyrim.esm. (после этого шага, уже можно дать название вашему моду, нажав пиктограмку дискетки).

     
    Откроем набор "Actor", в фильтре напишем "Deekus".

     
    В списке персонажей останется только нужный нам.
    ПКМ(правая кнопка мышки) щелкнем на Дикуса и из контекстного меню, выберем "Use info".
    Нам откроется форма, в которой есть вся информация о нужном НПС. Собственно, это меню применимо и к другим объектам из списка редактора и это ОЧЕНЬ удобный инструмент!

     
    Двойной щечок на этом поле, откроет в окне рендеринга, местонахождение самого персонажа.

     
    ЧАСТЬ 2. Контейнер
    Чтоб отключить отображение маркеров, дыма и прочих спецэффектов, выделив окно рендеринга, нажимаем кнопку [M].
    Выделяем бочку, рядом с персонажем

     
    Нажимаем [Ctrl]+[D] - это сделает дубликат бочки и переведет на нее выделение. Теперь бочку надо просто сместить в сторону. Ее лучше уменьшить, зачем, я расскажу позже. Чтоб уменьшить, зажав [s] и ЛКМ(левую кнопку мышки) поведите вниз и она уменьшится, вверх и она увеличится. Я сделал так:

     
    Теперь, из этой бочки, будем делать наш основной контейнер, в который позже положим деньги(для расплаты с ГГ) и драгоценные камни.
    Т.к. мы просто скопировали бочку, она является точной копией 100500 таких же бочек. Двойной щелчок на "нашей" бочке, откроет ее свойства.

     
    Нам нужна кнопка [Edit Base], чтоб открылась форма, со свойствами БАЗОВОГО контейнера.

     
    На этой форме, нам нужно изменить название контейнера, чтоб в редакторе появился новый контейнер.
    Я задал имя(ID) "aaBarrelFood01" и вычистил его содержимое. Обратите внимание, чтоб была установлена галка [x] Respawn, это необходимо для того, чтоб через время(какое-то) у нашего продавца, появился новый товар и деньги.
    Все, форму можно закрыть, согласившись с редактором, что это НОВЫЙ объект

     
    Найти наш новый контейнер в редакторе.

     
    Двойным щелчком откроем наш новый кнтейнер и перейдем в набор "Items" - "LeveledItems", где в фильтре введем "VendorGoldMisc"(можно и "VendorGold", собственно без разницы, нам нужен любой левельный "кошелек")

     
    Двойной щелчок на объекте, раскроет форму его настройки.

     
    Здесь нам нужно дать название новому объекту("aaVendorGoldDeekus"), выставить количество денег у продавца, для торговли с ГГ и нажать [  Ok  ]. Выскочит форма вопрос/предупреждение([  Ок  ] = создать новый объект, [ Cancel ] = переименовать старый). Нам нужен новый. *Вообще, примером хорошего тона, при создании модов, является создание НОВЫХ объектов, а не изменение старых, это позволит сократить конфликты между модами. Хотя бывают случаи, когда надо только изменять ванильный объект(например, мы будем изменять самого Дикуса, позже)

     
    У нас появился в списке наш "кошелек", его нужно подхватить мышкой и перетащить в наш контейнер.

     
    Теперь, когда у торговца есть деньги для покупки товара у ГГ, нам нужно дать торговцу товар.
    Для этого, оставаясь в этом же наборе, в фильтре введем "LItemGems" и перетянем набор камней в наш контейнер.

     
    По большому счету, с контейнером мы закончили. На форме настройки нашего нового контейнера нажимаем [  Ok  ], форма закрывается, можно переходить к пакетам.
     
    ЧАСТЬ 3. Формлист
    Формлист - это набор(список), удовлетворяющих нас критериев. Этот лист определит, чем сможет торговать Дикус.
    Открываем набор "Miscellaneous" - "FormList"(не забудьте очистить фильтр). Здесь в списке все списки(Бггг), которые присутствуют в игре. Тыцкнем ПКМ(где выделено зеленым) и выберем контекстное меню "New".

     
    Откроется форма настройки объекта. Которой надо дать имя. Я дал имя "aaDeekusFormList". Закрывать ее не надо.

     
    В эту форму мы добавим то, чем сможет торговать Дикус. Для этого надо перейти в набор "Miscellaneous" - "Keyword", в фильтре найти "vendorItemGem"и перетащить в наш список. Собственно, это и есть игровой список ВСЕХ драгоценных камней.

     
    Теперь наш новый "список" можно закрыть, он уже не понадобится(если только вы не захотите добавить другие критерии выборки, чем сможет торговать Дикус.
     
    ЧАСТЬ 4. Фракции

     
    Переходим во набор "Character" - "Factions", в списке объектов ПКМ и выбираем контекстное меню "New".

     
    Открывается форма управления фракцией. В ней надо перейти на вкладку "Vendor", отметить "[x] Vendor", это значит, что участник этой фракции торговец, отметить время, когда он будет торговать, я выставил с 9 до 19. За тем, надо указать радиус торговли. Зная, что этот НПС никуда с места стоянки не уходит, я поставил радиус 128(этого вполне хватит, для конкретной задачи).
    Теперь надо выбрать созданный нами ранее список "aaDeekusFormList" в выпадающем списке "Vendor Buy/Sell List".
    И! переходим к выбору контейнера, по кнопке [Select Reference in Render Window]. *Чтоб это можно было сделать, в окне рендера мы должны видеть наш контейнер*. Двойной щелчок ЛКМ на нашей бочке, определит наш новый контейнер. Все, с контейнером разобрались.

     
    Теперь уделим внимание локации, чтоб тот радиус(128), который мы назначили ранее, имел центр. :)
    Для этого щелкнем по кнопке "Location [    Edit    ]". У нас откроется еще одна форма, в которой мы выберем "(x) Near Reference" и у нас станет доступна кнопка [Select Reference]. Щелкним по этой кнопке и в окне рендеринга, двойным кликом выберем наш контейнер. Теперь нажимаем [ Ok ], форма закрывается.

     
    Проверяем, что мы выбрали и что конструктор об этом теперь знает. Я выделил зеленым цветом те места, где названия поменяются автоматически, если было хоть что-то выбрано. Нажимаем [ Ok ]. Фракция готова к употреблению.
    PS. Тут нужно было сделать еще одно действие, которое я не "сфотографировал". Нам нужно наш контейнер(маленьку бочку), ли опустить под землю, но тогда хитрые игроки, с помощью консоли к ней спутятся под землю и стырят все деньги и драгоценные камни у Крокодила Гены Дикуса. Или... я так делаю. сделать "матрешку". То есть контейнер, мышкой расположить внутри другого контейнера. Для этого мы его уменшали в начале мануала. Так игрок, даже воспользовавшись кодом "хождения сквозь стены", до нашего контейнера не доберется.. т.к. будет срабатывать внешний контейнер. Ну, тут уж зависит от вашего мастерства. Можно контейнер сделать чуточку меньше и расположить его по тем же координатам, что и контейнер, из которого мы делали наш. Это самый аккуратный способ.*
     
    ЧАСТЬ 5. Редактируем НПС

     

     
    Открываем нашего Дикуса и переходим во вкладку "AI Packages", ПКМ на окошке со списком пакетов и выбираем контекстное меню "Add". Открывается форма, на которой есть поле ввода(оно же фильтр) и список всех доступных пакетов. Нам нужен стандартный пакет торговли "DefaultServicesEditorLoc24x7". Начните набирать его название, чтоб отфильтровать ненужные.
    За тем, по двойному щелчку мышки, он добавится в список АИПакетов. На этой вкладке все.

     
    Теперь переходим на вкладку "Factions". В конкретном, именно этом случае!!! Есть пакет, который делает Дикуса по отношению к игроку неучтивым, то есть его реплики будут весьма грубыми. Я убрал этот пакет, т.к. ящерки в Скайриме, кроме как с "Прилетит вдруг волшебник, в голубом вертолете и бесплатно покажет", ни с чем другим не ассоциируются(будем считать, что это мой маленький каприз).

     
    Теперь надо добавить созданную нами ранее фракцию "aa_DeekusJobMerchantFaction" и еще 2 фракции "JobMerchantFaction" и "JobStreetVendorFaction"

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

     
    Двойной клик на каждой бочке вызовет форму редактирования объекта. Переходим на вкладку "3D Data". Черным отмечены названия(ID) объектов. Красным обозначены поля на ванильном объекте, который нам лучше вообще не сдвигать никуда, что не внести в наш мод информацию об изменении этого объекта. Зеленым выделены поля, куда надо скопировать данные из полей, выделенных красным. Это обычная копипаста.. выделил-скопировал-вставил.
    Фиолетовм выделено поле, где задается общий размер объекта. я поставил 0.98. На скриншоте хорошо видны границы выделения объектов и что один больше, а другой меньше.
    Теперь форму редактирования нашего контейнера закрываем по [ Ok ], а форму ванильного контейнера по [ Cancel ]
     
  6. VALKNUT

    VALKNUT
    Небольшой мануал по созданию удобных установщиков.
     
    Некоторое время назад, я делал подобные установщики, редактируя xml файлы в текстовом редакторе.
    Сейчас у нас есть удобнейшая утилита "FOMODCreationTool"(FOMOD Creation Tool 1.7-6821-1-7.7z), которая позволяет этот процесс автоматизировать почти полностью.
        Хочу сразу отметить, что этот материал предназначен в ПЕРВУЮ очередь для новичков, которые никогда не делали подобные установщики, а те, кто хорошо разбирается в утилите, могут дополнить материал своими комментариями, которые я добавлю в материал, если посчитаю их(комментарии) интересными/полезными.
     
    Разобьем на части наш мануал..
    1. Создание плана
    2. Подготовка папок и файлов
    3. Создание проекта
    4. Проверка на MO
    5. Проверка на NMM
     
    План Предположим, что это мод мы хотим предоставить игроку для обоих версий Скайрим(Легендарное и Специальное издания).
    Подразумевается, что у нас есть все нужные файлы:
    1. Файлы для Скайрим СЛЕ
    2. Файлы для Скайрим ССЕ с кодировкой CP1251
    3. Файлы для Скайрим ССЕ с кодировкой UTF8

    Так же, у нас имеются общие для всех версий файлы, например звуки и файл ReadMe.txt, которые будут установлены при выборе любой версии мода.

    Предположим, что у нас есть опциональные файлы и мы хотим дать возможность игроку выбрать ЧТО ему нужно из этих опций, а что не нужно.
    Определим наши опции:
    1. Текстуры одного цвета
    2. Текстуры другого цвета
     
    Подготовка папок и файлов Для начала создадим В ЛЮБОМ месте папку с будущим названием архива. Обратите внимание, лучше всего делать эту папку без использования спецсимволов и пробелов. Например "Мой_Новый_Мод_v1.0", принесет меньше хлопот, чем "Мой Новый Мод v1.0".
    И так, примерная структура папок и файлов:

    *возможно у вас будут архивы BSA и да, скорее всего, ваш набор файлов будет совершенно иным, но мы разбираем концепцию построения.
    У меня папка будущего мода в проводнике выглядит так:

     
    Установщик
    Теперь, когда все папки и файлы готовы(разложены по полочкам), можно переходить к самой утилите "FOMOD Creation Tool". //Скачать, распаковать в удобное место, запустить.

    Основное окно утилиты, которое у вас откроется   Откройте меню "Options -> Setings" и выберете язык интерфейса "Russian.txt" и нажмите кнопку "Save", если хотите работать с программой с русифицированным интерефйсом.   Теперь, можно перейти к заполнению первоначальной формы. * Обратите внимание! Файлы изображений должны находиться в папке мода, в моем случае, это папка  "\myMod_v1\FOMOD\IMAGES\". Важно выбрать "Корневой каталог"(в моем случае "C:\myMod_v1").   Теперь можно перейти шагам установки.   Задаем имя группы, выбираем тип нажимаем добавить.
    Имя группе я дал "Редакция Скайрим"
    Тип группы "SelectExtractlyOne", это означает, что должна быть выбрана только одна, но любая редакция Скайрим. И это правильно, т.к. игрок будет устанавливать наш мод не на все редакции сразу, а на какую-то одну, в один момент времени.

    Теперь надо добавить сами редакции.
    Назовем первую из них Скайрим СЛЕ и нажмем добавить... и.. начнем заполнять форму. Надо понимать, что сейчас заполняется ТОЛЬКО форма, которая относится к выбранному пункту "Скайрим СЛЕ". Это и пака из которой будет происходить копирование файлов и изображение плагина и все прочее. Но обо все по порядку.

    1. Описание плагина - Здесь надо кратко описать, что будет установлено, если пользователь выберет этот вариант установки.. Например: "Это версия для Легендарного издания Скайрим"   2. Выберем изображение этой опции, оно так же должно быть в папке мода.   3. Выберем папку, из которой будем копировать файлы для издания СЛЕ, для этого нажмем кнопку "Добавить папку" и выберем "DATA-SLE", получится как на скриншоте   В левой части видим источник(DATA-SLE), а в правой целевую папку(DATA-SLE), так вот, это не правильно. Выделите мышкой целевую папку, а потом еще раз кратко нажмите на выделении мышкой. Удалите всё, что там есть и нажмите Enter. Получится так Это означает, что файлы из папки "DATA-SLE", будут скопированы в папку "Data", с установленной игрой. Если не отредактировать целевую папку, в папку "Data" скопируется папка "DATA-SLE", вместе с содержимым, а не только содержимое.   Теперь добавим еще две редакции, повторив эти шаги. /Описание, картинка, файлы и папки/
    SSE - CP1251   SSE - UTF8   На этом выбор редакции можно было бы завершить, но у нас по плану еще есть опциональные файлы и обязательные файлы.
    Сначала добавим обязательные. Сохраните то, что уже получилось. Нажмите меню "FOMOD -> Сохранить" и после сохранения перейдите на вкладку "Обязательные установки".
    Для примера, я добавил папку звуков, которая содержит файлы для всех редакций и добавил файл ReadMe.txt Красным выделен источник файла, зеленым путь, куда надо скопировать. Обратите внимание, что в пути КУДА. уже!!! содержится DATA\, по этому, надо отредактировать целевые пути так, чтоб например папка со звуками выглядела не как "DATA-SLE\SOUNDS", а как "SOUNDS".   Теперь перейдем к созданию шагов опций. То есть "Шаг 2" - Опции.
    Создадим группу "Текстуры" и так же тип "SelectExtractlyOne", чтоб дать выбрать только один вариант.   Скриншоты для примера.   Так же выбираем папки и картинки. Хочу отметить. что и MO и NMM, поддерживают прозрачные картинки с расширением .PNG и выглядят такие картинки при установке очень хорошо.

    Теперь можно сохранить проект и упаковать любым архиватором, чтоб проверить установку.   Шаг 1   Шаг 2   Мод установлен, но не активирован. Видно описание мода.   ***Если в папку FOMOD закинуть файл "logo.png", то справа будет отображаться эта картинка   Шаг 2   Как видно на скриншотах второго шага, при использование файлов PNG, установщик, в обоих органайзерах выглядит гораздо интересней.
     
×
×
  • Create New...