Kaladim Fungi Harvester

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

simkin
a snow griffon
a snow griffon
Posts: 303
Joined: Thu Sep 01, 2005 1:52 pm

Post by simkin » Tue Dec 27, 2005 12:03 pm

modified version below.
Last edited by simkin on Sun Aug 27, 2006 7:31 am, edited 1 time in total.

User avatar
Jeepster
a lesser mummy
a lesser mummy
Posts: 45
Joined: Thu Aug 12, 2004 1:05 pm
Location: Michigan

Post by Jeepster » Fri Apr 21, 2006 2:54 am

Nice macro simkin,, been using it since you posted it, is there anyway you can get it updated for the new patch in kaladim with 9 of each to pick.

Goofmester1
a hill giant
a hill giant
Posts: 241
Joined: Thu Nov 06, 2003 4:26 am

Post by Goofmester1 » Fri Apr 21, 2006 5:00 am

try changing this

Code: Select all

:HarvestLoop
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
 
|  /call GetNextTargetR
  /call GetNextTargetB
|  /echo ${BlueCount}
  /if  ( ${BlueCount} > [color=red]8[/color]) /call GetNextTargetR
   /if (${Macro.Return.Equal[NOTFOUND]}) /goto :Pause
   /call CheckForPCs
   /doevents
   /call MoveToTarget
   /call GetIt
/goto :HarvestLoop 

Scythe
decaying skeleton
decaying skeleton
Posts: 6
Joined: Thu Aug 04, 2005 7:29 pm

Post by Scythe » Mon Apr 24, 2006 2:15 pm

It keeps pointing my toon at the mushroom...but won't pick it up. If I manually pick it up, it will point to the next...and same thing.

User avatar
Jeepster
a lesser mummy
a lesser mummy
Posts: 45
Joined: Thu Aug 12, 2004 1:05 pm
Location: Michigan

Post by Jeepster » Tue Apr 25, 2006 1:48 am

Same thing it is doing for me, I even ask for help in the ViP area but got told off for asking for it,, I guess if you don't run a /afk Xp mac you don't get any help.

User avatar
fearless
Not a Psychic
Posts: 2684
Joined: Wed Mar 10, 2004 3:52 pm

Post by fearless » Tue Apr 25, 2006 7:17 am

Jeepster wrote:Same thing it is doing for me, I even ask for help in the ViP area but got told off for asking for it,, I guess if you don't run a /afk Xp mac you don't get any help.
no . .. you were asking for help on an afk mac and specifically told that you probably would not get a lot of help because it was an afk mac.

Nobody around here is terribly fond of afk mac's being posted, which is why most questions regarding them go unanswered.
Reading . . . it's not just for me.

[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
[quote="Ccomp5950"]Fearless showed me the light, you too shall learn.[/quote]

exmarine
decaying skeleton
decaying skeleton
Posts: 1
Joined: Tue Apr 25, 2006 12:58 pm

Post by exmarine » Wed Apr 26, 2006 6:20 pm

Fixed this script to collect both kinds of mushrooms :)

Code: Select all

|---------------
| shrooms.mac
| harvests the kaladim fungi
| original macro was by psychotik
| Heavily modified by BrainDeath Last Update: 10-18-04
| Modified again by Exmarine Last update 04-26-06

#turbo
#chat tell
#event Full "#*#There was no place to put that#*#"
#include common.inc

Sub Main
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
   /cleanup
   /call ClearCursor
   /call DefineOuters
   /call CheckForPCs
   /doevents
   /varset BlueCount 0
   /varset RedCount 0
   /call Harvest
/return

Sub DefineOuters
   /declare DummyTime string outer
   /declare DummyMsg string outer
   /declare BlueCount int outer
   /declare RedCount int outer
   /varset DummyTime 15m
   /varset DummyMsg AFK unti Mushrooms return brb
/return

Sub Harvest
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
   /notify actionsmainpage AMP_WalkButton leftmouseup
   /afk off 
   /delay 1s
   /sit off
   /delay 1s
:HarvestLoop
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
 
  /call GetNextTargetB
  /if  ( ${BlueCount} > 8) /call GetNextTargetR
   /if (${Macro.Return.Equal[NOTFOUND]}) /goto :Pause
   /call CheckForPCs
   /doevents
   /call MoveToTarget
   /call GetIt
/goto :HarvestLoop

:Pause
   /notify actionsmainpage AMP_RunButton leftmouseup
   /delay 1s
   /target clear
   /face loc 661,-107
   /keypress CENTERVIEW
   /delay 1s
   /delay 1s
   /afk ${DummyMsg}
   /echo Countdown to next Harvest...
   /echo 6 minutes...
   /delay 1m
   /echo 5 minutes...
   /delay 1m
   /echo 4 minutes...
   /delay 1m
   /echo 3 minutes...
   /delay 1m
   /echo 2 minutes...
   /delay 1m
   /echo 1 minute...
   /delay 1m
   /echo Preparing to Harvest...
   /delay ${Math.Rand[300]}
   /call CheckForPCs
   /doevents
   /varset BlueCount 0
   /varset RedCount 0
   /afk off
   /delay 1s
   /delay 1s
   /notify actionsmainpage AMP_WalkButton leftmouseup
   /goto :HarvestLoop
/return

Sub MoveToTarget
:KeepMoving
   /face loc ${Ground.Y}, ${Ground.X}
   /delay 1
   /keypress forward hold
   /if (${Ground.Distance}>15) /goto :KeepMoving
:StopMoving
   /keypress forward
/return

Sub DummyMode
   /beep
   /beep
   /beep
   /echo Entering Dummy Mode...
   /delay 1s
   /afk ${DummyMsg}
   :waitabit
   /delay ${DummyTime}
   /if (${Spawn[gm].ID} || (${SpawnCount[pc radius 150 loc -140 640]}>1)) /goto :waitabit
   /afk off
   /delay 1s
/return


Sub CheckForPCs
   /if (${Spawn[gm].ID}) {
      /echo GM in Zone!
      /call DummyMode
   }
   /if (${SpawnCount[pc radius 150 loc -140 640]}>1) {
      /echo PC nearby!
      /call DummyMode
   }
/return


Sub GetIt
   /click left item
   /call WaitForPickup
   /delay 1s
   /delay ${Math.Rand[10]}
   /if (${Cursor.Name.Find[Fungus]}) {
      /varcalc RedCount ${RedCount}+1
   }
   /if (${Cursor.Name.Find[Mushroom]}) {
      /varcalc BlueCount ${BlueCount}+1
   }
   /autoinv
   /call WaitForDrop
   /delay 1s
   /delay ${Math.Rand[10]}
   /doevents
/return


Sub GetNextTargetR

   /declare RedDistance local

   /echo ${RedCount}
   /squelch /itemtarget *Red
   /if (${Target.Distance}) {
      /varset RedDistance ${Target.Distance}
   } else {
      /varset RedDistance 999
   }

/if (${RedCount}>8) /return NOTFOUND
   /if (${Ground.Distance}>115) /return NOTFOUND
/return FOUND

Sub GetNextTargetB
   
   /declare BlueDistance local

   /squelch /itemtarget *Blue
   /if (${Target.Distance}) {
      /varset BlueDistance ${Target.Distance}
   } else {
      /varset BlueDistance 999
   }

   /if (${Ground.Distance}>115) /return NOTFOUND
/return FOUND

Sub GoGetIt

   /face item

   /keypress forward hold
   :move
   /if (${Ground.Distance}<8) {
      /keypress forward
   } else {
      /goto :move
   }
   
   /delay 1s
   /face item
   /delay 1s
   /click left item
   /delay 2s
   /autoinv

/return


Sub Event_Chat
   /if (!${Me.AFK}) {
      /reply AFK Message: ${DummyMsg}
      /afk ${DummyMsg}
   }
   /echo Received a Tell...Ending.
   /beep
   /beep
   /beep
   /endmacro
/return


Sub Event_Full
   /call EndMacro "Your inventory is full...Ending."
/return 

the-hated
orc pawn
orc pawn
Posts: 11
Joined: Sun May 07, 2006 7:48 am

Post by the-hated » Fri May 19, 2006 5:11 pm

tried using this on May 19th, it picks up all of the blue shrooms but leaves all the red, iv noticed that there are 9 of each now where there used to be 10 and 7. I also get an error saying "Due to complete misuse of the String Top-Level Object it has been removed"

Edit: Nevermind, I'm an idiot

Auronin
a ghoul
a ghoul
Posts: 80
Joined: Tue Jul 11, 2006 7:52 am

Works Great

Post by Auronin » Wed Aug 09, 2006 3:07 pm

...
Last edited by Auronin on Sun Jan 21, 2007 9:10 am, edited 1 time in total.

simkin
a snow griffon
a snow griffon
Posts: 303
Joined: Thu Sep 01, 2005 1:52 pm

Post by simkin » Sun Aug 27, 2006 7:37 am

I thought I'd make a few changes in this macro and simplify it a bit. It will now alternate between grabbing a red and blue mushroom and I think looks a bit more realistic.

Code: Select all

| --------------------------------------------------------------------------
| autoShroom.mac
| harvests the kaladim fungi
| original macro was by psychotik
| Updates by BrainDeath, Exmarine
| --------------------------------------------------------------------------

#turbo
#chat tell
#event Full "#*#There was no place to put that#*#"

Sub Main

/echo Welcome to autoShroom
/declare DummyTime string outer
/declare DummyMsg string outer
/declare ShroomCount int outer
/varset DummyTime 5m
/varset DummyMsg AFK
/cleanup

/notify actionsmainpage AMP_WalkButton leftmouseup
/afk off
/delay 1s
/sit off
/delay 1s

:HarvestLoop
/call CheckForPCs

/for ShroomCount 1 to 9
  /squelch /itemtarget *Blue
  /if (${Ground.Distance}<150) {
    /call MoveToTarget
    /call GetIt
    /doevents
  }
  /squelch /itemtarget *Red
  /if (${Ground.Distance}<150) {
    /call MoveToTarget
    /call GetIt
    /doevents
  }
  /call CheckForPCs  
/next ShroomCount

/notify actionsmainpage AMP_RunButton leftmouseup
/delay 1s
/target clear
/face loc 661,-107
/keypress CENTERVIEW
/delay 2s

/afk ${DummyMsg}
/echo Next Harvest 6 minutes...
  /delay 1m
  /echo 5 minutes...
  /delay 1m
  /echo 4 minutes...
  /delay 1m
  /echo 3 minutes...
  /delay 1m
  /echo 2 minutes...
  /delay 1m
  /echo 1 minute...
  /delay 1m
/echo Preparing to Harvest...
/delay ${Math.Rand[300]}

/doevents
/afk off
/delay 2s
/notify actionsmainpage AMP_WalkButton leftmouseup
/goto :HarvestLoop
/return

Sub MoveToTarget
:KeepMoving
/face loc ${Ground.Y}, ${Ground.X}
/delay 1
/keypress forward hold
/if (${Ground.Distance}>15) /goto :KeepMoving
:StopMoving
/keypress forward
/return

Sub DummyMode
/beep
/echo Entering Dummy Mode...
/delay 1s
/afk ${DummyMsg}
:waitabit
/delay ${DummyTime}
/if (${Spawn[gm].ID} || (${SpawnCount[pc radius 150 loc -140 640]}>1)) /goto :waitabit
/afk off
/delay 1s
/return


Sub CheckForPCs
/if (${Spawn[gm].ID}) {
  /echo GM in Zone!
  /call DummyMode
}
/if (${SpawnCount[pc radius 150 loc -140 640]}>1) {
  /echo PC nearby!
  /call DummyMode
}
/return


Sub GetIt
/click left item
/delay 5s (${Cursor.ID})
/delay ${Math.Rand[10]}
/autoinv
/delay 5s (!${Cursor.ID})
/delay ${Math.Rand[10]}
/doevents
/return

Sub Event_Chat
/if (!${Me.AFK}) {
  /reply AFK Message: ${DummyMsg}
  /afk ${DummyMsg}
}
/echo Received a Tell...Ending. Camping soon
/beep
/timed 1000 /camp
/endmacro
/return


Sub Event_Full
/echo "Your inventory is full...Ending."
/camp
/endmacro
/return

Eandiien
a ghoul
a ghoul
Posts: 80
Joined: Mon Jan 23, 2006 11:31 am
Location: lost
Contact:

Post by Eandiien » Thu Nov 02, 2006 4:42 am

gonna try the more realistic one but that wont solve the current problem. EQ has gotton smart to this so if you look at map they have changed the item name randomly on the shrums so mac no longer recognizes *red or blue and there for stops. other then adding some sort of alphabitical thing i'm not sure how to go about fixing this any ideas.


adding to post ok issue is still same as above kinda but the mod realistic one kinda of fixed the issue inadvertantly. if it cant get all 9 of each it just goes back in to the loop. of corse this will cause the inventory to be a little outof wack but that just requires a little paying attention.
Truely lost and hopeless but dieing to learn more and improve NUB

somelamedruid
a lesser mummy
a lesser mummy
Posts: 48
Joined: Tue Feb 08, 2005 10:07 pm

SoE == lame

Post by somelamedruid » Wed Dec 27, 2006 5:34 am

Can't believe no one fixed this yet.
I changed the targeting from being based on the names of the mushrooms to just targeting the nearest ground item until you get something you cant see by line of sight (For example when all the shrooms are gone the Brew Barrel will be targeted which you cant see). It required a few changes in how it works, but it gets the job done at least as well as before. As for realism, picking the nearest shroom regardless of color seems pretty good to me /shrug. Enjoy folks!

Code: Select all

|---------------
| shrooms.mac
| harvests the kaladim fungi
| original macro was by psychotik
| Heavily modified by BrainDeath Last Update: 10-18-04
| Lame SoE tactics thwarted by somelamedruid

#turbo
#chat tell
#event Full "#*#There was no place to put that#*#"
#include common.inc

Sub Main
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
   /cleanup
   /call ClearCursor
   /call DefineOuters
   /call CheckForPCs
   /doevents
   
   :KeepMoving1
   /face loc 635, -82
   /delay 5
   /keypress forward hold
   /if (${Me.Y} > 640 || ${Me.X} < -100) /goto :KeepMoving1
   /keypress forward

   /call Harvest
/return

Sub DefineOuters
   /declare DummyTime string outer
   /declare DummyMsg string outer
   /declare BlueCount int outer
   /varset DummyTime 15m
   /varset DummyMsg shrooms shrooms plz spawn soon... friggin brewing again!
/return

Sub Harvest
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
   /notify actionsmainpage AMP_WalkButton leftmouseup
   /afk off
   /delay 1s
   /sit off
   /delay 1s
:HarvestLoop
   /if (${GameState.Equal[CHARSELECT]}) /endmacro
   /call GetNextTarget
   /if (${Macro.Return.Equal[NOTFOUND]}) /goto :Pause
   /call CheckForPCs
   /doevents
   /call MoveToTarget
   /call GetIt
/goto :HarvestLoop

:Pause
   /notify actionsmainpage AMP_RunButton leftmouseup
   /delay 1s
   /target clear
   /face loc 661,-107
   /keypress CENTERVIEW
   /delay 1s
   /delay 1s
   /afk ${DummyMsg}

   :KeepMoving2
   /face loc 635, -82
   /delay 5
   /keypress forward hold
   /if (${Me.Y} > 650 || ${Me.X} < -100) /goto :KeepMoving2
   /keypress forward   

   /echo Time for a break!
   |This macro might not hit all mushrooms on a particular run
   |Six minute delay hence has been nixed
   :waitforshroom
   /call CheckForPCs
   /delay 10s
   /call GetNextTarget
   /if (${Macro.Return.Equal[NOTFOUND]}) /goto :waitforshroom

   /echo Preparing to Harvest...
   /delay ${Math.Rand[300]}
   /call CheckForPCs
   /doevents
   /afk off
   /delay 1s
   /delay 1s
   /notify actionsmainpage AMP_WalkButton leftmouseup
   /goto :HarvestLoop
/return

Sub MoveToTarget
:KeepMoving
   /face loc ${Ground.Y}, ${Ground.X}
   /delay 5
   /keypress forward hold
   /if (${Ground.Distance}>15) /goto :KeepMoving
:StopMoving
   /keypress forward
/return

Sub DummyMode
   /beep
   /beep
   /beep
   /echo Entering Dummy Mode...
   /delay 1s
   /afk ${DummyMsg}
   :waitabit
   /delay ${DummyTime}
   /if (${Spawn[gm].ID} || (${SpawnCount[pc radius 150 loc -140 640]}>1)) /goto :waitabit
   /afk off
   /delay 1s
/return


Sub CheckForPCs
   /if (${Spawn[gm].ID}) {
      /echo GM in Zone!
      /call DummyMode
   }
   /if (${SpawnCount[pc radius 150 loc -140 640]}>1) {
   |/if (${SpawnCount[pc]} > 1) {
      /echo PC nearby!
      /call DummyMode
      
      |This is what I do, but the above is from the original so do what you want
      |/keypress instant_camp
      |/endmacro
   }
/return


Sub GetIt
   /click left item
   /call WaitForPickup
   /delay 1s
   /delay ${Math.Rand[10]}
   /autoinv
   /call WaitForDrop
   /delay 1s
   /delay ${Math.Rand[10]}
   /doevents
/return


Sub GetNextTarget
   /squelch /itemtarget 
   /if (${Ground.Distance}>115 || !${Ground.LineOfSight}) /return NOTFOUND
/return FOUND

Eandiien
a ghoul
a ghoul
Posts: 80
Joined: Mon Jan 23, 2006 11:31 am
Location: lost
Contact:

nice change

Post by Eandiien » Wed Dec 27, 2006 9:43 pm

i was wondering how to over come the GMs and there miss naming of the mushrooms. clever they are but some one has come up wiht a fix. to bad i will never make another kaladim constutional ever again i made so many to master brewing. LOL
Truely lost and hopeless but dieing to learn more and improve NUB

WizeOne
a hill giant
a hill giant
Posts: 207
Joined: Tue Jul 12, 2005 12:36 pm

Post by WizeOne » Thu Dec 28, 2006 1:41 pm

somelamedruid i think you made a typo, incude common.inc should be common.ini right

User avatar
fearless
Not a Psychic
Posts: 2684
Joined: Wed Mar 10, 2004 3:52 pm

Post by fearless » Thu Dec 28, 2006 2:10 pm

WizeOne wrote:somelamedruid i think you made a typo, incude common.inc should be common.ini right
no
Reading . . . it's not just for me.

[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
[quote="Ccomp5950"]Fearless showed me the light, you too shall learn.[/quote]