• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Output label text not appearing?

TCArknight

Well-known member
I'm still having an issue with the output label text not appearing.

On the PDF, the Personality and Background blocks should have a few lines of text.

I've attached the por file for The Doctor, and also the current dataset.

All of the portals have a specific declared height and width.

Any thoughts?
 

Attachments

What's not appearing? Where should it be appearing?

I'd start with that little empty rectangle that's currently showing over the character image - get rid of that, or figure out what it's supposed to be and put it where it belongs
 
Thanks, I didn't notice that. That box is the border for the image. I set its dimensions in relation to the image, so it's looking better now.

There should be text appearing below the Personality header and below the Background header like it is below the Appearance and Personal Goal headers.

This is the layout overall. (If I change it to a specific width of 1200, there's no difference.)
Code:
portal[oPerson].top = 0
      portal[oPerson].width = width
      portal[oPerson].height = 500

      portal[oBackgrnd].top = 510
      portal[oBackgrnd].width = width
      portal[oBackgrnd].height = 500

Personality Text
excitable, enthusiastic and energetic, yet sometimes wistful and melancholy, the doctor is...complicated. his sense of honour and responsibility is absolute, and it sometimes seems that he carries the weight of the universe on his shoulders.

Personality Portal
Code:
  <portal
    id="oPerson"
    style="outNormal">
    <output_table
      component="Personal"
      showtemplate="oPerson"
      varyheight="yes">
      <list><![CDATA[
        hero#source.ShowDetail
        ]]></list>
      <headertitle><![CDATA[
        @text = "Personality"
        ]]></headertitle>
      </output_table>
    </portal>

  <!-- oPerson template
        This template presents the personality details for the character.
  -->
  <template
    id="oPerson"
    name="Output Personality Table"
    compset="Personal">

    <portal
      id="info"
      style="outPlainLt">
      <output_label
        ismultiline="yes">
        <labeltext><![CDATA[
        
        @text &= field[perBioPers].text
        
        ]]></labeltext>
        </output_label>
      </portal>

    <position><![CDATA[
      ~size the name to fit the available space
      portal[info].width = 1200
      portal[info].height = 350

      ~our height is the vertical extent of our portal
      height = 350
      ]]></position>

    </template>
 
Ok, additional information. I gave the outPlainLt style a border=yes entry to see where the info panel was for sure.

While the Appearance and Personal Goals now have a border around them, there is no border at all below the Personality or Background headers. It's like the info portal isn't being created at all. :(

This is really getting frustrating :(
 
I finally realized what was going on.

Because the character sheet output is designed to handle lists that don't fit in the first place you allocate for them, it's common to have the same thing listed in multiple tables. For example, in Pathfinder, the feats appear first at the bottom right of the first page, and then they're also in each column of the second page. That way, Hero Lab will place as many feats as possible at the bottom right of the first page, then place some more on the first column on pg. 2, and then if it needs even more room, place more on the second column of pg. 2.

In order to handle that, Hero Lab keeps a record of everything that's been placed on the character sheet so far.

What you've got is 6 different tables, all with component="Personal". So, Hero Lab comes across the first of those, and generates the appropriate text, and then records that mscPersonal has been displayed already. Then, when it comes to the second of those tables, it asks "what things are there on the character with component="Personal". OK, I've found mscPersonal, but when I check that against the list of things I've already displayed, I find that it's already there. So, I'm not going to display it this time.
 
Here's how you can get around this:

Merge the displays of all 6 of those tables into a single template - you want them all to be displayed in a single large block on the character sheet anyway.

First, create a new style for textboxes - it'll be black text with a backcolor="" that gives it a grey background - you're duplicating the look of the headers. Here's the one I created for Shadowrun:

Code:
<style
  id="headerout">
  <style_output
    textcolor="222222"
    backcolor="dddddd"
    font="ofnttitle"
    alignment="center">
    </style_output>
  </style>

Then, you can create a combination of portals that are displaying the text from the Personal tab, in outNormalLt, along with portals that are displaying fixed text like "Personality", "Personal Goals", "Home Tech Level", etc., all in headerout. All of those portals will be inside the same template, and that template will be displayed once by the portal it's placed into.
 
Another alternative - you'll note that the appearance and personal goals tables both display information, even though they're both displaying the same pick. I'm not certain of this, but I'm guessing its because the record of what has and hasn't been dispayed yet isn't generated until after Hero Lab has finished an entire layout.

If it is working like that, then what you can do is to merge the oAppGoals and oBioData2 layouts into a single layout, so that it doesn't record that mscPerson has been displayed until after it's finished the layout.
 
Back
Top