Перейти к содержанию

Text.dll 2025 (мой неоффициальный апдейт на современный лад)


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

19 часов назад, ksteel сказал:

постом выше прикрепил свой mcp в архиве, если надо.

upd прошу прощения, ввёл в заблуждение, 8го сентября скачивал MCP патч по данной ссылке. От туда же скачивал MGE XE https://www.nexusmods.com/morrowind/mods/26348?tab=files

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

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

19 часов назад, ksteel сказал:

MCP если я ничего не путаю, как раз-таки с Fullrest репака, а нейросети вот инструкция https://docs.google.com/document/d/13JVzJQ54jxppOsg8dlxnoQOhkzPOWb8SfKl3mtlZ34Q/edit?tab=t.0,
а вот гитхаб автора https://github.com/drzdo/immersive_morrowind_llm_ai.
(з.ы. Это не моя страница и лично автора я не знаю, автором мода НЕ являюсь, даже не общался с ним) там есть ссылки и на гитхаб и на ютуб с плейлистом, очень комичные моменты у него присутствуют. Интегрирую — это я конечно громко сказал (автор мода уже их интегрировал) внесу ясность - я занимаюсь рефакторингом этого мода. (кстати именно для него я и перекомпелировал text.dll, чтобы было удобнее общаться с АИ НПС в обычном диалоговом окне с ЛЮБЫМ НПС)

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

Там (в оригинале) доступны 3 нейросети на выбор - Gemini flash, Mistral, и ещё что-то. Любая нейронка на Open Ai. Можно даже запустить через LLM Studio локально на пк (но для этого нужен компудахтер мощностью сравнительный с компудахтером NASA для управления всеми спутниками Земли, потому я отказался от локальной реализации этого мода).

Так вот, я добавил ещё deepseek-chat. (В планах вообще ещё добавить yandex gpt и Giga chat. Для пользователей из РФ их проще оплачивать). Там ничего сложного — просто поменять строчки в confyg.yml


Естественно все  АИ требуют api ключи от нейросетей (ну Gemini flash можно использовать 15 минут в день и то по ограниченному количеству токенов, или найти какой-либо ещё один "бесплатный ключ" в чём-то ограниченный). В этом плане deep seek (опять по моему скромному мнению) явно выигрывает - дешево (даже очень) и сердито. Умный быстрый, контекст понимает, за ЛОР шарит, хахамбы и кеки не выдает (если самому в промт не вписать.


В будущем (не знаю насколько далёком) хочу перенести этот мод вообще на OpenMW (в данный момент ознакамливаюсь с документацией) Lua скрипты новее, движок открытый, костылей никаких не надо, я надеюсь. (по типу используемой заглушки от автора оригинала мода для UI Extensions (что кстати очень гениально было и тонко на мой взгляд).

Что мною было сделано на данный момент:

  1. проведен тотальный анализ всех файлов — кто за что отвечает, зачем нужен, какие взаимосвязи, тестово убрал их Промтов: "мат и всякую не лорную бредятину — какие-то частушки, матерные частушки, современные слова по типу "прикольно" и т.д.
  2. изменил полностью npc_personality_generator.py, теперь он собирает архетип личности не по типу:
  •      "ты родился в Балморе вчера, ты орк, который ненавидит легкие доспехи и любит вонючих грязекрабов, ты бьешь всех кто с тобой не согласен. И ещё ты называешь главного героя Н'Вахом. И плевать что ты орк.",
  •        а нормально: - Пол/Раса/Знак/Класс/Фракция/Ранг  учитываются даже АРХЕТИПЫ личностей (сангвиник, холерик, меланхолик флегматик, их помеси).

Получается при генерации что: - не все данмеры местные (кстати тут включена функция исключения по типу Камонны Тонг, Шестого дома, некоторые ранги в некоторых фракциях и т.д.), не все каджиты наркоманы и любят лунный сахар, не все орки тупые, не все норды грязные варвары любящие рыгать и пердеть, не все босмеры Фаргот и так далее. 

  1. занялся сейчас npc_spаwn_list.py - хочу сделать из маленькой ограниченной книги "того что может давать тебе нпс" на целые лорные библиотеки (Construction Set мне в помощь).
  2. ну и другие изменения (их очень много, например чтобы нпс при разговоре не подходили в плотную к тому с кем разговаривают, да это добавляет своего рода иммерсивности......но...вы помните того погонщика Силт Страйдера из Гнисиса, который вечно проваливал под мостик и умирал? Либо Лодочников, которые вечно тонули из-за того что они смещались с места? Вот то-то и оно 😃 . Чтобы НПС не пялились все на тебя, словно ты в западном вестерне весь такой чужак, зашёл в местную таверну с револьвером на перевес (кстати, из-за этой функции на тебя смотрят даже убитые НПС (трупы крутятся 😄).

Работы очень много, особенно очень много захламлённых файлов, которые отнимают 70 (если не 85)% всего времени:
 

Аналогия: Директор сидит в кабинете. 

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

ЧТО МЫ ИМЕЕМ НА ДАННЫЙ МОМЕНТ 

Этот бедолага директор, не то что собирает эти отчёты — ОН САМ ЛИЧНО носится по всему заводу, крутит гайки, меняет колёса у тракторов и ещё и в столовой кушать готовит для работников завода :D. Естественно миллиард функций и блоков кода вписано в бедные раздутые жирные файлы. А ведь можно сделать элегантнее и красивЕе.

И таких вот горе-дерикторов (файлов) целая Python часть мода (Lua часть маленькая, всего 19 файлов):
🌳 Структура мода Morrowind AI:
=========================================
📁 docs/                                                                                           Так что когда будет форк — не скажу точно. (там уже есть один на бесплатные разщговоры нпс голосом но   
📁 immersive_morrowind_db/                                                          по моему мнению, как кто-то выразился на ютубе и, я его мнение целиком поддерживаю, для меня
📁 immersive_morrowind_llm_logs/                                                 Морровинд - это больше буковки в тексте и чтение, чем общение голосом и отеты голосом нпс.
📁 src/
📄 .env (21 B)                                                            (з.ы. я сам играл в мод совсем немного - но увлёкся настолько, что аж погрузился в разработку и тестирование, но рассказать
📄 Текстовый документ.txt (498 B)                           и убедить Селлуса Гравиуса (именно его первого, потому что он главный по званию !!! по биографии!!), по приказу Селлуса
⚙️ config.example.yml (1,40 KB)                                -  Ганциеля Дуара, и ещё пару легионеров о том, что в  пещере Аддумасартус контрабандисты рабов держат было весело.
⚙️ config.yml (2,76 KB)                                             Притом что Гравиус остался снаружи, а легионеры со мной внутрь пошли, после чего меня оттуда выгнали (если бы я не
📄 LICENSE (34,32 KB)                                              ушёл они бы выписали мне шрафт) т.к. я ГРАЖДАНСКИЙ и не состою в легионе, был первого уровня в рваном тряпье и т.д.
📖 README.md (30,03 KB                                        А Гравиус категорически не хотел меня пускать внутрь как гражданское лицо, сказал ждать, что легионеры сами справятся 😄
📊 rpgaiserver.log (894 B)
📄 rpgaiserver.log.1 (884 B)                                     А я то блин понимаю, что пока меня там нету - ячейка мертва, там ничего не происходит, это не Тес 5 Скурим.
📄 rpgaiserver.log.2 (883 B)                                     Так и простоял прау минут, после чего зашёл алегионеры что стояли у входа давай меня выгонять из пещеры, мол капитан
📄 rpgaiserver.log.3 (791 B)                                     Гравиус сказал бла бла бла. Весело вобщем, эмоций полный вагон))
  📄 Screenshot_1.jpg (989,73 KB)
  📄 Screenshot_2.jpg (1,06 MB)
  📄 Screenshot_3.jpg (300,41 KB)
  📁 mwse_mod/
  📁 server/
    📁 MWSE/
      📁 mods/
        📁 UI Expansion/
        📁 zdo_immersive_morrowind_ai/
          🌙 MenuDialog.lua (184 B)
          📁 common/
          📁 i18n/
          📁 service/
          📁 ui/
          🌙 config.lua (515 B)
          🌙 main.lua (7,78 KB)
          🌙 mcm.lua (2,60 KB)
          📦 mcm.rar (921 B)
            🌙 actor_stats.lua (4,09 KB)
            🌙 diagnostic_injector.lua (3,23 KB)
            🌙 eventbus.lua (6,95 KB)
            🌙 util.lua (5,48 KB)
            🌙 eng.lua (237 B)
            🌙 rus.lua (290 B)
            🌙 actor_say_service.lua (507 B)
            🌙 env_service.lua (1,58 KB)
            🌙 npc_service.lua (31,87 KB)
            🌙 player_service.lua (11,66 KB)
            🌙 stt_service.lua (1,86 KB)
            🌙 animate_label.lua (2,30 KB)
            🌙 dialog.lua (13,03 KB)
            🌙 hud.lua (6,16 KB)
            📦 hud.rar (1,69 KB)
    📁 app/
    📁 database/
    📁 eventbus/
    📁 game/
    📁 llm/
    📁 stt/
    📁 tts/
    📁 util/
    🐍 main.py (72 B)
    📄 requirements.txt (216 B)
      🐍 app_config.py (3,99 KB)
      🐍 app.py (4,38 KB)
      🐍 database.py (2,46 KB)
      📁 backend/
      📁 data/
      📁 event_data/
      🐍 bus.py (3,46 KB)
      🐍 event_consumer.py (320 B)
      🐍 event_producer.py (174 B)
      🐍 event.py (591 B)
      🐍 rpc.py (4,47 KB)
        🐍 abstract.py (387 B)
        🐍 mwse_tcp.py (3,11 KB)
        🐍 actor_ref.py (342 B)
        🐍 actor_stats.py (1,16 KB)
        🐍 cell.py (319 B)
        🐍 crime.py (334 B)
        🐍 dialog_data.py (488 B)
        🐍 env_data.py (1,63 KB)
        🐍 id_with_name.py (88 B)
        🐍 nakedness.py (122 B)
        🐍 npc_data.py (2,07 KB)
        🐍 npc_response_reaction_data.py (252 B)
        🐍 player_data_fast.py (360 B)
        🐍 player_data.py (884 B)
        🐍 position.py (312 B)
        🐍 topic_data.py (105 B)
        🐍 event_data_from_game.py (4,94 KB)
        🐍 event_data_from_server.py (4,14 KB)
        🐍 event_data_rpc.py (3,08 KB)
      📁 data/
      📁 i18n/
      📁 service/
      🐍 game_master.py (22,21 KB)
      🐍 game_setup.py (5,85 KB)
        🐍 npc_behavior.py (180 B)
        🐍 npc_personality.py (131 B)
        🐍 npc.py (481 B)
        🐍 player_ref_looked_at.py (309 B)
        🐍 player.py (265 B)
        🐍 story_item.py (5,16 KB)
        🐍 story.py (337 B)
        🐍 time.py (1,98 KB)
        🐍 i18n.py (2,56 KB)
        📁 event_producers/
        📁 npc_services/
        📁 player_services/
        📁 providers/
        📁 scene/
        📁 story_item/
        📁 util/
          🐍 event_producer_from_story.py (11,24 KB)
          🐍 npc_behavior_service.py (8,88 KB)
          🐍 npc_database.py (3,99 KB)
          🐍 npc_intention_analyzer.py (18,99 KB)
          🐍 npc_llm_message_history_builder.py (2,43 KB)
          🐍 npc_llm_pick_actor_service.py (34,62 KB)
          🐍 npc_llm_response_producer.py (5,18 KB)
          🐍 npc_llm_system_instructions_builder.py (61,00 KB)
          🐍 npc_personal_story_service.py (2,20 KB)
          🐍 npc_personality_generator.py (53,75 KB)
          🐍 npc_service.py (6,18 KB)
          🐍 npc_spawn_list.py (3,34 KB)
          🐍 npc_speaker_service.py (14,25 KB)
          🐍 local_player_speaking_listener.py (2,24 KB)
          🐍 player_database.py (2,20 KB)
          🐍 player_intention_analyzer.py (6,20 KB)
          🐍 player_personal_story_service.py (3,85 KB)
          🐍 player_provider.py (1,35 KB)
          🐍 cell_name_provider.py (1,37 KB)
          🐍 dialog_provider.py (2,58 KB)
          🐍 dropped_items_provider.py (1,48 KB)
          🐍 env_provider.py (897 B)
          🐍 scene_instructions.py (4,19 KB)
          🐍 npc_story_item_helper.py (3,83 KB)
          🐍 story_item_to_history.py (10,09 KB)
          🐍 format_date.py (878 B)
          🐍 map_value_in_range.py (322 B)
          🐍 prompt_builder.py (2,25 KB)
          🐍 text_sanitizer.py (1,58 KB)
      📁 backend/
      🐍 llm_logger.py (5,11 KB)
      🐍 message.py (162 B)
      🐍 session.py (1,89 KB)
      🐍 system.py (2,73 KB)
        🐍 abstract.py (409 B)
        🐍 anthropic.py (2,61 KB)
        🐍 dummy.py (285 B)
        🐍 google.py (2,04 KB)
        🐍 mistral.py (2,64 KB)
        🐍 openai.py (2,62 KB)
      📁 backend/
      🐍 input.py (1,95 KB)
      🐍 system.py (5,39 KB)
        🐍 abstract.py (351 B)
        🐍 dummy.py (185 B)
        🐍 msspeech.py (3,00 KB)
        🐍 vosk.py (5,29 KB)
        🐍 whisper.py (3,93 KB)
      📁 backend/
      🐍 file_list_rotation.py (764 B)
      🐍 request.py (121 B)
      🐍 response.py (117 B)
      🐍 system.py (4,79 KB)
      🐍 voice.py (539 B)
        🐍 abstract.py (393 B)
        🐍 dummy.py (242 B)
        🐍 elevenlabs.py (6,49 KB)
      🐍 colored_lines.py (163 B)
      🐍 counter.py (216 B)
      🐍 diagnostic_injector.py (3,53 KB)
      🐍 distance.py (291 B)
      🐍 fs.py (345 B)
      🐍 gen_id.py (357 B)
      🐍 logger.py (3,57 KB)
      🐍 now_ms.py (71 B)



А если не читаете "многобуков", то короткая ремарка: человек открыл (по крайне мере для меня) дверь в АИ + Морровинд - создал "базу для этого", а я вошёл в комнату, где начал наводить свой порядок 😃 

ясно ,видел этот проект, но как минимум из за сложностей с нейросетями в рф, не заострял внимание. если дипсик прикрутите то уже интереснее.

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

В 02.10.2025 в 2:54 PM, ksteel сказал:

сделал обновление, спасибо за идею 😃

Не за что. Еще бы репозиторий залить на Гит для будущих поколений

Изменено пользователем Siberian Crab
Ссылка на комментарий
Поделиться на другие сайты

В 28.09.2025 в 3:28 AM, ksteel сказал:

Исходники text.dll взяты с ГитХаб https://github.com/angeld29/morr_text_dll

я тут заглянул одним глазом в исходники, там в файле versions.txt указан версия 3.0
в файле morr_text_dll.rc тоже версия файла 3.0 указана.
а исходники точно от последней версии?
на фулресте https://www.fullrest.ru/files/russian_text_input#6235 или в GFM лежит версия v3.01
судя по описанию "Исправлено отсутсвие сообщений при повышении уровня" в ней довольно важное исправление было.
Я конечно допускаю что когда 3.01 делали могли в проекте не поправить, но файл versions.txt то на фулресте поправлен, а на гитхабе старый сомнительно.
Выбор клавиши конечно хорошо, но терять исправление не хочется.

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

2 часа назад, Pirate443 сказал:

я тут заглянул одним глазом в исходники, там в файле versions.txt указан версия 3.0
в файле morr_text_dll.rc тоже версия файла 3.0 указана.
а исходники точно от последней версии?
на фулресте https://www.fullrest.ru/files/russian_text_input#6235 или в GFM лежит версия v3.01
судя по описанию "Исправлено отсутсвие сообщений при повышении уровня" в ней довольно важное исправление было.
Я конечно допускаю что когда 3.01 делали могли в проекте не поправить, но файл versions.txt то на фулресте поправлен, а на гитхабе старый сомнительно.
Выбор клавиши конечно хорошо, но терять исправление не хочется.

  1. исходники взяты с гитхаба, соответственно исходники от версии 3.0.
  2. Исходники версии 3.0.1 я не находил (к сожалению), если мне их предоставят, либо просто скажут куда что дописать, то я обязательно внесу это в своё дополнение, из этой темы, либо автор исправления про "таблички" может внести свои изменения в мои и перекомпилировать text.dll заново.
  3. По поводу этих табличек: "Исправлено отсутствие сообщений при повышении уровня" - это вот эти таблички по типу "вы так долго и упорно трудились и вот вы наконец пришли к этой цели. (Цитата не дословная, просто видел в каком-то файле игры эти строки давным давно. Вроде как в файле журнала (в который заносятся все записи про разные квесты, в игре.) Не помню где я его находил)
  4. По поводу GFM не совсем понял...GFM это же esp файл? Насколько я знаю, в ту же сборку в Fullrest Repack он уже встроен по умолчанию

Если я где-то ошибся, то поправьте меня. Я буквально как пару недель занимался text.dll. За темами на форуме (GFM и другие) не особо следил.

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

3 часа назад, Siberian Crab сказал:

Не за что. Еще бы репозиторий залить на Гит для будущих поколений

Никогда не делал офромление форков на гитхабе, но я постараюсь 😃 

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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