Войти на сайт

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

ТЕМА: Окно системного сообщения об истечении статуса

Окно системного сообщения об истечении статуса 6 года 3 мес. назад #108143

  • Cpt. Kras
  • Cpt. Kras аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 19
Всем привет. Вопрос простой, но я не нашёл на него ответов в Гугле.

Как изменить Background и Position системного оповещения, которое появляется вне боя после истечения статуса?

Как это по умолчанию:

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


Как это должно быть:

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


Изменение этих параметров в скриптах ничего не дало. Работаю в ACE, если что. :)

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

Окно системного сообщения об истечении статуса 6 года 3 мес. назад #108144

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2480
  • Разработчик2 место За 2 место на конкурсе маппингаДаритель СтимкеяПрограммист RubyУчительПроект месяца 3 местоПаладинОраторВетеран
Cpt. Kras пишет:
Cpt. Kras пишет:
Изменение этих параметров в скриптах ничего не дало. Работаю в ACE, если что. :)

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Странно, у меня это срабатывает. Если в классе Game_Message, в методе clear я меняю это:
@background = 0
    @position = 2
на это:
@background = 1
    @position = 1
то у меня выводится на полупрозрачном фоне в середине:
eric.png

Если у вас это не работает, может, у вас есть какие-то другие скрипты, которые сбрасывают фон обратно? :unsure:

Если у вас это работает, то имейте в виду, что у такого подхода будут побочные эффекты: Game_Message используется много где. Например, в части боевых сообщений («Слизь нападает!») или в сообщениях о новых уровнях. Если нужно, чтобы оформление менялось только в сообщениях о снятых состояниях, лучше менять функцию show_removed_states в классе Game_Actor. По умолчанию она выглядит так:
def show_removed_states
    @result.removed_state_objects.each do |state|
      $game_message.add(name + state.message4) unless state.message4.empty?
    end
  end
Чтобы в ней менялось оформление, её можно поменять таким образом:
def show_removed_states
    if @result.removed_state_objects.length > 0 then
      $game_message.background = 1
      $game_message.position = 1
    end
    @result.removed_state_objects.each do |state|
      $game_message.add(name + state.message4) unless state.message4.empty?
    end
  end

Лично я стараюсь не редактировать стандартные скрипты, а оформлять все мои дополнения как отдельные скрипты: так их легче отключить (если что-то пойдёт не так) или перенести в другую игру (если мне они понравятся). Если оформить это изменение как отдельный скрипт, выйдет так:
class Game_Actor < Game_Battler
  alias :cptKras_show_removed_states :show_removed_states
  def show_removed_states
    if @result.removed_state_objects.length > 0 then
      $game_message.background = 1
      $game_message.position = 1
    end
    cptKras_show_removed_states
  end
end
Последнее редактирование: 6 года 3 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit, Cpt. Kras

Окно системного сообщения об истечении статуса 6 года 3 мес. назад #108145

  • Cpt. Kras
  • Cpt. Kras аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 19
UPD. Разобрался, что за это окошко всё-таки отвечают строки в Game_Message (в чистом проекте всё сработало как надо), но в нужном мне проекте стоит парочка скриптов...

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


Можете посоветовать фикс в конец Materials, чтобы перебить их?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Окно системного сообщения об истечении статуса 6 года 3 мес. назад #108146

  • Cpt. Kras
  • Cpt. Kras аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 19
Если оформить это изменение как отдельный скрипт, выйдет так:

Большое спасибо, Dmy! Вбил в конец списка и всё заработало как надо.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
Время создания страницы: 0.344 секунд