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

5.00 star(s) 33 Votes

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,547
5,853
Update
I've just published URM 2.1.1, which contains the following changes:
  • Added positioning options for custom textboxes/dialogue
  • Search results are now sortable (by name)
  • Fix: Prevent Ren'Py translations from translating URM
  • Fix: Global settings on Android (for some Android builds it's still possible it's not supported. In this case URM will now make this clear and not offer the possibility to change global settings)

screenshot0011.png
 
Feb 24, 2020
156
39
I'm trying to get this game to work on a non-adult steam game called Class of '09 that also uses Ren'Py, but simplay dragging and dropping "0x52_URM.rpa" into the game folder (...\Steam\steamapps\common\Class of '09 The Re-Up\C09RU-1.0\game) does not seem to work. I pressed the alt+m key and m key and nothing pops out. Does anyone know how to get URM to work on Class of '09 (and possibly Class of '09 Re)?
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,547
5,853
I'm trying to get this game to work on a non-adult steam game called Class of '09 that also uses Ren'Py, but simplay dragging and dropping "0x52_URM.rpa" into the game folder (...\Steam\steamapps\common\Class of '09 The Re-Up\C09RU-1.0\game) does not seem to work. I pressed the alt+m key and m key and nothing pops out. Does anyone know how to get URM to work on Class of '09 (and possibly Class of '09 Re)?
Reporting an issue
When reporting an issue with URM, please include the information below:
  • Are you using the latest version of URM?
  • Which game has the issue (preferable a link to the game's thread)
  • If it's a crash (grey screen) attach the "traceback.txt" file
  • What did you do that caused the issue?
  • Attach a screenshot of the issue (if possible)
  • When URM gave an error (not a grey crash screen), check the log.txt file for lines starting with "0x52:"
  • What OS are you on?
  • Do you have any other mods installed? Does the issue still exist without the other mod(s)?
 
  • Like
Reactions: Feyd
Feb 24, 2020
156
39
  • Yes, v2.1.1
  • [Class of '09] game (it's a non-adult Steam game; unsure if I can post the link that is outside of f95)
  • no crash at all, just that the hotkey's Alt+M and M doesn't do anything; there is also no window pop-up at the start of the game upon 1st-time URM installation into the game root folder of the game when pressing Alt+M
  • dragging 0x52_URM.rpa to the game folder (...\Steam\steamapps\common\Class of '09 The Re-Up\C09RU-1.0\game)
  • no error; log.txt also does not contain any line starting with "0x52"
  • OS is Windows 11 Home
  • no other mods are installed, game is directly purchased & downloaded from Steam
To add on, the game itself has some original Ren'Py functionality e.g. 'H' key to hide the dialogue box, but gave new functions to certain actions such as scrolling up the mouse wheel skips the entire scene instead of going backwards to the previous textbox.
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,547
5,853
  • Yes, v2.1.1
  • [Class of '09] game (it's a non-adult Steam game; unsure if I can post the link that is outside of f95)
  • no crash at all, just that the hotkey's Alt+M and M doesn't do anything; there is also no window pop-up at the start of the game upon 1st-time URM installation into the game root folder of the game when pressing Alt+M
  • dragging 0x52_URM.rpa to the game folder (...\Steam\steamapps\common\Class of '09 The Re-Up\C09RU-1.0\game)
  • no error; log.txt also does not contain any line starting with "0x52"
  • OS is Windows 11 Home
  • no other mods are installed, game is directly purchased & downloaded from Steam
To add on, the game itself has some original Ren'Py functionality e.g. 'H' key to hide the dialogue box, but gave new functions to certain actions such as scrolling up the mouse wheel skips the entire scene instead of going backwards to the previous textbox.
Since there's no mention of "0x52" in you log.txt it seems like the game doesn't load .rpa files. Are there other .rpa files in the game folder?
 
  • Like
Reactions: Feyd

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,547
5,853
Nope, there are only .rpyc and .raapy files.
Sounds like they have modified Ren'Py in a way it will not load .rpa files anymore... you could try renaming "0x52_URM.rpa" to "0x52_URM.raapy" (in hope they only changed the extension of the .rpa files).
 
  • Like
Reactions: Feyd

Ty1er

New Member
Jul 7, 2023
9
8
Hi i am wondering if this works on multiple games on android ? (it also creates (2) setting file in my document folder -> i am guessing this are the global settings)

I am able to run the urm on The Seven Realms (that requested file permission when installed) but not other games like VV Khan after reading the traceback txt file i see games without permission to write files will not work. It simply just crashed (cant enter game unless remove the game folder that i created). Hoping there will be some workaround *please*

Installed URM Version: 2.1.1
Android Version: 14

You don't have permission to view the spoiler content. Log in or register now.

So far i dont have any problem with the pc games tho (y):love: Thanks for sharing
 

S_Rodney

Newbie
Jan 31, 2023
33
11
Anytime I'm trying to search for a variable name in Pale Carnations (latest release) I'm getting this error

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

While running game code:
  File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
    return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

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

Full traceback:
  File "Week2Exhibition.rpyc", line 6545, in script
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\ast.py", line 708, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\exports.py", line 1345, in say
    who(what, *args, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\character.py", line 1142, in __call__
    self.do_display(who, what, cb_args=self.cb_args, **display_args)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\character.py", line 842, in do_display
    **display_args)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\character.py", line 591, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\ui.py", line 297, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 2702, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 3094, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 541, in visit_all
    d.visit_all(callback, seen)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 541, in visit_all
    d.visit_all(callback, seen)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 541, in visit_all
    d.visit_all(callback, seen)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\screen.py", line 430, in visit_all
    callback(self)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 3094, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\screen.py", line 440, in per_interact
    self.update()
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\screen.py", line 625, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/main.rpy.x52", line 72, in execute
  File "0x52-URM/screens/main.rpy.x52", line 72, in execute
  File "0x52-URM/screens/main.rpy.x52", line 82, in execute
  File "0x52-URM/screens/main.rpy.x52", line 114, in execute
  File "0x52-URM/screens/main.rpy.x52", line 143, in execute
  File "0x52-URM/screens/main.rpy.x52", line 158, in execute
  File "0x52-URM/screens/main.rpy.x52", line 161, in execute
  File "0x52-URM/screens/main.rpy.x52", line 162, in execute
  File "0x52-URM/screens/search.rpy.x52", line 5, in execute
  File "0x52-URM/screens/search.rpy.x52", line 5, in execute
  File "0x52-URM/screens/search.rpy.x52", line 12, in execute
  File "0x52-URM/screens/search.rpy.x52", line 76, in execute
  File "0x52-URM/screens/search.rpy.x52", line 86, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 67, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 67, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 68, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 71, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 74, in execute
  File "0x52-URM/screens/search.rpy.x52", line 86, in execute
  File "0x52-URM/screens/search.rpy.x52", line 87, in execute
  File "0x52-URM/screens/search.rpy.x52", line 88, in execute
  File "0x52-URM/screens/search.rpy.x52", line 90, in execute
  File "0x52-URM/screens/search.rpy.x52", line 93, in execute
  File "0x52-URM/screens/search.rpy.x52", line 93, in keywords
  File "<screen language>", line 93, in <module>
  File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
    return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

Windows-8-6.2.9200
Ren'Py 7.3.5.606
Pale Carnations Ch4Up4
Mon Mar 25 21:20:55 2024
 
  • Like
Reactions: ARB582

Tiur

Well-Known Member
Nov 13, 2021
1,020
2,765
What about it? That looks like path_list is an array, so it's showing you the values in it for each element, which is exactly what it should be doing. That those element values aren't directly human-readable is up to how the dev coded that variable.

If there's a programmatic way to determine the relevant human-readable part of those elements, you will have a lot better luck by including the answers to these questions (where applicable), particularly whether you're using URM 2.1.1 and which game has the issue:
Reporting an issue
When reporting an issue with URM, please include the information below:
  • Are you using the latest version of URM?
  • Which game has the issue (preferable a link to the game's thread)
  • If it's a crash (grey screen) attach the "traceback.txt" file
  • What did you do that caused the issue?
  • Attach a screenshot of the issue (if possible)
  • When URM gave an error (not a grey crash screen), check the log.txt file for lines starting with "0x52:"
  • What OS are you on?
  • Do you have any other mods installed? Does the issue still exist without the other mod(s)?
 

FaceCrap

Active Member
Oct 1, 2020
856
601
What about it? That looks like path_list is an array, so it's showing you the values in it for each element, which is exactly what it should be doing. That those element values aren't directly human-readable is up to how the dev coded that variable.
It's a revertable set, a Ren'py specific implementation of set() that works with rollback,

1711453164501.png
Seems more like not yet supported... just like dicts didn't always get displayed correctly in the previous release.
 

Connoisseur NTR

Active Member
Nov 17, 2020
693
526
Can someone help me? I have 2.0.3 version but I keep getting an update notice everytime I open the game so I updated it but now I can't open any of the games with urm. This is the error I'm getting

"An exception has occurred. While running game code: File "0x52-URM/classes/main.rpy", line 201, in <module> File "0x52-URM/classes/API. rpy", line 18. in hwid File "0x52-URM/classes/settings. rpy", line 92, in saveld File "0x52-URM/classes/settings rpy", line 177, in ml settings saveGlobalSettings File "0x52-URM/classes/settings.rpy", line 174, in ml settings saveGlobalSettings PermissionError [Ermo 13] Permission denied /storage/emulated/0/Documents/DxS2-URM/settings Full traceback: File "0x52-URM/classes/main.pyc", line 177, in script File "renpylast py", line 823, in execute file "renpy/python.py", line 1178 in py exec bytecode File "0x52-URM/classes/main rpy", line 201, in <module> File "0x52-URM/framework/modules/APIx52rpy", line 171, in fetch Update. File "0x52-URM/framework/modules/APL52rpy", line 201, in fetch File "0x52-URM/framework/modules/APLx52rpy", line 17, in m1 API uaHeader File "0x52-URM/classes/API rpy", line 18, in hwid File "0x52-URM/classes/settings rpy", line 52, in saveld File "0x52-URM/classes/settings. rpy", line 177. in mi settings save GlobalSettings. File "0x52-URM/classes/settings rpy", line 174, in_m1_settings_saveGlobalSettings File "lib/python 39/shutil py", line 835, in move File "lib/python 3 /shutil py", line 444, in copy File "lib/python 3 shutil py", line 266, in copyfile PermissionError [Ermo 13) Permission denied: /storage/emulated/0/Documents/0x52-URM/settings"
 

Connoisseur NTR

Active Member
Nov 17, 2020
693
526
Can someone help me? I have 2.0.3 version but I keep getting an update notice everytime I open the game so I updated it but now I can't open any of the games with urm. This is the error I'm getting
Deleting the folder allows me to open one game, but if I attempt to open another game afterwards, it fails to open. Upon checking the file location, I noticed there are 'settings' and 'settingsnew' files present. This issue did not occur in version 2.0.3. If anyone has the file, please send it. Thank you.
 

wasn0tme

New Member
Jan 9, 2021
3
3

umbongoxxz

Newbie
May 31, 2023
59
73
I'm having the same problem starting it up in the vn Lust and Power, almost identical to the error other people have posted.
 
Jul 17, 2020
357
245
Anytime I'm trying to search for a variable name in Pale Carnations (latest release) I'm getting this error

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

While running game code:
  File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
    return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

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

Full traceback:
  File "Week2Exhibition.rpyc", line 6545, in script
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\ast.py", line 708, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\exports.py", line 1345, in say
    who(what, *args, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\character.py", line 1142, in __call__
    self.do_display(who, what, cb_args=self.cb_args, **display_args)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\character.py", line 842, in do_display
    **display_args)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\character.py", line 591, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\ui.py", line 297, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 2702, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 3094, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 541, in visit_all
    d.visit_all(callback, seen)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 541, in visit_all
    d.visit_all(callback, seen)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 541, in visit_all
    d.visit_all(callback, seen)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\screen.py", line 430, in visit_all
    callback(self)
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\core.py", line 3094, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\screen.py", line 440, in per_interact
    self.update()
  File "D:\Games\AVN\PaleCarnations-Ch4Up4-pc\renpy\display\screen.py", line 625, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/main.rpy.x52", line 72, in execute
  File "0x52-URM/screens/main.rpy.x52", line 72, in execute
  File "0x52-URM/screens/main.rpy.x52", line 82, in execute
  File "0x52-URM/screens/main.rpy.x52", line 114, in execute
  File "0x52-URM/screens/main.rpy.x52", line 143, in execute
  File "0x52-URM/screens/main.rpy.x52", line 158, in execute
  File "0x52-URM/screens/main.rpy.x52", line 161, in execute
  File "0x52-URM/screens/main.rpy.x52", line 162, in execute
  File "0x52-URM/screens/search.rpy.x52", line 5, in execute
  File "0x52-URM/screens/search.rpy.x52", line 5, in execute
  File "0x52-URM/screens/search.rpy.x52", line 12, in execute
  File "0x52-URM/screens/search.rpy.x52", line 76, in execute
  File "0x52-URM/screens/search.rpy.x52", line 86, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 67, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 67, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 68, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 71, in execute
  File "0x52-URM/screens/utils.rpy.x52", line 74, in execute
  File "0x52-URM/screens/search.rpy.x52", line 86, in execute
  File "0x52-URM/screens/search.rpy.x52", line 87, in execute
  File "0x52-URM/screens/search.rpy.x52", line 88, in execute
  File "0x52-URM/screens/search.rpy.x52", line 90, in execute
  File "0x52-URM/screens/search.rpy.x52", line 93, in execute
  File "0x52-URM/screens/search.rpy.x52", line 93, in keywords
  File "<screen language>", line 93, in <module>
  File "renpy/common/00action_data.rpy", line 178, in SetLocalVariable
    return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

Windows-8-6.2.9200
Ren'Py 7.3.5.606
Pale Carnations Ch4Up4
Mon Mar 25 21:20:55 2024
i have an Issue to report

- im playing on the latest URM 2.1.1
- Pale Carnation https://f95zone.to/threads/pale-carnations-ch-4-update-4-mutt-jeff.50281/
- traceback.txt attached
- the issue happend when i search for a variable
- im on window 10
- i do use a cheat mod, i tried deleting it the mod, i tried using a fresh .exe, i tried using a fresh save, but the problem still persist
this is is how to fix error
When you get this exception (just showing it partially here):
return SetDict(sys._getframe(1).f_locals, name, value)
AttributeError: 'ADVCharacter' object has no attribute '_getframe'

This is caused when a developer assigned something to Ren'Py's "sys".
By doing this they broke Ren'Py itself. You can fix this using these instructions.
 
  • Like
Reactions: wasn0tme and 0x52

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,547
5,853
Hi i am wondering if this works on multiple games on android ? (it also creates (2) setting file in my document folder -> i am guessing this are the global settings)

I am able to run the urm on The Seven Realms (that requested file permission when installed) but not other games like VV Khan after reading the traceback txt file i see games without permission to write files will not work. It simply just crashed (cant enter game unless remove the game folder that i created). Hoping there will be some workaround *please*

Installed URM Version: 2.1.1
Android Version: 14

You don't have permission to view the spoiler content. Log in or register now.

So far i dont have any problem with the pc games tho (y):love: Thanks for sharing
Can someone help me? I have 2.0.3 version but I keep getting an update notice everytime I open the game so I updated it but now I can't open any of the games with urm. This is the error I'm getting

"An exception has occurred. While running game code: File "0x52-URM/classes/main.rpy", line 201, in <module> File "0x52-URM/classes/API. rpy", line 18. in hwid File "0x52-URM/classes/settings. rpy", line 92, in saveld File "0x52-URM/classes/settings rpy", line 177, in ml settings saveGlobalSettings File "0x52-URM/classes/settings.rpy", line 174, in ml settings saveGlobalSettings PermissionError [Ermo 13] Permission denied /storage/emulated/0/Documents/DxS2-URM/settings Full traceback: File "0x52-URM/classes/main.pyc", line 177, in script File "renpylast py", line 823, in execute file "renpy/python.py", line 1178 in py exec bytecode File "0x52-URM/classes/main rpy", line 201, in <module> File "0x52-URM/framework/modules/APIx52rpy", line 171, in fetch Update. File "0x52-URM/framework/modules/APL52rpy", line 201, in fetch File "0x52-URM/framework/modules/APLx52rpy", line 17, in m1 API uaHeader File "0x52-URM/classes/API rpy", line 18, in hwid File "0x52-URM/classes/settings rpy", line 52, in saveld File "0x52-URM/classes/settings. rpy", line 177. in mi settings save GlobalSettings. File "0x52-URM/classes/settings rpy", line 174, in_m1_settings_saveGlobalSettings File "lib/python 39/shutil py", line 835, in move File "lib/python 3 /shutil py", line 444, in copy File "lib/python 3 shutil py", line 266, in copyfile PermissionError [Ermo 13) Permission denied: /storage/emulated/0/Documents/0x52-URM/settings"
I will create a fix for this.

Thanks. It's on the list now ;)
 
5.00 star(s) 33 Votes