metalrings.mac: Basic, but very fast

Macro depository for macros written before the user variable changes that broke all of them.

Moderator: MacroQuest Developers

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

metalrings.mac: Basic, but very fast

Post by wassup » Fri Jun 06, 2003 3:22 am

I'm sure whoever wishes to can modify it for their own use for whiver kind of combine in whatever container, but all I can say is this thing is FAST!

Thank you for the hard work by the devs for the recent developments with MQ!

Give it a try with the components listed along with a forge if you want to test just how fast this is... I was amazed when I saw the speed. It will perform as many combines as you have the components for.

Make sure all your bags are open and not overlapped, and have the forge open.

BTW, it's for metal rings, one of the sub-combines of the Shadowscream armor. I will post a complete macro for Shadowscream sometime int he next few days:

Code: Select all

| metalrings.mac
|
| Created by Wassup
|
| Combines a water flask, large brick of ore, and file to create metal rings.
|
| I am certain this macro could me modified easily for other combines.
|
| This macro will perform as many combines as you have components VERY quickly.
|
#turbo
#define DelayValue v40 

Sub Main

   |Set the delay value
   /varset DelayValue 1

   /sendkey down ctrl

   :CombineLoop
|Get first component
   /finditem "water flask"
   /delay $DelayValue
   /if $cursor()!=True /goto :EndIt

   :ReClick
|Place water flask in forge
   /click left enviro 0
   /delay $DelayValue
   /if "$cursor(name)"=="Water Flask" /goto :ReClick

|Get second component
   /finditem "large brick of ore"
   /delay $DelayValue
   /if $cursor()!=True /goto :Endit

   :ReClick2
|Place ore in forge
   /click left enviro 1
   /delay $DelayValue
   /if "$cursor(name)"=="large brick of ore" /goto :ReClick2

|Get file
   /finditem "file"
   /delay $DelayValue
   /if $cursor()!=True /goto :Endit

   :ReClick3
|Place file in forge
   /click left enviro 2
   /delay $DelayValue
   /if "$cursor(name)"=="file" /goto :ReClick3

|Click the Combine button
   /click left enviro combine
   :WaitCombine
   /delay 1

   |Always going to have the file as a result of the combine
   /if $cursor()==True {
       /goto :AutoDrop
   } else /goto :WaitCombine

|Drop everything in auto equip
   :AutoDrop
   /if $cursor()==True {
       /click left auto
       /delay 1
       /goto :AutoDrop
   }

   |Start a new Combine
   /goto :CombineLoop

   :EndIt
   /zapvars
   /sendkey up ctrl
   /endmacro

/return
Feel free to use as you wish, but please make any modifications available to others who visit this forum.
Last edited by wassup on Sat Jun 07, 2003 7:36 pm, edited 1 time in total.

alcor75
a lesser mummy
a lesser mummy
Posts: 77
Joined: Wed Jan 29, 2003 7:35 am

Post by alcor75 » Fri Jun 06, 2003 6:58 am

Hello, wery nice work, i wanna add only 1 comment, this combine macro is very fast only if you have a very fast comp, net, internet connection, if any of this condition are False this will result in a series of random click and may uppen that it miss some too( this is mine experience, pls undestant this may not be true and i'm not god so i can be wrong)
There is no real check for the cursor to be empty or full so it will click regardless for the state of the cursor, in a wery slow comp you have to set a wery high delay that can result in a wery slow process.
I highly sugest the universlal combine posted few days ago, that supposed to work at max speed for any kinde of comp, net, internet conection.

Alcor75
P.S. As always i apologies for all mine English mistake and hope you can undestant what i wrote.

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

Post by wassup » Fri Jun 06, 2003 11:07 am

alcor75 wrote:Hello, wery nice work, i wanna add only 1 comment, this combine macro is very fast only if you have a very fast comp, net, internet connection, if any of this condition are False this will result in a series of random click and may uppen that it miss some too( this is mine experience, pls undestant this may not be true and i'm not god so i can be wrong)
There is no real check for the cursor to be empty or full so it will click regardless for the state of the cursor, in a wery slow comp you have to set a wery high delay that can result in a wery slow process.
I highly sugest the universlal combine posted few days ago, that supposed to work at max speed for any kinde of comp, net, internet conection.

Alcor75
P.S. As always i apologies for all mine English mistake and hope you can undestant what i wrote.
Well, yes, that might be true, but I don't think this macro will give random clicks, since I have some code built in to avoid that situation. You can adjust the DelayValue to compensate for your computer speed and internet connection. Regardless, I am fairly confident that this macro will perform faster than other macro's.

You do need to have the default UI Container without the titlebar though.

I appreciate universal macro's, but have found they tend to be slower. I like macro's that are built for specific combines. Although, I may tinker with making a universal combine macro built on this macro. I think it could be very easily adapted.

agni
decaying skeleton
decaying skeleton
Posts: 1
Joined: Sun Jun 08, 2003 4:30 pm

Post by agni » Sun Jun 08, 2003 4:32 pm

Thanks for making this, it's great for just replacing parts to combine to do whatever i need.

I have one small problem however and that is that it won't combine. The cursor seems to move towards the combine button then stop just a bit shy of it, and then it just sits there. Pressing combine manually frees up the wait and it continues. Any idea how to fix this?

md703
a lesser mummy
a lesser mummy
Posts: 34
Joined: Wed Oct 09, 2002 11:04 pm

Post by md703 » Sun Jun 08, 2003 8:12 pm

this macro crashes my comptuer every time i try to run it...

i have a athalon 1800xp, and 512 ram....not sure why it does this.

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

Post by wassup » Mon Jun 09, 2003 3:02 am

agni wrote:Thanks for making this, it's great for just replacing parts to combine to do whatever i need.

I have one small problem however and that is that it won't combine. The cursor seems to move towards the combine button then stop just a bit shy of it, and then it just sits there. Pressing combine manually frees up the wait and it continues. Any idea how to fix this?
Try removing #turbo from the macro. Also make sure you are using the default container xml file with your UI.
Last edited by wassup on Mon Jun 09, 2003 3:06 am, edited 1 time in total.

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

Post by wassup » Mon Jun 09, 2003 3:05 am

md703 wrote:this macro crashes my comptuer every time i try to run it...

i have a athalon 1800xp, and 512 ram....not sure why it does this.
It crashed mine too, but for one reason...

You need to use the default container xml file, and also... make sure all of your bags are open when you run the macro, and they cannot overlap at all.

Force a save of the bag and combine container positions by opening all of your bags and the combine container, position them so they don't overlap, then close and reopen all of your bags and the combine container.

Run the macro.

If your computer still crashes... not sure what to say.

md703
a lesser mummy
a lesser mummy
Posts: 34
Joined: Wed Oct 09, 2002 11:04 pm

Post by md703 » Mon Jun 09, 2003 4:11 am

figured out why it crashed, it was because when i copied the source, it had a lot of spaces after the end of every line. After taking them out, it worked, except it just didn't work the way it was suppose to. Mouse roams to center, click (nothing), macro ends.

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

Post by wassup » Mon Jun 09, 2003 11:41 am

Go ahead and remove the #turbo line.

That may make it work for you. My system is a little faster than yours.

Mental
orc pawn
orc pawn
Posts: 16
Joined: Mon Jun 02, 2003 5:55 pm

Post by Mental » Mon Aug 11, 2003 11:23 pm

Did you ever get around to making/posting the shadowscream combine macro?

I would be very interested in a macro tailored specifically to this combine.

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

Post by wassup » Tue Aug 12, 2003 5:04 pm

I tried, but it was just easier to make 20 orbs, then do 20 combines.

I might combine the separate macor's but for simplicity for myself I created separate macro's for each part of the combine.

MacroFiend
a grimling bloodguard
a grimling bloodguard
Posts: 662
Joined: Mon Jul 28, 2003 2:47 am

The way I run mouse clicks ...

Post by MacroFiend » Tue Aug 12, 2003 5:47 pm

is to trigger the click one time, then set a loop to wait for $cursor()!=TRUE or in the case of a /finditem, run the loop until $cursor()==TRUE. This gives you 2 side features. 1) You only click once. 2) If one of those clicks causes something unforseen to happen, the macro just waits patiently until the cursor has what it wants on it (or not on it as the case may be). The only time this would need multiple clicks is in the case of multiple item returns from a single combine (Mino Hero's Brew, FS Plate, Ornate Chain, Shadow Scream etc)

I also use events for my combine loops. It is very efficient to run a loop waiting for a variable and have the event set that variable saying the combine succeeded or failed. It also works better in cases where you don't get multiple items back (file, pan, hammer etc)

When I get some time, I'll post one of my tradeskill macros so you can see an example of speed optimization. Also, these ways of running the macro will allow the macro to work nearly flawlessly on any speed machine.

fryfrog
a hill giant
a hill giant
Posts: 271
Joined: Fri Jun 20, 2003 5:37 am

Post by fryfrog » Wed Aug 13, 2003 3:34 am

check out the sits.mac, its not specifically made for one combine and works very well at everything i have thrown at it (lots of ingrediants, a couple of items returned on success or failure, etc..)

its quite fast and can be tuned to be faster or slower, depending on your system and your preferences.