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

5.00 star(s) 46 Votes
Nov 23, 2020
149
87
hi, Can you make the watchpanel more versatile? Being able to move, maybe also with mouse picking without go in panel, it even below or up to the screen like the Windows bar on the desktop would be excellent, in some scenes it can bother you on the sides and maybe you want to see more details anyway.. another point, you can add auto save for urm file? sometime you forgot to return in urm panel and you close game and lost all change you done it, gg however for excellent work
 

Samhill

Active Member
Nov 2, 2020
675
950
I wanted to check the mom's corruption level in Mirror Mine. So, I used ALT+M, and tried to do a variables search for "Mom", and I got:

Python:
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 "day7.rpyc", line 71, in script
  File "[Redacted]\MirrorMine-0.20-pc/renpy/ast.py", line 715, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/exports.py", line 1384, in say
    who(what, *args, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/character.py", line 1179, in __call__
    self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/character.py", line 851, in do_display
    **display_args)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/character.py", line 601, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 3007, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 3418, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 566, in visit_all
    d.visit_all(callback, seen)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 566, in visit_all
    d.visit_all(callback, seen)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 566, in visit_all
    d.visit_all(callback, seen)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/screen.py", line 432, in visit_all
    callback(self)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 3418, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/screen.py", line 443, in per_interact
    self.update()
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/screen.py", line 631, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/main.rpy.x52", line 76, in execute
  File "0x52-URM/screens/main.rpy.x52", line 76, in execute
  File "0x52-URM/screens/main.rpy.x52", line 86, in execute
  File "0x52-URM/screens/main.rpy.x52", line 118, in execute
  File "0x52-URM/screens/main.rpy.x52", line 147, in execute
  File "0x52-URM/screens/main.rpy.x52", line 162, in execute
  File "0x52-URM/screens/main.rpy.x52", line 165, in execute
  File "0x52-URM/screens/main.rpy.x52", line 166, 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 17, in execute
  File "0x52-URM/screens/search.rpy.x52", line 81, in execute
  File "0x52-URM/screens/search.rpy.x52", line 91, 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 91, in execute
  File "0x52-URM/screens/search.rpy.x52", line 92, in execute
  File "0x52-URM/screens/search.rpy.x52", line 93, in execute
  File "0x52-URM/screens/search.rpy.x52", line 95, in execute
  File "0x52-URM/screens/search.rpy.x52", line 98, in execute
  File "0x52-URM/screens/search.rpy.x52", line 98, in keywords
  File "0x52-URM/screens/search.rpy.x52", line 98, 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-10-10.0.26100
Ren'Py 7.4.2.1292
Mirror Mine 20.0
Sat May  3 06:15:16 2025
0x52 URM 2.6```
Every time after that, I press ALT+M I get the above, only with the day.rpyc changing. The game works fine, URM works for detecting choices, I just can't use ALT+M. I'm also running the game under Sandboxie, would that matter?
 

Boehser Onkel

Forum Fanatic
Modder
Feb 20, 2021
4,700
8,192
I wanted to check the mom's corruption level in Mirror Mine. So, I used ALT+M, and tried to do a variables search for "Mom", and I got:

Python:
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 "day7.rpyc", line 71, in script
  File "[Redacted]\MirrorMine-0.20-pc/renpy/ast.py", line 715, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/exports.py", line 1384, in say
    who(what, *args, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/character.py", line 1179, in __call__
    self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/character.py", line 851, in do_display
    **display_args)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/character.py", line 601, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 3007, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 3418, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 566, in visit_all
    d.visit_all(callback, seen)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 566, in visit_all
    d.visit_all(callback, seen)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 566, in visit_all
    d.visit_all(callback, seen)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/screen.py", line 432, in visit_all
    callback(self)
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/core.py", line 3418, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/screen.py", line 443, in per_interact
    self.update()
  File "[Redacted]\MirrorMine-0.20-pc/renpy/display/screen.py", line 631, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/main.rpy.x52", line 76, in execute
  File "0x52-URM/screens/main.rpy.x52", line 76, in execute
  File "0x52-URM/screens/main.rpy.x52", line 86, in execute
  File "0x52-URM/screens/main.rpy.x52", line 118, in execute
  File "0x52-URM/screens/main.rpy.x52", line 147, in execute
  File "0x52-URM/screens/main.rpy.x52", line 162, in execute
  File "0x52-URM/screens/main.rpy.x52", line 165, in execute
  File "0x52-URM/screens/main.rpy.x52", line 166, 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 17, in execute
  File "0x52-URM/screens/search.rpy.x52", line 81, in execute
  File "0x52-URM/screens/search.rpy.x52", line 91, 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 91, in execute
  File "0x52-URM/screens/search.rpy.x52", line 92, in execute
  File "0x52-URM/screens/search.rpy.x52", line 93, in execute
  File "0x52-URM/screens/search.rpy.x52", line 95, in execute
  File "0x52-URM/screens/search.rpy.x52", line 98, in execute
  File "0x52-URM/screens/search.rpy.x52", line 98, in keywords
  File "0x52-URM/screens/search.rpy.x52", line 98, 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-10-10.0.26100
Ren'Py 7.4.2.1292
Mirror Mine 20.0
Sat May  3 06:15:16 2025
0x52 URM 2.6```
Every time after that, I press ALT+M I get the above, only with the day.rpyc changing. The game works fine, URM works for detecting choices, I just can't use ALT+M. I'm also running the game under Sandboxie, would that matter?
Screenshot_1.png
 
  • Like
Reactions: Samhill
5.00 star(s) 46 Votes