• 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

Farming Mass Bearskins AFK: FarmBears.mac

teslatrader

Member
Joined
Feb 16, 2011
RedCents
639¢
Well, looks like I am 19 cards short of a full deck, I mean, 19 red cents short of level 2 access. Hopefully, some of you folks will like this post and cent-me-up so I can download the upcoming compile update.

What is it?

FarmBears.mac is a macro that I use regularly to farm bear skins with my level 36'ish Druid on a progression server. Thick Grizzly Bear Skins are used to make the WR medicine bags, while the HQ Bear Skins make Handmade Backpacks, and they both sell pretty easily for 25p each there. The MQ hides I usually sell outright for 40p a stack now that I have outgrown them from a tradeskill perspective, and the LQs I use to make Leather Padding which I either use for smithing or sell for about 200p a stack. You may choose to save yourself the trouble and sell the LQs directly. Note the padding stacks to 50. Prices vary among servers, and your sales abilities, patience, and contacts may net you higher prices. I really did this to support my own tradeskill efforts, but a lil extra plat never hurts.

How well does it work?

Performance-wise, I have run this macro several times AFK for 24 hours straight without any glitches. Use at your own risk in any case.

What fat lewts do I get?

The one time I measured my yield, I got about 250 useful skins in 24 hours. That was before I tweaked the macro for a little more efficiency, leveled up my Druid a bit, and upgraded most of my gear. Even now I don't come anywhere close to keeping up with the spawn rate. A good melee DPS class could probably net 400+ skins a day. I also get stacks of eggs by using autoforage while this is running. After you run for a bit, go edit Loot.ini and set the cheap junk to DELETE. This loots and clears corpses away (another way to help stay under the radar), as well as serving to keep you from being overly encumbered with worthless chunks of meat and stuff.

How does it work?

In a nutshell, this macro sets a camp location, casts and maintains specified buffs, /succors in an emergency, meds when needed, limits your general killing field area, goes back to camp at various times, and loots what it kills.

While killing, it pulls with a DoT, melees for a bit, and then starts nuking to speed harvesting yields. Since bears vary widely in levels, you may want to adjust the particular spells used. For instance, it would be a major slowdown to waste the mana-heavy Drones of Doom on level 5 bears, but would actually speed up harvesting on level 25 bears depending on your melee DPS. If you are using a class that doesn't have spells, just comment those lines out.

Since character abilities, levels, mobs, and zones vary widely, you SHOULD expect to customize the macro to your needs. For that reason, I have labeled this post as a strategy rather than as a macro. I have provided the macro itself as a courtesy. I have a separately customized macro for every zone and every type of mob that I farm, and I often run them while watching TV or otherwise keeping an occasional eye on them. The bears have been my most successful and trouble-free farm, so I will give you my strategy.

The Bearskin Strategy:

The location I use for bear skins is Rathe Mountains. I port to Feerrott, run across the zone to Rathe Mountains, evac/succor across the zone, then run a short distance North to the Druid ring. I position myself in the center of the open clearing just east of the druid ring, run the macro, and shut off my computer monitor for the night.

Hardly anyone ever comes over there, and if they do they are just looking to see if any Hill Giants spawn in that area. HGs do not spawn in that area, and folks quickly lose interest and go away. South of this location you'll sometimes see a cyclops group fighting. I have only died twice using this macro in this location. Once was when a giant skeleton decided to camp itself at the succor point, and the other was when someone kited the named cyclops up north and left it there. (Frigerrigen trainers) /em scowls

How is this different from other farming macros floating around?

Yes, I realize there are a number of farming macros floating around. However, the ones I have looked at either don't work at all or they warp you all over the place just asking to be banned. I personally won't use any warp-happy macro. This one is play-tested, even though I will be the first to admit it isn't perfect.

So, why does it sound too good to be true? I.E. What's wrong with it?

Be aware that you might want to test the Druid area of Rathe Mountains out a little first. Go con the unkempt druids that run around that hill as well as the druids at the ring. As a druid myself, they all love me despite the fact that I have killed thousands of their precious bears right in front of them. These druids do NOT assist when they see you killing a bear, (being "unkempt", I suppose, makes them a bit 'live and let let die'), but your character could be kos with the wrong class/race.

Your primary problem in most open zones will be unwanted aggro, which this macro admittedly doesn't handle very well. Essentially, it hits /succor if your health drops below 10%, meds up, buffs up, and then continues killing from there. My philosophy is that /succor operates close enough to evac that the risk of being banned for warps is pretty low. Still, it is a type of warp, and if you are using the macro with a class that doesn't have evac for an excuse, well, use at your own risk. You should at least carry around some Gate Potions and claim you are bound there.

The only other comment I would make is that some zones are prone to getting stuck in barns or hung on roots as you move around. Try and use your camp location (where you are standing when you run the macro) and distance restrictions to keep you out of trouble. When trying a new location, you should sit and watch it for at least 30 minutes or so for unforeseen trouble. I actually sit and watch all the time when hunting spiders. In a newb area you can clear the zone in 10-15 minutes, at which point you port/run somewhere else and start up again. Also, spiders are often hunted by others and you don't want to be ks'ing everybody. That's a good way to get reported.

As for using it to farm other types of creatures, I do use a differently tweaked version of this to harvest spiders, spiderlings, griffs, lions, etc.. The other day I was hunting spiders with the macro when I noticed I was KS'ing this other guy. I would stop the macro, move to the other side of the zone, and rerun it. Darned if it didn't run straight across the zone to this guys mob and start to pull it. Strangely enough, he wasn't complaining to me about it. I'm pretty sure he was using a similar macro to AFK the same mobs I was.

Be aware and beware; ANY macro, especially when run AFK, can get you banned.

Good hunting to you, and Red Cent me if it pleases you...

Rich (BB code):
|---------------
| FarmBears.mac
| By teslatrader
| Posted: 04/13/2011
| 
|Requirements: 
|
| Ninjadvloot.inc
| spell_routines.inc
| Loot.ini
| A plugin that supports /succor such as MQ2Fippyzone
| A plugin that supports /speed, such as MQ2Pax

#turbo
#event Full "#*#There was no place to put that#*#"
#event Aggro "#*#YOU#*#"
#include Ninjadvloot.inc
#include spell_routines.inc

Sub Main

| Load Ninjadvloot variables and ini file
   /call SetupAdvLootVars

| Load Farm variables
   /call DefineOuters
   /call SetVariables
 
   /target clear
   /hidecorpses looted
   /makecamp on

:Main   

   /call StatusChecks
   /doevents
   /call Farm
   /doevents
   /call LootMobs
   /doevents flush
   /call StatusChecks
   /doability hide

/goto :Main

/return

| ------------------------------------------------

Sub DefineOuters
   /declare PCTime string outer
   /declare IntruderTime string outer
   /declare PCMsg string outer
   /declare FarmedCritter1 string outer
   /declare FarmedCritter2 string outer
   /declare FarmedCritter3 string outer
   /declare MaxMobLevel outer
   /declare MinMobLevel outer
   /declare Exp float outer ${Me.PctExp}  
/return

| ------------------------------------------------

Sub SetVariables
    /varset MaxMobLevel ${Me.Level}
    /varset MinMobLevel 1
    /varset PCTime 15m
    /varset IntruderTime 1m

/return

| -------------------------------------------------

Sub Med

|/target clear

/doevents
/keypress F1
/if ((${Me.PctMana}>15) && (${Me.PctHPs}>50)) /return
/doability hide

:Mana

    /if (${Target.ID}==TRUE) /succor
    /doevents

   /if (${Me.PctMana}<95) {
      /if (!${Me.Sitting}) /sit on
      /doevents
      /delay 2s
      /goto :Mana
      }

:Health

   /if (${Me.PctHPs}<80) {
      /keypress F1
      /call cast "Greater Healing" gem1 7s
      /doevents
      /delay 1s
      /goto :Health
      }

/return

| -------------------------------------------------
| -------------------------------------------------

Sub Farm
   /notify actionsmainpage AMP_WalkButton leftmouseup
:HarvestLoop
  /call StatusChecks
  /call GetNextTarget
  /mqlog /echo * ${Time} * "Targeting a level" level ${Target.Level} ${Target.Name}
   /if (${Macro.Return.Equal[NOTFOUND]}) /goto :Pause
   /doevents
   /call KillIt
   /attack off

/return

:Pause
   /delay 1s
   /target clear
/keypress F1

/doability hide
      /if (!${Me.Sitting}) /sit on

   /echo Countdown to next Harvest...
   /echo 15 seconds...
   /delay 15s
   /echo Preparing to Harvest...
   /doevents

   /delay 1s
   /goto :HarvestLoop

| ----------------------------------------------------

Sub KillIt

/echo This ${Target.Name} is level ${Target.Level}

   /if (${Target.Type.Equal[PC]}) {
      /target clear
      /doevents flush
      /return
      }

/speed 1.2
/if (${Target.Level} >= (${Me.Level})+1) /succor 

/stick 10
/attack on

:Nuke

/if (${Stick.Paused}) /stick 10
/if (${Target.Distance}>100) /goto :Nuke

/keypress back

   /if (${Target.Type.Equal[Corpse]}) {
      /attack off
      /call LootMobs
      /goto :NotDead
      }

|/if (${Target.Level} >= (${Me.Level}-5)) /call cast "Stinging Swarm" gem1 8s

   /if (${Me.PctHPs}<30) {
      /attack off
      /succor
      /call Med
      /return
      }

|/if (${Target.Level} >= (${Me.Level}-15)) /call cast "Creeping Crud" gem2 8s

   /if (${Me.PctHPs}<30) {
      /attack off
      /succor
      /call Med
      /return
      }

/call cast "Flame Lick" gem3 5s

   /if (${Me.PctHPs}<30) {
      /attack off
      /succor
      /call Med
      /return
      }

|/call cast "Snare" gem5 8s

   /if (${Me.PctHPs}<30) {
      /attack off
      /succor
      /call Med
      /return
      }

/stick 10

:NotDead
   /if (${Me.PctHPs}<30) {
      /attack off
      /succor
      /call Med
      /return
      }

   /if ((${Target.PctHPs}<50) && (${Target.PctHPs}>30)) /call cast "Careless Lightning" gem4 8s

   /if (${Target.ID}==FALSE) {
       /doevents flush
      /return
      }

   /if (${Target.Type.Equal[Corpse]}) {
      /attack off
      /call LootMobs
      }

/if (${Stick.Stopped} && (${Target.Distance}>50)) /succor

/delay 1s
/attack on
/goto :NotDead

| ---------------------------------------------------

| -------------------------------------------------

Sub GetNextTarget

/declare badtarget int inner 0
/declare distance int inner 0
/declare distance2 int inner 200

/doevents

| Target the following MOBs anywhere in the zone.

      /tar grizzly
      /varset badtarget 0
      /if (${Target.ID}==FALSE) /varset badtarget 1
      /if (${Target.Distance}>1000) /varset badtarget 1
      /if (${Target.Type.Equal[Corpse]}) /call LootMobs
      /if (${badtarget}==0) /return

      /tar bear
      /varset badtarget 0
      /if (${Target.ID}==FALSE) /varset badtarget 1
      /if (${Target.Distance}>1000) /varset badtarget 1
      /if (${Target.Type.Equal[Corpse]}) /call LootMobs
      /if (${badtarget}==0) /return

/return NOTFOUND

| ---------------------------------------------------

Sub StatusChecks

/echo Doing Status Checks...


| - Check health and mana

   /call Med

/keypress F1

| - Not in game, end macro

   /if (${MacroQuest.GameState.Equal[CHARSELECT]}) /end

| - Am I dead?

   /if (${Window[RespawnWnd].Open}) /end	

| - Am I poisoned?

/if (${Me.Buff[Poison].ID}) /call cast "Cure Poison" gem6 7s
/if (${Me.Buff[Weak Poison].ID}) /call cast "Cure Poison" gem6 7s

| - Am I diseased?

/if (${Me.Buff[Rabies].ID}) /call cast "Cure Disease" gem6 7s
/if (${Me.Buff[Putrid Breath].ID}) /call cast "Cure Disease" gem6 7s

| - Do I have SOW?

/if (!${Me.Buff[Greater Wolf Form].ID}) /call cast "Greater Wolf Form" gem7 7s
|/if (!${Me.Buff[Spirit of Wolf].ID}) /call cast "Spirit of Wolf" gem7 7s

| - Am I shielded?

|/if (!${Me.Buff[Skin like Steel].ID}) /call cast "Skin like Steel" gem7 7s

| - Am I levitated?

|/if (!${Me.Buff[Levitate].ID}) /call cast "Levitate" gem7 7s

| - Do I have strength buff to help compensate for encumbrance?

/if (!${Me.Buff[Strength of Earth].ID}) /call cast "Strength of Earth" gem7 7s

| - Do I have my damage shields up?

|/if (!${Me.Buff[Barbcoat].ID}) /call cast "Barbcoat" gem7 7s
|/if (!${Me.Buff[Shield of Barbs].ID}) /call cast "Shield of Barbs" gem7 7s

/target clear

| - Check health and mana again after buffing

   /call Med

/return

|----------------------------------------------------------
Sub Event_Full
   /echo "Your inventory is full...Ending."
     /mqlog /echo * ${Time} * "Your inventory is full...Ending."
   /sit on
   /camp
   /end
/return 

|----------------------------------------------------------

Sub Event_Aggro
   /doevents flush
   /tar clear 
   /echo "Detecting aggro..."
   /delay 3s
   /if (${Target.ID}==TRUE) /succor
   
/return
 
Ah, I just noticed that I failed to mention the need for MQ2MoveUtils. It isn't strictly necessary, but if you don't have it then you won't have the /MAKECAMP feature and you will tend to wander all over the zone.
 
I may be a bit of a noob, but I tried this yesterday and my character would buff himself correctly, but then he'd just stand there while bears walked past. Do I need to do something in addition copying that macro and using the standard compile available here?
 
No it uses inc files included with our standard compile. Try

/plugin mq2moveutils
/plugin mq2melee

then start it and see if it works
 
Farming Mass Bearskins AFK: FarmBears.mac

Users who are viewing this thread

Back
Top
Cart