Jump to content
IGNORED

Any AAF Spectator mods around?


Recommended Posts

I love the development for prostitution/slave mods going around here for Fallout 4. But since we have settlements and actual cities with plenty of NPCs, I haven't seen a spectators system. Having NPCs watch an act or gather around...does that exist yet? How hard would it be to make, if not/could someone guide me?

Link to comment
7 hours ago, DremoraDream said:

I love the development for prostitution/slave mods going around here for Fallout 4. But since we have settlements and actual cities with plenty of NPCs, I haven't seen a spectators system. Having NPCs watch an act or gather around...does that exist yet? How hard would it be to make, if not/could someone guide me?

It's pretty simple.  AAF Violate includes a spectator system such that when you are violated, the enemy actors who aren't busy will gather around, watch, and cheer the violators on.

 

Implementing it isn't hard at all.  Create a quest and make sure Run Once and Start Check Enabled are not checked.  Add a Reference Collection Alias to it that will grab all the nearby human and ghoul actors who don't have the AAF_ActorBusy keyword, and give them an AI Package that makes them travel to a short distance (~500 units) of the actors who are having sex then headtrack them.  Then create a second quest and give it a script that listens for the AAF OnSceneInit() and OnSceneEnd() events.  Make it start the spectator quest when the OnSceneInit() event is received and stop it when the OnSceneEnd() event is received.

Link to comment
11 hours ago, EgoBallistic said:

It's pretty simple.  AAF Violate includes a spectator system such that when you are violated, the enemy actors who aren't busy will gather around, watch, and cheer the violators on.

 

Implementing it isn't hard at all.  Create a quest and make sure Run Once and Start Check Enabled are not checked.  Add a Reference Collection Alias to it that will grab all the nearby human and ghoul actors who don't have the AAF_ActorBusy keyword, and give them an AI Package that makes them travel to a short distance (~500 units) of the actors who are having sex then headtrack them.  Then create a second quest and give it a script that listens for the AAF OnSceneInit() and OnSceneEnd() events.  Make it start the spectator quest when the OnSceneInit() event is received and stop it when the OnSceneEnd() event is received.

So the second quest is what fires the ai package from the first quest? Is there also a way too limit how many npcs follow the first quests ai package?

Also, this will work with any AAF scene, due to the scripts from the second quest, right? Not just Violate? And last question, how do I specify the npc reactions like cheering and other idles?

I run CSA from RSE over AAF Violate....although Violate does seem like the simpler mod. I'm not sure which one works best for my build. In this particular moment, I have Violate disabled for now. If I was to get this up and running as an individual mod, would it conflict with Violate's spectator system as well?

Sorry for so many questions... My end goal is just to have it not seem so........commonplace for characters to do the deed and not get noticed due to mods like Sexual Harrassment/Hardship/RSE Prostitution/Brothels/CSA....etc

Link to comment
12 hours ago, EgoBallistic said:

It's pretty simple.  AAF Violate includes a spectator system such that when you are violated, the enemy actors who aren't busy will gather around, watch, and cheer the violators on.

 

Implementing it isn't hard at all.  Create a quest and make sure Run Once and Start Check Enabled are not checked.  Add a Reference Collection Alias to it that will grab all the nearby human and ghoul actors who don't have the AAF_ActorBusy keyword, and give them an AI Package that makes them travel to a short distance (~500 units) of the actors who are having sex then headtrack them.  Then create a second quest and give it a script that listens for the AAF OnSceneInit() and OnSceneEnd() events.  Make it start the spectator quest when the OnSceneInit() event is received and stop it when the OnSceneEnd() event is received.

 

1 hour ago, DremoraDream said:

So the second quest is what fires the ai package from the first quest? Is there also a way too limit how many npcs follow the first quests ai package?

Also, this will work with any AAF scene, due to the scripts from the second quest, right? Not just Violate? And last question, how do I specify the npc reactions like cheering and other idles?

I run CSA from RSE over AAF Violate....although Violate does seem like the simpler mod. I'm not sure which one works best for my build. In this particular moment, I have Violate disabled for now. If I was to get this up and running as an individual mod, would it conflict with Violate's spectator system as well?

Sorry for so many questions... My end goal is just to have it not seem so........commonplace for characters to do the deed and not get noticed due to mods like Sexual Harrassment/Hardship/RSE Prostitution/Brothels/CSA....etc


So I'm jumping into this, and i must say i'm slightly confused considering adding quests within this scope is a little beyond my knowledge. If it's any similar to skyrim, would I be creating both quests with AAF as the active file, and when figuring out how to add actors that don't have the AAF_ActorBusy keyword, is there a way to select that as an exception upon creating the quest?

Edit: I seem to be missing a few key components on how to create this. I've made it so far as to:

Create the quest + add The AAF_Blocked Actor keyword to the Ref Collision Alias....and was attempting to add an AI package. But there are so many other options I think I'm either overlooking or ignoring. I can send a screenshot of what is completed so far (which isn't much) but for some reason it doesn't look right to me because I've got a lot of blanks

Link to comment
4 hours ago, DremoraDream said:

So the second quest is what fires the ai package from the first quest? Is there also a way too limit how many npcs follow the first quests ai package?

For simplicity's sake, let's call the first quest the Spectator quest, and the second quest the Main quest.  The Spectator quest gathers the spectator actors into a reference collection alias using the conditions you set in the Alias window.  It also assigns AI packages, keywords, etc, to the reference aliases, also set in that window.  You can set the "max initial fill count" in the alias window to limit the number of actors.

 

Thinking about it, you really need two aliases in the Spectator quest.  One is a Reference Collection Alias as described above.  The other is an actor who is engaging in sex.  That would simply be an actor in the loaded area who has the AAF_ActorBusy keyword.  That alias would then be used in the spectators' AI package as a target.

 

The Main quest detects the AAF events and starts up the Spectator quest.  Starting up the Spectator quest causes the aliases to fill, which in turn causes the actors to run their AI packages.  When the AAF event ends, the Master quest stops the Spectator quest, which releases the actors from their aliases so they go back to whatever they were doing.

4 hours ago, DremoraDream said:

Also, this will work with any AAF scene, due to the scripts from the second quest, right? Not just Violate?

Yes.  Any AAF animation, actually.  You could look at the animation tags in the AAF event handler in the Main quest and exclude certain animation types.

 

4 hours ago, DremoraDream said:

And last question, how do I specify the npc reactions like cheering and other idles?

Those are determined by the Idles in the AI packages.  There is an Idles tab in the package window for that.

 

4 hours ago, DremoraDream said:

If I was to get this up and running as an individual mod, would it conflict with Violate's spectator system as well?

You could avoid that by putting conditions in the AAF event handler in the Main quest so that animations from certain mods are not handled.

 

I can whip up a demo real quick tomorrow so you can see what I am trying to explain.  This isn't really difficult but there are a number of moving parts that make it complex if you haven't scripted with AAF or used aliases before.

 

Link to comment
50 minutes ago, EgoBallistic said:

For simplicity's sake, let's call the first quest the Spectator quest, and the second quest the Main quest.  The Spectator quest gathers the spectator actors into a reference collection alias using the conditions you set in the Alias window.  It also assigns AI packages, keywords, etc, to the reference aliases, also set in that window.  You can set the "max initial fill count" in the alias window to limit the number of actors.

 

Thinking about it, you really need two aliases in the Spectator quest.  One is a Reference Collection Alias as described above.  The other is an actor who is engaging in sex.  That would simply be an actor in the loaded area who has the AAF_ActorBusy keyword.  That alias would then be used in the spectators' AI package as a target.

 

The Main quest detects the AAF events and starts up the Spectator quest.  Starting up the Spectator quest causes the aliases to fill, which in turn causes the actors to run their AI packages.  When the AAF event ends, the Master quest stops the Spectator quest, which releases the actors from their aliases so they go back to whatever they were doing.

Yes.  Any AAF animation, actually.  You could look at the animation tags in the AAF event handler in the Main quest and exclude certain animation types.

 

Those are determined by the Idles in the AI packages.  There is an Idles tab in the package window for that.

 

You could avoid that by putting conditions in the AAF event handler in the Main quest so that animations from certain mods are not handled.

 

I can whip up a demo real quick tomorrow so you can see what I am trying to explain.  This isn't really difficult but there are a number of moving parts that make it complex if you haven't scripted with AAF or used aliases before.

 

Yes, I am pretty new to scripting as a whole, i tended to avoid playing with scripts even in my days of editing/modding skyrim. However your explanation does make sense. I've yet to put these applications to use though.

And also yes, if you'd be so kind as to provide a demo for me, that would be fantastic. No rush to it, I'd be grateful regardless. Until then, I'll play around in the CK and see if the resources available to me + your explanation can get me started. 

Link to comment

Here is a working version of AAF Spectators.  You can install it manually or with a mod manager.  Script source is included.  It will work with animations launched by any mod, including manually by the AAF wizard.  Its only requirement is AAF.

 

image.png

 

It defines two quests: AAFSPX_MainQuest and AAFSPX_SpectatorQuest. 

 

AAFSPX_MainQuest runs on startup.  Its script registers for AAF animationStart and animationStop events.  It will start the AAFSPX_SpectatorQuest on animation start if certain conditions are met - the animation is not from AAF Violate and it is not tagged "Hugging" or "Pose".  It stops the spectator quest on animation stop if it is running.

 

AAFSPX_SpectatorQuest has no scripts.  It defines two aliases, SexActor and Spectators.  The Spectators have a package AAFSPX_TravelAndWatch that makes them travel to a short distance from SexActor, then face the actor, headtrack, and play a set of idles.

 

The mod is completely usable as is.  If I were to release it I might add an MCM to toggle it on or off and maybe some conditions on the types of actors, factions, animation types, etc, but other than that it's pretty much complete.

 

AAF Spectators.7z

Link to comment
On 1/24/2020 at 6:45 AM, EgoBallistic said:

Here is a working version of AAF Spectators.  You can install it manually or with a mod manager.  Script source is included.  It will work with animations launched by any mod, including manually by the AAF wizard.  Its only requirement is AAF.

 

image.png

 

It defines two quests: AAFSPX_MainQuest and AAFSPX_SpectatorQuest. 

 

AAFSPX_MainQuest runs on startup.  Its script registers for AAF animationStart and animationStop events.  It will start the AAFSPX_SpectatorQuest on animation start if certain conditions are met - the animation is not from AAF Violate and it is not tagged "Hugging" or "Pose".  It stops the spectator quest on animation stop if it is running.

 

AAFSPX_SpectatorQuest has no scripts.  It defines two aliases, SexActor and Spectators.  The Spectators have a package AAFSPX_TravelAndWatch that makes them travel to a short distance from SexActor, then face the actor, headtrack, and play a set of idles.

 

The mod is completely usable as is.  If I were to release it I might add an MCM to toggle it on or off and maybe some conditions on the types of actors, factions, animation types, etc, but other than that it's pretty much complete.

 

AAF Spectators.7z 2.52 kB · 1 download

Wow, I didn't expect you to go all out and send a complete version. I was wondering about how'd I would approach F4SE and an MCM myself - that thought occured to me last night.

Could I open the ESP and edit the AI idle packages to specific ones? Do they already have a specified selection of animations? Or is it just random in this file?

 

 

Additionally, I wanna say HUGE THANK YOU for assisting in this idea. I'll give it a run and see how it works out in my set up.

Also, for future reference for when I go about attempting simple mods like this, how long did this take you to throw together?

 

Edit: I looked at the file itself in the CK, and I understand now. I went in and edited idles to my liking. The mod works perfectly

Link to comment

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