For some reason, when I try to rest in a safe place in MoTB, nothing happens when I click on Rest. The screen that comes up allowing me to select either rest or wait shows that I am in a safe place, but when I click on rest, nothing happens. This is a new development for me. Any thoughts? Please help.
UPDATE: So, as a test, I basically changed the name of the documents/game directory so that only the base game would play. Started a new MoTB character and rested no problem. Now, How do I find what the differences are, and more importantly, what differences am I looking for?
Have you got any k_mod_player_rest.nsc or gui_rest files in your override?
This reminds me of a bug I found while playing another campaign (Nwn2fixes - #778 by 4760)
//[4760] due to the ClearAllActions() call in DoSinglePartyRest(), the cancel event is always fired, even if not selected in the GUI!
event eEvent = EventUserDefined(4760);
SignalEvent(GetModule(), eEvent);
So, where am I putting this exactly? Just above the Break? Also, where is 4760 defined, or how am I to define it?
Also, I am using KAedrin’s PRC, The Complete Craftsman, Rod of the Shopkeeper, and the Level Scaling Mods. I have also added quite a bit of my own modifications as well. But none of what I have done should have affected, in any way, the MoTB resting system. I am just really confused here.
Apart from the level scaling challenge mod, I don’t use any of the others. But since everything works with an empty override, the problem has to come from one of these mods, or maybe your own modifications.
The usual way to find where to look is to add the mods one at a time, start a game, check if it works - if yes, install another mod; if no, you know it’s the latest installed mod that causes the problem.
But most probably it’s the k_mod_player_rest script that is the cause (the OnPCRested event you’ll see in the module properties). So I’d first look for a file with this name in your override.
Okay, I have that k_mod_player_rest script. What am I supposed to do with it? That’s what the OnPCRest is pointing to. There is no On PC Rested property that I can see.
Here’s a Screen Capture.
If you have the solution, I would greatly appreciate it. The important thing is that the k_mod script is untouched.
The main difference between the one in the campaign script and the one in the override directory is this: First, at the top is:
#include "cmi_includes";
And then at the beginning of Void Main():
{
int _isSoZ;
string sTag = GetTag(GetModule());
if ( sTag == "F_X2"
|| sTag == "G_X2"
|| sTag == "M_X2"
|| sTag == "N_X2"
|| sTag == "O_X2"
|| sTag == "S_X2"
|| sTag == "T_X2"
|| sTag == "X_X2"
)
{
_isSoZ = TRUE;
//This code is for SoZ and is meant ONLY to fix Septimund's spellcasting and
//resting on the overland map.
object oPartyMember = GetFirstFactionMember(oPC, FALSE);
while(GetIsObjectValid(oPartyMember) == TRUE)
{
if (GetTag(oPartyMember) == "co_septimund")
{
if (!GetHasFeat(2249, oPartyMember))
FeatAdd(oPartyMember, 2249, FALSE, TRUE);
}
ExecuteScript("ccs_player_rest",oPC);
oPartyMember = GetNextFactionMember(oPC, FALSE);
}
}
else
_isSoZ = FALSE;
if (_isSoZ)
AssignCommand(oPC, ClearAllActions());
}
I already tried commentin out those lines, but no good. And nothing that I have done should have affected any of the rest routines. I simple added a couple of Prestige classes, a Base Class, and a bunch of Feats and Spells. I did nothing to any of the rest scripts except for the “cmi_player_rest”, but that has custom content for other classes in it already.