Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Authoring Kit
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 10th, 2009, 11:58 AM
Okay how do I make it so that this "race" allows a +1 bonus to the players choice ability? I think that this is the line that needs to be changed but I am not sure how #traitbonus[attrStr] += 1

<thing
id="racKitsune"
name="Mantis Clan Kitsune Family"
compset="Race"
isunique="yes"
description=" . (Trait Bonus +1 a trait)">
<eval value="1" phase="PreTraits" priority="5000">
<before name="Calc trtFinal"/><![CDATA[
~apply whatever adjustment(s) are needed here
~hero.child[resAbility].field[resMax].value += 1
#traitbonus[attrStr] += 1
]]></eval>
</thing>
SAbel is offline   #31 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 10th, 2009, 08:15 PM
I recieve these errors neither stops the load of the program

Hero Lab is loading the data files, but the following warnings were reported:

One or more timing errors were identified. Please review the timing report and correct the errors. You can access the report under the 'Develop' menu or by clicking this link.

This is I believe due to the skills that are looking for user imput which I am not sure the place to locate the lines to stop that from happening.

Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'
- - -
Attempt to use an 'additem' script within a table with no valid 'addthing' for portal '_tableadd_'


That is todays development.
SAbel is offline   #32 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 13th, 2009, 01:21 PM
Okay Still have the errors from post 32
here is a screen shot more later
Attached Images
File Type: jpg current-layout.jpg (111.6 KB, 9 views)
SAbel is offline   #33 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 13th, 2009, 02:37 PM
Next things I am working on a Clan Tab before the "basic tab"
this will allow the user to pick their clan, then family and finally class. I think it will be a good place to put the heritage role. I would like to move the "race" choice from next to the name and change it so that it all fits into the Clan area, as it should for when you build a character (that will take some work)
I have renamed the "abilities tab" to be Advanatages and Disadvantages but have not worked on the mechanics for those yet.
SAbel is offline   #34 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old July 14th, 2009, 04:15 PM
Quote:
Originally Posted by SAbel View Post
I am not sure if this goes in the Bootstrap.1st file but it is with it in the wiki I added it after the "enmasse"

<component
id="Skill"
name="Skill"
autocompset="no"
panellink="skills">
...
</component>
This goes in traits.str, and is probably causing the problem from your next post.
Mathias is offline   #35 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 14th, 2009, 08:17 PM
Hum ok I get this error
The data files could not be loaded due to the following errors:

File: traits.str (line 147) - Encountered PCDATA for element 'component' proscribed against PCDATA
One or more timing errors were identified. Please review the timing report and correct the errors. You can access the report under the 'Develop' menu or by clicking this link.

Line 147 is panellink="skills">

The entire sections looks like this (from the traits.str)

<component
id="Skill"
name="Skill"
autocompset="no">
panellink="skills">
<!-- Net final roll that includes the value of the linked attribute -->
<field
id="sklRoll"
name="Net Skill Roll"
type="derived">
<calculate phase="Final" priority="5000">
<after name="Calc trtFinal"/><![CDATA[
~only access the linkage if the skill is directly on the hero; if not, it is
~likely within an advancement gizmo and no linkage will exist there
if (container.ishero <> 0) then
@value = field[trtFinal].value + linkage[attribute].field[trtFinal].value
endif
]]></calculate>
</field>

<!-- Each skill is associated with a specific attribute that must be identified -->
<linkage linkage="attribute" optional="no"/>

<!-- Each skill needs its own identity tag so existing skills can be identified during advancement -->
<identity group="Skill"/>

<!-- Every skill is shown on the "Rolls" mouse-over on the Dashboard/TacCon -->
<tag group="DashTacCon" tag="Rolls"/>

<!-- Track the skill on the actor -->
<eval index="1" phase="Setup" priority="5000"><![CDATA[
perform forward[Skill.?]
]]></eval>

<!-- Each skill point that is allocated by the user costs 2 CP -->
<eval index="2" phase="Traits" priority="10000">
<before name="Calc resLeft"/>
<after name="Bound trtUser"/><![CDATA[
~if this skill is not added directly to the hero (i.e. an advance), skip it entirely
if (origin.ishero = 0) then
done
endif

~adjust the resource appropriately
hero.child[resCP].field[resSpent].value += field[trtUser].value * 2
]]></eval>
</component>

What did I goof up here?
SAbel is offline   #36 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 14th, 2009, 08:59 PM
I have my tab_skill info here also if that helps, I have this section "blocked" b/c is causes this error: The data files could not be loaded due to the following errors:

Syntax error in 'titlebar' script for Portal 'skSkills' on line 2
-> Non-existent thing 'resSkill' used by script
Syntax error in 'headertitle' script for Portal 'skSkills' on line 2
-> Non-existent thing 'resSkill' used by script
One or more timing errors were identified. Please review the timing report and correct the errors. You can access the report under the 'Develop' menu or by clicking this link.


<!--<titlebar><![CDATA[
@text = "Add a Special Skill - " & hero.child[resSkill].field[resSummary].text
]]></titlebar>
<description/>
<headertitle><![CDATA[
@text = "Skills: " & hero.child[resSkill].field[resSummary].text
]]></headertitle> -->

<?xml version="1.0" encoding="ISO-8859-1"?>

<document signature="Hero Lab Data">


<portal
id="skSkills"
style="tblNormal">
<table_dynamic
component="Skill"
showtemplate="skPick"
choosetemplate="SimpleItem"
showfixedlast="yes"
addpick="resSkill">
<candidate>!Hide.Skill</candidate>
<!--<titlebar><![CDATA[
@text = "Add a Special Skill - " & hero.child[resSkill].field[resSummary].text
]]></titlebar>
<description/>
<headertitle><![CDATA[
@text = "Skills: " & hero.child[resSkill].field[resSummary].text
]]></headertitle> -->

<additem><![CDATA[
~if we're in advancement mode, we've been frozen, so display accordingly
if (state.iscreate = 0) then
@text = "{text a0a0a0}Add/Increase Skills Via Advances Tab"
done
endif

~get the color-highlighted "add" text
@text = field[resAddItem].text
]]></additem>
</table_dynamic>
</portal>


<template
id="skPick"
name="Skill Pick"
compset="Skill"
marginhorz="3"
marginvert="2">

<portal
id="value"
style="incrSimple">
<incrementer
field="trtUser">
</incrementer>
<mouseinfo mousepos="middle+above"><![CDATA[
if (hero.tagis[mode.creation] = 0) then
@text = "Skills must be modified via the Advances tab once the character is locked for play."
elseif (autonomous = 0) then
@text = "This trait has been improved via the Advances tab and cannot be modified further from here."
else
@text = "Allocate points to this skill by clicking on the arrows to increase/decrease the number of points assigned."
endif
]]></mouseinfo>
</portal>

<portal
id="lbldomain"
style="lblSecond">
<label
text="Domain">
</label>
</portal>

<portal
id="domain"
style="editNormal">
<edit
field="domDomain">
</edit>
</portal>


<portal
id="name"
style="lblNormal"
showinvalid="yes">
<label
field="name">
</label>
</portal>

<portal
id="info"
style="actInfo">
<action
action="info">
</action>
<mouseinfo/>
</portal>

<portal
id="delete"
style="actDelete"
tiptext="Click to delete this item">
<action
action="delete">
</action>
</portal>

<position><![CDATA[
~set up our height based on our tallest portal
height = portal[info].height

~if this is a "sizing" calculation, we're done
if (issizing <> 0) then
done
endif

~position our tallest portal at the top
portal[info].top = 0

~position the other portals vertically
perform portal[name].centervert
perform portal[domain].centervert
perform portal[lbldomain].centervert
perform portal[value].centervert
perform portal[delete].centervert

~position the delete portal on the far right
perform portal[delete].alignedge[right,0]

~position the info portal to the left of the delete button
perform portal[info].alignrel[rtol,delete,-8]

~position the incrementer on the left
portal[value].left = 0

~position the name next to the incrementer
perform portal[name].alignrel[ltor,value,10]

~if we don't need a domain, hide it and let the name use all available space
if (tagis[User.NeedDomain] = 0) then
portal[lbldomain].visible = 0
portal[domain].visible = 0
portal[name].width = minimum(portal[name].width,portal[info].left - portal[name].left - 10)

~otherwise, position the domain portals next to the name
else
perform portal[lbldomain].alignrel[ltor,name,20]
perform portal[domain].alignrel[ltor,lbldomain,5]
portal[domain].width = 150
endif

~if the ability is auto-added, change its font to indicate that fact
if (candelete = 0) then
perform portal[name].setstyle[lblAuto]
endif

]]></position>
</template>

<layout
id="skills">
<portalref portal="skSkills" taborder="10"/>
<position><![CDATA[
~freeze our table in advancement mode to disable adding new choices
~Note: All freezing must be done *before* any positioning is performed.
if (state.iscreate = 0) then
portal[skSkills].freeze = 1
endif

~position and size the table to span the full layout; it will only use the
~vertical space that it actually needs
perform portal[skSkills].autoplace
]]></position>
</layout>

<panel
id="skills"
name="Skills"
marginhorz="5"
marginvert="5"
order="150">
<live>!HideTab.skills</live>
<layoutref layout="skills"/>
<position><![CDATA[
]]></position>
</panel>

</document>
SAbel is offline   #37 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 15th, 2009, 11:50 AM
Okay so now I am down to this pesty error
The data files could not be loaded due to the following errors:

Syntax error in 'titlebar' script for Portal 'skSkills' on line 2
-> Non-existent thing 'resSkill' used by script
Syntax error in 'headertitle' script for Portal 'skSkills' on line 2
-> Non-existent thing 'resSkill' used by script
One or more timing errors were identified. Please review the timing report and correct the errors. You can access the report under the 'Develop' menu or by clicking this link.

which I think is the following from my tab_skills.dat file
<portal
id="skSkills"
style="tblNormal">
<table_dynamic
component="Skill"
showtemplate="skPick"
choosetemplate="SimpleItem"
showfixedlast="yes"
addpick="resSkill">
<candidate>!Hide.Skill</candidate>
<titlebar><![CDATA[
@text = "Add a Skill - " & hero.child[resSkill].field[resSummary].text
]]></titlebar>
<description/>
<headertitle><![CDATA[
@text = "Skills: " & hero.child[resSkill].field[resSummary].text
]]></headertitle>

The entire file is
<?xml version="1.0" encoding="ISO-8859-1"?>

<document signature="Hero Lab Data">


<portal
id="skSkills"
style="tblNormal">
<table_dynamic
component="Skill"
showtemplate="skPick"
choosetemplate="SimpleItem"
showfixedlast="yes"
addpick="resSkill">
<candidate>!Hide.Skill</candidate>
<titlebar><![CDATA[
@text = "Add a Skill - " & hero.child[resSkill].field[resSummary].text
]]></titlebar>
<description/>
<headertitle><![CDATA[
@text = "Skills: " & hero.child[resSkill].field[resSummary].text
]]></headertitle>


<additem><![CDATA[
~if we're in advancement mode, we've been frozen, so display accordingly
if (state.iscreate = 0) then
@text = "{text a0a0a0}Add/Increase Skills Via Advances Tab"
done
endif

~get the color-highlighted "add" text
@text = field[resAddItem].text
]]></additem>
</table_dynamic>
</portal>


<template
id="skPick"
name="Skill Pick"
compset="Skill"
marginhorz="3"
marginvert="2">

<portal
id="value"
style="incrSimple">
<incrementer
field="trtUser">
</incrementer>
<mouseinfo mousepos="middle+above"><![CDATA[
if (hero.tagis[mode.creation] = 0) then
@text = "Skills must be modified via the Advances tab once the character is locked for play."
elseif (autonomous = 0) then
@text = "This trait has been improved via the Advances tab and cannot be modified further from here."
else
@text = "Allocate points to this skill by clicking on the arrows to increase/decrease the number of points assigned."
endif
]]></mouseinfo>
</portal>

<portal
id="lbldomain"
style="lblSecond">
<label
text="Domain">
</label>
</portal>

<portal
id="domain"
style="editNormal">
<edit
field="domDomain">
</edit>
</portal>


<portal
id="name"
style="lblNormal"
showinvalid="yes">
<label
field="name">
</label>
</portal>

<portal
id="info"
style="actInfo">
<action
action="info">
</action>
<mouseinfo/>
</portal>

<portal
id="delete"
style="actDelete"
tiptext="Click to delete this item">
<action
action="delete">
</action>
</portal>

<position><![CDATA[
~set up our height based on our tallest portal
height = portal[info].height

~if this is a "sizing" calculation, we're done
if (issizing <> 0) then
done
endif

~position our tallest portal at the top
portal[info].top = 0

~position the other portals vertically
perform portal[name].centervert
perform portal[domain].centervert
perform portal[lbldomain].centervert
perform portal[value].centervert
perform portal[delete].centervert

~position the delete portal on the far right
perform portal[delete].alignedge[right,0]

~position the info portal to the left of the delete button
perform portal[info].alignrel[rtol,delete,-8]

~position the incrementer on the left
portal[value].left = 0

~position the name next to the incrementer
perform portal[name].alignrel[ltor,value,10]

~if we don't need a domain, hide it and let the name use all available space
if (tagis[User.NeedDomain] = 0) then
portal[lbldomain].visible = 0
portal[domain].visible = 0
portal[name].width = minimum(portal[name].width,portal[info].left - portal[name].left - 10)

~otherwise, position the domain portals next to the name
else
perform portal[lbldomain].alignrel[ltor,name,20]
perform portal[domain].alignrel[ltor,lbldomain,5]
portal[domain].width = 150
endif

~if the ability is auto-added, change its font to indicate that fact
if (candelete = 0) then
perform portal[name].setstyle[lblAuto]
endif

]]></position>
</template>

<layout
id="skills">
<portalref portal="skSkills" taborder="10"/>
<position><![CDATA[
~freeze our table in advancement mode to disable adding new choices
~Note: All freezing must be done *before* any positioning is performed.
if (state.iscreate = 0) then
portal[skSkills].freeze = 1
endif

~position and size the table to span the full layout; it will only use the
~vertical space that it actually needs
perform portal[skSkills].autoplace
]]></position>
</layout>

<panel
id="skills"
name="Skills"
marginhorz="5"
marginvert="5"
order="150">
<live>!HideTab.skills</live>
<layoutref layout="skills"/>
<position><![CDATA[
]]></position>
</panel>

</document>
SAbel is offline   #38 Reply With Quote
rob
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 8,232

Old July 15th, 2009, 04:26 PM
In the "skSkills" portal, the final attribute of the XML is:
addpick="resSkill"

In the Titlebar and HeaderTitle scripts, the code references the "resSkill" thing.

These are telling the compiler that you want to access the thing with the unique id "resSkill". The compiler is telling you that there is no thing with that unique id. So you need to make sure that the appropriate thing is defined.

Given the id prefix of "res", it's going to be a "Resource" (i.e. it derives from that component). Given the context in which you're using it, it's going to be the resource that tracks the number of skill points consumed for each skill selection. If you simply copied the above code from the Savage Worlds files, then you need to properly copy all the related code as well. In this case, you need the resource thing for tracking skill points.
rob is offline   #39 Reply With Quote
SAbel
Senior Member
 
Join Date: Jul 2007
Location: Walbridge, Ohio
Posts: 767

Old July 15th, 2009, 06:25 PM
Oh yea Rob! You get a You Rock As Well!!

So to everyone out there this is what I have done
in the thing_miscellaneous.dat I have added

<thing
id="resSkill"
name="Skill Slots"
compset="Resource">
<fieldval field="resObject" value="Skill"/>
<!-- Automatically add the resource to every actor -->
<tag group="Helper" tag="Bootstrap"/>

<!-- Use the starting ability slots as our initial maximum -->
<eval index="1" phase="Setup" priority="1000"><![CDATA[
field[resMax].value = herofield[acStartAbi].value
]]></eval>
</thing>
and that allows the following lines to work in the tab_skills.dat

<portal
id="skSkills"
style="tblNormal">
<table_dynamic
component="Skill"
showtemplate="skPick"
choosetemplate="SimpleItem"
showfixedlast="yes"
addpick="resSkill">
<candidate>!Hide.Skill</candidate>
<titlebar><![CDATA[
@text = "Add a Skill - " & hero.child[resSkill].field[resSummary].text
]]></titlebar>
<description/> <headertitle><![CDATA[
@text = "Skills: " & hero.child[resSkill].field[resSummary].text
]]></headertitle>

Now I still have to figure out how to remove the line from the "configure your character" menu that deals with "abilities:_ slots" which are showing up at the top of my skill menu but it does not effect the skills in any way so I can search for it as I go here. The skills and attributes all work off the CP (character points) which I have set up on the "configure your character" menu if a player would like to start at a higher rank (AKA haveing more CP to use at the start of the character).

This has been a Gaint Thorn removed for me to make the skills work correctly. I would again like to say thank you to both Mgehl and Rob for the help in this because with out them I was not making any progress in finding the mistakes I made.

Thanks guys,

Now to keep at it LOL so I can post some new mistakes when I make em.

Sean
SAbel is offline   #40 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 05:22 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.