Feralkyn Posted November 13, 2015 Share Posted November 13, 2015 (edited) Heya! I've been building a big mod for awhile now (well, big for me, as it's only my second) that includes a long quest, dungeons, a house, horse, pet and more. I've gotten MOST of it running through a long and tedious learning process, but there's a few things that elude me. I'm only just delving into the dialogue/quest process now--the last part I need to do. What I need:SOLVED // 1- I need to know what I need to do to get an NPC to use certain AI packages only on certain quest stages--in this case, to walk from point A to point B and -stay there- after a certain stage in the quest. ((Solved, thanks BigBizkit--for others reading this, make a scene and tie it in to the appropriate quest stage, using AI packages for travel in phase 1, and then for staying in place for phase 2. Be sure to end it at the end of the quest stage if you want the NPC to move again!)) SOLVED // 2- I need to know how to make an NPC into a temporary follower, for a quest--you know how certain NPCs will accompany you in certain areas/on certain quests? I DON'T want them to be an actual follower (where you can dismiss them, or trade armor etc.) but rather, I want them to join you inside the cells I've made. ((Same as above; I used both a FollowPlayer AI package on the NPC itself tied to the quest stage, and a scene for the stage telling the NPC to follow the player for that stage, not sure which works best.)) (Maybe solved...?) 3- I need to know how to make the NPC make certain comments at certain areas/markers, i.e. he will walk over, play an animation/dialogue. (Still struggling on this one, as well as getting dialogue scenes to work/be prompted to start. It may be an issue with voice types, and one tutorial told me to be sure that "enable scene dialogue" is ticked on the Follower AI package--and I don't see that anywhere, nor should I edit vanilla Follower AI.) SOLVED // 4- I now need to know how to enable/disable objects and Actors via quest stage. ((See reply #19 for details!)) SOLVED // 5- If the NPC's AI package is interrupted during a scene, the scene will be permanently disrupted, and the quest cannot progress. I can't make him follow me through a dungeon, since he leaves after combat. What should I do to fix this? - This is a BIG one. I've got almost everything else scripted and done, but this one is a total stump with the potential to ruin a lot of the quest. ((I had to tick Edit Actor Behavior button up top on the scene window, and move the checks from the "End" tickboxes over to "Pause," instead, under Combat. My GOD, such a simple fix, but it wasn't covered in ANY tutorial that I saw/read/watched!)) SOLVED // 6- I'm also looking for a way to play random sounds in a region, but only at night and only on the quest. Getting sounds to play in and of itself seems to be the issue, requiring a Region to be set and tied to weather and so forth, but as I'm using an existing region that doesn't really seem like an option. Sound markers/trigger boxes would be better, I'd think, but I'm not sure. Maybe I can just tie it directly to the quest stage and trigger, but again I need a script for this. ((See replies #24-26 for the code & correction!)) 7 - I am looking for a way to make a quest objective item able to be anything from a list with keywords via alias. If I set a quest alias named QuestItem to allow anything from SoulGem or AlchemyIngredient keywords, for example, it'll show as much on the quest objectives--but won't register the item being placed into the inventory. I suspect I need an entirely different system involving formlists for non-specific references but I really don't know, and can't find info on it. This might seem simple, but searching online just gives me a ton of Follower tutorials, and that's NOT what I'm looking for. Any help is appreciated! Edited December 3, 2015 by Feralkyn Link to comment Share on other sites More sharing options...
Staff BigBizkit Posted November 13, 2015 Staff Share Posted November 13, 2015 On 11/13/2015 at 6:16 PM, Feralkyn said: This might seem simple, but searching online just gives me a ton of Follower tutorials, and that's NOT what I'm looking for.Tell me about it. Anyway, I am in sort of a hurry so I cannot give you the details right now but: 1. Only on certain quest stages = use conditions on the ai packages, but if it is more a matter of making them walk from a to b you should use SCENES (which imo are rather self explanatory) 2. Again, use conditions on the AI package and/or the follower dialogue. 3. Use trigger volumes together with SCENES that play the dialogue. Link to comment Share on other sites More sharing options...
Feralkyn Posted November 13, 2015 Author Share Posted November 13, 2015 (edited) Right, thanks man! I'll give all of that a good look, much appreciated :smile: If you have any idea what that quasi-follower AI package is called (you know, they wander along, fight, but you can't trade gear with them or send them away) please shout, but the rest looks really helpful! Edited November 13, 2015 by Feralkyn Link to comment Share on other sites More sharing options...
Feralkyn Posted November 14, 2015 Author Share Posted November 14, 2015 (edited) Disregard the following, but leaving it here in case anyone else finds this later. TURNS OUT, I had a missing . in the fragments. Right, this is going to sound like an odd problem. I saw one other person having it, but they got no solution, so here's hoping I have better luck. Basically, when I attach script fragments to dialogue (be it to advance the quest stage, or start a scene, or anything), the game auto-adds a script to the dialogue scene. I presume this is meant to handle the fragments, but the scripts are all randomly-named strings of letters and numbers, have no properties to fill out, and cannot be compiled (throw errors). I'm not sure why this would be but as a result I can't progress through dialogue at all. Manually progressing via console commands in-game works to force the quest on, but the dialogue options aren't doing it. Any help? Now I'm trying to figure out how to get the scene to play. I know that I'm meant to attach the scene to dialogue and then edit properties to have it point to my scene but I'm not sure how to do that, nor if I need to also add AI packages directly to the actor, or only the scene. Bethesda's default tutorial has only "start on quest start" and I want it to start at stage 40. As I'll be using a lot of scenes, this is going to be difficult if I can't figure it out x) This part was bugging out because of a broken script variable refusing to compile. I had to go back into Skyrim scripts/source and find and delete the line of code manually. I still also need to figure out which AI package makes an NPC into a temporary following companion (not a true follower). Edited November 14, 2015 by Feralkyn Link to comment Share on other sites More sharing options...
skinnytecboy Posted November 14, 2015 Share Posted November 14, 2015 Having an NPC simply follow is quite easy. Add a new package to your NPC and select FollowPlayer as the template. Give it a new name (whatever your prefix is) and then add a condition to it like GetStage for example. You'll also possibly need to add a relationship rank to the npc that sets him/her as ally to the player. You can do all the usual follow stuff too with dialogue commands like akSpeaker.SetTeamMate() (that's the do something for me for example). I recomend reading this : http://deck16.net/post/22645519500/making-a-unique-voiced-follower-in-skyrim-part-1 Link to comment Share on other sites More sharing options...
Feralkyn Posted November 14, 2015 Author Share Posted November 14, 2015 Thanks, I'll give that a shot! I've been struggling with a lot of stuff that seems like it should be easy--but isn't. For example, I wanted him to ride his horse up to the house where the quest continues, then give the player a key. It seems to have him ride the horse, it has to be owned by him and set to follow him as well. Problem being, it then follows him into buildings. I tried instead making him walk out to the horse preferring to walk, then walk to the house preferring to ride, then walk to the door preferring to walk, then stay there as the final part of the scene. Instead, he walks outside, the horse is gone (?) and then walks to the house. I don't get the key added to inventory, and sometimes the scene will be disrupted and he'll wander off back home. Very very overly complex, and I'm spending hours and hours just pinning down simple things instead of progressing. It's quite frustrating! One of my biggest issues is figuring out how to enable or disable actors or objects via quest stages. For example, I wanted the actor to start off disabled, and then enable on quest start. Alias_HisNameHere.GetReference().Enable() (with hisnamehere being an alias for the actor) did not work. It compiled correctly, but he remained disabled. Later on, I want to be able to enable doors for quest stages, so this is a big one I'll need to figure out. Link to comment Share on other sites More sharing options...
skinnytecboy Posted November 14, 2015 Share Posted November 14, 2015 You have a long road ahead of you, but it will be rewarding. Face one problem at a time, Google until your fingers hurt... eventually it will click in to place. Start with this guy's tutorials, they really helped me in the beginning https://m.youtube.com/watch?v=rcR5mKAUM-4 Link to comment Share on other sites More sharing options...
Feralkyn Posted November 14, 2015 Author Share Posted November 14, 2015 Ha, oh I have been. I've actually been living off of Darkfox127's tutorials for awhile, and looking at others here and there where needed. It's just odd how many seemingly simple things are really really overly complex. Tackling one problem often seems to lead to eight more, and so on, so I come here just to ask for specific scripts, and hope someone has them! Thanks :D Link to comment Share on other sites More sharing options...
skinnytecboy Posted November 14, 2015 Share Posted November 14, 2015 (edited) If you're looking to enable npcs.. there are two other methods you could use besides aliases. Move: have your actor in a holding cell (create one), create an Actor Property for him and use myactor.moveto(myrefmarker) (Myrefmarker is an object reference property) placeatme: This will place a new version of the npc, they don't have to physically be in the word. Use actorbase property Myrefmarker placeatme(MyActor) There is always more than one way to skin a cat. Poor little pussykins. Edited November 14, 2015 by skinnytecboy Link to comment Share on other sites More sharing options...
Feralkyn Posted November 14, 2015 Author Share Posted November 14, 2015 (edited) Yeah, I was considering the holding cell thing; I use it for a vanishing script on an NPC as they die, in another part of the quest, and it works well. The problem with that is that I still need to know how to enable/disable objects on quest stage, since I need to disable/enable certain doors to keep areas inaccessible until quest stages are reached. I've been struggling with this for quite a few hours now, but at least now my NPC rides his horse to the right place (huzzah!--removed follow package from horse). Edited November 14, 2015 by Feralkyn Link to comment Share on other sites More sharing options...
Recommended Posts