• 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

Boomerang Mac

wintermute

Member
Joined
Jul 15, 2009
RedCents
241¢
This is what ive been working with, get task on however many toons you have. Go into Arena, Hail NPC, Start mission, Start Macro on each toon inside the zone.
not all this code is mine, some came from an unknown source

Rich (BB code):
#include spell_routines.inc

#event Ended "#*#The results of the contest are as follows#*#"


Sub Main
/doevents
/echo Starting Boomerang Routines
/echo Dont forget to start mac on other bots

     /call StartMatch
     /delay 5
   
/return 


Sub Event_Ended(Line,RewardAmount,RewardType)
   /echo Task Ended..
   /delay 30s
   /taskremove ${Me.Name}
   /delay 5s
    
:ZoneLoop 
   /squelch /moveto loc -301.11 5.16
   /delay 5s
   /keypress use
   /delay 3s
   /keypress u
   /delay 30s
   /if (${Zone.Name.Equal[Brell's Arena]}) {
   /goto :ZoneLoop
   }
   /if (${Zone.Name.Equal[Brell's Rest]}) {
   
   /end
   }
/return 




Sub StartMatch
/echo Starting Match!!!

/call AlertTimer
/if (!${Defined[lasteventnum]}) /declare lasteventnum int outer 0
/if (!${Defined[strafedir]}) /declare strafedir string local
/if (!${Defined[X2]}) /declare X2 int local
/if (!${Defined[Y2]}) /declare Y2 int local
/if (!${Defined[spawnID]}) /declare spawnID int local 0
/if (!${Defined[spawn2id]}) /declare spawn2id int local 0
/if (!${Defined[spawn2]}) /declare spawn2 string local
/if (!${Defined[spawn2dist]}) /declare spawn2dist int local 0
/if (!${Defined[spawn2locY]}) /declare spawn2locY int local 0
/if (!${Defined[spawn2locX]}) /declare spawn2locX int local 0


/varset lasteventnum 0
/target clear

|- updated teamcolor logic from Ralindal
  /if (!${Defined[teamColor]}) /declare teamColor string outer NULL
  /if (${FindItemCount[=Red Boomerang]}>0 && ${FindItemCount[=Yellow Boomerang]}>0) {
    /varset teamColor BLUE
  } else /if (${FindItemCount[=Blue Boomerang]}>0 && ${FindItemCount[=Yellow Boomerang]}>0) {
    /varset teamColor RED
  } else {
    /varset teamColor YELLOW
  }


:boomerangloop

/doevents
/if (${lasteventnum}==9 || ${Me.State.Equal[HOVER]}) /return

/if (${Me.State.Equal[FEIGN]}) /stand
/delay 3s ${Me.State.Equal[STAND]}

/varset spawnID 0
/call GMCheck
/if (${teamColor.Equal[BLUE]}) /varset spawnID ${Me.NearestSpawn[1, npc noalert 1 range 86 89].ID}
/if (${teamColor.Equal[YELLOW]}) {
|- updated so yellow team will pick up blue and red instead of just red, due to split level range
/varset spawnID ${Me.NearestSpawn[1, npc noalert 1 range 89 89].ID}
/if (!${spawnID}) /varset spawnID ${Me.NearestSpawn[1, npc noalert 1 range 84 84].ID}
}
/if (${teamColor.Equal[RED]}) /varset spawnID ${Me.NearestSpawn[1, npc noalert 1 range 84 86].ID}

/if (${spawnID} && ${Spawn[id ${spawnID}].State.NotEqual[FEIGN]}) {
  /target id ${spawnID}
  /delay 1s ${Target.ID}==${spawnID}
}

/if (!${Target.ID}) {
/call AlertTimer
} else {

      :moveloop

      /if (${Me.State.Equal[FEIGN]}) /stand
      /delay 3s ${Me.State.Equal[STAND]}

      /if (${Target.Distance}>50) {
          |- Get the details of the nearest powder keg
          /varset spawn2id ${Me.NearestSpawn[1, race "Powder Keg"].ID}
          /if (${spawn2id}) /multiline ; /varset spawn2 ${Spawn[${spawn2id}]} ; /varset spawn2dist ${Spawn[${spawn2id}].Distance} ; /varset spawn2locY ${Spawn[${spawn2id}].Y} ; /varset spawn2locX ${Spawn[${spawn2id}].X}
          |- If the barrel is too close, lets back off and strafe around it before moving towards our target
          /if (${spawn2id} && ${spawn2dist}<90) {
         
         /face fast nolook loc ${spawn2locY},${spawn2locX}
               /keypress back hold
               /delay 1s
               /keypress back
               /if (${Math.Rand[2]}) {
                 /varset strafedir STRAFE_LEFT
               } else {
                 /varset strafedir STRAFE_RIGHT
               }
               /keypress ${strafedir} hold
               /delay 8
               /keypress ${strafedir}
              }

               |- Set current position first before heading towards our target (in case we get stuck)
              /varset X2 ${Int[${Me.X}]}
              /varset Y2 ${Int[${Me.Y}]}

         /if (${Me.State.Equal[FEIGN]}) /stand
         /delay 3s ${Me.State.Equal[STAND]}
         /face fast nolook
                /keypress forward hold
              /delay 5 ${Target.Distance}<=50
              /keypress forward
         /if (${Me.State.Equal[FEIGN]}) /stand
         /delay 3s ${Me.State.Equal[STAND]}
         /face fast nolook

              |- Check to see if we got stuck trying that
              /if ((${Int[${Me.X}]}==${X2}) && (${Int[${Me.Y}]}==${Y2})) {
               |- We're stuck, back off a second, move left or right (randomly) for .5 seconds
               /keypress back hold
               /delay 5
               /keypress back
               /if (${Math.Rand[2]}) {
                 /varset strafedir STRAFE_LEFT
               } else {
                 /varset strafedir STRAFE_RIGHT
               }
               /keypress ${strafedir} hold
               /delay 5
               /keypress ${strafedir}
              }
      /goto :moveloop
      }
   
      /if (${Target.Level}==89 && ${FindItemCount[=Red Boomerang]}>0) {
      |- updated to revert back to moveloop if boomerang not ready, per dascott's idea
      /if (${FindItem[Red Boomerang].Timer}) /goto :moveloop
      /if (${Me.State.Equal[FEIGN]}) /stand
      /delay 3s ${Me.State.Equal[STAND]}
      /face fast nolook
     
      /cast item "Red Boomerang"
      /cast item "Red Boomerang"
      }
      /if (${Target.Level}==86 && ${FindItemCount[=Yellow Boomerang]}>0) {
      /if (${FindItem[Yellow Boomerang].Timer}) /goto :moveloop
      /if (${Me.State.Equal[FEIGN]}) /stand
      /delay 3s ${Me.State.Equal[STAND]}
      /face fast nolook
      /call GMCheck
      /cast item "Yellow Boomerang"
      /cast item "Yellow Boomerang"
      }
      /if (${Target.Level}==84 && ${FindItemCount[=Blue Boomerang]}>0) {
      /if (${FindItem[Blue Boomerang].Timer}) /goto :moveloop
      /if (${Me.State.Equal[FEIGN]}) /stand
      /delay 3s ${Me.State.Equal[STAND]}
      /face fast nolook
     
      /cast item "Blue Boomerang"
      /cast item "Blue Boomerang"
      }

/squelch /alert add 1 id ${Target.ID}
/squelch /target clear

|-/if (${FindItemCount[=Brell's Personal Blessing]}>0 && !${FindItem[Brell's Personal Blessing].Timer}) /call Cast "Brell's Personal Blessing" item

}

/goto :boomerangloop

/return

Sub GMCheck

   /if (${Spawn[gm].ID}) {
      /beep
      /beep
      /beep
      /echo GM entered the zone!
      /echo For safty reasons ending the macro...
      /endmacro
   }

/return 

Sub AlertTimer

/squelch /alert clear 1
/squelch /alert add 1 BRADiscusController


/return

I hope this helps get something automated started, I dont really have enough time to get that in-depth with it. Please post any changes that might help others continue to build on this.

WM
 
any chance of having this in macro? - Go into Arena, Hail NPC, Start mission, Start Macro
 
Got mine last week. Leveled it in 2 days, it is ridiculous. Click epic and Visage of Death = current max crit of 10.5k. With sham and Ranger clicks Ive hit 13k

I havent used this mac but I used a lilt mac just so I would win the 3gold 42 silver everytime. My bots get 10-20 silver a round.

Nice looking mac WM!
 
with this mac I managed to get gold tokens as follows
50
36
33

50 beeing my main PC, which is fast and usualy wins. 2 other boxes on old slow pc. thou, instance record, over 100 boomerang hits, was made by my old PC...
 
got that SK sword. really nice

evolves quite fast. I got 2 levels AFK exping in 6 hours. would go a lot faster if i was actually there

Jensen, I been sitting in infected paw. quite decent exp for it
 
My games are very different, som I win with 50s but just now I got a 22 not getting any gold :(
 
Heya nice mac, redcents.

I run this on 3 toons, but i get all kind of results from 0 to max seen 56 points.
Usually 1 toon makes it into the gold. Did anyone find out yet how to evaluate which NPC is recovering atm, before shooting him?

PMs welcome, I can rework macro myself, just need an idea the right direction.

Thx Crystane.
 
would be great if there was some avoid area.

say loc xxx yyy, avoid this spot by 10 feet, circle like. then it would never run into bombs. is this doable? I watched over 30 runs myself and saw many times loosing because of bombs, i ran into one, it exploded, was thrown onto other etc.

lots of points lost there
 
OK New Guy here. I am first time user, not tech savy.I copied and pasted this macro in to a text doc. put doc in the macros folder went to run quest and when trying to start macro said couldnt open MQ2/macro/boomerang file . Help im stumped.
Question I noticed that all files for the boomerang were MAC filse....Does Vista even like Mac?
 
Aten, You probable have the wrong file extension. Notepad uses .txt by default. MQ2 is looking for file extension .mac. Simple rename the file and change the extension to .mac

Notepad has a box at the bottom of the window to change the default extension. You have to change it every time you save a macro.
 
Ok Tried doing what you said...I am useing Vista and in notepad there is no way to change it to a .mac file. Im lost.Ive even went to windows and did a search for it...im still looking but I need help.
 
change it to any files and save as boomerang.mac
or save it as a .txt, edit the filename to boomerang.mac
 
If you have not been able to save as .mac file yet create a text doc copy the macro into text doc then go to File then Save As and name it boomerang.mac this will allow you to save it with the .mac extention.
 
Go to your mac folder, right click in any white space. Click new text document. A new text document should appear, and you can name it with the file extension, even if they are hidden.

You guys should google notepad++, anyone editing macros with notepad are either hardcore or crazy.
 
thank you all for the info. Any files worked....Lesson learned....see you can teach an old Dog new tricks
 
so any chance to get automated version of this? like them Dain missions? where toon gets mission, all zone in, do their thing etc.

should be a lot easier thou.
 
Problem I see is this a very populated zone. You must run atleast 1 toon back to mission giver invis because there are some kos mobs that wander the path, or /saytarget which could get you caught also.

The risk level is too high for me to put the time into automating this one. Sorry I'm out for now unless there is a chance for a plugin similar to MQ2DoN where you could just leave everyone in the mission till it boots you so you dont ever have to leave the entrance.
 
When I try to run this I get a error saying "Subroutine Main wasn't found"
The current macro has ended.
any tips on what I may have done wrong there?
 
first check for any extra spaces. It is common when you c/p the text boxes with long lines vbulletin adds in an extra space to the long lines.
 
taking a closer look at the code it looks like that's exactly what happened, and it happened a LOT... any tips on how to create the file without that or am I stuck trying to go through and hand edit every one?
 
Rich (BB code):
#include spell_routines.inc

#event Ended "#*#The results of the contest are as follows#*#"


Sub Main
/doevents
/echo Starting Boomerang Routines
/echo Dont forget to start mac on other bots

Make sure that Sub Main only has 1 space in it.
 
Several PM's on the automated request, started on this at break time today should be able to start testing tonight. Will post when I'm done.
 
Was out for a while, have a few things left to do will have more time home Sunday hopefully.
 
Looks like Sony started catching folks useing this mac.
The face fast and quick cycling thru lvl specific NPCs is too suspicious.
Also how toons get moved around the barrels looks strange against normal play.

And useing it only while being at the screen watching it, seems not to avoid being caught.

Just a headsup to get out of useing this.
Crystane.
 
Heyas everyone, everytime I try to run this macro i get "Couldn't open include file: C:\......\spell_routines.inc, unable to add macro line. Any possible fixes? Thanks yall.

EDIT: Figured it out on my own. :P thx.
 
Last edited:
spell_routines.inc is an include file. You can find a current copy on MQ2 VIP boards. I believe a copy is included in the modbot or autobot files. Download it and copy it to your macro folder.
 
Boomerang Mac

Users who are viewing this thread

Back
Top
Cart