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

5.00 star(s) 49 Votes

LucasG

Newbie
Jun 28, 2023
25
20
80
Just got an exception after tried to report an error during update.

OS: Devuan 5 (stable) on ext4 file system
Game: The Spinney 0.20
URM-Version: 2.3.1 (I'm lazy as f*** with manual updates)

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

The error before was Failed to extract update. 'module' object has no attribute 'O_BINARY' and it happens always if i try to use URM's update-function (never got to report that, mind was somewhere else :sneaky:). I should mention the game-folder has a new, unzippable 0x52_URM.rpa.tmp-file (MD5:658485c37404cb75f1347652e644c0d1) with r/w permissions and my user as owner.
 
Last edited:

LucasG

Newbie
Jun 28, 2023
25
20
80
Is there a way to fix the infinite loop problem I'm having???
There are quite a few ways how a loop is formed. Without further information, i can only say if the cause is an unmet condition, it can be quite easy to solve but if the developer made an error there could be more needed to work it out. But mostly one would need too look at the code to determine what went wrong...
 

nighthawk1275

Member
Feb 8, 2023
217
203
166
I played Slatford and when I tried to save the file after my selections in URM it gave me this error.

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

While running game code:
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

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

Full traceback:
  File "ch2.rpyc", line 261, in script
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 2557, in execute
    Say.execute(self)
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 615, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\exports.py", line 1493, in say
    who(what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1394, in __call__
    self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1045, in do_display
    display_say(who,
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 741, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "D:\NG\Slatford-0.02-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2165, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 41, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 49, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 53, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 83, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 87, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 88, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 367, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in keywords
  File "0x52-URM/screens/vars.rpy.x52", line 371, in <module>
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
  File "lib/python3.9/ntpath.py", line 117, in join
  File "lib/python3.9/genericpath.py", line 152, in _check_arg_types
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.1.24030407
Slatford 0.02
Fri Oct 18 19:07:39 2024
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,774
7,295
712
I played Slatford and when I tried to save the file after my selections in URM it gave me this error.

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

While running game code:
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

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

Full traceback:
  File "ch2.rpyc", line 261, in script
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 2557, in execute
    Say.execute(self)
  File "D:\NG\Slatford-0.02-pc\renpy\ast.py", line 615, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\exports.py", line 1493, in say
    who(what, *args, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1394, in __call__
    self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 1045, in do_display
    display_say(who,
  File "D:\NG\Slatford-0.02-pc\renpy\character.py", line 741, in display_say
    rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
  File "D:\NG\Slatford-0.02-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2165, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in interact_core
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\displayable.py", line 431, in visit_all
    d.visit_all(callback, seen)
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 480, in visit_all
    callback(self)
  File "D:\NG\Slatford-0.02-pc\renpy\display\core.py", line 2687, in <lambda>
    root_widget.visit_all(lambda d : d.per_interact())
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 491, in per_interact
    self.update()
  File "D:\NG\Slatford-0.02-pc\renpy\display\screen.py", line 697, in update
    self.screen.function(**self.scope)
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 343, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 31, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 41, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 49, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 53, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 83, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 87, in execute
  File "0x52-URM/framework/screens/dialogs.rpy.x52", line 88, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 356, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 367, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in execute
  File "0x52-URM/screens/vars.rpy.x52", line 371, in keywords
  File "0x52-URM/screens/vars.rpy.x52", line 371, in <module>
  File "0x52-URM/classes/URMFiles.rpy", line 16, in saveDir
  File "lib/python3.9/ntpath.py", line 117, in join
  File "lib/python3.9/genericpath.py", line 152, in _check_arg_types
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.1.24030407
Slatford 0.02
Fri Oct 18 19:07:39 2024
Interesting. For some reason the dev removed the config.save_directory. This results in the game not having an alternative saves location (%appdata%\RenPy on Windows), meaning, when you remove the game's dir, you saves will also be gone.
URM assumes every game has this location :unsure:

I'm not going to fix this in URM, sorry.
 
  • Like
Reactions: Feyd

nighthawk1275

Member
Feb 8, 2023
217
203
166
Interesting. For some reason the dev removed the config.save_directory. This results in the game not having an alternative saves location (%appdata%\RenPy on Windows), meaning, when you remove the game's dir, you saves will also be gone.
URM assumes every game has this location :unsure:

I'm not going to fix this in URM, sorry.
That's okay. I posted to ask why they removed the renpy save. Maybe the dev will read it, but thanks for the reply.
 

cpt-jack

Newbie
Jul 14, 2023
23
18
103
A quality of life function I would love to have, would be to to have a choice/checkbox to exclude internal/standart Renpy variables from the search, but I'm not sure if that's even possible. Or an option to just list the newly defined variables. Anyway I'm loving this mod so much that I'm even adding it to games where I wouldn't even need it :ROFLMAO:
 

vayora5984

Newbie
May 26, 2023
31
48
151
Thank you for your kind words.
I might change the behavior to have URM list all variables when you search an empty string.
That would be awesome!

There shouldn't be much. Do you mean URM's settings?
I think when people are asking to filter out renpy / mod variables, they mean to "make it more like the developer mode variable viewer". I believe this is the logic they are looking for:

All the places where it skips variables for various reasons, would make it much like what they are expecting
 
  • Like
Reactions: 0x52

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,774
7,295
712
Just got an exception after tried to report an error during update.

OS: Devuan 5 (stable) on ext4 file system
Game: The Spinney 0.20
URM-Version: 2.3.1 (I'm lazy as f*** with manual updates)

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

The error before was Failed to extract update. 'module' object has no attribute 'O_BINARY' and it happens always if i try to use URM's update-function (never got to report that, mind was somewhere else :sneaky:). I should mention the game-folder has a new, unzippable 0x52_URM.rpa.tmp-file (MD5:658485c37404cb75f1347652e644c0d1) with r/w permissions and my user as owner.
Thanks. Will be fixed in the next update.
But you would have to update manually first :D

A quality of life function I would love to have, would be to to have a choice/checkbox to exclude internal/standart Renpy variables from the search, but I'm not sure if that's even possible. Or an option to just list the newly defined variables. Anyway I'm loving this mod so much that I'm even adding it to games where I wouldn't even need it :ROFLMAO:
It's on my todo list ;)
 
Feb 24, 2020
310
149
227
Just encountered a game that is unaffected by URM's renaming function. Game is [Breeze of Passion], and it might be something to do with the way dialogues are handed. There's a tl folder (translation) with a .json file inside to handle dialogues, but I am programming-illiterate and this is just my 2-cents worth of thought on why the renaming function does not work in this game.

Also, the variables listed in the game are all in Russian.
You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

latrop16

Member
May 12, 2018
429
1,153
286
I want to report an error in game MILF's Plaza version Steam_15a.
Searching for Values with Search in objects/list/dicts enabled throws error.
From what I can tell they upgraded their RenPy version, but you can see it in the log anyway.
I'm using URM v2.4.1 but have tried v2.3.1 as well.

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

While loading <renpy.display.im.Image object ('images/cg/igor_activities/None.png') at 0x0000000027e9b490>:
  File "renpy/common/000statements.rpy", line 671, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "renpy/common/00action_other.rpy", line 578, in __call__
    rv = self.callable(*self.args, **self.kwargs)
  File "0x52-URM/classes/search.rpy", line 386, in doSearch
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 225, in _m1_search__matchStringValue
TypeError: a bytes-like object is required, not 'str'

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

Full traceback:
  File "events/ep1/ep1_3_mother.rpyc", line 187, in script call
  File "core/main_interface.rpyc", line 1381, in script
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\ast.py", line 1971, in execute
    self.call("execute")
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\ast.py", line 1950, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\statements.py", line 374, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 671, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\exports\statementexports.py", line 345, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\core.py", line 2201, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\core.py", line 3272, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\screen.py", line 793, in event
    rv = self.child.event(ev, x, y, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\transform.py", line 1083, in event
    rv = d.event(ev, cx, cy, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1516, in event
    rv = super(Window, self).event(ev, x, y, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 281, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  [Previous line repeated 3 more times]
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\behavior.py", line 1182, in event
    return handle_click(self.clicked)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\behavior.py", line 1103, in handle_click
    rv = run(action)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\behavior.py", line 401, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_other.rpy", line 578, in __call__
    rv = self.callable(*self.args, **self.kwargs)
  File "0x52-URM/classes/search.rpy", line 386, in doSearch
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 225, in _m1_search__matchStringValue
TypeError: a bytes-like object is required, not 'str'

Windows-10-10.0.22631-SP0 AMD64
Ren'Py 8.4.0.24101101+nightly
MilfsPlaza 15a3
Wed Oct 23 11:50:10 2024
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,774
7,295
712
Just encountered a game that is unaffected by URM's renaming function. Game is [Breeze of Passion], and it might be something to do with the way dialogues are handed. There's a tl folder (translation) with a .json file inside to handle dialogues, but I am programming-illiterate and this is just my 2-cents worth of thought on why the renaming function does not work in this game.

Also, the variables listed in the game are all in Russian.
You don't have permission to view the spoiler content. Log in or register now.
So, they use some custom translation method. URM can't support that

I want to report an error in game MILF's Plaza version Steam_15a.
Searching for Values with Search in objects/list/dicts enabled throws error.
From what I can tell they upgraded their RenPy version, but you can see it in the log anyway.
I'm using URM v2.4.1 but have tried v2.3.1 as well.

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

While loading <renpy.display.im.Image object ('images/cg/igor_activities/None.png') at 0x0000000027e9b490>:
  File "renpy/common/000statements.rpy", line 671, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "renpy/common/00action_other.rpy", line 578, in __call__
    rv = self.callable(*self.args, **self.kwargs)
  File "0x52-URM/classes/search.rpy", line 386, in doSearch
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 225, in _m1_search__matchStringValue
TypeError: a bytes-like object is required, not 'str'

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

Full traceback:
  File "events/ep1/ep1_3_mother.rpyc", line 187, in script call
  File "core/main_interface.rpyc", line 1381, in script
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\ast.py", line 1971, in execute
    self.call("execute")
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\ast.py", line 1950, in call
    return renpy.statements.call(method, parsed, *args, **kwargs)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\statements.py", line 374, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 671, in execute_call_screen
    store._return = renpy.call_screen(name, *args, **kwargs)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\exports\statementexports.py", line 345, in call_screen
    rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\ui.py", line 301, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\core.py", line 2201, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\core.py", line 3272, in interact_core
    rv = root_widget.event(ev, x, y, 0)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\screen.py", line 793, in event
    rv = self.child.event(ev, x, y, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\transform.py", line 1083, in event
    rv = d.event(ev, cx, cy, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1516, in event
    rv = super(Window, self).event(ev, x, y, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 281, in event
    rv = d.event(ev, x - xo, y - yo, st)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\layout.py", line 1287, in event
    rv = i.event(ev, x - xo, y - yo, cst)
  [Previous line repeated 3 more times]
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\behavior.py", line 1182, in event
    return handle_click(self.clicked)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\behavior.py", line 1103, in handle_click
    rv = run(action)
  File "M:\Play\MilfsPlaza-15a3_dlc-pc\renpy\display\behavior.py", line 401, in run
    return action(*args, **kwargs)
  File "renpy/common/00action_other.rpy", line 578, in __call__
    rv = self.callable(*self.args, **self.kwargs)
  File "0x52-URM/classes/search.rpy", line 386, in doSearch
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 386, in matchVarValue
  File "0x52-URM/classes/search.rpy", line 225, in _m1_search__matchStringValue
TypeError: a bytes-like object is required, not 'str'

Windows-10-10.0.22631-SP0 AMD64
Ren'Py 8.4.0.24101101+nightly
MilfsPlaza 15a3
Wed Oct 23 11:50:10 2024
It's using a nightly build of Ren'Py. Those are not meant for production and will contain bugs. So URM will not support those.
 

performant

Newbie
Aug 21, 2022
23
26
105
Light mode can be tricky, because it relies on the game's dialogue design.
I would recommend using the full mode.
Confirmed. Switching to the full mode did resolve the issue. Thank you! (y)

... but you should be able to align the text any way you like in full mode
Gosh, it took me an ungodly amount of time and hair pulled out to figure out it's "Width" that I just need to change. Stupid of me. :FacePalm:

I did think about this, but it's not possible to implement this reliably
Just as I suspected.

Can you, though, make it possible to use external fonts, then? Either by using a dialog box or better yet, adding fonts stored in a folder such as \game\0x52_URM\fonts to the "Pick a font" dialog box.
 
Last edited:

Blakmoon

Member
Dec 12, 2019
141
282
227
I just discovered your mod and tried it. Great mod and great work. Everything is very usefull.

I have just a little problem when I'm rollbacking, the shortcut alt+m doesn't wotk anymore. I have to load a save or close and reopen the game. Not really a bug I think, it's just annoying.

I've seen also that you plan to add other languages. I understand it that it will be a hard work to managed that. It will be great to have the possibility to have your mod in a language different from the game. I often play in english because of awful translation... and having the mod in french at the same time will be great!
I myself translated in french some games, and maybe I can help to translate or make proofreading.

Once again, great work!
 
  • Like
Reactions: 0x52

MiltonPowers

Twins Basil! Twins!
Donor
Jr. Uploader
Jul 26, 2023
18,407
47,489
922
I just discovered your mod and tried it. Great mod and great work. Everything is very usefull.

I have just a little problem when I'm rollbacking, the shortcut alt+m doesn't wotk anymore. I have to load a save or close and reopen the game. Not really a bug I think, it's just annoying.

I've seen also that you plan to add other languages. I understand it that it will be a hard work to managed that. It will be great to have the possibility to have your mod in a language different from the game. I often play in english because of awful translation... and having the mod in french at the same time will be great!
I myself translated in french some games, and maybe I can help to translate or make proofreading.

Once again, great work!
That can be annoying, I solved it by going into options/Quickmenu and turning Global Quickmenu on and Global URM button on. Then it gives me a URM button at the top of the screen in every game. (I turned everything else off, but you can do whatever suits you).

Screenshot 2024-10-25 204733.png
 

WeskerSpeed00

Newbie
Dec 2, 2021
18
4
113
There are quite a few ways how a loop is formed. Without further information, i can only say if the cause is an unmet condition, it can be quite easy to solve but if the developer made an error there could be more needed to work it out. But mostly one would need too look at the code to determine what went wrong...
ok thanks
 
5.00 star(s) 49 Votes