Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   Army Builder (http://forums.wolflair.com/forumdisplay.php?f=16)
-   -   On items... (http://forums.wolflair.com/showthread.php?t=6096)

Bluefool March 1st, 2006 07:56 AM

On items...
 
Ok, two problems today:

1. I have an item irupture with id tag checked on it. As I understand it, that should generate a tag of itemid.irupture. I have a diffrent item, ienrupture that should only appear if the item irupture is taken. As I understand it, that means if I put itemid.irupture in the childvis section, ienrupture should appear if irupture is taken. It's not, so what did I miss in that?

2. When selecting items from a list, each item should be selectable only once, and then not appear on the list again. How do you make that happen?

Thanks!

rob March 1st, 2006 01:41 PM

On items...
 
At 08:56 AM 3/1/2006, you wrote:
Quote:

1. I have an item irupture with id tag checked on it. As I understand it, that should generate a tag of itemid.irupture. I have a diffrent item, ienrupture that should only appear if the item irupture is taken. As I understand it, that means if I put itemid.irupture in the childvis section, ienrupture should appear if irupture is taken. It's not, so what did I miss in that?
Have you checked your priorities? If the dependent item is attached at an earlier priority than the thing it depends on, the tag won't have been defined yet, so it will always be missing. That will yield the behavior you are seeing.

Quote:

2. When selecting items from a list, each item should be selectable only once, and then not appear on the list again. How do you make that happen?
When you use list selection, you can't readily hide an option from the list after it's been added once. Technically, I think you can do it, but it would be a lot of work, and you'd have to handle each item individually. So the ugly factor makes it impractical.

Since the user will know better than to add the same thing twice (I hope), all you really need is a means of double-checking to make sure the user didn't do something wrong accidentally. That can be accomplished via a validation rule. Since the "itemid" tags are accrued, the parent will have all of the tags for the items it has added. All you need to do is designate all items as having an id tag (and you can set this as default behavior for all new items within ABCreator if you want). Once you have the tags, tou can compare the total number of "itemid" tags against the number of distinct "itemid" tags. If the numbers don't match, then the user has included the same item more than once and you can trigger a validation error that yells at the user about this.

I'm 99% sure there is an example of using "distinct" for validation within the docs. If you can't find the example and it doesn't make sense, let me know and I'll either locate it for you or outline how it works myself.

Thanks, Rob

Bluefool March 4th, 2006 05:49 AM

Quote:
1. I have an item irupture with id tag checked on it. As I understand it, that should generate a tag of itemid.irupture. I have a diffrent item, ienrupture that should only appear if the item irupture is taken. As I understand it, that means if I put itemid.irupture in the childvis section, ienrupture should appear if irupture is taken. It's not, so what did I miss in that?

Have you checked your priorities? If the dependent item is attached at an earlier priority than the thing it depends on, the tag won't have been defined yet, so it will always be missing. That will yield the behavior you are seeing.

Checked priorites how? This is a list; populated by a wildcard on the option. There is nowhere on an item that checks for priority that I can find, or that I can locate in the docs anywhere it talks about items. Items appear in options as child links, there is no way to set the priority there either that I can find on either the option page or anything in the docs. So....where would one do that?

rob March 4th, 2006 01:16 PM

On items...
 
At 06:49 AM 3/4/2006, you wrote:

Quote:

Quote:
1. I have an item irupture with id tag checked on it. As I understand it, that should generate a tag of itemid.irupture. I have a diffrent item, ienrupture that should only appear if the item irupture is taken. As I understand it, that means if I put itemid.irupture in the childvis section, ienrupture should appear if irupture is taken. It's not, so what did I miss in that?

Have you checked your priorities? If the dependent item is attached at an earlier priority than the thing it depends on, the tag won't have been defined yet, so it will always be missing. That will yield the behavior you are seeing.

Checked priorites how? This is a list; populated by a wildcard on the option. There is nowhere on an item that checks for priority that I can find, or that I can locate in the docs anywhere it talks about items. Items appear in options as child links, there is no way to set the priority there either that I can find on either the option page or anything in the docs. So....what are you talking about?
That means that it definitely COULD be an issue of priorities. :-)

Given your statement above that implies you're not familiar with priority issues, you MUST read the topic entitled "Evaluation Sequence" within the "Critical Concepts" chapter. Do this BEFORE doing anything else, as it's one of the most important topics in the documentation when writing complex data files.

After you've read the above topic, then please read the topic entitled "Adding Units Dynamically Via Options" within the "How To" chapter. It's immediately above the topic "User-Selection of Items Via Lists".

After you've done those things, review the debugging aids provided within AB. One of them will show you all the links for a unit in the roster, including the priorities and other key bits of info. This will prove invaluable when trying to debug what's actually going on within your data files, since you get all the timing information you need.

When you use list-based selection, items that are chosen by the user are automatically assigned a priority that is one later than the selection option itself. That way, they appear immediately below the selection option in the Options Panel. However, this means that items added are evaluated AFTER the selection option, so their effects cannot be relied upon within the selection option. In this specific case, where you are using the ChildVis tag expression, I think you should be safe from this, but I'm not 100% sure. In any case, it's a critical detail to be aware of.

Another possibility is that the "ienrupture" item has to satisfy BOTH the ChildVis tagexpr AND the Candidate tagexpr. If it's only satisfying one of them, it won't be shown. If you remove the ChildVis tagexpr, does the item show up in the list? If not, then the ChildVis is NOT the source of the problem.

Hope this helps,
Rob

Bluefool March 5th, 2006 06:07 PM

OK, homework read, and while I learned some fun things, it's still not getting my light bulb to go off.

In what has now been a great number of combination attempts, I still can never get the second item to appear after the first has been selected.

So, I have a unit, mictlt, that has a linkset of miheroic. miheroic has in it httalents. The option httalents has a candidate expression of heroic.Talents and a newlink of *. Item irupture has a tag of heroic.Talents and an exclusion of @heroiclim of 40 of a possible 100.

The goal is that after the user selects the irupture option, a new option should appear, either in the list that you got from httalents of just plain for an option that shows up under the item irupture. The new option (or item) should have an exclusion of @heroiclim of 20.

In testing, I can allways get various tags to appear under Tools:Data File Debugging:Show Accured Tags for Roster in AB. I can never get a tag to appear in View:Floating Info Windows:Show Tags or Show Accured Tags. I think thats the big part of the problem, but I'm just stuck on figuring it out.

I tried assigning a tag to the item irupture, both an itemid.irupture, and a special tag I created. In the item I want to show up (ierupture) I put a childvis of itemid.irupture, and when that didn't work I tried the other tag of enhance.rupture, and that didn't work either. (And, when either childvis statement was removed, it would appear in the list...but I have no control over the position it appears in the list, or I would call it a day and do a rule check for the base version being taken before you get the enhanced version.) I also tried the same method for vis statement with no luck as well.

Knowing now it was likely a priority issue, I went to the linkset of miheroic, and assigned the httalents a priority of 200, and created an option of erupture, and placed that option in the linkset with a priority of 50. The option got a live expression of itemid.irupture....but would never appear. When the live expresssion was removed, it would appear. I also tried setting the live expression in the linkset with similar results. I also tried changing the erupture priority to 300 just in case I had misunderstood the docs. Still nothing. Tried assinging various tags instead of relying on itemid, and never could get it to appear unless I eliminated any sort of live expression or childvis expression.

After 4 hours of fun filled afternoon, I decided it was time to try a diffrent tactic. I created an option of erupture (again) and in the item irupture created a link to the option erupture, with erupture having an exclusion of @heroiclim of 20. This resulted in erupture showing up if you selected irupture, which wasn't so great as it changed places you selected things, but at least erupture showed up. It was of course, grayed out, and impossible to select. Only by removing the exclusion was it selectable, and then of course not counting the points limits of the @heroiclim exclusion.

I tried every combination I could think of; putting a tag on the item and having a "child" appear based on that tag...and using combinations of items having options that had eval scripts adding tags, items *with tags* set to higher priorites than the list items...lower than....etc etc. With no combination I could think of could I ever get the second item or option to ever appear based on a tag from the first item, regardless of what priority it was set at.

12 hours now of trying it today, 2 previous days spent trying to get it, 3 rereads of the docs you mention just today (For a total of over 10 reads of it now), and it would seem that everything I tried was supposed to have worked...and yet none of it did. To me that means I'm still missing something basic. ( I can feel the big Homer "DOH!" coming...can't I??? This has to be a basic concept I just haven't grasped).

Any clues at all? I'm convinced that the list method of selection is the right way to go, but I just can not get this part of figuring it out.

I'm going to go hit my head into concrete for a bit to clear it, thanks for any direction....tomorrow, because, you see, today I got the rule book for the Arachnids. The half of the data file I had working now needs to be expanded and reworked :). I'll just work on that for a bit, since...oh....the Arachnids have enhanced talents too.....

All work and no play makes Jeff a dull boy.
All work and no play makes Jeff a dull boy.
All work and no play makes Jeff a dull boy.
All work and no play makes Jeff a dull boy.



:shock:

:lol:

rob March 7th, 2006 11:41 PM

On items...
 
I'm not sure what the problem is in your specific situation. :-( One thing I *DO* know is that it IS possible to do what you're aspiring to accomplish (unless I'm misunderstanding something).

I went through the data files for a few game systems and finally found an example of this. Let me point you to an example that can be found in the Warhammer Fantasy data files....

1. Load the WFB files.
2. Create a High Elves roster.
3. Add a Prince unit.
4. Go to the Enchanted Item list and verify that the Ring of Fury is visible. This is important for below.
5. Within the Enchanted Item list, add the Radiant Gem of Hoeth to the unit.
6. Note that the Arcane Item group of options appears for selection.

Now, I realize this isn't exactly what you are trying to do. So I loaded the data files into ABCreator and made a quick modification to test exactly the situation you are striving for (assuming I understand it correctly). Try the following....

1. Load the HighElves.dat file into ABCreator.
2. Go to the Item tab.
3. Select the Radiant Gem of Hoeth.
4. Click on the Prelink button to view the contents of the PreLinks script for the item.
5. Highlight the tag that is assigned and then press <ctrl-c> to copy it to the clipboard.
6. Exit from the script editor.
7. Select the Ring of Fury (a few slots down in the list of items).
8. Click on the ChildVis button to edit the tag expression.
9. Paste the tag that was copied into the editor as the tag expression.
10. Save the changes to the record.
11. Save the changes to the data file.
12. Switch to AB and compile the WFB data files to apply the new changes.
13. Re-load the WFB data files.
14. Create a High Elves roster.
15. Add a Prince unit.
16. Go to the Enchanted Item list and verify that the Ring of Fury does NOT appear. This is due to the ChildVis tag expression being applied.
17. Add the Radiant Gem of Hoeth to the unit.
18. Go back into the Enchanted Item list and the Ring of Fury should now appear. The extra requirement of the ChildVis tag expression is now satisfied, since the tag is assigned by the Gem.

I recommend modeling your solution after the way this is being done within the WFB data files. These particular items don't seem at all complex to me, based on looking at them just now in the data files. You ought to be able to use the same approach without too much difficulty in your own data files.

If you run into any questions, please ask. Please note that we're in crunch mode right now, since we will be attending a tradeshow all next week and we're doing all the final preparation for the show. So we may be a little slow in responding, and we won't be able to respond to questions while we're gone.

Hope this helps,
Rob

Bluefool March 8th, 2006 04:51 AM

WAHOO!

Step by step instructions, Rob, you are the man!

I'll go start working.

Say, I noticed in another thread a mention of 3.2 and some new squad toys that sounded *real* interesting to me. Would you maybe start a thread and tell us what stuff 3.2 may/may not have?

Bluefool March 8th, 2006 05:59 AM

It....WORKS!

*MAD CACKLING LAUGHTER*

Have fun at the trade show; we're gonna miss ya :).

Wahoo! That feels like rolling a handful of 6's :).

rob March 8th, 2006 10:26 AM

On items...
 
When we start getting closer to V3.2, we'll definitely do that. At the moment, we have a LONG list of things on the todo list (i.e. a few years' worth). We've tentatively identified the primary things we think will be going into V3.2, but that's completely subject to change. Once we get that more concretely nailed down, we can post something more official. But that's still months away, and past experience has shown that merely mentioning something as a preliminary possibility unfortunately sets expectations within users. I wish to avoid that until our confidence level is high on things. At this point, about the only thing that I'm 99.9% certain will be in V3.2 is the "smart squads" capability. :-)

-Rob

At 05:51 AM 3/8/2006, you wrote:
Quote:

Say, I noticed in another thread a mention of 3.2 and some new squad toys that sounded *real* interesting to me. Would you maybe start a thread and tell us what stuff 3.2 may/may not have?


All times are GMT -8. The time now is 10:17 AM.

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