Strange behaviour of default fish macro...

Help section from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

OnyxSkyDV
a lesser mummy
a lesser mummy
Posts: 46
Joined: Wed Sep 18, 2002 1:02 pm

Strange behaviour of default fish macro...

Post by OnyxSkyDV » Fri Jun 06, 2003 11:31 am

I have modified the default fish macro to also forage so I can do both at the same time, but noticed some strange behavior, so I tried just the plain default fish macro, and got the same results.

When it gets to an item that should be destroyed, I can see it go click on the destroy button, then goes back to the autoequip area, but never actually destroys the item.... will go into a very fast loop, with macroquest spewing "[macroquest] you have caught a rusty dagger" repeatedly across the chat window.

It also will find the container that has a pole in it should I not have one in my primary slot, and open the bag, but will not equip it.

If I have an item on the cursor and do a "/click left destroy" it will get rid of it correctly, and I am not having the doubling problem since the new cvs with the updated locations file.

any ideas that I can try? All I can think of is that a time delay of some type needs to be added for it to actually hit the destroy button correctly....

Thanks!

OnyxSkyDV

Valerian
a grimling bloodguard
a grimling bloodguard
Posts: 709
Joined: Sun Jul 28, 2002 3:29 am

Post by Valerian » Fri Jun 06, 2003 5:49 pm

put a /delay 1 (or more) after every /click command, the macro is continuing before eq sees the click.

OnyxSkyDV
a lesser mummy
a lesser mummy
Posts: 46
Joined: Wed Sep 18, 2002 1:02 pm

Post by OnyxSkyDV » Fri Jun 06, 2003 6:11 pm

Thanks much! I will give it a shot and let you know how it worked out!
:D

OnyxSkyDV

Mckorr
Developer
Developer
Posts: 2326
Joined: Fri Oct 18, 2002 1:16 pm
Location: Texas

Post by Mckorr » Sat Jun 07, 2003 10:16 am

We currently move the mouse my directly modifying its location address, but we still click by DirectX. That makes the actual click a lot slower than the move.

Insert delays after the clicks to give EQ time to recognize the click before MQ runs on to the next line in the script. MQ is actually faster than the DirectX click function.

Valerian is working on a non-detoured (meaning non-DirectX) version of Click, but it's slow going. For now use delays. Start with "/delay 1s" and adjust for the speed of your computer.
MQ2: Think of it as Evolution in action.

kagonis
a hill giant
a hill giant
Posts: 228
Joined: Sat May 24, 2003 8:48 pm

Post by kagonis » Sat Jun 07, 2003 4:14 pm


OnyxSkyDV
a lesser mummy
a lesser mummy
Posts: 46
Joined: Wed Sep 18, 2002 1:02 pm

Sorta working... :)

Post by OnyxSkyDV » Tue Jun 10, 2003 3:58 pm

Well, based on my guess and your recommendations, it was the timing that was throwing me.....

What I did was to take the line for /click left destroy and replaced them with a call to a new routine. /call destroyitem

Then I added a new section called destroyitem, which had the following:
/mouseto destroy
/delay 2
/click left destroy
/delay 2

Which seemed to fix that issue for me. need to tweak it a bit more, because I think those delays are too long, and maybe one more than needed delay statement.

I still have the issue where finditem will walk though my bags, and then open the bag that has the fishing pole, but never takes it from the bag to auto equip....

Any help with that would be great. Still looking through other macros to glean what I need.


Thanks much! :)

User avatar
BlueSkies
a ghoul
a ghoul
Posts: 132
Joined: Tue Oct 01, 2002 6:22 pm

Post by BlueSkies » Tue Jun 10, 2003 5:11 pm

Another quirk I've noticed is that when EverQuest (or EQW) is NOT the focus window (ie, you're doing something else while running a macro, like checking up on the MQ forum :P), macros with /click will fail. Specifically, the /click never reaches the client. This is similar to the behavior of Xylobot, which also uses DirectX for click (and everything else -- but that's beside the point).
Which means, until they get the non-detoured /click working, you won't be able to do other things on your computer while macroing with macros that require /click.

Just a little note. :) Good luck with the script.
Live your dreams! Blue Skies everyone

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Re: Sorta working... :)

Post by wassup » Tue Jun 10, 2003 5:28 pm

OnyxSkyDV wrote:Well, based on my guess and your recommendations, it was the timing that was throwing me.....

What I did was to take the line for /click left destroy and replaced them with a call to a new routine. /call destroyitem

Then I added a new section called destroyitem, which had the following:
/mouseto destroy
/delay 2
/click left destroy
/delay 2

Which seemed to fix that issue for me. need to tweak it a bit more, because I think those delays are too long, and maybe one more than needed delay statement.

I still have the issue where finditem will walk though my bags, and then open the bag that has the fishing pole, but never takes it from the bag to auto equip....

Any help with that would be great. Still looking through other macros to glean what I need.


Thanks much! :)
Another idea I am using is to do a cursor check in a loop with a very small delay, if any:

Code: Select all

:ReClick
/click left <destroy auto etc...>
/if $cursor()==True /goto :ReClick
Something like this is overall more efficient I think than using /delay for a set amount of time. I have tried using /delay 5 or higher and becasue of lag I still end up missing the click.

Just something to consider.

OnyxSkyDV
a lesser mummy
a lesser mummy
Posts: 46
Joined: Wed Sep 18, 2002 1:02 pm

awesome!

Post by OnyxSkyDV » Wed Jun 11, 2003 6:11 pm

Great idea! makes more sense to click till it works rather than guess at a predetermined time....

I'll be throwing this in my macro shortly. :)

OnyxSkyDV

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Wed Jun 11, 2003 6:13 pm

There's something about the notion of a character sitting at the water clicking their hotbutton at lightning speed NON STOP that would disturb me if I were a running executable :)

The delay is better, imo.

OnyxSkyDV
a lesser mummy
a lesser mummy
Posts: 46
Joined: Wed Sep 18, 2002 1:02 pm

question...

Post by OnyxSkyDV » Thu Jun 12, 2003 1:31 pm

Do you think there would be all that many clicks? Would putting a small delay in there, but maintaining the check be smarter? That way you are not doing a ton of fast clicks, but still having some redundency/error checking to help the macro work as desired?

Thanks!

Onyx

Amadeus
The Maestro
The Maestro
Posts: 2036
Joined: Sat Jun 29, 2002 3:51 pm

Post by Amadeus » Thu Jun 12, 2003 1:33 pm

It's up to you, but personally I've never had a problem using a timer to time the clicks to coincide for when the button is ungreyed. If the fishing timer is x seconds, I usually put my timer for x+2 seconds to give a little leeway.

Losing those 2 seconds won't significantly reduce the amount of fish you get, at least I don't think so.

OnyxSkyDV
a lesser mummy
a lesser mummy
Posts: 46
Joined: Wed Sep 18, 2002 1:02 pm

misunderstanding

Post by OnyxSkyDV » Thu Jun 12, 2003 3:48 pm

Ah, I see the misunderstanding... We are talking about a loop to continue to click on the destroy button, should it fail to click it the first time.

I agree completely, have it just click on the fishing button would be at the least wasteful of cycles, and quite possible a reason to draw attention from SoE.... However for the destroy click, it should work fine.

Thanks!


OnyxSkyDV