Discussion in 'General Discussion' started by VianSK, Dec 12, 2016.

  1. VianSK

    VianSK Well-Known Member

    Messages:
    47
    When my characters are dead:
    This ${ChoiceWindow.Text.GetProperty[LocalText].Find[Do you accept]}
    Returns This: --> CWError1: 0x79d2c420 != 0x190323c

    Did I break it?
  2. Kannkor

    Kannkor Ogre

    Messages:
    3,632
    CWError just means isxeq2 prevented a crash related to the choice window.

    Is this in a custom script?
  3. VianSK

    VianSK Well-Known Member

    Messages:
    47
    Hi Kannkor. It is a custom script. Here is the snippet:

    Code (Text):
            do
            {
                if ${ChoiceWindow.Text.GetProperty[LocalText].Find[Do you accept]}
                {
                    ChoiceWindow:DoChoice1
                }
                wait 10 ${ChoiceWindow.Text.GetProperty[LocalText].Find[Do you accept]}
            }
            while ${Me.IsDead} && !${EQ2.Zoning}
  4. Kannkor

    Kannkor Ogre

    Messages:
    3,632
    Best guess from that would be a race situation. I'd add in some waits, and NOT do the wait ${ChoiceWindow...., since it's checking that every frame. And if you are just ressing, just have it wait 10, then check it. You won't need the frame level checking.
  5. Amadeus

    Amadeus The Maestro Staff Member

    Messages:
    8,264
    Yes, the problem is most likely that you're trying to click the window after it's already gone because ${Me.IsDead} is still TRUE and ${EQ2.Zoning} is still FALSE but you've already clicked the window.

    The best thing to do is follow the logic that EQ2Bot uses: It has an event for when the ChoiceWindow appears and then launches a new thread (script) to handle it. By launching a new thread (script) to handle it, it more neatly deals with race conditions since you can actually utilize "waits" and other things that are not normally allowed in atoms.

Share This Page