Jump to content

Problem with Aliases (and Quest in general ... and esp in general)


rossjcorbett

Recommended Posts

Hi. I'm trying to write a Morag Tong mod, but I am obviously no good at this. I load only skyrim.esm, update.esm, and my esp.

 

Some of the aliases in the quest are supposed to be created in containers. For example, the fill type for the alias OrvalLetter is "Created 'MTQLetter40' in HoldingChest," with HoldingChest being a forced alias pointing toward a particular chest. Going to the cells, there is only default loot in the containers. Typing getstage MTQ040 in the console shows the quest to exist and to be at stage 0.

 

I can advance the quest through setstage, but none of the papyrus fragments for that stage get run. For example, a door is supposed to unlock, but it doesn't, nor does a map marker get added. And none of the aliases get filled properly. Moreover, none of the journal entries appear; only the objective appears in the journal under the quest. The papyrus fragments in question are:

Alias_OndosovanDoor.GetReference().Lock(false,false)
Alias_OldHroldanMarker.GetReference().AddToMap()

 

Even more basic, a weapon I created as part of the esp (an instant kill for testing purposes) does not seem to exist. player.equipItem works fine for vanilla objects, but the system does not believe that this form ID exists.

 

Now, my esp is loading. The cells I created are in the game. The quest exists, even if it is broken. But it is as though I have missed something crucial. The weapon isn't created, and the aliases and journal aren't getting filled. I've read and re-read the tutorials, and there is no step that I have missed. The quest is set to start the game enabled, and I am moving around with a "clean" save by just using coc from the main menu to move to cells.

 

I can't even get debugging to work right. I have a papyrus fragment for stage 0 that says "debug.trace(self + "Stage 0")." I have the toggles set to 1 for logging in Skryim.ini in Documents/MyGames. But I get no log in either that folder's log folder or my Skyrim installation log folder.

 

I feel like I am reading the documentation for a different program and trying to get it to work with Skyrim and the Creation Kit.

Link to comment
Share on other sites

Short of taking apart your mod and examining everything, it's going to be tough to say why certain things aren't working as you intended. I'll try to at least give some general pointers of where you can start troubleshooting.

 

Hi. I'm trying to write a Morag Tong mod, but I am obviously no good at this. I load only skyrim.esm, update.esm, and my esp.

Do you need update.esm as a dependency for your mod? IOW, are you using assets from it? If not, don't require it.

 

Some of the aliases in the quest are supposed to be created in containers. For example, the fill type for the alias OrvalLetter is "Created 'MTQLetter40' in HoldingChest," with HoldingChest being a forced alias pointing toward a particular chest. Going to the cells, there is only default loot in the containers. Typing getstage MTQ040 in the console shows the quest to exist and to be at stage 0.

Verify your aliases are set up and being filled properly. If they're not showing up, it's usually either one or the other or both not being done properly. If you're certain your aliases are created and being filled properly, and stuff still isn't working: The CK gets finicky with automatically dropping objects into non-actor references occasionally. Try creating the letter at an actor reference (e.g., player) and then moving the item into the container.

 

I can advance the quest through setstage, but none of the papyrus fragments for that stage get run. For example, a door is supposed to unlock, but it doesn't, nor does a map marker get added. And none of the aliases get filled properly. Moreover, none of the journal entries appear; only the objective appears in the journal under the quest. The papyrus fragments in question are:

Alias_OndosovanDoor.GetReference().Lock(false,false)
Alias_OldHroldanMarker.GetReference().AddToMap()

See my earlier comment about checking to see if your aliases are created/being filled properly. Regarding journal entries, make sure your test save doesn't already have the quest running, as you may have an 'older' version of your quest baked into your save. Note that journal entries also can get finicky depending on the order in which you created assets within the quest, particularly with DIALOGUE. Worst case is you'll need to create a separate admin quest that handles the journal entries/objectives.

 

Even more basic, a weapon I created as part of the esp (an instant kill for testing purposes) does not seem to exist. player.equipItem works fine for vanilla objects, but the system does not believe that this form ID exists.

What's the form ID in the CK? What happens when you do player.additem xxFormID, where the xx = mod load position? I'm assuming based on your earlier comment that your weapon form ID would start with 03, so you'd replace that in the additem with the actual load position.

 

I can't even get debugging to work right. I have a papyrus fragment for stage 0 that says "debug.trace(self + "Stage 0")." I have the toggles set to 1 for logging in Skryim.ini in Documents/MyGames. But I get no log in either that folder's log folder or my Skyrim installation log folder.

Make sure your Skyrim.ini has something similar to this:

[Papyrus]
fPostLoadUpdateTimeMS=500.0
bEnableLogging=1
bEnableTrace=1
bLoadDebugInformation=1

The debug files show up by default under My Documents\My Games\Skyrim\Logs\Script.

Link to comment
Share on other sites

Thanks. I was hoping that it was something simple, like, "sounds like you forgot to hit Ctrl-F1 to finalize before saving," or something similarly easy. Barring that, I was hoping that someone else had the same problem and could tell me what steps I forgot.

 

Verify your aliases are set up and being filled properly. If they're not showing up, it's usually either one or the other or both not being done properly. If you're certain your aliases are created and being filled properly, and stuff still isn't working: The CK gets finicky with automatically dropping objects into non-actor references occasionally. Try creating the letter at an actor reference (e.g., player) and then moving the item into the container.

 

How do I verify that they are set up and being filled properly?

 

What's the form ID in the CK? What happens when you do player.additem xxFormID, where the xx = mod load position? I'm assuming based on your earlier comment that your weapon form ID would start with 03, so you'd replace that in the additem with the actual load position.

 

It is 010051A0. So, you are suggesting 03010051A0 as the FormID to feed additem?

Link to comment
Share on other sites

Thanks. I was hoping that it was something simple, like, "sounds like you forgot to hit Ctrl-F1 to finalize before saving," or something similarly easy. Barring that, I was hoping that someone else had the same problem and could tell me what steps I forgot.

Sometimes it's that easy, but not always. :P

Verify your aliases are set up and being filled properly. If they're not showing up, it's usually either one or the other or both not being done properly. If you're certain your aliases are created and being filled properly, and stuff still isn't working: The CK gets finicky with automatically dropping objects into non-actor references occasionally. Try creating the letter at an actor reference (e.g., player) and then moving the item into the container.

 

How do I verify that they are set up and being filled properly?

In terms of setting them up, the best thing I can say is to follow the guidance for Reference Aliases. As I said earlier, short of knowing exactly what it is you're trying to do and then digging into your mod and scripts, there's not much more any of us here can do.

 

In terms of being filled properly, you can do this at least a couple of different ways:

 

  1. Go in game with your quest running, go into the console, and do a "sqv yourquestname" without the quotes and hit enter, and see if the aliases are filled properly or are "none" when they shouldn't be empty.
  2. Add debug.traces for your aliases in your script code.

What's the form ID in the CK? What happens when you do player.additem xxFormID, where the xx = mod load position? I'm assuming based on your earlier comment that your weapon form ID would start with 03, so you'd replace that in the additem with the actual load position.

 

It is 010051A0. So, you are suggesting 03010051A0 as the FormID to feed additem?

If 010051a0 is the CK form ID, go in game, open the console, and type "player.additem xx0051a0" without the quotes, where xx is your mod's load position. E.g., if your load position is "1F", you'd be doing "player.additem 1F0051a0".

Link to comment
Share on other sites

How do I verify that they are set up and being filled properly?

In terms of setting them up, the best thing I can say is to follow the guidance for Reference Aliases. As I said earlier, short of knowing exactly what it is you're trying to do and then digging into your mod and scripts, there's not much more any of us here can do.

 

In terms of being filled properly, you can do this at least a couple of different ways:

 

  1. Go in game with your quest running, go into the console, and do a "sqv yourquestname" without the quotes and hit enter, and see if the aliases are filled properly or are "none" when they shouldn't be empty.
  2. Add debug.traces for your aliases in your script code.

 

Thanks! I'm not sure what changed, but making some aliases into properties seemed to work and get the other aliases filled.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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