From all the staff here at MTS, we'd like to wish all of our members and guests a Happy Holidays, and a Merry Christmas!
Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 26th Oct 2024 at 10:32 PM
Default Trying to disable autonomous jokes/funny stories etc. to stop comedy skill gain.
So I thought I had all the joke/funny story socials autonomy tuned to false with the xml files, but they are still autonomously using interactions that gain comedy. What could I be missing?

I am using Sims 4 Studio to look up the tuning files.

Animal Lover, Artistic, Brooding, Dog Lover, Perfectionist, Neat and Neurotic.
Advertisement
Test Subject
Original Poster
#2 Old 27th Oct 2024 at 5:02 AM Last edited by Hollowness : 27th Oct 2024 at 4:02 PM.
Ah, I forgot the impersonate social.

Edit: wait it eventually happened again, there must be more.

Edit, edit: ok I think I found them all, there was a lot more interaction than I expected.

Animal Lover, Artistic, Brooding, Dog Lover, Perfectionist, Neat and Neurotic.
Fat Obstreperous Jerk
#3 Old 8th Nov 2024 at 2:59 AM
Ah, this annoyed you too, eh?

Yeah, there's a lot of them. Extracting all the XMLs and overriding them them non-autonomous is going to create maintenance hell for you every time there's a patch that may or may not touch any of them, and then finding whatever new ones that they added. I'd recommend you find them pythonically and just patch them procedurally instead. That's what I did with mine, find every social that gives comedy skill gain and additionally patch test_autonomous to disallow autonomous use to those without comedy skills and interests.

Also did the same sort of thing to every single damn instrument and musical object so I could avoid that horrific caterwauling that they keep producing. And so on. And soforth. Trying to manually hunt each individual interaction XML just to make one bool change and then having to re-check each one every patch is not worth it. Also maybe a bit too hamfisted, since then nobody can use them, ever, as opposed to merely locking out the unqualified ones.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Test Subject
Original Poster
#4 Old 28th Nov 2024 at 5:40 AM
Quote: Originally posted by J. M. Pescado
Ah, this annoyed you too, eh?

Yeah, there's a lot of them. Extracting all the XMLs and overriding them them non-autonomous is going to create maintenance hell for you every time there's a patch that may or may not touch any of them, and then finding whatever new ones that they added. I'd recommend you find them pythonically and just patch them procedurally instead. That's what I did with mine, find every social that gives comedy skill gain and additionally patch test_autonomous to disallow autonomous use to those without comedy skills and interests.

Also did the same sort of thing to every single damn instrument and musical object so I could avoid that horrific caterwauling that they keep producing. And so on. And soforth. Trying to manually hunt each individual interaction XML just to make one bool change and then having to re-check each one every patch is not worth it. Also maybe a bit too hamfisted, since then nobody can use them, ever, as opposed to merely locking out the unqualified ones.


Sorry for the late reply. I am not familiar with that method, as I am still very new to Sims modding.

Animal Lover, Artistic, Brooding, Dog Lover, Perfectionist, Neat and Neurotic.
Fat Obstreperous Jerk
#5 Old 2nd Dec 2024 at 12:39 PM
Quote: Originally posted by Hollowness
Sorry for the late reply. I am not familiar with that method, as I am still very new to Sims modding.

Well, think about how many you've found so far. Now, every time the game updates, you have to go through and verify that each file has been left unchanged, or just recreate the entire mod every time. And then add the new llama joke interaction that the latest expansion added. This is going to result in PAIN.

Or you could just pythonically inject a test into an offending interaction that can be detected procedurally by its classification menu and flags, and probably have to maybe update that once in a blue moon.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Test Subject
Original Poster
#6 Old 2nd Dec 2024 at 6:05 PM
Quote: Originally posted by J. M. Pescado
Or you could just pythonically inject a test into an offending interaction that can be detected procedurally by its classification menu and flags, and probably have to maybe update that once in a blue moon.


This comes across as greek to me, as I said I am new to modding sims 4.

Animal Lover, Artistic, Brooding, Dog Lover, Perfectionist, Neat and Neurotic.
Fat Obstreperous Jerk
#7 Old 2nd Dec 2024 at 9:29 PM
Quote: Originally posted by Hollowness
This comes across as greek to me, as I said I am new to modding sims 4.

The short and skinny: Complex Sims 4 mods are written in Python. This is a fairly common programming language now, fuelled by much of AI being written in it, so plenty of syntax examples are available both in the game and in unrelated things. If none of this means anything to you because you don't know anything about programming, you're now faced with two choices:

1. Learn an entirely new skillset, and then apply it to TS4.

2. Give up.

If you've ever played games like Factorio, you might be in a position to learn how to program. If such games utterly baffle you, then you're probably as utterly hopeless at this as I am when it comes to art, and option #2 is recommended.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Lab Assistant
#8 Old 9th Dec 2024 at 11:11 PM
Quote: Originally posted by J. M. Pescado
The short and skinny: Complex Sims 4 mods are written in Python. This is a fairly common programming language now, fuelled by much of AI being written in it, so plenty of syntax examples are available both in the game and in unrelated things. If none of this means anything to you because you don't know anything about programming, you're now faced with two choices:

1. Learn an entirely new skillset, and then apply it to TS4.

2. Give up.

If you've ever played games like Factorio, you might be in a position to learn how to program. If such games utterly baffle you, then you're probably as utterly hopeless at this as I am when it comes to art, and option #2 is recommended.


You've really lost touch in your old age and dwindling Sims modding relevance, Pescado.

I know being "this guy" is your entire schtick but this reply is complete nonsense. The OP is asking about editing an interaction XML...a decidedly simple thing to learn that can be done with a less-than-remedial and in fact detrimental-to-a-computer-by-breathing-too-close-to-it level of programming skill. There's no excuse for the snarky, doomerism tone to this reply, kicking someone down the stairs for daring to try to learn a thing. Even doing injections isn't that hard, as much more polite modders than you have happily provided vast and powerful injection tools for us to use to make new stuff.

OP, head to the Creator Musings discord and we can help you out. This is an easy enough mod to make that likely wouldn't need much maintenance and maybe can be done with a simple injection.
Fat Obstreperous Jerk
#9 Old 10th Dec 2024 at 9:06 AM
Quote: Originally posted by InternWaffle
I know being "this guy" is your entire schtick but this reply is complete nonsense. The OP is asking about editing an interaction XML...a decidedly simple thing to learn that can be done with a less-than-remedial and in fact detrimental-to-a-computer-by-breathing-too-close-to-it level of programming skill. There's no excuse for the snarky, doomerism tone to this reply, kicking someone down the stairs for daring to try to learn a thing. Even doing injections isn't that hard, as much more polite modders than you have happily provided vast and powerful injection tools for us to use to make new stuff.

That's the thing: It's simple to do ONE interaction. But there's a LOT of interactions, EAxis keeps adding more of them, and the level of hassle involved in keeping everything maintained with an XML edit quickly grows massively compared to a procedural edit. Doing this the wrong way is gonna create a massive maintenance nightmare later given how many points of failure are involved.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Lab Assistant
#10 Old 10th Dec 2024 at 10:23 PM
Quote: Originally posted by J. M. Pescado
That's the thing: It's simple to do ONE interaction. But there's a LOT of interactions, EAxis keeps adding more of them, and the level of hassle involved in keeping everything maintained with an XML edit quickly grows massively compared to a procedural edit. Doing this the wrong way is gonna create a massive maintenance nightmare later given how many points of failure are involved.


Are you not aware that the large bulk of Sims 4 Modders are making this kind of mod, and have been for 10 years? Why are you presenting this as an unsurmountable task? We have tools to assist with it. It's not even often that a patch is major enough to be considered anything close to catastrophic, and let me tell you- even when they are, dramatically more prolific Sims 4 modders than you (like, oh, me, or LittleMsSam, or Bienchen, who all have 200+ mods a piece) are more than capable of handling the supposedly insurmountable task of checking which XMLs changed.

There's no reason to go around seeking out people looking to get started and effectively telling them to not even bother trying in the first place, let alone when that advice is based on what seems to me to be a complete failure to actually know what the hell you're talking about. Step back and let the people who actually know how to mod this game without releasing uncompiled script mods help, you are not needed for this.
Fat Obstreperous Jerk
#11 Old 10th Dec 2024 at 11:35 PM
Quote: Originally posted by InternWaffle
Are you not aware that the large bulk of Sims 4 Modders are making this kind of mod, and have been for 10 years? Why are you presenting this as an unsurmountable task?

It's not about it being unsurmountable. It's that there's no reason this task even needs to exist. Why create future work when doing it the correct way is faster to ultimately build?

Quote: Originally posted by InternWaffle
We have tools to assist with it.

There is a tool that specifically handles this exact usage case? I haven't heard of it. It certainly ain't here.

Quote: Originally posted by InternWaffle
It's not even often that a patch is major enough to be considered anything close to catastrophic
Being catastrophic would, at least, be a very detectable outcome. Being subtly broken, that is the annoying thing. If EA has made a very small change or addition, your mod is now subtly broken in a way which will not be easily detected by either the end user or a cursory scan. You could simply be failing to cover a new interaction and have stomped flat a newly added test in an override and thus broken that logic. Plus, in order to stamp out every offending interaction, you'd have to FIND every offending interaction. How do you want to do that? Manually by searching every file by hand? With grep? Awful. Search-and-destroy using Python patching is simply the more efficient and correct method.

Quote: Originally posted by InternWaffle
We have tools to assist with it. It's not even often that a patch is major enough to be considered anything close to catastrophic
Being catastrophic would, at least, be a very detectable outcome. Being subtly broken, that is the annoying thing. If EA has made a very small change or addition, your mod is now subtly broken in a way which will not be easily detected by either the end user or a cursory scan. You could simply be failing to cover a new interaction and have stomped flat a newly added test in an override and thus broken that logic. Plus, in order to stamp out every offending interaction, you'd have to FIND every offending interaction. How do you want to do that? Manually by searching every file by hand? With grep? Awful. Search-and-destroy using Python patching is simply the more efficient and correct method.

Quote: Originally posted by InternWaffle
There's no reason to go around seeking out people looking to get started and effectively telling them to not even bother trying in the first place, let alone when that advice is based on what seems to me to be a complete failure to actually know what the hell you're talking about.

I assure you I know exactly what I'm talking about, because some of those creators you listed have created giant XML messes that I was able to replace in my own game with only a few lines of code that have since functioned robustly with practically no maintenance for years. Given that the failure mode of a Python patch is to barf a lastexception that tells me immediately what went wrong, and the failure of an XML override is often silent, I prefer dealing with the former over trying to find the latter.

Quote: Originally posted by InternWaffle
Step back and let the people who actually know how to mod this game without releasing uncompiled script mods help, you are not needed for this.

I DELIBERATELY do not compile them. There is no need to do this. The tiny performance gain is not worth the fact that nobody can look at what is happening without having to decompile them, which will inevitably result in loss of information, and some things just don't decompile cleanly. It's also just faster to work with and maintain. Also, given the propensity for people to hide malware in compiled mods, the uncompiledness demonstrates that I am not hiding anything.

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
Back to top