ItsMeToo Posted February 24, 2013 Share Posted February 24, 2013 There are two Skyrim modding problems I need help with. If anyone has a solution to any one or both of these problems, I would be very grateful. 1) I made an NPC that gives out quests to the player to find an item. The quest is given, but as soon as the dialog for finding the item is over, the dialog that the item was found is displayed. I don’t want that dialog to be displayed, to the player, until after the item is found and in the player’s inventory. 2) The NPC is also a vendor. The generic vendor dialog was working and the player could buy and sell goods with the NPC. As soon as I voiced new quest dialog for the NPC (which works), the vendor dialog stopped showing up. I went into the CK’s dialog tool area to add my new voice type to the generic vendor dialog that I wanted. How do I get these new generic dialog lines re-voiced and showing up when the player talks to the NPC? Link to comment Share on other sites More sharing options...
ItsMeToo Posted February 24, 2013 Author Share Posted February 24, 2013 I have put in many hours of working through these problems and searching for solutionsbefore I came here to ask for help. I forgot to mention that I already watchedand did many tutorials. I even have scripts and quests that run and work. Thequest knows where the item is located in the game, has map markers, and knowswhen the player picks up the item. The problem is when I put the conditionalcode in the stages to advance the quest. I know that I have a logic errorsomewhere, but just can’t see it at the moment. What I’m looking for is a general solution to the problem that I can adapt to mycode. The tutorials I watched didn’t help, so I came here.For problem two, I know about the generic voicing and dialog. I didn’t change how those functions work.I can add to those voice files or make a new voice type. When adding to thegeneric voicing you get both the old generic voicing and the new dialog of thenew voicing. The vender buying and selling still works using this method, but isimmersive breaking when you have two different sounding voices in the samecharacter. That is why I asked the question. Link to comment Share on other sites More sharing options...
ItsMeToo Posted February 25, 2013 Author Share Posted February 25, 2013 This is what I discovered is the root (I think), of my Quest not advancing. For somereason my script won’t run. The debug messages in the script don’t display,which tells me that the script didn’t run. I only get the debug messages,“Stage 20” and “End of Stage 20”.This script is attached to the quest object and alias.What am I missing? Thanks for any help.Debug.MessageBox("Stage 20")SetObjectiveCompleted(10,1)SetObjectiveDisplayed(20,1) kmyQuest.pItsMeTooLostBladeRelicsNorthwindSpt Debug.MessageBox("End of stage 20.")The Property Name is pItsMeTooLostBladeRelicsNorthwindSpt Type is Quest Value is ItsMeTooLostBladeRelicNorthwind (the value name is correct, it is spelled differently and has been verified to be correctly spelled) Here is the Script Scriptname ItsMeTooLostBladeRelicsNorthwindSpt extends Quest Quest Property pItsMeTooLostBladeRelicsNorthwindSpt Auto Event OnContainerChanged(ObjectReference newContainer, ObjectReference oldContainer)Debug.MessageBox("Running Event.") if (newContainer == Game.GetPlayer()) Debug.MessageBox("Inside of if statement.") pItsMeTooLostBladeRelicsNorthwindSpt.SetObjectiveDisplayed(25) pItsMeTooLostBladeRelicsNorthwindSpt.SetStage(25) Debug.MessageBox("Setting to next stage.") endifEndEvent Link to comment Share on other sites More sharing options...
ItsMeToo Posted February 25, 2013 Author Share Posted February 25, 2013 bump Link to comment Share on other sites More sharing options...
Pevey Posted February 26, 2013 Share Posted February 26, 2013 I think you have several different issues, so it would probably be best to post one small issue at a time to keep it manageable. You haven't laid out your questions in a way that makes it easy to respond. For the dialog issue, it seems like what you're saying is that you talk to this NPC, the NPC gives you directions to find some item, and then they immediately offer the next line, which should only be displayed AFTER the item is already found. Is this correct? If so, then you need to move that topic to a new branch. The new branch should have the requirement that a certain quest stage (the finding of the object) be completed. For your script, first check to be sure that it is compiling and that you've set all your properties. If neither of those are the issue: I've found that sometimes messageboxes are buggy. Sometimes, even if everything is scripted correctly, messageboxes won't appear until after a clean save, which is obviously a pain while you're in the loop modding, loading, testing, modding, loading, testing, etc. My solution: use Debug.Notification() instead. Lastly, your script is confusing to me. You should really post entire scripts using the spoiler tag. A script with OnContainerChanged() seems like it should be attached to the fetch object or the object's reference alias, not to the quest itself. Link to comment Share on other sites More sharing options...
ItsMeToo Posted February 26, 2013 Author Share Posted February 26, 2013 Thanks for responding. I think you have several different issues, so it would probably be best to post one small issue at a time to keep it manageable. You haven't laid out your questions in a way that makes it easy to respond. For the dialog issue, it seems like what you're saying is that you talk to this NPC, the NPC gives you directions to find some item, and then they immediately offer the next line, which should only be displayed AFTER the item is already found. Is this correct? If so, then you need to move that topic to a new branch. The new branch should have the requirement that a certain quest stage (the finding of the object) be completed... That is correct, but the topic is in a different branch. When I set the requirement that a certain quest stage (the finding of the object) be completed, I don't get the dialog that I found the object even after I have the object in my inventory. That is why I think that my script is not running. I want the script to advance the next stage after the object gets into the player's inventory. Everything compiles correctly, no errors, no warnings. Thanks for the Debug.Notification() option, I'll check that one out. I think you have several different issues... Lastly, your script is confusing to me. You should really post entire scripts using the spoiler tag. A script with OnContainerChanged() seems like it should be attached to the fetch object or the object's reference alias, not to the quest itself. spoiler tag, good idea, I'll have to look into how to do that. The OnContainerChanged() is set-up like the CK wiki tutorial. I don't understand what you mean. Could you show me an example of the correct way I should do this? Thanks in advance. Link to comment Share on other sites More sharing options...
Pevey Posted February 26, 2013 Share Posted February 26, 2013 The OnContainerChanged() is set-up like the CK wiki tutorial. I don't understand what you mean. Could you show me an example of the correct way I should do this? Thanks in advance. The OnContainerChanged() event should only be valid within an ObjectReference script. Your script seems to be a Quest script, based on the first line: Scriptname ItsMeTooLostBladeRelicsNorthwindSpt extends Quest I think you need to add new script to your actual object. When you go to add the script, it should default to being the correct type of script. I think you are trying to access this event, OnContainerChanged(), from the script added to the quest itself. The Quest will never change containers since it is not an ObjectReference. An ObjectReference is a specific existence of a Form (aka object) within the game. Link to comment Share on other sites More sharing options...
ItsMeToo Posted February 27, 2013 Author Share Posted February 27, 2013 Thanks, I thought that is what you were getting at. I'll go change it and let you know how it goes. Link to comment Share on other sites More sharing options...
ItsMeToo Posted February 28, 2013 Author Share Posted February 28, 2013 Thanks, that pointed me in the correct direction and now my quests work like I want. I still had to change some other code and change some logic, but now it's working. Thanks again. Now I need help with Problem #2... anyone have any ideas? 2) The NPC is also a vendor. The generic vendor dialog was working and the player could buy and sell goods with the NPC. As soon as I voiced new quest dialog for the NPC (which works), the vendor dialog stopped showing up. I went into the CK’s dialog tool area to add my new voice type to the generic vendor dialog that I wanted. How do I get these new generic dialog lines re-voiced and showing up when the player talks to the NPC? Link to comment Share on other sites More sharing options...
Pevey Posted February 28, 2013 Share Posted February 28, 2013 My best guess without actually poking around in your mod is that it has to do with the custom voice. The generic vendor dialogue has lines that trigger for a lot of the default voice options. But if you've changed this NPC to have a custom voice, none of the default vendor lines are going to fire without some additional hacking. Link to comment Share on other sites More sharing options...
Recommended Posts