No library found in Daggerfall City for NPC placement

For all talk about quest development - creation, testing, and quest system.
Post Reply
haloterm
Posts: 319
Joined: Sat Feb 16, 2019 5:21 am

No library found in Daggerfall City for NPC placement

Post by haloterm »

Another strange thing... I have a quest where I place a person in a library in Daggerfall City. But it failed to do so this time (other times, it works):
Parsing quest MDBHC001.txt
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

[MDBHC001] Generated Home for Person _BHCEditor_ [Ysyna Copperwing] at 'Daggerfall/Daggerfall' in building 'Daggerfall Lyceum'
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

(...)

Parsing quest MDBHC001.txt FAILED!
Could not find local site for _BHCOffice_ with P2=10 in Daggerfall/Daggerfall.
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)
The _BHCOffice_ is exactly the place where the NPC _BHCEditor_ should be placed, as in the following (shortened) code snippet:

Code: Select all

Person _BHCEditor_ group Librarian
Place _BHCOffice_ local library

place npc _BHCEditor_ at _BHCOffice_
This worked a hundred times for me since I started the Black Horse Courier mod (also today a few times), but suddenly it failed, without any change to the quest.

Before I started the quest, I used "purgeallquests" to kill all other quests, so the NPC spot in the library can not be occupied by some other quest's NPC.

haloterm
Posts: 319
Joined: Sat Feb 16, 2019 5:21 am

Re: No library found in Daggerfall City for NPC placement

Post by haloterm »

In another run, I got a different strange result:
Parsing quest MDBHC001.txt
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

[MDBHC001] Generated Home for Person _BHCEditor_ [Alabynak Hearthham] at 'Daggerfall/Chesterwark' in building 'The Champion Athenaeum'
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)

Created NPC Alabynak Hearthham with FactionID #510.
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 39)
So here, while my player character is inside Daggerfall City, the generated homes are somewhere else in the whole region.

The same, by the way, is not just for the librarian NPC; I have two others (one should be in the local Temple , another one in a normal house) who also sometimes are generated in different cities outside Daggerfall City. Again, no other quests running at that time (purgeallquests).

Shouldn't "Place _ABC_ local XYZ" always select a building in the city I am currently?

I would understand the observed behavior if the city would not have the required buildings, but Daggerfall City has at least one library and also a temple.

haloterm
Posts: 319
Joined: Sat Feb 16, 2019 5:21 am

Re: No library found in Daggerfall City for NPC placement

Post by haloterm »

Okay, it seems that I misunderstood the log messages and how NPC creation works. I noticed my misunderstanding when I finally have a successful run of the (unchanged) quest; it now correctly created the requested local places (library, temple, house) and assigned my NPCs correctly to these created places.

I guess when I use Person _BHCEditor_ group Librarian it gets a random location in the region, that's why the different locations are shown in the log file.

But that still does not explain why sometimes the creation of the local places and the assignment of the NPCs with the "place" command works and sometimes not. :(

User avatar
Jay_H
Posts: 3670
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: No library found in Daggerfall City for NPC placement

Post by Jay_H »

Some changes have happened in the quest engine in the last couple of updates. If you don't include a "local" or "remote" parameter on your NPC, the game is left guessing. See the changes brought about by this pull request: https://github.com/Interkarma/daggerfal ... /pull/2145

You can look at the new Main Quest files to see how to define NPCs with local or remote flags.

I shall move this topic to Quest Development!

haloterm
Posts: 319
Joined: Sat Feb 16, 2019 5:21 am

Re: No library found in Daggerfall City for NPC placement

Post by haloterm »

Jay_H wrote: Thu Sep 16, 2021 11:19 pm Some changes have happened in the quest engine in the last couple of updates. If you don't include a "local" or "remote" parameter on your NPC, the game is left guessing. See the changes brought about by this pull request: https://github.com/Interkarma/daggerfal ... /pull/2145

You can look at the new Main Quest files to see how to define NPCs with local or remote flags.

I shall move this topic to Quest Development!
Oh... okay! Thanks, I did not see this. I will do some reading and catching up.

haloterm
Posts: 319
Joined: Sat Feb 16, 2019 5:21 am

Re: No library found in Daggerfall City for NPC placement

Post by haloterm »

Okay, by adding "local" to my persons I can indeed make sure they are created in the city.

However, the issue persists, and my suspicion is that if a local NPC is created by coincidence in a building which I later want to use as local place, the place creation fails, because the building is already referenced (by the created NPC). I get this from the log file study.

I now changed "local" to "remote" and interestingly, these remotely created NPCs can be moved successfully to their actual story locations.

Now my next question would be: Can I create a place which is inhabited by the required NPC in one combined command?

User avatar
Jay_H
Posts: 3670
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: No library found in Daggerfall City for NPC placement

Post by Jay_H »

No, you'll need to define them separately and then place the NPC inside the building via action.

haloterm
Posts: 319
Joined: Sat Feb 16, 2019 5:21 am

Re: No library found in Daggerfall City for NPC placement

Post by haloterm »

Jay_H wrote: Thu Sep 16, 2021 11:59 pm No, you'll need to define them separately and then place the NPC inside the building via action.
Okay, as I already do. Good, then first define them as "remote" to avoid they are place randomly in buildings I need, and then move them to the buildings.

Post Reply