Radament's Macro Library

If you make a Client-side script you can publish it here for other players to use
Post Reply
gusrab
Passer by
Posts: 4
Joined: Tue Nov 06, 2018 11:18 pm

Radament's Macro Library

Post by gusrab »

Well I want to return something to the community for all the help I received.
This is basically my own private collection of Macros wich I mostly created or modified. Some of them will only work in this shard.
This macros are for UOSteam only. This Library is divided in 4 parts because is huge.

The library contains:

1) Oint Mixers and Oint appliers (To mix oints and apply oints to pets)
2) Runebook Miners (The only one for UOSteam, i have two versions one wich works with a mule, chest and forge and other that works with a mobile forge and metal workers keys wich is way better since you dont have to go back to unload)
3) Runebook Cloner (This one copies runebooks even from libraries and cast protection on yourself so you dont get caught in dangerous locations)
4) Pet Healer (Automatically heal all the pets added to the list by its serial number, use object inspector on pet, it will select the most damaged one and circle to the others it will also call them if they are far to come close so they can be bandaged)
5) Auto Attacker and Auto Battle with all (There is a variety here)
6) Buff self and buff pets
7) Autohealer
8) Skill trainers
9) Citadel Keys gathering
10) Lumberjacking (Its not automatic you have to clikc on the tree because UOSteam has limitations on targeting trees)
11) etc

Make sure in all cases to adjust pause timers between spells according to your Fast Casting and Cast Recovery stats, 1500ms intervals will work most of the cases but you maxxed everything 200 ms should world for touch of life for instance.
So here they are:

Animal Lore trainer

Code: Select all

//Animal Lore trainer by Radament
//v1.0
if not findalias 'animal'
  msg 'Choose animal to begin trainning'
  promptalias 'animal'
endif
useskill 'Animal Lore'
waitfortarget 15000
target! 'animal'
Ointment Applier

Code: Select all

//Oint Applier by Radament
// 1.0 v
@unsetalias 'ointpet'
@unsetalias 'baseoint'
if not @findalias 'ointpet'
  headmsg 'Choose pet to oint'
  promptalias 'ointpet'
endif
if not @findalias 'baseoint'
  headmsg 'Select Ointment'
  promptalias 'baseoint'
endif
while not dead
  @useobject 'baseoint'
  waitfortarget 15000
  @target 'ointpet'
  pause 1000
endwhile
Armor Rating Oint Mixer

Code: Select all

//Armor Rating Oint Mixer by Radament
// 1.0 v
@unsetalias 'greenthorns'
@unsetalias 'baseoint'
if not @findalias 'greenthorns'
  headmsg 'Select Green Thorns'
  promptalias 'greenthorns'
endif
if not @findalias 'baseoint'
  headmsg 'Select Base Ointment'
  promptalias 'baseoint'
endif
while not dead
  @useobject 'baseoint'
  waitfortarget 15000
  @target 'greenthorns'
  pause 1000
endwhile
Attack Boss (Doesnt work properly, I couldnt find a function to be able to discriminate targets accordingly to their health so i can identified when the enemy is a boss and casts things like enemy of one among others, see if you can fix this)

Code: Select all

if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
  @pushlist 'petlist' 0xd7f4e //Hades
  @pushlist 'petlist' 0xd33f7 //Apollo
  @pushlist 'petlist' 0x9b019 //Cerberus
  @pushlist 'petlist' 0xd3875 //Zeus
endif
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
if not listexists 'bosses'
  createlist 'bosses'
  @pushlist 'bosses' 0x6c
  @pushlist 'bosses' 0x190
endif
while not dead
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 6
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 8000
      endif
      if timer 'guard' >= 8000
        if @hits < 80
          msg 'all guard me'
        endif
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 1500
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'gray''criminal''closest'
    @setalias 'ene' 'enemy'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if followers > 0
          if not mounted or followers > 1
            if not timerexists 'petkill'
              createtimer 'petkill'
              settimer 'petkill' 5000
            endif
            if timer 'petkill' >= 5000 and followers > 0
              msg 'all kill'
              waitfortarget 5000
              target! 'enemy'
              settimer 'petkill' 0
            endif
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  if @findlayer 'self' 2
    if skill 'necromancy' > 30 and mana > 7
      if not timerexists 'curseweapon'
        createtimer 'curseweapon'
        settimer 'curseweapon' 38000
      endif
      if timer 'curseweapon' <= 38000
        pause 2000
        cast 'curse weapon'
        settimer 'curseweapon' 0
      endif
    endif
  endif
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 50 and mana > 10
      if not timerexists 'confidence'
        createtimer 'confidence'
        settimer 'confidence' 10000
      endif
      if timer 'confidence' >= 10000 and not buffexists 'confidence'
        pause 1500
        cast 'confidence'
        settimer 'confidence' 0
      endif
    endif
  endif
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 80 and mana > 10
      if not timerexists 'evasion'
        createtimer 'evasion'
        settimer 'evasion' 8000
      endif
      if timer 'evasion' >= 8000 and not buffexists 'evasion'
        pause 1500
        cast 'evasion'
        settimer 'evasion' 0
      endif
    endif
  endif
  // -------------------Attack Boss ------------------
  for 0 in 'bosses'
    if @findobject 0x190 'any'
      @getenemy 'found'
      if timer 'kill' >= 3000
        @attack 'enemy'
        settimer 'kill' 0
      endif
      if followers > 0
        if not mounted or followers > 1
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            @target! 'enemy'
            settimer 'petkill' 0
          endif
        endif
      endif
      if skill 'chivalry' > 35 and mana > 20
        if not timerexists 'one'
          createtimer 'one'
          settimer 'one' 230000
        endif
        if timer 'one' >= 230000
          pause 2000
          cast 'enemy of one'
          settimer 'one' 0
        endif
      endif
      if skill 'chivalry' > 25 and mana > 15
        if not timerexists 'fury'
          createtimer 'fury'
          settimer 'fury' 230000
        endif
        if timer 'fury' >= 230000
          pause 2000
          cast 'divine fury'
          settimer 'fury' 0
        endif
      endif
      if skill 'necromancy' > 20 and mana > 13
        if not timerexists 'blood'
          createtimer 'blood'
          settimer 'blood' 9000
        endif
        if timer 'blood' >= 9000
          pause 2000
          cast 'blood oath'
          waitfortarget 5000
          target! 'enemy'
          settimer 'blood' 0
        endif
      endif
      if skill 'necromancy' > 20 and mana > 9
        if not timerexists 'curse'
          createtimer 'curse'
          settimer 'curse' 125000
        endif
        if timer 'curse' >= 125000
          pause 2000
          cast "curse" // Agi, Str and Int Buff
          waitfortarget 5000
          @target! 'enemy'
          settimer 'curse' 0
          if not @findlayer 'self' 1
            @equipitem 'rightitem' 1
          endif
          if not @findlayer 'self' 2
            @equipitem 'leftitem' 2
          endif
        endif
      endif
    endif
  endfor
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  while @hits  < 99
    if not timerexists 'bandie'
      createtimer 'bandie'
      settimer 'bandie' 3000
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @diffhits > 40
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  //Bring Pets Closer
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 6
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  @unsetalias 'found'
  @unsetalias 'ene'
  @unsetalias 'pet1'
  @unsetalias 'pet2'
  @unsetalias 'pet3'
  @unsetalias 'pet4'
  @unsetalias 'pet5'
  //--------------------------AUTO PET HEALER--------------
  if followers > 0
    if not mounted 'self' or followers > 1
      @unsetalias 'boundedtarget'
      //Removes pets if mounted, stabled or you get too far away
      if @findalias 'Pet1' and not @findobject 'Pet1'
        @unsetalias 'Pet1'
      endif
      if @findalias 'Pet2' and not @findobject 'Pet2'
        @unsetalias 'Pet2'
      endif
      if @findalias 'Pet3' and not @findobject 'Pet3'
        @unsetalias 'Pet3'
      endif
      if @findalias 'Pet4' and not @findobject 'Pet4'
        @unsetalias 'Pet4'
      endif
      if @findalias 'Pet5' and not @findobject 'Pet5'
        @unsetalias 'Pet5'
      endif
      //makes sure the pets never equal each other
      if @findalias 'Pet1' and @findalias 'Pet2'
        if @serial 'Pet1' == @serial 'Pet2'
          @unsetalias 'Pet2'
        endif
      endif
      if @findalias 'Pet2' and @findalias 'Pet3'
        if @serial 'Pet2' == @serial 'Pet3'
          @unsetalias 'Pet3'
        endif
      endif
      if @findalias 'Pet3' and @findalias 'Pet4'
        if @serial 'Pet3' == @serial 'Pet4'
          @unsetalias 'Pet4'
        endif
      endif
      if @findalias 'Pet4' and @findalias 'Pet5'
        if @serial 'Pet4' == @serial 'Pet5'
          @unsetalias 'Pet5'
        endif
      endif
      if @findalias 'Pet5' and @findalias 'Pet1'
        if @serial 'Pet5' == @serial 'Pet1'
          @unsetalias 'Pet1'
        endif
      endif
      // Assign Aliases to active pets on list
      if not @findobject 'Pet1' or not @findobject 'Pet2' or not @findobject 'Pet3' or not @findobject 'Pet4' or not @findobject 'Pet5'
        for 0 to 'petlist'
          if @findobject petlist[] 'any' 'ground' 0 30
            if not @findobject 'Pet1'
              @setalias 'Pet1' petlist[]
            elseif not @findobject 'Pet2' and @serial 'Pet1' != 'petlist[]'
              @setalias 'Pet2' petlist[]
            elseif not @findobject 'Pet3' and @serial 'Pet2' != 'petlist[]'
              @setalias 'Pet3' petlist[]
            elseif not @findobject 'Pet4' and @serial 'Pet3' != 'petlist[]'
              @setalias 'Pet4' petlist[]
            elseif not @findobject 'Pet5' and @serial 'Pet4' != 'petlist[]'
              @setalias 'Pet5' petlist[]
            endif
          endif
        endfor
      endif
      //Selects target to heal
      if @findobject 'pet1' and @hits 'pet1' < 25
        @setalias  'boundedtarget' 'pet1'
      elseif @findobject 'pet2' and @hits 'pet2' < 25
        @setalias  'boundedtarget' 'pet2'
      elseif @findobject 'pet3' and @hits 'pet3' < 25
        @setalias  'boundedtarget' 'pet3'
      elseif @findobject 'pet4' and @hits 'pet4' < 25
        @setalias  'boundedtarget' 'pet4'
      elseif @findobject 'pet5' and @hits 'pet5' < 25
        @setalias  'boundedtarget' 'pet5'
      endif
      if not @findalias 'boundedtarget'
        if @findobject 'pet1' and @hits 'pet1' < 50
          @setalias  'boundedtarget' 'pet1'
        elseif @findobject 'pet2' and @hits 'pet2' < 50
          @setalias  'boundedtarget' 'pet2'
        elseif @findobject 'pet3' and @hits 'pet3' < 50
          @setalias  'boundedtarget' 'pet3'
        elseif @findobject 'pet4' and @hits 'pet4' < 50
          @setalias  'boundedtarget' 'pet4'
        elseif @findobject 'pet5' and @hits 'pet5' < 50
          @setalias  'boundedtarget' 'pet5'
        endif
      endif
      if not @findalias 'boundedtarget'
        if @findobject 'pet1' and @hits 'pet1' < 75
          @setalias  'boundedtarget' 'pet1'
        elseif @findobject 'pet2' and @hits 'pet2' < 75
          @setalias  'boundedtarget' 'pet2'
        elseif @findobject 'pet3' and @hits 'pet3' < 75
          @setalias  'boundedtarget' 'pet3'
        elseif @findobject 'pet4' and @hits 'pet4' < 75
          @setalias  'boundedtarget' 'pet4'
        elseif @findobject 'pet5' and @hits 'pet5' < 75
          @setalias  'boundedtarget' 'pet5'
        endif
      endif
      //Cure Bounded Target
      @unsetalias 'found'
      if @findalias 'boundedtarget'
        while  @hits 'boundedtarget' < 95
          while not @inrange 'boundedtarget' 1
            msg 'All follow me'
            pause 300
          endwhile
          if not timerexists 'bandie'
            createtimer 'bandie'
            settimer 'bandie' 3000
          endif
          if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
            msg '[band'
            waitfortarget 15000
            @target! 'boundedtarget'
            settimer 'bandie' 0
            @clearjournal
          endif
          if not timerexists 'divine'
            createtimer 'divine'
            settimer 'divine' 120000
          endif
          if mana > 70 and timer 'divine' >= 120000
            pause 1000
            msg '[cs divinefocus'
            settimer 'divine'0
          endif
          if not timerexists 'boon'
            createtimer 'boon'
            settimer 'boon' 30000
          endif
          if timer 'boon' >=  30000
            if mana > 20
              pause 1500
              msg '[cs sacredboon'
              waitfortarget 15000
              @target! 'boundedtarget'
              settimer 'boon' 0
            endif
          endif
          if mana > 12
            pause 500
            msg '[cs touchoflife'
            waitfortarget 15000
            @target! 'boundedtarget'
          endif
          if mana < 12
            @usetype! 0x13a8 'any' 0x4095b7ed
            waitfortarget 500
            @target! 'self'
          endif
        endwhile
        @usetype! 0x13a8 'any' 0x4095b7ed
        waitfortarget 500
        @target! 'self'
      endif
    endif
  endif
  // Moves Gold to Mule if you have more than 10k
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findtype '0xeed' 'any' 'backpack' 10000
        if @findtype 0xc8 1254 'any'
          setalias 'mule' 'found'
          while not @inrange 'mule' 2
            msg 'All guard me'
            pause 300
          endwhile
          @findtype 0xeed 'any' 'backpack'
          @moveitem 'found''mule'
        endif
      endif
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
  //Triggers emergency routine to escape in case of low health
  if  @diffhits > 70
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'peacemaking'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'self'
            @clearjournal
          else
            @target! 'self'
          endif
        endif
      endfor
    endif
    if followers < 5
      if skill 'ninjitsu' > 40
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
      endif
    endif
  endif
endwhile
Attack Closest Red

Code: Select all

getenemy 'closest' 'murderer'
if @findobject 'enemy'
  autotargetobject! 'enemy'
  if murderer 'enemy'
    attack! 'enemy'
    target! 'enemy'
    @clearusequeue
    @cancelautotarget
    stop
  endif
endif
Attack Nearest Gray

Code: Select all

//Get Enemy Grey Only
for 0 to 300
  getenemy 'gray''criminal''closest'
  pause 500
  if @findobject 'enemy'
    autotargetobject! 'enemy'
    pause 200
    if criminal 'enemy'
      attack! 'enemy'
      waitfortarget 15000
      target! 'enemy'
      pause 1000
      @clearusequeue
      @cancelautotarget
      stop
    endif
    if gray 'enemy'
      attack! 'enemy'
      waitfortarget 15000
      target! 'enemy'
      pause 1000
      @clearusequeue
      @cancelautotarget
      stop
    endif
  endif
  pause 3000
endfor
Attacker (The one i use, attacks everything)

Code: Select all

//Attacker by Radament
// 1.0 v
// Make sure to adjust pause intervals on spells accodring to your FCR and FC capabilities otherwise the macro will stop.
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
if not findalias 'woodworkerskeys'
  headmsg 'Select Wood Workers Keys'
  promptalias 'woodworkerskeys'
endif
while not dead
  // Make sure you have arrows
  if not @findtype 0xf3f 'any' 'backpack'
    useobject 'woodworkerskeys'
    waitforgump 173511501 15000
    replygump 0xa57934d 60013
    waitforgump 173511501 15000
    replygump 0xa57934d 0
  endif
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  //Bring Pets Closer
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 5
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 8000
      endif
      if timer 'guard' >= 8000
        if @hits < 80
          msg 'all guard me'
        endif
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 1500
  endif
  if mana > 19
    if mounted 'self'
      if timer 'ability' >= 1500
        setability 'secondary' 'on'
        settimer 'ability' 0
      endif
    elseif timer 'ability' >= 1500
      setability 'primary' 'on'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 1500
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 1500
  endif
  if timer 'kill' >= 1500
    @getenemy 'gray''criminal''closest'
    @setalias 'ene' 'enemy'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if followers > 0
          if not mounted or followers > 1
            if not timerexists 'petkill'
              createtimer 'petkill'
              settimer 'petkill' 2000
            endif
            if timer 'petkill' >= 2000 and followers > 0
              msg 'all kill'
              waitfortarget 5000
              target! 'enemy'
              settimer 'petkill' 0
            endif
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Bring Pets Closer
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 5
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1900
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 50 and mana > 10
      if not timerexists 'confidence'
        createtimer 'confidence'
        settimer 'confidence' 10000
      endif
      if timer 'confidence' >= 10000 and not buffexists 'confidence'
        pause 2200
        cast 'confidence'
        settimer 'confidence' 0
      endif
    endif
  endif
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 80 and mana > 10
      if not timerexists 'evasion'
        createtimer 'evasion'
        settimer 'evasion' 8000
      endif
      if timer 'evasion' >= 8000 and not buffexists 'evasion'
        pause 1500
        cast 'evasion'
        settimer 'evasion' 0
      endif
    endif
  endif
  //Bring Pets Closer
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 5
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 5
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  while @diffhits > 5
    if not timerexists 'bandie1'
      createtimer 'bandie1'
      settimer 'bandie1' 3000
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie1' >= 3000
      msg '[bandself'
      settimer 'bandie1' 0
      @clearjournal
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @hits < 50
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  //Bring Pets Closer
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 6
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  @unsetalias 'ene'
  // Moves Gold to Mule if you have more than 10k
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findtype '0xeed' 'any' 'backpack' 10000
        if @findtype 0xc8 1254 'any'
          setalias 'mule' 'found'
          while not @inrange 'mule' 2
            msg 'All guard me'
            pause 300
          endwhile
          @findtype 0xeed 'any' 'backpack'
          @moveitem 'found''mule'
        endif
      endif
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
  //Triggers emergency routine to escape in case of low health
  if  @hits < 30
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'peacemaking'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'self'
            @clearjournal
          else
            @target! 'self'
          endif
        endif
      endfor
    endif
    if followers < 5
      if skill 'ninjitsu' > 40
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
      endif
    endif
  endif
endwhile
Battle Macro

Code: Select all

//Auto Attack by Radament
// Does a lot of things all together, better to have separate macros.
if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
  @pushlist 'petlist' 0xd7f4e //Hades
  @pushlist 'petlist' 0xd33f7 //Apollo
  @pushlist 'petlist' 0x9b019 //Cerberus
  @pushlist 'petlist' 0x7c506 //Zeus
  @pushlist 'petlist' 0x81f41 //Poseidon
endif
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
if not listexists 'bosses'
  createlist 'bosses'
  @pushlist 'bosses' 0x6c
  @pushlist 'bosses' 0x190
endif
while not dead
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 6
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 8000
      endif
      if timer 'guard' >= 8000
        if @hits < 80
          msg 'all guard me'
        endif
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 1500
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 1500
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'gray''criminal''closest'
    @setalias 'ene' 'enemy'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if followers > 0
          if not mounted or followers > 1
            if not timerexists 'petkill'
              createtimer 'petkill'
              settimer 'petkill' 5000
            endif
            if timer 'petkill' >= 5000 and followers > 0
              msg 'all kill'
              waitfortarget 5000
              target! 'enemy'
              settimer 'petkill' 0
            endif
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  if @findlayer 'self' 2
    if skill 'necromancy' > 30 and mana > 7
      if not timerexists 'curseweapon'
        createtimer 'curseweapon'
        settimer 'curseweapon' 38000
      endif
      if timer 'curseweapon' <= 38000
        pause 2000
        cast 'curse weapon'
        settimer 'curseweapon' 0
      endif
    endif
  endif
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 50 and mana > 10
      if not timerexists 'confidence'
        createtimer 'confidence'
        settimer 'confidence' 10000
      endif
      if timer 'confidence' >= 10000 and not buffexists 'confidence'
        pause 2000
        cast 'confidence'
        settimer 'confidence' 0
      endif
    endif
  endif
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 80 and mana > 10
      if not timerexists 'evasion'
        createtimer 'evasion'
        settimer 'evasion' 8000
      endif
      if timer 'evasion' >= 8000 and not buffexists 'evasion'
        pause 1500
        cast 'evasion'
        settimer 'evasion' 0
      endif
    endif
  endif
  // -------------------Attack Boss ------------------
  for 0 in 'bosses'
    if @findobject 0x190 'any'
      @getenemy 'found'
      if timer 'kill' >= 3000
        @attack 'enemy'
        settimer 'kill' 0
      endif
      if followers > 0
        if not mounted or followers > 1
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            @target! 'enemy'
            settimer 'petkill' 0
          endif
        endif
      endif
      if skill 'chivalry' > 35 and mana > 20
        if not timerexists 'one'
          createtimer 'one'
          settimer 'one' 230000
        endif
        if timer 'one' >= 230000
          pause 2000
          cast 'enemy of one'
          settimer 'one' 0
        endif
      endif
      if skill 'chivalry' > 25 and mana > 15
        if not timerexists 'fury'
          createtimer 'fury'
          settimer 'fury' 230000
        endif
        if timer 'fury' >= 230000
          pause 2000
          cast 'divine fury'
          settimer 'fury' 0
        endif
      endif
      if skill 'necromancy' > 20 and mana > 13
        if not timerexists 'blood'
          createtimer 'blood'
          settimer 'blood' 9000
        endif
        if timer 'blood' >= 9000
          pause 2000
          cast 'blood oath'
          waitfortarget 5000
          target! 'enemy'
          settimer 'blood' 0
        endif
      endif
      if skill 'necromancy' > 20 and mana > 9
        if not timerexists 'curse'
          createtimer 'curse'
          settimer 'curse' 125000
        endif
        if timer 'curse' >= 125000
          pause 2000
          cast "curse" // Agi, Str and Int Buff
          waitfortarget 5000
          @target! 'enemy'
          settimer 'curse' 0
          if not @findlayer 'self' 1
            @equipitem 'rightitem' 1
          endif
          if not @findlayer 'self' 2
            @equipitem 'leftitem' 2
          endif
        endif
      endif
    endif
  endfor
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  while @hits  < 99
    if not timerexists 'bandie'
      createtimer 'bandie'
      settimer 'bandie' 3000
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @diffhits > 40
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  //Bring Pets Closer
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findobject 'pet1'
        while not @inrange 'pet1' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet2'
        while not @inrange 'pet2' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet3'
        while not @inrange 'pet3' 6
          msg "all guard me"
          pause 300
        endwhile
      elseif @findobject 'pet4'
        while not @inrange 'pet4' 6
          msg "all guard me"
          pause 300
        endwhile
      endif
    endif
  endif
  @unsetalias 'found'
  @unsetalias 'ene'
  @unsetalias 'pet1'
  @unsetalias 'pet2'
  @unsetalias 'pet3'
  @unsetalias 'pet4'
  @unsetalias 'pet5'
  //--------------------------AUTO PET HEALER--------------
  if followers > 0
    if not mounted 'self' or followers > 1
      @unsetalias 'boundedtarget'
      //Removes pets if mounted, stabled or you get too far away
      if @findalias 'Pet1' and not @findobject 'Pet1'
        @unsetalias 'Pet1'
      endif
      if @findalias 'Pet2' and not @findobject 'Pet2'
        @unsetalias 'Pet2'
      endif
      if @findalias 'Pet3' and not @findobject 'Pet3'
        @unsetalias 'Pet3'
      endif
      if @findalias 'Pet4' and not @findobject 'Pet4'
        @unsetalias 'Pet4'
      endif
      if @findalias 'Pet5' and not @findobject 'Pet5'
        @unsetalias 'Pet5'
      endif
      //makes sure the pets never equal each other
      if @findalias 'Pet1' and @findalias 'Pet2'
        if @serial 'Pet1' == @serial 'Pet2'
          @unsetalias 'Pet2'
        endif
      endif
      if @findalias 'Pet2' and @findalias 'Pet3'
        if @serial 'Pet2' == @serial 'Pet3'
          @unsetalias 'Pet3'
        endif
      endif
      if @findalias 'Pet3' and @findalias 'Pet4'
        if @serial 'Pet3' == @serial 'Pet4'
          @unsetalias 'Pet4'
        endif
      endif
      if @findalias 'Pet4' and @findalias 'Pet5'
        if @serial 'Pet4' == @serial 'Pet5'
          @unsetalias 'Pet5'
        endif
      endif
      if @findalias 'Pet5' and @findalias 'Pet1'
        if @serial 'Pet5' == @serial 'Pet1'
          @unsetalias 'Pet1'
        endif
      endif
      // Assign Aliases to active pets on list
      if not @findobject 'Pet1' or not @findobject 'Pet2' or not @findobject 'Pet3' or not @findobject 'Pet4' or not @findobject 'Pet5'
        for 0 to 'petlist'
          if @findobject petlist[] 'any' 'ground' 0 30
            if not @findobject 'Pet1'
              @setalias 'Pet1' petlist[]
            elseif not @findobject 'Pet2' and @serial 'Pet1' != 'petlist[]'
              @setalias 'Pet2' petlist[]
            elseif not @findobject 'Pet3' and @serial 'Pet2' != 'petlist[]'
              @setalias 'Pet3' petlist[]
            elseif not @findobject 'Pet4' and @serial 'Pet3' != 'petlist[]'
              @setalias 'Pet4' petlist[]
            elseif not @findobject 'Pet5' and @serial 'Pet4' != 'petlist[]'
              @setalias 'Pet5' petlist[]
            endif
          endif
        endfor
      endif
      //Selects target to heal
      if @findobject 'pet1' and @hits 'pet1' < 25
        @setalias  'boundedtarget' 'pet1'
      elseif @findobject 'pet2' and @hits 'pet2' < 25
        @setalias  'boundedtarget' 'pet2'
      elseif @findobject 'pet3' and @hits 'pet3' < 25
        @setalias  'boundedtarget' 'pet3'
      elseif @findobject 'pet4' and @hits 'pet4' < 25
        @setalias  'boundedtarget' 'pet4'
      elseif @findobject 'pet5' and @hits 'pet5' < 25
        @setalias  'boundedtarget' 'pet5'
      endif
      if not @findalias 'boundedtarget'
        if @findobject 'pet1' and @hits 'pet1' < 50
          @setalias  'boundedtarget' 'pet1'
        elseif @findobject 'pet2' and @hits 'pet2' < 50
          @setalias  'boundedtarget' 'pet2'
        elseif @findobject 'pet3' and @hits 'pet3' < 50
          @setalias  'boundedtarget' 'pet3'
        elseif @findobject 'pet4' and @hits 'pet4' < 50
          @setalias  'boundedtarget' 'pet4'
        elseif @findobject 'pet5' and @hits 'pet5' < 50
          @setalias  'boundedtarget' 'pet5'
        endif
      endif
      if not @findalias 'boundedtarget'
        if @findobject 'pet1' and @hits 'pet1' < 75
          @setalias  'boundedtarget' 'pet1'
        elseif @findobject 'pet2' and @hits 'pet2' < 75
          @setalias  'boundedtarget' 'pet2'
        elseif @findobject 'pet3' and @hits 'pet3' < 75
          @setalias  'boundedtarget' 'pet3'
        elseif @findobject 'pet4' and @hits 'pet4' < 75
          @setalias  'boundedtarget' 'pet4'
        elseif @findobject 'pet5' and @hits 'pet5' < 75
          @setalias  'boundedtarget' 'pet5'
        endif
      endif
      //Cure Bounded Target
      @unsetalias 'found'
      if @findalias 'boundedtarget'
        while  @hits 'boundedtarget' < 95
          while not @inrange 'boundedtarget' 1
            msg 'All follow me'
            pause 300
          endwhile
          if not timerexists 'bandie'
            createtimer 'bandie'
            settimer 'bandie' 3000
          endif
          if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
            msg '[band'
            waitfortarget 15000
            @target! 'boundedtarget'
            settimer 'bandie' 0
            @clearjournal
          endif
          if not timerexists 'divine'
            createtimer 'divine'
            settimer 'divine' 120000
          endif
          if mana > 70 and timer 'divine' >= 120000
            pause 1000
            msg '[cs divinefocus'
            settimer 'divine'0
          endif
          if not timerexists 'boon'
            createtimer 'boon'
            settimer 'boon' 30000
          endif
          if timer 'boon' >=  30000
            if mana > 20
              pause 1500
              msg '[cs sacredboon'
              waitfortarget 15000
              @target! 'boundedtarget'
              settimer 'boon' 0
            endif
          endif
          if mana > 12
            pause 500
            msg '[cs touchoflife'
            waitfortarget 15000
            @target! 'boundedtarget'
          endif
          if mana < 12
            @usetype! 0x13a8 'any' 0x4095b7ed
            waitfortarget 500
            @target! 'self'
          endif
        endwhile
        @usetype! 0x13a8 'any' 0x4095b7ed
        waitfortarget 500
        @target! 'self'
      endif
    endif
  endif
  // Moves Gold to Mule if you have more than 10k
  if followers > 0
    if not mounted 'self' or followers > 1
      if @findtype '0xeed' 'any' 'backpack' 10000
        if @findtype 0xc8 1254 'any'
          setalias 'mule' 'found'
          while not @inrange 'mule' 2
            msg 'All guard me'
            pause 300
          endwhile
          @findtype 0xeed 'any' 'backpack'
          @moveitem 'found''mule'
        endif
      endif
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
  //Triggers emergency routine to escape in case of low health
  if  @diffhits > 70
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'peacemaking'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'self'
            @clearjournal
          else
            @target! 'self'
          endif
        endif
      endfor
    endif
    if followers < 5
      if skill 'ninjitsu' > 40
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
        if mana >10
          pause 1500
          cast 'mirror image'
        endif
      endif
    endif
  endif
endwhile
Last edited by gusrab on Wed Nov 07, 2018 9:29 am, edited 2 times in total.
gusrab
Passer by
Posts: 4
Joined: Tue Nov 06, 2018 11:18 pm

Radament's Macro Library - Part 2

Post by gusrab »

Auto Tamer

Code: Select all

//TamerHelper v5.1 by Vlek, Grunt of the Bloodclan (www.bloodclan.org)
//Get next to a tameable, press your associated button, and enjoy.
if not listexists 'NameTheTamed'
  createlist 'NameTheTamed'
  //Set this name to whatever you want.
  pushlist 'NameTheTamed' 'one'
endif
if not listexists 'tameables'
  createlist 'tameables'
  pushlist 'tameables' 0x7t //Hellcat (Large)
  pushlist 'tameables' 0x62 //Hellhound
  pushlist 'tameables' 0xbc //Savage Ridgeback
  pushlist 'tameables' 0xbb //Ridgeback
  pushlist 'tameables' 0x17 //Dire Wolf
  pushlist 'tameables' 0xce //Lava Lizard
  pushlist 'tameables' 0x14 //Frost spider
  pushlist 'tameables' 0xc9 //Hellcat (Small)
  pushlist 'tameables' 0xda //Frenzied Ostard
  pushlist 'tameables' 0x50 //Giant Toad
  pushlist 'tameables' 0xe8 //Bull
  pushlist 'tameables' 0xe9 //Bull2
  pushlist 'tameables' 0x22 //White Wolf
  pushlist 'tameables' 0x25 //White Wolf2
  pushlist 'tameables' 0x1c //Giant Spider
  pushlist 'tameables' 0xd4 //Grizzly Bear
  pushlist 'tameables' 0xea //Great Hart
  pushlist 'tameables' 0x41 //Snow leopard
  pushlist 'tameables' 0x40 //Snow leopard
  pushlist 'tameables' 0x19 //Gray wolf
  pushlist 'tameables' 0x1b //Gray wolf2
  pushlist 'tameables' 0x30 //Scorpion
  pushlist 'tameables' 0xca //Alligator
  pushlist 'tameables' 0x3f //Cougar
  pushlist 'tameables' 0xd6 //Panther
  pushlist 'tameables' 0xa7 //Brown Bear
  pushlist 'tameables' 0xdd //Walrus
  pushlist 'tameables' 0xd5 //Polar Bear
  pushlist 'tameables' 0xd3 //Black Bear
  pushlist 'tameables' 0xdc //Llama
  pushlist 'tameables' 0x124 //Pack Llama
  pushlist 'tameables' 0x123 //Pack Horse
  pushlist 'tameables' 0xc8 //Horse
  pushlist 'tameables' 0xe2 //Horse2
  pushlist 'tameables' 0xcc //Horse3
  pushlist 'tameables' 0xed //Giant Rat
  pushlist 'tameables' 0xdb //Forest Ostard
  pushlist 'tameables' 0xd2 //Desert Ostard
  pushlist 'tameables' 0x122 //Boar
  pushlist 'tameables' 0xe1 //Timber Wolf
  pushlist 'tameables' 0xed //Hind
  pushlist 'tameables' 0x51 //Bullfrog
endif
if not @inrange 'tobetamed' 2
  @unsetalias 'tobetamed'
  for 0 in 'tameables'
    if @findtype tameables[] 'any' 'ground' 1 2
      @setalias 'tobetamed' 'found'
      break
    endif
  endfor
endif
if not @inrange 'tobetamed' 2
  headmsg 'No new creatures near you!'
  stop
endif
autotargetobject 'tobetamed'
useskill 'animal taming'
clearjournal
while not dead
  if @injournal 'It seems to accept you as master.' or @injournal "That wasn't even challenging"
    @rename 'tobetamed' NameTheTamed[0]
    waitforcontext 'tobetamed' 8 20000
    waitforgump 0x909cc741 15000
    @replygump 0x909cc741 2
    @ignoreobject 'tobetamed'
    @unsetalias 'tobetamed'
    replay
  elseif @injournal 'You fail to tame the creature' or @injournal 'too far away'
    replay
  elseif @injournal 'You have no chance of taming this creature' or @injournal 'do not have a clear path to the animal'
    replay
  elseif @injournal 'This animal has had too many owners' or @injournal 'That animal looks tame already'
    @ignoreobject 'tobetamed'
    @unsetalias 'tobetamed'
    replay
  else
    pause 400
    if not @inrange 'tobetamed' 1
      if @x 'tobetamed' > x 'self' and @y 'tobetamed' > y 'self'
        walk 'Southeast'
      elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' > y 'self'
        walk 'Southwest'
      elseif @x 'tobetamed' > x 'self' and @y 'tobetamed' < y 'self'
        walk 'Northeast'
      elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' < y 'self'
        walk 'Northwest'
      elseif @x 'tobetamed' > x 'self' and @y 'tobetamed' == y 'self'
        walk 'East'
      elseif @x 'tobetamed' < x 'self' and @y 'tobetamed' == y 'self'
        walk 'West'
      elseif @x 'tobetamed' == x 'self' and @y 'tobetamed' > y 'self'
        walk 'South'
      elseif @x 'tobetamed' == x 'self' and @y 'tobetamed' < y 'self'
        walk 'North'
      endif
    endif
  endif
endwhile
Cure Target

Code: Select all

//Cure Target by Radament
//V 1.0
// Remember to adjust pause timer according to your FCR and FC ability so it doesnt break for trying to cast too fast. 1500 ms should be ok for everyone if your stats are maxed 200 will do.
@unsetalias 'boundedtarget'
if not @findalias 'boundedtarget'
  headmsg 'Select Bounded Target'
  promptalias 'boundedtarget'
endif
while @hits 'boundedtarget' < 99
  if poisoned 'boundedtarget' and mana > 6
    msg '[cs purge'
    waitfortarget 5000
    target! 'boundedtarget'
  endif
  if not timerexists 'bandie'
    createtimer 'bandie'
    settimer 'bandie' 3000
  endif
  if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
    msg '[band'
    waitfortarget 15000
    @target! 'boundedtarget'
    settimer 'bandie' 0
    @clearjournal
  endif
  if not timerexists 'boon'
    createtimer 'boon'
    settimer 'boon' 30000
  endif
  if timer 'boon' >=  30000
    if mana > 20
      pause 1500
      msg '[cs sacredboon'
      waitfortarget 15000
      @target! 'boundedtarget'
      settimer 'boon' 0
    endif
  endif
  if mana > 12
    pause 1000
    msg '[cs touchoflife'
    waitfortarget 15000
    @target! 'boundedtarget'
  endif
endwhile
Bowcraft/Fletching Trainer

Code: Select all

//Bowcrafting/ Fletching trainer by Radament
//V1.3
//Before Starting this Macro make sure you dont have a bow in your backpack (like a YUMI) that you may want to keep. Place it somewhere else or the macro will trash it.
if not @listexists 'junk'
  createlist 'junk'
  pushlist 'junk' 0x13b2
  pushlist 'junk' 0xf50
  pushlist 'junk' 0x13fd
  pushlist 'junk' 0x27a5
  pushlist 'junk' 0x2806
  pushlist 'junk' 0x26c3
endif
if not @findobject 'trash'
  headmsg 'Select your trash barrel'
  promptalias 'trash'
endif
if not @findobject 'woodworkerskeys'
  headmsg 'Select Wood Workers Keys'
  promptalias 'woodworkerskeys'
endif
if not @findobject 'toolhouse'
  headmsg 'Select Tool House'
  promptalias 'toolhouse'
endif
//Extract wood from woodwokerskeys
for 0 to 10
  if not @findtype 0x1bd7 'any' 'backpack' 30
    @useobject 'woodworkerskeys'
    waitforgump 173511501 15000
    //It will extract 10 times boards from your keys. Remember to set the amount you want to extract according to your backpack capacity. If you set the amount at 100 it will exctract 1000 boards alternatively you could change below the times you want to execute the order to 5 instead of 10.
    for 0 to 10
      replygump 0xa57934d 60000
      waitforgump 173511501 15000
    endfor
    replygump 0xa57934d 0
  endif
  //Extract Bowcraft/Fletcher Kits from Tool House
  if not @findtype 0x1022 'any' 'backpack' 30
    @useobject 'toolhouse'
    waitforgump 1513449091 15000
    replygump 0x5a356683 60005
    waitforgump 1513449091 15000
    replygump 0x5a356683 0
  endif
  //Starts Crafting
  @usetype 0x1022 0x0 'backpack'
  waitforgump 949095101 15000
  if skill 'bowcraft' < 30
    headmsg 'Buy more bowcraft skill!'
    stop
  elseif skill 'bowcraft' < 50
    replygump 0x38920abd 15
    waitforgump 949095101 15000
    for 0 to 5
      replygump 0x38920abd 2
      waitforgump 949095101 15000
      pause 1000
    endfor
  elseif skill 'bowcraft' < 90
    replygump 0x38920abd 8
    waitforgump 949095101 15000
    for 0 to 5
      replygump 0x38920abd 16
      waitforgump 949095101 15000
      pause 1000
    endfor
  elseif skill 'bowcraft' < 100
    replygump 0x38920abd 15
    waitforgump 949095101 15000
    for 0 to 5
      replygump 0x38920abd 30
      waitforgump 949095101 15000
      pause 1000
    endfor
  elseif skill 'bowcraft' < 120
    replygump 0x38920abd 15
    waitforgump 949095101 15000
    for 0 to 5
      replygump 0x38920abd 37
      waitforgump 949095101 15000
      pause 1000
    endfor
  else
    headmsg 'Bowcraft complete!'
    stop
  endif
  replygump 0x38920abd 0
  pause 500
  for 0 to junk
    while @movetype junk[] 'backpack' 'trash'
    endwhile
  endfor
endfor
Buff Self

Code: Select all

//Self Buffer by Radament
//v 1.0
// Adjust pause timers to your FC and FCR ability so the macro dont stop for trying to cast to fast.
if  @findlayer 'self' 1
  @setalias 'rightitem' 'found'
endif
if  @findlayer 'self' 2
  @setalias 'leftitem' 'found'
endif
//Initial Buffs No weapons are equiped
if skill 'magery' > 20 and mana > 6
  if not timerexists 'protection'
    createtimer 'protection'
    settimer 'protection' 300000
  endif
  if timer 'protection' >= 300000
    if  skill 'chivalry' > 35 and timer 'bless' > 10000
      if @inrange 'enemy' 1 and   mana > 10
        cast 'Dispel evil'
      endif
    endif
    cast "protection" // Agi, Str and Int Buff
    waitfortarget 5000
    @target! 'self'
    settimer 'protection' 0
  endif
endif
if not timerexists 'buffs'
  createtimer 'buffs'
  settimer 'buffs' 100000
endif
if timer 'buffs' >=  100000
  while  mana < 25
    pause 1000
    useskill 'meditation'
    pause 8000
  endwhile
  pause 500
  cast 'bless'
  waitfortarget 15000
  @target! 'self'
  pause 500
  cast 'cunning'
  waitfortarget 15000
  @target! 'self'
  pause 500
  cast 'agility'
  waitfortarget 15000
  @target! 'self'
  pause 500
  cast 'strength'
  waitfortarget 15000
  @target! 'self'
endif
if not @findlayer 'self' 1
  @equipitem 'rightitem' 1
endif
if not @findlayer 'self' 2
  @equipitem 'leftitem' 2
endif
Bushido Trainer

Code: Select all

if skill "Bushido" < 60
  cast "Confidence"
  pause 2000
elseif skill "Bushido" < 75
  cast "Counter Attack"
  pause 2000
elseif skill "Bushido" < 97.5
  cast "Evasion"
  pause 2000
elseif skill "Bushido" < 120
  cast "momentum strike"
  pause 2000
endif
Carpentry Trainer

Code: Select all

//Carpentry Trainer by Radament
//v 1.0
if not @findobject 'trash'
  headmsg 'Select your trash barrel'
  promptalias 'trash'
endif
if not @findobject 'woodworkerskeys'
  headmsg 'Select Wood Workers Keys'
  promptalias 'woodworkerskeys'
endif
for 0 to 10
  if not @findtype 0x1bd7 'any' 'backpack' 30
    @useobject 'woodworkerskeys'
    waitforgump 173511501 15000
    //It will extract 10 times boards from your keys. Remember to set the amount you want to extract according to your backpack capacity. If you set the amount at 100 it will exctract 1000 boards alternatively you could change below the times you want to execute the order to 5 instead of 10.
    for 0 to 10
      replygump 0xa57934d 60000
      waitforgump 173511501 15000
    endfor
    replygump 0xa57934d 0
  endif
  if skill 'carpentry' < 21
    headmsg 'Buy more tinkering skill!'
    stop
  elseif skill 'carpentry' < 35
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 15
      waitforgump 949095101 15000
      replygump 0x38920abd 2
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 47.3
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 15
      waitforgump 949095101 15000
      replygump 0x38920abd 16
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 52.6
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 43
      waitforgump 949095101 15000
      replygump 0x38920abd 79
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 60
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 29
      waitforgump 949095101 15000
      replygump 0x38920abd 2
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 70
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 22
      waitforgump 949095101 15000
      replygump 0x38920abd 37
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 73.6
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 22
      waitforgump 949095101 15000
      replygump 0x38920abd 30
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 78.9
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 16
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 103.9
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 22
      waitforgump 949095101 15000
      replygump 0x38920abd 23 gnarled staff
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 110
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 22
      waitforgump 949095101 15000
      replygump 0x38920abd 44
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 111.8
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 1
      waitforgump 949095101 15000
      replygump 0x38920abd 44
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 115
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 15
      waitforgump 949095101 15000
      replygump 0x38920abd 65
      waitforgump 949095101 15000
    endif
  elseif skill 'carpentry' < 120
    if @usetype 0x1034 0x0 'backpack'
      waitforgump 949095101 15000
      replygump 0x38920abd 1
      waitforgump 949095101 15000
      replygump 0x38920abd 142
      waitforgump 949095101 15000
    endif
  else
    headmsg 'Carpentry complete!'
    stop
  endif
endfor
while @findtype 0x9aa 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0xe3f 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0x1f52 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0x1f52 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0x1f52 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
Chivalry Trainer

Code: Select all

if skill "Chivalry" < 40
  cast "Consecrate Weapon"
  ELSEIF skill "Chivalry" < 55
  cast "Divine Fury"
  ELSEif skill "Chivalry" < 69
  cast "Enemy of One"
  ELSEIF skill "Chivalry" < 88
  cast "Holy Light"
  ELSEIF skill "Chivalry" < 120
  cast "Noble Sacrifice"
endif
pause 2500
Runebook Cloner

Code: Select all

// Modified version of Hawt Runebook Cloner, added runebook book copy from a library and cast protection so you dont get interrupted by monsters also customized to Excelsior Shard. I also added some prompt messages.
// Description: Automatic Runebook Cloner.
// You need to insert the names of each rune on the "Names" List. IT will run over and over if a location is blocked untill it makes it passed too the rune.
//You also need to place the a rune marked with the library location next to the shelf you are getting the book from, place this rune in the first slot of your blank runebook.
//===========================================================
//Select runebook to be cloned
if not findalias 'ToBeCloned'
  msg 'Select Source book'
  promptalias 'ToBeCloned'
endif
//Select a blank book
if not findalias 'Blank Runebook'
  msg 'Select Blank Runebook'
  promptalias 'Blank Runebook'
endif
//Lists
clearlist 'Runes'
clearlist 'Names'
if not listexists 'Runes'
  createlist 'Runes'
endif
if list 'Runes' == 0
  pushlist 'Runes' 5
  pushlist 'Runes' 15
  pushlist 'Runes' 25
  pushlist 'Runes' 35
  pushlist 'Runes' 45
  pushlist 'Runes' 55
  pushlist 'Runes' 65
  pushlist 'Runes' 75
  pushlist 'Runes' 85
  pushlist 'Runes' 95
  pushlist 'Runes' 105
  pushlist 'Runes' 115
  pushlist 'Runes' 125
  pushlist 'Runes' 135
  pushlist 'Runes' 145
endif
if not listexists 'Names'
  createlist 'Names'
endif
//Name Runes
if list 'Names' == 0
  pushlist 'Names' 'Petrified 1'
  pushlist 'Names' 'Petrified 2'
  pushlist 'Names' 'Petrified 3'
  pushlist 'Names' 'Petrified 4'
  pushlist 'Names' 'Petrified 5'
  pushlist 'Names' 'Petrified 6'
  pushlist 'Names' 'Petrified 7'
  pushlist 'Names' 'Petrified 8'
  pushlist 'Names' 'Petrified 9'
  pushlist 'Names' 'Petrified 10'
  pushlist 'Names' 'Petrified 11'
  pushlist 'Names' 'Petrified 12'
  pushlist 'Names' 'Petrified 13'
  pushlist 'Names' 'Petrified 14'
  pushlist 'Names' 'Petrified 15'
endif
if not @findtype 0x1f14 any 'backpack'
  sysmsg 'Out of blank runes!' 25
  pause 100
  playsound 984
  pause 100
  playsound 987
  pause 100
  playsound 988
  pause 100
  messagebox 'Error'  '*No Runes restock & restart*'
  stop
endif
clearjournal
for 0 to 'Runes'
  if  mana <= 30
    useskill 'Meditation'
    while not mana == maxmana
    endwhile
  endif
  pause 1500
  if not timerexists 'protection'
    createtimer 'protection'
    settimer 'protection' 300000
  endif
  if timer 'protection' >= 300000
    cast "protection" // Agi, Str and Int Buff
    waitfortarget 5000
    @target! 'self'
    settimer 'protection' 0
  endif
  useobject! 'ToBeCloned'
  waitforgump 0x554b87f3 15000
  replygump 0x554b87f3 Runes[0]
  pause 3500
  if injournal 'blocked' 'system'
    replay
  endif
  if @findtype 0x1f14 0 'backpack' 1 2
    autotargetobject 'found'
    cast 'Mark'
    pause 3500
    useobject! 'found'
    waitforprompt 15000
    promptmsg Names[0]
    pause 2000
    moveitem 'found' 'Blank Runebook'
    pause 2000
    useobject! 'Blank Runebook'
    waitforgump 0x554b87f3 15000
    replygump 0x554b87f3 5
    pause 3500
    if @injournal 'blocked' 'system'
      replay
    endif
    pause 2000
    if @injournal 'Names[0]' 'system'
      @poplist 'Names' 'front'
      @poplist 'Runes' 'front'
    endif
  else
    playsound 984
    pause 100
    playsound 987
    pause 100
    playsound 988
    pause 100
    messagebox 'Error'  '*No Runes restock & restart*'
    stop
  endif
endfor
Cure Self

Code: Select all

//Self Healer by Radament
// Version 1.0
// Remember to adjust pause timmer to your Fast cast recovery and faster cast ability, if you cast to fast it will stop the macro.
while @diffhits > 5
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  if not timerexists 'bandie'
    createtimer 'bandie'
    settimer 'bandie' 3000
  endif
  if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
    msg '[bandself'
    settimer 'bandie' 0
    @clearjournal
  endif
  if mana > 12
    pause 500
    msg '[cs touchoflife'
    waitfortarget 15000
    @target! 'self'
  endif
endwhile
Dextery Ointment Mixer

Code: Select all

//Dextery Ointment Mixer by Radament
//Macro will use all ointments in backpack make sure you put just the amount you need to mix.
@unsetalias 'baseointments'
if not @findalias 'spellcasterkeys'
  headmsg 'Select Spell Casters Keys'
  promptalias 'spellcasterkeys'
endif
if not @findalias 'baseointments'
  headmsg 'Select Base Ointment'
  promptalias 'baseointments'
endif
while not dead
  if @findtype 0xf7b 'any' 'backpack' 90
    @useobject 'baseointments'
    waitfortarget 15000
    @targettype 0xf7b 'any' 'backpack'
    pause 500
  elseif @useobject 'spellcasterkeys'
    waitforgump 247257139 15000
    replygump 0xebcd833 60001
    waitforgump 247257139 15000
    replygump 0xebcd833 0
    pause 1000
  endif
endwhile

Discordance

Code: Select all

//Discordance by Radament
// v 1.0
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
if inrange 'enemy' 3
  getenemy  'gray' 'closest'
  pause 5000
endif
@unsetalias 'instrument'
if not timerexists 'discordance'
  createtimer 'discordance'
  settimer 'discordance' 10500
endif
if timer 'discordance' >= 10500
  for 0 to 'instruments'
    if @findtype instruments[] 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'discordance'
      waitfortarget 2000
      settimer 'discordance' 0
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        @target! 'enemy'
        clearjournal
      else
        @target! 'enemy'
      endif
    endif
  endfor
endif
if inrange 'enemy' 3
  getenemy 'any' 'nearest'
  pause 5000
endif
@unsetalias 'instrument'
if not timerexists 'discordance'
  createtimer 'discordance'
  settimer 'discordance' 10500
endif
if timer 'discordance' >= 10500
  for 0 to 'instruments'
    if @findtype instruments[] 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'discordance'
      waitfortarget 2000
      settimer 'discordance' 0
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        @target! 'enemy'
        clearjournal
      else
        @target! 'enemy'
      endif
    endif
  endfor
endif
if inrange 'enemy' 6
  getenemy  'gray' 'closest'
  pause 5000
endif
@unsetalias 'instrument'
if not timerexists 'discordance'
  createtimer 'discordance'
  settimer 'discordance' 10500
endif
if timer 'discordance' >= 10500
  for 0 to 'instruments'
    if @findtype instruments[] 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'discordance'
      waitfortarget 2000
      settimer 'discordance' 0
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        @target! 'enemy'
        clearjournal
      else
        @target! 'enemy'
      endif
    endif
  endfor
endif
if inrange 'enemy' 9
  getenemy  'gray' 'closest'
  pause 5000
endif
@unsetalias 'instrument'
if not timerexists 'discordance'
  createtimer 'discordance'
  settimer 'discordance' 10500
endif
if timer 'discordance' >= 10500
  for 0 to 'instruments'
    if @findtype instruments[] 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'discordance'
      waitfortarget 2000
      settimer 'discordance' 0
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        @target! 'enemy'
        clearjournal
      else
        @target! 'enemy'
      endif
    endif
  endfor
endif
if inrange 'enemy' 12
  getenemy  'gray' 'closest'
  pause 5000
endif
@unsetalias 'instrument'
if not timerexists 'discordance'
  createtimer 'discordance'
  settimer 'discordance' 10500
endif
if timer 'discordance' >= 10500
  for 0 to 'instruments'
    if @findtype instruments[] 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'discordance'
      waitfortarget 2000
      settimer 'discordance' 0
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        @target! 'enemy'
        clearjournal
      else
        @target! 'enemy'
      endif
    endif
  endfor
endif
Peacemaking

Code: Select all

// Peacemaking by Radament
//v 1.0
if skill 'peacemaking' > 20
  @unsetalias 'instrument'
  if not timerexists 'peacemaking'
    createtimer 'peacemaking'
    settimer 'peacemaking' 10500
  endif
  if timer 'peacemaking' >= 10500
    @unsetalias 'instrument'
    if @findtype '0xeb1' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    elseif @findtype '0xeb2' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    elseif @findtype '0xeb3' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    elseif @findtype '0xe9c' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    elseif @findtype '0xe9d' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    elseif @findtype '0xe9e' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    elseif @findtype '0x2805' 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        target! 'self'
        clearjournal
      else
        target! 'self'
      endif
    endif
  endif
endif
if skill 'ninjitsu' > 40
  pause 2000
  cast 'mirror image'
  pause 2000
  cast 'mirror image'
  pause 2000
  cast 'mirror image'
  pause 2000
  cast 'mirror image'
endif
Citadel First Key Fetcher

Code: Select all

// Citadel First Key Fetcher by Radament (Copper Key)
// Stand in the central chair that is like a throne
if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
endif
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
for 0 to 500
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 20000
      endif
      if timer 'guard' >= 20000
        msg 'all guard me'
        settimer 'guard' 0
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 2000
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 3000
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'closest' 'murderer'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if murderer 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
        endif
        if followers > 0
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            target! 'any'
            settimer 'petkill' 0
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  if not timerexists 'bandage'
    createtimer 'bandage'
    settimer 'bandage' 8000
  endif
  while @diffhits > 30
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @diffhits > 40
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
    if mana > 11
      pause 1500
      cast 'sacred boon'
      waitfortarget 5000
      target 'self'
    endif
    if mana > 9
      pause 1500
      msg '[cs touchoflife'
      waitfortarget 5000
      target! 'self'
    endif
  endwhile
  if @findtype '0xeed' 'any' 'backpack' 10000
    if @findtype 0xc8 'any'
      setalias 'mule' 'found'
      while not @inrange 'mule' 2
        msg 'All guard me'
        pause 300
      endwhile
      @findtype 0xeed 'any' 'backpack'
      @movetype 0xeed 'backpack''mule'
    endif
  endif
  @unsetalias 'found'
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
  if not findalias 'SpellCasterkeys'
    promptalias 'SpellCasterkeys'
  endif
  useobject 'SpellCasterkeys'
  waitforgump 247257139 15000
  pause 500
  if @findtype 0xf7a 'any' 'backpack'
    while @findtype 0xf7a 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf7b 'any' 'backpack'
    while @findtype 0xf7b 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf7c 'any' 'backpack'
    while @findtype 0xf7c 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf7d 'any' 'backpack'
    while @findtype 0xf7d 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf7e 'any' 'backpack'
    while @findtype 0xf7e 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf78 'any' 'backpack'
    while @findtype 0xf78 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf8a 'any' 'backpack'
    while @findtype 0xf8a 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf8b 'any' 'backpack'
    while @findtype 0xf8b 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf8c 'any' 'backpack'
    while @findtype 0xf8c 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf8d 'any' 'backpack'
    while @findtype 0xf8d 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf8e 'any' 'backpack'
    while @findtype 0xf8e 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf8f 'any' 'backpack'
    while @findtype 0xf8f 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf84 'any' 'backpack'
    while @findtype 0xf84 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf85 'any' 'backpack'
    while @findtype 0xf85 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf86 'any' 'backpack'
    while @findtype 0xf86 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf87 'any' 'backpack'
    while @findtype 0xf87 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xf88 'any' 'backpack'
    while @findtype 0xf88 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0xef3 'any' 'backpack'
    while @findtype 0xef3 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  if @findtype 0x1f14 'any' 'backpack'
    while @findtype 0x1f14 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
  replygump 0xebcd833 0
Emergency Hiding

Code: Select all

//Emergency hiding by Radament
//v1.0

if not timerexists 'hide'
  createtimer 'hide'
  settimer 'hide' 10100
endif
if timer 'hide'>= 10100
  useskill 'hiding'
  settimer 'hide' 0
endif
cast 'Mirror Image'
pause 3000
Inscription Trainer

Code: Select all

// Inscription Trainer by Radament
// v 1.0

if not @findobject 'trash'
  headmsg 'Select your trash barrel'
  promptalias 'trash'
endif
@unsetalias 'found'
if skill 'inscription' < 50
  useskill 'Inscription'
  waitfortarget 15000
  target! 0x4019ebed
  waitfortarget 15000
  target! 0x4019bef8
  pause 1500
endif
if skill 'inscription' >= 50
  @usetype 0xfbf 'any''backpack'
  waitforgump 3681859679 15000
  if skill 'inscription' < 57.5
    for 0 to 5
      replygump 0xdb74b85f 60026
      waitforgump 3681859679 15000
      pause 4500
    endfor
  elseif skill 'inscription' < 71.4
    for 0 to 5
      replygump 0xdb74b85f 60026
      waitforgump 3681859679 15000
      pause 5500
    endfor
  elseif skill 'inscription' < 85.7
    for 0 to 5
      replygump 0xdb74b85f 60030
      waitforgump 3681859679 15000
      pause 6500
    endfor
  elseif skill 'inscription' < 90
    for 0 to 5
      replygump 0xdb74b85f 60020
      waitforgump 3681859679 15000
      pause 7500
    endfor
  elseif skill 'inscription' < 104
    for 0 to 5
      replygump 0xdb74b85f 60020
      waitforgump 3681859679 15000
      pause 10500
    endfor
    replygump 0xdb74b85f 0
  endif
endif
while @findtype 0x1f52 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0x1f5c 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0x1f5f 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while @findtype 0x1602 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
while findtype 0x2259 'any' 'backpack'
  moveitemoffset 'found' 'ground' 0 1 0 1
  pause 1000
endwhile
while @findtype 0x1f67 'any' 'backpack'
  pause 200
  @moveitem 'found' 'trash'
  pause 1000
endwhile
Lockpick Trainer

Code: Select all

// Lockpick trainning by Radament
// This Macro uses Practice locks to train.
if not @findalias 'Lockpick'
  msg 'Select Lockpick'
  promptalias 'Lockpick'
endif
if not @findalias 'Box'
  msg 'Select Box to Lockpick'
  promptalias 'Box'
endif
while @findobject 'Box'
  pause 200
  @useobject 'lockpick'
  waitfortarget 15000
  @target 'box'
  pause 4000
endwhile
unsetalias 'Lockpick'
unsetalias 'Box'
Lumberjacking

Code: Select all

//Lumberjacking by Radament
//v 1.3
//This is not automatic requires you to actually click on the tree, also will cast protections in case you are farming runic kits.
if not @findalias 'woodworkerskeys'
  promptalias 'woodworkerskeys'
endif
if not @findalias 'runichouse'
  promptalias 'runichouse'
endif
if not timerexists 'hide'
  createtimer 'hide'
  settimer 'hide' 9100
endif
if timer 'hide'>= 9100
  useskill 'hiding'
  settimer 'hide' 0
endif
if hidden and timer 'hide'>= 10100
  useskill 'stealth'
  settimer 'hide' 0
endif
@unsetalias 'found'
@findtype 0xf45 'any' 'backpack'
@equipitem 'found' 1
for 0 to 3
  msg 'all guard me'
  if @findlayer 'self' 1 or @findlayer 'self' 2
    if skill 'bushido' > 80 and mana > 10
      if not timerexists 'evasion'
        createtimer 'evasion'
        settimer 'evasion' 8000
      endif
      if timer 'evasion' >= 8000 and not buffexists 'evasion'
        pause 2000
        cast 'evasion'
        settimer 'evasion' 0
      endif
    endif
  endif
  pause 2000
  cast 'Mirror Image'
  if direction == 0
    targettileoffset! 0 0 0 5
  elseif direction == 1
    targettileoffset! 1 -1 0
  elseif direction == 2
    targettileoffset! 1 0 0
  elseif direction == 3
    targettileoffset! 1 1 0
  elseif direction == 4
    targettileoffset! 0 1 0
  elseif direction == 5
    targettileoffset! -1 1 0
  elseif direction == 6
    targettileoffset! -1 0 0
  elseif direction == 7
    targettileoffset! -1 -1 0
  endif
  pause 1500
  useobject 'lefthand'
  waitfortarget 15000
  @targetground! 'any'
  pause 1500
endfor
while @findtype 0x1bdd 'any' 'backpack' > 100
  pause 500
  useobject 'lefthand'
  waitfortarget 5000
  @findtype 0x1bdd
  @target! 'found' 'any' 'backpack'
  pause 500
endwhile
if @findtype 0x1bd7 'any' 'backpack'
  pause 200
  useobject 'woodworkerskeys'
  waitforgump 173511501 15000
  while @findtype 0x1bd7 'any' 'backpack'
    replygump 0xa57934d 60023
    waitforgump 173511501 15000
    @target! 'found' 'any' 'backpack'
    waitforgump 173511501 15000
  endwhile
  replygump 0xa57934d 0
  pause 500
endif
@unsetalias 'found'
if @findtype 0x318f 'any' 'backpack'
  pause 200
  useobject 'woodworkerskeys'
  waitforgump 173511501 15000
  while @findtype 0x318f 'any' 'backpack'
    replygump 0xa57934d 60023
    waitforgump 173511501 15000
    @target! 'found' 'any' 'backpack'
    waitforgump 173511501 15000
  endwhile
  replygump 0xa57934d 0
  pause 500
endif
if @findtype 0x2f5f 'any' 'backpack'
  pause 200
  useobject 'woodworkerskeys'
  waitforgump 173511501 15000
  while @findtype 0x2f5f 'any' 'backpack'
    replygump 0xa57934d 60023
    waitforgump 173511501 15000
    @target! 'found' 'any' 'backpack'
    waitforgump 173511501 15000
  endwhile
  replygump 0xa57934d 0
  pause 500
endif
if @findtype 0x3191 'any' 'backpack'
  pause 200
  useobject 'woodworkerskeys'
  waitforgump 173511501 15000
  while @findtype 0x3191 'any' 'backpack'
    replygump 0xa57934d 60023
    waitforgump 173511501 15000
    @target! 'found' 'any' 'backpack'
    waitforgump 173511501 15000
  endwhile
  replygump 0xa57934d 0
  pause 500
endif
if @findtype 0x1022 'any' 'backpack'
  useobject 'runichouse'
  waitforgump 810195827 15000
  while @findtype 0x1022 'any' 'backpack'
    pause 200
    replygump 0x304a9b73 999
    waitforgump 810195827 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
  if @findtype 0x3190 'any' 'backpack'
    useobject 'runichouse'
    waitforgump 810195827 15000
    while @findtype 0x3190 'any' 'backpack'
      pause 200
      replygump 0x304a9b73 999
      waitforgump 810195827 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
    replygump 0x304a9b73 0
  endif
gusrab
Passer by
Posts: 4
Joined: Tue Nov 06, 2018 11:18 pm

Radament's Macro Library - Part 3

Post by gusrab »

Magery and Resist Spell Trainer

Code: Select all

////////////////////////////////////
//   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' < 120
  if @injournal 'insufficient mana'
    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
    elseif skill 'magery' < 120
      if mana > 50
        cast 'earthquake' 'self'
        pause 1000
      endif
    else
      headmsg 'Magery complete!'
      stop
    endif
  endif
elseif skill 'resisting spells' < 120
  if @injournal 'insufficient mana'
    clearjournal
    useskill 'meditation'
    while mana < maxmana
    endwhile
  else
    cast 'mana vampire' 'self'
    pause 1000
  endif
else
  headmsg 'Magery and resisting spells complete!'
  stop
endif
while mana < 50
  useskill 'meditation'
  pause 5000
endwhile
Mule Runebook Miner

Code: Select all

//Runebook Miner by Radament
//v1.1
//Instructions:
//1 - Make sure you have some shovels in your backpack.
//2 - You need a runebook fill with runes marked with your mining locations.
//3 - For this to work the first slot needs to have a rune marked in a position close to the chest where you are going to drop the ore (Is better to have this chest next to a forge in a secure house).
//4 - Select Loop and Save this macro.
//5 - Start the Macro and select your packing animal were you are gonna store the ore while you mine.
//6 - Select your runebook.
//7 - Select the chest where you gonna drop the ore (the one mentioned before).
// The macro should rune trough all the locations in your mining Runebook and then recall to the chest location to drop the cargo again and again and again.
//This macro is based on the script published by Weland and a Runebook tutorial I found in youtube made by Vlek.
//---------------------- Let the mine Begin!!  ------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
if not @findalias 'Mule'
  promptalias 'Mule'
endif
if not @findalias 'MineRunebook'
  promptalias 'MineRunebook'
endif
if not @findalias 'orecontainer'
  promptalias 'orecontainer'
endif
if @listexists 'runebookslots'
  @clearlist 'runebookslots'
endif
@createlist 'runebookslots'
pushlist 'runebookslots' 15
pushlist 'runebookslots' 25
pushlist 'runebookslots' 35
pushlist 'runebookslots' 45
pushlist 'runebookslots' 55
pushlist 'runebookslots' 65
pushlist 'runebookslots' 75
pushlist 'runebookslots' 85
pushlist 'runebookslots' 95
pushlist 'runebookslots' 105
pushlist 'runebookslots' 115
pushlist 'runebookslots' 125
pushlist 'runebookslots' 135
pushlist 'runebookslots' 145
pushlist 'runebookslots' 155
pause 500
if counttype! 0x19b9 'Any' 'Mule' > 0
  pause 200
  @pushlist 'runebookslots' 5
  pause 300
  msg 'all follow me'
  pause 3000
  useobject 'MineRunebook'
  waitforgump 0x554b87f3 15000
  replygump 0x554b87f3 runebookslots[15]
  pause 3000
  useobject 'orecontainer'
  pause 1000
  useobject 'Mule'
  pause 2000
  useobject 'self'
  pause 1000
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @findtype 0x19b9 'any' 'Mule'
  @movetype 0x19b9 'Mule' 'orecontainer'
  pause 500
  @poplist 'runebookslots' 5
  pause 500
endif
pause 500
if @counttype 0x19b9 'any' 'backpack' < 188
  @movetype 0x19b9 'backpack' 'Mule'
endif
pause 1000
if not @listexists 'miningerrormessages'
  createlist 'miningerrormessages'
  pushlist 'miningerrormessages' 'no metal here'
  pushlist 'miningerrormessages' "You can't mine there"
  pushlist 'miningerrormessages' "Target cannot be seen"
  pushlist 'miningerrormessages' "You can't mine that"
endif
pause 2000
for 0 to 14 in 'runebookslots'
  while mana < 11
    pause 1000
    useskill 'meditation'
  endwhile
  pause 500
  if counttype! 0x19b9 'Any' 'Mule' > 3
    pause 200
    @pushlist 'runebookslots' 5
    pause 300
    msg 'all follow me'
    pause 3000
    useobject 'MineRunebook'
    waitforgump 0x554b87f3 15000
    replygump 0x554b87f3 runebookslots[15]
    pause 3000
    useobject 'orecontainer'
    pause 1000
    useobject 'Mule'
    pause 2000
    useobject 'self'
    pause 1000
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @findtype 0x19b9 'any' 'Mule'
    @movetype 0x19b9 'Mule' 'orecontainer'
    pause 500
    @poplist 'runebookslots' 5
    pause 500
  endif
  if not @listexists 'miningerrormessages'
    createlist 'miningerrormessages'
    pushlist 'miningerrormessages' 'no metal here'
    pushlist 'miningerrormessages' "You can't mine there"
    pushlist 'miningerrormessages' "Target cannot be seen"
    pushlist 'miningerrormessages' "You can't mine that"
  endif
  pause 500
  msg 'all follow me'
  pause 3000
  useobject 'MineRunebook'
  waitforgump 0x554b87f3 15000
  replygump 0x554b87f3 runebookslots[]
  pause 2500
  msg 'all guard me'
  pause 500
  for 0 to 5
    turn "South"
    pause 200
    if counttype 0x19b9 'any' 'backpack' < 188
      movetype 0x19b9 'backpack' 'Mule'
    endif
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 0 1 0
    pause 1500
    turn "Southwest"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 1 1 0
    pause 1500
    turn "West"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 1 0 0
    pause 1500
    turn "Northwest"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 1 -1 0
    pause 1500
    turn "North"
    pause 200
    if counttype 0x19b9 'any' 'backpack' < 188
      movetype 0x19b9 'backpack' 'Mule'
    endif
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 0 -1 0
    pause 1500
    turn "Northeast"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset -1 -1 0
    pause 1500
    turn "East"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset -1 0 0
    pause 1500
    turn "Southeast"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset -1 1 0
    pause 1500
  endfor
endfor
Mistvale Quest Items Fetcher

Code: Select all

//Mistvale Quest item collector by Radament
//v 1.1
//Use Object Inspector on item or items you want to collect and set findtype with that graphic value and also set targettype with the same. If you have to collect just 1 type of item erase the second loop.
while @findtype 0x3f31 'any' 'backpack'
  @usetype 0x3f3d 'any' 'backpack'
  waitforgump 3311653225 15000
  replygump 0xc563d169 700
  waitforgump 3311653225 15000
  waitfortarget 15000
  @targettype! 0x3f31 'any' 'backpack'
  waitforgump 3311653225 15000
endwhile
while @findtype 0x3b92 'any' 'backpack'
  @usetype 0x3f3d 'any' 'backpack'
  waitforgump 3311653225 15000
  replygump 0xc563d169 700
  waitforgump 3311653225 15000
  waitfortarget 15000
  @targettype! 0x3b92 'any' 'backpack'
  waitforgump 3311653225 15000
endwhile
pause 500
replygump 0xc563d169 0
pause 200
canceltarget
Mobile Forge Runebook Miner

Code: Select all

//Mobile Forge Runebook Miner by Radament
//v1.0
//
//Instructions:
//1 - Make sure you have some shovels in your backpack.
//2 - You need a runebook fill with runes marked with your mining locations.
//3 - You will need to have a Mobile Forge and Metal Worker keys in your backpack.
//4 - Select Loop and Save this macro.
//5 - Start the macro and select your Mining Runebook.
//6 - Select your Metal Worker's Keys.
//The macro should mine all the tiles around your marked locations, smelt the ore and add them in your keys.
//
//---------------------- Let the mine Begin!!  ------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//
if not @findalias 'MineRunebook'
  promptalias 'MineRunebook'
endif
if not @findalias 'metalworkerskeys'
  promptalias 'metalworkerskeys'
endif
if @listexists 'runebookslots'
  @clearlist 'runebookslots'
endif
@createlist 'runebookslots'
pushlist 'runebookslots' 5
pushlist 'runebookslots' 15
pushlist 'runebookslots' 25
pushlist 'runebookslots' 35
pushlist 'runebookslots' 45
pushlist 'runebookslots' 55
pushlist 'runebookslots' 65
pushlist 'runebookslots' 75
pushlist 'runebookslots' 85
pushlist 'runebookslots' 95
pushlist 'runebookslots' 105
pushlist 'runebookslots' 115
pushlist 'runebookslots' 125
pushlist 'runebookslots' 135
pushlist 'runebookslots' 145
pushlist 'runebookslots' 155
pause 1000
if not @listexists 'miningerrormessages'
  createlist 'miningerrormessages'
  pushlist 'miningerrormessages' 'no metal here'
  pushlist 'miningerrormessages' "You can't mine there"
  pushlist 'miningerrormessages' "Target cannot be seen"
  pushlist 'miningerrormessages' "You can't mine that"
endif
pause 2000
for 0 to 15 in 'runebookslots'
  while mana < 11
    pause 1000
    useskill 'meditation'
  endwhile
  pause 500
  useobject 'MineRunebook'
  waitforgump 0x554b87f3 15000
  replygump 0x554b87f3 runebookslots[]
  pause 500
  for 0 to 4
    if @counttype 0x1bf2 'any' 'backpack' > 0
      pause 200
      useobject 'metalworkerskeys'
      waitforgump 4213074123 15000
      replygump 0xfb1e68cb 60015
      waitforgump 4213074123 15000
      @targettype 0x1bf2 'any' 'backpack'
      pause 200
    endif
  endfor
  for 0 to 3
    for 0 to 4
      if @counttype 0x19b9 'any' 'backpack' > 0
        @usetype! 0x19b9
        waitfortarget 1000
        @targettype! 0xe32
        pause 500
      endif
    endfor
    turn "South"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 0 1 0
    pause 1500
    turn "Southwest"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 1 1 0
    pause 1500
    turn "West"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 1 0 0
    pause 1500
    turn "Northwest"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 1 -1 0
    pause 1500
    turn "North"
    pause 200
    if @counttype 0x1bf2 'any' 'backpack' > 0
      @findtype 0x1bf2 'any' 'backpack'
      useobject 'metalworkerskeys'
      pause 500
      replygump 0xfb1e68cb 60015
      waitforgump 4213074123 15000
      @target 'found'
      pause 200
    endif
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset 0 -1 0
    pause 1500
    turn "Northeast"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset -1 -1 0
    pause 1500
    turn "East"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset -1 0 0
    pause 1500
    turn "Southeast"
    pause 200
    if @findtype 0xe86 'any' 'backpack' or @findtype 0xf39 'any' 'backpack'
      @useobject 'found'
    else
      sysmsg "You do not have any digging tools!"
      stop
    endif
    waitfortarget 1000
    targettileoffset -1 1 0
    pause 1500
  endfor
endfor
Gold Mover(Sends gold to bank or to Mule)

Code: Select all

//Move Gold by Radament
//v 1.0
//You can adjust values, is set at 10000 for mule and 20k for bang of sending (For this to work the only bag on your back should me a bag of sending)
if @findtype '0xeed' 'any' 'backpack' 20000
  @usetype '0xe76' 'any' 'backpack'
  waitfortarget 10000
  @targettype 0xeed 'any' 'backpack'
endif
if @findtype '0xeed' 'any' 'backpack' 10000
  if @findtype 0xc8
    setalias 'mule' 'found'
    while not @inrange 'mule' 2
      msg 'All follow me'
      pause 300
    endwhile
    @findtype 0xeed 'any' 'backpack'
    @moveitem 'found''mule'
  endif
endif
Ninjitsu Trainer

Code: Select all

//Ninjitsu Trainer
//Make sure you have a suitable weapon equiped
if skill 'ninjitsu' < 45
  warmode 'off'
  pause 200
  useskill 'hiding'
  pause 11000
  useskill 'stealth'
  for 0 to 5
    warmode 'on'
    pause 2000
    cast 'backstab'
    pause 1000
    getenemy 'any''closest'
    pause 1000
    attack! 'enemy'
    pause 5000
    warmode 'off'
    pause 3000
  endfor
elseif skill 'ninjitsu' < 65
  cast 'Mirror Image'
  pause 3000
elseif skill 'ninjitsu' < 85
  pause 2000
  cast 'Focus Attack'
elseif skill 'ninjitsu' < 100
  cast 'Death Strike'
  pause 3000
elseif skill 'ninjitsu' >= 100
  headmsg 'Finished Ninjitsu!'
  stop
elseif skill 'ninjitsu' = 120
  headmsg 'Train Finish!'
  stop
endif
if mana > 50
  pause 2000
  cast 'earthquake'
  pause 3000
endif
Peacemaking trainer

Code: Select all

//Peacemaking trainer by Radament
//v 1.0
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
@unsetalias 'instrument'
if not timerexists 'peace'
  createtimer 'peace'
  settimer 'peace' 10500
endif
if timer 'peace' >= 10500
  for 0 to 'instruments'
    if @findtype instruments[] 'any''backpack'
      @setalias 'instrument' 'found'
      useskill 'peacemaking'
      waitfortarget 2000
      settimer 'peace' 0
      if @injournal 'what instrument'
        @target! 'instrument'  0x0 'backpack'
        waitfortarget 2000
        @target! 'self'
        clearjournal
      else
        @target! 'self'
      endif
    endif
  endfor
endif
Pet Healer

Code: Select all

//Pet Healer By Radament
//v1.5
// You have to configure the list by adding the serials of your pets (extract serial using object inspector then copy and paste)
if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
  @pushlist 'petlist' 0xd7f4e //Hades
  @pushlist 'petlist' 0xd33f7 //Apollo
  @pushlist 'petlist' 0x9b019 //Cerberus
  @pushlist 'petlist' 0x7c506 //Zeus
  @pushlist 'petlist' 0x81f41 //Poseidon
endif
@unsetalias 'Pet1'
@unsetalias 'Pet2'
@unsetalias 'Pet3'
@unsetalias 'Pet4'
@unsetalias 'Pet5'
while not dead
  if followers > 0
    if not mounted 'self' or followers > 1
      @unsetalias 'boundedtarget'
      //Removes pets if mounted, stabled or you get too far away
      if @findalias 'Pet1' and not @findobject 'Pet1'
        @unsetalias 'Pet1'
      endif
      if @findalias 'Pet2' and not @findobject 'Pet2'
        @unsetalias 'Pet2'
      endif
      if @findalias 'Pet3' and not @findobject 'Pet3'
        @unsetalias 'Pet3'
      endif
      if @findalias 'Pet4' and not @findobject 'Pet4'
        @unsetalias 'Pet4'
      endif
      if @findalias 'Pet5' and not @findobject 'Pet5'
        @unsetalias 'Pet5'
      endif
      //makes sure the pets never equal each other
      if @findalias 'Pet1' and @findalias 'Pet2'
        if @serial 'Pet1' == @serial 'Pet2'
          @unsetalias 'Pet2'
        endif
      endif
      if @findalias 'Pet2' and @findalias 'Pet3'
        if @serial 'Pet2' == @serial 'Pet3'
          @unsetalias 'Pet3'
        endif
      endif
      if @findalias 'Pet3' and @findalias 'Pet4'
        if @serial 'Pet3' == @serial 'Pet4'
          @unsetalias 'Pet4'
        endif
      endif
      if @findalias 'Pet4' and @findalias 'Pet5'
        if @serial 'Pet4' == @serial 'Pet5'
          @unsetalias 'Pet5'
        endif
      endif
      if @findalias 'Pet5' and @findalias 'Pet1'
        if @serial 'Pet5' == @serial 'Pet1'
          @unsetalias 'Pet1'
        endif
      endif
      // Assign Aliases to active pets on list
      if not @findobject 'Pet1' or not @findobject 'Pet2' or not @findobject 'Pet3' or not @findobject 'Pet4' or not @findobject 'Pet5'
        for 0 to 'petlist'
          if @findobject petlist[] 'any' 'ground' 0 30
            if not @findobject 'Pet1'
              @setalias 'Pet1' petlist[]
            elseif not @findobject 'Pet2' and @serial 'Pet1' != 'petlist[]'
              @setalias 'Pet2' petlist[]
            elseif not @findobject 'Pet3' and @serial 'Pet2' != 'petlist[]'
              @setalias 'Pet3' petlist[]
            elseif not @findobject 'Pet4' and @serial 'Pet3' != 'petlist[]'
              @setalias 'Pet4' petlist[]
            elseif not @findobject 'Pet5' and @serial 'Pet4' != 'petlist[]'
              @setalias 'Pet5' petlist[]
            endif
          endif
        endfor
      endif
      //Selects target to heal
      if @findobject 'pet1' and @hits 'pet1' < 30
        @setalias  'boundedtarget' 'pet1'
      elseif @findobject 'pet2' and @hits 'pet2' < 30
        @setalias  'boundedtarget' 'pet2'
      elseif @findobject 'pet3' and @hits 'pet3' < 30
        @setalias  'boundedtarget' 'pet3'
      elseif @findobject 'pet4' and @hits 'pet4' < 30
        @setalias  'boundedtarget' 'pet4'
      elseif @findobject 'pet5' and @hits 'pet5' < 30
        @setalias  'boundedtarget' 'pet5'
      endif
      if not @findalias 'boundedtarget'
        if @findobject 'pet1' and @hits 'pet1' < 60
          @setalias  'boundedtarget' 'pet1'
        elseif @findobject 'pet2' and @hits 'pet2' < 60
          @setalias  'boundedtarget' 'pet2'
        elseif @findobject 'pet3' and @hits 'pet3' < 60
          @setalias  'boundedtarget' 'pet3'
        elseif @findobject 'pet4' and @hits 'pet4' < 60
          @setalias  'boundedtarget' 'pet4'
        elseif @findobject 'pet5' and @hits 'pet5' < 60
          @setalias  'boundedtarget' 'pet5'
        endif
      endif
      if not @findalias 'boundedtarget'
        if @findobject 'pet1' and @hits 'pet1' < 80
          @setalias  'boundedtarget' 'pet1'
        elseif @findobject 'pet2' and @hits 'pet2' < 80
          @setalias  'boundedtarget' 'pet2'
        elseif @findobject 'pet3' and @hits 'pet3' < 80
          @setalias  'boundedtarget' 'pet3'
        elseif @findobject 'pet4' and @hits 'pet4' < 80
          @setalias  'boundedtarget' 'pet4'
        elseif @findobject 'pet5' and @hits 'pet5' < 80
          @setalias  'boundedtarget' 'pet5'
        endif
      endif
      //Cure Bounded Target
      @unsetalias 'found'
      if @findalias 'boundedtarget'
        while  @hits 'boundedtarget' < 95
          while not @inrange 'boundedtarget' 1
            msg 'All follow me'
            pause 300
          endwhile
          if poisoned 'boundedtarget' and mana > 6
            msg '[cs purge'
            waitfortarget 5000
            target! 'boundedtarget'
          endif
          if not timerexists 'bandie'
            createtimer 'bandie'
            settimer 'bandie' 3000
          endif
          if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
            msg '[band'
            waitfortarget 15000
            @target! 'boundedtarget'
            settimer 'bandie' 0
            @clearjournal
          endif
          if not timerexists 'boon'
            createtimer 'boon'
            settimer 'boon' 30000
          endif
          if timer 'boon' >=  30000
            if mana > 20
              pause 1500
              msg '[cs sacredboon'
              waitfortarget 15000
              @target! 'boundedtarget'
              settimer 'boon' 0
            endif
          endif
          if mana > 12
            pause 200
            msg '[cs touchoflife'
            waitfortarget 15000
            @target! 'boundedtarget'
          endif
        endwhile
      endif
    endif
  endif
endwhile
Pet Buffer

Code: Select all

//Pet Buffer By Radament
//v1.0
// You have to configure the list by adding the serials of your pets (extract serial using object inspector then copy and paste)
if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
  @pushlist 'petlist' 0xd7f4e //Hades
  @pushlist 'petlist' 0xd33f7 //Apollo
  @pushlist 'petlist' 0x9b019 //Cerberus
  @pushlist 'petlist' 0x7c506 //Zeus
  @pushlist 'petlist' 0x81f41 //Poseidon
endif
@unsetalias 'Pet1'
@unsetalias 'Pet2'
@unsetalias 'Pet3'
@unsetalias 'Pet4'
@unsetalias 'Pet5'
if followers > 0
  if not mounted 'self' or followers > 1
    @unsetalias 'boundedtarget'
    //Removes pets if mounted, stabled or you get too far away
    if @findalias 'Pet1' and not @findobject 'Pet1'
      @unsetalias 'Pet1'
    endif
    if @findalias 'Pet2' and not @findobject 'Pet2'
      @unsetalias 'Pet2'
    endif
    if @findalias 'Pet3' and not @findobject 'Pet3'
      @unsetalias 'Pet3'
    endif
    if @findalias 'Pet4' and not @findobject 'Pet4'
      @unsetalias 'Pet4'
    endif
    if @findalias 'Pet5' and not @findobject 'Pet5'
      @unsetalias 'Pet5'
    endif
    //makes sure the pets never equal each other
    if @findalias 'Pet1' and @findalias 'Pet2'
      if @serial 'Pet1' == @serial 'Pet2'
        @unsetalias 'Pet2'
      endif
    endif
    if @findalias 'Pet2' and @findalias 'Pet3'
      if @serial 'Pet2' == @serial 'Pet3'
        @unsetalias 'Pet3'
      endif
    endif
    if @findalias 'Pet3' and @findalias 'Pet4'
      if @serial 'Pet3' == @serial 'Pet4'
        @unsetalias 'Pet4'
      endif
    endif
    if @findalias 'Pet4' and @findalias 'Pet5'
      if @serial 'Pet4' == @serial 'Pet5'
        @unsetalias 'Pet5'
      endif
    endif
    if @findalias 'Pet5' and @findalias 'Pet1'
      if @serial 'Pet5' == @serial 'Pet1'
        @unsetalias 'Pet1'
      endif
    endif
    // Assign Aliases to active pets on list
    if not @findobject 'Pet1' or not @findobject 'Pet2' or not @findobject 'Pet3' or not @findobject 'Pet4' or not @findobject 'Pet5'
      for 0 to 'petlist'
        if @findobject petlist[] 'any' 'ground' 0 30
          if not @findobject 'Pet1'
            @setalias 'Pet1' petlist[]
          elseif not @findobject 'Pet2' and @serial 'Pet1' != 'petlist[]'
            @setalias 'Pet2' petlist[]
          elseif not @findobject 'Pet3' and @serial 'Pet2' != 'petlist[]'
            @setalias 'Pet3' petlist[]
          elseif not @findobject 'Pet4' and @serial 'Pet3' != 'petlist[]'
            @setalias 'Pet4' petlist[]
          elseif not @findobject 'Pet5' and @serial 'Pet4' != 'petlist[]'
            @setalias 'Pet5' petlist[]
          endif
        endif
      endfor
    endif
    //Applies buffs
    if not timerexists 'buffs'
      createtimer 'buffs'
      settimer 'buffs' 100000
    endif
    if timer 'buffs' >=  100000
      if @findalias 'pet1'
        pause 500
        cast 'bless'
        waitfortarget 15000
        @target! 'pet1'
        pause 500
        cast 'cunning'
        waitfortarget 15000
        @target! 'pet1'
        pause 500
        cast 'agility'
        waitfortarget 15000
        @target! 'pet1'
        pause 500
        cast 'strength'
        waitfortarget 15000
        @target! 'pet1'
      endif
      while  mana < 25
        pause 1000
        useskill 'meditation'
        pause 8000
      endwhile
      if @findalias 'pet2'
        pause 500
        cast 'bless'
        waitfortarget 15000
        @target! 'pet2'
        pause 500
        cast 'cunning'
        waitfortarget 15000
        @target! 'pet2'
        pause 500
        cast 'agility'
        waitfortarget 15000
        @target! 'pet2'
        pause 500
        cast 'strength'
        waitfortarget 15000
        @target! 'pet2'
      endif
      while  mana < 25
        pause 1000
        useskill 'meditation'
        pause 8000
      endwhile
      if @findalias 'pet3'
        pause 500
        cast 'bless'
        waitfortarget 15000
        @target! 'pet3'
        pause 500
        cast 'cunning'
        waitfortarget 15000
        @target! 'pet3'
        pause 500
        cast 'agility'
        waitfortarget 15000
        @target! 'pet3'
        pause 500
        cast 'strength'
        waitfortarget 15000
        @target! 'pet3'
      endif
      while  mana < 25
        pause 1000
        useskill 'meditation'
        pause 8000
      endwhile
      if @findalias 'pet4'
        pause 500
        cast 'bless'
        waitfortarget 15000
        @target! 'pet4'
        pause 500
        cast 'cunning'
        waitfortarget 15000
        @target! 'pet4'
        pause 500
        cast 'agility'
        waitfortarget 15000
        @target! 'pet4'
        pause 500
        cast 'strength'
        waitfortarget 15000
        @target! 'pet4'
      endif
      while  mana < 25
        pause 1000
        useskill 'meditation'
        pause 8000
      endwhile
      if @findalias 'pet5'
        pause 500
        cast 'bless'
        waitfortarget 15000
        @target! 'pet5'
        pause 500
        cast 'cunning'
        waitfortarget 15000
        @target! 'pet5'
        pause 500
        cast 'agility'
        waitfortarget 15000
        @target! 'pet5'
        pause 500
        cast 'strength'
        waitfortarget 15000
        @target! 'pet5'
      endif
      settimer 'buffs' 0
    endif
  endif
endif
Provoke Nearest (Not Tested)

Code: Select all

unsetalias 'provoke1'
unsetalias 'provoke2'
//Get first mob
if getenemy 'gray' 'criminal' 'enemy' 'nearest'
  @setalias 'provoke1' 'enemy'
else
  sysmsg 'No Mobs within range to provoke'
  stop
endif
//Get Second mob - because 'nearest' is used, it will not select the same mob as above as nearest cycles through the two closest mobs
if getenemy 'gray' 'criminal' 'enemy' 'nearest'
  @setalias 'provoke2' 'enemy'
else
  sysmsg 'No Mobs within range to provoke'
  stop
endif
if getenemy 'murderer' 'humanoid'
  setalias 'asshat' 'enemy'
  headmsg 'Found Murderer'
endif
useskill 'Provocation'
pause 600
waitfortarget 1500
target! 'provoke1'
waitfortarget 1500
if findalias 'asshat'
  target! 'asshat'
  pause 600
  msg 'all kill'
  waitfortarget 1500
  target! 'asshat'
  unsetalias 'asshat'
else
  target! 'provoke2'
endif
Citadel Second Key Fetcher (Silver Key)

Code: Select all

//Second Key Gatehering by Radament.
//Macro for collecting second key in the Citadel.(Walks in a circle)
if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
endif
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
for 0 to 250
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 20000
      endif
      if timer 'guard' >= 20000
        msg 'all guard me'
        settimer 'guard' 0
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 2000
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 3000
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'closest' 'murderer'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if murderer 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
        endif
        if followers > 0
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            target! 'any'
            settimer 'petkill' 0
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  if not timerexists 'bandage'
    createtimer 'bandage'
    settimer 'bandage' 8000
  endif
  while @diffhits > 30
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @diffhits > 40
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
    if mana > 11
      pause 1500
      cast 'sacred boon'
      waitfortarget 5000
      target 'self'
    endif
    if mana > 9
      pause 1500
      msg '[cs touchoflife'
      waitfortarget 5000
      target! 'self'
    endif
  endwhile
  if @findtype '0xeed' 'any' 'backpack' 25000
    if @findtype 0xc8 1254
      setalias 'mule' 'found'
      while not @inrange 'mule' 2
        msg 'All guard me'
        pause 300
      endwhile
      @findtype 0xeed 'any' 'backpack'
      @moveitem 'found''mule'
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
endfor
if not findalias 'SpellCasterkeys'
  promptalias 'SpellCasterkeys'
endif
useobject 'SpellCasterkeys'
waitforgump 247257139 15000
pause 500
if @findtype 0xf7a 'any' 'backpack'
  while @findtype 0xf7a 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf7b 'any' 'backpack'
  while @findtype 0xf7b 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf7c 'any' 'backpack'
  while @findtype 0xf7c 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf7d 'any' 'backpack'
  while @findtype 0xf7d 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf7e 'any' 'backpack'
  while @findtype 0xf7e 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf78 'any' 'backpack'
  while @findtype 0xf78 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf8a 'any' 'backpack'
  while @findtype 0xf8a 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf8b 'any' 'backpack'
  while @findtype 0xf8b 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf8c 'any' 'backpack'
  while @findtype 0xf8c 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf8d 'any' 'backpack'
  while @findtype 0xf8d 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf8e 'any' 'backpack'
  while @findtype 0xf8e 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf8f 'any' 'backpack'
  while @findtype 0xf8f 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf84 'any' 'backpack'
  while @findtype 0xf84 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf85 'any' 'backpack'
  while @findtype 0xf85 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf86 'any' 'backpack'
  while @findtype 0xf86 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf87 'any' 'backpack'
  while @findtype 0xf87 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xf88 'any' 'backpack'
  while @findtype 0xf88 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0xef3 'any' 'backpack'
  while @findtype 0xef3 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
if @findtype 0x1f14 'any' 'backpack'
  while @findtype 0x1f14 'any' 'backpack'
    pause 200
    replygump 0xebcd833 60030
    waitforgump 247257139 15000
    @target! 'found' 'any' 'backpack'
    pause 1000
  endwhile
endif
replygump 0xebcd833 0
turn "East"
pause 500
walk "East"
pause 500
walk "East"
pause 500
walk "East"
pause 500
walk "East"
pause 2500
cast 'focus attack'
pause 2500
turn "North"
pause 500
walk "North"
pause 500
walk "North"
pause 500
walk "North"
pause 500
walk "North"
pause 500
for 0 to 250
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 20000
      endif
      if timer 'guard' >= 20000
        msg 'all guard me'
        settimer 'guard' 0
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 2000
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 3000
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'closest' 'murderer'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if murderer 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
        endif
        if followers > 0
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            target! 'any'
            settimer 'petkill' 0
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  if not timerexists 'bandage'
    createtimer 'bandage'
    settimer 'bandage' 8000
  endif
  while @diffhits > 30
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @diffhits > 40
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
    if mana > 11
      pause 1500
      cast 'sacred boon'
      waitfortarget 5000
      target 'self'
    endif
    if mana > 9
      pause 1500
      msg '[cs touchoflife'
      waitfortarget 5000
      target! 'self'
    endif
  endwhile
  if @findtype '0xeed' 'any' 'backpack' 25000
    if @findtype 0xc8 1254
      setalias 'mule' 'found'
      while not @inrange 'mule' 2
        msg 'All guard me'
        pause 300
      endwhile
      @findtype 0xeed 'any' 'backpack'
      @moveitem 'found''mule'
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
endfor
useskill 'hiding'
turn "West"
pause 500
walk "West"
pause 500
walk "West"
pause 500
walk "West"
pause 500
walk "West"
pause 5000
turn "South"
pause 500
walk "South"
pause 500
walk "South"
pause 500
walk "South"
pause 500
walk "South"
pause 4000
useskill 'stealth'
pause 1000
cast 'Mirror Image'
for 0 to 250
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 20000
      endif
      if timer 'guard' >= 20000
        msg 'all guard me'
        settimer 'guard' 0
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 2000
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 3000
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'closest' 'murderer'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if murderer 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
        endif
        if followers > 0
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            target! 'any'
            settimer 'petkill' 0
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  if not timerexists 'bandage'
    createtimer 'bandage'
    settimer 'bandage' 8000
  endif
  while @diffhits > 30
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
  endwhile
  if poisoned 'self' and mana > 6
    pause 1500
    msg '[cs purge'
    waitfortarget 5000
    target! 'self'
  endif
  while @diffhits > 40
    if  skill 'chivalry' > 35
      if @inrange 'enemy' 2 and  mana > 10
        pause 1500
        cast 'Dispel Evil'
        pause 500
      endif
    endif
    if @injournal 'finish applying' 'system' or timer 'bandage' >= 8000
      msg '[bandself'
      @clearjournal
      settimer 'bandage' 0
    endif
    if mana > 11
      pause 1500
      cast 'sacred boon'
      waitfortarget 5000
      target 'self'
    endif
    if mana > 9
      pause 1500
      msg '[cs touchoflife'
      waitfortarget 5000
      target! 'self'
    endif
  endwhile
  if @findtype '0xeed' 'any' 'backpack' 25000
    if @findtype 0xc8 1254
      setalias 'mule' 'found'
      while not @inrange 'mule' 2
        msg 'All guard me'
        pause 300
      endwhile
      @findtype 0xeed 'any' 'backpack'
      @moveitem 'found''mule'
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 20000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
endfor
gusrab
Passer by
Posts: 4
Joined: Tue Nov 06, 2018 11:18 pm

Radament's Macro Library - Part 4

Post by gusrab »

Regeant Organizer (Store looted regeants in your backpack to your spell caster keys)

Code: Select all

//Spellcaster Organizer by Radament
//v 1.0
if not findalias 'SpellCasterkeys'
  headmsg 'Select Spell Casters Keys'
  promptalias 'SpellCasterkeys'
endif
useobject 'SpellCasterkeys'
waitforgump 247257139 15000
pause 500
if @findtype 0xf7a 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7a 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf7b 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7b 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
      if injournal 'gump id not found' 'system'
        @clearjournal
        break
      endif
    endwhile
  endif
endif
if @findtype 0xf7c 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7c 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf7d 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7d 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf7e 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7e 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf78 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf78 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8a 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8a 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8b 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8b 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8c 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8c 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8d 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8d 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8e 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8e 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8f 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8f 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf84 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf84 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf85 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf85 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf86 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf86 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf87 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf87 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf88 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf88 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xef3 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xef3 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf80 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf80 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0x1f14 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0x1f14 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
replygump 0xebcd833 0
@canceltarget!
Spirit Speak Trainer

Code: Select all

if not timerexists 'spirit'
  createtimer 'spirit'
  settimer 'spirit' 5200
endif
if timer 'spirit' >= 5200
  useskill 'Spirit Speak'
  settimer 'spirit' 0
  @clearjournal
endif
if @injournal 'you fail your attempt' 'system' and timer 'spirit' >= 5200
  useskill 'Spirit Speak'
  settimer 'spirit' 0
  @clearjournal
endif
Stamina Oint Mixer

Code: Select all

//Stamina Oint Mixer by Radament
// v 1.0
//Macro will use all ointments in backpack make sure you put just the amount you need to mix.
@unsetalias 'baseointments'
if not @findalias 'spellcasterkeys'
  headmsg 'Select Spell Casters Keys'
  promptalias 'spellcasterkeys'
endif
if not @findalias 'baseointments'
  headmsg 'Select Base Ointments'
  promptalias 'baseointments'
endif
while not dead
  if @findtype 0xf7a 'any' 'backpack' 140
    @useobject 'baseointments'
    waitfortarget 15000
    @targettype 0xf7a 'any' 'backpack'
    pause 500
  elseif @useobject 'spellcasterkeys'
    waitforgump 247257139 15000
    replygump 0xebcd833 60000
    waitforgump 247257139 15000
    replygump 0xebcd833 0
    pause 1000
  endif
endwhile
Stealth Trainer

Code: Select all

//Stealth Trainer by Radament
//v1.0
//Walks in circles
useskill 'Hiding'
pause 11000
useskill 'Stealth'
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
turn "South"
pause 300
walk "South"
pause 300
walk "South"
pause 300
walk "South"
pause 300
walk "South"
pause 300
walk "West"
pause 300
walk "West"
pause 300
walk "West"
pause 300
walk "West"
pause 300
turn "North"
pause 300
walk "North"
pause 300
walk "North"
pause 300
walk "North"
pause 300
walk "North"
pause 6500
Citadel Third Key Fetcher (Gold Key)

Code: Select all

// Third Key Fetcher by Radament
//v 1.0
//Macro for collecting third key in the Citadel. Start the macro two steps away from the wall at the end of the room.
if not listexists 'petlist'
  createlist 'petlist'
  //Add an entry for each pet you hunt with:
  @pushlist 'petlist' 0x3a4f4 // Angel
  @pushlist 'petlist' 0x460f5 // Venus
  @pushlist 'petlist' 0xa2d5b //Thunder
  @pushlist 'petlist' 0xa2d62 // Arya
  @pushlist 'petlist' 0xa2d4f //Moon
  @pushlist 'petlist' 0x3c708 //Twilight
  @pushlist 'petlist' 0x3c733 //Darkness
  @pushlist 'petlist' 0x139c05 //Shadow
  @pushlist 'petlist' 0x3c717 //Moonlight
  @pushlist 'petlist' 0x3c6f5 //Twister
  @pushlist 'petlist' 0xd7f4e //Hades
  @pushlist 'petlist' 0xd33f7 //Apollo
  @pushlist 'petlist' 0x9b019 //Cerberus
  @pushlist 'petlist' 0x7c506 //Zeus
  @pushlist 'petlist' 0x81f41 //Poseidon
endif
if not listexists 'instruments'
  createlist 'instruments'
  @pushlist 'instruments' 0xeb1
  @pushlist 'instruments' 0xeb2
  @pushlist 'instruments' 0xeb3
  @pushlist 'instruments' 0xe9c
  @pushlist 'instruments' 0xe9d
  @pushlist 'instruments' 0xe9e
  @pushlist 'instruments' 0x2805
endif
@unsetalias 'found'
@unsetalias 'mule'
if not findalias 'woodworkerskeys'
  headmsg 'Select Wood Workers Keys'
  promptalias 'woodworkerskeys'
endif
if not @timerexists 'step1'
  @createtimer 'step1'
  @settimer 'step1' 20000
endif
if not findalias 'SpellCasterkeys'
  headmsg 'Select Spell Casters Keys'
  promptalias 'SpellCasterkeys'
endif
//Make sure you have arrows
if not @findtype 0xf3f 'any' 'backpack'
  useobject 'woodworkerskeys'
  waitforgump 173511501 15000
  replygump 0xa57934d 60013
  waitforgump 173511501 15000
  replygump 0xa57934d 0
endif
//Move Gold to Mule
if @findtype '0xeed' 'any' 'backpack' 24000
  if @findtype 0xc8
    setalias 'mule' 'found'
    while not @inrange 'mule' 2
      msg 'All guard me'
      pause 300
    endwhile
    @findtype 0xeed 'any' 'backpack'
    @moveitem 'found''mule'
  endif
endif
if @findtype '0xeed' 'any' 'backpack' 19000
  @usetype '0xe76' 'any' 'backpack'
  waitfortarget 10000
  @targettype 0xeed 'any' 'backpack'
endif
while @timer 'step1' < 25000
  pause 1000
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 20000
      endif
      if timer 'guard' >= 20000
        msg 'all guard me'
        settimer 'guard' 0
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 2000
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 3000
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'closest' 'murderer'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if murderer 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
        endif
        if followers > 0
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            target! 'any'
            settimer 'petkill' 0
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  while @hits  < 99
    if not timerexists 'bandie'
      createtimer 'bandie'
      settimer 'bandie' 3000
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 120000
    endif
    if mana > 70 and timer 'divine' >= 120000
      pause 1000
      msg '[cs divinefocus'
      settimer 'divine'0
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 1500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  //Move Gold to Mule
  if @findtype '0xeed' 'any' 'backpack' 24000
    if @findtype 0xc8
      setalias 'mule' 'found'
      while not @inrange 'mule' 2
        msg 'All guard me'
        pause 300
      endwhile
      @findtype 0xeed 'any' 'backpack'
      @moveitem 'found''mule'
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 19000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
endwhile
//Organize Reagents in keys
useobject 'SpellCasterkeys'
waitforgump 247257139 15000
pause 500
if @findtype 0xf7a 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7a 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf7b 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7b 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
      if injournal 'gump id not found' 'system'
        @clearjournal
        break
      endif
    endwhile
  endif
endif
if @findtype 0xf7c 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7c 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf7d 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7d 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf7e 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf7e 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf78 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf78 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8a 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8a 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8b 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8b 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8c 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8c 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8d 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8d 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8e 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8e 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf8f 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf8f 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf84 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf84 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf85 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf85 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf86 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf86 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf87 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf87 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xf88 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xf88 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0xef3 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0xef3 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
if @findtype 0x1f14 'any' 'backpack'
  if @gumpexists 'any'
    while @findtype 0x1f14 'any' 'backpack'
      pause 200
      replygump 0xebcd833 60030
      waitforgump 247257139 15000
      @target! 'found' 'any' 'backpack'
      pause 1000
    endwhile
  endif
endif
pause 500
replygump 0xebcd833 0
@canceltarget!
turn "East"
pause 300
useskill 'hiding'
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 5000
walk "East"
pause 300
useobject 0x40012c1a
pause 500
msg 'all follow me'
pause 500
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 5000
useskill 'stealth'
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
walk "East"
pause 300
settimer 'step1' 0
@unsetalias 'found'
@unsetalias 'mule'
while @timer 'step1' < 25000
  pause 1000
  // Sets weapon if you are carrying it
  if  @findlayer 'self' 1
    @setalias 'rightitem' 'found'
  endif
  if  @findlayer 'self' 2
    @setalias 'leftitem' 'found'
  endif
  // Protection while buffs are applied
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 20000
      endif
      if timer 'guard' >= 20000
        msg 'all guard me'
        settimer 'guard' 0
      endif
    endif
  endif
  //Equip Weapons
  if not @findlayer 'self' 1
    @equipitem 'rightitem' 1
  endif
  if not @findlayer 'self' 2
    @equipitem 'leftitem' 2
  endif
  //Special Moves before hiting
  if not timerexists 'ability'
    createtimer 'ability'
    settimer 'ability' 3000
  endif
  if skill 'bushido' > 70 and mana > 10
    if timer 'ability' >= 3000
      cast 'momentum strike'
      settimer 'ability' 0
    endif
  elseif skill 'ninjitsu' > 60 and mana > 20
    if timer 'ability' >= 3000
      cast 'focus attack'
      settimer 'ability' 0
    endif
  elseif skill 'bushido' > 50 and mana > 5
    if timer 'ability' >= 3000
      cast 'lightning strike'
      settimer 'ability' 0
    endif
  elseif  mana > 19
    if not setability 'primary' 'on' and
      if timer 'ability' >= 2000
        setability 'primary' 'on'
        settimer 'ability' 0
      endif
    endif
  elseif   mana > 19
    if not setability 'secondary' 'on' and
      if mounted 'self'
        if timer 'ability' >= 3000
          setability 'secondary' 'on'
          settimer 'ability' 0
        endif
      endif
    endif
  elseif skill 'bushido' > 95
    if timer 'ability' >= 3000
      cast 'honorable execution'
      settimer 'ability' 0
    endif
  endif
  //-------------------------- First Attack ---------------------------
  warmode 'on'
  if not timerexists 'kill'
    createtimer 'kill'
    settimer 'kill' 3000
  endif
  if timer 'kill' >= 3000
    @getenemy 'closest' 'murderer'
    if @graphic 'enemy' != 0xc8
      if @findobject 'enemy'
        @autotargetobject! 'enemy'
        if criminal 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if gray 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
          @cancelautotarget
        endif
        if murderer 'enemy'
          @attack! 'enemy'
          @target! 'enemy'
          @clearusequeue
        endif
        if followers > 0
          if not timerexists 'petkill'
            createtimer 'petkill'
            settimer 'petkill' 5000
          endif
          if timer 'petkill' >= 5000 and followers > 0
            msg 'all kill'
            waitfortarget 5000
            target! 'any'
            settimer 'petkill' 0
          endif
        endif
      endif
    endif
    settimer 'kill' 0
  endif
  //Buffs while Attacking
  if @findlayer 'self' 2
    if skill 'chivalry' > 30 and mana > 10
      if not timerexists 'consecrateweapon'
        createtimer 'consecrateweapon'
        settimer 'consecrateweapon' 11000
      endif
      if timer 'consecrateweapon' >= 11000
        pause 1500
        cast 'consecrate weapon'
        settimer 'consecrateweapon' 0
      endif
    endif
  endif
  if skill 'chivalry' > 25 and mana > 15
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 20000
    endif
    if timer 'divine' >= 20000
      pause 1500
      cast 'divine fury'
      settimer 'divine' 0
    endif
  endif
  // Uses Discordance if you have an instrument
  if @findobject 'enemy' and skill 'discordance' > 20
    @unsetalias 'instrument'
    if not timerexists 'discordance'
      createtimer 'discordance'
      settimer 'discordance' 10500
    endif
    if timer 'discordance' >= 10500
      for 0 to 'instruments'
        if @findtype instruments[] 'any''backpack'
          @setalias 'instrument' 'found'
          useskill 'discordance'
          waitfortarget 2000
          settimer 'discordance' 0
          if @injournal 'what instrument'
            @target! 'instrument'  0x0 'backpack'
            waitfortarget 2000
            @target! 'enemy'
            clearjournal
          else
            @target! 'enemy'
          endif
        endif
      endfor
    endif
  endif
  // Pets Guard you while healing
  if followers > 0
    if not mounted 'self' or followers > 1
      if not timerexists 'guard'
        createtimer 'guard'
        settimer 'guard' 10000
      endif
      if timer 'guard' >= 10000 and @diffhits > 10
        msg 'all guard me'
      endif
    endif
  endif
  //Auto heal self routines
  while @hits  < 99
    if not timerexists 'bandie'
      createtimer 'bandie'
      settimer 'bandie' 3000
    endif
    if @injournal 'finish applying' 'system' or timer 'bandie' >= 3000
      msg '[bandself'
      settimer 'bandie' 0
      @clearjournal
    endif
    if not timerexists 'divine'
      createtimer 'divine'
      settimer 'divine' 120000
    endif
    if mana > 70 and timer 'divine' >= 120000
      pause 1000
      msg '[cs divinefocus'
      settimer 'divine'0
    endif
    if not timerexists 'boon'
      createtimer 'boon'
      settimer 'boon' 30000
    endif
    if timer 'boon' >=  30000
      if mana > 20
        pause 1500
        msg '[cs sacredboon'
        waitfortarget 15000
        @target! 'self'
        settimer 'boon' 0
      endif
    endif
    if mana > 12
      pause 1500
      msg '[cs touchoflife'
      waitfortarget 15000
      @target! 'self'
    endif
    if mana < 12
      @usetype! 0x13a8 'any' 0x4095b7ed
      waitfortarget 500
      @target! 'self'
    endif
  endwhile
  //Move Gold to Mule
  if @findtype '0xeed' 'any' 'backpack' 24000
    if @findtype 0xc8
      setalias 'mule' 'found'
      while not @inrange 'mule' 2
        msg 'All guard me'
        pause 300
      endwhile
      @findtype 0xeed 'any' 'backpack'
      @moveitem 'found''mule'
    endif
  endif
  if @findtype '0xeed' 'any' 'backpack' 19000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
  msg 'all follow me'
  turn 'west'
  pause 300
  useskill 'hiding'
  walk "west"
  pause 300
  walk "west"
  pause 5000
  turn "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 2000
  walk "North"
  pause 300
  walk "North"
  pause 300
  turn "South"
  pause 300
  walk "South"
  pause 300
  walk "South"
  pause 300
  walk "South"
  pause 300
  turn "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 5000
  walk "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 300
  useskill 'stealth'
  walk "West"
  pause 300
  walk "West"
  pause 300
  walk "West"
  pause 5000
  walk "West"
  pause 300
  walk "West"
  pause 300
  turn "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 2000
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  walk "North"
  pause 300
  turn "South"
  pause 300
  walk "South"
  pause 300
  walk "South"
  pause 300
  walk "South"
  pause 300
  settimer 'step1' 0
  if @findtype '0xeed' 'any' 'backpack' 19000
    @usetype '0xe76' 'any' 'backpack'
    waitfortarget 10000
    @targettype 0xeed 'any' 'backpack'
  endif
Tinkering Trainer

Code: Select all

//Tinkering Trainer by Radament
//v 1.0
if not @findobject 'trash'
  headmsg 'Select your trash barrel'
  promptalias 'trash'
endif
pause 500
@findtype 0x14f5 'any' 'backpack'
pause 200
@moveitem 'found' 'trash'
pause 1000
pause 500
@findtype 0x2833 'any' 'backpack'
pause 200
@moveitem 'found' 'trash'
pause 1000
if skill 'tinkering' < 30
  headmsg 'Buy more tinkering skill!'
  stop
endif
if skill 'tinkering' < 30
  headmsg 'Buy more tinkering skill!'
  stop
  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
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' < 108
  if usetype 0x1eb8 0x0 'backpack'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 29
    waitforgump 949095101 15000
    replygump 0x38920abd 23
    waitforgump 949095101 15000
  endif
elseif skill 'tinkering' < 120
  if usetype 0x1eb8 0x0 'backpack'
    waitforgump 0x38920abd 15000
    replygump 0x38920abd 29
    waitforgump 949095101 15000
    replygump 0x38920abd 72
    waitforgump 949095101 15000
  endif
elseif
else
  headmsg 'Tinkering complete!'
  stop
endif
Necromancy Trainer

Code: Select all

////////////////////////////////////
//   This macro is designed for   //
//   training Necromancy from 40. //
//                                //
//  Turn on loop and click play!  //
//                                //
//      ~~Made by Vertex101~~     //
////////////////////////////////////
if skill 'Necromancy' < 100
  if @injournal 'insufficient mana'
    clearjournal
    useskill 'Meditation'
    while mana < maxmana
    endwhile
  else
    if skill 'Necromancy' < 40
      headmsg 'Please buy skill to continue!'
      stop
    elseif skill 'Necromancy' < 55
      cast "Wraith Form"
      waitfortarget 7000
    elseif skill 'Necromancy' < 75
      cast "Horrific Beast"
      waitfortarget 7000
    elseif skill 'Necromancy' < 90
      cast "Wither"
      waitfortarget 7000
    elseif skill 'Necromancy' < 100
      cast "Lich Form"
      waitfortarget 7000
    endif
  endif
else
  headmsg 'Necromancy complete!'
  stop
endif
Veterinary Trainer

Code: Select all

if not findalias 'pet1'
  headmsg 'Select first pet'
  promptalias 'pet1'
endif
if not findalias 'pet2'
  headmsg 'Select second pet'
  promptalias 'pet2'
endif
if not findalias 'bandages'
  headmsg 'Select bandages'
  promptalias 'bandages'
endif
//Heal the lowest HP pet
if @findobject 'bandages'
  useobject 'found'
endif
if diffhits 'pet1' > diffhits 'pet2'
  autotargetobject 'pet1'
else
  autotargetobject 'pet2'
endif
Vitality Ointment Mixer

Code: Select all

//Vitality Ointment Mixer by Radament
//Macro will use all ointments in backpack make sure you put just the amount you need to mix. Also set amount to extract from keys to 1000.
@unsetalias 'baseointments'
if not @findalias 'spellcasterkeys'
  headmsg 'Select Spell Casters Keys'
  promptalias 'spellcasterkeys'
endif
if not @findalias 'baseointments'
  headmsg 'Select Base Ointments'
  promptalias 'baseointments'
endif
while not dead
  if @findtype 0xf85 'any' 'backpack' 140
    @useobject 'baseointments'
    waitfortarget 15000
    @targettype 0xf85 'any' 'backpack'
    pause 500
  elseif @useobject 'spellcasterkeys'
    waitforgump 247257139 15000
    replygump 0xebcd833 60003
    waitforgump 247257139 15000
    replygump 0xebcd833 0
    pause 1000
  endif
endwhile
Well thats all folks. Hope you find something usefull.
bozwoz
Novice Scribe
Posts: 9
Joined: Thu Jul 14, 2016 3:24 pm

Re: Radament's Macro Library

Post by bozwoz »

Sorry to be greedy/cheeky. The reg keys macro is great, i dont suppose you have a working version of the wood and tailor do you?
culichi
Legendary Scribe
Posts: 577
Joined: Fri Aug 22, 2014 9:04 pm

Re: Radament's Macro Library

Post by culichi »

Thank you for the scripts radament :dance
Post Reply