C
Ccomp5950
I've left in the colorful :goto statement in here but here is my "GenTradeSkills.mac"
Why did I make this? Because using the new tradeskill UI isn't compatible with MQ2superstacker.
What do you do?
1.) Open up the tradeskill container (Enviro or make it pack8 in your inventory)
2.) Select the item you want to make and run the macro.
3.) It reads the tradeskill window and sets the items into the array and starts making the combines and makes the item until you run out of materials using the oldschool UI window.
4.) If you are using the enviro container such as a forge or a loom, set:
/declare enviro bool outer TRUE
if you are using a container in your inventory set:
/declare enviro bool outer FALSE
I'm very careful when I use this that I don't close the container with more then a regular stack on it (especially if enviro) if for some reason the macro goes haywire and throws an entire stack in the container DO NOT CLOSE THE CONTAINER. You WILL crash to desktop and lose your stuff. End the macro and manually move it back into your inventory.
Why did I make this? Because using the new tradeskill UI isn't compatible with MQ2superstacker.
What do you do?
1.) Open up the tradeskill container (Enviro or make it pack8 in your inventory)
2.) Select the item you want to make and run the macro.
3.) It reads the tradeskill window and sets the items into the array and starts making the combines and makes the item until you run out of materials using the oldschool UI window.
4.) If you are using the enviro container such as a forge or a loom, set:
/declare enviro bool outer TRUE
if you are using a container in your inventory set:
/declare enviro bool outer FALSE
Rich (BB code):
Sub Main
/declare enviro bool outer TRUE
/declare combinetimer timer outer 0
/declare Component[10] string outer
/declare NumComp[10] int outer
/declare NumberofComponents int outer
/declare TSitem int outer
/declare x int outer
/declare y int outer 0
/declare z int outer
/declare a int outer
/declare b int outer
/for x 9 downto 0
/if (${Window[TradeSkillWnd].Child[Combw_ContainerArea].Child[Combw_ComponentArea].Child[Combw_RequiredIcon${x}].BGColor.Int}<=-999) {
/if (${y}!=0) {
/if (${Window[TradeSkillWnd].Child[Combw_ContainerArea].Child[Combw_ComponentArea].Child[Combw_RequiredIcon${x}].Tooltip.Equal[${Component[${y}]}]}) {
/varcalc NumComp[${y}] ${NumComp[${y}]}+1
/echo Found ${Component[${y}]} x ${NumComp[${y}]}
/goto :dupe
}
}
/varcalc y ${y}+1
/varset Component[${y}] ${Window[TradeSkillWnd].Child[Combw_ContainerArea].Child[Combw_ComponentArea].Child[Combw_RequiredIcon${x}].Tooltip}
/varset NumComp[${y}] 1
/echo Found ${Component[${y}]} x ${NumComp[${y}]}
/varcalc NumberofComponents ${NumberofComponents}+1
}
:dupe
/next x
/notify TradeSkillWnd Combw_ExperimentButton LeftMouseUp
/if (${InvSlot[22].Item.Container} && !${Window[pack1].Open}) /itemnotify 22 rightmouseup
/if (${InvSlot[23].Item.Container} && !${Window[pack2].Open}) /itemnotify 23 rightmouseup
/if (${InvSlot[24].Item.Container} && !${Window[pack3].Open}) /itemnotify 24 rightmouseup
/if (${InvSlot[25].Item.Container} && !${Window[pack4].Open}) /itemnotify 25 rightmouseup
/if (${InvSlot[26].Item.Container} && !${Window[pack5].Open}) /itemnotify 26 rightmouseup
/if (${InvSlot[27].Item.Container} && !${Window[pack6].Open}) /itemnotify 27 rightmouseup
/if (${InvSlot[28].Item.Container} && !${Window[pack7].Open}) /itemnotify 28 rightmouseup
/if (${InvSlot[29].Item.Container} && !${Window[pack8].Open}) /itemnotify 29 rightmouseup
/delay 2s
:main
/varset TSitem ${If[${enviro},1,332]}
/for z 1 to ${NumberofComponents}
/for a 1 to ${NumComp[${z}]}
/nomod /ctrl /itemnotify ${FindItem[=${Component[${z}]}].InvSlot} leftmouseup
/itemnotify ${If[${enviro},enviro${TSitem},${TSitem}]} leftmouseup
/varcalc TSitem ${TSitem}+1
/next a
/next z
/delay 1s
/call combine
/delay 1s ${Cursor.ID}
:smallloop
/autoinv
/delay 2
/if (${Cursor.ID}) /goto :smallloop
/for b 1 to ${NumberofComponents}
/if (${FindItemCount[=${Component[${b}]}]}<${NumComp[${b}]}) /call Wedone
/next b
/goto :main
/return
Sub combine
:waitmofucker
/delay 1
/if (${combinetimer}) /goto :waitmofucker
/if (${InvSlot[${If[${enviro},enviro1,332]}].Item.ID}) /combine ${If[${enviro},enviro,pack8]}
/delay 1
/if (${InvSlot[${If[${enviro},enviro1,332]}].Item.ID}) /goto :waitmofucker
/varset combinetimer 1s
/return
Sub Wedone
/echo Ran out of ${Component[${b}]}
/cleanup
/endmacro
/return
I'm very careful when I use this that I don't close the container with more then a regular stack on it (especially if enviro) if for some reason the macro goes haywire and throws an entire stack in the container DO NOT CLOSE THE CONTAINER. You WILL crash to desktop and lose your stuff. End the macro and manually move it back into your inventory.

