Guest Posted June 2, 2018 Posted June 2, 2018 @dagobakingat what point are we solidifying the API? In the sense of parameters to pass to QuickScene? Only ask as constant changes are going to make it challenging for mod authors to create their routines without having to update the code every time a new change comes out. Might be an easy task for some but for me, lol, RSE has over 350 scripts and almost half of them have calls for sex animations. Â Further to this, it appears the parameter to specify the actor as being consenting or not is gone now, is that correct? Â Will it come back? Â Because if its a matter of coding up the anim archetypes for you, that will play, based on this, I can certainly do that for you without issue. Â So the parameter would be of type ACTOR. Which in the main script I would suggest passing to a function that changes facial archetype based on ACTOR == NONE or ACTOR != NONE. Â Which means, if actor equals none, we can consider this consensual and put happy satisfied archetypes on the actors faces. Â But if actor equals an actual actor, we put unhappy in pain faces on the RECEIVER and sinister smile faces on the GIVER. Â And then once anims are done playing, we reset facial anim archetype back to neutral. Â Thoughts?
reconphil Posted June 2, 2018 Posted June 2, 2018 19 minutes ago, fred200 said: I suggest everyone check their Data folder after installing these. If you find a Data/Data/AAF folder, one of them did not install correctly. AAF should be a folder directly in Data, and no where else. Polistro fixed his Lesbian file that was breaking MF. Check for update dates. He also changed Supermutants. I have an AAF Folder in Data (Data/AAF) but there is also one Data/Data/AAF. The Data/Data/AAF has different, less content than the Data/AAF. The Data/Data/AAF <contains __delete_if_empty> file and the other is <Rufgt_animationData.xml>. The Data/AAF contains 18 different files, to include the Rufgt and Leito's animation files. Should I delete the one in Data/Data/AAF? I'm not sure how this happened. I do know Leito's and Crazy's animations don't appear to be working outside AAF anymore, though I still get the solicitations and other initiation. They just stand around. With the HOME key, AAF seems to be working well.
fred200 Posted June 2, 2018 Posted June 2, 2018 Just now, reconphil said: I have an AAF Folder in Data (Data/AAF) but there is also one Data/Data/AAF. The Data/Data/AAF has different, less content than the Data/AAF. The Data/Data/AAF file and the other is . The Data/AAF contains 18 different files, to include the Rufgt and Leito's animation files. Should I delete the one in Data/Data/AAF? I'm not sure how this happened. I do know Leito's and Crazy's animations don't appear to be working outside AAF anymore, though I still get the solicitations and other initiation. They just stand around. With the HOME key, AAF seems to be working well. Vortex for one does not handle mods correctly that list a folder name of Data. It creates a second level for them...  However it happened, the files in Data/Data/AAF should be copied to Data/AAF if they are more recent or missing. Then delete the entire Data/Data folder. Your game will thank you.
CGi Posted June 2, 2018 Posted June 2, 2018 4 minutes ago, reconphil said: I have an AAF Folder in Data (Data/AAF) but there is also one Data/Data/AAF. The Data/Data/AAF has different, less content than the Data/AAF. The Data/Data/AAF file and the other is . The Data/AAF contains 18 different files, to include the Rufgt and Leito's animation files. Should I delete the one in Data/Data/AAF? I'm not sure how this happened. I do know Leito's and Crazy's animations don't appear to be working outside AAF anymore, though I still get the solicitations and other initiation. They just stand around. With the HOME key, AAF seems to be working well. Did you by any chance install SavageCabbage's animations and didn't use the FOMOD download?
Polistiro Posted June 2, 2018 Posted June 2, 2018 I does the same error than some others by copying how there were made, I placed a data folder in my firsts archive. I may need to edit them...
Farelle Posted June 2, 2018 Posted June 2, 2018 1 hour ago, Jughandle said: Did you fix this? I had the same error with Polistro's lesbian patch. I uninstalled it and everything worked. Yea mate, did reinstall everything in the right order. However it seems that my data folder is clean. I don't have data folder in the data folderÂ
CGi Posted June 2, 2018 Posted June 2, 2018 10 minutes ago, Polistiro said: I does the same error than some others by copying how there were made, I placed a data folder in my firsts archive. I may need to edit them... But unlike some other mods i've seen over the years, you know the error and how to fix it. ?
Polistiro Posted June 2, 2018 Posted June 2, 2018 I repacked them and i'll re-upload them in next minutes. I think a lot of "crazy patches don't work" reports came from that...
fred200 Posted June 2, 2018 Posted June 2, 2018 14 minutes ago, Polistiro said: I repacked them and i'll re-upload them in next minutes. I think a lot of "crazy patches don't work" reports came from that... Thank you - and for putting them together in the first place!
reconphil Posted June 2, 2018 Posted June 2, 2018 1 hour ago, CGi said: Did you by any chance install SavageCabbage's animations and didn't use the FOMOD download? No. I only just discovered SavageCabbage's animations and hadn't decided if I wanted to download them yet. By FOMOD you mean through a mod manager? I use Vortex.
reconphil Posted June 2, 2018 Posted June 2, 2018 1 hour ago, fred200 said: Vortex for one does not handle mods correctly that list a folder name of Data. It creates a second level for them...  However it happened, the files in Data/Data/AAF should be copied to Data/AAF if they are more recent or missing. Then delete the entire Data/Data folder. Your game will thank you. Thanks. Generally I haven't had too much problem with Vortex. I don't like that you have to play around with dependencies to adjust the load order and some mods take several installs to install correctly but overall, for an Alpha version, it works pretty well.
Polistiro Posted June 2, 2018 Posted June 2, 2018 7 minutes ago, fred200 said: Thank you - and for putting them together in the first place!  ?
fred200 Posted June 2, 2018 Posted June 2, 2018 9 minutes ago, reconphil said: Thanks. Generally I haven't had too much problem with Vortex. I don't like that you have to play around with dependencies to adjust the load order and some mods take several installs to install correctly but overall, for an Alpha version, it works pretty well. No argument from me. I dropped both MO and NMM in favor of Vortex. Just have a few things to watch for...
reconphil Posted June 2, 2018 Posted June 2, 2018 2 minutes ago, fred200 said: No argument from me. I dropped both MO and NMM in favor of Vortex. Just have a few things to watch for... By the way, I had a couple of redundancies in the Data/Data folder. Once I verified the Data/[whatever] folders were up to date or the latest, I deleted the Data/Data folder so I have only the native folders in the Data folder. Now I will see if it works better. It may have been the source of some of my mod conflicts.
fred200 Posted June 2, 2018 Posted June 2, 2018 6 minutes ago, reconphil said: By the way, I had a couple of redundancies in the Data/Data folder. Once I verified the Data/[whatever] folders were up to date or the latest, I deleted the Data/Data folder so I have only the native folders in the Data folder. Now I will see if it works better. It may have been the source of some of my mod conflicts. Anything in Data/Data is invisible to the game. Files there can not be causing your problems - unless they are missing from Data.
CGi Posted June 2, 2018 Posted June 2, 2018 Just now, fred200 said: Anything in Data/Data is invisible to the game. Files there can not be causing your problems - unless they are missing from Data. An installed mod that's not visible to the game is a problem. ;)
dagobaking Posted June 2, 2018 Author Posted June 2, 2018 5 hours ago, forgets said: to AAF_actorTypeData.xml. Success! Thank you so much! I am now able to select Nick Valentine and can verify that Shino's poses work with him and my male PC (gender locking turned off in the settings file. Gender locking is mean). Good to hear that this worked. It is strange that those characters aren't counted as "NPC" by the game keywords. Typical CK ambiguity.  Gender locking is not mean. Not everyone wants to see every kind of interaction in their game and having these rules in place is the only way to control those preferences. If there is a set of rules anyone prefers, they are free to set it up for themselves, share with others so they have more options too, etc. There is also a setting to turn off gender assignment entirely for all animations.  Quote ETA: Okay, when I end the animations I have a problem. My character is stuck in place. I tried toggling collision, did nothing. Maybe it has something to do with the transition back to 1st person camera, I don't know. Does anyone have any ideas what could be causing this issue and/or how to fix it? Hm. That report is a new one to me. So, I'm not sure. You can press "End" a second time to speed up animation ending. If all is working right it should unlock the characters then. 4 hours ago, Flashy (JoeR) said: Not to highjack the AAF thread (again) with this news, but RSE is undergoing TOTAL AAF conversion, as of this morning. This, by necessity, will not be one complete push towards conversion but will occur in stages over a period of weeks due to my newly employed time constraints. I encourage anyone interested, to follow progress in the RSE support thread and not to post issues, suggestions or otherwise in @dagobaking's thread here. For those interested in testing, you may ask in the RSE SUPPORT THREAD - do NOT private message me - and I will consider your request based solely on what I know of you as a contributing member of the Fallout 4 Lover's Lab community.  RSE's AAF Conversion Status is located HERE. Not a hijack. I think it's relevant news. Thank you! 4 hours ago, SnipingSheep92 said: Can anyone confirm if AAF works with version 1.9.4 now ? I can't myself. But, I would be interested to hear what those who have tried see so that I can fix if needed. 2 hours ago, Flashy (JoeR) said: @dagobakingat what point are we solidifying the API? In the sense of parameters to pass to QuickScene? Only ask as constant changes are going to make it challenging for mod authors to create their routines without having to update the code every time a new change comes out. Might be an easy task for some but for me, lol, RSE has over 350 scripts and almost half of them have calls for sex animations. For QuickScene, I think it is safe to call its current attributes solidified. So, if it does expand, it will be outward with optional [parameters]. Does that make sense? In other words, if you see something that would be helpful to add, it will be at the end of the function and won't be required.  One thing that I do see adding to it would be an optional tag. Will go into that more below.  Quote  Further to this, it appears the parameter to specify the actor as being consenting or not is gone now, is that correct? Yes. It wasn't functional and thinking it through in the context of unknown animation packs being installed, it didn't seem like it was ever going to make sense. Since the animations aren't hard-coded like FourPlay, it can't know just by having a second actor defined which animations show "the right thing". Once a framework becomes scalable, some system of communication between the packs and the mods is needed to orchestrate that.  Quote  Will it come back? So, I'm thinking that the best way to handle that is through tags.  A [parameter] can be added to QuickScene to "filterByTag". You then establish for RSE a tag that indicates animations that will be used in whatever contexts you need. Maybe "aggressive"? "gonzo"? Then you tell animation creators that if they want their animations to be played in certain contexts in RSE, they must add that tag to animations that make sense there. Then, when you call it for that context in RSE you just add that tag to the call and it gives you a random selection from animations with that tag.  You would also most likely want to communicate an actor order to those animators so that you can then control which actor is playing which role in the scene. A rule like "Always make the first actor in the animation the aggressive one." Then, you enforce that ordering in RSE through how you populate the Actor array.''  Gender definitions in animations could come into play as well since if they are present they would over-ride the Actor order that you send in. That can be addressed in several ways:  1. Require that animators remove gender definitions from animations that you want to control order for in RSE. 2. Have animators use gender-specific tags and switch between them as needed within RSE (ie. "aggressiveMale", "aggressiveFemale" tags). 3. I could add a [parameter] to QuickScene that disables gender definitions per RSE request ("disableGenderAssignment").  Quote  Because if its a matter of coding up the anim archetypes for you, that will play, based on this, I can certainly do that for you without issue.  So the parameter would be of type ACTOR. Which in the main script I would suggest passing to a function that changes facial archetype based on ACTOR == NONE or ACTOR != NONE.  Which means, if actor equals none, we can consider this consensual and put happy satisfied archetypes on the actors faces.  But if actor equals an actual actor, we put unhappy in pain faces on the RECEIVER and sinister smile faces on the GIVER.  And then once anims are done playing, we reset facial anim archetype back to neutral.  Thoughts?  The face archetypes will be defined through the animations (working on this system now). Or, to be more exact, animations will define themselves as types of "actions" and those actions will affect "stats" that will then indicate what type of "expression" to use.  It probably sounds more complicated than it is. The bottom line for RSE is that animators or someone making an adult layer of XML settings for AAF will be responsible for defining how expressions get handled per animation.  The advantage of this added complexity is that these things will not be hard-coded within Papyrus. Other modders can re-configure if they think things should be a little different, republish their own styling and it doesn't require anything more from either AAF or RSE (or other mods working with AAF).
Guest Posted June 2, 2018 Posted June 2, 2018 @dagobaking, further to my question about the QuickScene facial animations on the last page, this question is required as well, not just by me, but by anyone using AAF events....  Will your function, listed below, give us the actors that are sent via the Start, Change and Stop events, once suitably modified to fit the args coming across the event? In essence, I need to break akArgs[0] into actors so that I can see if the player is one of the actors.     Int[] actorFormIDs = Utility.VarToVarArray(akArgs[0]) as Int[]    Actor[] actors = new Actor[actorFormIDs.Length]    Int i = 0    While i < actorFormIDs.Length       actors = Game.GetForm(actorFormIDs) as Actor       i = i + 1    EndWhile
dagobaking Posted June 2, 2018 Author Posted June 2, 2018 22 minutes ago, Flashy (JoeR) said: @dagobaking, further to my question about the QuickScene facial animations on the last page, this question is required as well, not just by me, but by anyone using AAF events....  Will your function, listed below, give us the actors that are sent via the Start, Change and Stop events, once suitably modified to fit the args coming across the event? In essence, I need to break akArgs[0] into actors so that I can see if the player is one of the actors.     Int[] actorFormIDs = Utility.VarToVarArray(akArgs[0]) as Int[]    Actor[] actors = new Actor[actorFormIDs.Length]    Int i = 0    While i < actorFormIDs.Length       actors = Game.GetForm(actorFormIDs) as Actor      i = i + 1   EndWhile Yes.  I see something missing in that code (maybe forum formatting removed). Should be: Int[] actorFormIDs = Utility.VarToVarArray(akArgs[0]) as Int[]    Actor[] actors = new Actor[actorFormIDs.Length]    Int i = 0    While i < actorFormIDs.Length       actors[i] = Game.GetForm(actorFormIDs[i]) as Actor       i = i + 1    EndWhile   But, AAF sends an array of form ids to this function. This code then turns that into an array of Actor forms (the actors that were in that animation).   [This processing already happens before sending the events out. So you should already be receiving an array of Actors through the api events going to RSE. Then you can poll through them or check individually for "== PlayerRef".]
Guest Posted June 2, 2018 Posted June 2, 2018 4 minutes ago, dagobaking said: Yes.  I see something missing in that code (maybe forum formatting removed). Should be: Int[] actorFormIDs = Utility.VarToVarArray(akArgs[0]) as Int[]    Actor[] actors = new Actor[actorFormIDs.Length]    Int i = 0    While i < actorFormIDs.Length       actors[i] = Game.GetForm(actorFormIDs[i]) as Actor       i = i + 1    EndWhile   But, AAF sends an array of form ids to this function. This code then turns that into an array of Actor forms (the actors that were in that animation). I saw that too in the source code, copied it directly here but thought it odd that the index was missing from the declaration - must be forum related.  Thanks for the confirmation.
fred200 Posted June 2, 2018 Posted June 2, 2018 Got to say I like seeing you authors work together. We will wind up with a better product because of it! 2
VonHelton Posted June 2, 2018 Posted June 2, 2018 23 hours ago, CGi said: Not even an AAF error? Â P.s.: if you have SavageCabbage's animations installed, he has some placeholders in the XML's which result in no animations. Please try again until an animation plays or try w/o his animation pack to see if still nothing plays. Ah ha.......I'll disable Cabbages.
ScreamingSquid218 Posted June 2, 2018 Posted June 2, 2018 Seems when I fix one problem another pops up. I finally got AAF 65 to stop popping up error messages, but now my animations dont work. Dialogue is there, but no stripping and no animations play. I did just recently install SavageCabbage's animation fomod pack. But I dont think that is the full problem. Would reinstalling the other animation packs work? Edit: So I also just tried using the AAF wizard and it says Error: Actor ID 20 not found. Just in case it helps, Im attaching my load order Loadorder.txt
Guest Posted June 2, 2018 Posted June 2, 2018 For ease of updating @dagobaking, here is my COMPLETE template for AAF mod authors. These templates and snippets will allow ANYONE to create fourplay like mods that cal upon AAF natively. ;; QUEST SCRIPTS TAB SCRIPT TEMPLATE ;; ;; Use this encapsulated template to create new QUEST SCRIPTS that rely on AAF. AAF:AAF_API AAF_API Function LoadAAF() AAF_API = Game.GetFormFromFile(0x00000F99, "AAF.esp") as AAF:AAF_API If !AAF_API Debug.Notification("Can't find AAF API.") utility.wait(0.1) Else RegisterForCustomEvent(AAF_API, "OnAnimationStart") RegisterForCustomEvent(AAF_API, "OnAnimationChange") RegisterForCustomEvent(AAF_API, "OnAnimationStop") Endif EndFunction Event OnQuestInit() RegisterForRemoteEvent(PlayerRef, "OnPlayerLoadGame") LoadAAF() EndEvent Event Actor.OnPlayerLoadGame(actor aSender) RegisterForRemoteEvent(PlayerRef, "OnPlayerLoadGame") LoadAAF() EndEvent Event AAF:AAF_API.OnAnimationStart(AAF:AAF_API akSender, Var[] akArgs) {Whatever code you want to run when animations START} EndEvent Event AAF:AAF_API.OnAnimationChange(AAF:AAF_API akSender, Var[] akArgs) {Whatever code you want to run when animations CHANGE} EndEvent Event AAF:AAF_API.OnAnimationStop(AAF:AAF_API akSender, Var[] akArgs) {Whatever code you want to run when animations STOP} EndEvent ;; REFERENCE ALIAS SCRIPT TEMPLATE ;; ;; Use this encapsulated template to create new REFERENCE ALIAS SCRIPTS that rely on AAF. AAF:AAF_API AAF_API Function LoadAAF() AAF_API = Game.GetFormFromFile(0x00000F99, "AAF.esp") as AAF:AAF_API If !AAF_API Debug.Notification("Can't find AAF API.") utility.wait(0.1) Else RegisterForCustomEvent(AAF_API, "OnAnimationStart") RegisterForCustomEvent(AAF_API, "OnAnimationChange") RegisterForCustomEvent(AAF_API, "OnAnimationStop") Endif EndFunction Event OnInit() LoadAAF() EndEvent Event OnPlayerLoadGame() LoadAAF() EndEvent Event AAF:AAF_API.OnAnimationStart(AAF:AAF_API akSender, Var[] akArgs) {Whatever code you want to run when animations START} EndEvent Event AAF:AAF_API.OnAnimationChange(AAF:AAF_API akSender, Var[] akArgs) {Whatever code you want to run when animations CHANGE} EndEvent Event AAF:AAF_API.OnAnimationStop(AAF:AAF_API akSender, Var[] akArgs) {Whatever code you want to run when animations STOP} EndEvent ;; Animation State Change Event Player Involvement Check. ;; Goes inside the three state change events: OnAnimationStart, OnAnimationChange and OnAnimationStop. ;; This check will see if the player is involved in the sex act and if not, exit the event and stop any further scripting within the event. ;; Mod authors can then use PART2, as the sexual partner, in whichever manner befits the scripting / mod. Actor Part1 Actor Part2 Int[] actorFormIDs = Utility.VarToVarArray(akArgs[0]) as Int[] Actor[] actors = new Actor[actorFormIDs.Length] Int i = 0 While i < actorFormIDs.Length actors = Game.GetForm(actorFormIDs[ i ]) as Actor If actors[ i ] == PlayerREF Part1 == PlayerREF Else Part2 == actors[ i ] Endif i = i + 1 EndWhile If Part1 != PlayerREF; Return; Endif ;; Calling a QuickScene to force two+ NPCs into an AAF driven animations. ;; If you want to send more than two actors, you need to increase the New Actor [x] count, where x = number of NPCs to add. ;; If adding more than two, also need to declare a new Actors[], ie: Actors[2] = {NPCTHREE}. ;; ;; Per the API: ;; ;; PARAM: actors. An Actor[] listing the Actors to be included in the position animation. ;; PARAM: (optional) duration. A Float of the time (in seconds) that the animation should last. -1 results in the default duration established in AAF_settings.xml ;; PARAM: (optional) preventFurniture. A Bool, if True AAF will exclude furniture position animations from the potential list of options. ;; PARAM: (optional) usePackages. A Bool, if False AAF will not use any AI "still" or "travel" packages to hold Actors in place or make them walk to an animation location. ;; This is for advanced mods that need to control AI packages instead of having AAF control them. Actor[] Actors = New Actor [2] Actors[0] = {NPCONE} Actors[1] = {NPCTWO} AAF:AAF_API.GetAPI().QuickScene(Actors, 120.0, False, False) Â
fred200 Posted June 2, 2018 Posted June 2, 2018 If there is any question about the forum changing pasted text - seriously consider passing data like this in an attached file - or a link to Pastebin. This is case where we really want accuracy... 1
Recommended Posts
Posted by DoctaSax,
Reputation Points
Go to this post
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