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

5.00 star(s) 45 Votes

Johan_0000

Active Member
Apr 14, 2023
810
621
Fix: Crash when gamesave doesn't contain a screenshot
Does that mean I won't have this bug anymore when I load a save after I uninstalled URM from the game? I didn't have this compability problem with version prior to 2.5. However who know it's quite rare that I uninstall URM after I started using it. SO it may hev started b4... I mostly do so when the game has a weird bug and I don't know I unistall everything (mods, cheats...)to test the waters. Unfortunately I've been unable to do so bc of this issue.
If it's not a bug and should be happenning, I'd still appreciate it if smn confirmed it to me




THX

```
I'm sorry, but an uncaught exception occurred.

While running game code:
File "renpy/common/00action_file.rpy", line 462, in __call__
renpy.load(fn)
ImportError: No module named x52URM

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

Full traceback:
File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
$ ui.interact()
File "renpy/ast.py", line 928, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "renpy/python.py", line 2245, 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 3315, 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 4155, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "renpy/display/layout.py", line 1100, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1100, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1100, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/screen.py", line 727, in event
rv = self.child.event(ev, x, y, st)
File "renpy/display/layout.py", line 1100, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1313, 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 1100, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1100, in event
rv = i.event(ev, x - xo, y - yo, cst)
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 322, in run
new_rv = run(i, *args, **kwargs)
File "renpy/display/behavior.py", line 329, in run
return action(*args, **kwargs)
File "renpy/common/00action_file.rpy", line 462, in __call__
renpy.load(fn)
File "renpy/loadsave.py", line 770, in load
roots, log = loads(location.load(filename))
File "renpy/loadsave.py", line 63, in loads
return cPickle.loads(s)
ImportError: No module named x52URM


Ren'Py 7.4.10.2178
Double Perception 4.7
```
 

Sether0

Newbie
Apr 16, 2024
20
42
I want to change the MC's name in the game below
I've tried both methods of changing the name, namely the name replacement method and the text replacement method, several times, but neither worked
Is there anything specific about changing names in URM that I don't know? Thank You
https://f95zone.to/threads/phone-story-v0-5-taptus.236390/
In this game, the name of the MC in pop-up thoughts is saved in script.rpy as plain text and cannot be changed by changing variables.
 

Boehser Onkel

Forum Fanatic
Modder
Feb 20, 2021
4,343
7,170
I want to change the MC's name in the game below
I've tried both methods of changing the name, namely the name replacement method and the text replacement method, several times, but neither worked
Is there anything specific about changing names in URM that I don't know? Thank You
https://f95zone.to/threads/phone-story-v0-5-taptus.236390/

extract attached .zip into the gamefolder (where the .exe is)

open namereplace.rpy with a editor (notepad++ eg)
change xxx to your desired name , save the file

Screenshot_15.png

Screenshot_14.png

if you want rename someone else - remove the # at the next line , put the original name and replacement in

Screenshot_20.png
 

fpsgamer

Active Member
Nov 21, 2017
609
958
ALT+M works as it should

extract the 0x52_URM.rpa using unren tool
you get a new folder like in the screenshot
delete the 0x52_URM.rpa

View attachment 4449571
View attachment 4449572
So, been using this mod for long time. Absolutely love the functions. It's like better cheat engine but works on renpy games.
Btw I have been using this mod on both the actual Android ports and through joiplay. But I wanted to ask if I wanted to enable console on an Android ports. How do I press alt+m??
Is there a way we can add a touch button to go into console.
To be specific the game I'm talking about is Null hypothesis. I have both the pc through Joiplay and Android ports.
But the latest version of NH has renpy script 8.4.0 which while runs on joiplay where you can press 'alt+m' but due to some reasons it has issues like black background(maybe because latest joiplay renpy plugin just supports upto 8.3.4)
So you can only play it on Android port. Android port for some reason doesn't run as good as joiplay version. Needed console to maybe try different renderer to see if that's the issue. I looked and found
Thanks for testing that out!

Were any logs generated in Android/data/com.dmf.thelewdesthouse/files?
log.txt, traceback.txt, or errors.txt

I'm researching some issues Ren'Py has had to see if anything else might help.
says some older Androids (6-8 years) might be emulating OpenGL...
had some interesting info about memory leaks with Android 11 and the size of the image cache.

Looked up some odd optimization settings. Let's see if this makes things better or worse... Sorry but only those that suffer can tell me if the 'cure' is working.
  • Memory Management - Image Cache 300Mb, Texture Size (4096, 4096), Prediction 32
  • Memory Housekeeping - Including script by as some of the Ren'Py features might have been rendered obsolete like config.hw_video or config.gl2
  • Auto Save - Turned back on but only after choices, inputs, or closing the game.
  • Deferred Translations - There seem to be a lot of languages in the tl folder so turning this on because what the hell, why not?
 
  • Thinking Face
Reactions: vilewe7570

Boehser Onkel

Forum Fanatic
Modder
Feb 20, 2021
4,343
7,170
Can you point me towards a basic guide if possible? If this is off topic then apologies I could msg you instead
well its editing the .rpy's

like the screens.rpy

but at this specific game its a pain
they got overboard with the scripting for the ui

to many single files to just edit the textbox there
and i am pretty sure URM cant even handle it
i'm maybe wrong - but thats a thing to ask 0x52

and because i am working on something i dont have time - sry mate
 
  • Like
Reactions: bat2897

vilewe7570

Active Member
Oct 5, 2021
670
986
So, been using this mod for long time. Absolutely love the functions. It's like better cheat engine but works on renpy games.
Btw I have been using this mod on both the actual Android ports and through joiplay. But I wanted to ask if I wanted to enable console on an Android ports. How do I press alt+m??
Is there a way we can add a touch button to go into console.
Perhaps consider getting a bluetooth keyboard or connect a usb one with an otg cable along with a stylus pen if you got your heart set on using Android as your main rig.

Assuming you got more time than money or are in a region that you can't just buy that off ebay for under $10 then here is probably a workaround:

Looks like Alt+M opens this command
key "alt_K_m" action x52URM.Open()
So if you can't do that key combo then you can either sneak that action into screen quick_menu() or screen navigation()

The command would be something like
textbutton _("URM") action x52URM.Open()

The two screens mentioned for the that game are in
TheNullHypothesis-0.7b-pc\game\scripts\interfaces\base.rpy

Assuming you know how to mod Ren'Py Android games but I'll put this in case somebody else stumbles in here.
Android/data/[Game]/files replace [Game] with the appropriate entry
Two subfolders are 'saves' and if you want to mod it make a 'game' folder right beside the saves folder.

Ren'Py loads files in alphabetical order so make a file in the 'game' folder like 'z-quick_menu.rpy' as z would be one of the last things to load thus overwriting the earlier version of screen quick_menu()
Copy the code for screen quick_menu() into this 'z-quick_menu.rpy' text file.
Insert the textbutton _("URM") action x52URM.Open() line among the list.
Save file and restart game if it's running.
 

fpsgamer

Active Member
Nov 21, 2017
609
958
Perhaps consider getting a bluetooth keyboard or connect a usb one with an otg cable along with a stylus pen if you got your heart set on using Android as your main rig.

Assuming you got more time than money or are in a region that you can't just buy that off ebay for under $10 then here is probably a workaround:

Looks like Alt+M opens this command
key "alt_K_m" action x52URM.Open()
So if you can't do that key combo then you can either sneak that action into screen quick_menu() or screen navigation()

The command would be something like
textbutton _("URM") action x52URM.Open()

The two screens mentioned for the that game are in
TheNullHypothesis-0.7b-pc\game\scripts\interfaces\base.rpy

Assuming you know how to mod Ren'Py Android games but I'll put this in case somebody else stumbles in here.
Android/data/[Game]/files replace [Game] with the appropriate entry
Two subfolders are 'saves' and if you want to mod it make a 'game' folder right beside the saves folder.

Ren'Py loads files in alphabetical order so make a file in the 'game' folder like 'z-quick_menu.rpy' as z would be one of the last things to load thus overwriting the earlier version of screen quick_menu()
Copy the code for screen quick_menu() into this 'z-quick_menu.rpy' text file.
Insert the textbutton _("URM") action x52URM.Open() line among the list.
Save file and restart game if it's running.
Thank you. I'll try it.

Edit:Okay I got it to have URM button in quick menu, it opens URM.
But there is an icon to open URM already, how can I make the button send 'alt+o'so it opens console.
Many thanks again, this is exactly something similar what I was looking for
 
Last edited:
Aug 28, 2024
116
483

DesireDancer

Newbie
Dec 21, 2024
53
158
Breaking the game depends on the game's programming. You could create set of values the game doesn't expect. Which for example could prevent you to progress in the game or miss certain scenes. I would recommend saving before modifying. So you could always go back if something unexpected happens.
Hi Man, What if we accidentally changed a variable inside the persistent file? Are the variables inside this file completely identifiable, or is it possible that we don't know they belong to this file and change them?(I don't want to disable the checkbox for showing variables inside the persistent file)
 
5.00 star(s) 45 Votes