Misc Quest Questions

Post » Thu Jun 21, 2012 2:18 am

Hi,

I'm working on a small quest in which I need an NPC to follow the player to a specific corpse, then initiate dialogue with the player. None of these things were covered in the official quest tutorial and I have tried looking at vanilla quests to get an idea of what to do, but copying and pasting the script fragment I saw didn't work (probably because it was specific to the quest it was attached to, but even the syntax of the line I pasted looked strange to me). These are the lines I copied:

Alias_Aela.GetActorReference().SetPlayerTeammate(true, false)(kmyQuest.CentralQuest as CompanionsHousekeepingScript).SwapFollowers()(kmyQuest.CentralQuest as CompanionsHousekeepingScript).Shutup(Alias_Aela.GetActorReference())(kmyQuest.CentralQuest as CompanionsHousekeepingScript).CurrentFollower.ForceRefTo(Alias_Aela.GetRef())

When I looked at them, I figured I didn't need the CompanionsHousekeepingScript stuff, so I deleted that and only pasted the first line since my NPC isn't a member of The Companions faction, then changed the Aela alias to my NPC to make it look like this:

Alias_Ilithia.GetActorReference().SetPlayerTeammate(true, false)

In game, when I got to this part of the quest, the NPC did not follow. Plus, I'm a little thrown by the true, false thing. Also, how do I prevent the NPC from following the player out of the current cell if the player decides to forget about the quest? Lastly, if the player declines to help my NPC, I want her to exit the cell and disappear. How do I do that?

I would greatly appreciate any help in clearing this up. Thanks!
User avatar
Becky Cox
 
Posts: 3389
Joined: Thu Jun 22, 2006 8:38 am

Post » Wed Jun 20, 2012 5:11 pm

SetPlayerTeammate won't be helpful to you here--it doesn't make an NPC follow the player. Instead, you'll want to read up on http://www.creationkit.com/Packages and the procedures within them. To get an NPC to follow the player, you apply a Follow procedure; to get them to initiate dialogue, you use a Force Greet procedure; to get her to walk away if the player chooses not to help, you'd use a Travel procedure. And you can conditionalize procedures and packages so that they're only valid within a given cell.
User avatar
Samantha Jane Adams
 
Posts: 3433
Joined: Mon Dec 04, 2006 4:00 pm

Post » Wed Jun 20, 2012 4:16 pm

Thanks for the help! I had wondered if it might be handled by an AI package but figured it was a script when I looked at the quest The Silver Hand (since it seemed to use a script to make Aela follow the player). Using a package, I've managed to get her to follow the player, and I've set up forcegreet and travel packages, but the forcegreet package doesn't seem to work. In other words, she's not talking to the player when he/she gets her close enough to the corpse. The default distance is 100, which I know is very close, but I've had her standing right on top of it and she doesn't react. I have tried using the actor's reference itself as well as the actor's quest alias for the target corpse, but neither causes my quest to update or gets her to say anything. Is there something different you have to do with corpses as opposed to live targets?

Also, with the travel package, once she reaches her destination, how do I make her disappear? Do I run a script fragment with the disable command?

One other thing while I'm thinking about it - are dialogue idle anims messed up somehow? I set her to IdleBracedPain during each topic of the initial conversation (since when the player meets her, she's just been attacked), but with every line she does this flowery arm-waving gesture instead.

Finally, I want to make this NPC an actual follower once she's seen the corpse and spoken to the player again. I've already given the quest a script fragment that's supposed to raise her relationship with the player and she's already got the appropriate factions, but how do I do it without the player having to say 'Follow me. I need your help.'? In other words, once the player accepts her offer to accompany him/her, how do I make her become a follower automatically?

Thanks!
User avatar
Rodney C
 
Posts: 3520
Joined: Sat Aug 18, 2007 12:54 am

Post » Wed Jun 20, 2012 8:40 pm

Not sure why she doesn't force greet the player--I'd suggest double-checking the distance settings you have for the force greet procedure. If you can't get it working, you could post links to screenshots of the way the package(s) are setup.

Yes, disabling her after she walks away is probably easiest.

For making her into a follower, I think in the dialogue fragment where she agrees to follow the player, you can create a property of type DialogueFollowerScript and link that to the DialogueFollower quest's DialogueFollowerScript. Then you can call that script's SetFollower function in the fragment.
User avatar
des lynam
 
Posts: 3444
Joined: Thu Jul 19, 2007 4:07 pm

Post » Thu Jun 21, 2012 2:33 am

Okay, I managed to do a work around to get it working by using the FollowTo package instead of the Follow package, followed by putting the appropriate quest advancement lines in the package's OnEnd script fragment. Since these packages have the option to start dialogue at the end anyway, I may not even need a forcegreet package; I'll have to try it and see. As for the property and DialogueFollowerScript, I didn't see anywhere in the dialogue view that I could create a property. Is there somewhere else I should be looking for that option?

Again, thanks for your help!


EDIT: Yep, still need a forcegreet package. As an aside, I'm still curious about the idle anims during dialogue. If I choose Idle_BracedPain, it doesn't look like braced pain at all. Does anybody know why not?
User avatar
Vicki Blondie
 
Posts: 3408
Joined: Fri Jun 16, 2006 5:33 am

Post » Thu Jun 21, 2012 4:14 am

My custom courier tutorial http://www.creationkit.com/Creating_Custom_Courierscovers making an NPC travel to and greet the player...it can be done with simple AI packages like "Travel" with the target being your target corpse and the condition being if the distance is greater than 1000, then a Forcegreet with a radius of 1500 for the player, with both of those AI packages also having a condition that the quest hasn't reached the stage where the NPC should leave, attack the player, or whatever else he does, and finally the package for whatever you want it to do after the quest stage advances beyond the conditions of the travel and forcegreet packages.
User avatar
Anthony Rand
 
Posts: 3439
Joined: Wed May 09, 2007 5:02 am

Post » Wed Jun 20, 2012 3:10 pm

Redwood Elf - thanks for the wiki link. You've got a lot of nifty info there. Right now, I've already gotten my NPC to follow, travel, and forcegreet properly. I still need help on getting her to automatically become a follower without the player needing to say 'Follow me. I need your help.' if anybody knows what DreamKing meant by creating a property on a dialogue topic, I'd be very appreciative since I can't seem to find dialogue properties anywhere.

Additionally, if anybody knows what's up with the idle animations during speaking, I'd love to hear about that. I looked at my data/meshes/.../animations folder and didn't see anything there that would be overwriting as far as I can tell. Also, my NPC refuses to use the weapons she is given/taken, and her class seems to have absolutely zero effect on her skills, which is odd. I'll have to test more with some of my mods disabled, but I'd still like help if anybody has encountered these issues before.

Thanks!
User avatar
Kara Payne
 
Posts: 3415
Joined: Thu Oct 26, 2006 12:47 am

Post » Wed Jun 20, 2012 12:23 pm

You can actually make an NPC follow the player without really becoming a follower with AI packages...the only thing it won't be able to do is share inventories and do favors (unless you code that behavior separately) Just have it use follow player package, and check for ParentCell periodically then use a MoveTo(Game.GetPlayer()) if the player changes cells.
User avatar
Harinder Ghag
 
Posts: 3405
Joined: Wed Jan 17, 2007 11:26 am

Post » Wed Jun 20, 2012 6:31 pm

I still need help on getting her to automatically become a follower without the player needing to say 'Follow me. I need your help.' if anybody knows what DreamKing meant by creating a property on a dialogue topic, I'd be very appreciative since I can't seem to find dialogue properties anywhere.

In the "Topic Info" window where you define her responses to a dialogue choice by the player, there is a section at the bottom labeled "Scripts" where you can add start and end fragments, yes? And to the right of that is a box headed by "Script Name," with a button for "Properties." Now, there's a bit of a catch-22 here: you can't click the button without a script, but a script won't compile if you try to reference an uncreated property. Easiest thing to do is just enter "int a" in the "End:" script box and click "Compile." A script should appear in the "Script Name" box; highlight it and then click the "Properties" button. Manually type in "DialogueFollowerScript" as the Type, and call it something like "FollowerScript." Then in the "End:" box, you can get rid of "int a" and replace it with your real script:

FollowerScript.SetFollower(akSpeaker)

As for idles, I haven't used the specific one you're having issues with. I have noticed some oddness with other idles; for example, stirring a pot is considered to be sitting.

Class should impact skills, that works fine as far as I can tell.
User avatar
Beth Belcher
 
Posts: 3393
Joined: Tue Jun 13, 2006 1:39 pm

Post » Wed Jun 20, 2012 11:29 pm

Okay, I was looking for properties on the dialogue itself, not its script. I'm with you now.

Guess I'll have to start sifting through the various idle anims until I find which one the braced pain is supposed to be. Anyway, thanks again for the help!
User avatar
Elena Alina
 
Posts: 3415
Joined: Sun Apr 01, 2007 7:24 am

Post » Wed Jun 20, 2012 1:51 pm

Argh, okay, I did what you suggested, and unfortunately it didn't work. I don't get any error messages in the CK or anything like that, but when I go through that dialogue with her, the mission just ends (as it's supposed to). I still have to talk to her again and ask her to follow. I might take a look at that follower script later and see if I can make any sense of it, but my papyrus skills are obviously very lacking. I'd appreciate any other suggestions you or anybody else might have.

Thanks!
User avatar
Laura Elizabeth
 
Posts: 3454
Joined: Wed Oct 11, 2006 7:34 pm

Post » Wed Jun 20, 2012 8:13 pm

I noticed I did forget one thing at the end re: following--you need to set the property you added (the only possible value is likely to be DialogueFollower, but it must be set anyway).
User avatar
Dark Mogul
 
Posts: 3438
Joined: Tue Feb 20, 2007 11:51 am

Post » Wed Jun 20, 2012 4:56 pm

I actually just managed to get it working. I took a look at DialogueFavorGeneric (the quest where you say Follow me. I need your help.) and was able to use the same script fragment it does to get it to automatically add her as a follower and to check to make sure the player doesn't already have a follower, etc. Now I just need to play around with it a little to see if it was UFO that was causing her to not use her equipped weapons or whether I have another issue (it was weird, she had a bow and daggers equipped, but she kept trying to fight everybody with her fists).

Oh, one more question - is there a way to set a specific home for her when dismissed (preferably without overwriting the original follower quest so that she's compatible with other follower mods)? I assume that by default she'll return to the mine the player finds her in, but that'd be a little odd story-wise, considering she was held there against her will. Hrm...I suddenly just got the feeling that I'm opening a much bigger can of worms than the original quest.

Again, thanks for all your help!
User avatar
Barbequtie
 
Posts: 3410
Joined: Mon Jun 19, 2006 11:34 pm


Return to V - Skyrim