Jump to content

Do Scenes/Packages work without bugs for -anyone- ?


CharIatan

Recommended Posts

Hello !

 

After spending two whole days with a simple cutscene, constantly running into a new unexplainable error appearing at locations I didn't even touch, I begin to wonder if my installations of Skyrim and/or the CK are corrupt.

 

 

Are the following things normal, or known bugs, or is it just me ?

 

=> Adding a silent sound file to non-spoken dialogue causes that subtitle to never appear = solved: works after converting to FUZ files

=> Non-Voiced Dialogue in a Scene Action does not display Subtitles = solved: works after converting to FUZ files

=> PlayIdle() and SendAnimationEvent() refuse to work at seemingly random occasions = solved: getting overridden by packages

=> My actor keeps headtracking the player despite disabled headtracking, a KeepAnEyeOn package and LookAt command = solved: SetLookAt(self) seems the only solution

=> PlayIdle() sometimes(rarely) causes the actor to lag around the cell uncontrollably = ignored: not reproduceable thus senseless to investigate

 

=> IdleMarkers pause the Actor that uses them for up to 5 seconds before they continue with the next package procedure.

 

 

I must say that I am more than irritated at this Occurance and i was actually considering to scrap my large-scale project if Package/Scene/Quest handling is always such a torture.

I would be very thankful to get the chance to talk to someone who has experience with these 3 things.

Edited by Foar
Link to comment
Share on other sites

With your dialog, there is a bug in Skyrim that occurs at unpredictable random times. If you do not use use Unfuzer to turn your .wav + .lip files into .fuz files, then they may not work on other peoples computers and sometimes on your computer. (There is also a bug where custom .fuz files won't play, but it is less common that the one where .wav + .lip files won't play.)

 

I am not sure if this is your situation or not.

Link to comment
Share on other sites

I'm wondering where you got the "Continue If Player is near" flag, because I don't have it in the normal flag list, only as override when defining AI procedures. But from Oblivion I can say that this flag was always misunderstood. There it was ONLY meant to make a shop owner extend his shop open times. For all other things it did not work. Probably it's the same with Skyrim.

 

For the playIdle()/SendAnimationEvent() you did not say what what you mean by "refuse to work". If you think that with playIdle you can control a character then you are wrong. These functions don't do anything but send an AnimEvent to the characters behavior grapgh. And if anything overrules that, the character will do what he is requested. If the character is in a sandbox, he will simply ignore your AnimEvent.

 

When I made my FNIS Idle Spells I felt the same frustration like you. Until I understood that the whole package/sandbox/scene/animation stuff probably has to be complicated to make mutable and relatlively natural looking scenes possible.

 

What I came up with to make make playIdle() more reliable, is to define quests, and use quest reference aliases for the characters. This way at least they don't get overruled by "low priority" packages. Although it does not work in every case. For that, I think, you need to define a scene manager. But I'm not sure, I didn't go that far.

Link to comment
Share on other sites

Thank you for your information and taking the time, here's some details:

 

Continue If Player is near - I used it through overrides, I suppose it was my mistake to try to use common sense in evaluating what this option does!

PlayIdle / SendAnimationEvent - I knew how PlayIdle() works, but I always thought SendAnimationEvent() forces the animation upon the actor. Now that you told me it does not, I was able to remove the conflict with the package.THanks !

 

 

Unfortunately, another problem has arisen.

Today in the later evening I added SetHeadTracking(False) to my actor so that he focuses on his task and doesnt constantly watch the player for no reason at all. (He still completely ignores KeepAnEyeOn packages)

It worked like a charm at first, I even managed to record the cutscene since I was quite satisfied.

Now, suddenly, in Phase 04 of my Scene, he once again starts watching the player even over large distances.

 

The weirdest thing is - I havent even done anything to it in that time. From recording the scene until now, I have been landscaping and only touched statics.

Anyhow, I think this HeadTracking issue is the only persisting, non-random problem that still hinders me.

 

As for the details:

My actor running a package to KeepAnEye on an object before him,

receiving a Script to SetHeadTracking(false) and

receiving the Actor.LookAt(Reference) command

...keeps watching the player intently. Even over relatively high distances.

 

It would have been an immense shame to let my project run into a dead end solely because of actor management. Seeing how fast one receives help here, I can see now that the things that were keeping me busy for two days might actually be rather simple. Thanks for the motivation! :wink:

Edited by Foar
Link to comment
Share on other sites

"HeadtrackingOn"/"HeadtrackingOff" are AnimEvents can be raised, and which are occationally set in the Behavior files. In FNIS I set HeadtrackingOFF by default, with the upcoming FNIS 3.0 it can be set by the modder.

 

With SetHeadTracking() you can change the current status of headtracking, but up to my knowledge this does not mean that this will stay that wayuntil you change it again. AnimEvents have precedence, and whenever these AnimEvent are raised again, then THIS value is taken, independant of what you have set.

 

I made a quick check, and in Skyrim 1.5 mt_behavior alone there are 164 occarions where headtracking is set.

 

So you should regularly change the headtracking of your character.

 

I don't know where you got this "Actor.LookAt(Reference)". Is this one of those new functions which supposedly came with Skyrim 1.6?. I didn't find it in the Wiki. It existed in Onlivion, and there you could avoid headtracking by saying "Actor.LookAt(self)".

Link to comment
Share on other sites

Interesting!

 

Ah, I got a typo there, the command I used is actually ActorRef.SetLookAt(TargetRef)

It was just a wild guess I took, the script compiled fine so I just kept it :dry:

 

 

I will now try to reset Headtracking to false at every occasion.

That it kept working for a few hours was, I guess, caused by the Player Ref remaining outside the Actor's detection area by chance.

Tho... actually, I kept running and pestering the actor all the time to see wether it works - and it did ! Until a certain time.

Edited by Foar
Link to comment
Share on other sites

  • Recently Browsing   0 members

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