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

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?

  Показать контент

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

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

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

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

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

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

UnPinned posts
  В 3/8/2018 в 7:15 AM, akortunov сказал:

Чисто технически - возможно, но это не нужно, если флаг добавить.

Две стопки - краденные и легальные. Краденные можно какой-нибудь рамкой выделять или что-то типа того.

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

С рамкой – норм идея.

Было бы удобно ещё отдельную вкладку "Краденое" в инвентарь завезти, для удобства сбыта.

 

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

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

  В 3/8/2018 в 7:26 AM, morrow сказал:
Манчкинами, скидывающими перед попаданием в руки стражи весь краденый хабар на землю, можно пренебречь.
Можно добавить простую проверку, есть ли в радиусе N метров предметы с флагом "Украдено", и возвращать их в инвентарь игрока для обыска.
Ссылка на комментарий
Поделиться на другие сайты

Ну вот и отлично. Можно флаг в класс ESM::CellRef запихнуть, там как раз хранятся переменные вроде текущего состояния и заряда.

  В 3/8/2018 в 7:39 AM, Scarab-Phoenix сказал:

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

Или сразу переносить их в сундук с конфискатом.

 

Со вкладкой могут быть проблемы с локализацией, т.к. нужных GMST нет, а идею с выгрузкой локализации в отдельные файлы Zini зарубил, мол, у него свои идеи по локализации есть, но он нам до 1.0 о них не скажет.

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

  В 3/8/2018 в 7:39 AM, Scarab-Phoenix сказал:

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

Тогда будут скидывать в контейнеры.

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

  В 3/8/2018 в 7:49 AM, R-Zero сказал:
Тогда будут скидывать в контейнеры.

А если проверять контейнеры, будут скидывать в другие локации. Все варианты тут не проверишь.

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

  В 3/8/2018 в 7:43 AM, akortunov сказал:
Или сразу переносить их в сундук с конфискатом.
Сразу переносить плохо, потому что люди могут захотеть сделать закономерные плагины с откупом от стражи. И тогда придётся делать обратные костыли - возвращать вещи из сундука с конфискатом, выяснять, какие вещи нужно вернуть, а какие нет, и т. д.

 

 

  В 3/8/2018 в 7:49 AM, R-Zero сказал:

Тогда будут скидывать в контейнеры.

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

 

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

 

 

  В 3/8/2018 в 7:52 AM, akortunov сказал:

А если проверять контейнеры, будут скидывать в другие локации. Все варианты тут не проверишь.

Так пусть скидывают в другие локации. Это исторически лучший вариант при личном обыске ИРЛ, лол.
Ссылка на комментарий
Поделиться на другие сайты

  В 3/8/2018 в 7:54 AM, Scarab-Phoenix сказал:

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

Тоже верно.

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

Согласен с Фениксом. Убирать надо явно абсурдную ситуацию "скинул награбленное под ноги @ ничего не нашли". А на сундуки и другие локации - пофиг :)

 

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

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

  В 3/8/2018 в 7:06 AM, morrow сказал:

В итоге стража просто будет изымать только украденные предметы, а торговцам уже опционально можно будет сделать Service Refusal на покупку краденого (как в Обливе и Скуриме), чтобы продавать краденые вещи только в Гильдии Воров, или ростовщикам или ещё каким-нибудь торговцам.

Мне, если честно, никогда эта система не нравилась. Ладно еще стража, у них гипотетически ориентировка может быть, а вот простому торговцу в Балморе откуда знать, стибрил ли я этот кинжал в Тель-Аруне, или честно полутал в даэдрическим святилище Ашурубурубубу?

 

А если Service Refusal не прописать, то опять вернемся к ситуации, когда торговцу можно будет продавать его же вещи у него из-под носа.

 

  Цитата
а) как их стакать? В один общий контейнер? В разные?
А так ли много ли вообще украденых вещей обычно бывает на руках - может их вообще не стакать? Неудобно, конечно, но едва ли это будет магного неудобнее трех десятков пепельных статуй из оригинала.

Зато можно для каждой вещи выдавать описание - украдено у Налькарии, украдено у Арилла, украдено у...

 

  В 3/8/2018 в 7:15 AM, akortunov сказал:
Чисто технически - возможно, но это не нужно, если флаг добавить.
Гм. А надо ли флаг добавлять, если вместно него можно просто проверку на наличие поля делать?

Тогда можно и при торговле с торговцем отдельно фильтровать украденные именно у него цацки.

Правда, тогда повится возможность "отмывать" вещи путем подкидывания их в чужие сундуки (и еще через продажу и выкуп у другого торговца, но это совсем уж извращение).

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

  В 3/8/2018 в 10:46 AM, Dun Dram сказал:
Гм. А надо ли флаг добавлять, если вместно него можно просто проверку на наличие поля делать?
Хотя бы затем, что наличие поля ничего не говорит о том, каким способом был получен предмет - украден у владельца, забран в качестве трофея (см. недавние патчи от Capostrophic) после его смерти, куплен и т.д.

К тому же, будет отдельная стопка для каждого владельца, см. 30 пепельных статуй. Я уже не говорю о том, что обработка поля "Владелец" - это дополнительная головная боль. Пример с сундуками вы привели сами.

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

  В 3/8/2018 в 11:40 AM, akortunov сказал:
Хотя бы затем, что наличие поля ничего не говорит о том, каким способом был получен предмет - украден у владельца, забран в качестве трофея (см. недавние патчи от Capostrophic) после его смерти, куплен и т.д.
А я вот, кстати, думал, каким образом предмет с полем "владелец" может оказаться в инвентаре у игрока. Ведь проверка на живого-мертвого владельца проводится во время поднятия предмета и записи ID в массив ?

А при продаже поле можно и очищать.

 

  Цитата
Я уже не говорю о том, что обработка поля "Владелец" - это дополнительная головная боль.
Сложнее, чем обработка нового дополнительного тэга?
Ссылка на комментарий
Поделиться на другие сайты

  В 3/8/2018 в 10:46 AM, Dun Dram сказал:
А если Service Refusal не прописать, то опять вернемся к ситуации, когда торговцу можно будет продавать его же вещи у него из-под носа.
А какая принципиальная разница, продавать эти вещи ему же или торговцу в пяти шагах от него? Неужели ювелир не будет покупать бриллианты, по которым не видно, его они или нет? Если бы это был именной бриллиант "Гордость Налькарии", то другое дело, но две жемчужины друг от друга не отличить.
Ссылка на комментарий
Поделиться на другие сайты

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

  В 3/8/2018 в 11:56 AM, Dun Dram сказал:
Сложнее, чем обработка нового дополнительного тэга?
Новый тэг проще тем, что он специализированный, и мы его должны сохранять при любых операциях с ворованным предметом. Поле "Владелец" же мы меняем, сбрасываем, и т.д. Вот и думай потом - правильно поле было изменено где-то или нет? А если выложить предмет на землю, он автоматически перестает быть краденным?

Плюс новый тэг упрощает группировку объектов в инвентаре.

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

  В 3/8/2018 в 12:27 PM, Scarab-Phoenix сказал:
Неужели ювелир не будет покупать бриллианты, по которым не видно, его они или нет? Если бы это был именной бриллиант "Гордость Налькарии", то другое дело, но две жемчужины друг от друга не отличить.

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

 

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

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

  В 3/8/2018 в 12:37 PM, Dun Dram сказал:
Я думаю, профессиональный ювелир может очень хорошо отличить две жемчижины друг от друга, и помнит, жемчижины какого размера, веса и окраски имеются у него в наличии.
Ну, а ты предлагал разные жемчужины стакать.

Решение тут только одно - присваивать каждому предмету в игровом мире свой ID.

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

  В 3/8/2018 в 10:46 AM, Dun Dram сказал:

Мне, если честно, никогда эта система не нравилась. Ладно еще стража, у них гипотетически ориентировка может быть, а вот простому торговцу в Балморе откуда знать, стибрил ли я этот кинжал в Тель-Аруне, или честно полутал в даэдрическим святилище Ашурубурубубу?

А если Service Refusal не прописать, то опять вернемся к ситуации, когда торговцу можно будет продавать его же вещи у него из-под носа.

Палка о двух концах, да.

 

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

 

  В 3/8/2018 в 12:37 PM, Dun Dram сказал:

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

Ну, тогда вводить Service Refusal принудительный, чтобы сбывать хабар только ГВ и ростовщикам, которые всё кроме книг и алхимического барахла покупают.

Или делать его ещё более гибким: завязать на разнице навыков Торговли у торгаша и игрока. Если у торговца Mercantile выше этого навыка у игрока, то его не получится обдурить и он откажется покупать краденые предметы, если у игрока >= значению у торговца, то получится заболтать торговца и всучить ему хоть его же собственный меч, хоть кувшин с прахом мамы родной. Ну и выключить Service Refusal у любых неписей из Гильдии Воров.

Формулу можно и сложнее сделать, с привлечением интеллекта\удачи\отношения\репутации\гильдейского положения.

 

В том виде, что есть сейчас, переносить эту нелепость в ОпенМВ — преступно.

 

  В 3/8/2018 в 12:36 PM, akortunov сказал:

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

В рот мне ноги тролля. Давайте к чему-нибудь придём))

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

Service Refusal тут вообще ни к чему - надо либо отфильтровывать предметы корректно в зависимости от того кем был владелец либо вообще запрещать продавать эти вещи, как сделано с, например, призванными предметами.
Ссылка на комментарий
Поделиться на другие сайты

  В 3/8/2018 в 1:05 PM, R-Zero сказал:

Service Refusal тут вообще ни к чему - надо либо отфильтровывать предметы корректно в зависимости от того кем был владелец либо вообще запрещать продавать эти вещи, как сделано с, например, призванными предметами.

Если отфильтровывать, то придётся сохранять поле Ownership (выше писал Кортунов что с этим не так). А смысл вообще запрещать их продавать? Это тоже нереалистичный костыль, только в другую сторону. Можно и так, конечно, сделать, но придётся запиливать новых неписей, которым можно сбывать все краденые товары (в игре мало торговцев, которые покупают вообще всё). Если их не создавать, то сбывать краденое будет некому: смысл тогда играть вором? Тырить только то, что нужно в использовании?

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

  В 3/8/2018 в 12:36 PM, akortunov сказал:
Новый тэг проще тем, что он специализированный, и мы его должны сохранять при любых операциях с ворованным предметом.
Ну опять же, нужны как минимум дополнительные проверки на его установку (жив ли владелец и все такое). Ну и описаные проблемы с совместимостью.

 

  Цитата
А если выложить предмет на землю, он автоматически перестает быть краденным?
Нет, почему бы.

 

  В 3/8/2018 в 12:40 PM, Scarab-Phoenix сказал:
Ну, а ты предлагал разные жемчужины стакать.
Я думаю, ты прекрасно в курсе, что они действительно все разные.

 

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

 

  В 3/8/2018 в 1:00 PM, morrow сказал:
Но это однозначно лучше чем как сейчас, когда стража не только знает, что краденое, а что нет, но и легальные вещи забирает, а торговцы видят свои вещи там, где их нет.
По-моему, хуже. К тому же это отдельный плагин нужен будет для правильной работы.

С другой стороны, на этом можно построить всякие фракционные фишки новые.

 

  В 3/8/2018 в 1:10 PM, morrow сказал:
Если отфильтровывать, то придётся сохранять поле Ownership (выше писал Кортунов что с этим не так).
Но зато так можно будет настроить реакцию владельца именно на свои бриллианты, а не на чьи-то чужие.
Ссылка на комментарий
Поделиться на другие сайты

  В 3/8/2018 в 1:15 PM, Dun Dram сказал:
Нет, почему бы.
Ну так поле "владелец"-то в обоих случаях будет одинаковым (что у ворованного предмета в инвентаре, что у ворованного на земле, что у неворованного).

Но так да, у обоих вариантов есть свои достоинства и недостатки.

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

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

 

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

nr6E5zv.png

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

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

Есть три типа структуры тэга, большинство тэгов имеют название, поле размера данных и непосредственно сами данные, но и это не суть.

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

 

Я сымитировал нормальный тэг и вклеил его в сейв, вылезла ошибка при загрузке:

  Цитата

Unknown HUIA_ID in ConstructObject.

Во время загрузки файла 'Novoenac0001.ess' произошли ошибки.

 

Естественно Моррка не знает такого тега, но прикол в том, что движок умудрился понять что такого тега нет, распознать в нем поле размера данных, считать его и отступить заданное количество байт и спокойно продолжил загрузку сейва. Сейв загрузился нормально. Все теги после неизвестного не похерились. Тут можно сказать хвала беседке за грамотный формат.

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

 

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

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

У меня перед моими документами встречаются русские буквы и при запуске файлов опен конструктор вылетает. Бывало ли у кого такое и как с этим бороться ?
Ссылка на комментарий
Поделиться на другие сайты

  В 3/10/2018 в 3:49 PM, RAVIRR сказал:

У меня перед моими документами встречаются русские буквы и при запуске файлов опен конструктор вылетает. Бывало ли у кого такое и как с этим бороться ?

Переименовать учётную запись, чтобы не было кириллицы.

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

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

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

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

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

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

Войти

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

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

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