Home Artists Posts Import Register

Content

Now we saw how Mixer interactions are:

1- Subordinate to other interactions; and

2- Behave in a different way in game.

Let's go back to the xml injector snippet and let's try to understand what it does exactly:

You can see that adding Mixer Interactions has a specific tuning. This is the way Scumbumbo set it. When adding a Mixer Interaction the injector asks us one (or more) mixer_snippets... what are those? 

You see the one above is an AffordanceList... let's open it up:

Here it is. It's just a list where Maxis puts Interactions (Social_Mixers in this case), there are many:

This is the one where all the friendly interactions are collected, and these lists are used, for example, inside our dear old sim_chat:

As a list of interactions this Super Social interaction can run as mixers (and of mixer interactions that can run sim_chat when you select them in game)

So the injector asks:

Doing this in the injector is the same as doing this directly in maxis AffordanceList:

What's the problem with doing this, though? That if I do this, then another modder does the same to add their own interactions, then maxis updates the list, there will be problems:

When you put a file in your mod folder, and this file had the same ID as a maxis file, you're making the game read your file in place of the original one. You're creating an Override. 

Point is, the game only reads one modification of the same file at once.

So, if two mods modify the same tuning, and you put both in game, the game will still always and only read one of the two. You're creating a conflict. Your PC will not explode for a conflict, your game will not uninstall itself, what happens is: one of the two mods will not work, and you'll only have the interactions added by one of the two.

Then maxis comes along and adds interactions to the same list. Since the files in the mod folder always override maxis tuning, keeping the mod in the folder, unless updated manually, will make maxis new interactions not appear in game. Thus causing problems.

And this is why we use the injector or other scripts:

This way:

1- There is no problem if Maxis updates the list

2- Multiple mods can add interactions in the same list without conflicts.

The injector deals with telling the game:

"Hey game, so... I have these 3 interactions I'd need you to add to this list to be played inside sim_chat"

And the game answers:

"Sure, gimme a sec"

Then LMS Sam script comes along and tells the game:

"Hey game... LMS Sam too want you to add these 4 interactions to the same list..."

And the game answers:

"No problem!"

And so on... this way they can coexist peacefully.

What about Super Affordances then? Where do they exist? To what are they subordinate of?

Let's look at the snippet:

add_interactions_to_objects

Unlike mixer interaction, that are attached to other interactions, most super affordances are attached to objects:

These are all the interactions the gameObject Apple Pie has, some of them you can always see, some of them you can see only in some cases, and some of them you never see.

And, while for us is easy to see Sims as little people we get attached to, because humans are emotional, as far as the game is concerned, a Sim is a gameObject, not so different form the Apple Pie:

So super affordances are attached to an object, even when they're added to Sims.

______

The XML injector has other options and other ways to add interactions in game, but we'll see them in a specific tutorial on the injector, that's how the injector works, not how the game works.

Comments

Marvin

A buck a month seems like faint gratitude for the time and effort you put into these tutorials. Best tutorials on the net! thanks so much