Tool Ren'Py RenPy Cheat Generator

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
RPY-CGen-IMG1.PNG

I created this to make it easier to make custom cheat menus for RenPy games, its basically a text editor where you can make a menu and open it ingame.

The only requirement is that you know the name of the variables.

Features:
Enables console.
Get list of current used variables + values to file "Game Variables.txt" in game root dir (Default to 'M' if enabled in settings)
Adds editable shortcut to console (Default to 'L') and cheat menu (Default to 'K').
Add variables and submenus with simple button click. (Submenus cant be placed in submenus)
Drag & Drop to modify order of items.
Text editor, for the more advanced users, its basically a bare bone script system.
Generate button with generate a menu which will be copied to the clipboard.
Install will create a file named 'CustomCheatMenu.rpy' at selected location.

Variable types:
variable_name (Will make a menuitem with the selected variable and ask for input ingame)
variable_name;custom_text (Same as above, however will have custom text)
variable_name=500 (Fixed variable, will set value to specified)
variable_name=500;custom_text (Same as before, will show custom text)
<submenu_title (Creates a submenu, everything between start and end will be added to submenu)
> (Ends the submenu)

Warning:
Use the cheats generated with care, as you might break something in your game if you modify the wrong variables.

Using the function to write game variables to a file is experimental, please be cautious while using it.


Feedback is much appreciated.

(Preview game is 'Corruption')

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

RPY-CGen-IMG1-2.PNG RPY-CGen-IMG1-3.PNG RPY-CGen-IMG2.PNG RPY-CGen-IMG3.PNG RPY-CGen-IMG4.PNG RPY-CGen-IMG5.PNG RPY-CGen-IMG6.PNG RPY-CGen-IMG7.PNG
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,070
14,698
It can help time to time, but the game you used as example is a good demonstration of how fast it can backfire :
1) The "sex_of_" variables are linked to the corruption level, increasing one without increasing the other sometimes lead to unexpected behavior ;
2) If you just increase the corruption level (what people will tend to do at first intend), you'll miss the scenes related to this change ;
3) the "sex_of_" variables don't have a constant behavior. Some are increased by 15, other by 1. Some are used to track the corruption, other are firstly used as semaphore then used to track the corruption. Some imply a change each time the value is increased, other need to be increased more than once before the change happen.

I don't say that it's not a good tool nor a good idea, but for games with complex mechanism it will lead to more problems than solutions. This said, it's a good shortcut to the console use, but to use with many cautions.
 

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
It can help time to time, but the game you used as example is a good demonstration of how fast it can backfire :
1) The "sex_of_" variables are linked to the corruption level, increasing one without increasing the other sometimes lead to unexpected behavior ;
2) If you just increase the corruption level (what people will tend to do at first intend), you'll miss the scenes related to this change ;
3) the "sex_of_" variables don't have a constant behavior. Some are increased by 15, other by 1. Some are used to track the corruption, other are firstly used as semaphore then used to track the corruption. Some imply a change each time the value is increased, other need to be increased more than once before the change happen.

I don't say that it's not a good tool nor a good idea, but for games with complex mechanism it will lead to more problems than solutions. This said, it's a good shortcut to the console use, but to use with many cautions.
What you say is indeed true, but tinkering with game variables always have a risk of destroying something. The game was just an example to show how it could be used. How people use it will probably differ very much.

And i appreciate your feedback
 
  • Like
Reactions: yoyomistro

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Respected User
Donor
Jun 10, 2017
10,070
14,698
What you say is indeed true, but tinkering with game variables always have a risk of destroying something. The game was just an example to show how it could be used. How people use it will probably differ very much.

And i appreciate your feedback
To be clear, my comment wasn't against your tool, but more a warning for future users.
Taking a list of "cheat code" and creating its own cheat tool is now made easy by your tool, which is positive. But people doing it must know (then remember) that if it don't works as expected, it's not necessarily because of your tool and/or because of the game itself.
 
  • Like
Reactions: yoyomistro

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
To be clear, my comment wasn't against your tool, but more a warning for future users.
Taking a list of "cheat code" and creating its own cheat tool is now made easy by your tool, which is positive. But people doing it must know (then remember) that if it don't works as expected, it's not necessarily because of your tool and/or because of the game itself.
Im aware, i just wanted to write something to your long comment :)

Added a warning to my first post.
 
  • Like
Reactions: yoyomistro

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
Updated with a new function.
Making it possible to get all used variables including their values to a text file in game root dir.
 
  • Like
Reactions: yoyomistro

VIPspawn

New Member
Apr 15, 2018
14
4
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/CustomCheatMenu.rpy", line 34, in script
    menu:
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 208, in execute
    vbox:
  File "game/screens.rpy", line 209, in execute
    for i in items:
  File "game/screens.rpy", line 210, in execute
    textbutton i.caption action i.action
NameError: Name 'variable_name' is not defined.

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

Full traceback:
  File "game/CustomCheatMenu.rpy", line 34, in script
    menu:
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\ast.py", line 1459, in execute
    choice = renpy.exports.menu(choices, self.set)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\exports.py", line 847, in menu
    rv = renpy.store.menu(items)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\exports.py", line 1005, in display_menu
    show_screen(screen, items=item_actions, _widget_properties=props, _transient=True, _layer=renpy.config.choice_layer, **scope)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\screen.py", line 1041, in show_screen
    sls.add(_layer, d, _tag, zorder=d.zorder, transient=_transient, keep_st=True, name=name)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\core.py", line 1009, in add
    self.hide_or_replace(layer, remove_index, "replaced")
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\core.py", line 1031, in hide_or_replace
    d = oldsle.displayable._hide(now - st, now - at, prefix)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\screen.py", line 443, in _hide
    self.update()
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\screen.py", line 578, in update
    self.screen.function(**self.scope)
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 208, in execute
    vbox:
  File "game/screens.rpy", line 209, in execute
    for i in items:
  File "game/screens.rpy", line 210, in execute
    textbutton i.caption action i.action
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\ui.py", line 951, in _textbutton
    text = renpy.text.text.Text(label, style=text_style, substitute=substitute, scope=scope, **text_kwargs)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\text\text.py", line 1328, in __init__
    self.set_text(text, scope, substitute)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\text\text.py", line 1426, in set_text
    i, did_sub = renpy.substitutions.substitute(i, scope, substitute)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\substitutions.py", line 232, in substitute
    s = formatter.vformat(s, (), kwargs)
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 563, in vformat
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 585, in _vformat
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 646, in get_field
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 605, in get_value
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\substitutions.py", line 194, in __getitem__
    raise NameError("Name '{}' is not defined.".format(key))
NameError: Name 'variable_name' is not defined.

Windows-8-6.2.9200
Ren'Py 6.99.12.4.2187
 

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/CustomCheatMenu.rpy", line 34, in script
    menu:
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 208, in execute
    vbox:
  File "game/screens.rpy", line 209, in execute
    for i in items:
  File "game/screens.rpy", line 210, in execute
    textbutton i.caption action i.action
NameError: Name 'variable_name' is not defined.

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

Full traceback:
  File "game/CustomCheatMenu.rpy", line 34, in script
    menu:
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\ast.py", line 1459, in execute
    choice = renpy.exports.menu(choices, self.set)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\exports.py", line 847, in menu
    rv = renpy.store.menu(items)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\exports.py", line 1005, in display_menu
    show_screen(screen, items=item_actions, _widget_properties=props, _transient=True, _layer=renpy.config.choice_layer, **scope)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\screen.py", line 1041, in show_screen
    sls.add(_layer, d, _tag, zorder=d.zorder, transient=_transient, keep_st=True, name=name)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\core.py", line 1009, in add
    self.hide_or_replace(layer, remove_index, "replaced")
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\core.py", line 1031, in hide_or_replace
    d = oldsle.displayable._hide(now - st, now - at, prefix)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\screen.py", line 443, in _hide
    self.update()
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\display\screen.py", line 578, in update
    self.screen.function(**self.scope)
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 205, in execute
    screen choice(items):
  File "game/screens.rpy", line 208, in execute
    vbox:
  File "game/screens.rpy", line 209, in execute
    for i in items:
  File "game/screens.rpy", line 210, in execute
    textbutton i.caption action i.action
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\ui.py", line 951, in _textbutton
    text = renpy.text.text.Text(label, style=text_style, substitute=substitute, scope=scope, **text_kwargs)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\text\text.py", line 1328, in __init__
    self.set_text(text, scope, substitute)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\text\text.py", line 1426, in set_text
    i, did_sub = renpy.substitutions.substitute(i, scope, substitute)
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\substitutions.py", line 232, in substitute
    s = formatter.vformat(s, (), kwargs)
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 563, in vformat
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 585, in _vformat
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 646, in get_field
  File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 605, in get_value
  File "C:\Users\vipoz\Desktop\HighRiseClimb-0.305-pc\HighRiseClimb-0.305-pc\renpy\substitutions.py", line 194, in __getitem__
    raise NameError("Name '{}' is not defined.".format(key))
NameError: Name 'variable_name' is not defined.

Windows-8-6.2.9200
Ren'Py 6.99.12.4.2187
Did you write any variables?
 

DarkCaster

New Member
Jul 13, 2018
2
1
View attachment 133083 View attachment 133086 View attachment 133086 View attachment 133083 View attachment 133083 View attachment 133086 every time i start a sub menu, exception occurs while opening it, most probably due to auto capitalization. Although i wrote the variables in small letters it's some how auto corrected into capitalizing the first letters.
How to solve this?
View attachment 133083

however it's working if i declare it as simple variable, although it's auto capitalized in the cheat menu,,,, View attachment 133083 View attachment 133086 only in sub menu its causing prob.

View attachment 133086
 

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
View attachment 133083 View attachment 133086 View attachment 133086 View attachment 133083 View attachment 133083 View attachment 133086 every time i start a sub menu, exception occurs while opening it, most probably due to auto capitalization. Although i wrote the variables in small letters it's some how auto corrected into capitalizing the first letters.
How to solve this?
View attachment 133083

however it's working if i declare it as simple variable, although it's auto capitalized in the cheat menu,,,, View attachment 133083 View attachment 133086 only in sub menu its causing prob.

View attachment 133086
Your right, i dont know why i didnt think of that, i will update it as soon as possible so that it will keep the original user input.

I wont be able to update in the next couple of days since i dont have my pc at the moment. But you can expect it fixed within the next 10 days
 
  • Like
Reactions: DarkCaster

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
How can one save text in the clipboard?
The clipboard is where you copy things to, so basically you have to make a new .rpy file manually, and then paste the code into the document and save it
 

Ruffy2010

Member
Jul 9, 2017
385
167
The clipboard is where you copy things to, so basically you have to make a new .rpy file manually, and then paste the code into the document and save it
It would be even if they would make an introductory video, because I do not quite understand, as I can connect tool with the game and not synonymous as the text saves to the clipboard! Sorry it's just that my English is not that good so that's why I wanted to play renpy games with a translator tool, so I wanted to know how to save the text to the character bin.
 

RedGlow

Well-Known Member
Aug 5, 2016
1,648
2,298
I couldn't make it work.. I tried to install it first with choosing the game folder. I closed the install window then opened the game and as soon as i press the "K" button i get error like this
You don't have permission to view the spoiler content. Log in or register now.

"L" and "M" function is working but i couldn't change any variables in game.
 

Aziien

2D is all I need!
Modder
Donor
Apr 9, 2017
281
816
I couldn't make it work.. I tried to install it first with choosing the game folder. I closed the install window then opened the game and as soon as i press the "K" button i get error like this
You don't have permission to view the spoiler content. Log in or register now.

"L" and "M" function is working but i couldn't change any variables in game.
Is the variables names written correctly, capital letters do matter?

or send game name so i can check it out.