Jump to content

Recommended Posts

Posted (edited)

Alright so first of all, I want to make it clear that I searched a lot for this. Checked the forums here, other forums, tried testing and debugging it myself but I can't figure it out.

 

Obviously it has to be some minute detail I missed and I'm going to feel stupid afterwards.

 

So here goes: I have only recently started working with quests, as I was previously more a level designer type of guy, and I ran into this super annoying problem... That my quest alias doesn't work. Doesn't work, in this case, means the condition returns false.

 

I have a super basic quest, with a super basic actor (MODQuestGiver), with no factions and a default sandbox AI package, and everything works marvelously if I set all my conditions as

 

GetIsID [Actor : 'MODQuestGiver'] == 1 *

 

but if I change this condition with

 

GetIsAliasRef [Alias: 'Quest Giver'] == 1 *

 

*Not script lines, just condition items in the dialogue topic window

 

where the "Quest Giver" alias is filled with a "Unique Actor" set to "MODQuestGiver" (yes, it's a unique actor), then it doesn't work. Obnoxiously enough, it's exactly what Bethesda states in their creation kit tutorial: http://www.creationkit.com/Bethesda_Tutorial_Quest_Aliases

 

Right there, from what I understand of how aliases work, I shouldn't have any problems right now...

 

Here is the detailed process of what I've tested so far:

 

1. I noticed something on the Creation Kit Wiki that mentioned that setting a Unique Actor only works if it's set to a persist location. So I set the actor in my scene to a persist location, and still no result. (I placed her in the New Gnisis Corner Club and used the same persist location as the bar tender, which was WindhelmLocation, also tried WindhelmNewGnisisCornerClubLocation, none worked.)

 

2. I tried replacing the "Quest Giver" alias' fill type with a Forced Reference, rather than a Unique Actor. Then again, it yielded no results.

 

Although, this leads me to believe that maybe the Alias fills correctly, but something isn't right in the condition itself.

 

3. Following that train of thought, I ticked the "Use Aliases" box in the condition window. No result.

 

And there I am, all out of ideas. I tried a ton of combinations of different factors and truly can't figure it out.

 

Considering I pretty much followed Bethesda's tutorial to the letter to that point, except for things like names and locations, I'm very confused.

 

So either there's a little detail I missed somewhere, or there's a combination of the previous factors that would've made it work correctly that I missed.

 

I'm hoping this was clear enough so that this can be a reference for any future newbie alias problem. :thumbsup:

 

EDIT 1: I've been able to determine, using console commands in-game, that the quest starts fine, but no aliases are loaded. Someone said something about needing an SEQ file... Most tutorials don't even mention that and work fine, so is it absolutely necessary? If so, do I have to use TES5 edit to generate a seq file or is it something I can do from the CK as well?

 

PS.: I tried getting screenshots attached but this website has been quite buggy for me recently and it's not letting me, I'll try again later

Edited by Overpwng
Posted
  On 12/14/2015 at 6:02 PM, Overpwng said:

Alright so first of all, I want to make it clear that I searched a lot for this. Checked the forums here, other forums, tried testing and debugging it myself but I can't figure it out.

 

Obviously it has to be some minute detail I missed and I'm going to feel stupid afterwards.

 

So here goes: I have only recently started working with quests, as I was previously more a level designer type of guy, and I ran into this super annoying problem... That my quest alias doesn't work. Doesn't work, in this case, means the condition returns false.

 

I have a super basic quest, with a super basic actor (MODQuestGiver), with no factions and a default sandbox AI package, and everything works marvelously if I set all my conditions as

 

 

GetIsID [Actor : 'MODQuestGiver'] == 1 *

but if I change this condition with

 

GetIsAliasRef [Alias: 'Quest Giver'] == 1 *

*Not script lines, just condition items in the dialogue topic window

 

where the "Quest Giver" alias is filled with a "Unique Actor" set to "MODQuestGiver" (yes, it's a unique actor), then it doesn't work. Obnoxiously enough, it's exactly what Bethesda states in their creation kit tutorial: http://www.creationkit.com/Bethesda_Tutorial_Quest_Aliases

Right there, from what I understand of how aliases work, I shouldn't have any problems right now...

 

Here is the detailed process of what I've tested so far:

 

1. I noticed something on the Creation Kit Wiki that mentioned that setting a Unique Actor only works if it's set to a persist location. So I set the actor in my scene to a persist location, and still no result. (I placed her in the New Gnisis Corner Club and used the same persist location as the bar tender, which was WindhelmLocation, also tried WindhelmNewGnisisCornerClubLocation, none worked.)

 

2. I tried replacing the "Quest Giver" alias' fill type with a Forced Reference, rather than a Unique Actor. Then again, it yielded no results.

 

Although, this leads me to believe that maybe the Alias fills correctly, but something isn't right in the condition itself.

 

3. Following that train of thought, I ticked the "Use Aliases" box in the condition window. No result.

 

And there I am, all out of ideas. I tried a ton of combinations of different factors and truly can't figure it out.

 

Considering I pretty much followed Bethesda's tutorial to the letter to that point, except for things like names and locations, I'm very confused.

 

So either there's a little detail I missed somewhere, or there's a combination of the previous factors that would've made it work correctly that I missed.

 

I'm hoping this was clear enough so that this can be a reference for any future newbie alias problem. :thumbsup:

 

PS.: I tried getting screenshots attached but this website has been quite buggy for me recently and it's not letting me, I'll try again later

 

Does the quest start if using console commands? Have you used the sqv console command to check if all your Aliases are filling after you have started the quest.

 

If it is a start enabled quest have you generated an "seq" file?

Posted
  On 12/14/2015 at 8:01 PM, lofgren said:

You shouldn't need any conditions of your are using unique actor or specific reference. If I understand you questing correctly.

 

The condition is in the dialogue for GetIsAliasRef, using the alias, not the alias itself!

 

  On 12/14/2015 at 7:51 PM, skinnytecboy said:

Here's another quick question: are you testing from a clean save?

 

I actually hadn't, and while it didn't change anything, I will keep a clean save for future use! Thanks for the input!

 

  On 12/14/2015 at 7:04 PM, Aragorn58 said:

 

Does the quest start if using console commands? Have you used the sqv console command to check if all your Aliases are filling after you have started the quest.

 

Ah! Now that's a useful one (the command that is). If I'd known, it would've saved me a lot of time hah. Anyways, thanks to that I can confirm that the quest does start correctly. Although, it has 0 aliases loaded or whatnot. Thus, I presume the issue comes from filling the alias? Still no clue why it wouldn't do so though.

 

  Quote
If it is a start enabled quest have you generated an "seq" file?

 

 

It does start enabled, as it has to be available the first time you speak with the npc. Never heard of "seq" files though. With a little research, it seems I can only generate one using TES5Edit. You think that would fix the alias issue? Is it just a general bug or is there a way (that I'm supposed to be doing) to do so only using the creation kit?

 

Thanks for the advice!

Posted
OK, I misunderstood. Stupid question: if the NPC is unique, why don't you just use getisID and be done with it? There's no need to bang your head against a wall if there is already a perfectly viable solution at hand.
Posted

I use both getisaliasref and getisID. They need to be defined everywhere you can possibly define them because the quest tool has alzheimer's. May sure that getisaliasref is specified in Quest Aliases, and in Conditions for every single dialog in the quest. Check for quest modding tutorials on certain other sites, this issue is addressed.

Posted
  On 12/15/2015 at 12:38 AM, lofgren said:

OK, I misunderstood. Stupid question: if the NPC is unique, why don't you just use getisID and be done with it? There's no need to bang your head against a wall if there is already a perfectly viable solution at hand.

 

Well obviously I don't need to set an Alias right NOW. But if I can't get this in to work in the simplest possible state how am I supposed to be able to make aliases work when it really counts? It's mostly about good methodology. What I'm looking for is why the alias doesn't fill at all. I'll update the main post!

Posted
  On 12/15/2015 at 7:01 AM, Overpwng said:

 

  On 12/15/2015 at 12:38 AM, lofgren said:

OK, I misunderstood. Stupid question: if the NPC is unique, why don't you just use getisID and be done with it? There's no need to bang your head against a wall if there is already a perfectly viable solution at hand.

Well obviously I don't need to set an Alias right NOW. But if I can't get this in to work in the simplest possible state how am I supposed to be able to make aliases work when it really counts? It's mostly about good methodology. What I'm looking for is why the alias doesn't fill at all. I'll update the main post!

 

If your quest is started through dialogue than an seq file is needed if it is a start enabled quest which you have confirmed it is.

 

To generate an seq file with TES5Edit, load only your mod, Skyrim will load automatically, that is normal. After it is done loading, select your mod and right click. In the popup box, click other, click Create SEQ File and if your mod actually needs one it will be generated automatically and placed in your Data folder in SEQ folder <yourmod.esp>.

 

Usually when I do a quest, I make the quest giver a unique actor and make them an Alias, and when setting the dialogue I use GetIsID == 1 condition so only your actor can say it, and GetStage condition to know which stage in the quest the dialogue is supposed to occur. Ex GetStage Quest:<YourQuest> >= 1

 

I have had Aliases not fill due to not setting the persist location on the Alias.

 

One way to check which Alias is not filling correctly, is to check all your Aliases as optional, and then use the sqv console command to see exactly which one is not filling and we can go from there.

  • Recently Browsing   0 members

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