Need help with a module's possible bug

Dalewinter 2, here is a link:
https://neverwintervault.org/project/nwn1/module/dalewinter-2-shadows-past

I am doing a quest called “Merchants: Lost Caravan”, I have reached upon, according to the NWNToolset itself, ID 5 which reads as follows:
“The caravan was carrying books. Religious books to be precise. The Hill Giant has burned most of them at the order of his employer in the city. I should return to the Merchant’s Guild to report what I have found.”

As it is said, I did come back to the Merchant’s Guild, but “Darrick Winters”, the NPC who I have to talk to, doesn’t have any option to continue or finish with the quest.
I took a look at NWNToolset for his conversation, I think but I’m sure I have to trigger some script that is “sc_merc2p3”, it goes as follows:

//::///////////////////////////////////////////////
//:: FileName sc_merc2p1
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 11/04/2003 20:10:09
//:://////////////////////////////////////////////
int StartingConditional()
{

// Inspect local variables
if(!(GetLocalInt(GetModule(), "MERCHANT2") == 3))
    return FALSE;

return TRUE;

}

I have a feeling my only way to proceed is to “cheat”, but I don’t know how to do this, can somebody please help me with this?

It’s saying “If the value of the integer MERCHANT2 on the module is not 3, this dialogue line will not show up. Otherwise, it will”.

Try this console command ingame, in debug mode:

## DebugMode 1
## dm_setmodulevarint MERCHANT2 3

I have tried it, but sadly it doesn’t seem to work.

hmm!

I’ve downloaded the module and cracked it open to take a look. It looks like these are root nodes in the conversation. If the condition for the line showing up is being met, but it’s still not showing up, it might be because one of the nodes on top is qualifying.

What does Darrick say to you when you talk to him ingame?

He says “Yes? Did you want something?” and my options are only two:

  1. Could you answer some more questions?
  2. I don’t want anything right now.

If I ask for questions, this is what I get:

hm! Alright, that’s the third one from the top, qualifications for which are as follows:

int StartingConditional()
{

    // Inspect local variables
    if((GetLocalInt(GetModule(), "QUEST3") > 1) ||
        (GetLocalInt(GetModule(), "MERCHANT2") == 4 &&
         !GetLocalInt( GetModule(), "MAIN")>1) )
    {
        return TRUE;
    }
    return FALSE;
}

Ergo, that line shows up if module int QUEST3 is greater than 1, or if MERCHANT2 is 4 and MAIN is not greater than 1.

It’s the same procedure to change the variables. If you want to try messing with them further, I’d suggest using dm_getmodulevarint to check what the values currently are, and write those down so you can restore them to the previous state if altering them mucks things up further. :-x

Alright, just checked the variants and indeed MERCHANT2 is actually set to 3, but MAIN is higher than 1, specifically 2.

Perhaps I shouldn’t have continued the main quest while I was at it, but it also could be that I just need to finish or proceed the main quest as well, right?

Thanks a lot for the help, you also helped me learn how I can use those debugging console commands, they will come in handy without a doubt.

1 Like