• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Mage Macro (1 Viewer)

Pugs

Member
Joined
Feb 6, 2005
RedCents
644¢
Dose anyone have a Mage macro for afk leveling killing a static spawn. or do i need to get writing. :)
 
My buddy uses the one from the VIP section of the MQ2 boards. He says it works flawlessly. He uses it to camp a mob in veksar. Granted he is 70 and he fine tuned it to the zone / loot / mobs but he never dies.
 
I have one written for Droga. Pretty safe little macro, kills 3 spawns every 20 minutes. I have left it up unattended for over a week when I went out of town, came back safe and sound. I will see if I can get it posted here this weekend if you are interested.
 
Well, it took a bit of looking to find the macro I used to use. I havent used it in some time for any lengthy period, but I did make a quick run to Droga to test it out through a couple of spawn cycles. I ran it for an hour with no hiccups, so it should still be as reliable as it was when I was using it daily. The room this macro should be run in is somewhat hard to explain as it isnt a room where any named spawn. I made it that way intentionaly so no players looking to farm nameds would stumble upon me while I was AFK. The best way I have to explain where the room is would be to find the Whip Cracker Krazzim spawn on the bridge near the Bone Knight Runri spawn. From the Whip Cracker Krazzim Spawn, head East accross the bridge into the tunnels there and take the right turn when you get to it. You should find yourself in a dead-end room with three spawns in it. The loc should be roughly +105 x -650. Spawn time in Droga is 18 minutes, so kill one mob, wait 5 minutes, then kill the next, wait 5 minutes more, then start the macro. This will spread the mobs out to give you plenty of med time between pulls so even lower level mages should have no problems keeping up on mana. This macro is set up to keep loot you specify in an ini file and destroy any other loot you might otherwise pick up. It also keeps platinum and gold but destroys silver and copper. This is not a bad cash camp as goblins can drop upwards of 25pp per kill and also drop cash gems up to and including Blue Diamonds. Enjoy!

Droga_3Spawn.mac
Rich (BB code):
#Event EXP "You gained raid experience!"
#Event EXP "You gain experience!!"
#Event EXP "You gain party experience!!"
#Event Quit "You have entered#*#"

#include spell_routines.inc

Sub Main 

/e ============================
/e Droga_3Spawn AFK Mage Activated!
/e ============================

/declare nukewait timer outer
/declare movedistance float outer
/declare RV_LootAllItems     int outer  0
/call ReadINI Loot.ini "${Zone.Name}" Loot 
/if (!${Defined[RV_LootArray]}) { 
  /echo No Loot Array Created... 
}

:start
/doevents
/call GMCheck
/call PetBuff
/call SelfBuff
/call SummonStuff
/if (${Me.NearestSpawn[NPC].Distance} <= 85) /call Battle
/if (${Me.State.Equal[Stand]}) /sit
/goto :start
/return

Sub GMCheck 
/if (${Spawn[gm].ID}) { 
  /beep 
  /beep 
  /beep 
  /echo GM has entered the zone ending the macro... 
  /call cast "gate" gem5
} 
/return

sub PetBuff
/if (!${Me.PetBuff[Elemental Conjunction]}) /call Cast "Staff of Elemental Essence" Item
/if (!${Me.PetBuff[Elemental Fury]}) /call Cast "Elemental Fury" gem7
/if (!${Me.PetBuff[Fireskin]}) {
  /target id ${Me.Pet.ID}
  /call Cast "Fireskin" gem4
  }
/squelch /target clear
/return

Sub SelfBuff
/if (!${Me.Buff[Phantom Shield].ID}) /call cast "Phantom Shield" gem8
/if (!${Me.Buff[Elemental Aura].ID}) /call cast "Elemental Aura" gem8
/if (!${Me.Buff[Elemental Draw Recourse].ID}) /call cast "Elemental Draw" gem6
/if (!${Me.Buff[Water Elemental Form III].ID} && ${Me.AltAbilityReady[Elemental Form: Water]}) /call cast "62" alt
/return

Sub SummonStuff
/if (!${FindItem[Summoned: Black Bread].ID}) {
	/call cast "Cornucopia" gem8
	/delay 5
	/if (${Cursor.ID}) /autoinventory
	}
/if (!${FindItem[Summoned: Globe of Water].ID}) {
	/call cast "Everfount" gem8
	/delay 5
	/if (${Cursor.ID}) /autoinventory
	}
:findrod
/if (!${FindItem[Rod of Mystical Transvergance].ID}) {
	/Target myself
	/call cast "Magi`kot's Pants of Convergence" item
	/delay 5
	/if (${Cursor.ID}) /autoinventory
	}
/if (${FindItem[Rod of Mystical Transvergance].ID} && !${FindItem[Rod of Mystical Transvergance].Timer} && ${Me.PctHPs}>75 && ${Me.PctMana}<=90) { 
	/call Cast "Rod of Mystical Transvergance" item 
	/goto :findrod
	}
/squelch /target clear
/return

Sub Battle
/squelch /target npc radius 85
/stand
/face nolook
/pet attack
/delay 1s
/call cast "Veil of Lost Hopes" item
/if (${Me.AltAbilityReady[Servant of Ro]}) /call Cast "Servant of Ro" alt
/if (${Me.AltAbilityReady[Elemental Swarm]}) /call Cast "Elemental Swarm" alt
/if (${Me.AltAbilityReady[Frenzied Burnout]}) /call Cast "Frenzied Burnout" alt

/varset nukewait 10s
:nukeloop1
/doevents
/if (!${Target.Type.Equal[npc]}) /return
/face nolook
/call PetHeal
/if (!${nukewait}) {
	/call BigNuke
	/call cast "Bolt of Jerikor" gem1
	/goto :setbattletimer2
	}
/goto :nukeloop1

:setbattletimer2
/varset nukewait 8s
:nukeloop2
/doevents
/if (!${Target.Type.Equal[npc]}) /return
/face nolook
/call PetHeal
/if (!${nukewait}) {
	/call cast "Burning Earth" gem2
	/goto :setbattletimer3
	}
/goto :nukeloop2

:setbattletimer3
/varset nukewait 6s
:nukeloop3
/doevents
/if (!${Target.Type.Equal[npc]}) /return
/face nolook
/call PetHeal
/if (!${nukewait}) {
	/call cast "Burning Earth" gem2
	/goto :setbattletimer4
	}
/goto :nukeloop3

:setbattletimer4
/varset nukewait 4s
:nukeloop4
/doevents
/if (!${Target.Type.Equal[npc]}) /return
/face nolook
/call PetHeal
/if (!${nukewait}) {
	/call cast "Burning Earth" gem2
	/goto :setbattletimer5
	}
/goto :nukeloop4

:setbattletimer5
/varset nukewait 2s
:nukeloop5
/doevents
/if (!${Target.Type.Equal[npc]}) /return
/face nolook
/call PetHeal
/if (!${nukewait}) {
	/call cast "Burning Earth" gem2
	/goto :nukeloop6
	}
/goto :nukeloop5

:nukeloop6
/delay 5
/doevents
/if (!${Target.Type.Equal[npc]}) /return
/face nolook
/call PetHeal
/call cast "Scars of Sigil" gem3
/goto :nukeloop6
/return

Sub MoveMe(MoveToLoc)
:movemeloop
/if (${Me.State.Equal[sit]}) /stand
/face nolook loc ${MoveToLoc}
/if (${Math.Distance[${MoveToLoc}]}>2) /nomodkey /keypress forward hold
/if (${Math.Distance[${MoveToLoc}]}<=2) {
	/nomodkey /keypress forward
	/return
	}
/goto :movemeloop
/return

Sub Petheal
/if (${Me.AltAbilityReady[Replenish Companion]} && ${Me.Pet.PctHPs} <= 20) /call Cast "Replenish Companion" alt
/return

Sub BigNuke
/if (${Me.AltAbilityReady[Heart of Flames]}) /call Cast "Heart of Flames" alt
/return

Sub ReadINI(FileName,SectionName,ArrayType)
/delay 5
/if (${Ini[${FileName},${SectionName},-1,NO].Equal[NO]}) { 
	/echo "${SectionName}" is not a Valid Section for FILE:${FileName}, ending macro... 
	/delay 1s 
	/return 
	} 
/declare nValues     int local  15
/declare nArray      int local  0 
/declare KeySet      string local  ${Ini[${FileName},${SectionName}]} 
:MakeArray 
/if (!${nValues}) /return 
/if (${FileName.Equal["Loot.ini"]}&&${nValues}>0) { 
	/echo Declaring Loot Array... 
	/declare RV_LootArray[${nValues}]  string outer 
	/declare RV_LootStats[${nValues}]  string outer 
	} 
/for nArray 1 to ${nValues} 
/if (${FileName.Equal["Loot.ini"]}) { 
	/varset RV_LootArray[${nArray}] ${Ini[${FileName},${SectionName},${ArrayType}${nArray}]} 
	/varset RV_LootStats[${nArray}] 0 
	} 
/next nArray 
/echo Reading "${SectionName}"
/delay 1s 
/return

Sub LootMob

/declare LootChance  int inner  0
/declare LootSlot    int inner  0 
/declare LootCheck   int inner  0 
/declare LootTotal   int inner  0 
    
/target npc corpse radius 125
/if (!${Target.ID}) /return
/face fast 
    
/keypress forward 
/keypress back 

/stick 5 moveback
:Distance
/if (${Target.Distance}<=10) { 
/squelch /stick off
/loot
} else {
/goto :Distance 
}
/squelch /stick off
/loot
   /delay 1s 
   /if (!${Corpse.Items}) { 
	/e NO LOOT!
	/shift /notify InventoryWindow IW_Money2 leftmouseup
	/destroy
	/delay 1
	/shift /notify InventoryWindow IW_Money3 leftmouseup
	/destroy
	/delay 1
	/notify LootWnd DoneButton leftmouseup 
	/squelch /cleanup
	/return 
	} 

   /varset LootTotal ${Corpse.Items} 
   /for LootSlot 1 to ${LootTotal} 
      /itemnotify loot${LootSlot} leftmouseup 
      /delay 5
      /if (${RV_LootAllItems}) { 
         /echo Keeping ${Cursor.Name}
         /autoinventory 
         /delay 5 
      } else { 
         /for LootCheck 1 to ${RV_LootArray.Size} 
            /if (${Cursor.Name.Find[${RV_LootArray[${LootCheck}]}]}) { 
               /e Keeping ${Cursor.Name} 
               /varcalc RV_LootStats[${LootCheck}] ${RV_LootStats[${LootCheck}]}+1 
               /autoinventory 
               /delay 2 
            } 
         /next LootCheck 
      } 
      /if (${Cursor.ID}) { 
         /e Destroying ${Cursor.Name}... 
         /destroy 
         /delay 5 
      } 
   /next LootSlot 
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/delay 1
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/delay 1
   /notify LootWnd DoneButton leftmouseup 
   /delay 2 
    /squelch /cleanup
/return

Sub Event_EXP
/call LootMob
/call MoveMe "150.16,-678.98"
/face nolook loc 70,-640
/look
/return

Sub Event_Quit
/camp desktop
/endmacro
/return

Loot.ini
Rich (BB code):
[The Temple of Droga]
Loot1=Fire Emerald
Loot2=Sapphire
Loot3=Emerald
Loot4=Opal
Loot5=Diamond
Loot6=Ruby
Loot7=Star Ruby
Loot8=Blue Diamond
Loot9=Green Goblin Skin
Loot10=Mt. Death Mineral Salts
Loot12=Sash of the Cave Lord
Loot11=Blade of the Depredator
Loot13=Fetish of Ice Mastery
Loot14=Hoodlum Symbol of Dust
Loot15=Drogan Earth Totem
 
Mage Macro

Users who are viewing this thread

Back
Top