Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - Pathfinder Roleplaying Game (http://forums.wolflair.com/forumdisplay.php?f=62)
-   -   Tag addition issues (http://forums.wolflair.com/showthread.php?t=60407)

FluffyDingo March 20th, 2018 05:55 PM

Tag addition issues
 
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!

Farling March 21st, 2018 12:35 AM

It is probably the "done if not equipped" line which is the wrong way around.
Can you post the actual code?

ShadowChemosh March 21st, 2018 10:05 AM

Quote:

Originally Posted by FluffyDingo (Post 264629)
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...

FluffyDingo March 22nd, 2018 06:57 PM

Quote:

Originally Posted by Farling (Post 264633)
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.

Quote:

Originally Posted by ShadowChemosh (Post 264645)
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.

DeltaMasterMind March 23rd, 2018 03:57 AM

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.

ShadowChemosh March 23rd, 2018 08:59 AM

Quote:

Originally Posted by FluffyDingo (Post 264684)
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. :(

FluffyDingo March 24th, 2018 10:12 AM

Quote:

Originally Posted by DeltaMasterMind (Post 264689)
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.

Quote:

Originally Posted by ShadowChemosh (Post 264698)
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.

ShadowChemosh March 24th, 2018 10:23 AM

Quote:

Originally Posted by FluffyDingo (Post 264756)
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. :)


All times are GMT -8. The time now is 01:47 AM.

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