Meta Mage Trainer

Duck Face

Grandmaster
Here are a few little scripts I put together while training my meta mage relics.

Script 1 is the first version I wrote. Script 2 and 3 work together w/ two different clients and are separate from script 1.

Script 1:

The setup I used was to have the meta mage sit on a boat, tame a bunch of animals and release them on a small island within casting range of the meta mage. The script picks one of the animals, casts magic arrow on it, then moves to the next target and repeats until the relic procs.

The script is currently set up for shadow disciple and vivfy and uses timers to keep it from wasting regs while the relics aren't ready to proc. It will cast daemons while the shadow disciple relic is waiting its cool down. It will use scrolls if you have them in your pack, otherwise it will just use regs.

Code:
//create timers
if not timerexists 'Focus'
  createtimer 'Focus'
  settimer 'Focus'  60000
endif
if not timerexists 'Vivify'
  createtimer 'Vivify'
  settimer 'Vivify' 60000
endif
if not timerexists 'Shadow'
  createtimer 'Shadow'
  settimer 'Shadow'  60000
endif
//meditate if mana low
clearjournal
if mana < 10
  useskill 'meditation'
  while mana < 80
    pause 1000
  endwhile
endif
//start magic arrow loop
while timer 'Shadow' >= 42000
  //timer 'Focus' >= 47000 or
  clearjournal
  //if out of ash, skip this part
  if not @findtype 0xf8c 'any' 'backpack'
    break
  endif
  //get the enemy and cast magic arrow
  getenemy   'criminal'  'enemy' 'gray'
  cast 'magic arrow'
  target enemy
  pause 2500
  //if relics are down, wait
  if @injournal 'rest''system'
    pause 60000
    break
  endif
  //if relics proc, reset their timer
  if @injournal 'Focus: Activated.' 'system'
    settimer 'Focus' 0
  endif
  if @injournal 'Shadow Disciple: Activated.' 'system'
    settimer 'Shadow' 0
  endif
endwhile
//start vivify loop (need mandrake root to run this part)
//check for mandrake root
if @findtype 0xf86 'any' 'backpack'
  while timer 'Vivify' >= 50000
    clearjournal
    //meditate if < 50 mana
    if mana < 50
      useskill 'meditation'
      while mana < 90
        pause 1000
      endwhile
    endif
    //use daemon scrolls if you have them, else use regs
    if @findtype 0x1f69 'any' 'backpack'
      usetype 0x1f69 any 'backpack'
    else
      cast "Summon Daemon"
    endif
    pause 4000
    //release the daemon if found
    if @findtype 0xa 'any' 'ground' 1 2
      @setalias 'daemon' 'found'
      waitforcontext 'daemon' 5 15000
      pause 1000
    endif
    //reset Vivify timer if it procs
    if @injournal 'Vivify: Activated.' 'system'
      settimer 'Vivify' 0
    endif
    clearjournal
    if not @findtype 0xf86 'any' 'backpack'
      break
    endif
  endwhile
endif

Script 2:

This is a script similar to the first one I wrote, but a bit more involved. It trains the focal and shadow disciple relics and also used to train the experience on the mage talisman by casting lightning on EVs. I don't think you can gain exp anymore, but if you can still proc the relics on an EV, then I would suggest changing it to cast magic arrow and change the restock parts. The script recalls to the bank and restocks when low on regs, the recalls back to the ship to continue casting on EVs. You have to have an alt off the ship casting EVs for this script to work. See script 3 for my EV and restock script.

Code:
//set container, book, and ship rune
if not findalias 'restock'
  promptalias 'restock'
endif
if not findalias 'bankRunebook'
  promptalias 'bankRunebook'
endif
if not findalias 'shipRune'
  promptalias 'shipRune'
endif
//create timers
if not timerexists 'Focus'
  createtimer 'Focus'
  settimer 'Focus'  60000
endif
if not timerexists 'Shadow'
  createtimer 'Shadow'
  settimer 'Shadow' 60000
endif
//recall to bank and restock regs
if @counttype 0xf8c 'any' 'backpack' < 10
  pause 1000
  cast 'recall'
  pause 2000
  target! 'bankRunebook'
  pause 1000
  msg 'bank'
  if @movetype 0xf8c 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  if @movetype 0xf86 'restock' 'backpack' 0 0 0 'any' 210
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  //restock moss and pearl (recall regs)
  if @counttype 0xf7a 'any' 'backpack' < 10
    if @movetype 0xf7a 'restock' 'backpack' 0 0 0 'any' 10
      pause 1500
    else
      sysmsg 'Out of regs!' 25
      @canceltarget
      stop
    endif
    if @movetype 0xf7b 'restock' 'backpack' 0 0 0 'any' 10
      pause 1500
    else
      sysmsg 'Out of regs!' 25
      @canceltarget
      stop
    endif
  endif
  pause 1000
  cast 'recall'
  pause 2000
  target! 'shipRune'
  pause 1000
endif
//meditate if mana low
clearjournal
if mana < 10
  useskill 'meditation'
  while mana < 80
    pause 1000
  endwhile
endif
//root: 0xf86
//ash: 0xf8c
//start Focus Loop
while timer 'Focus' >= 55000
  clearjournal
  //check for ash, break if low
  if @counttype 0xf8c 'any' 'backpack' < 10
    break
  endif
  //cast lightning on evs
  if @findtype 0xa4 'any' 'ground' 1 10
    @setalias 'ev' 'found'
    clearjournal
    attack "ev"
    if mana < 20
      useskill 'meditation'
      while mana < 80
        pause 1000
      endwhile
    endif
    if mana > 20
      cast 'lightning'
      target! 'ev'
      pause 2500
    endif
  endif
  if @findtype 0xdc 'any' 'ground' 1 10
    @setalias 'ev' 'found'
    clearjournal
    if mana < 20
      useskill 'meditation'
      while mana < 80
        pause 1000
      endwhile
    endif
    if mana > 20
      cast 'magic arrow'
      target! 'ev'
      pause 2500
    endif
  endif
  if @injournal 'rest''system'
    pause 60000
    break
  endif
  //if relics proc, reset their timer
  if @injournal 'Focus: Activated.' 'system'
    settimer 'Focus' 0
  endif
  if @injournal 'Shadow Disciple: Activated.' 'system'
    settimer 'Shadow' 0
  endif
endwhile
//start Shadow Loop
while timer 'Shadow' >= 55000
  clearjournal
  //check for ash, break if low
  if @counttype 0xf8c 'any' 'backpack' < 10
    break
  endif
  //cast lightning on evs
  if @findtype 0xa4 'any' 'ground' 1 10
    @setalias 'ev' 'found'
    clearjournal
    attack "ev"
    if mana < 20
      useskill 'meditation'
      while mana < 80
        pause 1000
      endwhile
    endif
    if mana > 20
      cast 'lightning'
      target! 'ev'
      pause 2500
    endif
  endif
  if @findtype 0xdc 'any' 'ground' 1 10
    @setalias 'ev' 'found'
    clearjournal
    if mana < 20
      useskill 'meditation'
      while mana < 80
        pause 1000
      endwhile
    endif
    if mana > 20
      cast 'magic arrow'
      target! 'ev'
      pause 2500
    endif
  endif
  if @injournal 'rest''system'
    pause 60000
    break
  endif
  //if relics proc, reset their timer
  if @injournal 'Focus: Activated.' 'system'
    settimer 'Focus' 0
  endif
  if @injournal 'Shadow Disciple: Activated.' 'system'
    settimer 'Shadow' 0
  endif
endwhile


Script 3:

Cast EVs and restock. Used for an alt to cast EVs for the meta mage / dexxer to train relics on.

Code:
//set container, book
if not findalias 'restock'
  promptalias 'restock'
endif
if not findalias 'bankRunebook'
  promptalias 'bankRunebook'
endif
if not findalias 'coastRunebook'
  promptalias 'coastRunebook'
endif
//recall to bank and restock regs
if @counttype 0xf86 'any' 'backpack' < 10
  pause 1000
  cast 'recall'
  pause 2000
  target! 'bankRunebook'
  pause 1000
  msg 'bank'
  if @movetype 0xf7a 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  if @movetype 0xf7b 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  if @movetype 0xf86 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  if @movetype 0xf88 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  pause 1000
  cast 'recall'
  pause 2000
  target! 'coastRunebook'
  pause 1000
endif
//cast evs
if followers < 1
  cast "Energy Vortex"
  pause 3000
  target
  targettileoffset 1 1 0
  pause 1000
endif



I am mainly posting these scripts in case someone wants to look at them and learn some new tricks. I don't intend on providing a setup or tutorial for these scripts, but they are pretty self explanatory if you read the code and comments. Enjoy. :)
 

^_^

Grandmaster
Vivify

Compilation from @Duck Face post

settimer 'Vivify' 45000 - put your current level delay here

Code:
//set container, book, and ship rune
if not findalias 'restock'
  promptalias 'restock'
endif
if not findalias 'bankRunebook'
  promptalias 'bankRunebook'
endif
if not findalias 'shipRune'
  promptalias 'shipRune'
endif
//recall to bank and restock regs
if @counttype 0xf86 'any' 'backpack' < 30
  pause 1000
  cast 'recall'
  pause 2000
  target! 'bankRunebook'
  pause 1000
  msg 'bank'
  if @movetype 0xf86 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  if @movetype 0xf8d 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  if @movetype 0xf7b 'restock' 'backpack' 0 0 0 'any' 200
    pause 1500
  else
    sysmsg 'Out of regs!' 25
    @canceltarget
    stop
  endif
  //restock moss and pearl (recall regs)
  if @counttype 0xf7a 'any' 'backpack' < 30
    if @movetype 0xf7a 'restock' 'backpack' 0 0 0 'any' 50
      pause 1500
    else
      sysmsg 'Out of regs!' 25
      @canceltarget
      stop
    endif
  endif
  if @counttype 0xf7b 'any' 'backpack' < 30
    if @movetype 0xf7b 'restock' 'backpack' 0 0 0 'any' 50
      pause 1500
    else
      sysmsg 'Out of regs!' 25
      @canceltarget
      stop
    endif
  endif
  if @counttype 0xf86 'any' 'backpack' < 30
    if @movetype 0xf86 'restock' 'backpack' 0 0 0 'any' 50
      pause 1500
    else
      sysmsg 'Out of regs!' 25
      @canceltarget
      stop
    endif
  endif
  pause 2000
  cast 'recall'
  pause 4000
  target! 'shipRune'
  pause 2000
  if @injournal 'The world will' 'system'
    clearjournal
    sysmsg 'Pausing macro for Server Save'
    waitforjournal 'World save complete' 165000 'system'
    sysmsg 'Resuming macro'
  endif
endif
//create timers
if not timerexists 'Vivify'
  createtimer 'Vivify'
  settimer 'Vivify' 45000
endif
//meditate if mana low
clearjournal
if mana < 10
  useskill 'meditation'
  while mana < 55
    pause 1000
  endwhile
endif
//if no ss @ backpack
if not @findtype 0xf8d 'any' 'backpack'
  break
endif
//if relics are down, wait
if @injournal 'rest''system'
  pause 57000
  break
endif
//start vivify loop (need mandrake root to run this part)
//check for mandrake root
if @findtype 0xf86 'any' 'backpack'
  while timer 'Vivify' >= 42000
    clearjournal
    //meditate if < 50 mana
    if mana < 50
      useskill 'meditation'
      while mana < 55
        pause 1000
      endwhile
    endif
    //use daemon scrolls if you have them, else use regs
    if @findtype 0x1f6a 'any' 'backpack'
      usetype 0x1f6a any 'backpack'
    else
      cast "Summon Earth Elemental"
    endif
    pause 4000
    //release the daemon if found
    if @findtype 0xe 'any' 'ground' 1 2
      @setalias 'elemental' 'found'
      waitforcontext 'elemental' 5 15000
      pause 1000
    endif
    //reset Vivify timer if it procs
    if @injournal 'Vivify: Activated.' 'system'
      settimer 'Vivify' 0
    endif
    clearjournal
    if not @findtype 0xf86 'any' 'backpack'
      break
    endif
  endwhile
endif
 
Top