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

5.00 star(s) 33 Votes

FaceCrap

Active Member
Oct 1, 2020
882
619
I assume you've mistaken curly braces ("{") for square brackets ("[")? Because the first are used for text styling and the second for variables.

If I understand correctly you want to be able the replace the result of a variable?
So if we have a variable player = "FaceCrap", then you would want "Hello [player]!" to also match "Hello FaceCrap!"?
Nope, I was not mistaken... I also was surprised at first to see curly braces instead of square brackets in the code when my replacement didn't work.
They DO work as variables though, but their effect is that the value they derive to is also formatted differently from the rest of the dialogue.
In this case, every time certain characters are mentioned in a dialogue line, the name is shown in the color assigned to that character's name.
They are what renpy calls config.self_closing_custom_text_tags

In this game it's used like the below snippet.
Python:
    def cc_tag2(tag, argument):
        char = renpy.eval_who(tag) # Note the use of tag instead of argument
        col = char.who_args['color']
        if persistent.name_colors:
            return [(renpy.TEXT_TAG, u"color={}".format(col)), (renpy.TEXT_TEXT, u"{}".format(char)), (renpy.TEXT_TAG, u"/color".format(col)),]
        return [(renpy.TEXT_TAG, u"color={}".format(persistent.set_txt_color)), (renpy.TEXT_TEXT, u"{}".format(char)), (renpy.TEXT_TAG, u"/color".format(persistent.set_txt_color)),]

    config.self_closing_custom_text_tags["ro"] = cc_tag2
If you check out the game, you'll see that whenever certain characters are referenced in dialogue, it's always done with curly braces, and not with square brackets.
See below extract.
You don't have permission to view the spoiler content. Log in or register now.

You're also mistaken in what I wanted. I do NOT want to REPLACE the result of the variable. I want to SEE the actual variable itself in the list of 'Renaming' entries.
NOT what they evaluate to, so like in the below mockup.
2023-11-02_110650.png

The same would apply if a variable is used with square brackets. After all, if you revisit the same game months later, you will not remember if or which displayed entries have variables in either the original or the replacement entry.

PS. My apologies for the usage of all-caps words, I feel they better convey emphasis than just bold. They are not meant as shouting.
 
Last edited:
  • Like
Reactions: theMickey_
Apr 1, 2018
224
124
I am confused with your reply. I thought urm had gallery unlocker. But in DMD (DATING MY DAUGHTER) 1st chapter I could not find the rewards(the photos). But using universal gallery unlocker it unlocked them but there was an error (when using both urm and ugu) so I had to refrain from using it. That is the reason of my query. I can watch or jump to scenes but could not unlock the rewards (named gallery).
what is this universal gallery unlocker you talk of? I need one too, link please.


edit: Is this what you're talking about? https://f95zone.to/threads/universal-gallery-unlocker-2023-10-30-zlzk.136812/
 
Last edited:
  • Hey there
Reactions: Belzeebub$

theMickey_

Engaged Member
Mar 19, 2020
2,109
2,648
what is this universal gallery unlocker you talk of? I need one too, link please.
Please keep this thread URM related -- out of respect to the developer of this mod.

There're also rules on F95 which are to keep threads on topic and to not discuss/advertise other games/mods in a game/mod specific thread.

Thanks.
 
  • Haha
Reactions: Belzeebub$

ShangTsung

Active Member
Aug 6, 2017
722
1,412
Is it possible to use this mods in seeds of chaos to manipulate rng or to cheat in player stats please ?
 

undercoverloser

New Member
Mar 29, 2020
8
5
Is it possible to use this mods in seeds of chaos to manipulate rng or to cheat in player stats please ?
For game-specific answers, I'm going to recommend checking the game's replies, or asking there.

As a general answer: Yes, it's possible. I've done it. Use the 'value search' to search when you're in combat. (Keep in mind that you're trying to take the chaos out of the Seeds of Chaos. :) )
 
  • Like
Reactions: ShangTsung and 0x52

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,588
6,022
Nope, I was not mistaken... I also was surprised at first to see curly braces instead of square brackets in the code when my replacement didn't work.
They DO work as variables though, but their effect is that the value they derive to is also formatted differently from the rest of the dialogue.
In this case, every time certain characters are mentioned in a dialogue line, the name is shown in the color assigned to that character's name.
They are what renpy calls config.self_closing_custom_text_tags

In this game it's used like the below snippet.
Python:
    def cc_tag2(tag, argument):
        char = renpy.eval_who(tag) # Note the use of tag instead of argument
        col = char.who_args['color']
        if persistent.name_colors:
            return [(renpy.TEXT_TAG, u"color={}".format(col)), (renpy.TEXT_TEXT, u"{}".format(char)), (renpy.TEXT_TAG, u"/color".format(col)),]
        return [(renpy.TEXT_TAG, u"color={}".format(persistent.set_txt_color)), (renpy.TEXT_TEXT, u"{}".format(char)), (renpy.TEXT_TAG, u"/color".format(persistent.set_txt_color)),]

    config.self_closing_custom_text_tags["ro"] = cc_tag2
If you check out the game, you'll see that whenever certain characters are referenced in dialogue, it's always done with curly braces, and not with square brackets.
See below extract.
You don't have permission to view the spoiler content. Log in or register now.

You're also mistaken in what I wanted. I do NOT want to REPLACE the result of the variable. I want to SEE the actual variable itself in the list of 'Renaming' entries.
NOT what they evaluate to, so like in the below mockup.
View attachment 3054680

The same would apply if a variable is used with square brackets. After all, if you revisit the same game months later, you will not remember if or which displayed entries have variables in either the original or the replacement entry.

PS. My apologies for the usage of all-caps words, I feel they better convey emphasis than just bold. They are not meant as shouting.
That's quite a nice approach.
I understand what you mean now. I'll create a fix for this ;)
 

FaceCrap

Active Member
Oct 1, 2020
882
619
I don't know if it was but here: MiUnicaHija uses square resolution and the urm menu does not fit the screen.
I must admit I've not looked at this game so don't know its game folder structure. But on the off change it comes with the actual .rpy files and not just .rpyc or .rpa files then you might try this.
Find gui.rpy and open it in a text editor, e.g. notepad, (do NOT use a word processor like M$ Word or Worsepad)
Find the line that says
Code:
init python:
    gui.init(????, ????)
Change what it now has as values into
Code:
    gui.init(1920, 1080)
This will probably give you ugly checkerboard edges on the left and right, maybe even at the top and bottom if the vertical resolution is even smaller than 1080.
If the vertical resolution is higher than 1080 (it don't look like it, but can't tell for sure from the screenshot), you'll have to find which horizontal res to use to get the 16:9 ratio
But at least you'll be able to see the full URM screens...
 
Last edited:
  • Like
Reactions: 2dark2 and 0x52

2dark2

Newbie
Oct 22, 2017
40
13
FaceCrap

Thank you, so far I have visually selected the value (900, 576), it fits what is needed from the urm menu.
but I would like in the future a menu scroll bar or some kind of scaling to different resolutions
 

FaceCrap

Active Member
Oct 1, 2020
882
619
Thank you, so far I have visually selected the value (900, 576), it fits what is needed from the urm menu.
but I would like in the future a menu scroll bar or some kind of scaling to different resolutions
Damn, that's a low resolution...
I sympathize with your wish, but I would not hold my breath over it. I fear the occurrences of non-standard screen ratios is too rare a thing to warrant the effort for that.
But, I also am aware 'Stranger Things' happened. So who knows, we may get a popup in the future, warning us if the game's screen ratio is such that it might interfere with a correct displaying of URM's UI.
 
Last edited:

FrankKappel

New Member
Jun 13, 2018
14
5
Thats a dang nice mod.
Thanks for that.

Question:
Why is it only possible to freeze Class Objects, but not single variables without those objects ?

Like, its possible to freeze "player", but not "player.money" - why is that ?

1699652788953.png
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,588
6,022
So who knows, we may get a popup in the future, warning us if the game's screen ratio is such that it might interfere with a correct displaying of URM's UI.
Who knows... :p

Thats a dang nice mod.
Thanks for that.

Question:
Why is it only possible to freeze Class Objects, but not single variables without those objects ?

Like, its possible to freeze "player", but not "player.money" - why is that ?

View attachment 3076536
Thanks.

Currently it's not possible to freeze class properties (in your example "money" is a property of "Player"), but it should be possible in a future version of the mod.
 
  • Like
Reactions: FrankKappel

FrankKappel

New Member
Jun 13, 2018
14
5
possible in a future version
Are you open for assistance ? - like developing opensource on github or something, so others could help development of this eventually ?

Also, i'm currently using the mod in "Runaway Princess" - and the freezing does not work. - The values keep changing.
 
Last edited:

yamabear

Member
Dec 27, 2020
207
92
Hi!
Is there any URM version that is compatible with the game "the gift"(v0.25a)?_script v:(6,99,12, 2).
print the error below.

Thank you in advance. :cool:
 

0x52

Ren'Py Magician
Modder
Donor
Game Developer
May 23, 2019
1,588
6,022
Any news on progress of the updates/chance of future releases. Thanks in advance.
My patrons know ;)

Are you open for assistance ? - like developing opensource on github or something, so others could help development of this eventually ?

Also, i'm currently using the mod in "Runaway Princess" - and the freezing does not work. - The values keep changing.
I'm currently not open to working together on this, but thank you for the offer.

I already have a proof-of-concept for new variable freezing, but there are other things I have to take care of first.

Hi!
Is there any URM version that is compatible with the game "the gift"(v0.25a)?_script v:(6,99,12, 2).
See:
When you get the exception "0x52: Incompatible Ren'Py engine version" when starting a game it means that the Ren'Py version used by that game isn't supported by URM.
You could try upgrading the Ren'Py version as explained here.
 

Belzeebub$

Cheat Or Not
Game Developer
May 18, 2020
643
907
My patrons know ;)
Thanks for replying. My bad. You have every right to announce your news to your patrons only. Your hardwork must be paid. I as a freeloader am getting a mod that works for all games. I cannot (should not) ask for more. I was out of loop for a time-being and forgot about you having a patreon account. Best of luck for the next update. I got the impression :cry::cry::cry: because I could not read the post) that something BIIIIG is coming up, looking forward to it. Thanks again for your hardwork.(I know that mere gratitude is nothing but it is the only thing I can give you for now.)
 
  • Red Heart
Reactions: 0x52

yamabear

Member
Dec 27, 2020
207
92
My patrons know ;)


I'm currently not open to working together on this, but thank you for the offer.

I already have a proof-of-concept for new variable freezing, but there are other things I have to take care of first.


See:


(y) (y)(y)(y)(y)(y)(y)(y):love:(y)(y)(y)(y)(y)(y)(y)(y)(y)(y)(y)(y)(y)
 
Feb 24, 2020
157
43
Is it possible to check for the variables changed by loading a replay scene? In any replay scene, when I press alt+M, it asks whether I wanted to end the replay instead.
 
5.00 star(s) 33 Votes