|
Post by FrankSimatra on Dec 20, 2020 12:35:12 GMT -5
I use LittleMsSam's live-in daycare mod so my adult and teen Sims check toddlers frequently. I don't want to change anything about their actions; what I want to change is the toddlers' responses. For example, when they check a stinky toddler, I want the toddler to always ask for a diaper or a bath, not a hug or to play. And speaking of hugs, I *really* want to stop toddlers from pulling away from a hug they asked for. It's irritating to no end. It seems like there should be some kind of percentage relationship between the toddler's need level and his/her answer, like if hygiene is less than X, ask for bath 95% of the time, or if all needs are above X, ask for book or flashcards 95% of the time, etc. My problem is threefold. The biggest issue is I don't know what all I need to change in order to make it work the way I want. I've extracted everything that seems remotely related to these interactions but that's as far as I can get. I've read through tutorials on MizoreYukii 's Creator Musings Discord and while they've been very helpful, I can't find one that pertains to my situation. The next issue is that I'm a Mac user so I don't have many of the tools people recommend, and I'd really really really rather not deal with dual-boot setups or virtual machines. The final issue is that I know just enough about XML to change existing mods to do what I want and to break stuff. If someone can point me in the direction of relevant tutorials; the code bits that need changing; tools beyond S4S I need, like XML Injector; and any other help, including "thoughts and prayers", I'd definitely appreciate it.
|
|
|
Post by MizoreYukii on Dec 20, 2020 14:23:42 GMT -5
Why didn't you ask on the Discord? There's a help channel there, and there are more active modders on there than over here, especially Mac users who might be able to give better advice on what they do to compensate for the lack of programs. There are no tutorials for your situation unfortunately, other than snippets from Zer0's tutorials going over tests and making interactions that will help a bit. Speaking of Zer0, they do take tutorial requests and you could try asking for one if it's something you'd be interested in. I unfortunately don't have the time right now to write one myself. You shouldn't need any other programs or tools for this besides S4S and the TDESC Browser (which if you didn't see it in the Discord, now has a Mac version). Basically you want to check the outcomes of the interactions and see how they are structured, and for what you are describing you want test_based outcomes which tests for the situations and results you want. So one outcome of the "Check Toddler" interaction should have a test for the hygiene/etc with a weight (weight controls how likely something will be randomly chosen) and will have a continuation to the diaper or bath request interaction depending on what is chosen. Another outcome will check to see if all needs are above x with another set of weights, then lead to the book or flashcards as you described. Here's an example from an interaction I quickly grabbed with a search program, file E882D22F!00000000!000000000001864A.oven_AddCombo.InteractionTuning.xml. Notice how it has 3 different potential_outcomes sections, with 2 possible weighted outcomes in each section except for the last one. The TDESC describes potential_outcomes as "If all of the tests pass, the outcomes will be randomly selected based on the provided weight." The first section says that sims will fail more often based on a weight of 6 vs 4 since they are below the skill level of 2. The second section says that sims will succeed more often based on a weight of 7 vs 3 because they are between the levels of 3 and 4. The third section says that sims will always succeed with a weight of 1 (against nothing) once above lvl 5. You will probably want a similar structure for yours, except you'll be using continuations in the outcomes, testing for the toddler (aka targetsim as subject). <V n="outcome" t="test_based"> <U n="test_based"> <L n="tested_outcomes"> <U> <L n="potential_outcomes"> <U> <U n="outcome"> <V n="animation_ref" t="enabled"> <U n="enabled"> <T n="factory">11675<!--Oven_RecipeActions_AddCombo_Succeed--></T> </U> </V> <L n="loot_list"> <T>11085<!--StatChange_Turns_01--></T> </L> </U> <U n="weight"> <T n="base_value">4</T> </U> </U> <U> <U n="outcome"> <V n="animation_ref" t="enabled"> <U n="enabled"> <T n="factory">11674<!--Oven_RecipeActions_AddCombo_Fail--></T> </U> </V> <L n="loot_list"> <T>11085<!--StatChange_Turns_01--></T> </L> </U> <U n="weight"> <T n="base_value">6</T> </U> </U> </L> <L n="tests"> <L> <V t="skill_test"> <U n="skill_test"> <T n="skill">16701<!--statistic_Skill_AdultMajor_GourmetCooking--></T> <V n="skill_range" t="threshold"> <U n="threshold"> <U n="skill_threshold"> <E n="comparison">LESS_OR_EQUAL</E> <T n="value">2</T> </U> </U> </V> <T n="use_effective_skill_level">True</T> </U> </V> </L> </L> </U> <U> <L n="potential_outcomes"> <U> <U n="outcome"> <V n="animation_ref" t="enabled"> <U n="enabled"> <T n="factory">11675<!--Oven_RecipeActions_AddCombo_Succeed--></T> </U> </V> <L n="loot_list"> <T>11085<!--StatChange_Turns_01--></T> </L> </U> <U n="weight"> <T n="base_value">7</T> </U> </U> <U> <U n="outcome"> <V n="animation_ref" t="enabled"> <U n="enabled"> <T n="factory">11674<!--Oven_RecipeActions_AddCombo_Fail--></T> </U> </V> <L n="loot_list"> <T>11085<!--StatChange_Turns_01--></T> </L> </U> <U n="weight"> <T n="base_value">3</T> </U> </U> </L> <L n="tests"> <L> <V t="skill_test"> <U n="skill_test"> <T n="skill">16701<!--statistic_Skill_AdultMajor_GourmetCooking--></T> <V n="skill_range" t="interval"> <U n="interval"> <U n="skill_interval"> <T n="lower_bound">3</T> <T n="upper_bound">4</T> </U> </U> </V> <T n="use_effective_skill_level">True</T> </U> </V> </L> </L> </U> <U> <L n="potential_outcomes"> <U> <U n="outcome"> <V n="animation_ref" t="enabled"> <U n="enabled"> <T n="factory">11675<!--Oven_RecipeActions_AddCombo_Succeed--></T> </U> </V> <L n="loot_list"> <T>11085<!--StatChange_Turns_01--></T> </L> </U> <U n="weight"> <T n="base_value">1</T> </U> </U> </L> <L n="tests"> <L> <V t="skill_test"> <U n="skill_test"> <T n="skill">16701<!--statistic_Skill_AdultMajor_GourmetCooking--></T> <V n="skill_range" t="interval"> <U n="interval"> <U n="skill_interval"> <T n="lower_bound">5</T> <T n="upper_bound">20</T> </U> </U> </V> <T n="use_effective_skill_level">True</T> </U> </V> </L> </L> </U> </L> </U> </V>
|
|
|
Post by FrankSimatra on Dec 21, 2020 10:13:32 GMT -5
Why not Discord? It’s a new platform to me so I’m just more comfortable in a forum. But I’ll try it if you promise people there are nicer than the jerks on Reddit. 😂
The Mac TDESC browser doesn’t have a search feature so I have look through it all manually. Maybe I’m not understanding its purpose but following the steps in your tutorial on extracting tuning in S4S has been much more useful in my previous modding of mods than the TDESC browser.
I don’t know if I’m ready for a full-blown overhaul kind of mod. Is it possible to just tweak existing code to get closer to what I want? There have to be files that determine the toddlers’ responses now, right?
|
|
|
Post by MizoreYukii on Dec 21, 2020 17:49:19 GMT -5
Why not Discord? It’s a new platform to me so I’m just more comfortable in a forum. But I’ll try it if you promise people there are nicer than the jerks on Reddit. 😂 The Mac TDESC browser doesn’t have a search feature so I have look through it all manually. Maybe I’m not understanding its purpose but following the steps in your tutorial on extracting tuning in S4S has been much more useful in my previous modding of mods than the TDESC browser. I don’t know if I’m ready for a full-blown overhaul kind of mod. Is it possible to just tweak existing code to get closer to what I want? There have to be files that determine the toddlers’ responses now, right? My server? If they aren't nice they get the boot. 😂 And the majority of servers I've been in are nice, rarely have I seen an issue but it usually gets taken care of by the mods immediately if there is one. The TDESC Browser does not search for and extract tuning, it instead tells you what the tuning and everything inside it does so you understand what you are changing and why. I recommend reading Zer0's tutorials on the matter to help you understand how to use and read them: www.patreon.com/posts/bonus-tutorial-31960337www.patreon.com/posts/bonus-tutorial-31988039www.patreon.com/posts/bonus-tutorial-2-32028544And I also recommend posting on the download page to let the creator know a search feature to find certain functions would be useful. It shouldn't be a full-blown overhaul, aren't you only editing the Check Toddler interaction to continue to the proper toddler responses based on their needs like you were asking about? I'll give it a look later and try to show an example if I find the right files.
|
|
|
Post by FrankSimatra on Dec 23, 2020 10:07:43 GMT -5
It shouldn't be a full-blown overhaul, aren't you only editing the Check Toddler interaction to continue to the proper toddler responses based on their needs like you were asking about? I'll give it a look later and try to show an example if I find the right files. I might've misunderstood your response. I looked through the files again but haven't been able to find (maybe recognize?) the relevant ones. However, I did find the code to change the irritating pulling away from a hug. I tried changing the <E n="outcome_result"> from "FAILURE" to "SUCCESS" but that didn't fix it. I stopped short of deleting the whole section because I wasn't sure how much to delete. <U n="outcome"> <V n="animation_ref" t="enabled"> <U n="enabled"> <T n="factory">146673<!--socials_Friendly_Toddlers_Hug_Fail--></T> </U> </V> <L n="loot_list"> <T>11040<!--Rel_Loss_Medium--></T> <T>165339<!--loot_ParentingSkill_Tiny--></T> </L> <E n="outcome_result">SUCCESS</E> </U> <U n="weight"> <T n="base_value">1</T> <L n="multipliers"> <U> <T n="multiplier">8</T> <L n="tests"> <L> <V t="mood"> <U n="mood"> <T n="mood">14632<!--Mood_Angry--></T> <E n="who">TargetSim</E> </U> </V> </L> </L> </U> <U> <T n="multiplier">4</T> <L n="tests"> <L> <V t="trait"> <U n="trait"> <E n="subject">TargetSim</E> <L n="whitelist_traits"> <T>140744<!--trait_Toddler_Clingy--></T> <T>140739<!--trait_Toddler_Fussy--></T> </L> </U> </V> </L> </L> </U> </L> </U> </U> </L> </U> </L> </U> </V>
|
|
|
Post by MizoreYukii on Dec 23, 2020 11:44:10 GMT -5
That's okay, lol. So there's 2 things you can do, you can either delete that entire section you copied/pasted (and only that section, if you click the little - on the left you can safely collapse sections to highlight and delete without worry). Though there's a <U> tag above that you need to delete too, so collapse that one instead of the <U n="outcome">
The second thing is to replace the <T n="factory">146673<!--socials_Friendly_Toddlers_Hug_Fail--></T> with <T n="factory">146672<!--AnimationElement: socials_Friendly_Toddlers_Hug_Success--></T>. And keep the "FAILURE" to "SUCCESS" you changed.
|
|
|
Post by FrankSimatra on Dec 28, 2020 10:02:57 GMT -5
So there's 2 things you can do, you can either delete that entire section you copied/pasted...The second thing is to replace the <T n="factory">146673<!--socials_Friendly_Toddlers_Hug_Fail--></T> with <T n="factory">146672<!--AnimationElement: socials_Friendly_Toddlers_Hug_Success--></T>. And keep the "FAILURE" to "SUCCESS" you changed. Xmas prep and celebration combined with frustration about not being able to fix something so seemingly simple have kept me from this for a few days. I tried both ways, first by changing the code, then by deleting it, and toddlers were still pulling away. 😤 I wonder if it has to do with the fact that only two of the traits are whitelisted in the success section? I saw your post on Discord about the TDESC browser browser—very cool stuff!
|
|
|
Post by MizoreYukii on Dec 28, 2020 13:13:42 GMT -5
So there's 2 things you can do, you can either delete that entire section you copied/pasted...The second thing is to replace the <T n="factory">146673<!--socials_Friendly_Toddlers_Hug_Fail--></T> with <T n="factory">146672<!--AnimationElement: socials_Friendly_Toddlers_Hug_Success--></T>. And keep the "FAILURE" to "SUCCESS" you changed. Xmas prep and celebration combined with frustration about not being able to fix something so seemingly simple have kept me from this for a few days. I tried both ways, first by changing the code, then by deleting it, and toddlers were still pulling away. 😤 I wonder if it has to do with the fact that only two of the traits are whitelisted in the success section? I saw your post on Discord about the TDESC browser browser—very cool stuff! Are you sure you have the right file? And that you're hitting "Save" when done changing the file? Because either option should have worked (especially the deleting), and if it's not working it's probably the wrong file, or something else. When I did a quick search for other interactions using the "146673<!--socials_Friendly_Toddlers_Hug_Fail-->" animation for toddlers four of them came up, so it's likely that you are editing the wrong one. E882D22F!00000000!000000000002661A.si_touching_Toddler_Apologize.InteractionTuning.xml E882D22F!00000000!0000000000023EA5.si_touching_Toddler_Comfort.InteractionTuning.xml E882D22F!00000000!0000000000023CF9.si_touching_Toddler_Hug.InteractionTuning.xml E882D22F!00000000!0000000000025C49.si_touching_Toddler_ShareTheLove.InteractionTuning.xml Since you hate that animation you should probably edit all of them anyhow.
|
|
|
Post by FrankSimatra on Jan 10, 2021 10:34:34 GMT -5
I finally had a chance to sit down and really focus on it yesterday. I'm 99% sure that I've eliminated the hug issue so I feel emboldened to move ahead (and probably wreck everything in the process 😂).
I've been slowly deciphering what the code bits mean but there are some that I haven't sussed out. Is there some master list of what they mean? For instance, where can I find out what the 1000 and 0 in this bit from sim_Toddler_CheckToddler_Minor.xml? Where can I find the range for the bladder motive statistic toward the very bottom? Is there a way to know if deleting something will cause an issue? Like can I remove <T n="test_set_reference">157784<!--testSet_CheckToddler_OwnsAndOnActiveLot--></T>? I learn better when I have a dictionary type written resource thingie I can refer to but Googling hasn't given me what I need, or if it has, I haven't recognized it.
<U n="weight"> <T n="base_value">1000</T> <L n="multipliers"> <U> <T n="multiplier">0</T> <L n="tests"> <L> <V t="test_set_reference"> <T n="test_set_reference">157784<!--testSet_CheckToddler_OwnsAndOnActiveLot--></T> </V> <V t="commodity_advertised"> <U n="commodity_advertised"> <V n="requirements" t="require_any" /> <L n="static_commodities"> <T>146038<!--StaticCommodity_ToddlerUsePotty--></T> </L> <T n="test_autonomous_availability">False</T> <T n="test_connectivity_to_target">False</T> </U> </V> </L> </L> </U> </L> </U> </U> </L> <L n="tests"> <L> <V t="statistic"> <U n="statistic"> <T n="stat">16652<!--motive_Bladder--></T> <V n="threshold" t="value_threshold"> <U n="value_threshold"> <E n="comparison">LESS_OR_EQUAL</E> <T n="value">-50</T> </U> </V>
|
|
|
Post by MizoreYukii on Jan 10, 2021 12:58:44 GMT -5
The only masterlist is the TDESC I'm afraid. I explained weights previously, but from what I understand reading the TDESC and my previous knowledge, it's saying that outcome has a multiplier base_value of 1000 and is more likely than anything else to occur (since it seems EA did lower numbers for everything else). The base_value increases by the multiplier number shown (in this case 0, so no increasing) when the multiplier's test passes (one of the tests being at the sims owned house). To find this section in the TDESC you'd open up Interactions > find the regular Interactions again > Outcome > Test_Based > Tested_Outcomes > Potential_Outcomes > Weight and there you will see the base value and multipliers. For the bladder just copy the 16652 number (the tuning ID) and either use XML File Finder program or the Extract Tuning option from S4S to open it, the min and max value is listed around line 122. Zer0 has tutorials on commodities now if you need more info. <T n="max_value_tuning">100</T> <T n="maximum_auto_satisfy_time">1440</T> <T n="min_value_tuning">-100</T> It's mostly trial and error for removing stuff, but the vast majority of things can be removed without issue if you make sure to delete the section properly. Like you want to remove the test_set, which is fine to remove. The only files you need to be completely careful with when deleting stuff is SimDatas, but since they are all different it's hard to explain what can and cannot be deleted.
|
|
|
Post by FrankSimatra on Jan 11, 2021 10:45:40 GMT -5
Inspired by Bienchen's check toddler tweak that removed the requirement for a high chair for drinking, I'm trying to remove the requirement across the board (and maybe move on to food, if that's even possible). In generic_consume_drink_nonbar_toddler_onGround.xml, I found this bit for posture and surface preference. Where do I find the list of surfaces? I looked in the Lot 51 TDESC and I couldn't find actual values, just generic <L n="surface_types"></L>, and I couldn't find anything in S4S.
Thanks for all your help, btw. I really appreciate it. 😊
<U n="posture_preferences"> <T n="apply_penalties">False</T> <T n="prefer_surface">False</T> </U> <V n="posture_target_preference" t="enabled"> <L n="enabled"> <U> <E n="key">DINING_TABLE</E> <T n="value">2.5</T> </U> <U> <E n="key">SEATING_SOFA</E> <T n="value">2.5</T> </U> <U> <E n="key">SURFACE_BAR</E> <T n="value">2.5</T> </U> <U> <E n="key">SURFACE_DESK</E> <T n="value">2.5</T>
|
|
|
Post by MizoreYukii on Jan 22, 2021 11:13:34 GMT -5
Oh darn, sorry for the late reply, this got lost after I got sick. You can find them in 03B33DDF!00000000!2B5DB22CD6E0B83E.postures.Tuning.xml. I recommend getting DocFetcher or a similar program to type in keywords and find what you're looking for.
|
|
|
Post by FrankSimatra on Jan 23, 2021 10:33:24 GMT -5
I'm sorry you've been sick! And no worries, I got the toddlers to respond how I want them to and added the time out option to toddler discipline. The drinks work, though the animation is the same as the magic sippy cup where it comes out of the toddler's inventory, but I'm not picky. Children can potty train toddlers now by clicking on the potty chair but 1) the child doesn't carry the toddler to the potty like an adult would, the toddler will just walk over to the potty alone and 2) the toddler can't ask a child for potty help, but I'm not picky. I even got the children to change toddler diapers and unlocked Check Toddler for them (the animations stretch the child but again I'm not picky). Right now I'm absolutely stuck in getting children to follow through on the toddler's response to Check Toddler, to carry and feed them, and unlocking baby care for children. I'd be happy if the child could just change the baby's diaper but bottle feeding would be a nice bonus. I'm probably trying to do things that are either not possible at all or far beyond my abilities, but it seems like some of them, like children changing the baby, should be easy to do.
Should I take this discussion over to your Discord? If so, which is the right channel to post to?
|
|
|
Post by MizoreYukii on Jan 23, 2021 12:45:20 GMT -5
Glad you got it working so far! It's possible to do those, you just need to find the right interaction as usual and add children to the age tests (so copy the references in the Check Toddler, search and add to package, edit the test_globals). If you don't add and edit them then the game will just get confused and you run into the bugs you are experiencing where the child doesn't do anything.
#modding-help is the right channel. The #directory at the top has a list of all the channels and what they do if you need it.
|
|