xH4D3Sy Posted September 3, 2014 Share Posted September 3, 2014 I'm new to these forums, so please forgive me if this thread is in the wrong place... So I have been working on a mod of my own for a couple weeks now, and have gotten the basics laid out for it. Basically what it is in Skyrim, there is an NPC in Whiterun that gives you the choice to "work" at Warmaiden's, as a blacksmith. So, this NPC will give you various tasks, such as "Forge an Iron Dagger," or "Craft a pair of leather boots." Here's my problem... What I'm trying to do is, along with basic crafting tasks, also make tasks where you have to improve said weapon or armor. I can't figure out what needs to be done though, I've messed around with differen scripting functions and junk, but nothing. Essentially, what I want to do is exactly what you do for the Blacksmith Tutorial quest. It's the one where you meet Alvor, or Adrianne. They ask you to forge an iron dagger, and then improve it at the grindstone, etc. What I noticed though is, if you forge that iron dagger, then they tell you to sharpen it, and you DON'T sharpen it, the dialogue topic "Here's an Iron Dagger," or whatever doesn't appear. How does the game check whether that weapon has been improved or not? Is it something in scripting, becuase I have looked at the script for the original blacksmith tutorial, and there isn't anything there other than: .SetObjectiveCompleted(30) .SetObjectiveDisplayed(40) Can someone please help me, or at least tell me what I'm missing? I am seriously stuck... :wallbash: Link to comment Share on other sites More sharing options...
Hellscreamy Posted September 3, 2014 Share Posted September 3, 2014 I can't start up my CK right now to confirm it, but most likely the script is attached to the given item inside the alias. In the Aliases tab, check the iron dagger reference and see if a script was added to it. The script would then have OnMagicEffectApply() Event function which would set the stage of the quest. Link to comment Share on other sites More sharing options...
xH4D3Sy Posted September 3, 2014 Author Share Posted September 3, 2014 (edited) I can't start up my CK right now to confirm it, but most likely the script is attached to the given item inside the alias. In the Aliases tab, check the iron dagger reference and see if a script was added to it. The script would then have OnMagicEffectApply() Event function which would set the stage of the quest. Hmm... I just checked, and unless I'm looking in the wrong place... I don't see anything other than these in the Aliases tab, and none of them actually have anything about the item: QuestGiverAlvorForgerMarkerAlvorWheelMarkerAlvorTanningAlvorAdrianneLodAlvorWorkbenchAdrianneForgerMarkerAdrianneWheelMarkerAdrianneTanningMarkerAdrianneWorkbenchLodForgerMarkerLodWheelMarkerLodTanningMarkerLodWorkbench Nothing in that quest actually refers to the iron dagger that needs to be made, unless like I said, I'm not looking in the right place. That's what makes it so confusing, the quest asks you to make an iron dagger and temper it, but nowhere (not that I can see at least) does it show anything that has to do with the iron dagger or tempering it. None of the scripts have anything in them other than SetStage's and SetObjectives in them... Edited September 3, 2014 by xH4D3Sy Link to comment Share on other sites More sharing options...
Hellscreamy Posted September 3, 2014 Share Posted September 3, 2014 I had a look through the CK and found out the tutorial uses multiple quests for each part (craft, sharpen, temper). It uses the StoryManager Event Node 'Craft Item'. The Stacked Quest Node TutorialBlacksmithingNode will allow quests to run when the Quest TutorialBlacksmithing is running and at stage 10 or above. Below this node are 5 quests: Dagger, DaggerSharpen, Tanning, Armor and ArmorTemper. Each will start a new quest specific for the current step when a certain event occurs. The quest for crafting the dagger triggers when TutorialBlacksmithingNode's conditions are met, and when the following conditions in the quest itself are met:Event must have Keyword WICraftingSmithingCreated object must be an iron daggerThis will start up the quest TutorialBlacksmithingDagger, which will then start at stage 10 (the startup stage). In the code of the Quest Stages of the quest you'll see the TutorialBlackSmithing's stage is set to 20. This will then enable the dialogue to continue the rest.This is also done for the rest, tempering and sharpening weapons uses the Keyword WICraftingSmithingTemper which is then picked up by the storymanager. Hopefully this will make it clear enough for you, it's a rather roundabout way they used but I think this was the only way to get around the limitations of the CK and papyrus scripts. Link to comment Share on other sites More sharing options...
xH4D3Sy Posted September 4, 2014 Author Share Posted September 4, 2014 Thanks for the help. I pretty much just copied everything word for word from the tutorial quest into a test quest I created. The only problem I'm having now is that the NPC won't talk to me. He just says "Good afternoon." Also, is it possible to skip some of the steps in that tutorial in my own quest? Like say if I want to combine crafting and tempering into one objective, is that possible? Wouldn't I only have to make one blank quest, and then use that quest in for the "WICraftingSmithingTemper" keyword node?I think I understand what's going on with the story manager thing, but not 100% yet. Link to comment Share on other sites More sharing options...
Hellscreamy Posted September 4, 2014 Share Posted September 4, 2014 I don't think you can use just one quest for this. Normally you can just use stages to set the multiple objectives, but there doesn't seem a way to track player's crafting actions besides the Story Manager. The story manager only allows you to start up quests when an event has occurred, you cannot set stages, thus it would be incredibly difficult to reach the objectives. I suggest just keeping to the multiple quests standard as this doesn't look like as much work as creating new scripts for this. The quests not starting can have many reasons. These solutions can help if you aren't even seeing the dialogue screen.- If the quest is start game enabled, make sure you generate the SEQ files using TES5EDIT.- Else, if you use the story manager be sure to check the conditions.- Check if all the stages and dialogue conditions are correct, does the npc that should say the dialogue equal the condition? if no conditions are set ALL npc's will be able to say it when the quest is running.- ALWAYS use a clean game (Use coc <cell location>), save the new game, restart skyrim and load the game again. Especially Start Game Enabled quests have issues with this.- Use things like ShowQuestAliases [QuestID], GetQuestRunning [QuestID] to see where it goes wrong.- Aliases used for quests are being blocked by other running quests, sometimes they cancel eachother out. In case you see the dialogue screen but aren't getting any dialogue besides the first player response:- Create voice files or use an empty sound file for each dialogue, otherwise the dialogue will play with the speed of light.- Connect the multiple topics within a branch with eachother, or link the topic with another topic from another branch. Link to comment Share on other sites More sharing options...
xH4D3Sy Posted September 5, 2014 Author Share Posted September 5, 2014 I finally got everything to work perfectly. Now I'll finally be able to continue working on my actual mod. Thank you very much for your help, I appreciate it. :thumbsup: Link to comment Share on other sites More sharing options...
Mattiewagg Posted September 5, 2014 Share Posted September 5, 2014 I finally got everything to work perfectly. Now I'll finally be able to continue working on my actual mod. Thank you very much for your help, I appreciate it. :thumbsup:What exactly were the problems? Link to comment Share on other sites More sharing options...
xH4D3Sy Posted September 5, 2014 Author Share Posted September 5, 2014 I was trying to figure out how the game was checking whether you had crafted/tempered the iron dagger in the TutorialBlacksmith quest. I thought at first it had something to do with the GetItemHealthPercent() and OnItemAdded() functions, but they weren't in the original quest.So, it turns out that it all had to do with the Story Manager, and quest nodes and stuff. That's where it checks whether the iron dagger, for example, has been crafted and then if it has been tempered. The quest that I'm crating has multiple objectives, and some of them were things such as "Craft and sharpen an iron dagger," so I needed to know how the game was checking that... And I knew it had to be possible somehow, since that's what the tutorial quest was doing. Link to comment Share on other sites More sharing options...
xH4D3Sy Posted September 6, 2014 Author Share Posted September 6, 2014 Is it possible to make a quest go back on previous stages? Like if the quest is on stage 30, can I set it back to stage 10, or something like that? Link to comment Share on other sites More sharing options...
Recommended Posts