Lev4ik

Active Member
Apr 12, 2020
719
1,453
327
Is this stil working? I change false on true but i cnt call console itself.
1. Open the renpy folder
2. Open common folder
3. Locate the 00console.rpy file and open it with notepad++ or regular notepad
4. Search the file for:

Code: config.console = False
and change it to:

Code: config.console = True
5. Save the file and run the game (Should be fine starting a new game or loading from a save unlike UnRen method).
6. Push Shift+O to open the console.
 

Swampy_Leshij

Newbie
May 10, 2018
91
562
255
Is this stil working? I change false on true but i cnt call console itself.
It does for me. Are you sure you did everything correctly? It should look like this:
1757847353103.png
Oh, and make sure your keyboard layout is set to ENG. Shift+O doesn't work with РУС layout that's for sure.
 

freddygonzo

Member
Apr 26, 2024
410
530
230
There are a couple of logic errors in script SDialog.rpy:

E.g.: $ TempLust += (TempLust2 + 8) if 50 > GirlA.Lust > 80 else 2
GirlA.Lust can never be less than the first number and greater than the second one at same time, thus always fails to 2.
A: If the intention is being outside of the medium range: $ TempLust += (TempLust2 + 8) if (GirlA.Lust < 50 or GirlA.Lust > 80) else 2
B: If the intention is being inside of the medium range: $ TempLust += (TempLust2 + 8) if 50 < GirlA.Lust < 80 else 2

Check out following triggers for these logic errors:
elif Trigger == "sex":
elif Trigger == "hotdog":
elif Trigger == "anal":
elif Trigger == "scissor":

As the intention is most likely B, I've corrected all the errors this way.
There are enough actions that only boost lust below a single certain value, so I'm not entirely sure what makes more sense here, as the difference is extreme if 10 or only 2 by scissor action for example.
With slow scissor speed, it's: TempLust += (TempLust2 + 7) if 30 < GirlA.Lust < 70 else 3
This way, it makes sense that you slow down on a girl's low lust value and increase speed later from 51 on when it gives more lust until 79.
There are actions that give an extra boost above a certain lust value, but that makes less sense if such bonus would be restricted also only to the lower range with a slowburn in between.
Whatever the original intention is, a boost sometimes is better than never at all.

PS: forgot to mention there is another bug in the scissor trigger:
if TempLust2:
$ GirlA.Addict -= 1 if Player.Male else 0

This condition is rather pointless if the scissor action can only be used by female MCs anyway, so it should rather always reduce addiction by 1. This fix is also included in my attached file version below.

Drop the attached file into the game's game folder.
Beware that this file's content could be changed from official side in the next versions, thus could cause issues if still used!
Let's hope this gets quickly fixed by the author.
 
Last edited:

sleepingkirby

Well-Known Member
Aug 8, 2017
1,383
2,023
413
I do wonder if oni ever comes on and checks the threads on this site to look for errors or stuff like that.
This thread? No. But he's actually very responsive to people that comment on his patreon. A while back, a bunch of the people here were like "ZOMG!!! THEY RUINED ROGUE!!! HER CHIN IS SO MANLY!!! WHAT IS HE DOING?!? HE'S SUCH A BAD ARTIST!!!" It went on and on. I went on to his patreon and went "Hey Oni. Was there a reason you made the default face the mouth open face or was that a bug?" He went "There was a reason but not a very good one." And then he promptly changed the face back in the next minor version. If you look at the comments in his patreon vs comments here, they're almost perfectly reverse in the ratio between people complaining and people liking the stuff. The vast majority of people on his patreon loves the new stuff and is happy with the game. Any question, bug reports, preferences are usually answered and/or addressed pretty quickly.
 

plekiaaa

New Member
Nov 22, 2024
5
10
97
This thread? No. But he's actually very responsive to people that comment on his patreon. A while back, a bunch of the people here were like "ZOMG!!! THEY RUINED ROGUE!!! HER CHIN IS SO MANLY!!! WHAT IS HE DOING?!? HE'S SUCH A BAD ARTIST!!!" It went on and on. I went on to his patreon and went "Hey Oni. Was there a reason you made the default face the mouth open face or was that a bug?" He went "There was a reason but not a very good one." And then he promptly changed the face back in the next minor version. If you look at the comments in his patreon vs comments here, they're almost perfectly reverse in the ratio between people complaining and people liking the stuff. The vast majority of people on his patreon loves the new stuff and is happy with the game. Any question, bug reports, preferences are usually answered and/or addressed pretty quickly.
André Michelin said "man only truly respects what he pays for" when he saw free copies of his Michelin guide used to prop up a workbench
 
  • Like
Reactions: Helivesoncemore

DerKER

Member
Jul 14, 2017
308
221
272
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:
You don't have permission to view the spoiler content. Log in or register now.
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.
You don't have permission to view the spoiler content. Log in or register now.
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.
I've been thinkering a bit with this, I think im learning to code on python with it lmao, im trying to optimize the code and got For loops with lists working, here's the code if anyone wants to do it on their own cheats.

Code:
    def maxstats():
            girl_list=[RogueX,KittyX,EmmaX,LauraX,JeanX,StormX,JubesX,GwenX,BetsyX,DoreenX,WandaX]
            for i in range(len(girl_list)):
                girl_list[i].Love=1000
                girl_list[i].Obed=1000
                girl_list[i].Inbt=1000
            return "max stats";
 
Last edited:

sleepingkirby

Well-Known Member
Aug 8, 2017
1,383
2,023
413
I've been thinkering a bit with this, I think im learning to code on python with it lmao, im trying to optimize the code and got For loops with lists working, here's the code if anyone wants to do it on their own cheats.

Code:
    def maxstats():
            girl_list=[RogueX,KittyX,EmmaX,LauraX,JeanX,StormX,JubesX,GwenX,BetsyX,DoreenX,WandaX]
            for i in range(len(girl_list)):
                girl_list[i].Love=1000
                girl_list[i].Obed=1000
                girl_list[i].Inbt=1000
            return "max stats";
If you're looking to optimize, you want to be popping off the list or referring to the items directly rather than throwing an preexisting list into a len() and then setting is as a range() on that. In code optimization, you're talking big O (the notation, not the giant robot). And in big O, each function call is counted as 1 as is variable assignment.
All that is to say, while the improvements are meager (long story), technically this:
Code:
for girl in girl_list:
is more efficient than this:
Code:
for i in range(len(girl_list)):
I say technically because, in big O. we generally only care about n, the powers of n and non-polynomial n's (n!, 5^n, etc.). The difference between n and 2n is generally small enough (and/or cpu's are fast enough) we don't really think about it unless it's showing real world performance difference.

So, technically, your maxstats() function has a big O of 4n+4 where n is the number of items in the girl_list. Which, usually, is indistinguishable from n. But the change I suggest, it will be 4n+2. Which, again, is nearly indistinguishable and the improvements are meager.
 
Last edited:

DerKER

Member
Jul 14, 2017
308
221
272
If you're looking to optimize, you want to be popping off the list or referring to the items directly rather than throwing an preexisting list into a len() and then setting is as a range() on that. In code optimization, you're talking big O (the notation, not the giant robot). And in big O, each function call is counted as 1 as is variable assignment.
All that is to say, while the improvements are meager (long story), technically this:
Code:
for girl in girl_list:
is more efficient than this:
Code:
for i in range(len(girl_list)):
I say technically because, in big O. we generally only care about n, the powers of n and non-polynomial n's (n!, 5^n, etc.). The difference between n and 2n is generally small enough (and/or cpu's are fast enough) we don't really think about it unless it's showing real world performance difference.

So, technically, your maxstats() function has a big O of 4n+4 where n is the number of items in the girl_list. Which, usually, is indistinguishable from n. But the change I suggest, it will be 4n+2. Which, again, is nearly distinguishable and the improvements are meager.
I did try that, it wont work as it turns the index counter into girl class for some reason and will refuse to work lol

1757923727998.png
 
Last edited:

sleepingkirby

Well-Known Member
Aug 8, 2017
1,383
2,023
413
I did try that, it wont work as it turns the index counter into girl class for some reason lol

View attachment 5250386
Double check your declarations and usages and make sure you understand that I'm saying and what the code is doing. If you're confused as to why it turns the index into an object (which it should do), you're not understanding what is going on. This is completely allowed by several languages including python:
Code:
sleepingkirby@AnimalKirby:~/Games/Rogue-Like-1.64d-linux/game$ python2.7
Python 2.7.18 (default, Sep 19 2023, 07:10:59)
[GCC 10.2.1 20210110] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> list= [{'name':"rogue"}, {'name':"Laura"}, {'name':"kitty"}]
>>> list[0]
{'name': 'rogue'}
>>> list[0]['name']
'rogue'
>>> for girl in list:
...     print girl['name']
...
rogue
Laura
kitty
>>>
 
Last edited:

DerKER

Member
Jul 14, 2017
308
221
272
Double check your declarations and usages and make sure you understand that I'm saying and what the code is doing. If you're confused as to why it turns the index into an object (which it should do), you're not understanding what is going on. This is completely allowed by several languages including python:
Code:
sleepingkirby@AnimalKirby:~/Games/Rogue-Like-1.64d-linux/game$ python2.7
Python 2.7.18 (default, Sep 19 2023, 07:10:59)
[GCC 10.2.1 20210110] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> list= [{'name':"rogue"}, {'name':"Laura"}, {'name':"kitty"}]
>>> list[0]
{'name': 'rogue'}
>>> list[0]['name']
'rogue'
>>> for girl in list:
...     print girl['name']
...
rogue
Laura
kitty
>>>
I think I got it, thanks lol, Ive been shooting blankly using my knoledge of java to try and understand this and get python thanks for the help mate
Code:
    def maxstats():
            girl_list=(RogueX,KittyX,EmmaX,LauraX,JeanX,StormX,JubesX,GwenX,BetsyX,DoreenX,WandaX)
            for girls in girl_list:
                girls.Love=1000
                girls.Obed=1000
                girls.Inbt=1000
            return "max stats";
is this better?
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,383
2,023
413
I think I got i, thanks lol, Ive been shooting blankly using my knoledge of java to try and understand this and get python thanks for the help mate
Code:
    def maxstats():
            girl_list=(RogueX,KittyX,EmmaX,LauraX,JeanX,StormX,JubesX,GwenX,BetsyX,DoreenX,WandaX)
            for girls in girl_list:
                girls.Love=100
                girls.Obed=100
                girls.Inbt=100
            return "max stats";
is this better?
Yeah, that should work.
 

Leathermax

Well-Known Member
Feb 10, 2019
1,752
7,087
749
This thread? No. But he's actually very responsive to people that comment on his patreon. A while back, a bunch of the people here were like "ZOMG!!! THEY RUINED ROGUE!!! HER CHIN IS SO MANLY!!! WHAT IS HE DOING?!? HE'S SUCH A BAD ARTIST!!!" It went on and on. I went on to his patreon and went "Hey Oni. Was there a reason you made the default face the mouth open face or was that a bug?" He went "There was a reason but not a very good one." And then he promptly changed the face back in the next minor version. If you look at the comments in his patreon vs comments here, they're almost perfectly reverse in the ratio between people complaining and people liking the stuff. The vast majority of people on his patreon loves the new stuff and is happy with the game. Any question, bug reports, preferences are usually answered and/or addressed pretty quickly.
Call me crazy, but aren't they in the Patreon precisely because they like the game as is? If Oni introduced preggo Squirro, shit would go up in flames here, but the Patreon would be swarmed by those who like preggo Squirro.
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,383
2,023
413
Call me crazy, but aren't they in the Patreon precisely because they like the game as is? If Oni introduced preggo Squirro, shit would go up in flames here, but the Patreon would be swarmed by those who like preggo Squirro.
Yeah, but like, he does ask before introducing things like that. Even squirrel girl wasn't a complete surprise. She got a fair amount of votes in the polls. A lot of you guys kind of assume shouting into the ether will somehow reach his ears and that by him introducing things you don't like, that he's snubbing you personally or that everything you don't like is bad, and therefore, heretic. But like, he's just following what a lot of people like. If his patreons wanted pregnancy, he'd probably consider it. Even the new Emma and Storm scene was a poll:
Screenshot_2025-09-15_18-55-20.png

And here's the one where he asked before introducing new story elements:
Screenshot_2025-09-15_19-09-10.png
And here's someone asking for your personal kryponite, futa:
Screenshot_2025-09-15_19-10-23.png
More clothes:
Screenshot_2025-09-15_19-11-08.png
His explanation on squirrel girl:
Screenshot_2025-09-15_19-12-21.png

It just seems like he adds stuff willie-nillie because you guys don't have the full context. Or, in some people's case, they're just looking for something to hate on because, I don't know, that's the only way they know how to live? Who knows. Like, in the over arching scheme of things, the game is fine. It's not overly horrible and it's not the best game out there. It does some things great and it has some areas that needs to be improved. But, like with all things on this world, there's obviously a market for it and he's fulfilling that. It may not be your thing and you may not be in that market. And that's okay. Like any artist will know, that's the way it's always been. Like you know those Lisa Frank things that was so popular in the 80's and 90's? Lisa Frank is a shit artist by a lot of standards. But people like it and that's fine. The same could be said for Amy Brown (her proportions are all off). But you find an audience, you fulfill that niche and, if you get paid enough, you get to get paid to keep doing art. That's the dream for an artist.
Life is too short to spend time hating on things. If it doesn't suit you, move on to something else that more closely suit your needs to make your own. That's how TNH was created. Hell, that's why I created the cheat injector for TNH. A lot of people were like "The game will be ruined, RUINED if you can level up faster!!! THE GRIND MUST STAY!!! RAWR!!!" And now, even the devs are like "Yeah, the grind was kinda ridiculous. Let's make it faster and increase the cap."
 
4.40 star(s) 168 Votes