PDA

View Full Version : "Could not open sheet", internal to module



Ragnarok357
February 6th, 2009, 21:44
Greetings,

I'm very new to working with FG, and to coding in general. I've been trying to (effectively) home-brew my own version of the d20 Spells module for use in a different system, because I like the drag-drop and linking functionality the d20 ruleset affords.

I've run into an issue where when I open the module in FG, it appears in the library as expected, but when I click on the class spell list equivalent I receive the message: "Could not open sheet with data from unloaded module "<the name of the module>". Clearly the module is loaded since it appears properly in the library, but something isn't right here.

As best I can tell, the contents of my ruleset's "reference_spells.xml" file entirely duplicates the d20 ruleset version in terms of defining what should go in a class spell list window, and the structure of my client.xml in the module itself duplicates the d20 spell module, even using many of the same tags.

I'm not sure what other information would be useful, but based on that is there any advice that you can offer me?

Griogre
February 6th, 2009, 22:38
Check your links in the library entry section you probably copied *too* literally. If you are clicking on links in your new module and FG tells you the d20 module not loaded then you are still pointing at entries in the d20 module (or vice versa). It is possible to cross link to different modules in FG and that is probably what you are doing instead of what you want.

For example in the Shaintar Player module I crosslinked to the Savage World Player module for some spells and used spells in the Shaintar Player module for other ones:

In the Shaintar Player Module the library module has this for the library entry:


<library>
<shaintarplayer static="true">
<name type="string">Shaintar Player</name>
<catagoryname type="string">Shaintar</categoryname>
<entries>
..... lots of stuff
</entries>
</shaintarplayer>
</library>
Note the red line shows the name of this library module *is* Shaintar Player.

So when I want to call a the Aninmation spell in this module the link looks like this:

<linklist>
<link class="powerdesc" recordname="powerdesc.animation@Shaintar Player"><b>Animation</b></link>
</linklist>

Note this spell is located in the powerdesc part of the XML and the "@Shaintar Player" tells FG this powerdesc node is in the Shaintar Player Module.

Now when I made a cross link into the SW Revised Player module for the Armor spell the link looks like this:

<linklist>
<link class="powerdesc" recordname="powerdesc.armor@SW Player Rules"><b>Armor</b></link>
</linklist>

Note the differance after the "@" because I was calling the SW Player Rule module to get the spell. If that module had not been open when the link was clicked FG will give you a message that that module was not open.

This link calling into the SW Player modules implies the name entry in the library section of the SW Player module must look like this:



<library>
<swrulesplayer static="true">
<name type="string">SW Player Rules</name>
<catagoryname type="string">Savage Worlds Rules</categoryname>
<entries>
..... lots of stuff
</entries>
</swrulesplayer>
</library>

So most likey all you need to do to fix your problem is make sure the name of your module in the library section of the module and links are the same. You also need to make sure the name of your module is not the same as any other module or you are tell FG you are combining the data in the modules with the same name which implies all those modules have to be open. If you are still confused then post the first 4 lines of the library section of your module and one link that doesn't work. Remember if you change the name of your module you need to edit the description.xml so it matches the new name.

Ragnarok357
February 7th, 2009, 17:14
The error message is actually pointing at the correct module, that's the wierd thing. This is part of me trying to extend the available Dark Heresy ruleset that's been floating around out there to have an online psychic powers tool. Here's the library contents:

<library>
<DHPowers static="true">
<name type="string">Dark Heresy Psychic Powers</name>
<categoryname type="string">Dark Heresy Core Rules</categoryname>
<entries>
<psykerset>
<librarylink type="windowreference">
<class>reference_classspelllist</class>
<recordname>spelllists.psy@DHPowers</recordname>
</librarylink>
<name type="string">Psychic Powers</name>
</psykerset>
</entries>
</DHPowers>
</library>

where the spell descriptions and then the spell list itself follows. The source list is titled "psy" just as indicated in the pointer. The link appears properly in the library, but when I click on it, rather than opening the formatted list as expected it gives me the message, "Could not open sheet with data from unloaded module DHPowers."

Griogre
February 7th, 2009, 21:22
These are always the most frustrating errors - you are calling the wrong module name. The code using the current name should be (correction in red):



<library>
<DHPowers static="true">
<name type="string">Dark Heresy Psychic Powers</name>
<categoryname type="string">Dark Heresy Core Rules</categoryname>
<entries>
<psykerset>
<librarylink type="windowreference">
<class>reference_classspelllist</class>
<recordname>spelllists.psy@Dark Heresy Psychic Powers</recordname>
</librarylink>
<name type="string">Psychic Powers</name>
</psykerset>
</entries>
</DHPowers>
</library>

These have to match:

<name type="string">Dark Heresy Psychic Powers</name>
<recordname>spelllists.psy@Dark Heresy Psychic Powers</recordname>
The enternal name of this module Dark Heresy Psychic not DHPowers. The absolute easiest fix if you have already made alot of links would be to just change the name of the module since you would only have to change that one name line and the rest of the links would work since you are calling with that module name anyway:


<library>
<DHPowers static="true">
<name type="string">DHPowers</name>
<categoryname type="string">Dark Heresy Core Rules</categoryname>
<entries>
<psykerset>
<librarylink type="windowreference">
<class>reference_classspelllist</class>
<recordname>spelllists.psy@DHPowers</recordname>
</librarylink>
<name type="string">Psychic Powers</name>
</psykerset>
</entries>
</DHPowers>
</library>

Ragnarok357
February 8th, 2009, 05:38
Oops! I totally missed that, didn't notice I'd done something different from the (correct) naming scheme I'd used in other modules. Thanks for the help!