TigerCubofPNW

[SKY] Aliases will be the death of me

Aliases.... I've posted many times before about them. Every time I think I have them mastered.... Well...

So, this mod basically invites people to live at a new place. I have struggled mightily in the past with the task of getting silly NPCs to stay in their new home. Here is how I understand it so people can correct me if I'm wrong.

When an NPC is placed in the game, that is called the Editor Location. That is where they will always go back to barring some AI telling them not to. If you want an NPC to consider a new place their home, you need to give them a new AI package via an Alias and then use the Evaluate package to make them refer to the new AI package instead of their homing pigeon instincts. There must needs be an AI package that encompasses the entire 24 hour period telling them to sandbox in their new locale.

So, I did that. I tested the aliases in game to be sure they were staying put and all was good. Specifically, their 24 hour package said, "If you're not doing anything else, just sandbox in this location."

It worked. Life was good. I moved on.

Now in the beta testing stages, the NPCs have decided they don't want to obey their AI packages and instead they just want to go home.

I tried changing the AI packages to say. "Sandbox around where you are" with no better results.

In a bizarre twist, some of the NPCs are obeying their packages. But every single one has the same 24 hour package

So, here are my questions:

Once an alias is filled, is tweaking the AI package associated with it futile? I want to say I've done it successfully, but I won't swear to it. I'm asking because I'm wondering if it's worth trying to run the quest with the tweaked AI packages from the beginning. That will be a royal pain and I don't want to, but if people think that has a chance that I will see better results, I'll do it.

Did I miss something? Is there some other trick to get an NPC to stay at  new location? I've studied the vanilla game and other mods and I think I have it right, but like I said, these aliases never seem to quite cooperate

 

0

Share this post


Link to post
Share on other sites

I don't see it being futile, however:

Anything a modder can do, is try not to interfere with what was already created before the modder began her project.  If your tweaking is on an

vanilla created AI package, then I would advise against it.  You should be able to tell the characters to stop using their beginning package and

start using a replacement package.

 

I'm curious, since some of them behave; that the non behaving ones might not have filled properly or have extra conditions on them.

Do the non behaving ones have additional packages on them or are they 'mirrored' (exact package setup) with the behaving ones?

 

My packages don't assume the npc will end up where it is supposed to.  This means the packages dictate going to a location, sandbox, travel to another,

sandbox, go home, sandbox, then lock doors, sleep. 

Edited by Ashenfire
0

Share this post


Link to post
Share on other sites

I don't see it being futile, however:

Anything a modder can do, is try not to interfere with what was already created before the modder began her project.  If your tweaking is on an

vanilla created AI package, then I would advise against it.  You should be able to tell the characters to stop using their beginning package and

start using a replacement package.

 

I'm curious, since some of them behave; that the non behaving ones might not have filled properly or have extra conditions on them.

Do the non behaving ones have additional packages on them or are they 'mirrored' (exact package setup) with the behaving ones?

 

My packages don't assume the npc will end up where it is supposed to.  This means the packages dicate going to a location, sandbox, travel to another,

sandbox, go home, sandbox, then lock doors, sleep. 

No, these are all packages made by me for the house I previously posted about. I try to avoid messing with any of the vanilla stuff

There are a lot of aliases, so what I did was group them. So, say, group A all have identical AI packages. Your thought about some of them being right and some being wrong was what I thought too. The thing is, they all (every group) has the same 24 hour package so that,  if no other packages apply, they should do that one. Or so I understand it.

It's interesting that you do the travel and then sandbox method. I did try that in my early testing phase, but it didn't seem necessary. When I tested this, on Group A, I said "Sandbox over here for a couple hours" and then "Go sandbox in the basement" and it worked fine. As I said, I tested this to exhaustion before I used it on a large scale which is why I am so frustrated that things have gone to crap.

I'm thinking (hoping) that there is just something effed with my test PC. His save files have been through the ringer. Given that as near as I can tell, the NPCs are doing their aliases before I walk into the house (which is like opening the fridge to see if the light is off when the door is closed) and that some of the Aliases are doing their thing, I hope that maybe this is a glitch. A very very bad glitch, but I dunno. If no one can point to a magic button I am failing to hit (hey, it's happened. My Navmesh tutorial never said anything about finalizing Navmesh so there was a simple fix to ONE of my problems) I will just have to try this with a different character and see if it works or doesn't work.

Unless you have another suggestion?

0

Share this post


Link to post
Share on other sites

I would add a small script to your alias that has your actors evaluate their packages. I did this with a couple of forcegreets and it seems to work pretty well.

0

Share this post


Link to post
Share on other sites

For big productions, I gave all of them packages to make sure they sandbox, use idle markers. They get to choose mostly what they do unless I want them to have a schedule of always practicing archery at a certain time, always sleep at a certain time.

I doubt it is a glitch.

Your actors will be doing their packages regardless if you observe them. 

They won't see the new place you want them to go to as their 'birth place' and will  treat 'editor location'  commands as where you first dropped them into the cell.  I so far, have been dropping the npc where I want them to end up doing routines.  I make the aliases for them and so far it has worked.

 

In the meantime,

Verify your alias for the new location is setup properly.  The ordered list is correct and one alias doesn't need a higher

priority.  Example:

Reference Alias Location
Select a Reference Alias on this quest (must be higher in the alias list); fill with that reference's current location (optionally use a keyword to select a desired parent location of the current location - no keyword means the current location).

Your alias has 'allow reuse in quest'

Try using the 'IN CELL' option in the AI package editor box; instead of near location.

Verify it points to the alias location which I assume is the NEW LOCATION.

example: 

 

You might want to consider using debug notification to verify the aliases are being filled correctly and being filled when you expected them to 'fire'.

Edited by Ashenfire
0

Share this post


Link to post
Share on other sites

For big productions, I gave all of them packages to make sure they sandbox, use idle markers. They get to choose mostly what they do unless I want them to have a schedule of always practicing archery at a certain time, always sleep at a certain time.

I doubt it is a glitch.

Your actors will be doing their packages regardless if you observe them. 

They won't see the new place you want them to go to as their 'birth place' and will  treat 'editor location'  commands as where you first dropped them into the cell.  I so far, have been dropping the npc where I want them to end up doing routines.  I make the aliases for them and so far it has worked.

 

In the meantime,

Verify your alias for the new location is setup properly.  The ordered list is correct and one alias doesn't need a higher

priority.  Example:

Reference Alias Location
Select a Reference Alias on this quest (must be higher in the alias list); fill with that reference's current location (optionally use a keyword to select a desired parent location of the current location - no keyword means the current location).

Your alias has 'allow reuse in quest'

Try using the 'IN CELL' option in the AI package editor box; instead of near location.

Verify it points to the alias location which I assume is the NEW LOCATION.

example: 

 

You might want to consider using debug notification to verify the aliases are being filled correctly and being filled when you expected them to 'fire'.

Interesting. I'm not sure what you're trying to tell me about the location alias. I should make a location alias for this place the NPCs are supposed to go and put it at the top of the list of aliases? Never seen anything like that before. Also not sure what you mean about priorities

I did read somewhere that the order of the AI packages matters (for some reason) so my 24 hour package is at the bottom. And the other packages are in order of time of day, starting at hour 0

Like you, I found that a general sandbox did not suffice. So I created a handful of packages that move them to different parts of the house--what I said before about sandboxing in different places.

I did use debug messages in the testing phases. If nothing else works, then I will verify that they are in their alias via test dialogue. I just don't get how the same code and package system that worked fine for the first group has failed on a larger scale. I did have this problem with the NPCs running home in the initial testing stages and that was where I learned that having them sandbox in their editor location meant I was telling them to sandbox in their original location. But I fixed that.

I could place them in the house and then use a script to move them to their initial locations at the mod start, but then I might have the same problem in reverse--they'd run to the house before being sent there. So, either way, I have to convince them to stay put.

Another way, which would be insane, but I suppose I could create two instances of the character and disable the one in the house at the start and then have them enabled as their counterpart is disabled. That's a heck of a lot of work though and seems like it shouldn't be necessary.

I'd much prefer if you hit the shiny button in CK and things just worked.

0

Share this post


Link to post
Share on other sites

I like the shiny! (Quote from Dragon Age dwarf)

This explains mostly what I was referring too:

http://www.creationkit.com/Quest_Alias_Tab

When you create an alias.  You create a location alias.  Then tell the packages to use the reference alias.

It should, I expect, call THAT location the 'birth place' and your NPCs won't attempt to go anywhere else.

 

The order I was referring to, means that if something in the alias list is asking for an alias or item,

the alias or item already has to be filled before it can fill its alias.

For instance if the top line defines the alias to go sandboxing at 'alias location X' then it will fail, because

'alias location X' has not been filled yet.

 

I expect that if you choose to make 2 actors, one for beginning and one for final location, it could be more involved.  Hopefully not too much.

  You can probably just have the beginner say his/her dialogue then disable his/herself through the dialogue.

  The final actor could then be enabled in the same place, but that would still require 'continuity' magic.  In other words making the npc

  go somewhere out of view of the player before disabling/enabling.

Edited by Ashenfire
0

Share this post


Link to post
Share on other sites

 You can probably just have the beginner say his/her dialogue then disable his/herself through the dialogue.

"Disable yourself!" sounds faintly like an insult... :lol:

0

Share this post


Link to post
Share on other sites

I suppose it is one way to tell a person to "stay out of it". 

1

Share this post


Link to post
Share on other sites

Er... So... I was finally able to find the problem. It seems that somewhere in my various CK crashes and so on, I lost the part where the quest with the aliases were was actually turned on. So... Yeah. Seems to be working. Sort of. Thanks everyone for the input

0

Share this post


Link to post
Share on other sites

It sounded like they weren't firing,...

Yeah, I felt stupid. It was just that I fixed that once. I just lost track of when and when crashes happened. Still got lots of good info, though, like the fact that yes NPCs are really stupid. "I need to go here. I'll just walk through this wall... Hmm... This isn't working..."

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now