tinkering 50 to 250

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

Sasta
decaying skeleton
decaying skeleton
Posts: 4
Joined: Thu Oct 28, 2004 8:09 pm

tinkering 50 to 250

Post by Sasta » Thu Oct 28, 2004 8:52 pm

Modified code borrowed from Siberian007's Tailoring macro. Some of the items for combine need to be made or farmed first, but most can be bought off of Tialechaety in Abysmal Sea.

tinkering.mac

Code: Select all


|+---------------------------------------
|+ tinkering.mac                            
|+---------------------------------------
|+ -Raises Tinkering from 50 to 250 
|+---------------------------------------

#event CombineError "#*#There was no place to put that#*#"
#event CombineError "#*#You cannot combine these items in this container type!#*#"
#event CombineError "#*#did not accept these items#*#"
#event ContUsed "#*#Someone else is using that. Try again later.#*#"
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc 

Sub Main
    /declare OldSkill int outer
    /declare SkillMaxWanted int outer
    /declare PackCode string outer
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantName string Outer
    /declare CompA item outer
    /declare CompB item outer
    /declare CompC item outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /varset OldSkill ${Me.Skill[Tinkering]}

|+-----------------------------------------------------------+
|+ Change these settings to what you want                
|+ Default: Tialechaety in Abysmal Sea @ -189,72,96    
|+------------------------------------------------------------+

    /varset SkillMaxWanted 250
    /varset MerchantName "Tialechaety Orrthemech"

|+----------------------------------------+

    :start
    /echo Tinkering is at ${Me.Skill[Tinkering]}

    /if (${Me.Skill[Tinkering]}>=${SkillMaxWanted}) {
      /echo Tinkering is at ${SkillMaxWanted}. Quiting!
      /endmacro
    } 

    /if (${Me.Skill[Tinkering]}<75) {
      /varset CompA "gears"
      /varset CompB "gnomish bolts"
      /varset CompC "grease"
      /varset CombItemName "SBC"
      /varset ItemTo "standard bow cam"
    }
    /if (${Me.Skill[Tinkering]}>=75 && ${Me.Skill[Tinkering]}<95) {
      /varset CompA "bottle"
      /varset CompB "collapsible fishing pole"
      /varset CompC "metal rod"
      /varset CompD "metal twine"
      /varset CompE "reflective shard"
      /varset CombItemName "SG"
      /varset ItemTo "spyglass"
    }
    /if (${Me.Skill[Tinkering]}>=95 && ${Me.Skill[Tinkering]}<102) {
      /varset CompA "bottle"
      /varset CompB "firewater"
      /varset CompC "gear"
      /varset CompD "gear"
      /varset CompE "metal rod"
      /varset CombItemName "SP"
      /varset ItemTo "stalking probe"
    }
    /if (${Me.Skill[Tinkering]}>=102 && ${Me.Skill[Tinkering]}<122) {
      /varset CompA "firewater"
      /varset CompB "gears"
      /varset CompC "metal twine"
      /varset CompD "sprockets"
      /varset CompE "steel lined gloves"
      /varset CombItemName "PG"
      /varset ItemTo "powered gloves"
    }
    /if (${Me.Skill[Tinkering]}>=122 && ${Me.Skill[Tinkering]}<135) {
      /varset CompA "firewater"
      /varset CompB "gears"
      /varset CompC "metal twine"
      /varset CompD "shaped ashwood recurve bow"
      /varset CompE "sprockets"
      /varset CombItemName "TC"
      /varset ItemTo "tinkered catapult"
    }
    /if (${Me.Skill[Tinkering]}>=135 && ${Me.Skill[Tinkering]}<150) {
      /varset CompA "grease"
      /varset CompB "pinion"
      /varset CompC "steel ball bearing"
      /varset CompD "steel casing"
      /varset CombItemName "BP"
      /varset ItemTo "base prototype"
    }
    /if (${Me.Skill[Tinkering]}>=150 && ${Me.Skill[Tinkering]}<161) {
      /varset CompA "coiled spring"
      /varset CompB "firewater"
      /varset CompC "saltpeter"
      /varset CompD "tinkered catapult"
      /varset CombItemName "APU"
      /varset ItemTo "advanced propulsion unit"
    }
    /if (${Me.Skill[Tinkering]}>=161 && ${Me.Skill[Tinkering]}<168) {
      /varset CompA "coiled spring"
      /varset CompB "cured leather tubing"
      /varset CompC "gears"
      /varset CompD "steel ball bearing"
      /varset CompE "water flask"
      /varset CombItemName "PSP"
      /varset ItemTo "perpetual steam pump"
    }
    /if (${Me.Skill[Tinkering]}>=168 && ${Me.Skill[Tinkering]}<215) {
      /varset CompA "belt of leathery fungus flesh"
      /varset CompB "gears"
      /varset CompC "gnomish bolts"
      /varset CompD "planing tool"
      /varset CompE "sprockets"
      /varset CombItemName "GPT"
      /varset ItemTo "geerlok planing tool"
    }
    /if (${Me.Skill[Tinkering]}>=215 && ${Me.Skill[Tinkering]}<222) {
      /varset CompA "coiled spring"
      /varset CompB "gnomish bolts"
      /varset CompC "metal rod"
      /varset CompD "metal rod"
      /varset CompE "metal rod"
      /varset CompF "skewers"
      /varset CombItemName "CS"
      /varset ItemTo "collapsed spit"
    }
    /if (${Me.Skill[Tinkering]}>=222 && ${Me.Skill[Tinkering]}<224) {
      /varset CompA "coiled spring"
      /varset CompB "container base mold"
      /varset CompC "container lid mold"
      /varset CompD "gem setter parts"
      /varset CompE "gnomish bolts"
      /varset CompF "metal bits"
      /varset CombItemName "CJK"
      /varset ItemTo "collapsed jeweler's kit"
    }
    /if (${Me.Skill[Tinkering]}>=224 && ${Me.Skill[Tinkering]}<226) {
      /varset CompA "coiled spring"
      /varset CompB "container base mold"
      /varset CompC "container lid mold"
      /varset CompD "gnomish bolts"
      /varset CompE "metal bits"
      /varset CompF "needle mold"
      /varset CompG "thimble mold"
      /varset CombItemName "CSK"
      /varset ItemTo "collapsed sewing kit"
    }
    /if (${Me.Skill[Tinkering]}>=226 && ${Me.Skill[Tinkering]}<227) {
      /varset CompA "circle hook"
      /varset CompB "coiled spring"
      /varset CompC "container base mold"
      /varset CompD "container lid mold"
      /varset CompE "dry hook"
      /varset CompF "gnomish bolts"
      /varset CompG "metal bits"
      /varset CombItemName "CT"
      /varset ItemTo "collapsed tacklebox"
    }
    /if (${Me.Skill[Tinkering]}>=227 && ${Me.Skill[Tinkering]}<242) {
      /varset CompA "coiled spring"
      /varset CompB "metal bits"
      /varset CompC "small brick of high quality ore"
      /varset CompD "toolbox mold"
      /varset CompE "water flask"
      /varset CombItemName "CTK"
      /varset ItemTo "collapsed toolkit"
    }
    /if (${Me.Skill[Tinkering]}>=242 && ${Me.Skill[Tinkering]}<250) {
      /varset CompA "bandages"
      /varset CompB "base prototype"
      /varset CompC "gnomish bolts"
      /varset CompD "mana battery - class six"
      /varset CompE "static orb"
      /varset CombItemName "AGP"
      /varset ItemTo "anizok's gauze press"
    }

    
    /varset EndingVar 1
    /target ${MerchantName}
    /face
    /nomodkey /click right target
    /call OpenPacks
    /delay 2s
   /call Buy ${CompA} 20
  /delay 1s
    /nomodkey /notify MerchantWnd DoneButton leftmouseup
    /call ClosePacks
    /call OpenPacks
    /delay 2s

    /call readIni "${CombItemName}"
    :Begin
       /if (${EndingVar}==1) /call ClearCursor
       /for i 1 to 10
             /if (${EndingVar}==1) /call AddComp "${Component[${i}]}" ${i}
       /next i
       /if (${EndingVar}==1) /call DoCombine
       /if (${EndingVar}==1) /goto :Begin
 
    /delay 1s
    /call ClosePacks
    /delay 1s
    /target ${MerchantName}
    /face
    /nomodkey /click right target
    /delay 1s
    /call OpenPacks
    /delay 2s
    /call Sell ${ItemTo}
    /delay 1s
    /nomodkey /notify MerchantWnd DoneButton leftmouseup
    /call ClosePacks

    /goto :start

    /return


Sub readIni(RecipeName)
    /declare Container string

    /echo Running ${RecipeName} recipe

   /if (${Ini["tinkering.ini","${RecipeName}",-1,"NOTFOUND"].Equal["NOTFOUND"]}) {
        /echo Recipe ${RecipeName} not found
        /endmacro
    }

   /varset Container ${Ini[tinkering.ini,${RecipeName},Cont,Enviro]}

   /if (${Container.Equal[Enviro]}) {
        /varset PackCode Enviro
   } else {
        /varset PackCode ${FindItem[=${Container}].InvSlot}
       
      /if (${PackCode.Equal[NULL]}) {
         /echo Could not find container ${Container}
         /varset EndingVar 2
         /return
      }
| pack1 = 22, ... , pack8 = 29
      /varset PackCode pack${Math.Calc[${PackCode}-21].Int}
   } 

 |  /call cleanPack ${Container}

    /for i 1 to 10
        /varset Component[${i}] ${Ini[tinkering.ini,${RecipeName},Comp${Math.Calc[${i}-1].Int},NOTFOUND]}
    /next i
    /return

sub ClearCursor
    :Loop
      /if (!${Cursor.ID}) /return
      /autoinv
|      /destroy   
      /delay 5
      /doevents
      /goto :Loop
    /return

sub DoCombine
    :Loop
      /combine ${PackCode}
      /delay 1s
      /if (${PackCode.Equal[Enviro]}) /delay 1s
      /doevents
      /if (${InvSlot[${PackCode}].Item.Items}) /goto :Loop
      /delay 5
      /if (${Me.Skill[Tinkering]}>${OldSkill}) {
        /echo Your Tinkering Went Up!! It's now ${Me.Skill[Tinkering]}!
        /varset OldSkill ${Me.Skill[Tinkering]}
      }
    /return 

sub AddComp(CompName, PackSlot)
   /if (${CompName.Equal[NOTFOUND]}) /return

   /if (!${FindItem[=${CompName}].ID}) {
      /echo Could not find ${CompName} in inventory
      /beep
      /varset EndingVar 2
      /return
    }

   :Loop
      /nomodkey /ctrl /itemnotify ${FindItem[=${CompName}].InvSlot} leftmouseup

      /if (!${Cursor.ID}) {
         /delay 1
         /goto :Loop
      }

   /if (${PackCode.Equal[Enviro]}) {
      /nomodkey /itemnotify ${InvSlot[enviro${PackSlot}]} leftmouseup
   } else {
      /nomodkey /itemnotify in ${PackCode} ${PackSlot} leftmouseup
   }   
   /return

Sub Event_CombineError
    /varset EndingVar 2
/return

tinkering.ini

Code: Select all


[SBC]
cont=standard bow cam
comp0=gears
comp1=gnomish bolts
comp2=grease


[SG]
cont=spyglass
comp0=bottle
comp1=collapsible fishing pole
comp2=metal rod
comp3=metal twine
comp4=reflective shard

[SP]
cont=stalking probe
comp0=bottle
comp1=firewater
comp2=gear
comp3=gear
comp4=metal rod

[PG]
cont=powered gloves
comp0=firewater
comp1=gears
comp2=metal twine
comp3=sprockets
comp4=steel lined gloves

[TC]
cont=tinkered catapult
comp0=firewater
comp1=gears
comp2=metal twine
comp3=shaped ashwood recurve bow
comp4=sprockets

[BP]
cont=base prototype
comp0=grease
comp1=pinion
comp2=steel ball bearing
comp3=steel casing

[APU]
cont=advanced propulsion unit
comp0=coiled spring
comp1=firewater
comp2=saltpeter
comp3=tinkered catapult

[PSP]
cont=perpetual steam pump
comp0=coiled spring
comp1=cured leather tubing
comp2=gears
comp3=steel ball bearing
comp4=water flask

[GPT]
cont=geerlok planing tool
comp0=belt of leathery fungus flesh
comp1=gears
comp2=gnomish bolts
comp3=planing tool
comp4=sprockets

[CS]
cont=collapsed spit
comp0=coiled spring
comp1=gnomish bolts
comp2=metal rod
comp3=metal rod
comp4=metal rod
comp5=skewers

[CJK]
cont=collapsed jeweler's kit
comp0=coiled spring
comp1=container base mold
comp2=container lid mold
comp3=gem setter parts
comp4=gnomish bolts
comp5=metal bits

[CSK]
cont=collapsed sewing kit
comp0=coiled spring
comp1=container base mold
comp2=container lid mold
comp3=gnomish bolts
comp4=metal bits
comp5=needle mold
comp6=thimble mold

[CT]
cont=collapsed tacklebox
comp0=circle hook
comp1=coiled spring
comp2=container base mold
comp3=container lid mold
comp4=dry hook
comp5=gnomish bolts
comp6=metal bits

[CTK]
cont=collapsed toolkit
comp0=coiled spring
comp1=metal bits
comp2=small brick of high quality ore
comp3=toolbox mold
comp4=water flask

[AGP]
cont=anizok's gauze press
comp0=bandages
comp1=base prototype
comp2=gnomish bolts
comp3=mana battery - class six
comp4=static orb

Sasta

PhoenixZorn
Macro Czar
Posts: 127
Joined: Fri Dec 12, 2003 2:20 pm
Contact:

Post by PhoenixZorn » Thu Oct 28, 2004 11:51 pm

well done... now if you can write it so it maxes out store bought combines, and stops there, it would be better... let people add their own combines for farmed items in the recipe section.

Libra
a lesser mummy
a lesser mummy
Posts: 38
Joined: Thu Sep 23, 2004 1:24 am
Contact:

Post by Libra » Fri Oct 29, 2004 12:57 am

Are there any full merchant recipes to 250?

User avatar
peach
a hill giant
a hill giant
Posts: 156
Joined: Fri Sep 10, 2004 8:20 pm

Post by peach » Fri Oct 29, 2004 3:15 pm

nope
[img]http://img23.exs.cx/img23/4702/search2.jpg[/img]

bam
a ghoul
a ghoul
Posts: 149
Joined: Thu May 13, 2004 11:53 pm

Post by bam » Sun Oct 31, 2004 7:40 am

PhoenixZorn wrote:well done... now if you can write it so it maxes out store bought combines, and stops there, it would be better... let people add their own combines for farmed items in the recipe section.
Thats easy enough with the macro provided. Just change what you want your max skill to be and it will stop when it htis that. For the higher stuff you can just edit the recipies. If yah can't modify this to your tinkering needs the yah really shouldn't run MQ. Its pretty damn easy....

Timbuktu
orc pawn
orc pawn
Posts: 24
Joined: Thu May 27, 2004 2:20 pm

Newb Tinker

Post by Timbuktu » Sun Nov 28, 2004 4:11 am

I'm a tradeskill junkie and the tradeskills I know, I know intimately (no jokes please). If I were to get this (which I'm thinking about) it would be GREAT to know what the highest recipe is that can be done in this macro with storebought ingredients. and of course what components would be needed beyond that point.. and to what limit. E.g. I know that coiled spring is a drop from PoI... but is that the first component that cannot be vendor bought? and what are the other non-vendor components? A simple included chart would be perfect. A simple list of which components are needed in order and specifying which ranges they are needed for.
I understand that this is pretty much handing it to me on a silver plattter, but dear god, it's an auto tradeskill macro. That's the point.
by the way, the reason I ask for this is because Alchemy, Make poison and Tinkering are 3 tradeskills I don't know a darn thing about. Well, except the coiled spring thing.

Timbuktu

Sasta
decaying skeleton
decaying skeleton
Posts: 4
Joined: Thu Oct 28, 2004 8:09 pm

Post by Sasta » Mon Nov 29, 2004 8:14 pm

EQTraders is your best friend. All that is required from your end is a little gasp... 'searching'.

-----------------------
www.eqtraders.com
-----------------------

The higher the tinker skill the more likely stuff required is farmed, than mercant bought. You can re-configure any of the recipies by searching the site above.

-Sasta

User avatar
SukMage
a ghoul
a ghoul
Posts: 88
Joined: Fri Jun 04, 2004 5:08 pm

Post by SukMage » Tue Nov 30, 2004 1:47 pm

tinkering.org or eqtc = tinkerer's best friend

On this list of combines the powered gloves are the highest only vendor items if you don't count the firewater being tinkered itself. Next on the list was tinkered catapult which is all vendor bought but there's a fletching combine of about 140ish if I remember right but all the ingredients are storebought still. After that is PoI farming time.

Sasta
decaying skeleton
decaying skeleton
Posts: 4
Joined: Thu Oct 28, 2004 8:09 pm

Post by Sasta » Wed Dec 01, 2004 10:13 am

eqtc = www.eqtraders.com

yes tinkering.org is a nice site, but I usually stick with eqtc cuzz it ables you to put all your ducks in a row (meaning its a universal ts site), I guess it just depends on how many ts websites you want in your bookmarks.

however its really easy configuring to your liking, but I know of no recipies that are merchant bought all the way to 250. eventually you'll have to farm stuff, and etc.

-Sasta

PhoenixZorn
Macro Czar
Posts: 127
Joined: Fri Dec 12, 2003 2:20 pm
Contact:

Post by PhoenixZorn » Tue Dec 07, 2004 1:47 pm

Thats easy enough with the macro provided. Just change what you want your max skill to be and it will stop when it htis that. For the higher stuff you can just edit the recipies. If yah can't modify this to your tinkering needs the yah really shouldn't run MQ. Its pretty damn easy....
I said that because if you can't ADD the recipes on your own you shouldn't be using MQ... It is pretty damn easy, and that's why it needs to be changed to max out store bought only recipes... It's like any other automated tradeskill macro... they do the max for store bought combines, then stop... This one should as well.

Sasta
decaying skeleton
decaying skeleton
Posts: 4
Joined: Thu Oct 28, 2004 8:09 pm

Post by Sasta » Mon Dec 13, 2004 7:26 pm

PhoenixZorn , Im not here to spoon feed you. This macro was adjusted for my needs, and can be re-configured for anyone's needs. Instead of bishing about what needs to be where, take your thumb out of your butt, pull up one of overrides macro's and either copy paste the max out's or code to your own needs.

-Sasta

---------------------
Script Kiddies are such whiney bishes

User avatar
fearless
Not a Psychic
Posts: 2684
Joined: Wed Mar 10, 2004 3:52 pm

Post by fearless » Mon Dec 13, 2004 9:37 pm

oh dear god . . . i'm laughing so hard I have tears in my eyes bwahahahahahaha
Reading . . . it's not just for me.

[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
[quote="Ccomp5950"]Fearless showed me the light, you too shall learn.[/quote]

superslam
a lesser mummy
a lesser mummy
Posts: 47
Joined: Sat Jan 22, 2005 3:34 pm

Post by superslam » Sun Apr 17, 2005 11:49 am

Macro doesn't work. I don't know if it's just broken now, or if it never worked. By looking at the code, it doesn't look like it was coded right. Either way, it just keeps buying gears and selling them back. Just looks like Sasta tried to rip off one of crash's tradeskill macros, but didn't understand the macros, and therefore it poorly.

For instance:

Code: Select all

[SBC] 
cont=standard bow cam 
comp0=gears 
comp1=gnomish bolts 
comp2=grease 
Should be

Code: Select all

[SBC] 
cont=toolbox
comp0=gears 
comp1=gnomish bolts 
comp2=grease 
The final product is "Standard Bow Cam." When the macro starts, it looks for the standard bow cam (which it never will find, since that's the finished product, not a component or container), when it doesn't find it; it doesn't end the macro, it just loops back to the beginning, sells the gears back, then rebuys them...

Also,

Code: Select all

/varset EndingVar 1 
    /target ${MerchantName} 
    /face 
    /nomodkey /click right target 
    /call OpenPacks 
    /delay 2s 
   /call Buy ${CompA} 20 
  /delay 1s 
    /nomodkey /notify MerchantWnd DoneButton leftmouseup 
    /call ClosePacks 
    /call OpenPacks 
    /delay 2s 
This code only buys the first component from the merchant. In order for this macro to function properly, you need to do a loop to read the ini file and see how many components are required for the combine. Then have then have another loop to buy those components from the merchant.

Seems like a decent idea. You say that it serves your purposes, but the forum also says to only post complete and functioning macros. By the code, I don't see how this macro could have ever been functional. The code isn't outdated; the logic is simply not there.

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Re: tinkering 50 to 250

Post by Override » Sun Apr 24, 2005 9:47 am

Sasta wrote:Modified code borrowed from Siberian007's Tailoring macro.
Thought it was my code, lol. It's ok though. Good work though, I was making a tinkering one with vendor bought stuff but it ends at like 135. Wish there was another way to get it higher.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

armysoldier
a hill giant
a hill giant
Posts: 189
Joined: Mon Jun 27, 2005 2:13 am
Location: Florida (Stationed at FT Carson CO)

WORKING CODE

Post by armysoldier » Fri Dec 23, 2005 2:39 pm

I have reworked all of overrides macros.. and I have been fixing them for a while now...

using his base code... here is a WORKING Tinkering.mac it will take you to 149

Code: Select all


| Tinkering.mac
|
| Created December 2005
|
| Takes you from 1 to 149 in Tinkering
|
| Written by Armysoldier based on code written by override
|
|
| Before you start, there are the settings you need to change for you.
| 
| SkillMaxWanted can be change to what skill you want to stop at.
|
| MerchantName is which merchant you are at.
|
| You will need to change the DelayMult to higher if you are laggy, this
|   number will be multiplied to the default delay.
|
|
|
| This Macro works best in the Abysmal Sea up to skill 149 since all the components are there.
|
| Skill 123-149 makes aqualung... the end product is NOT SOLD off.. 
| and the macro will end when inventory is full
| 
|
| Requirements:
| Have Toon Standing Tialechaety Orrthemech @ -189,72,96  in Abysmal Sea
| You must have fresh fish on you if you want to go above 123
| You will need a Deluxe Toolbox (in the last slot).
|  ---------------^^^^^^^^^^^^^^----VERY IMPORTANT
|
|
| IF YOU HAVE A COLLAPSABLE OR REGULAR TOOLBOX.... YOU MUST CHANGE INI file
| do a find and replace Deluxe Toolbox with Collapsable Toolbox or Toolbox
|
|
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
|  
| 

 
#event CombineError "#*#There was no place to put that#*#" 
#event CombineError "#*#You cannot combine these items in this container type!#*#" 
#event CombineError "#*#did not accept these items#*#" 
#event ContUsed "#*#Someone else is using that. Try again later.#*#"

#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc

Sub Main
    /declare OldSkill int outer
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer 
    /declare i int outer
    /declare MerchantName string Outer
    /declare CompA item outer
    /declare CompB item outer
    /declare CompC item outer
    /declare CompD item outer
    /declare CompE item outer
    /declare CompF item outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /declare DelayMult int outer
    /varset OldSkill ${Me.Skill[Tinkering]}

| ************************************************
| *   Change these settings to what you want.    *
| ************************************************
    /varset MerchantName "Tialechaety Orrthemech" 
    /varset SkillMaxWanted 300
    /varset DelayMult 1


| ************************************************
| Set components for recipies
| ************************************************

    :start
    /echo Tinkering is at ${Me.Skill[Tinkering]}

    /if (${Me.Skill[Tinkering]}>=${SkillMaxWanted}) {
      /echo Tinkering is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (${Me.Skill[Tinkering]}>=75 && ${Me.Skill[Tinkering]}<123) { 
      /varset CompA "water flask" 
      /varset CompB "gnomish spirits" 
      /varset CombItemName "FW" 
      /varset ItemTo "Firewater"
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompA} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompB} 10
      /call ClosePacks
      /keypress ESC
      /varset EndingVar 1
    /call Combinefunction
    /delay 1s
      }       
    /if (${Me.Skill[Tinkering]}<76) { 
      /varset CompA "gears" 
      /varset CompB "gnomish bolts" 
      /varset CompC "grease" 
      /varset CombItemName "SBC" 
      /varset ItemTo "standard bow cam" 
    } 
    /if (${Me.Skill[Tinkering]}>=75 && ${Me.Skill[Tinkering]}<103) { 
      /varset CompA "bottle" 
      /varset CompB "gears" 
      /varset CompC "gears" 
      /varset CompD "metal rod" 
      /varset CombItemName "SP" 
      /varset ItemTo "stalking probe" 
    } 
    /if (${Me.Skill[Tinkering]}>=102 && ${Me.Skill[Tinkering]}<123) { 
      /varset CompA "gears" 
      /varset CompB "metal twine" 
      /varset CompC "sprockets" 
      /varset CompD "steel lined gloves" 
      /varset CombItemName "PG" 
      /varset ItemTo "powered gloves" 
    } 
    /if (${Me.Skill[Tinkering]}>=122 && ${Me.Skill[Tinkering]}<149) { 
       /if (${FindItemCount[=Fresh Fish]}<10) {
       /echo you need to please go buy fresh fish....
       /endMacro
       }
      /varset CompA "Metal Rod" 
      /varset CompB "Metal Twine" 
      /varset CompC "Gnomish Bolts" 
      /varset CompD "Fine Coral Mesh"
      /varset CompE "Silk Lined Steel Helm" 
      /varset CombItemName "AL" 
      /varset ItemTo "Aqualung" 
    } 

| ************************************************
| Buy components
| ************************************************
    /if (${Me.Skill[Tinkering]}<76) {
      /varset EndingVar 1
      /delay ${Math.Calc[${DelayMult}*1]}s
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompA} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompB} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompC} 10
    }
    /if (${Me.Skill[Tinkering]}>=75 && ${Me.Skill[Tinkering]}<123) {
      /varset EndingVar 1
      /delay ${Math.Calc[${DelayMult}*1]}s
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompA} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompB} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompC} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompD} 10
    }
    /if (${Me.Skill[Tinkering]}>=122 && ${Me.Skill[Tinkering]}<149) {
      /varset EndingVar 1
      /delay ${Math.Calc[${DelayMult}*1]}s
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompA} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompB} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompC} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompD} 10
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Buy ${CompE} 10
    }
    /call ClosePacks
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*2]}s


| ************************************************
| Make the Magic Happen
| ************************************************

    /call Combinefunction
    /call Selloff
    /goto :start
/return
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|The Selloff
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Selloff
    /nomodkey /keypress esc
    /echo sell off to merchant
    /if (${Me.Skill[Tinkering]}<76) {
      /varset EndingVar 1
      /delay ${Math.Calc[${DelayMult}*1]}s
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${ItemTo}      
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompA}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompB}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompC}
    }
   /if (${Me.Skill[Tinkering]}>=75 && ${Me.Skill[Tinkering]}<123) {
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${ItemTo} 
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompA}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompB}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompC}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompD}
    }
    /if (${Me.Skill[Tinkering]}>=122 && ${Me.Skill[Tinkering]}<149) {
      /target ${MerchantName}
      /face
      /delay ${Math.Calc[${DelayMult}*1]}s
      /nomodkey /click right target
      /call OpenPacks
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompA}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompB}
      /call Sell ${CompC}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompD}
      /delay ${Math.Calc[${DelayMult}*1]}s
      /call Sell ${CompE}
    }
    /call ClosePacks
    /keypress esc
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|The CombineFunction
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Combinefunction

    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*2]}s

    /call readIni "${CombItemName}" 
    :Begin 
       /if (${EndingVar}==1) /call ClearCursor 
       /for i 1 to 10 
             /if (${EndingVar}==1) /call AddComp "${Component[${i}]}" ${i} 
       /next i 
       /if (${EndingVar}==1) /call DoCombine 

    /autoinv
    /delay ${Math.Calc[${DelayMult}*1]}s
    /autoinv
    /delay ${Math.Calc[${DelayMult}*1]}s

       /if (${EndingVar}==1) /goto :Begin
 
    /autoinv
    /delay ${Math.Calc[${DelayMult}*1]}s
    /autoinv
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
/return


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|READ INI sub
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sub readIni(RecipeName) 
    /declare Container string 

    /echo Running ${RecipeName} recipe 

   /if (${Ini["Tinkering.ini","${RecipeName}",-1,"NOTFOUND"].Equal["NOTFOUND"]}) { 
        /echo Recipe ${RecipeName} not found 
        /endmacro 
    } 

   /varset Container ${Ini[Tinkering.ini,${RecipeName},Cont,Enviro]} 

   /if (${Container.Equal[Enviro]}) { 
        /varset PackCode Enviro 
   } else { 
        /varset PackCode ${FindItem[=${Container}].InvSlot} 
       
      /if (${PackCode.Equal[NULL]}) { 
         /echo Could not find container ${Container} 
         /varset EndingVar 2
         /return
      } 
      | pack1 = 22, ... , pack8 = 29 
      /varset PackCode pack${Math.Calc[${PackCode}-21].Int} 
   }  

   /call cleanPack "${Container}"

    /for i 1 to 10 
        /varset Component[${i}] ${Ini[Tinkering.ini,${RecipeName},Comp${Math.Calc[${i}-1].Int},NOTFOUND]} 
    /next i 
    /return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Clear Cursor
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sub ClearCursor 
    :Loop 
      /if (!${Cursor.ID}) /return 
      /autoinv 
|      /destroy	
      /delay 5s
      /doevents 
      /goto :Loop 
    /return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub DoCombine
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sub DoCombine 
    :Loop 
      /combine ${PackCode} 
      /delay ${Math.Calc[${DelayMult}*1]}s
      /if (${PackCode.Equal[Enviro]}) /delay ${Math.Calc[${DelayMult}*1]}s 
      /doevents 
      /if (${InvSlot[${PackCode}].Item.Items}) /goto :Loop 
      /delay 5
      /if (${Me.Skill[Tinkering]}>${OldSkill}) {
        /echo Your Tinkering Went Up!! It's now ${Me.Skill[Tinkering]}!
        /varset OldSkill ${Me.Skill[Tinkering]}
      }
    /return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub add Components
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sub AddComp(CompName, PackSlot) 
   /if (${CompName.Equal[NOTFOUND]}) /return 

   /if (!${FindItem[=${CompName}].ID}) { 
      /echo Could not find ${CompName} in inventory 
      /beep 
      /varset EndingVar 2
      /return 
    } 

   :Loop 
      /nomodkey /ctrl /itemnotify ${FindItem[=${CompName}].InvSlot} leftmouseup 

      /if (!${Cursor.ID}) { 
         /delay ${Math.Calc[${DelayMult}*1]}s
         /goto :Loop 
      } 

   /if (${PackCode.Equal[Enviro]}) { 
      /nomodkey /itemnotify ${InvSlot[enviro${PackSlot}]} leftmouseup 
   } else { 
      /nomodkey /itemnotify in ${PackCode} ${PackSlot} leftmouseup 
   }    
   /return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Combine error
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_CombineError 
    /varset EndingVar 2
/return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Container is being used
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_ContUsed
    /echo Container in use. Waiting 30 seconds and trying again.
    /delay 30s
    /itemtarget "Forge"
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
/return 

tinkering.ini

Code: Select all

[FW]
cont=Deluxe Toolbox
Comp0=gnomish Spirits
Comp1=Water Flask

[SBC] 
cont=Deluxe Toolbox
comp0=gears 
comp1=gnomish bolts 
comp2=grease 

[SP] 
cont=Deluxe Toolbox 
comp0=bottle 
comp1=firewater 
comp2=gears 
comp3=gears
comp4=metal rod 

[PG] 
cont=Deluxe Toolbox
comp0=firewater 
comp1=gears 
comp2=metal twine 
comp3=sprockets 
comp4=steel lined gloves 

[AL]
cont=Deluxe Toolbox
Comp0=Fresh Fish
Comp1=Metal Rod
Comp2=Metal Twine
Comp3=Gnomish Bolts
Comp4=Fine Coral Mesh
Comp5=Silk Lined Steel Helm

[BP] 
cont=Deluxe Toolbox 
comp0=grease 
comp1=pinion 
comp2=steel ball bearing 
comp3=steel casing 

[APU] 
cont=Deluxe Toolbox 
comp0=coiled spring 
comp1=firewater 
comp2=saltpeter 
comp3=tinkered catapult 

[PSP] 
cont=Deluxe Toolbox 
comp0=coiled spring 
comp1=cured leather tubing 
comp2=gears 
comp3=steel ball bearing 
comp4=water flask 

[GPT] 
cont=Deluxe Toolbox 
comp0=belt of leathery fungus flesh 
comp1=gears 
comp2=gnomish bolts 
comp3=planing tool 
comp4=sprockets 

[CS] 
cont=Deluxe Toolbox 
comp0=coiled spring 
comp1=gnomish bolts 
comp2=metal rod 
comp3=metal rod 
comp4=metal rod 
comp5=skewers 

[CJK] 
cont=Deluxe Toolbox 
comp0=coiled spring 
comp1=container base mold 
comp2=container lid mold 
comp3=gem setter parts 
comp4=gnomish bolts 
comp5=metal bits 

[CSK] 
cont=Deluxe Toolbox 
comp0=coiled spring 
comp1=container base mold 
comp2=container lid mold 
comp3=gnomish bolts 
comp4=metal bits 
comp5=needle mold 
comp6=thimble mold 

[CT] 
cont=Deluxe Toolbox 
comp0=circle hook 
comp1=coiled spring 
comp2=container base mold 
comp3=container lid mold 
comp4=dry hook 
comp5=gnomish bolts 
comp6=metal bits 

[CTK] 
cont=Deluxe Toolbox 
comp0=coiled spring 
comp1=metal bits 
comp2=small brick of high quality ore 
comp3=Deluxe Toolbox mold 
comp4=water flask 

[AGP] 
cont=Deluxe Toolbox 
comp0=bandages 
comp1=base prototype 
comp2=gnomish bolts 
comp3=mana battery - class six 
comp4=static orb 
enjoy and look for tinkering2.mac .. once i get it finished 8-)