NEW Tradeskill Macros

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

Moderator: MacroQuest Developers

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

NEW Tradeskill Macros

Post by armysoldier » Sun Mar 19, 2006 8:52 pm

UPDATED ZIP FILE 27 APR 2006


The NEW ERA of TS macros is upon us.

I have revamped the code so 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 CONTAINES

Code: Select all

Buy <-- updated code
sell <-- Updated Code
CommonSubs <-- common to most TS macros  <-- UPDATED
packs
cleanpacks
Macs included:

Code: Select all

[color=Red]Alchemy.mac w/ini           <--- Skill 1-210 VIP FORUM  NEW CODE - see post[/color]
Bake.mac w/ini              <--- Skill 1-191
Brew.mac  w/ini             <--- Skill 1-248
Fishing.mac w/ini           <--- Skill 1-200
Fletch.mac w/ini            <--- Skill 1-282
Jeweler.mac w/ini           <--- Skill 1-282
Poison.Mac w/ini            <--- Skill 1-275 TKS WALLABY VIP FORUM
Potter.mac w/ini            <--- Skill 1-188
Smith.mac w/ini             <--- Skill 1-115
Smith2.mac                  <--- Skill 116-188  VIP FORUM
Mistletoe.mac w/ini         <--- Skill 188-300 VIP FORUM
Tailoring.mac w/ini         <--- Skill 0-182 VIP Forum
Tinker.mac w/ini            <--- Skill 1-149   VIP FORUM
CE.mac                      <--- NO FAIL COMBINES
COMBINE.MAC                 <--- USES NEw UI to do a selected Combine till you run out of Stuff

usage

Code: Select all

Stand by the NPC noted and
/mac smith
Need to do:

Test:
Tinker.mac

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


Create:





ARMY



PS

ALL the INI and MACROS have CHANGED Please Copy the new code or Download the new Zip

USING OLD CODE may cause you fatal ERRORS
Last edited by armysoldier on Wed Apr 26, 2006 1:35 pm, edited 7 times in total.

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

BUY SELL PACKS CLEAN PACKS

Post by armysoldier » Sun Mar 19, 2006 8:55 pm

26 MAR 2006: PACKS.INC AND CLEANPACKS.INC HAVE BEEN MODIFIED

18 MAR 2006: BUY.INC AND SELL.INC HAVE BEEN MODIFIED

Buy.inc

Code: Select all

| 
| buy.inc 
| Buy Include File needed for macros 
| Version 1.7b 
| 
| Date: August 20, 2005 
| UPDATED BY OUNVME 
| 
| 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. 
| 
| Usage: /call Buy (ItemToBuy) (Amount Needed) 
| 
| Use the Buy function for buying if you need a set total amount, like if you have 
| 20 of the item on you already and you need a total of 30, it will only buy 10 
| of the item. 
| 
| Usage: /call PCBuy (ItemToBuy) (Amount to buy off merchant) 
| 
| Use the PCBuy function if you don't need a set total amount, you just need 
| a set amount off that merchant. 
| 
| Disclaimer: 
| Code was used from other programers also from the MQ Forums. 
| 


#event Broke "#*#you cannot afford#*#" 
#event Broke "#*#you can't afford#*#" 

Sub Buy(item ItemToBuy, int amount) 
/echo Buying ${ItemToBuy}! 
/declare QTY int Inner 
/declare l2 local int 

/varset QTY ${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]} 
/delay 1s 
/if (${FindItemCount[${ItemToBuy}]}>= ${amount}) { 
     /echo Done! 
     /return 
   }    
/varset l2 ${Window[MerchantWnd].Child[ItemList].List[=${ItemToBuy},2]} 
/if (!${l2}) { 
        /echo couldn't find ${ItemToBuy} 
        /endm 
    } else { 
        /notify MerchantWnd ItemList listselect ${l2} 
        /notify MerchantWnd ItemList leftmouse ${l2} 
/delay 2          

    }  

/echo Buying ${ItemToBuy} Till I get ${amount}  
:Loop 

   /if (${QTY}>19) { 
       /buyitem 20 
       /delay 1s 
       /doevents 
       /varset QTY ${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]} 
       /goto :Loop 
       } ELSE { 
   /if (${QTY}>0 && ${QTY}<20) { 
       /buyitem ${QTY} 
       /delay 1s 
       /varset QTY ${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]} 
       } 
} 
/if (${QTY}==0) { 
       /echo Done! 
       /return 
       } 
/goto :Loop 

/return 



Sub Event_Broke 
   /echo Error: You are out of money! 
   /beep 
   /endmacro 
/return
Sell.INC

Code: Select all

| 
| 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 
Packs.inc

Code: Select all

| 
| packs.inc
| Open and Close Packs Include File needed for macros
| Version 1.4
| Date: August 7, 2004
|
|
| MAR 26 2006 : Modified some code to speed up the process (TKS A_Druid_00)
|
| 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 OpenPacks 
   /declare bag int local 0 
   /if (!${Window[InventoryWindow].Open}) /nomodkey /keypress inventory 
   /delay 3s ${Window[InventoryWindow].Open}  
   /for bag 1 to 8 
   /if (!${Window[Pack${bag}].Open}) /nomodkey /itemnotify pack${bag} rightmouseup 
   /delay 3s ${Window[Pack${bag}].Open} 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
   /delay 5s !${Window[TradeskillWnd].Open} 
   /next bag 
/return 

Sub ClosePacks 
   /declare bag int local 0 
   /if (!${Window[InventoryWindow].Open}) /nomodkey /keypress inventory 
   /delay 3s ${Window[InventoryWindow].Open}
   /for bag 1 to 8 
      /if (${Window[Pack${bag}].Open}) /nomodkey /itemnotify pack${bag} rightmouseup 
   /delay 3s !${Window[Pack${bag}].Open}
   /next bag 
   /if (${Window[InventoryWindow].Open}) /nomodkey /keypress inventory 
   /delay 3s !${Window[InventoryWindow].Open} 
/return 
CleanPacks.INC

Code: Select all

| 
| cleanpacks.inc
| cleanpacks Include File needed for macros
| Version 1.1
| Date: August 7, 2004
|
| MAR 26 2006 : Modified some code to speed up the process (TKS A_Druid_00)
|
| MARCH 06 2006: Added /call ClearCursor to sub
|
| JAN 15 2006: Fixed String issues
|
| 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 cleanPack(string PackName)
    /echo Please Wait ...... Cleaning out ${PackName} container
    /declare iSlot int local    
    /declare iCount int local    
    /declare PackNumber string local
    
    /call ClearCursor

    /if (${PackName.Equal[Enviro]}) { 
        /varset PackNumber e 
    } else { 
        /varset PackNumber ${FindItem[=${PackName}].InvSlot.ID} 
        /if (${PackNumber}) { 
            /varcalc PackNumber ${PackNumber}-21 
            /varset PackNumber ${PackNumber.Arg[0,.]} 
        } else { 
            /echo Could not find container in your inventory
            /echo Contanier name = ${PackName} 
            /endmacro
        } 
    }
    /if (${PackNumber.Equal[e]}) { 
        /for iSlot 1 to 10 
            /nomodkey /shiftkey /itemnotify enviro${iSlot} leftmouseup
            /delay 1s
	    /autoinv
        /next iSlot 
    
    } else { 
        
        /if (${Me.Inventory[Pack${PackNumber}].Container}==0) { 
            /return 
        } 

        /for iSlot 1 to ${Me.Inventory[Pack${PackNumber}].Container} 
            | Quit if the pack is empty 
            /if (${Me.Inventory[Pack${PackNumber}].Container}==0) { 
                /return 
            } 

            /if (${Me.Inventory[Pack${PackNumber}].Item[${iSlot}].ID}!=NULL) { 
                /varset iCount ${Me.Inventory[Pack${PackNumber}].Items} 
                /nomodkey /shiftkey /itemnotify in pack${PackNumber} ${iSlot} leftmouseup
    /delay 5s ${Cursor.ID} 
    /timed 5 /autoinv 
    /delay 5s !${Cursor.ID}
                /if (${Me.Inventory[Pack${PackNumber}].Items}==${iCount}) { 
                    /echo Unable to empty container. 
                    /endmacro 
                } 
            } 
        /next iSlot 
    } 
    /echo Done Cleaning ${PackName} Container. Thank you for waiting!
/return

ARMY
Last edited by armysoldier on Sun Mar 26, 2006 3:57 pm, edited 2 times in total.

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

COMMONSUBS

Post by armysoldier » Sun Mar 19, 2006 8:55 pm

1 APR 2006 1700 hours: CommonSubs.INC HAS BEEN MODIFIED

SEE NOTES in FILE

This is a INC file i created to make everything work better


CommonSubs.inc

Code: Select all

|
| CommonSubs.inc
|
| 1 APR 2006: fixed Clear cursor
|             fixed the EVENT Container in use 
|             fixed The NEW UI - Favorite recipe selection
|
| 26 MAR 2006: Moved Salvage and Readini Sub to here
|              Changed some redundant coding
|              Changed clear cursor to A_Druid_00 clear cursor code
|              Added /nomodkey to all /notify statements
|
#event CombineError "#*#There was no place to put that#*#" 
#event CombineError "#*#You cannot combine these items in this container type!#*#" 
#event CombineError "#*#did not accept these items#*#" 
#event CombineError "#*#You are missing#*#" 
#Event Advanced "#*#can no longer advance#*#" 
#event ContUsed "#*#Someone else is using that. Try again later.#*#" 
#event End "#*#can not afford#*#" 
#Event Skillup "#*#become better at#*#" 
#Event Salvage "You failed the combine, but you managed to recover #*#" 


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Type input string "Recipe" into search box in new tradeskill interface, 
| click search and select the first recipe returned in the search results. 
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub ChooseRecipe 
         /nomodkey /notify TradeskillWnd COMBW_SearchTextEdit leftmouseup 
         /delay 5 
         /echo Searching for Recipe
         /call Type "${ItemTo}"

|--- First Check to see if Recipe is in favorites

	   /nomodkey /notify TradeskillWnd COMBW_RecipeList listselect ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]} 
	   /delay 2 
	   /nomodkey /notify TradeskillWnd COMBW_RecipeList leftmouseup ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]}

           /varset Checkrecipe ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]}

|--- Its not in Favorites.. so lets type it in and do a search
      /if (!${Checkrecipe}) {

           /delay 1m ${Window[TradeskillWnd].Child[COMBW_SearchButton].Enabled}  
           /nomodkey /notify TradeskillWnd COMBW_SearchButton leftmouseup 
           /delay 10 
	   /nomodkey /notify TradeskillWnd COMBW_RecipeList listselect ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]} 
	   /delay 2 
	   /nomodkey /notify TradeskillWnd COMBW_RecipeList leftmouseup ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]}
           /varset Checkrecipe ${Window[TradeskillWnd].Child[COMBW_RecipeList].List[${ItemTo}]}

|--- Search could not find it either so lets do a old school combine
           /if (!${Checkrecipe}) {
                /nomodkey /notify TradeskillWnd COMBW_ExperimentButton leftmouseup
               /varset NewUI 2
               /call OLDUICOMBINE
               /nomodkey /notify ${PackCode} Container_DoneButton Leftmouseup
               /return
               } else {
                     /call DoCombine
                     }
        } else {
              /call DoCombine
              }
    /nomodkey /notify TradeskillWnd COMBW_CloseButton Leftmouseup
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Type out the input string.   
| 
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
Sub Type(InStr) 
   /echo trying to enter Recipe Desired
   /declare char string local 
   /declare loopctr int local 
   /for loopctr 1 to ${InStr.Length} 
      /varset char ${InStr.Mid[${loopctr},1]} 
      /if (!${char.Length}) { 
         /nomodkey /keypress space chat 
      } else { 
         /nomodkey /keypress ${char} chat 
      } 
   /next loopctr 
/return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub DoCombine
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sub DoCombine
        /call ClearCursor 
    :Loop 
	/nomodkey /notify TradeskillWnd CombineButton leftmouseup 
        /delay 3s ${Cursor.ID} 
        /call ClearCursor 
      	/doevents 
      /if (${EndingVar}==1) /goto :Loop
      /varset EndingVar 1 

    /return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Clear Cursor
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub ClearCursor 
/declare x int local 
:auto_inv 
/if (${Cursor.ID}) { 
  /if (${Cursor.Container}) { 
    /for x 1 to 8 
    /if (!${InvSlot[pack${x}].Item.Container}) /nomodkey /itemnotify pack${x} leftmouseup 
    /next x 
  } else { 
    /timed 5 /autoinventory 
  } 
  /goto :auto_inv 
} 
/return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub OLD UI COMBINE
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub OLDUICOMBINE
   /echo recipe not found yet .. Going old school

   /call OpenPacks
   /call cleanPack "${Container}"

    :Begin
       /doevents
       /if (${EndingVar}==1) {
       /call ClearCursor 
       /for i 1 to 10 
       /call AddComp "${Component[${i}]}" ${i} 
       /next i
       /delay ${Math.Calc[${DelayMult}*1]}s
       /call OldDoCombine 
       /doevents
       /goto :Begin
}
/return


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Movement Sub
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sub Movement(Start,Finish,Door)
  /declare Location int inner
  /for Location ${Start} to ${Finish}
     :MoveLoop
     /face nolook loc ${LocArray[${Location}]}
     /if (${Math.Distance[${LocArray[${Location}]}]}>4) {
        /nomodkey /keypress forward hold
        /face nolook loc ${LocArray[${Location}]}

        /if (${Location}==${Door}) {
        /nomodkey /keypress USE
        /nomodkey /keypress USE
         }
     }
     /if (${Math.Distance[${LocArray[${Location}]}]}<=4) {
        /nomodkey /keypress forward
        /goto :next
     }
     /goto :MoveLoop
     :next
  /next Location
/return

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

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

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

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

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

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Do the Combine
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
sub OldDoCombine 
/combine ${PackCode} 
/doevents 
/delay ${Math.Calc[${DelayMult}*1]}s
/delay 5s ${Cursor.ID} 
/Call ClearCursor
/doevents 
/return 

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Read INI file for Loc array
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sub ReadINIA(FileName,SectionName) 
   /echo Attempting to Read Section "${SectionName}" Zone Information from ${FileName}... 

    
   /if (${Ini[${FileName},${SectionName},-1,NO].Equal[NO]}) { 
      /echo "${SectionName}" is not a Valid Section for FILE:${FileName}, ending macro... 
 
      /return
   } 
   /declare nValues     int local 
   /declare nArray      int local  0 

|~~~~~~~~~~~~~~~~~~~~~~ Locs ~~~~~~~~~~~~~~~~~
   /Varset nValues ${Ini[${FileName},${SectionName},Value]}
   /echo ${nValues} Locs
   :MakeArraylo 
   /if (!${nValues}) /return
   /if (${nValues}) { 
      /echo Declaring Loc Array... 
      /declare LocArray[${nValues}]  string outer
   }
   /for nArray 1 to ${nValues}
      /varset LocArray[${nArray}] ${Ini[${FileName},${SectionName},Loc${nArray}]}
      /echo  loc ${nArray} defined ${LocArray[${nArray}]}

   /next nArray



   /echo "${SectionName}" Zone Information Read Successfully from ${FileName}... 

/return 


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
|Sub Event Container being used 
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_ContUsed 
/echo Container in use. Waiting 1 Minute, or until no PCs are nearby and trying again. 
/delay 1m ${SpawnCount[pc radius 50]}<=1
/doevents 
/return 

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

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event End
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_End
    /call Ending
/return

Sub Ending
    /echo macro ending
    /end 
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub READ Ini File
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub ReadIni(RecipeName) 

    /echo Running ${RecipeName} recipe 

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

   /varset Container ${Ini[${Filename},${RecipeName},Cont,Enviro]} 

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

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

    /next i 
    /return 


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Salvage
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Salvage

        /if (${NewUI}==2) /call cleanPack "${Container}"

/return

ARMY
Last edited by armysoldier on Sat Apr 01, 2006 7:49 pm, edited 7 times in total.

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

COMBINE.MAC

Post by armysoldier » Sun Mar 19, 2006 8:57 pm

SIMPLE new UI combining MACRO

Code: Select all

#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
Army

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

Celestial ESSENCE MACRO

Post by armysoldier » Sun Mar 19, 2006 8:58 pm

Updated 26 MAR 2006

CE.MAC will Make CE until your broke... no more room or the number you put in events is reached

Code: Select all

 | CE.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 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
| _______
|| 1 | 5 |
||___|___|
|| 2 | 6 | 
||___|___|
|| 3 | 7 |
||___|___|
|| 4 | 8 |
||___|___|
|


 



#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
|
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/nomodkey /itemnotify pack8 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 
ARMY
Last edited by armysoldier on Sun Mar 26, 2006 3:57 pm, edited 1 time in total.

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

BAKE.MAC

Post by armysoldier » Sun Mar 19, 2006 8:59 pm

Updated 26 MAR 2006

BAKE.MAC

Code: Select all

| Bake.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 SPLIT needs to be in slot 8 of your packs
|
|
|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[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
    }
      /varset CombItemName "PM"
      /varset ItemTo "Patty Melt"

    /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]}" 40

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


    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp


    /echo Moving to ${MerchantNameB}

    /call Movement 1 1 0

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

    /nomodkey /click right target

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

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

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

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

/nomodkey /itemnotify pack8 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

    /call Sell ${ItemTo}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /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
    /varset EndingVar 2
/return 
BAKING.INI

Code: Select all

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

[PM]
Cont=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 by armysoldier on Sun Mar 26, 2006 3:58 pm, edited 1 time in total.

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

BREW.MAC

Post by armysoldier » Sun Mar 19, 2006 8:59 pm

Updated 26 MAR 2006

BREW.MAC

Code: Select all

 | Brew.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 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)


#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
    /declare ItemToB string outer
    /declare ItemToC 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 "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
    }
      /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 5s ${Window[MerchantWnd].Open}

    /call OpenPacks

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

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

    /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}

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

    /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

    /call Sell ${ItemTo}

    /call Sell ${ItemToB}

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /doevents

    /goto :start

    /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
    /varset EndingVar 2
/return 
BREWING.INI

Code: Select all

[Abysmal Sea]
Value=2
Loc1=-212.82,169.36
Loc2=-167.32,171.46


[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

ARMY
Last edited by armysoldier on Sun Mar 26, 2006 3:58 pm, edited 1 time in total.

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

FISHING.MAC

Post by armysoldier » Sun Mar 19, 2006 9:00 pm

Updated 26 MAR 2006

This macro is a fishing skill up macro that works in Aby Sea... it buys bait and poles as needed

It checks for Fishermans companion also

Enjoy

FISHING.MAC

Code: Select all

 | Fishing.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 infront of Duath Untez (ACROSS HALL FROM BANKERS)
| You need to be in the first person view
| the 5 FILES need to be in the macro\common folder (see includes below)



#event BrokenPole "#*#You can't fish without a fishing pole#*#"
#Event BrokenPole "#*#You need to put your fishing pole#*#"
#event NoBait "#*#You can't fish without fishing bait#*#"
#event End "#*#can not afford#*#"
#Event Skillup "#*#become better at#*#"
#Event Holding "#*#can't fish while holding#*#"

#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
    /declare SkillMaxWanted int outer 200
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare DelayMult int outer
    /varset OldSkill ${Me.Skill[Fishing]}
    /declare EndingVar int outer 1


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

    /varset MerchantNameA "Duath Untez" 
    /varset DelayMult 1
    /declare Filename string outer Fishing.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 Fishing is at ${Me.Skill[Fishing]}

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

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

:start
    /target ${MerchantNameA}

    /nomodkey /click right target

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

    /call OpenPacks

    /call Buy "Fishing Bait" 100

    /if (${FindItemCount[=Fisherman's Companion]}<1) /call Buy "Fishing Pole" 5

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /echo Moving to the Beer Spot

    /call Movement 2 14 6
    /face loc 512,190

    :fish
    /doability Fishing
    /delay 75
    /if (${Me.AbilityReady["Fishing"]}) {
            /if (${Cursor.ID}) {
            /if (${Cursor.Name.Equal[Tattered Cloth Sandal]}) {
            /destroy
            /delay 1s
        } else {
            /if (${Cursor.Name.Equal[Rusty Dagger]}) {
                /destroy
                /delay 1s
            } else {
            /echo Caught ${Cursor.Name}
            /call ClearCursor
            }
         }
       }
     }
    /doevents
    /if (${EndingVar}==1) /goto :fish
/goto :start
/return
    

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Broken Pole
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Sub Event_BrokenPole
   /if (${FindItemCount[=Fishing Pole]}>0) {
   /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*1]}s
   /nomodkey /ctrl /itemnotify ${FindItem[=Fishing Pole].InvSlot} leftmouseup
   /delay ${Math.Calc[${DelayMult}*2]}s
      /Call ClearCursor
   /call ClosePacks
   /return
   } Else {
   /if (${FindItemCount[=Fisherman's Companion]}>0) {    
   /nomodkey /ctrl /itemnotify ${FindItem[=Fisherman's Companion].InvSlot} Rightmouseup
   /delay ${Math.Calc[${DelayMult}*10]}s
      /Call ClearCursor
   /return
   } Else {
   /echo Need to buy fishing poles
   /echo Moving to Duath
   /call Movement 15 26 22
   /varset EndingVar 2
   /return
   }
}
/return

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Time to buy more bait
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_NoBait
   /echo Need to buy bait
   /echo moving to Duath
   /call Movement 15 26 22
   /varset EndingVar 2
/return

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

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|Sub Event Holding something
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Sub Event_Holding
      /Call ClearCursor
/return
FISHING.INI

Code: Select all

[Abysmal Sea]
Value=26
Loc1=-60.65,229.34
Loc2=-59.64,180.01
Loc3=-122.11,179.08
Loc4=-190.19,128.00
Loc5=-259.29,173.21
Loc6=-292.57,171.58
Loc7=-336.24,151.58
Loc8=-251.42,141.40
Loc9=154.99,177.46
Loc10=183.68,-1.87
Loc11=270.57,0.20
Loc12=318.44,41.49
Loc13=456.49,47.37
Loc14=456.42,51.19
Loc15=318.44,41.49
Loc16=270.57,0.20
Loc17=183.68,-1.87
Loc18=154.99,177.46
Loc19=-251.42,141.40
Loc20=-336.24,151.58
Loc21=-292.57,171.58
Loc22=-259.29,173.21
Loc23=-190.19,128.00
Loc24=-122.11,179.08
Loc25=-59.64,180.01
Loc26=-60.65,229.34
ARMY
Last edited by armysoldier on Sun Mar 26, 2006 3:59 pm, edited 1 time in total.

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

FLETCH.MAC

Post by armysoldier » Sun Mar 19, 2006 9:00 pm

Updated 17 APR 2006

FLETCH.MAC

Code: Select all

 
| Fletch.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 17 APR 2006: Fixed a few typos 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
| _______
|| 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[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) { 
 
    /call Buy "${Component[1]}" 10

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

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

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

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

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

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

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

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

    } else { 

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

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

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

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

    }

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

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

      
      /nomodkey /itemnotify pack8 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) {

    /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
| Fletch.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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
| _______
|| 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[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) { 
 
    /call Buy "${Component[1]}" 10

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

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

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

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

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

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

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

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

    } else { 

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

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

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

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

    }

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

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

      
      /nomodkey /itemnotify pack8 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) {

    /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
FLETCH.INI

Code: Select all

[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=hemp twine 
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

ARMY
Last edited by armysoldier on Mon Apr 17, 2006 10:36 pm, edited 3 times in total.

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

JEWELER.MAC

Post by armysoldier » Sun Mar 19, 2006 9:01 pm

Updated 26 MAR 2006

JEWELER.MAC

Code: Select all

 | Jeweler.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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
| _______
|| 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[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

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

    /varset MerchantNameA "Rilwind Sitnai" 
    /varset SkillMaxWanted 191 
    /varset DelayMult 1
    /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]}>=276 && ${Me.Skill[Jewelry Making]}<=282) { 
          /if (${FindItemCount[=Diamond]}>40) {
                /varset CombItemName "PS" 
                /varset ItemTo "Sapphire Platinum Necklace"
                } Else {
                 /echo Jewelry Making is at ${SkillMaxWanted}. and you have less than 40 Diamonds.....Quiting!
                 /endmacro
                }
    } 

     /if (${Me.Skill[Jewelry Making]}>=250 && ${Me.Skill[Jewelry Making]}<276) { 
      /varset CombItemName "PS" 
      /varset ItemTo "Sapphire Platinum Necklace" 
    } 

    /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

    /target ${MerchantNameA}

    /nomodkey /click right target

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

    /call OpenPacks

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

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

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

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

      
      /nomodkey /itemnotify pack8 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
    /varset EndingVar 2
/return

JC.ini

Code: Select all

[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

[PS] 
Cont=Jeweler's Kit 
Comp0=platinum bar 
Comp1=sapphire

[PS] 
Cont=Jeweler's Kit 
Comp0=platinum bar 
Comp1=diamond
ARMY
Last edited by armysoldier on Sun Mar 26, 2006 4:00 pm, edited 1 time in total.

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

Post by armysoldier » Sun Mar 19, 2006 9:01 pm

Updated 23 APR 2006

YOU MUST SAVE POISON VIAL (not lined or sealed... just PLAIN one) to you favorites if you intend to Fire them in the KILN

POTTER.MAC

Code: Select all

 
| Pottery.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 1
|----------------- 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
    }| Pottery.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 1
|----------------- 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]}<41) {
      /varset CombItemName "LC"
      /varset ItemTo "Unfired Large Container"
    }
    /if (${Me.Skill[Pottery]}>=41 && ${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

    /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}

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

    /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

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /call ClosePacks

    /call Movement 24 24 0


|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 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 
 
      /call ChooseRecipe
      /call ClosePacks


      /echo ${Me.Skill[Pottery]} Pot Skill
      /echo ${ItemTo} item to 
      /echo ${CombItemName} comb name
      /echo ${DoKiln} Kiln

   /if (${Me.Skill[Pottery]}<=102) {
    /echo Destroy
    /call OpenPacks
    :dest
    /if (${Me.Skill[Pottery]}<=41) /nomodkey /ctrl /itemnotify ${FindItem[=Unfired Large Container].InvSlot} leftmouseup
    /if (${Me.Skill[Pottery]}>41 && ${Me.Skill[Pottery]}<=102) /nomodkey /ctrl /itemnotify ${FindItem[=Unfired Small Bowl].InvSlot} leftmouseup
    /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 (${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
    /if (!${Cursor.ID}) /goto :next2
    /destroy
    /goto :dest2
    
    :next2
     } 

    /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 Pottery Wheel 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

    /call Sell ${ItemTo}

    /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.NotEqual[PVB]}) && (${CombItemName.NotEqual[LPVB]}) && (${CombItemName.NotEqual[SPVB]}) /varset EndingVar 2
  
/return 

POTTERY.INI

Code: Select all

[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

[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
ARMY
Last edited by armysoldier on Sun Apr 23, 2006 10:31 am, edited 3 times in total.

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

SMITH.MAC

Post by armysoldier » Sun Mar 19, 2006 9:02 pm

Updated 23 APR 2006


SMITH.MAC

Code: Select all

 
| Smith.mac version 1.0
|
| Written by Armysoldier
|
| March 5 2006
|
| Modifications:
|
| 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 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 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]}<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

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

    /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}

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

    /nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp

    /echo Moving to ${MerchantNameC}

    /call Movement 5 11 9

    /target ${MerchantNameC}

    /delay 3s

    /nomodkey /click right target

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

    /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 
      /click left item 

      /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 22 22 0
    /call Movement 18 21 20

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

    /nomodkey /click right target

    /call OpenPacks

    /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: Select all

[Abysmal Sea]
Value=22
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.90,293.24
Loc18=18.59,221.98
Loc19=126.89,236.86
Loc20=130.49,259.22
Loc21=92.71,259.21
Loc22=48.13,294.06


[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


ARMY
Last edited by armysoldier on Sun Apr 23, 2006 10:32 am, edited 3 times in total.

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

Post by armysoldier » Sun Mar 19, 2006 9:03 pm

Reserved

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

Post by armysoldier » Sun Mar 19, 2006 9:03 pm

One more for Good Luck

3djoker
a hill giant
a hill giant
Posts: 167
Joined: Thu Jun 24, 2004 11:19 pm

Post by 3djoker » Sun Mar 19, 2006 9:39 pm

u friggin rock