Alias Troubles

Post » Tue Jun 19, 2012 4:57 pm

Okay, so I've asked this question from the approach of dialogue options, but now I'm trying it from an alias perspective.

I have a guy who gives you a mission through dialogue, sets it to stage 10.
There is also a book that sets the mission to stage 15.

I don't want the book to set the stage unless you are already at stage 10 or above, so here is what I tried.

I created an alias for the book. In the conditions box I have GetStage TBJ01 >=10 and in the scripts I have the defaultOnReadSetStage script running with 15 as the stage and TBJ01 as the Quest.

Unfortunately the result is that if I get the quest from the guy firsty, everything works fine, but if I read the book first it prevents one from getting the quest in the first place.

Is there a way to make it so that the alias associated with the script only 'touches' the book once the player is at stage 10? Would this prevent my problem?
User avatar
gary lee
 
Posts: 3436
Joined: Tue Jul 03, 2007 7:49 pm

Post » Tue Jun 19, 2012 1:30 pm

Try putting a condition in the script itself instead of the condition tab.

And put the book script on the alias and not the book itself, so this would prevent the quest setting the stage before it even started, and it will run only after you get the alias book in your inventory.

Event OnRead()if ( *your quest name*.GetStage() >= 10 )	   GetOwningQuest().SetStage(15)endIfendEvent

This will prevent to update the quest by touching the book, but it will update only by reading it.
User avatar
Jaylene Brower
 
Posts: 3347
Joined: Tue Aug 15, 2006 12:24 pm

Post » Tue Jun 19, 2012 2:04 pm

Try putting a condition in the script itself instead of the condition tab. And put the book script on the alias and not the book itself, so this would prevent the quest setting the stage before it even started, and it will run only after you get the alias book in your inventory.
 Event OnRead() if ( *your quest name*.GetStage() >= 10 ) GetOwningQuest().SetStage(15) endIf endEvent
This will prevent to update the quest by touching the book, but it will update only by reading it.

I tried this, and am still having the same error. It seems like even the possibility of it having been at 15 at one point is enough to keep an earlier stage from triggering.
User avatar
JUan Martinez
 
Posts: 3552
Joined: Tue Oct 16, 2007 7:12 am

Post » Tue Jun 19, 2012 10:24 am

Check it out
Event OnRead()if ( *your quest name*.GetStage() >= 10 )		   *your quest name*.SetStage(15)endIfendEventQuest *your quest name* property auto
User avatar
Elina
 
Posts: 3411
Joined: Wed Jun 21, 2006 10:09 pm

Post » Tue Jun 19, 2012 7:18 pm

Another option is always setting the book as disabled and only enable it (having it show up in the world0 as a result of completing/finishing stage 10 ... just an idea.
User avatar
Tiff Clark
 
Posts: 3297
Joined: Wed Aug 09, 2006 2:23 am

Post » Tue Jun 19, 2012 2:07 pm

Another option is always setting the book as disabled and only enable it (having it show up in the world0 as a result of completing/finishing stage 10 ... just an idea.

I had thought of that, and I was reluctant to because of my distaste for things conveniently existing at the right times. I'm starting to think it's my only option though.
User avatar
Alex Vincent
 
Posts: 3514
Joined: Thu Jun 28, 2007 9:31 pm


Return to V - Skyrim