0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post here if you need help getting started with Daggerfall Unity or just want to clarify a potential bug. Questions about playing or modding classic Daggerfall should be posted to Community.
Calistex
Posts: 9
Joined: Wed Feb 13, 2019 1:47 pm

0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Calistex »

I was asking Queen Berenziah info about herself, and while giving me inexact directions (don't know if it's the standard behaviour of the game), some of the answers displayed " %loc[nullMCP]".
It's a fresh install, no mod.
bug.png
bug.png (610.31 KiB) Viewed 1776 times
I reloaded the game and asked her again the same question, now it says that it doesn't sound familiar and that she's not the right person to ask.

User avatar
Ferital
Posts: 282
Joined: Thu Apr 05, 2018 8:01 am

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Ferital »

Could you provide a save so I can take a look at the macro issue?

Calistex
Posts: 9
Joined: Wed Feb 13, 2019 1:47 pm

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Calistex »

Here's the save
save.7z
(242.11 KiB) Downloaded 89 times

User avatar
Hazelnut
Posts: 3016
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Hazelnut »

I don't see the option to ask about herself when I tried it.

The nullMCP indicates that the context provider is null, but the loc macro handler doesn't use an mcp so this can only happen if the handler returns null and the controlling code reports that the MCP must have been null. Ferital may find something in TalkManager functions that are called by the handler, but unless you can give steps to reproduce from a savegame I don't think we will be able to figure out this one.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
Interkarma
Posts: 7247
Joined: Sun Mar 22, 2015 1:51 am

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Interkarma »

This one is a bit unusual. Normally you cannot query Where Is > Queen Barenziah. And when Queen B is an active questor, the talk window can't be opened for that NPC at all.

There must be a condition where Queen B is included as a quest Person in something, but not actively part of the quest script. I can't think off the top of my head which conditions allowed this to happen.

Calistex
Posts: 9
Joined: Wed Feb 13, 2019 1:47 pm

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Calistex »

Ok, I've tried again. When I start the game and open that exact savafile, when I talk to the Queen, she sometimes gives me a mission, and after accepting, I can speak to her normally just like in the screen, and the option to talk about Queen Barenziah appears, with the same %loc[nullMCP].

If I load that savefile while I'm playing, and try to talk to her, the option disappears.

I've tried two or three times. If I shut the game completely, open it, open the savefile and talk to her, the option will show up, sometimes giving me that error, sometimes telling me that she doesn't want to talk to me, but loading that savefile from inside the game itself makes the option disappear.

Calistex
Posts: 9
Joined: Wed Feb 13, 2019 1:47 pm

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Calistex »

Tried two more times, with and without mods.

Now the option doesn't appear at all. I'm sorry guys :(

User avatar
Interkarma
Posts: 7247
Joined: Sun Mar 22, 2015 1:51 am

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Interkarma »

I was able to make a save to reproduce. This one has question available every time I load, I hope the same holds for you guys.

Load the save and ask Queen B Where Is > Queen Barenziah. It can happen when she offers a noble quest, but doesn't seem to happen with all quests. Anyway, spam the question until null macro warning appears.

You might have to reload a couple of times, as sometimes she fails the roll to know about herself. This game...
Attachments
SAVE675.zip
(331.37 KiB) Downloaded 84 times

User avatar
Interkarma
Posts: 7247
Joined: Sun Mar 22, 2015 1:51 am

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Interkarma »

Looks like it happens with general NPCs too. The problem just appears to be an issue with %loc properly resolving "Castle Daggerfall".
Attachments
loc.JPG
loc.JPG (301.58 KiB) Viewed 1704 times

User avatar
Ferital
Posts: 282
Joined: Thu Apr 05, 2018 8:01 am

Re: 0.10.2 (Win 10 x64) %loc[nullMCP] when talking to Queen Berenziah

Post by Ferital »

Seems there are at least two issues there.

The first is indeed related to %loc expansion for a quest person located inside a dungeon. This can happen with Castle Daggerfall, Wayrest and Sentinel but also with Shedungent and Orsinium when getting random quests from Nulfaga or Gortwog. I'll take a look into this.

The other issue is related to unique NPCs: normally, a unique NPC like Queen Barenziah should not be able to talk to player until he finished the quest she/he gave to him. This works perfectly for the main quest (because of the "add _npc_ as questor" command) but is broken for random noble quests. This seems to be related to the fact a unique NPC is never flagged as questor in his related Person object instance. I noticed this yesterday for another reason: once player has completed a quest for a unique NPC (either part of the main quest or a random one), he his never greeted by the NPC with quest successful or failure greetings.

Edit: it is actually untrue, a unique NPC is correctly flagged as questor for the duration of a random quest he gave to player. So the issue is elsewhere.

Post Reply