Cheat Mod Ren'Py The Null Hypothesis Cheat Injector [v2.8] [Sleepingkirby]

5.00 star(s) 1 Vote

appendix2852

New Member
May 6, 2024
7
7
21
That's not too surprising consider they said it breaks old saves. Things that do that usually means a pretty significant code rewrite. The last 2~3 fixes I had to do involved a and . I usually ask things like "What doesn't work?" and "What's the console output?" but given how big the change seems to be from where I'm sitting, I'm just going to wait until I see the code.
I'm far from being able to understand it all (lowly web dev here with little to no experience with Python and system scripts like this), but from what I can see it seems like there are a lot of path issues judging by the errors (most seem to come from the cheat.py file) and comparing the actual paths to the ones in the file. I wasn' t able to progress further than that so there may be other issues with the actual code itself but hopefully it won't give you too much trouble to update. I don't think I can play TNH or RL without your (and SLDR's) work anymore so I'm looking forward to the update :LOL:
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,291
1,921
262
I'm far from being able to understand it all (lowly web dev here with little to no experience with Python and system scripts like this), but from what I can see it seems like there are a lot of path issues judging by the errors (most seem to come from the cheat.py file) and comparing the actual paths to the ones in the file. I wasn' t able to progress further than that so there may be other issues with the actual code itself but hopefully it won't give you too much trouble to update. I don't think I can play TNH or RL without your (and SLDR's) work anymore so I'm looking forward to the update :LOL:
If there are that many changes, I wouldn't mind starting the changes early (but not releasing it until the public version), but I don't have access to the beta of the game.
 

pepplez

Active Member
Jun 7, 2020
948
1,268
287
If there are that many changes, I wouldn't mind starting the changes early (but not releasing it until the public version), but I don't have access to the beta of the game.
This shared by The_Man_With_No_Name contains the latest public beta, current is 08c-beta11 but I'm not sure myself if its wise to mess around with a beta version.
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,291
1,921
262
Yeah, this is a massive rewrite. Most, if not all, files the injector references were either moved or split up and then moved. I'll be honest, I don't know why RonChon did half of this stuff. Like, I'm all for OOP and file and class organizations, but, in CS 101 or 102, you learn that you can over organize. It feels like this is getting close to that. Like, technically, he re-implemented ability points (for those that don't know, ability points in this game use to be a variable. Like you have 10 left to spend. But a while ago, ability points was no longer a variable but a mathematical calculation of ((your level) * (some number)) - (the cost of all the abilities you've purchased)) but have them stored in a different variable. NGL, whenever I see this kind of flip-flopping on algorithmic design decisions (deciding against a design and then going back to it), it usually means the program itself is not in a good place and the very core principles of the program in question, was shaky to begin with. Ironically, this is pretty much what happened with python from it's inception to python 2 and then from python 2 to python 3 (which renpy is built on).

Now, this is just a feeling. I've not yet looked at all the refactoring and compared code versions. But these are usually the first alarm bells.
Though this does give me some feeling of vindication. Between the ability points being added back in as a variable (though, in a different place. Which, I would argue, is a worse place.), the reduction in grinding, and the increase in love/trust caps per season, it proves that all the people the kept shitting on me for saying things like "The grind takes too long" and "If you want story progression to be linked to your level, you limit the story progression to your exp, not the exp to the story progression." were absolutely wrong. Like, Loafy Lemon, one of the devs for the Witch Trainer Silver mod blocked me for one of these comments. It really does show that I did my math right and a lot, and I mean A LOT of people were just talking out of their ass.

I really feel sorry for anyone that's made a mod for this game up until this version. They're pretty much going to have to rework the whole thing.
 
Last edited:

The_Man_With_No_Name

Well-Known Member
Dec 16, 2022
1,240
4,884
273
Yeah, this is a massive rewrite. Most, if not all, files the injector references were either moved or split up and then moved. I'll be honest, I don't know why RonChon did half of this stuff. Like, I'm all for OOP and file and class organizations, but, in CS 101 or 102, you learn that you can over organize. It feels like this is getting close to that. Like, technically, he re-implemented ability points (for those that don't know, ability points in this game use to be a variable. Like you have 10 left to spend. But a while ago, ability points was no longer a variable but a mathematical calculation of ((your level) * (some number)) - (the cost of all the abilities you've purchased)) but have them stored in a different variable. NGL, whenever I see this kind of flip-flopping on algorithmic design decisions (deciding against a design and then going back to it), it usually means the program itself is not in a good place and the very core principles of the program in question, was shaky to begin with. Ironically, this is pretty much what happened with python from it's inception to python 2 and then from python 2 to python 3 (which renpy is built on).

Now, this is just a feeling. I've not yet looked at all the refactoring and compared code versions. But these are usually the first alarm bells.
Though this does give me some feeling of vindication. Between the ability points being added back in as a variable (though, in a different place. Which, I would argue, is a worse place.), the reduction in grinding, and the increase in love/trust caps per season, it proves that all the people the kept shitting on me for saying things like "The grind takes too long" and "If you want story progression to be linked to your level, you limit the story progression to your exp, not the exp to the story progression." were absolutely wrong. Like, Loafy Lemon, one of the devs for the Witch Trainer Silver mod blocked me for one of these comments. It really does show that I did my math right and a lot, and I mean A LOT of people were just talking out of their ass.

I really feel sorry for anyone that's made a mod for this game up until this version. They're pretty much going to have to rework the whole thing.
He rewrote the naming references for everything. Probably why we are all the way up to beta11. I just did simple texture replacers and a edit to the in-game database entry but I still had to go through and rename everything for the textures to lineup since even the textures were renamed. Why, I have no idea.

And also the database.rpy was moved so I had to find that.
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,291
1,921
262
He rewrote the naming references for everything. Probably why we are all the way up to beta11. I just did simple texture replacers and a edit to the in-game database entry but I still had to go through and rename everything for the textures to lineup since even the textures were renamed. Why, I have no idea.

And also the database.rpy was moved so I had to find that.
Yeah, I had to re-find config.rpy not to mention figure out which one. (Surprise! It was none of them! config.console = False was removed from all of them)

Also:
add "images/interface/full/photos/[C].webp" align (0.5, 0.5) zoom 0.13
vs.
add "images/interfaces/full/photos/[C].webp" align (0.5, 0.5) zoom 0.13

Ahh, plurals. The bane of variable names everywhere. Granted, variable (and path/file) naming has always been more of an art than a science (not for lack of trying to turn it into a science. You should see some of the vitriol on "standard"/"acceptable" naming schemes. Like, seriously. Some of the debates have devolved into people shouting racial insults over "MainDatabaseName" vs. "mainDatabaseName".), but as I mentioned before, it can get to a point where it has more cost than benefits. And this isn't quite there yet, but it is getting there. A lot of people complain about Rogue-like's spaghetti code, but the truth is, the real problem is with code change. With spaghetti code yeah, it sucks to comb through it and modify it. But once it's done, it's done. When that spaghetti code changes, that's when mods break. That's to say, even with organized code, if it keeps changing, it'll end up with the same alleged problems as with the spaghetti code.
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,291
1,921
262
Alright, for anyone paying attention to this thread, I have a head's up for all of you that requires some context.
A feature in my cheat injector is that, if you've as a love interest to wear cum 10 times, she won't clean the cum off when she leaves the room.
I noticed there's a new member of the character class named "persistent_spunk" and also this little nugget of code:
Code:
                if not C.check_trait("wearing_cum"):
                    for location in C.spunk:
                        C.spunk[location] = 0
                        C.persistent_spunk[location] = 0
So, this feature of wearing cum might become part of the game (depending on the code of the public release, of course).
 
  • Like
Reactions: BobWhite1995

appendix2852

New Member
May 6, 2024
7
7
21
Damn, I understand wanting to organize and wanting to rewrite stuff as you get better at coding (done a fair share of that myself), but to get to the point where you're renaming paths just to change them to plural would raise major red flags in production code.
 

sleepingkirby

Well-Known Member
Aug 8, 2017
1,291
1,921
262
Damn, I understand wanting to organize and wanting to rewrite stuff as you get better at coding (done a fair share of that myself), but to get to the point where you're renaming paths just to change them to plural would raise major red flags in production code.
I want to make this very clear. Everyone will make mistakes and that includes following naming conventions. Fixing plurals isn't a sign that there might be code design issues. Flipping back and forth between 2 code designs is.
I say this because I've seen coders on jobs where they will either pretend naming conventions don't exist because they don't want to admit they made a mistake, which causes problems down the line. Or they'll judge other coder's skill solely based on a simple mistake like forgetting to pluralize something instead of, like, trying to implement a binary search on strings of text. (Yeah, I've talked to a "coder" that tried to claim he knew what he was talking about and that I didn't. When I looked at his code, he spent a good day trying to implement binary search with an array of strings to see if the string exists, instead of, you know, an index look up with the actual string.)
 

pepplez

Active Member
Jun 7, 2020
948
1,268
287
I want to make this very clear. Everyone will make mistakes and that includes following naming conventions. Fixing plurals isn't a sign that there might be code design issues. Flipping back and forth between 2 code designs is.
I say this because I've seen coders on jobs where they will either pretend naming conventions don't exist because they don't want to admit they made a mistake, which causes problems down the line. Or they'll judge other coder's skill solely based on a simple mistake like forgetting to pluralize something instead of, like, trying to implement a binary search on strings of text. (Yeah, I've talked to a "coder" that tried to claim he knew what he was talking about and that I didn't. When I looked at his code, he spent a good day trying to implement binary search with an array of strings to see if the string exists, instead of, you know, an index look up with the actual string.)
Heh, he needed the money that why he was wasting a whole day for it. :WeSmart:
Btw. TNH now on beta12, man what's going on with them, no changelog though.
 
Last edited:

sleepingkirby

Well-Known Member
Aug 8, 2017
1,291
1,921
262
Heh, he needed the money that why he was wasting a whole day for it. :WeSmart:
Btw. TNH now on beta12, man what's going on with them, no changelog though.
Honestly, I think this is a common case of knowing just enough to be dangerous. I've met a lot of people that call themselves programmers developers or coders over the years that are self taught. And almost all of them often are missing some fundamentals that eventually gets them in trouble (admittedly, these are hard lessons to learn). One of them is not know the line between efficient coding and spaghetti coding. The opposite of that is over organization/compartmentalization. I don't think RonChon is dragging his feet or wanting more money. I think he's in the informal process of learning the importance of core design/design philosophy. Without a guiding principle and goal (or the experience), it's easy to go from "Wow, I can do better than this. What was I thinking?" to "EVERTHING IS WRONG! I HAVE TO TEAR EVERYTHING DOWN AND BUILD IT ALL BACK UP AGAIN!" A lot of my earlier programming classes were teaching good thinking processes about compartmentalization and organization (OOP classes) so I got spared a lot of this by learning from people who had already gone through the pain. Admittedly, if this keeps going on, it means (the back and forth flip flopping I was talking about) he's not learning the right lessons. And that can kill a code base/program. We'll just have to see.

Education, man. Sometimes, a lot of times, it makes all the difference.
 
  • Like
Reactions: McIgga and pepplez

Nevrius

Member
Jun 10, 2020
283
362
228
Heh, he needed the money that why he was wasting a whole day for it. :WeSmart:
Btw. TNH now on beta12, man what's going on with them, no changelog though.
Beta12 is tame - one of the prior versions (I think it was 0.6) got 48 beta releases until it actually worked.
And hey, better we get 12 or more betas and everything gets fixed rather than a quick final release that needs a bajillion patches.
 
  • Like
Reactions: sleepingkirby

pepplez

Active Member
Jun 7, 2020
948
1,268
287
Beta12 is tame - one of the prior versions (I think it was 0.6) got 48 beta releases until it actually worked.
And hey, better we get 12 or more betas and everything gets fixed rather than a quick final release that needs a bajillion patches.
That's right, of course.
Offtopic: Does anyone else experience these significant lags after every event or action (e.g., studying, sunbathing, or simply attending class) with the girls, or is it just my old laptop? I'm currently testing beta 12, but I also experienced these lags in 11.
Some information is printed in the console, I think it's sandbox activities being tracked, but I don't understand why it has such a severe impact on gameplay.
p.s. playing on win10 and sometimes even the app doesn't response for thirty seconds.
 

appendix2852

New Member
May 6, 2024
7
7
21
That's right, of course.
Offtopic: Does anyone else experience these significant lags after every event or action (e.g., studying, sunbathing, or simply attending class) with the girls, or is it just my old laptop? I'm currently testing beta 12, but I also experienced these lags in 11.
Some information is printed in the console, I think it's sandbox activities being tracked, but I don't understand why it has such a severe impact on gameplay.
p.s. playing on win10 and sometimes even the app doesn't response for thirty seconds.
I'm seeing a bunch of stutters related to actions as well and my laptop is recent so I think it's more likely the game itself.

I want to make this very clear. Everyone will make mistakes and that includes following naming conventions. Fixing plurals isn't a sign that there might be code design issues. Flipping back and forth between 2 code designs is.
I say this because I've seen coders on jobs where they will either pretend naming conventions don't exist because they don't want to admit they made a mistake, which causes problems down the line. Or they'll judge other coder's skill solely based on a simple mistake like forgetting to pluralize something instead of, like, trying to implement a binary search on strings of text. (Yeah, I've talked to a "coder" that tried to claim he knew what he was talking about and that I didn't. When I looked at his code, he spent a good day trying to implement binary search with an array of strings to see if the string exists, instead of, you know, an index look up with the actual string.)
For sure, I'm with you on that. I think my brain has just been conditioned by years on tight timelines and rough projects where this kind of thing is almost unthinkable so I see this kind of change and unconciously go "This little maneuver's gonna cost us 51 years".
 

FIRE_Y

Newbie
Feb 14, 2022
20
2
62
the mod isnt working anybody can help. error:FileNotFoundError: [Errno 2] No such file or directory: './scripts/interfaces/main_menu.rpy
 
5.00 star(s) 1 Vote