Jump to content

Recommended Posts

Posted
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. ^^

Posted

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.

Posted
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:

 

Clipboard02.jpg

 

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:

Clipboard03.jpg

 

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.

Posted
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.

Posted

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?

Posted

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:
image.png.d669331778c5c3b4afe0aa9d6cd020c1.png

Posted

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.

Posted
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.

Posted

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?

Posted

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?

Posted

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?

Posted
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.

Posted

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..

Posted

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 month later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...