Разархивировать файлы из rpa (Unarchiving files from rpa)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

С помощью этого скрипта вы можете разархивировать файлы из rpa (с тем, чтобы вручить их игрокам в качестве бонусов, подарков и т.д.). Например:

init python:
    def unarchive(original_filename, new_filename):
        # original_filename - имя файла при хранении в архиве, включая  
        # все ведущие пути.

        # new_filename - это имя получит файл после извлечения, относительно базовой директории
        
        import os
        import os.path

        new_filename = config.basedir + "/" + new_filename
        dirname = os.path.dirname(new_filename)
        
        if not os.path.exists(dirname):
            os.makedirs(dirname)

        orig = renpy.file(original_filename)
        new = open(new_filename, "wb")

        from shutil import copyfileobj
        copyfileobj(orig, new)

        new.close()
        orig.close()
        
            
label start:
    # В нашем архиве есть Track01.mp3 и images/photo.png 
    
    # Это разархивирует Track01.mp3 из архива basedir/извлеченный путь 
    $ unarchive("Track01.mp3", "extracted/Track01.mp3")
    
    # Это разархивирует photo.png как xxx.png из архива basedir/извлеченный путь 
    $ unarchive("images/photo.png", "extracted/xxx.png")

Источник[править | править код]

Статья "Unarchiving files from rpa" на английском языке


На главную страницу Книга рецептов Энциклопедии Ren'Py Книга рецептов Ren'Py Вернуться к началу статьи