2011 Tradeskill macros

Armysoldier

Macro God
Joined
Apr 21, 2006
Messages
574
Reaction score
5
Points
18
Age
51
Location
Ontario OR, RETIRED, US ARMY 2014!!!
APR 2011

WARNING: OLD School is broken - macros will stop if old school is necessary.


UPDATED - 27 APR 2011

27 APR 11 - Reworked Tinker code
25 APR 11 - Updated all Macros that use pack8 - diagram at beginning and pack8 code
24 APR 11 - JC had couple missing brackets
20 APR 11 - Reworked JC - using diamonds and BDs you can use the macro to get to 296
- Fletching and pottery Added to 2011 Zip
18 APR 11 - Added Reworked Baking macro
17 APR 11 - Reworked Smithing and Brewing to use NEW UI available recipies
- commonsubs updated
16 APR 11 - Removed Old school function from common subs
- removed troubleshooting code I had mistakenly left in Commonsubs


RETESTED macs are marked below. (Brewing, Pottery, Fletching, JC, Smithing)
ADDED COMBINE2 from EvenLessSpam

The code so written that all TS macros will attempt to use the NEW UI FIRST

If the recipe is not found it will go old school

During the combine cycle if the item becomes trivial .. then it stops and sells

ALSO all pathing is retrieved from the INI files. So its very easy for you to edit if you want to change the paths

UNLESS OTHERWISE NOTED ... these all start in ABYSMAL SEA

*** FOR THIS CODE TO WORK ***
You need to Stand in front of person noted in each macro
You need to be in the first person view
You need to ensure that when you click the tradeskill container the NEW UI comes up first
the 5 FILES need to be in the macro\common folder (see below)

COMMON FOLDER CONTAINS
Code:
Buy 
sell
CommonSubs
packs
cleanpacks

Macs included:
Code:
[COLOR=Red]     Macro            Skill Level          Recipes You Need to Learn[/color]
Alchemy.mac w/ini   <--- Skill 1-210   
Bake.mac w/ini      <--- Skill 1-191       [COLOR=Red]Updated 17 APR 2011[/COLOR]     
Brew.mac  w/ini     <--- Skill 1-248       NEEDS MHB [COLOR=Red]Updated 17  APR 2011[/COLOR]
Kaladim.mac w/ini   <--- Skill 248-300
Fishing.mac w/ini   <--- Skill 1-200
Fletch.mac w/ini    <--- Skill 1-282       [COLOR=Red]Updated 17 APR 2011[/COLOR]       
Jeweler.mac w/ini   <--- Skill 1-296       [COLOR=Red]Updated 17 APR 2011[/COLOR]     
Poison.mac w/ini    <--- Skill 1-275 
Potter.mac w/ini    <--- Skill 1-188       [COLOR=Red]Updated 17 APR 2011[/COLOR]       
Smith.mac w/ini     <--- Skill 1-115       [COLOR=Red]Updated 17 APR 2011[/COLOR]
Smith2.mac          <--- Skill 116-188 
Mistletoe.mac w/ini <--- Skill 188-300
Tailoring.mac w/ini <--- Skill 0-182
Tinker.mac w/ini    <--- Skill 1-149       [COLOR=Red]RETESTED APR 2011[/COLOR]

CE.mac              <--- NO FAIL COMBINES
COMBINE.MAC         <--- 2 VERSIONS - Both with NEW UI
COMBINE2.MAC        from [URL="http://www.mmobugs.com/forums/everquest-macroquest2-macros-huds-and-uis/9650-combine-mac-with-a-twist.html"]EvenLessSpam[/URL] Modded by me



usage

Code:
Stand by the NPC noted and
/mac smith

Need to do:

Test:
ALL MACS

Convert the following to new TS code:
VeliumBits.mac
VeliumPieces.mac


Create:
Research.mac




ARMY



Download 2011_TS_Macro.Zip and extract into your macros folder
Download the common.Zip and extract into macros folder

INC files should be in MQ2/MACROS/COMMON
MAC files should be in MQ2/MACROs

unchecked_TS_Macros.zip are the unverified MACROS
 

Attachments

  • combine2.mac
    6.9 KB · Views: 342
  • combine.mac
    410 bytes · Views: 297
  • common.zip
    6.1 KB · Views: 453
  • unchecked_TS_Macros.zip
    17.4 KB · Views: 338
  • 2011_TS_Macros.zip
    23.1 KB · Views: 494
Last edited:
  • Love
Reactions: EQDAB
Common Files

Sell.inc

Code:
| 
| sell.inc
| Selling Include File needed for macros
| Version 1.3
| Date: August 7, 2004
|
| 17 Mar 2006: Further refined by A_Druid_00
|
| 14 MAR 2006: Armysoldier refined code to improve speed
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 


Sub Sell(string ItemToSell)

   /declare OldMoney int Inner    
 
   /call ClearCursor

   /if (${ItemToSell.Equal[NULL]})  /return

   :Finding 
      /if (${FindItemCount[=${ItemToSell}]}) { 
      /nomodkey /itemnotify ${FindItem[=${ItemToSell}].InvSlot} leftmouseup 
      /if (${SelectedItem.ID}==${FindItem[=${ItemToSell}].ID}) {
      /delay 1 
      /varset OldMoney ${Me.Cash} 
      /nomodkey /shift /notify MerchantWnd MW_Sell_Button leftmouseup 
      /delay 2s (${Me.Cash}!=${OldMoney})
      }

      /goto :Finding 
      }


      /echo No more ${ItemToSell} to sell!!!      
/return
 
  • Like
Reactions: EQDAB
combine

Combine.Mac
Combine2.mac

uses NEW UI

combine.mac
Code:
#event OutOfStuff "Sorry, but you don't have everything you need for this recipe in your general inventory." 
  
Sub Main 
:Loop 
 
:ClearCursor 
/if (${Cursor.ID}) { 
/autoinventory 
/goto :ClearCursor 
} 
 
/notify TradeskillWnd CombineButton leftmouseup 
/doevents 
/delay 2
/notify TradeskillWnd AutoInvButton leftmouseup
/goto :Loop 
/return 
 
Sub Event_OutOfStuff 
/endmacro 
/return




Combine2.mac
usage: /combine2 [sell]

without sell, it will just do combines and tell you your % of success
with sell, it will target the nearest merchant, move to him and sell the item you just made

Code:
|COMBINE2
|
|Modified and tested by Armysoldier APR 2011 
|
|   Added includes.. to add uniformity and reduce code
|   Added check to ensure moveutils is loaded
|   Added check to ensure a recipe is selected in NEW UI recipe list
|   Removed movement sub and it not uses moveutils
| 

#Event DestroyItem "#*#There are no open slots for the held item in your inventory.#*#"
#Event BagsFull    "#*#There was no place to put that!#*#"
#Event OutOfStuff  "#*#Sorry, but you don't have everything you need for this recipe in your general inventory.#*#" 
#Event CombineMake "#*#You have fashioned the items together to create something new: #1#."
#Event CombineFail "#*#You lacked the skills to fashion the items together.#*#"
|#Event OutOfStuff  "#*#You can no longer advance your skill from making this item.#*#"


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

|-------------------------------------------------------------------------------- 
| SUB: Main
|--------------------------------------------------------------------------------  
Sub Main 

/If (!${Plugin[MQ2Moveutils].Version}) /plugin mq2moveutils
/If (${Window[TradeskillWnd].Child[COMBW_RecipeList].SelectedIndex}==0) {
	/echo SELECT a Recipe
	/end
	}

|--------------------------------------------------------------
| Do NOT change these variables!
|--------------------------------------------------------------
/declare CombAttempts 		int 	 outer 	 0
/declare CombMake 		int 	 outer 	 0
/declare CombFail 		int 	 outer 	 0
/declare PctSuccess 		int 	 outer 	 0
/declare Skillups 		int 	 outer 	 0
/declare RangeDist         	int      outer   10
/declare SelectIndex		int      outer  
/declare ItemTo            	string   outer
/declare OrigPlat          	int      outer   ${Me.Platinum}
/declare doSellItems            string   outer   FALSE
|--------------------------------------------------------------
| Hold over variables from inc files
    /declare EndingVar int outer
|--------------------------------------------------------------


|---------------------------------
/if (${Defined[Param0]}) {
    /if (${Param0.Equal[sell]}) {
        /varset doSellItems TRUE
    } else {
        /varset doSellItems FALSE
    }

}
|---------------------------------


|--------------------------------------------------------------
/varset SelectIndex ${Window[TradeskillWnd].Child[COMBW_RecipeList].SelectedIndex}
/varset ItemTo "${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${SelectIndex},1]}"
|--------------------------------------------------------------



:MainLoop 
 
/call ClearCursor
 
/notify TradeskillWnd CombineButton leftmouseup 
/doevents 
/delay 2
/if (${Cursor.ID}) /notify TradeskillWnd AutoInvButton leftmouseup
/goto :MainLoop 

/return
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
|SUB: Sell items I've made.
|-------------------------------------------------------------------------------- 
Sub SellItems

/nomodkey /notify TradeskillWnd COMBW_CloseButton Leftmouseup

/if (${doSellItems}==TRUE) {

/declare NewPlat         int inner
/declare TotalNewPlat    int inner
/declare DiffPlat        int inner

/target merchant npc 
/delay 2s

/echo Moving to ${Target.CleanName} . . .
/moveto id
/delay 10

/nomodkey /click right target
/delay 8s ${Window[MerchantWnd].Open}
/call OpenPacks

|/echo Trying to sell: (${ItemTo})
/call Sell ${ItemTo}

/if (${Window[MerchantWnd].Open}) /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp
/delay 5
}

/call ClosePacks
/varcalc DiffPlat (${Me.Platinum}-${OrigPlat})
/varcalc TotalNewPlat (${TotalNewPlat}+${DiffPlat})
/echo Made (${DiffPlat}) plat this sale, (${TotalNewPlat}) plat total.

/return
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
| SUB: CombineMake  Event.
|--------------------------------------------------------------------------------
Sub Event_CombineMake(string Line, string ItemMade)

    /varcalc CombAttempts ${CombAttempts}+1
    /varcalc CombMake ${CombMake}+1
    
    |/varset  ItemTo   ${ItemMade}

/return
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
| SUB: CombineFail Event.
|--------------------------------------------------------------------------------
Sub Event_CombineFail 

    /varcalc CombAttempts ${CombAttempts}+1
    /varcalc CombFail ${CombFail}+1    

/return
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
| SUB: SkillUp Event.
|--------------------------------------------------------------------------------
Sub Event_SkillUp

    /varcalc Skillups ${Skillups}+1

/return
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
| SUB: OutOfStuff Event.
|-------------------------------------------------------------------------------- 
Sub Event_OutOfStuff 

    /varcalc PctSuccess ((${CombMake}/${CombAttempts})*100)
    /echo Attempts:(${CombAttempts}) | Made:(${CombMake}) | Failed:(${CombFail}) 
    /echo Ratio:*(${PctSuccess})%* | Skill Ups:*(${Skillups})*

    /if (${doSellItems}) /call SellItems
    
    /endmacro 

/return
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
|SUB: BagsFull event.
|-------------------------------------------------------------------------------- 
Sub Event_BagsFull

   /echo *** Bags are full, time to cleanup ! ***
   /delay 3s
   /call SellItems
   
/return 
|--------------------------------------------------------------------------------


|-------------------------------------------------------------------------------- 
|SUB: DestroyItem event.
|-------------------------------------------------------------------------------- 
Sub Event_DestroyItem

   :DestroyItem 
   /if (${Cursor.ID}) { 
       /destroy
       /goto :DestroyItem 
   } 

   /echo *** Bags are full, time to cleanup ! ***
   /delay 3s
   /call SellItems

/return 
|--------------------------------------------------------------------------------


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance

| PH since this is in commonsubs.inc

/return
 
Last edited:
  • Wow
Reactions: EQDAB
Smithing

Smith.mac
Smith2.mac
Mistletoe.mac
Smith.ini

Smith.mac
Code:
| Smith.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 17 APR 2011: Updated to use recipes available in the NEW UI list
|
| 23 APR 2006: added another loc to keep from getting stuck at forge
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand behind Snokin Breaksteel
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)


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


Sub Main
    /declare OldSkill int outer ${Me.Skill[Blacksmithing]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare MerchantNameC string Outer
    /declare MerchantNameD string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Snokin Breaksteel"
    /varset MerchantNameB "Cevroy Sharpaxe"
    /varset MerchantNameC "Dray Cuves"
    /varset MerchantNameD "Esunta"
    /varset SkillMaxWanted 115
    /varset DelayMult 1
    /declare Filename string outer Smithing.ini


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Call Read INI for locations array
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /call ReadINIA ${Filename} "Abysmal Sea" 
    /if (!${Defined[LocArray]}) { 
       /echo No Loc Array Created...
       /endmacro 
    } 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

|--- Check Current Skill against Skill wanted 
    /echo Blacksmithing is at ${Me.Skill[Blacksmithing]}

    /if (${Me.Skill[Blacksmithing]}>=${SkillMaxWanted}) {
      /echo Blacksmithing is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (${Me.Skill[Blacksmithing]}<31) {
      /varset CombItemName "SM"
      /varset ItemTo "Sheet Metal"
    }

    /if (${Me.Skill[Blacksmithing]}>=31 && ${Me.Skill[Blacksmithing]}<72) {
      /varset CombItemName "FMS"
      /varset ItemTo "Forged Morning Star"
    }
    /if (${Me.Skill[Blacksmithing]}>=72 && ${Me.Skill[Blacksmithing]}<92) {
      /varset CombItemName "BG"
      /varset ItemTo "Banded Gorget"
    }
    /if (${Me.Skill[Blacksmithing]}>=92 && ${Me.Skill[Blacksmithing]}<102) {
      /varset CombItemName "BC"
      /varset ItemTo "Banded Cloak"
    }
    /if (${Me.Skill[Blacksmithing]}>=102 && ${Me.Skill[Blacksmithing]}<=115) {
      /varset CombItemName "BM"
      /varset ItemTo "Banded Mail"
    }

    /call ReadIni "${CombItemName}"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 30

	/if (${Me.Skill[Blacksmithing]}<31) {

    		/if (${Component[2].Length}>2 && ${FindItemCount[=${Component[2]}]}<60) /call PCBuy "${Component[2]}" 30

    		/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    		/call Movement 1 4 2

    		} 

	/if (${Me.Skill[Blacksmithing]}>=31 && ${Me.Skill[Blacksmithing]}<72) {

	    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    		/echo Moving to ${MerchantNameD}

    		/call Movement 22 23 0

    		/target ${MerchantNameD}
   
    		/delay 3s ${Target.ID}==${Spawn[${MerchantNameD}].ID}

     		/nomodkey /click right target

     		/delay 5s ${Window[MerchantWnd].Open}

     		/if (${Component[1].Length}>2) /call Buy "${Component[1]}" 10

     		/if (${Component[4].Length}>2) /call Buy "${Component[4]}" 10

    		/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

		/echo Moving

    		/call Movement 1 4 2

		}

	/if (${Me.Skill[Blacksmithing]}>=72) {

		/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    		/echo Moving to ${MerchantNameB}

    		/call Movement 1 4 2

    		/target ${MerchantNameB}
  	
    		/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    		/nomodkey /click right target

    		/delay 5s ${Window[MerchantWnd].Open}

    		/if (${Component[1].Length}>2) /call Buy "${Component[1]}" 10

    		/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

		}

|  *** BUY Water Flasks *** Common to all

   		/echo Moving to ${MerchantNameC}

		/call Movement 5 11 9

    		/target ${MerchantNameC}

    		/delay 5s ${Target.ID}==${Spawn[${MerchantNameC}].ID}

    		/nomodkey /click right target

    		/delay 3s

    		/if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    		/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    		/call ClosePacks

    		/echo Moving to the Forge

    		/call Movement 12 17 14

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      /nomodkey /itemtarget forge notarget 
      /face item nolook 
      /nomodkey /click left item 

      /doevents 
      /delay 2s ${Window[TradeskillWnd].Open} 
      /if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 
      /delay 3s ${Window[TradeskillWnd].Open} 
      /call ChooseRecipe
      /call ClosePacks

    /echo Moving to ${MerchantNameA}
    /echo Selling off and starting over

    /call Movement 18 21 20

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

	/delay 1s

    /call OpenPacks

	/if (${Me.Skill[Blacksmithing]}<32) {
 
		/echo not selling sheets

    	} ELSE {

    		/call Sell ${ItemTo}

    		/call Sell ${Component[1]}

	}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /return


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[Blacksmithing]}>${OldSkill}) {
        /echo Your Blacksmithing Went Up!! It's now ${Me.Skill[Blacksmithing]}!
        /varset OldSkill ${Me.Skill[Blacksmithing]}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance
    /varset EndingVar 2
/return

smithing.ini

Code:
[Abysmal Sea]
Value=23
Loc1=130.49,259.22
Loc2=129.65,235.06
Loc3=35.36,235.70
Loc4=58.49,263.19
Loc5=-13.97,292.28
Loc6=-56.90,285.24
Loc7=-240.09,285.24
Loc8=-242.62,215.95
Loc9=-223.62,215.95
Loc10=-220.54,176.45
Loc11=-155.54,172.52
Loc12=-220.54,176.45
Loc13=-215.14,215.85
Loc14=-242.62,215.95
Loc15=-240.09,285.24
Loc16=-56.90,285.24
Loc17=62.13,274.06
Loc18=18.59,221.98
Loc19=126.89,236.86
Loc20=130.49,259.22
Loc21=92.71,259.21
Loc22=103.00,259.00
Loc23=132.00,262.00

[SM]
Cont=Enviro
Comp0=small brick of ore
Comp1=small brick of ore
Comp2=water flask

[FMS]
Cont=Enviro
Comp0=Spiked ball mold
Comp1=sheet metal
Comp2=water flask
Comp3=hilt mold

[BM]
Cont=Enviro
Comp0=mail sectional mold
Comp1=sheet metal
Comp2=water flask
Comp3=sheet metal
Comp4=sheet metal

[BG]
Cont=Enviro
Comp0=gorget mold
Comp1=sheet metal
Comp2=water flask
ItemTo=Banded Gorget

[BC]
Cont=Enviro
Comp0=cloak sectional mold
Comp1=sheet metal
Comp2=water Flask
Comp3=sheet metal

[FPV]
Cont=Enviro
Comp0=smithy hammer
Comp1=medium quality folded sheet metal 
Comp2=water Flask
Comp3=plate visor mold
Comp4=leather padding


[FPH]
Cont=Enviro
Comp0=smithy hammer
Comp1=medium quality folded sheet metal 
Comp2=water flask
Comp3=plate helm mold
Comp4=leather padding
Comp5=medium quality folded sheet metal 

[FPB]
Cont=Enviro
Comp0=smithy hammer
Comp1=medium quality folded sheet metal 
Comp2=water flask
Comp3=breastplate mold
Comp4=leather padding
Comp5=medium quality folded sheet metal 
Comp6=medium quality folded sheet metal 

[MQFSM]
Cont=Enviro
Comp0=smithy hammer
Comp1=block of medium quality ore
Comp2=water flask

[CE]
Cont=Mixing Bowl
Comp0=celestial solvent
Comp1=The Scent of Marr

[MT]
Cont=Enviro
Comp0=Celestial Essence
Comp1=Mistletoe
Comp2=Elven Wine

[Hilt]
Cont=Enviro
Comp0=ruby
Comp1=blessed dust of tunare 
Comp2=smithy hammer
Comp3=celestial essence
Comp4=sheet metal
Comp5=mistletoe temper
Comp6=Hilt mold

[Blade]
Cont=Enviro
Comp0=emerald
Comp1=blessed dust of tunare 
Comp2=smithy hammer
Comp3=celestial essence
Comp4=sheet metal
Comp5=mistletoe temper
Comp6=curved blade mold

[Pommel]
Cont=Enviro
Comp0=sapphire
Comp1=blessed dust of tunare 
Comp2=smithy hammer
Comp3=celestial essence
Comp4=sheet metal
Comp5=mistletoe temper
Comp6=pommel mold

[Sickle]
Cont=Enviro
Comp0=Blessed Sickle Blade
Comp1=Blessed Sickle Pommel 
Comp2=smithy hammer
Comp3=Blessed Sickle Hilt

[Dust]
Cont=Enviro
Comp0=Celestial Essence
Comp1=Imbued Emerald
Comp2=Jar of Acid

[VBits]
Cont=Enviro
Comp0=Spell: Enchant Velium
Comp1=Coldain Velium Temper
Comp2=Small Piece of Velium
Comp3=Small Piece of Velium
 
Last edited:
  • Wow
Reactions: EQDAB
Brewing

Brew.mac

When they MAcro Reaches 188 it is going to stop... since Mino hero brew is not in recipe list.... you will have a full set of ingredients... so you will have to manually do combines until you learn the recipe then you can continue until skill 248 using this macro.

Code:
| Brew.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 25 APR 2011: Updated Inventory Diagram & Changed pack8 opening
|
| 17 APR 2011: Updated to use recipes available in the NEW UI list
|
| 02 APR 2011: Added a Check for components to make sure we have one from INI
|	       Added a Ending check to sell off everything when we can no longer advance or skill
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| GO to a brew barrel..using new UI ..Click search and  add SHORT BEER to your FAVORITES
| you need a MIXING BOWL in slot 8 .. to make Veggies for certain recipes
| You need to Stand between Dray Curves and Galidnus Corkpopper
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)
|
|Inventory:
|
| VERTICAL	HORIZONTAL
| LOOTING	LOOTING
| _______	 _______
|| 1 | 2 |	| 1 | 6 |
||___|___|	|___|___|
|| 3 | 4 | 	| 2 | 7 |
||___|___|	|___|___|
|| 5 | 6 |	| 3 | 8 |
||___|___|	|___|___|
|| 7 | 8 |	| 4 | 9 |
||___|___|	|___|___|
|| 9 | 10|	| 5 | 10|
||___|___|	|___|___|
|

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


Sub Main
    /declare OldSkill int outer ${Me.Skill[Brewing]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer na
    /declare ItemToB string outer na
    /declare ItemToC string outer na
    /declare ItemToD string outer na
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Galidnus Corkpopper" 
    /varset MerchantNameB "Dray Cuves" 
    /varset SkillMaxWanted 199 
    /varset DelayMult 1
    /declare Filename string outer Brewing.ini

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Call Read INI for locations array
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /call ReadINIA ${Filename} "Abysmal Sea" 
    /if (!${Defined[LocArray]}) { 
       /echo No Loc Array Created...
       /endmacro 
    } 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

|--- Check Current Skill against Skill wanted 
    /echo Brewing is at ${Me.Skill[Brewing]}

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

    /if (${Me.Skill[Brewing]}<31) {
      /varset CombItemName "BEER"
      /varset ItemTo "Short Beer"
    }

    /if (${Me.Skill[Brewing]}>=31 && ${Me.Skill[Brewing]}<68) {
      /varset CombItemName "RW"
      /varset ItemTo "Red Porter"
      /varset ItemToB "bottle"
    }

    /if (${Me.Skill[Brewing]}>=68 && ${Me.Skill[Brewing]}<102) {
      	/varset CombItemName "OIL"
      	/varset ItemTo "Vegetable Oil"
    }

    /if (${Me.Skill[Brewing]}>=102 && ${Me.Skill[Brewing]}<142) {
      /varset CombItemName "DA"
      /varset ItemTo "2X Brewed 2X Stout Dwarven Ale"
	}

    /if (${Me.Skill[Brewing]}>=142 && ${Me.Skill[Brewing]}<168) {
      /varset CombItemName "GIN"
      /varset ItemTo "Ginesh"
	}

    /if (${Me.Skill[Brewing]}>=168 && ${Me.Skill[Brewing]}<188) {
      /varset CombItemName "FAY"
      /varset ItemTo "Shaker"
      /varset ItemToB "bottle"
      /varset ItemToD "Faydwer Shaker"
	}

    /if (${Me.Skill[Brewing]}>=188) {
      /varset CombItemName "MHB"
      /varset ItemTo "Minotaur Hero's Brew"
      /varset ItemToB "bottle"
      /varset ItemToC "cask"
	}

    /call ReadIni "${CombItemName}"

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

    	/target ${MerchantNameA}

    	/nomodkey /click right target

    	/delay 2s

    /call OpenPacks

    /if (${Me.Skill[Brewing]}<31) {

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 80

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 80

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 80

        /if (${Component[4].Length}>2) /call Buy "${Component[4]}" 80

	}

    /if (${Me.Skill[Brewing]}>=31 && ${Me.Skill[Brewing]}<68) {

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 80

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}
   
    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

    	/if (${Component[1].Length}>2) /call Buy "${Component[4]}" 240

	}

    /if (${Me.Skill[Brewing]}>=68 && ${Me.Skill[Brewing]}<102) {

      	/if (${FindItemCount[=Vegetables]}<40) {

		/call MakeVeg

    		/goto :start
		
		}

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}

    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 40

	}

    /if (${Me.Skill[Brewing]}>=102 && ${Me.Skill[Brewing]}<142) {

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}

    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 80

	/if (${Component[2].Length}>2) /call Buy "${Component[2]}" 80

	}

    /if (${Me.Skill[Brewing]}>=142 && ${Me.Skill[Brewing]}<168) {

      	/if (${FindItemCount[=Vegetables]}<40) {

		/call MakeVeg

    		/goto :start
		
		}
		

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}

    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 40

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 50

	}

    /if (${Me.Skill[Brewing]}>=168 && ${Me.Skill[Brewing]}<188) {

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}

    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 40

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 40

        /if (${Component[4].Length}>2) /call Buy "${Component[4]}" 40

        /if (${Component[5].Length}>2) /call Buy "${Component[5]}" 40

	}


    /if (${Me.Skill[Brewing]}>=188) {

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 80

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 240

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 80

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}
   
    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

   	 /nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[4].Length}>2) /call Buy "${Component[4]}" 180

        /if (${Component[5].Length}>2) /call Buy "${Component[5]}" 160

	}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /echo Moving to the Barrel

    /call Movement 1 1 0
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


      /nomodkey /itemtarget Brew Barrel notarget 
      /face item nolook 
      /click left item 
	/delay 3s ${Window[TradeskillWnd].Open} 
      /doevents
      /delay 3s ${Window[TradeskillWnd].Open} 
      /if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 
      /delay 3s ${Window[TradeskillWnd].Open} 
      /call ChooseRecipe
      /call ClosePacks

    /echo Moving to ${MerchantNameA}
    /echo Selling off and starting over
    /call Movement 2 2 0

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

/delay 5s ${Window[MerchantWnd].Open} 

    /call OpenPacks

    /if (${Me.Skill[Brewing]}>31 && !${CombItemName.Equal[""VEG""]}) {

    /if (${ItemTo.Length}>2) /call Sell ${ItemTo}

    /if (${ItemToB.Length}>2) /call Sell ${ItemToB}

    /if (${ItemToD.Length}>2) /call Sell ${ItemToD}

	/if (${EndingVar}==2) {

		/echo SELLING OFF, We have reached our skill up limit on this item!!!

    	    	/if (${Me.Skill[Brewing]}<=41) {

		/if (${Component[4].Length}>2) /call Sell ${Component[4]}
		
		}

		/if (${Me.Skill[Brewing]}>42) {

		/if (${Component[1].Length}>2) /call Sell ${Component[1]}

		/if (${Component[2].Length}>2) /call Sell ${Component[2]}

		/if (${Component[3].Length}>2) /call Sell ${Component[3]}

		/if (${Component[4].Length}>2) /call Sell ${Component[4]}

		/if (${Component[5].Length}>2) /call Sell ${Component[5]}

		/echo All finished, have a nice day!!

		/end

		}
	}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

}

    /doevents

    /goto :start

    /return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub make veggies
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub MakeVeg

        /echo you have Less than 40 Veggies .... making more
      	/varset CombItemName "VEG" 
      	/varset ItemTo "Vegetables"
	/call ReadIni "${CombItemName}" 

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}

    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 40

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 40

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

      	/itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup

      	/itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup

      	/doevents 

      	/delay 3s ${Window[TradeskillWnd].Open} 

      	/if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 

      	/delay 3s ${Window[TradeskillWnd].Open} 

	/call ChooseRecipe

/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[Brewing]}>${OldSkill}) {
        /echo Your Brewing Went Up!! It's now ${Me.Skill[Brewing]}!
        /varset OldSkill ${Me.Skill[Brewing]}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance

        /if (!${CombItemName.Equal[""VEG""]}) {
    		/varset EndingVar 2
	}
/return


brewing.ini
Code:
[Abysmal Sea]
Value=2
Loc1=-212.82,169.36
Loc2=-167.32,171.46

[BEER]
Cont=Enviro
Comp0=barley
Comp1=malt
Comp2=cask
Comp3=hops

[MEAD]
Cont=Enviro
Comp0=yeast
Comp1=malt
Comp2=cask
Comp3=hops

[RW]
Cont=Enviro
Comp0=red wine
Comp1=red wine
Comp2=cask
Comp3=red wine

[VEG]
Cont=Mixing Bowl
Comp0=carrot
Comp1=lettuce
Comp2=turnip

[OIL]
Cont=Enviro
Comp0=water flask
Comp1=vegetable

[DA]
Cont=Enviro
Comp0=short beer
Comp1=dwarven ale
Comp2=cask
Comp3=short beer
Comp4=dwarven ale

[GIN]
Cont=Enviro
Comp0=short beer
Comp1=water flask
Comp2=shotglass
Comp3=vegetable

[FAY]
Cont=Enviro
Comp0=elven wine
Comp1=dwarven ale
Comp2=cask
Comp3=gnomish spirits
Comp4=mead

[MHB]
Cont=Enviro
Comp0=yeast
Comp1=malt
Comp2=cask
Comp3=Water flask
Comp4=short beer
Comp5=short beer
Comp6=water flask
Comp7=malt
Comp8=malt
 
Last edited:
  • Wow
Reactions: EQDAB
Tinkering

tinker.mac

This CODE will stop at AQUALUNG.. it is not in the recipe list... So do a couple combines and your back on track.


Code:
| Tinker.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 27 APR 2011: Updated code and retested
|
| 19 MAR 2011:  Updated recipes and code
|
| 2 DEC 2008:  Fixed Recipe Selection error and Open ended function (needed }  )
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|              Changed some syntax errors
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand By Tialechaety Orrthemech @ -189,72,96  in Abysmal Sea
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)
| You will need a Deluxe Toolbox (in the last slot) PAck slot 8.
|  ---------------^^^^^^^^^^^^^^----VERY IMPORTANT
| 
|
|Inventory
| _______
|| 1 | 5 |
||___|___|
|| 2 | 6 | 
||___|___|
|| 3 | 7 |
||___|___|
|| 4 | 8 |
||___|___|
|


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


Sub Main
    /declare OldSkill int outer ${Me.Skill[Tinkering]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Tialechaety Orrthemech" 
    /varset SkillMaxWanted 300 
    /varset DelayMult 1
    /declare Filename string outer Tinkering.ini

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

|--- Check Current Skill against Skill wanted 
    /echo Tinkering is at ${Me.Skill[Tinkering]}

    /if (${Me.Skill[Tinkering]}>=${SkillMaxWanted}) {
      /echo Tinkering is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (${Me.Skill[Tinkering]}>75 && ${FindItemCount[=Firewater]}<10) {
      /varset CombItemName FW 
      /varset ItemTo "Firewater"
      } ELSE {
    /if (${Me.Skill[Tinkering]}<76) { 
      /varset CombItemName "SBC" 
      /varset ItemTo "standard bow cam" 
    } 
    /if (${Me.Skill[Tinkering]}>=75 && ${Me.Skill[Tinkering]}<103) { 
      /varset CombItemName "SP" 
      /varset ItemTo "stalking probe" 
    } 
    /if (${Me.Skill[Tinkering]}>=102 && ${Me.Skill[Tinkering]}<123) { 
      /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 CombItemName "AL" 
      /varset ItemTo "Aqualung" 
    } 
    /if (${Me.Skill[Tinkering]}>=148 && ${Me.Skill[Tinkering]}<176) { 
      /if (${FindItemCount[=Aqualung]}<10) {
           /echo you have Less than 10 aqualungs.... making more
      		/varset CombItemName "AL" 
      		/varset ItemTo "Aqualung" 
           } ELSE {
      		/varset CombItemName "RB" 
      		/varset ItemTo "Rebreather" 
		}
    } 

}

    /call ReadIni "${CombItemName}"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    /varset EndingVar 1
    /varset NewUI 1

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

    /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 10

    /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 10

    /if (${Component[3].Length}>2 && !${Component[3].Equal[saltpeter]} && !${Component[3].Equal[firewater]}) /call Buy "${Component[3]}" 10

    /if (${Component[4].Length}>2 && !${Component[4].Equal[aqualung]} && !${Component[4].Equal[firewater]}) {

	/if (${CombItemName.Equal[""SP""]}) {

		/call Buy "${Component[4]}" 20

	} ELSE {
		/call Buy "${Component[4]}" 10
		}
	}



    /if (${Component[5].Length}>2 && !${Component[5].Equal[firewater]}) /call Buy "${Component[5]}" 10

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/echo Making Items



	/delay 5

      /itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup

    /call OpenPacks

      /doevents 

      /delay 3s ${Window[TradeskillWnd].Open} 
      /if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 
      /delay 3s ${Window[TradeskillWnd].Open} 
      /call ChooseRecipe

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

/delay 5s ${Window[MerchantWnd].Open} 

    /call OpenPacks

    /if (${Me.Skill[Tinkering]}<123 && !${CombItemName.Equal[FW]}) /call Sell ${ItemTo}

    /if (${Component[1].Length}>2) /call Sell "${Component[1]}"

    /if (${Component[2].Length}>2) /call Sell "${Component[2]}"

    /if (!${CombItemName.Equal[FW]} && ${Component[3].Length}>2) /call Sell "${Component[3]}"

    /if (!${CombItemName.Equal[SBC]} && ${Component[4].Length}>2) /call Sell "${Component[4]}"

    /if (${Component[2].Length}>2 && ${Me.Skill[Tinkering]}>122 && ${Me.Skill[Tinkering]}<149 && !${Component[5].Equal[firewater]}) /call Sell "${Component[5]}"

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /return


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[Alchemy]}>${OldSkill}) {
        /echo Your Alchemy Went Up!! It's now ${Me.Skill[Alchemy]}!
        /varset OldSkill ${Me.Skill[Alchemy]}
        }
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance

        /if (!${CombItemName.Find[FW]}) {

		/if (!${Me.Skill[Tinkering]}>148) /varset EndingVar 2

		}
/return

Tinkering.ini

Code:
[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=metal rod
comp2=gears 
comp3=gears
comp4=firewater

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

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

[RB] 
cont=Deluxe Toolbox  
comp0=platemail helm 
comp1=metal fastening 
comp2=lime coated meshing 
comp3=sharkskin tubing 
comp4=firewater
comp5=aqualung 



[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=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
 
Last edited:
  • Wow
Reactions: EQDAB
Baking

Bake.mac
CE.mac
Baking.ini

Baking Macro uses a Mixing Bowl, Fillet knife, Pot and non-stick frying pan.

Have them in your inventory.

IF you USE A SPIT instead of a Collapsible SPIT

YOU MUST change the INI file.

Baking.mac
Code:
| Bake.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 25 APR 2011: Updated Inventory Diagram & Changed pack8 opening
|
| 17 APR 2011: Updated to use recipes available in the NEW UI list
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand behind Tylida Eraldi
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)
| A Collabsible SPIT needs to be in slot 8 of your packs
| You Need a mixing bowl, non-stick frying pan, pot, and fillet knife. 
|                       (Run smith.mac and you will have the skill needed to make them)
|
|
|Inventory:
|
| VERTICAL	HORIZONTAL
| LOOTING	LOOTING
| _______	 _______
|| 1 | 2 |	| 1 | 6 |
||___|___|	|___|___|
|| 3 | 4 | 	| 2 | 7 |
||___|___|	|___|___|
|| 5 | 6 |	| 3 | 8 |
||___|___|	|___|___|
|| 7 | 8 |	| 4 | 9 |
||___|___|	|___|___|
|| 9 | 10|	| 5 | 10|
||___|___|	|___|___|
|


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


Sub Main 
    /declare OldSkill int outer ${Me.Skill[Baking]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Tylida Eraldi" 
    /varset MerchantNameB "Dray Cuves" 
    /varset SkillMaxWanted 191 
    /varset DelayMult 1
    /declare Filename string outer Baking.ini


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Call Read INI for locations array
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /call ReadINIA ${Filename} "Abysmal Sea" 
    /if (!${Defined[LocArray]}) { 
       /echo No Loc Array Created...
       /endmacro 
    } 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

|--- Check Current Skill against Skill wanted 
    /echo Baking is at ${Me.Skill[Baking]}

    /if (${Me.Skill[Baking]}>=${SkillMaxWanted}) {
      /echo Baking is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (!${FindItem[=Non-Stick Frying Pan].ID} && !${FindItem[=Pot].ID} !${FindItem[=Fillet Knife].ID}) {
      /echo You need a Non-Stick Frying Pan, Fillet Knife and a  Pot
      /echo ENDING
      /call Ending
       }

    /if (${Me.Skill[Baking]}<31) {
      /varset CombItemName "BS"
      /varset ItemTo "Bear Sandwich"
    }

    /if (${Me.Skill[Baking]}>=31 && ${Me.Skill[Baking]}<68) {
      /varset CombItemName "VS"
      /varset ItemTo "Vegetable Soup"
    }

    /if (${Me.Skill[Baking]}>=68 && ${Me.Skill[Baking]}<111) {
      /varset CombItemName "BG"
      /varset ItemTo "Brown Gravy"
    }

    /if (${Me.Skill[Baking]}>=111 && ${Me.Skill[Baking]}<143) {
      /varset CombItemName "FB"
      /varset ItemTo "Filleted Bear"
    }
    /if (${Me.Skill[Baking]}>=143 && ${Me.Skill[Baking]}<191) {
      /varset CombItemName "PM"
      /varset ItemTo "Patty Melt"
	/echo pm
      }

    /call ReadIni "${CombItemName}"

    /if (!${Me.Inventory[pack8].Name.Equal[Collapsible Spit]}) {

		/nomodkey /ctrl /itemnotify ${FindItem[=${Container}].InvSlot} leftmouseup

    		/nomodkey /itemnotify pack8 leftmouseup

    		/delay 1s
 
    		/autoinventory
		
		}

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

    /if (${Me.Skill[Baking]}>=31 && ${Me.Skill[Baking]}<68) {

		/if (${FindItemCount[=Vegetables]}<40) {

			/nomodkey /ctrl /itemnotify ${FindItem[=Mixing Bowl].InvSlot} leftmouseup

			/nomodkey /itemnotify pack8 leftmouseup 
			
			/delay 1s

			/autoinventory

			/call Movement 1 1 0

			/call MakeVeg

    			/call Movement 2 2 0

    			/goto :start
		
			}
		}

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

    /if (${Component[1].Length}>2 && !${CombItemName.Equal[""FB""]}) /call Buy "${Component[1]}" 40

    /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 40

    /if (${Me.Skill[Baking]}>=68 && ${Me.Skill[Baking]}<111 && ${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp



    /if (${Me.Skill[Baking]}>=143 && ${Me.Skill[Baking]}<191) {

    	/echo Moving to ${MerchantNameB}

    	/call Movement 1 1 0

    	/target ${MerchantNameB}
   
    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 3s

    	/if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

	}

    /call ClosePacks

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup 

/doevents 
/delay 3s ${Window[TradeskillWnd].Open} 
/if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 
/delay 3s ${Window[TradeskillWnd].Open} 
      /call ChooseRecipe
      /call ClosePacks

    /echo Moving to ${MerchantNameA}
    /echo Selling off and starting over
    /call Movement 2 2 0

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

/delay 5s ${Window[MerchantWnd].Open} 

    /call OpenPacks

    /if (!${CombItemName.Equal[""VEG""]}) /call Sell ${ItemTo}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub make veggies
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub MakeVeg

        /echo you have Less than 40 Veggies .... making more
      	/varset CombItemName "VEG" 
      	/varset ItemTo "Vegetables"
	/call ReadIni "${CombItemName}" 

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    	/echo Buying from ${MerchantNameB}

    	/target ${MerchantNameB}

    	/delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    	/nomodkey /click right target

    	/delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 40

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 40

        /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    	/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

      	/itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup

      	/doevents 

      	/delay 3s ${Window[TradeskillWnd].Open} 

      	/if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 

      	/delay 3s ${Window[TradeskillWnd].Open} 

	/call ChooseRecipe

/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[Baking]}>${OldSkill}) {
        /echo Your Baking Went Up!! It's now ${Me.Skill[Baking]}!
        /varset OldSkill ${Me.Skill[Baking]}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance
        /if (!${CombItemName.Equal[""VEG""]}) {
    		/varset EndingVar 2
	}
/return

CE.Mac
Code:
| CE.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 25 APR 2011: Updated Inventory Diagram & Changed pack8 opening
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand by Uiyaniv Tu`Vrozix @ -191,229,96
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)
| A Mixing Bowl needs to be in slot 8 of your packs
|
|Inventory:
|
| VERTICAL	HORIZONTAL
| LOOTING	LOOTING
| _______	 _______
|| 1 | 2 |	| 1 | 6 |
||___|___|	|___|___|
|| 3 | 4 | 	| 2 | 7 |
||___|___|	|___|___|
|| 5 | 6 |	| 3 | 8 |
||___|___|	|___|___|
|| 7 | 8 |	| 4 | 9 |
||___|___|	|___|___|
|| 9 | 10|	| 5 | 10|
||___|___|	|___|___|
|


#event End "[MQ2] 1320 Essence's"
|-----------------^^^^ EDIT to the number you want... multiples of 60 

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


Sub Main
    /declare OldSkill int outer ${Me.Skill[Baking]}
    /declare SkillMaxWanted int outer 200
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer
    /declare Filename string outer Baking.ini

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Uiyaniv Tu`Vrozix" 
    /varset DelayMult 1


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

      /varset CombItemName "CE"
      /varset ItemTo "Celestial Essence (The Scent of Marr)"

    /call ReadIni "${CombItemName}"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

    /call Buy "${Component[1]}" 60

    /call Buy "${Component[2]}" 60


    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      /itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup
/doevents 
/delay 3s ${Window[TradeskillWnd].Open} 
/if (${Window[TradeskillWnd].Open}==FALSE) /click left Item 
/delay 3s ${Window[TradeskillWnd].Open} 
      /call ChooseRecipe
      /call ClosePacks
      /echo ${FindItemCount[=Celestial Essence]} Essence's
    /doevents

    /goto :start

    /return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup

/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance
    
/return

Baking.ini

Code:
[Abysmal Sea]
Value=2
Loc1=-154.78,187.88
Loc2=-96.24,189.13

[BS]
Cont=Collapsible Spit
Comp0=loaf of bread
Comp1=bear meat

[VS]
Cont=Collapsible Spit
Comp0=jug of sauces
Comp1=water flask
Comp2=vegetable
Comp3=pot

[VEG]
Cont=Mixing Bowl
Comp0=carrot
Comp1=lettuce
Comp2=turnip

[BG]
Cont=Collapsible Spit
Comp0=cup of flour
Comp1=bottle of milk
Comp2=bear meat
Comp3=pot

[FB]
Cont=Collapsible Spit
Comp0=Fillet knife
Comp1=bear meat

[PM]
Cont=Collapsible Spit
Comp0=loaf of bread
Comp1=bear meat
Comp2=cheese
Comp3=non-stick frying pan

[CE]
Cont=Mixing Bowl
Comp0=celestial solvent
Comp1=The Scent of Marr
 
Last edited:
Fletching

Fletch.mac

Code:
| Fletch.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 25 APR 2011: Updated Inventory Diagram & Changed pack8 opening
|
| 20 APR 11: Updated coding
|
| 17 APR 06:  fixed a typo or two DOH
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand behind Bansama Nysawi
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)
| A Fletching Kit needs to be in slot 8 of your packs
|
|Inventory:
|
| VERTICAL	HORIZONTAL
| LOOTING	LOOTING
| _______	 _______
|| 1 | 2 |	| 1 | 6 |
||___|___|	|___|___|
|| 3 | 4 | 	| 2 | 7 |
||___|___|	|___|___|
|| 5 | 6 |	| 3 | 8 |
||___|___|	|___|___|
|| 7 | 8 |	| 4 | 9 |
||___|___|	|___|___|
|| 9 | 10|	| 5 | 10|
||___|___|	|___|___|
|

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


Sub Main
    /declare OldSkill int outer ${Me.Skill[fletching]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Bansama Nysawi" 
    /varset SkillMaxWanted 191 
    /varset DelayMult 1
    /declare Filename string outer fletching.ini


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

|--- Check Current Skill against Skill wanted 
    /echo fletching is at ${Me.Skill[fletching]}

    /if (${Me.Skill[fletching]}>=${SkillMaxWanted}) {
      /echo fletching is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (${Me.Skill[Fletching]}>=255 && ${Me.Skill[Fletching]}<282) { 
      /varset CombItemName "RSCB" 
      /varset ItemTo "Rough Shadewood Compound Bow" 
    }

    /if (${Me.Skill[Fletching]}>=235 && ${Me.Skill[Fletching]}<255) { 
      /varset CombItemName "RSRB" 
      /varset ItemTo "Rough Shadewood Recurve Bow" 
    } 

    /if (${Me.Skill[Fletching]}>=215 && ${Me.Skill[Fletching]}<235) { 
      /varset CombItemName "RDCB" 
      /varset ItemTo "Rough Darkwood Compound Bow" 
    } 

    /if (${Me.Skill[Fletching]}>=202 && ${Me.Skill[Fletching]}<215) { 
      /varset CombItemName "RDRB" 
      /varset ItemTo "Rough Darkwood Recurve Bow" 
    } 

    /if (${Me.Skill[Fletching]}>=162 && ${Me.Skill[Fletching]}<202) { 
      /varset CombItemName "FWCL" 
      /varset ItemTo "CLASS 6 Wood Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=135 && ${Me.Skill[Fletching]}<162) { 
      /varset CombItemName "FWBL" 
      /varset ItemTo "CLASS 5 Wood Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=122 && ${Me.Skill[Fletching]}<135) { 
      /varset CombItemName "FCRL" 
      /varset ItemTo "CLASS 1 Ceramic Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=102 && ${Me.Skill[Fletching]}<122) { 
      /varset CombItemName "FWWL" 
      /varset ItemTo "CLASS 4 Wood Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=82 && ${Me.Skill[Fletching]}<102) { 
      /varset CombItemName "HWSL" 
      /varset ItemTo "CLASS 1 Wood Hooked Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=68 && ${Me.Skill[Fletching]}<82) { 
      /varset CombItemName "FWSL" 
      /varset ItemTo "CLASS 3 Wood Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=56 && ${Me.Skill[Fletching]}<68) { 
      /varset CombItemName "FBRL" 
      /varset ItemTo "CLASS 1 Bone Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=46 && ${Me.Skill[Fletching]}<56) { 
      /varset CombItemName "FWRS" 
      /varset ItemTo "CLASS 1 Wood Point Arrow (Small Groove)" 
    } 

    /if (${Me.Skill[Fletching]}>=36 && ${Me.Skill[Fletching]}<46) { 
      /varset CombItemName "FWPL" 
      /varset ItemTo "CLASS 2 Wood Point Arrow" 
    } 

    /if (${Me.Skill[Fletching]}>=16 && ${Me.Skill[Fletching]}<36) { 
      /varset CombItemName "FWRM" 
      /varset ItemTo "CLASS 1 Wood Point Arrow (Medium Groove)" 
    } 

    /if (${Me.Skill[Fletching]}>=0 && ${Me.Skill[Fletching]}<16) { 
      /varset CombItemName "FWRL" 
      /varset ItemTo "CLASS 1 Wood Point Arrow (Large Groove)" 
    } 


    /call ReadIni "${CombItemName}"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

    /if (${Me.Skill[Fletching]}>=255 && ${Me.Skill[Fletching]}<282) { 
 
    /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 10

    /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 10

    /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 20

    } else /if (${Me.Skill[Fletching]}>=215 && ${Me.Skill[Fletching]}<235) { 
 
    /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 10

    /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 10

    /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 20

    } else /if (${Me.Skill[Fletching]}>=202) { 

    /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 10

    /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 10

    } else { 

    /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 40

    /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 40

    /if (${Component[3].Length}>2) /call Buy "${Component[3]}" 40

    /if (${Component[4].Length}>2) /call Buy "${Component[4]}" 40

    }

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      
      /itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup

/doevents 
/delay 3s ${Window[TradeskillWnd].Open} 
/if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 
/delay 3s ${Window[TradeskillWnd].Open} 

      /call ChooseRecipe
      /call ClosePacks

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

/delay 5s ${Window[MerchantWnd].Open} 

    /call OpenPacks

    /call Sell ${ItemTo}

    /if (${Me.Skill[Fletching]}<=202 && ${EndingVar}==1) {

    /if (${Me.Skill[Fletching]}<56) {
           /varset ItemTo "CLASS 1 Wood Point Arrow" 

           /call Sell ${ItemTo}
           }

    /call Sell "${Component[1]}"

    /call Sell "${Component[2]}"

    /call Sell "${Component[3]}"

    /call Sell "${Component[4]}"
    
    }

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /return


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[fletching]}>${OldSkill}) {
        /echo Your fletching Went Up!! It's now ${Me.Skill[fletching]}!
        /varset OldSkill ${Me.Skill[fletching]}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sub Event_Advance

    /varset EndingVar 2

/return

Fletching.ini

Code:
[FWRL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=several round cut fletchings

[FWRM] 
Cont=Fletching Kit 
Comp0=medium groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=several round cut fletchings

[FWPL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=several parabolic cut fletchings 

[FWSL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=several shield cut fletchings 

[HWSL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=hooked arrowheads 
Comp3=several round cut fletchings 

[FWWL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=set of wooden arrow vanes 

[FCRL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled ceramic arrow shafts 
Comp2=field point arrowheads 
Comp3=several round cut fletchings 

[FWBL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=set of bone arrow vanes 

[FWCL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=set of ceramic arrow vanes 

[RDRB] 
Cont=Fletching Kit 
Comp0=Silk String 
Comp1=darkwood bow staff

[RDCB] 
Cont=Fletching Kit 
Comp0=hemp twine 
Comp1=darkwood bow staff 
Comp2=standard bow cam 
Comp3=standard bow cam 

[RSRB] 
Cont=Fletching Kit 
Comp0=hemp twine 
Comp1=shadewood bow staff

[RSCB] 
Cont=Fletching Kit 
Comp0=hemp twine 
Comp1=shadewood bow staff 
Comp2=standard bow cam 
Comp3=standard bow cam 





[FWRS] 
Cont=Fletching Kit 
Comp0=small groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=several round cut fletchings 

[FBRL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled bone arrow shafts 
Comp2=field point arrowheads 
Comp3=several round cut fletchings 

[HCPL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled ceramic arrow shafts 
Comp2=hooked arrowheads 
Comp3=several parabolic cut fletchings 

[SCPL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled ceramic arrow shafts 
Comp2=silver tipped arrowheads 
Comp3=several parabolic cut fletchings 

[FWBL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled wooden arrow shafts 
Comp2=field point arrowheads 
Comp3=set of bone arrow vanes 

[SSPL] 
Cont=Fletching Kit 
Comp0=large groove nocks 
Comp1=bundled steel arrow shafts 
Comp2=silver tipped arrowheads 
Comp3=several parabolic cut fletchings
 
Last edited:
  • Wow
Reactions: EQDAB
Jewelery

20 APR 11: Added Platinum Blue Diamond Tiara to take skill to 296
Added counter to count diamonds or BDs and you will use up all in your inventory :cool:
Changed to Platinum Ruby Veil from the sapphire item that was causing issues.

JC.mac

Code:
| Jeweler.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 25 APR 2011: Updated Inventory Diagram & Changed pack8 opening
|
| 20 APR 2011: Added function so if your working on your trophy, you can change
|              the Variable and the macro will not stop due to "Can not advance"
|
| 17 APR 2011: Updated to use recipes available in the NEW UI list
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand behind Rilwind Sitnai
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)
| A Jewelry Making Kit needs to be in slot 8 of your packs
|
| Results of combines are not stackable.... have 4 EMPTY BAGS for this MACRO!!!!
|
|Inventory:
|
| VERTICAL	HORIZONTAL
| LOOTING	LOOTING
| _______	 _______
|| 1 | 2 |	| 1 | 6 |
||___|___|	|___|___|
|| 3 | 4 | 	| 2 | 7 |
||___|___|	|___|___|
|| 5 | 6 |	| 3 | 8 |
||___|___|	|___|___|
|| 7 | 8 |	| 4 | 9 |
||___|___|	|___|___|
|| 9 | 10|	| 5 | 10|
||___|___|	|___|___|
|

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


Sub Main
    /declare OldSkill int outer ${Me.Skill[Jewelry Making]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer
    /declare Ingredcount int outer 40
    /declare Trophytrigger string outer

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Rilwind Sitnai" 
    /varset SkillMaxWanted 190 
    /varset DelayMult 1
    /varset Trophytrigger "no"
    /declare Filename string outer JC.ini

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    :start

|--- Check Current Skill against Skill wanted 
    /echo Jewelry Making is at ${Me.Skill[Jewelry Making]}

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

     /if (${Me.Skill[Jewelry Making]}>=287 && ${Me.Skill[Jewelry Making]}<296) { 
          /if (${FindItem[=Blue Diamond]}) {
                /varset CombItemName "PBDT" 
                /varset ItemTo "Platinum Blue Diamond Tiara"
                /varset Ingredcount ${FindItemCount[=Blue Diamond]}
                } Else {
                 /echo Jewelry Making is at ${SkillMaxWanted}. and you have no Blue Diamonds.....Quiting!
                 /endmacro
                }
    } 

     /if (${Me.Skill[Jewelry Making]}>=279 && ${Me.Skill[Jewelry Making]}<=287) { 
          /if (${FindItem[=Diamond]}) {
                /varset CombItemName "PD" 
                /varset ItemTo "Platinum Diamond Wedding Ring"
                /varset Ingredcount ${FindItemCount[=Diamond]}
                } Else {
                 /echo Jewelry Making is at ${SkillMaxWanted}. and you have no Diamonds.....Quiting!
                 /endmacro
                }
    } 

     /if (${Me.Skill[Jewelry Making]}>=250 && ${Me.Skill[Jewelry Making]}<279) { 
      /varset CombItemName "PRV" 
      /varset ItemTo "Platinum Ruby Veil" 
    } 

    /if (${Me.Skill[Jewelry Making]}>=220 && ${Me.Skill[Jewelry Making]}<250) {
      /varset CombItemName "PJ"
      /varset ItemTo "Jaded Platinum Ring"
    }

    /if (${Me.Skill[Jewelry Making]}>=202 && ${Me.Skill[Jewelry Making]}<220) {
      /varset CombItemName "PLL"
      /varset ItemTo "Platinum Lapis Lazuli Necklace"
    }

    /if (${Me.Skill[Jewelry Making]}>=191 && ${Me.Skill[Jewelry Making]}<202) {
      /varset CombItemName "GFE"
      /varset ItemTo "Fire Emerald Golden Bracelet"
    }

    /if (${Me.Skill[Jewelry Making]}>=183 && ${Me.Skill[Jewelry Making]}<191) {
      /varset CombItemName "GSA"
      /varset ItemTo "Golden Star Ruby Ring"
    }

    /if (${Me.Skill[Jewelry Making]}>=183 && ${Me.Skill[Jewelry Making]}<191) {
      /varset CombItemName "GO"
      /varset ItemTo "Golden Opal Amulet"
    }

    /if (${Me.Skill[Jewelry Making]}>=172 && ${Me.Skill[Jewelry Making]}<183) {
      /varset CombItemName "GT"
      /varset ItemTo "Golden Topaz Earring"
    }

    /if (${Me.Skill[Jewelry Making]}>=146 && ${Me.Skill[Jewelry Making]}<172) {
      /varset CombItemName "GA"
      /varset ItemTo "Golden Amber Earring"
    }

    /if (${Me.Skill[Jewelry Making]}>=100 && ${Me.Skill[Jewelry Making]}<146) {
      /varset CombItemName "GM"
      /varset ItemTo "Gold Malachite Bracelet"
    }

    /if (${Me.Skill[Jewelry Making]}>=76 && ${Me.Skill[Jewelry Making]}<100) {
      /varset CombItemName "EA"
      /varset ItemTo "Electrum Amber Earring"
    }

    /if (${Me.Skill[Jewelry Making]}>=36 && ${Me.Skill[Jewelry Making]}<76) {
      /varset CombItemName "EL"
      /varset ItemTo "Electrum Lapis Lazuli Earring"
    }

    /if (${Me.Skill[Jewelry Making]}>=21 && ${Me.Skill[Jewelry Making]}<36) {
      /varset CombItemName "SA"
      /varset ItemTo "Silver Amber Ring"
    }

    /if (${Me.Skill[Jewelry Making]}<21) {
      /varset CombItemName "SL"
      /varset ItemTo "Silver Lapis Lazuli Necklace"
    }


    /call ReadIni "${CombItemName}"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

	/if (${Ingredcount} > 40) /varset Ingredcount 40

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" ${Ingredcount}

        /if (${Component[2].Length}>2&& ${Me.Skill[Jewelry Making]}<276) /call Buy "${Component[2]}" ${Ingredcount}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      
      /itemnotify ${Me.Inventory[pack8].InvSlot} rightmouseup

	/doevents 

	/delay 3s ${Window[TradeskillWnd].Open} 

	/if (!${Window[TradeskillWnd].Open}) /nomodkey /click left Item 

/delay 3s ${Window[TradeskillWnd].Open} 

      /call ChooseRecipe
      /call ClosePacks

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

/delay 5s ${Window[MerchantWnd].Open} 

    /call OpenPacks

    /call Sell ${ItemTo}

    /if (${Me.Skill[Jewelry Making]}<=202) {

    /call Sell "${Component[1]}"

    /call Sell "${Component[2]}"
    
    }

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[Jewelry Making]}>${OldSkill}) {
        /echo Your Jewelry Making Went Up!! It's now ${Me.Skill[Jewelry Making]}!
        /varset OldSkill ${Me.Skill[Jewelry Making]}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance
    /if (${Trophytrigger.Equal[""no""]}) /varset EndingVar 2
/return


JC.ini

Code:
[SL]
Cont=Jeweler's Kit
Comp0=silver bar
Comp1=lapis lazuli

[SA]
Cont=Jeweler's Kit
Comp0=silver bar
Comp1=amber

[EL]
Cont=Jeweler's Kit
Comp0=electrum bar
Comp1=lapis lazuli

[EA]
Cont=Jeweler's Kit
Comp0=electrum bar
Comp1=amber

[GM]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=malachite

[GA]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=amber

[GT]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=topaz

[GO]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=opal

[GSR]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=star ruby

[GFE]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=fire emerald

[PLL]
Cont=Jeweler's Kit
Comp0=platinum bar
Comp1=lapis lazuli

[PJ]
Cont=Jeweler's Kit
Comp0=platinum bar
Comp1=jade

[PRV] 
Cont=Jeweler's Kit 
Comp0=platinum bar 
Comp1=ruby

[PD] 
Cont=Jeweler's Kit 
Comp0=platinum bar 
Comp1=diamond

[PD] 
Cont=Jeweler's Kit 
Comp0=platinum bar 
Comp1=blue diamond
 
Last edited:
  • Wow
Reactions: EQDAB
Pottery

Added recipes that can be found in NEW UI Recipe list.... THIS WILL ONLY TAKE you to 66.. and then stop.

it will stop and you will have a set of ingredients for next combine.. YOU need to GO MANUAL until you learn recipes.

Unfired Small Bowl
Unfired Poison Vial
Unfired Lined Poison Vial
Unfired Sealed Poison Vial

Potter.mac

Code:
| Pottery.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
| 17 APR 2011: Updated to use recipes available in the NEW UI list
|
| 23 APR 2006: Fixed Advanced sub 
|
| 1 APR 06: Fixed glitch in the KILN routine
|           Fixed where Items were not being destroyed as MACRO called for
|
| 26 MAR 2006: moved 2 subs and event declarations to CommonSubs.inc
|
| This new line of tradeskill macros uses the NEW UI and the OLD UI for TS containers
| 
| The Macro will attempt to find the recipe using the NEW UI first
| If no recipe is found it will go Old school and do a set of combines
| these macros take into account the SALVAGE function and react accordingly
| 
|
| A special thanks to A_Druid_00 for advising on some streamlining modifications
| and to Override for his Tradeskill Code that has been around for so long 
| and is the inspiration for this code
|
| Some of the code was pulled from other macros and modified and manipulated 
| to do the tasks set forth.
|
| This code is designed for Abysmal Sea
|
| *** FOR THIS CODE TO WORK ***
| You need to Stand in front of Yoen Ormard
| You need to be in the first person view
| You need to ensure that when you click the tradeskill container the NEW UI comes up first
| the 5 FILES need to be in the macro\common folder (see includes below)

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


Sub Main
    /declare OldSkill int outer ${Me.Skill[Pottery]}
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare DelayMult int outer
    /declare Container string outer
    /declare Checkrecipe string outer
    /declare NewUI int outer
    /declare DoKiln int outer

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Customize these settings if you want
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset MerchantNameA "Yoen Ormard"
    /varset MerchantNameB "Malkidiv"
    /varset SkillMaxWanted 188
    /varset DelayMult 1
    /declare Filename string outer pottery.ini
    /varset DoKiln 0
|----------------- 1 for yes do KILN .. 0 for no KILN

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Call Read INI for locations array
|                    
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /call ReadINIA ${Filename} "Abysmal Sea" 
    /if (!${Defined[LocArray]}) { 
       /echo No Loc Array Created...
       /endmacro 
    } 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Begin 
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :start

|--- Check Current Skill against Skill wanted 
    /echo Pottery is at ${Me.Skill[Pottery]}

    /if (${Me.Skill[Pottery]}>=${SkillMaxWanted}) {
      /echo Pottery is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (${Me.Skill[Pottery]}<21) {
      /varset CombItemName "SBC"
      /varset ItemTo "Small Block of Clay"
    }
    /if (${Me.Skill[Pottery]}>=21 && ${Me.Skill[Pottery]}<68) {
      /varset CombItemName "APS"
      /varset ItemTo "Aerated Pot Shell"
    }
    /if (${Me.Skill[Pottery]}>=68 && ${Me.Skill[Pottery]}<102) {
      /varset CombItemName "SB"
      /varset ItemTo "Unfired Small Bowl"
    }
    /if (${Me.Skill[Pottery]}>=102 && ${Me.Skill[Pottery]}<148) {
      /varset CombItemName "PVA"
      /varset ItemTo "Unfired Poison Vial"
    }
    /if (${Me.Skill[Pottery]}>=148 && ${Me.Skill[Pottery]}<168) {
      /varset CombItemName "LPVA"
      /varset ItemTo "Unfired Lined Poison Vial"
    }
    /if (${Me.Skill[Pottery]}>=168 && ${Me.Skill[Pottery]}<=188) {
      /varset CombItemName "SPVA"
      /varset ItemTo "Unfired Sealed Poison Vial"
    }

    /call ReadIni "${CombItemName}"
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Buy Components
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /varset EndingVar 1
    /varset NewUI 1

    /target ${MerchantNameA}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

        /if (${Component[1].Length}>2) /call Buy "${Component[1]}" 30

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /echo Moving to ${MerchantNameB}

    /call Movement 1 8 3

    /target ${MerchantNameB}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameB}].ID}

    /nomodkey /click right target

    /delay 5s ${Window[MerchantWnd].Open}

        /if (${Component[2].Length}>2) /call Buy "${Component[2]}" 20

        /if (${Component[3].Length}>2 && !${CombItemName.Equal[""SBC""]} && !${CombItemName.Equal[""APS""]}) /call Buy "${Component[3]}" 20

    /if (${Me.Skill[Pottery]}>101) /call Buy "${Component[4]}" 20

    /if (${Me.Skill[Pottery]}>41 && ${DoKiln}==1) /call Buy "High Quality Firing Sheet" 20

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| MAKE Items
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
      :EnviroWait      
      /nomodkey /itemtarget Pottery Wheel notarget 
      /face item nolook 
      /click left item 
      /delay 2
      /doevents 

      /delay 5s ${Window[TradeskillWnd].Open} 

      /if (!${Window[TradeskillWnd].Open}) /goto :EnviroWait

      /if (${Me.Skill[Pottery]}>=21 && ${Me.Skill[Pottery]}<68) {

           /echo Searching for Recipe ${ItemTo}
           /nomodkey /notify TradeskillWnd COMBW_SearchTextEdit leftmouseup 
           /call Type "${ItemTo}"
           /delay 1m ${Window[TradeskillWnd].Child[COMBW_SearchButton].Enabled}  
           /nomodkey /notify TradeskillWnd COMBW_SearchButton leftmouseup 
           /delay 4s
	   /nomodkey /notify TradeskillWnd RecipeList listselect ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]} 
           /delay 2s
		
	  :APSLOOP

      		/if (${EndingVar}==1) {

		/notify MerchantWnd ItemList listselect

		/call Buy "${Component[3]}" 1

		/delay 5

		/notify TradeskillWnd CombineButton leftmouseup
 
		/doevents

		/delay 1s

    		/if (${Cursor.ID}) /destroy 
			
		/goto :APSLOOP

		}

	} Else {
		/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp
		
		/call ChooseRecipe
	}

    /nomodkey /notify TradeskillWnd COMBW_CloseButton Leftmouseup

	/delay 2s

    /if (${Me.Skill[Pottery]}>=68 && ${Me.Skill[Pottery]}<102) {
    	/echo Destroy
    	/call OpenPacks
    	:dest
    	/if (${FindItem[=Unfired Small Bowl].ID}) /nomodkey /ctrl /itemnotify ${FindItem[=Unfired Small Bowl].InvSlot} leftmouseup
	/delay 5
    	/if (!${Cursor.ID}) /goto :next
    	/destroy
    	/goto :dest
    
    	:next


    /call Movement 9 10 0
    }

    /if (${Me.Skill[Pottery]}>102 && ${DoKiln}==0) {
    	/echo No KILN for me
    	/Call OpenPacks
    	:dest2
    	/if (${Cursor.ID}) {

    		/destroy

    		/if (${Me.Skill[Pottery]}>102 && ${Me.Skill[Pottery]}<=148) /nomodkey /ctrl /itemnotify ${FindItem[=Unfired Poison Vial].InvSlot} leftmouseup

    		/if (${Me.Skill[Pottery]}>148 && ${Me.Skill[Pottery]}<=168) /nomodkey /ctrl /itemnotify ${FindItem[=Unfired Lined Poison Vial].InvSlot} leftmouseup

    		/if (${Me.Skill[Pottery]}>168 && ${Me.Skill[Pottery]}<=188) /nomodkey /ctrl /itemnotify ${FindItem[=Unfired Sealed Poison Vial].InvSlot} leftmouseup

    		/goto :dest2
		
		}

     	} 

    /if (${Me.Skill[Pottery]}>102 && ${DoKiln}==1) {
    	/echo going to kill... gonna fire these babies up!!
   	/if (${Me.Skill[Pottery]}>102 && ${Me.Skill[Pottery]}<=148) {
      		/varset CombItemName "PVB"
      		/varset ItemTo "Poison Vial"
    	}
    	/if (${Me.Skill[Pottery]}>148 && ${Me.Skill[Pottery]}<=168) {
      		/varset CombItemName "LPVB"
      		/varset ItemTo "Lined Poison Vial"
    	}
    	/if (${Me.Skill[Pottery]}>168 && ${Me.Skill[Pottery]}<=188) {
      		/varset CombItemName "SPVB"
      		/varset ItemTo "Sealed Poison Vial"
    	}

    	/call ReadIni "${CombItemName}"


    	/echo Moving to Kiln
    	/call Movement 9 14 12

      
      	/nomodkey /itemtarget Kiln notarget 
     	/face item nolook 
      	/click left item 

      	:EnviroWait      
      	/nomodkey /itemtarget Kiln notarget 
      	/face item nolook 
      	/click left item 
      	/delay 2
      	/doevents 

      	/delay 5s ${Window[TradeskillWnd].Open} 

      	/if (!${Window[TradeskillWnd].Open}) /goto :EnviroWait 

      	/call ChooseRecipe
      	/call ClosePacks
      	/call Movement 15 18 17
      	}

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| all done starting over
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    /echo Moving to ${MerchantNameA}
    /echo Selling off and starting over

    /call Movement 18 23 22

    /target ${MerchantNameA}
   
    /delay 5s ${Target.ID}==${Spawn[${MerchantNameA}].ID}

    /nomodkey /click right target

/delay 5s ${Window[MerchantWnd].Open} 

    /call OpenPacks

    /if (!${CombItemName.Equal[""SBC""]} && !${CombItemName.Equal[""APS""]}) /call Sell ${ItemTo}

    /if (${Component[3].Length}>2 && !${CombItemName.Equal[""APS""]}) /call Sell "${Component[3]}"

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /return


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Skill up
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Skillup
        /if (${Me.Skill[Pottery]}>${OldSkill}) {
        /echo Your Pottery Went Up!! It's now ${Me.Skill[Pottery]}!
        /varset OldSkill ${Me.Skill[Pottery]}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event No Longer Advance 
|used if there are some subcombines that need to be made in some TS
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Event_Advance
    /if (!${CombItemName.Equal[""PVB""]} && !${CombItemName.Equal[""LPVB""]} && !${CombItemName.Equal[""SPVB""]}) /varset EndingVar 2
  
/return

Pottery.ini

Code:
[Abysmal Sea]
Value=24
Loc1=110.96, 20.36
Loc2=178.05, 50.08
Loc3=178.05, 69.77
Loc4=92.04, 111.11
Loc5=92.67, 260.68
Loc6=-204.01, 261.08
Loc7=-225.75, 204.70
Loc8=-252.69, 202.40
Loc9=-225.75, 204.70
Loc10=-204.01, 261.08
Loc11=-254.69, 259.14
Loc12=-266.52, 258.82
Loc13=-329.85, 260.15
Loc14=-328.94, 241.51
Loc15=-329.85, 260.15
Loc16=-266.52, 258.82
Loc17=-254.69, 259.14
Loc18=-204.01, 261.08
Loc19=92.67, 260.68
Loc20=92.04, 111.11
Loc21=178.05, 69.77
Loc22=178.05, 50.08
Loc23=110.96, 20.36
Loc24=-259,193

[SBC]
Cont=Enviro
Comp0=water flask
Comp1=block of clay

[APS]
Cont=Enviro
Comp0=water flask
Comp1=block of clay
Comp2=Aerated Pot sketch

[LC]
Cont=Enviro
Comp0=water flask
Comp1=block of clay
Comp2=Large Jar sketch

[SB]
Cont=Enviro
Comp0=water flask
Comp1=small block of clay
Comp2=bowl sketch

[PVA]
Cont=Enviro
Comp0=water flask
Comp1=crows special brew
Comp2=vial sketch
Comp3=small block of clay

[LPVA]
Cont=Enviro
Comp0=water flask
Comp1=crows special brew
Comp2=lined vial sketch
Comp3=small block of clay

[SPVA]
Cont=Enviro
Comp0=water flask
Comp1=crows special brew
Comp2=sealed vial sketch
Comp3=small block of clay

[LCB]
Cont=Enviro
Comp0=unfired large container
Comp1=quality firing sheet

[SBB]
Cont=Enviro
Comp0=unfired small bowl
Comp1=high quality firing sheet

[PVB]
Cont=Enviro
Comp0=unfired poison vial
Comp1=high quality firing sheet

[LPVB]
Cont=Enviro
Comp0=unfired lined poison vial
Comp1=high quality firing sheet

[SPVB]
Cont=Enviro
Comp0=unfired sealed poison vial
Comp1=high quality firing sheet
 
Last edited:
  • Like
Reactions: EQDAB
You sir are indeed a macro god! Can we get a mod to sticky this thread please?
 
Last edited:
  • Like
Reactions: EQDAB
thanks gang...

just so everyone knows i am going though each macro testing them all out.

right now i am going though the baking one.. and trying to get the enviro to work for new recipes.

if you try out one of the untested macros.. just let me know...

"I tried XXX.mac...it used New UI, no issues"

"I tried XXX.mac...it CTD when i went old school"


etc

:cool:
 
Works great! I made a few changes, though. The provided recipe wasn't viable. Using Alexandra's suggestions here, I raided the bazaar and found lots of cheap pelts.

I settled on Sullied Animal pelts. Here are the changes I made:

to tailor.ini:

Cont=Large Sewing Kit
Comp0=Leather Wristbands Template Pattern
Comp1=Sullied Animal Pelt
Comp2=Simple Sewing Needle
Comp3=Tanning Chemicals
Comp4=Thread Filament

Tailor.mac:

/if (${Me.Skill[Tailoring]}<90) {
/varset CombItemName "SU"
/varset ItemTo "Sullied Leather Wristbands Template"
}

/if (${FindItemCount[=Simple Sewing Needle]}<1) {
/echo Simple Sewing Needle needed go get some
/echo Ending macro
/endmacro
}

/if (${Me.Skill[Tailoring]}<=89 && ${FindItemCount[=Sullied Animal Pelt]}==0) {
/echo need Sullied Animal Pelt, visit the bazaar or go farming
/echo Ending macro
/endmacro
}

and in the buy components section:

/delay 5s
/call Buy "${Component[3]}" ${Counter}
/delay 5s
/call Buy "${Component[4]}" ${Counter}

It is a bit of a one off solution. It could be pretty easy to scan the inventory and see what animal pelts are available vs what skill you are and go after the lowest level pelts available that still give you level ups.

But yea, works great!

-edit- i used the new UI and had everything purchased already, so i can't speak to how well it purchased or experimented.
 
Last edited:
  • Like
Reactions: EQDAB
Just tried to use the smith.mac and it's brokey. Not sure if this last patch broke it or not but below is a screenie of what the MQ window outputs when I try it out.
-Edit-
Smith2 is doing the same thing.

s3fzg2.jpg
 
Last edited: