• 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

Camp 5 Locs

nyghteyes

What is a macro??
Joined
Mar 21, 2006
RedCents
1,347¢
This will run from camp too camp and kill whatever is near the set range. You have too make sure you can run between camp 1 and camp 5 and have a fairly clear shot from camp too camp sequentially. This probably isn't the best way to do it but seems too work.

Rich (BB code):
|Mac for camping 5 locations - Nyghteyes - 05-11-09
|Edit Campsites line 56 - 69
|All abilities other than the pull alt I use mq2melee flags for
|Thanks Omper for your anchor routines
|Plugins: MQ2Moveutils, MQ2Cast, MQ2Rez, MQ2Melee, EQBC(just for exit routine)
|I have some toons bound next too eachother, If they end up in the lobby next too each other 
|they will /exit, lost too many corpses heh


#event GotHIT "#*#hits YOU for#*#"
#event GotHIT "#*#slashes YOU for#*#"
#event GotHIT "#*#crushes YOU for#*#"
#event GotHIT "#*#bashes YOU for#*#"
#event GotHIT "#*#kicks YOU for#*#"
#event GotHIT "#*#smashes YOU for#*#"
#event GotHIT "#*#mauls YOU for#*#"
#event GotHIT "#*#gores YOU for#*#"
#event GotHIT "#*#pierces YOU for#*#"
#event GotHIT "#*#kicks YOU for#*#"
#event GotHIT "#*#bashes YOU for#*#" 
#Event lobby "You have entered"

Sub Main

/declare AnchorX float outer
/declare AnchorY float outer
/declare fXLoc float outer 0.0
/declare fYLoc float outer 0.0
/declare campsite1x float outer 
/declare campsite1y float outer 
/declare campsite2x float outer 
/declare campsite2y float outer 
/declare campsite3x float outer 
/declare campsite3y float outer 
/declare campsite4x float outer 
/declare campsite4y float outer 
/declare campsite5x float outer 
/declare campsite5y float outer
/declare npcrad int outer
/declare Agro outer FALSE
/if (!${Plugin[MQ2Moveutils].Name.Equal[mq2moveutils]}) /squelch /plugin mq2moveutils nocheck
/if (!${Plugin[MQ2Cast].Name.Equal[mq2cast]}) /squelch /plugin mq2cast nocheck
/if (!${Plugin[MQ2Melee].Name.Equal[mq2melee]}) /squelch /plugin mq2melee nocheck
/if (!${Plugin[MQ2Rez].Name.Equal[mq2rez]}) /squelch /plugin mq2rez nocheck
/delay 10
/rez accept on
/rez loot off
/melee stickrange=20
/varset AnchorX ${Me.X}
/varset AnchorY ${Me.Y}
|##############################MAKE CHANGES DOWN HERE############################
|#####################################CampSites##################################
|###Your starting anchor will not be moved to again unless added as a Campsite###
|Campsite1
/varset campsite1y -1000
/varset campsite1x 1000
|Campsite2
/varset campsite2y -1100
/varset campsite2x 1000
|Campsite3
/varset campsite3y -1200
/varset campsite3x 1000
|Campsite4
/varset campsite4y -1300
/varset campsite4x 1000
|Campsite5
/varset campsite5y -1400
/varset campsite5x 1000

|#####NPC Radius Check#####
/varset npcrad 150

/declare Pullspell outer "Nature's Balance"
/declare Pullgem int outer gem1

/declare Buddy1 outer "BUDDYNAMEHERE" 
/declare Buddy2 outer "OTHERBUDDYHERE

/declare zonename outer "Walls of Slaughter"

|###############################No more changes from here#########################
/echo Pulls Starting
:start
 /doevents
 /delay 1s
 /if (${Me.Casting}) /goto :start
 /if (${Agro}) /call combat 
 /if (!${Agro}) /cleanup
 /call MoveToAnchor
 /doevents
 /delay 1s           
 /if (!${Agro} && !${Target.ID}) /call Targetit
 /if (!${Agro} && ${Target.ID} && ${Target.Distance}< ${npcrad}) /call pull
 /call Movenext
 /goto  :start 
/return

Sub Combat
/attack on
/if (!${Target.ID}) {
/varset Agro FALSE
/keypress esc
/goto :End
}
/doevents
/if (!${Target.ID}) /goto :end
/call fighting
:end			
/return

Sub Event_GotHIT
/varset Agro TRUE   
/doevents
/varset AnchorX ${Me.X}
/varset AnchorY ${Me.Y}
/varset iCount 0   
/doevents
/call Move2me
/call Pull
/return

Sub MoveToAnchor
    /if (${Math.Distance[${AnchorY},${AnchorX}]}<=20) /return
    /declare iCount int local
    /varset fXLoc ${Me.X}
    /varset fYLoc ${Me.Y}
    /varset iCount 0
    /echo Moving to Anchor at Loc: ${AnchorY}, ${AnchorX}.
:AnchorMoveLoop 
    /delay 1
    /doevents
    /face nolook loc ${AnchorY},${AnchorX}
   
    /if (${Math.Distance[${AnchorY},${AnchorX}]}>20) {
       /keypress forward hold
   } else {
       /keypress forward
       /return
    }
    /if (${iCount}>2) {
        /call Detectobst
        /face nolook loc ${AnchorY},${AnchorX}
        /varset iCount 0
    }
    /varcalc iCount ${iCount}+1
    /goto :AnchorMoveLoop
/return

Sub Detectobst
    /delay 2
    /if (${fXLoc}==${Me.X}) /if (${fYLoc}==${Me.Y}) /call Hitobst
    /varset fXLoc ${Me.X}
    /varset fYLoc ${Me.Y}
/return

Sub Hitobst
    /keypress forward
    /keypress back hold
    /if (${Math.Rand[2]}) {   
        /delay 2s   
        /keypress back
        /keypress right hold
        /delay 8
        /keypress right
       
        /delay 2s
        /keypress back
        /keypress left hold
        /delay 8
        /keypress left
    }
    /delay 10
|    /keypress forward hold
/return

sub pull
 /delay 5
 /casting ${Pullspell} ${Pullgem} 
 /delay 5
 /face loc ${AnchorY}, ${AnchorX}
 /delay 5
 /call MoveToAnchor
 /face nolook
 /call combat
/return
 
|##Stay in combat sub, abilities handled by mq2melee##
sub fighting
 :hold
 /delay 7
 /if (!${Target.ID}) /goto :endfight
 /if (${Target.Distance}>${npcrad}) /goto :hold
 :keepfighting
 /delay 7
 /if (!${Target.ID}) /goto :endfight
 /if (${Target.ID}) /goto :keepfighting
 :endfight
 /varset Agro FALSE
/return
 
Sub Movenext
:camp1
 /target npc radius ${npcrad}
 /if (${Target.Distance}>${npcrad} || !${Target.ID}) {
 /keypress esc
 /face loc ${campsite1y}, ${campsite1x}
 /delay ${Math.Rand[50]}
 /squelch /Moveto loc ${campsite1y}, ${campsite1x}
:wait1
 /doevents
 /delay 1s
 /if (${Me.Moving}) /goto :wait1
}
 /target npc radius ${npcrad}
 /delay 1s
 /doevents
 /if (${Target.Distance}<${npcrad}) {
    /varset AnchorX ${Me.X}
    /varset AnchorY ${Me.Y}
    /varset iCount 0
 /call Move2me
 /call pull
}

:camp2
/target npc radius ${npcrad}
/if (${Target.Distance}>${npcrad} || !${Target.ID}) {
/keypress esc
/face loc  ${campsite2y}, ${campsite2x}
/delay ${Math.Rand[50]}
/squelch /Moveto loc ${campsite2y}, ${campsite2x}
:wait2
/delay 1s
/doevents
/if (${Me.Moving}) /goto :wait2
}
/target npc radius ${npcrad}
/delay 1s
/doevents
/if (${Target.Distance}<${npcrad}) {
    /varset AnchorX ${Me.X}
    /varset AnchorY ${Me.Y}
    /varset iCount 0
/call Move2me
/call pull
}

:camp3
/target npc radius ${npcrad} 
/if (${Target.Distance}>${npcrad} || !${Target.ID}) {
/keypress esc
/face loc ${campsite3y}, ${campsite3x}
/delay ${Math.Rand[50]}
/squelch /Moveto loc ${campsite3y}, ${campsite3x}
:wait3
/delay 1s
/doevents
/if (${Me.Moving}) /goto :wait3
}
/target npc radius ${npcrad}
/delay 1s
/doevents
/if (${Target.Distance}<${npcrad}) {
    /varset AnchorX ${Me.X}
    /varset AnchorY ${Me.Y}
    /varset iCount 0
/call Move2me
/call pull
}

:camp4
/target npc radius ${npcrad} 
/if (${Target.Distance}>${npcrad} || !${Target.ID}) {
/keypress esc
/face loc ${campsite4y}, ${campsite4x}
/delay ${Math.Rand[50]}
/squelch /Moveto loc ${campsite4y}, ${campsite4x}
:wait4
/delay 1s
/doevents
/if (${Me.Moving}) /goto :wait4
}
/target npc radius ${npcrad}
/delay 1s
/doevents
/if (${Target.Distance}<${npcrad}) {
    /varset AnchorX ${Me.X}
    /varset AnchorY ${Me.Y}
    /varset iCount 0
/call Move2me
/call pull
}

:camp5
/target npc radius ${npcrad} 
/if (${Target.Distance}>${npcrad} || !${Target.ID}) {
/keypress esc
/face loc ${campsite5y}, ${campsite5x}
/delay ${Math.Rand[50]}
/squelch /Moveto loc ${campsite5y}, ${campsite5x}
:wait5
/delay 1s
/doevents
/if (${Me.Moving}) /goto :wait5
}
/target npc radius ${npcrad}
/delay 1s
/doevents
/if (${Target.Distance}<${npcrad}) {
    /varset AnchorX ${Me.X}
    /varset AnchorY ${Me.Y}
    /varset iCount 0
/call Move2me
/call pull
}
/goto :start
/return

Sub Move2me
:wait6
/delay 8
/doevents
/if (${Me.Moving}) /goto :wait6
/bca //face loc ${AnchorY}, ${AnchorX}
/delay ${Math.Rand[50]}
/bca //moveto ${AnchorY}, ${AnchorX}
/return

Sub Targetit
 /target npc radius ${npcrad}
 /if (${Target.Distance}>${npcrad} || !${Target.ID}) {
 /keypress esc
 }
/call Movenext
/return

sub event_lobby
 /delay 2s
 /echo Damn were in the lobby again... 
 /delay 1s
 /echo Waiting in the lobby for a rez...
 /echo or till my buddies die...
 /doevents
:waitingforrez
 /doevents
 /delay 5s
 /if (${Bool[${NearestSpawn[1,PC ${Buddy1}]}]} && ${Bool[${NearestSpawn[1,PC ${Buddy2}]}]} && !${Zone.Name.Equal[${zonename}]}) /call allwiped
 /doevents
 /if (!${Zone.Name.Equal[${zonename}]}) /goto :Waitingforrez
/return 


Sub allwiped
 /echo Guess we wiped again - exiting too save rez timers
 /bca //end
 /delay 3s
 /bcaa //exit
 /endmacro
/return
 
Last edited:
Camp 5 Locs

Users who are viewing this thread

Back
Top
Cart