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

OpenMW или мечты иногда сбываются


MEZON

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

Официальный сайт OpenMW
Страница загрузки
Ссылка на загрузку актуального билда для Win64 (обновляется ежедневно)
 
Баг-трекер

Wiki

Список задач до релиза 1.0

Репозиторий с исходным кодом на GitLab

Discord: OpenMW (в наличии русскоязычный канал)
IRC: #openmw на irc.freenode.net

Полезные ссылки:
Реестр популярных модов для OpenMW с гайдами по установке
Руководство по портированию ретекстуров в OpenMW
OpenMW на Youtube
OpenMW на GitLab
Диздоки планов развития после 1.0
 
Сторонние проекты, основанные на OpenMW:
TES3MP - реализация мультиплеера для OpenMW.

Тема OpenMW на 4PDA - здесь можно найти сборки OpenMW для Android 5+ и гайды по решению проблем.

OpenMW для VR - основан на OpenXR, готовые сборки (устаревшие) есть только для Windows.

Порт на Switch - к сожалению, в настоящее время им никто не занимается.

Что такое OpenMW?

 

OpenMW - это попытка воссоздать игровой движок для популярной RPG TES3 Morrowind, полноценную реализацию всех особенностей игры с открытым исходным кодом. Для того, чтобы вы имели более полное представление о проекте, вот ключевые особенности OpenMW:

  • Кроссплатформенность - запуск на Windows (7 или новее), Linux, MacOS X, Android (платформы x86 не поддерживаются).
  • Виртуальная файловая система, позволяющая устанавливать моды в отдельные директории, а не засорять Data Files.
  • Поддержка сжатых BSA-архивов для экономии места на диске.
  • Исправление ошибок системного проектирования: "грязные" GMST записи в плагинах, проблема "удвоения" в сейвах, лимит на 255 плагинов и т.д.
  • Улучшенный поиск пути - с помощью статического или динамического (на выбор) построения навигационной сетки на основе геометрии локаций (вместо использования вручную расставленных дизайнерами локаций маркеров).
  • Улучшение интерфейса (поддержка TrueType-шрифтов, масштабирования интерфейса и миникарты, поддержка текстур высокого разрешения для элементов интерфейса, редактирования разметки интерфейса с помощью XML-файлов, клавиатурной навигации, поворота камеры с помощью гироскопов и т.д.).
  • Улучшение графики (поддержка шейдеров постобработки, динамические тени от объектов, Distant Land (хоть и без генератора LOD-ов), анимированная трава, шейдер воды с поддержкой отражений в реальном времени, улучшенная система освещения без лимита в 8 источников света на объект, улучшенная система тумана и многое другое).
  • Улучшенная поддержка анимаций (возможность использовать отдельные файлы для отдельных групп анимаций, возможность добавлять кастомные кости в скелеты, возможность задать новые анимации для топоров, булав и кинжалов, поддержка анимаций открытия-закрытия контейнеров).
  • Начальная поддержка Lua-скриптов для расширения возможностей плагиностроения.
  • Поддержка ICU для локализации Lua-скриптов, шейдеров постобработки и элементов интерфейса.
  • Использование дополнительных ядер процессора для фоновых задач (например, для предварительной загрузки локаций для бесшовного перемещения по игровому миру или для обработки коллизий объектов).
  • Отсутствие лимита 4Гб на адресуемую процессом игры память из-за поддержки 64-битных архитектур.
  • Намного меньшее количество вылетов в сравнении с оригинальным движком.
  • Возможность модификации движка под свои нужды (например, довольно популярен TES3MP - форк OpenMW с поддержкой мультиплеера).

OpenMW выпущен под лицензией GPLv3, весь исходный код написан с нуля.

Нужен ли оригинальный Morrowind для OpenMW?

И да, и нет.

ДА. Прежде чем использовать OpenMW, вы должны легально приобрести и установить Morrowind на ваш компьютер. OpenMW воcпроизводит только техническую сторону игры, и не содержит в себе каких-то материалов, защищенных авторским правом. Используются только данные уже установленной игры, либо с установочных файлов с диска или цифровой копии игры.

НЕТ. OpenMW - самостоятельный игровой движок. Он может быть базой для тотальных конверсий, не использующих файлы Morrowind. В качестве примеров можно привести Robowind Construct и StarWind.

Каково текущее состояние проекта?

Статус

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

Какие технологии вы используете?

OpenMW построен с использованием различных библиотек и инструментов с открытым исходным кодом:

  • Языки программирования: C++ (стандарт C++17 с частичной поддержкой C++20), GLSL, Lua
  • Графика: OpenSceneGraph
  • Физика: Bullet
  • Звук: OpenAL
  • Ввод-вывод: SDL2
  • Интерфейс: MyGUI
  • Поиск пути для ИИ: Recast & Detour

 
Я не программист, как я могу помочь проекту?

 

1. Можно просто играть и отсылать багрепорты

2. Можно тестировать разрабатываемый код, до того, как он попадёт в основную ветку. Там же можно вести обсуждение и предлагать изменения.

3. Можно тестировать моды. Основная цель - выявить проблемы с совместимостью.

4. Можно исследовать механики оригинального движка, особенно актуально в области тонкостей работы скриптов.

5. Можно обновлять Wiki.

6. PR тоже не помешает, особенно если он позволит привлечь тестировщиков и плагиностроителей.

7. Можно донатить разработчикам на Patreon'е:

  • psi29 — проджект лид, поможете закрыть траты на хостинг
  • Capostrophic — тысяча и один фикс + вагон фич
  • AnyOldName3 — тени в OpenMW
  • David Cernat — работа над TES3MP
Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...
  • Ответов 3.1 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

UnPinned posts

Морровиндские ж параметры, на них нехорошо завязывать.

 

Поддерживаю. А вообще после 1.0 для таких моментов можно вообще скриптовую функцию вызывать, в которой хоть погоду на Марсе можно учитывать, и изменение исходного кода не нужно.

Подобная система, например, в "Звездных Волках" работает.

 

Я б ввел флаг типа "расширенная боевая логика ИИ" в опции и позволил игроку выбирать самому, какую логику он предпочтет - примерно как было, или поболе здравого смысла от противников.

 

Кстати, хорошая мысль. Благодарю, наверное, так в итоге и сделаю.

 

Конкретно по поводу ударов по площади: склоняюсь ко второму варианту как к более простому и реалистичному. Все равно в свалке "свои против чужих" непонятно, кому в результате прилетит на орехи.

Разве что его можно немного расширить: не учитывать в качестве вторичных цели, иммунные к эффекту.

Чтобы если вдруг в ситуации типа

 

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

вместо скампа оказался Огненный Атронах или Данмер с Огненным щитом, то можно было жарить вражин без проблем.

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

Да хрен с ней, с Гальбедир. Заваливаешься в логово к какому-нить магу. К тебе кидается его охрана, призванный скамп - и тут же дохнут, потому что сзади спеллкастер пару раз лупанул огнем по площади. Ну а ты такой подходишь и топориком его - тюк! Один хрен мана у колдуна уже кончилась :-)
Вот в таких логовах как раз обитают маги, об адекватности которых речь вообще не идёт. Заносчивые, надменные, которые вполне могут самоуверенно накрыть всех своих слуг и призванных скампов вместе с врагом. Это ж всё равно расходные материалы - слуг и приспешников можно набрать новых, скампов призвать, скелетов поднять. Главное - самому выжить.

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

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

akortunov

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

 

Вариант, предложенный Фениксом, будет актуален только в том случае, когда маг будет 100% уверен в том, что заклинание приведет к гибели PC. Т.е. жахнуть какой-нибудь бронебойной ледышкой по всем сразу с расчетом, что игрок гарантированно откинет копыта, не считаясь с потерей миньонов - разумно. Но, ИМХО, чаще всего неписи-маги будут просто планомерно закидывать массовым дерьмом всех подряд, от чего хуже будет именно миньонам, а не игроку.

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

А при чём тут вменяемость? Со страху жахнуть чем помощнее - вполне понятный рефлекс

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

 

Смысл атаки по площади - это чтоб враг не увернулся? То есть по сути атакуется пол с координатами нахождения врага?

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

То есть по сути атакуется пол с координатами нахождения врага?

 

Сейчас ИИ в основной ветке OpenMW вообще не замечает разницы между заклинаниями, бьющими единичную цель, и заклинаниями, бьющими по площади.

Как я понял, ИИ кастует в точку местонахождения противника на момент завершения каста. Это не упреждение, так что я ошибся.

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

Кстати, а как Morrowind ведет движущиеся цели? Насколько я помню, там тоже можно было легко уклониться.

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

Насколько я помню - уклонится можно запросто, да.

В общем, можно обсудить интересный апгрейд ИИ - вопросов тут много и алгоритм ветвистый. Думаю, логично в отдельной теме, если это интересно

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

Но идея кидать заклинания типа огненного шара в пол возле цели интересная, т.к. в текущей реализации в случае промаха заклинание тупо будет лететь до ближайшего препятствия.
На самом деле не очень. В Морре мало открытых пространств. Бои происходят в основном в пещерах и данжах, где на полу полно камней, ящиков и др. объектов. Если целиться не в корпус, а под ноги, заклинание с куда бОльшим шансом встретит препятствие, не долетев до цели. Если ИИ научится просчитывать позицию противника и сцену вокруг, а потом бить так, чтобы цель была поражена хоть рикошетом - это да. Но, похоже, это вопрос более отдаленного будущего.
Кстати, а как Morrowind ведет движущиеся цели? Насколько я помню, там тоже можно было легко уклониться.
Ведет он стандартно, выставляет упреждение с учетом скорости и направления движения цели. Но спеллы летят медленно, коллизии в игре упрощенные, так что обычно увернуться несложно.
Ссылка на комментарий
Поделиться на другие сайты

По поводу стрельбы на упреждение: она в OpenMW реализована только для оружия дальнего боя, не для заклинаний. Создал запрос: https://bugs.openmw.org/issues/3948

 

Еще вопрос: как NPC в Морровинде используют предметы с зачарованием "При использовании"? По моим наблюдениям, кривовато:

1) Используются только негативные эффекты (т.е. никаких тебе щитов Велоти или колец жизни)

2) Каждый тип предмета используется только один раз, т.е. если у персонажа есть 10 одинаковых колец огненных шаров, он использует только одно и один раз. Наверное, пока оно полностью не перезарядится.

3) Нет проверки на то, что используемый предмет экипирован. По крайней мере, для рубашек и колец.

 

 

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

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

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

Почему бы и нет? Было бы логично.

 

К слову какие сначала заклинания будет непись использовать:

а) жрущие ману известные ему заклинания, а уже потом заклинания на предметах

или

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

или

в) как-то иначе

?

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

К слову какие сначала заклинания будет непись использовать:

 

В Морровинде - вроде вариант б). Сначала неписи используют бижутерию (даже если она очень слабая), затем переходят на обычные заклинания. Причем ухитряются использовать даже предметы из рюкзака - рубашки, ботинки и т.д.

 

Скорее всего, потом будет опция-переключатель между стандартной боевой логикой (включена по умолчанию) и расширенной.

 

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

 

Сейчас у меня идет расчет приоритета по той же формуле, что и для заклинаний - по эффективности (с учетом силы заклинания, длительности, сопротивлений и т.д). Плюс проверка, что предмет экипирован.

Т.е. у меня сейчас разницы между зачарованиями и заклинаниями нет.

Дефолтное правило "сначала все предметы, а затем заклинания" вставлять не хочу - ИИ будет тратить время на копеечные бирюльки. Может, там просто множитель какой добавить?

 

Также - должен ли ИИ экономить заряды? Например: если лучшее действие непися - это использовать кольцо огненных шаров, то должен ли он выпалить все заряды сразу, или по мере расходования зарядов его должна начать душить жаба (приоритет кольца снизится)?

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

Благодаря Андрею в 0.43.0 большая часть звуков интерфейса не будет искажаться под водой.

Добавление: снова Кортунов — теперь NPC будет избегать попаданий по ним, пока они кастуют заклинания "на себя", а ещё было изменено несколько виджетов интерфейса:

  • Все списки, которые появляются поверх других элементов интерфейса, теперь имеют непрозрачный фон (например, выбор конкретного персонажа в меню загрузки сохранений)
  • Исправлено вычисление ширины кнопок в меню быстрых клавиш
  • Из меню выбора заклинания для меню быстрых клавиш убраны столбцы "цена/шанс" и "цена/заряд" (никакой информации они всё равно не предоставляли)

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

  • 2 недели спустя...

Релиз 0.42.0 уже на подходе, Atahualpa наконец-то доделывает нахрен никому не нужные релизные видео.

Очередная сводка по новейшим добавлениям к 0.43.0.

Кортунов:

  • Теперь цена одежды — беззнаковая переменная, так что вместо диапазона от -32768 до 32768 (около того) возможные цены будут от 0 до 65535, как в оригинальном Морровинде, что позволяет избежать ошибки переполнения.
  • При новой игре будет fade-in и fade-out экрана, как в оригинальном Морровинде.

scrawl:

  • Много очень технических фиксов.
  • Теперь "время предсказывания" направления игрока при предзагрузке ячеек настраивается, по умолчанию предсказывается направление, в которое будет направлен персонаж через 1 секунду.
  • Исправлен z-fighting в определённых условиях (например, при использовании Better Clothes) на превью персонажа в инвентаре.
  • Исправлены тормоза из-за удалённого ландшафта в определённых условиях — например, при касте заклинания.

PlutonicOverkill:

  • Полноценная поддержка сборки на Visual Studio 2017.
  • На Windows при сворачивании окна теперь автоматическая пауза.

Thunderforge:

  • В настройках в лаунчере объединены секции General и Morrowind Installation Wizard; новая имеет название второй из этих.

Андрей написал новый пакет ИИ, AiBreathe, который не даст NPC просто взять и утонуть, не попытавшись хотя бы подняться к воздуху, но изменения ещё не были проверены scrawl'ом и их нет в основной ветке.

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

Теперь цена одежды — беззнаковая переменная, так что вместо диапазона от -32768 до 32768 (около того) возможные цены будут от 0 до 65535, как в оригинальном Морровинде, что позволяет избежать ошибки переполнения.

А почему 16 бит? Мы же не сэкономим места и скорости вычислений вроде как. Неужели для 32битной версии идет упаковка 2х цен в одно слово, а для 64битной 4х в одно слово? Как пример.

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

А почему 16 бит? Мы же не сэкономим места и скорости вычислений вроде как. Неужели для 32битной версии идет упаковка 2х цен в одно слово, а для 64битной 4х в одно слово? Как пример.

 

Обратная совместимость. По-какой то причине программисты Бетесды выделили 32 бита для хранения цены всех объектов, кроме одежды (там 16 бит). Наверное, посчитали, что дорогой одежды не бывает. В ESM и ESP файлах та же ерунда.

OpenMW использует обычный int для хранения цен, для цен одежды - short (был изменен на unsigned short). Я пытался там тоже поставить int, но получил вылет при чтении данных с Morrowind.esm.

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

Немного новостей: scrawl решил провести генеральную уборку на Гитхабе. Часть pull request'ов была закрыта, часть принята (даже те, которые висели по несколько месяцев). Среди включенных в основную ветку много моих наработок. Вот они:

 

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

2. Учет сопротивления противника нормальному оружию при выборе оружия ИИ.

3. Улучшения меню покупки заклинаний: заклинания отсортированы по имени, а также не нужно отматывать весь список сначала после каждой покупки.

4. Кнопки "ОК/Отмена" в виджете выбора предметов из пачки выравнены по центру.

5. При расчете приоритета заклинания у ИИ учитывается дальность (+50% для заклинаний "Удаленная цель") и область поражения. Также приоритет заклинания нормирован к приоритету оружия - до этого любое заклинание имело приоритет в 10-50 раз выше, чем даже очень хорошее оружие.

6. Лучники теперь не будут пытаться подстрелить цель, находящуюся в воде. И не будут пытаться стрелять из воды на сушу, т.к. все равно сработает коллизия стрелы с водой.

7. Улучшено открывании дверей неписями: теперь ИИ может открывать двери в любых ячейках (раньше работало только в интерьерах), добавлена проверка, что NPC стоит лицом к двери.

8. Перелистывание страниц дневника теперь озвучено.

 

 

Также отдельно могу выделить фикс idle-анимаций, который залил Allofich. Теперь музыканты в Animated Morrowind будут корректно анимированы.

 

Определение полного же списка всех изменений может занять много времени.

 

P.S. Если текущая пачка изменений включена в основную ветку, то что? Правильно, можно отправлять следующую.

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

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

но как же черт возьми медленно движутся некоммерческие проекты...

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

К вопросу о цвете воды в разных регионах.

Новые добавления к 0.43.0.

LennyPenny:

  • Переходы между музыкой более плавные

Кортунов:

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

spycore:

  • Теперь возможно начать игру и в неименованной ячейке с помощью флага --start при запуске

16bitint:

  • Теперь тюрьма не сможет понизить навык ниже нуля

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

Это можно будет сделать разный цвет у рек в зависимости от типа почвы в регионе? Офигенно же.
Ссылка на комментарий
Поделиться на другие сайты

Поддержку геймпада в OpenMW ещё не улучшили случаем?

С 0.42.0 геймпад можно использовать вместе с клавиатурой и мышью. Больше ничего не изменилось в обозримом прошлом.

 

Ещё добавления к 0.43.0.

Кортунов:

  • При торговле предметы, которые были украдены у торговца, будут конфискованы при попытке их продать; то же происходит и при попытке использования украденного у зачарователя камня душ при зачаровании при помощи услуг этого зачарователя
  • Любые спутники больше не будут пытаться атаковать или донести на игрока при совершении им преступления
  • При изменении ячейки, в которой находится игрок, выбранный через консоль объект не перестанет быть доступным
  • При ожидании, не только при отдыхе, тоже будет создаваться автосохранение; scrawl поменял своё мнение насчёт этого вопроса
  • Персонаж игрока теперь правильно помещается в превью в инвентаре, и длинное оружие не будет перекрывать границы этого окошка.
  • В игре всплывающие подсказки и интерактивные сообщения теперь прозрачны. Когда игра на паузе и открыт какой-либо интерфейс — диалоги, инвентарь и т.д. — они непрозрачны.

Aesylwinn (да, он):

  • Орбитальная камера в редакторе перестанет неожиданно перемещаться на старую позицию

Thunderforge:

  • Переписан текст в окне установки/нахождения Морровинда. Теперь он более точен и ясен.
  • На macOS обменены функции Ctrl и Meta, чтобы копировать/вставить можно было привычной комбинацией клавиш.

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

Может кто-нибудь подсказать, за что в Морровинде отвечают эти настройки:

 

Sky Pre-Sunrise Time=.5
Sky Post-Sunrise Time=1
Sky Pre-Sunset Time=1.5
Sky Post-Sunset Time=.5
Ambient Pre-Sunrise Time=.5
Ambient Post-Sunrise Time=2
Ambient Pre-Sunset Time=1
Ambient Post-Sunset Time=1.25
Fog Pre-Sunrise Time=.5
Fog Post-Sunrise Time=1
Fog Pre-Sunset Time=2
Fog Post-Sunset Time=1
Sun Pre-Sunrise Time=0
Sun Post-Sunrise Time=0
Sun Pre-Sunset Time=1
Sun Post-Sunset Time=1.25
Stars Post-Sunset Start=1
Stars Pre-Sunrise Finish=2

 

Из них только "Sun Pre-Sunset Time" используется в OpenMW.

Есть также старый багрепорт: https://bugs.openmw.org/issues/1990

Здесь пользователь жалуется, что поведение закатов и рассветов в OpenMW отличается от такового в Морровинде.

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

Может кто-нибудь подсказать, за что в Морровинде отвечают эти настройки:

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

 

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

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

Похоже, расхардкоживать много надо.

 

Чем я и планирую заняться в ближайшем будущем.

 

За скорость перехода дня в ночь и обратно

Ну, в общих-то чертах понятно. Пока что я не понимаю, почему опции сгруппированы по четыре штуки. Чем Pre и Post отличаются?

 

Например, солнце:

Sun Pre-Sunrise Time=0
Sun Post-Sunrise Time=0
Sun Pre-Sunset Time=1
Sun Post-Sunset Time=1.25

 

Так когда фактически зайдет солнце с такими настройками:

Sunrise Time=6
Sunset Time=18
Sunrise Duration=2
Sunset Duration=2

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

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

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

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

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

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

Войти

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

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

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