Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Advanced Message Window v1.0

Advanced Message Window v1.0 15 года 2 мес. назад #24668

  • Equilibrium Keeper
  • Equilibrium Keeper аватар
  • Вне сайта
  • Мастер
  • Скриптер
  • Сообщений: 119
  • Спасибо получено: 3
Advanced Message Window v1.0



Предисловие:
Данный скрипт, расширяющий доступные методы вывода сообщения в RPG Maker XP, как и все, что вышло из под моей клавиатуры, является сырым и некачественным, изобилующим глюками и недоработками. Однако, оные звери достаточно успешно прячутся от моего взора, а потому обо всех найденных экземплярах следует немедленно сообщать - буду истреблять.

Описание:
Данный скрипт представляет собой новый класс для вывода текстовых сообщений. Умеет показывать лица любых размеров, как из файла, так и из набора лиц, а так же выводить имя говорящего. Кроме того самостоятельно переносит не помещающиеся строки и оборудован прокруткой содержимого окна, так что в теории вы можете запихнуть в него текста на 65535 пикселей по высоте. Теоретически, потому что используется мой кривенький метод переноса из библиотеки EKLib, который все еще не научился быстро работать с большими объемами текста. Поэтому строго рекомендуется не выводить с помощью данного скрипта сообщения, длина которых превышает пять стандартных - будут заметные задержки. Ну, а если вы попытаетесь впихнуть сюда Войну и Мир, то игра благополучно закроется через десять секунд простоя. Кроме того, даже если в последствии скрипты будут модернизированы и задержки не будет, все же не рекомендуется собирать через чур длинные сообщения - это плохо скажется на динамичности игры.
Теперь о грустном. Пока не реализована система замен и управления текстом (вернее, замены на каком то этапе, вдруг, перестали работать). А так же еще часть мелких, нужных в хозяйстве деталей. Все это обязательно появится, как только появится свободное время.

Особенности:
В следствии довольно сложных настроек данного скрипта, которых в будущем станет еще больше, пришлось написать отдельную программу, генерирующую код для вставки в Script... события. Программа не требует установки и проста в управлении. Умеет запоминать настройки, в неограниченном количестве, так что в целом использовать ее должно быть удобно. Любые предложения, как по скрипту, так и по проге будут рассмотрены и, возможно, реализованы (для особо внимательных: да, скриншоты от разных версий, но снимать заново было лень ^^).

В следующих версиях планирую:
  • Исправить замену.
  • Доработать окно вывода имени.
  • Прикрутить методы управления текстом.

Требования: Работоспособность с более поздними версиями не гарантируется.

Установка:
В редакторе скриптов:
  • Создайте чистую страницу над "Main" и скопируйте туда данный скрипт.
  • В классе Scene_Map, в начале метода main вставить строку:
    $advance_message_window = Window_Dialogue_Advance.new
    В конце метода:
    $advance_message_window.dispose
    Пример:
    ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
  • В методе update, после цикла (loop):
    $advance_message_window.update if $advance_message_window.visible
    Пример:
    ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Настройка окна сообщений:
В Script... события вставить следующий код (генерируется с помощью "Dialogue Builder.exe"):
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

(строго не рекомендуется вбивать руками)

Вывод окна сообщений:
В Script... события вставить следующий код (генерируется с помощью "Dialogue Builder.exe"):
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

(так же не рекомендуется вбивать руками)
Внимание: В случае, если данное сообщение, идет в событии последним, что бы его закрытие не спровоцировало повторное обращение к событию, обязательно добавьте после вызова скрипта что-нибудь еще. К примеру, ожидание в течении одного кадра (wait 1).

Связанные ссылки:
Dialogue Bilder v1.3: Демоверсия: EKLib v2.1
EKLib Addon - Window Double v1.0

Скрипт:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


P.S.Прикрепленная "демоверсия", с которой были сняты скриншоты, являлась местом разработки скрипта, притензии по ней не принимаются(к примеру, невозможность войти в меню[исправлено]). Кстати, она является тем самым примером "как не надо делать", и показывает - что будет, если впихнуть слишком длинное сообщение.
P.P.S. Со следующей версией скрипт переоформлю в своем традиционном стиле, с подробными комментариями, etc.
P.P.P.S. Идеи, пожелания, багрепорты приветствуются.
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Последнее редактирование: 15 года 2 мес. назад от Equilibrium Keeper.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.534 секунд