1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SMM's Public Skill Training Macros

Discussion in 'UOSteam' started by Slovy, Oct 18, 2016.

  1. Slovy

    Slovy Member

    7
    19
    0
    Jun 11, 2013
    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: Oct 18, 2016
    Bburnux, baddie, Romori and 4 others like this.

Share This Page