Перейти к содержанию
Авторизация  
elma

"подгонка" версий плагинов для Fallou4 и Skyrim SE

Рекомендуемые сообщения

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

1. автор мода перестраховывается от того, что со следующей версией f4se/skse64 мод перестанет работать или глюканет

2. популярность модов на нексусе расчитывается не от количества уникальных скачиваний, а просто от общего количества скачиваний

3. есть жывотные, которых сильно прёт, когда их на коленях умоляют обновить их творение

     предположим, игрока такая ситуация не устраивает и он хочет за пару минут самостоятельно обновить мод. фантастика? отнюдь. дело в том, что проверки версий игры для модов в 99.9% случаев не нужны, т.е. почти любой мод для Ф4 версии с 10.26+ будет после "доработки напильником" работать хоть на 10.75, хоть на 10.130. так же 95-98% модов старших версий будет работоспособно на младших версиях игры. это связано с тем, что разработка f4se немного переместилась в морг. с skse64 ситуация несколько иная- дело в том, что релиз skse64 был сильно преждевременным и имел работоспособный функционал относительно обычного skse менее половины. что это означает? это означает лишь то, что в отличии от ситуации с Ф4 моды старших версий с гораздо меньшей вероятностью "взлетят" на старых версиях игры.

     теперь о той "магии", что потребуется чтоб совершить сие страшное и великое колдунство, занимающее минуту-две. для совершения сего волшебства не потребуются ни девственницы, ни кровь, ни жабы ни иная ***а. потребуется всего лишь исходник библиотеки dll, но тут будет ожидать сюрприз- в 99% случаях авторы не выкладывают исходники. но есть и другие пути получения исходников- наплакать, насосать, отжать в подворотне ... ну или просто декомпилировать библиотеку.

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

     в качестве подопытного для проведения вскрытия возьмем мод MCM

Скрытое содержимое

    Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
, тем боле, что автор любезно выкладывает исходники

Скрытое содержимое

    Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
. под спойлером для удобства чтения приведу интересующий нас код, содержащийся в MCM.cpp . ни на какие права/свободы и прочее при этом я не покушаюсь...

Спойлер

#include "f4se/PluginAPI.h"
#include "f4se/GameAPI.h"
#include <shlobj.h>

#include "f4se/PluginManager.h"

#include "f4se_common/f4se_version.h"

#include "f4se/ScaleformValue.h"
#include "f4se/ScaleformMovie.h"
#include "f4se/ScaleformCallbacks.h"

// Translation
#include "f4se/ScaleformLoader.h"
#include "f4se/Translation.h"

#include "f4se/PapyrusVM.h"
#include "f4se/PapyrusNativeFunctions.h"

#include "Config.h"
#include "rva/RVA.h"

#include "Globals.h"
#include "PapyrusMCM.h"
#include "ScaleformMCM.h"
#include "SettingStore.h"
#include "MCMInput.h"
#include "MCMSerialization.h"
#include "MCMTranslator.h"

IDebugLog gLog;
PluginHandle g_pluginHandle = kPluginHandle_Invalid;

F4SEScaleformInterface        *g_scaleform = NULL;
F4SEPapyrusInterface        *g_papyrus = NULL;
F4SEMessagingInterface        *g_messaging = NULL;
F4SESerializationInterface    *g_serialization = NULL;

//-------------------------
// Event Handlers
//-------------------------

bool RegisterPapyrus(VirtualMachine *vm) {
    PapyrusMCM::RegisterFuncs(vm);
    _MESSAGE("Registered Papyrus native functions.");

    return true;
}

void OnF4SEMessage(F4SEMessagingInterface::Message* msg) {
    switch (msg->type) {
        case F4SEMessagingInterface::kMessage_GameLoaded:
            MCMInput::GetInstance().RegisterForInput(true);

            // Inject translations
            BSScaleformTranslator* translator = (BSScaleformTranslator*)(*G::scaleformManager)->stateBag->GetStateAddRef(GFxState::kInterface_Translator);
            if (translator) {
                MCMTranslator::LoadTranslations(translator);
            }
            break;
    }
}

extern "C"
{

bool F4SEPlugin_Query(const F4SEInterface * f4se, PluginInfo * info)
{
    gLog.OpenRelative(CSIDL_MYDOCUMENTS, "\\My Games\\Fallout4\\F4SE\\MCM.log");

    _MESSAGE("MCM v%s", PLUGIN_VERSION_STRING);
    _MESSAGE("MCM query");

    // populate info structure
    info->infoVersion =    PluginInfo::kInfoVersion;
    info->name      = PLUGIN_NAME_SHORT;
    info->version   = PLUGIN_VERSION;

    // store plugin handle so we can identify ourselves later
    g_pluginHandle = f4se->GetPluginHandle();

    // Check game version
    if (f4se->runtimeVersion != SUPPORTED_RUNTIME_VERSION) {
        char str[512];
        sprintf_s(str, sizeof(str), "Your game version: v%d.%d.%d.%d\nExpected version: v%d.%d.%d.%d\n%s will be disabled.",
            GET_EXE_VERSION_MAJOR(f4se->runtimeVersion),
            GET_EXE_VERSION_MINOR(f4se->runtimeVersion),
            GET_EXE_VERSION_BUILD(f4se->runtimeVersion),
            GET_EXE_VERSION_SUB(f4se->runtimeVersion),
            GET_EXE_VERSION_MAJOR(SUPPORTED_RUNTIME_VERSION),
            GET_EXE_VERSION_MINOR(SUPPORTED_RUNTIME_VERSION),
            GET_EXE_VERSION_BUILD(SUPPORTED_RUNTIME_VERSION),
            GET_EXE_VERSION_SUB(SUPPORTED_RUNTIME_VERSION),
            PLUGIN_NAME_LONG
        );

        MessageBox(NULL, str, PLUGIN_NAME_LONG, MB_OK | MB_ICONEXCLAMATION);
        return false;
    }

    // Get the scaleform interface
    g_scaleform = (F4SEScaleformInterface *)f4se->QueryInterface(kInterface_Scaleform);
    if(!g_scaleform) {
        _MESSAGE("couldn't get scaleform interface");
        return false;
    }

    // Get the papyrus interface
    g_papyrus = (F4SEPapyrusInterface *)f4se->QueryInterface(kInterface_Papyrus);
    if (!g_papyrus) {
        _MESSAGE("couldn't get papyrus interface");
        return false;
    }

    // Get the messaging interface
    g_messaging = (F4SEMessagingInterface *)f4se->QueryInterface(kInterface_Messaging);
    if (!g_messaging) {
        _MESSAGE("couldn't get messaging interface");
        return false;
    }

    // Get the serialization interface
    g_serialization = (F4SESerializationInterface *)f4se->QueryInterface(kInterface_Serialization);
    if (!g_serialization) {
        _MESSAGE("couldn't get serialization interface");
        return false;
    }

    return true;
}

bool F4SEPlugin_Load(const F4SEInterface *f4se)
{
    _MESSAGE("MCM load");

    // Initialize globals and addresses
    G::Init();
    RVAManager::UpdateAddresses(f4se->runtimeVersion);

    g_scaleform->Register("f4mcm", ScaleformMCM::RegisterScaleform);
    g_papyrus->Register(RegisterPapyrus);
    g_messaging->RegisterListener(g_pluginHandle, "F4SE", OnF4SEMessage);

    g_serialization->SetUniqueID(g_pluginHandle, 'MCM');
    g_serialization->SetRevertCallback(g_pluginHandle, MCMSerialization::RevertCallback);
    g_serialization->SetLoadCallback(g_pluginHandle, MCMSerialization::LoadCallback);
    g_serialization->SetSaveCallback(g_pluginHandle, MCMSerialization::SaveCallback);

    // Create Data/MCM if it doesn't already exist.
    if (GetFileAttributes("Data\\MCM") == INVALID_FILE_ATTRIBUTES)
        CreateDirectory("Data\\MCM", NULL);

    SettingStore::GetInstance().ReadSettings();

    return true;
}

};

 

 

 

    да, буков, да еще и импортных- много, но не стоит пугаться раньше времени. нас интересует то, что ниже объявления функции " bool F4SEPlugin_Query(const F4SEInterface * f4se, PluginInfo * info) " . там запрашивается версия игры/f4se и сравнивается с интересующей автора:

if (f4se->runtimeVersion != SUPPORTED_RUNTIME_VERSION)

эту строчку не надо трогать- она для нас не опасней сломанной мышеловки, нас на самом деле интересуют две строки ниже:

        MessageBox(NULL, str, PLUGIN_NAME_LONG, MB_OK | MB_ICONEXCLAMATION);
        return false;

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

       далее удаляем/закоменчиваем эти 2 строки, компилируем библиотеку, засовываем её куда положено и наслаждаемся.

 

       теперь немного о другом. описанное здесь отнюдь не панацея и по возможности следует избегать данной процедуры, если есть возможность обновить мод. далее- для Skyrim SE нельзя пытаться новые версии Racemenu прикрутить на старые версии игры, это связано с тем, что мод развивается/восстанавливает функционал и это напрямую связано с развитием/восстановлением skse64. с Ф4 подобное несколько получше- например Looksmrnu для версии 10.120 великолепно взлетит на версии игры 10.75 (на сильно старых версиях, скажем, 10.26 или 10.40 не опробовано).

 

      в заключении добавлю, что подобный текст на некоторых ресурсах приведет к бану автора, например на нексусе забанят в течении нескольких минут, поэтому не стоит искать там помощи.

 

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

 

Продолжение темы смотрим тут: 

 

Изменено пользователем Barmailley

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Замечательно! Хотелось бы добавить несколько слов об использовании "Resource Hacker": если он находит в длл-ке раздел Version Info - можно прямо там попытаться поправить версию F4SE. Иногда прокатывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

миниинструкция для F4z-Ro-D-oh (фузродох для ф4) для отпиливания проверки версии в dll.

сорсы находятся в

Скрытое содержимое

    Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.

нас интересует файл main.cpp, а точнее участок кода в нем:

Спойлер
bool F4SEPlugin_Query(const F4SEInterface * F4SE, PluginInfo * info)
{
gLog.OpenRelative(CSIDL_MYDOCUMENTS, "\\My Games\\Fallout4\\F4SE\\F4z Ro D-oh.log");
_MESSAGE("%s Initializing...", MakeSillyName().c_str());
 
// populate info structure
info->infoVersion = PluginInfo::kInfoVersion;
info->name = "F4z Ro D'oh";
info->version = PACKED_SME_VERSION;
 
interfaces::kPluginHandle = F4SE->GetPluginHandle();
interfaces::kMsgInterface = (F4SEMessagingInterface*)F4SE->QueryInterface(kInterface_Messaging);
 
if (F4SE->isEditor)
return false;
else if (F4SE->runtimeVersion != RUNTIME_VERSION_1_10_138)
{
_MESSAGE("Unsupported runtime version %08X", F4SE->runtimeVersion);
return false;
}
else if (!interfaces::kMsgInterface)
{
_MESSAGE("Couldn't initialize messaging interface");
return false;
}
 
// supported runtime version
return true;

}

это стартовые проверки для подрубания dll, все их убирать не нужн, достаточно изменить строку

else if (F4SE->runtimeVersion != RUNTIME_VERSION_1_10_138)

на чтонибудь типа :

else if (F4SE->runtimeVersion = null)

или иную лабуду, которая не даст телу условия сработать.

далее просто компилим и пользуемся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Koul999
      Оригинал: Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Автор мода: Billyy
       
      Версия мода: 7.6
       
      Пакет интимных анимаций для SexLab для Skyrim SE от Billyy. Пакет содержит большое количество анимаций с людьми (М+Ж, Ж+Ж, одиночные и групповые), с существами, анимации с использованием различной мебели, предметов из zaz и DD.Пакет содержит большое количество анимаций с людьми, существами, анимации с использованием различной мебели, предметов из zaz и DD.
       
      Примечание:
      Для многих анимаций из сборника необходимы дополнительные моды, например zaz, Devious Devices или More Nasty Critters для существ. Поэтому при установке мода внимательно прочитайте описание пакетов и устанавливайте только те, которые вам подходят.
       
      Требования:
      Skyrim SE/AE
      Sexlab Framework
      Sexlab Animation Loader

      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      More Nasty Critters Special Edition  (Необязательно, нужен для анимаций с существами)
      Animated Beast's Cocks(ABC) For users (Необязательно, нужен для анимаций с существами)  
      Установка:
      Скачать мод и установить, используя любой менеджер модов. При установке выбрать только те анимации, которые вам нужны.
      Запустить FNIS.
      Зарегистрировать анимации в МСМ SexLab Animation Loader.
       
        Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. | Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
       
      Скриншоты:
       
    • От Gudaus
      Оригинал на
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. Версия 0.15 LE 
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. Версия 0.15 SE 
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.  
       
       
      Мод на проституцию. Играть рекомендую за ЖГГ, иначе квестов не будет.
      10861 строка. Можно заниматься проституцией в тавернах и борделях. Для этого надо приобретать лицензии у управляющих Ярла, которые выдают квесты.
      Как правильно стартовать - не знаю, совместными усилиями жителей геймсурса найдены 3 варианта.
      1) Идёшь в Драконий Мост, заходишь в таверну. Там находишь голую шлюшку по имени Тлата Альваалу и говоришь с ней о всём подряд. Надо в итоге спросить как самой зарабатывать на жизнь таким же способом. Потом появятся маркеры на управляющих и квесты.
      2) Подходишь к какому-нибудь трактирщику и докапываешься по линии проституции, далее отсылают к управляющему ярла и открываются маркеры 
      3) Перевод FAQ с ловерсов от разработчика
       
      Замеченные косяки:
      1) В книгах, там где имя указано переменной, вместо имени могут стоять пустые квадраты. При этом имена местами нормально видны, а местами квадраты. Не знаю с чем связано.
      2) Некоторые записки слишком длинные. Они выглядят не как книга, а как именно записка. Листабельны стрелками. Косяк мода, не мой.
       
      Интеграция с Devious Devices отсутствует. В диалогах конечно поругают не раз за профессию и обзовут всяко, но такова жизнь ЖГГ в Скайриме. Каждый зарабатывает как умеет. Но в целом софткорно. Секс и квестовая беготня.
      Строк много из-за вариативности прохождения квестов.
      Есть возможность стать суккубой по квестам некроманта Ваниксета, но до PSQ тут как до луны. Никаких крыльев, полётов и трансов. Чисто бафы и дебафы на хп/стамину/магию/броню.
       
      Заметите косяки - обязательно отпишите, я тестил не полностью. Ходить по всем параллельным диалогам - увольте.
       
    • От Koul999
      Оригинал (SE):
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Автор: Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Версия мода: 15.4
       
      Описание:
      More Nasty Critters Special Edition  (MNC SE) - это компиляция основных ресурсов (модели, текстуры, анимации), необходимых для секс анимаций с существами. Требуется для любых модов на зоофилию, которые используют подобные сцены. Мод для своей работы требует Creature Framework, который также можно скачать на этой странице.
       
      Creature Framework представляет из себя фреймворк, необходимый для работы зоофильских модов, которые добавляют в Skyrim секс сцены с разными существами. Сам по себе фреймворк ничего не делает, но позволяет другим модам легко производить замену тела персонажей и интегрироваться с SexLab и SexLab Aroused. Другие моды могут использовать Creature Framework для замены моделей тел и брать возбуждение из SexLab Aroused во время секс сцен с существами.
       
      Требования:
      Skyrim SE
      SKSE
      Creature Framework
      SkyUI
      UIExtensions
      SexLab
      SexLab Aroused
      JContainers
      FNIS+FNIS Creature Pack (для анимаций с существами)
       
      Установка:
      Скачать мод и распаковать содержимое папки Data архива в папку Data игры.
      Подключить мод в используемом менеджере модов.
      Запустить FNIS
       
      После запуска игры и загрузки сохранения необходимо включить опцию "Сцены с существами" в MCM меню SexLab (вкладка "Настройки сцены").
      Удаление мода через MCM меню Creature Framework.
       
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. / Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. | Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
       
      Старые версии:
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте. | Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
       
      Если у вас возникли проблемы с модом можете скачать предыдущюю версию More Nasty Critters  v.12RC10SE и отдельно Creature Framework.
      Также на странице оригинала упоминалось, что включённая в мод новая версия Creature Framework также может вызвать проблемы. Если вы столкнулись с такими проблемами, скачайте и установите Creature Framework по ссылке ниже. Эту версию можно использовать и с новой версией More Nasty Critters.
       
      Старые версии:
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.
       
      Рекомендуемый порядок загрузки:
      (Skyrim и DLC)
      SexLab.esm
      SexlabAroused.esm
      CreatureFramework.esm
      (esm аддоны для Sexlab)
      (Другие .esm моды)
      SkyUI.esp
      UIExtensions.esp (нужен для SexLabTools)
      FNIS.esp
      (Остальные .esp моды)
      SexLabTools.esp (Необязательно)
      MoreNastyCritters.esp
      HentaiCreatures.esp (Необязательно)
      SexLabMatchMaker.esp (Необязательно)
      SLAnimLoader.esp (Необязательно)
      (Другие .esp аддоны/плагины для Sexlab)
       
      Примечания:
      Что касается других модов, то моды конкретно на зоофилию не обязательны. Секс сцены можно вызвать, например, используя мод SexLab Defeat, сдавшись во время нападения существ на вас или призвав животное с помощью заклинания из мода HentaiCreatures.
      Creature Framework здесь для Skyrim LE. Это так и должно быть. Автор мода использует версию для Skyrim LE. Esp файл More Nasty Critters также имеет form 43. Это не должно вызвать никаких проблем. Все меши сконвертированы в формат Skyrim SE.
      Чтобы вернуть стандартное лого (фон главного меню), удалите файлы в Data\meshes\interface\logo  и Data\textures\interface\objects
    • От Fiona159
      Homemaker - Expanded Settlements/Домохозяйка
       
       
      Добавляет более 1000 новых крафтовых объектов, включая крафтовые версии базовой игры. Также включает в себя новые наборы строительства, рабочие плантации и многое другое!
      Перевод сделан мной с классификацией объектов для удобства поиска и работы.
      Страница мода 
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.   Скачать перевод ФОМОД версии 1.76 :   Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.    В архиве полностью переведённый мод.
      Если игра вылетает при открытии меню Заборы,установите этот фикс 
      Скрытое содержимое
      Для просмотра скрытого содержимого необходима РЕГИСТРАЦИЯ на сайте.  
       
       
×
×
  • Создать...

Важная информация

By using this site, you agree to our Условия использования.