Старый мод не запускается на Ren’Py 8
Мод не сломан. Причина вылета — переход движка Ren’Py 8 на Python 3, который больше не принимает устаревший код Python 2.
Вы скачиваете проверенный мод, подключаете к свежему Ren’Py 8 и получаете окно с трейсбеком ещё до заставки. Ren’Py 7 работал на Python 2, где разрешались конструкции, запрещённые в Python 3: оператор print, старый синтаксис исключений, смешивание строк и байтов. Ручная правка десятков файлов отнимает выходные. R-Migrator распаковывает архивы, декомпилирует скрипты и переводит весь проект на Python 3 за один проход.
Типовые ошибки, из-за которых мод падает на Ren’Py 8
Каждая из этих ошибок вызвана отказом Python 3 от устаревших правил Python 2:
- TypeError: can’t concat str to bytes — В Python 3 строки строго разделены с байтами. Мини-игры со стихами, чтение файлов и сокеты падают сразу.
- SyntaxError: invalid syntax на операторе print — Конструкция print "текст" в Python 3 требует скобок: print("текст").
- SyntaxError на except Exception, e — Синтаксис перехвата с запятой заменяется на except Exception as e, а raise X, msg — на raise X(msg).
- AttributeError: dict has no attribute has_key — Методы has_key(), iteritems(), iterkeys(), itervalues() полностью удалены из Python 3.
- NameError: name unicode is not defined — Типов unicode и basestring больше нет — они объединены в str.
- SyntaxError: leading zeros in decimal integer literals — Восьмеричные координаты в ATL-трансформах (например, 045) вызывают синтаксическую ошибку в Python 3.
Как починить мод автоматически без ручной правки
R-Migrator берёт на себя всю рутину по пакетной обработке скриптов:
- Укажите папку с модомПеретащите папку game/, zip-архив или .rpa файл в R-Migrator.
- Распаковка и декомпиляцияУтилита автоматически открывает архивы .rpa и декомпилирует байткод .rpyc в чистые .rpy под нужную версию движка.
- Перевод Python 2 → Python 3Правки синтаксиса, строковых типов, ATL-литералов и методов словарей применяются ко всем файлам разом.
- Запуск на Ren’Py 8Скрипты готовы к работе на новом движке. Можно сразу тестировать проект.
Каждый изменяемый файл сохраняется с расширением .bak — оригиналы никогда не теряются.
Проблемы со шрифтами и ресурсами
Исправление кода убирает вылеты, но старые моды могут ссылаться на шрифты, которых нет в Ren’Py 8. Для восстановления кириллицы и перепривязки шрифтов используйте инструмент Font Remap в составе ROOTWIN AutoBuild.
Часто задаваемые вопросы
Ren’Py 8 работает на Python 3, а Ren’Py 7 использовал Python 2. Конструкции вроде оператора print, синтаксиса except X, e, dict.has_key() и неявного смешивания str и bytes вызывают фатальные ошибки синтаксиса и типов в Python 3.
Да. R-Migrator автоматически распаковывает .rpa-архивы и декомпилирует скомпилированные .rpyc-файлы в исходный код .rpy перед началом конвертации.
Да, перед каждым изменением утилита создаёт резервную копию .bak. Исходные файлы остаются в полной сохранности, и вы можете сравнить результат.
R-Migrator доступен для Windows и Linux в виде лёгкого portable-приложения весом всего 14 МБ. Установка Python и сторонних библиотек не требуется.
Не тратьте часы на ручной поиск ошибок синтаксиса. R-Migrator автоматически переводит проект на Python 3 и подготавливает его к запуску на Ren’Py 8.