PDA

View Full Version : A little help, please



Stormonu
July 18th, 2006, 18:17
Well, looks like I've taken a swan dive into XML coding that's turning into a cannonball...

I'm trying to modify the equipment section to turn it from text into an expandable list, similar to the monster section (but with the look of an equipment table).

Unfortunately, I can't seem to get it to look deeper than the first node (weapon, armor, gear), and being the n00b to XML coding that I am, don't know how to fix the problem. Here is my equipment code section:

d20modified_reference.xml


<windowclass name="equipment">
<datasource name="equipment"></datasource>
<frame name="referencebox"></frame>
<dynamic resize="vertical"></dynamic>
<defaultsize width="700" height="650"></defaultsize>
<minimize icon="minimized_reference"></minimize>
<sheetdata>
<windowopencontrol>
<icon normal="button_dragtarget"></icon>
<bounds rect="25,20,20,20"></bounds>
<class name="type"></class>
</windowopencontrol>
<stringcontrol name="type">
<bounds rect="50,25,-25,25"></bounds>
</stringcontrol>
<windowlist class="equipmentstyleline" name="liststyle">
<bounds rect="30,52,-25,-25"></bounds>
<font normal="chatfont" bold="narratorfont" italic="chatitalicfont" bolditalic="chatbolditalicfont" title="titlefont"></font>
</windowlist>
<scroller>
<bounds rect="-63,-45,45,27"></bounds>
<target name="liststyle"></target>
<button normal="button_scroller" pressed="button_scroller_down"></button>
</scroller>
</sheetdata>
</windowclass>

<windowclass name="equipmentstyleline">
<datasource name="weapons"></datasource>
<sheetdata>
<stringcontrol name="style">
<bounds rect="0,0,200,25"></bounds>
</stringcontrol>
<windowlist class="equipmentclassline" name="listclass">
<bounds rect="25,27,-25,-25"></bounds>
<dynamic resize="vertical"></dynamic>
</windowlist>
<stringcontrol name="class">
<bounds rect="50,0,-25,25"></bounds>
</stringcontrol>
</sheetdata>
</windowclass>

<windowclass name="equipmentclassline">
<datasource name="simple"></datasource>
<sheetdata>
<stringcontrol name="class">
<bounds rect="50,0,-25,25"></bounds>
</stringcontrol>
<windowlist class="equipmentdetailline" name="listdetail">
<bounds rect="50,27,-25,-25"></bounds>
<dynamic resize="vertical"></dynamic>
<nestdata></nestdata>
</windowlist>
</sheetdata>
</windowclass>

<windowclass name="equipmentdetailline">
<datasource name="lightmelee"></datasource>
<sheetdata>
<stringcontrol name="name">
<bounds rect="75,0,200,25"></bounds>
</stringcontrol>
<stringcontrol name="cost">
<bounds rect="275,0,50,25"></bounds>
</stringcontrol>
</sheetdata>
</windowclass>


When fantasygrounds calls the code above, it opens the referencebox, puts a drag/drop icon and shows the equipment type (Armor, Weapon or Equipment), but the rest is blank. Anyone see what I'm doing wrong? I figure it has something to do with the fact the code isn't seeing the deeper equipment nodes.

Also, one big problem is that I know I need the <nestdata> in the block somewhere, but I'm not sure where (and a definition of what <nestdata> is would be nice)

current equipment "test" section (note: there is a LOT I will be changing in this, due to the fact the weapon/armor/gear fields are so different from each other)

equipmentSRD.xml


<root>
<node name="equipment">
<node name="weapons">
<stringvalue name="type" value="Weapons"></stringvalue>
<node name="simple">
<stringvalue name="style" value="Simple Weapons"></stringvalue>
<node name="unarmed">
<stringvalue name="class" value="Unarmed Attacks"></stringvalue>
<node name="gauntlet">
<stringvalue name="name" value="Gauntlet"></stringvalue>
<stringvalue name="cost" value="2 gp"></stringvalue>
<stringvalue name="damagesmall" value="1d2"></stringvalue>
<stringvalue name="damagemedium" value="1d3"></stringvalue>
<stringvalue name="critical" value="x2"></stringvalue>
<stringvalue name="rangeinc" value="-"></stringvalue>
<intvalue name="weight" value="1"></intvalue>
<stringvalue name="type" value="Bludgeoning"></stringvalue>
</node>
</node>
<node name="ranged">
<stringvalue name="class" value="Ranged Weapons"></stringvalue>
<node name="crossbowheavy">
<stringvalue name="name" value="Crossbow, heavy"></stringvalue>
<stringvalue name="cost" value="50 gp"></stringvalue>
<stringvalue name="damagesmall" value="1d8"></stringvalue>
<stringvalue name="damagemedium" value="1d10"></stringvalue>
<stringvalue name="critical" value="19-20/x2"></stringvalue>
<stringvalue name="rangeinc" value="120 ft."></stringvalue>
<intvalue name="weight" value="8"></intvalue>
<stringvalue name="type" value="Piercing"></stringvalue>
</node>
<node name="crossbowheavybolts">
<stringvalue name="name" value=" Bolts, crossbow (10)"></stringvalue>
<stringvalue name="cost" value="1 gp"></stringvalue>
<stringvalue name="damagesmall" value="-"></stringvalue>
<stringvalue name="damagemedium" value="-"></stringvalue>
<stringvalue name="critical" value="-"></stringvalue>
<stringvalue name="rangeinc" value="-"></stringvalue>
<intvalue name="weight" value="1"></intvalue>
<stringvalue name="type" value="-"></stringvalue>
</node>
</node>
</node>
</node>
<node name="armor">
<stringvalue name="type" value="Armor"></stringvalue>
<node name="light">
<stringvalue name="class" value="Light Armor"></stringvalue>
<node name="padded">
<stringvalue name="name" value="Padded Armor"></stringvalue>
<stringvalue name="cost" value="5 gp"></stringvalue>
<intvalue name="armorbonus" value="+1"></intvalue>
<intvalue name="maxdex" value="+8"></intvalue>
<intvalue name="armorpen" value="0"></intvalue>
<stringvalue name="spellfail" value="5%"></stringvalue>
<stringvalue name="speed30" value="30 ft."></stringvalue>
<stringvalue name="speed20" value="20 ft."></stringvalue>
<intvalue name="weight" value="10"></intvalue>
</node>
</node>
</node>
</node>
</root>