how to start a quest with a note

Post » Mon Nov 19, 2012 2:48 am

this is most likely a stupid question but.... how do you start a quest with a note that the player find's lying around?
"though this shield svcks.... and oh it doe's svck complete two heroic deed's and it's true power will be revealed"

first time i tried to put the script in the book window. when that didn't work i tried the forums and got a link to a video following the video's instruction's i put the script in an quest alias this time and it still didn't work T_T so uh yeah
User avatar
Sunnii Bebiieh
 
Posts: 3454
Joined: Wed Apr 11, 2007 7:57 pm

Post » Mon Nov 19, 2012 8:14 am

I was talking about the script you wrote, my bad.
User avatar
Brad Johnson
 
Posts: 3361
Joined: Thu May 24, 2007 7:19 pm

Post » Sun Nov 18, 2012 10:49 pm

Tried to do it once, didn't work so I turned to a dialogue instead, I used both the container change and the OnRead functions. Sounds simple, but it can be a pain in the butt.
Maybe it's just the version of Creation Kit or Skyrim... are there many? I guess on Steam it just updates by itself!
User avatar
Helen Quill
 
Posts: 3334
Joined: Fri Oct 13, 2006 1:12 pm

Post » Sun Nov 18, 2012 11:22 pm

I was talking about the script you wrote, my bad.
oh sorry ok well i didn't right a script to be exact i used a deafult one "onreadqueststage" and set the propertys accordingly

p.s. forgive my bad spelling
User avatar
Alex [AK]
 
Posts: 3436
Joined: Fri Jun 15, 2007 10:01 pm

Post » Mon Nov 19, 2012 8:22 am

Tried to do it once, didn't work so I turned to a dialogue instead, I used both the container change and the OnRead functions. Sounds simple, but it can be a pain in the butt.
Maybe it's just the version of Creation Kit or Skyrim... are there many? I guess on Steam it just updates by itself!
i have the dialouge bug so that's why i tired the note
User avatar
Lexy Corpsey
 
Posts: 3448
Joined: Tue Jun 27, 2006 12:39 am

Post » Mon Nov 19, 2012 12:36 am

I plan on trying this to get around the dialog bug. I'll give it a shot and report back.
User avatar
Raymond J. Ramirez
 
Posts: 3390
Joined: Sun Oct 14, 2007 8:28 am

Post » Mon Nov 19, 2012 10:38 am

I plan on trying this to get around the dialog bug. I'll give it a shot and report back.
actually you should check out

:http://www.gamesas.com/topic/1403919-dialogue-no-longer-works-thread-2-quest-bug-dialogue-scenes-etc/page__fromsearch__1

it's all about the bug
User avatar
Janine Rose
 
Posts: 3428
Joined: Wed Feb 14, 2007 6:59 pm

Post » Sun Nov 18, 2012 9:25 pm

Yes, I've been following that topic closely. It should be noted in that video he over complicates matters with filling in the note's title on the fly. That is completely not needed to get it to work. I didn't have time last night to try it out but I should by the end of the week.
User avatar
Benji
 
Posts: 3447
Joined: Tue May 15, 2007 11:58 pm

Post » Mon Nov 19, 2012 8:53 am

If you are still having issues, let me show you what I wrote in the mod I mentioned earlier.

Spoiler
Scriptname AJDMGMAcquireMineLetterScript extends ObjectReference  Quest Property AJDMGMAquireMine  Auto;references the quest associated with acquiring the mineEvent OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer);There is a quest stage for the player to check the bandit's body, this checks to see if the letter is picked up    if (newContainer == Game.GetPlayer())	    AJDMGMAquireMine.SetObjectivedisplayed(30)        AJDMGMAquireMine.SetStage(30)    endifEndEventEvent OnRead();The current quest stage at this point is for the player to read the note    AJDMGMAquireMine.SetObjectivedisplayed(40)    AJDMGMAquireMine.SetStage(40)EndEvent

The important part there is that the quest is a Quest Property. My quest is start game enabled, with the quest stage in the script at 30 when the OnRead will be relavent, needing to be set to 40 for the last objective.

Assuming you have set up the outline of the quest stages, your version would be QuestProperty.SetObjectivedisplayed(FirstQuestStage) and QuestProperty.SetStage(FirstQuestStage) where QuestProperty is the property you created and FirstQuestStage is the first number where journal entries appear.
User avatar
James Baldwin
 
Posts: 3366
Joined: Tue Jun 05, 2007 11:11 am

Post » Mon Nov 19, 2012 12:37 am

If you are still having issues, let me show you what I wrote in the mod I mentioned earlier.

Spoiler
Scriptname AJDMGMAcquireMineLetterScript extends ObjectReference  Quest Property AJDMGMAquireMine  Auto;references the quest associated with acquiring the mineEvent OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer);There is a quest stage for the player to check the bandit's body, this checks to see if the letter is picked up	if (newContainer == Game.GetPlayer())		AJDMGMAquireMine.SetObjectivedisplayed(30)		AJDMGMAquireMine.SetStage(30)	endifEndEventEvent OnRead();The current quest stage at this point is for the player to read the note	AJDMGMAquireMine.SetObjectivedisplayed(40)	AJDMGMAquireMine.SetStage(40)EndEvent

The important part there is that the quest is a Quest Property. My quest is start game enabled, with the quest stage in the script at 30 when the OnRead will be relavent, needing to be set to 40 for the last objective.

Assuming you have set up the outline of the quest stages, your version would be QuestProperty.SetObjectivedisplayed(FirstQuestStage) and QuestProperty.SetStage(FirstQuestStage) where QuestProperty is the property you created and FirstQuestStage is the first number where journal entries appear.
uh yeah my note isn't found on a body or given to the player by anyone the player just find's it lying around so yeah the script won't work no offence bro
User avatar
[ becca ]
 
Posts: 3514
Joined: Wed Jun 21, 2006 12:59 pm

Post » Mon Nov 19, 2012 5:42 am

I'm not sure why you're having such a problem with this, it's straight forward. I use it to start my first Guild quest.

Do you need the script to start the quest when the player takes the note into their inventory, or when they read it?

People have reported it didn't start the quest for them, because they were on old versions of the game. They needed to patch up.
User avatar
Tracy Byworth
 
Posts: 3403
Joined: Sun Jul 02, 2006 10:09 pm

Post » Sun Nov 18, 2012 11:51 pm

Hi,
I was experiencing a similar problem in with a quest where the Player finds a map/journal left on the floor of the Bannered Mare rentable room. For the sake of this explanation the Quest starts at Stage 0 and updates to Stage 10.

I got around this problem with the following:

Set-up a triggerbox at the doorway into the room with the following script:
================================================
Scriptname defaultSetStageOnEnter extends defaultOnEnter conditional
{sets a quest stage when the specified ref or refs are in the trigger
}

quest property myQuest auto
{ quest to call SetStage on}

int property stage auto
{ stage to set}

;total targets currently in the trigger
int targetCountCurrent

;how many targets are we looking for? When targetCountCurrent reaches this, we trigger
int targetCountTotal

; what happens when all my targets are in the trigger?
; override on subclass to change behavior
function TriggerMe()
myQuest.setStage(stage)
parent.TriggerMe()
endFunction
===================================================

I did this because the Quest just wasn't starting, it fixed the problem.

I couldn't get the Quest to update upon reading the note so I set it to update on entering the Players Inventory:

===================================================
Scriptname defaultSetStageOnPlayerAcquireItem extends ObjectReference
{Sets a quest stage when this item is put in the player's inventory.}

Quest Property myQST auto
{Quest upon which to set stage. Default is the Alias's owning quest.}
int Property preReqStage = -1 auto
{(Optional)Stage that must be set for this script to run. Default: NONE}
int Property StageToSet auto
{Set this stage when the player picks up this item.}

auto State waiting
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
if (Game.GetPlayer() == akNewContainer)
if ( (preReqStage == -1) || (myQST.GetStageDone(preReqStage) == True) )
myQST.SetStage(stageToSet)
GoToState("inactive")
endif
endif
EndEvent
EndState
============================================================

This worked for me. Hope it helps!

cyberglum
User avatar
Daramis McGee
 
Posts: 3378
Joined: Mon Sep 03, 2007 10:47 am

Post » Mon Nov 19, 2012 4:44 am

It's really simple. To start the quest when the player takes the item into their inventory, add a new script to the item as follows:

Scriptname YourScriptName extends ObjectReference  Quest Property YourQuest  Auto  Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)if (newContainer == Game.GetPlayer())          YourQuest.SetStage(10)     endifEndEvent

Replace YourQuest with the name of your quest, and make sure you fill the property with your quest. SetStage(number) for whatever number your first quest stage is that begins the quest.

Done.
User avatar
Jaki Birch
 
Posts: 3379
Joined: Fri Jan 26, 2007 3:16 am

Post » Sun Nov 18, 2012 11:33 pm

uh yeah my note isn't found on a body or given to the player by anyone the player just find's it lying around so yeah the script won't work no offence bro

That is why I said the only relavent part of that script was the Event OnRead() portion. If you are starting the quest as well (no start game enabled), you need to have QuestProperty.Start() before displaying and setting the first stage. And I have tested the OnRead portion before, otherwise my mods would not be working, hopefully this helps you clarify this more.
User avatar
Yvonne
 
Posts: 3577
Joined: Sat Sep 23, 2006 3:05 am

Post » Mon Nov 19, 2012 12:50 am

That is why I said the only relavent part of that script was the Event OnRead() portion. If you are starting the quest as well (no start game enabled), you need to have QuestProperty.Start() before displaying and setting the first stage. And I have tested the OnRead portion before, otherwise my mods would not be working, hopefully this helps you clarify this more.
ok i think i kinda get it now. just one question where do i put the script? in the note script or in the quest stage's?
User avatar
Angel Torres
 
Posts: 3553
Joined: Thu Oct 25, 2007 7:08 am

Post » Sun Nov 18, 2012 10:44 pm

The script is attached to the note.
User avatar
Mackenzie
 
Posts: 3404
Joined: Tue Jan 23, 2007 9:18 pm

Post » Mon Nov 19, 2012 7:01 am

The script is attached to the note.
thanks ill try it out when my skyrim's fixed
User avatar
Honey Suckle
 
Posts: 3425
Joined: Wed Sep 27, 2006 4:22 pm

Post » Mon Nov 19, 2012 12:52 am

It's really simple. To start the quest when the player takes the item into their inventory, add a new script to the item as follows:

Scriptname YourScriptName extends ObjectReference  Quest Property YourQuest  Auto  Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)if (newContainer == Game.GetPlayer())		  YourQuest.SetStage(10)	 endifEndEvent

Replace YourQuest with the name of your quest, and make sure you fill the property with your quest. SetStage(number) for whatever number your first quest stage is that begins the quest.

Done.

You copied an original note, yes? Now rename it, change the display text, it's html by the way. Then go to the Script tab of the note and add a new script. Paste in the code.
Next save it, next right click the new script and select to edit properties, next click on the myquest property, (if you didn't change the name, I left it) then select the name of your quest from the dropdown on the right. This connects an object to a property. (My favorite part of the CK, so far)


Now!, :smile: All that said. Ready? It doesn't work. :( It will work with game quests, you can try it with the 01, 02, 03 quests. Think it's DB01, but I'm not home to look.
But it does not work with our created quests because of this @#$% game bug. I bought Skyrim just to play with the CK, and it's broken. svcks!
User avatar
Sarah Knight
 
Posts: 3416
Joined: Mon Jun 19, 2006 5:02 am

Post » Mon Nov 19, 2012 12:02 pm

I just don't get why it's not working, when it does for me :shrug:
User avatar
Jeffrey Lawson
 
Posts: 3485
Joined: Tue Oct 16, 2007 5:36 pm

Post » Mon Nov 19, 2012 12:52 pm

Then can I send you my quest and see if it's something I did wrong? If it works for you then it's the bug.
Or do you have a bare-bones quest that works? One without all the bells.
User avatar
Sam Parker
 
Posts: 3358
Joined: Sat May 12, 2007 3:10 am

Post » Sun Nov 18, 2012 9:47 pm

Gary, have you tried to use an Event OnRead()

Scriptname YourScriptName extends ObjectReference  Quest Property YourQuest  Auto  Event OnRead()    YourQuest.SetStage(10)EndEvent

I have tried B1gBadDaddy's script and it does start my custom quest.
Here are the settings i have for my quest. The quest starts by reading a note found on a table.

Quest Data Tab
Type - Side Quest
Priority - 60
Run Once Ticked

Quest Stages Tab
Index 0 - Start up stage ticked - My quest starts with or without this ticked

Nothing in my quest refers to the letter
User avatar
abi
 
Posts: 3405
Joined: Sat Nov 11, 2006 7:17 am

Post » Mon Nov 19, 2012 11:31 am

You might find what you're looking for in this video:
http://www.youtube.com/watch?v=iustaHoHnEE&feature=plcp

He shows you how to handle the note in a really good way.

I've gotten a custom courier quest working using this tutorial. If I can do it, anyone can!
User avatar
tiffany Royal
 
Posts: 3340
Joined: Mon Dec 25, 2006 1:48 pm

Post » Mon Nov 19, 2012 2:35 am

I've gotten a custom courier quest working using this tutorial. If I can do it, anyone can!
.....it's not a courier quest
User avatar
maya papps
 
Posts: 3468
Joined: Mon Aug 07, 2006 3:44 pm

Post » Mon Nov 19, 2012 6:56 am

Gary, have you tried to use an Event OnRead()

Scriptname YourScriptName extends ObjectReference  Quest Property YourQuest  Auto  Event OnRead()	YourQuest.SetStage(10)EndEvent

I have tried B1gBadDaddy's script and it does start my custom quest.
Here are the settings i have for my quest. The quest starts by reading a note found on a table.

Quest Data Tab
Type - Side Quest
Priority - 60
Run Once Ticked

Quest Stages Tab
Index 0 - Start up stage ticked - My quest starts with or without this ticked

Nothing in my quest refers to the letter

That's it? No other settings or dialog? I'm asking because mt note will trip the in game quests, but not mine. It could be something I messed up when creating the dialog too. I'm a bit in the dark. LOL
I'll use your settings tonight and see if it trips.
User avatar
jennie xhx
 
Posts: 3429
Joined: Wed Jun 21, 2006 10:28 am

Post » Mon Nov 19, 2012 5:01 am

Temporarily put
Debug.Messagebox("My quest just started!")
in the script fragment of the initial quest stage of your quest

Then, if when you read the note the messagebox does show but then nothing else happens, then your problems stem from somewhere else

- Hypno
User avatar
Rachie Stout
 
Posts: 3480
Joined: Sun Jun 25, 2006 2:19 pm

Next

Return to V - Skyrim