SadSun Posted January 12, 2015 Posted January 12, 2015 Have you read the FNIS for modders' doc? That'S a must, even when I try to help you. If you don't understandd what you are doing you will not be able to deal with possible problems later. Basically it is not that hard. You need to make an AnimFileList which contains a line like the following aa mt_loco_forward 1 1_mt_walkforward.hkx 1_mt_walkforward.hkx 1_mt_walkforward.hkx 1_mt_runforward.hkx 1_mt_runforward.hkx To activate this walk/run set you have to call FNIS.set_AACondition(Game.GetPlayer(), "mt_loco_forward", "<your_mod_name>", 1, DebugLevel) DebugLevel tells about the amount of information added to the Papyrus log. 4 is max (during your test), 1 is little (released mod) Go back to default with FNIS.set_AACondition(Game.GetPlayer(), "mt_loco_forward", "<your_mod_name>", 0, DebugLevel) And at the start of your mod you should always check if the right FNIS version is installed and properly generated. Do this with the following. It also includes the check for SKSE, which you most likely will need. bool isGenerated = FNIS.isGenerated() string VersionToString = FNIS.VersionToString() bool isVersionOK = (FNIS.VersionCompare( 5, 1, 0 ) >= 0) bool isSKSE = (SKSE.GetVersionRelease() > 0) if ! (isGenerated && isVersionOK && isSKSE) string out = "FNIS Sexy Move stopped with ERROR(s):" if ! isVersionOK out = out + "\n- FNIS version " + VersionToString + " older than required" endif if ! isGenerated out = out + "\n- Last FNIS generation failed" endif if ! isSKSE out = out + "\n- SKSE not started" endif Debug.Messagebox(out) StartUpStatus = -1 return endif I have read over the fnis for modders pdf multiple times and I'm stuck on the generate behavior file. I'm getting this error: ERROR(2011): OLD FNIS version? Wrong line in Animation List, line 0 (C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\meshes\actors\character\animations\aaDynamicAttachScriptMod\FNIS_aaDynamicAttachScriptMod_List.txt) I have FNIS 5.2 installed using NMM, as well as the creature pack. I have made sure the .esp file name is the same as the animation folder name and I have it correct in the animfilelist.txt. Also, the script file is compiling correctly within CK. There's something about the way animations are listed in the animfilelist that I'm just not getting. My animfilelist.txt is attached: PS: Go Ducks. (Mainly because I'm an Ohio State hater(should have been TCU)) FNIS_aaDynamicAttachScriptMod_List.txt
fore Posted January 12, 2015 Author Posted January 12, 2015 Oh, the line numbering is off by one. You didn't follow the syntax for this command. "mt_loco_forward" is mandatory (only that is implemented yet), then any number from 1 to 10, and then EXACTLY 5 existing animations from walkslow to runfast (but can be triple/double mentioned, like Beth does). Yes, Go Ducks. I'm German, but I lived there several years and still feel emotionally bonded to that state. And, while following the Ducks, I became aware of that TCU nomination drama. What a pity.
SadSun Posted January 12, 2015 Posted January 12, 2015 Oh, the line numbering is off by one. You didn't follow the syntax for this command. "mt_loco_forward" is mandatory (only that is implemented yet), then any number from 1 to 10, and then EXACTLY 5 existing animations from walkslow to runfast (but can be triple/double mentioned, like Beth does). Yes, Go Ducks. I'm German, but I lived there several years and still feel emotionally bonded to that state. And, while following the Ducks, I became aware of that TCU nomination drama. What a pity. I had attempted to use "mt_loco_forward" in a previous iteration of the animlist. But as it was still sitting on the top line, as in line "0", it kept throwing back that error. After mucking around a bit just now and realizing what you were trying to beat into my thick skull; I put a ' on the top line and moved the animations down to the second line. Worked like a charm. Thanks for your help!
SadSun Posted January 13, 2015 Posted January 13, 2015 Another animation Question! I'm using ofa animations through a SendAnimationEvent. This covers walking/running/idle and sneak idle/sneak animations. How do I remove the ofa animation once I'm finished with it? I looked through the CK wiki and couldn't find a CancelAnimationEvent, or the like. I tried an IdleForceDefaultState with no luck. Also, Is it alright to post general scripting questions here, or should I move somewhere more suitable? Ps Ohio State - BOOOOOO!
fore Posted January 13, 2015 Author Posted January 13, 2015 Sorry, that's missing in the doc. It's Debug.SendAnimationEvent(actor, "OffsetStop") We have to give OSU credit. I had never thought there is an offense that can dominate Oregon's defense that much.
SadSun Posted January 13, 2015 Posted January 13, 2015 Sorry, that's missing in the doc. It's Debug.SendAnimationEvent(actor, "OffsetStop") We have to give OSU credit. I had never thought there is an offense that can dominate Oregon's defense that much. Thanks for the command! But you're wrong, we don't have to give OSU anything. lolz It's okay to hate them.. It's what makes sports fun... Hating OSU. lol Take Care!
blabba Posted January 16, 2015 Posted January 16, 2015 Quick question fore, does the patcher read hkx files from BSA's? Sorry if this has been asked/answered before butI couldn't find anything with a search.
fore Posted January 16, 2015 Author Posted January 16, 2015 Quick question fore, does the patcher read hkx files from BSA's? Sorry if this has been asked/answered before butI couldn't find anything with a search. No. Or do you want to wait forever each and every time you run FNIS?
b3lisario Posted June 30, 2015 Posted June 30, 2015 Hi Fore, I would like to do a formal petition in regards SOS/SAM schlongs, and FNIS. I've been asked several times for schlong animations. There are animators willing to do their job with the schlong, but nobody can deal with behaviour file as I know. I hoped somebody eventually would emerge with the knowledge but that's not happening. I know you'd like VectorPlexus' permission to start working on this. The problem is that VectorPlexus is missing. He gave SOS to me, to host it here on LL's and basically do whatever thing I want. You have my permission (if that means something to you) He also gave SAM to LadyM at Hall of Torque under the same conditions. They were "gifts to the community", using his own words. Here I'm seeing a implicit permission. Also I can't see any problem with FNIS modifying these files. As they are packed in SOS/SAM, anybody could overwrite the edited behaviour file and then the schlong would revert to its basic current movement. Wouldn't work that way? Finally I think I am representing this community if I say the Skyrim penises don't animate enough, compared with Oblivion for example. And this makes me really sad.
Ixum Posted July 1, 2015 Posted July 1, 2015 Yes, please what b3lisario said. Would mean a lot to many
fore Posted July 1, 2015 Author Posted July 1, 2015 Yes, please what b3lisario said. Would mean a lot to many We are already discussing that here: http://www.loverslab.com/topic/45819-animable-penis/page-2?do=findComment&comment=1230308
Ashal Posted August 4, 2015 Posted August 4, 2015 Been having an issue lately where, when going through some sequence animations, if I send a different sequence's animevent or try and go backwards in the sequence by sending the previous stages animevent, the actor gets stuck in the original animation and refuses to play a new one. Sending idleforcedefaultstate state will usually pull them out of the animation, afterwards however they are unable to enter back into any animation, acting similarly to how they were before the idleforcedefaultstate only standing idle instead of looping their stuck sequence event. While they are in this stuck state do sae idlefocedefaultstate in console returns the not processed by graph error. I'm pretty much at my wits end with trying to figure it out, and I haven't been able to track down much consistency to when it happens and how to get out of it. Pretty much every time I think I've solved the problem and am able to stick and un-stick an actor's animations, soon as I implement it in the scripting and reload Skyrim to test it, it doesn't work and I'm no longer able to replicate it reliably that same way. I haven't changed anything about SexLab's FNIS list and the way the animation events are sent, actors reset, and animations cycle through, hasn't really changed in any seemingly significant way and I don't remember ever seeing the problem till semi-recently, around the release of either FNIS 5.4 or 5.5.
fore Posted August 4, 2015 Author Posted August 4, 2015 There were no changes in SA since 5.3. However, 5.3 changes (April 2) were drastic. I had to change the internal SA structure from a flat definition to a tree. That was necessary to allow make new parameters like AV (animvar) or ac (animcam) working during the whole SA. THerefore I made the following INCOMPATIBLE change; - The first animation of a Sequenced Animation will now be started with 2 different Animation Events: - <AnimEvent> (like before): start of the complete SA - <AnimEvent>_REENTER: if this animation is called a 2nd, 3rd, .. time from within the SA This differentiation is necessary to allow certain features (like "AnimDriven") to work for the complete SA I think what you described could very well be caused by this. When I made this (unavoidable) change I have specifically informed several modders I know were using SA this way. I really apologize if I have missed you. Because I can't remember howI have informed you.
Ashal Posted August 4, 2015 Posted August 4, 2015 You did inform me of the change at the time, I however failed to see how it would be a relevant or problematic for me then so I didn't think much of it.Is there any detriment to calling the _REENTER event when it isn't necessary, or is it relatively safe to just throw in along with the normal event whenever there's a case it might be needed?Don't have time to play with it right now, but I'll mess around with reenter later and see how that goes. By the sounds of it though it's pretty likely. Just wish I'd thought to ask sooner instead of wasting a week of development time cursing at my computer while I tried to figure out why
fore Posted August 4, 2015 Author Posted August 4, 2015 Yeah, you should always come to me right away. Even when you have no clear indication yet. You always have high priority for me. And you should not call the _REENTER unless activating the first animation again. I understand that this might get a little unpleasant for scripting, but I didn't have any choice. I can't predict all detriment when always calling with _REENTER. At least the automatic bAnimationDriven will not work..
Ashal Posted August 4, 2015 Posted August 4, 2015 So then is the _REENTER animevent only on the first animation in a SA? Meaning if I wanted to go back to the 3rd event in the SA, I'd have to call: "event_1_REENTER" -> "event_2" -> "event_3" rather than just jumping straight to a "event_3_REENTER"?
fore Posted August 4, 2015 Author Posted August 4, 2015 To start an AS you call "event_1". To "jump around" to any animation you simply call its AE. E.g. "event_3". Only when calling the first animation again (from INSIDE this SA) you have to call it "event_1_REENTER" in order to distinguish from an initial start.
Ashal Posted August 4, 2015 Posted August 4, 2015 Got it, that shouldn't be to hard to script around in that case. If I understand correctly I basically just need to only send the first stage of an animation once, and any other time the first stage is called without having switched to a new SA yet, call with it with _reenter, then whenever the animation/SA changes to a new list, reset the check for the first stage back to allowing the normal event be called once again. Is just going from "event_3" to a different SA's "other_3" safe then? And if doing that, once on "other_3" if I were to go down the SA to "other_1" would it also have to be "other_1_reenter" since it's in the same SA, even though "other_1" was never called to begin with?
fore Posted August 4, 2015 Author Posted August 4, 2015 NO. You cannot (or should not) switch between different SAs except by starting the SA from the top. event_1, or other_1. From there on you can freely move between all animations of THAT particular SA: either event_1_REENTER, event_2, event_3, or other_1_REENTER, other_2, other_3. (Now that I have to describe it, I see that the work "REENTER" is somewhat misleading) Calling any other event (e.g. other_1 when being in the "event" tree) will make you leave this tree for good. And in order to get into the "event" tree again, you have to start it again with "event_1". It's exactly what you have for furnitures. You always have to start them with the "enter" animation.
D_ManXX2 Posted January 13, 2016 Posted January 13, 2016 I was wondering did something change drasticcly after 6.0 update ?? With version 5.0 and lower fnis generates much quicker now it can take long time before fnis is finsied generating ?? i thibk it started after 5.9 or some version like that but before that fnis was generating really quick.
fore Posted January 13, 2016 Author Posted January 13, 2016 Sure. If you use XPMSE, Sexy Move or PCEA2, a lot of other behavior files have to be generated now. Before there were only 1 or 2. Now it can be up to 12 or 13, I think.
TDA Posted January 20, 2016 Posted January 20, 2016 Hello, -h tag (Headtracking) is working in the latest versions? I have noticed that actors sometimes do it, but as a rule not always.
fore Posted January 20, 2016 Author Posted January 20, 2016 There can always be a bug introduced with updates. But I can only look if I know the exact definition which might have this issue.
nosdregamon Posted February 23, 2017 Posted February 23, 2017 This is a bit far fetched, but it kinda bothers me: I noticed that the camera get's kinda locked with furniture animations using anim objects. I can still look around, but I can't zoom or switch between first and third person. If I take them Animobjects, out of the FNIS-Definition, it works. Is there any thing I do wrong, or a known workaround?
georg12_2016 Posted March 25, 2017 Posted March 25, 2017 I have a sort of general question. I have a sequenced animation to be played at idle markers and I'm having trouble moving from one cycled animation to another e.g. s -a myAnim1 anim1.hkx + cycleAnim1 anim2.hkx + cycleAnim2 anim2.hkx + -a endAnim anim3.hkx The documentation says: "Cyclic animation parts need to be terminated by calling SendAnimationEvent() to any other part, even previous ones (so you can easily make loops etc)" How do I do this in the context of idle markers? Thanks
Recommended Posts
Archived
This topic is now archived and is closed to further replies.