I created my own module core script, stripping out all event handling except for EVENT_TYPE_MODULE_PRESAVE. I've set my script as the module's script in the Manage Modules->Properties section under the File menu.
I get the area tag for the PC's current, and check to make sure it has an appropriate prefix, and set the StoryPlot. My plot's Entry Type is set to the type story. Relevant lines of the script are:
object oArea = GetArea(GetHero());
string sAreaCode = StringLeft(GetTag(oArea), 3);
if (sAreaCode == "am1")
{
WR_SetPlotFlag(PLT_AOM000_SSF, AOM_SSF_FOUND, TRUE);
WR_SetStoryPlot(PLT_AOM000_SSF);
}
I took out the following section, because I believe this was leading to double handling of events - and the big framerate drops some people were experiencing with add-in modules previously.
if (!bEventHandled)
{
HandleEvent(ev, RESOURCE_SCRIPT_MODULE_CORE);
}
However, I still get the same origin story text as the save summary aka "Story So Far".
The module script is getting called, as I threw in a WR_SetPlotFlag call set finish a quest, the quest is completed.
I'm guessing that my script is getting called first, and then before the save, the default sp_module_start script is run, overriding the SetStoryPlot() call in my script.
How was the "Story So Far" customised for Stone Prisoner/Warden's Keep?
Modifié par AmstradHero, 19 janvier 2010 - 12:19 .