• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Question - Anyone with experience building a macro running a path and pulling mobs in a dungeon?

darkeros

Member
Joined
Sep 12, 2004
RedCents
35¢
I'm looking to build a macro that runs a path in a dungeon, pulls mobs back to the group, and engages when the mobs gets within X distance. I basically would be replacing the pulling section of the puller macro here with the part of the macro that would run the path, then run back:

http://forums.notaddicted.com/showthread.php?t=17624

Does anyone have experience doing this? Possibly have a macro that I could rip pieces from? Any advice?
 
This was something I was working on at the time that I quit. It should be fairly easy to follow :)

For this at the time I had set up plugins like mq2melee to run the other characters.

Rich (BB code):
Sub Declares
/declare Setup True
/declare Pull outer FALSE
/declare Room int outer 0
/declare PullCheck outer FALSE
/declare PullCheckRoom int outer 0
/declare PullCheckSubRoom int outer 0
/declare PullCheckDone outer FALSE 
/declare Named outer FALSE
/varset MacroDone FALSE
/return

 

Sub Script
/if (${Setup}) /call Setup
/if (${Pull} && ${Room}==1) /call PullRoom1
/if (!${Pull} && ${Room}==2) /call Room2 
/if (${Pull} && ${Room}==2) /call PullRoom2
/if (!${Pull} && ${Room}==3) /call Room3
/if (${Pull} && ${Room}==3) /call PullRoom3
/if (!${Pull} && ${Room}==4) /call Room4
/if (${Pull} && ${Room}==4) /call PullRoom4 
/if (!${Pull} && ${Room}==5) /call Room5
/if (${Pull} && ${Room}==5) /call PullRoom5
/if (!${Pull} && ${Room}==5) /call Room5
/if (${Pull} && ${Room}==5) /call PullRoom5
/if (${Pull} && ${Room}==6 && ${PullCheck}) /call PullCheckSub 
/if (${Pull} && ${Room}==6 && !${PullCheck} && ${Named}) /call Named
/call Hail
/return
 

Sub MoveToFirstPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID}==${Spawn[Shaman pc].ID} || ${ Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -697,817
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -704.74,817
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -723.58 ,817
/return

 

Sub MoveToSecondPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID}==${Spawn[Shaman pc].ID} || ${Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -698,631
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${ Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -688,636
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -697,659
/return

 

Sub MoveToThirdPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID }==${Spawn[Shaman pc].ID} || ${Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -868.64,631
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -854.7,629
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -842,640 
/return

 

Sub MoveToFourthPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID}==${Spawn[Shaman pc].ID} || ${Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -868.64,631
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${ Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -854.7,629
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -842,640
/return

 

Sub MoveToFifthPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID }==${Spawn[Shaman pc].ID} || ${Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -711,580
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -707,588
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -748,588 
/return

 

Sub MoveToSixthPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID}==${Spawn[Shaman pc].ID} || ${Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -638,738
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${ Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -648,719
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -646,755
/return

 

Sub MoveToLastPullRoom
/if (${Me.ID}==${Spawn[Healer pc].ID} || ${Me.ID }==${Spawn[Shaman pc].ID} || ${Me.ID}==${Spawn[Mage pc].ID}  ) /call MoveTo -688,809
/if (${Me.ID}==${Spawn[Tank pc].ID} || ${Me.ID}==${Spawn[Bard pc].ID}  ) /call MoveTo -683,786
/if (${Me.ID}==${Spawn[Ranger pc].ID}  ) /call MoveTo -674,808 
/return

 

Sub Hail
/varset Next False
/target clear
/delay 5
/target npc akarahotuten
/delay 2s ${Target.ID}
/hail
/delay 5
/target clear
/return

Sub MoveTo(MoveToLoc)
:moveloop
/if (${Me.State.Equal[sit]}) /stand
/face fast nolook loc ${MoveToLoc}
/if (${Math.Distance[${MoveToLoc}]}>2) /nomodkey /keypress forward hold
/if (${Math.Distance[${MoveToLoc}]}<=2) {
    /if (${Pull} || ${SpawnCount[pc radius 50]}==6) { 
     /nomodkey /keypress forward
      /return
    }
}
/goto :moveloop
/return

Sub Pull1room1
/squelch /target clear
/call MoveTo 759.37,-696.69
/target npc radius 30 zradius 20
/delay 1s ${ Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return

Sub Pull2room1
/squelch /target clear
/call MoveTo 759.37,-696.69
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652 
/call MoveToFirstPullRoom
/return

Sub Pull3room1
/squelch /target clear
/call MoveTo 759.37,-696.69
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom 
/return

Sub Pull4room1
/squelch /target clear
/call MoveTo 696.69,-698.1
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return

Sub Pull5room1 
/squelch /target clear
/call MoveTo 696.69,-698.1
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return

Sub Pull6room1
/squelch /target clear 
/call MoveTo 696.69,-698.1
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToFirstPullRoom
/return

Sub Pull1room2
/squelch /target clear
/call MoveTo 641.71 ,-772.42
/call MoveTo 641.11,-770.90
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveTo 641.71,-772.42
/call MoveToSecondPullRoom
/return

Sub Pull2room2
/squelch /target clear 
/call MoveTo 638,-797
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveToSecondPullRoom
/return

Sub Pull1room3 
/squelch /target clear
/call MoveTo 725,-859 
/call MoveTo 725,-834
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveTo 725,-859
/call MoveToThirdPullRoom
/return

/call Pull2room3 
/squelch /target clear 
/call MoveTo 725,-859
/call MoveTo 727,-881
/target npc radius 30 zradius 20
/delay 1s ${Target.ID}
/alt activate 652
/call MoveTo 725,-859
/call MoveToThirdPullRoom
/return

Sub Pull1room4
/squelch /target clear
/target npc radius 125 zradius 20
/delay 1s ${Target.ID}
/if (${Target.ID}) {
/alt activate 652
/varset repeat True
} else {
/varset repeat False
}
/return

Sub Pull1room5 
/squelch /target clear
/call MoveTo 590,-648
/target npc radius 100 zradius 20
/delay 1s ${Target.ID}
/if (${Target.ID}) {
/alt activate 652
/varset repeat True
} else {
/varset repeat False
}
/call MoveToFifthPullRoom
/return

Sub PullCheck1
/if (${Target.Type.Equal[pc]}) /target clear
/call MoveTo 794,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652 
/call MoveToLastPullRoom
/return

Sub PullCheck2
/call MoveTo 718,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck1
/return

Sub PullCheck3
/call MoveTo 714,-526
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck2
/return

Sub PullCheck3-1
/call MoveTo 714,-526 
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck2
/return

Sub PullCheck3-2
/call MoveTo 793,-520
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck3-1
/return

Sub PullCheck4
/call MoveTo 571,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID }) /alt activate 652
/call PullCheck3
/return

Sub PullCheck5
/call MoveTo 645,-602
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck4
/return

Sub PullCheck5-1
/call MoveTo 647,-680
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/alt activate 652
/call PullCheck5
/return

Sub PullCheck6 
/call MoveTo 647,-752
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck5
/return

Sub PullCheck7
/call MoveTo 647,-754
/target npc radius 30 zradius 20 
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck6
/return

Sub PullCheck8
/call MoveTo 573,-832
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID }) /alt activate 652
/call PullCheck7
/return

Sub PullCheck9
/call MoveTo 573,-977
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck8
/return

Sub PullCheck10
/call MoveTo 715,-913
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck9
/return

Sub PullCheck11
/call MoveTo 715,-843 
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck10
/return

Sub PullCheck12
/call MoveTo 793,-843
/target npc radius 30 zradius 20
/delay 5 ${Target.ID}
/if (${Target.ID}) /alt activate 652
/call PullCheck11
/return

Sub Emperor
/target npc emperor
/delay 5 ${Target.ID}
/varset EmperorID ${Target.ID}
/alt activate 652
/return 

Sub PullNamed1
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return

Sub PullNamed2
/call MoveTo 794,-602
/call MoveTo 571,-602
/call MoveTo 571,-526
/call MoveTo 573,-526
/call MoveTo 501,-520 
/call MoveTo 491,-535
/call Emperor
/call MoveTo 501,-520
/call MoveTo 573,-526
/call MoveTo 571,-526
/call MoveTo 571,-602
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return

Sub PullNamed3 
/call MoveTo 794,-602
/call MoveTo 643,-602
/call MoveTo 644,-757
/call MoveTo 571,-757
/call MoveTo 573,-835
/call Emperor
/call MoveTo 571,-757
/call MoveTo 644,-757
/call MoveTo 643,-602
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return

Sub PullNamed4
/call MoveTo 794,-602
/call MoveTo 643,-602
/call MoveTo 644,-757
/call MoveTo 571,-757
/call MoveTo 571,-916
/call MoveTo 718,-916 
/call MoveTo 720,-843
/call MoveTo 795,-839
/call Emperor
/call MoveTo 720,-843
/call MoveTo 718,-916
/call MoveTo 571,-916
/call MoveTo 571,-757
/call MoveTo 644,-757
/call MoveTo 643,-602
/call MoveTo 794,-602
/call MoveToLastPullRoom
/return

Sub Setup
/varset MacroDone FALSE
/call Hail
/call MoveTo -702,697
/call MoveTo -805,697.5
/call MoveTo -806,805
/call MoveToFirstPullRoom 
/varset Setup FALSE
/return

Sub PullRoom1
/call Pull1room1 -696.69,759.37
/call Pull2room1 -696.69,759.37
/call Pull3room1 -696.69,759.37
/call Pull4room1 -698.10,696.46
/call Pull5room1 -698.10 ,696.46
/call Pull6room1 -698.10,696.46
/varset Room 2
/varset Pull FALSE
/return

Sub Room2
/call MoveTo -697,789
/call MoveTo -697,659
/call MoveToSecondPullRoom
/varset Pull TRUE
/return 

Sub PullRoom2
/call Pull1room2 -772.42,641.71 to -770.90,641.11 back to -772 then to Tank
/call Pull2room2 -797,638 back to Tank
/varset Room 3
/varset Pull FALSE
/return

Sub Room3
/call MoveTo -701,639 
/call MoveTo -842,640
/call MoveToThirdPullRoom
/varset Pull TRUE
/return

Sub PullRoom3
/call Pull1room3 -859,725 -> -834,725
/call Pull2room3 -859,725 -> -881,727
/varset Room 4
/varset Pull FALSE 
/return

Sub Room4
/call MoveTo -857,655
/call MoveTo -858,808
/call MoveTo -750,809
/call MoveTo -750,728
/call MoveToFourthPullRoom
/varset Pull TRUE
/return

Sub PullRoom4
/call Pull1room4 (repeat until no mobs in LoS  ) radius 125 
/varset Room 5
/varset Pull False
/return

Sub Room5
/call MoveTo -805,697
/call MoveTo -804,590
/call MoveTo -726,590
/call MoveToFifthPullRoom
/varset Pull TRUE
/return

Sub PullRoom5 
/call Pull1room5 -648,590 (repeat till no mobs in Los  ) radius 100
/varset Room 6
/varset Pull FALSE
/return

Sub Room6
/call MoveTo -649,591
/call MoveToSixthPullRoom
/call MoveTo -649,591
/call MoveTo -645,824
/call MoveTo -574,826
/call MoveTo -570,900
/call MoveTo -679,901
/call MoveTo -682,794
/call MoveToLastPullRoom
/varset Pull TRUE
/return

Sub PullCheckSub
/if (${PullCheckRoom1} && ${PullCheck} && !${PullCheckDone}) /call PullCheck1 -602,794 
/if (${PullCheckRoom2} && ${PullCheck} && !${PullCheckDone}) /call PullCheck2 -602,718
/if (${PullCheckRoom3} && ${PullCheck} && !${PullCheckDone}) /call PullCheck3 -602,718 -> -526,714 (mob spawns next to it, need to check again) 
/if (${PullCheckRoom4} && ${PullCheck} && !${PullCheckDone} && ${PullCheckSubRoom}==1) /call PullCheck3-1 -602,718 -> -526,714
/if (${PullCheckRoom5} && ${PullCheck} && !${PullCheckDone} && ${PullCheckSubRoom}==2) /call PullCheck3-2 -602,718 -> -526,714 -> -520,793 
/if (${PullCheckRoom6} && ${PullCheck} && !${PullCheckDone}) /call PullCheck4 -602,571
/if (${PullCheckRoom7} && ${PullCheck} && !${PullCheckDone}) /call PullCheck5 -602,645
/if (${PullCheckRoom8} && ${PullCheck} && !${PullCheckDone} && ${PullCheckSubRoom}==3) /call PullCheck5-1 -602,645 -> -680,647 
/if (${PullCheckRoom9} && ${PullCheck} && !${PullCheckDone}) /call PullCheck6 -602,645 -> -752,647
/if (${PullCheckRoom10} && ${PullCheck} && !${PullCheckDone}) /call PullCheck7 -602,645 -> -752,647 -> -754,573 
/if (${PullCheckRoom11} && ${PullCheck} && !${PullCheckDone}) /call PullCheck8 -602,645 -> -752,647 -> -754,573 -> -832,573
/if (${PullCheckRoom12} && ${PullCheck} && !${PullCheckDone}) /call PullCheck9 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 
/if (${PullCheckRoom13} && ${PullCheck} && !${PullCheckDone}) /call PullCheck10 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 -> -913,715
/if (${PullCheckRoom14} && ${PullCheck} && !${PullCheckDone}) /call PullCheck11 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 -> -913,715 -> -843,715 
/if (${PullCheckRoom1} && ${PullCheck} && !${PullCheckDone}) /call PullCheck12 -602,645 -> -752,647 -> -754,573 -> -832,573 -> -977,573 -> -913,715 -> -843,715 -> -843,793
/varset PullCheckDone TRUE 
/varset Named TRUE
/varset PullCheck FALSE
/return

Sub Named
/call PullNamed1 -602,794
/call PullNamed2 -602,794 -> -602, 571, -526,571-> -526,573 -> -520,501 -> -535,491
/call PullNamed3 -602,794 -> -602,643 -> -757,644 -> -757,571 -> -835,573 
/call PullNamed4 -602,794 -> -602,643 -> -757,644 -> -757,571 -> -916,571 -> -916,718 -> -843,720 -> -839,795
/varset MacroDone TRUE
/return

Sub ResetMacro
/varset Setup True
/varset Pull FALSE 
/varset Room 0
/varset PullCheck FALSE
/varset PullCheckRoom 0
/varset PullCheckSubRoom 0
/varset PullCheckDone FALSE
/varset Named FALSE
/return
 
Question - Anyone with experience building a macro running a path and pulling mobs in a dungeon?

Users who are viewing this thread

Back
Top
Cart