Senior Member
Volunteer Data File Contributor
Join Date: Jan 2011
Location: Nowhere, Virginia
Posts: 3,633
|
I am trying to make a script that adds one to the count for an advance only if the advance has a cost of 4 xp. I'd like for the iteration to ignore advances in the count if it has a cost other than 4xp. Ultimately, once the code is counting correctly I will divide it by 4 and round up so the advance applies to the level it was attained at.
Here is the code I came up with. For some reason it's still counting the advances that cost less than 4 xp and I want it to not do that. How could I fix the code? Ideas? Code:
doneif (field[advCost].value <> 4) if (tagis[AdvanceCat.Advancement] <> 0) then var advcount as number var advcur as number var i as number advcur = field[advOrder].value for i = 1 to advcur if (field[advCost].value = 4) then advcount += 1 endif next field[advCount].value = advcount advcount /= 4 advcount = round(advcount,0,1) endif RavenX Pronouns: She/Her Please do not PM me to inquire about datafiles I coded "for personal use" such as Exalted, World of Darkness, AD&D, or Warhammer 40K Roleplaying. I appreciate your interest, but I do not own the Intellectual Property rights to these game systems. Nor do I have permission from any of the Publishers to distribute the data files. As such, I cannot distribute the work I have done with community on these files. They are "for personal use" only. Thank you. I am far too busy these days to answer emails. If you message me here there is no guarantee I will get back to you at all. |
#1 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2011
Location: Nowhere, Virginia
Posts: 3,633
|
Attached you will see the error issue, it's counting an iteration when the tag I am looking for is not present. In the source code its looking for a fieldval equal to 4 for a specific field but I tried it with a tag and it still gives me the error. How can I get it to not count those when running the iterative script?
RavenX Pronouns: She/Her Please do not PM me to inquire about datafiles I coded "for personal use" such as Exalted, World of Darkness, AD&D, or Warhammer 40K Roleplaying. I appreciate your interest, but I do not own the Intellectual Property rights to these game systems. Nor do I have permission from any of the Publishers to distribute the data files. As such, I cannot distribute the work I have done with community on these files. They are "for personal use" only. Thank you. I am far too busy these days to answer emails. If you message me here there is no guarantee I will get back to you at all. |
#2 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2011
Location: Nowhere, Virginia
Posts: 3,633
|
I just tried doing it like this thinking it would go through each of the items in advances and pick off a count for only certain ones but it seems to not work like I intended.
Code:
doneif (field[advCost].value <> 4) if (tagis[AdvanceCat.Advancement] <> 0) then var advcount as number var advcur as number var i as number advcur = field[advOrder].value i = 1 foreach pick in hero from Advance where "AdvanceCat.Advancement" while (i <= field[advOrder].value) if (eachpick.field[advCost].value = 4) then advcount += 1 endif i += 1 loop nexteach field[advCount].value = advcount advcount /= 4 advcount = round(advcount,0,1) endif RavenX Pronouns: She/Her Please do not PM me to inquire about datafiles I coded "for personal use" such as Exalted, World of Darkness, AD&D, or Warhammer 40K Roleplaying. I appreciate your interest, but I do not own the Intellectual Property rights to these game systems. Nor do I have permission from any of the Publishers to distribute the data files. As such, I cannot distribute the work I have done with community on these files. They are "for personal use" only. Thank you. I am far too busy these days to answer emails. If you message me here there is no guarantee I will get back to you at all. |
#3 |
Member
Join Date: May 2021
Posts: 84
|
What is this part of the script supposed to be doing?
Code:
advcur = field[advOrder].value for i = 1 to advcur if (field[advCost].value = 4) then advcount += 1 endif next |
#4 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2011
Location: Nowhere, Virginia
Posts: 3,633
|
Quote:
If the pick has an advOrder field of 3, it should count picks from 1 to 3 and increment only if the pick has an xp value of 4 xp. RavenX Pronouns: She/Her Please do not PM me to inquire about datafiles I coded "for personal use" such as Exalted, World of Darkness, AD&D, or Warhammer 40K Roleplaying. I appreciate your interest, but I do not own the Intellectual Property rights to these game systems. Nor do I have permission from any of the Publishers to distribute the data files. As such, I cannot distribute the work I have done with community on these files. They are "for personal use" only. Thank you. I am far too busy these days to answer emails. If you message me here there is no guarantee I will get back to you at all. |
|
#5 |
Senior Member
Volunteer Data File Contributor
Join Date: Jan 2011
Location: Nowhere, Virginia
Posts: 3,633
|
I think I found a work around for it.
Code:
<!-- If we're a character advancement, lock us into the first available slot on the advances array --> <eval index="8" phase="Final" priority="8000" name="Assign To Table"><![CDATA[ doneif (tagis[AdvanceCat.Advancement] = 0) var i as number for i=0 to 23 if (empty(herofield[acXPAdvTier].arraytext[i]) <> 0) then herofield[acXPAdvTier].arraytext[i] = field[name].text field[advCount].value = i done endif next ]]></eval> <!-- If we're an advancement that uses a tier slot, we have a text to display --> <eval index="9" phase="Render" priority="8500" name="Assign Advance Tier Count"><![CDATA[ if (tagis[AdvanceCat.Advancement] <> 0) then field[advCount].value += 1 field[advTier].value = field[advCount].value endif ]]></eval> <!-- If we're an advancement that uses a tier slot, we have a text to display --> <eval index="10" phase="Render" priority="10000" name="Assign Tier Advance"><![CDATA[ if (tagis[AdvanceCat.Advancement] <> 0) then if (tagis[Advance.LongTerm] <> 0) then field[advTierTxt].text &= "Tier " & field[advTier].value endif endif ]]></eval> RavenX Pronouns: She/Her Please do not PM me to inquire about datafiles I coded "for personal use" such as Exalted, World of Darkness, AD&D, or Warhammer 40K Roleplaying. I appreciate your interest, but I do not own the Intellectual Property rights to these game systems. Nor do I have permission from any of the Publishers to distribute the data files. As such, I cannot distribute the work I have done with community on these files. They are "for personal use" only. Thank you. I am far too busy these days to answer emails. If you message me here there is no guarantee I will get back to you at all. |
#6 |
Thread Tools | |
Display Modes | |
|
|