ModdHunter Posted September 20, 2012 Share Posted September 20, 2012 (edited) Hello, In trying to follow the CK tutorial (Bendu Olo), I was unable to initiate the GSQ01 quest scenes. I later tried to isolate scenes by making my own quest in another mod from scratch. I have reinstalled Skyrim and the CK; my scripts all compile. I have tried to start scenes from the console and by making a simple activator (its script compiled) with the [sceneName].Start() in the OnActivate event. None of these attempts initiates my scene, which is a simple dialogue between two unique characters I created. I have used both of my computers, one of whose specs is adequate and the other's more than adequate to run Skyrim. I have scoured Google and numerous Skyrim sites but have found no solution. I used the save/reload procedure that CK advises for stuck dialogues. Has anybody encountered the same problem and found a way to resolve it? I hope that I have been specific enough in my description. Thanks in advance. UPDATE: I added a gesture to the actors. It appeared on the actor in the first phase, but not on either afterward. Still no dialogue, not even in the subtitles. Edited September 21, 2012 by ModdHunter Link to comment Share on other sites More sharing options...
Mujuro Posted September 21, 2012 Share Posted September 21, 2012 This could be from a few possible causes. Here's what I'd recommend checking: Verify that your actor aliases are being filled properly; this is one common cause for a scene not starting properly.Sometimes, and only sometimes, if you do not have an actual voice file, the scene gets stuck. So if you don't have actual voice files, just record a dummy wav and/or toss in a placeholder wav.If neither of these solves your issue, do you know the quest "stops" working? If not, try tossing in a few debugs (e.g., debug.messagebox("Scene start triggered")) in the following places: Start of the SCENE itself (not the phase, but the scene, to make sure it's even getting that far) ... this tells you if your scene is being triggered properly (even before any actors move, talk, etc.)The start/end of the first PHASE ... assuming you get past the scene "start" trigger, is the scene even getting to your first phase and, if so, does it actually complete?The begin/end of your first actor DIALOGUE in your first phase ... assuming your scene starts, the 1st phase also starts, is it being caught on specific dialogue (applies also to packages the same way)?Repeat 2 and 3 above as necessary for each additional phase/dialogue to see how far you getDoing this will help you pinpoint exactly where your scene breaks down. Link to comment Share on other sites More sharing options...
ModdHunter Posted September 21, 2012 Author Share Posted September 21, 2012 I believe that my aliases are properly filled; the activation of the first gesture gives me hope, but I'll check again. I started with my microphone on but with silence as I "recorded" and saved, because, frankly, my voice is weak and horribly mismatched for the characters I want to present; but I then recorded my voice anyway, just to eliminate the possibility of failure in this respect. I am assuming that by using the [sceneName].Start() line in the script I placed on a test-activator, I proceeded correctly. As I mentioned, the gesture in the first phase did appear. I don't quite understand what specifically you mean in your second list, item three. I would be grateful for more detail on this point, as it might explain why although the gesture in the first phase appears, the dialogue (which I have recorded with my voice and which I have forced to show as subtitle) does not. I did place a trace in my activator's script, and it revealed that it was functioning properly. Thank you for trying to help resolve my perplexity. Link to comment Share on other sites More sharing options...
Mujuro Posted September 21, 2012 Share Posted September 21, 2012 Typically when a scene doesn't play, it's usually one of those 2 reasons I listed. The second set of steps is principally to help troubleshoot if you don't believe the 2 initial reasons are the cause (which is what I believe you're saying). And regarding the gesture, I'm assuming that it is playing consistently and is not a random idle and/or isn't from an AI package, etc., but rather is tied to the dialogue itself? I'm also assuming you have the [sceneName] property set up correctly (e.g., "Scene Property [sceneName] Auto"). What I was referring to in the second list is to see if you can figure out "where" in the scene the breakdown occurs. Essentially, what I listed out were places for you to stick debug prompts so you can see how far the scene actually plays before it "stops", assuming, arguendo, that it is starting at all. To summarize (ignore if you already know this), you can attach debug statements to script fragments in various places in a scene: The start and end of the scene itself: So if your scene is being triggered, dropping a debug.messagebox("Scene started") into the SCENE will let you know this. Similarly, tagging a debug to the scene's END will let you know if it is actually finishing (here, suspect that it is NOT). You do this by going to your scene, and clicking the "Edit Data" button and tossing your debug statements into the begin/end boxes.The step above covers the ENTIRETY of the scene, but not individual components within the scene. The next component level of a scene is a PHASE. And just like with a scene, you can tag begin/end debugs to see if any given PHASE is being triggered properly within the scene.The next level of component consists of your packages and dialogue. And just like scenes and phases, you can tag them with debug information.It may be helpful to go through an example. Let's say, hypothetically, that your SCENE is being triggered properly, but you're not getting the desired result. If this is the case, Step 1 above should result in a successful "start" debug being displayed, but you wouldn't see the "end" debug. So then Step 2 goes to the next level. Let's say your scene is being triggered properly, and so is your "Phase 1". In this case, you'd get 2 successful debugs: One for "scene start" and another for "phase 1 start". Then the debug hits the actual actor dialogue. If the dialog is NOT being triggered, chances are you will not see the debug message from step 3, etc. Essentially, what you're doing is narrowing down to exactly where your scene stops working. Assuming you've recorded "fillers", my guess is still that you have an alias not filling properly. You can also tag your SCENE level debug with a check against your aliases, e.g., check against "Alias_[MyAlias].GetActorReference()". Link to comment Share on other sites More sharing options...
ModdHunter Posted September 21, 2012 Author Share Posted September 21, 2012 Thank you for your detailed reply. I'll review my procedures with your instructions in mind. Link to comment Share on other sites More sharing options...
ModdHunter Posted September 23, 2012 Author Share Posted September 23, 2012 Still no success. I even tried starting the scene from the console, but "startscene" reports my scene name as a missing parameter. Since it appears plainly enough in CK, I really have no idea what is causing the failure. Perhaps I should put this aside until Skyrim 1.7 is updated. Link to comment Share on other sites More sharing options...
Mujuro Posted September 24, 2012 Share Posted September 24, 2012 So it never even popped up the 1st debug message for the scene itself (not phase/dialogue)? If that's the case, I'd guess you have one or more aliases not filling properly. Have you verified that they are being filled (e.g., checking to see what is actually in the alias and if the alias is pointing to the expected reference)? Link to comment Share on other sites More sharing options...
ModdHunter Posted September 24, 2012 Author Share Posted September 24, 2012 So it never even popped up the 1st debug message for the scene itself (not phase/dialogue)? If that's the case, I'd guess you have one or more aliases not filling properly. Have you verified that they are being filled (e.g., checking to see what is actually in the alias and if the alias is pointing to the expected reference)? There are only two actors, so two aliases. When I place debug.trace(Alias_Mannie.GetActorReference()) and debug.trace(Alias_Minnie.GetActorReference()) on my scene level code fragments, I get this error:Starting 1 compile threads for 1 files...Compiling "SF_SceneTalkersQuestScene01_02000D67"...c:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\SF_SceneTalkersQuestScene01_02000D67.psc(33,12): variable Alias_Mannie is undefinedc:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\SF_SceneTalkersQuestScene01_02000D67.psc(33,25): none is not a known user-defined typec:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\SF_SceneTalkersQuestScene01_02000D67.psc(34,12): variable Alias_Minnie is undefinedc:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\SF_SceneTalkersQuestScene01_02000D67.psc(34,25): none is not a known user-defined typeNo output generated for SF_SceneTalkersQuestScene01_02000D67, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed.Failed on SF_SceneTalkersQuestScene01_02000D67 ...but I cannot see that I have wrongly entered them in the quest aliases tab. If I am doing something wrong, I have no idea what, since the same failure occurred with the Bendu Olo tutorial, which I followed exactly (except for some of the wording of the dialogues themselves). Otherwise, the logs show: [09/23/2012 - 03:57:38PM] Scene Trigger Activated[09/23/2012 - 03:57:41PM] Scene begins here[09/23/2012 - 03:57:41PM] Phase 1 begins[09/23/2012 - 03:57:42PM] First dialogue completed (This matches the fact that the gesture I inserted in Phase 1 appears.)[09/23/2012 - 03:57:42PM] Phase 1 ends[09/23/2012 - 03:57:42PM] Phase 2 begins Phase 2 does not end, nor does Phase 3 begin. So perplexity reigns. Link to comment Share on other sites More sharing options...
Mujuro Posted September 24, 2012 Share Posted September 24, 2012 Regarding your first set of errors, did you declare your properties correctly? E.e., did you declare Alias_Mannie as ReferenceAlias prior to attempting the debug that uses the alias? If not, either just do it directly in the code outside the fragment function, or do it via the Properties button, whichever is easier for you. Regarding aliases not filling properly, entering them improperly is definitely one possible cause. Another cause is that you have the running quest baked into your savegame WITHOUT the aliases and, as such, it's never actually reading them (because your quest started without them). If it is the latter case, restart your quest from a save that doesn't already have the start baked into it. Or, depending on HOW you set up your quest, you may be able to get away with just a "resetquest". Link to comment Share on other sites More sharing options...
ModdHunter Posted September 24, 2012 Author Share Posted September 24, 2012 (edited) Well, here is what finally allowed success: I gave each actor a voice type in the Traits tab, then I went ahead and recorded the woman's dialogue. "She" sounds horrible, but at least the scene is working. Perhaps the lack of a voice type accounted for Alias_[MyAlias].GetActorReference() returning NONE. Thanks again, Mujuro, for bearing with me. Edited September 24, 2012 by ModdHunter Link to comment Share on other sites More sharing options...
Recommended Posts