Can someone help me find a Story Manager problem?

Post » Tue Jun 19, 2012 11:38 pm

For those who have been following my continued misadventures in PokeMods, you'll know basically what I'm talking about.

The problem is this. I have created a quest that starts from the Story Manager every time the player levels up. The problem is, this doesn't seem to be occurring. I can run the quest by inputting the appropriate script command, so that is seemingly working, and despite the fact that my Story Manager node is not reporting any errors about the quest not starting (it was before, and I fixed that) it still won't work.
Basically, it seems like the quest works right, and it seems like the Node works right, but they aren't talking to one another. I have no idea why. I've read the tutorials, and asked numerous questions on here. I'm only asking this as a last resort.
I really hope someone wouldn't mind taking a brief look at my work (The Node is under Level Increase and the quest is called PKRoseliaLevelUp) and trying to see if there's anything wrong with the way I have this structured. I have uploaded what I have thus far here: http://skyrim.nexusmods.com/downloads/file.php?id=12686

There aren't any sound files yet, I'm going to put in silent tracks later. If you have any questions I'll be reporting back in here frequently.

Thanks in advance to anyone who takes the time.
User avatar
james kite
 
Posts: 3460
Joined: Sun Jul 22, 2007 8:52 am

Post » Tue Jun 19, 2012 9:23 pm

Please?
User avatar
Svenja Hedrich
 
Posts: 3496
Joined: Mon Apr 23, 2007 3:18 pm

Post » Wed Jun 20, 2012 4:15 am

Okay, quick update. I made a new Node, attached it to a test quest that just tells me hello in a messagebox, and that worked fine. Then I switched the quest in that node to be my real quest, doesn't work. This makes me think that there is some problem with my quest starting up, that for some reason doesn't happen if you use player.setstage PKRoseliaLevelUp 0
User avatar
SEXY QUEEN
 
Posts: 3417
Joined: Mon Aug 13, 2007 7:54 pm

Post » Tue Jun 19, 2012 11:34 pm

I performed another test. ON startup, the real quest says "The quest has started." and the test quest just says "Hi".

I put them both in the same stacked node, and only "Hi" shows up. So for some reason the node is processing, and it is just skipping my quest. I can't imagine why, as my quest is tagged to Increase Level, and there are no conditions on the quest or node that I am aware of. I've even tried removing the quest and readding it, and I can't get it to work.
User avatar
Olga Xx
 
Posts: 3437
Joined: Tue Jul 11, 2006 8:31 pm

Post » Tue Jun 19, 2012 8:45 pm

Does the real quest have aliases that need to be filled? If they fail to fill, the story manager will move on to the next node.
User avatar
Sammykins
 
Posts: 3330
Joined: Fri Jun 23, 2006 10:48 am

Post » Wed Jun 20, 2012 3:37 am

Does the real quest have aliases that need to be filled? If they fail to fill, the story manager will move on to the next node.

It has one alias, but I have the "report on faliure to fill alias" checked, and it isn't reporting any errors.
User avatar
Ysabelle
 
Posts: 3413
Joined: Sat Jul 08, 2006 5:58 pm

Post » Wed Jun 20, 2012 2:38 am

I do get this one weird thing in my error log
"Achievement 47 awarded - a winnar is you!"
User avatar
Deon Knight
 
Posts: 3363
Joined: Thu Sep 13, 2007 1:44 am

Post » Wed Jun 20, 2012 12:38 am

Can someone please just take a look? It's a very small mod, there is basically just an actor, a quest, and the node. Oh, and a few spells I made.
User avatar
Emma Parkinson
 
Posts: 3401
Joined: Wed Jul 26, 2006 5:53 pm

Post » Wed Jun 20, 2012 10:58 am

Anybody? It really shouldn't take too long, I just want someone to tell me if there's a simple reason why my quest won't be started from the Quest Node.
User avatar
sally coker
 
Posts: 3349
Joined: Wed Jul 26, 2006 7:51 pm

Post » Tue Jun 19, 2012 9:29 pm

Is the QUEST NODE Stacked or Random?

I assume it's stacked, but it's worth checking, because random will only start one of the quests in the node (a random one)

Have you made certain that your QUEST is correctly tagged for the event (in it's Data Tab)?

Other than that: You've proved your node setup (and SM) works, with the "Hi" message. So as long as the Node is a stack, and the Quest is correctly tagged, then Story Manager is behaving as it should.

Other thoughts (all on the QUEST NODE):
  • Num quests to run: Check and enter a number in the corresponding field. The Story Manager will attempt to start multiple quests (up to the number given) when this node is processed. If there are not enough quests with valid conditions to start, the Story Manager will start as many as it can up to the number given (I think I read somewhere that leaving it unchecked means SM will try to run all, but try it checked and with the appropriate number instead)
  • Max concurrent quests: Check and enter a number in the corresponding field. The Story Manager will limit the number of quests that can be started from this node, up to the number given. For example, with a Max concurrent quests of 2, the Story Manager will not start another quest from this node if 2 of the quests in this node are running (I think I read somewhere that leaving it unchecked means SM will try to run all, but try it checked and with the appropriate number instead)
  • Shares Event: Check and the Story Manager will continue to process the event after this node is processed. This allows you to run through multiple quest nodes from a single event. If the Story Manager every processes an event NOT marked as "Shares Event", the event will be consumed and the Story Manager will stop as soon as it finishes with that node (Make sure it is checked, at least for this test)

If it is none of those, then I'm 99% certain the problem is with your Quest. And probably with the first stage of your quest (does it include scripting?).

Hopefully you designed it well and can add in a Stage and an Objective at the Start so that the dummy first Stage(0) simply sets a Test Objective (0) to true.

Do the above and see if you get a Quest Notification in the Journal (in game). If you do, the problem is with the first stage of your quest.

If there is a script in that Stage, please post it here.

Also, if you are concerned about aliases, add each one to a script in the Stage(0) above and spit each one out in a message (you should get a messagebox for each, on screen)
User avatar
Anna Kyselova
 
Posts: 3431
Joined: Sun Apr 01, 2007 9:42 am

Post » Wed Jun 20, 2012 2:19 am

This is the script fragment that runs on stage 0. Compiles just fine.


Debug.MessageBox("The quest started")if Alias_PKRoseliaAlias.GetActorReference().IsPlayerTeammate()==1    if Game.GetPlayer().GetLevel() == 4      MoveName = "Growth"   endIf   if Game.GetPlayer().GetLevel() == 7     MoveName = "Poison Sting"   endIf   if Game.GetPlayer().GetLevel() == 10     MoveName = "Stun Spore"   endIf   if Game.GetPlayer().GetLevel() == 13      MoveName = "Mega Drain"   endIf     if Game.GetPlayer().GetLevel() == 16     MoveName = "Leech Seed"   endIf      if Game.GetPlayer().GetLevel() == 19      MoveName = "Magical Leaf"   endIf      if Game.GetPlayer().GetLevel() == 22     MoveName = "Grass Whistle"   endIf      if Game.GetPlayer().GetLevel() == 25     MoveName = "Giga Drain"   endIf     if Game.GetPlayer().GetLevel() == 28      MoveName = "Toxic Spikes"   endIf      if Game.GetPlayer().GetLevel() == 31     MoveName = "Sweet Scent"   endIf      if Game.GetPlayer().GetLevel() == 34     MoveName = "Ingrain"   endIf      if Game.GetPlayer().GetLevel() == 37      MoveName = "Toxic"   endIf     if Game.GetPlayer().GetLevel() == 40      MoveName = "Petal Dance"   endIf     if Game.GetPlayer().GetLevel() == 43     MoveName = "Aromatherapy"   endIf     if Game.GetPlayer().GetLevel() == 46     MoveName = "Synthesis"   endIf   if (Game.GetPlayer().GetLevel()==13 || Game.GetPlayer().GetLevel()==4 ||  Game.GetPlayer().GetLevel()==7 || Game.GetPlayer().GetLevel()==10 || Game.GetPlayer().GetLevel()==16 || Game.GetPlayer().GetLevel()==19 || Game.GetPlayer().GetLevel()==22 || Game.GetPlayer().GetLevel()==25 || Game.GetPlayer().GetLevel()==28 || Game.GetPlayer().GetLevel()==31 || Game.GetPlayer().GetLevel()==34 || Game.GetPlayer().GetLevel()==37 || Game.GetPlayer().GetLevel()==40 || Game.GetPlayer().GetLevel()==43 || Game.GetPlayer().GetLevel()==46)      (self as quest).SetStage(13)   else      (self as quest).stop()   endIF   endIf
The only reason I'm not concerned about aliases is that there is only one quest and one alias, so it isn't reserved by something else. I also have allow reserved, optional, and warn upon alias failure on. Nothing doing. I guess it must be this script, but I can't see what the offending code would be honestly.
User avatar
Oscar Vazquez
 
Posts: 3418
Joined: Sun Sep 30, 2007 12:08 pm

Post » Tue Jun 19, 2012 7:43 pm

Making a new stage with a Debug.MessageBox("Testing") did nothing, it just went on to the "Hi" quest node. So there is something wrong with my quest, but it doesn't have to do with the first stage. There is some reason my quest isn't visible to the Story Manager. The one thing I can think of is that at one point I had a condition that you had to be level 13 to trigger the quest, and have since deleted that condition. Is it possible that this condition is somehow still in there and I just can't delete it?
User avatar
HARDHEAD
 
Posts: 3499
Joined: Sun Aug 19, 2007 5:49 am

Post » Tue Jun 19, 2012 7:13 pm

I've never had an issue when I removed conditions I had previously set, so I doubt that is the case.

Debug.MessageBox("The quest started") <-- You never see that, on screen?

And the script above is the only thing in Stage 0 of your Quest?

Use a Console Command to test the current Stage of your Quest ... Is it already passed 0?! (from a previous run)
Also, use the IsRunning Command to check what state it is.


Do all before repeating: Check and the Story Manager will attempt to start each quest in the node before attempting to starting a quest that has already run.
(If you have this checked AND if it IS a repeatable quest, then SM maybe trying to start the other quest in your node, each time, if it has never started, instead of repeating the one you want)


Your Script
I don't know what you are doing in your Quest, but you know that, at certain levels, the Quest will stop (because the PlayerLevel won't be applicable)? Is this what is giving you problems ... I have never tried to stop() a quest like that, so I don't know for certain ... Do you need to restarted it, once you have done that? Using
(self as quest).Start()

Also - if nothing above works - If you can, try to start the Quest "manually" - rather than via SM - just to see if it runs that way.
User avatar
Rachael Williams
 
Posts: 3373
Joined: Tue Aug 01, 2006 6:43 pm

Post » Tue Jun 19, 2012 9:08 pm

No, I never see "The quest has started" on screen. If I did, it would mean my quest was starting, and I wouldn't be asking this question. IT is indeed the only thing in my 0 stage (well, it was when I tested that)
This would be the first time the quest has run, so it isn't simply that it is still running from a previous time. Also, every way of progressing through the quest ends in a stop(), so there really isn't any possibility of it already being running.
Starting the quest manually, as I've stated several times, through a script command works fine. The quest itself is not broken.
I do not have do all before repeating checked.

I don't want the quest to restart itself, I want it only started by the player levelling up. Were it the whole stop() conditions thing, the first line of code (being the messagebox) would still appear. I need someone to actually look at this. Attempting to help without doing that is bound to simply tell me to do all the many things I've already tried.
User avatar
oliver klosoff
 
Posts: 3436
Joined: Sun Nov 25, 2007 1:02 am

Post » Tue Jun 19, 2012 10:14 pm

It has one alias, but I have the "report on faliure to fill alias" checked, and it isn't reporting any errors.

The checkbox you are reffering to actually does nothing in the CK. If you don't believe me check the Wiki,
User avatar
Lauren Denman
 
Posts: 3382
Joined: Fri Jun 16, 2006 10:29 am


Return to V - Skyrim