Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: RPGMMV - Проблемы с разрешением экрана диалогов

RPGMMV - Проблемы с разрешением экрана диалогов 2 мес. 1 день назад #106496

  • Konstantst
  • Konstantst аватар
  • Вне сайта
  • Путник
  • Сообщений: 6
  • Спасибо получено: 2
Доброго времени суток :)

Сегодня вновь столкнулся с проблемой при переводе проекта в 1920x1080 :wall:
Проблема заключается в том, что при написании диалогов теперь не возможно понять когда и где их нужно заканчивать, всё теперь как в шоу "Интуиция". Так как Мейкер по-прежнему думает, что всё происходит в дефолтном разрешении, в то время как уже давно фулл хд. И дело не только в том, что не понятно где заканчивать текст, но сам процесс работы с текстом стал более неудобным, так как редактор постоянно так и норовит дрыгаться как в шоу "Танцы".

1_ppp.jpg


2_ppp.jpg


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

У меня ранее была подобная проблема, но с разрешением экрана при битвах (sw), там мне помог добрый человек написав скрипт, который всё исправил.
Я не знаю возможно ли и это окно диалогов изменить скриптами, так как я пока не сильно опытен в среде Мейкера.
По-этому не серчайте, если вдруг это не возможно или наоборот слишком просто :blush:
Администратор запретил публиковать записи гостям.

RPGMMV - Проблемы с разрешением экрана диалогов 2 мес. 1 день назад #106497

  • Dmy
  • Dmy аватар
  • Сейчас на сайте
  • Бог Светлого
  • Сообщений: 583
  • Спасибо получено: 1130
  • 2 место Даритель СтимкеяУчительРазработчикПроект месяца 3 местоПоддержка ФондаВетеранОратор
Изменить размер окна в редакторе невозможно (ну, разве что если его взломать, но это не ко мне). Так что придётся искать обходные пути.

Обходной путь 1: поменять шрифт

Один обходной путь — поменять шрифт. Можно попробовать выбрать такой шрифт, при котором сообщения будут примерно такой же длины, как и в стандартном разрешении.

Для изменения шрифта можно использовать плагины Янфлая YEP 1 CoreEngine (во всей игре) или YEP 2 Message Core (только в сообщениях). Установите нужный плагин и измените настройку «Font Size»

Наверное, есть ещё какие-то более легковесные плагины. Может, кто-то тут ещё посоветует.

Обходной путь 2: заставить движок переносить слова

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

У Янфлая есть плагин YEP 2 Message Core, в котором есть опция Word Wrapping, перенос по словам. Если её включить (присвоить ей значение true), то плагин будет игнорировать строки в редакторе, а сам будет переносить слова на новую строку, когда они не будут помещаться на предыдущую. Также рекомендуется включить опцию Word Wrap Space, которая ставит пробелы на месте старых переносов слов.

yanfly-2.png


(Вместо YEP_MessageCore можно попробовать использовать YED_WordWrap. Но я его не проверял.)

Так как стандартные переносы этот плагин игнорирует, вместо них надо писать <br>, если нужен нормальный перенос строк.

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

Чтобы с этим бороться, предлагаю подключить вот такой плагин после плагина YEP_MessageCore (порядок важен):
var Game_System_messageRows = Game_System.prototype.messageRows;
 
Window_Message.prototype.numVisibleRows = function() {
    return Game_System_messageRows.call($gameSystem);
};
 
Game_System.prototype.messageRows = function () {
    return 9999;
}
 
Game_Interpreter.prototype.isContinueMessageString = function() {
    if (this.nextEventCode() === 101) {
      //check if the message has the same parameters
      var nextCmd = this._list[this._index + 1];
      var params = nextCmd.parameters;
 
      var sameFaceName = $gameMessage.faceName() == params[0];
      var sameFaceIndex = $gameMessage.faceIndex() == params[1];
      var sameBg = $gameMessage.background() == params[2];
      var samePosType = $gameMessage.positionType() == params[3];
 
      return sameFaceName && sameFaceIndex && sameBg && samePosType;
    } else {
      return this.nextEventCode() === 401;
    }
};
(Я отказываюсь от авторских и смежных прав на код выше в той мере, в какой это разрешено законом, и передаю его в общественное достоние согласно Creative Commons Zero.)

Его надо сохранить в какой-то в формате .js (например, DontDisjoinMessages.js) в папке js/plugins своего проекта и подключить после YEP_MessageCore:
example-plugin-layout.png


Ну и не забудьте в YEP_MessageCore включить Word Wrap и Word Wrap Space.


Мой плагин объединяет несколько идущих подряд сообщений в одно, а YEP_MessageCore переразбивает строки. То есть разбиение на строки в мейкере будет банально игнорироваться, и сообщения будут объединяться:

de-bello-gallico-resized.png


(Вводить такие длинные сообщения можно с помощью галочки «Массовый ввод».)

А в игре это будет видно вот так:

dbg-1.png

dbg-2.png


Не очень удобно, что предпросмотр в редакторе не будет работать, но что поделаешь.

Если с этим плагином нужно разбить сообщение на два, между ними можно поставить пустую (или не пустую) команду «Комментарий». Она ничего сама по себе не делает, зато два сообщения разобьёт. (К тому же не будут разбиваться сообщения с разными лицами или настройками.)
Полезные ссылки:
Не задавайте мне вопросы по мейкеру лично, пожалуйста! Меня это огорчает. Задавайте их всем: тогда у меня будет свобода выбора «ответить или не отвечать». Мне нужна эта свобода.
Последнее редактирование: 2 мес. 1 день назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit, Konstantst

RPGMMV - Проблемы с разрешением экрана диалогов 2 мес. 1 день назад #106502

  • Konstantst
  • Konstantst аватар
  • Вне сайта
  • Путник
  • Сообщений: 6
  • Спасибо получено: 2
Спасибо вам большое за очень содержательный ответ. Добра вам и счастливой жизни ;)
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
Время создания страницы: 0.237 секунд