PDA

View Full Version : New to this and can't figure out how some things are defined



Archamus
October 15th, 2014, 07:16
I'm new to this and have been fumbling through editing an unfinished 2nd edition exalted ruleset for an upcoming game. I've been having fun figuring things out, but below are a couple of things I seem to be struggling with right now.

First, I see <basicnumber>, <button_iadd>, and <button_idelete> used in some rulesets, but whenever I try to use them I get the error, "Could not find template (button_iadd etc) in windowclass (windowclass_name)". Except for <basicnumber> which fantasy grounds seems to be treating as nonexistent.

Searching across all the files in the ruleset I can't find anywhere where these things are defined as classes. Is anyone able to direct me on how to find where these things might be defined?

Another one is buttonfield. It's pretty straight forward, and the below snippet works fine, giving me a toggleable field displaying 1 through 4. However it appears as simple text with no button graphic around it.


<buttonfield name="test">
<anchored to="notes" position="right" offset="5,0" width="35" height="20" />
<frame name="fielddark" offset="7,5,7,5" />
<stateframe>
<hover name="fieldfocus" offset="7,5,7,5" />
</stateframe>
<state text="1" />
<state text="2" />
<state text="3" />
<state text="4" />
</buttonfield>

Again no idea why, and I can't find anything else in the ruleset I have that uses it that might explain why it doesn't look right.

Valarian
October 15th, 2014, 08:38
Those template items are defined in the CoreRPG files. In the base.xml, have you included the CoreRPG as a base for your ruleset?


<importruleset source="CoreRPG"/>

Archamus
October 15th, 2014, 10:13
I did not know about that one. Thank you!

This is opening a whole new can of worms for me.

Ikael
October 15th, 2014, 10:26
Those template items are defined in the CoreRPG files. In the base.xml, have you included the CoreRPG as a base for your ruleset?


<importruleset source="CoreRPG"/>


By simply including that one-line to old ruleset might cause serious issues all over the ruleset since it will merge templates, windowclasses, panels and scripts from both rulesets. If your ruleset contains the same named resource it will replace CoreRPG one. This creates several issue possibilities. For instance some CoreRPG scripts (which are not overridden by the ruleset) might require functionality but that functionality might have been overridden by your ruleset and you have lots of script errors. The same goes with windowclasses and templates. CoreRPG expects certain elements to exist, if they are missing you get errors.

When I was converting Savage Worlds into CoreRPG I was investigating different approaches how to do it. By simply including that line was the worst case at least in Savage Worlds ruleset.

The best way to include CoreRPG functionality is to pop them up one at the time. I did this by adding that one liner, but also marked all CoreRPG panels, templates, windowclasses and scripts as excluded (ie. not in use). Thereafter when I needed to bring certain CoreRPG functionality I removed it from exclude list and checked that my ruleset's codes were not in conflict with it. See the attached xml file, it's my original exclude-all list. I strongly recommend this approach not to get flooded by errors, but manage and deal with them one at the time.

Archamus
October 16th, 2014, 02:40
Is there a way to exclude the gameelements.xml? Even with the exclude list it is adding back dice that I had removed from my ruleset.

Ikael
October 16th, 2014, 05:49
Is there a way to exclude the gameelements.xml? Even with the exclude list it is adding back dice that I had removed from my ruleset.

Yes you can. Use the similar approach like in the xml file. Parts of game elements were not included because I managed them in the original file

Archamus
October 16th, 2014, 06:36
I'd tried that, but couldn't seem to get it to work. I don't know if the <die> tag is something that can be excluded. However I discovered <customdie> and that did the trick.

Thanks for the help.