DN's D&D4e Character Sheet Framework

Framework(s) for D&D 4e, including Veggiesama's.

Moderators: Azhrei, dorpond, trevor, giliath, Gamerdude, jay, Mr.Ice

User avatar
MadJoker
Cave Troll
Posts: 55
Joined: Sat Mar 28, 2009 3:43 pm

Re: DN's D&D4e Character Sheet Framework

Post by MadJoker »

Sirchibbi wrote:Using this Frame work and i keep getting a error.

[spoiler=Error]java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeLo(Unknown Source)
at java.util.ComparableTimSort.mergeAt(Unknown Source)
at java.util.ComparableTimSort.mergeCollapse(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at net.rptools.maptool.client.ui.zone.FogUtil.calculateVisibility(FogUtil.java:81)
at net.rptools.maptool.client.ui.zone.ZoneView.getVisibleArea(ZoneView.java:216)
at net.rptools.maptool.client.ui.zone.FogUtil.exposeLastPath(FogUtil.java:256)
at net.rptools.maptool.client.tool.PointerTool.stopTokenDrag(PointerTool.java:267)
at net.rptools.maptool.client.tool.PointerTool.mouseReleased(PointerTool.java:541)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)[/spoiler]

Its very annoying, can anyone help Please?

Which MapTool version are you using?

User avatar
aliasmask
Deity
Posts: 8578
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: DN's D&D4e Character Sheet Framework

Post by aliasmask »

That's the java 7 error. See announcements to use java 6 and set the mt.cfg file.

User avatar
PinkRose
Dragon
Posts: 732
Joined: Sat Nov 15, 2008 2:28 pm
Location: The City of Roses, Oregon

Re: DN's D&D4e Character Sheet Framework

Post by PinkRose »

I'm gonna guess if that is a new error that it is the same one I ran into, but it has to do with using java 7.

http://forums.rptools.net/viewtopic.php?f=1&t=21856
I am a special snowflake!

Sirchibbi
Kobold
Posts: 3
Joined: Sat Mar 03, 2012 2:58 pm

Re: DN's D&D4e Character Sheet Framework

Post by Sirchibbi »

Thank you for the help. I did have java 7, I have gotten 6 now and will be playing later tonight. I'll edit if its fixed.

EDIT: Work perfect tonight, Thank you for the help.

krackerjack
Kobold
Posts: 8
Joined: Sun Jan 08, 2012 7:02 pm

Re: DN's D&D4e Character Sheet Framework

Post by krackerjack »

is there a way to add a mana or magic pool set up like your hp set up for homebrew stuff not given I love this framework. Now if i was just smart enough to make it work with every other game i try to play.

krackerjack
Kobold
Posts: 8
Joined: Sun Jan 08, 2012 7:02 pm

Re: DN's D&D4e Character Sheet Framework

Post by krackerjack »

Hi love the frame work. Just one anoying thing how do i get rid of the little power point dots on the powers screen or atleast change them to a number cause wel its personal preferance and im not smart enough to figure out how to change it.

User avatar
MadJoker
Cave Troll
Posts: 55
Joined: Sat Mar 28, 2009 3:43 pm

Re: DN's D&D4e Character Sheet Framework

Post by MadJoker »

krackerjack wrote:Hi love the frame work. Just one anoying thing how do i get rid of the little power point dots on the powers screen or atleast change them to a number cause wel its personal preferance and im not smart enough to figure out how to change it.

Here two versions of what you want. The first displays in white "Current/Total", the second colors "Current" in white, yellow or red depending on the ratio of current to total. To use them just replace [email protected]:Sheet with the macro below.

[spoiler=PP with numbers (no colors)]

Code: Select all

<!-- SheetPowers -->
[H: DNT_SubPage = getProperty("DNA_Subpage" +getPlayerName())]
[H: DNT_Header = FindColor("Char", DNA_CharacterType, 0)]
[H: DNT_HeaderFont = FindColor("Char", DNA_CharacterType, 1)]
[H: DNT_PowerGroupIndex = DNA_PowerGroupIndex]

<table width="100%" border="0" cellpadding="5">

[R, if((DNA_PowerPointsTotal + 0) > 0), CODE:
   {
   <tr><td><table width="100%" border="1" cellpadding="0">
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">Power Points: [R: DNA_PowerPointsRemaining]/[R: DNA_PowerPointsTotal]</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 5, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "WindowType", "PPAdjust"), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>
</table></td></tr>
   };{
      [H: ""]
   }
]

[R, forEach(DNT_GroupSlot, DNT_PowerGroupIndex, ""), CODE:
   {
<tr><td><table width="100%" border="1" cellpadding="0">
      [R, if(listContains(DNT_Subpage, "PowerGroup" + DNT_GroupSlot) > 0), CODE:
         {
            [R, macro("[email protected]:Sheet"): json.set(macro.args, "GroupSlot", DNT_GroupSlot)]
         };{
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">[R: json.get(getProperty("DNA_PowerGroup" + DNT_GroupSlot), "Name")]</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 3, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "SubAdd", "PowerGroup" + DNT_GroupSlot), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>   
         }
      ]
</table></td></tr>
   }
]

<tr><td><table width="100%" border="1" cellpadding="0">
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">Create a Power Group</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 5, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "WindowType", "PowerGroup", "GroupSlot", "New"), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>   
</table></td></tr>

<tr><td><table width="100%" border="1" cellpadding="0">
      [R, if(listContains(DNT_Subpage, "MagicItemPowers") >0), CODE:
         {
            [R, macro("[email protected]:Sheet"): ""]
         };{
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">Magic Items</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 3, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "SubAdd", "MagicItemPowers"), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>   
         }
      ]
</table></td></tr>      
</table>
[/spoiler]
[spoiler=PP with numbers (with colors)]

Code: Select all

<!-- SheetPowers -->
[H: DNT_SubPage = getProperty("DNA_Subpage" +getPlayerName())]
[H: DNT_Header = FindColor("Char", DNA_CharacterType, 0)]
[H: DNT_HeaderFont = FindColor("Char", DNA_CharacterType, 1)]
[H: DNT_PowerGroupIndex = DNA_PowerGroupIndex]

<table width="100%" border="0" cellpadding="5">

[R, if((DNA_PowerPointsTotal + 0) > 0), CODE:
   {
   <tr><td><table width="100%" border="1" cellpadding="0">
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">Power Points: [R: "<span style='color:" + if(DNA_PowerPointsRemaining <= 0.2 * DNA_PowerPointsTotal, "red", if(DNA_PowerPointsRemaining <= 0.6 * DNA_PowerPointsTotal, "yellow", "white")) + "'>" + DNA_PowerPointsRemaining + "</span>"]/[R: DNA_PowerPointsTotal]</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 5, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "WindowType", "PPAdjust"), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>
</table></td></tr>
   };{
      [H: ""]
   }
]

[R, forEach(DNT_GroupSlot, DNT_PowerGroupIndex, ""), CODE:
   {
<tr><td><table width="100%" border="1" cellpadding="0">
      [R, if(listContains(DNT_Subpage, "PowerGroup" + DNT_GroupSlot) > 0), CODE:
         {
            [R, macro("[email protected]:Sheet"): json.set(macro.args, "GroupSlot", DNT_GroupSlot)]
         };{
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">[R: json.get(getProperty("DNA_PowerGroup" + DNT_GroupSlot), "Name")]</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 3, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "SubAdd", "PowerGroup" + DNT_GroupSlot), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>   
         }
      ]
</table></td></tr>
   }
]

<tr><td><table width="100%" border="1" cellpadding="0">
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">Create a Power Group</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 5, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "WindowType", "PowerGroup", "GroupSlot", "New"), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>   
</table></td></tr>

<tr><td><table width="100%" border="1" cellpadding="0">
      [R, if(listContains(DNT_Subpage, "MagicItemPowers") >0), CODE:
         {
            [R, macro("[email protected]:Sheet"): ""]
         };{
   <table width="100%" cellpadding="3" border="0" bgcolor="[R: DNT_Header]">
      <tr>
         <th width="6"></th>
         <th width="30"></th>
         <th style="padding-top: 8; padding-bottom: 8; text-align:center; font-size:110%; color:[R: DNT_HeaderFont]">Magic Items</th>
         <th width="30">[R: macroLink("<img border='0' src='"+tableImage("SheetButtons", 3, 20)+"'></img>", "[email protected]:Sheet", "none", json.set("", "SubAdd", "MagicItemPowers"), currentToken())]</th>
         <th width="6"></th>
      </tr>
   </table>   
         }
      ]
</table></td></tr>      
</table>
[/spoiler]

krackerjack
Kobold
Posts: 8
Joined: Sun Jan 08, 2012 7:02 pm

Re: DN's D&D4e Character Sheet Framework

Post by krackerjack »

Thanks thats exactly what i was looking for.

imspp
Kobold
Posts: 1
Joined: Fri May 27, 2011 3:09 am

Re: DN's D&D4e Character Sheet Framework

Post by imspp »

Maptool-1.3.b87 and Maptool-1.3.b74

Error Could not load campaign. java.util.zip.ZipException;error in opening zip file :shock:

mikemike
Kobold
Posts: 3
Joined: Mon Jan 14, 2013 12:34 am

Re: DN's D&D4e Character Sheet Framework

Post by mikemike »

Thank you for the wonderful tool. The toggle between PC sheet and NPC sheet doesn't seem to work in v5-1 for me. I'm using Maptools v1.3.b87 and Java6. It works for me in v4-3 when I click on the token image in the header of the character sheet, it switches between the PC sheet to the NPC. Clicking the token image in the header of v5-1 doesn't seem to respond. Is anyone else having this problem? Can someone help me fix it?

User avatar
PinkRose
Dragon
Posts: 732
Joined: Sat Nov 15, 2008 2:28 pm
Location: The City of Roses, Oregon

Re: DN's D&D4e Character Sheet Framework

Post by PinkRose »

I will take a look at it tonight and have an answer if no one else gets to it before me.
I am a special snowflake!

User avatar
MadJoker
Cave Troll
Posts: 55
Joined: Sat Mar 28, 2009 3:43 pm

Re: DN's D&D4e Character Sheet Framework

Post by MadJoker »

mikemike wrote:Thank you for the wonderful tool. The toggle between PC sheet and NPC sheet doesn't seem to work in v5-1 for me. I'm using Maptools v1.3.b87 and Java6. It works for me in v4-3 when I click on the token image in the header of the character sheet, it switches between the PC sheet to the NPC. Clicking the token image in the header of v5-1 doesn't seem to respond. Is anyone else having this problem? Can someone help me fix it?


Well, looking at the code, clicking the header image doesn't do anything but refresh the sheet. Are you sure that it is supposed to toggle the mode? As far as I can see it, the only way to switch the mode is to open the options menu of the token, and set it there (I might be wrong though).

User avatar
PinkRose
Dragon
Posts: 732
Joined: Sat Nov 15, 2008 2:28 pm
Location: The City of Roses, Oregon

Re: DN's D&D4e Character Sheet Framework

Post by PinkRose »

mikemike wrote:Thank you for the wonderful tool. The toggle between PC sheet and NPC sheet doesn't seem to work in v5-1 for me. I'm using Maptools v1.3.b87 and Java6. It works for me in v4-3 when I click on the token image in the header of the character sheet, it switches between the PC sheet to the NPC. Clicking the token image in the header of v5-1 doesn't seem to respond. Is anyone else having this problem? Can someone help me fix it?


Ok, so here's what's up. In v5.1, clicking the token image refreshes the character sheet. It was needed more often than changing a character sheet from PC to NPC.

To change a Character sheet from PC to NPC, you have two options.
Here are all the steps so I don't presume where you are starting from.
1. Using Maptool v1.3.b87, open "DN Character Sheet - v5-1.cmpgn". (If you have your own, and have upgraded to all his 5.1 properties and such, that will work too.)
2. Drag and drop a token onto the "Grassland" map. That token, by default, won't work.
3. Double-click the token, select the "config" tab, and select "DNA" from the "Properties" drop-down menu.

Here is where they differ...
4. In the top right, choose NPC or PC, as needed. Click Ok.
Done. You can repeat step 4 as often as needed to change a token back and forth. You can see the change by refreshing the character sheet, by clicking on the token image.

The second way follows steps 1-3 above, then proceed...
4. Click OK. It will, by default, be an NPC token. To see the character sheet, just select the token again.
5. On the character sheet, at the bottom, click the edit button in the options group.
6. In the Sheet Type drop-down menu, choose NPC or PC to force the sheet to view a specific way.

That should answer your questions, but if not, I'll try again tomorrow.
I am a special snowflake!

mikemike
Kobold
Posts: 3
Joined: Mon Jan 14, 2013 12:34 am

Re: DN's D&D4e Character Sheet Framework

Post by mikemike »

Thank you both, MadJoker and PinkRose for taking a look at this for me and letting me know that the toggle feature on the token in the Character sheet header has been removed in DN's version 5-1. Glad I asked, because I didn't realize it had changed and I was spinning my wheels trying to figure out if something went wrong with my setup.

Solomon
Kobold
Posts: 4
Joined: Fri Oct 28, 2011 9:32 pm

Re: DN's D&D4e Character Sheet Framework

Post by Solomon »

Was anyone able to find a solution to the "Undefined function: FindColor" when trying to add the framework to an existing campaign? I am also running into this error. I have imported the frame successfully several times on other maps, but sometimes run into this trouble, not sure why.

Following the instructions, I was not able to save the tokens separately. I just copy and paste them and correct the random numbering.

MT ver 1.3.b87
Java v6 build 39

Thanks for any advice.
*******

I found the solution to my own problem. Will post here in case anyone else having this issue.

It was related to some of the other add-ons I was using. It was either the Wolf42 bag of tricks or the Travis T monster parser. I had to make sure that both of those were completely removed (both tokens and macros) before I could load in the DN framework.
Last edited by Solomon on Sun Apr 07, 2013 10:19 am, edited 1 time in total.

Post Reply

Return to “D&D 4e Frameworks”