TGViewer
Мастерская Ренпайщика Мастерская Ренпайщика @renpyhelixmaster_ru · 762 subscribers
Post #98 2.14K
Показ фрейма с играющей прямо сейчас музыкой
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Увидел тейк в RenPy Help, поэтому дублирую ответ сюда.
Система автоматическая и не требует ручного показа фрейма при проигрывании музыки.

init -2 python:
__ms_meta = {
"music/SomeName.ogg": _("Какой-то Автор - И его трек"), # уберите _() если не нужен перевод названий треков
"music/Aaa2102.ogg": _("Что-то там"),
}
init -2 python:

__ms_current = None

def __ms_notifier():
global __ms_current
track = renpy.music.get_playing()
if not track or track == __ms_current:
return

if renpy.seen_audio(track): #<- Уберите это если нужно ВСЕГДА показывать нотифай
return # уже слышали — не показываем #<- Уберите это если нужно ВСЕГДА показывать нотифай

# Помечаем как услышанный
renpy.mark_audio_seen(track) #<- Уберите это если нужно ВСЕГДА показывать нотифай

track_to_label = __ms_meta.get(track)

# Шаг 2: если не найдено — используем сам путь как fallback
if track_to_label is None:
track_to_label = track

# Шаг 3: сохраняем и показываем
__ms_current = track
renpy.run(ToggleScreen("displaymusic", track_label=track_to_label))
renpy.config.interact_callbacks.append(__ms_notifier)


transform ms_fade(duration=0.5):

xalign -0.1
alpha 0.0

on show:
ease duration xalign 0.0 alpha 1.0

on hide:
ease duration xalign -0.1 alpha 0.0


screen displaymusic(track_label):
zorder 201
$ __ms_dur = 5
frame:
at ms_fade
textbutton track_label:
text_color "#fff"
align (0.5,0.5)
action ToggleScreen("displaymusic")

timer __ms_dur action ToggleScreen("displaymusic")

Пояснения:
__ms_dur — Длительность показа уведомления.
__ms_meta — Список с вашими аудио-файлами и соответствующими им названиями.
__ms_current — Определяем, играет ли сейчас музыка чтобы не выводить ничего на экран во время интеракт-коллбека, и есть ли она вообще чтобы не вызывать нотифай просто так.
renpy.config.interact_callbacks — список обратных вызовов при непосредственно интеракции с игрой.


Экран показа уведомлений можно модифицировать и видеоизменять как вам захочется.

Для работы данной системы лучше создать отдельный файл getplay.rpy и закинуть его в папку game, но вы можете его просто разместить и до лейбла старт.
Методы воспроизведения музыки не важны, хоть через play music name (как define
audio.name), хоть через play music "music/name.mp3".
Личная рекомендация: музыку держать в папке music для корректной работы.


#адм_пост #готовый_код
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
» Инфо-Пост » ВП-ПОСТ » Ссылки » Бот Для Тейков »
  • 🙏 16
  • ❤‍🔥 3
  • ❤ 3
  • 👌 3
  • 👍 2
More from @renpyhelixmaster_ru
  1. Oct 4, 2026#ВП
  2. Oct 4, 2026✎✐✎ХУДОЖНИК ДЛЯ ВАС✎✐✎ ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ ➤Все указано в обложке прайс-листа ➤ Рисую обложки…
  3. Jul 20, 2026🗣АНОНС «ПРОКЛЯТЫЙ УДАЧЕЙ» ▶️➿➿➿➿➿➿➿ 🌿❎«Проклятый удачей» — сатирическое приключение в не…
  4. Apr 24, 2026🗣Twists&Turns: РЕЛИЗ?! ▶️➿➿➿➿➿➿➿ 🌿❎Спустя целых пять лет наконец-то вышел на свет релиз…
  5. Apr 22, 2026🌿В данной функции обнаружил существенное различие: Первая строка voicepath - идентификато…
  6. Apr 17, 2026⚡️ЗАВЕТ НОВИЧКА №2⚡️ ➿➿➿➿➿➿➿➿ Завет новичка Ч.2 — чтиво предназначенное для начинающих сво…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →