• 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

Childfound...

ShadowChemosh

Well-known member
I thought when using childfound instead of child that HL was not suppose to throw an error if the thing was not found? From the wiki "Transitions to the pick context corresponding to the first pick within the container that derives from the thing with the id specified. This transition is identical to "child[id]", except that the existence of the child pick is optional. If the child is found, the transition occurs normally. If the child does not exist, no run-time error is reported, although the transition still fails to resolve."

I have the following code on a new class I am creating:
Code:
~First 498
hero.childfound[cAnimClass].field[CompClLev].value -= 3
hero.childfound[cAnimComp].field[CompLevBas].value -= 3
hero.childfound[cAnimComp].field[CompLevel].value -= 3

If the animal companion is not attached, which happens before level 8, then the script throws errors. Attached is a image of the errors. I even found THIS post about animal companion and it causes the same error to happen.

I am mis-reading what childfound does or is their another way to test that a Thing is really their before trying to affect it?
 

Attachments

  • PickError.jpg
    PickError.jpg
    52 KB · Views: 3
I'm afraid I don't understand the child/childfound part (I've noted this thread for Rob or Colen to explain that).

I do know how to keep the error from happening:

Code:
hero.childfound[cAnimClass].field[CompClLev].value -= 3
 
if (hero.childlives[cAnimComp] <> 0) then
  hero.childfound[cAnimComp].field[CompLevBas].value -= 3
  hero.childfound[cAnimComp].field[CompLevel].value -= 3
  endif
 
I'm afraid I don't understand the child/childfound part (I've noted this thread for Rob or Colen to explain that).
Thanks. Just trying to make sure I use stuff the right away or at least understand the way it is intended.

Thanks for the script I had tried using childlives but had issues. I see now that it was because I added .value after childlives[cAnimComp]. Guess it was just habit. :) :p
 
As Mathias notes, childlives is the correct way to make sure the pick is live before accessing it. :)

"childfound" returns an error for non-live picks because it's a sign you may be doing something wrong; if a pick could be non-live, you should often be testing for that beforehand and perhaps doing something different.

Hope this helps!
 
Back
Top