My quest won't run, need help

Post » Tue Jun 19, 2012 9:09 pm

Okay, so I have this quest running from an SM Event Node, and it won't run. I figured it was the SM Node itself, so I turned on warnings for failure to start quest from the node and for failure to fill aliases for the quest. I got these errors:

error: Unable to bind script PokeParentRoselia to PKRoseliaLevelUp (06000D70) because their base types do not match
[03/11/2012 - 08:31:07AM] Loading game...
[03/11/2012 - 08:31:07AM] error: Unable to bind script PKRoseLevel to alias PKRoseliaAlias on quest PKRoseliaLevelUp (06000D70) because their base types do not match
[03/11/2012 - 08:31:08AM]

So I managed to fix these errors by changing what these scripts were extending and futzing with the code until it worked right again. Now when I level up (the condition of the SM node) I don't get those errors! BUT, my quest still doesn't begin. I know it isn't beginning because the first line of stage 0 (the startup stage) fragment is Debug.Trace("The quest has started") and that isn't showing up in the log either. Anyone have any ideas? The quest MUST be starting (I would think) because otherwise my SM node would still be throwing an error, but its never even getting to the first line of the fragment. Here is the code for the fragment at stage 0 if that helps.

Debug.Trace("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 = "StunSpore"   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)   endIFendIf
User avatar
Kayla Bee
 
Posts: 3349
Joined: Fri Aug 24, 2007 5:34 pm

Post » Wed Jun 20, 2012 8:18 am

Do you use the script through EVENT or FUNCTION?
User avatar
R.I.P
 
Posts: 3370
Joined: Sat Dec 01, 2007 8:11 pm

Post » Tue Jun 19, 2012 8:14 pm

Neither, that's just the fragment on the quest stage. Do I still need to put it in an OnInit event to get it to run?

EDIT: Apparently not, attempting to put an event inside the fragment results in a "no viable alternative" error.
User avatar
Ella Loapaga
 
Posts: 3376
Joined: Fri Mar 09, 2007 2:45 pm

Post » Wed Jun 20, 2012 1:21 am

If you use the fragment then you don't need to use event or function
User avatar
Nuno Castro
 
Posts: 3414
Joined: Sat Oct 13, 2007 1:40 am

Post » Wed Jun 20, 2012 4:24 am

So, what are some reasons that a quest would start, but then not run any of its fragment?
User avatar
Sylvia Luciani
 
Posts: 3380
Joined: Sun Feb 11, 2007 2:31 am

Post » Wed Jun 20, 2012 9:21 am

Maybe you have a mistake in the script and replace this


Debug.Trace("The quest started")

on this

Debug.MessageBox("The quest started")

and if Message doesn't display this mean that a problem with quest
User avatar
Josh Dagreat
 
Posts: 3438
Joined: Fri Oct 19, 2007 3:07 am

Post » Wed Jun 20, 2012 4:20 am

Maybe you have a mistake in the script and replace this


Debug.Trace("The quest started")

on this

Debug.MessageBox("The quest started")

and if Message doesn't display this mean that a problem with quest

Could having incorrect text replacement do this maybe?
User avatar
Valerie Marie
 
Posts: 3451
Joined: Wed Aug 15, 2007 10:29 am

Post » Wed Jun 20, 2012 8:38 am

Yeah, the messagebox didn't show. Sigh.
User avatar
Danny Blight
 
Posts: 3400
Joined: Wed Jun 27, 2007 11:30 am

Post » Wed Jun 20, 2012 4:35 am

I guess it wasn't the text replacement, I got rid of all that and I'm still not seeing the messagebox.
User avatar
joseluis perez
 
Posts: 3507
Joined: Thu Nov 22, 2007 7:51 am

Post » Wed Jun 20, 2012 1:43 am

Aha, In what the stage is the script?
User avatar
Breautiful
 
Posts: 3539
Joined: Tue Jan 16, 2007 6:51 am

Post » Wed Jun 20, 2012 4:14 am

Aha, In what the stage is the script?

This fragment is in stage 0, which is the startup stage.
User avatar
Alexx Peace
 
Posts: 3432
Joined: Thu Jul 20, 2006 5:55 pm

Post » Tue Jun 19, 2012 11:51 pm

Please write all error after compile
User avatar
Amy Melissa
 
Posts: 3390
Joined: Fri Jun 23, 2006 2:35 pm

Post » Wed Jun 20, 2012 8:41 am

Please write all error after compile

There are no errors.
User avatar
Brad Johnson
 
Posts: 3361
Joined: Thu May 24, 2007 7:19 pm

Post » Wed Jun 20, 2012 6:33 am

Let's try to create a script and insert into your code and in the stage 0 write: RegisterForUpdate(1)
[CODE]Event OnUpdate()Debug.Trace("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 = "StunSpore"   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)   endIFendIfEndEvent
[/CODE]
User avatar
Ash
 
Posts: 3392
Joined: Tue Jun 13, 2006 8:59 am

Post » Tue Jun 19, 2012 10:04 pm

Let's try to create a script and insert into your code

where would I insert this?
User avatar
SHAWNNA-KAY
 
Posts: 3444
Joined: Mon Dec 18, 2006 1:22 pm

Post » Tue Jun 19, 2012 8:03 pm

In the quest---> tab "Script"--->Add Script
User avatar
Jon O
 
Posts: 3270
Joined: Wed Nov 28, 2007 9:48 pm

Post » Tue Jun 19, 2012 7:36 pm

This also did nothing.
User avatar
noa zarfati
 
Posts: 3410
Joined: Sun Apr 15, 2007 5:54 am

Post » Wed Jun 20, 2012 7:26 am

OK, by using the player.setstage PKRoseliaLevelUp 0 command in game I can start the quest, and it seems to work properly. So, there is some problem actually starting the quest itself, meaning maybe this is a story manager problem.
User avatar
Allison C
 
Posts: 3369
Joined: Mon Dec 18, 2006 11:02 am

Post » Wed Jun 20, 2012 6:06 am

AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!
WHY WON'T THIS FREAKING WORK!

Starting the quest manually makes it work. The SM Node itself seems to have no problems, as it used to throw errors, and now it doesn't. The problem is just that, for whatever reason, the SM Node won't actually start the quest.
User avatar
Beat freak
 
Posts: 3403
Joined: Thu Dec 14, 2006 6:04 am


Return to V - Skyrim