Is there any way to make a file, then execute that file using Console, so we don't have to manually input all of the variables?
Yes. It's fairly simple actually. First, make a text document in the game folder, the name does not matter. Open it up, and type in:
Code:
init python:
def doCheats():
Player.Cash=99999
return "cheat confirmation";
"doCheats" can be anything that you want (so long as you aren't replacing an actual function in the game and it does not contain spaces or special characters, though underscore is fine), and is what you will type into the console (alongside the "()", meaning in the example the command would be "doCheats()" without the quotes). You can put as many commands as you want where the "Player.Cash=99999" is. Make sure to use spaces before each command to bring them to the same placement as Player.Cash is there. Tabs will cause renpy to throw an error. "cheat confirmation" can be anything you want and is just there to tell you the thing ran (you can actually remove the entire "return" line if you don't want confirmation). As an example using the full list of options you quoted (as well as a few extras I'll note that were overlooked but probably are worth having), you might do something like:
So, commands I added there are:
- A pair of keys that were missed ("Xavier" is used to open his office and the classroom, "All" tells the game you've gotten the key ring from Xavier's office of all the keys).
- The mind screen options for Emma and Jean. As done they set the option to available, but not active. If you go to the dirty talk menu, you can tell them to start mind screening people, making it easier to get away with stuff. There is not actually a way to enable these options without cheating, but the code for their function is complete.
- The mind whammy option for Jean. It is turned on by default when you meet her, but until you get her caught by Xavier, at which point he bans her doing it until you do a plan on him and force him to allow it again, you can't talk to her and have her stop doing it. Adding the trait is how it determines if you know about it and can ask her to stop (or once she's stopped start again).
- the IX value for Jean is a hidden variable that starts at 500, and is subtracted from her shown Inhibition value when determining what her inhibition actually is for any checks. Setting it to 0 means her shown Inhibition will be her actual Inhibition.
Commands I removed were:
- GirlX.Loose=1000, The Loose variable tracks how tight/loose the girl's anus is, and is a value from 0 to 2. It's set at the start of each day based upon their total anal activities, and will reach max looseness fairly quickly if you do any anal activity with the girl. (3 total anal actions, as in anal sex, anal dildo use, and/or anal plug use, raises them from a loose of 0 to 1. 15 total anal actions will raise this to a value of 2).
- GirlX.Taboo=0, The Taboo value is set by the room the girl is in, and some checks for who else is there/if the door is locked. There is no point setting it with cheats in this manner. At most you might set it when about to perform a sex act, as I believe it's usually set when a girl moves to a location/the location's state is changed rather than when you are about to do a sex act, but I might be mistaken there.
- All the sex tracking variable were removed. These variables track how many times the girl has done a given sex act, and are used in determining how willing she is to do it again/how much she likes it, and how good she is at the act. Likely one would prefer to actually raise their experience through gameplay, even if cheating to make options available, and at max stats, the girls will generally agree to anything already even without needing to have existing experience with the action. However, I'll provide the code for the actions below if one wishes to add them to the list. Replace the "GirlX" with the girl of choice. Note that the # symbol indicates everything after it on that line is a comment, and will not interfere with the code.
Also, at the point you're adding various cheat commands that are faster/easier to type in, here's a potentially amusing one:
Code:
init python:
def bukkake(girl, cpp = 0, cpa = 0):
girl.Spunk = ["in", "anal", "back", "belly", "tits", "hand", "hair", "facial", "mouth", "chin"] #All semen cover locations.
girl.CreamP += 1 if cpp else 0 #Increase count for vaginal creampies by 1 if cpp is not 0 or negative
girl.CreamA += 1 if cpa else 0 #Increase count for anal creampies by 1 if cpa is not 0 or negative
Note that the "init python:" line only needs to occur at the top of the .rpy file, so if you were to add this command to the prior cheat code, you could skip that line.
Anyway, this will add cum to all the possible locations on a girl. To use, just open the console command and type in "bukkake(girl)" without quotes, and replacing "girl" with [girl name]X of your choice (for instance RogueX). Note that sometime the game will be wonky if you do this outside of a sex scene and cause it to just randomly vanish after some action. Generally, if you do it during a sex scene, then tell her to leave the sperm where it is when you actually cum, it will stay as normal after that.
The cpp and cpa values are for if you want it to count as vaginal/anal creampies for the girl's counter. By default they will be 0, meaning they won't count if you ignore that bit. However, if you want them to count, you can use the command "bukkake(girl,1,1)" (without quotes, and replacing "girl" with [girl name]X of your choice), which will result in each of the values being increased by 1. If you just want it to count for vaginal creampies, you can use "bukkake(girl,1)", while for only anal creampie count you can use "bukkake(girl,0,1)". In both cases without the quotes and replacing "girl" as described previously.
Once you're done with the contents of the text file, rename it to be a .rpy file. Then when you start up the game, the commands will work.