Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 5th Jun 2024 at 8:23 PM Last edited by Hollowness : 6th Jun 2024 at 2:02 AM.
Trying to learn about/how-to script mod, a bit overwhelmed
To start, I am not a completely inept modder. I have went from zero scripting experience to creating an entire expansion for another game (quests, areas, random encounters, map, weather changes, triggers, etc.), and I have been told that was not an easy game to mod but it did come with most of it's game resources and an in house toolset. But I do need some actual real person guidance than just tutorials from time to time. It took me about a year to get decent with scripting for that other game (but actually only a couple months once I found some people willing to help me) and by the end of the 2 year I released my pretty loaded expansion (expansion took about 4-5 months to make). But getting use to a new game's scripting and programs makes me feel like it is all new and starting to learn all over again.

I have tutorial overload, I try to start to follow several scripting tutorials (I feel there is too many and too many program options) and downloaded various programs and probably still missing some (I didn't buy the .Net Reflector but did download ILSpy). I downloaded both Visual Studio and SharpDevolp, but no a clue how to work Visual Studio but managed to follow most of this tutorial about a week ago for SharpDevolp. But I need (in order to learn) to see existing scripts and start with simple scripts and I don't see where I can view Sims 3's actual scripts or script examples that I understand. I mean how do I view a S3SA file? In S3SE it is just weird characters. So I took a step back and thought to learn more about XML modding first and get use to that.

Now I am finding I want to fix things that XML/ITUN tuning doesn't cover. For example: the Into The Future item Stardust, it can only be placed on the floor and not the shelf/table/etc., I want to change the script to fix this. And I know it can be down as I saw in old threads where people have but it wasn't made to public mods that I saw. But I have no idea where to find the in games original script or file for this, have no idea how to script from scratch, etc. When I try to refer to scripting help posts they are all way over my head.

I get that trying to help a new modder learn how to script is tedious and annoying. I have had to try to help others for the other game (and I have troubleshooted with people so much it is insane), and had others try to help me with advanced scripting and finally they exclaimed it is basically for post secondary schooled coders, and not for amateurs and the self taught. So I have been on both ends. But if anyone would like to help me find where I am miss stepping on these tutorials instead of just referring me to more tutorials and help start me out with simpler scripts—I'd really appreciate it.

I have been told (at least for the other game I modded for which is 15 years old this year too), that my mods bring new life to the game. So even if it is just to get another modder out there to post new mods/content for the community, that hopefully is enough reason to try to help a modder out. But if you think that Sims 3 scripting is above my pay grade after a bit, I understand and like to know sooner rather that trying over and over on my own with no progress and I'll stick to XML/ITUN tuning mods.

Thank you in advance
Advertisement
Instructor
#2 Old 6th Jun 2024 at 5:23 AM
I've not taken the dive into script modding myself, yet, though I've familiarised myself with a fair bit of it in passing. (Personally, I just struggle to learn from the way programmers teach! And I guess by its technical nature, scripting just isn't something you can learn intuitively in the way you can with artistic skills. I soak up knowledge about 3D modelling like a sponge in comparison, so those projects keep taking priority.)

I have learned a lot about self-taught modding in general- was writing a devlog about all the things I had to say about that topic, but health got in the way and so that will have to sit in hiatus for a little while longer.

First things first, seems like an important step got skipped over when approaching those tutorials: this part of the Pure Scripting tutorial. These steps for accessing the original game scripts are universal- preparing the core libraries in this way is applicable to using both Visual Studio and SharpDevelop and is the starting point for pretty much everything. Then you can attach them to your projects + view them directly in ILSPY.
Not all programming languages are made equal- the way TS3 works definitely ranks as a lot more inaccessible than quite a few other games- but that should at least give you a headstart. You also have the freedom to take a break from TS3 specifically and just look into any resources about C# in general. Solidifying that skill can only benefit later applying it to modding.

Secondly, no tutorial can skip the process of familiarising yourself with the moving parts that make up the game. The more concepts you get acquainted with, even if you won't be focusing on mastering them, the clearer an idea you'll get on where to start.
I wouldn't say anything as harsh as 'scripting is above your paygrade', but something more like- I think it would be valuable for you to take your time becoming familiar with all kinds of modding first, so that your understanding of where to put your energy is more concrete.

For example, the item issue you described doesn't sound like a project that would involve scripting at all.
That's much more in the territory of CC and object creation. An object's script doesn't cover much more than the pure interactions associated with it. All of the behaviours to do with placement, what kind of slots it will snap to, all of the misc data to do with price and such are set as flags on the OBJD itself- which you can simply edit in S3PE.
It's totally fair to not know this- but it does give me the impression that you may be jumping in the deep end far too soon. There are hundreds of topics that don't fall into the boxes of tuning mod vs scripting mod- and there is no rush, pick up skills in these areas as your curiosity leads you.

I may not be able to mentor you in scripting, given that it's not my area of expertise, but you're always welcome to ask for clarification on what a specific project might entail. At this point, I'm so comfortable with S3PE that whenever someone asks how to do something around here I usually go figure out the answer on the spot That's why I swear by familiarity- it's possible to reach a point where you can start to fill in all your own knowledge gaps, and that's where the work starts to get very satisfying

You've mentioned elsewhere that you've only recently starting using mods- I'd also wholeheartedly insist that you take more time to explore this first. Look at what other people have made, take inspiration, open their packages and see what they're made of. Customise them for your own use, look at the tutorials credited in their descriptions, then make your own version.
I've been using and tweaking mods since this game was new but only started to learn to create them about two years ago. I got a lot of experience before then by constantly refining what mods I was using, as understanding what I was putting into my game went a long way toward maintaining save game health. Not having that foundation would have made it a lot harder to transition between the two.

It's just going to require some patience.
Scripting is the gold star of TS3 custom content, that just about every creator looks up to in reverence. It's a long road to get to that star, not a springboard
Test Subject
Original Poster
#3 Old 6th Jun 2024 at 7:11 AM
I'll take a look at the step you think I missed tomorrow (now that I had a quick glance at it I think I mixed it up with another tutorials step, hence why I complete bypassed it wrongly). As for the CC/object making, that is something I generally avoid, I don't use CC and dislike the idea of it in my game, object editing/fixing I don't mind. I only said scripting because that was the term used by the induvial that said they "fixed" it to fit on a shelf with script (or something along those lines).

I have a terrible habit of not wanting to use other peoples mods, I want to learn to make the mod/tune myself instead. I think the last game I modded for besides 3d modeling, I could replicate/do the mods myself of about 80% of the content. I like to force myself to learn.

I am definitely trying to get more familiar with S2SE, today I learned a few new things/tricks I am happy about with it. Anyways, I am up way to late I just was closing tabs and saw I missed a reply, I might make more sense in the morning (as well as be able to read more clearly) LOL XD
Virtual gardener
staff: administrator
#4 Old 6th Jun 2024 at 2:56 PM
Hey!

I was once exactly where you were. Except that in my case, I had a few people I knew in real life who had worked in C# before, so things went a bit quicker by learning that code language.

The problem, however, became when trying to apply that coding knowledge to TS3's API. It's absolutely MASSIVE! And even now, to this day I still find new things!

Though, I think the illusion of that we think helping new modders is annoying and tedious, that's not it at all! For me, over the years, I have slowed down a bit giving coding help more because I'd get questions from people who initially wanted to make a thing. But behind the question actually wanted me to make the mod for them. And I don't really get that feeling from the way you're talking about what you want to do.


Okay now with that all out of the way, with TS3 script modding, I like to teach people these days to fit their idea in a category, so I know how to help and whether it's a tad too ambitious for what they would like to accomplish.

Here are those categories:

1. Does your mod require a 3D object?
2. Does your mod require a custom Skill/Buff/Trait?
3. Does the mod only have sims in mind? (like, the interaction is sim only?)
4. Does the mod have Objects in mind? (Not necessarily meaning custom 3D objects, but rather adding interactions to an existing item? Even if that item was once decorative?)

Now I recognise that scripting wise we don't really have that many tutorials in this community (compared the ones I've scripted for as well), but MTS holds a lot of shinies when searching for a specific error or issue, or even searching for "custom skill"!

Additionally, if you want directer feedback, you can always check out TS3 Creator cave! Most of us script modders are there too


By the way! If you'd like examples, I actually have all my code as open source! https://github.com/Lyralei1 (even some I have never shared ;p)
Test Subject
Original Poster
#5 Old 6th Jun 2024 at 5:26 PM
Quote: Originally posted by Lyralei
Here are those categories:

1. Does your mod require a 3D object?
2. Does your mod require a custom Skill/Buff/Trait?
3. Does the mod only have sims in mind? (like, the interaction is sim only?)
4. Does the mod have Objects in mind? (Not necessarily meaning custom 3D objects, but rather adding interactions to an existing item? Even if that item was once decorative?)

I just got up and have a lot to read/catch up on (and have a few other things to do) but I thought I'd start with... A few things, no—I actually do want to mod and not convince someone to do something for me, if I can't learn—I have no intention to start making mod requests, I could instead spend my time finding all the things I can do with just XML/ITUN tuning.

With the types of mods I have in mind at the moment:
1. 3D objects if you mean CC no, if you mean like the altering/fixing of an existing object, yes.
2. Eventually, yes.
3. Eventually, yes.
4. Eventually, yes

At this point, I am more trying to learn/get familiar than just "I want to make this mod". But if you want to know what I am actually thinking about modding at the moment... Changing how an object works in game, if it is script or not. Learning how to make Aliens with less than 50% DNA but more than 20% DNA, have the powers/abilities but not the Alien eyes overlay or voice. And lastly, I'd like to see if I could change how reputation works (I have played with the xml/tuning file, but it is limited).
Test Subject
Original Poster
#6 Old 6th Jun 2024 at 7:11 PM
Quote: Originally posted by CardinalSims
First things first, seems like an important step got skipped over when approaching those tutorials: this part of the Pure Scripting tutorial. These steps for accessing the original game scripts are universal- preparing the core libraries in this way is applicable to using both Visual Studio and SharpDevelop and is the starting point for pretty much everything. Then you can attach them to your projects + view them directly in ILSPY.
Not all programming languages are made equal- the way TS3 works definitely ranks as a lot more inaccessible than quite a few other games- but that should at least give you a headstart. You also have the freedom to take a break from TS3 specifically and just look into any resources about C# in general. Solidifying that skill can only benefit later applying it to modding.

After following the steps, it looks like yes, I did do this but in a different tutorial they just linked me to a download with the files already exported, and I connected them to SharpDevelop, but I exported them this way cause I like it better.

Ok, and this is where I get overwhelmed and feel like a moron, I don't understand github, I get linked there to download something and never see the download button, I just see soo much, patch details, files, but no "download" button. Then when I downloaded a version of ILSPY (that wasn't from github, I found a link that actually had a download button) I have a bunch of files and don't know how to open ILSPY? X / And when I try to click it opens Visual Studio,? and when I try to follow Visual Studio tutorials, my version of Visual Studio looks nothing like the screenshots and I get overwhelmed again XD
Instructor
#7 Old 7th Jun 2024 at 12:36 AM
Github is definitely unintuitive if you're new to it.
Here's an example of where to look, using one of Lyralei's uploads:


The source code can be downloaded by clicking Code > Download zip The area highlighted in orange is also where some other projects, like ILSPY, have the link to their current release version.

On the latest ILSpy github, the current release is ILSpy 9.0 Preview 1. It sounds like you may have downloaded Microsoft's VS addon instead.
At the bottom of the release page is where the files from the release are available for download.

Yellow is the installer, orange is a 'portable' one that can be run out of the box.
Screenshots
Test Subject
Original Poster
#8 Old 7th Jun 2024 at 12:50 AM
Has anyone told you how beautiful and wonderful you are today! :D

I feel so dumb, the "code" button is a drop down menu to get the downloads, and thank you about the ILSPY directions, I was very lost!

Animal Lover, Artistic, Brooding, Dog Lover, Perfectionist, Neat and Neurotic.
Test Subject
Original Poster
#9 Old 7th Jun 2024 at 2:16 AM
Oh my gawd, I can see the scripts, the beautiful, beautiful scripts! :D

Well, today I felt like I definitely over came a huge hurdle, and finally am on track again. At this time, I am mostly just going to get familiar with the in game scripts before trying to actually do script modding/planning.

Thank you both so much!

Animal Lover, Artistic, Brooding, Dog Lover, Perfectionist, Neat and Neurotic.
Back to top