Bazinga Posted September 24, 2019 Author Posted September 24, 2019 34 minutes ago, Ulfbearth said: I didnt want to make a exclusive animation just to have a single voiceset to work just for one npc. I know you just said you didn't want that but ... that would work I think. Â <animation id="YOURANIMATION_2" frames="312"> Â Â <actor gender="F" conditions="isCait"> Â Â Â Â <idle form="6367" id="your_idle_12"/> Â Â Â Â Â Â <value path="action" value="CaitMoans Action" target="0" loop="true" from="1" to="0" frames="8.555"/> Â Â </actor> Â Â <actor gender="M"> Â Â Â Â <idle form="173C" id="your_idle_13"/> Â Â </actor> </animation> Â Then you still have to set up a condition xml I guess. Or maybe just add the name="Cait" condition to the animation? Â <animation id="YOURANIMATION_2" frames="312"> Â Â <actor gender="F" name="Cait"> Â Â Â Â <idle form="6367" id="your_idle_12"/> Â Â Â Â Â Â <value path="action" value="CaitMoans Action" target="0" loop="true" from="1" to="0" frames="8.555"/> Â Â </actor> Â Â <actor gender="M"> Â Â Â Â <idle form="173C" id="your_idle_13"/> Â Â </actor> </animation> Â Dunno if the second version would even work though. Â You can set that action up to include the normal NPC voice set so it uses that plus the Cait-exclusive one. Â ... Now both this and the non-Cait version of the animation would be available for Cait though. And we're back at square one or rather we have a 50% chance for the additional voice files to play for her. ^^
Ulfberto Posted September 24, 2019 Posted September 24, 2019 How that GetIsID would work tho? I dont mind making it for every named npc im adding voicets to. Im not adding for all of them anyway, just famous ones like Danse, Preston, Deacon, Longfellow etc.
Bazinga Posted September 24, 2019 Author Posted September 24, 2019 2 hours ago, Ulfbearth said: How that GetIsID would work tho? I dont mind making it for every named npc im adding voicets to. Im not adding for all of them anyway, just famous ones like Danse, Preston, Deacon, Longfellow etc. I'm not sure if that would work but the easiest way would be to either expand this list in the dialogue quest entries in my esp:   Or deep copy the whole quest entry and change the names and formIDs.  Then add a condition either to the whole dialogue quest or to one or more of the topic entries inside (depends on how many exclusive voice files you have). Like this:  You don't need to add 30 entries if you have 30 voice files that are exclusive to 1 NPC btw, just add the condition to 10 and then add 3 voice type entries to the esp and 3 corresponding folders to the sound folder where you add 10 to each. Then call all of them through the topic xml. And if you want other voice files to be excluded for that NPC then you could use the same condition on their topic entries in the esp and set the comparison value to 0. Same goes for complete dialogue quests if you want to make all of their topic entries exclusive.  I'll try to set this up myself and test it. Interesting problem.  But I'm not sure how well this will work. For example if an actor doesn't meet the condition, instead of ignoring these modified esp entries there might be silence. I'll have to test that.
dagobaking Posted September 24, 2019 Posted September 24, 2019 3 hours ago, Bazinga said: I know you just said you didn't want that but ... that would work I think. Â <animation id="YOURANIMATION_2" frames="312"> Â Â <actor gender="F" conditions="isCait"> Â Â Â Â <idle form="6367" id="your_idle_12"/> Â Â Â Â Â Â <value path="action" value="CaitMoans Action" target="0" loop="true" from="1" to="0" frames="8.555"/> Â Â </actor> Â Â <actor gender="M"> Â Â Â Â <idle form="173C" id="your_idle_13"/> Â Â </actor> </animation> Â Then you still have to set up a condition xml I guess. Or maybe just add the name="Cait" condition to the animation? Â <animation id="YOURANIMATION_2" frames="312"> Â Â <actor gender="F" name="Cait"> Â Â Â Â <idle form="6367" id="your_idle_12"/> Â Â Â Â Â Â <value path="action" value="CaitMoans Action" target="0" loop="true" from="1" to="0" frames="8.555"/> Â Â </actor> Â Â <actor gender="M"> Â Â Â Â <idle form="173C" id="your_idle_13"/> Â Â </actor> </animation> Â Dunno if the second version would even work though. Â You can set that action up to include the normal NPC voice set so it uses that plus the Cait-exclusive one. Â ... Now both this and the non-Cait version of the animation would be available for Cait though. And we're back at square one or rather we have a 50% chance for the additional voice files to play for her. ^^ Second one would not work as there is no "name" attribute for actor nodes. The first would be sound XML. But, as you point out you would still get Cait making regular voices too. So, doesn't really solve the problem. Â I'm trying to think of a solution that doesn't add a lot of complexity to the XML... Â It's tricky because I think it's still important for a character like Cait to be able to use both sounds made for her and potentially other generic sounds when unique ones aren't available. Â I could just hard-code a rule in so that if two or more sayTopic nodes are found in the same moment, it uses one based on priority of which type of condition was used. In other words, conditions using "name" or "formID" win over conditions using "gender", etc.
dagobaking Posted September 25, 2019 Posted September 25, 2019 Actually, that wouldn't really work either because conditions can be more than one thing at a time...
dagobaking Posted September 25, 2019 Posted September 25, 2019 How about this: Â A new attribute is added called "isOverride". If isOverride is set to true and the condition is met, it wipes out all other sayTopic possibilities in the list? 1
Ulfberto Posted September 25, 2019 Posted September 25, 2019 That would be awesome. Or instead, if possible, wipes out all other reactionsets so we can use multiple sayTopics for the same reactionset. Like a regular voiceset and a orgasm voiceset:
dagobaking Posted September 25, 2019 Posted September 25, 2019 Yes. That's [how the condition part] works. I added it to a build already. Just waiting for it to be packaged.  You can see the description of functionality here: https://bitbucket.org/dagobaking/advanced-animation-framework/wiki/XML/condition  I haven't tested it directly though since I don't have anything installed that would confirm it. So, you guys will need to try it out. 3
Bazinga Posted September 25, 2019 Author Posted September 25, 2019 Seems like you already got the job done, nice. I had another idea too and just wanted to mention it. There are condition xmls that noone ever seems to use. Now I figured that whatever condition you set up there will either be true or false. So a condition like <condition ID=isCait name="Cait"/> would be false if the actor isn't Cait, right? Right now the format for how to call conditions in other xmls doesn't seem to allow to check if it's false though. So instead of just adding the condition ID why not add that plus ="true" or ="false"? Would certainly add some functionality in other situations too.
dagobaking Posted September 25, 2019 Posted September 25, 2019 14 hours ago, Bazinga said: There are condition xmls that noone ever seems to use. Whoops. Looking at the link made me realize that I put the "isOverride" info in the wrong wiki page. Corrected now. "isOverride" only works in the other condition approach explained here: https://bitbucket.org/dagobaking/advanced-animation-framework/wiki/XML/conditionNode  Yes. That type of condition is better, imo. I made it later. But, it can't be implemented in all places as of right now.  Right now, that form of conditions is only used (unless I'm forgetting something) in animation XML and if turned on by a positionTree. See:  https://bitbucket.org/dagobaking/advanced-animation-framework/wiki/XML/animation https://bitbucket.org/dagobaking/advanced-animation-framework/wiki/XML/positionTree 14 hours ago, Bazinga said: Now I figured that whatever condition you set up there will either be true or false. So a condition like <condition ID=isCait name="Cait"/> would be false if the actor isn't Cait, right? I don't follow the "ID=isCait" part. Maybe you meant: id="isCait"  In that case, the condition would return true only if the characters name is "Cait". But, this could only be used through positionTree currently (and it's defined in animation XML). The reason it was created was to allow true/false checks on specific stats on specific actors only (not every actor as the older system works). 14 hours ago, Bazinga said: Right now the format for how to call conditions in other xmls doesn't seem to allow to check if it's false though. So instead of just adding the condition ID why not add that plus ="true" or ="false"? Would certainly add some functionality in other situations too. That would be pretty easy to add to the "statRules" attribute if it's needed. Some system would need to be devised for other attributes though. It's XML and is read like XML. So, things like "!=" wouldn't make sense.
Indarello Posted September 30, 2019 Posted September 30, 2019 FemOrgasm02\00012821_1.wav Do you know what she is saying? Â
Bazinga Posted September 30, 2019 Author Posted September 30, 2019 ? Let me check...  She starts moaning/exhaling and then it turns into "Oh God!"
dagobaking Posted September 30, 2019 Posted September 30, 2019 I was thinking about this topic more... Â I think I can make the system a little easier for tying sounds to stats. I still need to double-check some aspects of the code to be sure it would work. Â But, I think I can add a "conditions" attribute to topicXML>topicGroup>topic nodes. Then you can make stat-based conditions for each sound. Â Make sense?
Bazinga Posted September 30, 2019 Author Posted September 30, 2019 Thank you, but I'm not sure if that's needed. At least not if I understand you correctly. Right now we already have stat based conditions for the topic groups. And that's how I filter sound packages atm. If you also add stat conditions to the topics themselves then I guess I could remove one of these 2 lines here: Â <reactionSet id="Custom Moans 01"> Â Â Â <condition isFemale="true"> Â Â Â Â Â Â <sayTopic stat="Arousal" range="0-70" groupID="FemMoans01 Topic"/> Â Â Â Â Â Â <sayTopic stat="Arousal" range="71-" groupID="FemOrgasm01 Topic"/> Â Â Â Â Â Â <setStat stat="Arousal" range="99-" targetStat="Arousal" setTo="30.0"/> Â Â </condition> Â ... and instead add the conditions to the topics. But why? Â So I appreciate it but I don't really see the benefit tbh. But maybe someone else would be interested. @Ulfbearth?
Ulfberto Posted September 30, 2019 Posted September 30, 2019 Hmmm, i dont see any need for conditions in topic node. But i still believe options are always good, cus we never know, so its up to you.
maddadicusrex Posted October 2, 2019 Posted October 2, 2019 Where in load order do you place this, using One Patch and One Patch Fix? Also, I have AAF already working with Leitos. What does the POLICASTRO patch do and is it necessary with the patches mentioned?
Bazinga Posted October 2, 2019 Author Posted October 2, 2019 11 hours ago, maddadicusrex said: Where in load order do you place this, using One Patch and One Patch Fix? Also, I have AAF already working with Leitos. What does the POLICASTRO patch do and is it necessary with the patches mentioned? Doesn't matter where you place the esp. As for the mod load order, you better give this higher priority than the animation mods affected. Otherwise the AAF xml files and the voice files from those don't get overwritten. Same goes for the One Patch or any other patches I'm customizing sounds for. Rule of thumb is, if I give you the choice to add voice sets from this mod to any animation mod or any xml patch for an animation mod then it's rather obvious that you have to let my mod overwrite the files from that.  BUT it always depends on which patch for which animation mod you're using.  Like don't just install the One Patch 1.1.1 and then the Atomic Lust sound modifications I did. Then you either get errors or duplicate animations. If you want to use my Atomic Lust edits from this together with the One Patch then reinstall the One Patch with Atomic Lust deactivated, then reactivate that mod. That way you make sure that the One Patch doesnt install any Atomic Lust xmls... So atm it's complicated, sorry. I'm still waiting for the One Patch 2.0 to be released, because version 1.1.1 is quite outdated and I won't use the Atomic Lust xmls in there, or any other from still regularly updated animation mods. I rather use the xmls from the original mods.  Polisterio's patch is just an alternative to the One Patch, but only for Crazy and Leito. Adds some features like cum overlays but it's missing the gay animation versions. 1
Bazinga Posted October 2, 2019 Author Posted October 2, 2019 I won't update any mods in the next 2 weeks btw, I'll be on vacation. ? 1
dagobaking Posted October 2, 2019 Posted October 2, 2019 Isn't modding what mod authors do on vacation? 1
maddadicusrex Posted October 2, 2019 Posted October 2, 2019 Any reason why Customs Moans overwriting the new One Patch Fix would lock up AAF loading (prior check show messed up Leitos file). If I overwrite just the One Patch and the One Patch Fix overwrite CM, then AAF loads fine, but I do not think the moans work as well.. 1
Bazinga Posted October 3, 2019 Author Posted October 3, 2019 Doesn't the One Patch Fix mention CM as a requirement? That means that it is supposed to overwrite my mod. Didn't test it yet though so I can't help you with this. 1
Ulfberto Posted November 14, 2019 Posted November 14, 2019 Hey @Bazinga the method to apply topics just changed in latest AAF version, so you may want to check the changelog. I just thought to let you know. 1
Bazinga Posted November 14, 2019 Author Posted November 14, 2019 Thx, will look into it this weekend.
Ulfberto Posted November 16, 2019 Posted November 16, 2019 This might help you too if you didnt already. Itll replace voice sounds for all animation packs i believe with empty ones so you can better apply Topics Empty Sound Files for Various Animation Packs.7z
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now