SMM's Public Skill Training Macros

Slovy

Neophyte
These macros were made for UOR era servers where the best method of training is in a dungeon. But watch out! There is always the chance of a red walking around and preying on AFK macro'ers for regs and supplies. Because of this, these are not intended to be fully AFK and therefore do not have restock agents with them.

Feel free to post a message of any requests or bugs or anything you might have.

As I do more, I will update this post.

Current macros include:

Alchemy
Anatomy
Arms Lore
Begging
Carpentry
Cartography (Thanks Roshambo)
Cooking
Blacksmithy
Evaluating Intelligence
Fishing
Healing
Hiding
Hiding + Snooping
Inscription
Item Identification
Magery
Magery + Resist
Musicianship
Peacemaking
Poisoning
Resist (Other)
Resist (Self)
Snooping
Stealing
Stealth
Tailoring
Tinkering


Or, if you would prefer, I've included a UOS profile that has everything already in it! Simply download the profile and throw it in the Profiles folder!
(mega.nz is a 2048-bit encripted cloud service. If you don't trust the link thats fine! Just do research before accusation.)


https://mega.nz/#!Khkwyagb!bGsDh0lxdRyJhlRDAoC8a4W9cfiMa1UTZBh2xnoI21A

--------------------------------------------------
Alchemy
Code:
////////////////////////////////////
// This macro is designed for   
// training alchemy from 30. Have
// 5 empty kegs on you and a lot
// of mortars and pestals. This
// macro only makes PVP worthy
// potions to minimize waste. 
//                                                 
// Turn on loop and click play!
//                                                
// ~~Made by kdivers~~        
////////////////////////////////////

if skill 'alchemy' < 60 and not @findobject 'TR'

headmsg 'Select Total Refresh Keg'

promptalias 'TR'

endif

if skill 'alchemy' < 70 and not @findobject 'GA'

headmsg 'Select Greater Agility Keg'

promptalias 'GA'

endif

if skill 'alchemy' < 80 and not @findobject 'GS'

headmsg 'Select Greater Strength Keg'

promptalias 'GS'

endif

if skill 'alchemy' < 90 and not @findobject 'GH'

headmsg 'Select Greater Heal Keg'

promptalias 'GH'

endif

if skill 'alchemy' < 100 and not @findobject 'GC'

headmsg 'Select Greater Cure Keg'

promptalias 'GC'

endif

if skill 'alchemy' < 30

headmsg 'Buy more skill!'

stop

elseif skill 'alchemy' < 60

if usetype 0xe9b 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 1

waitforgump 0x38920abd 15000

replygump 0x38920abd 9

waitforgump 0x38920abd 2000

endif

if @findtype 0xf0b 0x0 'backpack'

moveitem 'found' 'TR'

pause 600

endif

elseif skill 'alchemy' < 70

if usetype 0xe9b 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 9

waitforgump 0x38920abd 2000

endif

if @findtype 0xf08 0x0 'backpack'

moveitem 'found' 'GA'

pause 600

endif

elseif skill 'alchemy' < 80

if usetype 0xe9b 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 29

waitforgump 0x38920abd 15000

replygump 0x38920abd 9

waitforgump 0x38920abd 2000

endif

if @findtype 0xf09 0x0 'backpack'

moveitem 'found' 'GS'

pause 600

endif

elseif skill 'alchemy' < 90

if usetype 0xe9b 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 22

waitforgump 0x38920abd 15000

replygump 0x38920abd 16

waitforgump 0x38920abd 2000

endif

if @findtype 0xf0c 0x0 'backpack'

moveitem 'found' 'GH'

pause 600

endif

elseif skill 'alchemy' < 100

if usetype 0xe9b 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 43

waitforgump 0x38920abd 15000

replygump 0x38920abd 16

waitforgump 0x38920abd 2000

endif

if @findtype 0xf07 0x0 'backpack'

moveitem 'found' 'GC'

pause 600

endif

else

headmsg 'Alchemy complete!'

stop

endif

--------------------------------------------------
Anatomy
Code:
////////////////////////////////////
// This macro is designed for
// training anatomy from 0.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findalias 'anat'

headmsg 'Select the person to train anatomy on'

promptalias 'anat'

endif

if skill 'anatomy' < 100

useskill 'anatomy'

waitfortarget 2000

target! 'anat'

pause 1000

else

headmsg 'Anatomy complete!'

stop

endif

--------------------------------------------------
Arms Lore
Code:
////////////////////////////////////
// This macro is designed for
// training arms lore from 0. I
// typically target my dagger.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findalias 'lore'

headmsg 'Select the item to train arms lore on'

promptalias 'lore'

endif

if skill 'arms lore' < 100

useskill 'arms lore'

waitfortarget 2000

target! 'lore'

pause 1000

else

headmsg 'Arms Lore Complete!'

stop

endif

--------------------------------------------------
Begging
Code:
////////////////////////////////////
// This macro is designed for
// training begging from 0.
// I suggest training in an shop
// with plenty of vendors
// wandering around.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'begging' < 100

getfriend 'friend' 'innocent' 'closest'

useskill 'begging'

waitfortarget 2000

target! 'found'

pause 13000

else

headmsg 'Begging complete!'

stop

endif

--------------------------------------------------
Blacksmithy
Code:
////////////////////////////////////
// Uses tongs. This macro is
// designed for training
// blacksmithy from 50.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'Blacksmithy' < 50

headmsg 'You should have started with 50 skill!'

stop

elseif skill 'Blacksmithy' <= 93

if usetype 0xfbb 'any' 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 50

waitforgump 0x38920abd 15000

replygump 0x38920abd 16

pause 2000

endif

if usetype 0xfbb 'any' 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 14

waitfortarget 15000

@targettype! 0x1403 0x0 'backpack'

endif

elseif skill 'blacksmithy' < 100

if usetype 0xfbb 'any' 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 15

waitforgump 0x38920abd 15000

replygump 0x38920abd 16

pause 2000

endif

if usetype 0xfbb 'any' 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 14

waitfortarget 15000

@targettype! 0x1413 0x0 'backpack'

endif

else

headmsg 'Blacksmithy complete!'

stop

endif

--------------------------------------------------
Carpentry
Code:
////////////////////////////////////

// This macro is designed for
// training carpentry from 30.
// It uses standard saws. Due to
// the weight of boards, it is
// written to be used in a house
// with a chest to restock from.
//
// Warning: Throws away deeds!
// Bank them!
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @listexists 'carpjunk'

createlist 'carpjunk'

pushlist 'carpjunk' 0x9aa

pushlist 'carpjunk' 0xe3f

pushlist 'carpjunk' 0x14f0 // DEED! WATCH OUT!

pushlist 'carpjunk' 0xb4a

pushlist 'carpjunk' 0xe89

pushlist 'carpjunk' 0x13f8

endif

if not @findtype 0x1034 0x0 'backpack'

headmsg 'Get more saws!'

stop

endif

if not @findobject 'trash'

headmsg 'Select your trash barrel'

promptalias 'trash'

endif

if not @findobject 'restock'

headmsg 'Select the container with your boards'

promptalias 'restock'

useobject 'restock'

endif

if @counttype 0x1bd7 0x0 'backpack' < 20

movetype 0x1bd7 'restock' 'backpack' 0 0 0 0x0 150

pause 1000

endif

if skill 'carpentry' < 30

headmsg 'Buy more skill!'

stop

elseif skill 'carpentry' < 40

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 15

waitforgump 0x38920abd 15000

replygump 0x38920abd 2

waitforgump 0x38920abd 2000

endif

elseif skill 'carpentry' < 50

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 15

waitforgump 0x38920abd 15000

replygump 0x38920abd 16

waitforgump 0x38920abd 2000

endif

elseif skill 'carpentry' < 70

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 36

waitforgump 0x38920abd 15000

replygump 0x38920abd 44

waitforgump 0x38920abd 2000

endif

elseif skill 'carpentry' < 75

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 72

waitforgump 0x38920abd 2000

endif

elseif skill 'carpentry' < 90

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 22

waitforgump 0x38920abd 15000

replygump 0x38920abd 9

waitforgump 0x38920abd 2000

endif

elseif skill 'carpentry' < 100

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 22

waitforgump 0x38920abd 15000

replygump 0x38920abd 16

waitforgump 0x38920abd 2000

endif

else

headmsg 'Carpentry completed!'

stop

endif

if contents 'backpack' > 115 or diffweight < 20

for 0 to carpjunk

while @movetype carpjunk[] 'backpack' 'trash'

endwhile

endfor

endif

--------------------------------------------------
Cartography
Code:
////////////////////////////////////
// This macro is designed for
// training cartography from 30.
// Make sure you have mapmakers
// pens on you and not scribes!
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
// ~~ With thanks to Roshambo ~~
////////////////////////////////////

if not @findtype 0xfbf 0x0 'backpack'

headmsg 'Get more Pens!'

stop

endif

if not @findobject 'trash'

headmsg 'Select your trash barrel'

promptalias 'trash'

endif

if not @findobject 'restock'

headmsg 'Select the container with your blank scrolls'

promptalias 'restock'

useobject 'restock'

endif

if @counttype 0xef3 0x0 'backpack' == 0

movetype 0xef3 'restock' 'backpack' 0 0 0 0x0 150

pause 1000

endif

if skill 'Cartography' < 30

headmsg 'Buy more skill from NPC!'

stop

elseif skill 'Cartography' < 50

if usetype 0xfbf 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 1

waitforgump 0x38920abd 15000

replygump 0x38920abd 2

waitforgump 0x38920abd 2000

endif

elseif skill 'Cartography' < 65

if usetype 0xfbf 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 1

waitforgump 0x38920abd 15000

replygump 0x38920abd 9

waitforgump 0x38920abd 2000

endif

elseif skill 'Cartography' < 99.5

if usetype 0xfbf 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 1

waitforgump 0x38920abd 15000

replygump 0x38920abd 23

waitforgump 0x38920abd 2000

endif

else

headmsg 'Macro complete! Train to 100 by deciphering level 3 and 4 treasure maps.'

stop

endif

if contents 'backpack' > 115 or diffweight < 20

while movetype 0x14ec 'backpack' 'trash'

pause 500

endwhile

endif

--------------------------------------------------
Cooking
Code:
////////////////////////////////////
// This macro is designed for
// training cooking from 0. This
// macro cooks raw fish steaks
// and skillets to train cooking.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findobject 'steakbox'

headmsg 'Select the box with your fishsteaks'

promptalias 'steakbox'

endif

if not @findtype 0x97f 'any' 'backpack'

headmsg 'Get more skillets!'

stop

endif

if not @findtype 0x97a 'any' 'steakbox'

headmsg 'Get more raw fish steaks!'

stop

endif

if skill 'cooking' < 100

movetype 0x97a 'steakbox' 'backpack' 0 0 0 0x0 1

pause 600

if usetype 0x97f 'any' 'backpack'

waitforgump 0x38920abd 2000

replygump 0x38920abd 22

waitforgump 0x38920abd 2000

replygump 0x38920abd 16

waitforgump 0x38920abd 2000

endif

else

headmsg 'Cooking complete!'

stop

endif

--------------------------------------------------
Evaluating Intelligence
Code:
////////////////////////////////////
// This macro is designed for
// training evaluating
// intelligence from 0.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findalias 'eval'

headmsg 'Select the person to train evaluating intelligence on'

promptalias 'eval'

endif

if skill 'evaluating intelligence' < 100

useskill 'evaluating intelligence'

waitfortarget 2000

target! 'eval'

pause 1000

else

headmsg 'Evaluating Intelligence Complete!'

stop

endif

--------------------------------------------------
Fishing
Code:
////////////////////////////////////
// This macro is designed for
// training fishing from a boat.
// It uses a fishing pole.
// Stand in front of the mast.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findobject 'pole'

if @findtype 0xdc0 0x0 'self'

setalias 'pole' 'found'

pause 100

else

headmsg 'get a pole'

endif

endif

clearjournal

if skill 'fishing' < 100

while not @injournal 'biting here' 'system'

if useobject 'pole'

waitfortarget 2000

targettileoffset! -4 -4 -3

pause 9000

endif

if useobject 'pole'

waitfortarget 2000

targettileoffset! -4 4 -3

pause 9000

endif

if useobject 'pole'

waitfortarget 2000

targettileoffset! 4 -4 -3

pause 9000

endif

if useobject 'pole'

waitfortarget 2000

targettileoffset! 4 4 -3

pause 9000

endif

endwhile

for 15

msg 'forward one'

pause 1000

endfor

else

headmsg 'Fishing complete!'

stop

endif

--------------------------------------------------
Healing
Code:
////////////////////////////////////
// This macro is designed for
// training healing from 0. It
// requires a magical wizard hat.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findalias 'hat'

headmsg "Select your magical wizard's hat"

promptalias 'hat'

endif

if not @findtype 0xe21 'any' 'backpack'

headmsg 'Get more bandaids!'

stop

endif

if skill 'healing' < 100

equipitem 'hat' 6

pause 600

moveitem 'hat' 'backpack'

pause 600

bandageself

pause 6000

equipitem 'hat' 6

pause 600

moveitem 'hat' 'backpack'

pause 7000

else

headmsg 'Healing complete!'

stop

endif

--------------------------------------------------
Hide and Snoop
Code:
////////////////////////////////////
// This macro is designed for
// training both hiding and
// snooping from 0. It is
// easiest to train by using two
// clients at once.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'snooping' < 100

if not @findobject 'snoop' or not @inrange 'snoop' 1

headmsg 'Select the person to snoop'

promptalias 'snoop'

else

@findlayer 'snoop' 21

useobject! 'found'

pause 600

endif

endif

if skill 'hiding' < 100

useskill 'hiding'

endif

if skill 'hiding' == 100 and skill 'snooping' == 100

headmsg 'Hiding and snooping complete!'

stop

endif

--------------------------------------------------
Hiding
Code:
////////////////////////////////////
// This macro is designed for
// training hiding from 0.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'hiding' < 100

useskill 'hiding'

pause 11000

else

headmsg 'Hiding complete!'

stop

endif

--------------------------------------------------
Inscription
Code:
////////////////////////////////////
// This macro is designed for
// training inscription from 30.
// It is intended for characters
// with 40+ intelligence.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findtype 0xfbf 0x0 'backpack'

headmsg 'Get more scribes pens!'

stop

endif

if @ingump 0x38920abd 'You lack the required'

useskill 'meditation'

while mana < maxmana

endwhile

endif

if @ingump 0x38920abd 'You do not have enough'

headmsg 'Get more supplies!'

stop

endif

if skill 'inscription' < 30

headmsg 'Buy more skill!'

stop

elseif skill 'inscription' < 55

if usetype 0xfbf

waitforgump 0x38920abd 15000

replygump 0x38920abd 22

waitforgump 0x38920abd 15000

replygump 0x38920abd 51

waitforgump 0x38920abd 2000

endif

elseif skill 'inscription' < 75

if usetype 0xfbf

waitforgump 0x38920abd 15000

replygump 0x38920abd 36

waitforgump 0x38920abd 15000

replygump 0x38920abd 30

waitforgump 0x38920abd 2000

endif

elseif skill 'inscription' < 95

if usetype 0xfbf

waitforgump 0x38920abd 15000

replygump 0x38920abd 43

waitforgump 0x38920abd 15000

replygump 0x38920abd 23

waitforgump 0x38920abd 2000

endif

elseif skill 'inscription' < 100

if usetype 0xfbf

waitforgump 0x38920abd 15000

replygump 0x38920abd 50

waitforgump 0x38920abd 15000

replygump 0x38920abd 9

waitforgump 0x38920abd 2000

endif

else

headmsg 'Inscription complete!'

stop

endif

--------------------------------------------------
Item Identification
Code:
////////////////////////////////////
// This macro is designed for
// training item identification
// from 0. I typically target my
// dagger.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findalias 'itemid'

headmsg 'Select the item to train ID on'

promptalias 'itemid'

endif

if skill 'item identification' < 100

useskill 'item identification'

waitfortarget 2000

target! 'itemid'

pause 1000

else

headmsg 'Item Identification Complete!'

stop

endif

--------------------------------------------------
Magery
Code:
////////////////////////////////////
// This macro is designed for
// training magery from 30. It is
// intended for characters with
// 40+ intelligence.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if @injournal 'insufficient mana' 'system'

clearjournal

useskill 'meditation'

while mana < maxmana

endwhile

else

if skill 'magery' < 30

headmsg 'Buy more skill!'

stop

elseif skill 'magery' < 45

cast 'bless' 'self'

pause 1000

elseif skill 'magery' < 55

cast 'mana drain' 'self'

pause 1000

elseif skill 'magery' < 75

cast 'invisibility' 'self'

while waitingfortarget

endwhile

pause 1000

elseif skill 'magery' < 100

cast 'mana vampire' 'self'

pause 1000

else

headmsg 'Magery complete!'

stop

endif

endif

--------------------------------------------------
Magery and Resist
Code:
////////////////////////////////////
// This macro is designed for
// training both magery and
// resist from 30. It is intended
// for characters with 40+
// intelligence.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'magery' < 100

if @injournal 'insufficient mana' 'system'

clearjournal

useskill 'meditation'

while mana < maxmana

endwhile

else

if skill 'magery' < 30

headmsg 'Buy more skill!'

stop

elseif skill 'magery' < 45

cast 'bless' 'self'

pause 1000

elseif skill 'magery' < 55

cast 'mana drain' 'self'

pause 1000

elseif skill 'magery' < 75

cast 'invisibility' 'self'

pause 1000

elseif skill 'magery' < 100

cast 'mana vampire' 'self'

pause 1000

else

headmsg 'Magery complete!'

stop

endif

endif

elseif skill 'resisting spells' < 100

if @injournal 'insufficient mana' 'system'

clearjournal

useskill 'meditation'

while mana < maxmana

endwhile

else

cast 'mana vampire' 'self'

pause 1000

endif

else

headmsg 'Magery and resisting spells complete!'

stop

endif

--------------------------------------------------
Musicianship
Code:
////////////////////////////////////
// This macro is designed for
// training musicianship from 0.
// This macro uses lap harps.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findtype 0xeb2 0x0 'backpack'

headmsg 'Get more lap harps!'

stop

endif

if skill 'musicianship' < 100

usetype 0xeb2 0x0 'backpack'

pause 11000

else

headmsg 'Musicianship complete!'

stop

endif

--------------------------------------------------
Peacemaking
Code:
////////////////////////////////////
// This macro is designed for
// training peacemaking from 0.
// This macro uses lap harps.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findtype 0xeb2 0x0 'backpack'

headmsg 'Get more lap harps!'

stop

endif

if skill 'peacemaking' < 100

useskill 'peacemaking'

waitfortarget 2000

if @injournal 'what instrument' 'system'

targettype! 0xeb2 0x0 'backpack'

waitfortarget 2000

target! 'self'

clearjournal

pause 11000

else

target! 'self'

pause 11000

endif

else

headmsg 'Peacemaking Complete!'

stop

endif

--------------------------------------------------
Poisoning
Code:
////////////////////////////////////
// This macro is designed for
// training poisoning from 30.
// Due to the fact that this
// macro uses kegs, it is easier
// to macro from your house.
// Make sure you have 50+ greater
// cure potions on you and a
// piece of food.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'poisoning' < 30 not @findobject 'LesserPoison'

headmsg 'Select the lesser poison keg'

promptalias 'LesserPoison'

endif

if skill 'poisoning' < 40 not @findobject 'Poison'

headmsg 'Select the poison keg'

promptalias 'Poison'

endif

if skill 'poisoning' < 68 not @findobject 'GreaterPoison'

headmsg 'Select the greater poison keg'

promptalias 'GreaterPoison'

endif

if not @findobject 'Food' 'any' 'backpack'

headmsg 'Select a piece of food to be poisoned'

promptalias 'Food'

endif

if not @findtype 0xf07 0x0 'backpack'

headmsg 'Get some greater cure potions!

stop

endif

if skill 'poisoning' < 30

headmsg 'Buy more poisoning!'

stop

elseif skill 'poisoning' < 40

useobject! 'LesserPoison'

pause 600

useskill 'Poisoning'

waitfortarget 2000

targettype! 0xf0a 0x0 'backpack'

waitfortarget 2000

target! 'Food'

pause 1000

if poisoned 'self'

usetype! 0xf07 0x0 'backpack'

endif

pause 10000

elseif skill 'poisoning' < 68

useobject! 'Poison'

pause 600

useskill 'Poisoning'

waitfortarget 2000

targettype! 0xf0a 0x0 'backpack'

waitfortarget 2000

target! 'Food'

pause 1000

if poisoned 'self'

usetype! 0xf07 0x0 'backpack'

endif

pause 10000

elseif skill 'poisoning' < 100

useobject 'GreaterPoison'

pause 600

useskill 'Poisoning'

waitfortarget 2000

targettype! 0xf0a 0x0 'backpack'

waitfortarget 2000

target! 'Food'

pause 1000

if poisoned 'self'

usetype! 0xf07 0x0 'backpack'

endif

pause 10000

else

headmsg 'Poisoning complete!'

stop

endif

--------------------------------------------------
Resist (player)
Code:
////////////////////////////////////
// This macro is designed for
// the caster(s) of the resist.
// This macro can train from 0
// and is to be used in
// conjunction with the below
// recipient's macro.
// This will NOT turn off.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findobject 'training'

headmsg 'Target the person who is training resist'

promptalias 'training'

endif

if @injournal 'insufficient mana' 'system'

clearjournal

useskill 'meditation'

while mana < maxmana

endwhile

else

cast 'mana vampire' 'training'

pause 1000

endif

if @injournal '1122334455'

headmsg 'Resist complete!'

stop

endif

--------------------------------------------------
Resist (Self)
Code:
////////////////////////////////////
// This macro is designed for
// training resist from 0 on
// yourself. I suggest bringing
// 5 less spider's silk than the
// rest that way you can still
// recall after macroing.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'Resisting Spells' < 100

if @injournal 'insufficient mana' 'system'

clearjournal

useskill 'meditation'

while mana < maxmana

endwhile

else

cast 'mana vampire' 'self'

pause 1000

endif

else

headmsg 'Resisting spells complete!'

stop

endif

--------------------------------------------------
Snooping
Code:
////////////////////////////////////
// This macro is designed for
// training snooping from 0.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findobject 'snoop' or not @inrange 'snoop' 1

headmsg 'Select the person to snoop'

promptalias 'snoop'

endif

if skill 'snooping' < 100

@findlayer 'snoop' 21

useobject! 'found'

pause 600

else

headmsg 'Snooping complete!'

stop

endif

--------------------------------------------------
Stealing
Code:
////////////////////////////////////
// The easiest way to train
// stealing is in your own house,
// from a secure container. If
// you train in a dungeon, remove
// the '//' from the last 2
// lines and stand 1 tile north
// of the container. This macro
// uses empty bottles to train.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @findalias 'host'

headmsg 'Select host container to steal from, typically a secured house container'

promptalias 'host'

useobject 'host'

pause 600

endif

if skill 'stealing' < 100

@findtype 0xf0e 0x0 'host'

useskill 'stealing'

waitfortarget 2000

target! 'found'

pause 600

if @injournal 'You success' 'system'

movetype 0xf0e 'backpack' 'host'

clearjournal

pause 10000

else

pause 10000

endif

else

headmsg 'Stealing complete!'

stop

endif

//moveitemoffset 'host' 'ground' 0 1 0

//pause 600

--------------------------------------------------
Stealth
Code:
////////////////////////////////////
// Go to any public moongate for
// this to work. Also, bring a
// ringmail tunic and sleeves.
// This macrois designed for
// training stealth from 0.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'hiding' < 80

headmsg 'Train your hiding to 80.0 first!'

stop

endif

if not @findobject 'chest' and not @findtype 0x13ec 'any' 'self'

headmsg 'Buy a ringmail tunic'

stop

else

setalias 'chest' 'found'

endif

if not @findobject 'arms' and not @findtype 0x13ee 'any' 'self'

headmsg 'Buy ringmail sleeves'

stop

else

setalias 'arms' 'found'

endif

if skill 'stealth' < 80

if usetype 0xf6c 'any' 'ground'

waitforgump 0xe0e675b8 15000

replygump 0xe0e675b8 1 1

pause 10000

useskill 'stealth'

pause 600

endif

if usetype 0xf6c 'any' 'ground'

waitforgump 0xe0e675b8 15000

replygump 0xe0e675b8 1 0

pause 10000

useskill 'stealth'

pause 600

endif

elseif skill 'stealth' < 100

if not @findlayer 'self' 13

@equipitem 'chest' 13

pause 600

endif

if not @findlayer 'self' 19

@equipitem 'arms' 19

pause 600

endif

if usetype 0xf6c 'any' 'ground'

waitforgump 0xe0e675b8 15000

replygump 0xe0e675b8 1 1

pause 10000

useskill 'stealth'

pause 600

endif

if usetype 0xf6c 'any' 'ground'

waitforgump 0xe0e675b8 15000

replygump 0xe0e675b8 1 0

pause 10000

useskill 'stealth'

pause 600

endif

endif

--------------------------------------------------
Tailoring
Code:
////////////////////////////////////
// Uses a sewing kit. This
// macro is designed for
// training tailoring from 30.
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if skill 'Tailoring' < 30

headmsg "Buy skill from an NPC!"

stop

elseif skill 'Tailoring' < 41.4

if usetype 0xf9d 0x0 'backpack'

replygump 0x38920abd 15

waitforgump 0x38920abd 15000

replygump 0x38920abd 2

waitforgump 0x38920abd 15000

pause 2000

if usetype 0xf9f 0x0 'backpack'

waitfortarget 2000

@targettype! 0x152e 0x0 'backpack'

endif

endif

elseif skill 'Tailoring' < 54

if usetype 0xf9d 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 51

pause 2000

if usetype 0xf9f 0x0 'backpack'

waitfortarget 2000

@targettype! 0x1515 0x0 'backpack'

endif

endif

elseif skill 'Tailoring' < 74.6

if usetype 0xf9d 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 58

pause 2000

if usetype 0xf9f 0x0 'backpack'

waitfortarget 2000

@targettype! 0x1f03 0x0 'backpack'

endif

endif

elseif skill 'Tailoring' < 99

if usetype 0xf9d 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 22

waitforgump 0x38920abd 15000

replygump 0x38920abd 23

pause 2000

if diffweight < 20

if usetype 0xf9f 0x0 'backpack'

waitfortarget 2000

@targettype! 0x175d 0x7d1 'backpack'

endif

endif

endif

elseif skill 'tailoring' < 100

if usetype 0xf9d 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 43

waitforgump 0x38920abd 15000

replygump 0x38920abd 30

pause 2000

if usetype 0xf9f 0x0 'backpack'

waitfortarget 2000

@targettype! 0x13db 0x0 'backpack'

endif

endif

else

headmsg 'Tailoring complete!'

stop

endif

--------------------------------------------------
Tinkering
Code:
////////////////////////////////////

// Uses a standard tool kit.
// This macro is designed for
// training tinkering from 30.
//
// Warning: Throws away newbied
// scissors! Bank them!
//
// Turn on loop and click play!
//
// ~~Made by kdivers~~
////////////////////////////////////

if not @listexists 'tinkjunk'

createlist 'tinkjunk'

pushlist 'tinkjunk' 0xf9f // SCISSORS! WATCH OUT!

pushlist 'tinkjunk' 0xf9d

pushlist 'tinkjunk' 0xfbb

pushlist 'tinkjunk' 0x14fc

pushlist 'tinkjunk' 0x1849

endif

if @counttype 0x1eb8 'any' 'backpack' < 2

if usetype 0x1eb8

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 23

waitforgump 0x38920abd 15000

endif

endif

if not @findobject 'trash'

headmsg 'Select your trash barrel'

promptalias 'trash'

endif

if skill 'tinkering' < 30

headmsg 'Buy more tinkering skill!'

stop

elseif skill 'tinkering' < 40

if usetype 0x1eb8 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 2

waitforgump 0x38920abd 2000

endif

elseif skill 'tinkering' < 65

if usetype 0x1eb8 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 44

waitforgump 0x38920abd 2000

endif

elseif skill 'tinkering' < 75

if usetype 0x1eb8 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 86

waitforgump 0x38920abd 2000

endif

elseif skill 'tinkering' < 94

if usetype 0x1eb8 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 8

waitforgump 0x38920abd 15000

replygump 0x38920abd 121

waitforgump 0x38920abd 2000

endif

elseif skill 'tinkering' < 100

if usetype 0x1eb8 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 29

waitforgump 0x38920abd 15000

replygump 0x38920abd 51

waitforgump 0x38920abd 2000

endif

else

headmsg 'Tinkering complete!'

stop

endif

if contents 'backpack' > 115 or diffweight < 20

for 0 to tinkjunk

while @movetype tinkjunk[] 'backpack' 'trash'

endwhile

endfor

endif
 
Last edited by a moderator:

SIlken

New Member
This will fix carpentry gump issue. Ballot Box moved from 44 to 58

"elseif skill 'carpentry' < 70

if usetype 0x1034 0x0 'backpack'

waitforgump 0x38920abd 15000

replygump 0x38920abd 36

waitforgump 0x38920abd 15000

replygump 0x38920abd 58

waitforgump 0x38920abd 2000

endif"
 

Vatalis

New Member
The mage + Resist one doesn't seem to use the Meditation skill properly. I'm not quite sure what the fix would be.
 

Googlymoogly

Neophyte
Blacksmith doesnt work for me...

Is it not designed to autosmelt? The cursor pops up but i have to manually click and smelt everything. Tailoring would recyle all by itself. Does anyone have a Blacksmith macro that will smelt by itself?
 
Last edited:
Top