Jump to content

[LE] Quest Scrips / Alias not working


NineWorlds

Recommended Posts

Hey there, this is my first mod for Skyrim it's for the SE.

It is a house mod that will

1. Add a tiny quest that involves a series of riddles.
2. After the quest you have access to the home.

3. In the home lies a chest in the bed room, that the player can own among the many other things they can use. However the chest is locked and requires you to find the secret door in the house that leads to a dungeon. At the end of the dungeon you will find the key for the chest.

So far I've made the house and placed most of the things I want in it besides a few more containers and decorations.
I've yet to create the dungeon due to being stuck on creating the quest.

The quest has a series of notes.
The first note is laying near the steps of the new house. upon open there is a OnOpen script attached that starts the first stage of the quest.

The problem is what follows.

1. I do not want the players who maybe somehow "Stumbled" across the rest of the notes be able to access these notes. Now I highly doubt they will stumble across them but just in case i want this solved.

2. I've tried using the Alias menu on the quest tab to add the notes to the specific chests. This DOES NOT work. They never get added when i use "GetStage - Quest - == 10.00 Value" Which i was under the impression this would then add the note to the specific chest upon entering stage 10 of the quest.
3. Even without declaring a GetStage condition under the Alias tab, the note does not spawn in the chest. Even with Optional Checked, and making a reference to object IN (Chest).

3.4 Now the notes will SPAWN if I manually add a single note to the chest. However once I do this there will be a note in the chest regardless of what happens. And after the game loads 2 notes appear. One from manually adding it and one from the Alias Item Note. So it's as if somehow the game now decides it wants to load the note because there is one already in it?
4. I've attempted to script out the spawning of the note yet it seems to totally bypass my first condition and head straight to the && akActionRef. Or maybe I'm doing something wrong here.

Scriptname myNoteSpawn extends ObjectReference

Quest Property myQuest  Auto  

Book Property Letter  Auto  

ObjectReference Property chest  Auto  

Int Property myStage  Auto  


Event OnOpen(ObjectReference akActionRef)
if(myQuest.GetStage() == myStage && akActionRef == Game.GetPlayer())
	chest.AddItem(Letter)
endif

endevent

5. After everything totally not working I have managed to allow the note to spawn regardless of what stage by adding a condition to the OnRead script I created that checks if the stage is not (Certain Stage) Do not initiate the next. This seems to work but it is not what I'm looking to do. I do not want the players to at all have access to anything other than the first note before the quest starts.

Edited by NineWorlds
Link to comment
Share on other sites

Aliases are filled when a quest is started. Therefore, a condition check for a particular stage of that quest will always fail.

 

Here is how I would approach your scenario.

 

The first note is not part of the quest. Instead it has a script which will start the quest when it is read. Very similar to the courier notes one reads or a book that starts a quest. The quest itself once started will create references to each of your other notes in their respective containers. This is done by creating an alias for each note and an alias for each container you want a note in or xMarker you want to place a note at (the container or xMarker aliases need to be created first). Use the fill type of "Create Reference To Object" for the aliases. While you will most likely use "Specific Reference" for the containers and/or xMarkers.

Link to comment
Share on other sites

You stated that you didn't want them to be available until after the first note was read. What I suggested does just that. I take it you want something more specific.

 

For notes to appear in specific containers at specific stages, then you would add the item to the container at that stage on the appropriate quest stage fragment script. You would not need to use aliases. Tho if necessary it is still possible to refer to aliases in the quest stage fragment scripts (just not sure how off the top of my head).

Link to comment
Share on other sites

I am now running into a new issue that worked before this.
after the series of riddles you obtain the key, but now the key does not advance the quest.
i used my own script to call the setstage event when taking the item out off the chest, and even tried the default one. But now it is not working at all.

Edit

 

Temporarily found a way around this by adding the script to the key instead of the AliasKey.

Edited by NineWorlds
Link to comment
Share on other sites

I usually test my game by first CoCing to the area of the house. I know Cocing can sometimes not load things correctly when it comes to dealing with interiors but so far it has worked fine for the quest.

I've got the quest to completely run through by cocing to the start of the area.

I've yet to fix the issue with them being able to access the notes before completing certain stages, I'm looking into scripting that now through the fragments. I just finished scripting the ending of the quest through the fragments.
So what can happen is.

Find first note. And if you some how find the key before you solve the notes you can enter the house.
Quest gets flagged as completed but you will only have 2 entries.

(solve first note)(Uncompleted)

(Enter house)(Completed)

 

I can either I suppose script in some conditions into the fragments that say "If you've done this before this flag everything else as completed" or simply just make it so they cannot have access to anything till specific stages to avoid them being able to complete the quest halfway through it. As a non linear rpg, i'm leaning towards simply allowing them to maybe get the items before hand if they stumble upon them after they engage the first part of the quest. This will solve the issue of 1. If the mod is liked, and they do a new save for people who know where everything is they can simply grab the key. and 2. to give a sense of non-linear gameplay.
However at this point with the quest actually being able to 100% be completed i'm not sure what I should do.

The quest it's self is not to easy, I have no quest markers, and wont allow them for the sake of wanting players to really be able to solve the riddle and figure it out. The areas are stated in the riddle but with no real indication of where it could be as in you know you're looking for something but you've really no idea what that something is. And this is pretty apparent when i've set quest up with more of a classic "search" option rather than you seeing the notes laying on the ground.
All in all it's completed except for the fact that I need to then after the quest is completed delete everything that deals with the quest as in where the notes are stored as there would no longer be a need for them.
I'm not sure how to go about that as of right now though.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...