Mod Ren'Py Universal Ren'Py Mod / URM [2.4.2] (mod any Ren'Py game yourself)

5.00 star(s) 37 Votes
Sep 4, 2017
190
579
Divide_By_Zero
Thanks, but you may as well have written in Chinese.
yeah i saw after i posted that you werent very experienced in coding so it would be too much work for most of that...

although you might be able to use Unren (easy) and then draw a circle around the object in the files in paint(easy)

alot of devs (not all) name the hidden object pictures special or organize them into their own folder so that may be easy
 

Havik79

Conversation Conqueror
Sep 5, 2019
6,707
7,967
yeah i saw after i posted that you werent very experienced in coding so it would be too much work for most of that...

although you might be able to use Unren (easy) and then draw a circle around the object in the files in paint(easy)

alot of devs (not all) name the hidden object pictures special or organize them into their own folder so that may be easy
Um, I wasn't meaning to find where they are, I mean like I don't know, big tits girl 1 hidden image 1 = false to true.
You know, like you can download a mod put it into a game you never played and bingo all the sex scenes are unlocked in the gallery viewer, but with images in my case.
 
Sep 4, 2017
190
579
Um, I wasn't meaning to find where they are, I mean like I don't know, big tits girl 1 hidden image 1 = false to true.
You know, like you can download a mod put it into a game you never played and bingo all the sex scenes are unlocked in the gallery viewer, but with images in my case.
yeah that depends on the dev and how they implement it...

some do variable some do a dict set.

its not exactly 1 size fits all so you actually have to do some looking thats why i was thinking the image replacement might be easier since its common for the devs to organize the pix to reflect that they are hidden.

replacing allows you to still play the game. if you only want to look at the pics then you could just use Unren then browse the folder and look at the pics without ever starting the game
 
  • Like
Reactions: Havik79

Havik79

Conversation Conqueror
Sep 5, 2019
6,707
7,967
SNIP

replacing allows you to still play the game. if you only want to look at the pics then you could just use Unren then browse the folder and look at the pics without ever starting the game
Oh yeah, I just want any sexy photos from my pc wallpaper, how do you do that, is that one of the extracting options in unren.
 

theMickey_

Engaged Member
Mar 19, 2020
2,197
2,834
And do I need to do it after I have finished playing, like does it break shit while you are still playing.
Most games you can unren before you play it without any issues. I usually do that with every Ren'Py game, and after that I delete all the "game\*.rpa" files (because those are now also extracted in various subfolders).

Oh, and because this is the URM thread: FIRST I unren the game's RPA files and THEN I copy the URM.rpa into the game subfolder, so it won't be extracted.
 
Last edited:
  • Like
Reactions: Havik79

Havik79

Conversation Conqueror
Sep 5, 2019
6,707
7,967
Most games you can unren before you play it without any issues. I usually do that with every Ren'Py game, and after that I delete all the "game\*.rpa" files (because those are now also extracted in various subfolders). Oh, and because this is the URM thread: FIRST I unren the game's RPA files and THEN I copy the URM.rpa into the game subfolder, so it won't be extracted.
So if I do it in the middle of a game, I need to delete all the .rpa files.
 

theMickey_

Engaged Member
Mar 19, 2020
2,197
2,834
So if I do it in the middle of a game, I need to delete all the .rpa files.
I don't think you NEED to delete the RPA files at all. RPA files are archives which includes the images, sounds, videos and so on, depending on how the developer distributed their game. "unren" is like unpacking them, and most Ren'Py games can load either the files from the RPA archives or the individual files after extracting them.

Personally I delete the RPA files just to save some space on my drive.
 
  • Like
Reactions: Havik79

Havik79

Conversation Conqueror
Sep 5, 2019
6,707
7,967
I don't think you NEED to delete the RPA files at all. RPA files are archives which includes the images, sounds, videos and so on, depending on how the developer distributed their game. "unren" is like unpacking them, and most Ren'Py games can load either the files from the RPA archives or the individual files after extracting them.

Personally I delete the RPA files just to save some space on my drive.
Ok thanks mate.
 
  • Like
Reactions: theMickey_
Sep 4, 2017
190
579
I don't think you NEED to delete the RPA files at all. RPA files are archives which includes the images, sounds, videos and so on, depending on how the developer distributed their game. "unren" is like unpacking them, and most Ren'Py games can load either the files from the RPA archives or the individual files after extracting them.

Personally I delete the RPA files just to save some space on my drive.
This is exactly right. The RPA files dont *need* to be deleted but it saves space.

Just as a follow up if you would like the process to be nearly automatic i built a Unren version that has URM built into it along with the keyboard input mod.

The most important feature of it is that if you make the selection for it the Unren will do ALL of the processes of installing each mod in the correct order without any other input or copying individual mods. I modified Unren to make the mod installer for Exactly that reason... to simplify and automate the mods installs on all renpy games

it is even updated with the current URM right now . In the Tools section or this link...https://f95zone.to/threads/modified...-mods-in-1-file-unren-0-91-dbz-edition.87393/

hopefully this helps Havik79

i use it on every renpy game becuase i love URM.
It inspired me to do this
 
  • Like
Reactions: Havik79

soceod

New Member
Jul 6, 2017
10
2
I get this error when trying to run the universal mod with Extra Life, game wouldn't start at all.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
UnpicklingError: invalid load key, '<'.

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/bootstrap.py", line 331, in bootstrap
  File "renpy/main.py", line 492, in main
  File "renpy/script.py", line 79, in load_script
  File "renpy/script.py", line 192, in load_appropriate_file
  File "renpy/script.py", line 179, in load_file
UnpicklingError: invalid load key, '<'.

Windows-10-10.0.19041
Ren'Py 7.4.11.2266

Sat Jul 16 06:26:46 2022
 
May 21, 2022
218
554
Recently when I use urm with most renpy games, the save option gets bugged and there's error every time.Hope somebody can fix it.
Most of the time like this:




Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00action_file.rpy", line 382, in __call__
    renpy.save(fn, extra_info=save_name)
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
    $ ui.interact()
  File "renpy/ast.py", line 923, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "renpy/python.py", line 2235, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "renpy/common/_layout/screen_load_save.rpym", line 35, in <module>
    $ ui.interact()
  File "renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "renpy/display/core.py", line 3276, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "renpy/display/core.py", line 4110, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/screen.py", line 720, in event
    rv = self.child.event(ev, x, y, st)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1297, in event
    rv = super(Window, self).event(ev, x, y, st)
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1297, in event
    rv = super(Window, self).event(ev, x, y, st)
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "renpy/display/behavior.py", line 979, in event
    return handle_click(self.clicked)
  File "renpy/display/behavior.py", line 914, in handle_click
    rv = run(action)
  File "renpy/display/behavior.py", line 329, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_file.rpy", line 382, in __call__
    renpy.save(fn, extra_info=save_name)
  File "renpy/loadsave.py", line 415, in save
    reraise(t, e, tb)
  File "renpy/loadsave.py", line 401, in save
    dump((roots, renpy.game.log), logf)
  File "renpy/loadsave.py", line 49, in dump
    cPickle.dump(o, f, cPickle.HIGHEST_PROTOCOL)
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

Windows-10-10.0.22000
Ren'Py 7.4.8.1895
Raven's Quest 1.4.0
Sun Jul 17 08:00:43 2022
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,674
6,509
I get this error when trying to run the universal mod with Extra Life, game wouldn't start at all.

Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
UnpicklingError: invalid load key, '<'.

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/bootstrap.py", line 331, in bootstrap
  File "renpy/main.py", line 492, in main
  File "renpy/script.py", line 79, in load_script
  File "renpy/script.py", line 192, in load_appropriate_file
  File "renpy/script.py", line 179, in load_file
UnpicklingError: invalid load key, '<'.

Windows-10-10.0.19041
Ren'Py 7.4.11.2266

Sat Jul 16 06:26:46 2022
I've had a quick look and theMickey_ seem te be right. Looks like they've modified the original Ren'Py code.

Recently when I use urm with most renpy games, the save option gets bugged and there's error every time.Hope somebody can fix it.
Most of the time like this:




Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00action_file.rpy", line 382, in __call__
    renpy.save(fn, extra_info=save_name)
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
    $ ui.interact()
  File "renpy/ast.py", line 923, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "renpy/python.py", line 2235, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "renpy/common/_layout/screen_load_save.rpym", line 35, in <module>
    $ ui.interact()
  File "renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "renpy/display/core.py", line 3276, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "renpy/display/core.py", line 4110, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/screen.py", line 720, in event
    rv = self.child.event(ev, x, y, st)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1297, in event
    rv = super(Window, self).event(ev, x, y, st)
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 1297, in event
    rv = super(Window, self).event(ev, x, y, st)
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "renpy/display/layout.py", line 1090, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "renpy/display/layout.py", line 273, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "renpy/display/behavior.py", line 979, in event
    return handle_click(self.clicked)
  File "renpy/display/behavior.py", line 914, in handle_click
    rv = run(action)
  File "renpy/display/behavior.py", line 329, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_file.rpy", line 382, in __call__
    renpy.save(fn, extra_info=save_name)
  File "renpy/loadsave.py", line 415, in save
    reraise(t, e, tb)
  File "renpy/loadsave.py", line 401, in save
    dump((roots, renpy.game.log), logf)
  File "renpy/loadsave.py", line 49, in dump
    cPickle.dump(o, f, cPickle.HIGHEST_PROTOCOL)
PicklingError: Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

Windows-10-10.0.22000
Ren'Py 7.4.8.1895
Raven's Quest 1.4.0
Sun Jul 17 08:00:43 2022
Interesting. I've only seen this with Ren'Py 7.4.11 till now.
It looks like this happens because of something outside of RenPy and URM, because I've tried to reproduce this for many hours, but never got this error myself.

I wil make some changes to the next version that hopefully help, but I'm not sure since I'm unable to reproduce it.
 
  • Like
Reactions: soceod

theMickey_

Engaged Member
Mar 19, 2020
2,197
2,834
I'm unable to reproduce it.
I just tried this game with URM (v1.9.3) -- saved and loaded my game multiple times, changed values, added stuff to my watch list -- and I wasn't able to reproduce it either.

bruhh0_0 Are you using any additional mods/scripts except the main game and URM?
 
  • Like
Reactions: 0x52
May 21, 2022
218
554
I just tried this game with URM (v1.9.3) -- saved and loaded my game multiple times, changed values, added stuff to my watch list -- and I wasn't able to reproduce it either.

bruhh0_0 Are you using any additional mods/scripts except the main game and URM?
No I'm only using the URM.I change the values and when I try to save it, the error occurs.The last time it occurred was for the Patriarch.
 

theMickey_

Engaged Member
Mar 19, 2020
2,197
2,834
No I'm only using the URM.I change the values and when I try to save it, the error occurs.
Again: I tried it (changed values etc) and had no issues with saving/loading.
What variables are you changing, and to what value?
 
5.00 star(s) 37 Votes