Jump to content
Sign in to follow this  
elma

ломаем ren`py игры

Recommended Posts

существует множество игр, сделанных на движке  ren`py и соответственно существует некоторое количество людей, желающих их вздолбать. под "вздолбать" подразумевается покопаться в игре- будь то почитерить, изменить код, подсмотреть последствия действий и/или условия необходимые для их выполнения, ну или не играя в саму игру выковырнуть из нее картинки/изображения.

помимо самой игры для таких деяний потребуется инструмент:

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

оттуда берется bat файл, закатанный в архив и суется в папку с исполняемым файлом игры. запускать файл надо от администратора. после запуска файл выкатит текстовое меню, функционал которого таков:

1. распаковать RPA архивы. использовать надо ТОЛЬКО если искомые картинки/скрипты спрятаны в RPA архивах, без необходимости этим не надо пользоваться .

2. декомпилировать RPYC файлы в RPY, чтоб они имели читабельный вид языка ren`py. естественно использовать надо если отсутствуют файлы RPY. тут правда, может быть одна засада- если игра собрана на новейших версиях ren`py, то при декомпиляции вылезет куча ошибок и декомпилированный скрипт будет неполным. в таком случае надо будет удалить "бракованные" файлы RPY и в папку "game" засунуть другой инструмент:

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

после запуска игры этот скрипт шустренько декомпилирует все скритпы игры.

3. разблокировать консоль и меню отладки/разработки. консоль вызывается комбинацией shift+O, меню отладки/разработки- shift+D. о их использовании будет написано далее.

4. разблокировать возможность быстрой записи/сохранения на клавиши F5/F9. тут надо сразу оговорить особенности использования этого- существует несколько игр, где это либо не сработает, либо приведет к куче ошибок. помимо этого в ряде игр быстрая запись не означает сохранение сиюминутной ситуации, например запись посредь диалога и последующая загрузка может откинуть к началу диалога. в большинстве игр это работает конечно штатно.

5. разблокировать возможность шустрого пропуска диалогов. вещь с одной стороны полезная, а с другой стороны убивает всякое понимание текущей ситуации и может привести к печальным результатам в виде пропущенных сцен и выборов диалогов. короче, не советую использовать.

6. разблокировать возможность отката диалогов/действий. в большинстве игр работает великолепно, активируется кручением колесика мыши. в очень редких играх это может привести к багам- как визуальным, так и скриптовым.

9. да, таки девятый пункт меню- выполнить все вышеперечисленные пункты сразу. крайне не советую это делать- кончиться все очень плохо.

 

особо стоит поговорить о возможностях, дарованным нам пунктом 3. меню разработчика (developer menu)- крайне не советую использовать любой пункт кроме variable viewer (просмотр переменных). польза меню разработчика не столько в том, что можно узнать значения переменных, а узнать ИМЕНА ПЕРЕМЕННЫХ, что иногда непросто и даже это меню может не помочь. например переменная имеет в скрипте вид "mc.cash"- это означает, что есть объект mc с полем объекта cash. казалось бы- все бяда и ужас, но если просто ввести в консоль "mc.cash" и жмакнуть ентер, то в консоли отобразится текущее значение переменной.

 

в консоли можно орудовать с полным размахом, т.е. она полностью воспринимает все возможности этого языка, но лучше этого не делать, т.к. без базового понимания языка прохождение легко можно запороть. если же нужно чутка почитерить, то нужно помнить несколько вещей:

1.  ren`py не переваривает символов табуляции (это относится и к скриптам)

2.  ren`py нежно и трепетно различает строчные и заглавные буквы, т.е. "х" отличается от "Х"

3. использование пробелов на некоторых версиях  ren`py надо будет писать "mc.cash = 1000", а не "mc.cash=1000"

 

теперь перейдем к ковырянию в тушке игры. многие хотят узнать последствия выборов в диалогах. для этого рассмотрим такой пример- допустим вылазит диалог следующего вида:

- чихнуть 3 раза

- пукнуть 2 раза

и тут становиться ссыкотно, т.к. фиг знает, что задумал автор игры- может даст бабла, а может гг засунут кочергу в задницу... для этого ищем в скриптах фразу либо из диалога либо ту, что была перед диалогом. я для этого использую Far Manager (да, я ретроград и эти горжусь!)- указываю, что ищу в файлах RPY текст "пукнуть 2 раза" и нахожу конструкцию навроде:

    menu:

         "чихнуть 3 раза":

                  бабло += 100

         "пукнуть 2 раза":

                  jump кочергу_в_задницу

пример предельно упрощен, но можно заметить, что в 1 случае подкинут бабла, а во втором анально покарают. также в меню могут присутствовать помимо переменных операции с флагами, например "ыуа = True" (напомню, что ren`py нежен и чувствителен к регистру буков и true вместо True вызовет ошибку). что же делать? ответ прост- так же делаем поиск по всем RPY файлам текста "ыуа" и смотрим, к чему то или иное состояние флага приведет.

 

большинству читернувших достаточно манипуляций с временем суток и днем недели. как правило это достигается незамысловато навроде daytime = 1 или weekday = 6, но в ряде игр это может привести к ряду багов, так что надо трезво оценивать свои возможности.

 

ну и самое главное правило- если нет 200% уверенности в результате своих действий- перед манипуляциями надо сохраниться.

 

ОБНОВЛЕНИЕ.

некоторое время назад была обновлена платформа renpy и все чаще стали появляться игры при декомпиляции исходников которых вылазят ошибки. к чему это приводит? как минимум к тому, что код не будет декомпилирован полностью, а как максимум- некоторые файлы не будут декомпилированы полностью.

бороться с этой напастью надо частичной сменой инструментария- из 

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.
скачиваеться файл un.rpyc (версия 1.1.3 на момент мая 2020 полностью работоспособна и опробована на нескольких играх) и далее действуеться по следующему алгоритму:

1. скачаный файл un.rpyc кидаеться в папку "game" игры

2. игра запускается, дожидаемся загрузки главного меню, но не играем, а выходим из игры.

3. перемещаем все декомпилированные файлы *.rpy из папки "game" и подпапок в любую другую папку вне папки игры.

4. обязательно убираем из папки "game" файл un.rpyc.

после этих манипуляций у нас есть полный набор исходников и можно в них с удовольствием ковыряться. в алгоритме неспроста не указано, что не надо распаковывать *.rpa файлы- в этом нет необходимости- этот "декомпилятор" сам "вытаскивает" компилированные файлы *.rpyc из игровых архивов и "на лету" их "разбирает".

может возникнуть вопрос- а зачем нужен пункт 3? а затем, что игра потом может не запускаться, т.к. изза декомпилированных файлов полезут ошибки о двойном описании, повторном объявлении и теде.

 

 

теперь касательно самих игр- для ознакомления с видом подобных игр порекомендую:

- Lust Affect - забавная пошлятина во вселенной масс эфект, разработка игры завершена, есть р/я

- My little angel - забавная пошлятина с рисованной графикой, частичный реалтайм, разработка игры завершена, есть р/я

- Lust City - очень забавная пошлятина , разработка игры НЕ завершена, есть только р/я

- Wife Trainer - менеджилка с опошлением и совращением, разработка игры НЕ завершена, есть только инглиш, код скриптов слишком сложен для начинающего

подобных игр сотни и перечислять их всех я опухну, поэтому подкину 2 сайта (надеюсь, это не будет воспринято, как реклама, контент вообще не пересекается):

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.
 - импортный рассадник пиратства, свободомыслия, одни из первых релизят спираченое у жадных патреонолюбов

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.
 - отечественный рассадник разврата, где релизятся игры, которые с натугой иногда переводятся местными переводчиками

 

текст авторский, написан лично мною, великим и гениальным икслюзивно для ГС. если когото будет распирать желание репостнуть в иных местах, то разрешаю поползать на коленях и поумолять- существует 0.0000001% шанс, что я снизойду до этой челобитной 👑

 

Edited by elma
  • Like 3
  • Sad 1

Share this post


Link to post
Share on other sites

Плюс онлайн редактор сейвов 

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

  • Sad 1

Share this post


Link to post
Share on other sites
6 минут назад, Майк сказал:

Плюс онлайн редактор сейвов 

Скрытый контент

    Дайте реакцию или ответ на эту тему, чтобы увидеть скрытое содержимое.

вот это как раз не особо рекомендую- у держателей этой х***дрыги зашкаливает жадность и они ренпи номинально разрешают загружать в редактор раз в сутки, но на самом деле в 80-90% случаев эти жадные п**ы посылают на** и говорят "купите вип аккаунт".

ну и до кучи- это говнище искажает имена объектов (свойства 2 уровня вообще отлетают), а уж как отображает массивы- просто сказка....

Edited by elma
  • Sad 1

Share this post


Link to post
Share on other sites

тема дополнена всвязи с обновлением платформы renpy и другим вариантом декомпиляции игр на новой платформе.

  • Sad 1

Share this post


Link to post
Share on other sites
В 02.05.2020 в 13:48, elma сказал:

тема дополнена всвязи с обновлением платформы renpy и другим вариантом декомпиляции игр на новой платформе.

Если кто знает? Подскажите онлайн на сайте распаковал rpa архив внем были скрипты, подрероктировал, можно ли запаковать обрато,на пк получалось, на андройд можно это както првернуть. 

Edited by Vladisqw

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.