• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

AFK Smithing Part 2

armysoldier

Well-known member
Joined
Jun 26, 2005
RedCents
101¢
Macro Smithing2.mac

Read remarks

YOU MUST HAVE LEATHER PADDING in INVENTORY

YOU MUST BE in Abysmal sea .. behind snokin

I just used this to go from 115-174

it took me 200 leather paddings and about 4KPP

Rich (BB code):
| 
| smithing2.mac
|
| Created by Armysoldier
|
| Using a modified smithing.mac by override
|                  brewing.mac modified by OUNVME
|
| Takes you from 115 to 179 in smithing
| This mac will call smithing.mac to take you 1-115
| And veliumbits.mac if your over 179
| 
|
| Before starting ..ensure you go to the forage and set the following recipies in your favorites
|
| Medium Quality Folded Sheet Metal
| Fine Plate Visor
| Fine Plate Helm <-- may not be available at 115 skill 
|                  ** Will have to set after a few skill ups
|                     And alot of leather padding
|
| *** YOU MUST HAVE LEATHER PADDING IN YOU INVENTORY  ***
|
| This Macro can take you up to 179 in Blacksmithing.
| Calling veliumbits.mac and it can take you to 222
| 
| SkillMaxWanted can be change to what skill you want to stop at.
| MerchantNameA is which merchant has the metals.
| MerchantNameB is which merchant has the molds.
| MerchantNamec is which merchant has the water.
| You will need to change the DelayMult to higher if you are laggy, this
|   number will be multiplied to the default delay.
|
| This Macro works best in the Abysmal Sea since all the components are there.
| You WILL need to be behind Snokin Breaksteel for this macro to work.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| This macro may not work any other place then the Abysmal Sea.
| 


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


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

Sub Main
    /declare OldSkill int outer
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer 
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare MerchantNameC string Outer
    /declare CompA item outer
    /declare CompB item outer
    /declare CompC item outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /declare DelayMult int outer
    /varset OldSkill ${Me.Skill[Blacksmithing]}
    /declare stop int outer
| ************************************************
| *   Change these settings to what you want.    *
| ************************************************

    /varset MerchantNameA "Snokin Breaksteel"
    /varset MerchantNameB "Cevroy Sharpaxe"
    /varset MerchantNameC "Dray Cuves"
    /varset SkillMaxWanted 300
    /varset DelayMult 1

| ************************************************
| ************************************************

   /if (${FindItemCount[=Leather Padding]}<2 {
   /echo No Leather Padding
   /endmacro
}
    :start
    /echo Blacksmithing is at ${Me.Skill[Blacksmithing]}

    /if (${Me.Skill[Blacksmithing]}>=${SkillMaxWanted}) {
      /echo Blacksmithing is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }
    /if (${Me.Skill[Blacksmithing]}<115) /mac Smithing
    /if (${Me.Skill[Blacksmithing]}>179) /Mac Veliumbits
    /varset CompB "block of medium quality ore"
    /varset CompC "water flask"
    /varset CombItemName "MQFSM"
    /varset ItemTo "Medium Quality Folded Sheet Metal"

    /varset EndingVar 1
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /call Buy ${CompB} 10
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*2]}s

    /look
    /call GoToMerchantB

    /look
    /call GoToMerchantC
    /delay ${Math.Calc[${DelayMult}*2]}s
    /target ${MerchantNameC}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompC} 20
    /delay ${Math.Calc[${DelayMult}*1]}s
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*1]}s


    /call GotoForge
    /look
    /delay 1s
    /click left item
    /delay 2s
    /doevents
    /notify COMBW_RecipeListArea COMBW_RecipeList listselect ${Window[COMBW_RecipeListArea].Child[COMBW_RecipeList].List[Medium Quality Folded Sheet Metal]}
    /delay 2 
    /notify COMBW_RecipeListArea COMBW_RecipeList leftmouse ${Window[COMBW_RecipeListArea].Child[COMBW_RecipeList].List[Medium Quality Folded Sheet Metal]} 
    /delay 2s 
    

   :Begin 
       /if (${stop}==0) /call ClearCursor 

       /if (${stop}==0) /call DoCombine 

       /if (${stop}==0) /goto :Begin 
  
    /delay 1s 
    /call ClosePacks 
    /keypress esc 
    /keypress esc 

    /Echo Going to ${MerchantNameB}.
    /delay 1s
    /target ${MerchantNameB}
    /face
    :PullMoveLoopYY
    /if (${Me.State.Equal[SIT]}) /stand 
    /face nolook loc 61.29,273.63
    /if (${Math.Distance[61.29,273.63]}>2) /nomodkey /keypress forward hold 
    /if (${Math.Distance[61.29,273.63]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopYY
  :end
  /if (${Me.Skill[Blacksmithing]}>=115 && ${Me.Skill[Blacksmithing]}<164) {
           /varset CompA "plate visor mold"
           /varset CombItemName "FPV"
           /varset ItemTo "Fine Plate Visor"
    }
  /if (${Me.Skill[Blacksmithing]}>=163 && ${Me.Skill[Blacksmithing]}<180) {
           /varset CompA "plate helm mold"
           /varset CombItemName "FPH"
           /varset ItemTo "Fine Plate Helm"
    }
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompA} 10
    /keypress esc
    /varset stop 0
    /itemtarget "Forge"
    :PullMoveLoopZZ
    /if (${Me.State.Equal[SIT]}) /stand
    /face
    /if (${Target.Distance}>10) /nomodkey /keypress forward hold 
    /if (${Target.Distance}<=10) {
    /nomodkey /keypress forward
    /goto :end2
  }
  /goto :PullMoveLoopZZ
  :end2

    /look
    /delay 1s
    /click left item
    /delay 2s
    /doevents
    /notify COMBW_RecipeListArea COMBW_RecipeList listselect ${Window[COMBW_RecipeListArea].Child[COMBW_RecipeList].List[${ItemTo}]}
    /delay 2 
    /notify COMBW_RecipeListArea COMBW_RecipeList leftmouse ${Window[COMBW_RecipeListArea].Child[COMBW_RecipeList].List[${ItemTo}]} 
    /delay 2s 
    

   :Begin 
       /if (${stop}==0) /call ClearCursor 

       /if (${stop}==0) /call DoCombine 

       /if (${stop}==0) /goto :Begin 
  
    /delay 1s 

    /call GoToMerchantA
    /delay 1s 
    /target ${MerchantNameA} 
    /face 
    /delay 1s 
    /click right target 
    /delay 1s 
    /call OpenPacks 
    /delay 2s 
    /call Sell ${ItemTo} 
    /delay 1s
    /keypress esc
    /keypress esc 
    /goto :start

    /return



sub ClearCursor 
    :Loop 
      /if (!${Cursor.ID}) /return 
      /autoinv 
|      /destroy	
      /delay ${Math.Calc[${DelayMult}*5]}s
      /doevents 
      /goto :Loop 
    /return 

sub DoCombine 
    :Loop 
      
/notify TradeSkillWnd CombineButton leftmouseup 
/delay 10 
/notify TradeSkillWnd AutoInvButton leftmouseup 
/delay 5 
/notify TradeSkillWnd AutoInvButton leftmouseup
 
      /delay 1s 

      /doevents 

/if (${stop}==1) /return 

      /if (${Me.Skill[Blacksmithing]}>${OldSkill}) {
        /echo Your Blacksmithing Went Up!! It's now ${Me.Skill[Blacksmithing]}!
        /varset OldSkill ${Me.Skill[Blacksmithing]}
      }
/goto :Loop

/delay 5s

/return

Sub Event_CombineError 
    /varset EndingVar 2
/return 

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

Sub GoToMerchantA
  /echo Going to ${MerchantNameA}.
  :PullMoveLoopa
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 18.59,221.98
  /if (${Math.Distance[18.59,221.98]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[18.59,221.98]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopb
  }
  /goto :PullMoveLoopa
  /delay 1s
  :PullMoveLoopb
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 126.89,236.86
  /if (${Math.Distance[126.89,236.86]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[126.89,236.86]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopc
  }
  /goto :PullMoveLoopb
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 130.49,259.22
  /if (${Math.Distance[130.49,259.22]}>2) {
    /nomodkey /keypress forward hold
    /nomodkey /keypress USE
    /nomodkey /keypress USE
  }
  /if (${Math.Distance[130.49,259.22]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  /delay 1s
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 92.71,259.21
  /if (${Math.Distance[92.71,259.21]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[92.71,259.21]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopd
  :end
/return

Sub GoToMerchantB
  /echo Going to ${MerchantNameB}.
  :PullMoveLoopa
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 130.49,259.22
  /if (${Math.Distance[130.49,259.22]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[130.49,259.22]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopb
  }
  /goto :PullMoveLoopa
  :PullMoveLoopb
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 129.65,235.06
  /if (${Math.Distance[129.65,235.06]}>2) {
    /nomodkey /keypress forward hold 
    /nomodkey /keypress USE
  }
  /if (${Math.Distance[129.65,235.06]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopc
  }
  /goto :PullMoveLoopb
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 35.36,235.70
  /if (${Math.Distance[35.36,235.70]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[35.36,235.70]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 58.49,263.19
  /if (${Math.Distance[58.49,263.19]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[58.49,263.19]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopd
  :end
/return

Sub GoToMerchantC
  /echo Going to ${MerchantNameC}.
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -17.97,242.28
  /if (${Math.Distance[-17.97,242.28]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-17.97,242.28]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  /delay 1s
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -56.90,285.24
  /if (${Math.Distance[-56.90,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-56.90,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoope
  }
  /goto :PullMoveLoopd
  /delay 1s
  :PullMoveLoope
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -240.09,285.24
  /if (${Math.Distance[-240.09,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-240.09,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopf
  }
  /goto :PullMoveLoope
  /delay 1s
  :PullMoveLoopf
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -242.62,215.95
  /if (${Math.Distance[-242.62,215.95]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-242.62,215.95]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopi
  }
  /goto :PullMoveLoopf
/delay 1s
  :PullMoveLoopi
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -221.62,215.95
  /if (${Math.Distance[-221.62,215.95]}>2) {
	/nomodkey /keypress forward hold 
	/nomodkey /keypress USE
}
  /if (${Math.Distance[-221.62,215.95]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopg
  }
  /goto :PullMoveLoopi
  :PullMoveLoopg
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -220.54,176.45
  /if (${Math.Distance[-220.54,176.45]}>2) {
    /nomodkey /keypress forward hold 
   /goto :PullMoveLoopg
    }
  /if (${Math.Distance[-220.54,176.45]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLooph
  }
  /goto :PullMoveLoopg
  :PullMoveLooph
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -155.54,172.52
  /if (${Math.Distance[-155.54,172.52]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-155.54,172.52]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLooph
  :end
/return 

Sub GoToForge
  /varset stop 0 
  /echo Going to Forge.
  :PullMoveLoopa
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -55.54,189.52
  /if (${Math.Distance[-155.54,172.52]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-155.54,172.52]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopb
  }
  /goto :PullMoveLoopa
  /delay 1s
  :PullMoveLoopb
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -220.54,176.45
  /if (${Math.Distance[-220.54,176.45]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-220.54,176.45]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopc
  }
  /goto :PullMoveLoopb
  /delay 1s
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -215.14,215.85
  /if (${Math.Distance[-215.14,215.85]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-215.14,215.85]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -242.62,215.95
  /if (${Math.Distance[-242.62,215.95]}>2) {
    /nomodkey /keypress forward hold
    /nomodkey /keypress USE
  }
  /if (${Math.Distance[-242.62,215.95]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoope
  }
  /goto :PullMoveLoopd
  /delay 1s
  :PullMoveLoope
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -240.09,285.24
  /if (${Math.Distance[-240.09,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-240.09,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopf
  }
  /goto :PullMoveLoope
  /delay 1s
  :PullMoveLoopf
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -56.90,285.24
  /if (${Math.Distance[-56.90,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-56.90,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :forge
  }
  /goto :PullMoveLoopf
  :forge
  /itemtarget "Forge"
  :PullMoveLoopg
  /if (${Me.State.Equal[SIT]}) /stand
  /face
  /if (${Target.Distance}>10) /nomodkey /keypress forward hold 
  /if (${Target.Distance}<=10) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopg
  :end
/return 

Sub Event_Missing 
/echo Need More items to combine 
/varset stop 1 
/return 

Sub Event_End 
/echo Need More Leather Padding 
/end Mac 
/return
 
Seriously modified velium.mac

I have yet to try this in conjunction with smith2.mac or as a stand alone macro

that is tomorrow i hope


Rich (BB code):
| ----------------------------------------------------------------------------------------- 
| Modified VeliumBits.mac version 1.0 
| Created by IceIsFun
| Modified by Armysolder OCT 9 2005
|
| Modifications: included buy/sell/packs/cleanpacks
|                changed buy function
|                added zoning for use with Smithing and smithing2 macros
| 
| Features: 
| - Makes Enchanted Velium Bits until the character runs out of platinum, runs out of 
|   velium, or reaches 222 Blacksmithing skill. 
| 
| VeliumBits.mac usage: 
| 
| /mac VeliumBits 
| 
| NOTES/WARNINGS: 
| - This macro assumes you have Small Pieces of Velium (lots of them). 
| - This macro assumes you have enough plat to keep it going (~200pp per stack of velium). 
| - This macro assumes you remain in the first-person POV. 
| - This macro assumes you place your cursor near the center of the screen, where it won't 
|   click on any bags or items or item links, etc. 
| - This macro assumes you start it while standing next to the Forge in Thurgadin. 
| - If someone else is opening/closing doors, you may occasionally get stuck. Just press 
|   "u" (or click mouse) to open the door and continue as normal. 
| ----------------------------------------------------------------------------------------- 
#Event NL "#*#entered Nedaria'sLanding#*#
#Event BB "#*#entered Butcher#*#
#Event POK "#*#entered Plane of Knowledge#*#
#Event GD "#*#Great Divide#*#
#Event Thurg "#*#entered Thurgadin#*#
#Event Money "#*#you can't afford to buy#*#"

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

Sub Main 
   /doevents
   | Move to the Forge from the Bank. 
   /call BankToForge
   /if (${FindItemCount[=Small Piece of Velium]}<2 {
   /echo No Velium Bits
   /endmacro
}
   :MainLoop 

      | Move to Nimren Stonecutter from the Forge. 
      /delay 10s 
      /call ForgeToNimren 
    
      | Buy enough supplies for 20 Enchanted Velium Bit combines.
      /call GotBitStuff 
      /call BuyScrollandTemper 

      | Move to the Forge from Nimren Stonecutter. 
      /delay 10s 
      /call NimrenToForge 
    
      | Make Enchanted Velium Bits until supplies run out. 
      /call GotBitStuff 
      /if (${Macro.Return}<1) /goto :Done 
      /call OpenForge 
      /call CleanForge 
      :MakeBits 
         /call CleanForge 
         /call CombineEnchantedVeliumBits 
         /call GotBitStuff 
      /if (${Macro.Return}>0) /goto :MakeBits 
      :Done 

/goto :MainLoop 

/return 

| ------------------------------------------------- 
| BankToForge v1.0: Moves to the Forge from the 
| Thurgadin Bank. 
| ------------------------------------------------- 
Sub BankToForge 

/return 

| ------------------------------------------------- 
| ForgeToNimren v1.0: Moves to Nimren Stonecutter 
| from the Forge. 
| ------------------------------------------------- 
Sub ForgeToNimren 
   /call MoveToLoc -403.88 -129.62 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 0 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc -396.41 -130.19 
   /call MoveToLoc -326.55 -237.59 
   /call MoveToLoc -29.08 -281.69 
   /call MoveToLoc 3.03 -129.90 
   /call MoveToLoc 17.29 -121.12 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 0 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc 26.35 -120.13 
   /call MoveToLoc 43.50 -113.77 
/return 

| ------------------------------------------------- 
| NimrenToForge v1.0: Moves to the Forge from 
| Nimren Stonecutter. 
| ------------------------------------------------- 
Sub NimrenToForge 

   /call MoveToLoc 26.35 -120.13 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 180 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc 17.29 -121.12 
   /call MoveToLoc 3.03 -129.90 
   /call MoveToLoc -29.08 -281.69 
   /call MoveToLoc -326.55 -237.59 
   /call MoveToLoc -396.41 -130.19 

   | Open the door to tne Forge and wait 2 seconds. 
   /face fast heading 180 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc -403.88 -129.62 
   /call MoveToLoc -430.85 -113.74 

/return 

| ------------------------------------------------- 
| CleanForge v1.0: Removes all items from a forge. 
| ------------------------------------------------- 
Sub CleanForge 
   /declare ForgeSlot int local 0 
   /for ForgeSlot 1 to 10 
      /nomodkey /shiftkey /itemnotify enviro${ForgeSlot} leftmouseup 
      /delay 3 
      /autoinventory 
      /delay 2 
   /next ForgeSlot 
/return 

| ------------------------------------------------- 
| OpenForge v1.0: Opens the nearest Forge. 
| ------------------------------------------------- 
Sub OpenForge 
   /if (${Merchant.Open}) /nomodkey /notify MerchantWnd DoneButton leftmouseup 
   /if (${Window[Enviro].Open}) /nomodkey /notify Enviro DoneButton leftmouseup 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
   :OpeningForge 
   /itemtarget "Forge" 
   /click left item 
   /delay 1s 
   /if (${Window[TradeskillWnd].Open}) { 
      /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
      /return 
   } 
   /delay 30s 
   /goto :OpeningForge 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
/return 

| ------------------------------------------------- 
| BuyScrollandTemper v1.0: Buys ore for 20 Metal Ring combines. 
| ------------------------------------------------- 
Sub BuyScrollandTemper 
   
   | Open MerchantWnd with Numren Stonecutter 
   /if (${Window[Enviro].Open}) /notify Enviro DoneButton leftmouseup 
   /target Nimren Stonecutter 
   /nomodkey /click right target 
   /call Buy "Spell: Enchant Velium" ${Combines} 
   /call Buy "Coldain Velium Temper" ${Combines}
 /keypress esc
 /keypress esc
/return 

| ------------------------------------------------- 
| GotBitStuff v1.0: Gets count of velium bits.. for buying scrolls and temper
| ------------------------------------------------- 
Sub GotBitStuff 
   /declare Combines int local 0 

   /varset Combines ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int}

/return ${Combines} 

| ------------------------------------------------- 
| CombineEnchantedVeliumBits 
| ------------------------------------------------- 
Sub CombineEnchantedVeliumBits 
   /call OpenPacks 
   /nomodkey /ctrl /itemnotify ${FindItem[=Spell: Enchant Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro1]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Coldain Velium Temper].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro2]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Small Piece of Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro3]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Small Piece of Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro4]} leftmouseup 
   /delay 3 
   /combine Enviro 
   /delay 2 
   /destroy 
   /delay 5 
   /destroy 
   /delay 5 
   /destroy 
/return 

| ------------------------------------------------- 
| Move to Location Loop 
| ------------------------------------------------- 
Sub MoveToLoc(float MoveToY,float MoveToX) 
   :MoveToLoop 
      /face fast nolook loc ${MoveToY},${MoveToX} 
      /if (${Math.Distance[${MoveToY},${MoveToX}]}>2) /keypress forward hold 
      /if (${Math.Distance[${MoveToY},${MoveToX}]}<=2) {
         /keypress forward 
         /goto :Arrived 
      }
   /goto :MoveToLoop 
   :Arrived 
/return 

Sub Event_FH
/target Magus
/warp target
/say Butcherblock
/return

Sub Event_BB
/zone Poknowledge
/return

Sub Event_POK
/zone Greatdivide
/return

Sub Event_GD
/zone Thurgadina
/return

Sub Event_Thurg
/itemtarget "Forge"
/warp target
/keypress forward
/keypress forward
/face
/return

Sub Event_Money
/echo your Broken
/echo Get Mo Money
/endmacro
/return
 
quick side note

if anyone sees a reason to do fine plate to 188 .. pls let me know .. and i can change smithing2 adding it is easy...

i just figured it would prob be smarter to just go to velium bits.





Future Plans:

1. have smithing2.mac take us to 300
2. finish the veliumhunter.mac and incorporate veliumbits.mac into it
3. work out the bugs you all and I find 8-)
 
I'll try out your velium bits macro hopefully tomorrow, Armysoldier. I have hundreds of small pieces of velium in my bank that I intended on using to raise my smithing, but I never got around to it.

On a random side note, aren't you on the Drinal server? Maybe we can group up sometime! :D
 
For going 300+, maybe we could come up with a macro that checks your inventory for magnetized armors to turn into bricks, then when a certain number of bricks is obtained, it will use your remaining magnetic armor to do combines. If we could find a good source of Lighting Cores, we could make some serious cash with it.

Just an idea.
 
armysoldier said:
quick side note

if anyone sees a reason to do fine plate to 188 .. pls let me know .. and i can change smithing2 adding it is easy...

i just figured it would prob be smarter to just go to velium bits.





Future Plans:

1. have smithing2.mac take us to 300
2. finish the veliumhunter.mac and incorporate veliumbits.mac into it
3. work out the bugs you all and I find 8-)


Thanks a tom for this, I wanted to finish smithing but hated the farming bazaar for parts to take me past 178..... look forward to the next version,

I dont mond spemding 20k to move up in skills, just hate all the clicking cant wait to try this

Have a great day and tahnks again

Mrtyler
 
I heard that all of the pieces for the mistletoe cutting sickles could be baught from vendors. Is that true? They trivial at ~300 or so dont they?
 
Not sure if this was answered yet, but can u skill up with veluim bits after a combine in the inventory? when ran this is combined and said had one lore in inventory, I seem to remember that it wont mater if u can only have 1 combine already done, that it will still give the skill ups. Am I right in that?
 
The way it used to work was once you had one in your inventory it would auto destroy any more you made. Which was nice you could just hit the combine button over and over. But now there is a check and it wont combine if you have on in your inventory. Its supposed to be a protection so you dont wast a combine. The Fact that spells stack make up for having to destory the bits each combine.
 
gonna be running this today .. from start to finish.. using veliumbits.inc also .. will let you know results

8-)
 
Ok thanks for the info, what i tries was just the combine macro, all I do is get the ts window up and click on the recipe and type /mac combine it will combine and auto inventory very fast, but I was worried about the skill up part with the lore combine in, so just combined it manualy and destroyed every time i was succesfull
 
put the closing parenthesis in..

My problem is the pathing after the last NPC, headed to the forge.
 
p00n said:
put the closing parenthesis in..

My problem is the pathing after the last NPC, headed to the forge.

I had this problem about a third of the time in Smithing part 1. Toon would turn right instead of left and head straight into the wall.
 
soon as i get a bit of time.. gonna rework TS macros .. make them a bit easier 8-)

i will try to look at this tonight or tomorrow .. get the quick fix

8-)
 
morlock said:
I heard that all of the pieces for the mistletoe cutting sickles could be baught from vendors. Is that true? They trivial at ~300 or so dont they?
They are very pricy but that is a easy non farming way to skill up. If you have the plat I'd suggest doing it that way :P
 
Tone said:
They are very pricy but that is a easy non farming way to skill up. If you have the plat I'd suggest doing it that way :P

What about the imbued emeralds though? They seem a major part of the whole thing and only lvl 29 clerics & Druids who worship Tunare can make them.
 
it is about 350pp per combine for each sickle just fyi ... i worked it out

yes all pieces can be bought in abysmal sea except mistletoe and of course the imbued emerald

i am finishing up fixing smithing2 mac... then i have a mistletoe mac that will get tweaked and posted also

8-)
 
Armysoldier,

I just tried running your veliumbits macro, but it won't initiate. When I run the mac, I get the following message:

evb.mac@45 /if (${FindItemCount[=Small Piece of Velium]}<2 {
The current macro has ended
Usage: /if (<conditions>) <command>

I'll try tinkering with it a bit and see if I can't work it out.

___

I comented those lines out (I'll make another event later to parse for not having the right items until I can figure out what's wrong with the above lines). Now the macro paths you to the different NPCs, but does not buy the items. I'll have to hunt around for an updated buy.inc. I'm using the one that redbot posted a long while ago. According to the file, its from September 2004.
 
ensure

Velium]}<2 { has a space between it ...

i will be looking at the code soon...

i am finishing smithing2 and mistletoe macs atm
 
Yes, there is a space between 2 and { in the macro. Would you mind posting an updated buy.inc? I'm browing the MQ2 boards, and the only one I've found thus far is identicle to the one I have.
 
Thanks Army.

Next time I'll search RG first. I found an updated buy.inc but items are still not being purchased. I can an error stating that Coldain Velium Temper and the other items could not be found. I'll continue to tinker with it.
 
i posted a zip with the common files i use.. and they work ...

soon as i get smithing2 finished i will jump over to thurg and fix veliumbits

8-)
 
Right on.

I'm making a bit of progress with veliumbits.mac. I added a delay after you open the merchant window before you attempt to buy items, so now I no longer get the "Could not find item" error. Now, it looks like the macro clicks on the items it wants to buy, but does not purchase them. I wonder if it has to do with the fact that they recently changed the merchant window to add a button. I'll play with that for a bit.


Hey, if you happen to zone in to Thurg in the near future, I'd recommend shooting a tell to a lvl 70 shaman in there. ;)
 
I think I see one of the reasons why the velium is not being purchased. Looking in the MQ window, I get a message saying "Buying Coldain Velium temper until I get 0". So, I suppose the macro is buying the number of tempers its after. I went and looked at what the variable ${Combines} does. Do you think that maybe that the macro does not recognize that I have the "Small Piece of Velium" in my bag?

Back to the drawing board!
 
try this code.. when ice wrote this.. spells did not stack ...

this is code i had modified for veliumhunter.. but never tested

sorry i had copied this from the ini... and forgot to change the Sub back to main

Rich (BB code):
| ----------------------------------------------------------------------------------------- 
| Modified VeliumBits.mac version 1.0 
| Created by IceIsFun
| Modified by Armysolder OCT 9 2005
|
| Modifications: included buy/sell/packs/cleanpacks
|                changed buy function
|                added zoning for use with Smithing and smithing2 macros
| 
| Features: 
| - Makes Enchanted Velium Bits until the character runs out of platinum, runs out of 
|   velium, or reaches 222 Blacksmithing skill. 
| 
| VeliumBits.mac usage: 
| 
| /mac VeliumBits 
| 
| NOTES/WARNINGS: 
| - This macro assumes you have Small Pieces of Velium (lots of them). 
| - This macro assumes you have enough plat to keep it going (~200pp per stack of velium). 
| - This macro assumes you remain in the first-person POV. 
| - This macro assumes you place your cursor near the center of the screen, where it won't 
|   click on any bags or items or item links, etc. 
| - This macro assumes you start it while standing next to the Forge in Thurgadin. 
| - If someone else is opening/closing doors, you may occasionally get stuck. Just press 
|   "u" (or click mouse) to open the door and continue as normal. 
| ----------------------------------------------------------------------------------------- 
#Event Thurg "#*#entered Thurgadin#*#
#Event Money "#*#you can't afford to buy#*#"

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

Sub Main
   /doevents
   | Move to the Forge from the Bank. 
   /call BankToForge
   /if (${FindItemCount[=Small Piece of Velium]}<2) {
   /echo No Velium Bits
   /endmacro
}
   :MainLoop 

      | Move to Nimren Stonecutter from the Forge. 
      /delay 10s 
      /call ForgeToNimren 
    
      | Buy enough supplies for 20 Enchanted Velium Bit combines.
      /call GotBitStuff 
      /call BuyScrollandTemper 

      | Move to the Forge from Nimren Stonecutter. 
      /delay 10s 
      /call NimrenToForge 
    
      | Make Enchanted Velium Bits until supplies run out. 
      /call GotBitStuff 
      /if (${Macro.Return}<1) /goto :Done 
      /call OpenForge 
      /call CleanForge 
      :MakeBits 
         /call CleanForge 
         /call CombineEnchantedVeliumBits 
         /call GotBitStuff 
      /if (${Macro.Return}>0) /goto :MakeBits 
      :Done 

/goto :MainLoop 

/return 

| ------------------------------------------------- 
| BankToForge v1.0: Moves to the Forge from the 
| Thurgadin Bank. 
| ------------------------------------------------- 
Sub BankToForge 

/return 

| ------------------------------------------------- 
| ForgeToNimren v1.0: Moves to Nimren Stonecutter 
| from the Forge. 
| ------------------------------------------------- 
Sub ForgeToNimren 
   /call MoveToLoc -403.88 -129.62 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 0 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc -396.41 -130.19 
   /call MoveToLoc -326.55 -237.59 
   /call MoveToLoc -29.08 -281.69 
   /call MoveToLoc 3.03 -129.90 
   /call MoveToLoc 17.29 -121.12 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 0 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc 26.35 -120.13 
   /call MoveToLoc 43.50 -113.77 
/return 

| ------------------------------------------------- 
| NimrenToForge v1.0: Moves to the Forge from 
| Nimren Stonecutter. 
| ------------------------------------------------- 
Sub NimrenToForge 

   /call MoveToLoc 26.35 -120.13 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 180 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc 17.29 -121.12 
   /call MoveToLoc 3.03 -129.90 
   /call MoveToLoc -29.08 -281.69 
   /call MoveToLoc -326.55 -237.59 
   /call MoveToLoc -396.41 -130.19 

   | Open the door to tne Forge and wait 2 seconds. 
   /face fast heading 180 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc -403.88 -129.62 
   /call MoveToLoc -430.85 -113.74 

/return 

| ------------------------------------------------- 
| CleanForge v1.0: Removes all items from a forge. 
| ------------------------------------------------- 
Sub CleanForge 
   /declare ForgeSlot int local 0 
   /for ForgeSlot 1 to 10 
      /nomodkey /shiftkey /itemnotify enviro${ForgeSlot} leftmouseup 
      /delay 3 
      /autoinventory 
      /delay 2 
   /next ForgeSlot 
/return 

| ------------------------------------------------- 
| OpenForge v1.0: Opens the nearest Forge. 
| ------------------------------------------------- 
Sub OpenForge 
   /if (${Merchant.Open}) /nomodkey /notify MerchantWnd DoneButton leftmouseup 
   /if (${Window[Enviro].Open}) /nomodkey /notify Enviro DoneButton leftmouseup 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
   :OpeningForge 
   /itemtarget "Forge" 
   /click left item 
   /delay 1s 
   /if (${Window[TradeskillWnd].Open}) { 
      /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
      /return 
   } 
   /delay 30s 
   /goto :OpeningForge 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
/return 

| ------------------------------------------------- 
| BuyScrollandTemper v1.0: Buys ore for 20 Metal Ring combines. 
| ------------------------------------------------- 
Sub BuyScrollandTemper 
   
   | Open MerchantWnd with Numren Stonecutter 
   /if (${Window[Enviro].Open}) /notify Enviro DoneButton leftmouseup 
   /target Nimren Stonecutter 
   /nomodkey /click right target 
   /call Buy "Spell: Enchant Velium" ${Combines} 
   /call Buy "Coldain Velium Temper" ${Combines}
 /keypress esc
 /keypress esc
/return 

| ------------------------------------------------- 
| GotBitStuff v1.0: Gets count of velium bits.. for buying scrolls and temper
| ------------------------------------------------- 
Sub GotBitStuff 
   /declare Combines int local 0 

   /varset Combines [${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int}]

/return ${Combines} 

| ------------------------------------------------- 
| CombineEnchantedVeliumBits 
| ------------------------------------------------- 
Sub CombineEnchantedVeliumBits 
   /call OpenPacks 
   /nomodkey /ctrl /itemnotify ${FindItem[=Spell: Enchant Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro1]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Coldain Velium Temper].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro2]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Small Piece of Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro3]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Small Piece of Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro4]} leftmouseup 
   /delay 3 
   /combine Enviro 
   /delay 2 
   /destroy 
   /delay 5 
   /destroy 
   /delay 5 
   /destroy 
/return 

| ------------------------------------------------- 
| Move to Location Loop 
| ------------------------------------------------- 
Sub MoveToLoc(float MoveToY,float MoveToX) 
   :MoveToLoop 
      /face fast nolook loc ${MoveToY},${MoveToX} 
      /if (${Math.Distance[${MoveToY},${MoveToX}]}>2) /keypress forward hold 
      /if (${Math.Distance[${MoveToY},${MoveToX}]}<=2) {
         /keypress forward 
         /goto :Arrived 
      }
   /goto :MoveToLoop 
   :Arrived 
/return 

Sub Event_Thurg
/itemtarget "Forge"
/warp target
/keypress forward
/keypress forward
/face
/return

Sub Event_Money
/echo your Broken
/echo Get Mo Money
/endmacro
/return
 
Last edited:
I just tried it out. The original author didn't have a Sub Main, so I changed Sub VeliumBits to Sub Main. However, I still have the same problem. It still says that it will buy <whatever item> til it has purchased 0 of them. I'm still thinking that the macro isn't recognizing that I have the velium in my bags.
 
whats the exact name of the small piece...

Small Piece of Velium is that right?

if not .. then a find and replace for correct name should fix it
 
I checked that already. The name is right.

Here's something interesting, though. I copied the following line from the macro and pasted it in EQ to send to a friend.

/varset Combines ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int}

When the tell went through, all he got was: /varset Combines 100

So, the macro can most definitely see that I have 200 Small Pieces of Velium in my inventory. It looks like the variable isn't being fed properly to the BuyScrollandTemper sub. Maybe we can include the variable definition in the BuyScrollandTemper sub to you don't have to do two calls.


***Edit***

I did what I mentioned above to make the sub look like this:
Rich (BB code):
| ------------------------------------------------- 
| BuyScrollandTemper v1.0: Buys ore for 20 Metal Ring combines. 
| ------------------------------------------------- 
Sub BuyScrollandTemper

 /declare Combines int local 0 

   /varset Combines ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int} 
   
   | Open MerchantWnd with Numren Stonecutter 
   /if (${Window[Enviro].Open}) /notify Enviro DoneButton leftmouseup 
   /target Nimren Stonecutter 
   /nomodkey /click right target 
   /delay 3s
   /call Buy "Spell: Enchant Velium" ${Combines} 
   /call Buy "Coldain Velium Temper" ${Combines}
 /keypress esc
 /keypress esc
/return

Now the macro properly bought all of the components I needed. It pathed back to the forge, then I got an error saying: the GotBitStuff subroutine wasn't found. That makes sense since I comented it out. I'll keep on playing with it and see what I can make happen.
 
Last edited:
try adding [ ] around ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int}

and that should fix it... i think .. on the original mac i posted above..
 
changed and colored red in mac above..

my toon needs to hurry and hit 188 smithing so he can jump to Thurg and work this out 8-)
 
Hey, I think I have it working. I'll do one more test run, then clean up all the random stuff I commented out and post the macro here. My head is pounding from trying all this stuff out, but it sure is fun!
 
Updated and working just fine for me. I have the macro running in the background right now and I've already gone from 176 to 196. Hope this helps.

Rich (BB code):
| ----------------------------------------------------------------------------------------- 
| Modified VeliumBits.mac version 1.0 
| Created by IceIsFun
| Modified by Armysolder OCT 9 2005
| Tweaked by Moonspell NOV 14 2005
|
| Modifications: included buy/sell/packs/cleanpacks
|                changed buy function
|                added zoning for use with Smithing and smithing2 macros
| 
| Features: 
| - Makes Enchanted Velium Bits until the character runs out of platinum, runs out of 
|   velium, or reaches 222 Blacksmithing skill. 
| 
| VeliumBits.mac usage: 
| 
| /mac VeliumBits 
| 
| NOTES/WARNINGS: 
| - This macro assumes you have Small Pieces of Velium (lots of them). 
| - This macro assumes you have enough plat to keep it going (~200pp per stack of velium). 
| - This macro assumes you remain in the first-person POV. 
| - This macro assumes you place your cursor near the center of the screen, where it won't 
|   click on any bags or items or item links, etc. 
| - This macro assumes you start it while standing next to the Forge in Thurgadin. 
| - If someone else is opening/closing doors, you may occasionally get stuck. Just press 
|   "u" (or click mouse) to open the door and continue as normal. 
| ----------------------------------------------------------------------------------------- 
#Event NL "#*#entered Nedaria'sLanding#*#
#Event BB "#*#entered Butcher#*#
#Event POK "#*#entered Plane of Knowledge#*#
#Event GD "#*#Great Divide#*#
#Event Thurg "#*#entered Thurgadin#*#
#Event Money "#*#you can't afford to buy#*#"
#Event NoMaterials "#*#You must place items in this object in order to create something new#*#"
#Event CannotCombine "#*#You cannot combine these items in this container type#*#"
#Event Trivialized "#*#You have become better at blacksmithing (222)#*#"
|----Change this number to whatever skill you'd like to stop at ^^^

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

Sub Main 
   /echo <<< Enchanted Velium Bits Macro Initiated >>>
   /doevents
|   Move to the Forge from the Bank. 
|   /call BankToForge
|   /if (${FindItemCount[=Small Piece of Velium]}<2 {
|   /echo No Velium Bits
|   /endmacro
|}
   :MainLoop 

      | Move to Nimren Stonecutter from the Forge. 
      /delay 10s 
      /call ForgeToNimren 
    
      | Buy enough supplies for 20 Enchanted Velium Bit combines.

      /call BuyScrollandTemper 

      | Move to the Forge from Nimren Stonecutter. 
      /delay 10s 
      /call NimrenToForge 
    
      | Make Enchanted Velium Bits until supplies run out. 

      /call OpenForge 
      /call CleanForge 
      :MakeBits 
         /call CleanForge 
         /call CombineEnchantedVeliumBits 
         /if (${Macro.Return}>0) /goto :MakeBits 
      :Done 

/goto :MainLoop 

/return 

| ------------------------------------------------- 
| BankToForge v1.0: Moves to the Forge from the 
| Thurgadin Bank. 
| ------------------------------------------------- 
Sub BankToForge 

/return 

| ------------------------------------------------- 
| ForgeToNimren v1.0: Moves to Nimren Stonecutter 
| from the Forge. 
| ------------------------------------------------- 
Sub ForgeToNimren 
   /call MoveToLoc -403.88 -129.62 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 0 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc -396.41 -130.19 
   /call MoveToLoc -326.55 -237.59 
   /call MoveToLoc -29.08 -281.69 
   /call MoveToLoc 3.03 -129.90 
   /call MoveToLoc 17.29 -121.12 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 0 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc 26.35 -120.13 
   /call MoveToLoc 43.50 -113.77 
/return 

| ------------------------------------------------- 
| NimrenToForge v1.0: Moves to the Forge from 
| Nimren Stonecutter. 
| ------------------------------------------------- 
Sub NimrenToForge 

   /call MoveToLoc 26.35 -120.13 

   | Open the door to Nimren and wait 2 seconds. 
   /face fast heading 180 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc 17.29 -121.12 
   /call MoveToLoc 3.03 -129.90 
   /call MoveToLoc -29.08 -281.69 
   /call MoveToLoc -326.55 -237.59 
   /call MoveToLoc -396.41 -130.19 

   | Open the door to tne Forge and wait 2 seconds. 
   /face fast heading 180 
   /look 0 
   /click left 
   /delay 2s 

   /call MoveToLoc -403.88 -129.62 
   /call MoveToLoc -430.85 -113.74 

/return 

| ------------------------------------------------- 
| CleanForge v1.0: Removes all items from a forge. 
| ------------------------------------------------- 

   /declare Combines int local 0 

   /varset Combines ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int}

Sub CleanForge 
   /declare ForgeSlot int local 0 
   /for ForgeSlot 1 to 10 
      /nomodkey /shiftkey /itemnotify enviro${ForgeSlot} leftmouseup 
      /delay 3 
      /autoinventory 
      /delay 2 
   /next ForgeSlot 
/return 

| ------------------------------------------------- 
| OpenForge v1.0: Opens the nearest Forge. 
| ------------------------------------------------- 
Sub OpenForge 

   /declare Combines int local 0 

   /varset Combines ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int}

   /if (${Merchant.Open}) /nomodkey /notify MerchantWnd DoneButton leftmouseup 
   /if (${Window[Enviro].Open}) /nomodkey /notify Enviro DoneButton leftmouseup 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
   :OpeningForge 
   /itemtarget "Forge" 
   /click left item 
   /delay 1s 
   /if (${Window[TradeskillWnd].Open}) { 
      /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
      /return 
   } 
   /delay 30s 
   /goto :OpeningForge 
   /if (${Window[TradeskillWnd].Open}) /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup 
/return 

| ------------------------------------------------- 
| BuyScrollandTemper v1.0: Buys ore for 20 Metal Ring combines. 
| ------------------------------------------------- 
Sub BuyScrollandTemper

   /declare Combines int local 0 

   /varset Combines ${Math.Calc[${FindItemCount[=Small Piece of Velium]}/2].Int} 
   
   | Open MerchantWnd with Numren Stonecutter 
   /if (${Window[Enviro].Open}) /notify Enviro DoneButton leftmouseup 
   /target Nimren Stonecutter 
   /nomodkey /click right target 
   /delay 3s
   /call Buy "Spell: Enchant Velium" ${Combines} 
   /call Buy "Coldain Velium Temper" ${Combines}
 /keypress esc
 /keypress esc
 /delay 3s
/return 


| ------------------------------------------------- 
| CombineEnchantedVeliumBits 
| ------------------------------------------------- 
Sub CombineEnchantedVeliumBits 
   /call OpenPacks 
   /nomodkey /ctrl /itemnotify ${FindItem[=Spell: Enchant Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro1]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Coldain Velium Temper].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro2]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Small Piece of Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro3]} leftmouseup 
   /nomodkey /ctrl /itemnotify ${FindItem[=Small Piece of Velium].InvSlot} leftmouseup 
   /nomodkey /itemnotify ${InvSlot[enviro4]} leftmouseup 
   /delay 3 
   /combine Enviro 
   /doevents
   /delay 2 
   /doevents
   /destroy 
   /delay 5 
   /destroy 
   /delay 5 
   /destroy 
   /doevents
/return 

| ------------------------------------------------- 
| Move to Location Loop 
| ------------------------------------------------- 
Sub MoveToLoc(float MoveToY,float MoveToX) 
   :MoveToLoop 
      /face fast nolook loc ${MoveToY},${MoveToX} 
      /if (${Math.Distance[${MoveToY},${MoveToX}]}>2) /keypress forward hold 
      /if (${Math.Distance[${MoveToY},${MoveToX}]}<=2) {
         /keypress forward 
         /goto :Arrived 
      }
   /goto :MoveToLoop 
   :Arrived 
/return 

Sub Event_FH
/target Magus
/warp target
/say Butcherblock
/return

Sub Event_BB
/zone Poknowledge
/return

Sub Event_POK
/zone Greatdivide
/return

Sub Event_GD
/zone Thurgadina
/return

Sub Event_Thurg
/itemtarget "Forge"
/warp target
/keypress forward
/keypress forward
/face
/return

Sub Event_Money
/echo your Broken
/echo Get Mo Money
/endmacro
/return

Sub Event_NoMaterials
/echo <<< You're out of materials >>>
/delay 1s
/echo <<< Moving you away from the Forge >>>
/delay 1s
/tar Dalgrim
/face
/delay 2s
/stick 1
/delay 3s
/tar Caitlin
/face
/delay 2s
/stick 1
/delay 3s
/stick off
/face heading 0
/delay 2s
/echo <<< Ending the macro >>>
/delay 2s
/endmacro

Sub Event_CannotCombine
/echo <<< You're out of materials >>>
/delay 1s
/echo <<< Moving you away from the Forge >>>
/delay 1s
/tar Dalgrim
/face
/delay 2s
/stick 1
/delay 3s
/tar Caitlin
/face
/delay 2s
/stick 1
/delay 3s
/stick off
/face heading 0
/delay 2s
/echo <<< Ending the macro >>>
/delay 2s
/endmacro

Sub Event_Trivialized
/echo <<< You've reached your target skill level >>>
/delay 1s
/echo <<< Moving you away from the Forge >>>
/delay 1s
/tar Dalgrim
/face
/delay 2s
/stick 1
/delay 3s
/tar Caitlin
/face
/delay 2s
/stick 1
/delay 3s
/stick off
/face heading 0
/delay 2s
/echo <<< Ending the macro >>>
/delay 2s
/endmacro
 
Last edited:
Here's what I remember changing over the past few hours:

Removed code from the start of the macro that would cause it to crash when initiated.

Corrected issue with the GotBitStuff subroutine that caused you to not purchase any materials (since the variable wasn't being properly stored, buy.inc would want to buy 0 materials of each type)

Got rid of all instances of /call GotBittStuff since it no longer exists (I just moved its contents to each sub routine that called for that particular variable)

Added a couple of delays in various spaces to aid in door operations. Especially when only buying a couple of materials, the door would be closing as I turned around to leave and I would be stuck there until I hit U to operate the door.

Added a new subroutine that automatically moves you away from the forge after you've gone through all of your velium. Before I added this, I would just stay at the forge and continue to attempt to make combines though I had no materials; keeping the forge locked down so others couldn't use it.

Added a new subroutine that automatically moves you away from the forge and ends the macro if you are down to just one piece of velium. Without this, the macro would endlessly try to do combines without the materials it needs.

Added a new subroutine that automatically moves you away from the forge and ends the macro if you reach 222 Blacksmithing skill (or whatever skill level you define in the macro).
 
Last edited:
AFK Smithing Part 2

Users who are viewing this thread

Back
Top
Cart