• 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 --->

Experienced macro writer WNTD (1 Viewer)

VillageIdiot

Member
Joined
Dec 14, 2006
RedCents
291¢
I know i'm probably gonna get flamed for this. (DO IT YOURSELF ) blah blah but it never hurts to ask.
I'm looking for someone to write me a macro if they would please. I would like the macro to do this (yes i know this will equate to a kiting macro )


1. Locate target between level range i can specify
2. cast spell on it
3. (if possible wait till mob is almost in range of hitting me then)warp to a loc (i will fill in the loc's)
4. cast another spell
5. send pet
6. repeat # 3
7. cast another spell
8. repeat # 4
9. cast another spell.

Now refresh spells as needed ( i can fill in the msg's for spells that fade)
continue warping back and forth till dead.
Loot all contents

check mana
Rinse and repeat.

I know this is asking a lot and if no one wants to and this thread just sits here and goes down the list i'm ok with that. Just thought i'd ask.

Thanks
 
so you want an afk wizard macro that sends a pet in? I wouldn't suggest warping unless you know for sure no one comes to this zone. Even the bard kite one making the circle bigger and a pause for casting would work.
 
Acigaretteandsex said:
so you want an afk wizard macro that sends a pet in?
I somehow doubt a wizard would cast spells that fades (ie. spells with a duration such as DoTs), nor do I think that the wizard will send any pets on anything :) I'd venture a guess that this is for a Necromancer or maybe a Shaman. Could ofcourse be for Druid, Enchanter and Beastlord (don't know if Bestlords have DoT's) but I somehow doubt that since druid pets aren't worth shit (unless charmed) and enchanter pets is the same :)

Anyway as to the original question, it's easily done but unless it's in an instance it's also easily spotted and you're equally easily banned ;)

To do it you'll need more details on the area that is being pulled from. Possible adds. Kiting area. etc. etc.
 
Here is one of my earlier macros. It was made for a wizard using thundercrest isle instance.

Some of the routines are missing, but the name explains what they are suppose to do.

It is out dated and out of use, but it provides a solid base for what you want.

Rich (BB code):
#Include chathandler.inc
#Include routines.inc
#Include Wait4Rez.inc
#Include spell_routines.inc
#Include wizard.inc

#Event ShacklesOff   "#*#Shackles spell has worn off of#*#"
#Event Slain                    "You have been slain by#*#"

Sub Main
   /echo Starting Wiz auto grind

   /declare ShackleStatus int outer 1
   /declare ShackleTimer timer outer 3000
   /declare DeadTimer timer outer 360m
   /declare InstanceExpireTimer timer outer 330m
   /declare EngageCheckCounter int outer 0

   /call InitExpInfo
   /if (${Zone.ShortName.Equal[GuildHall]}) {
      :WaitForFull
      /delay 3
      /if (${Me.PctMana}<=99 || ${Me.PctHPs}<=90) /goto :WaitForFull
      /call TravelGH2TI
   }

   :Restart
   /varset ShackleStatus 1
   /varset ShackleTimer 3000
   /varset DeadTimer 360m
   /varset EngageCheckCounter 0

   /dismount

   /squelch /warp wp hop0
   /call MoveHigh
   /delay 4
   /call TargetNearestLOSMob
   /delay 1s
   /if (!${Target.ID} || ${Target.ID}==${Me.ID}) /goto :Restart
   /call MoveToTarget

   /delay 1s
   /if (!${Target.LineOfSight}) {
      /call MoveHigh
      /delay 1s
    }

   :WaitForLanding
   /call cast "Atol's Spectral Shackles" gem5
   /if (${castReturn.Equal[CAST_OUTOFRANGE]}) /goto :WaitForLanding

   /delay 4
   /if (${castReturn.Equal[CAST_SUCCESS]}) /call ResetShackleTimer

   /squelch /warp wp hop0
   /delay 4

   /doevents
   /delay 1s

   :EngageCheckLoop
   /if (!${Me.TargetOfTarget.ID}) {
      /varcalc EngageCheckCounter ${EngageCheckCounter}+1
      /delay 1s
      /doevents
      /if (${EngageCheckCounter}>=30) /goto :Restart
      /goto :EngageCheckLoop
   }

   :Loop

   /if (!${Target.ID}) {
     /if (${Me.HPBonus}<100 && ${Me.ManaBonus}<100 && ${Me.FreeInventory}==8) {
        /call Event_Slain
     } else {
        /call Recoup
     }
     /goto :Restart
   }
   /call CastNukePlus
   :WaitForHop1
   /if (${Target.Distance}<=65) {
      /squelch /warp wp hop1
      /delay 2
      /face fast
   } else {
      /delay 1
      /call CheckFleeStatus
      /goto :WaitForHop1
   }

   /if (!${Target.ID}) {
     /if (${Me.HPBonus}<100 && ${Me.ManaBonus}<100 && ${Me.FreeInventory}==8) {
        /call Event_Slain
     } else {
        /call Recoup
     }
     /goto :Restart
   }
   /call CastNukePlus
   :WaitForHop2
   /if (${Target.Distance}<=65) {
      /squelch /warp wp hop2
      /delay 2
      /face fast
   } else {
      /delay 1
      /call CheckFleeStatus
      /goto :WaitForHop2
   }

   /goto :Loop
/return



Sub CastNukePlus
  /doevents
  /if (${ShackleStatus}==0 && ${Target.Speed}<=130) {
      :CastWaitLoop1
      /if (${Target.Distance}>=220) {
        /delay 1
        /call CheckFleeStatus
        /goto :CastWaitLoop1
      }
      /if (${Target.PctHPs}<=10) {
        /call cast "Spark of Thunder" gem1 0 CheckDistance
      } else {
        /if (${Me.SpellReady[Thundaka]}) {
           /call cast "Thundaka" gem3 0 CheckDistance
        } else {
           /call cast "Spark of Thunder" gem1 0 CheckDistance
        }
      }
  } else {
      :CastWaitLoop2
      /if (${Target.Distance}>=220) {
        /delay 1
        /call CheckFleeStatus
        /goto :CastWaitLoop2
      }
      /call cast "Atol's Spectral Shackles" gem5 0 CheckDistance
      /delay 1
      /if (${castReturn.Equal[CAST_SUCCESS]}) /call ResetShackleTimer
  }
/return


Sub CheckDistance
   /if (${Target.Distance}<=65) /call Interrupt
/return


Sub CheckFleeStatus
   /doevents
   /if (${Me.PctHPs}<=70 || ${SpawnCount[NPC los Radius 130]}>=2) {
      /if (${Target.ID}) { 
        /succor
        /delay 3s
        /return
      }
   }
   /if (${ShackleStatus}==1 && ${Target.Speed}<=100 && ${Target.PctHPs}<=20) {
      /call FinishMob
   } else /if (${ShackleStatus}==0 && ${Target.Speed}<=5 && ${Target.PctHPs}<=20) {
      /call FinishMob
   }
/return


Sub FinishMob
  /call MoveToTarget
  /delay 1s
  /call cast "Black Rope Bridle" item
  /delay 1s
  :NukeAgain
  /call MoveToTarget
  /if (!${Target.LineOfSight}) {
      /varset TempID ${Target.ID}
      /call MoveHigh
      /target id ${TempID}
      /delay 4
  }
  /call CastNukePlus
  /if (${Target.Distance}<=65) /return
  /delay 2s
  /if (${Target.ID}) /goto :NukeAgain
  /varset FinishMode 0
/return


Sub MoveToTarget
  /if (${Target.Distance}>=150) {
    /declare v91 int local
    /varcalc v91 ${Math.Rand[5]}+105
    :GotoTargLoop 
       /if (${Target.Distance}>=200) {
          /face nolook
       } else {
          /face fast nolook
       }
       /call AutoRun 1 
   /if (${Target.Distance}>=${v91}) /goto :GotoTargLoop 
   /call AutoRun 0
  }
/return


Sub MoveHigh
   /if (${Me.Buff[Levitation].Duration}<=10) {
      /target MySelf
      /delay 4
      /call cast "Levitation" gem6
      /delay 1s
   }
   /declare MyLocX float local ${Me.X}
   /declare MyLocY float local ${Me.Y}
   /declare MyLocZ float local ${Me.Z}
   /varcalc MyLocZ ${MyLocZ}+100
   /squelch /warp loc ${MyLocY} ${MyLocX} ${MyLocZ} 
/return


Sub Event_Slain
   /delay 10s
   /varset DeadTimer 60m
   :TryPOKAgain
   /call cast "Knowledge Gate" gem7
   /delay 1s
   /if (!${castReturn.Equal[CAST_SUCCESS]}) /goto :TryPOKAgain
   /delay 5s
   /call TravelPOK2GHDoor
   /call TravelGL2GH
   /call GH2SummonCorpse
   /delay 3s
   /chat #mycleric clr GLRez pls
   /vg 7
   /delay 3s
   /vg 7
   /call Wait4Rez
   /varset DeadTimer 360m
   /call cast "Black Rope Bridle" item
   /call Recoup
/return


Sub Recoup
   /if (${Me.PctMana}>=95 && ${Me.PctHPs}>=90) /return
   /if (${Zone.ShortName.Equal[GuildLobby]}) /goto :AtGuildHallDoor
   /delay 1s
   /squelch /warp wp hop3
   /call RemoveBuff Levitation
   /delay 1s
   /doevents
   :TryPOKAgain
   /call cast "Knowledge Gate" gem7
   /delay 1s
   /if (!${castReturn.Equal[CAST_SUCCESS]}) /goto :TryPOKAgain
   /delay 5s
   /call TravelPOK2GHDoor
   :AtGuildHallDoor
   /call TravelGL2GH
   /call cast "Black Rope Bridle" item
   /pet get lost
   /delay 2s
   /call DisplayExpInfo
   /beep

     /declare RebuffFlag int local 1
     :HarvestLoop
     /if (${Me.PctMana}<=99 || ${Me.PctHPs}<=90) {
        /if (${Me.AltAbilityReady[Harvest of Druzzil]} && ${Me.PctMana}<=95) { 
          /call cast "Harvest of Druzzil" alt 
          /delay 4 
        }
        /if (${Me.SpellReady[Harvest]} && ${Me.PctMana}<=95) {
            /call cast Harvest
        }
        /if (${Me.PctMana}>=40 && ${RebuffFlag}==1) {
           /target
           /delay 4
           /call BuffTarg
           /chat #mycleric buff
           /chat #mychanter buff
           /varset RebuffFlag 0
        }
        /delay 1
        /goto :HarvestLoop
     }

   /call TravelGH2TI
/return

Sub TravelGH2TI
   /call RemoveBuff Levitation
|   /call cast "Secondary Bind" AA  (gate back to TI entrance area)
   :CastGateAgain
   /call cast gate gem2
   /delay 1s
   /if (!${castReturn.Equal[CAST_SUCCESS]}) /goto :CastGateAgain
   /delay 5s
   /call cast "Improved Invisibility" gem6
   /delay 1s
   /declare ThisZoneID int local ${Zone.ID}
   /delay 4
   :TIEntrance
   /if (${Zone.ID}==${ThisZoneID}) /call GotoLoc 460,1279
   /if (${Zone.ID}==${ThisZoneID}) /call GotoLoc 509,1241
   /delay 5s
   /if (${Zone.ID}==${ThisZoneID}) /goto :TIEntrance
   /pet get lost
/return

Sub TravelPOK2GHDoor
   /call GotoLoc -320,1350
   /call UseZoningDoor FACADE
   /delay 1s
   /declare RandPath int local
   /varcalc RandPath ${Math.Rand[4]}+1
   /echo Random path ${RandPath} chosen
   /if (${RandPath}==1) {
      /call SmoothRunToLoc -1,-1:49,0:70,-25:218,0:320,-136:509,-136:583,-70
   } else /if (${RandPAth}==2) {
      /call SmoothRunToLoc -1,-1:49,0:70,-25:218,0:316,135:514,132:580,69
   } else /if (${RandPAth}==3) {
      /call SmoothRunToLoc -1,-1:49,0:70,-25:218,0:275,0:447,-46:584,19
   } else {
      /call SmoothRunToLoc -1,-1:49,0:70,-25:218,0:270,0:410,55:560,-1
   }
/return

Sub TravelGL2GH
   /call UseZoningDoor GUILD_DOOR
   /delay 10s
   /call SmoothRunToLoc  54,-58:69,-118
   /delay 1s
/return

Sub Event_Timer(Timer,OriginalValue)
  /if (${Timer.Equal[ShackleTimer]})  /varset ShackleStatus 1
  /if (${Timer.Equal[DeadTimer]})  /camp desktop
  /if (${Timer.Equal[InstanceExpireTimer]}) {
    /gate
    /delay 20s
    /call cast "Improved Invisibility" gem6
    /camp desktop
    /endmacro
  }
/return

Sub Event_ShacklesOff
   /varset ShackleStatus 1
/return

Sub ResetShackleTimer
   /varset ShackleTimer 140s
   /varset ShackleStatus 0
/return

Sub GH2SummonCorpse
| must be standing in center of pool and have plat for soulstone in shared bank
   /call GotoLoc 55,-67
   /call GotoLoc -4,30
   /targ Bank
   /delay 4
   /call WithdrawBankMoney 190
   /delay 1s
   /call GotoLoc -73,0
   /call GotoLoc -160,-4
   /keypress u
   /delay 15s
   /call GotoLoc 588,65
   /call GotoLoc 507,143
   /call GotoLoc 418,141
   /call GotoLoc 410,217
   /call GotoLoc 357,195

   /targ disciple
   /delay 4
   /call Buy "Pristine Soulstone" 1
   /call GotoLoc 316,262
   /targ Priest
   /delay 4
   /call GiveTargetNPCItem "Pristine Soulstone"
   /delay 5s
   /call GotoLoc 347,230
   /corpse
   /delay 4
   /call GotoLoc 365,224
   /corpse
   /delay 4
   /call GotoLoc 414,182
   /corpse
   /delay 4
   /call GotoLoc 426,140
   /corpse
   /delay 4
   /call GotoLoc 487,137
   /corpse
   /delay 4
   /call GotoLoc 543,106
   /corpse
   /delay 4
   /call GotoLoc 583,71
   /corpse
   /delay 4
   /call GotoLoc 623,49
   /corpse
   /delay 3s
   /call UseZoningDoor GUILD_DOOR
   /delay 5s
/return

Sub GLDor2GH
  /declare ThisZoneID int local ${Zone.ID}
  /squelch /doortarget GUILD_DOOR_
  /squelch /face door
  /delay 1s
  /keypress up hold
  :GLDoorAgain
  /squelch /face door
  /delay 2
  /keypress u
  /if (${Zone.ID}==${ThisZoneID}) /goto :GLDoorAgain
  /keypress up
/return

sub POkDor2GL
  /declare ThisZoneID int local ${Zone.ID}
  /squelch /doortarget FACADE
  :POKDoorAgain
  /squelch /face door
  /delay 5
  /keypress up hold
  /if (${Zone.ID}==${ThisZoneID}) /goto :POKDoorAgain
  /keypress up
/return
 
Thanks for the macro. Honestly the reason i asked for the specifics was so that i knew exactly what was going on in the macro and could learn to change it as needed thus learning macro's. I do appreciate the offer though but am more interested in someone making a new one. I understand it's some work to do this and i totally understand if no one wants to do this. Just thought i'd ask.
 
How's this for a start?

INI:
Sub Main
/declare Spell1 string outer "UberNuke_1000"
/declare Spell2 string outer "UberNuke_1000"
/declare Spell3 string outer "UberNuke_1000"
/declare PanicDistance int outer 20
/declare levelrangelow int outer 60
/declare levelrangehigh int outer 70

/echo Starting slack ass Ccomp warp nuking macro he pulled out of his 4th point of contact.
/target npc range ${levelrangelow} ${levelrangehigh}
/echo Found ${Target.CleanName} to be acceptable
/echo pausing 5s incase you don't like this target you can type /endmac
/delay 5s

/warp loc <Y> <X> <Z>
/keypress left
/call cast ${Spell1}
/delay 4s (${Target.Distance<${PanicDistance})
/warp loc <Y> <X> <Z>
/keypress left
/call cast ${Spell2}
/pet attack
/delay 4s (${Target.Distance<${PanicDistance})

:combatloop
     /warp loc <Y> <X> <Z>
     /keypress left
     /call cast ${Spell3}
     /if (!${Target}) /endmac
     /delay 4s (${Target.Distance<${PanicDistance})
     /warp loc <Y> <X> <Z>
     /keypress left
     /call cast ${Spell2}
     /if (!${Target}) /endmac
     /delay 4s (${Target.Distance<${PanicDistance})
/goto :combatloop
/return
 
Experienced macro writer WNTD

Users who are viewing this thread

Back
Top