• 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

Tag addition issues

FluffyDingo

Well-known member
I'm having a bit of a problematic issue with tags not adding properly. For context, I've got 9 rings that you get synergy bonuses from depending on how many you equip. Each is bootstrapped with the abilities you gain (which are unique), each of which check the hero for how many on a specific tag are present (each ring adding one while equipped). That works perfects, but the rings are adding the tags when unequipped, and removing them when equipped.

I have:
1. Each file starting with a "done if not equipped" followed by a "add this tag to hero". Yes, making sure my done if worked properly was my first check.
2. Tried relaunching the program, as that usually clears up this issue.
3. The tag is adding at First 495 iirc, since I'm adding container (like a glove of storing) to the hero's equipment, and that restricts how late it can run. I'm assuming this is where the issue is.

Any thoughts on the matter would be appreciated. Thanks!
 
It is probably the "done if not equipped" line which is the wrong way around.
Can you post the actual code?
 
3. The tag is adding at First 495 iirc, since I'm adding container (like a glove of storing) to the hero's equipment, and that restricts how late it can run. I'm assuming this is where the issue is.
I am pretty sure this is the issue. The "equipped" field is not updated until First/500 I think. What you are seeing "looks" like reverse logic because its not until the "2nd" time you turn it off the field is updated to "on" and your script fires.

Try putting in a debug statement to see when values are when your doneif() code runs. That will tell you for sure if its the timing...
 
It is probably the "done if not equipped" line which is the wrong way around.
Can you post the actual code?

This is my code for that: doneif (field[gIsEquip].value = 0)
As I said, it was the first thing I checked.

I am pretty sure this is the issue. The "equipped" field is not updated until First/500 I think. What you are seeing "looks" like reverse logic because its not until the "2nd" time you turn it off the field is updated to "on" and your script fires.

Try putting in a debug statement to see when values are when your doneif() code runs. That will tell you for sure if its the timing...

Ah, so I need to run the script after First/500 so it knows if the ring is equipped, but I need to check for the tag in the conditional adding the storage item before First/495. Awkward. I'm adding a separate "item" as the storage space since its one shared space between all the rings, regardless of what combination you have equipped. To my knowledge there's no way to hide items, so I can't just bootstrap it to each ring and hide it after that point when I can check for rings equipped and add the tags? I'm kind of stumped on this one haha.
 
Ah, so I need to run the script after First/500 so it knows if the ring is equipped, but I need to check for the tag in the conditional adding the storage item before First/495. Awkward. I'm adding a separate "item" as the storage space since its one shared space between all the rings, regardless of what combination you have equipped. To my knowledge there's no way to hide items, so I can't just bootstrap it to each ring and hide it after that point when I can check for rings equipped and add the tags? I'm kind of stumped on this one haha.
Try using the field gUserEquip instead. That one appears to be getting set early enough to do what you want.

But normally this is why items don't bootstrap other items. :(
 
As far as the timing goes that can be a doozy as I have ran into that several times. Although the bootstraps can be hidden via a conditional bootstrap. Look under conditionals in this thread:
http://forums.wolflair.com/showthread.php?t=21663
That should help you get something going as far as managing bootstraps.

??? I'm using a conditional to manage the bootstrap already. Two to be precise, one checking to see if the item itself is equipped, and another to check for the number of tags on the hero.

Try using the field gUserEquip instead. That one appears to be getting set early enough to do what you want.

But normally this is why items don't bootstrap other items. :(

Looks like that's setting at First/1000 from what I see. I'd hoped, but looks like its just not going to play out the way I'd envisioned. I think I'll just have it bootstrap the storage space "item", then have that enable itself by checking for the tags. Not as crisp as I wanted, but looking like the only feasible way.
 
Looks like that's setting at First/1000 from what I see.
Where and how are you seeing this? Because like I mentioned above I built a test item and actually used "DEBUG" statements to prove that field works at First/490.

To make sure we are on the same page. The BEST way to find an answer for timing is to use DEBUG statements in the script.

Make a script on your item and set it to First/490. Then add this script:
Code:
debug "gIsEqip " & field[gIsEquip].value
debug "gUserEquip " & field[gUserEquip].value
Then in HL go to Develop->Floating Info Windows->Show Debug Output. You get a new window that shows the results of the above values.

Add the item to a blank character and then equip and un-equip the item. The values of the above fields at First/490 will be displayed to you. This then lets you 100% prove what the values are at for a specific timing. :)
 
Back
Top